Indoor obstacle detection system based on monocular vision and ultrasound applied to an intelligent car
-
摘要:
提出一种基于单眼视觉和超声波测距的树莓派智能机器人车检测静态和动态障碍物的方法. 采用改进的单眼视觉障碍物检测算法,对室内的静态和动态障碍物进行轮廓检测,并利用超声波传感器测量机器人车与障碍物之间的距离. 针对静态障碍物检测,在图像预处理阶段引入图像增强,并通过HSV图像提取不同障碍物颜色特征,以提高障碍物轮廓标定的效率和准确率. 针对动态障碍物检测,结合背景差分与3D图像显示技术实现动态目标捕捉,并设置距离决策模块记录障碍物位置信息. 试验结果表明,该方法可有效减少障碍物检测的平均消耗时间以及障碍物位置信息的错误率,提高室内障碍物检测的效率和准确性.
Abstract:A method based on monocular vision and ultrasonic ranging for the intelligent Raspberry Pi robot for detecting static and dynamic obstacles was proposed. An improved monocular visual obstacle detection algorithm was applied to perform contour detection on indoor static and dynamic obstacles, the distance was measured between the robot car and obstacles with an ultrasonic sensor. For static obstacle detection, image enhancement was introduced in the image preprocessing stage, and different obstacle color features were extracted through HSV images to improve the efficiency and accuracy of obstacle contour calibration. For dynamic obstacle detection, background difference was combined with 3D image display technology to achieve dynamic target capture, and a distance decision module was set up to record obstacle location information. The experimental results show that the method can effectively reduce the average consumption time of obstacle detection, and improve the accuracy of indoor obstacle detection.
-
随着智能机器人技术发展,室内移动机器人技术受到广泛关注. 对于移动机器人,在复杂的室内环境中准确识别障碍物是一项关键技术. 在室内障碍物检测技术中,基于视觉的移动机器人自主导航是室内模式识别研究的热点[1]. 地面障碍物的检测和测量是机器人自主行走的关键,也是后续避障和轨迹规划的基础[2]. 目前,基于视觉信息的障碍物检测方法主要包括基于边缘的检测[3]、基于光流场的动态检测[4]、基于立体视觉的深度图像分割检测[5]、基于障碍物颜色信息分割检测[6]以及基于图像增强以消除阴影的障碍物检测[7].
基于边缘检测提取障碍物的优势在于可以很好地检测障碍物的边缘,但是容易受到地面阴影、裂缝和噪点的影响[3]. 基于光流场的动态检测的优点是对动态目标及其运动状态的检测非常好,但不适用于静态障碍物的检测[4]. 基于立体视觉的障碍物深度图像分割检测虽然可以根据障碍物深度图像进行检测,但是在光照不均匀的情况下,障碍物的低纹理区域和深度具有不连续性,无法获得更好的效果,并且不能进行很好地实时检测和测量[5]. 基于障碍物颜色信息分割检测虽然可以根据RGB颜色信息对图像进行分割,但在阴影严重且灰度不均匀时,无法准确提取地面上的障碍物[6]. 通过图像增强消除阴影,然后检测障碍物的方法虽然可以获得更好的效果,但由于需要手动确定边界比例参数而缺乏适应性,该方法易于过度增强或增强不足,并且在消除阴影的同时会丢失部分颜色信息,从而减少地面之间的灰度差异导致障碍物无法被检测到[7].
现今有许多非可视测距方法,如红外测距[8]、超声测距[9]和激光测距[10]. 与基于图像处理技术的视觉检测相比,非视觉测距方法具有较强的实时性和较少的数据计算量. 就目前的视觉测距方法而言,基于双目视觉的测距算法被广泛使用[11-13]. 尽管通过视觉图像处理方法可以有效地检测出障碍物与摄像机之间的距离,但是它们大多是针对环境中体积较大、深度特征明显的障碍物. 而室内环境中小障碍物靠近地面,如房间中躺在地上的水瓶、凳子,散落在地面上的纸箱,甚至掉在地上的书本都很难被发现,这些小型障碍物会极大地阻碍移动机器人的移动,而且在移动机器人上使用双目视觉技术也会增加机器人的负担,使检测障碍物变得更加困难.
单眼视觉所见的图像是二维的,并且二维图像信息无法表示三维空间的深度. 此外,单眼相机只能检测到横向动态障碍物或具有横向位移的障碍物的感兴趣区域(Region of Interest,ROI)信息,并且无法完全获得场景中障碍物的深度信息[14]. 因此,对于障碍物位置信息和纵向动态障碍物,建议使用单眼视觉结合超声波测距来消除该缺点. 单眼视觉用于检测静态和动态障碍物,超声波测距传感器用于测量静态障碍物的位置信息或动态障碍物中纵向障碍物的位移信息.
本研究提出一种结合单眼视觉和超声传感器的智能障碍物检测系统,并集成相关技术以提高室内障碍物检测的效率和准确性.
1. 检测系统概述
室内障碍物检测通常分为静态障碍物检测和动态障碍物检测. 本研究提出的系统整体框图如图1所示. 第1步是通过单眼相机实时拍摄室内场景并读取视频流中的帧. 第2步是进入室内障碍物检测系统:在静态障碍物检测系统中,首先输入图像,然后对图像进行预处理,再对不同障碍物的特征进行提取,最后标记室内障碍物;在动态障碍物检测系统中,首先输入图像,对图像进行预处理,然后检测动态目标障碍物,最后标记并跟踪障碍物. 第3步是通过是否检测到障碍物来确定是否输入了第4步的位置信息记录(由于超声波测距是实时的并且数据是实时更新的,为获得障碍物的特定位置信息,有必要在检测到障碍物时定义某个响应模块以记录障碍物位置数据),否则,直接跳到第1步,继续拍摄单眼相机场景. 第4步是输出检测到的室内障碍物的图像信息和位置信息.
2. 障碍物检测模型及算法
障碍物识别的前提是先定义周围环境以及障碍物. 障碍物定义为阻止机器人正常移动并具有一定体积的物体,以及移动机器人要跟踪的其他物体和目标. 室内环境中常见的障碍物包括杂物、水瓶、移动的人等.
障碍物检测是室内障碍物识别技术的基础,目标跟踪是过程,室内定位是最终目标. 本研究的重点还在于检测障碍物是否出现在机器人前视图的路径上,以确定是否继续进行下一步. 结合超声波传感器用于测量障碍物与机器人之间的距离,以实现移动机器人的相对定位.
室内障碍物的检测分为两个主要模块:静态障碍物检测和动态障碍物检测. 分别建立相应的模型和算法,并利用超声波辅助距离测量.
2.1 Raspberry Pi试验平台
本研究建立在Raspberry Pi的Raspberry Pi 3B微型计算机的试验平台上,研究超声波传感器和机器视觉相结合的障碍物检测方法.
Raspberry Pi试验平台为单眼视觉和超声测距传感器相结合的试验平台,如图2所示. 考虑到试验的可行性和便利性,本研究选择超声波测距传感器,并通过计算机的远程分析程序,使用Raspberry Pi 3B微型计算机对摄像机和超声波测距传感器模块进行集中控制.
2.2 静态障碍物检测算法
在静态障碍物的检测方法中,由于图像在采集、变换和传输中会产生不同程度的噪声污染,不可避免地降低了图像质量. 因此,视频图像需要进行预处理,然后再使用相应的图像处理技术检测障碍物. 室内静态障碍物检测系统如图3所示.
由图可见,首先使用基本图像预处理技术对输入图像帧进行预处理. 由于相机拍摄的大多数图像的背景和前景都有太亮或太暗的问题,所以本系统在预处理阶段添加了直方图均衡化的图像增强功能. 由于相机捕获的帧是RGB图像,需要将其颜色转换为HSV图像,系统中选择HSV色彩空间模型对捕获的视频图像进行色彩分析[15]. 设置max为r、g和b的最大值;min为r、g和b的最小值,相应 HSV 空间中h,s和v公式为
h={0∘ if max=min60∘×g−bmax−min+0∘ if max=r and g3b60∘×g−bmax−min+360∘ if max=r and g<b60∘×b−rmax−min+120∘ if max=g60∘×r−gmax−min+240∘ if max=b s={0 if max=0max−minmax=1−minmax otherwise v=max 式中:h为色相,取值为0~360°,其通过角度进行测量,将红色逆时针方向作为起点,红色为0°,绿色为120°,蓝色为240°;s为饱和度,取值为0~100%, 表示颜色接近光谱颜色的程度[16-17];v为颜色亮度,取值为0~100%,亮度为0%时显示黑色,亮度为100%时显示白色[18-19].
根据不同障碍物的颜色特征,设置不同的颜色阈值进行分割提取. 通过是否检测到静态障碍物来确定是否进入下一图像处理阶段:如果检测到障碍物,执行图像处理操作;否则,返回上一步重置障碍物颜色阈值. 该方法提高了数据处理的效率以及障碍物检测的准确性.
为准确找到障碍物的轮廓,还需要一些图像处理操作,包括模糊、二值化、形态学闭运算、腐蚀和膨胀. 通过图像模糊,不仅可以减少图像噪声,而且可以滤除尺寸和亮度较小的对象,以检测尺寸较大和亮度明显的对象[20]. 图像二值化操作将图像分为黑色和白色两个部分,以区分障碍物和非障碍物(障碍物是白色部分,非障碍物是黑色部分),然后进行形态校正. 在二值化图像中可能仍然存在少量散点,并且黑色部分的边缘不是很清晰. 二值化图像中有孔和毛刺,必须对二值化图像执行数学形态学滤波,以实现局部背景平滑. 在二值化图像的基础上,使用形态学上的闭合操作进行滤波和平滑处理,如腐蚀和膨胀. 闭合操作是为了填充图像中的孔和裂缝,腐蚀操作的作用是消除图像中比结构元素小的无意义的边界点,从而使目标对象的边界在内部缩小,膨胀操作的功能是在图像中填充目标对象的孔点,并将对象的边界扩展到外部. 这些操作可以使图像平滑并检测图像中的奇点. 根据二值化过程的结果,需要去除图像中的孔和毛刺,并保持原始图像特征不变,以使黑色边缘变得清晰并易于边缘检测.
边缘指图像局部亮度显著变化的部分,是图像灰度不连续或灰度急剧变化的一组点[21]. 边缘检测的目的是识别数字图像中亮度明显变化的点. 本研究采用Canny边缘检测算法对图像识别,以获得障碍物的边缘信息. 最后,通过查找和绘制静态障碍物的轮廓来输出静态障碍物检测结果.
2.3 动态障碍物检测算法
通过对常用的目标检测方法的分析,并结合室内机器人的实际操作环境,本研究采用背景差分法进行动态障碍物检测.
背景差分法是一种实用的动态目标检测技术,主要用于背景不运动时提取前景[22],示意图如图4所示. 其主要原理是将视频图像转换为两种类型:当前帧和背景模型帧,从当前帧中减去背景模型帧,然后设置阈值以消除生成图像的噪点,再对前景图像进行形态学操作(闭运算、腐蚀和扩张操作等)以检测运动目标,即动态障碍物.
3. 室内障碍物检测试验
3.1 静态障碍物检测
原始图像进行直方图均衡化增强的结果图如图5所示. 根据静态障碍物检测算法,以放置书、固定水瓶、附着在地面上的雨伞作为试验的静态障碍物样本,3个静态障碍物样本的检测如图6所示. 每组样本图像包括样本的原始图像、增强图像、HSV色彩转换图像、模糊图像、二值化图像、形态学闭运算图像、腐蚀图像、膨胀图像、Canny边缘检测图像、边缘轮廓图像、轮廓标记图像以及原始图像上的障碍物标记图.
使用超声波测距传感器测量3个静态障碍物与机器人之间的距离,见表1.
表 1 静态障碍物到智能车的距离Table 1. Distances from static obstacles to smart carcm 障碍物 书 水瓶 雨伞 距离 182.36 153.66 112.52 3.2 动态障碍物检测
在动态障碍物检测过程中,擦除背景后对图像添加3D图像显示,如图7所示. 图中,(a)为没有动态障碍物的图像. (b)、(c)和(d)分别为行人、移动的水瓶和移动的纸箱图像. (e)、(f)、(g)、(h)分别为(a)、(b)、(c)和(d)的3D显示图像。
图8为通过背景差分法的室内动态障碍物检测结果, 每张图片分为4个块,其左上角是摄像机输入的视频帧.
图8(a)至图8(d)中,左下角均为由超声波测距传感器测得的距离,图8(a)中移动机器人与远处墙壁之间的距离为203.78 cm. 在图8(b)至图8(d)中,移动机器人距行人、移动的水瓶和移动的纸箱的距离分别为90.86、82.99和85.02 cm. 由于对象正在移动,距离会不断更新,当检测到移动障碍物时,将记录超声波测量的距离数据. 只有机器人与行人之间的距离(90.86 cm)、机器人与活动水瓶之间的距离(82.99 cm)以及机器人与活动纸箱之间的距离(85.02 cm)会被系统记录,而203.78 cm的初始距离则不会被系统记录.
在图8(a)至图8(d)中,在右上角设置二值化阈值,将障碍物设置为白色,将背景设置为黑色. 图8(a)中由于此时没有动态障碍物进入当前帧,因此图像是黑色的. 当出现动态障碍物时,图像会显示白色动态障碍物的形状,如图8(b)至图8(d)所示.
图8(a)至图8(d)中,右下角显示当前帧与背景的分离. 图8(a)中没有动态障碍,所以在分离背景后显示黑色. 当动态障碍物出现时,显示动态障碍物的细微形状,如图8(b)至图8(d)所示.
当使用背景差分法检测动态障碍物时,使用超声波测距传感器测得动态障碍物与机器人之间的距离,结果见表2.
表 2 动态障碍物与智能车之间的距离Table 2. Distance between dynamic obstacle and smart carcm 障碍物 行人 移动的水瓶 移动的纸箱 距离 90.86 82.99 85.02 4. 试验结果分析
考虑室内静态障碍物和动态障碍物两种类型的试验,进行以下试验结果分析.
比较3个静态障碍物轮廓的结果,如图9所示. 可以看出,图9(a)和9(b)中障碍物的轮廓不是很准确,即使整个书可以用矩形框圈起来,图9(a)中的书的轮廓也有缺失部分. 图9(b)中水瓶的轮廓不仅具有缺失部分,而且具有不属于水瓶的局部轮廓. 图9(c)中伞的轮廓清晰,轮廓的检测率至少可以达到95%. 分析发现,本研究所用的静态障碍物检测方法对单色障碍物的检测率较高,对多色障碍物的检测率较低.
增强图像和未增强图像之间检测正确率的比较结果如图10所示. 对不同数量的样本执行检测正确率计算,结果表明,未增强图像的检测正确率没有增强图像的检测正确率高,说明了增强图像的有效性.
采用背景差分法对动态障碍物检测结果进行分析比较,如图11所示. 由图11(a)可见,当待检测目标未出现在背景中时,水瓶的轮廓可以被正常检测并标记. 由图11(b)中,水瓶已经包含在原始背景中,当水瓶移动时,水瓶的初始位置状态和当前位置状态被一起标记,产生检测错误. 分析表明,背景差分法适用于检测背景中未包含的动态障碍物. 当障碍物不在当前帧的背景中出现时,可以实现良好的检测效果. 然而,当出现在背景中的障碍物移动时,使用背景差分法将会同时标记障碍物的初始位置和运动中的位置,从而造成障碍物的重叠.
比较添加和未添加障碍物位置记录响应模块之间的处理时间的结果如图12所示. 试验结果表明,添加障碍物位置记录响应模块的数据处理时间小于未添加障碍物位置记录响应模块的数据处理时间. 尽管处理时间随着帧数的增加而增加,但是添加模块后,数据处理时间通常会减少.
5. 结 语
室内障碍物检测是室内移动机器人室内定位和室内导航领域需要解决的重要问题之一. 本研究基于单眼视觉和超声波的室内障碍物检测方法,分别针对静态障碍物和动态障碍物提出不同的检测方案. 所提出障碍物位置记录响应模块可减少无用的数据处理时间,提高障碍物检测效率. 本研究在多色障碍物检测上还存在一定的缺陷,可在未来的进一研究中进行优化和改进。
-
表 1 静态障碍物到智能车的距离
Table 1. Distances from static obstacles to smart car
cm 障碍物 书 水瓶 雨伞 距离 182.36 153.66 112.52 表 2 动态障碍物与智能车之间的距离
Table 2. Distance between dynamic obstacle and smart car
cm 障碍物 行人 移动的水瓶 移动的纸箱 距离 90.86 82.99 85.02 -
[1] OHYA I, KOSAKA A, KAK A. Vision-based navigation by a mobile robot with obstacle avoidance using single-camera vision and ultrasonic sensing[J] . IEEE Transactions on Robotics and Automation,1998,14(6):969 − 978. doi: 10.1109/70.736780 [2] XU Z, MIN B, CHEUNG R. A robust background initialization algorithm with superpixel motion detection[J] . Signal Processing: Image Communication,2019,71:1 − 12. doi: 10.1016/j.image.2018.07.004 [3] QIU K J, LIU T B, SHEN S J. Model-based global localization for aerial robots using edge aligmennt[J] . IEEE Robotics and Automation Letters,2017,2(3):1256 − 1263. doi: 10.1109/LRA.2017.2660063 [4] CAI S Z, HUANG Y B, YE B, et al. Dynamic illumination optical flow computing for sensing multiple mobile robots from a drone[J] . IEEE Transactions on Systems, Man, and Cybernetics: Systems,2018,48(8):1370 − 1382. [5] CAI G R, SU S Z, HE W L, et al. Combining 2D and 3D features to improve road detection based on stereo cameras[J] . IET Computer Vision,2018,12(6):834 − 843. doi: 10.1049/iet-cvi.2017.0266 [6] STOLOJESCU-CRISAN C, HOLBAN S. A Comparison of X-ray image segmentation techniques[J] . Advances in Electrical & Computer Engineering,2013,13(3):85 − 92. [7] ZHAO J P, ZHANG Z H, YU W X, et al. A cascade coupled convolutional neural network guided visual attention method for ship detection from SAR images[J] . IEEE Access,2018,6:50693 − 50708. doi: 10.1109/ACCESS.2018.2812929 [8] GARCIA F, SCHOCKAERT C, MIRBACH B. Real-time visualization of low contrast targets from high-dynamic range infrared images based on temporal digital detail enhancement filter[J] . Journal of Electronic Imaging,2015,24(6):061103. doi: 10.1117/1.JEI.24.6.061103 [9] CHEN Z, WANG S W, YIN F L. A time delay estimation method based on wavelet transform and speech envelope for distributed microphone arrays[J] . Advances in Electrical and Computer Engineering,2013,13(3):39 − 44. doi: 10.4316/AECE.2013.03007 [10] FAN L, XIA G Q, TANG X, et al. Tunable ultra-broadband microwave frequency combs generation based on a current modulated semiconductor laser under optical injection[J] . IEEE Access,2017,5:17764 − 17771. doi: 10.1109/ACCESS.2017.2737665 [11] XU H Y, YU M, LUO T, et al. Parts-based stereoscopic image assessment by learning binocular manifold color visual properties[J] . Journal of Electronic Imaging,2016,25(6):1 − 10. [12] ZHU X W, LEI X S, SUI Z H, et al. Research on detection method of UAV obstruction based on binocular vision[C]// Proceedings of the 2nd International Conference on Advances in Materials, Machinery, Electronics. Xi'an: AMME, 2018: 040010. [13] ZHANG E S, WANG S B. Plane-space algorithm based on binocular stereo vision with its estimation of range and measurement boundary[J] . IEEE Access,2018,6:62450 − 62457. doi: 10.1109/ACCESS.2018.2875760 [14] FLACCO F, DE LUCA A. Real-time computation of distance to dynamic obstacles with multiple depth sensors[J] . IEEE Robotics & Automation Letters,2017,2(1):56 − 63. [15] ZHANG T Y, HU H M, LI B. A naturalness preserved fast dehazing algorithm using HSV color space[J] . IEEE Access,2018,6:10644 − 10649. [16] YOON I, KIM S, KIM D, et al. Adaptive defogging with color correction in the HSV color space for consumer surveillance system[J] . IEEE Transactions on Consumer Electronics,2012,58(1):111 − 116. doi: 10.1109/TCE.2012.6170062 [17] WO Y, CHEN X, HAN G Q. A saliency detection model using aggregation degree of color and texture[J] . Signal Processing: Image Communication,2015,30:121 − 136. doi: 10.1016/j.image.2014.10.004 [18] DAS P, KIM B Y, PARK Y, et al. A new color space based constellation diagram and modulation scheme for color independent VLC[J] . Advances in Electrical & Computer Engineering,2012,12(4):11 − 18. [19] TSAI V J. A comparative study on shadow compensation of color aerial images in invariant color models[J] . IEEE Transactions on Geoscience & Remote Sensing,2006,44(6):1661 − 1671. [20] RIAD R, HARBA R, DOUZI H, et al. Robust fourier watermarking for id images on smart card plastic supports[J] . Advances in Electrical & Computer Engineering,2016,16(4):21 − 28. [21] BAO P, ZHANG L, WU X L. Canny edge detection enhancement by scale multiplication[J] . IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(9):1485 − 1490. doi: 10.1109/TPAMI.2005.173 [22] ZHANG X G, HUANG T J, TIAN Y H, et al. Background-modeling-based adaptive prediction for surveillance video coding[J] . IEEE Transactions on Image Processing,2014,23(2):769 − 784. doi: 10.1109/TIP.2013.2294549 期刊类型引用(1)
1. 曹凯,李宁,王立志,李波,赵娜娜. 基于单眼视觉的巡检无人机避障策略研究. 电子器件. 2025(01): 86-90 . 百度学术
其他类型引用(0)
-