1.本发明属于计算机视觉的技术领域,具体涉及一种基于深度学习目标检测的单目实时测距方法。
背景技术:2.测距作为一种感知技术一直备受相关研究人员的重视,它被广泛应用于自动驾驶、机器人、工业测量、智能安防等应用领域。当前主流的测距方式大致可以分为两类,一类是直接利用激光雷达、毫米波雷达、超声波等主动测距传感器测量的方式,另一类则是利用摄像头等被动传感器视觉计算的方式。对于采用主动传感器的测量方法,其一般具有可以作用于不同天时和不同天候的特点,但该方法却有成本高、集成困难、功耗大、易受设备间信号的相互干扰和非目标反射信号干扰等问题;而对于采用摄像头等视觉传感器的方式则具有成本低、感知信息较完整、更加符合人类认知习惯等优点,但是其感知性能易受天气、光照等环境等因素的影响。因此,为了更加安全、可靠,当前在自动驾驶等领域,采用主动传感器和摄像头传感器相互结合、互为补充的感知方式成为一大趋势,而发展视觉计算的感知方式本身对提高系统感知性能具有重要意义。
3.基于摄像头视觉计算的测量根据所使用摄像头的数目又可分为单目视觉测距和双(多)目视觉测距。由于单目视觉相较双(多)目视觉使用的摄像头更少因而成本较低,另外单目视觉无需双目视觉中计算复杂度较高的立体标定和立体匹配处理,因而单目视觉测距更适用于资源受限的边缘系统。单目图像视觉目前的研究方向主要可以分为基于逆透视变换、基于三角几何和基于机器学习回归这三类。其中,基于逆透视变换的测距思想是利用标定得到的相机内、外参数对原输入图像进行透视变换以得到空中俯视视角下的图像,通过俯视图像可以直接显示车辆间的距离远近;基于三角几何的方法主要利用相机的几何成像模型并根据相似三角形或投影变换法则估计目标的距离信息;基于机器学习回归的方法则通过机器学习中的回归模型建立起从输入特征到车间距离间的映射关系,然后通过输入、输出样本对模型进行训练以调整所建立的映射关系,直至达到较优。上述方法中主要存在以下三方面问题:(1)测距精度较低,尤其是在复杂场景下(包含背景复杂多样、多尺度、多视角、多光照环境等因素),测距的性能难以满足需要;(2)模型的计算实时性较差,不能满足其在资源受限边缘系统上的实时测距需求;(3)基于三角几何的测距模型中通过手动测量摄像头安装参数(俯仰角、安装高度等)的方式较为不便,而且很容易引入测量误差。
技术实现要素:4.有鉴于此,本发明提供了一种基于深度学习目标检测的单目实时测距方法,能够很好地克服现有方法中摄像头外参数测量不便、测距精度低、计算实时性较差的问题。
5.实现本发明的技术方案如下:
6.一种基于深度学习目标检测的单目实时测距方法,包括如下步骤:
7.步骤1,安装摄像头,获取车载摄像头前方、后方或侧方的帧图像;
8.步骤2,采用深度学习目标检测模型对交通目标进行目标底部所在地面位置的实时获取,其中,对深度学习目标检测模型的损失函数进行优化;
9.步骤3,对摄像头的内参数进行标定,获得摄像头的焦距、光心坐标参数;
10.步骤4,对摄像头的安装参数进行估算,获得摄像头距离地面的安装高度、俯仰角信息;
11.步骤5,利用步骤1中所获取的图像、步骤2所获取的目标底部位置、步骤3中获取的摄像头内参数、步骤4所获取的摄像头安装参数,根据测距模型计算交通目标与摄像头之间的距离。
12.进一步地,所述步骤1中,根据需要将摄像头安装在车辆前方、后方或侧方,而后读取摄像头捕获的视频并获得帧图像。
13.进一步地,所述步骤2中,采用yolov3/yolov5模型,对图像中的交通参与目标进行检测;根据检测结果输出的二维矩形框底边位置,获得目标地面位置的图像坐标。
14.进一步地,针对模型训练阶段的损失函数进行优化;具体地,在目标定位损失中增加额外约束,其中优化后的损失函数如式(1)所示:
[0015][0016]
上式中,为模型的整体训练损失函数;λ
loc
为定位权重系数,λ
cls
为判断目标是否存在的权重,λ
obj
为目标存在时的分类得分权重,λ
noobj
为无目标时的分类得分权重;pi表示第i个判定区域有无目标存在的真值;表示模型对第i个判定区域做出有无目标存在的预测置信度;ci为分类得分;为分类真值;1
iobj
(
·
)与1
inoobj
(
·
)分别为表示第i个判定区域有目标存在和无目标存在的示性函数;|box|表示检测框box的区域面积;a\b为在a中去除b后的区域;box
a*b
则表示包围检测框boxa与检测框boxb的最小面积矩形;boxa∩boxb代表检测框boxa与检测框boxb间相交重合的区域;boxa∪boxb表示检测框boxa与检测框boxb合并的区域;oi为检测框的中心坐标;o
′i为所对应真值框的中心坐标;||
·
||表示求取向量的模长;s为一常数,用于将中心间距归一化。
[0017]
进一步地,所述步骤3中,采用张正友标定法进行摄像头内参数标定,标定板选择为黑白棋盘格标定板。
[0018]
进一步地,所述步骤4中,首先通过拍摄地面n个固定标记物的图像,然后再根据pnp(perspective-n-point)算法计算相机的安装高度和俯仰角大小。
[0019]
进一步地,n设置为4;而地面固定标记物的生成过程为:在待标定摄像头的下前方平铺黑白棋盘格,棋盘格的单元格大小以能使该棋盘格在图像上可分辨为准,典型的单元格尺寸为100cm x 100cm;通过opencv工具自动提取(或者手动点选)并筛选出棋盘方格的四个顶点作为地面的固定标记物。
[0020]
有益效果:
[0021]
(1)本发明相较于现有方法具有测距精度高、实时性强和操作方便的优点。
[0022]
(2)本发明应用当前主流的轻量级深度学习目标检测技术,避免了传统方法中依赖手工特征提取方法的不足,因为更适用于实际复杂的道路场景;此外,借助于当前多样的专用芯片,实现对模型的进一步加速计算。
[0023]
(3)本发明通过优化深度学习目标检测损失函数计算方式,使得目标检测中对目标的定位更加精准,进而保证所获取的目标地面位置图像坐标更加准确,因此降低测距模型的性能损失。
[0024]
(4)本发明通过地面标记物自动测量摄像头的外部安装参数,避免了手工测量的不便性和由此所引发的测量误差,因此进一步降低测距模型的性能损失。
附图说明
[0025]
图1为本发明方法的流程框图。
[0026]
图2为本发明摄像机安装参数标定示意图。
[0027]
图3为本发明单目测距原理示意图。
具体实施方式
[0028]
下面结合附图并举实施例,对本发明进行详细描述。
[0029]
本发明的基于深度学习目标检测的单目实时测距方法流程图如图1所示,主要包括五个主要步骤,分别是:车载摄像头帧图像获取、目标地面位置的实时获取;摄像头的内参数进行标定;摄像头的安装参数进行估算;利用测距模型计算目标距离。具体地,
[0030]
步骤1,安装摄像头,读取摄像头捕获的视频并获得帧图像;
[0031]
步骤2,应用当前目标检测精度与速度折中较好的yolov3或yolov5模型,对图像中主要的交通参与目标进行实时检测;根据检测结果输出的二维矩形框底边位置,获得目标底部(尾部)地面位置的图像坐标p
y0
。该阶段主要包括检测模型的训练和预测,其中对于训练阶段需要在获得已标记样本数据集的基础上,利用主流的深度学习框架(如pytorch、tensorflow、caffe等)实现深度神经网络模型,并在gpu平台进行模型的训练;而预测阶段主要是指给定一张输入图像,然后根据训练阶段模型最终学习得到的结果模型权重进行前向推理,以此输出检测结果;而为了使得检测输出的结果适应于单目测距,即提高检测框定位的准确度,本发明针对模型训练阶段的损失函数进行了优化。
[0032]
具体地,在目标定位损失中增加额外约束,其中优化后的损失函数如下式1所示:
[0033][0034]
其中,为模型的整体训练损失函数;λ
loc
为定位权重系数,λ
cls
为判断目标是否存
在的权重,λ
obj
为有目标存在时的分类得分权重,λ
noobj
为无目标时的分类得分权重;pi表示第i个判定区域有无目标存在的真值;表示模型对第i个判定区域做出有无目标存在的预测置信度;ci为分类得分;为分类真值;1
iobj
(
·
)与1
inoobj
(
·
)分别为表示第i个判定区域有目标存在和无目标存在的示性函数;|box|表示检测框box的区域面积;a\b为在a中去除b后的区域;box
a*b
则表示包围检测框boxa与检测框boxb的最小面积矩形;boxa∩boxb代表检测框boxa与检测框boxb间相交重合的区域;boxa∪boxb表示检测框boxa与检测框boxb合并的区域;oi为检测框的中心坐标;o
′i为所对应真值框的中心坐标;||
·
||表示求取向量的模长;s为一常数,用于将中心间距归一化;
[0035]
步骤3,应用张正友标定法对摄像头的内参数进行标定,在不同视角下拍摄多组棋盘格图像,然后根据三维空间点与图像像素的投影关系方程求解相机内参数。具体地,假设某三维空间点在世界坐标系下的坐标m=[x y z]对应的齐次坐标记为其在图像素坐标系下坐标m=[u v],及其齐次坐标表示为由摄像头的针孔模型可得其投影关系方程为:
[0036][0037]
其在ri表示旋转矩阵r的第i列,a是相机的内参数矩阵,可写成
[0038][0039]
其中(u0,v0)是主点的像素坐标,α和β分别是在图像坐标系中u轴、v轴上的尺度因子,γ表示坐标轴倾斜程度。在此基础上,根据在不同视角下拍摄得到的多组棋盘格图像点对和求解相机的内参数矩阵a。
[0040]
步骤4,通过地面参照点的三维空间世界坐标与所对应的图像坐标间的映射关系,自动估计摄像头的俯仰角、安装高度信息,如图2所示。首先在待标定摄像头的下前方平铺黑白棋盘格,棋盘格的单元格大小以能使该棋盘格在图像上可分辨为标准(如棋盘格边长大于30个像素),典型的单元格尺寸为100cm x 100cm;然后通过opencv工具自动提取(或者手动点选)并筛选出其中一个棋盘方格的四个顶点作为地面的固定标记物。类似于步骤2中三维空间点与图像像素的投影关系方程,在完成相机内参标定的基础上,利用pnp(perspective-n-point)算法求解旋转矩阵r和平移矩阵t。接下来,根据平移矩阵t的z分量得出摄像头的安装高度h;根据旋转矩阵r计算摄像头的俯仰角θ,具体地:
[0041][0042]
其中,r
ij
表示旋转矩阵r中的第i行、第j行元素;f=atan2(y,x)表示由y值与x值符号决定其所在象限的反正切三角函数。
[0043]
步骤5,在完成步骤1、步骤2、步骤3和步骤4的基础上,如图3所示为摄像头针孔成像模型示意图,j为成像小孔,oo0为光心所在直线,线段gi为待测目标与摄像头间的纵向距离。具体地,利用针孔成像模型中的投影几何关系和相似性质,可以得到以下测距公式:
[0044][0045]
其中,f为相机焦距、h为相机距离地面的高度、p
y0
表示车辆底部所在图像上的位置(纵坐标)、y0则表示相机光心主点的纵坐标、|gi|为图像最下方的点距离摄像头的距离,h为图像高度、fov_y为垂直方向视场角。
[0046]
自此,完成一种基于深度学习目标检测的单目实时测距方法。
[0047]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种基于深度学习目标检测的单目实时测距方法,其特征在于,包括如下步骤:步骤1,安装摄像头,获取车载摄像头前方、后方或侧方的帧图像;步骤2,采用深度学习目标检测模型对交通目标进行目标底部所在地面位置的实时获取,其中,对深度学习目标检测模型的损失函数进行优化;步骤3,对摄像头的内参数进行标定,获得摄像头的焦距、光心坐标参数;步骤4,对摄像头的安装参数进行估算,获得摄像头距离地面的安装高度、俯仰角信息;步骤5,利用步骤1中所获取的图像、步骤2所获取的目标底部位置、步骤3中获取的摄像头内参数、步骤4所获取的摄像头安装参数,根据测距模型计算交通目标与摄像头之间的距离。2.如权利要求1所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,所述步骤1中,根据需要将摄像头安装在车辆前方、后方或侧方,而后读取摄像头捕获的视频并获得帧图像。3.如权利要求1所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,所述步骤2中,采用yolov3/yolov5模型,对图像中的交通参与目标进行检测;根据检测结果输出的二维矩形框底边位置,获得目标地面位置的图像坐标。4.如权利要求1或3所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,针对模型训练阶段的损失函数进行优化;具体地,在目标定位损失中增加额外约束,其中优化后的损失函数如式(1)所示:上式中,为模型的整体训练损失函数;λ
loc
为定位权重系数,λ
cls
为判断目标是否存在的权重,λ
obj
为目标存在时的分类得分权重,λ
noobj
为无目标时的分类得分权重;p
i
表示第i个判定区域有无目标存在的真值;表示模型对第i个判定区域做出有无目标存在的预测置信度;c
i
为分类得分;为分类真值;1
iobj
(
·
)与1
inoobj
(
·
)分别为表示第i个判定区域有目标存在和无目标存在的示性函数;|box|表示检测框box的区域面积;a\b为在a中去除b后的区域;box
a*b
则表示包围检测框box
a
与检测框box
b
的最小面积矩形;box
a
∩box
b
代表检测框box
a
与检测框box
b
间相交重合的区域;box
a
∪box
b
表示检测框box
a
与检测框box
b
合并的区域;o
i
为检测框的中心坐标;o
′
i
为所对应真值框的中心坐标;||
·
||表示求取向量的模长;s为一常数,用于将中心间距归一化。5.如权利要求1所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,所述步骤3中,采用张正友标定法进行摄像头内参数标定,标定板选择为黑白棋盘格标定板。6.如权利要求1所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,所述步骤4中,首先通过拍摄地面n个固定标记物的图像,然后再根据pnp算法计算相机的安
装高度和俯仰角大小。7.如权利要求6所述的一种基于深度学习目标检测的单目实时测距方法,其特征在于,n设置为4;地面固定标记物的生成过程为:在待标定摄像头的下前方平铺黑白棋盘格,棋盘格的单元格大小以能使该棋盘格在图像上可分辨为准,典型的单元格尺寸为100cm x 100cm;通过opencv工具自动提取或者手动点选,并筛选出棋盘方格的四个顶点作为地面的固定标记物。
技术总结本发明公开了一种基于深度学习目标检测的单目实时测距方法,主要包括对目标底部所在地面位置的实时获取、相机内参数标定、相机安装参数估算和目标距离计算;针对传统单目测距模型测距精度低、实时性差的问题,本发明应用当前性能先进的轻量级深度学习实时目标检测技术以获取目标底部的图像坐标;并对现有损失函数进行优化,使其更适应于测距需求。针对手动测量摄像头安装参数的不便和极易引入测量误差的问题,本发明通过地面参照点的三维空间坐标与所对应的图像坐标的映射关系,自动估计摄像头的安装参数信息。该方法具有操作简便、精度高、实时性好的特点,可应用于智能驾驶、机器人等多种需求视觉测距场景。器人等多种需求视觉测距场景。器人等多种需求视觉测距场景。
技术研发人员:瓢正泉 王俊波 赵保军 唐林波 曲鑫 林大泳 韩煜祺 王文正
受保护的技术使用者:北京电子工程总体研究所
技术研发日:2022.04.27
技术公布日:2022/11/1