在上世纪50年代,数学家图灵提出判断机器是否具有人工智能的标准:图灵测试。图灵测试是指测试者在与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。

图灵测试一词来源于计算机科学和密码学的先驱阿兰·麦席森·图灵写于1950年的一篇论文《计算机器与智能》,其中30%是图灵对2000年时的机器思考能力的一个预测,但是从图灵测试提出来开始到本世纪初,50多年时间有无数科学家提出很多机器学习的算法,试图让计算机具有与人一样的智力水平,但直到2006年深度学习算法的成功,才带来了一丝解决的希望。

前深度学习时代的计算机视觉

为什么深度学习之前,传统计算机视觉算法在人脸识别、跟踪、目标检测等诸多领域没有达到深度学习的精度呢?回答这一问题,需要我们先了解传统算法的特点。

对于视觉算法来说,大致可以分为以下4个步骤:图像预处理、特征提取、特征筛选、推理预测与识别。计算机视觉可以说是机器学习在视觉领域的应用,所以计算机视觉在采用这些机器学习方法的时候,不得不自己设计前面3个部分。但对任何人来说这都是一个比较难的任务。

传统的计算机识别方法把特征提取和分类器设计分开来做,然后在应用时再合在一起,比如如果输入是一个摩托车图像的话,首先要有一个特征表达或者特征提取的过程,然后把表达出来的特征放到学习算法中进行分类的学习。

过去20年中出现了不少优秀的特征算子,比如最著名的SIFT算子,即所谓的对尺度旋转保持不变的算子。它被广泛地应用在图像比对,特别是所谓的structure from motion这些应用中,有一些成功的应用例子。另一个是HoG算子,它可以提取物体,比较鲁棒的物体边缘,在物体检测中扮演着重要的角色。

这些算子还包括Textons,Spin image,RIFT和GLOH,都是在深度学习诞生之前或者深度学习真正的流行起来之前,占领视觉算法的主流。

这些特征和一些特定的分类器组合取得了一些成功或半成功的例子,基本达到了商业化的要求但还没有完全商业化。比如指纹识别算法、基于Haar的人脸检测算法、基于HoG特征的物体检测。但这种成功例子太少了,因为手工设计特征需要大量的经验,需要你对这个领域和数据特别了解,然后设计出来特征还需要大量的调试工作。说白了就是需要一点运气。

另一个难点在于,你不只需要手工设计特征,还要在此基础上有一个比较合适的分类器算法。同时设计特征然后选择一个分类器,这两者合并达到最优的效果,几乎是不可能完成的任务。

深度学习时代的计算机视觉

深度学习的前世

深度学习网络的最初原型是人工智能领域的大牛Lecun在1998年AT&T的实验室时发明出来的,当时用这一网络进行字母识别,达到了非常好的效果。

我们不禁要问:似乎卷积神经网络设计也不是很复杂,98年就已经有一个比较像样的雏形了。自由换算法和理论证明也没有太多进展。那为什么时隔20年,卷积神经网络才能卷土重来,占领主流?

这一问题与卷积神经网络本身的技术关系不太大,与其它一些客观因素有关。

首先,深度卷积神经网络需要大量数据进行训练。网络深度太浅的话,识别能力往往不如一般的浅层模型,比如SVM或者boosting;如果做得很深,就需要大量数据进行训练,否则机器学习中的过拟合将不可避免。而2006年开始,正好是互联网开始大量产生各种各样的图片数据的时候,即视觉大数据开始爆发式地增长。

另外一个条件是运算能力。卷积神经网络对计算机的运算要求比较高,需要大量重复可并行化的计算,在当时CPU只有单核且运算能力比较低的情况下,不可能进行个很深的卷积神经网络的训练。随着GPU计算能力的增长,卷积神经网络结合大数据的训练才成为可能。

最后一点就是人和。卷积神经网络有一批一直在坚持的科学家(如Lecun)才没有被沉默,才没有被海量的浅层方法淹没。最后终于看到卷积神经网络占领主流的曙光。

深度学习的今生

深度学习的概念由Hinton等人于2006年提出,具备天时地利人和的深度学习从此一发不可收拾,其在计算机视觉的诸多领域取得的效果远超传统机器学习算法,包括人脸识别、图像问答、物体检测、物体跟踪。

人脸识别方面,工作比较超前的是汤晓鸥教授,他们提出的DeepID算法在LWF上做得比较好。最新的DeepID-3算法,在LWF达到了99.53%准确度,与肉眼识别结果相差无几。

物体检测方面,2014年的Region CNN算法、2015年的Faster R-CNN方法、FACEBOOK提出来的YOLO网络、在arXiv上出现的最新算法叫Single Shot MultiBox Detector在识别精度和速度上均与较大提升。

物体跟踪方面,DeepTrack算法是第一在线用深度学习进行跟踪的文章,当时超过了其它所有的浅层算法。此后越来越多的深度学习跟踪算法提出。

深度学习时代的计算机视觉相关推荐

  1. 为什么医学影像AI已进入「后深度学习时代」?

    http://blog.itpub.net/29829936/viewspace-2644440/ "深度学习正走向两极化,大部分研究深度学习的人员会偏向于工程化,包括建立更加全面.便捷.快 ...

  2. 深度学习 图像分类_深度学习时代您应该阅读的10篇文章了解图像分类

    深度学习 图像分类 前言 (Foreword) Computer vision is a subject to convert images and videos into machine-under ...

  3. 深度学习实践:计算机视觉_深度学习与传统计算机视觉技术:您应该选择哪个?

    深度学习实践:计算机视觉 计算机视觉 (Computer Vision) Deep Learning(DL) is undeniably one of the most popular tools u ...

  4. 深度学习之对象检测_深度学习时代您应该阅读的12篇文章,以了解对象检测

    深度学习之对象检测 前言 (Foreword) As the second article in the "Papers You Should Read" series, we a ...

  5. 深度学习如何解决计算机视觉的经典图像分类问题

    [导读] 深度学习推动计算机视觉.自然语言处理等诸多领域的快速发展.在AI大热和人才奇缺的今天,掌握深度学习成为进入AI领域研究和应用的必备技能.来自亚马逊主任科学家李沐将以计算机视觉的经典问题--图 ...

  6. 【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代

    原文地址:Scene Text Detection and Recognition: The Deep Learning Era 文章目录 摘要 1.引言 2.深度学习时代之前的方法 2.1概括 3. ...

  7. GitHub贡献全球第5,超15,000名软件工程师,后深度学习时代英特尔如何「软硬兼施」

    作为全球最大的半导体公司(2019年Q1数据),英特尔一直以「硬实力」示人,然而就是这样一家公司却有超过15000名软件工程师,在GitHub的2018贡献排行榜上全球第五. 深度学习时代,英伟达凭借 ...

  8. 林倞:Beyond Supervised Deep Learning--后深度学习时代的挑战

    点击上方"深度学习大讲堂"可订阅哦! 编者按:在工业界大量资源的投入下,大数据.大规模GPU集群带来了深度学习在计算机视觉领域的全面产业落地,在很多竞赛中甚至取得远超学术界的成绩. ...

  9. 前深度学习时代CTR预估模型的演化之路:从LR到FFM\n

    本文是王喆在 AI 前线 开设的原创技术专栏"深度学习 CTR 预估模型实践"的第二篇文章(以下"深度学习 CTR 预估模型实践"简称"深度 CTR ...

最新文章

  1. LSTM之父撰文,纪念这位图灵奖遗珠、“AI理论之父”
  2. SVN:服务器资源删掉,本地添加时和删掉的名字同名出现One or more files are in a conflicted state....
  3. Android SurfaceView 的应用
  4. HTML canvas font 属性
  5. tab-pane 怎么家点击事件_想起爆款?怎么样去打造一个人见人点的爆款主图?
  6. Mybatis的selectKey使用
  7. mvn 本地jar包 加入自己的maven仓库
  8. 自动驾驶安全驾驶规则_自动驾驶知识科普 自动驾驶汽车的七大核心技术
  9. 6年Python开发,教你一天入门 Python
  10. Hash算法中的CRC
  11. php 保护图片地址,如何使用PHP正确保护图片上传?
  12. Win11玩永劫无间闪退怎么办?Win11玩永劫无间闪退的解决方法
  13. linux netcat命令实例
  14. 国际自主智能机器人大赛强势来袭,NAACL同声传译任务等你来战
  15. 电压负反馈放大电路(基于三极管)
  16. oeasy教您玩转python - 003 - # - 继续运行
  17. 百度Clouda的初步探索
  18. MATLAB椎体怎么画,最适合小白的matlab教程系列,进阶,一
  19. IOS美图秀秀(滤镜和涂鸦)和 添加阴影功能
  20. Unity开发2 3D对象的简单操作

热门文章

  1. pg 定时删除_postgresql AutoVacuum系统自动清理进程
  2. c语言函数简单注释模板,C语言中的Doxygen注释模板
  3. 运维在浏览器搜索linux日志,Graylog日志管理系统---搜索查询方法使用简介
  4. springboot整合flowable(mysql)第一节
  5. linux kvm参数,Linux KVM总结
  6. mysql备份恢复出错,MySQL-记一次备份失败的排查过程
  7. linux系统in命令,Linux中的In命令
  8. 计算机报临时用户,大师练习win10系统添加临时登录账户win10电脑临时账户的办法?...
  9. redis数据结构类型
  10. 【Intellij】Hot Swap Failed class reloaded