admin管理员组

文章数量:1622629

前言:在这个由0和1编织的数字世界里,计算机视觉的发展史就是一部关于如何让机器学会‘看’的史诗。我结合CS231n课程内容以及互联网资源大致梳理了其发展脉络。从1959年猫的视觉神经实验,到深度学习在21世纪的爆发,计算机视觉的旅程充满了智慧的闪光和意外的曲折。


1959年:从猫的视觉神经实验说起

加拿大-美籍神经科学家大卫·休伯尔(David Hunter Hubel),与合作者托斯坦·威泽尔(Torsten N. Wiesel)以猫为实验对象,通过对猫的初级视皮层的探究,首次发现了大脑的视觉加工机制,发表了论文《Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex》,并因此共同获得了1981年的诺贝尔生理学或医学奖。

基于此的后续实验中,人们逐渐意识到大脑视觉认知规律:在视觉系统中,不同的细胞有不同的分工,如有些只能处理简单的线条信息,有些则能处理更复杂的形状;在初级细胞加工完信息以后,会将信息传递至更高级的细胞


1963年:「Block World」从2D图像提取物体的三维信息

计算机视觉领域的先驱 Larry Roberts 在他的博士论文中试图提取「积木世界(Block World)」的3D 几何信息。Roberts 提出了从二维图像中提取物体的三维信息的方法。他通过分析物体的边缘和角点来识别这些简单几何形状。他使用了投影几何的基本原理,将二维图像中的线条和边缘与三维空间中的物体对应起来。这些线条被认为是物体的边缘,通过分析这些边缘的交点和角点,计算机可以推断出物体的三维形状。

Roberts的工作将视觉世界所看到的简化为几何形状,为后来计算机视觉的形状识别和三维重建研究奠定了基础。他的工作展示了计算机如何利用图像信息来理解物体的形状和结构,成为了后来很多研究的基础。


1970年代:David Marr 提出视觉计算理论框架

英国神经科学家和认知科学家大卫·马尔(David Marr)提出了一套全面的视觉计算理论,试图从信息处理的角度理解视觉感知的过程。

马尔在他1976年发表的论文《A theory for cerebral neocortex》和1982年出版的著作《Vision》中,详细阐述了他关于视觉信息处理的分层理论。这一理论认为,视觉感知可以分为三个层次:

  • 初级视觉(Primal Sketch):在这个阶段,视觉系统从图像中提取基本的边缘、轮廓和其他低层次的特征。这相当于对图像的初步处理,识别出最基本的形状信息。
  • 2.5维草图(2.5D Sketch):在这一层次,视觉系统开始将初级视觉的信息整合成一幅具有深度信息的中间表示,这种表示包含了物体的深度和表面方向等信息,但它仍然是从观察者的视角出发的。
  • 三维模型表示(3D Model Representation):最终,视觉系统将这些信息进一步处理,生成与物体无关的三维模型表示,这是对物体形状和结构的完整感知。

David Marr 的视觉计算理论从信息处理的角度深刻影响了计算机视觉的发展。他的分层模型为后来许多视觉算法的设计提供了理论基础。Marr 可以称得上是计算机视觉之父,插个题外话,马尔奖(Marr Prize),是每两年举办一届的计算机领域世界顶级的学术会议之一计算机视觉国际大会(ICCV)上评选出的最佳论文奖,每两年评选一次,被看作是计算机视觉研究方面的最高荣誉之一。


1970年代:基于简单组合的识别(Recognition via Parts)

在1970年代,计算机视觉领域开始出现一种新的物体识别方法,称为基于部分识别(Recognition via Parts)。这一方法的核心思想是将复杂物体分解为多个简单的、容易识别的部分或组件,然后通过这些部分的组合来识别整体物体。

广义圆柱体(Generalized Cylinders):在1970年代末期,托马斯·宾福德(Thomas Binford)提出的概念,其基本思想是,复杂的三维物体可以分解为一系列更简单的几何结构,例如圆柱体、圆锥体等,通过这些简单结构的组合,可以近似表示更复杂的形状。

图像结构(Pictorial Structures):1973年,马丁·A·菲施勒(Martin Fischler)和罗伯特·艾尔施拉格尔(Robert Elschlager)提出了图像结构模型,模型将物体表示为一组具有弹性连接的部分。这些部分通常是物体的关键特征或组件,而这些组件之间的连接则捕捉了它们之间的空间关系。


1974-1980:人工智能的第一次寒冬

出生就遇到黄金时代的人工智能,过度高估了科学技术的发展速度,太过乐观的承诺无法按时兑现的时候,就引发了全世界对人工智能技术的怀疑。

1973年莱特希尔报告尖锐地指出人工智能那些看上去宏伟的目标根本无法实现,研究已经完全失败,拉开了人工智能寒冬序幕。此后,科学界对人工智能进行了一轮深入的拷问,使AI的遭受到严厉的批评和对其实际价值的质疑。随后,各国政府和机构也停止或减少了资金投入,人工智能在70年代陷入了第一次寒冬。


1980年代:基于边缘检测的识别(Recognition via Edge Detection)

在1980年代,边缘检测成为计算机视觉领域中一个重要的研究方向,并被广泛应用于物体识别任务中。边缘检测的核心思想是通过识别图像中像素值的急剧变化(即边缘),来提取物体的轮廓或结构,从而简化图像中的信息并突出显示物体的形状。

John Canny 在1986年提出了著名的Canny边缘检测算法。这个算法通过一系列步骤,包括高斯平滑、梯度计算、非极大值抑制和双阈值检测等,能够在噪声较大的图像中稳定且精确地检测出边缘。Canny 边缘检测器迅速成为边缘检测领域的标准,并在许多实际应用中得到了广泛使用。边缘检测作为一种低层次视觉处理技术,对后来的视觉算法,如轮廓检测、形状匹配、图像分割等,产生了深远的影响。


1987-1993:人工智能的第二次寒冬

很有意思,才没过几年就迎来了第二次寒冬。

人工智能领域当时主要使用约翰麦卡锡的 LISP 编程语言,到80年代中期美国已经有100家以上的 LISP 公司,这在当年可谓新兴产业中的翘楚。

虽然 LISP 机器逐渐取得进展,但同时80年代也正是个人电脑崛起的时间,IBM PC和苹果电脑快速占领整个计算机市场,它们的CPU频率和速度稳步提升,越来越快,甚至变得比昂贵的LISP机器更强大。直到1987年,专用LISP机器硬件销售市场严重崩溃,危机中的资本界很快失去了耐心,泡沫急速破碎,相关公司近乎全线破产,AI又一次成为了欺骗与失望的代名词,人工智能领域再一次进入寒冬。


1990年代:基于像素分组的识别(Recognition via Grouping)

1997年 Shi & Malik 提出,若识别太难了,就先做目标分割,就是把一张图片的像素点归类到有意义的区域。

在1997年,Jianbo Shi 和 Jitendra Malik 提出了归一化割(Normalized Cuts)方法,这是图像分割领域的一项开创性工作。归一化割是一种基于图论的方法,用于将图像分割成多个区域,使得每个区域内的像素在某种意义上是“相似”的,而不同区域之间的像素则有显著差异。

归一化割方法为图像分割问题提供了一个全局优化的框架,与仅关注局部特征的传统方法相比,它考虑了图像全局的相似性分布。这种方法极大地影响了后来的图像分割算法,并广泛应用于计算机视觉的许多领域,如目标分割、场景理解和图像聚类。


1998年:卷积神经网络腾空出世

实际上,早在1989年,他们就发表了「将反向传播用于手写邮政编码识别」的相关研究,而且已经在美国的邮政系统中成功应用。1998年发表的《Gradient-based learning applied to document recognition》这一篇工作中,**第一次喊出了卷积网(Convolutional network)的口号,**并以 0.1% 的优势干掉了SVM,要知道同时期的 SVM 正处于当打之年。

卷积神经网络 (CNNs) 的提出为计算机视觉带来了革命性的变化,开启了深度学习在视觉领域的应用新时代。LeCun 的工作展示了通过深度网络架构学习图像特征的强大潜力,但由于算力的限制,数据的匮乏,以及当时对深度学习算法的接受度较弱,导致这一技术在当时并没有迅速引发广泛关注或大规模应用。


2000年代:基于图像匹配的识别(Recognition via Matching)

传统的匹配算法往往是直接提取角点或边缘,对环境的适应能力较差,急需提出一种鲁棒性强、能够适应不同光照、不同位姿等情况下能够有效识别目标的方法。1999年,英国哥伦比亚大学计算机系教授 David Lowe 提出了尺度不变特征变换 (Scale-Invariant Feature Transform, SIFT) 算法,并在04年完善后发表了成果《Distinctive Image Features from Scale-Invariant Keypoints》,在计算机视觉领域动不动就是深度学习模型的当下仍然有着存在感,或许SIFT本身所包含的尺度不变的思想仍有借鉴意义。

简言之,SIFT 是一种用于检测和描述局部特征点的方法,它可以在不同的尺度和旋转下识别图像中的关键点,并为每个关键点生成独特的描述符,使得在不同视角、尺度和光照条件下,仍然能够进行准确的匹配。


2001年:Viola-Jones 面部检测器

2001年此时的机器学习也快速发展了,出现了SVM(支持向量机模型)、boosting、图模型等方法。Viola & Jones 发表了使用 AdaBoost 算法进行实时面部检测的论文,而后2006年富士推出可以实时面部检测的数码相机。在深度学习技术出现之前,Viola-Jones 框架一直是人脸检测算法的主流框架。

Viola-Jones 算法是第一个真正实现实时人脸检测的算法,它将特征提取、机器学习和高效计算相结合,奠定了计算机视觉中目标检测领域的基础。尽管在现代应用中,深度学习模型逐渐占据主导地位,但 Viola-Jones 框架依然是经典的检测方法之一,尤其是在资源有限的环境中仍有重要价值。


2004-2012:计算机视觉逐步踏入深度学习时代

在2004年至2012年之间,计算机视觉领域经历了从传统方法向深度学习方法的重大转变。这段时期的里程碑事件为后续深度学习在视觉任务中的广泛应用奠定了基础。

2004-2007(视觉数据集的涌现): Caltech101 和 PASCAL 视觉对象挑战赛。Caltech101 (2004年)是一个用于图像分类的基准数据集,由 101 个对象类别组成。这个数据集推动了研究人员开发更有效的特征提取和分类算法,成为当时计算机视觉研究的重要参考。PASCAL VOC 挑战赛 (2005-2012年)首次举办于2005年,至2007年成为视觉对象识别领域的标杆竞赛。它包括图像分类、目标检测、图像分割等多个任务,推动了计算机视觉领域的研究进展,并为评估不同算法提供了统一的标准。

2006(深度学习的复兴):2006年,Geoffrey Hinton 等人发表了一篇重要论文《Reducing the dimensionality of data with neural networks》,提出使用无监督的逐层预训练来训练深层神经网络。这一方法克服了训练深层网络时出现的梯度消失问题,标志着深度学习的复兴。然而,当时深度学习还未在计算机视觉领域成为主流,许多研究者依然专注于传统的特征工程和浅层模型。

2009(ImageNet 大规模图像数据集):Fei-Fei Li 等人发布了 ImageNet 数据集,这是一种包含超过 1400 万张标注图像的大规模数据集,涵盖了 20,000 多个类别。ImageNet 的推出为研究人员提供了丰富的训练数据,成为训练和评估图像分类模型的重要基准。

2012(AlexNet 成功出圈):2012年,Geoffrey Hinton 的学生 Alex Krizhevsky 及其团队开发的 AlexNet 网络,在 ImageNet 挑战赛中取得了划时代的胜利。AlexNet 在分类准确率上显著超越了传统方法,并且首次展示了深度卷积神经网络在大规模图像分类任务中的潜力。

自2012年 AlexNet 的突破后,深度学习技术迅速渗透到计算机视觉的各个领域,包括图像分类、目标检测、图像分割、视频分类、活动识别等。新型网络架构如 VGG、ResNet、Inception、YOLO、Faster R-CNN 等相继提出,进一步提升了视觉任务的性能。

这一时期的研究表明,计算机视觉的进步不仅依赖于算法的改进,还与大规模数据集和强大计算资源的支持密切相关。通过持续推动算法优化和数据集扩展,计算机视觉逐步迈入了深度学习时代,为后来的人工智能应用打下了坚实基础。


总结

如果没有传统计算机视觉技术的发展,一定不会促成如今深度学习的爆发。与其说深度学习带来了一场革命,不如说是传统视觉在数据、算力的加持下的一次厚积薄发。随着深度学习技术的蓬勃发展,计算机视觉正引领我们进入一个全新的视觉智能时代。

本文标签: 进化史视觉计算机CS231n