发明内容
为提高深度学习网络估计无人机平台获取图像深度的过程中的边缘感知和精度
的问题,在本发明的第一方面提供了一种适用于无人机平台的多视图深度估计方法,包括:
获取无人机采集到的一幅参考图像及其多幅邻域图像;给定输入源-参考图像对
,在
整个场景深度范围内均匀采样
个假设深度值,其中:输入源
I S 为无人机采集到的一幅参
考图像,
I r 为多幅邻域图像的一幅;基于参考图像,多幅邻域图像及其单应变换后的图像,
得到多个初始二维代价体
C;将所述多个二维代价体
C进行解码,得到多个初始深度图
D init ;
对每个初始深度图
D init 进行边缘检测和特征提取,得到其对应的边缘感知的特征图;根据
每个初始深度图
D init 及其对应的初始二维代价体
C,生成逐像素的概率图
P;将每个所述概
率图
P与所述边缘感知的特征图逐点相乘,得到多个亲和力矩阵
F;将所述多个亲和力矩阵
F
与多个初始二维代价体
C进行多次迭代传播,得到最终的边缘信息引导的代价体
及其对
应的边缘优化的深度图
;对多个边缘信息引导的代价体
取平均,并将其与对应的边
缘优化深度图
相加得到复合图像,通过训练完成的卷积神经网络将所述复合图像还
原为最终的深度图估计
。
在本发明的一些实施例中,所述基于参考图像,多幅邻域图像及其单应变换后的
图像,得到多个初始二维代价体
C包括:在每个假设深度
下,基于平面扫描方法,使用可
微单应变换将输入员
投影到参考相机坐标系下,得到变换后的源图像
;计算
的
绝对差构造一致性体,利用二维卷积神经网络对所述一致性体进行初步的正则化,得到多
个初始二维代价体
C。进一步的,所述将所述多个二维代价体
C进行解码,得到多个初始深度
图
D init 包括:将每个正则化后的初始二维代价体
输入到卷积神经网络中;经过卷积神经
网络的Softmax处理后,每个二维代价体
转换为具有2通道特征的初始深度图
D init 。在本
发明的一些实施例中,所述根据每个初始深度图
D init 及其对应的初始二维代价体
C,生成逐
像素的概率图
P包括:对每个初始深度图
进行边缘检测,并将得到的边缘值与邻域图像
加权取和,输入到一个二维卷积神经网络,得到边缘感知的特征图;同时,对每个初始深
度图
D init 对应的初始二维代价体
C,执行Softmax操作得到深度概率体
;由初始深度图
作为
中的索引,生成一张逐像素的概率图
。
在本发明的一些实施例中,所述将所述多个亲和力矩阵
F与多个初始二维代价体
C
进行多次迭代传播,得到最终的边缘信息引导的代价体
及其对应的边缘优化的深度图
包括:在每次迭代传播中,沿着假设深度的维度,将每个初始二维代价体
C划分为
个匹配代价图的集合
;将每个亲和力矩阵
视作一个逐像素的
权值矩阵,对每一个匹配代价图
进行局部的加权求和,得到一次迭代传播后的匹配代价
图
;经过第
t次传播后,在第
n个深度假设下的匹配代价图
;在深度假设维度将
个迭代传播后的匹配代价图连接,获得由边缘信息引导的代价体
;利用卷积神经网络对
应用Softmax操作,得到经过边缘优
化的深度图
。
在上述的实施例中,还包括:
采用深度损失函数
和
混合法相损失
对每个初始深度图
D init 、每个边缘优化的深
度图
和最终的深度图估计进行监督,其中
Q表示深度图上的所有有效点,
是它们
的总数;
是像素
q处的估计深度值,
是
q处的深度真值。
本发明的第二方面,提供了一种适用于无人机平台的多视图深度估计装置,包括:
获取模块,用于获取无人机采集到的一幅参考图像及其多幅邻域图像;给定输入源-参考图
像对
,在整个场景深度范围内均匀采样
个假设深度值,其中:输入源
I S 为无人机
采集到的一幅参考图像,
I r 为多幅邻域图像的一幅;解码模块,用于基于参考图像,多幅邻
域图像及其单应变换后的图像,得到多个初始二维代价体
C;将所述多个二维代价体
C进行
解码,得到多个初始深度图
D init ;提取模块,用于对每个初始深度图
D init 进行边缘检测和特
征提取,得到其对应的边缘感知的特征图;根据每个初始深度图
D init 及其对应的初始二维
代价体
C,生成逐像素的概率图
P;将每个所述概率图
P与所述边缘感知的特征图逐点相乘,
得到多个亲和力矩阵
F;传播模块,用于将所述多个亲和力矩阵
F与多个初始二维代价体
C进
行多次迭代传播,得到最终的边缘信息引导的代价体
及其对应的边缘优化的深度图
;还原模块,用于对多个边缘信息引导的代价体
取平均,并将其与对应的边缘优化
深度图
相加得到复合图像,通过训练完成的卷积神经网络将所述复合图像还原为最
终的深度图估计
。
本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面提供适用于无人机平台的多视图深度估计方法。
本发明的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本发明在第一方面提供的适用于无人机平台的多视图深度估计方法。
本发明的有益效果是:
本发明基于深度学习的无人机航拍影像深度估计网络框架上,以利用无人机采集的一幅参考图像和多幅邻域图像及其相机姿态作为输入,预测参考图像的深度。经过边缘优化步骤,通过对边缘信息进行编码、在网络中融合和传播,有效地将空间感知信息融入端到端的深度估计网络中,从而使其能更好地捕捉几何形状,得到进一步的优化。本发明同时提出一个边缘信息编码模块对深度边缘特征进行编码,解决了二值化边缘图与深度学习网络的可微特征表达的差异性问题;提出一个边缘感知的空间传播模块以指导边缘特征在代价体上的迭代传播,解决了边缘特征在深度学习网络中的融合问题。由于对多视图深度估计网络进行了优化,优化后的深度图结果的精度和准确率都得到大幅提升,并且在全局结构和细节区域上都得到了改进。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参考图1与图2,在本发明的第一方面,提供了一种适用于无人机平台的多视图深
度估计方法,包括:S100.获取无人机采集到的一幅参考图像及其多幅邻域图像;给定输入
源-参考图像对
,在整个场景深度范围内均匀采样
个假设深度值,其中:输入源
I S 为无人机采集到的一幅参考图像,
I R 为多幅邻域图像的一幅;S200.基于参考图像,多幅邻
域图像及其单应变换后的图像,得到多个初始二维代价体
C;将所述多个二维代价体
C进行
解码,得到多个初始深度图
D init ;S300.对每个初始深度图
D init 进行边缘检测和特征提取,得
到其对应的边缘感知的特征图;根据每个初始深度图
D init 及其对应的初始二维代价体
C,生
成逐像素的概率图
P;将每个所述概率图
P与所述边缘感知的特征图逐点相乘,得到多个亲
和力矩阵
F;S400.将所述多个亲和力矩阵
F与多个初始二维代价体
C进行多次迭代传播,得
到最终的边缘信息引导的代价体
及其对应的边缘优化的深度图
;S500.对多个边
缘信息引导的代价体
取平均,并将其与对应的边缘优化深度图
相加得到复合图像,
通过训练完成的卷积神经网络将所述复合图像还原为最终的深度图估计
。
可以理解,深度估计网络通常通过构造代价体来建模优化问题,然后应用代价体正则化,这可以看作是一个平滑回归过程。但是,对于那些尖锐(突变)的区域,不加区分地引入平滑度约束可能会导致模糊的边缘或错误的深度结果。由于这些网络采用常规的回归机制,相邻区域的深度值往往是连续的。有鉴于此,在公开中,通过引入边缘信息来揭示尖锐区域的位置分布,然后利用该位置来引导正则化或传播过程,从而减轻在边缘上深度剧变产生的负面影响。代价体是指:通过逐视差平面或者逐深度平面地扫描一对二维特征,所得的三维特征即匹配代价体。每一次扫描不改变二位特征的坐标空间,所以得到的匹配代价体仍然属于视锥空间。双目深度估计广泛采用平面扫描法构造匹配代价体(CostVolume)。
在本发明的一些实施例的步骤S100中,获取无人机采集到的一幅参考图像及其多
幅邻域图像;给定输入源-参考图像对
,在整个场景深度范围内均匀采样
个假
设深度值,其中:输入源
I S 为无人机采集到的一幅参考图像,
I R 为多幅邻域图像的一幅。具体
地,无人机采集一幅参考图像及其N-1多幅邻域图像,并根据其构建输入源-参考图像。
在本发明的一些实施例的步骤S200中,所述基于参考图像,多幅邻域图像及其单
应变换后的图像,得到多个初始二维代价体
C包括:在每个假设深度
下,基于平面扫描方
法,使用可微单应变换将输入员
投影到参考相机坐标系下,得到变换后的源图像
;计
算
的绝对差构造一致性体,利用二维卷积神经网络对所述一致性体进行初步的正
则化,得到多个初始二维代价体
C。
具体地,步骤S200包括:
S201:在每个深度假设
下,遵循经典的平面扫描方法,使用可微单应变换将源
视图
投影到参考相机坐标系下,得到变换后的源图像
。可微单应变换计算过程如公式
(1)所示。
其中,
K代表相机的内参,
表示从源视图转移到参考视图的旋转和平
移矩阵。
H n 表示在深度假设
d n 下的单应变换矩阵。
和
分别表示参考视图下的原始坐
标,以及在深度假设
d n 下由源视图投影后的坐标。
S202:利用二维卷积神经网络对一致性体进行初步的正则化。该二维卷积神经网
络由一个五层的U型神经网络构成,网络最终的输出二维代价体
大小为
。
S203:将步骤S102正则化网络输出的初始二维代价体
输入深度解码层。深度解
码层首先包括一层卷积神经网络,该卷积层的输出特征通道为1;随后由一次Softmax处理
得到的2通道特征,操作得到初始深度图
D init 。
进一步的,所述将所述多个二维代价体
C进行解码,得到多个初始深度图
D init 包
括:将每个正则化后的初始二维代价体
输入到卷积神经网络中;经过卷积神经网络的
Softmax处理后,每个二维代价体
转换为具有2通道特征的初始深度图
D init 。
在本发明的一些实施例的步骤S300中,所述根据每个初始深度图
D init 及其对应的
初始二维代价体
C,生成逐像素的概率图
P包括:对每个初始深度图
D init 进行边缘检测,并将
得到的边缘值与邻域图像
I r 加权取和,输入到一个二维卷积神经网络,得到边缘感知的特
征图;同时,对每个初始深度图
D init 对应的初始二维代价体
C,执行Softmax操作得到深度概
率体
p v ;由初始深度图
D init 作为
p v 中的索引,生成一张逐像素的概率图
。
具体地,所述S300包括:
S301:对初始深度图D init 进行边缘检测。具体而言,采用传统的Canny算子显式地表达深度边缘,并将边缘值与参考图像I r 加权取和,得到边缘增强的参考图像。
S302:使用边缘特征编码网络处理步骤S201中得到的边缘增强的参考图像。该网
络是一个轻量的二维卷积神经网络,由若干层相等尺度的卷积层组成。其中,前三层由三组
扩张卷积层、BatchNorm层、ReLU激活层构成,后三层由三组普通卷积层、BatchNorm层构成。
网络输出的边缘感知特征的大小为
。
S303:结合步骤S102中得到的代价体
和步骤S103中得到的初始深度图
,计
算逐像素的概率图
P。具体地,对代价体
实行Softmax操作得到深度概率体
p v ,其大小为
;沿着深度假设维度,由深度值
D init 作为
p v 中的索引,搜寻各个像素点对应
的概率值,从而获得一张逐像素的概率图
。
参考图2和图3,在本发明的一些实施例的步骤S400中,所述将所述多个亲和力矩
阵
F与多个初始二维代价体
C进行多次迭代传播,得到最终的边缘信息引导的代价体
及
其对应的边缘优化的深度图
包括:在每次迭代传播中,沿着假设深度的维度,将每个
初始二维代价体
C划分为
个匹配代价图的集合
;将每个亲和力
矩阵
视作一个逐像素的权值矩阵,对每一个匹配代价图
进行局部的加权求和,得到
一次迭代传播后的匹配代价图
;经过第
t次传播后,在第
n个深度假设下的匹配代价图
;在深度假设维度将
个迭代传播后的匹配代价图连接,获得由边缘信息引导的
代价体
;利用卷积神经网络对
应用Softmax操作,得到经
过边缘优化的深度图
。
具体地,S400包括:S401:对于步骤S300中得到的边缘感知的亲和力矩阵
F,进行归
一化操作,获得传播过程中的局部权值矩阵
w。计算过程如公式(2)所示,其中
表示点
邻域中距其位移(
a,b)的点在局部卷积过程中的权值。
S402:利用步骤S301中得到的权值矩阵
,对每一个匹配代价图
进行局部的
卷积操作。对于第
t次迭代,边缘引导的卷积操作将前一次迭代得到的匹配代价图
作为
输入,输出经过一次边缘传播的匹配代价图
。
中像素点
对应值的计算过
程如公式(3)所示:
(3);上
述
表示哈达玛积(Hadamard product)乘积算符。
S403.重复步骤S401和S402,直至得到经过第
次传播后,在第
个深度假设下的
匹配代价图
。在深度假设维度将
个迭代传播后的匹配代价图连接,获得由边缘
信息引导的代价体
。对
应用深度解码层,即输出通道为1
的卷积层及Softmax操作,获取经过边缘优化的深度图
。
参考图3,在本发明的一些实施例的步骤S500中,计算步骤S400中获得的各个图像
对
对应的代价体的平均值,与相应的边缘优化深度图
相加,输入一个二维
卷积神经网络加以Softmax操作得到最终的深度图估计
。
继续参考图3,在上述的实施例的步骤S100-S500中,还包括:S600.采用深度损失
函数
和混合法相损失
对每个初始深度图
D init 、每个边缘优化的深度图
和最终的深度图估计进行监督,其中
表示深度图上的所有有效点,
是它们的总数;
是像素
处的估计深度值,而
是
q处的深度真值。
具体地,S601:为监督三个阶段(S200-S500中的涉及的代价网络、边缘线性传播网络、优化网络)中获得的一系列深度图,对所有深度图及其对应的逆深度图采用像素级深度损失,如公式(4)所示:
其中
Q表示深度图上的所有有效点,
是它们的总数;
是像素
q处的估计
深度值,
是
q处的深度真值。
整个网络的深度损失函数为:
S602:对网络中各阶段所得的深度图,计算其对应的法相图,对其进行法相监督,损失函数如公式(6)所示:
其中,
Q表示深度图上的所有有效点,
是它们的总数。
是像素
处的
估计法相值,而
是
q处的组合法相真值。
整个网络的法相损失函数为:
实施例2
参考图4,本发明的第二方面,提供了一种适用于无人机平台的多视图深度估计装
置1,包括:获取模块11,用于获取无人机采集到的一幅参考图像及其多幅邻域图像;给定输
入源-参考图像对
,在整个场景深度范围内均匀采样
个假设深度值,其中:输入
源
I S 为无人机采集到的一幅参考图像,
I r 为多幅邻域图像的一幅;解码模块12,用于基于参
考图像,多幅邻域图像及其单应变换后的图像,得到多个初始二维代价体
C;将所述多个二
维代价体
C进行解码,得到多个初始深度图
D init ;提取模块13,用于对每个初始深度图
D init 进
行边缘检测和特征提取,得到其对应的边缘感知的特征图;根据每个初始深度图
D init 及其
对应的初始二维代价体
C,生成逐像素的概率图
P;将每个所述概率图
P与所述边缘感知的特
征图逐点相乘,得到多个亲和力矩阵
F;传播模块14,用于将所述多个亲和力矩阵
F与多个初
始二维代价体
C进行多次迭代传播,得到最终的边缘信息引导的代价体
及其对应的边缘
优化的深度图
D edgs ;还原模块15,用于对多个边缘信息引导的代价体
取平均,并将其与对
应的边缘优化深度图
D edgs 相加得到复合图像,通过训练完成的卷积神经网络将所述复合图
像还原为最终的深度图估计
D refine 。
进一步的,所述解码模块包括:变换单元,用于在每个假设深度
下,基于平面扫
描方法,使用可微单应变换将输入员
投影到参考相机坐标系下,得到变换后的源图像
;正则化单元,用于计算
的绝对差构造一致性体,利用二维卷积神经网络对所
述一致性体进行初步的正则化,得到多个初始二维代价体
C。
实施例3
参考图5,本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面的方法。
电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Python,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。需要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。