- 06/08
- 2018
-
QQ扫一扫
-
Vision小助手
(CMVU)
想过没有?为啥大多数生物都有俩眼睛?
人为什么有两只眼睛?
人类的两只眼睛,分别位于鼻子两侧,相距大概6cm,因此,双眼看东西的时候视野是要大于单眼看东西。
由于两只眼睛看到物体的视角也是有所差别的,大脑会根据左右眼分别获得的不同图像进行融合,然后产生立体视觉,可以更好的判断物体的深度、距离等。
为什么要用两只眼睛看东西?只用一只眼睛不行吗?答案是:真不行。
有的人通过一只眼也可以获得一定的深度信息,不过这背后其实有一些容易忽略的因素在起作用。
一是因为人本身对所处的世界是非常了解的(先验知识),对日常物品的大小是有一个基本预判的(从小到大多年的视觉训练),根据近大远小的常识确实可以推断出图像中什么离我们远什么离我们近。
二是人在单眼观察物体的时候其实是晃动的,相当于一个移动的单目相机,这类似于运动恢复结构(Structure from Motion, SfM)的原理,移动的单目相机通过比较多帧差异确实可以得到深度信息。然而效率嘛,啧啧……
事实上,地球上的生物绝大多数都是两个眼睛。对于三维世界的它们来说,有两只眼睛即可进行准确定位。多了没必要,增加负担,少了不行,看东西没有距离和立体感,容易被捕食或者找不到吃的,所以除了人以外,野生动物几乎没有独眼的,因为根本生存不下去。
仿生学缔造的立体相机
双目立体视觉是基于视差原理,利用相机从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。简单来讲,就是模拟人类的双眼去获取图像。
在3D感测方面,立体视觉与人体视觉的工作原理类似。首先需要识别多个摄像头所拍摄的某个物理场景中某点的相应图像像素,之后通过三角测量确定某点的3D坐标。识别出的相应像素越多,能够使用单一图像集确定的3D点便越多。相关立体法旨在获得立体图像中每一像素的相应像素,从而获得每个立体图像所产生的数以万计的3D数值。
用途多样的多目相机
蜘蛛,就是自带“多目相机”的杰出代表。除了少数洞穴种无眼蜘蛛外,绝大多数蜘蛛都是有视力的,但视力只能达到感受光线强弱的程度,数只眼的配合还可有助于感知一定范围内的猎物移动。
一只萌萌的跳蛛科蜘蛛。注意看它的大眼睛,实际上在两侧和后面各有一对眼睛,从而构成了“8台相机的全景立体视觉”。
复眼由许多单个晶体组成.单个成像单位称为"小眼"。复眼中的小眼面一般呈六角形.小眼面的数目、大小和形状在各种昆虫中变异很大。家蝇的复眼由4000个小眼组成,蝶、蛾类的复眼有28000个小眼,蜻蜓为单复眼,其晶体达1万个。
复眼能同时处理图像,每个晶体传送自己的信号给大脑。从而使它们快速发现目标和图像识别,这就是为何苍蝇很难打得着的原因。
同时小眼周围有各种感光细胞,复眼中的小眼越多,越能辨别更多的物像、颜色和人眼不可见光。这也是为什么蜜蜂能够看到紫外线的原因。
一只家蝇比较倒胃口的复眼结构。
一家公司受此思路启发,推出了一款拥有16个镜头的数码相机。每一个模块都能以不同的焦距拍摄不同的图像,而所有图像拼合起来就成了一张5200万像素的大照片。你拍得的照片还可以在后期通过软件调整焦距,控制景深,就如同光场技术一样。