【CS231n-1】李飞飞:计算机视觉的发展历史


原视频链接:斯坦福2017季CS231n (From Youtube)

墙内视频链接:斯坦福2017季CS231n (From Bilibili)

img

图1 Welcome

课程开始首先是助教Justin Johnson的简单介绍。其中有几句话已经点出了研究计算机视觉(Computer Vision, 下文简称CV)对于时代的重要性:

“我认为目前世界上相机的数量比人类还要多。”

“I think there are more cameras in the world than there are people.”

“有些时候我们把视觉数据(注:例如视频等)称为互联网中的“暗物质”,这和物理学当中的概念十分类似。(从数据量和复杂度的角度出发)”

“Sometimes we call visual data the dark matter of the Internet in analogy with dark matter in physics.”

“粗略计算来看:几乎每秒内就有5小时的视频被上传至Youtube视频网站。”

“Roughly every second of clock time that happens in the world, there is something like five hours of video being uploaded to Youtube.”

我们来数:1,2,3…好,现在已经有十几个小时的新视频在Youtube上产生了。教师借这个例子是为了说明,对视频内容的审核和过滤早已不是仅凭人力就能应付的工作了,而是交给人工智能(机器视觉)。

img

图2 CV的研究范围

OK,开场的例子就谈这些,下面进入录播的Virtual Fei-fei Li的课堂(滑稽)。


笔者将讲解的内容分为两个板块阐述。

一、生物视觉的产生和研究

距今约5亿4千3百万年前,绝大多数物种的捕食方法仅仅是等待猎物进入它们的攻击范围。而就在那时,地球上开始出现具有视觉能力的生物,并形成了一次物种大爆发(这一结论是澳大利亚当代动物学家Andrew Parker对那个年代的标本进行考察后提出的)。

img

图3 早期视觉生物

从那以后,具有视觉能力的物种很快得到了优势,并促使它们的捕食和生存行为变得更加主动(proactive)。视觉对于动物来说及其重要,特别是那些具有智慧的动物。而人类有50%以上的皮质是和视觉信息的传输相关联的。

“The vision is really important for animals and especially intelligent animals.”

人类运用工具进行视觉信息的记录和处理,可以追溯到文艺复兴时期。那时,达芬奇等人运用小孔成像的原理设计了人类史上第一台照相机。这和最早期的生物视觉是及其相似的。

img

图4 达芬奇设计的相机

后来,人们开始从生物学的角度研究视觉产生的本质。1959年,Hubel和Wiesel等人以猫作为实验物种,以电学的技术为实验手段。他们得出结论:不同的视觉图像会在神经系统中产生不同波形的电流。

单个细胞由处理一些视觉信息中最简单的点和边出发,逐步由多细胞构成整个视觉功能的组织、系统和整个视觉信息世界。

img

图5 猫的实验

二、机器视觉的发展历程

1963年,Larry Roberts发表了(可能是)CV领域的第一篇专业论文,用以对简单几何体进行边缘提取和三维重建。1966年,麻省理工学院(MIT)发起了一个夏季项目,目标是搭建一个机器视觉系统,完成模式识别(pattern recognition)等工作。从现在来看,当时的目标确实定的过大,以至于到了50多年后的今天为止,即使CV领域有了数以千计的科学工作者,仍然无法建立起整个机器视觉系统。

img

图6 MIT的夏季项目

七十年代,同样是在MIT,学者David Marr发表的著作《Vision》从严谨又长远的角度给出了CV的发展方向和一些基本算法,其中不乏现在为人熟知的“图层”的概念、边缘提取、三维重建等。

img

图7 DM

近乎同一时期,学者们提出了以广义的柱体和草图结构(Generalized Cylinder & Pictorial Structure)表示人体模型,用以简化模型及其计算代价。它的基本思想是所有的物体都由基本图元所组成。

整个60年代到80年代,虽然CV的概念已经提出了20年,但是与“识别”相关的工作进展得并不顺利。除了上述些许学者们点燃的星星之火,很难看到太多突破性的方法和文献。因此人们开始思考:如果图像识别太困难了,那为什么不先试试图像分割呢?

到了1997年,图像分割的方向终于有了进展:来自加州大学伯克利分校的Jitendra Malik和他的学生Jianbo Shi对此作出了重要贡献。

img

图8 图像分割

1999年David Lowe提出了尺度不变特征变换(SIFT, Scale-invariant feature transform)目标检测算法,用于匹配不同拍摄方向、纵深、光线等图片中的相同元素。

2001年,在互联网泡沫的大背景下,CV领域却发展得风生水起,并再次取得重大突破性进展:Paul Viola和Michael Johns使用Adaboost算法实现了实时性的人脸检测。而这一技术仅在5年后就被富士胶片公司(Fujifilm)用于产品中——首个带有实时人脸检测功能的照相机。

同一时期,Lazbnik, Schmid 和 Ponce等人提出了空间金字塔匹配算法(SPM, Spatial Pyramid Matching),具有开创性地将图片进行分块和特征提取,以验证图片间的相似度。Dalal和Triggs等人提出了进行人物识别的HoG特征(Histogram of Gradient)。2009年,Felzenswalb, McAllester和Ramanan等人提出了可变形部件模型(DPM, Deformable Parts Model)。

img

图9 HoG和DPM

随着互联网的不断发展,学习计算机视觉可用的图片资源越来越多,Everingham等人在2006年至2012年间搭建了一个大型图片数据库,供机器识别和训练,称为PASCAL Visual Object Challenge,该数据库中有20种类别的图片,每种图片数量在一千至一万张不等。

img

图10 Visual Object Challenge

这个时候,Li Fei-fei和她的团队提出一个想法,机器能不能识别这个世界上所有的图像和物体呢?而挑战这一想法的前提是需要更庞大的数据库作为支撑。同时,一些视觉信息非常复杂,所以我们的模型趋于一个高维数据状态,且有着大量参数需要匹配。在数据量不充分的情况下,直接导致模型容易出现过拟合(概念可以参考博文《欠拟合和过拟合》),不能满足更多实例的情况。

基于这个想法,Li Fei-fei等人搭建了图像数据库ImageNet,总计两万两千种类别,和一千四百余万张图片。

img

图11 机器基于ImageNet的识别错误率

通过训练ImageNet所给出的数据集,识别错误率正逐年下降,并在2015年就已经低于了正常人类的错误率。图中值得注意的是,在2012年,识别错误率突然下降了近10个百分点,这得益于卷积神经网络(CNN,Convolutional Neural Network)的运用,或者更为大家所知晓的概念就是——深度学习(Deep Learning)。CNN在识别错误率上远低于同年的其他模型,这标志着以深度学习为核心的CV时代正式开启。当然,深度学习技术是否是目前的最佳选择,尚存在争议。


以上就是来自Stanford Convolutional Neural Networks for Visual Recognition (CS231n Spring 2017) Lesson1 中对于CV发展历史的简要概述。