通常,3D视觉系统多基于双高速相机及三角测量技术。现在,基于单高速相机系统、立体高速相机、结构光,条纹投影和飞行成像技术也可以实现3D测量。
双高速相机系统通常通过预先标定,能够获得更加精确的3D数据。通过三角测量技术,能够获得精确的3D点云数据,这个过程中,确认一个高速相机成像中的像素点在另一个高速相机中的对应位置尤为重要。这个问题也可以通过其他方法解决。Point Grey (灰点)提供了一种软件,它首先矫正每一对立体图像,消除镜头畸变。随后,通过一个拉普拉斯滤波器检测两幅图像的边缘,通过图像差分绝对值求和的算法寻找图像对的对应像素点。一旦确定了这些,就可以使用三角法来生成场景的视差图(图1)
图一: 直接利用相机软件可生成视差图
运动成像: 正如双高速相机系统可以生成视差图,单高速相机系统也可以通过运动成像技术(SfM: stereo from motion)生成深度图像。在这里,从一个高速摄像头拍摄的图像在一个位置上的对应关系进行了比较,从另一个位置和图像之间的对应关系。
首先使用特征检测器检测两幅图像或多幅图像间的特征点,如尺度不变特征变换(SIFT : Scale-invariant feature transform),加速鲁棒性特征(SURF: Speeded Up Robust Features)或光流技术。一旦找到特征点,可以通过卢卡斯奏跟踪器和特征轨迹提取跟踪特征点,重构高速摄像机运动模式及其三维位置。这种单高速相机3D模型可以应用在小型无人机上,将图像数据记录到它的板上的微SD卡上,然后再进行数据处理,以重建场景的三维模型。
阴影成像: 运动成像并不是单高速相机3D重构的唯一技术。在阴影成像技术中,光线从不同方向照向被测物,采用单相机进行拍摄多幅图像。通过比较这些图像的阴影差异,通过被照明物体的表面方向及纹理,可以获取物体表面深度图。
Keyence公司将这种技术应用到LumiTrax系统中,该系统从多个方向照明并拍摄被测物,通过不同图像间每个像素光强度的变化拆分物体的形状及纹理。
图2: 利用阴影进行3D成像
结构光: 正如立体高速相机成像系统依赖激光三角测量方法获取3D数据,高速相机也可以依赖结构光获取3D数据:一条窄带光被投射到三维物体表面,高速相机从另一个角度拍摄,可以获得一条扭曲的线,分析这条线的形状可以重构物体表面的三维信息。
目前,这项技术运用到了针脚检测、铁轨轨廓测量、道钉检测等项目中,并且能够提供一套集成化的高速三维测量方案,能够广泛应用于物体高精度的三维检测中,如物体表面异物检测、3D重构、物体尺寸检测等应用领域。
图3: 结构光3D检测: 铁轨轨廓检测及工件表面轮廓检测
低纹理: 尽管被动的立体视觉技术被广泛应用到机器人应用中,在一些低纹理区域立体匹配仍然会失败。为了克服这个缺点,一些厂商会在被测物表面投射结构光,为立体视觉额匹配提供参考点,实现更加精确的三维重构。
例如,在Tordivel的Scorpion 3D 检测系统采用830nm的近红外光和660nm的红光投射到被测物表面,从而为立体匹配提供参考特征。
条纹投影: 数字条纹投影仪投影了一组相移正弦条纹到被测物表面,用相机拍摄这组条纹的反射光,条纹呈现扭曲状态。通过这些数字条纹可以直接生成三维点云。
飞行时间: 3D飞行时间相机(TOF: 3D time-of-flight)采用脉冲光源或者连续调制波投射在被测物上。在脉冲光模式下,通过测量发射光和发射光之间的间隔时间可以计算深度信息。在连续波模式下,光源和反射光之间的相移以及距离被测物体的距离可以计算深度信息。
今天,一些公司已经开发出基于这些技术的产品,包括面阵列探测器,让距离和图像强度信息同时被捕获。例如,在real.iz-1k-vs视觉系统中,脉冲反射光被一个1280×1024的CMOS成像器捕获。Balser tof-6m TOF相机采用近红外脉冲LED照射被测物,使用松下640×480 CCD成像仪拍摄了捕获二维图像并进行深度计算得到三维图像。
图4: Bluetechnix的Argos 3D-P100 3-D相机采用近红外光照射,以160fps帧率160x120像素接收被测物深度信息。