一种基于双目相机的实时台阶检测方法与流程

文档序号:16042094发布日期:2018-11-24 10:33阅读:395来源:国知局

本发明属于计算机视觉、机器学习技术领域,尤其是涉及了一种基于双目相机的实时台阶检测方法。

背景技术

根据世界卫生组织的数据,全世界约有2.85亿视障人士,其中仅全盲人士便多达3900万。视障人士由于缺失正常的视觉,无法有效地区分地上是否有台阶,对视障人士的出行造成了威胁。

目前,对台阶的检测大多基于雷达,但是雷达体积较大,功耗很大,难于做成穿戴式设备。基于图像的台阶检测都是基于灰度图的梯度或者深度的梯度,前者收到光线变化的影响,对环境的适应性较差。后者对深度图的准确度要求很高,消费级的深度相机性能根本难以满足其精度要求。



技术实现要素:

本发明目的在于针对现有技术的不足,提供一种用于台阶检测方法。

本发明的目的是通过以下技术方案实现的:一种用于台阶检测方法,包括以下步骤:

(1)利用双目相机采集周围环境的灰度图像和深度图像;利用九轴陀螺仪获取双目相机坐标系到世界坐标系下的变换关系。

(2)对于深度图像中纹理缺失、视野遮挡以及双目相机本身的缺陷造成的深度图缺失,利用周围的深度信息的均值填补缺失的深度。然后用均值滤波平滑深度图的噪声。

(3)利用深度图像,通过双目相机的深度图以及相机参数计算得到相机坐标下的三维点云。根据所述步骤(1)得到的变换矩阵计算世界坐标系下的三维点云。

(4)世界坐标系下的三维点云分割成点云块,具体为:将灰度图像均匀地分割成大小相同的矩形块,矩形块矩阵分布;每个矩形块中的各个像素对应的三维点云组成点云块。

(5)将每一个点云块用ransac平面拟合法拟合出点云块所属平面。如果拟合的点云数少于点云块点云总数的30%,则不认为其是一个平面,否则认为其是平面;对于拟合出的平面,计算出其法向量(v′x,v′y,v′z),并计算出点云块距离地面的平均高度h。

(6)若该点云块是平面且平面法向量与地平面的法向量(0,0,1)夹角小于20度,并且h满足h≤40cm,则认为该点云块属于地面,否则认为其不属于地面。

(7)将属于地面的点云块根据距离相机远近对点云进行升序排序,共n行,相同距离的点云块排设于同一行;将前n/4行的点云块采用ransac平面拟合方法进行平面拟合得到拟合平面。

(8)对于前n/4行的点云块,由近到远进行逐行遍历,计算每一行中的点云块到平面的平均距离。若距离小于20mm,认为该行点云属于当前平面,否则不属于当前平面。

(9)若所有行的点云块都属于当前平面,则地面平坦,无台阶。若第n行的点云不属于当前平面,则对n~n行的所有点云块按照ransac平面拟合方法进行重新平面拟合,得到二次拟合平面;

(10)计算二次拟合平面中第n行的拟合高度与步骤5得到的拟合平面中第n-1行的拟合高度之差,若高度差大于50mm,则该处为台阶,并根据步骤2处理后的深度图,获得该台阶与双目相机之间的距离。

进一步地,利用九轴陀螺仪获取双目相机坐标系到世界坐标系下的变换关系具体为:

(a)将双目相机与九轴陀螺仪垂直安装,保证相机和陀螺仪的位姿关系在使用过程中固定不变;

(b)利用九轴陀螺仪测得相机的位姿,根据相机位姿获取相机坐标系到世界坐标系的变换矩阵;

进一步地,所述步骤5中,出点云块距离地面的平均高度h,是通过以下方法计算得到:hi为点云块中第i个像素点距离地面的高度,m为点云块中像素点的个数。

进一步地,所述步骤2中的填补方法如下:如果深度图点p(i,j)存在缺失,则利用以p(i,j)为中心边长为17的正方形区域内的深度均值p'(i,j)来填充该点。其中:

进一步地,还包括通过深度神经网络对灰度图像进行分析,预判周围环境中是否有台阶;若预判结果为由台阶,再按照步骤(2)~(10)进行检测。

进一步地,所述神经网络,是利用含有台阶的灰度图像训练得到的。

本发明的有益效果在于:

(1)环境适应性好,抗干扰能力强。本发明对双目相机的深度图进行了补洞和均值滤波。即使深度图因为路面缺少纹理、强光照射或者遮挡等其它原因造成缺失,都能将其补全并尽可能的接近真实值,并去除干扰噪声。通过平面拟合寻找地面,剔除了除地面以外点云,因此本发明不易被周围的环境大物体干扰,例如墙面、树或者桌椅等。用两块地面构成的两个平面计算地面之间的高度差,不会受到如小石头等小物体的干扰。除此之外,本发明还通过深度学习对环境进行预判,可以很大程度上的提高检测的准确率。因此本发明的环境适应性强,抗干扰能力也很强。

(2)对硬件的精度要求低,成本低,功耗低。本发明只需要双目相机和九轴陀螺仪两个传感器,都是无源低功耗的传感器。由于本发明的抗干扰能力很强,因此对双目相机的精度和九轴陀螺仪的精度要求都较低,可以采用低成本的传感器。

(3)可在运动情况下使用。本发明对相机的姿态进行了解算,将三维点云由相机坐标系转换世界坐标系,因此身体或者相机任意的摆动,都不会影响台阶的检测。

(4)学习成本低。本发明对佩戴的需求不高,只需要保证相机朝前即可,本发明会自动地实时地检测台阶,不会传递冗余的信息,因此学习成本低。

附图说明

图1是原始三维点云和滤波后和三维点云。

图2是相机坐标系到世界坐标系的转换过程。

图3包含台阶、平坦物体和其它物体,白色表示点云,灰色是拟合出的有限平面。

具体实施方式

下面结合附图对本发明进一步说明。

本发明涉及一种用于实时检测台阶的方法,该方法基于双目相机、九轴陀螺仪等实现。其中双目相机用于捕获周围环境的灰度信息和深度信息;九轴陀螺仪用于解算相机的姿态。基于上述硬件,本发明的检测方法如下:

(1)利用双目相机采集周围环境的灰度图像和深度图像;利用九轴陀螺仪获取双目相机坐标系到世界坐标系下的变换关系。九轴陀螺仪和相机的相对位置是固定,根据九轴陀螺仪可以计算出陀螺仪的位姿,即相机的位姿。根据相机位姿,可以计算得到相机到世界坐标系的平移矩阵mt和旋转矩阵mr。变换过程如图2所示

(2)台阶预判。收集含有台阶和不包含台阶的灰度图各2000张,对这些图像进行旋转、加噪和变换亮度,进行数据的扩增,利用扩增后的数据训练深度为9层的卷积神经网络,直至卷积神经网络收敛。将采集的灰度图输入到训练好神经网络,网络将判断图片中是否包台阶。

(3)深度图补洞和降噪。对于深度图像中纹理缺失、视野遮挡以及双目相机本身的缺陷造成的深度图缺失,如果深度图点p(i,j)存在缺失,则利用以p(i,j)为中心边长为17的正方形区域内的深度均值p′(i,j)来填充该点。其中:

利用上式可以同时完成补洞和均值滤波。滤波前和滤波后效果如图1所示。

(4)寻找地面。将灰度图像均匀地分割成大小相同的矩形块,矩形块矩阵分布;将灰度图中每个像素对应的三维点云像素也按以上关系分为不同点云块。将每一个点云块用ransac平面拟合法拟合出点云所属平面。如果拟合的点云数少于点云块点云总数的30%,则不认为其是一个平面,否则认为其是平面,计算出其法向量(v′i,v′j,v′k),以及计算出点云块距离地面的平均高度h。

hi为点云块中第i个像素点距离地面的高度,m为点云块中像素点的个数。

若该点云块是平面且平面向量与地平面的向量(0,0,1)夹角θ小于20度,并且高度h与地平面0的高度差|h-0|小于40cm,则认为该点云块属于地面,否则认为其不属于地面。

其中,ransac平面拟合是基于ransac算法。ransac是“randomsampleconsensus(随机抽样一致)”的缩写。ransac算法的输入是一组观测数据,一个可以解释或者适应于观测数据的参数化模型,一些可信的参数。

ransac通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:

1.有一个模型适应于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。

2.用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。

3.如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。

4.然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。

5.最后,通过估计局内点与模型的错误率来评估模型。

这个过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为比现有的模型更好而被选用。

在ransac平面拟合中,模型即为平面方程ax+by+cz+d=0,未知参数为a,b,c和d。所以虽然所有点都参与了拟合,但并不是所有点都被选为局内点,所以不是所有点参与模型参数的计算。在台阶平面的拟合过程中,如果ransac算法迭代次数足够多,那么总是趋向面积最大的一阶作为局内点,并根据这些点去计算平面方程。

(5)台阶判断。将不属于地面的点云块剔除。将属于地面的点云块根据距离相机远近对点云进行升序排序,共n行,相同距离的点云块排设于同一行;将前n/4行的点云块采用ransac平面拟合方法进行平面拟合得到拟合平面。

(6)对于前n/4行的点云块,由近到远进行逐行遍历,计算每一行中的点云块到平面的平均距离。若距离小于20mm,认为该行点云属于当前平面,若第n行的点云不属于当前平面,则对n~n行的所有点云块按照ransac平面拟合方法进行重新平面拟合,得到二次拟合平面;

(7)计算二次拟合平面中第n行的拟合高度与步骤5得到的拟合平面中第n-1行的拟合高度之差,若高度差大于50mm,则该处为台阶,如图3所示。并根据步骤2处理后的深度图,获得该台阶与双目相机之间的距离。

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