一种基于单目深度估计和尺度恢复的目标定位方法

未命名 07-12 阅读:113 评论:0


1.本发明属于航空图像处理领域,具体涉及一种基于单目深度估计和尺度恢复的目标定位方法。


背景技术:

2.随着无人机技术的快速发展,外加其所拍摄的图像具有视角大、细节丰富等优点,因此被广泛应用于灾害救援、目标监控、目标追踪和农业植保等领域,但是无人机图像关于目标定位和深度估计的相关研究较少。
3.目标定位指获得目标距无人机的真实距离,深度估计则指的是从单张或多张图像中恢复场景深度信息的过程,通过获得的深度信息能够帮助我们更好的感知周围环境。
4.深度估计技术已被广泛应用于自动驾驶、场景重建和机器人自主导航等领域,而在无人机领域,由于无人机视角下深度估计数据集的缺失,导致相关研究较少。通过基于深度估计方法对无人机图像进行目标定位,可以弥补现有无人机图像相关研究的空缺。无人机目标定位在自主降落以及军事追踪等领域有着较大的应用价值,因此通过基于深度估计方法进行无人机目标定位有着十分重要的研究意义。
5.由于无人机独特的拍摄视角,导致其拍摄的图像相较自动驾驶场景下具有视场角较广、深度变化范围较大、目标间遮挡严重等特点。随着深度学习的不断发展,现有的深度估计方法分为传统方法和基于深度学习的深度估计方法,按照训练方式的不同又可将深度学习方法分为有监督、无监督和半监督深度估计方法。
6.现有深度估计方法多集中于自动驾驶场景下,在无人机视角下进行深度估计进而实现目标定位仍面临如下问题:
7.1)由于无人机视角下拍摄图像纹理复杂、物体间相互遮挡严重;此外,低空飞行的无人机覆盖范围较大,导致场景深度变化更加剧烈。针对上述问题需要对现有单目深度估计网络进行改进,以适应多变的场景,得到精准的目标深度。针对现有无人机视角下深度标签数据较少的问题,应使用无监督深度估计方法,提高其深度估计的准确性。
8.2)使用无监督深度估计方法进行深度估计时,需要使用尺度恢复方法恢复场景的绝对深度,进而计算目标距无人机的距离,对目标进行定位。现有尺度恢复方法多采用地平面假设等强假设条件,由于无人机图像存在相机视角多变、场景中物体遮挡较为严重等问题,因此传统尺度恢复方法无法使用,应设计适用于无人机目标定位的尺度恢复方法。


技术实现要素:

9.针对无人机图像中图像纹理复杂、相机视角变化较大、物体间遮挡严重等问题,本发明提出了一种基于单目深度估计和尺度恢复的目标定位方法;首先对无人机视角下的图像进行单目深度估计,得到场景的相对深度图;随后通过基于分割和两步地面点优化算法的尺度恢复算法,计算场景的尺度因子;通过将尺度因子和相对深度相乘,得到场景的绝对深度;使用目标检测算法结合场景的深度图对目标进行定位。
10.具体步骤如下:
11.步骤一、对某低空无人机在不同相机倾角下、不同飞行高度和不同拍摄距离对地面常见目标拍摄的图像序列,进行处理构建无人机深度估计数据集;
12.无人机相机倾角指无人机载荷的可见光相机和地平面所形成的夹角α,α∈[0
°
,90
°
];地面常见目标为:车辆、行人;每帧图像中的目标数量不固定;
[0013]
具体处理过程为:
[0014]
首先,选取某段时间的连续图像序列分别输入商业软件,通过建模生成三维点云,得到每张图像的深度标签;
[0015]
然后,将图像序列和各自对应的深度标签结合,得到无人机深度估计数据集。
[0016]
步骤二、利用深度估计数据集对monodepth2全卷积神经网络进行训练,作为单目无监督深度估计网络,用于对图像进行相对深度估计;
[0017]
单目指单个镜头的相机所拍摄的图像数据;无监督指网络训练过程无需真值标签输入;
[0018]
具体训练过程为:
[0019]
首先,将连续图像序列输入monodepth2全卷积神经网络,通过估计前一帧和后一帧与当前帧间的相机位姿变化,将当前帧图像i
t'
反投影至相邻帧中,得到图像i
t'

t

[0020]
计算公式为:i
t'

t
=i
t'
《proj(d
t
,t
t

t'
,k)》;
[0021]
其中i
t'
为原始图像(前一帧或后一帧图像),i
t
为目标图像,k为相机内参矩阵;proj(d
t
,t
t

t'
,k)为图像投影变换公式;如下:
[0022]
proj(d
t
,t
t

t'
,k)=φ(k[t
t

t'
,da(pa)k-1
(h(pa))])
[0023][0024]
其中pa为像素在图像坐标系下的坐标,h(pa)为坐标pa的齐次坐标,da(pa)为坐标pa处的深度,t
t

t'
为旋转矩阵,φ表示函数公式。
[0025]
然后,使用最小化重投影损失函数计算目标图像i
t
和反投影图像i
t'

t
间的重投影误差,学习场景的相对深度;
[0026]
损失函数如下:
[0027][0028][0029]
其中α主要用于权重调整,ia和ib分别为两张图像,c1,c2为维持稳定的常数;表示图像ia的均值,表示图像ib的方差,表示图像ia和ib的协方差。
[0030]
相对深度指仅能表示物体间相对远近的深度图,而绝对深度指场景中每个像素点所代表物体距相机的真实距离;相对深度和绝对深度间相差尺度因子;得到相对深度图后需要对其进行尺度恢复。
[0031]
步骤三、针对新输入图像s,使用deeplabv3+网络对图像s进行道路分割,得到对应的道路掩膜,同时使用训练好的单目无监督深度估计网络对图像s进行相对深度估计,得到相对深度图;
[0032]
相对深度图指的是仅能表示物体间相对远近的图像,其每个像素点对应的深度值较小,无法通过其得到物体距相机的真实距离;
[0033]
步骤四、通过对图像s的道路掩膜和相对深度图取交集获得粗略的地面点集,对该点集中每个像素点分别计算其法向量;
[0034]
地面点通常指的是在相机坐标系下接近理想地面归一化法向量的点。
[0035]
针对地面点集中像素点p
i,j
的法向量,计算过程为:
[0036]
首先,将平面坐标系下的像素点p
i,j
投影到相机坐标系下:
[0037]dt
(p
i,j
)p
i,j
=kp
i,j
[0038]
式中p
i,j
=[x,y,z]
t
为像素点p
i,j
在相机坐标系下的坐标;d
t
(p
i,j
)为像素点p
i,j
的相对深度信息;
[0039]
然后,对于像素点p
i,j
,将其周围八邻域中的点划分为四对,p
i,j
分别和每对的两个点链接形成夹角为90
°
的两个向量,将各向量从像素坐标系投影至相机坐标系下,得到:
[0040]
g(p
i,j
)={[p
i+1,j
,p
i,j-1
],[p
i+1,j-1
,p
i-1,j-1
]...}
[0041]
四对向量两两一组,构成了四个平面,通过下式计算得到四个平面法向量:
[0042][0043]
此处g
a,b
为g(p
i,j
)中第a对向量中的第b个元素,g=1,2,3,4。
[0044]
最终像素点p
i,j
处的平面法向量为上述四个法向量归一化平均后得到的结果。
[0045][0046]
归一化后的向量n(p
i,j
)为像素点p
i,j
的法向量;
[0047]
步骤五、使用地面点优化算法结合像素点的法向量,将图像s对应的地面点进行优化;
[0048]
具体过程为:
[0049]
步骤501、对输入图像s的地面点进行初步优化,针对随机选取的地面点p
i,j
,计算地面点集中其他点pi′
,j
距点p
i,j
法向量平面的距离,若距离大于阈值d
thresh
,则将点pi′
,j
从地面点集中剔除;重复直至达到迭代次数z或地面点集中点的数目小于指定阈值,得到最佳的地平面图像。
[0050]
通过ransac算法来迭代优化下式,
[0051][0052]
其中,g
t
为地面点集,n(p
i,j
)为点p
i,j
的平面法向量,h
t
为坐标原点距该平面的距离;平面上的任意一点p

i,j
应满足下式:n(p
i,j
)*p

i,j-h
t
=0。
[0053]
步骤502、对输入图像s连同前后帧图像共同构建帧缓冲区,对多帧地面点进行联合优化;
[0054]
联合优化是指:将当前帧及其前两帧图像中的所有地面点映射到同一相机坐标系下,构成一个公共地面点集,针对点集中的点通过求解最小二乘解,进行共同优化得到最优平面向量;
[0055]
首先,使用奇异值分解的方法(svd)求解下式的最小二乘解,得到向量μ;
[0056][0057]
其中p
t
=[p1,p2,

,pn]∈r4×n,,为分割后点集中的任意一点,t
t
为旋转矩阵,pi为旋转后的第i个地面点,所有地面点共同构成点集p
t

[0058]
向量μ如下式所示:
[0059]
μ=[n
t
,-h
t
]
t
[0060]nt
为平面法向量,h
t
为坐标原点距该平面的距离;
[0061]
通过参数μ确定相机坐标系下的一个已知平面,计算缓冲区点集中所有点距该平面的距离,筛选点集中大于阈值d
thresh
的点,并将其删除,重复迭代上述过程直至达到迭代次数停止迭代,得到优化后的地面点集。
[0062]
步骤六、通过两步优化后的地面点集估计相机高度,并计算尺度因子,结合图像s的相对深度,恢复该图像s的绝对深度;
[0063]
首先,优化后的地面点集为结合平面法向量计算当前帧下地面点集中的点处估计的相机高度:
[0064][0065]
表示优化后最优平面法向量。
[0066]
然后,通过对m个相机高度进行均值处理,得到当前帧图像估计的相机高度:
[0067][0068]
接着,使用真实的相机高度h
*
计算当前帧图像的尺度因子:
[0069]
最后,第t帧图像的相对深度图为i
t
,则其绝对深度图计算过程如下:
[0070]
步骤七、使用centernet网络对图像s进行目标检测,结合该图像s的绝对深度图,实现无人机视角下该图像中目标的定位;
[0071]
在绝对深度图中选择目标中心所对应像素点的深度,该深度值即为目标距无人机的真实距离。
[0072]
使用centernet网络对图像s进行特征提取,得到包含目标的热力图,提取热力图中的特征并使用后序回归分支分别预测目标中心以及长宽数值。
[0073]
通过第t帧图像中第i个目标的中心点和该目标的宽高计算该目标点到相机平面的垂直距离:
[0074][0075]
通过相机小孔成像模型,计算第t帧第i个目标在相机坐标系下的坐标
[0076][0077]
[0078][0079]
本发明具有如下的优点:
[0080]
(1)一种基于单目深度估计和尺度恢复的目标定位方法,通过相对深度估计网络,使网络估计出的相对深度图能够适应无人机较为剧烈的视角变化;通过深度标签恢复方法,以填充深度估计数据集的空缺;
[0081]
(2)一种基于单目深度估计和尺度恢复的目标定位方法,摒弃了传统自动驾驶场景下的尺度恢复方法的地平面假设,通过分割算法得到图像层面的地面点集,随后在几何层面针对单帧和多帧图像中的地面点分别进行优化,使得到的地面点集更加准确,且能够适应无人机视角,进而估计得到更加准确的尺度因子,恢复得到更准确的绝对深度图;
[0082]
(3)一种基于单目深度估计和尺度恢复的目标定位方法,针对无人机视角下图像中目标较小的特点,使用anchor-free方法更加准确的对目标进行检测,结合绝对深度图对目标进行定位。
附图说明
[0083]
图1是本发明基于单目深度估计和尺度恢复的目标定位方法流程图;
[0084]
图2是本发明采用的单目深度估计网络结构图;
[0085]
图3是本发明采用的语义分割网络结构图;
[0086]
图4是本发明采用的法向量计算示意图;
[0087]
图5是本发明采用的单帧图像地面点优化算法流程图;
[0088]
图6是本发明采用的帧缓冲区地面点优化算法流程图;
[0089]
图7是本发明采用的目标检测网络结构图;
[0090]
图8是本发明采用的小孔成像模型示意图;
[0091]
图9是本发明实验结果示意图。
具体实施方式
[0092]
下面结合附图,对本发明的具体实施方法作进一步的详细说明。
[0093]
本发明为了得到绝对深度进而对无人机图像中常见目标进行定位,首先需要使用无监督方法对场景进行深度估计,得到场景的相对深度图。随后需要对相对深度图进行尺度恢复,得到绝对深度图;尺度恢复过程需要计算尺度因子,尺度因子指的是相对深度和绝对深度间相差的一个比例系数。为了计算该系数,首先需要对地面点所在区域进行筛选,随后将地面点投影到三维空间,并对其进行优化,得到尽可能准确的地面点集。最终计算得到使所有地面点误差最小的地平面,并以该平面为基础,通过平面上的点在相机坐标系下的坐标,估计相机高度,结合真实相机高度计算得到尺度因子,对最初的相对深度图进行尺度恢复得到绝对深度图。
[0094]
针对现有无人机图像深度数据集较少的问题,本发明提出借用商业软件pix4d建模场景的3d点云,随后通过算法将3d点云投影至图像平面,得到深度标签以验证深度估计的准确性。而且使用centernet对图像中常见目标进行检测,结合绝对深度图得到该目标距离无人机的距离,使用小孔成像原理计算其在相机坐标系下的坐标。
[0095]
如图1所示,具体步骤如下:
[0096]
步骤一、利用某无人机的低空实拍街景数据,选取某段时间的连续图像序列作为数据集图像,借用pix4d商业软件生成三维点云,处理生成测试集深度标签,构建无人机深度估计数据集;
[0097]
由于无人机视角的特殊性和数据采集的复杂性,目前在无人机视角下少有深度估计数据集,导致无监督深度估计的结果很难得到验证。不同连续图像序列间无人机拍摄视角存在变化;以低空无人机在不同相机倾角下、不同飞行高度和不同拍摄距离对地面常见目标拍摄的无人机视频序列为基础,建立无监督单目深度估计数据集;无人机相机倾角指无人机载荷的可见光相机和地平面所形成的夹角α,α∈[0
°
,90
°
];地面常见目标为:车辆、行人;每帧图像中的目标数量不固定;
[0098]
本发明借助商业软件pix4d,通过输入测试集图像序列,构建场景的稠密3d点云图,随后根据其所生成的p_matrix计算得到每张图像所对应的深度图。
[0099]
pix4d为专业的无人机测绘和摄影测量软件,该软件输入连续图像序列能够对场景进行2d或3d建模;将pix4d生成的三维点云进行投影筛选,得到深度标签,将图像和深度标签结合,构建无人机深度估计数据集。
[0100]
使用pix4d软件能够生成输入图像二维像素点和三维点云之间的转换关系矩阵,通过将测试集图片输入pix4d软件,可生成整个场景的稠密三维点云和p
matrix

[0101]
其中p
matrix
满足如下等式:
[0102]
(x,y,z)
t
=p
matrix
(x

,y

,z

,1)
t
[0103][0104]
其中(x

,y

,z

)为点云坐标系下某点的坐标,(u,v)为该点投影到像素平面后所对应的像素坐标,d
uv
为像素坐标系下该点所对应的绝对深度。
[0105]
当计算深度时,由于点云离散特性导致部分像素点没有点云信息,因此其恢复的深度值为0,此外部分像素点超出图像边界,应及时筛除;通过该方法能生成测试集图像的深度标签。
[0106]
将上述多视角图像序列和测试集深度标签整理结合,得到无人机深度估计数据集。
[0107]
步骤二、利用深度估计数据集对monodepth2全卷积神经网络进行训练,作为单目无监督深度估计网络,用于对图像进行相对深度估计;
[0108]
单目指单个镜头的相机所拍摄的图像数据;无监督指网络训练过程无需真值标签输入;
[0109]
本发明进行单目深度估计所使用的网络为monodepth2全卷积网络,网络结构如图2所示;针对某连续帧无人机图像,该网络首先通过深度估计网络估计场景的粗略相对深度,通过位姿估计网络估计前一帧和后一帧与当前帧间的相机位姿变化,使用相机内参矩阵,通过将场景相对深度与相机位姿变化相结合,将当前帧图像i
t'
反投影至相邻帧中,得到图像i
t'

t

[0110]it
′→
t
=i
t

《proj(d
t
,t
t

t

,k)》
[0111]
其中i
t'
为原始图像(前一帧或后一帧图像),i
t
为目标图像,k为相机内参矩阵、《》为采样操作,图像投影变换公式如下:
[0112]
proj(d
t
,t
t

t

,k)=φ(k[t
t

t

,da(pa)k-1
(h(pa))])
[0113][0114]
其中pa为像素在图像坐标系下的坐标、h(pa)为pa的齐次坐标、k为相机内参、da(pa)为pa处的深度、t
t

t

则为旋转矩阵。
[0115]
然后,使用最小化重投影损失函数计算目标图像i
t
和反投影图像i
t'

t
间的重投影误差,学习场景的相对深度;
[0116]
针对无人机视角下存在物体间相互遮挡等问题,使用最小化重投影损失函数减少异常值对深度估计网络训练结果的影响;
[0117]
损失函数如下;
[0118][0119][0120]
其中的α主要用于权重调整,ia和ib分别为两张图像,c1,c2为维持稳定的常数。表示图像ia的均值,表示图像ib的方差,表示图像ia和ib的协方差。
[0121]
相对深度图指仅能表示物体间相对远近的深度图,其数值通常仅在较小的范围内,相对深度和绝对深度间相差一个固定常数;绝对深度指场景中每个像素点所代表物体距相机的真实距离;固定常数常被称为尺度因子;
[0122]
步骤三、针对新输入图像s,使用deeplabv3+网络对图像s进行道路分割,得到对应的道路掩膜,同时使用训练好的单目无监督深度估计网络对图像s进行相对深度估计,得到相对深度图;
[0123]
本发明所采用的道路分割网络为deeplabv3+全卷积网络,网络结构如图3所示;为了获得场景中地面点所对应的像素区域,由于深度训练所使用数据集为自主采集无人机图像序列,因此不包含分割类别真实标签,而aeroscape为低空无人机视角下公开的场景分割数据集,为无人机在5~50m的高度范围内拍摄的图像,且真值标签包含道路类别。因此使用在aeroscape数据集上提前训练好的deeplabv3+全卷积网络对步骤一中深度估计数据集中的图像进行语义分割,得到每张无人机图像所对应的粗略地面点掩膜,该掩膜为图像中包含道路类别区域的0-1二值图像;将图像输入步骤二训练好的深度估计网络,可得到对应的相对深度图。
[0124]
利用aeroscape数据集对deeplabv3+网络进行训练,aeroscape数据集是航空语义分割数据集,主要类别包括车辆、行人、道路、天空等,将deeplabv3+网络在该数据集上提前进行训练,可生成输入某无人机图像中的道路像素类别掩膜;
[0125]
道路分割是指从单张rgb彩色图像中分出属于道路类别的所有像素集合;
[0126]
道路掩膜为图像中包含道路目标区域的0-1二值图像;
[0127]
相对深度图指的是仅能表示物体间相对远近的图像,其每个像素点对应的深度值较小,无法通过其得到物体距相机的真实距离;
[0128]
步骤四、通过对图像s的道路掩膜和相对深度图取交集获得粗略的地面点集,对该
点集中每个像素点分别计算其法向量;
[0129]
地面点通常指的是在相机坐标系下接近理想地面归一化法向量的点。
[0130]
首先使用道路掩膜提取出原始图像中的地面点像素,随后在图像层面选取其八邻域内的点,最后将其两两分组,结合像素点的相对深度图,计算出四个平面法向量,对其取均值,得到该点的法向量;
[0131]
在自动驾驶场景下,地面点通常指的是在相机坐标系下接近理想地面归一化法向量的点。由于在自动驾驶场景下默认相机处于水平状态,即和车辆平移的方向相同,且相机俯仰角不会产生变化,其满足如下两个等式:
[0132][0133][0134]
其中r
32
、r
33
为旋转矩阵中的参数。而在无人机视角下,这个假设将不再成立。因为无人机机载可见光相机为了方便观察地面目标,通常会与地平面形成某些夹角,且该夹角多通过机载位姿传感器获得,因此地平面假设在无人机视角下将不再适用。
[0135]
通过将地面点掩膜和对应的无人机图像取交集,可得到地面点像素点集,对该点集中的每个像素点计算其法向量。
[0136]
具体计算过程为:
[0137]
首先,将相对深度图中每个像素点分别投影到相机坐标系下:
[0138]dt
(p
i,j
)p
i,j
=kp
i,j
[0139]
式中p
i,j
=[i,j,1]
t
为像素平面坐标系下点的齐次坐标,p
i,j
=[x,y,z]
t
为p
i,j
所对应像素点在相机坐标系下的坐标。d
t
(p
i,j
)为指定像素点的相对深度信息,k为相机内参矩阵。
[0140]
然后,如图4所示。对于像素点p
i,j
,将其周围八邻域中的点划分为四对,p
i,j
分别和两个点链接形成夹角为90
°
的两个向量,将其从像素坐标系投影至相机坐标系下,得到:
[0141]
g(p
i,j
)={[p
i+1,j
,p
i,j-1
],[p
i+1,j-1
,p
i-1,j-1
]

}
[0142]
四对向量两两一组,构成了四个平面,通过下式计算得到四个平面法向量:
[0143][0144]
此处g
a,b
为g(p
i,j
)中第a对向量中的第b个元素,g=1,2,3,4。
[0145]
最终p
i,j
处的平面法向量为上述四个法向量归一化平均后得到的结果。
[0146][0147]
归一化后的向量n(p
i,j
)为像素点p
i,j
的法向量;
[0148]
步骤五、使用地面点优化算法结合像素点的法向量,将图像s对应的地面点进行优化;
[0149]
鉴于无人机视角的特殊性,机载可见光相机为了更好观测地面目标,一定会与地面形成夹角,此外图像拍摄范围较大,地平面难免会被遮挡进而影响相机高度估计效果,为了得到更加准确的绝对深度图进而对目标进行定位,本发明设计了一个两阶段地面点优化
算法;
[0150]
具体优化过程为:
[0151]
具体过程为:
[0152]
步骤501、对输入图像s的地面点进行初步优化;
[0153]
称步骤四所得到的地面点集为g
t
,步骤四所得到的地面点多为图像层次的地面点,即通过rgb信息训练分割得到,其中仍然存在很多不满足地平面几何约束的离群点,因此需要对这些离群点进行筛选处理。
[0154]
为了得到更加鲁棒的地面点以准确的估计相机高度,本文发明采用基于ransac的优化算法对地面点集进行进一步优化。ransac是随机采样一致性的缩写,该算法的目的是消除一个数据集合中的外点,其是一种数学迭代方法。“外点”指的是数据集合中的噪声点或离群点,所以ransac也是一种“外点”数据检测算法。ransac算法通过不断迭代优化产生最终的结果,该算法是一定概率下所产生的结果,迭代时间越长,其结果越准确。
[0155]
优化过程如流程图5所示。优化过程中,随机选取地面点集中的一点p
i,j
,计算其所在平面的法向量,随后计算点集中其他点pi′
,j
距该平面的距离,若距离大于阈值d
thresh
,则将pi′
,j
点从点集中剔除;重复上述步骤直至达到迭代次数z或点集中点的数目小于指定阈值,结束。
[0156]
通过ransac算法来迭代优化下式,在几何层面剔除分割算法所得到的地平面点集中的外点,以找到最佳的地平面。
[0157][0158]
其中,g
t
为地面点集,p
i,j
为分割后得到的地平面点集中的点,n(p
i,j
)为平面法向量,h
t
为坐标原点距该平面的距离;平面上的任意一点p

i,j
应满足下式:n(p
i,j
)*p

i,j-h
t
=0。
[0159]
步骤502、对输入图像s连同前后帧图像共同构建帧缓冲区,对多帧地面点进行联合优化;
[0160]
步骤501所得到的地面点集为单张图像中的地面点,由于无人机拍摄视角导致单帧图像中的地面点区域存在遮挡或结果不够准确,因此构建一个帧缓冲区。
[0161]
联合优化是指:将当前帧及其前两帧图像中的所有地面点映射到同一相机坐标系下,构成一个公共地面点集,针对点集中的点通过求解最小二乘解,进行共同优化得到最优平面向量;
[0162]
由于图像中存在的遮挡和相机视角限制,步骤501计算得到的地平面可能存在一定误差。因此提出使用帧缓冲区地面点优化方法对地平面点进行进一步优化。如流程图6所示。通过使用滑动窗口方法构建一个帧缓冲区,并对帧缓冲区中的所有优化后的地面点计算其共同的地平面。每当新拍摄一张图片,就对帧缓冲区进行更新,以将每一个内点转换至缓冲区全局帧中。
[0163]
通过位姿矩阵可以将不同帧间的地面点按下式进行转换:
[0164][0165]
若缓冲区中共有n个地面点,则找到一个平面使这些点距离该平面的总误差最小,总误差使用最小二乘法的方式计算,公式如下:
[0166]
首先使用奇异值分解的方法(svd)求解下式的最小二乘解,得到向量μ;
[0167][0168]
其中p
t
=[p1,p2,

,pn]∈r4×n,,为分割后点集中的任意一点,t
t
为旋转矩阵,pi为旋转后的第i个地面点,所有地面点共同构成点集p
t
。向量μ如下式所示。
[0169]
μ=[n
t
,-h
t
]
t
[0170]nt
为平面法向量,h
t
为坐标原点距该平面的距离
[0171]
通过参数μ可以确定相机坐标系下的一个已知平面,计算缓冲区点集中所有点距该平面的距离,筛选点集中大于阈值d
thresh
的点,并将其删除,重复迭代上述过程直至达到迭代次数停止迭代,得到优化后的地面点集。
[0172]
令则可将优化方程改写为:
[0173][0174]
因此可以通过奇异值分解的方法求解其最小二乘解。为进一步确保估计的μ的准确性,为其添加了一个权重矩阵此处σz为所有平面点到其均值的归一化距离。
[0175]
此处同样使用基于ransac的优化算法对缓冲区中的所有地面点进行优化处理,以得到最优的地平面。在每次迭代优化的过程中,首先估计参数μ以得到平面参数。计算随机选择的点距离刚得到平面的距离d,若d》d
thresh
,则将该点从点集中删除。根据点集中剩余的点重新计算μ。重复迭代上述步骤z次。在ransac优化迭代后,将得到最终的平面法向量和筛选后的地面点集
[0176]
步骤六、通过两步优化后的地面点集估计相机高度,随后计算尺度因子,结合图像s的相对深度,恢复绝对深度;
[0177]
通过优化后的地面点集,结合平面的法向量可以对当前帧下地面点集中的点依次计算在该点处所估计的相机高度,对所有估计的相机高度取算数平均值,结合相机在该帧图像时的先验真实高度,计算尺度因子。将尺度因子与相对深度相乘得到绝对深度。
[0178]
首先,优化后的地面点集为结合平面法向量可计算当前帧下地面点集中的点处估计的相机高度:
[0179][0180]
表示优化后最优平面法向量。
[0181]
然后,通过对m个相机高度进行均值处理,得到当前帧图像估计的相机高度:
[0182][0183]
接着,使用真实的相机高度h
*
计算当前帧的尺度因子:
[0184]
最后,第t帧图像的相对深度图为i
t
,则其绝对深度图计算过程如下:
[0185]
步骤七、使用centernet网络对图像s进行目标检测,结合该图像s的绝对深度图,实现无人机视角下目标定位;
[0186]
centernet为一种anchor-free的目标检测网络,网络框架如图7所示,该网络首先对输入图像进行特征提取,得到包含目标的热力图,提取热力图中的特征并使用后序回归分支分别预测目标中心以及场宽数值。由于无人机所拍摄的图像中目标通常较小,因此通过该方法可以避免使用anchor的方法对小目标检测性能较差的问题;visdrone为无人机视角下目标检测数据集,该目标检测数据集包含常见的车辆、行人等目标,数据集中含有多种视角且有十分丰富的待检测目标;通过使用centernet目标检测网络对给定无人机图像进行目标检测,得到第t帧图像中第i个目标的中心点和该目标的宽高通过下式计算该目标点到相机平面的垂直距离。
[0187]
centernet为目标检测网络,通过其对场景中常见目标进行检测,能够得到目标中心和目标边界框的宽高。在绝对深度图中选择目标中心所对应像素点的深度,该深度值即为目标距无人机的真实距离,实现目标定位。
[0188]
该网络首先对输入图像进行特征提取,得到包含目标的热力图,提取热力图中的特征并使用后序回归分支分别预测目标中心以及长宽数值。
[0189]
通过使用centernet目标检测网络对给定无人机图像进行目标检测,得到第t帧图像中第i个目标的中心点和该目标的宽高通过下式计算该目标点到相机平面的垂直距离。
[0190][0191]
通过相机小孔成像模型,如图8所示,通过下式计算得到第t帧第i个目标在相机坐标系下的坐标
[0192][0193][0194][0195]
实施例:
[0196]
本实施例对不同场景下低空无人机视角图像序列进行测试,具体测试过程如下所述:
[0197]
第一步、收集并整理低空无人机视角视频序列;
[0198]
1)构建无人机无监督深度估计数据集
[0199]
从visdrone和uavid等公开低空无人机数据集中选取包含不同视角的无人机视频序列,其中视角α∈[0
°
,90
°
],视频序列中应包含常见目标如车辆、行人等,且为街景图像。
[0200]
本数据集包含33段视频序列、共计23738帧图像。由于网络会对输入图像进行5倍下采样,因此需将所有图像数据大小转换为640
×
352以便后续进行网络训练。
[0201]
2)数据划分
[0202]
取其中3段视频序列作为测试集,共计2319帧图像,剩余图像序列作为训练集。对无监督深度估计网络进行训练。
[0203]
3)测试集真值深度标签的生成
[0204]
通过pix4d软件生成测试集数据的3维点云,通过投影筛选得到深度标签,用于结果验证。
[0205]
第二步、将无人机图像数据集输入深度估计网络进行训练,通过测试集验证网络训练效果;
[0206]
结合深度标签,可以通过如下方法验证深度估计的结果。其指标主要有相对误差(abs rel)、平方相对误差(sq rel)、均方根误差(rmse)、对数均方误差(rmse log)以及准确率(acc)。
[0207][0208][0209][0210][0211][0212]
其中di为像素i处所预测的深度值,为真实的深度值,n为含有深度标签的像素点数量,thr为阈值,通常取1.25、1.252、1.253。
[0213]
测试集序列的测试结果如表1所示:
[0214]
表1测试结果
[0215][0216]
第三步、通过尺度恢复算法计算尺度因子
[0217]
首先通过分割网络得到输入图像中的道路类别掩膜,随后通过该掩膜结合估计的相对深度计算掩膜中地面点的法向量,使用第一步优化算法剔除其中的外点,随后利用当前帧及其前两帧构建帧缓冲区,对帧缓冲区中的地面点集进行共同优化,得到优化后的点集。通过该点集结合地面法向量可估计相机坐标系下相机的高度,最后计算尺度因子。
[0218]
第四步、对深度图进行尺度恢复,随后对常见目标进行目标定位
[0219]
通过尺度因子结合相对深度图可恢复出场景的绝对深度图。通过绝对深度图结合目标检测算法可得到目标距无人机的距离。算法目标定位结果如图9(b)所示,图9(a)为真值标签恢复出的定位结果,通过对比可以发现本发明提出的算法能够对低空无人机目标进
行定位。
[0220]
本实施例为无人机低空视角下拍摄图像序列,具有图像视角变化较大,场景复杂等特点,但目标定位算法仍能够对场景进行较为准确的深度估计,从而对目标进行定位,体现出了本算法一定的优越性。
[0221]
本发明针对无人机图像目标定位方法,引入无监督单目图像深度估计方法估计场景的相对深度,随后引入基于分割和优化算法计算尺度因子,将相对深度恢复为绝对深度,最后引入目标检测算法结合绝对深度图对目标进行定位。鉴于无人机图像中存在图像细节丰富、场景深度变化较大等特点,此外无人机视角下缺少深度估计数据集,因此引入无监督深度估计方法,在训练时使用多视角无人机图像,让网络学习以应对不同视角变化,同时提出借用pix4d商业软件对测试集图像恢复深度标签,以验证深度估计的准确性。
[0222]
针对无人机视角下大视角变化和目标中较为严重的相互遮挡,本发明提出基于分割和两步优化方法的尺度恢复方法。该方法摒弃了传统尺度恢复过程所使用的强假设条件,转而使用分割算法选择出像素层面的地面点集,随后使用几何约束,将地面点集投影至三维空间,在三维空间中优化得到更优平面,剔除点集中的离群点。最后使用多帧地面点集构造帧缓冲区,对缓冲区内所有的地面点进行优化,得到更加鲁棒的地面点集结果。根据最终的地面点集估计无人机高度,计算尺度因子,恢复场景的绝对深度。利用目标检测方法结合绝对深度,对目标进行定位。

技术特征:
1.一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,具体步骤如下:首先,利用某无人机在不同相机倾角下、不同飞行高度和不同拍摄距离对地面常见目标拍摄的图像序列,进行处理构建无人机深度估计数据集;利用深度估计数据集对monodepth2全卷积神经网络进行训练,作为单目无监督深度估计网络,用于对图像进行相对深度估计;然后,针对新输入图像s,使用deeplabv3+网络对图像s进行道路分割,得到对应的道路掩膜,同时使用训练好的单目无监督深度估计网络对图像s进行相对深度估计,得到相对深度图;接着,通过对图像s的道路掩膜和相对深度图取交集获得粗略的地面点集,对该点集中每个像素点分别计算其法向量;并使用地面点优化算法结合像素点的法向量,将图像s对应的地面点进行优化;具体过程包括:1)通过道路掩膜和相对深度图,对地面点在几何层面上进行初步优化;得到单张图像中的地面点,2)使用滑动窗口方法构建一个帧缓冲区,将当前帧及其前两帧图像中的所有地面点映射到同一空间,构成一个地面点集,针对点集中的点通过求解最小二乘解进行共同优化;最后,通过两步优化后的地面点集估计相机高度,并计算尺度因子,结合图像s的相对深度,恢复该图像s的绝对深度;使用centernet网络对图像s进行目标检测,结合该图像s的绝对深度图,实现无人机视角下该图像中目标的定位。2.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述无人机相机倾角指无人机载荷的可见光相机和地平面所形成的夹角α,α∈[0
°
,90
°
];地面常见目标为:车辆、行人;每帧图像中的目标数量不固定;构建无人机深度估计数据集的具体处理过程为:首先,选取某段时间的连续图像序列分别输入商业软件,通过建模生成三维点云,得到每张图像的深度标签;然后,将图像序列和各自对应的深度标签结合,得到无人机深度估计数据集。3.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述单目无监督深度估计网络具体训练过程为:首先,将连续图像序列输入monodepth2全卷积神经网络,通过估计前一帧和后一帧与当前帧间的相机位姿变化,将当前帧图像i
t'
反投影至相邻帧中,得到图像i
t'

t
;计算公式为:i
t'

t
=i
t'
<proj(d
t
,t
t

t'
,k)>;其中i
t'
为前一帧或后一帧的原始图像,i
t
为目标图像,k为相机内参矩阵;proj(d
t
,t
t

t'
,k)为图像投影变换公式;如下:proj(d
t
,t
t

t'
,k)=φ(k[t
t

t'
,d
a
(p
a
)k-1
(h(p
a
))])其中p
a
为像素在图像坐标系下的坐标,h(p
a
)为坐标p
a
的齐次坐标,d
a
(p
a
)为坐标p
a
处的深度,t
t

t'
为旋转矩阵,φ表示函数公式;然后,使用最小化重投影损失函数计算目标图像i
t
和反投影图像i
t'

t
间的重投影误差,学习场景的相对深度;损失函数如下:
其中α主要用于权重调整,i
a
和i
b
分别为两张图像,c1,c2为维持稳定的常数;表示图像i
a
的均值,表示图像i
b
的方差,表示图像i
a
和i
b
的协方差。4.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述对图像s的地面点集中每个像素点分别计算其法向量;具体过程为:针对地面点集中像素点p
i,j
的法向量,计算过程为:首先,将平面坐标系下的像素点p
i,j
投影到相机坐标系下:d
t
(p
i,j
)p
i,j
=kp
i,j
式中p
i,j
=[x,y,z]
t
为像素点p
i,j
在相机坐标系下的坐标;d
t
(p
i,j
)为像素点p
i,j
的相对深度信息;然后,对于像素点p
i,j
,将其周围八邻域中的点划分为四对,p
i,j
分别和每对的两个点链接形成夹角为90
°
的两个向量,将各向量从像素坐标系投影至相机坐标系下,得到:g(p
i,j
)={[p
i+1,j
,p
i,j-1
],[p
i+1,j-1
,p
i-1,j-1
]...}四对向量两两一组,构成了四个平面,通过下式计算得到四个平面法向量:此处g
a,b
为g(p
i,j
)中第a对向量中的第b个元素,g=1,2,3,4;最终像素点p
i,j
处的平面法向量为上述四个法向量归一化平均后得到的结果:归一化后的向量n(p
i,j
)为像素点p
i,j
的法向量。5.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述对图像s的地面点进行优化的过程具体为:步骤a、对输入图像s的地面点进行初步优化,针对随机选取的地面点p
i,j
,计算地面点集中其他点p

i,j
距点p
i,j
法向量平面的距离,若距离大于阈值d
thresh
,则将点p

i,j
从地面点集中剔除;重复直至达到迭代次数z或地面点集中点的数目小于指定阈值,得到最佳的地平面图像;通过ransac算法来迭代优化下式,其中,g
t
为地面点集,n(p
i,j
)为点p
i,j
的平面法向量,h
t
为坐标原点距该平面的距离;平面上的任意一点p

i,j
应满足下式:n(p
i,j
)*p

i,j-h
t
=0;步骤b、对输入图像s连同前后帧图像共同构建帧缓冲区,对多帧地面点进行联合优化;首先,使用奇异值分解的方法求解最小二乘解,得到向量μ;
其中p
t
=[p1,p2,

,p
n
]∈r4×
n
,,为分割后点集中的任意一点,t
t
为旋转矩阵,p
i
为旋转后的第i个地面点,所有地面点共同构成点集p
t
;向量μ如下式所示:μ=[n
t
,-h
t
]
t
n
t
为平面法向量,h
t
为坐标原点距该平面的距离;通过参数μ确定相机坐标系下的一个已知平面,计算缓冲区点集中所有点距该平面的距离,筛选点集中大于阈值d
thresh
的点,并将其删除,重复迭代上述过程直至达到迭代次数停止迭代,得到优化后的地面点集。6.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述恢复图像s的绝对深度,具体为:首先,优化后的地面点集为结合平面法向量计算当前帧下地面点集中的点处估计的相机高度:集中的点处估计的相机高度:表示优化后最优平面法向量;然后,通过对m个相机高度进行均值处理,得到当前帧图像估计的相机高度:接着,使用真实的相机高度h
*
计算当前帧图像的尺度因子:最后,第t帧图像的相对深度图为i
t
,则其绝对深度图计算过程如下:7.如权利要求1所述的一种基于单目深度估计和尺度恢复的目标定位方法,其特征在于,所述使用centernet网络对图像s进行目标检测具体为:通过第t帧图像中第i个目标的中心点和该目标的宽高计算该目标点到相机平面的垂直距离:通过相机小孔成像模型,计算第t帧第i个目标在相机坐标系下的坐标通过相机小孔成像模型,计算第t帧第i个目标在相机坐标系下的坐标通过相机小孔成像模型,计算第t帧第i个目标在相机坐标系下的坐标通过相机小孔成像模型,计算第t帧第i个目标在相机坐标系下的坐标其中表示第t帧图像中第i个目标的中心点,为该目标点到相机平面的垂直距离,为绝对深度。

技术总结
本发明公开了一种基于单目深度估计和尺度恢复的目标定位方法,属于航空图像处理领域,具体为:以无人机实飞拍摄图像序列为基础,利用已有商业软件制作无人机视角下深度估计数据集;通过无监督单目深度估计网络得到场景的相对深度图;基于场景分割和两步地面点优化算法对相机高度进行估计,随后和先验真实相机高度做比得到场景的尺度因子;将尺度因子和相对深度相结合得到场景的绝对深度;通过目标检测算法对常见目标进行检测,最后使用小孔成像原理对目标进行定位。本发明将绝对深度估计方法和目标检测方法相结合,实现对低空无人机拍摄场景中常见目标进行定位,具有较高的准确性。性。性。


技术研发人员:李红光 王洋
受保护的技术使用者:北京航空航天大学
技术研发日:2023.01.29
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐