仿制人眼,相当于仿制了人类的整个大脑?
眼睛是绝大部分生物赖以生存的重要工具,也是人类大脑伸出体表唯一的器官。同时,在自然界中把眼睛大致分为四种,蜘蛛眼相当于两万个像素分辨率的相机,昆虫的复眼自带立体视觉的功能,鹰眼能够准确的测量距离。利用这些特性,将仿生眼做成了产品,不仅可以做深度图,也可以进行三维重建。眼睛是怎么诞生的?和大脑有哪些联系?仿生眼都有什么功能?
出品:格致论道讲坛
以下内容为中国科学院上海微系统与信息技术研究所研究员张晓林演讲实录:
今天我主要讲一下我们团队在我们的领域得到的一些新的进展,首先,我们讲一下仿生眼。
因为眼睛是所有生物或者是绝大部分生物赖以生存的重要工具,可以说没有眼睛,绝大部分生物几乎无法生存,包括人类。
眼睛是怎么诞生的呢?
大家可以想象,在寒武纪,也就是在5亿多年前,有一个小的生物,它的大脑上长出了一颗感光的细胞。
因为有了这个细胞,它可以感知周围的环境,使它的生存能力大大提高。
随着进化,眼睛被越做越好,生物们的竞争更加激烈起来,也会产生两性,也就是说雄性和雌性之间可以互相追逐了。
当然在那之前也有两性,但是它们互相之间无法找到对方。
随着这些能力的进化,产生了寒武纪的生物大爆发,也就是在几百万年间,大量的生物出来。
当时的眼睛千奇百怪,有一只眼的,也有三只眼的、六只眼的,甚至有浑身都是眼的,最后慢慢进化成了现在的几种眼睛。
由于眼睛是从脑子里面出来的,所以人的眼睛也是一样,是大脑伸出体表的唯一的一个器官,我们的眼球其实就是大脑。
由于眼睛的功能极为特殊,而且它与大脑的联系非常紧密,所以要制作仿生眼,就要研究大脑。
因此我们说,仿生眼就是仿制大脑最精致的部件,因为仿生眼本身就是机器视觉。
但是为什么要把仿生眼与机器视觉做比较呢?
是因为现在的机器视觉,比如大部分的无人驾驶,或者是机器人,用的视觉基本上是主动式的,什么叫主动式的?
比如激光雷达是要射出一束激光,然后来测量它返回来时的时间,来测深度,因此激光雷达或TOF相机,或超音波雷达等,基本上都是主动式的机器视觉。
而仿生眼属于被动视觉,它是用自然的光,来测量对方的距离,测量它的颜色、位置等。所以说我们把仿生眼定义在了被动视觉的领域。
仿生眼的种类
虽然自然界中有很多种眼睛,但是大概也就分为四种。
首先一种,就是叫蜘蛛眼,应该说是比较完善的,视觉系统里面最简单的眼睛。
蜘蛛的眼睛有8只,前面4只,后面4只,所以全方位它都能看得见,因为它没有脖子,所以需要看见全方位。
而且蜘蛛的眼睛也都是一对一对的,所以我们把蜘蛛眼认为是和现在的相机,比如双目相机、多目相机一样的东西。
第二个是复眼,也就昆虫的眼睛,是自然界里种类最多的眼睛。
再往上更高级一点,比较有特点的就是鹰眼,老鹰的眼睛可以在千米高空看到下面的小动物。
所有这些眼睛里,最好的眼睛,即综合能力最强的眼睛,是人类的眼睛。
绝大部分动物的眼睛都是黑白的,它们看不到彩色,当然有些昆虫是有的。
人类的眼睛在进化的过程中,因为人类的大脑是最发达的,所以它的能力就各式各样,特别多。
下面这几张机器图,是我们团队制作的各种眼睛。
先讲一下蜘蛛眼,蜘蛛前面有两对大的眼睛,里面有两万多个感光细胞,相当于两万个像素分辨率的相机,而且是固定相机。
所以我们就把目前为止在行业上主要应用的立体相机,双目的或多目的相机,都称为仿生蜘蛛眼。
还有一种比较好的眼睛叫仿生复眼,复眼是所有昆虫都在用的眼睛,蜻蜓是昆虫里眼睛最好的,它有两万多个小眼,它的小眼是什么原理?
大家可以看上面的图,每一个小眼上都有一个小透镜,这个小透镜,让它可以把一束光打到它的焦平面上。
也就是说,焦平面上有一点,它就可以对应这个方向上的一束平行光,如果焦平面上有三点,它就有三束平行光。
蜻蜓的眼睛或果蝇的眼睛等等,基本上都有8个感光神经,就是每个小眼下面有8个感光神经,即有8束光。
如果把所有小眼中的每一个对应的感光细胞图像抽取出来,它就是一幅图像,如果有8个感光神经,就有8幅图像。
有8幅图像能够检测出不同方向的光,这样就可以做成一个视差,也就是复眼本身就带有立体视觉的功能,而这个功能,运算相对简单。
像昆虫这样没有太复杂的大脑的生物,它们也能有立体视觉的感觉,也能够让它们落在树枝上,也可以抓取猎物。
我们也模仿这种结构做了仿生复眼,比如在右上角可以看到,每一个小眼下面都有几个像素。
我们在普通的摄像机上贴上小型的微小镜头,目前为止,我们可以得到一个比较好的图像。
但是问题来了,我们无法做球形芯片,因为现在的芯片全是平面的,所以这一个仿生眼只能看到这一面光束,这是不够的。
如果想要散开,和普通相机一样,有大一点的视场角,那就一定要有球面的芯片,现在做复眼的环境,没有完全成熟。
下面我们再讲一下鹰眼,老鹰的眼睛和人类不太一样的是,它有两个中心视。
也就是人眼看中间看得清楚,而旁边是有点模糊的,不是很清楚。
但是老鹰的眼睛有两个中心视点,一个叫深的中心视,它可以看很远的地方。可能人视力有1.5,就算是视力好的眼睛了,它可能是十或者几十也说不定。
还有一个浅的中心视,它有两种方式,大家可以看下面这张图。
当鹰在高空盘旋时,它用一只眼睛看底下,即用深的中心视看,如果看到下面有猎物,比如有小老鼠,它就开始盘旋下来。
快到底下时,离猎物近了,它就开始用两只眼睛看,这时是用浅的中心视看,这时它会走直线,能很准确地抓到猎物。
因为用两只眼睛看,它就会有深度,所以能准确地测量距离。
再详细一点,可以看这样的图。
右上图可以看到深的中心视,上面是两个斜线,这两个是拼在一起的,也就是说深的中心视是无法形成立体视的,所以它看什么东西都用一只眼睛看。
大家看到,鸡看你时,它是侧着脸看你,而它用浅的中心视是可以做立体视的。
我们做的仿生眼的相机也是一样的,广角的是两只眼,望远的或者变焦镜头是一只眼。
这整个头是可以动的,刚才看到的图也是这样,无论下面怎么晃,上面是非常稳的。
大家也看到过那种视频,就是鸡的身体怎么晃,头都是不动的。
当然我们现在做的这个鹰眼,它只是姿态,三个自由度,而人的脖子有7个颈椎,平移也是可以的。
所以人如果愿意,头可以不动,身体动,但是人类的脖子太短了,而鸟类的脖子比较长,无论怎么晃,上面都是可以稳的。
最好的眼睛还是人眼,因为人的大脑好,我回国后,花了7年的时间,终于把仿生眼做成了产品。
眼睛是大脑的一部分,所以只有一个眼球是什么也看不到的,因为视觉传感器和其它传感器不一样。
比如温度传感器,把温度信号提交过来,我就知道了,如果是触觉上的力觉传感器,一个力过来我就可以知道了。
但是视觉不一样,因为图像过来,你不知道是干什么用的,必须要做非常复杂的处理才行。
眼睛包含大部分的大脑
所以眼球几乎牵扯到大脑的所有部分,也就是说眼睛就完全包括整个的大脑,它相当于一个脑系统。
如果把眼睛做好了,就是把整个大脑都做好了。
通过眼睛的视觉进来后分两块,一块进入到上丘的地方,还有一块进入到后脑的地方,叫枕叶,它叫视觉初级皮层。
进入这两个地方后进行处理,处理后的结果又反馈到脑干上来控制眼球,脑干有控制的系统,这个控制如果是要做微调,或者做更好的效果,小脑又有帮助。
小脑直接牵扯到人眼的控制,它是一个万能的学习控制系统,然后在大脑里面,又往上走,走到顶叶、韦尼克区、布罗卡氏区,再往前面走就是额叶前区。
额叶是做决策的,再到顶叶,就是脑顶端,去做运动规划,这一套系统做出来,我们的眼球就可以动了,而且同时还可以控制我们整个身体的运动。
我们把这个过程画成了一个方框图。
首先,脑干包括中脑、脑桥、延髓,中脑的上丘被我单独分离出来了。
主要的脑干的系统做了一个最基础的运动控制系统,这也是最原始的大脑的眼睛运动控制系统。
因为很多动物没有大脑小脑,仍然能满地跑,所以眼睛基础控制基本上是在脑干上。
脑干这一部分的控制特性是比较独特的,我们当时发现脑干上的信号都是做交叉的,这个交叉产生的作用就叫做协调运动。
也就是它把人的两个眼球一起运动的部分和相对运动完全独立分割开来做,左边这个是普通的控制方法,两只眼是单独控制的,右边这个是仿生眼的协调运动控制方法。
不一样的是,普通方法,当你遮住一只眼,看见它停了,然后再给它两个球的时候,眼睛是会乱的,就是有时会各看各的,因为两个球完全一样。
但是仿生眼不会,你遮住一只眼,它会一起走,然后再给它两个球,它也不会乱,当然它还可以对眼,还可以辐辏。
脑干上还有一个很重要的特点,就是它把所有信号都统合在一起了。
所以我们的眼球可以做跟踪,也可以做切换运动,即高速的跳跃运动,也可以防震,底盘的防抖等功能都可以。
它能够把所有的控制系统都融合在一起,这也是脑干很重要的提示。
上丘是中脑后面的一个部位,中脑后侧有4个球,有4个鼓包,上层的两个鼓包叫上丘,这个是低等动物的中枢决策器官。
低等动物没有大脑小脑,它主要的命令器官就是从上丘来的,所以人类现在还保留着上丘,它控制眼球的跳跃运动,即眼的目标切换。
也就是说人无论怎么跑,跑得多快,或者骑着摩托车,或者开飞机,依然可以想看谁就看谁。对方也在跑的时候,在好几个人中,我想看他也可以看。
高速跳跃、高速的控制,就是从上丘发出来的,为什么上丘会有这个功能?
其实这两个不是完全匹配的,右边是人的视网膜,左边是猴子的上丘,猴子上丘的中层,有一个地图和视网膜是一一对应的。
也就是说如果在视网膜上,用光来刺激某一点,在上丘上与它对应的这一点的神经细胞就开始兴奋。
它会带领周边的神经细胞兴奋,眼球就转了,把刚才刺激它的光斑放到视觉中心,也就是中心视这个位置,或者叫作中心凹,或者叫黄斑,就把这个位置对准了。
这个运动控制精度非常高,准确率也非常高,人的大脑能够控制眼球就是因为这一点。
其实眼睛是一个完全自动的系统,外部只给它一个位置命令,看哪的命令,迭代性眼球运动控制是一个很简单但效率非常高的控制系统。
这个眼球在快速转,这也是仿生眼的很重要的特点。
买到手机或者相机的稳拍系统,人拿着它动,它上面也是稳的,但是一般这种系统不能快速运动,因为它的马达力量不够那么大。
因为马达力量一旦变大,或者电机一变大,控制就会变得非常复杂,所以我们就把快速运动加在里面。
小脑的结构看起来和大脑完全不一样,它是分离出来的,大家觉得大脑好像是万能的,什么都能干,其实不是。
能控制身体的各种运动的是小脑,大脑是做不到、做不好的。
现在搞小脑研究的不是很多,人工智能神经网基本上是关于大脑的。
当时是用猫的视觉皮层的拓扑结构,做了数学模型来模拟,产生了现在的神经网,有大量的研究出来,小脑这块的模型没有做成功。
小脑上一共就有5种细胞,而且它的结构非常一致,就是非常规则。
所以按道理讲,做小脑模型不是一个特别难的事情,不知道为什么,大家做不出来。
我们也做过,而且做了好多年,试图把小脑的结构做成神经模型,虽然能有些许效果,但是效果不是特别好。
我猜有一个很重要的原因,就是我们无法把积分、微分这些与时间相关的要素加到神经模型里,怎么加进去是一个难题。
我一直认为,可能要在频域做这件事,但是有一点大家是有共识的,就是小脑的学习系统在整个控制系统里面的位置是定的。
这样一个构成,也就是右侧这个前馈系统和反馈系统中间,可以加一个学习功能系统,这个学习功能只要做得好,所有东西就都可以控制了。
现在我们控制机器人都是钢体的,钢体强度越强,精度越高,但是精度越高,它要求钢体越强,就越重,这就是互相矛盾的。
所以我们做挖掘机就做不到太完美,做不出来像人手臂这样完美的东西,其实和控制有很大关系。
大脑视觉皮层的位置
我们视觉的主要处理系统是在大脑的视觉皮层上,这个位置的主要功能有很多,比如特征抽出、匹配、检测、分类等。
再细分一下,就是大脑可以分成四大块,最前面的叫额叶,就是脑门这里,上面是顶叶,后面是枕叶,再到颞叶。
再细分的话,是有52个区,有小区,当然还可以再细分,每一个区的功能不一样。
比如枕叶,这是我们视觉处理的基础处理的地方,把图像变成各个有意义的东西,例如桌子、地面、椅子、电视等,它把它们分类。
视觉皮层上两侧的,就是耳朵的听觉方面的处理,这两个处理做成一个抽象的信息后,进入顶叶,在顶叶做更进一步的分析。
然后传到额叶做决策、做判断,再回到顶叶做身体的控制,运动规划。
这是猴子的大脑构造,就是它的视觉皮层,也就是枕叶这个地方还有几个区,比如V1、V2、V3、V4,其实还有V5没画出来,还有MT这些特征。
我们可以逐步给这些特征分类,比如V1就是做边缘的,做视差计算的。在V2这里,局部的纹理,边界界定,相对视差等。
其实这些功能,我们在视觉领域搞视觉研究或者图像处理的人,已经有类似的可以匹配的地方,叫做特征线的提取与匹配。
当空间上的一个图像进来后,有一种特征点和特征线的抽取方式,因为点和线的特征比较强烈,所以它很稳定。
我在不同角度都能看得到,就能抽得出来,这样有什么效果?
我根据空间上的这些点,就能反算出自己的位置,反算出自己的坐标。
所以可以根据右面那些空间的特征点、特征线,反算出自己摄像机的位置,这个摄像机是怎么走的、轨道是怎么样的就出来了。
当然轨道生成是另一方面,至少特征点、特征线,应该是在枕叶最基础的V1领域做的。V1领域和V2领域还有别的特征,比如边缘的抽出。
下面就是上面这张图的边缘抽出。
同时它还有远近测量的功能,把空间所有点的深度距离算出来,叫视差图或深度图。
红的是近,蓝的远,然后再把它的颜色贴上,就是三维图了。
在计算机的坐标上,每个点是三维的,再走到V2这一块,可以看到上面的V2是局部纹理、边界界定、相对视差等。
我们在图像处理上就叫做语义识别,也就是把空间的各个东西都分离出来,墙是墙,地面是地面,门是门,然后它再把语义分离出来。
场景分割等这种图像处理的术语和脑袋里V2的功能比较对应,这些都是生理实验做出来的。
V3就更近一步了,这里面就有方向的选择或初步的运动加工,还有语义分割、光流,它和图像处理里面的语义分割或光流的检测很接近。
我们在光学上也做了实验,这都是我们实验室的研究结果。
亮度代表它的速度,红色代表向右,蓝色代表向左,它把一个图像上的所有点都用速度来显示,这个就叫光流,我们在大脑的V3领域做这件事。
还有进入到更深一层的,就像V4里面就有高度分化,有曲率还有颜色等,这些我们在图像处理里面,就可以分成实例分割或语义识别。
什么叫实例分割、语义识别?
这和刚才是类似的,但是刚才只是把它变成性质了,比如墙或人等。
我们这里就是要把每一个人分离出来,也就是这个人走了一会后,不能把他再当成别人,要知道这和刚才的是同一个人。
所以它把空间上有用的东西、我们想要的东西抽取出来,这叫做实例分割。
再往下就是MT的功能,可以看到它这里处理运动的、处理深度的、处理控制的,实际上它就可以做风格检测了。
因为有了这些处理结果,就可以做目标检测,做深一层的跟踪。
其实我们很早就做过这一块,这应该是十五六年前的视频了,它跟踪你的脸,你走近它就退,你退它就追,保证一定的距离,这就是当时图像处理的一个机器人。
再往下,就是大脑这部分,其实大脑的颞叶里有一个海马体,这个抠出来的图案就像一只海马,所以我们叫海马体。
这一块是做位置记忆的,做地图、做环境的。
这张图是一位诺贝尔奖获得者做的,他把海马体的性质研究出来后发表了论文。
就是说海马体上有位置定位的细胞,也有头部方向的细胞,也有分界线的细胞,都是一一对应的。
这就是我们常用在机器人机器视觉上的,这是一个小机器人,它的速度比较快。
它跑一遍,眼睛所看到的地方都能做出立体图,然后把它们拼接在一起,最后就会形成一个整体的图像。
整体图像出来后,我就可以命令这个机器人到什么地方去,这个图像做成后还可以上传到云端,传给其他机器人,其他机器人就不需要再做了。
它也能行走,可以避开障碍物,也可以做轨道生成,这一部分有些功能就相当于脑袋顶叶的行动规划,这一部分合在一起了。
现在我们再往上走,就走到顶叶和前额叶,基本上就可以看到关于一般性理解的运动语言还有逻辑分析和决策。
这个其实是我们现在研究上还比较弱的地方。
猴子的上一层就相当于我们的视觉皮层,即枕叶到顶叶接触的,这一部分的各项功能在里面也是一一对应的。
这个一一对应的地方,我们在搞人工智能和图像处理时也是有的,比如我们现在做的注意焦点显著性等。
人注意到什么地方,或者说机器人或仿生眼它看哪个地方感兴趣,它去看才行,这个总不能用人来控制它。
它对哪个地方感兴趣,首先它要把语义分割、实例分割等检测出来,同时它又要知道自己的位置,然后再看到对方的速度,也就是光流。
经过它的综合判断,觉得什么地方该去看,什么地方危险或什么地方重要,它要去看。
这里面的热力图代表的是它感兴趣的地方,这也是一个比较深层次的研究。
再往下走,叫做机器人的意识空间,我们常说,看电视、看电影让人失去想象的空间。
其实我们看小说时,比如看《三国演义》,看关云长千里走单骑,脑子里会有这种空间的想象,现在看了电视后,这种想象就差了。
但是这种想象,我们要在机器人里做,这就叫意识空间。
这些意识空间是带有物理特性的,这个小熊或者苹果都是有质量的。还有各种摩擦系数等功能。
这种模型或者叫物理模型搞的人不是特别多,我国做的比较少,刚才的所有视频和图片都是我们实验室做的。
但唯独这一个,是我们请日本来的一个兼职教授做的,他花了20多年的时间。
我也非常希望我们中国的年轻人,将来会花10年、20年的时间坚持做一件事,把这种比较有深层次的、有理论基础的东西做好。
如果有了物理空间在机器人头脑里,那么它就可以有一个想象空间,它就可以做物理推演。
什么叫物理推演?
比如我们做下棋,下围棋、下象棋,你下不过机器人了,因为每一个棋子的推演,机器人比你看得更远,看得更广。
但是物理推演还差,比如让机器人踢足球,它们踢不过人。
就是说机器人怎样在看到对方的球员和自己球员的位置和行动速度,再加上球的运动速度时,来推测出自己在什么位置最好,应该怎么做。
这种物理推演,如果我们意识空间做得好,将来人也会比不过机器人。
还有一个非常重要的机器人比人强的地方,那就是云脑,即需要时间考虑的或者需要大量数据的,都可以弄到云上去。
因为云上可以有大型计算机,有大量的数据,所以我们现在做云脑,就是我们可以给它各种东西看,或者它自己走。
通过语义分割、语义识别等功能,它自己做信息,我们叫做知识图谱。
然后再让它干什么时,它就可以根据自己得到的知识做判断,这就是云脑的功能。
仿生眼的产业化
我们做产业化做得比较久,最开始是做3D拍摄,因为3D拍摄的两个相机的位置要和人眼一样,人看了才不会晕,效果比较好。
我们做完后,发现这个市场没有了,因为现在的3D拍摄都用2D转3D,电视机的3D也没有人搞了。
但是我估计,将来3D的头显出来后,这个产业还会再重新发展起来。
再一个就是我们做的仿生眼最近开始销售,主要是对应搞研究的人。
这个仿生眼的两只眼睛动,它可以做左下角的深度图,也可以做三维重建,比如语义分割和显著性。
能够做深度图的可动的眼睛,现在我们在国际上还没发现有别人做出来,这是我们一个很大的成果。
我们这个仿生眼也可以做导航,右边就是我们抓的一个固定好的双目。
我是震动着走的,这时的图像不仅模糊,下面的轨道也是很乱的,有时就看不见,断了,它要靠IMU 陀螺仪加传感器来接续。
但是左边就是用了仿生眼,这个仿生眼无论被怎么晃,图像都非常稳定,所以效果也非常好。
我们在产业上,比如新松机器人的一个获奖的产品,就是用了我们的机器头脑、仿生眼。
右边是我们自己在做的机器人,带机器头脑和眼,上海市给了我们一个比较大的项目做机器头脑。
这块就是无人驾驶了,现在做自主行驶机器人,在无人驾驶领域肯定会有很大的用处。
因为现在无人驾驶的双目都是固定的,固定双目有个最大问题就是当车平稳地走时没问题,一遇到颠簸,图像马上就模糊了,它就看不到了。
当然人眼不会出现这个问题,当你摔跟头时,双眼看得很清楚。
视觉系统必将引发机器人寒武纪的到来,生物的寒武纪是生物的眼引起的,视觉系统一定会引起机器人种族的寒武纪。
也就是说如果眼睛做好了,我们的机器人就会满地跑了。
“格致论道”,原称“SELF格致论道”,是中国科学院全力推出的科学文化讲坛,由中国科学院计算机网络信息中心和中国科学院科学传播局联合主办,中国科普博览承办。致力于非凡思想的跨界传播,旨在以“格物致知”的精神探讨科技、教育、生活、未来的发展。获取更多信息。本文出品自“格致论道讲坛”公众号(SELFtalks),转载请注明公众号出处。