第1章 引言
1.1 何为“3D视界”
3D是Three Dimensions的缩写。与2D(Two Dimensions,2D)平面相对应,3D空间就是三维的立体空间。
提到“3D”,很多人的第一反应可能是电影院里的3D电影,游戏迷想到的或许是3D游戏。3D电影是利用人眼的双目视差特性,将两个影像进行叠加,从而产生3D立体效果;而3D游戏则是构建一个3D立体空间,其中所有的基础模型都是3D立体模型,游戏场景更加真实。这些应用侧重的是感官上的3D特效,而我们所说的“3D视界”,不仅包括这些,还涵盖了对客观存在的现实空间的3D度量,如设计师设计的各种家装3D模型,以1∶1的比例还原真实物体的尺寸。另外,很多人都玩过Xbox体感游戏,而Xbox游戏机的体感周边外设Kinect,实际上就是一种3D相机。除此之外,苹果手机的“Face ID”面部解锁、近些年发展迅猛的3D打印等都是典型的3D应用。
计算机视觉作为人工智能的一个分支,侧重的是视觉方面的研究,通过相机获取图像,然后利用计算机对采集的图片或视频进行处理,最终实现用机器代替人来进行测量和判断等。从20世纪50年代至今,计算机视觉已经有了几十年的发展历史。20世纪60年代,Roberts尝试通过计算机提取3D多面体,开始了对3D计算机视觉的研究;20世纪70年代,马尔计算视觉理论被提出后,各种计算机视觉的理论和方法不断涌现;20世纪90年代,计算机视觉得到进一步发展,尤其是多视几何理论的提出,极大地加快了3D视觉的研究进程;到21世纪,深度学习崛起,席卷了计算机视觉各研究领域。总体来说,目前计算机视觉的体系架构和理论方法都相对成熟,业界已经有很多进入市场的应用,如OCR车牌识别、人脸识别、行为分析等。
这些应用基本上都是基于2D视觉的,而在现实场景中,2D视觉技术存在一定的局限性,难以满足实际的应用需求。
首先是光照的影响。与3D图像相比,基于RGB图像的研究和应用更加依赖纯图像特征,所以在光照条件较差的情况下,效果都会非常差。这一点,大家在平时使用手机相机拍照时应该深有体会。
其次,2D相机无法直接测量物体的物理尺寸,通常需要一些额外的标定操作。基于2D相机采集的图像,可以检测一些平面的形状,但很难得到其他物理特征,如物体倾斜角度、物体位置、物体体积等。这一点带来的影响在后续的章节中会陆续提到。
此外,2D相机依赖目标之间的对比度,很难检测同色背景中的同色物体,无法区分具有相同颜色的物体。
还有一点是物体运动带来的影响。由于2D相机只能检测平面特征,当物体沿着传感器的光轴方向移动时,虽然可以通过时域特征和近大远小的特点检测到物体的运动,但无法精确获得其运动轨迹。同时,还存在另外一个问题,就是在识别物体时需要使用尺度不变的特征。
综合以上几个方面,我们可以发现,2D视觉技术虽然已经普及,但在实际应用时仍然存在诸多约束。而且,在本质上,我们所处的世界是立体的,仅使用2D视觉去感知3D世界显然是不够的,因此,3D视觉的应用十分必要。