说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

计算机视觉,让冰冷的机器看懂这个多彩的世界

HTML文档下载 WORD文档下载 PDF文档下载
计算机视觉能超越人类双眼的感官,用声波、红外线来感知一切。微软亚洲研究院首席研究员孙剑以如何让计算机看懂世界为主题,详细介绍计算机视觉的基本概念、面临挑战以及一些带来重要突破的技术并展望未来演进趋势。

从茹毛饮血的蛮荒,到钢筋水泥的城市,人类逐步将自身能力投射到计算机上。无论是计算能力,还是记忆能力,计算机的如今表现都堪称卓越。但仅拥有这些还远远不够,我们期待计算机可以做得更多。一部风靡全球《星际穿越》激起了无数人对探索浩瀚宇宙奥秘的渴望,也让许多人记住了Tars这个聪明可爱、幽默风趣的智能机器人。


“人工智能”主题的好莱坞电影一直广受影迷们的喜爱,人类用无尽的想象力和炫目的特技构筑了一个又一个无比精彩的未来世界,令人如痴如醉。不过,回到现实,计算机科学家们的行动力却看似远远赶不上电影艺术家们的想象力,电影终归是电影,要研发出一个像Tars一样能看懂周围世界、听懂人类语言、并和人类进行流畅对话的智能机器人,我们要走的路还有很长。

长时间来,让计算机能看、能听、能说一直是我和计算机界同行们孜孜以求的目标。耕耘在计算机视觉领域十余年,赋予计算机一双慧眼,让它也能看懂这个多彩的世界,一直是激励着我在这条充满挑战的道路上前行的重要力量。虽然计算机暂时还无法像电影中所展现的那般智能,但已经取得了很多令人惊喜的成绩。在这篇文章中,我将就如何让计算机能“看”懂世界这个主题,为大家介绍计算机视觉的基本概念、这个领域面临的挑战、一些带来重要突破的技术并展望未来的演进趋势。

世界如何在我们眼中形成?

对人类而言,“认人”似乎是与生俱来的本能,刚出生几天的婴儿就能模仿父母的表情;它赋予我们只凭极少细节就分辨彼此的能力,借着暗淡灯光我们仍能认出走廊那端的朋友。然而,这项对人类而言轻而易举的能力,对计算机而言却举步维艰。过去很长一段时间,计算机视觉技术徘徊不前,在进一步探求前,不如先谈谈我们是如何用眼睛观察世界的。

相信大家都在中学的物理课上尝过小孔成像的原理。不过人的眼睛要比小孔成像复杂得多,当我们观察物体时,每秒大约扫视3次,并有1次驻留。当视网膜的感光体感受到蜡烛的轮廓,一个被称为中央凹的区域其实是以扭曲变形的形式记录下蜡烛的形状。

那么问题来了,为何我们看到的世界既未扭曲也没有变形呢?很简单,因为人类拥有大脑皮层这个万能的“转换器”,它将我们的视觉神经捕捉到的信号转换为真实的形象。这个“转换器”可简化理解为四个区域,生物学家将它们分别称为V1、V2、V4和IT区。V1区的神经元,只针对整个视觉区域中很小的一部分做出反应,例如,某些神经元发现一条直线,就变得异常活跃。这条直线可以是任何事物的一部分,也许是桌边,也许是地板,也许是这篇文章某个字符的笔划。眼睛每扫视一次,这部分神经元的活动就可能发生快速变化。

奥秘出现在大脑皮层顶层的IT区,生物学家发现,物体在视野的任何地方出现(例如一张脸),某些神经元会一直处于固定的活跃状态中。也就是说,人类的视觉辨识是从视网膜到IT区,神经系统从能识别细微特征,到逐渐变为能识别目标。如果计算机视觉也可以拥有一个“转换器”,那么计算机识别的效率将大为提高,人眼视觉神经的运作为计算机视觉技术的突破提供了启迪。

计算机为何总是“雾里看花”?

尽管人眼识别的奥秘已经被逐步揭开,但直接应用于计算机上却非易事。我们会发现计算机识别总是在“雾里看花”,一旦光线、角度等发生变化,计算机难以跟上环境的节奏,就会误识。对计算机而言,识别一个在不同环境下的人,还不如识别在同一环境下的两个人来得简单。这是因为最初研究者试图将人脸想象为一个模板,用机器学习的方法掌握模板的规律。然而人脸虽然看起来是固定的,但角度、光线、打扮不同,样子也有差别,都令简单的模板难以匹配所有人脸。

因此,人脸识别的核心问题在于,如何让计算机忽略同一个人的内部差异,又能发现两个人之间的分别,即让同一个人相似,不同的人有别。


对人工神经网络的引进是计算机视觉超越模板识别的关键。然而人类尚且未完全掌握神经的运作机制时,又该如何引导计算机进步呢?人工神经网络在1960年代就已萌芽,初期理论只固定在简单的模型之上,即生物课上的“输入-隐层-输出”模型。在介绍神经的工作原理时,老师们一般都会简单告知是外界刺激接触到输入神经元,输入神经元再链接其他部分形成隐层,最后通过输出神经元表现出来。这些神经元的链接强度并不相同,就像不同乐谱的强弱高低不同,人工神经网络就是依靠这些神经元之间不同的链接强度,学会将输入方式映射到输出上。

不过“乐谱”只是静止不动的,而且只能从“输入走向输出”,不存在反向呈现。也就是说如果人静止不动,计算机也许可以通过这一原理读出,但这在现实生活中不可能实现。1980年代末期,用于人工神经网络的“反向传播算法”发明,它能将输出单元的错误传回输入单元,并记住它。这种方法令人工神经网络能从大量训练样本中学习统计规律,对未知事件做出预测。不过与大脑的复杂及层级结构相比,这种只包含一个隐层的神经网络构造还显得微不足道。

深层神经网络为计算机“拨云见日”

2006年,多伦多大学教授Geoffrey Hinton在深层神经网络的训练上取得了突破。一方面,他证明了多隐层的人工神经网络具备更优异的特征学习能力,另一方面能通过逐层初始化克服此前一直困扰研究者的训练难题——基本原理是先通过大量无监督数据保证网络初始化,再用有监督数据在初始化好的或者是预训练的网络上优化调整。

受到这些因素的启发,如今的人脸或图像识别研究,大多基于CNN(Convolution Neural Networks)原理。CNN可以被视为一种逐层扫描的“机器”。第一层检测边缘、角点、平坦或不平坦的区域,这一层几乎不包含语义信息;第二层基于第一层检测的结果进行组合,并将组合传递给下一层,以此类推。多层扫描之下,累加准确率,计算机就在向前文提及的“让同一个人相似,不同的人有别”这一目标迈进。


CNN的学名为带有卷积结构的深度神经网络,这一网络识别物体还可分为两个步骤:图像分类和物体检测。在第一个阶段,计算机首先识别出物体的种类,例如人、动物或其他物品;第二个阶段,计算机获取物品在图像中的精确位置——这两个阶段分别回答了“是什么”和“在哪里”两个问题。微软的智能聊天机器人“小冰”具有辨识狗的品种的能力即是CNN的典型示例。首先,需要搭建一个好几层深度卷积网络。第一层跟人类视觉系统的定义很像,用来对一些小的边缘或者小的色块做一些检测;第二层会把这些小的结构组成大的结构,如狗腿和狗的眼睛;依次向上进行组织,最后就能鉴别出狗的种类来。其次,需要往这个带有卷积结构的深度神经网络里投入很多的图,训练系统识狗的准确度。

2013年,加州大学伯克利分校的研究者们提出了一种称为叫R-CNN方式(Region-based CNN)的物体检测方法,具有很高的识别准确度,它将每张图像分为多个窗口或个子区,在每个子区域应用神经网络进行分类。但其主要缺陷在于,对于实时检测,算法过慢。为了在一张图片上检测几个物体,整个神经网络可能需要运算上千次。


在微软亚洲研究院,视觉计算组的研究员们实现了一种称为空间金字塔聚合(Spatial Pyramid Pooling,SPP)的新算法,通过在内部特征识别,而不是每个区域从头检测,对整个图片只做一次计算。利用这种新算法,在不损失准确度的前提下,物体检测速度有了上百倍的提升。在2014年ImageNet大规模视觉识别挑战赛中,微软亚洲研究院采用SPP算法的系统取得了分类第三名和检测第二名的成绩。目前,这项技术已经成功转化进入OneDrive中。采用了这项技术后,OneDrive可以自动为上传的图片添加标签。同时,用户输入关键词,就可以搜索与之相对应的图片。

展望未来:计算机视觉和人类共舞

如果单纯识别面部,而不考虑发型和身体的其他部分,人类的正确率约为97.5%,而计算机目前则能达到99%以上。这是否意味着计算机已经胜过了人类?不是,因为我们不只观察面部,身材和体态都有助于我们认出对方。在复杂光照的真实环境下,人能够更智能地选择这些分支帮助自己决策,而计算机在这方面则要逊色许多。不过,如果数据量庞大,或者面对陌生的脸孔,计算机又更强大些。如果能够各扬其长,歌词中所唱的“借我一双慧眼吧”或许将会实现。


人类通过不断发明的新技术来替代旧技术去更高效和经济地完成任务。在计算机视觉领域亦是如此,我们开发更便捷人脸识别用于门禁系统,以替代手动的输入用户名和密码——Xbox One利用红外相机设计的人脸识别系统就颇受用户好评。

除上述人类自身也能做到的识别功能外,计算机视觉还可应用在那些人类能力所限,感觉器官不能及的领域和单调乏味的工作上——在微笑瞬间自动按下快门,帮助汽车驾驶员泊车入位,捕捉身体的姿态与电脑游戏互动,工厂中准确地焊接部件并检查缺陷,忙碌的购物季节帮助仓库分拣商品,离开家时扫地机器人清洁房间,自动将数码照片进行识别分类……或许在不久的将来,超市电子秤就能辨别出蔬菜的种类;门禁系统能分辨出带着礼物的朋友,抑或手持撬棒的即将行窃的歹徒;可穿戴设备和手机帮助我们识别出镜头中的任何物体并搜索出相关信息。更奇妙的是,它还能超越人类双眼的感官,用声波、红外线来感知这个世界,观察云层的汹涌起伏预测天气,监测车辆的运行调度交通,甚至突破我们的想象,帮助理论物理学家分析超过三维的空间中物体运动。

曾经,人类用眼睛记录了波澜壮阔的历史。未来,我们希望逐步开启计算机的眼,让它在看懂这个多彩的世界的同时,也能帮助人类更高效和智能的完成工作和生活。期待在计算机视觉和人类的共舞下,世界不仅有多彩,更有智慧。


作者简介:

微软亚洲研究院首席研究员 孙剑

精细化运营:友盟统计分析SDK 3.0版本发布 “锤子OS”功能猜测与罗式对比营销 神奇!1KB JavaScript代码编写的3D蜜蜂 顶尖技术人员“兜售”的顶尖编程语言、扩展工具等 移动阅读商业化:Flipboard支持用户DIY杂志 全球移动App:Top 52发行商排行榜 知新网CTO:从程序员的视角,实践精益创业 罗永浩锤子ROM:小团队的75项微创新 谷歌知识图谱扩展到Android平板电影中 云计算大战升温 服务器OEM押注OpenStack 如何将战略性的内容策略融入进网页设计中 数字天堂CTO:移动行业应用开发“潜规则” 众联智领CTO:从idea到面目全非的创业产品 CMDN Club 25期:knewone与路况电台的精益创业法则 Windows Blue的孪生兄弟?Office Gemini浮出水面 HTML5开发平台Ludei将支持3D游戏开发 《二战风云》发布至今,已为顽石互动狂赚2.7亿 腾讯开源基于HTML5技术的专业级图像处理引擎 AlloyImage Linux容器运行时Docker开源 360上线第三方漏洞收录平台 将现金奖励爆料者 UC推出iOS平台首个支持WebGL的浏览器 魔兽之父专访:今年游戏产业会出现一场革命 Instagram 5位传奇工程师背后的技术(PPT全译) Google云计算专家Jeff Dean与Sanjay Ghemawat获ACM Infosys基金会大奖 谷歌承诺不对开发、发行和使用开源软件的人专利诉讼 Web框架排行榜 Netty、Servlet和Vert.x位列前三 DARPA慷慨解囊的背后:Python与大数据的火花 研发周报:神奇!1KB JavaScript代码编写的3D蜜蜂 移动周报:65岁传奇Android工程师谈开发 “部落战争”开发商Supercell融资1亿美金 投资公司争先恐后 Kiip 90后华裔励志故事:从遭解雇到誉满全球 我需要全国IP分布表。 请问如何打印list control上的报表 前两天一直再问图像处理的事情,可是我用了很多方法后,还是少些什么!!就图像三原色处理来说... 为什么我的Linux只能打开国外的网站? 用resin时,“No tags”是什么错误!分必给! 热烈庆祝VBA开张! 请问在asp中如何读取/显示access数据库中的备注字段 紧急求救:在VC++里如何通过ATL OLE DB访问(INSERT\UPDATE\DELETE\SELECT)ORACLE和SQL SERVER里的BLOB字段内容? 高薪寻找西安的兼职UNIX程序 员 在delphi中,怎么调用api函数? www.alldas.de为什么无法访问了??? 如何检测被覆盖的窗口区域是否发生了变化? 高薪寻找西安的兼职UNIX 程序员 如何制作下拉菜单 请高手指点:好猫为何不工作? 一种设想,20台电脑5根电话线上网,如何达到较快的速度? 对话框程序调试时的问题?!!!! 请介绍几本好用的自学C语言的书籍好吗?? 紧急求救,请高手来看看 .NET和JAVA到底哪个好? 谁来救我?ISequentialStream::write()为何不好使? 定义类型的困惑 大虾们,如何做一个图标选择框!!!(详情见内) ADO编程问题求解!!!!!!!!!!! ****************简单问题,高分求救??????????????????????? 请问怎样在TabStrip中的选项卡中增加图片?谢了 工程如何能建的工整一些? www.alldas.de为什么无法访问了? 关于动态控件的问题 ADO编程问题求解 怎么编程产生1MHz甚至更高频率的周期信号? 紧急求助—有关JMail4.1附件问题 挥泪大送分!!!!! 怎样才能让自己变胖? 做个仅有对话框的应用,但想把它放到托盘, 给ASP爱好者提个建议! 关于SQLserver2000“视图“的两个问题,请教高手! 好久没上网了,送分以庆祝再回csdn!!!!! 做浏览器,如何实现 “后退”,“前进”,这二个功能? 如何使C:盘,D盘的根目录不共享? 用resin时,是否需要jdk,如何配置?分必给! SDI中的某一个子视图里怎样对主窗口的状态栏进行更改?? ◇◆◇ 失恋代表什么? ◇◆◇ 我英语不懂,想考高程.行吗 ◇◆◇ 学生生涯快完了,大家来说说对学生生涯的感受,特别是什么最深刻的! ◇◆◇ 求救!如何把SQL命令从前端应用程序传给应用程序服务器 要去招商行笔试了,有参加过的兄弟给点建议。 ###############讨论一下->微软全力推出.NET技术和C#语言的出现,VC++还有多久的寿命??? 要去招商行笔试了,有参加过的兄弟给点建议 如何发一消息,帮别人问的 高手帮助!!! 五年级下册口算题练习同分母分数的200~500道之间 张奶奶家养的鸡和鸭共150只,鸡是鸭的5 倍,问张奶奶家养的鸡和鸭个多少只 已知X1,X2 是方程-3X-4X+2=0的两根,求x1+x2=?x1x2=? 五年级下册数学口算400题 奶奶家养鸡,兔若干只,鸡比兔多20只,鸡脚比兔脚多4只,奶奶家养鸡,兔各几只? 已知方程3x的平方+4x的两根是x1、x2,求1/x1的平方+1/x2的平方的值已知方程3x的平方+4x=7的两根是x1、x2,求1/x1的平方+1/x2的平方的值用韦达定理, 苏教版,越多越好! 王奶奶家有鸡兔若感知已知鸡比兔多13只共146只脚,鸡兔各几只 若方程X平方-3X-1=0的两个根为x1,x2,则1/X1 + 1/X2的值为 新疆青年出版社的 养鸡场共养鸡兔176只,已知鸡脚总数比兔脚总数多214只,问养的鸡兔各为多少只?不用方程 设方程4x的平方-3x-8=0的两根分别为x1,x2求下列代数式的值(x1-3)(x2-3) x1分之2+X2分之2 (x1-x2)的平方 小学五年级下册数学口算题60道,帮帮忙今天就要! 奶奶家喂的鸡兔共有有20个头,52只脚.奶奶家喂了多少只鸡和兔? 设x1,x2是方程2x²-3x-3=0的两个实数根,则x1/x2+x2/x1的值为 (难点的) 设方程x^3+2x^2-x+3=0在复数集C中的根是x1,x2,x3,求一元三次方程,使它在C中的根是:1) 2x1,2x2,2x32) -x1,-x2,-x33) 1/x1,1/x2,1/x3 已知方程3x²-4x-2=0的两根是x1、x2求、x1²+x2² 2、1/x1²+1/x2²3、x1三次方+x2三次方. 五年级下册数学口算带答案 设x1,x2,x3是方程x^3-x+1=0的三个根,则x1^5+x2^5+x3^5的值为 已知关于x的方程3x^2-5x+a=0的两个根为x1、x2,且-2小于x1小于0,1小于x2小于3,求实数a的取?、 李奶奶养鸡.鸭共100只.把鸡的1/5卖掉后又买回8只鸭,现鸡鸭一样多,原来鸡鸭各几只? X1、X2为方程X²+3X+1=0的两实根,求代数式X1³+8X+20的值 已知关于X的方程3x^2-5x+a=0的一根分布在区间(-2,0)内,另一根分布在区间(1,3)内,求实数a的取值范围 李奶奶家养了鸡鸭鹅,其中鸡占25%,鸭与鸡和鹅的总数比是1:2,鹅有66只,李奶奶家养的鸡鸭鹅共有多少只? 已知方程3x平方+5x-2=0的两个根分别为x1 x2 求代数式x1+x2+x1乘x2的值 已知关于x的方程3x^2-6(m-1)x+m^2+1=0的两个根x1,x2满足|x1|+|x2|=2,求实数m的值 养殖场共养鸡鸭12000只,鸡是鸭的2倍,那么鸡鸭各多少只?式子是怎样列? 已知x1、x2为方程xˆ2+3x+1=0的两实根,求代数式x1ˆ3+8x2 20的值 设x1,x2是方程3x方-5x-7=0的两根.求(1)x1方+x2方=?(2)1/x1+1/x2=?(3)X2/X1+X1/X2=? 张大爷家的鸡卖掉1/3,鸭卖掉1/4,剩下的鸡鸭只数相等张大爷家养的鸡卖掉三分之一,鸭卖掉四分之一后,剩下的鸡鸭只数相等,已知鸡比鸭多45只,鸭有多少只?鸡卖掉三分之一,鸭卖掉四分之一后, 已知函数f(x)=3x的平方—x的2次方,求方程f(x)=0在区间【-1,0】上实根的个数已知函数f(x)=3的x次方—x的2次方,求方程f(x)=0在区间【-1,0】上实根的个数 设方程3x²-5x-7=0的两根,分别为x1,x2,求一.(x1-x2) 二.(x1-2)(x2-2) 刘奶奶家养鸡和鸭共150只,鸡的只数是鸭的5倍,刘奶奶家鸡和鸭各养多少只? 已知函数f(x)=3x次方+3x-8,用二分法求方程3x次方+3x-8=0在x∈(1,3)内近似解的过程中,取区间中点x0=2那么下一个有根区间为() 已知,方程3x²-5x-7=0的两个根为x1、x2(韦达定理)求|x1-x2|根据韦达定理x1+x2=-b/ax1x2=c/a 张奶奶家共养鸡和鸭150只,鸡的只数是鸭的5倍.张奶奶家养鸡和鸭各多少只? f(x)=三分之一x三次方+x方-3x,一、求图像在原点处的切线方程 二、求函数的单调区间 已知方程-x2+3x-m=3-x在x∈(0,3)内有唯一解,求实数m的取值范围 张奶奶家共养鸡和鸭150只,鸡的只数是鸭的五倍.张奶奶家养鸡和鸭各多少只? 已知函数f(x)=2x的三次方-3x的平方+3 若关于x的方程f(x)+m=0有三个不同的实根,求实数m的取值范围 若正数a为方程3x^2-5x+3=0的两个根x1,x2的比例中项,求a(我觉得3x^2-5x+3=0这个方程无解) 刘奶奶养鸡和养鸭共60只,鸭是鸡的20%.刘奶奶家养的鸡和鸭各多少只?要列方程, 已知函数f(x)=2/3x三次方-2x二次方-6x+1.求:曲线f(x)在x=0处的方程.求函数在区间〔-3,1〕上的最大...已知函数f(x)=2/3x三次方-2x二次方-6x+1.求:曲线f(x)在x=0处的方程.求函数在区间〔-3,1〕上的最大 设集合A={x1,x2,x3}={x|x^3=1,x∈C},则集合B={x1x2,x1x3,x2x3}(x1,x2,x3∈A)与A的关系是 刘爷爷养了160只鸭,养鸡的只数是鸭的八分之五.养的鸭比鸡多多少只? 已知x1,x2为方程x²+3x+1=0的两实根,则x1的三次方+8x2+20=__________________. 已知5a的y+5次方b的3x次方,与-4a的2x次方b的2-4y次方是同类项,则x= y= 王奶奶家养鸡20只,若养的鸡比鸭多4分之1,养的鸭有( )只? x1、x2是方程3x平方+4x-7=0的两个根,利用根与系数的关系,求下列格式的值(1).x2 x1 ( 2).(x1-2)(x2-2) (3).x1-x2__ + __ x1 x2 已知2a的y+5次方b的3x次方与2分之5a的2x次方b的2-4y次方是同类项则x=【】,y=【】 五年级下册数学口算题及答案 王奶奶家养了25只鸡和15只鸭.根据25*3/5=15这个算式编一道乘法应用题. 设x1、x2是方程是2x^2+4x-3=0的两个根,利用根与系数的关系,求下列各式的值:1、(x1+1)(x2+1) 2、x1^2x2+x1x2^2 3、x2/x1+x1/x2 4、(x1-x2)^2 五年级下册数学口算训练第45页答案【人教版】 1.张奶奶养了30只鸭,50只鸡,鸡是鸭的( )%,鸡比鸭多( )%2.一根绳子全长12米,剪去三米,剪去是剩下的( )% 1方程x^2+2x+1=0的根为X1= X2= X1+X2= X1X2= 方程x^2-3x-1=0的根为X1= X2= X1+X2= X1X2= 方程3x^2+4x-7=0的根为X1= X2= X1+X2= X1X2=由上述的你能得出什么猜想 你能证明你的猜想吗? 人教版五年级下册数学口算训练第9页答案,急用!~~ 王奶奶家养了25只鸡和15只鸭.根据25×3/5=15这个算式编一道乘法应用题和两道除法应用题,并写步奏解答 (1)方程x²+2x+1=0的根为x1= x2= x1+x2= x1x2= (2)方程x^2-3x-1=0的根为X1= X2= X1+X2= X1X2=(3)方程3x^2+4x-7=0X1=的根为X1= X2= X1+X2= X1X2= 由上述的你能得出什么猜想 ?你能证明你的猜想吗? 主
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn