计算机视觉进展二十年 (1995~2015)

计算机视觉的两大主要板块是:几何和识别,这里我们主要来讲述计算机视觉在1995~2015年间的进展。

1. 影像特征点检测算子(detector)和描述算子(descriptor) SIFT的诞生 (1999, 2004)

Scale invariant feature transform (SIFT) 是在1999年由 UBC 的教授 David Lowe 首次提出,并在2004年进一步完善并发表的 影像特征点检测 (detector) 和描述算子 (descriptor)。SIFT的诞生是计算机视觉里程碑式的进步,它使得 homography estimation, structure from motion, epipolar geometry 以及 机器人 (robotics) 中的SLAM 有了飞跃式的改进,正是因为SIFT好于在它之前的任何描述子, 使得匹配更加准确。SIFT不只是在geometry上有应用, 它后来广泛应用于目标识别 (Object Recognition)(见后文)。

2. 特征工程:描述子 (descriptor) 的广泛诞生 (1995 ~ 2010)

在深度学习 (feature learning) 流行之前,学者们手工设计 (manually craft) 了很多point, image patch, spatial-temporal volumetric cube 和 3D mesh的描述子,这些描述子一般都具有抗噪声,对旋转、光照、比例、对比度 等等 不敏感的特性。除SIFT之外,其它著名的算子有:

(1) shape context, 它由 Cornell Tech的 Serge Belongie 教授于2002年提出, 他使用了计算机视觉中常用的binning来描述点周围的shape context, 在角度方向, 使用了均衡的binning, 而在半径方向, 使用了log-polar binning, 这样直观上就是越近的点对shape 影响更大。Shape context 是很成功的形状描述子, 对于2D 的形状识别, 在当时MNIST 手写字识别上达到了最好的效果。

(2) HOG: 它的全称是 Histogram of Oriented Gradients, 在2005年由 Dalal & Triggs 提出来,应用到行人检测上。HOG不同于SIFT的地方是:HOG用于描述整块patch, 并不像SIFT一样有keypoint的概念; HOG没有 rotation-invariant 的特性。HOG 后来广泛的用于其他目标的识别,最成功的拓展是基于HOG的 deformable parts model (DPM, 由Felzenszwalb 教授在2010年提出), 它是deep learning 之前最好的object detection & recognition 匴法。

(3) spin image: 它是一种3D mesh的描述子, 由 Andrew Johnson 博士在1997年提出, 并在1999年完善的。它用来做surface matching, 如今激光扫描仪 (laster scanner) 越来越普遍,价格也越来越便宜,于是点云数据也是越来越常见, spin image 就能直接用于点云的匹配。因为spin image 描述子是基于局部的坐标系 – 其XY平面是那点的切平面,Z是点的法向(normal), XY坐标轴的方向不需要确定 (不像计算SIFT descriptor时,需要把坐标轴对齐到dorminant direction) – 当两个来自不同全局坐标系点云的点都用shape context 描述后, 就能直接欧式距离比较它们的相似度了。

(4) 除了这些非常成功的描述子,其它的还有 STIP (Space-Time Interest Points, 2005), HOF (Histogram of oriented optical flow, 2009), MBH (motion boundary histogram, 2013)。

3. 目标识别, object recognition(2005 ~ 2010)

在2010年前,也就是deep learning用于目标识别之前, 这个时期还没有大规模的影像数据库( ImageNET 2009年采集完成),第一个用于目标识别的数据库是 目前斯坦福的 Fei-Fei Li 教授在caltech 读博期间采集的Caltech101,它有101类目标, 每个种类的目标有40~800张影像。虽然相比目前的imageNET, 它小得不能再小了,可是它对计算机视觉目标识别有着不可磨灭的贡献,caltech101开启了目标识别的先河, 这期间诞生了很多有趣的 descriptors 和 object recognition algorithms, 其中主流的目标识别算法是 (1)bag-of-visual-words (BoW); (2) template matching。 BoW受到文本领域topic modeling的启发,主要思想是在影像上随机的采取一些patches, 这些patches叫做visual words, 影像就能看作由这些visual words 组成的 (正如一篇文章 (document) 由很多 words 组成)。 下面我们来说说代表性的目标识别的文章:

(1) LDA: latent Dirichlet allocation, 它本来由普林斯顿的David Blei 教授在2003年提出,用于文本的unsupervised topic modeling, 在2005年, 仍在读博的Fei-Fei Li 用LDA做视觉中的场景分类, 这是一篇典型的bag-of-visual-words 算法用于目标分类的文章;

(2) SPM (spatial pyramid matching), 它是目前UIUC 的教授Lazebnik提出的, 用非常简单的spatial grid把image分成几块,然后每块分别统计BoW histogram, 最后把这些histogram拼接在一起,这样形成的影像描述子就有了空间结构信息,再不像以前的BoW描述子一样缺乏空间信息了,非常简洁, 但也非常有效;

(3) 基于BoW的一些改进的 image encoding 方法:2006~2009年,学者们用 sparse coding, Fisher vector 等技巧来改善传统的BoW影像描述子 (image encoding),这样的描述子更加的discriminative, 取得了一些进步, 不过他们仍然属於BoW体系中的方法;

(4) Pyramid matching kernel: 它由UT Austin的Grauman 教授提出,虽然第一步也是提取visual words (SIFT), 不过它不同于BoW的是: PMK定义了一种相似度kernel, 通过两张影像上提取的SIFT描述子来直接描述两张影像的相似度,最后用SVM分类。显然PMK中每张单独的影像并没有自己的描述子 (encoded vector descriptor)。

(5) DPM:deformable parts model,由Felzenszwalb 教授在2010年提出, 它是一种完全不同余以前方法的目标识别算法,它的核心思想是模板匹配,定义了root template 和几个 part templates,然后用latent SVM 描绘root 和 parts之间的几何关系,最后通过 latent descriminative training 得到latent svm 参数,便可用于分类。DPM是deep learning 之前最好的目标识别算法,之后有一些DPM 的加速算法,用于快速目标检测。

4. 自动特征这学习: deep learning 在视觉中的流行 (2010 ~ 2015)

Deep learning的再次流行,打破了目标识别算法的格局,使得无论是BoW还是DPM都成为过去式,deep learning成为目标识别领域的领跑者。首先BoW根本不具有物体的结构信息,再之,DPM可以看成是2层的一种structure (root+part), 但与deep learning 的层数 (通常10~20层)来比,也算一种浅层结构了 (shallow network)。Deep learning的流行,有4个人功不可没: Geoffrey Hinton, Yann LeCun, Yoshua Bengio 和 Andrew Ng。
这里我们重点介绍 deep convolutional neural network (CNN), 它早在1990年就由Yann LeCun用于手写字的识别,可是一直到2012年,CNN一直没被重视,两个原因:(1)SVM 的优美的理论,遥遥领先分类能力,使得其它分类器 (包括CNN) 黯然失色;(2)计算机硬件的计算性能的有限, 加上没有大量的labeled数据,使得CNN一直没能得到很好的结果。 2012年, Krizhevsky (Geoffrey Hinton在加拿大多伦多大学的学生)在NIPS上present了CNN用于目标识别的结果, 它直接把最好的目标识别算法误差减半,这引起了轩然大波和热烈的讨论,到了今天,CNN 已经被整个计算机视觉界所接受,成为目标识别的通用方法。

CNN 的结构是: n* (convolution layer + pooling layer) + several fully connected layers, CNN的这种deep structure受启发于人的视觉神经元识别目标的层次解构:LGN-V1-V2-V4-IT,简单的方向信息源往往会使得低层的神经元firing, 而更抽象的形状刺激源往往能激发高层V4区域的神经元。CNN 的 deep structure利用了下面的属性: 很多自然信号都是层次结构的,高层的复杂特征又低层的简单特征组成。CNN 中的 convolutional layer 是 distributed representation 的一种表征, 而 pooling layer 使得 deep structure 对影像微小的平移(shift)和 形变 (distortion) 不敏感。CNN使用error back propagation来训练参数,具体用一阶的随机梯度下降法 (stochastic gradient descent)来训练。后面我们将会从技术的细节来具体解析CNN。

转载于:https://www.cnblogs.com/yymn/p/4596281.html

计算机视觉进展二十年 (1995~2015)相关推荐

  1. 从搞科研到商业运作:Alberto Broggi 研究计算机视觉的二十年

    1998年,意大利.一辆汽车终于跑完2000公里,不过是以自动驾驶的方式. 此前,自动驾驶汽车已经在美国DARPA挑战赛中被证明能够通过220英里(约354公里)的越野道路,但还没有测试车辆能够完成更 ...

  2. 从搞科研到商业运作:Alberto Broggi 研究计算机视觉的二十年...

    1998年,意大利.一辆汽车终于跑完2000公里,不过是以自动驾驶的方式. 此前,自动驾驶汽车已经在美国DARPA挑战赛中被证明能够通过220英里(约354公里)的越野道路,但还没有测试车辆能够完成更 ...

  3. CVPR 2015深度学习回顾

     CVPR 2015深度学习回顾:ConvNet.Caffe.Torch及其他 width="22" height="16" src="http: ...

  4. 深度学习计算机视觉发展简述

    深度学习计算机视觉发展简述   1995年诞生的LeNet5网络是最早的卷积神经网络之一,也是现在很多深度神经网络架构的起点.LeNet5利用卷积.参数共享.池化等操作提取图像特征,再利用全连接神经网 ...

  5. 【转载】文本自动生成研究进展与趋势

    CCF 中文信息技术专业委员会 万小军 冯岩松 孙薇薇 北京大学计算机科学技术研究所,北京 摘要 我们期待未来有一天计算机能够像人类一样会写作,能够撰写出高质量的自然语言文本.文 本自动生成就是实现这 ...

  6. 文本自动生成研究进展与趋势之图像到文本的生成

    图像到文本的生成 1 国际研究现状 图像到文本的生成技术是指根据给定的图像生成描述该图像内容的自然语言文本,例如新闻图像附带的标题.医学图像附属的说明.儿童教育中常见的看图说话.以及用户在微博等互联网 ...

  7. 解读2015之大数据篇:大数据的黄金时代

    2015年,整个IT技术领域发生了许多深刻而又复杂的变化,InfoQ策划了"解读2015"年终技术盘点系列文章,希望能够给读者清晰地梳理出技术领域在这一年的发展变化,回顾过去,继续 ...

  8. 2015年中国十大公有云服务企业综述

    点击上面的链接文字,可以快速关注"东方云洞察"公众号 笔者写本文纯粹是兴趣所在,因为长期跟踪和关注整个云计算市场,对这个市场整体上很了解,到了年底就习惯性的要做个总结.因为都是个人 ...

  9. 2015.7.11 SDN南京技术交流会

    活动介绍 旧时王谢堂前燕,飞入寻常百姓家,金陵自古多骚客,小暑将至,SDNLAB.com将趁着最后的一丝凉意尚未消失之际为大家带来南京首次SDN技术交流活动. 以SDN为代表的网络创新技术在如火如荼的 ...

最新文章

  1. 如何在3天内拿下DigSci大赛的亚军?| DigSci科学数据挖掘大赛
  2. 转载--tomcat整合apr
  3. 数据库限制内存使用方法
  4. C51 特殊功能寄存器
  5. Mysql5.7读写分离
  6. Maven 仓库、镜像
  7. python调用百度智能云API请求(以自然语言处理——词法分析为例)
  8. 硬件平台选型(1)---SDM 660 VS SDM670
  9. iPhone 13系列电池容量曝光:续航时长能否提升才是关键
  10. linux系统安装gcc依赖包,linux安装gcc需要的依赖包
  11. 《战术篇》阵型的设定与编辑,战术命令详解
  12. 公专网集群对讲系统在城市执法过程中的应用
  13. ks 曲线_关于模型检验的ROC值和KS值的异同_ROC曲线和KS值
  14. 单片机常用芯片系列(二)——DS18B20详解
  15. 元数据是什么?如何管理元数据?
  16. 天津理工大学2018年计算机硕士真题
  17. 2022.07.19 MySQL唯一索引
  18. 大数据技术在商业银行中的应用:场景、优势与对策
  19. 高仿知乎的php源码,高仿百度知乎问答系统
  20. 虚函数、抽象函数、抽象类、接口

热门文章

  1. 饥荒 死亡后不删存档的办法
  2. MP4移动商学院―――管理者贴身教练!
  3. CASSINI源代码分析
  4. 条件编译#ifdef的妙用详解
  5. android系统tee接口,Android操作系统上的TEE / HSM支持
  6. 微型计算机原理指令系统问题,微机原理复习题(指令系统).doc
  7. linux pam 解锁_linux中pam模块
  8. 隔空操作之简单的模拟三种行为
  9. python面相对象经典例子
  10. 解放程序员双手之Supervisor