原视频链接:斯坦福2017季CS231n (From Youtube)
墙内视频链接:斯坦福2017季CS231n (From Bilibili)
图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上产生了。教师借这个例子是为了说明,对视频内容的审核和过滤早已不是仅凭人力就能应付的工作了,而是交给人工智能(机器视觉)。
图2 CV的研究范围
OK,开场的例子就谈这些,下面进入录播的Virtual Fei-fei Li的课堂(滑稽)。
笔者将讲解的内容分为两个板块阐述。
一、生物视觉的产生和研究
距今约5亿4千3百万年前,绝大多数物种的捕食方法仅仅是等待猎物进入它们的攻击范围。而就在那时,地球上开始出现具有视觉能力的生物,并形成了一次物种大爆发(这一结论是澳大利亚当代动物学家Andrew Parker对那个年代的标本进行考察后提出的)。
图3 早期视觉生物
从那以后,具有视觉能力的物种很快得到了优势,并促使它们的捕食和生存行为变得更加主动(proactive)。视觉对于动物来说及其重要,特别是那些具有智慧的动物。而人类有50%以上的皮质是和视觉信息的传输相关联的。
“The vision is really important for animals and especially intelligent animals.”
人类运用工具进行视觉信息的记录和处理,可以追溯到文艺复兴时期。那时,达芬奇等人运用小孔成像的原理设计了人类史上第一台照相机。这和最早期的生物视觉是及其相似的。
图4 达芬奇设计的相机
后来,人们开始从生物学的角度研究视觉产生的本质。1959年,Hubel和Wiesel等人以猫作为实验物种,以电学的技术为实验手段。他们得出结论:不同的视觉图像会在神经系统中产生不同波形的电流。
单个细胞由处理一些视觉信息中最简单的点和边出发,逐步由多细胞构成整个视觉功能的组织、系统和整个视觉信息世界。
图5 猫的实验
二、机器视觉的发展历程
1963年,Larry Roberts发表了(可能是)CV领域的第一篇专业论文,用以对简单几何体进行边缘提取和三维重建。1966年,麻省理工学院(MIT)发起了一个夏季项目,目标是搭建一个机器视觉系统,完成模式识别(pattern recognition)等工作。从现在来看,当时的目标确实定的过大,以至于到了50多年后的今天为止,即使CV领域有了数以千计的科学工作者,仍然无法建立起整个机器视觉系统。
图6 MIT的夏季项目
七十年代,同样是在MIT,学者David Marr发表的著作《Vision》从严谨又长远的角度给出了CV的发展方向和一些基本算法,其中不乏现在为人熟知的“图层”的概念、边缘提取、三维重建等。
图7 DM
近乎同一时期,学者们提出了以广义的柱体和草图结构(Generalized Cylinder & Pictorial Structure)表示人体模型,用以简化模型及其计算代价。它的基本思想是所有的物体都由基本图元所组成。
整个60年代到80年代,虽然CV的概念已经提出了20年,但是与“识别”相关的工作进展得并不顺利。除了上述些许学者们点燃的星星之火,很难看到太多突破性的方法和文献。因此人们开始思考:如果图像识别太困难了,那为什么不先试试图像分割呢?
到了1997年,图像分割的方向终于有了进展:来自加州大学伯克利分校的Jitendra Malik和他的学生Jianbo Shi对此作出了重要贡献。
图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)。
图9 HoG和DPM
随着互联网的不断发展,学习计算机视觉可用的图片资源越来越多,Everingham等人在2006年至2012年间搭建了一个大型图片数据库,供机器识别和训练,称为PASCAL Visual Object Challenge,该数据库中有20种类别的图片,每种图片数量在一千至一万张不等。
图10 Visual Object Challenge
这个时候,Li Fei-fei和她的团队提出一个想法,机器能不能识别这个世界上所有的图像和物体呢?而挑战这一想法的前提是需要更庞大的数据库作为支撑。同时,一些视觉信息非常复杂,所以我们的模型趋于一个高维数据状态,且有着大量参数需要匹配。在数据量不充分的情况下,直接导致模型容易出现过拟合(概念可以参考博文《欠拟合和过拟合》),不能满足更多实例的情况。
基于这个想法,Li Fei-fei等人搭建了图像数据库ImageNet,总计两万两千种类别,和一千四百余万张图片。
图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发展历史的简要概述。