cs231n笔记 - lecture1

INTRODUCTION

什么是计算机视觉(computer vision)?

  • 计算机视觉是研究visual data的学科
  • 计算机视觉涉及很多不同的领域,比如生物、物理、数学、工程以及计算机科学等等。pic1

A BRIEF HISTORY

Biological Vision

​ 物种大爆炸:大概5.4亿年前,生物进化出了眼睛。

Mechanical vision

​ Camera Obscura:六十年代文艺复兴时期开始有一些利用pinhole camera theory的相机诞生

动物视觉研究

​ Hubel & Wiesel在1959年通过电极测试发现哺乳动物的视觉处理是从简单结构开始的,比如edgeshapes

计算机视觉历史

  1. Black World 是第一篇关于计算机视觉的博士论文,

  2. 1996, MIT成立人工智能实验室,组织famous Summer Vision Project。

  3. David Marr写了VISION这本书,在书中他讨论了计算机视觉的含义和发展。

    同时他提出了分层的概念:edge->sketch->3D model

  4. 70年代Brooks & Binford提出了Generalized Cylinder,Fischler & Erschlagenr提出了Pictorial Structure。他们指出每一个物体都是有简单的几何形状构成的。

  5. 80年的David Lowe识别了一组剃刀的图片,指出物体可以由线和线的组合来表示

  6. 1997年Shi & Malik提出Normalized Cut,告诉我们如果直接识别物体太困难就先做图片的分割,分割成有意义的部分。

  7. 2001年Viola & Jone在计算机的计算能力还不够强大的时候通过AdaBoost实现了脸部识别,而后2006年fuji的相机成为第一个可以实时识别人脸的相机。

  8. David Lowe在1999年提出”SIFT” & Object Recognition。在之前因为拍摄角度、光线、遮挡等复杂的情况,对物体的识别是困难的。但是物体有些重要的部分、特征是不变的,所以可以通过识别这些关键的特征来进行匹配。

  9. 2006年Lazebnik et al.提出了Spatial Pyramid Matching来识别整个图片的场景。他们发现实际图片中,无论是什么场景,都可以通过features,然后用SVM来进行分类。

  10. 人体识别:Histogram of Gradients/Deformable Part Model

Benchmark Dataset and Challenge

  1. PASCAL Visual Object Challenge:20种物体图片

  2. IMAGENET:1400万张图片,2.2万种类

  3. ImageNet图片识别大赛:

    pic1

    从2010年到2015年图识别的错误率逐渐降低,但是在2010和2011年错误率还在25%上下徘徊。

    在2012年显著的下降了接近10%。获得冠军的就是Hinton提出的7层CNN,这也是这门课的重点。

CS231n OVERVIEW

课程重点

  1. cs231n focuses on one of the most important problems of visual recognition – image classification

  2. There is a number of visual recognition problemsthat are related to image classification:

    object detection:利用画框标记物体在图片中的位置,并识别画框内的物体

    image captioning:用自然语言来描述图片

    Action classification

  3. Convolutional Neural Networks (CNN) have become an important tool for object recognition

CNN的历史

刚才提到的ImageNetd大赛,从2012年之后,获胜的算法都是深度神经网络,在此之前,都是识别特征然后用SVM进行分类的。在2015年微软的团队MSRA甚至用到了152层的nn。

但是CNN并非2012才被发明的,早在1998年LeCun在贝尔实验室就使用了这种神经网络来识别手写钞票中的数字。

为什么直到现在CNN和深度神经网络才流行起来呢?主要是有两方面的原因:

一是CPU和GPU的计算能力不断加强,尤其是GPU的并行能力对于神经网络中的计算很有帮助。

二是大数据,无论是什么样的机器学习算法,没有足够的数据量都容易overfitting,而现在有了足够大的有标记的数据库

其他的问题

  • 3D重建
  • Activity Recognition
  • 机器人视觉等