基于深度图像信息的室内导盲系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-56- 科学技术创新2019.09
基于深度图像信息的室内导盲系统
李定航
(四川大学电气信息学院,四川成都610065)
摘要:针对盲人独自在室内环境下行动容易受到障碍物的影响的问题,提出了基于图像深度信息的室内多种障碍物的检测 算法。

首先使用微软Kinect v2来拍摄室内的图像,然后从采集到的深度信息来重建出三维场景,并获取相应的3D 点云数据;其
次利用经典的随机采样一致性(RANSAC)算法,参考地面相对于人体的位置和距离等特点,将地面从获取的点云中提取出来;最 后利用剩余的点云数据,根据不同障碍物各自的特性,提出对应的检测算法并结合欧式聚类算法可将各障碍物分割开来,再根据 门宽和门高所满足的条件精确区别出门平面和墙平面,最后利用N -近邻采样一致性(NAPSAC)算法提取台阶面,最终通过各台 阶面之间的距离来判定是否有楼梯。

实验结果显示文中提出的算法能够有效检测到室内多种障碍物,并给予盲人精确有效的提
示,有效解决传统方法易受光照影响,对于不同深度、倾斜和形状不规则的障碍物检测效果差,输出信息单一的问题。

关键词:三维图像处理;障碍物检测;Kinect;深度信息;3D 点云中图分类号:TP391.41
文献标识码:A 文章编号:2096-4390 (2019) 09-0056-03
根据《第二次全国残疾人抽样调查主要数据公报》统计,中 国盲人数目约为1233万,并且盲人数目以每年45万人的速度 增加。

在陌生的环境中,两种最常用的盲人导航工具是导盲杆 和导盲犬。

然而,导盲杖对用户具有很高要求,并且导盲犬训 练昂贵,通常只能用于户外,在室内环境中盲人大多靠自己摸 索。

现有的盲人导引系统在市场上普遍不太准确,易受GPS 信 号的影响,无法提供目前盲人障碍物的详细信息。

这部分基于 GPS 的产品都是适用于户外环境,而盲人大多数时间是在室内
活动,相关室内辅助产品较少见。

随着计算机视觉算法的发展,
先进的视觉识别系统逐渐受到人们的关注。

基于双目视觉的障 碍物检测一般先利用两个摄像头成像的视差来获取周围环境 的深度信息叫然后结合彩色图像信息分割出障碍物。

这种方法 的缺陷在于易受光照影响,有可能会漏检。

上述各算法可以看 出深度信息对障碍物检测是非常有帮助的。

本文利用微软的 Kinect v2设备来获取周围环境的彩色信息以及深度信息,然后 重建三维场景,获取3D 点云数据并进行预处理,根据室内环境 中常见障碍物各自的形状特征,结合随机采样一致性、N 邻近点 采样一致性和欧式聚类提取等算法,检测出地面上的分散障碍 物、门、墙和楼梯等多种障碍物,并输出障碍物的方向、距离和尺 寸等信息。

1 Kinect v2传感器简介
Kinect v2是微软在2014年发售的一款传感器,可以同时 获取图片的彩色和深度信息,我们也可以通过该传感器实现人 脸的识别跟踪,手势识别以及对人体关节点的检测等等功能。

图1是Kinect v2的外观图。

图1 Kinect v2外观图
Kinect v2是一个主要由麦克风和摄像头组成的感应器系
统。

摄像头分别包括红外摄像头、彩色摄像头和红外深度摄像
头。

麦克风阵列是L 形布局的。

本文主要是通过Kinect v2来获
取室内环境的深度和彩色信息。

Kinect v2采用的是TOF(Time of Flight)技术,也就是说,深度信息是通过计算反射红外线的返 回时间得到的。

点的深度值表示点位置到相机平面的距离。


过该方法得到的数据相对比较稳定,详细,不易受到光照条件的
影响。

2多种障碍物的检测算法
2.1算法概述
根据文献⑶中作者针对学校盲生的调查结果显示可知,盲
学在室内需要避开的常见障碍有墙、门、楼梯、垃圾桶等。

整个算
法流程分为以下几步。

第一步是使用Kinect v2设备在用户面前 获取RGB-D 信息,该装置位于人体腰部,与地面形成一定角度a 。

第二步利用采集的信息,重建3D 点云。

第三步是对点云进行 滤波实现下采样和过滤等预处理。

第四步利用RANSAC 算法从
点云中提取地平面。

最后根据提取地面后剩余点云的物理特征,
利用不同的算法来确定不同种类的障碍物。

2.2平面提取
本文中涉及平面提取的主要有地面、门、墙以及楼梯台阶 面。

一般情况下地面、门和墙平面在点云中所占比例较大,本文
采用经典的RANSAC 算法进行提取。

而楼梯台阶面较小,则采
用NAPSAC 算法回进行提取。

对于一个三维空间中的平面,其模
型如下式:
ax+by+cz+d =0
(1)
平面模型参数为0(a,b,c,d),其中X = (a,b,c)为平面法
向量。

点(x,y,z)到平面0(a,b,c,d)的距离公式为:
\ax + by + cz + d\ •Ja 2 +b 2 +c 2
(2)
随机采样一致性算法的输入包括:预处理后离群值较多的
点云数据u;—些可信参数(如最大迭代次数,置信区间%,判 断是否为局内点的阈值t)。

置信区间"。

的取值范围一般为
[0.95,0.99] , %与迭代次数的关系为:
1一%=(1 —,产今监
log(l-%)log(l-e 3)其中e 为局内点在数据集u 中的比例。

公式⑶的意思是在
作者简介:李定航(1994-),男,汉,重庆,四川大学,图像处理。

(3)
2019.09科学技术创新-57-
kd次子循环过程中,至少有一次采样使得所有三个采样点都是局部点的概率为%。

随着局部点数n唤增加,6增加,k爲减小,迭代进程加快。

该算法的输岀是平面模型的参数
e\a,b\c,d-),和满足该模型的所有局部点的集合I*。

算法流程如下:
经典RANSAC算法
输入:
1-初始化:《=0,儘=~,心=0,N为"的大
小||;
2.从u中随机采样3个点,组成最小子集:
3.最小子集估算平面模型参数;
4.通过对"中所有数据点进行遍历,得到各点
到平面模型的距离D计算公式为(2):如果距
离DM,则被视为局部内点,得到点集人,
中点数为”*;
5.若”*进入步骤6,否则进入步骤7;
6.歹==盃”/N,通过公
式(3)更新殆,;
7.令k=k+l,若*<*……为真,则返回
步骤2,否则前进到步骤8;
&优化模型参数:釆用最小二乘法,通过局内
点/•重新估计模型参数歹。

输岀:
RANSAC算法通过随机采样选取最小子集,常常得到非最佳模型参数,在数据集较大而局内点占比较小的情况下效果较差。

NAPSAC算法对RANSAC算法最小子集获取方式进行了改进,其改进是基于以下观点:数据集中,局内点与其他局内点的距离要比局外点近,即距离越远,是局外点的可能性越大。

针对三维空间,NAPSAC算法最小子集的采样过程如下:
1)在点云"中随机选取一个点。

,设定半径八
以。

为中心尸为半径建立球形;
2)判断球内数据点个数是否小于3,是返回步
骤1),否则进入步骤3):
3)从球体内均匀地取3个点,组成最小子集。

上述过程只替换RANSAC算法中的步骤2,其余步骤与经典算法一致。

由于NAPSAC算法的最小子集采样方法相较于RANSAC更为复杂,耗时更长,因此本文中只在平面占比较小,RANSAC算法提取困难的情况下使用NAPSAC算法,如楼梯的台阶面提取。

2.3分散的障碍物检测
在室内环境中,地面上分散着各种障碍物,比如垃圾桶、箱子、桌子和椅子等。

欧几里得聚类提取算法的主要过程是遍历点云中的点,围绕每个点搜索,将阈值t以内的点分类为同一个聚类,最后将输入的点云划分为多个聚类,每个聚类代表一个障碍物。

我们使用欧几里得距离来测量点(%加《)与点
(兀宀心)之间的距离,公式如下:
D=—x2)2-1^(^—y2)2+(Z]-¾)2(4)提取出各障碍物点云簇之后,需要确定障碍物的大小。

本文采用AABB轴对齐边界框来近似描述复杂障碍物。

一个三维的AABB就看做一个简单的立方体,每一面都平行于一个坐标轴,它的内部是个简单的几何空间,也可以包含形状复杂的物体。

AABB内的点满足以下条件:
<Z<Z max(5)因此需要遍历点云中的全部点,并获取x,y,z每个方向上的最大值最小值,并形成两个重要顶点和
(%^,儿逊,・“)就能唯一地定义一个AABB来描述障碍物的大小。

此外,我们还需要知道障碍物相对于盲人的距离和方向,包括左、右和前。

可用公式⑺来获取障碍物点云的中心点
£,(x“,y“,z“):
、再+兀+…+x”..一必+%+…+儿
"_n'儿—n,
__z1+z2+---+z (6)
其中£(Xi,”,cJ为点云中的第i个点,n为点云大小。

令儿=0,即可得R在xz平面的投影点£;(心,0,・)。

0为坐标原点,障碍物到盲人的距离大小为向量函的模:
Dk=1OP;1=Jx:+z:(7)若x n>0,则障碍物靠右,兀,<0则障碍物靠左,最终可输出各障碍物的距离、方向及尺寸。

2.4门与墙的检测
在实际场景中,门是镶嵌在墙中的,而门所在平面与墙平面并非同一平面,在垂直方向可能存在一定距离,且两平面都垂直于地面,因此可通过RANSAC算法分别将两平面提取出来。

根据国际建筑条例,门的最小宽度为81.3cm,高度最低不能低于200cm,最高不能超过240cm。

然而并非所有门都满足上述条例,尤其是许多门都是双扇门海扇门的宽度都不是81.3cm。

因此本文将门的宽度限制条件设置为最小60cm,最大120em,而高度仍然为200cm到240em之间。

综上所述.针对可能存在墙与门的点云,检测步骤如下:
a.利用RANSAC算法提取垂直于地面的平面,且要求提取的平面数据量足够大;
b.利用Qhull库中的快速凸包算法获得各平面的凸包点,并求得平面的宽度和高度;
c.比较各平面的宽度和高度是否满足门的限制条件,若满足则可判定为门,剩下的平面判定为墙。

最后求解门与墙的距离和方向,方法同2.3节。

2.5楼梯的检测
我们规定楼梯由至少3级间隔相同的台阶组成,各相邻台阶平行面和垂直面间距相等。

对于向下楼梯,每级台阶的平行面数据点充足,而对于向上楼梯,由于拍摄角度限制,每级台阶平行面数据点稀疏,垂直面数据点密集。

据此提出以下检测算法。

-58-科学技术创新2019.09
向上(向下)楼梯检测
1.输入点云p;
2.利用NAPSAC算法提取垂直(平行)于地面
的平面.得封集合尸={片丄耳};
3.将卩中互相平行的平页存入集合旷;
4.计算"”中各平面之间的距离.若某平面与
另一平面的距离在叭-%,眄v+%】
+)内・则将该平面存入
集合卩”中;
5.若厂'的大小|卩"|<3,则判定没有楼梯.退
出,否则进入步骤6:
6.输出台阶垂直(平行)面集合厂'.
考虑到台阶面面积小,在点云中所占比例较小,因此这里采用NAPSAC算法提取台阶面。

步骤3中需要判断两平面是否平行,可结合公式(4)求得両不面的法向量之间的夹角,若夹角小于阈值范围内则判定为平行。

步骤4中涉及求平面之间的距离,若两平行平面的参数为(a,b,c,d)和(a,b,c,e),则距离公式为:
~^a2+b2+c2⑻求解猱梯的方位距离等方法与2.3节中一致。

3室内场景实验
3.1实验软硬件及参数设置
本文实验中收集了三种常见的室内环境:办公室、走廊、楼道。

一共采集了240幅彩色深度图像,包含了多种室内常见的障碍物。

如纸箱、垃圾桶、雨伞、门、墙、楼梯等。

为了评估该方法在实际场景中的检测效果,本文是在Visual Studio2013平台上使用C++进行了编程实验。

计算机配置为i54200M(2.5Ghz) CPU,6G内存。

本文算法的实验中设置Kinect v2设备距离地面的高度为lm,倾斜角度a=20。

,能够有效检测到前方lm到3.5m 的距离。

RANSAC算法中置信裕度%=035,最大迭代次数
心皿=100,距离阈值d=4cm。

NAPSAC算法中搜索半径r=0.4m。

欧式聚类提取算法中距离阈值r=4cm,向上楼梯检测中W n设为25cm,W tnl为10cm.向下楼梯检测中H n设为20cm,H,ol
为10cm。

判断向量平行或垂直的夹角阈值"=15。

3.2实验结果
本文分别在办公室、走廊和楼道三个场景下进行障碍物检测,除了将检测到的障碍物封闭在彩色图像中并标记距离和方向信息外,还使用边界框来描述分割的障碍物点云。

本文算法能够有效提取出相邻障碍物,如一个彼此靠着的纸箱和伞,倾斜的桌子挡板,以及不规则形状的椅子等。

并且能够用不同颜色的点云表示分割出的不同障碍物,显示了本文算法对门、墙和楼梯检测的有效性。

具体实验数据如表1所示。

为了在实际场景中测试该方法的检测率,对实验中采集到的图像进行了障碍物检测。

其中检测率为障碍物实际检测数与期望检测数之比。

检测结果如表2所示。

表2中检测的图像是在多个场景下采集的,每幅图像包含多种障碍物。

其中部分分散的障碍物检测失败是由于障碍物体积过小,或被其他障碍物遮挡所致。

部分门的检测失效则是由于只拍摄到门的一部分,未获取门的完整图像,或者门与墙的凹凸性不强,无法进行平面分离。

上下楼梯检测失效的情况是由于拍摄角度过于倾斜。

另外若获取的深度
表1障碍物检测数据对比
F
纸箱[图
2(c)③]
垃圾桶[图
2(c)④]
转椅[图
2(C)⑥]
雨伞[图
2(c)⑦]真实长度35.1cm23.9cm64.9cm912cm
检测长度37.2cm21.8cm70.8cm97.4cm
准确率94.02%91.21%90.91%93.20%
真实宽度32.9cm23.8cm57.8cm458cm
检测宽度36.8cm19.7c m64.2cm64.4cm
准确率88.15%82.77%88.93%59.39%
真实高度42.6cm29.6cm70.2cm61.4cm
检测高度3&7cm27.7cni76.9cm692cm
准确率90.85%93.58%90.46%87.30%
真实距离 2.00m234m 1.20m 2.40m
检测距离 1.91m 2.42m1.26m 2.49m
准确率95.50%96.58%95.00%96.25%
表2室内障碍物检测结果
分散的门墙上楼梯下楼梯
障碍物
期望检测数472451133530
实际检测数435411063428检测率0.9220.9110.9380.9710.933总体检测率644/695=0.927
图像有较大的噪点和空洞,或图像中地面面积过小而未能提取出来,都会影响检测结果。

总的来说,在室内环境下算法的检测率达到了0.927,且平均每帧图像的处理速度为0.765s,精度高,速度快。

结束语
本文旨在研究适合室内环境的各种障碍物检测算法,以帮助盲人在室内环境中独立安全地行走。

本文利用Kinect v2设备采集前方环境的彩色深度图像,将采集到的信息转换为三维点云数据,进行地面预处理和提取,运用不同的算法检测不同的障碍物。

本文的贡献在于结合了多种不同方法来检测多种室内常见障碍物,对于不同深度、倾斜和形状不规则的障碍物也能有效地检测出来,且不受光照的影响。

实验结果表明本文算法精度高,处理速度较快。

但是本文是针对不同障碍物人为地切换使用相应的算法,后续工作将结合改进上述各种算法,不用人为干预而自动检测出同一幅图像中不同障碍物。

参考文献
[1]W ang Ping,Han Xie,Han Yan.The Extraction of Depth Information about the Object Based on Binocular Vision[J]. Science Technology and Engineering,2014(2):56-61.
王平,韩燮,韩炭.基于双目视觉技术的物体深度信息提取[J].科学技术与工程,2014(2):56-61.
[2]D.R.Myatt,P.H.S.Torr,S.J.Nasuto,J.M.Bishop,and R. Craddock,NAPSAC:High Noise,High Dimensional Robust Estimation[J],Proc.British Machine Vision Conf.,2002,pp. 458-467.
[3]Huy-Hieu Pham,Thi-Lan Le,and Nicolas Vuillerme,Real-Time Obstacle Detection System in Indoor Environment for the Visually Impaired Using Microsoft Kinect Sensor[J],Hindawi Publishing Corporation,Journal of Sensors,2016(11):1-13.。

相关文档
最新文档