日期
09/25
2018
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

基于视觉的AGV机器人障碍物识别
收藏
2018-09-25 17:11:12来源: 中国机器视觉网

   以车道标示线为道路边缘的视觉检测是AGV路径识别需要实现的基本功能。视觉导航式AGV是利用ccd摄像机采集地面铺设的条带状标示线,采用图像处理和分析的方式来获取导引车周围环境信息,这种方式是AGV识别系统中的核心技术。

   涉及内容:坐标系建立,车道模型分析,图像预处理等。下面重点对图像处理方面进行介绍 :
人们对车用机器视觉研究有一个基本共识:图像在获取、转换和传送中都会产生污染,不可避免的造成图像质量的降低,因此,首先应对视频图像进行预处理,然后进行阈值分割,再对路径进行识别与跟踪。
   视觉导航式AGV上车载摄像机获取的原始图像中除了包含可用信息外,由于受到环境限制以及加入的随机干扰,使得冗余信息多,可识别性较差,首先必须对原始图像进行预处理,流程如下:

   图像平滑是一种低通滤波技术,可以分别在频率域和空间域进行。
  (1)模板操作。
   模板操作实现一种邻域运算,即某个像素点的结果不仅和本像素灰度有关,而且和其邻域点的值有关。模板运算在数学中的描述称之为卷积。

  (2)中值滤波。
   中值滤波是将邻域中的图像像素按灰度级排序,取中间值为输出像素,属于非线性的空域滤波技术,是一种能去除噪声的同时又能保护目标边界不使其变得模糊的滤波方法。其原理是选取一个含有奇数个数像素点的移动窗口,将窗口的中心像素的灰度值用窗口内灰度的中值代替,从而消除孤立的噪声点,其数学表达式如下:

   其中,f(x,y),g(x,y)分别为原始图像和处理后图像,φ为二维模板,通常为2*2,3*3区域。

  (3)形态学修正。
   上述处理后的二值化图像中可能仍有少量零散点,而且黑色部分的边缘不是很清晰,存在毛刺和漏洞。对二值化后的图像进行数学形态学滤波实现局部背景平滑。数学形态学主要运算有形态和膨胀、形态差腐蚀、开运算、闭运算。
   腐蚀运算的作用是用来消除图像中小于结构元素的无意义边界点,使目标物体的边界向内部收缩;膨胀运算的作用是用来填补图像中目标物体的空洞点,使物体的边界向外部扩张;腐蚀和膨胀的复合运算即成为开运算和闭运算:开运算是对图像进行先腐蚀后膨胀的处理过程,能够消除图像中的边缘毛刺和孤立斑点;闭运算与开运算过程相反,填补图像中的漏洞以及裂缝。它们能对图像进行简单的平滑处理,并检测出图像中的奇异点。根据二值化的处理结果,我们需要把图像中的漏洞和毛刺去掉,并且保持原图像特征不变,因此可以对图像进行开运算以使黑色边缘清晰便于边缘检测。

   (4)导航标示线边缘检测算法
   边缘是指图像局部亮度变化显著的部分,是图像内像素灰度不连续,或灰度变化剧烈的点的集合。边缘检测的目的是标识数字图像中亮度变化明显的点,计算机视觉处理方法虽然不明显依赖于边缘检测作为预处理,但边缘检测仍是图像分割所依赖的重要特征,是图像分析的重要基础。常用的边缘检测算子有:

   (4.1)梯度算子:sobel算子,prewitt算子。
   (4.2)基于图像函数二阶导数过零点的算子:LOG算子,canny算子。
   障碍物识别研究:
   对于障碍物的识别,方法的选取是取决于周围环境以及对障碍物的定义。障碍物可以定义为在车辆前方行驶道路上具有一定体积的物体,道路上常见的障碍物包括车辆、货物、杂物等。
   障碍物识别技术中最关键的是检测、跟踪和定位技术。检测是指确认前方视野路径上是否出现障碍物,跟踪是指对选中的目标进行轨迹描述,定位是指计算出障碍物与自动导引车的实际距离。其中,检测是基础,跟踪是过程,定位是最终目的。

   空间目标的跟踪,是通过目标的有效特征构建模板,在图像序列中寻找与目标模板最相似的候选区域位置的过程,也就是确定目标在序列图像中的轨迹。在基于单目视觉的空间障碍物目标跟踪问题的研究上,一般有两种思路:

  (1)不依赖于任何先验知识,直接从图像序列中检测出障碍物,然后跟踪其中感兴趣的目标。
  (2)依赖于障碍物的先验知识,首先对可能出现的目标建模,然后在图像序列中实时检测出与模型相匹配的目标,然后进行跟踪。

   最常用的是第二种思路,因为障碍物存在于某一特定运行环境中,可以用含有有限元的完备集合来表示。对于这种跟踪方法,实现跟踪的第一步是进行目标检测,即从序列图像中将感兴趣区域从背景图像中提取出来。
   在目标跟踪过程中,往往需要采用搜索算法预计未来时刻某目标的位置,以缩小搜索范围。根据这个思路一般有两类算法:
   (一)预测目标在下一帧图像可能出现的位置,然后在这个相关区域内寻找最优点,常用的预测算法有kalman滤波、扩展的kalman滤波,粒子滤波等。
   (二)减小目标搜索范围的算法,通过优化搜索方向,利用某些估计的方法优化求取目标模板和候选目标之间距离的迭代收敛过程,缩小搜索范围,如均值平移算法算法(MeanShift算法)、连续自适应均值平移算法(Camshift)、置信区域算法。

   对于空间目标定位算法的研究,主要集中在获取场景中目标上的各点相对于摄像机的距离,这是机器视觉的主要任务之一,也是障碍物识别的最终目的。通过计算目标与摄像机的距离参数,就能得到目标相对于小车的速度,目标物大小等参数,更好的为控制的运行状态提供决策数据。这里我搜集了关于基于视觉移动避障的几种实现思路:
   常用的计算机视觉方案有多种, 比如双目视觉,基于TOF的深度相机,基于结构光的深度相机等。深度相机可以同时获得RGB图和深度图,不管是基于TOF还是结构光,在室外强光环境下效果都不太理想,因为它们需要主动发光,容易受到强光的干扰;基于结构光的深度相机,发射出的光会生成相对随机但又固定的斑点图样,这些光斑打在物体上后,因为与摄像头距离不同,被摄像头捕捉到的位置也不相同,之后先计算拍到的图的斑点与标定的标准图案在不同位置的偏移,利用摄像头位置、传感器大小等参数就可以计算出物体与摄像头的距离。对于AGV,双目视觉更加合适:

   双目视觉的测距本质上是三角测距法,由于两个摄像头的位置不同,就像人的两只眼睛,看到的物体不一样。两个摄像头看到的同一个点P,在成像的时候会有不同的像素位置,此时通过三角测距就可以测出这个点的距离。双目算法计算的点一般是利用算法抓取到的图像特征,如SIFT或SURF特征等,通过特征计算出来的是稀疏图。

   基于双目立体视觉的障碍物检测的关键在于两点①障碍物目标的提取,即识别出障碍物在图像中的位置和大小;②障碍物目标区域图像对之间的立体匹配点,从而得到障碍物目标的深度信息。前一步是后一步的基础,识别出来的目标可以是多个,在立体匹配得到视差之后才可以标志出哪些目标为障碍物目标。

   双目体视技术的实现可分为:图像获取、摄像机标定、特征提取、图像匹配和三维重建。上图中的光轴是近似平行的,在平行光轴系统中,双目视觉测距将三维场景中求目标深度的问题转化为求二维投影图像中求视差的问题。因此,像机模型就是将三维场景的点与二维图像上的点建立一一对应的映射关系。



为你推荐