机器人研究的核心是:导航定位、路径规划、避障和多传感器融合。有几种定位技术,那些不不在乎,只在乎视力。眼睛用在视觉技术上可以分为:单目、双目、多目、RGB-D,后三种可以让图像有深度。这些眼睛也可以称为VO(视觉里程表:单眼或立体)。维基百科给出介绍:在机器人和计算机视觉问题中,视觉里程计是一种通过分析和处理相关图像序列来确定机器人位置和姿态的方法。
如今,由于数字图像处理和计算机视觉技术的快速发展,越来越多的研究者使用摄像机作为自主移动机器人的传感传感器。这主要是因为原有的超声波或红外传感器传感信息有限,鲁棒性差,而视觉系统可以弥补这些缺点。真实世界是三维的,而投影在相机镜头(CCD/CMOS)上的图像是二维的。视觉处理的最终目的是从感知到的二维图像中提取相关的三维世界信息。
系统的基本组件:CCD、PCI、PC及其外设等。
CCD/CMOS
一行硅成像元件,具有设置在衬底上的光敏元件和电荷转移器件,可以通过电荷的顺序转移以分时和顺序的方式取出多个像素的文章信号。例如,由面阵CCD传感器采集的图像的分辨率范围可以从3232到10241024像素。
数字信号处理器
通常,图像是二维信号。一幅图像通常由512512个像素组成(当然有时也有256256个像素或10241024个像素)。每个像素具有256个灰度级,即38位,具有16M的红、黄、蓝颜色。一幅图像有256KB或768KB的数据(用于彩色)。为了完成视觉处理的感知、预处理、分割、描述、识别和解释,上述数学运算可以概括为:
(1)点处理常用于对比度增强、密度非线性校正、阈值处理、伪彩色处理等。每个像素的输入数据通过一定的关系映射到该像素的输出数据,例如对数变换可以实现暗区对比度扩展。
(2)二维卷积常用于图像平滑、锐化、轮廓增强、空间滤波、标准模板匹配计算等。如果使用MM卷积核矩阵来卷积整个图像,则需要M2乘法和(M2-1)加法来获得每个像素的输出结果。由于图像中像素较多,即使使用较小的卷积和,也需要大量的乘加运算和内存访问。
(3)二维正交变换常用的二维正交变换包括FFT、Walsh、Haar和K-L变换等。常用于图像增强、恢复、二维滤波、数据压缩等。
(4)坐标变换常用于图像的放大缩小、旋转、移动、配准、几何校正和从摄影值重建图像。
(5)统计计算,如密度直方图分布、平均值和协方差矩阵。在执行直方图均衡化、面积计算、分类和K-L变换时,通常会计算这些统计数据。
视觉导航定位系统的工作原理
简单来说就是对机器人周围的环境进行光学处理。首先摄像头采集图像信息,对采集到的信息进行压缩,然后反馈给由神经网络和统计方法组成的学习子系统。然后,学习子系统将采集到的图像信息与机器人的实际位置联系起来,完成机器人自主导航和定位功能。
1)摄像机标定算法:参考2D-3D映射。
传统的摄像机标定方法主要有Faugeras标定法、Tscai两步法、直接线性变换法、张平面标定法和翁迭代法。自标定包括基于Kruppa方程自标定方法、逐步自标定方法、基于绝对二次曲面的自标定方法和Pollefeys 模块约束法。视觉校准包括马松德三正交翻译法,李华平面正交校准方法
C.图像分割:RGB-HIS。
D.图像描述识别
3)定位算法:基于滤波器的定位算法主要有KF、赛义夫、粒子滤波、e KF、UKF等。
也可以用单目视觉和里程表结合的方法。以里程表读数为辅助信息,利用三角学计算特征点在当前机器人坐标系中的坐标位置,这里的三维坐标计算需要在延迟一个时间步长的基础上进行。根据特征点在当前摄像机坐标系中的三维坐标及其在地图中的世界坐标,估计摄像机在世界坐标系中的姿态。这就降低了传感器的成本,消除了里程表的累积误差,使定位结果更加准确。此外,与立体视觉中摄像机之间的标定相比,该方法只需标定摄像机参数,提高了系统的效率。
定位算法的基本过程:
简单的算法流程,可以基于OpenCV简单实现。
投入
摄像机采集的文章流(主要是灰度图像,立体VO中的图像可以是彩色的,也可以是灰度的),摄像机在T和t 1时采集的图像记录为It和It ^ 1,摄像机的内部参考是通过摄像机标定得到的,可以通过matlab或opencv计算为固定量。
输出
计算每一帧中摄像机的位置和姿态。
基本过程
获取图像It,It 1
对获得的图像进行变形处理。
通过快速算法检测图像It的特征,并通过KLT算法将这些特征跟踪到图像It 1中。如果被跟踪的特征丢失,并且特征的数量小于某个阈值,则特征被再次检测。
用RANSAC的5点算法估计两幅图像的本质矩阵。
通过计算的本质矩阵估计R,t
估计尺度信息,最终确定旋转矩阵和平移向量。
标签:图像视觉摄像机