本发明涉及智能交通及图像处理技术领域,特别涉及一种单目视觉测距方法、存储介质及单目摄像头。
背景技术:
目前,具有ad(autonomousdriving,自主驾驶)功能或adas(advanceddriverassistancesystem,高级驾驶辅助系统)的车辆已开始逐步推向市场,极大地促进了智能交通的发展。
现有技术中,支持ad/adas的传感器主要有雷达、视觉相机系统、激光雷达、超声波传感器等,其中视觉相机系统因能够获得与人类视觉一样的二维图像信息而应用最为广泛,其典型应用包括车道检测、物体检测、车辆检测、行人检测、骑车人检测等指定目标检测。
目前用于物体识别/检测的视觉相机系统主要包括单目摄像头和立体摄像头,两者都有自己的特色。单目摄像头紧凑、简单、易于安装等优点,且它需要的计算量比立体摄像机小。由于这些优点,单目摄像头在实际市场中的使用越来越多。但是,单目摄像头存在一个致命的缺点,即其进行距离估计的准确性太低(低于立体摄像机),因此长期以来一直期望能够提高单目摄像头的距离估测精度。
技术实现要素:
有鉴于此,本发明旨在提出一种单目视觉测距方法,以解决现有单目摄像头距离估测精度不高的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种单目视觉测距方法,包括:基于单目摄像头与目标的几何关系,计算所述目标相对于所述单目摄像头的第一距离;基于所述目标与对应参考图案中的参考目标的尺寸比,计算所述目标相对于所述单目摄像头的第二距离,其中所述尺寸比包括高度比或宽度比;评估所述第一距离和所述第二距离的可信度,并根据所评估的可信度来确定向所述第一距离和所述第二距离分别分配的权重值,其中可信度越高,对应的权重值越高;以及基于所述第一距离、所述第二距离及所述第一距离和所述第二距离各自对应的权重值,计算所述目标相对于所述单目摄像头的最终距离。
进一步的,所述计算所述目标相对于所述单目摄像头的所述第一距离包括:在所述单目摄像头的感兴趣范围中的一个距离处设置假想窗口,其中所述假想窗口具有预定的物理尺寸,且包括所述目标的全部或部分且所述假想窗口的底部接触真实地面;以及将所述单目摄像头至所述假想窗口的距离作为第一距离d1。
进一步的,所述计算所述目标相对于所述单目摄像头的第一距离包括:在所述单目摄像头的感兴趣范围中设置多个假想窗口,其中每一假想窗口相对于所述单目摄像头距离不同且具有相同的物理尺寸,且包括所述目标的全部或部分;评估目标高度与该目标底部至各窗口底部的距离之间的高度比;以及根据评估结果对每一假想窗口进行评分,并选择分数最高的假想窗口,并将该分数最高的假想窗口相对于所述单目摄像头的距离作为所述第一距离d1。
进一步的,所述评估目标高度与该目标底部至窗口底部的距离之间的高度比包括:通过每一假想窗口的物理尺寸来计算目标高度及目标底部至各窗口底部的距离,并根据计算结果评估目标高度与该目标底部至窗口底部的距离之间的高度比。
进一步的,评估所述第一距离的可信度包括:获取目标高度h1以及该目标底部至用于确定所述第一距离的窗口底部的高度h2;以及确定h1及h2的比值h2/h1,且该比值h2/h1越接近于0,对应的第一距离的可信度越高。
进一步的,所述计算所述目标相对于所述单目摄像头的第二距离包括:获取目标尺寸参数s1,且所述目标尺寸参数s1包括目标高度h1或目标宽度w1;获取相对于所述单目摄像头的参考距离d_ref内的参考图案中的参考目标对应于目标尺寸参数s1的尺寸参数s_ref,且该参考目标尺寸参数包括参考目标高度h_ref或参考目标宽度w_ref;以及根据下式计算第二距离d2:
d2=(s_ref/s1)*d_ref。
进一步地,评估所述第二距离的可信度包括:确定s1及s_ref的比值s_ref/s1,且比值s_ref/s1越接近于1,对应的第二距离的可信度越高。
进一步地,所述基于所述第一距离、所述第二距离及所述第一距离和所述第二距离各自对应的权重值,计算所述目标相对于所述单目摄像头的最终距离包括:采用下式计算所述最终距离:
range_w_r=(d1*point_win+d2*point_ref)/(point_win+point_ref)
式中,range_w_r表示最终距离,d1表示第一距离,point_win表示第一距离对应的第一权重值,d2表示第二距离,point_ref表示第二距离对应的第二权重值。
进一步地,当使用多个假想窗口时,基于第一权重值point_win和第二权重值point_ref的具有最高得分的最终距离range_w_r被选择作为最终距离,其中所述得分是第一权重值point_win和第二权重值point_ref之和或者是关于第一权重值point_win和第二权重值point_ref的函数。
相对于现有技术,本发明所述的单目视觉测距方法具有以下优势:本发结合了第一距离和第二距离两种测距方案(即基于几何关系和基于图案匹配)来共同确定最终距离,显著地提高了单目摄像头的测距可信度,并且相对于采用单一距离的方案,如果某一测距方案不可用,则在某些情况下可以使用另一种测距方案,从而本发明实施例的单目视觉测距方法能实现更好、更稳定、更广泛的目标检测。
本发明的另一目的在于提出一种机器可读存储介质,以解决现有单目摄像头距离估测精度不高的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的单目视觉测距方法。
所述机器可读存储介质与上述单目视觉测距方法相对于现有技术所具有的优势相同,在此不再赘述。
本发明的另一目的在于提出一种单目摄像头,以解决现有单目摄像头距离估测精度不高的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种单目摄像头,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的单目视觉测距方法。
所述单目摄像头与上述单目视觉测距方法相对于现有技术所具有的优势相同,在此不再赘述。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种单目视觉测距方法的流程示意图;
图2是本发明实施例中基于单目摄像头与实际目标的几何关系进行测距的原理示意图;
图3是本发明实施例中的测量图像与参考图案的示意图;
图4(a)是设置有三个假想窗口的示意图;
图4(b)是与图4(a)相对应的三个假想窗口与窗口中的实际目标的相对位置示意图;
图4(c)示出了基于多个窗口确定第一距离的流程示意图;
图4(d)示出了窗口中目标的位置的示意图;以及
图5(a)和图5(b)分别为采用测量方法_1和测量方法_2确定权重值的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。
下面将参考附图并结合实施方式来详细说明本发明。
图1是本发明实施例的一种单目视觉测距方法的流程示意图,其中所述单目视觉是针对安装在车辆上的单目摄像头的,且所述测距是指测量所述单目摄像头相对于车辆周边的实际目标的距离。如图1所示,该单目视觉测距方法可以包括以下步骤:
步骤s100,基于单目摄像头与目标的几何关系,计算所述目标相对于所述单目摄像头的第一距离。
其中,所述目标是指所述单目摄像头预期要拍摄的目标,例如是车辆前方的其他车辆、障碍物(如路锥等)等。
举例而言,图2是本发明实施例中基于单目摄像头与实际目标的几何关系进行测距的原理示意图。如图2所示,假设单目摄像头a的坐标与地面平行,并设单目摄像头a至地面的距离为h,且单目摄像头a至目标b的接触地面的底部(即目标的下边缘)的视线相对于地面的夹角为θ,则单目摄像头a至目标b的距离d1=h/tanθ。但在实际中,因难以确定目标的下边缘,实际上很难计算出精确的距离d1。对此,本发明实施例提出了新的计算距离d1的方法,将在下文进行具体介绍。
步骤s200,基于所述目标与对应参考图案中的参考目标的尺寸比,计算所述目标相对于所述单目摄像头的第二距离。
其中,所述参考目标是指在与所述单目摄像头拍摄的测量图像相对应的参考图案中的目标。在优选的实施例中,计算所述目标相对于所述单目摄像头的第二距离可以包括以下步骤:获取目标尺寸参数s1,且所述目标尺寸参数s1包括目标高度h1或目标宽度w1;获取相对于所述单目摄像头的参考距离d_ref内的参考图案中的参考目标对应于目标尺寸参数s1的尺寸参数s_ref,且该参考目标尺寸参数包括参考目标高度h_ref或参考目标宽度w_ref;以及根据下式计算第二距离d2:
d2=(s_ref/s1)*d_ref。
进一步以高度比为例,图3是本发明实施例中的测量图像与参考图案的示意图,其中,设测量图像中的目标(即实际目标)的高度为h1,设参考图案中的参考目标高度为h_ref,进一步设单目摄像头至参考图案的参考距离为d_ref,则计算第二距离的步骤可以包括:获取实际目标b高度h1;获取相对于单目摄像头a的参考距离d_ref内的参考图案中的参考目标高度h_ref;以及根据下式计算第二距离d2:
d2=(h_ref/h1)*d_ref。
采用宽度比w_ref/w1计算第二距离d2的方法与采用高度比的方法相似,故在此不再进行赘述。
其中,可将步骤s100的测距方法称为测量方法_1,将步骤s200的测距方法称为测量方法_2,两者各自的优缺点如下面的表1所示:
表1
其中,对于基于几何关系的测量方式_1,在本发明实施例中,可进一步通过距离窗口算法(rangewindowalgorithm,rwa)来实现。该rwm又分别单个窗口和多个窗口两种实施方式,具体如下:
1)单个窗口
在单目摄像头的感兴趣范围中的一个距离处设置假想窗口,该假想窗口具有预定的物理尺寸,且包括目标的全部或部分且该假想窗口的底部接触真实地面。此时,将所述单目摄像头至所述假想窗口的距离作为所述第一距离。
2)多个窗口
在所述单目摄像头的感兴趣范围中设置多个假想窗口,其中每一假想窗口相对于所述单目摄像头距离不同且具有相同的物理尺寸,且包括所述目标的全部或部分。以目标为车辆为例,图4(a)是设置有三个假想窗口的示意图,其中三个假想窗口分别为w1、w2和w3,图4(b)是与图4(a)相对应的三个假想窗口与实际目标的相对位置示意图,可知每个假想窗口与实际目标的位置关系不同。其中,各个假想窗口至单目摄像头的距离可设为range_window,该range_window可以是设定距离的几何级数,例如各窗口的range_window分别是50米、60米=50×1.2米、73.2米=60×1.2米。另外,每个窗口都具有相同的物理尺寸,例如4×1.6米。
据此,在每一假想窗口对应的图像中,评估目标高度与该目标底部至各窗口底部的距离之间的高度比。根据评估结果对每一假想窗口进行评分,并选择分数最高的假想窗口,并将该分数最高的假想窗口相对于所述单目摄像头的距离作为所述第一距离。
在优选的实施例中,评估目标高度与该目标底部至窗口底部的距离之间的高度比的步骤可以包括:通过每一假想窗口的物理尺寸来计算目标高度及目标底部至各窗口底部的距离,并根据计算结果评估目标高度与该目标底部至窗口底部的距离之间的高度比。举例而言,假想窗口的物理尺寸为4×2米,据此可通过窗口尺寸估算目标高度和目标底部至窗口底部的距离的高度比。需说明的是,在其他实施例中,除了高度比之外,需要评估的项目还可以包括实际目标的宽度、边长、内/外纹理等其他度量。在现有技术中,一般是通过像素来表示目标,一个目标可能由多个像素点表示,但本发明实施例则是基于像素的度量,即这里的高度、宽度等,来表示目标。
具体地,图4(c)示出了基于多个窗口确定第一距离的流程示意图。参考图4(c),可以包括以下步骤:
步骤s110,从单目摄像头获得单色图像。
步骤s120,通过水平差分处理及阈值获得所述单色图像对应的三元图像。
其中,通过连接边缘点创建三元图像中的线段。
步骤s130,通过阈值获得所述单色图像对应的二值图像。
步骤s140,使用三元图像的线段和二值图像创建目标,并将分数给予单个帧中的目标。
步骤s150,根据得分选择窗口的最佳目标。
步骤s160,对不同的距离的窗口重复上述过程,并确定每个窗口的最佳目标。
步骤s170,选择最佳距离,该最佳距离对应的窗口的最佳目标的得分最高。
步骤s180,最佳距离的距离成为第一距离。
其中,图4(d)示出了窗口中目标的位置的示意图,设实际目标的高度为h1(与上下文一致),目标底部距离至各窗口底部(可能是地面)的距离为h2,则可知实际目标在窗口的底部位置可通过h2/h1来表述,而h2/h1也从基于像素的表达转变成了基于高度的表达。据此,承接于上面的表1,表2进一步示出的rwa的测量方法_1与测量方法_2的优缺点比较。
表2
在本发明实施例中,测量方法_2可用于支持测量方法_1,以下将进一步介绍将两者进行组合以实现精确测距的方案。
步骤s300,评估所述第一距离和所述第二距离的可信度,并根据所评估的可信度来确定向所述第一距离和所述第二距离分配权重值。
其中,可信度越高,对应的权重值越高。
其中,针对第一距离,以上述的rwa为例,h2/h1反映了其可信度。理论上,实际目标是接触路面的,故h2应该为0,h1应该接近目标的真实高度,因此h2/h1应该接近为0,且越接近于0,对应的可信度越高。
其中,针对第二距离,评估所述第二距离的可信度包括:确定s1及s_ref的比值s_ref/s1,且比值s_ref/s1越接近于1,对应的第二距离的可信度越高。以上述的表2为例,h_ref/h1反映了其可信度。h_ref是参考距离内的参考图案中的目标高度,其可以通过计算或实际图像测量来确定。例如,可以通过将目标放在100米来拍照以提供高度h_ref,而100m将是参考距离d_ref。理论上,h_ref与h1应该一致,从而h_ref/h1应该接近于1,且越接近于1,对应的可信度越高。
步骤s400,基于所述第一距离、所述第二距离及所述第一距离和所述第二距离各自对应的权重值,计算所述目标相对于所述单目摄像头的最终距离。
具体地,采用下式计算所述最终距离:
range_w_r=(d1*point_win+d2*point_ref)/(point_win+point_ref)
式中,range_w_r表示最终距离,d1表示第一距离,point_win表示第一距离对应的第一权重值,d2表示第二距离,point_ref表示第二距离对应的第二权重值。即,通过上式求取了测量方法_1和测量方法2分别获得的测距结果的加权和,从而提高了测距精度。
优选地,当使用多个假想窗口时,基于第一权重值point_win和第二权重值point_ref的具有最高得分的最终距离range_w_r被选择作为最终距离,其中所述得分是第一权重值point_win和第二权重值point_ref之和或者是关于第一权重值point_win和第二权重值point_ref的函数。
在此通过示例具体说明采用本发明实施例的方法所能取得的效果。该示例中,图5(a)和图5(b)分别为采用测量方法_1和测量方法_2确定权重值的示意图,其中图5(a)的第一权重值用fwin(x)表示,并基于h2/h1确定,图5(b)的第二权重值用fref(x)表示,并基于h_ref/h1确定。基于图5(a)和图5(b)可以理解h2/h1的绝对值越小(接近于0),可信度越高,而h_ref/h1越接近于1,可信度越高。
对于该示例,基于图5(a)和图5(b)示出的权重值选择,针对假想窗口i=1~n,进一步执行以下的测距处理:
1)h2/h1:range_win=range_window
其中,range_win对应为上述的第一距离d1。
2)h_ref/h1:基于高度比,range_ref=range_window*(h_ref/h1)。
其中,range_ref对应为上述的第二距离d2。
3)h2/h1:参考图5(a),设第一权重值为point_win,则point_win=fwin(h2/h1)。
4)h_ref/h1:参考图5(b),设第二权重值为point_ref,则point_ref=fref(h_ref/h1)。
5)range_w_r(i)=
(range_win*point_win+range_ref*point_ref)/
(point_win+point_ref)
其中,range_w_r(i)表示针对第i个窗口的测距结果。
6)point_w_r(i)=point_win+point_ref
其中,point_w_r(i)表示针对第i个窗口的最终权重值。
7)针对所有相关窗口:基于point_w_r(i)选择最佳range_w_r(i)。
即,选择权重值最高的窗口作为最佳窗口以确定range_w_r(i),i此时是最佳窗口号。
8)range_new=range_w_r(i0),point_w_r(i0)。
其中,range_new表示最终所求的实际目标相对于单目摄像头的距离。对应于图5(a)和图5(b)的数据,该示例中检测150m范围内的四个目标的估计距离为145.2m、146.3m、146.7m和146.3m,准确率约为3.2%,这比通常的单目摄像头的测距要好得多。需说明的是,单目摄像头通常最高只有5%的准确率,这是因为在原则上单目摄像头无法在不引入某些假设的情况下测量范围,这些假设例如:目标与单目摄像头系统位于相同的层级(相对于地面的高度层级)以及目标是固定的。
综上,本发明实施例的单目视觉测距方法结合了第一距离和第二距离两种测距方案(即基于几何关系和基于图案匹配)来共同确定最终距离,显著地提高了单目摄像头的测距可信度,并且相对于采用单一距离的方案,如果某一测距方案不可用,则在某些情况下可以使用另一种测距方案。因此,本发明实施例的单目视觉测距方法能实现更好、更稳定、更广泛的目标检测。
本发明另一实施例还提出了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的单目视觉测距方法。其中,所述机器可读存储介质包括但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体(flashmemory)或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备等各种可以存储程序代码的介质。
本发明另一实施例还提供一种单目摄像头,该单目摄像头包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的单目视觉测距方法。
其中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。处理器可以是通用处理器、专用处理器、传统处理器、数字信号处理器(dsp)、多个微处理器、与dsp内核相关联的一个或多个微处理器、控制器、微控制器、应用专用集成电路(asic)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)、状态机等。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。