一种障碍物和坡道检测系统及方法与流程

文档序号:12805048阅读:204来源:国知局
一种障碍物和坡道检测系统及方法与流程

本发明属于盲人辅助技术、双目视觉技术、三维环境感知技术、声音编码技术领域。本发明包含一种新型地面障碍物检测系统,涉及一种利用红外投射器投射不可见的近红外静态散斑,利用两个红外相机采集图像,利用姿态角传感器获取相机的姿态角信息,小型处理器对图像中的深度信息和姿态角信息进行处理,检测出图像中的地面较小的障碍物和上、下坡面,最后将检测结果转化为语义内容,通过骨传导耳机传递给盲人进行辅助的系统。



背景技术:

盲人缺少正常人所拥有的视觉,这对他们的日常生活和出行造成了极大地不便。盲人需要知道前方环境中的物体方位信息才能够有效的避开障碍物。传统的盲人辅助工具有盲杖、导盲犬等。使用盲杖时需要不停地移动盲杖来探测前面环境信息,只使用盲杖一方面探测的信息不全面,对前方物体的探测有遗漏,另一方面盲杖只能探测面前一米以内的障碍物信息,对于一米以外的障碍物和上下坡面则无法检测出来。导盲犬也可以帮助盲人出行,但导盲犬不管是费用还是养护费用都花费很高,成本太高,不能普及。在一些特殊场合,比如导盲犬可以通过的孔洞,导盲犬可以进入而人不可以,所以导盲犬的辅助也有很强的局限性。仿生眼可以帮助盲人恢复部分视觉,但仿生眼的植入需要进行手术,费用高昂。而且仿生眼只适用于视网膜色素变性或老年性黄斑变性导致失明的盲人。视觉神经损坏的盲人无法通过植入仿生眼恢复部分视觉。



技术实现要素:

本发明的目的是针对背景技术的不足之处,提供一种障碍物和坡道的检测系统及方法。

本发明的目的是通过以下技术方案实现的:一种障碍物和坡道检测系统,包括一个红外投射器,两个红外相机,一个串口转usb模块,一个usb集线器,一个骨传导耳机,两个骨传导震动模块,一个小型处理器,一块电池;两个红外相机的视场角为φ1(φ1的值通常在50-70°),两个红外相机的光轴向下倾斜,与水平面夹角为φ2,φ2为10-20°。小型处理器控制着红外投射器投射不可见的近红外静态散斑到前方的三维场景中,两个红外相机实时采集前方三维场景的红外图像。姿态角传感器实时获得相机的姿态角,姿态角数据经串口转usb模块转换成usb数据。usb集线器将usb数据和图像数据传递给小型处理器。小型处理器对红外图像和姿态角数据进行处理,得出前方三维场景中的细小低矮的障碍物的分布信息以及是否为坡面,然后将障碍物信息转换成语义声音,并传递给骨传导耳机,骨传导耳机将语义信息转换成骨传导震动信息,两个骨传导震动模块将骨传导震动信息传递给盲人用户。

一种障碍物和坡道检测方法,包括以下步骤:

(1)系统初始化:姿态角传感器获取初始状态下的两个相机的初始姿态角数据,以

其中一个相机的光心为原点,建立世界坐标系,并保存于小型处理器中,同时将红外相机的佩戴高度h录入到小型处理器中。

(2)两个红外相机采集前方的三维场景的红外图像,同时姿态角传感器获得此时相机的姿态角数据,并通过串口转usb模块将姿态角数据转换成usb数据,然后usb集线器将姿态角数据和图像数据传给小型处理器。

(3)小型处理器根据姿态角数据,获得相机坐标系,进一步计算相机坐标系的坐标轴与世界坐标系中对用的坐标轴之间的夹角(αβγ);

(4)小型处理器将两个红外图像转换为一幅深度图像pdepth,创建m*n大小的矩阵a,其中m和深度图pdepth的高相等,n和深度图pdepth的宽相等;

(5)遍历深度图像pdepth的每一个像素点,得到图像坐标系下每一点p(u,v,z),z为该点的深度值。u为图像坐标系中,像素点的横坐标,v为图像坐标系中,像素点的纵坐标;

(6)判断p(u,v,z)的z值是否为零,如果非零,通过坐标转换将图像坐标系下的点转换到相机坐标系的点q(x,y,z),其中z=z。u0为相机光轴与成像平面交点的横坐标,v0为相机光轴与成像平面交点的纵坐标;进一步将相机坐标系的点q(x,y,z)转换到世界坐标系下,得到世界坐标系下对应的点p(xw,yw,zw),转换方式为:

其中yw为该点的高度值,zw为该点和相机的距离。并求得每个点p(xw,yw,zw)对应的偏角

(7)判断点p(xw,yw,zw)中yw是否大于h1,h1的范围一般为30cm到50cm。如果yw>h1,将该点的zw值置0,如果yw<h1,zw的坐标值不变,获得p(xw,yw,z'w),其中z'w为0或zw。

(8)判断偏角θ是否在[-α,α]范围内,α一般取值为15°到20°,若是,则将p(xw,yw,z'w)存入到矩阵a中,深度图像pdepth中,与p(xw,yw,z'w)对应的像素点是p(u,v,z),则点p(xw,yw,z'w)在矩阵a中的行和列分别为u,v;

(9)创建集合e1和e2,遍历矩阵a中每一个元素,判断m行n列元素aij的zw分量是否为零,若zw=0,将元素aij存入集合e1中,若zw≠0,将元素aij存入集合e2中,集合e1称为无效点集合,集合e2称为有效点集合。

(10)从集合e2中随机选取k个点,组成集合e,对集合e中的点进行最小二乘法平面拟合得到平面的一般方程ax+by+cz=d,得到平面的法向量取世界坐标系中垂直方向上的单位向量求出法向量和单位向量的夹角的余弦值

(11)比较cosθ和ccos的大小关系,其中ccos为角度是的余弦值,如果cosθ<ccos,则判断前方区域为非地面,对原始的深度图像pdepth进行分块,分成m*n块,m一般为10到15块,n一般为15到20块,求出每一块的平均高度值存入到矩阵b中,对矩阵b的每一行进行处理,矩阵b中的元素对应每一块的高度平均值

(12)求出每一行的所有的异常值bnm,得到所有异常值bnm的位置col(n,m),即第n行m列,异常值bnm在第n行中是具有显著性差异的值(p<0.05),同时满足两个条件,第一:n行的第m个元素表示的高度距离地面超过h异,h异的值为5-10cm,也就是|bnm-h人|>h异,第二:n行的第m(m<n)个元素和第m+1个元素所表示的高度差超过h差,h差的值为5cm,也就是|bnm-bn(m+1)|>h差;

(13)同理,求出每一列的所有异常值,得到异常值位置row(n,m)。

(14)比较col(n,m)和row(n,m)的坐标值是否相同,如果col=row,则深度图像pheight对应的第n*m块对应的高度值相比其它块有明显的变化,则说明第n*m块位置有障碍物,这时返回标志位mark=1。

(15)若每一行和每一列都没有找到异常值,说明深度图像pdepth中的值是均匀变化的,没有明显的突变趋势,则说明整幅图像pdepth代表的是坡面的深度图,这时返回标志位mark=2。

(16)标志位mark=1时小型处理器向骨传导耳机发送播放命令,播放内容为“小心障碍物”,当标志位mark=2时小型处理器向骨传导耳机发送播放命令,播放内容为“小心坡道”。

该方法/系统相比于以往的盲人辅助方法优势在于:

1提前预警,该方法/系统的检测距离在1.5米以外,检测距离较远,可以提前提醒盲人前方的道路信息,达到提前预警的功能;

2深度图分块,将深度图分为m*n块,求每一块的平均高度值,可以避免较小的障碍物淹没在环境中,从而突出障碍物的位置;

3小型障碍物检测,对于地面上的小型障碍物,比如地面上的砖块,砖块所在的区域的高度相比其它区域,也就是地面有明显的变化,该系统能够提前告知盲人前方的障碍物信息,让盲人早做预防;

4该方法/系统只对正前方宽度为1到1.5米范围检测,避免在正前方能够通行的情况下,将两边的物体、墙壁等当做障碍物提醒给盲人,影响盲人行走。

附图说明

图1为该系统的世界坐标系;

图2为前方有障碍物的三维场景图;

图3为两个红外相机采集到的两幅深度图像,经过小型处理器处理后得到的一幅深度图像;

图4为深度图像中某一点的坐标说明;

图5为相机光轴与成像平面的交点示意图;

图6为深度图分成m*n块后的深度图;

图7为分块后的深度图中前方障碍物所在位置示意图;

具体实施方式:

一种障碍物和坡道检测系统,包括一个红外投射器,两个红外相机,一个串口转usb模块,一个usb集线器,一个骨传导耳机,两个骨传导震动模块,一个小型处理器,一块电池;两个红外相机的视场角为φ1(本实施例中,φ1为50),两个红外相机的光轴向下倾斜,与水平面夹角为φ2,本实施例中,φ2为10。小型处理器控制着红外投射器投射不可见的近红外静态散斑到前方的三维场景中,两个红外相机实时采集前方三维场景的红外图像。姿态角传感器实时获得相机的姿态角,姿态角数据经串口转usb模块转换成usb数据。usb集线器将usb数据和图像数据传递给小型处理器。小型处理器对红外图像和姿态角数据进行处理,得出前方三维场景中的细小低矮的障碍物的分布信息以及是否为坡面,然后将障碍物信息转换成语义声音,并传递给骨传导耳机,骨传导耳机将语义信息转换成骨传导震动信息,两个骨传导震动模块将骨传导震动信息传递给盲人用户。

具体检测方法如下:

(1)系统初始化:姿态角传感器获取初始状态下的两个相机的初始姿态角数据,以其中一个相机的光心为原点,建立世界坐标系,如图1,并保存于小型处理器中,同时将红外相机的佩戴高度h录入到小型处理器中。

(2)两个红外相机采集前方的三维场景(如图2)的红外图像,同时姿态角传感器获得此时相机的姿态角数据,并通过串口转usb模块将姿态角数据转换成usb数据,然后usb集线器将姿态角数据和图像数据传给小型处理器。

(3)小型处理器根据姿态角数据,获得相机坐标系,进一步计算相机坐标系的坐标轴与世界坐标系中对用的坐标轴之间的夹角(αβγ);

(4)小型处理器将两个红外图像转换为一幅深度图像pdepth,如图3,创建m*n大小的矩阵a,其中m和深度图pdepth的高相等,n和深度图pdepth的宽相等;

(5)遍历深度图像pdepth的每一个像素点,得到图像坐标系下每一点p(u,v,z),z为该点的深度值。u为图像坐标系中,像素点的横坐标,v为图像坐标系中,像素点的纵坐标,如图4;

(6)判断p(u,v,z)的z值是否为零,如果非零,通过坐标转换将图像坐标系下的点转换到相机坐标系的点q(x,y,z),其中z=z。u0为相机光轴与成像平面交点的横坐标,v0为相机光轴与成像平面交点的纵坐标,如图5,;进一步将相机坐标系的点q(x,y,z)转换到世界坐标系下,得到世界坐标系下对应的点p(xw,yw,zw),转换方式为:

其中yw为该点的高度值,zw为该点和相机的距离。并求得每个点p(xw,yw,zw)对应的偏角

(7)判断点p(xw,yw,zw)中yw是否大于h1,本实施例中,h1为30cm。如果yw>h1,将该点的zw值置0,如果yw<h1,zw的坐标值不变,获得p(xw,yw,z'w),其中z'w为0或zw。

(8)判断偏角θ是否在[-α,α]范围内,本实施例中,α为15°,若是,则将p(xw,yw,z'w)存入到矩阵a中,深度图像pdepth中,与p(xw,yw,z'w)对应的像素点是p(u,v,z),则点p(xw,yw,z'w)在矩阵a中的行和列分别为u,v;

(9)创建集合e1和e2,遍历矩阵a中每一个元素,判断m行n列元素aij的zw分量是否为零,若zw=0,将元素aij存入集合e1中,若zw≠0,将元素aij存入集合e2中,集合e1称为无效点集合,集合e2称为有效点集合。

(10)从集合e2中随机选取k个点,组成集合e,对集合e中的点进行最小二乘法平面拟合得到平面的一般方程ax+by+cz=d,得到平面的法向量取世界坐标系中垂直方向上的单位向量求出法向量和单位向量的夹角的余弦值

(11)比较cosθ和ccos的大小关系,其中ccos为角度是的余弦值,如果cosθ<ccos,则判断前方区域为非地面,对原始的深度图像pdepth进行分块,分成10*13块,如图6;求出每一块的平均高度值存入到矩阵b中,对矩阵b的每一行进行处理,矩阵b中的元素对应每一块的高度平均值

(12)求出每一行的所有的异常值bnm,如图7,得到所有异常值bnm的位置col(n,m),即第n行m列,异常值bnm在第n行中是具有显著性差异的值(p<0.05),同时满足两个条件,第一:n行的第m个元素表示的高度距离地面超过h异,h异的值为5-10cm,也就是|bnm-h人|>h异,第二:n行的第m(m<n)个元素和第m+1个元素所表示的高度差超过h差,h差的值为5cm,也就是|bnm-bn(m+1)|>h差;

(13)同理,求出每一列的所有异常值,得到异常值位置row(n,m)。

(14)比较col(n,m)和row(n,m)的坐标值是否相同,如果col=row,则深度图像pheight对应的第n*m块对应的高度值相比其它块有明显的变化,则说明第n*m块位置有障碍物,这时返回标志位mark=1。

(15)若每一行和每一列都没有找到异常值,说明深度图像pdepth中的值是均匀变化的,没有明显的突变趋势,则说明整幅图像pdepth代表的是坡面的深度图,这时返回标志位mark=2。

(16)标志位mark=1时小型处理器向骨传导耳机发送播放命令,播放内容为“小心障碍物”,当标志位mark=2时小型处理器向骨传导耳机发送播放命令,播放内容为“小心坡道”。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1