相信你小的时候一定读过这样一首脍炙人口的小诗:“一去二三里,烟村四五家。亭台六七座,八九十枝花。”想象你就是诗中的主人公,走在迷人的乡间小路上,依次看到了烟雾、村庄、凉亭,还有一簇簇的鲜花,感叹风景美不胜收。这一切都离不开你的眼睛。包含眼睛在内的人类的视觉系统可以轻而易举地识别不同大小、形状、颜色的物体,由此联想的意象能让人轻松、愉悦。或许你觉得这是稀松平常的事——“百姓日用而不知”,没有什么研究的必要。可是,当科学家们想要设计一台可以同样“看”和“理解”当前景象的智能系统——计算机的时候,我们就不得不认认真真探究我们是怎么看的了。
我们是如何看并且理解事物的呢?这里“看”和“理解”其实是两回事,比如,你看到了一长串的陌生的诗歌,若无法理解它的意思,则无法感受其中的奥秘。
那么,光线在我们的眼睛中都经历了什么?
如图2-1所示,类似于小孔成像,角膜和晶状体一起将眼前的物体投影到视网膜上形成小的图像。之后,视网膜上的视杆细胞和视锥细胞将光信号转换成生物电信号,这些信号再由视神经等通过视神经管送到大脑分管视觉的皮层。最后,作为司令官的大脑就开始分析这些脉冲信号。
● 图2-1 人类眼睛示意图
大脑理解这些电信号是一个非常复杂、精妙的过程,为此神经科学家们做了很多实验和理论解释,取得了一定的成果。
大脑视觉皮层的V1层首先接收底层的信号,这一层主要是处理边缘信息。这也反映了边缘信息对我们识别物体的重要性。此外,这一层会处理一些微小的空间和颜色变化。处理后的信号被传递到V2层,这里有很多的功能和V1层类似,它主要负责处理物体的深度信息、前背景的区别和虚拟轮廓等。什么是虚拟轮廓呢?在图2-2中,一眼望过去,是不是都有一个轮廓呢?然而再看一眼就知道,这不过是错觉。V3层负责处理全局的时空信息,如物体运动的速度和方向。V4层会进一步识别物体的形状和纹理。V5层和V6层,则对更加复杂的运动和周围场景进行分析。当然上述过程进行了简化,真实的情况要比这里陈述的复杂得多。
● 图2-2 虚拟轮廓的例子
计算机可否模拟人类的眼睛看到并且理解事物呢?怎么设计这一套系统呢?
没错,或许你的第一反应是借鉴人的眼睛。这时候,我们才能感觉到一些习以为常的事物蕴藏着多大的奥秘,同时也才可以感受到我们的知识是多么的有限,难怪古希腊的阿波罗神庙上会刻“认识你自己”(know thyself)这样的箴言。事实上,从20世纪计算机兴起时,一些计算机科学家们和神经认知学家们就开始思考这一问题。它与解数学题的标准计算机程序不一样,它的对象,也就是图像——一个方格子一样的矩阵,比单个数字要复杂很多。而且不同场景下的图像仍可能对应一个类别,比如凌晨时分的芍药花和夕阳照耀下的芍药花的光泽或许大相径庭,但它们显然是一个东西,这样的例子数不胜数。计算机拥有自己的“视觉”,但要“理解”事物似乎比想象中难很多。
所幸,一批交叉领域的研究者们互相借鉴,已经通过数码相机的方式基本解决了计算机“看”的问题。照相机拥有一个凸透镜的镜头,类似于人眼的晶状体,来自物体反射的光经过照相机的镜头后会聚在感光器件上,形成倒立、缩小的实像。这个感光器件能衡量实像中各种光的强度,它的作用类似于人眼中的视网膜。现在比较流行的感光器包括CMOS(complementary metal oxide semiconductor,互补金属氧化物半导体)和CCD(charge-coupled device,电荷耦合器件)。实际上,CCD的发明者George E. Smith(乔治·史密斯)和Willards Boyle(威拉德·博伊尔)获得了2009年的诺贝尔物理学奖。数码相机正是使用了感光器件,将光信号转变为电信号,再经模/数转换后记录于存储卡上的。这就解决了计算机如何“看”的问题。
然而,构建类似人类大脑那样具备理解能力的系统就困难得多了。但是,经过人类科学家,特别是人工智能科学家的努力,目前的智能系统从某种程度上能够模仿人类视觉系统的理解能力。他们借鉴了人类视觉系统的分层特征,设计了人工神经网络模型。由于该模型对当前人工智能领域的发展起到了奠基石的作用,因此神经网络模型的主要贡献者Yoshua Bengio(约书亚·本吉奥)、Geoffrey Hinton(杰弗里·辛顿)和Yann LeCun(杨立昆)等计算机科学家获得了2018年的计算机领域最高奖——图灵奖。在底层的神经网络中,往往采用名为“卷积”的数学操作;而在高层的神经网络中,则使用“全连接”的操作 [5] 。这些操作都旨在通过挖掘变量与变量之间的关系来刻画融合所有这些变量所描述事物的本质。参考图2-3,可以看出,人工神经网络往往也在底层提取物体的边缘轮廓等信息,它们是局部的、具体的;越往高层,所提取的信息渐渐变为全局的、抽象的。其实,计算机视觉中也借鉴和引入了人类的“注意力”机制,就像你盯着当前的这行字,是否前几行的字在这一瞬间就变得模糊,无法看清了呢?这种“专注”有助于我们识别物体,事实上电影变焦镜头的广泛应用就是利用了人眼的这一特征,从而有选择性地提醒观众该注意的地方。
值得注意的是,尽管计算机视觉和神经学科联系紧密,两者彼此都有借鉴,但两者还是有很大的差别。即便是今天,在计算机方向下开设的计算机视觉课程也不把神经学下的人类视觉系统纳入选修的课程。事实上,人脑对视觉的实现远远比人工神经网络复杂,例如在计算机的视觉里,下一层的输入一定来自上一层的输出,它就像是严格的流水线上的产品生产一样。而人类视觉系统则存在V4层的输入来自V1、V2、V3层等的输出。
● 图2-3 神经网络在各个层级的可视化
最终,融合人工成像技术和人工神经网络技术,如图2-4所示,人类成功地让一台没有生命的机器能够像人类一样具备了“看”和“理解”的能力,尽管离真正的智能还有很远的路要走,但我们看见了胜利的曙光。实际上,近些年来计算机视觉作为人工智能的主要研究领域,也取得了比较长足的发展。受到强大的计算机硬件、庞大的数据集等要素驱动的影响,很多关键技术已经逐步被商用化,应用到日常生活中。例如,机场的刷脸进站、无人驾驶的试点、看图识花软件等都离不开计算机视觉技术。我们有理由相信,这些技术的进一步发展与应用将大大提高人类的智能化生产能力,极大丰富人们多姿多彩的生活。
● 图2-4 人类视觉系统和计算机视觉系统类比
南方科技大学副教授(研究员)。于英国谢菲尔德大学获得博士学位。曾在腾讯优图实验室任高级研究员,在美国匹兹堡大学和得克萨斯大学阿灵顿分校任博士后研究员,在中国科学院深圳先进技术研究院任研究助理及助理研究员。目前,在国际顶级杂志和会议上(包括 IEEE TPAMI / TIP / TNNLS 、AAAI、NeuIPS、CVPR、ICCV等)发表91篇学术论文,其中,高被引论文2篇;CCF推荐A类论文49篇。同时,是 IET Image Processing 杂志副编辑,是ACM MM 2020/2021领域主席,在多个国际顶级人工智能会议(包括CVPR、AAAI、IJCAI、NeuIPS、ICML、ICLR、KDD、ICCV)担任委员会成员,是10多个主流杂志(包括 IEEE TPAMI / TIP / TNNLS / TMM / TCSVT 、 PR 、 IS 等)的审稿人。在系统开发方面,获得了人机交互相关技术多项授权专利。其研究的人机交互技术曾被多家主流媒体报道,并实现了向华为、创维等企业的技术转化。主持相关科研项目8项,包括国家自然科学基金面上项目、优秀青年基金项目,中科院国家空间中心外协项目,联想研究院,腾讯数平、优图实验室,GF科技创新特区等。