深度预测模型的训练方法及装置、介质和电子设备与流程

专利2022-05-10  43



1.本公开涉及图像处理技术领域,具体涉及一种深度预测模型的训练方法、深度预测模型的训练装置、计算机可读介质和电子设备。


背景技术:

2.在相关技术中,构建对图像进行深度预测的深度学习模型通常有两种方法:一是基于双目图像对卷积神经网络进行训练,二是基于单目图像进行网络训练。其中,第一种需要通过相对位置固定的两个视角相机同时对场景进行图像采集得到双目图像,在对网络训练和基于网络进行预测时,均需要输入成对的两帧图像;第二种方法只需要一个视角的相机对场景进行图像采集,在对网络训练和基于网络进行预测时,只需输入单张图像即可。
3.针对单目深度预测模型,通常可以采用两种方法对模型进行优化:一是通过纯监督的方法,即单帧标注的方式对单目深度预测模型进行优化;二是基于双目图像之间,图像特征的空间一致性做约束对单目深度预测模型进行优化。
4.然而,基于上述优化方式得到的单目深度预测模型,在背景复杂或者光照不均匀等视频的深度预测中,很容易出现帧与帧之间预测结果不连续的问题,进而可能使得预测结果在视频中会出现闪动和跳变等现象。


技术实现要素:

5.本公开的目的在于提供一种深度预测模型的训练方法、深度预测模型的训练装置、计算机可读介质和电子设备,进而至少在一定程度上提高单目深度预测结果的连续性和一致性,使得模型对序列中静止物体的深度预测结果保持不变,同时保证对运动物体的深度预测结果过渡平滑。
6.根据本公开的第一方面,提供一种深度预测模型的训练方法,包括:将图像序列输入待训练模型,得到图像序列对应的深度预测图像集合;图像序列包括至少两张相同视角获取的目标场景对应的图像;在深度预测图像集合中获取当前图像对应的第一深度预测图像和当前图像在图像序列中的前一图像对应的第二深度预测图像;基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数;基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。
7.根据本公开的第二方面,提供一种深度预测模型的训练装置,包括:序列处理模块,用于将图像序列输入待训练模型,得到图像序列对应的深度预测图像集合;图像序列包括至少两张相同视角获取的目标场景对应的图像;图像获取模块,用于在深度预测图像集合中获取当前图像对应的第一深度预测图像和当前图像在图像序列中的前一图像对应的第二深度预测图像;损失计算模块,用于基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数;权重更新模块,用于基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。
8.根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算
机程序被处理器执行时实现上述的方法。
9.根据本公开的第四方面,提供一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
10.本公开的一种实施例所提供的深度预测模型的训练方法,通过将图像序列输入待训练模型得到图像序列对应的深度预测图像集合,然后针对当前图像,在深度预测图像集合中获取当前图像对应的第一深度预测图像和当前图像在图像序列中的迁移图像对应的第二深度预测图像,并基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数,然后基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。本公开通过输入图像序列至待训练模型得到图像序列对应的深度预测图像结合,然后利用图像序列中每张图像中的特征和结构的一致性,可以优化深度预测模型预测结果的连续性和一致性,使得深度预测模型对图像序列中静止物体的深度预测结果保持一致,同时使得对图像序列中运动物体的预测结果过渡平滑。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
13.图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
14.图2示出了可以应用本公开实施例的一种电子设备的示意图;
15.图3示意性示出本公开示例性实施例中一种深度预测模型的训练方法的流程图;
16.图4示意性示出本公开示例性实施例中一种计算目标损失函数的方法的流程图;
17.图5示意性示出本公开示例性实施例中一种待训练模型的结构示意图;
18.图6示意性示出本公开示例性实施例中另一种深度预测模型的训练方法的流程图;
19.图7示出了图像序列中一张包含人像的人像场景对应的图像;
20.图8示出了基于本公开的深度预测模型的训练方法得到的深度预测模型对图7所示的图像进行处理后得到的深度预测图像;
21.图9示出了基于传统训练方法得到的深度预测模型对图7所示的图像进行处理后得到的深度预测图像;
22.图10示意性示出本公开示例性实施例中一种深度预测模型的训练装置的组成示意图。
具体实施方式
23.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加
全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
24.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
25.图1示出了可以应用本公开实施例的一种深度预测模型的训练方法及装置的示例性应用环境的系统架构的示意图。
26.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
27.本公开实施例所提供的深度预测模型的训练方法一般由服务器105执行,相应地,深度预测模型的训练装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的深度预测模型的训练方法也可以由终端设备101、102、103中执行,相应的,深度预测模型的训练装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103包括的摄像模组采集图像序列,然后将图像序列发送至服务器105,服务器105通过本公开实施例所提供深度预测模型的训练方法对待训练模型进行训练,得到深度预测模型。
28.本公开的示例性实施方式提供一种用于实现深度预测模型的训练方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行深度预测模型的训练方法。
29.下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
30.如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(universal serial bus,usb)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,
sim)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
31.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器和/或神经网络处理器(neural

network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
32.npu为神经网络(neural

network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。在一示例性实施例中,可以基于npu进行深度预测模型的训练方法,例如,可以基于npu对图像序列进行预测得到深度预测图像。
33.处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
34.移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2g/3g/4g/5g等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi

fi)网络)、蓝牙(bluetooth,bt)等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。
35.移动终端200通过gpu、显示屏290及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏290和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。在一示例性实施例中,可以通过gpu、显示屏290及应用处理器等实现对图像序列中的图像进行格式变化,以获取满足格式条件的图像。
36.移动终端200可以通过isp、摄像模组291、视频编解码器、gpu、显示屏290及应用处理器等实现拍摄功能。其中,isp用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。在一示例性实施例中,可以通过isp、摄像模组291、视频编解码器、gpu、显示屏290及应用处理器等进行图像拍摄,得到图像序列。
37.深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291,进而基于设置有深度传感器的摄像模组采集目标场景对应的深度数据,以生成当前图像对应的深度标注图像。
38.压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感
器2803可以用于确定移动终端200的运动姿态。此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
39.针对相关优化方式得到的单目深度预测模型,在对一些存在背景复杂、光照不均匀等问题的图像序列进行处理时,很容易出现对序列进行预测时,图像序列中各图像的预测结果不连续的问题。产生这些问题的主要原因在于,在相关深度网络模型训练时,通常是基于单张图像的深度标注图像作为参考。在这种情况下,由于没有考虑到图像平移、旋转等视角变换的不变性特性,很容易使单目深度预测模型在预测图像序列时,出现前一图像和后一图像预测结果不一致等问题,进而导致出现闪动和跳变等现象。
40.基于上述一个或多个问题,本示例实施方式提供了一种深度预测模型的训练方法。该深度预测模型的训练方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。参考图3所示,该深度预测模型的训练方法可以包括以下步骤s310至s340:
41.在步骤s310中,将图像序列输入待训练模型,得到图像序列对应的深度预测图像集合。
42.其中,图像序列包括至少两张相同视角获取的目标场景对应的图像,且图像序列通常是指具有连续性的多张图像,目标场景通常是指包括人像的场景。例如,可以是视频片段,或者从视频中抽取的内容具有连续性的图像序列。需要说明的是,为了得到图像序列,可以分批次读取用于对待训练模型进行训练的样本数据。例如,可以读取预设数量的视角不变的视频帧,作为图像序列。
43.在一示例性实施例中,待训练模型可以包括bts、midas等单目深度预测网络,也可以包括其它结构的单目深度预测网络,本公开对此不做特殊限定。基于此,在将图像序列输入待训练模型时,虽然是一次输入图像序列,但进行深度预测时,是基于图像序列中的每一张图像依次进行预测,得到每张图像对应的深度预测图像,进而得到图像序列对应的深度预测图像集合。
44.需要说明的是,由于不同的待训练模型所支持的图像格式不同,因此,在将图像序列输入待训练模型之前,可以对图像序列进行格式转换。例如,待训练模型支持分辨率为480
×
640的图像,可以在将图像序列输入待训练模型之前,先对图像序列中的每个图像进行缩放,得到分辨率为480
×
640的图像,然后将得到的图像序列输入至待训练模型中。
45.在一示例性实施例中,为了便于待训练模型进行训练时可以快速收敛,在将图像序列输入至待训练模型之前,还可以先对图像序列中的每个样本图像进行归一化。例如,可以将所有像素点对应的像素值减去127.5,然后除以127.5,将所有像素点对应的像素值,归一至[

1,1]的范围内。
[0046]
在步骤s320中,在深度预测图像集合中获取当前图像对应的第一深度预测图像和当前图像在图像序列中的前一图像对应的第二深度预测图像。
[0047]
其中,当前图像是指在对待训练模型训练的过程中,当前时刻正在进行计算,以对待训练模型进行权重更新的图像。
[0048]
在一示例性实施例中,在得到图像序列对应的深度预测图像集合后,基于图像序列中特征和结构的一致性,在基于当前图像进行训练时,可以同时获取当前图像对应的第
一深度预测图像,以及当前图像在图像序列中的前一图像对应的第二深度预测图像。
[0049]
在步骤s330中,基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数。
[0050]
在一示例性实施例中,在得到第一深度预测图像和第二深度预测图像后,可以根据当前图像和前一图像中特征和结构的一致性来计算目标损失函数,进而根据目标损失函数优化待训练模型预测结果的连续性和一致性。
[0051]
在一示例性实施例中,在基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数时,参照图4所示,可以包括以下步骤s410至s430:
[0052]
在步骤s410中,基于第一深度预测图像计算当前图像对应的绝对损失函数。
[0053]
其中,绝对损失函数是指基于当前图像本身或者当前图像对应的预测结果、标注结果等计算得到的损失函数,该绝对损失函数可以包括根据当前图像自身的深度特性确定的所有种类的损失函数。例如,绝对损失函数可以包括基于当前图像对应的第一深度预测图像和当前图像对应的深度标注图像确定的深度损失函数;再如,绝对损失函数可以包括基于当前图像对应的第一深度预测图像确定的平滑损失函数。此外,绝对损失函数还可以包括其它根据当前图像自身的深度特性确定的损失函数,本公开对此不做特殊限定。
[0054]
在一示例性实施例中,在绝对损失函数包括深度损失函数时,可以基于待训练模型对当前图像进行预测得到的第一深度预测图像和提前对当前图像进行标注得到的深度标注图像计算该深度损失函数。具体的,可以针对每一像素,分别计算第一深度预测图像和深度标注图像对应的深度值之间的对数差,然后基于对数差计算当前图像对应的深度损失函数。其中,第一深度预测图像和深度标注图像在每一像素处对应的深度值的对数差g
i
可以基于以下公式(1)计算:
[0055][0056]
其中,d
i
表示第i个像素点的深度预测值,表示第i个像素点的标注深度值。
[0057]
在一示例性实施例中,在基于对数差计算当前图像对应的深度损失函数时,深度损失函数l
d
可以基于以下公式(2)进行计算:
[0058][0059]
其中,g
i
表示第i个像素点对应的深度值的对数差,t表示当前图像上的像素个数;α和λ为提前设置的参数。举例而言,α可以取10,λ可以取0.5。
[0060]
在一示例性实施例中,绝对损失函数还可以包括平滑损失函数。此时,可以直接基于第一深度预测图像计算当前图像对应的绝对损失函数。具体的,可以在第一深度预测图像的基础上,计算每一像素在第一深度预测图像上的横向偏导数和纵向偏导数,然后基于每一像素对应的横向偏导数和纵向偏导数计算当前图像对应的平滑损失函数。
[0061]
在一示例性实施例中,在基于每一像素对应的横向偏导数和纵向偏导数计算当前图像对应的平滑损失函数时,平滑损失函数l
smooth
可以基于以下公式(3)进行计算:
[0062][0063]
其中,d
i,j
表示深度预测图像中,坐标为(i,j)的像素对应的深度预测值;δ
x
d
i,j

示深度预测图像中,坐标为(i,j)的像素对应的横向偏导数;δ
y
d
i,j
表示深度预测图像中,坐标为(i,j)的像素对应的纵向偏导数。
[0064]
在步骤s420中,基于第一深度预测图像和第二深度预测图像计算当前图像对应的相对损失函数。
[0065]
其中,相对损失函数值是基于当前图像和当前图像在图像序列中的前一图像或者当前图像和前一图像对应的预测结果、标注结果等,计算得到损失函数,该相对损失函数可以包括根据当前图像自身的深度特性和前一图像的深度特性确定的,可以表征当前图像相对前一图像的深度变化的损失函数。
[0066]
需要说明的是,相对损失函数包括可以表征当前图像相对前一图像的深度变化的所有种类的损失函数,本公开对此不做特殊限定。
[0067]
在一示例性实施例中,在计算相对损失函数时,可以基于相似度计算。具体的,可以先基于第一深度预测图像和第二深度预测图像计算相似度,然后基于相似度计算当前图像对的相对损失函数。
[0068]
其中,基于第一深度预测图像和第二深度预测图像计算相似度时,可以直接计算第一深度预测图像和第二深度预测图像之间的图像相似度;还可以计算第一深度预测图像和第二预测图像对应的特征层输出的特征相似度;也可以同时计算图像相似度和特征相似度。需要说明的是,在计算相似度时,若只计算得到一个相似度,则可以直接将该相似度作为相对损失函数;若同时计算多个相似度,则可以基于多个相似度计算相对损失函数。具体计算时,可以根据不同的应用场景设计不同的计算公式计算相对损失函数。例如,可以直接将计算得到的多个相似度相加,得到的相对损失函数。
[0069]
在一示例性实施例中,在相似度同时包括图像相似度和特征相似度时,可以先计算第一深度预测图像和第二深度预测图像的图像相似度;然后分别获取待训练模型在对当前图像和前一图像进行预测时,待训练模型的目标特征层输出的当前图像对应的第一输出,以及待训练模型的目标特征层输出的前一图像对应的第二输出,然后基于第一输出和第二输出计算特征相似度。
[0070]
具体的,在计算第一深度预测图像和第二深度预测图像的图像相似度时,可以先对第一深度预测图像和第二深度预测图像进行下采样,然后计算下采样之后所有像素点的均方差。上述计算图像相似度s的过程可以通过以下公式(4)表示:
[0071]
s=mse(w0,w1),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(4)
[0072]
其中,mse表示计算图像所有像素点的均方差;w0表示当前图像对应的下采样结果;w1表示前一图像对应的下采样结果。
[0073]
具体的,在基于第一输出和第二输出计算特征相似度e时,可以通过以下公式(5)进行计算:
[0074]
e=mse(x0,x1),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(5)
[0075]
其中,mse表示计算图像所有像素点的均方差;x0表示第一深度预测图像对应的目标特征层的第一输出;x1表示第二深度预测图像对应的目标特征层的第二输出。
[0076]
以下以目标特征层为待训练模型的x2特征层和x4特征层为例,对本上述计算相对损失函数的过程进行详细说明。
[0077]
参照图5所示,在融合场景中的分层特征实现对不同区域的深度预测的待训练模
型中,可以包括编码分支和解码分支。在基于这种待训练模型进行深度预测时,可以设计输出包括以下三部分内容:深度预测图像、除2分辨率特征输出层(x2特征层)的输出1和除4分辨率特征输出层(x4特征层)的输出2。
[0078]
此时,可以分别计算图像相似度和特征相似度。针对图像相似度,可以直接对第一深度预测图像和第二深度预测图像进行下采样,然后基于公式(4)进行计算得到图像相似度s;针对特征相似度,可以先获取图5中x2特征层,在待训练模型对当前图像进行处理时的第一输出a,以及在待训练模型对前一图像进行处理时的第二输出b,然后基于第一输出a和第二输出b,通过公式(5)进行计算得到第一特征相似度e1;同时,针对特征相似度,还需要获取图5中x4特征层,在待训练模型对当前图像进行处理时的第一输出c和以及在待训练模型对前一图像进行处理时的第二输出d,然后基于第一输出c和第二输出d,通过公式(5)进行计算得到第二特征相似度e2。
[0079]
需要说明的是,x2特征层和x4特征层的特征输出分辨率均为[batch_size,height,width,channel_number]。其中,batch_size是指待训练模型对应的n值,即输入图像的堆叠数;channel_number是指待训练模型对应的c值,即通道数量。
[0080]
在得到图像相似度、第一特征相似度和第二特征相似度时,将图像相似度、第一特征相似度和第二特征相似度相加,得到相对损失函数。
[0081]
在步骤s430中,基于绝对损失函数和相对损失函数计算当前图像对应的目标损失函数。
[0082]
在一示例性实施例中,在得到绝对损失函数和相对损失函数后,可以基于绝对损失函数和相对损失函数共同计算当前图像对应的目标损失函数。需要说明的是,在需求不同的前提下,计算目标损失函数时,可以基于不同损失函数对需求的影响,对不同损失函数设置不同的权重。此外,针对绝对损失函数或相对损失函数设置权重时,可以针对不同种类的损失函数设置不同的权重,也可以设置相同的权重。例如,在计算目标损失函数l时,可以计算绝对损失函数和相对损失函数的加权和。例如,可以通过以下公式(6)进行计算:
[0083]
l=α
s
(s e1 e2) α
d
*l
d
α
smooth
*l
smooth
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(6)
[0084]
其中,对绝对损失函数中的深度损失函数l
d
和平滑损失函数l
smooth
采用了不同的权重α
d
和α
smooth
;针对相对损失函数s e1 e2采用了权重α
s

[0085]
在步骤s340中,基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。
[0086]
在一示例性实施例中,在得到目标损失函数后,可以基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。具体的,参照图6所示,包括以下步骤:步骤s601,分批次读取样本数据得到图像序列;步骤s603,对图像序列中的每个图像进行归一化得到归一化后的图像序列;步骤s605,将归一化后的图像序列输入至待训练模型中进行处理,得到图像序列对应的深度预测图像集合;步骤s607,基于当前图像对应的第一深度预测图像和当前图像在图像序列中的前一图像对应的第二深度预测图像计算目标损失函数;步骤s609,基于目标损失函数计算梯度更新待训练模型的权重,经过多次epoch之后,目标损失函数收敛至一定的范围,进而得到深度预测模型。
[0087]
综上,本示例性实施方式中,利用图像序列中特征和结构的一致性可以有效优化深度预测的连续性和一致性,使得深度预测模型对序列中静止物体的深度预测能够基本保
证不变,对运动的物体能够保证深度预测的过渡平滑。
[0088]
此外,基于本公开得到的深度预测模型在视频虚化功能中进行应用时,可以有效减少虚化力度不准确或者不平缓的问题。例如,针对图7所示的包含人像的人像场景,根据本公开的深度预测模型的训练方法得到的深度预测模型进行处理可以得到如图8所示的深度预测图像1;根据传统的基于单张图像的深度标注图像作为参考得到的深度预测模型进行处理可以得到如图9所示的深度预测图像2。对深度预测图像1和深度预测图像2进行对比,可以发现虚化力度不准确或者不平缓的问题得到了改善。
[0089]
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0090]
进一步的,参考图10所示,本示例的实施方式中还提供一种深度预测模型的训练装置1000,包括序列处理模块1010、图像获取模块1020、损失计算模块1030和权重更新模块1040。其中:
[0091]
序列处理模块1010可以用于将图像序列输入待训练模型,得到图像序列对应的深度预测图像集合;图像序列包括至少两张相同视角获取的目标场景对应的图像。
[0092]
图像获取模块1020可以用于在深度预测图像集合中获取当前图像对应的第一深度预测图像和当前图像在图像序列中的前一图像对应的第二深度预测图像。
[0093]
损失计算模块1030可以用于基于第一深度预测图像和第二深度预测图像计算当前图像对应的目标损失函数。
[0094]
权重更新模块1040可以用于基于目标损失函数对待训练模型进行权重更新,以获取深度预测模型。
[0095]
在一示例性实施例中,损失计算模块1030可以用于基于第一深度预测图像计算当前图像对应的绝对损失函数;基于第一深度预测图像和第二深度预测图像计算当前图像对应的相对损失函数;基于绝对损失函数和相对损失函数计算当前图像对应的目标损失函数。
[0096]
在一示例性实施例中,绝对损失函数包括深度损失函数,损失计算模块1030可以用于针对每一像素,计算第一深度预测图像的深度值与当前图像对应的深度标注图像的深度值之间的对数差;基于对数差计算当前图像对应的深度损失函数。
[0097]
在一示例性实施例中,绝对损失函数还包括平滑损失函数,损失计算模块1030可以用于计算每一像素在第一深度预测图像上的横向偏导数和纵向偏导数;基于每一像素对应的横向偏导数和纵向偏导数计算当前图像对应的绝对损失函数。
[0098]
在一示例性实施例中,损失计算模块1030可以用于基于第一深度预测图像和第二深度预测图像计算相似度;基于相似度计算当前图像对应的相对损失函数。
[0099]
在一示例性实施例中,相似度包括图像相似度和特征相似度,损失计算模块1030可以用于计算第一深度预测图像和第二深度预测图像的图像相似度;获取第一深度预测图像对应的目标特征层的第一输出和第二深度预测图像对应的目标特征层的第二输出,并基于第一输出和第二输出计算特征相似度。
[0100]
在一示例性实施例中,序列处理模块1010可以用于对图像序列中包含的所有图像进行归一化,以获取归一化后的图像序列。
[0101]
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0102]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0103]
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3、图4、图6中任意一个或多个步骤。
[0104]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0105]
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0106]
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0107]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0108]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722311.html

最新回复(0)