视觉定位主要分为单目定位(单摄像头)与双目定位(双摄像头)。无论单目定位还是双目定位,在使用前均需对摄像机进行标定,即通过拍摄标准棋盘图像,计算修正矩阵,消除由于镜头引起的成像误差,而双目定位除了需要对摄像头本身进行标定外,还需要对两个摄像头的相对位置关系进行标定。单目定位运算量较小,但由于只能获取二维信息,通常需要在环境中加入特定的人工图标或辅以其他测量设备来完成定位,单目视觉定位主要通过对比前后两帧图像的变化来判断自身的移动情况,目前部分扫地机器人及无人机采用的都是单目定位技术。扫地机器人通过安装在顶部的摄像机拍到的天花板画面判断自身的位置,而无人机则是通过安装在底部的摄像机拍摄地面画面实现悬停及自动回归。
双目视觉定位精度比单目定位要高,其定位方式是首先对同一时刻两个摄像机拍到的图像进行分析,找出相同的特征点,所谓特征点是指颜色发生突变的点,之所以要找到发生突变的点是为了后续方便匹配。由于两个摄像机位置不一样,所以同一时间同一物体(特征点)出现的图像中的位置会有所不同,依靠颜色信息将其匹配,进而利用三角几何原理可以得出每一个特征点相对于摄像机的三维坐标。当摄像机位置或姿态发生变化时,前后两个时刻特征点相对于摄像机的三维坐标发生变化,正式利用这些变化,通过解方程得到摄像机当前的位置与姿态。双目定位方法在工业、探测机器人上使用的较为广泛。
视觉定位在定位的同时,还可以用来感知外界环境。双目视觉可以计算出外界各点相对摄像机的三维坐标,依靠这一信息即可构建观测到环境的三维模型。利用这一技术,面对陌生环境,只需使用搭载双目摄像机的车或机器人在环境中行驶一圈,即可得到整个环境的三维模型。如某化学工厂发生爆炸后,部分建筑坍塌,有毒原料泄露,此时救灾工作将变的困难异常,此时可使用搭载双目摄像机的探测车在工厂内行驶一圈,即可得到坍塌后的工厂三维模型,结合车上的其他探测气,可以获得整个工厂有毒气体浓度分布等的信息,将相关信息叠加在三维模型上之后,便可对整个工厂的情况了如执掌,这将使得后续的救援,重建工作可以高效安全的进行。
在机器人技术方面,视觉定位不仅可以使机器人实时定位自己的位置,也是帮助机器人完成日常工作的重要手段之一。当一个人想要伸手去拿面前的苹果时,我们的大脑在看到这个苹果的同时会判断出苹果与我们的距离,我们也就知道了手伸到多远可以拿到苹果。对于机器人也是如此,当我们命令机器人取一样东西,机器人需要利用图像识别技术去找到这样东西,之后利用两个摄像机定位该物体的坐标,然后通过电机控制机械手臂抓取该物体,最终利用自身定位信息返回我们身边。
在自动驾驶方面,双目摄像机在完成定位的同时,还可以感知其他路面及车辆信息,结合三维重建与图像识别技术,无人驾驶车可以自动识别出周围的行人、车辆甚至是交通指示线,计算机利用这些信息再结合汽车自身状态便可以确定行驶路线及速度并不断调整,保证与其他车辆、行人的安全距离,规避道路上的障碍物,以及按照交通规定行驶。