INTRODUCTION
什么是计算机视觉(computer vision)?
- 计算机视觉是研究visual data的学科
- 计算机视觉涉及很多不同的领域,比如生物、物理、数学、工程以及计算机科学等等。
A BRIEF HISTORY
Biological Vision
物种大爆炸:大概5.4亿年前,生物进化出了眼睛。
Mechanical vision
Camera Obscura:六十年代文艺复兴时期开始有一些利用pinhole camera theory的相机诞生
动物视觉研究
Hubel & Wiesel在1959年通过电极测试发现哺乳动物的视觉处理是从简单结构开始的,比如edge和shapes
计算机视觉历史
Black World 是第一篇关于计算机视觉的博士论文,
1996, MIT成立人工智能实验室,组织famous Summer Vision Project。
David Marr写了VISION这本书,在书中他讨论了计算机视觉的含义和发展。
同时他提出了分层的概念:edge->sketch->3D model
70年代Brooks & Binford提出了Generalized Cylinder,Fischler & Erschlagenr提出了Pictorial Structure。他们指出每一个物体都是有简单的几何形状构成的。
80年的David Lowe识别了一组剃刀的图片,指出物体可以由线和线的组合来表示
1997年Shi & Malik提出Normalized Cut,告诉我们如果直接识别物体太困难就先做图片的分割,分割成有意义的部分。
2001年Viola & Jone在计算机的计算能力还不够强大的时候通过AdaBoost实现了脸部识别,而后2006年fuji的相机成为第一个可以实时识别人脸的相机。
David Lowe在1999年提出”SIFT” & Object Recognition。在之前因为拍摄角度、光线、遮挡等复杂的情况,对物体的识别是困难的。但是物体有些重要的部分、特征是不变的,所以可以通过识别这些关键的特征来进行匹配。
2006年Lazebnik et al.提出了Spatial Pyramid Matching来识别整个图片的场景。他们发现实际图片中,无论是什么场景,都可以通过features,然后用SVM来进行分类。
人体识别:Histogram of Gradients/Deformable Part Model
Benchmark Dataset and Challenge
PASCAL Visual Object Challenge:20种物体图片
IMAGENET:1400万张图片,2.2万种类
ImageNet图片识别大赛:
从2010年到2015年图识别的错误率逐渐降低,但是在2010和2011年错误率还在25%上下徘徊。
在2012年显著的下降了接近10%。获得冠军的就是Hinton提出的7层CNN,这也是这门课的重点。
CS231n OVERVIEW
课程重点
cs231n focuses on one of the most important problems of visual recognition – image classification
There is a number of visual recognition problemsthat are related to image classification:
object detection:利用画框标记物体在图片中的位置,并识别画框内的物体
image captioning:用自然语言来描述图片
Action classification
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
- 机器人视觉等