发明内容
本发明实施例提供一种基于单目视觉的障碍物检测方法及装置,以降低误检测率、并使检测出的障碍物更完整。
本发明实施例提供了一种基于单目视觉的障碍物检测方法,包括:
对当前时刻的图像进行分割,获得若干个分割后的区域;
获取自车运动参数,将当前时刻的前t时刻图像上所有的像素点按照所述自车运动参数运动后生成当前时刻的假想图像;其中,t≥1;
计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域;
计算所述当前时刻图像中的每个候选障碍物区域与所述每个分割后区域是否有交集,若有,则计算交集部分的像素点面积与对应分割区域像素点面积所构成的障碍物判别百分比,根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物。
其中,所述对当前时刻的图像进行的分割采用基于颜色和距离信息的区域分割方法、基于区域增长的分割方法、或基于边缘的分割方法。
其中,计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域的步骤包括:
i)将所述当前时刻图像和当前时刻的假象图像都分成若干n×n小块;
ii)利用归一化相关值NC算法,计算所述当前时刻图像中的某n×n小块与当前时刻的假想图像对应位置的n×n小块的相似程度值NC;
iii)若所述相似程度值NC大于预设的相似度阈值,则判定所述当前时刻图像中的该当前n×n小块为障碍物块;
iv)重复步骤ii)和iii),依次计算所有小块相似程度值NC,获得当前时刻图像中的所有障碍物块;
v)根据所述障碍物块以及连通原则确定当前时刻图像中的候选障碍物区域。
其中,步骤ii)所述利用NC算法,计算所述当前时刻图像中的某n×n小块与当前时刻的假想图像对应位置的n×n小块的相似程度值NC的步骤包括:
令p″(x,y)和p′(x,y)分别表示当前时刻图像某像素点和假想的当前时刻图像某像素点的灰度值,则所述相似程度值NC为
其中,n为自然数。
其中,步骤iii)所述连通原则为8连通原则,或4连通原则。
其中,根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物的步骤包括:
若所述障碍物判别百分比大于预先设定的第一障碍物阈值,则判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并利用所对应的障碍物判别百分比最大的分割区域表示障碍物;
若所述障碍物判别百分比小于预先设定的第二障碍物阈值,则判定该候选障碍物区域为非障碍物;
若所述障碍物判别百分比小于等于预先设定的第一障碍物阈值,且大于等于预先设定的第二障碍物阈值;则判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并利用所述候选障碍物区域表示障碍物。
本发明实施例还提供了一种基于单目视觉的障碍物检测装置,包括:
图像分割单元,用于对当前时刻的图像进行分割,获得若干个分割后的区域;
自车运动参数获取单元,用于获取自车运动参数;
假想图像生成单元,用于将当前时刻的前t时刻图像上所有的像素点按照所述自车运动参数运动后生成当前时刻的假想图像;其中,t≥1;
候选障碍物区域生成单元,用于计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域;
障碍物判别百分比生成单元,用于计算所述当前时刻图像中的每个候选障碍物区域与所述每个分割后区域是否有交集,若有,则计算交集部分的像素点面积与对应分割区域像素点面积所构成的障碍物判别百分比;
障碍物检测单元,用于根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物。
其中,所述候选障碍物区域生成单元包括:
图像划分单元,用于将所述当前时刻图像和当前时刻的假象图像都分成若干n×n小块;
相似程度值计算单元,用于利用NC的相关算法,计算所述当前时刻图像中的某n×n小块与当前时刻的假想图像对应位置的n×n小块的相似程度值NC;
障碍物块判定单元,用于在所述相似程度值NC大于预设的相似度阈值时,判定所述当前时刻图像中的该当前n×n小块为障碍物块;
生成单元,用于计算所有小块的相似程度值NC,获得当前时刻图像中的所有障碍物块;根据所述障碍物块以及连通原则确定当前时刻图像中的候选障碍物区域。
其中,所述障碍物检测单元包括:
判别单元,用于判断出所述障碍物判别百分比大于预先设定的第一障碍物阈值时,判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并通知障碍物表示单元利用对应的障碍物判别百分比最大的分割区域表示障碍物;
判断出所述障碍物判别百分比小于预先设定的第二障碍物阈值时,判定该候选障碍物区域为非障碍物;
判断出所述障碍物判别百分比小于等于预先设定的第一障碍物阈值,且大于等于预先设定的第二障碍物阈值时;判定该候选障碍物区域为障碍物,并通知障碍物表示单元利用所述候选障碍物区域表示障碍物;
障碍物表示单元,用于根据接收到的通知表示障碍物。
其中,所述连通原则为8连通原则,或4连通原则。
应用本发明实施例提供一种基于单目视觉的障碍物检测方法及装置,采用了基于图像块相似程度的方法产生候选障碍物区域,并结合运动补偿结果产生的障碍物候选区域来综合判断、产生最终的障碍物区域,与传统的运动补偿方法相比,由于采用当前时刻图像中的每个候选障碍物区域与每个分割后区域的交集作为最终的障碍物区域,因而具有误检测率低且障碍物检测完整的优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种基于单目视觉的障碍物检测方法,包括:对当前时刻的图像进行分割,获得若干个分割后的区域;获取自车运动参数,将当前时刻的前一时刻图像上所有的像素点按照所述自车运动参数运动后生成当前时刻的假想图像;利用相关算法计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域;统计所述当前时刻图像中的每个候选障碍物区域与所述每个分割后区域是否有交集,若有,则计算交集部分的像素点面积与对应分割区域像素点面积所构成的障碍物判别百分比,根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物。由于采用基于图像块相似程度的方法产生候选障碍物区域,并结合运动补偿结果产生的障碍物候选区域来综合判断、产生最终的障碍物区域,与传统的运动补偿方法相比,由于采用上述结果的交集作为最终的障碍物区域,具有误检测率低且障碍物检测完整的优点。
下面结合附图具体说明。
参见图1,其是根据本发明实施例的基于单目视觉的障碍物检测方法流程图。具体包括:
步骤101,对当前时刻的图像进行分割,获得若干个分割后的区域。
具体的可以采用基于颜色和距离信息的区域分割方法、基于区域增长的分割方法、或基于边缘的分割方法、或他的分割对当前时刻的图像进行分割;本发明实施例并不对具体的分割方法进行限制,只要能将当前时刻的图像进行分割,可以获得若干个分割后的区域即可。下面以基于颜色和距离信息的区域分割方法为例,来详细说明如何进行分割。
首先,假设待分割的当前时刻图像M的大小为L×W,则最初假定有L×W个区域,即每个像素点为一个独立的区域。
然后,根据如下方法对这L×W个区域进行合并,其方法如下:
对当前时刻图像M生成一个无向图G=(V,E),其中,V是像素点集合,E为由V中像素点构成的边的集合,本文里的边只限中心像素点和其八邻域的各点组成的边。即包含点p1的边只有(p1,pi),i=2…9,无向是说(p1,pi)和(pi,p1)表示同一个边。这样,当前时刻图像中任意像素点与其相邻的八邻域中任一像素点构成且只构成一个边,如图2所示,例如(p1,p4)和(p1,p5)是两个不同的边,(p1,p4)和(p4,p1)是一个相同的边。
权值计算公式如下:点p1,p2之间的权值w(p1,p2)为:
其中,R(pi),G(pi),B(pi),i=1,2,分别表示像素点坐标pi,i=1,2的颜色分量R、G、B的值。
假定无向图G有n个像素点和m个连接,区域分割步骤如下:
1)把E中所有的连接Oq=(Vi,Vj)按权重大小升序排列形成新的集合π=(Ol,…,Om)。
2)初始化一个区域集合S0,在这个集合中,每一个像素点即节点就是一个区域。
3)假设Ci q-1是第q-1次区域合并结果Sq-1中包含节点Vi的区域,Cj q-1是Sq-1中包含节点Vj的类。如果区域 并且满足如下条件:
则将区域Ci q-1和Cj q-1合并,作为第q次区域合并的结果Sq,否则Sq=Sq-1。也就是说,如果任意两个像素点之间的距离很近且颜色也很接近就合并。
其中τ(C)=K/|C|,式中|C|表示类区域C的面积,即像素个数,K为常数, Sr为整幅图像的面积。
4)对q=1,…,m,重复第3)步。
5)返回第m次区域合并后的结果Sm,Sm=(C1,…,Cr),即当前时刻图像被分割为r个区域。
步骤102,获取自车运动参数。
本发明实施例中所获取的自车(相机或摄像机,为简便以下类似地方统称为相机)运动参数可以由传感器获得,如可以通过速度传感器和陀螺仪传感器等获取,也可以由序列图像用计算的方法获得,如采用光流方法、运动恢复结构(Structure form Motion,SFM)的方法或基于特征点检测、直接法等方法估计得到,如文献1“A robust method for computing vehicle ego-motion(一种计算自车运动的直接方法)”采用直接的方法估计运动参数,文献2“Transforming camera geometry to a virtual downward-looking camera:robustego-motion estimation and ground-layer detection”采用改进的直接方法获得运动参数。本发明实施例采用文献1的直接估计方法获取自车运动参数。
在本发明实施例中设定世界坐标系[O;Xw,Yw,Zw]和前一时刻图像的相机的世界坐标系[O′;Xc,Yc,Zc]的原点O,O′重合,坐标轴之间可以有旋转角,世界坐标系的Zw轴平行于道路平面,Yw垂直于道路平面。如图3所示。
采用道路平面假设,将自车运动参数m表示为m={tx,tz,ωy},即在Xw,Zw方向有一个平移,在Yw方向有一个旋转。
步骤103,将当前时刻的前一时刻图像上所有的像素点按照所述自车运动参数运动后生成当前时刻的假想图像。
所谓的假想图像是指假设前一时刻图像中所有像素点都是道路平面上的点所成的像(其中Yw=相机高度),相机运动后,这些地面上的点在新的相机位置下所成的像,即为假想图像。如图4所示。下面以前一时刻图像上某点P为例,说明如何生成新的相机位置下的假想图像。
假设前一时刻图像上点P是道路平面上点P0所成的像(实际上是立体物上的点P1所成的像),相机运动后,P0所成的像点P′即为当前时刻假想图像上与P对应的点,即将点P的灰度值赋给点P′。同理,可以得到当前时刻假想图像上其它像素点与前一时刻图像上点的对应关系,从而可以得到新的相机位置下的当前时刻的假想图像。
下面说明如何求得假想图像中P′点的坐标。
以前一时刻图像中某一像素点P(r,c)为例,r,c分别为该点在图像中的行坐标和列坐标,P是道路平面上点P0(XW,YW,ZW)的所成的像点。根据相机成像公式(1)得到P0的z轴坐标:
从而,可以计算出点P0的世界坐标(XW,YW,ZW)。其中已知Yw=相机高度,αx,αx,u0,v0是相机内部参数,可由相机标定获得。ZC是P0在相机坐标系中Z轴的坐标,可在相机成像公式计算过程中获得。
式(2)为相机的旋转矩阵,α,β,γ分别是相机坐标系绕世界坐标系x,y,z轴的旋转角。平移向量 Tx,Ty,Tz为相机坐标系原点在世界坐标系下的位置。α,β,γ,Tx,Ty,Tz均为相机外部参数,在安装相机时获得。
由步骤102所获得的运动参数m={tx,tz,ωy}可得运动后相机坐标系原点在世界坐标系下的坐标为Tx+tx,Ty,Tz+tz,相机坐标系绕世界坐标系x,y,z轴的旋转角变为α,β+ωy,γ。根据此时相机的旋转矩阵和平移矩阵,以及已经计算出的P0的世界坐标(XW,yw,zw),再由上述相机成像公式(1),方程右端为已知,可求得左端未知数,即点p0在假象图像中的成像P′坐标。
假设从步骤102中所获得的从前一时刻到当前时刻的像机运动速度参数为m,根据上述前一时刻图像点到当前时刻假想图像上点的变换过程,将前一时刻图像ψ(r,c)上所有的点按运动参数m运动后产生了一幅当前时刻的假想图像。如果不考虑噪声的影响,在道路平面的假设前提下,假想图像中的道路区域与真实的当前时刻的图像ψ′(r,c)的道路区域是完全一致的,而非道路区域则不同。以下将利用这个原理,检测候选障碍物区域。
步骤104,利用相关算法计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域。
在本发明实施中,为克服光照影响,增加检测的抗干扰性,基于图像块相似程度的方法产生候选障碍物区域,其具体做法如下:
i)将当前时刻图像和当前时刻的假象图像都分成若干n×n小块;
ii)利用归一化相关值(NC,Normalized.Correlation)算法,计算所述当前时刻图像中的某n×n小块与当前时刻的假想图像对应位置的n×n小块的相似程度值NC;具体为:
令p″(x,y)和p′(x,y)分别表示当前时刻图像某像素点和假想的当前时刻图像某像素点的灰度值,则所述相似程度值NC为
其中,n为自然数。
iii)若所述相似程度值NC大于预设的相似度阈值,则判定所述当前时刻图像中的该当前n×n小块为障碍物块;
iv)重复步骤ii)和iii),依次计算所有小块相似程度值NC,获得当前时刻图像中的所有障碍物块;
v)根据所述障碍物块以及连通原则确定当前时刻图像中的候选障碍物区域。该连通原则可以是8连通原则,也可以是4连通原则,或是其它的连通原则。以下以8连通原则为例进行说明:
如果某n×n小块被认为是候选障碍物块,且该小块的8邻域相邻的某块或某几块同样为候选障碍物,则该块与8邻域相邻的某块或某几块共同构成一个障碍物的区域。其中8邻域为与该块相邻的周围8个块,如图5所示,8个白色块为黑色块的8邻域。
步骤105,进行障碍物判断。在实际情况下,道路区域可能不满足平面假设,因此上述步骤所产生的障碍物候选区域可能出现误检测或障碍物区域检测不完整的问题。为此,继续进行障碍物判断,即统计步骤104中当前时刻图像中的每个候选障碍物区域与步骤101中每个分割后区域是否有交集,若有,则计算交集部分的像素点面积与对应分割区域像素点面积的百分比,该百分比记为障碍物判别百分比,根据该障碍物判别百分比以及预先设定的障碍物阈值确定障碍物。
具体的,根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物的步骤包括:
若所述障碍物判别百分比大于预先设定的第一障碍物阈值T1,则判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并利用步骤101中所对应的障碍物判别百分比最大的分割区域表示障碍物;
若所述障碍物判别百分比小于预先设定的第二障碍物阈值T2,则判定该候选障碍物区域为非障碍物;
若所述障碍物判别百分比小于等于预先设定的第一障碍物阈值T1,且大于等于预先设定的第二障碍物阈值T2;则判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并利用所述候选障碍物区域表示障碍物。
至此,完成了基于单目视觉的障碍物检测。应用本发明实施例提供的方法,由于采用基于图像块相似程度的方法产生候选障碍物区域,并结合运动补偿结果产生的障碍物候选区域来综合判断、产生最终的障碍物区域,与传统的运动补偿方法相比,由于采用上述结果的交集作为最终的障碍物区域,具有误检测率低且障碍物检测完整的优点。
本发明实施例还提供了一种基于单目视觉的障碍物检测装置,参见图6,该装置包括:图像分割单元601、自车运动参数获取单元602、假想图像生成单元603、候选障碍物区域生成单元604、障碍物判别百分比生成单元605和障碍物检测单元606,其中,
图像分割单元601,用于对当前时刻的图像进行分割,获得若干个分割后的区域;
自车运动参数获取单元602,用于获取自车运动参数;
假想图像生成单元603,用于将当前时刻的前t时刻图像上所有的像素点按照所述自车运动参数运动后生成当前时刻的假想图像;其中,t≥1;
候选障碍物区域生成单元604,用于计算所述当前时刻图像和当前时刻的假想图像的相似程度,确定当前时刻图像中的候选障碍物区域;
障碍物判别百分比生成单元605,用于统计所述当前时刻图像中的每个候选障碍物区域与所述每个分割后区域是否有交集,若有,则计算交集部分的像素点面积与对应分割区域像素点面积所构成的障碍物判别百分比;
障碍物检测单元606,用于根据所述障碍物判别百分比以及预先设定的障碍物阈值确定障碍物。
上述候选障碍物区域生成单元604还可以包括:图像划分单元6041、相似程度值计算单元6042、障碍物块判定单元6043和生成单元6044(图未示),其中,
图像划分单元6041,用于将所述当前时刻图像和当前时刻的假象图像都分成若干n×n小块;
相似程度值计算单元6042,用于利用NC算法,计算所述当前时刻图像中的某n×n小块与当前时刻的假想图像对应位置的n×n小块的相似程度值NC;
障碍物块判定单元6043,用于在所述相似程度值NC大于预设的相似度阈值时,判定所述当前时刻图像中的该当前n×n小块为障碍物块;
生成单元6044,用于计算所有小块的相似程度值NC,获得当前时刻图像中的所有障碍物块;根据所述障碍物块以及连通原则确定当前时刻图像中的候选障碍物区域。所述连通原则可以是8连通原则,也可以是4连通原则,还可以是其它的连通原则。
上述障碍物检测单元606内可以包括:判别单元6061和障碍物表示单元6062(图未示),其中,
判别单元6061,用于判断出所述障碍物判别百分比大于预先设定的第一障碍物阈值T1时,判定该障碍物判别百分比所对应的候选障碍物区域为障碍物,并通知障碍物表示单元利用对应的障碍物判别百分比最大的分割区域表示障碍物;判断出所述障碍物判别百分比小于预先设定的第二障碍物阈值T2时,判定该候选障碍物区域为非障碍物;判断出所述障碍物判别百分比小于等于预先设定的第一障碍物阈值T1,且大于等于预先设定的第二障碍物阈值T2时;判定该候选障碍物区域为障碍物,并通知障碍物表示单元利用所述候选障碍物区域表示障碍物;
障碍物表示单元6062,用于根据接收到的通知表示障碍物。
应用本发明实施例提供的装置,由于采用基于图像块相似程度的方法产生候选障碍物区域,并结合运动补偿结果产生的障碍物候选区域来综合判断、产生最终的障碍物区域,与传统的运动补偿方法相比,由于采用上述结果的交集作为最终的障碍物区域,具有误检测率低且障碍物检测完整的优点。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。