1、前言
CS231n是斯坦福大学李飞飞团队2015年冬季学期开始开设的一门基于神经网络或者说卷积神经网络的计算机视觉课程,全称是CS231n: Convolutional Neural Networks for Visual Recognition,如今完全成为了一门明星课程,也是每一个CVer入门的必学课程之一。目前,已经有2015冬季版,2016冬季版,2017春季版,2018春季版(视频未公布),每学期的视频更新都会引起一波充电热潮。
互联网和传感器的发展,特别是视觉传感器,如:手机摄像头,数码相机,视频监控,行车记录仪等等,引发了视觉信息的大爆炸。不得不说,我们完全进入到了一个视觉时代,一个图片、视频信息爆炸的时代。但是这些信息也是最难以被利用的信息,我们称其为“互联网中的暗物质”。就像银河系中85%的质量属于暗物质和暗能量,难以被检测和利用。YouTube每60秒就会接受150小时以上的视频上传,我们根本不可能靠人眼给如此大量的数据进行标注、分类。那么如何对这些数据进行标记、分类、索引等工作,进而利用这些数据来做广告、检索或者其他操作。唯一的希望就是利用计算机去帮我们完成这项工作,运用计算机视觉技术对图片进行标签、分类,对视频进行理解。如何更好地利用这些海量数据,如何应对“暗物质”的挑战,如何让计算机更好地理解这个世界,这就是计算机视觉要解决的问题。
计算机视觉是一门跨学科的课程,所以,我们面对的问题,建模方式也必将是跨学科的,像工程学、物理学、生物学、心理学、计算机科学和数学都有着密切关系。
一些资源:http://cs231n.github.io/classification/
2、计算机视觉简史
2.1 计算机视觉的诞生
第一只眼的诞生:在五亿四千三百万年前,单细胞生物就已在地球上出没,当时的动物物种只有三个动物门。而在短短的五百万年后(这段时期仅占生物演化史的千分之一),这三个动物门的物种突然演化成三十八个动物门,几乎现今所有动物的祖先,全在一瞬间蜂涌而出。这个物种快速暴增的现象发生在寒武纪初期,称为寒武纪大爆发,其原因至今仍是未解之谜。其中,Andrew Parker的“光开关理论”最具说服力,他研究发现,当时由于一个偶然的原因,浅海和大气中的化学物质发生了变化,使得浅海和大气的透明度大大增加。随着大量的光线进入海洋,于是动物开始进化出接收光的器官——眼睛。约5.43亿年前出现的三叶虫正是第一批演化出真正眼睛的动物,刚进化的眼睛非常非常的简陋就像针孔相机,甚至没有晶体状,只能接收一点光线和感知环境信息。该理论认为正是眼睛的进化,引发了生命体之间的进化竞赛,使得那些具备最佳视觉的生物才最有可能生存下来。眼睛的出现,可能是地球上寒武纪生命大爆发的主要原因。
达芬奇的相机:16世纪文艺复兴时期,达芬奇发明了“照相暗盒”(camera obscura),开始用来获取真实世界中的图像信息,这种早期的照相设备并不能产生出照片,只是运用小孔成像原理,方便艺术家描绘物体的比例。但这便是现代视觉工程技术的开端了,人们开始复制我们所看到的信息,不过这并没有涉及到试图去理解所看到的信息。从此之后,视觉技术取得一定的进步,如:电影技术、柯达商用相机产品、摄像机产品等等。
大脑视觉处理:1959年,Huber&Wiesel研究生物的大脑是如何处理视觉信息的。他们发现,大脑并不是对整体目标进行处理,而是从简单的形状(例如,边缘)开始处理视觉信息。在视觉处理的第一步,基础视觉区的神经元按一列一列组织起来,每一列神经元只“喜欢”某一种特定的形状,某种线条的简单组合。1981年两位科学家凭借这个贡献获得了诺贝尔奖,这是视觉领域一项极其重要的成就。
方块世界:现代计算机视觉领域的先驱是Lary Roberts在1963年的论文,名为“方块世界”Block World,也是计算机视觉第一篇博士论文。视觉信息处理是基于边缘好形状,是边缘决定了形状。
计算机视觉的诞生:计算机视觉诞生于1966年夏季,MIT成立了人工智能实验室,其中一名教授开始着手研究计算机视觉问题。至此,计算机视觉成为AI领域增长最快的一个领域,计算机视觉顶级大会CVPR和ICCV每年都有来及自全世界的进行这方面研究的研究人员。
2.2 近现代发展
VISION:David Marr写了一本非常有影响力的书籍VISION,并给了我们第二个非常重要的观点(第一个为Huber&Wiesel认为的视觉处理是从一些简单的形状开始,而不是整体目标):视觉是分层的。复杂的视觉处理可以基于这两个观点进行,即从简单形状开始,并建立一个分层模型。David Marr认为图像结构可以分为多层,第一层为简单的边缘结构(同Huber&Wiesel)他叫其为原始草图,接下来他称之为2.5D草图,将表层、深度信息或者场景的不连续性拼凑在一起。这里将2D图像信息调整为包含真实世界的3D信息。第三层为3D真实世界的模型。这是一个高度抽象的架构,并不能指引建立相应数学模型,但这是一个非常重要的、宏观的概念思想。基于David Marr的思考方式,开始涌现出一波视觉识别算法,即重建3D模型,以便于进一步识别。其中,Generalized Cylinder模型(1979年)认为世界由简单形状组合,通过不同角度观察而来。Pictorial Structure模型(1973年),其认为物体有简单的部分组成,如人脸由眼镜鼻子和嘴组成,各部分之间通过“弹簧”连接,允许之间出现一定形变。
Normalized Cut:(Shi & Malik,1997年)第一次使用现实世界照片解决彩色图像分割问题。感知分组:视觉领域最为重要的问题。
VJ人脸检测器:第一个转化为智能人脸检测的产品,应用于富士康相机2006年的数码相机产品中。基于haar特征+adboost分类器。也是第一项在计算机上可以实时运行的计算机视觉方面的研究成果。虽然这并不是这个时期的唯一成果,但这件成果反应了计算机视觉领域研究聚焦的一次变迁,不再是David Marr的重建3D模型再识别,而是直接识别“物体是什么”。该成果将研究的焦点聚焦到识别领域,这个趋势,将计算机视觉带回了人工智能领域。
Feature:
a)SIFT(David Lowe,1999年):尺度不变特征转换(Scale-invariant feature transform),步骤:尺度空间极点检测—关键点精确定位—关键点的方向确定—特征向量的生成
b)SPM(Lazebnik, Schmid & Ponce, 2006年):空间金字塔匹配(Spatial Pyramid Matching),Spatial:将图像分成若干块(sub-regions),分别统计每一子块的特征,最后将所有块的特征拼接起来,形成完整的特征。Pyramid:在分块的细节上,采用了一种多尺度的分块方法,即分块的粒度越大越细(increasingly fine),呈现出一种层次金字塔的结构。Matching:匹配
c)HOG(Dalal & Triggs, 2005年):梯度方向直方图(Histogram of Oriented Gradient),步骤:全局图像归一化—计算图像梯度—统计局部图像梯度信息—归一化—生成特征描述向量,
d)DPM(Felzenswalb, McAllester, Ramanan,2009年):可变形的组件模型(Deformable Part Model),88分辨率的根滤波器(Root filter)+ 44分辨率的组件滤波器(Part filter)。
2.3 深度学习的时代
数据:
a)MNIST(Modified National Institute of Standards and Technology, Yann LeCun 1998年),70,000张扫描的手写数字字体照片(每张为0-9中的一个数字)。
b)Pascal VOC(PASCAL Visual Object Challenge,Everingham et al. 2006-2012年),包含20类的目标检测数据集,10000级别的照片数量。
c)ImageNet(Deng, Dong, Socher, Li, Li, & Fei-Fei, 2009年),包含2万分类,千万级别(5000万)的识别检测数据集。从2010年开始,每年举行图像识别比赛:1,000 类目标,1,431,167张图像,被称为计算机视觉领域的奥铃匹克竞赛。2012年卷积神经网络(CNN)以巨大优势取得冠军,深度学习再次掀起研究热潮,成为深度学习革命的开端。
模型:
a)LeNet:(Yann LeCun 1998年),结构:conv+pooling+conv+pooling+conv+FC+FC,激活函数为sigmoid,用于MNIST手写字体识别。
b)AlexNet:(Krizhevsky et al. 2012年),结构:conv1+pooling+conv2+pooling+conv3+conv4+conv5+fc6+fc7+fc8,激活函数Relu,运用多个GPU训练。
c)ZFNet:(Matthew D. Zeiler et al. 2013年),结构:AlexNet一些参数的改动,对CNN提取特征进行可视化。
d)GoogLeNet:(Szegedy et al. 2014年),结构:inception结构。
e)VGG:(Simonyan 2014年),结构:(VGG16)conv1+conv2+pooling+conv3+conv4+pooling+conv5+conv6+conv7+pooling+conv8+conv9。
+conv10+pooling+conv11+conv12+conv13+pooling+FC14+FC15+FC16。
f)ResNet:(Kaiming He et al. 2015年),结构:residual block。
g)DenseNet:(Huang et al. 2017年),结构:ResNet的密集链接。
硬件:
摩尔定律,NVIDIA GPU计算能力。
3、课程主题
CS231n关注视觉识别问题—图像分类(image classification),以及大量相关问题,如:目标检测(object detection), 图像描述(image captioning)…。
计算机视觉解决的问题远不止识别问题,还有一大堆亟待解决的问题,如:密集标记、感知分组、3D场景识别,动作理解等等。计算机视觉的终极目的:理解,让计算机像人一样理解这个世界,并让世界变得更美好。