计算机视觉(Computer Vision,简称CV)是当前计算机领域的热门研究方向,具有很广阔的发展前景。下面我将从计算机视觉的应用、学习纲要、与数字图像处理的关系、发展历程以及面临的挑战这五个部分入手,依次进行介绍。
一、计算机视觉的应用
计算机视觉有众多研究方向,如图像深度估计、显著目标检测与视觉跟踪、视频分割等等:
1、图像深度估计:
2、显著目标检测与视觉跟踪:
3、视频分割:
二、计算机视觉基础学习纲要
学习计算机视觉,我们需要具备一些数理和编程基础,如线性代数、机器学习、深度学习还有Python编程能力。主要参考的教材有
Richard Szeliski: Computer Vision: Algorithms and Applications, 2nd ed.
计算机视觉基础课程的学习纲要如下:
在接下来的半年时间里,我将以一周一章节的速度定期更新计算机视觉基础的学习内容。
三、与数字图像处理的关系
数字图像处理技术主要涉及底层的图像操作,在医疗图像卫星图像处理、拍照摄影等许多领域中有着广泛应用。
下面是数字图像处理和计算机视觉的一个简单对比:
对于图像处理和计算机视觉二者之间的关系,用韦恩图的形式表示出来,如下所示:
四、计算机视觉的发展历程
计算机视觉缘起于MIT的一个暑期项目。1966年夏天,麻省理工学院计算机系教授马文·明斯基(Marvin Minsky)开启了 一项暑期项目。彼时,明斯基未满四十,雄心勃勃,刚和同事一起创立了之后声名远播的麻省理工AI实验室。明斯基雇了个本科生,问他能否用暑假时间将一台照相机和计算机连接起来,然后看看能否让计算机“描述”出照相机里的照片。
随着科技的发展,在无数科研工作者的努力下,CV在世界大放异彩。出现了无数很伟大的科学家,在现代的华裔科学家如李飞飞、何恺明等等。
下面这一张图是图像处理和计算机视觉的发展史:
在1957年,Gilbert Hobrough 采用模拟计算实现双目匹配,用于构造海拔地图。
论文标题:Roberts: Machine perception of 3-d solids. PhD Thesis, 1965
在1958-1962年,Rosenblatt提出了感知机算法(Perceptron)。
在1963年,Larry Roberts提出了积木世界系统。
论文标题:Roberts: Machine Perception of Three-Dimensional Solids. PhD Thesis, 1965.
下面是自20世纪60年代以来出现的一系列概念和算法:
自阴影重建形状(Shape-from-Shading,1970)
论文标题:Richter, Discriminative Shape from Shading in Uncalibrated Illumination, CVPR 2015
光度立体技术(Photometric Stereo, 1980)
论文标题:Woodham. Photometric method for determining surface orientation from multiple images. Optical Engineerings, 1980
本质矩阵 (Essential Matrix, 1981)
光流 (Optical Flow, 1981)
网页链接:https://zhuanlan.zhihu.com/p/74460341
论文标题:Horn and Schunck: Determining Optical Flow. Artificial Intelligence, 1981
马尔科夫随机场 (Markov Random Fields, 1984)
论文标题:Geman and Geman: Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images. TPAMI, 1984
后向传递算法 (Backpropagation, 1986)
论文标题:Rumelhart, Hinton and Williams: Learning representations by back-propagating errors. Nature, 1986
自动驾驶汽车ALVINN (1988)
Pomerleau: ALVINN: An Autonomous Land Vehicle in a Neural Network. NIPS, 1988
支持向量机 (SVM, 1992)
https://en.wikipedia.org/wiki/Support-vector_machine
基于运动的结构重建 (Structure-from-Motion, SfM, 1992)
Tomasi and Kanade: Shape and motion from image streams under orthography: a factorization method. IJCV, 1992
多视角立体视觉 (Multi-View Stereo, 1998 )
Yasutaka Furukawa, Carlos Hernández: Multi-View Stereo: A Tutorial. Found. Trends Comput. Graph. Vis, 2015
卷积神经网络 (CNN, 1998)
LeCun, Bottou, Bengio and Haffner: Gradient-based learning applied to document recognition. Proceedings of the IEEE, 1998
David G. Lowe, Object Recognition from Local Scale-Invariant Features. ICCV 1999
David G. Lowe, Distinctive image features from scale-invariant keypoints. IJCV 2004
3D 重构
Snavely, Seitz and Szeliski: Photo tourism: exploring photo collections in 3D. SIGGRAPH, 2006
Agarwal, Snavely, Simon, Seitz and Szeliski: Building Rome in a day. ICCV, 2009. 85
方向梯度直方图 (Histogram of Oriented Gradient, HOG, 2005)
Dalal and Triggs, Histograms of Oriented Gradients for Human Detection, CVPR 2015
ImageNet与AlexNet (2009-2012)
J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li and L. Fei-Fei, ImageNet: A Large-Scale Hierarchical Image Database. CVPR, 2009.
Krizhevsky, Sutskever and Hinton: ImageNet classification with deep convolutional neural networks. NIPS, 2012
视觉数据集的黄金时代 (2002-)
深度学习“称霸”CV (2014-)
Stanislaw Antol et al, VQA: Visual Question Answering. ICCV, 2015
Karpathy and Fei-Fei: Deep Visual-Semantic Alignments for Generating Image Descriptions. PAMI, 2017
Mnih et al.: Human-level control through deep reinforcement learning. Nature, 2015
Kanazawa et al, End-to-End Recovery of Human Shape and Pose. CVPR, 2018.
Niemeyer et al, Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision. CVPR, 2020.
五、CV领域面临的挑战
CV领域的主要挑战归纳如下:
无监督、自监督、弱监督学习 (降低对标注信息的依赖)
鲁棒性与跨场景泛化性 (Domain Adaptation)
精度、模型复杂度与速度的平衡
深度学习的可解释性与可靠性
视觉任务的挑战用如下的图能清晰地表达出来:
文章列出的这些挑战只是视觉任务的一些挑战,尽管已经解决了很多挑战,仍存在着无数的挑战,需要科研工作者们的奋斗与创新。
挑战1:图像是3D空间的2D投影
挑战2:视角变化
挑战3:非刚性形变
网页链接:https://becominghuman.ai/computer-vision-object-detection-challenges-faced-9a927f9c5623
论文标题:Kocabas et al., Self-Supervised Learning of 3D Human Pose using Multi-view Geometry, CVPR 2019
挑战4:遮挡问题
网页链接: https://becominghuman.ai/computer-vision-object-detection-challenges-faced-9a927f9c5623
挑战5:光照变化
挑战6:快速移动
网页链接:https://motionarray.com/learn/premiere-pro/premiere-pro-motion-blur-tutorial/
挑战7:类间和类内差异
总结
本文基于CV领域的研究进行了概述,主要从应用、学习、发展和挑战这几个层面进行阐述。我们不难发现,很多深度学习方法的设计都是受到传统视觉方法的启发,而且传统视觉方法的思想对于解决实际视觉问题非常重要,为了避开内卷,建议大家同时学习传统视觉和深度学习,为科研的创新和突破夯实基础。