图像分析方法及相关模型的训练方法、装置、设备和介质与流程

文档序号:30372186发布日期:2022-06-11 00:55阅读:68来源:国知局
图像分析方法及相关模型的训练方法、装置、设备和介质与流程

1.本技术涉及计算机视觉技术领域,特别是涉及一种图像分析方法及相关模型的训练方法、装置、设备和介质。


背景技术:

2.同时定位和建图(simultaneous localization and mapping,slam)是计算机视觉和机器人领域中最基本的任务之一,其应用范围包括但不限于:ar(augmented reality,增强现实)、vr(virtual reality,虚拟现实)、自动驾驶等。
3.在此其中,单目稠密slam由于单目视频采集的简单性而备受关注,但与rgb-d稠密slam相比,则是一项困难的任务。经研究发现,构建稳健、可靠的slam系统仍然具有挑战性,尤其是在动态场景中,目前slam系统仍然存在较大问题,而无法获取到精确的位姿和深度。有鉴于此,如何提升位姿和深度的精度成为亟待解决的问题。


技术实现要素:

4.本技术提供一种图像分析方法及相关模型的训练方法、装置、设备和介质。
5.本技术第一方面提供了一种图像分析方法,包括:获取图像序列、光流数据和图像序列中各个图像的参考数据;其中,各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,且参考数据包括位姿和深度;基于图像序列和光流数据,预测得到分析结果;其中,分析结果包括静态光流的光流校准数据;基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。
6.因此,获取图像序列、光流数据和图像序列中各个图像的参考数据,且各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,参考数据包括位姿和深度,在此基础上,再基于图像序列和光流数据,预测得到分析结果,且分析结果包括静态光流的光流校准数据,并基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。故通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
7.其中,基于图像序列和光流数据,预测得到分析结果,包括:基于第一图像和第二图像的图像特征,得到第一图像与第二图像之间的特征相关数据,并基于静态光流将第一图像中像素点进行投影,得到第一图像中像素点在第二图像中的第一投影位置;基于第一投影位置在特征相关数据中搜索,得到目标相关数据;基于目标相关数据、静态光流和整体光流,得到分析结果。
8.因此,基于第一图像和第二图像的图像特征,得到第一图像与第二图像之间的特征相关数据,并基于静态光流将第一图像中像素点进行投影,得到第一图像中像素点在第二图像中的第一投影位置,在此基础上,基于第一投影位置在特征相关数据中搜索,得到目标相关数据,从而基于目标相关数据、静态光流和整体光流,得到分析结果,即在第一图像和第二图像两者的特征相关数据中搜索目标相关数据的过程中,参考由摄像器件运动而引起的静态光流,能够进一步降低拍摄对象运动所产生的影响,进而能够提升后续优化位姿和深度的精度。
9.其中,基于目标相关数据、静态光流和整体光流,得到分析结果,包括:基于目标相关数据进行编码,得到第一编码特征,并基于静态光流和整体光流进行编码,得到第二编码特征;基于第一编码特征和第二编码特征,预测得到分析结果。
10.因此,基于目标相关数据进行编码,得到第一编码特征,并基于静态光流和整体光流进行编码,得到第二编码特征,在此基础上再基于第一编码特征和第二编码特征,预测得到分析结果,从而能够在预测之前分别提取光流数据和相关数据的深层特征信息,进而能够有利于提升后续预测分析的准确性。
11.其中,参考数据还包括动态掩膜,动态掩膜用于指示图像中的运动对象,分析结果还包括置信度图和动态掩膜的掩膜校准数据,置信度图包括图像中各像素点的置信度;基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度,包括:基于动态掩膜、掩膜校准数据和置信度图进行融合,得到重要度图,并基于光流校准数据对第一投影位置进行校准,得到校准位置;其中,重要度图包括图像中各像素点的重要度,第一投影位置为第一图像中像素点基于静态光流投影在第二图像的像素位置;基于校准位置和重要度图,优化得到更新的位姿和更新的深度。
12.因此,参考数据还设置为包括动态掩膜,动态掩膜用于指示图像中的运动对象,分析结果还设置为包括置信度图和动态掩膜的掩膜校准数据,且置信度图包括图像中各像素点的置信度,在此基础上,基于动态掩膜、掩膜校准数据和置信度图进行融合,得到重要度图,并基于光流校准数据对第一投影位置进行校准,得到校准位置,且重要度图包括图像中各像素点的重要度,第一投影位置为第一图像中像素点基于静态光流投影在第二图像的像素位置,从而基于校准位置和重要度图,优化得到更新的位姿和更新的深度,进而在位姿和深度的优化过程中,进一步引入用于指示运动对象的动态掩膜,并结合置信度图得到重要度图,以为后续光流分解提供进一步指导,有利于进一步提升优化位姿和深度的精度。
13.其中,光流校准数据包括第一图像中像素点的校准光流,基于光流校准数据对第一投影位置进行校准,得到校准位置,包括:将第一图像中像素点的校准光流加上像素点在第二图像中的第一投影位置,得到像素点的校准位置。
14.因此,光流校准数据包括第一图像中像素点的校准光流,并将第一图像中像素点的校准光流加上像素点在第二图像中的第一投影位置,得到像素点的校准位置,故通过直接预测第一图像中像素点的校准光流,从而通过简单加法运算即可得到像素点在仅由摄像器件运动之后的校准位置,进而能够有利于大大降低确定像素点仅由摄像器件运动之后的校准位置的计算复杂度,有利于提升优化位姿和深度的效率。
15.其中,基于动态掩膜、掩膜校准数据和置信度图进行融合,得到重要度图,包括:基于掩膜校准数据对动态掩膜进行校准,得到校准掩膜;其中,校准掩膜包括图像中像素点与
运动对象的相关度,且相关度与图像中像素点属于运动对象的可能性正相关;基于置信度图和校准掩膜进行融合,得到重要度图。
16.因此,基于掩膜校准数据对动态掩膜进行校准,得到校准掩膜,且校准掩膜包括图像中像素点与运动对象的相关度,而相关度与图像中像素点属于运动对象的可能性正相关,基于此再基于置信度图和校准掩膜进行融合,得到重要度图,从而能够从像素点本身的置信度以及像素点与运动对象的相关度两方面共同衡量像素点的重要度,进而能够有利于提升后续优化位姿和深度的精度。
17.其中,分析结果还包括动态光流,动态光流由拍摄对象运动引起;在基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度之后,方法还包括:基于更新的位姿和更新的深度,获取更新的静态光流,并基于动态光流和更新的静态光流,得到更新的整体光流;基于更新的静态光流和更新的整体光流,得到更新的光流数据,并基于更新的位姿和更新的深度,得到更新的参考数据;重新执行基于图像序列和光流数据,预测得到分析结果的步骤以及后续步骤,直至重新执行的次数满足预设条件为止。
18.因此,分析结果还设置为包括动态光流,且动态光流由拍摄对象运动引起,基于此基于更新的位姿和更新的深度,获取更新的静态光流,并基于动态光流和更新的静态光流,得到更新的整体光流,从而基于更新的静态光流和更新的整体光流,得到更新的光流数据,并基于更新的位姿和更新的深度,得到更新的参考数据,进而重新执行基于图像序列和光流数据,预测得到分析结果的步骤以及后续步骤,直至重新执行的次数满足预设条件为止,即在图像分析过程中,通过将整体光流分解为静态光流和动态光流,并循环多次迭代优化步骤,以解决单次优化效果欠佳的问题,并将旧的变量作为输入指导新的变量的生成,能够使得输入特征更为多元化,故能够有利于进一步提升位姿和深度的精度。
19.其中,基于更新的位姿和更新的深度,获取更新的静态光流,包括:基于更新的位姿、更新的深度和第一图像中像素点的像素位置进行投影,得到第一图像中像素点投影在第二图像的第二投影位置;基于第一图像中像素点投影在第二图像的第二投影位置和第一图像中像素点在第二图像中的对应位置之间的差异,得到更新的静态光流;其中,对应位置为在假设摄像器件未运动的情况下,第一图像中像素点所属的空间点投影在第二图像的像素位置。
20.因此,基于更新的位姿、更新的深度和第一图像中像素点的像素位置进行投影,得到第一图像中像素点投影在第二图像的第二投影位置,并基于第一图像中像素点投影在第二图像的第二投影位置和第一图像中像素点在第二图像中的对应位置之间的差异,得到更新的静态光流,且对应位置为在假设摄像器件未运动的情况下,第一图像中像素点所属的空间点投影在第二图像的像素位置,即在循环迭代过程中,通过更新的位姿和更新的深度进一步重新投影,并在摄像器件未运动的假设前提下,确定出第一图像中像素点所属的空间点投影在第二图像的像素位置,从而结合重新投影位置确定出更新的静态光流,有利于提升更新的静态光流的准确性。
21.其中,基于动态光流和更新的静态光流,得到更新的整体光流,包括:将动态光流和更新的静态光流相加,得到更新的整体光流。
22.因此,将预测得到的动态光流和更新的静态光流相加,即可得到更新的整体光流,即通过简单加法运算即可确定出更新的整体光流,有利于提升优化位姿和深度的效率。
23.本技术第二方面提供了一种图像分析模型的训练方法,包括:获取样本图像序列、样本光流数据和样本图像序列中各个样本图像的样本参考数据;其中,各个样本图像包括具有共视关系的第一样本图像和第二样本图像,样本光流数据包括第一样本图像与第二样本图像之间的样本静态光流和样本整体光流,样本静态光流由摄像器件运动引起,样本整体光流由摄像器件运动和拍摄对象运动共同引起,且样本参考数据包括样本位姿和样本深度;基于图像分析模型对样本图像序列和样本光流数据进行分析预测,得到样本分析结果;其中,样本分析结果包括样本静态光流的样本光流校准数据;基于样本静态光流和样本光流校准数据,对样本位姿和样本深度进行优化,得到更新的样本位姿和更新的样本深度;基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失;基于预测损失,调整图像分析模型的网络参数。
24.因此,与推理阶段类似地,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,能够提升图像分析模型的模型性能,有利于提升利用图像分析模型在推理阶段得到分析结果的准确性,进而能够提升推理阶段位姿和深度的精度。
25.其中,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,样本分析结果还包括样本动态光流和样本动态掩膜的样本掩膜校准数据,且样本动态光流由拍摄对象运动引起,预测损失包括掩膜预测损失;在基于样本静态光流和样本光流校准数据,对样本位姿和样本深度进行优化,得到更新的样本位姿和更新的样本深度之后,方法还包括:基于样本动态光流、更新的样本位姿和更新的样本深度,得到更新的样本整体光流;基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失,包括:基于样本掩膜校准数据和样本动态掩膜,得到样本动态掩膜在模型维度更新得到的第一预测掩膜,并基于更新的样本整体光流、更新的样本位姿和更新的样本深度,得到样本动态掩膜在光流维度更新得到的第二预测掩膜;基于第一预测掩膜和第二预测掩膜之间的差异,得到掩膜预测损失。
26.因此,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,样本分析结果还包括样本动态光流和样本动态掩膜的样本掩膜校准数据,且样本动态光流由拍摄对象运动引起,预测损失包括掩膜预测损失,则在得到更新的样本位姿和更新的样本深度之后,先基于样本动态光流、更新的样本位姿和更新的样本深度,得到更新的样本整体光流,再基于样本掩膜校准数据和样本动态掩膜,得到样本动态掩膜在模型维度更新得到的第一预测掩膜,并基于更新的样本整体光流、更新的样本位姿和更新的样本深度,得到样本动态掩膜在光流维度更新得到的第二预测掩膜,以及基于第一预测掩膜和第二预测掩膜之间的差异,得到掩膜预测损失,故在训练过程中不具备真实动态掩膜的情况下,也能够通过更新的样本整体光流、更新的样本位姿和更新的样本深度构造出动态掩膜标签,以实现自监督训练,有利于在提升模型性能的前提下,降低训练过程对样本标注的要求。
27.其中,基于更新的样本整体光流、更新的样本位姿和更新的样本深度,得到样本动态掩膜在光流维度更新得到的第二预测掩膜,包括:基于更新的样本位姿、更新的样本深度
和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置;以及,基于更新的样本整体光流和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第二样本投影位置;基于第一样本投影位置和第二样本投影位置之间的差异,得到第二预测掩膜。
28.因此,基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置,与此同时,基于更新的样本整体光流和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第二样本投影位置,并基于第一样本投影位置和第二样本投影位置之间的差异,得到第二预测掩膜,故此能够从利用位姿、深度进行投影的像素位置以及利用整体光流进行投影的位置两者之间的差异,甄别出属于运动对象的样本像素点,以得到第二预测掩膜,有利于提升构造出动态掩膜标签的准确性。
29.其中,基于第一样本投影位置和第二样本投影位置之间的差异,得到第二预测掩膜,包括:基于第一样本投影位置与第二样本投影位置之间的距离对比预设阈值,得到样本像素点的样本掩膜值;其中,样本掩膜值用于表示样本像素点是否属于运动对象;基于各个样本像素点的样本掩膜值,得到第二预测掩膜。
30.因此,基于第一样本投影位置与第二样本投影位置之间的距离对比预设阈值,得到样本像素点的样本掩膜值,且样本掩膜值用于表示样本像素点是否属于运动对象,并基于各个样本像素点的样本掩膜值,得到第二预测掩膜,即通过简单对比距离与预设阈值,即可得到样本像素点的样本掩膜值,并结合各个样本像素点的样本掩膜值,即可得到第二预测掩膜,能够有利于大大降低确定样本掩膜值的计算复杂度。
31.其中,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,且预测损失包括几何光度损失;在基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失之前,方法还包括:基于各个与第一样本图像具有共视关系的第二样本图像的样本动态掩膜进行融合,得到样本融合掩膜;基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失,包括:基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置;基于第一样本图像中样本像素点的样本像素位置,得到第一样本图像中样本像素点的第一样本像素值,并基于第一样本图像中样本像素点的第一样本投影位置,得到第一样本图像中样本像素点的第二样本像素值,以及基于样本融合掩膜,得到第一样本图像中样本像素点的融合掩膜值;基于第一样本像素值、第二样本像素值和融合掩膜值,得到几何光度损失。
32.因此,在度量预测损失之前,先基于各个与第一样本图像具有共视关系的第二样本图像的样本动态掩膜进行融合,得到样本融合掩膜,再基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置,在此基础上,基于第一样本图像中样本像素点的样本像素位置,得到第一样本图像中样本像素点的第一样本像素值,并基于第一样本图像中样本像素点的第一样本投影位置,得到第一样本图像中样本像素点的第二样本像
素值,以及基于样本融合掩膜,得到第一样本图像中样本像素点的融合掩膜值,从而基于第一样本像素值、第二样本像素值和融合掩膜值,得到几何光度损失,进而通过融合与第一样本图像具有共视关系的第二样本图像的样本动态掩膜,得到样本融合掩膜,并在几何光度损失度量过程中考虑该样本融合掩膜,有利于通过样本融合掩膜尽可能地消除由于像素遮挡而导致的错误像素光度匹配,能够大大提升几何光度损失的度量精度,有利于提升图像分析模型的模型性能。
33.其中,基于第一样本像素值、第二样本像素值和融合掩膜值,得到几何光度损失,包括:获取第一样本像素值和第二样本像素值之间的像素差值;利用融合掩膜值对像素差值进行加权,得到加权差值;基于各个样本像素点的加权差值,得到几何光度损失。
34.因此,通过获取第一样本像素值和第二样本像素值之间的像素差值,并利用融合掩膜值对像素差值进行加权,得到加权差值,从而基于各个样本像素点的加权差值,得到几何光度损失,故通过利用融合掩膜值对像素差值进行加权,能够快速筛除由于像素遮挡而导致的错误像素光度匹配,有利于降低几何光度损失的度量复杂度。
35.其中,获取第一样本像素值和第二样本像素值之间的像素差值,包括:基于结构相似性度量第一样本像素值和第二样本像素值,得到第一差值,并基于绝对值偏差度量第一样本像素值和第二样本像素值,得到第二差值;基于第一差值和第二差值进行加权,得到像素差值。
36.因此,在度量像素差值过程中,结合结构相似性和绝对值偏差两方面共同度量,有利于尽可能提升像素差值的准确性。
37.本技术第三方面提供了一种图像分析装置,包括:获取模块、分析模块和优化模块,获取模块,用于获取图像序列、光流数据和图像序列中各个图像的参考数据;其中,各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,且参考数据包括位姿和深度;分析模块,用于基于图像序列和光流数据,预测得到分析结果;其中,分析结果包括静态光流的光流校准数据;优化模块,用于基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。
38.本技术第四方面提供了一种图像分析模型的训练装置,包括:样本获取模块、样本分析模块、样本优化模块、损失度量模块和参数调整模块,样本获取模块,用于获取样本图像序列、样本光流数据和样本图像序列中各个样本图像的样本参考数据;其中,各个样本图像包括具有共视关系的第一样本图像和第二样本图像,样本光流数据包括第一样本图像与第二样本图像之间的样本静态光流和样本整体光流,样本静态光流由摄像器件运动引起,样本整体光流由摄像器件运动和拍摄对象运动共同引起,且样本参考数据包括样本位姿和样本深度;样本分析模块,用于基于图像分析模型对样本图像序列和样本光流数据进行分析预测,得到样本分析结果;其中,样本分析结果包括样本静态光流的样本光流校准数据;样本优化模块,用于基于样本静态光流和样本光流校准数据,对样本位姿和样本深度进行优化,得到更新的样本位姿和更新的样本深度;损失度量模块,用于基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失;参数调整模块,用于基于预测损失,调整图像分析模型的网络参数。
39.本技术第五方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器
用于执行存储器中存储的程序指令,以实现上述第一方面中的图像分析方法,或实现上述第二方面中的图像分析模型的训练方法。
40.本技术第六方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的图像分析方法,或实现上述第二方面中的图像分析模型的训练方法。
41.上述方案,获取图像序列、光流数据和图像序列中各个图像的参考数据,且各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,参考数据包括位姿和深度,在此基础上,再基于图像序列和光流数据,预测得到分析结果,且分析结果包括静态光流的光流校准数据,并基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。故通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
附图说明
42.图1是本技术图像分析方法一实施例的流程示意图;
43.图2是整体光流分解一实施例的示意图;
44.图3a是本技术图像分析方法一实施例的过程示意图;
45.图3b是动态更新网络一实施例的框架示意图;
46.图4a是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹一实施例的对比示意图;
47.图4b是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹另一实施例的对比示意图;
48.图5a是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图;
49.图5b是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图;
50.图5c是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图;
51.图5d是本技术图像分析方法应用于各种数据集的地图重建示意图;
52.图5e是本技术图像分析方法应用于运动分割任务的示意图;
53.图5f是本技术图像分析方法与现有技术分别应用于ar的对比示意图;
54.图6是本技术图像分析模型的训练方法一实施例的流程示意图;
55.图7是动态场景一实施例的示意图;
56.图8是本技术图像分析装置一实施例的框架示意图;
57.图9是本技术图像分析模型的训练装置一实施例的框架示意图;
58.图10是本技术电子设备一实施例的框架示意图;
59.图11是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
60.下面结合说明书附图,对本技术实施例的方案进行详细说明。
61.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
62.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
63.请参阅图1,图1是本技术图像分析方法一实施例的流程示意图。具体而言,可以包括如下步骤:
64.步骤s11:获取图像序列、光流数据和图像序列中各个图像的参考数据。
65.本公开实施例中,各个图像包括具有共视关系的第一图像和第二图像。需要说明的是,在第一图像中某一像素点反投影至三维空间的三维点,若该三维点能够投影至第二图像内,则可以认为第一图像与第二图像具有共视关系,即若三维空间中某一三维点同时存在于第一图像和第二图像,则可以认为第一图像和第二图像具有共视关系。也就是说,在第一图像和第二图像两者视角至少部分重叠的情况下,可以认为第一图像和第二图像具有共视关系。此外,在分析过程中,与第一图像具有共视关系的第二图像可以不止一个,即可以获取至少一个(如,一个、两个、三个、四个等)与第一图像具有共视关系的第二图像,与第一图像组成图像序列,在此不做限定。
66.本公开实施例中,光流数据可以包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起。示例性地,三维空间中某一三维点在摄像器件t1时刻拍摄得到的第一图像中位于p1(u1、v1),且该三维点所属物体为静止物体,在t2时刻由于摄像器件本身的运动,该三维点在摄像器件t2时刻拍摄到的第二图像中位于p2(u2,v2),则静态光流中位于像素位置p1(u1、v1)的静态光流值可以记为(u2-u1,v2-v1),第一图像与第二图像之间的静态光流即包含第一图像中各个像素点的静态光流值,从而像素点在第一图像中的像素位置加上其静态光流值即可得到该像素点所属三维点,由于摄像器件本身的运动,理论上对应于第二图像中的像素位置,且若该像素点所属三维点位于静止物体上且静态光流也完全准确,则理论上对应于第二图像中的像素位置也为该像素点所属三维点在第二图像中的投影位置;或者,示例性地,仍以三维空间中某一三维点在摄像器件t1时刻拍摄得到的第一图像中位于p1(u1、v1)为例,若该三维点所属物体为运动物体,在t2时刻由于摄像器件本身的运动以及该运动物体的运动,该三维点在摄像器件t2时刻拍摄到的第二图像中位于p3(u3,v3),则整体光流中位于像素位置p1(u1、v1)的整体光流值可以记为(u3-u1,v3-v1),第一图像与第二图像之间的整体光流即包含第一图像中各像素点的整体光流值,从而像素点在第一图像中的像素位置加上其整体光流值即可得到该像素点所属三维点,由于摄像器件本身的运动以及拍摄对象的运动,理论上对应于第二图像中的像素位置,且若整体光流完全准确,则理论上对应于第二图像中的像素位置也为该像素点所属三维点在第二图像中的投影位置。
67.在一个实施场景中,以第一图像记为图像i,第二图像记为图像j为例,则第一图像中各像素点由于摄像器件运动所引起的静态光流经坐标变换之后,对应于第二图像某一像素位置的像素点,且若像素点属于静止物体且静态光流完全准确,则第一图像中像素点与经静态光流转换坐标之后在第二图像中像素点应对应于三维空间中相同三维点,为了便于描述,可以将静态光流记为f
sij

68.在一个实施场景中,仍以第一图像记为图像i,第二图像记为图像j为例,则第一图像中各像素点由于摄像器件运动和拍摄对象共同引起的整体光流经坐标变换之后,对应于第二图像某一像素位置的像素点,且若整体光流完全准确,则第一图像中像素点与经整体光流转换坐标之后在第二图像中像素点对应于三维空间中相同三维点,为了便于描述,可以将整体光流记为f
oij

69.本公开实施例中,参考数据包括位姿和深度。仍以第一图像记为图像i,第二图像记为图像j为例,参考数据可以包括第一图像i的位姿gi和第二图像的位姿gj,参考数据还可以包括第一图像i中各像素点的深度值和第二图像j中各像素点的深度值,第一图像的深度即包含第一图像中各像素点的深度值,第二图像的深度即包含第二图像中各像素点的深度值。为了便于描述,可以将第一图像的深度记为di,类似地,第二图像的深度可以记为dj。需要说明的是,位姿为位置和姿态的合称,其描述了世界坐标系与相机坐标系之间的转换关系,具体可以参阅位姿的技术细节,在此不再赘述。此外,深度表示物体至摄像器件之间的距离,本公开实施例中,深度可以采用逆深度参数化(即inverse depth parameterization)进行表示,具体可以参阅逆深度的相关技术细节,在此不再赘述。
70.在一个实施场景中,本公开实施例可以循环迭代n次(如,10次、15次等),以尽可能地优化深度和位姿,提升两者的准确性,则在首次循环迭代时,可以为位姿赋予初值。示例性地,位姿可以采用4*4矩阵表示,其具体含义可以参阅位姿的相关技术细节,在此不再赘述。在此基础上,可以将位姿初始化为主对角线元素为1,其他元素为0的矩阵。在此基础上,在后续循环迭代过程中,第i次迭代输入的位姿,可以为第i-1次迭代输出的位姿。具体可以参阅后续相关描述,在此暂不赘述。
71.在一个实施场景中,对于深度而言,也可以采用类似的方式,在首次循环迭代时,可以为深度赋予初值,深度的具体数值,在此不做限定。示例性地,可以先识别出第一图像和第二图像中的静止物体(如,建筑、路灯等),并基于静止物体,对第一图像和第二图像进行特征匹配,得到若干匹配点对,且匹配点对包含属于第一图像中静止物体的第一像素点,以及属于第二图像中静止物体的第二像素点,且第一像素点和第二像素点对应于三维空间中相同三维点。在此基础上,可以基于第一图像的位姿、第一像素点的深度值和第一像素点在第一图像中的像素位置,确定第一像素点在三维空间中的三维位置,与此同时,可以基于第二图像的位姿、与前述第一像素点属于相同匹配点中第二像素点的深度值及其在第二图像中的像素位置,确定第二像素点在三维空间中的三维位置,由于第一像素点对应的三维位置和第二像素点对应的三维位置应相同,故通过若干匹配点对可以构建得到一系列以第一像素点的深度值和第二像素点的深度值为未知量的方程式,求解方程式,即可得到第一像素点的深度值和第二像素点的深度值,并基于此分别为得到首次循环迭代时第一图像深度的初值,以及首次循环迭代时第二图像深度的初值。在此基础上,在后续循环迭代过程中,第i次迭代输入的深度,可以为第i-1次迭代输出的深度。具体可以参阅后续相关描述,
在此暂不赘述。
72.在一个实施场景中,在得到首次循环迭代时的位姿和深度之后,可以基于第一图像i中像素点的像素位置pi、深度di和第一图像与第二图像之间的相对位姿g
ij
进行投影,得到第一图像中像素点投影至第二图像中的像素位置p
ij

[0073][0074]
上述公式(1)中,πc表示用于将三维点映射至图像的相机模型,表示用于基于像素位置pi和深度di将二维点映射至三维点的反投影函数,运算符
°
表示哈达玛积(hadamard product)。需要说明的是,相对位姿g
ij
可以表示为:
[0075][0076]
此外,以第一图像i和第二图像j为宽w且高h的二维图像为例,第一图像i中各个像素点的像素位置pi可以采用h*w的二通道图像表示,即类似地,第一图像中像素点投影至第二图像中的像素位置p
ij
也可以采用h*w的二通道图像表示,即基于此,在首次循环迭代时,对于第一图像i中任意像素点的像素位置pi而言,可以获取其在第二图像中的对应位置pj,且该对应位置为假设摄像器件未运动的情况下,第一图像中像素点所属的空间点(即三维点)投影在第二图像的像素位置。在此基础上,即可以基于第一图像中像素点在第二图像的对应位置pj,与其投影在第二图像的像素位置p
ij
之间的差值,得到静态光流f
sij

[0077]fsij
=p
ij-pj……
(3)
[0078]
在一个实施场景中,如前所述,整体光流为由摄像器件运行和拍摄对象运动共同引起,且由摄像器件运动引起的光流称为静态光流,为了便于区分,可以将由拍摄对象运动引起的光流称为动态光流,在首次循环迭代时,可以将动态光流初始化为全0矩阵,且该全0矩阵可以表示采用h*w的二通道图像表示。在此基础上,在首次循环迭代时,可以将前述静态光流f
sij
与以全0矩阵表示的动态光流相加,得到整体光流f
oij
。也就是说,本实施例中,整体光流可以分解为静态光流和动态光流。类似地,下述公开实施例中的样本整体光流也可以分解为样本静态光流和样本动态光流。其他情况可以以此类推,在此不再一一赘述。请结合参阅图2,图2是整体光流分解一实施例的示意图。如图2所示,由摄像器件运动和拍摄对象运动共同引起的光流(即整体光流)可以分解为由摄像器件运动引起的光流(即静态光流)和由拍摄对象运动引起的光流(即动态光流)。
[0079]
步骤s12:基于图像序列和光流数据,预测得到分析结果。
[0080]
本公开实施例中,分析结果包括静态光流的光流校准数据,光流校准数据具体可以包括静态光流中各个静态光流值的校准值。如前所述,静态光流可以采用h*w的二通道图像表示,则光流校准数据也可以采用h*w的二通道图像表示。为了便于描述,光流校准数据可以记为
[0081]
在一个实施场景中,可以基于第一图像和第二图像的图像特征,得到第一图像与第二图像之间的特征相关数据,并基于静态光流将第一图像中像素点进行投影,得到第一图像中像素点在第二图像中的第一投影位置。在此基础上,可以基于第一投影位置在特征相关数据中搜索,得到目标相关数据,并基于目标相关数据、静态光流和整体光流,得到分析结果。上述方式,在第一图像和第二图像两者的特征相关数据中搜索目标相关数据的过
程中,参考由摄像器件运动而引起的静态光流,能够进一步降低拍摄对象运动所产生的影响,进而能够提升后续优化位姿和深度的精度。
[0082]
在一个具体的实施场景中,请结合参阅图3a,图3a是本技术图像分析方法一实施例的过程示意图。如图3a所示,为了提升图像分析的效率,可以预先训练一个图像分析模型,且图像分析模型可以包括用于为第一图像进行特征编码的图像编码器和用于为第二图像进行特征编码的图像编码器。需要说明的是,这两个图像编码可以共享网络参数。具体而言,图像编码器可以包含若干(如,6个、7个等)残差块和若干(如,3个、4个等)下采样层,在此对图像编码器的网络结构不做限定。此外,示例性地,图像编码器处理之后所得到的图像特征的分辨率可以为输入图像的1/8。当然,也可以是其他比值,如1/12、1/16等,在此不做限定。
[0083]
在一个具体的实施场景中,可以通过将第一图像和第二图像的图像特征进行点乘,得到特征相关数据,且特征相关数据可以表示为4位向量。示例性地,可以将第一图像的图像特征记为并可以将第二图像的图像特征记为在此基础上,即可通过点乘计算得到特征相关数据
[0084][0085]
上述公式(4)中,ui,vi,uj,vj分别表示第一图像i和第二图像j中的像素坐标,此外,《,》表示点乘。为了进一步兼顾到不同尺度的物体,上述特征相关矩阵最后两个维度可以通过不同尺寸(如,1、2、4、8等)的平均池化进行处理,以形成多层特征相关金字塔,作为特征相关数据。特征相关的具体过程,可以参阅raft(即recurrent all-pairs field transforms for optical flow)的技术细节,在此不再赘述。需要说明的是,特征相关数据c
ij
可以视为第一图像i和第二图像j在视觉上的一致程度。
[0086]
在一个具体的实施场景中,可以定义一个相关查找函数,并定义相关查找函数的输入参数包括坐标网格和半径r,基于此即可搜索得到目标相关数据括坐标网格和半径r,基于此即可搜索得到目标相关数据该函数将h
×
w坐标网格作为输入,其为静态光流的图像维度。需要说明的是,可以直接将第一图像中各像素点的像素坐标加上该像素点在静态光流中静态光流值,得到该像素点在第二图像中的第一投影位置。在此基础上,通过线性插值即可从特征相关数据中搜索得到目标相关数据。需要说明的是,该相关查找函数作用于前述特征相关金字塔中的每一层,并可以将每一层搜索得到的目标相关数据进行拼接,得到最终的目标相关数据。相关搜索的具体过程,可以参阅raft的技术细节,在此不再赘述。
[0087]
在一个具体的实施场景中,如前所述,为了提升图像分析的效率,可以预先训练一个图像分析模型,图像分析模型的训练过程,可以参阅下述相关公开实施例,在此暂不赘述。此外,如图3a所示,该图像分析模型可以包括动态更新网络,该动态更新网络具体可以包括但不限于语义提取子网络,如convgru(即结合卷积的门控循环单元)等,在此对动态更新网络的网络结构不做限定。在得到目标相关数据、静态光流和整体光流之后,即可输入动态更新网络,得到分析结果。进一步地,请结合参阅图3b,图3b是动态更新网络一实施例的框架示意图。如图3b所示,动态更新网络可以包括光流编码器和相关编码器,则可以分别基于目标相关数据进行编码,得到第一编码特征,并基于静态光流和整体光流进行编码,得到第二编码特征,以及第一编码特征和第二编码特征,预测得到分析结果。具体来说,可以将
第一编码特征和第二编码特征一同输入结合卷积的门控循环单元(即convgru),得到深层语义特征,并基于深层语义特征进行预测,得到分析结果,具体过程可以参阅下述相关描述,在此暂不赘述。需要说明的是,由于convgru为具有较小感受野的局部操作,故可以在图像空间维度将隐层向量取均值,作为全局上下文特征,并将全局上下文特征作为convgru的额外输入。为了便于描述,可以将第k+1次循环迭代时的全局上下文特征记为h
(k+1)
。上述方式,基于目标相关数据进行编码,得到第一编码特征,并基于静态光流和整体光流进行编码,得到第二编码特征,在此基础上再基于第一编码特征和第二编码特征,预测得到分析结果,从而能够在预测之前分别提取光流数据和相关数据的深层特征信息,进而能够有利于提升后续预测分析的准确性。
[0088]
在一个具体的实施场景中,请继续结合参阅图3b,动态更新网络还可以包括静态光流卷积层,通过静态光流卷积层处理前述深层语义特征,即可得到静态光流的光流校准数据。
[0089]
在一个实施场景中,为了进一步提升位姿和深度的优化精度,参考数据还可以包括动态掩膜,动态掩膜可以用于指示图像中的运动对象。示例性地,在图像中某一像素点属于运动对象的情况下,图像的动态掩膜中与该像素点对应的像素位置处像素值可以为第一数值,反之,在图像中某一像素点不属于运动对象的情况下,图像的动态掩膜中与该像素点对应的像素位置处像素值可以为第二数值,且第一数值和第二数值不同,如第一数值可以设置为0,第二数值可以设置为1。在首次循环迭代时,可以将动态掩膜初始化为全0矩阵。为了便于描述,仍以第一图像i和第二图像j均为w*h的二维图像为例,动态掩膜可以表示为h*w的二通道图像,即动态掩膜请结合参阅图3a或图3b,区别于前述通过在特征相关数据中进行搜索得到目标相关数据,并基于目标相关数据、静态光流和整体光流,预测得到分析结果的方式,可以基于目标相关数据、静态光流、整体光流和动态掩膜,预测得到分析结果,且分析结果可以进一步包括动态掩膜的掩膜校准数据。上述方式,在动态更新过程中,进一步参考动态掩膜,且动态掩膜用于指示图像中的运动对象,故能够为后续光流分解提供进一步指导,有利于进一步提升优化位姿和深度的精度。
[0090]
在一个具体的实施场景中,仍以第一图像i和第二图像j均为w*h的二维图像为例,动态掩膜的掩膜校准数据可以包括第一图像和第二图像两者动态掩膜中各掩膜值的掩膜校准值,则掩膜校准数据也可以表示为h*w的二通道图像,即动态掩膜的掩膜校准数据在此基础上,如图3b所示,可以将动态掩膜加上动态掩膜的掩膜校准数据,得到更新的动态掩膜。故此,在第i次循环迭代时,其需要输入的动态掩膜,可以为第i-1次循环迭代时更新输出的动态掩膜。
[0091]
在一个具体的实施场景中,如图3b所示,为了提升图像分析的效率,可以预先训练一个图像分析模型,具体可以参阅前述相关描述,在此不再赘述。与前述相关描述不同的是,对于动态更新网络中的光流编码器而言,可以基于静态光流、整体光流和动态掩膜进行编码,得到第二编码特征。
[0092]
在一个具体的实施场景中,如图3b所示,为了提升图像分析的效率,可以预先训练一个图像分析模型,具体可以参阅前述相关描述,在此不再赘述。与前述相关描述不同的是,动态更新网络可以进一步包括卷积层,其可以对convgru输出的深层语义特征进行处理,得到动态掩膜的掩膜校准数据。
[0093]
步骤s13:基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。
[0094]
在一个实施场景中,分析结果还可以包括置信度图,且置信度图包括图像中各像素点的置信度。仍以第一图像i和第二图像j均为h*w的二维图像为例,置信度图可以表示为h*w的二通道图像,即置信度图在得到静态光流的光流校准数据之后,可以基于光流校准数据对第一投影位置进行校准,得到校准位置。需要说明的是,第一投影位置为第一图像中像素点基于静态光流投影在第二图像的像素位置。为了便于描述,第一投影位置可以记为p
sij
,且如前所述,静态光流的光流校准数据可以记为r
sij
,则校准位置可以表示为即可以对于图像中各像素点而言,可以直接将其第一投影位置加上该像素点在光流校准数据中查询到的光流校准值即可。在此基础上,可以基于校准位置,优化得到更新的位姿和更新的深度。示例性地,可以基于校准位置构建以更新的位姿和更新的深度作为优化对象的优化函数:
[0095][0096]

ij
=diagw
ij
……
(6)
[0097]
上述公式(5)和公式(6)中,diag表示取矩阵主对角线上元素,gi′j表示第一图像更新的位姿和第二图像更新的位姿之间的相对位姿,di′
表示第一图像更新的深度。此外,πc,两者的含义可以参阅前述相关描述,在此不再赘述。‖
·


表示马氏距离(即mahalanobis距离),具体含义可以参阅关于马氏距离的相关技术细节,在此不再赘述。(i,j)∈ε表示具有共视关系的第一图像i和第二图像j。
[0098]
在一个具体的实施场景中,请结合参阅图3b,如前所述,为了进一步提升图像分析的效率,可以预先训练一个图像分析模型,具体可以参阅前述相关描述,在此不再赘述。与前述描述不同的是,动态更新网络可以进一步包括卷积层,用于对convgru提取得到的深层语义特征进行处理,得到置信度图w
ij

[0099]
在一个具体的实施场景中,可以采用高斯-牛顿算法进行处理,得到深度和位姿的变化量。具体可以采用舒尔补先,计算得到位姿的变化量,再计算深度的变化量。具体计算过程,可以参阅高斯-牛顿算法的相关技术细节,在此不再赘述。
[0100]
在一个具体的实施场景中,为了便于描述,可以将深度的变化量记为δd,并将位姿的变化量记为δξ。在此基础上,对于深度而言,可以采用如下方式得到更新的深度:
[0101]
ξ
(k+1)
=δξ
(k)

(k)
……
(7)
[0102]
上述公式(7)中,ξ
(k)
表示输入第k次循环迭代的深度,δξ
(k)
表示第k次循环迭代输出的深度的变化量,ξ
(k+1)
表示输入第k+1次循环迭代的深度,即更新的深度。也就是说,对于深度而言,可以直接将深度加上深度的变化量,得到更新的深度。与深度不同的是,可以采用如下方式得到更新的位姿:
[0103][0104]
上述公式(8)中,g
(k)
表示输入第k次循环迭代的位姿,g
(k+1)
表示输入第k+1次循环迭代的位姿,即更新的位姿。也就是说,对于位姿而言,需要基于位姿的变化量在se3流形对位姿进行拉伸。
[0105]
在一个实施场景中,与前述方式不同的是,参考数据还可以进一步包括动态掩膜,且分析结果还可以进一步包括动态掩膜的掩膜校准数据,具体含义可以参阅前述相关描述,在此不再赘述。在此基础上,可以基于动态掩膜、掩膜校准数据和置信度图进行融合,得到重要度图,并基于光流校准数据对第一投影位置进行校准,得到校准位置。基于此,再基于校准位置和重要度图,优化得到更新的位姿和更新的深度。上述方式,在位姿和深度的优化过程中,进一步引入用于指示运动对象的动态掩膜,并结合置信度图得到重要度图,以为后续光流分解提供进一步指导,有利于进一步提升优化位姿和深度的精度。
[0106]
在一个具体的实施场景中,如前所述,光流校准数据包括第一图像中像素点的校准光流,则可以将第一图像中像素点的校准光流加上像素点在第二图像中的第一投影位置,得到像素点的校准位置。具体可以参阅前述相关描述,在此不再赘述。上述方式,通过直接预测第一图像中像素点的校准光流,从而通过简单加法运算即可得到像素点在仅由摄像器件运动之后的校准位置,进而能够有利于大大降低确定像素点仅由摄像器件运动之后的校准位置的计算复杂度,有利于提升优化位姿和深度的效率。
[0107]
在一个具体的实施场景中,可以基于掩膜校准数据对动态掩膜进行校准,得到校准掩膜,且校准掩膜包括图像中像素点与运动对象的相关度,相关度与图像中像素点属于运动对象的可能性正相关,即像素点属于运动对象的可能性越高,相关度越大,反之,像素点属于运动对象的可能性越低,相关度越小。在此基础上,可以基于置信度图和校准掩膜进行融合,得到重要度图。示例性地,可以将置信度图和校准掩膜进行加权,并进行归一化处理,得到重要度图。为了便于描述,第一图像i和第二图像j的重要度图w
dij
可以表示为:
[0108]wdij
=sigmoid(w
ij
+(1-m
dij
)
·
η)
……
(9)
[0109]
上述公式(9)中,sigmoid表示归一化函数,m
di
j表示更新的动态掩膜,由掩膜校准数据δm
dij
加上动态掩膜m
dij
更新得到,即可以参照上述公式(7)得到更新的动态掩膜,所不同的是,此时公式(7)中ξ
(k)
表示输入第k次循环迭代的动态掩膜,δξ
(k)
表示第k次循环迭代输出的掩膜校准数据,ξ
(k+1)
表示输入第k+1次循环迭代的动态掩膜,即更新的动态掩膜。此外,1-m
dij
表示校准掩膜,w
ij
表示置信度图,η表示加权系数,如可以设置为10、20等,在此不做限定。上述方式,能够从像素点本身的置信度以及像素点与运动对象的相关度两方面共同衡量像素点的重要度,进而能够有利于提升后续优化位姿和深度的精度。
[0110]
在一个具体的实施场景中,在得到校准位置和重要度图之后,可以参照上述实施方式,构建优化函数:
[0111][0112]

ij
=diagw
dij
……
(11)
[0113]
上述公式(10)和公式(11)中各个参数的具体含义,可以参阅前述实施方式,在此不再赘述,并如前述实施方式,在此基础上,即可求解得到更新的深度和更新的位姿。需要说明的是,重要度图去除了对运动对象的抑制,增加了优化函数中可用像素点的数量。此外,置信度图可以负责去除一些其他影响计算的像素点,如光照效果不好等其他原因的像素点。
[0114]
在一个实施场景中,在得到更新的位姿和更新的深度之后,即可准备开启新一轮的循环迭代。具体而言,请结合参阅图3b,分析结果可以进一步包括动态光流,且动态光流
由拍摄对象运动引起。在此基础上,可以基于更新的位姿和更新的深度,获取更新的静态光流,并基于动态光流和更新的静态光流,得到更新的整体光流,以及基于更新的静态光流和更新的整体光流,得到更新的光流数据,并基于更新的位姿和更新的深度,得到更新的参考数据,从而可以重新执行前述基于图像序列和光流数据,预测得到分析结果的步骤以及后续步骤,直至重新执行的次数满足预设条件为止。上述方式,在图像分析过程中,通过将整体光流分解为静态光流和动态光流,并循环多次迭代优化步骤,以解决单次优化效果欠佳的问题,并将旧的变量作为输入指导新的变量的生成,能够使得输入特征更为多元化,故能够有利于进一步提升位姿和深度的精度。在图像分析过程中,通过将整体光流分解为静态光流和动态光流,并循环多次迭代优化步骤,以解决单次优化效果欠佳的问题,并将旧的变量作为输入指导新的变量的生成,能够使得输入特征更为多元化,故能够有利于进一步提升位姿和深度的精度。
[0115]
在一个具体的实施场景中,可以基于更新的位姿、更新的深度和第一图像中像素点的像素位置进行投影,得到第一图像中像素点投影在第二图像的第二投影位置,并基于第一图像中像素点投影在第二图像的第二投影位置和第一图像中像素点在第二图像中的对应位置之间的差异,得到更新的静态光流,且对应位置为在假设摄像器件未运动的情况下,第一图像中像素点所属的空间点投影在第二图像的像素位置。具体过程,可以参阅前述公式(3)及其相关描述,在此不再赘述。上述方式,在循环迭代过程中,通过更新的位姿和更新的深度进一步重新投影,并在摄像器件未运动的假设前提下,确定出第一图像中像素点所属的空间点投影在第二图像的像素位置,从而结合重新投影位置确定出更新的静态光流,有利于提升更新的静态光流的准确性。
[0116]
在一个具体的实施场景中,在更新的静态光流之后,可以直接将分析结果中预测得到的动态光流加上更新的静态光流,得到更新的整体光流,即:
[0117]fot
=f
st
+f
dt
……
(12)
[0118]
上述公式(12)中,f
st
表示更新的静态光流,f
dt
表示分析结果中预测得到的动态光流,f
ot
表示更新的整体光流。上述方式,将预测得到的动态光流和更新的静态光流相加,即可得到更新的整体光流,即通过简单加法运算即可确定出更新的整体光流,有利于提升优化位姿和深度的效率。
[0119]
在一个具体的实施场景中,预设条件可以设置为包括:重新执行的次数不小于预设阈值(如,9、10等),从而可以通过多次循环迭代,不断优化位姿和深度,提升位姿和深度的精度。
[0120]
在一个实施场景中,请参阅图4a和图4b,图4a是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹一实施例的对比示意图,图4b是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹另一实施例的对比示意图。如图4a所示为在kitti数据集中图像序列09的测试结果,图4b所示为kitti数据集中图像序列10的测试结果。需要说明的是,图像序列09和图像序列10中均包含运动对象,属于难度较大的动态场景,其中,虚线表示摄像器件在拍摄过程中的实际轨迹,深色线条表示现有技术确定轨迹,浅色线条表示通过本技术图像分析方法确定轨迹。如图所示,在动态场景下,本技术图像分析方法其精度几乎是现有技术的两倍,且在kitti数据集图像序列10的测试场景中,本技术图像分析方法确定轨迹几乎与实际轨迹重合。
[0121]
在一个实施场景中,请参阅图5a、图5b和图5c,图5a是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图,图5b是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图,图5c是本技术图像分析方法确定轨迹与实际轨迹、现有技术确定轨迹又一实施例的对比示意图。如图5a所示为kitti数据集中图像序列01的测试结果,图5b所示为kitti数据集中图像序列02的测试结果,图5c所示为kitti数据集中图像序列20的测试结果。需要说明的是,图像序列01、图像序列02和图像序列20中均包含运动对象,属于难度较大的动态场景,其中,虚线表示摄像器件在拍摄过程中的实际轨迹,深色线条表示现有技术确定轨迹,浅色线条表示通过本技术图像分析方法确定轨迹。如图5a和图5c所示,在kitti数据集中图像序列01和图像序列20的测试场景中,本技术图像分析方法确定轨迹、现有技术确定轨迹均与实际轨迹保持较为一致的趋势,但本技术图像分析方法确定轨迹更接近于实际轨迹;与此同时,如图5b所示,在kitti数据集中图像序列02的测试场景中,本技术图像分析方法确定轨迹与实际轨迹保持较为一致的趋势,而现有技术确定轨迹与实际轨迹已经难以保持较为一致的趋势,在多处出现严重失真。
[0122]
需要说明的是,本公开实施例可以应用于slam系统前端,以实时确定图像的位姿和深度,或者也可以应用于slam系统后端,以对各图像的位姿和深度进行全局优化。具体来说,slam系统可以包含前端线程和后端线程,两者可以同时运行。其中,前端线程的任务是接收新的图像,并选择关键帧,在此基础上,通过本公开实施例获取关键帧的位姿、深度等变量结果,后端线程的任务是在全局范围内通过本公开实施例对各关键帧的位姿、深度等变量结果进行全局优化,从而在此基础上,可以构建出摄像器件所扫描环境的三维地图。
[0123]
在一个实施场景中,本公开实施例slam系统在初始化时,会不断收集图像,直到收集m(如,12等)帧为止。需要说明的是,本公开实施例slam系统仅在当前帧估计的平均静态光流大于第一数值(如,16等)像素时才留存当前帧。一旦累积收集m帧,slam系统则会在这些帧之间创建边来初始化因子图(如图3a所示)。因子图中节点表示各帧图像,创建边的节点所对应的图像是时间上差距应在第二数值(如,3等)个时间步之内。之后,slam系统会采用本技术图像分析方法对图像序列中图像的位姿和深度进行动态更新。
[0124]
在一个实施场景中,本公开实施例slam系统前端可以直接处理传入的图像序列,其在相互可见的关键帧之间维护一组关键帧和一个存储边的因子图。关键帧的位姿和深度会不断进行优化。当新的一帧输入时,slam系统会提取其特征图,然后使用l(如,3等)帧最邻近的帧构建因子图。如前所述,衡量帧间距离的方式可以为帧间的平均静态光流。新的输入帧对应的位姿可以由线性运动模型赋予初值。随后,slam系统通过几次循环迭代以优化关键帧对应的位姿和深度。需要说明的是,可以固定前两帧对应的位姿以消除尺度不确定性。处理完新帧之后,可以基于静态光流的距离来删除冗余帧。如果没有合适的帧可以删除,slam系统可以删除最旧的关键帧。
[0125]
在一个实施场景中,本公开实施例slam系统后端可以在所有关键帧的集合上进行全局优化。具体来说,可以使用各关键帧之间的平均静态光流作为帧间的距离,生成一个帧间距离矩阵以方便查找。在每次循环迭代过程中,可以根据距离矩阵重建因子图。示例性地,可以首先选择在时间上相邻的帧所组成的边,加入到因子图中;然后根据距离矩阵选择新边,距离越小越优先考虑。除此之外,当两条边所对应的帧的索引相邻过近时,可以将这
些边对应的帧间距加大,从而抑制这些边的效果;最后可以使用本公开实施例对因子图中所有边进行优化,以更新所有帧的位姿和深度。
[0126]
在一个实施场景中,请结合参阅图5d,图5d是本技术图像分析方法应用于各种数据集的地图重建示意图。如图5d所示,在诸如kitti、virtual kitti2(即vkitti2)等存在运动物体的自动驾驶场景的数据集,以及诸如euroc等存在剧烈运动且具有显著光照变化的无人机场景的数据集,以及诸如tum rgb-d等存在运动模糊且剧烈旋转的手持式slam的数据集,本公开实施例在上述数据集上均可以得到较好的推广应用。
[0127]
此外,本公开实施例除了应用于slam系统,还可以应用于运动分割任务,即分割出图像中的运动对象,且本公开实施例具有显著分割效果。需要说明的是,在执行运动分割任务过程中,只需为运动设置一个阈值,并将大于该阈值的动态场的像素点可视化,即可获得运动分割结果。请结合参阅图5e,图5e是本技术图像分析方法应用于运动分割任务的示意图。如图5e所示,左侧一列表示真实动态掩膜,右侧一列表示预测动态掩膜,由图5e可见,由本公开实施例预测出来的动态掩膜已经十分接近于真实的动态掩膜,即本公开实施例在运动对象分割任务上可以取得显著效果。
[0128]
进一步地,本公开实施例还可以在应用于ar,请结合参阅图5f,图5f是本技术图像分析方法与现有技术分别应用于ar的对比示意图。如图5f所示,右下角表示摄像器件拍摄得到的原始图像,左上角表示在原始图像中添加虚拟物体(如虚线框所含的树)的期望效果,右上角表示本技术公开实施例在原始图像中添加虚拟物体的效果示意,左下角表示现有技术在原始图像中添加虚拟物体的效果示意。显然,与现有技术相比,本技术在运动场景中通过精准定位所添加虚拟物体之后的效果示意与期望效果较为接近,而通过现有技术在原始图像中添加虚拟物体产生了严重漂移。
[0129]
需要进一步说明的是,由上述应用举例可见,本公开实施例通过光流分解实现即使在运动场景中也能够精准定位,并可以广泛应用于诸如上述slam系统、运动分割任务、场景编辑(如图5f所示的ar应用)等。
[0130]
上述方案,获取图像序列、光流数据和图像序列中各个图像的参考数据,且各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与所述第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,参考数据包括位姿和深度,在此基础上,再基于图像序列和光流数据,预测得到分析结果,且分析结果包括静态光流的光流校准数据,并基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。故通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
[0131]
请参阅图6,图6是本技术图像分析模型的训练方法一实施例的流程示意图。具体而言,可以包括如下步骤:
[0132]
步骤s61:获取样本图像序列、样本光流数据和样本图像序列中各个样本图像的样本参考数据。
[0133]
本公开实施例中,各个样本图像包括具有共视关系的第一样本图像和第二样本图
像,样本光流数据包括第一样本图像与所述第二样本图像之间的样本静态光流和样本整体光流,样本静态光流由摄像器件运动引起,样本整体光流由摄像器件运动和拍摄对象运动共同引起,且样本参考数据包括样本位姿和样本深度。具体可以参阅前述公开实施例中关于“获取图像序列、光流数据和图像序列中各个图像的参考数据”相关描述,在此不再赘述。
[0134]
步骤s62:基于图像分析模型对样本图像序列和样本光流数据进行分析预测,得到样本分析结果。
[0135]
本公开实施例中,样本分析结果包括样本静态光流的样本光流校准数据。具体可以参阅前述公开实施例中关于“基于图像序列和光流数据,预测得到分析结果”相关描述,在此不再赘述。
[0136]
步骤s63:基于样本静态光流和样本光流校准数据,对样本位姿和样本深度进行优化,得到更新的样本位姿和更新的样本深度。
[0137]
具体可以参阅前述公开实施例中关于“基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度”相关描述,在此不再赘述。
[0138]
步骤s64:基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失。
[0139]
在一个实施场景中,与前述公开实施例类似地,样本参考数据还可以进一步包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,样本分析结果还包括样本动态光流和样本动态掩膜的样本掩膜校准数据,且样本动态光流由拍摄对象运动引起,预测损失可以包括掩膜预测损失。为了便于描述,掩膜预测损失可以记为此外,关于样本动态掩膜、样本动态光流、样本掩膜校准数据的具体含义,可以分别参阅前述公开实施例中关于动态掩膜、动态光流、掩膜校准数据的相关描述,在此不再赘述。在此基础上,可以先基于样本动态光流、更新的样本位姿和更新的样本深度,得到更新的样本整体光流。基于此,一方面可以基于样本掩膜校准数据和样本动态掩膜,得到样本动态掩膜在模型维度更新得到的第一预测掩膜,另一方面可以基于更新的样本整体光流、更新的样本位姿和更新的样本深度,得到样本动态掩膜在光流维度更新得到的第二预测掩膜,从而可以基于第一预测掩膜和第二预测掩膜之间的差异,得到掩膜预测损失。上述方式,在训练过程中不具备真实动态掩膜的情况下,也能够通过更新的样本整体光流、更新的样本位姿和更新的样本深度构造出动态掩膜标签,以实现自监督训练,有利于在提升模型性能的前提下,降低训练过程对样本标注的要求。
[0140]
在一个具体的实施场景中,与前述公开实施例中,获取更新的整体光流类似地,可以先基于更新的样本位姿和更新的样本深度,得到更新的样本静态光流,再基于样本动态光流和更新的样本静态光流,得到更新的样本整体光流,具体过程可以参阅前述公开实施例中“基于更新的位姿和更新的深度,获取更新的静态光流,并基于动态光流和更新的静态光流,得到更新的整体光流”相关描述,在此不再赘述。
[0141]
在一个具体的实施场景中,与前述公开实施例中,获取更新的动态掩膜类似地,可以直接将样本掩膜校准数据加上样本动态掩膜,以从模型维度更新样本动态掩膜,得到第一预测掩膜,具体可以参阅前述公开实施例中关于获取更新的动态掩膜的相关描述,在此不再赘述。为了便于描述,可以将第一预测掩膜记为
[0142]
在一个具体的实施场景中,对于第二预测掩膜而言,具体可以基于更新的样本位
姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置p
cam

[0143][0144]
上述公式(13)中,g
ij
表示第一样本图像更新的位姿和第二样本图像更新的位姿之间的相对位姿,其获取方式可以参阅前述公开实施例中关于第一图像和第二图像相对位姿的相关描述,在此不再赘述。pi表示第一样本图像中样本像素点的样本像素位置,表示第一样本图像中样本像素点更新的深度。此外,πc、以及运算符
°
的具体含义,可以参阅前述公开实施例中相关描述,在此不再赘述。与此同时,可以基于更新的样本整体光流和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第二样本投影位置p
flow

[0145][0146]
上述公式(14)中,表示更新的样本整体光流,也就是说,可以直接在更新的样本整体光流中查询样本像素点对应的样本整体光流值,并将其与样本像素点的样本像素位置相加,得到第二样本投影位置。在此基础上,即可基于第一样本投影位置和第二样本投影位置之间的差异,得到第二预测掩膜,故此能够从利用位姿、深度进行投影的像素位置以及利用整体光流进行投影的位置两者之间的差异,甄别出属于运动对象的样本像素点,以得到第二预测掩膜,有利于提升构造出动态掩膜标签的准确性。示例性地,可以基于第一样本投影位置与第二样本投影位置之间的距离对比预设阈值,得到样本像素点的样本掩膜值,且样本掩膜值用于表示样本像素点是否属于运动对象。例如,在第一样本投影位置与第二样本投影位置之间的距离大于预设阈值的情况下,可以认为样本像素点属于运动对象,此时可以确定样本像素点的样本掩膜值为第一数值(如,0),反之,在第一样本投影位置与第二样本投影位置之间的距离不大于预设阈值的情况下,可以认为样本像素点并不属于运动对象,此时可以确定样本像素点的样本掩膜值为第二数值(如,1)。在此基础上,即可基于各个样本像素点的样本掩膜值,得到第二预测掩膜
[0147][0148]
上述公式(15)中,μ表示预设阈值,‖
·
‖2表示欧氏距离,示例性地,预设阈值μ可以设置为0.5,在此不做限定。在得到第一预测掩膜和第二预测掩膜之后,即可基于第一预测掩膜和第二预测掩膜之间的差异,得到掩膜预测损失示例性地,可以采用交叉熵损失函数度量第一预测掩膜和第二预测掩膜之间的差异,得到掩膜预测损失预测损失
[0149]
上述公式(16)中,表示第一预测掩膜或第二预测掩膜中像素点集合,表示第一预测掩膜或第二预测掩膜中像素点总数。
[0150]
在一个实施场景中,与前述自监督训练方式人工构造掩膜标签不同的是,若训练过程中存在真实动态掩膜,则可以通过有监督训练的方式,来监督模型训练。具体来说,在存在真实动态掩膜的情况下,可以基于第一预测掩膜与真实动态掩膜之间的差异,得到掩膜预测损失。示例性地,也可以采用交叉熵损失函数度量第一预测掩膜与真实动态掩膜之
间的差异,得到掩膜预测损失。为了便于区分前述自监督训练中的掩膜预测损失与有监督训练中的掩膜预测损失,可以将有监督训练中的掩膜预测损失记为
[0151][0152]
上述公式(17)中,mi表示真实动态掩膜,其他参数的具体含义,可以参阅前述自监督训练的相关描述,在此不再赘述。
[0153]
在一个实施场景中,如前所述,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,且预测损失包括几何光度损失。为了便于描述,几何光度损失可以记为此外,关于样本动态掩膜的具体含义,可以参阅前述公开实施例中关于动态掩膜的相关描述,在此不再赘述。请结合参阅图7,图7是动态场景一实施例的示意图。如图7所示,在自监督训练模式中,当使用光度误差来监督位姿和深度时,直接使用静态光流可能会导致像素不匹配(如,打叉的一对像素),因为运动对象本身的运动会导致静态光流中像素的遮挡,这样会使光度误差的准确度下降。有鉴于此,可以基于各个与第一样本图像具有共视关系的第二样本图像的样本动态掩膜进行融合,得到样本融合掩膜。在此基础上,可以基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置。基于此,可以基于第一样本图像中样本像素点的样本像素位置,得到第一样本图像中样本像素点的第一样本像素值,并基于第一样本图像中样本像素点的第一样本投影位置,得到第一样本图像中样本像素点的第二样本像素值,以及基于样本融合掩膜,得到第一样本图像中样本像素点的融合掩膜值,从而可以基于第一样本像素值、第二样本像素值和融合掩膜值,得到几何光度损失。上述方式,通过融合与第一样本图像具有共视关系的第二样本图像的样本动态掩膜,得到样本融合掩膜,并在几何光度损失度量过程中考虑该样本融合掩膜,有利于通过样本融合掩膜尽可能地消除由于像素遮挡而导致的错误像素光度匹配,能够大大提升几何光度损失的度量精度,有利于提升图像分析模型的模型性能。
[0154]
在一个具体的实施场景中,对于各个与第一样本图像具有共视关系的第二样本图像而言,可以将这些第二样本图像的样本动态掩膜聚合,得到样本融合掩膜。示例性地,聚合的具体操作可以包括但不限于取并集等,在此不做限定。为了便于描述,可以将样本融合掩膜记为
[0155]
在一个具体的实施场景中,第一样本投影位置的具体过程,可以参阅前述掩膜预测损失中相关描述,在此不再赘述。
[0156]
在一个具体的实施场景中,可以直接根据第一样本图像中样本像素点的样本像素位置,在第一样本图像中查询该样本像素位置处的像素值,得到第一样本像素值,为了便于描述,可以将第一样本像素值记为ii。此外,在得到第一样本投影位置之后,可以在第二样本图像通过双线性插值得到第二样本像素值ij→i:
[0157][0158]
上述公式(18)中,表示第一投影位置,ij表示第二样本图像,ij《
·
》表示在第二样本图像中进行插值计算。
[0159]
在一个具体的实施场景中,在得到第一样本像素值ii和第二样本像素值ij→i之后,可以获取第一样本像素值和第二样本像素值之间的像素差值pe(ii,ij→i),再利用样本像素
点的融合掩膜值进行加权,得到加权差值在此基础上,再基于各个样本像素点的加权差值,得到几何光度损失
[0160][0161]
上述公式(19)中,n

表示样本融合掩膜中属于静止物体的像素点总数。上述方式,通过利用融合掩膜值对像素差值进行加权,能够快速筛除由于像素遮挡而导致的错误像素光度匹配,有利于降低几何光度损失的度量复杂度。此外,为了进一步提升几何光度损失的准确性,在度量第一样本像素值和第二样本像素值之间的像素差值pe(ii,ij→i)的过程中,可以采用多种方式进行度量。示例性地,可以基于结构相似性度量第一样本像素值和第二样本像素值,得到第一差值,并基于绝对值偏差度量第一样本像素值和第二样本像素值,得到第二差值,在此基础上,再基于第一差值和第二差值进行加权,得到像素差值pe(ii,ij→i):
[0162][0163]
上述公式(20)中,ssim表示结构相似性度量,‖
·
‖1表示绝对值偏差度量,(1-α)分别表示第一差值、第二差值的权重。示例性地,α可以设置为0.85,在此不做限定。上述方式,在度量像素差值过程中,结合结构相似性和绝对值偏差两方面共同度量,有利于尽可能提升像素差值的准确性。
[0164]
在一个实施场景中,与前述结合样本融合掩膜度量几何光度损失不同的是,在对损失度量的精度较为宽松的情况下,也可以不考虑样本融合掩膜来度量几何光度损失。在此情况下,几何光度损失可以表示为:
[0165][0166]
上述公式(21)中,n表示样本像素点总数。
[0167]
在一个实施场景中,为了进一步提升损失度量的准确性,预测损失还可以进一步包括光流光度损失,为了便于描述,可以将光流光度损失记为此外,样本分析结果还可以包括样本动态光流,其具体含义可以参阅前述掩膜预测损失中相关描述,在此不再赘述。基于此,可以基于样本动态光流、更新的样本位姿和更新的样本深度,得到更新的样本整体光流,具体过程可以参阅前述掩膜预测损失中相关描述,在此不再赘述。在此基础上,可以基于更新的样本整体光流和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第二样本投影位置。示例性地,可以直接在更新的样本整体光流中查询样本像素点的样本整体光流值,再加上样本像素点的样本像素位置,得到第二样本投影位置,具体可以参阅前述掩膜预测损失中相关描述,在此不再赘述。与前述几何光度损失中类似地,在得到第二样本投影位置之后,可以在第二样本图像通过双线性插值得到第二样本像素值ij→i:
[0168]
ij→i=j《f
oij
+pi》
……
(22)
[0169]
上述公式(22)中,ij《
·
》表示在第二样本图像ij进行插值计算。在此基础上,与前述几何光度损失类似地,可以基于第一样本像素值与第二样本像素值之间的差异,得到光流光度损失。示例性地,可以基于结构相似性度量第一样本像素值和第二样本像素值,得到第一差值,并基于绝对值偏差度量第一样本像素值和第二样本像素值,得到第二差值,再基
于第一差值和第二差值进行加权,得到像素差值,从而可以基于各个样本像素点的像素差值,得到光流光度损失
[0170][0171]
步骤s65:基于预测损失,调整图像分析模型的网络参数。
[0172]
在一个实施场景中,在通过自监督方式训练网络模型的情况下,预测损失可以包括前述掩膜预测损失、几何光度损失、光流光度损失中至少一者。示例性地,预测损失可以包括前述掩膜预测损失、几何光度损失和光流光度损失,则可以基于这三者进行加权,得到预测损失
[0173][0174]
上述公式(24)中,λ0,λ1,λ2均表示加权系数,示例性地,可以分别设置为100、5、0.05,在此不做限定。请结合参阅表1,表1是本技术图像分析模型采用自监督方式训练之后的测试性能与现有技术的测试性能一实施例的对比表。
[0175]
表1本技术图像分析模型采用自监督方式训练之后的测试性能与现有技术的测试性能一实施例的对比表
[0176][0177][0178]
需要说明的是,k09和k10表示kitti数据集中图像序列09和图像序列10的测试场景下,不同技术方案的测试性能,vk01、vk02、vk06、vk18、vk20表示kitti2数据集中图像序列01、图像序列02、图像序列06、图像序列18和图像序列20的测试场景下,不同技术方案的测试性能。由表1可见,本技术自监督方式训练得到的图像分析模型在诸多测试场景下较其他现有技术均具有极为显著的模型性能。
[0179]
在一个实施场景中,与前述通过自监督训练网络模型类似地,通过有监督方式训练网络模型的情况下,预测损失可以包括前述掩膜预测损失、几何光度损失、光流光度损失中至少一者。示例性地,预测损失可以包括前述掩膜预测损失、几何光度损失和光流光度损失,则可以基于这三者进行加权,得到预测损失
[0180][0181]
上述公式(25)中,λ0,λ1,λ2均表示加权系数,示例性地,可以分别设置为100、5、0.05,在此不做限定。
[0182]
在一个实施场景中,在得到预测损失之后,可以通过诸如梯度下降等优化方式,调整图像分析模型的网络参数,具体过程可以参阅梯度下降等优化方式的技术细节,在此不再赘述。
[0183]
上述方案,与推理阶段类似地,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深
度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,能够提升图像分析模型的模型性能,有利于提升利用图像分析模型在推理阶段得到分析结果的准确性,进而能够提升推理阶段位姿和深度的精度。
[0184]
请参阅图8,图8是本技术图像分析装置80一实施例的框架示意图。图像分析装置80包括:获取模块81、分析模块82和优化模块83,获取模块81,用于获取图像序列、光流数据和图像序列中各个图像的参考数据;其中,各个图像包括具有共视关系的第一图像和第二图像,光流数据包括第一图像与第二图像之间的静态光流和整体光流,静态光流由摄像器件运动引起,整体光流由摄像器件运动和拍摄对象运动共同引起,且参考数据包括位姿和深度;分析模块82,用于基于图像序列和光流数据,预测得到分析结果;其中,分析结果包括静态光流的光流校准数据;优化模块83,用于基于静态光流和光流校准数据,对位姿和深度进行优化,得到更新的位姿和更新的深度。
[0185]
上述方案,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
[0186]
在一些公开实施例中,分析模块82包括特征相关子模块,用于基于第一图像和第二图像的图像特征,得到第一图像与第二图像之间的特征相关数据,分析模块82包括第一投影子模块,用于基于静态光流将第一图像中像素点进行投影,得到第一图像中像素点在第二图像中的第一投影位置;分析模块82包括特征搜索子模块,用于基于第一投影位置在特征相关数据中搜索,得到目标相关数据;分析模块82包括数据分析子模块,用于基于目标相关数据、静态光流和整体光流,得到分析结果。
[0187]
在一些公开实施例中,数据分析子模块包括第一编码单元,用于基于目标相关数据进行编码,得到第一编码特征,数据分析子模块包括第二编码单元,用于基于静态光流和整体光流进行编码,得到第二编码特征;数据分析子模块包括预测单元,用于基于第一编码特征和第二编码特征,预测得到分析结果。
[0188]
在一些公开实施例中,参考数据还包括动态掩膜,动态掩膜用于指示图像中的运动对象,分析结果还包括置信度图和动态掩膜的掩膜校准数据,置信度图包括图像中各像素点的置信度;优化模块83包括图像融合子模块,用于基于动态掩膜、掩膜校准数据和置信度图进行融合,得到重要度图;优化模块83包括位置校准子模块,用于基于光流校准数据对第一投影位置进行校准,得到校准位置;其中,重要度图包括图像中各像素点的重要度,第一投影位置为第一图像中像素点基于静态光流投影在第二图像的像素位置;优化模块83包括数据优化子模块,用于基于校准位置和重要度图,优化得到更新的位姿和更新的深度。
[0189]
在一些公开实施例中,光流校准数据包括第一图像中像素点的校准光流,位置校准子模块具体用于将第一图像中像素点的校准光流加上像素点在第二图像中的第一投影位置,得到像素点的校准位置。
[0190]
在一些公开实施例中,图像融合子模块包括校准单元,用于基于掩膜校准数据对动态掩膜进行校准,得到校准掩膜;其中,校准掩膜包括图像中像素点与运动对象的相关度,且相关度与图像中像素点属于运动对象的可能性正相关;图像融合子模块包括融合单
元,用于基于置信度图和校准掩膜进行融合,得到重要度图。
[0191]
在一些公开实施例中,分析结果还包括动态光流,动态光流由拍摄对象运动引起;图像分析装置80包括静态光流更新模块,用于基于更新的位姿和更新的深度,获取更新的静态光流;图像分析装置80包括整体光流更新模块,用于基于动态光流和更新的静态光流,得到更新的整体光流;图像分析装置80包括数据更新模块,用于基于更新的静态光流和更新的整体光流,得到更新的光流数据,并基于更新的位姿和更新的深度,得到更新的参考数据;图像分析装置80包括循环模块,用于结合分析模块82和优化模块83重新执行基于图像序列和光流数据,预测得到分析结果的步骤以及后续步骤,直至重新执行的次数满足预设条件为止。
[0192]
在一些公开实施例中,静态光流更新模块包括第二投影子模块,用于基于更新的位姿、更新的深度和第一图像中像素点的像素位置进行投影,得到第一图像中像素点投影在第二图像的第二投影位置;静态光流更新模块包括光流更新子模块,用于基于第一图像中像素点投影在第二图像的第二投影位置和第一图像中像素点在第二图像中的对应位置之间的差异,得到更新的静态光流;其中,对应位置为在假设摄像器件未运动的情况下,第一图像中像素点所属的空间点投影在第二图像的像素位置。
[0193]
在一些公开实施例中,整体光流更新模块具体用于将动态光流和更新的静态光流相加,得到更新的整体光流。
[0194]
请参阅图9,图9是图像分析模型的训练装置90一实施例的框架示意图。图像分析模型的训练装置90包括:样本获取模块91、样本分析模块92、样本优化模块93、损失度量模块94和参数调整模块95,样本获取模块91,用于获取样本图像序列、样本光流数据和样本图像序列中各个样本图像的样本参考数据;其中,各个样本图像包括具有共视关系的第一样本图像和第二样本图像,样本光流数据包括第一样本图像与第二样本图像之间的样本静态光流和样本整体光流,样本静态光流由摄像器件运动引起,样本整体光流由摄像器件运动和拍摄对象运动共同引起,且样本参考数据包括样本位姿和样本深度;样本分析模块92,用于基于图像分析模型对样本图像序列和样本光流数据进行分析预测,得到样本分析结果;其中,样本分析结果包括样本静态光流的样本光流校准数据;样本优化模块93,用于基于样本静态光流和样本光流校准数据,对样本位姿和样本深度进行优化,得到更新的样本位姿和更新的样本深度;损失度量模块94,用于基于更新的样本位姿和更新的样本深度进行损失度量,得到图像分析模型的预测损失;参数调整模块95,用于基于预测损失,调整图像分析模型的网络参数。
[0195]
在一些公开实施例中,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,样本分析结果还包括样本动态光流和样本动态掩膜的样本掩膜校准数据,且样本动态光流由拍摄对象运动引起,预测损失包括掩膜预测损失;图像分析模型的训练装置90还包括样本整体光流更新模块,用于基于样本动态光流、更新的样本位姿和更新的样本深度,得到更新的样本整体光流;损失度量模块94包括第一掩膜更新子模块,用于基于样本掩膜校准数据和样本动态掩膜,得到样本动态掩膜在模型维度更新得到的第一预测掩膜,损失度量模块94包括第二掩膜更新子模块,用于基于更新的样本整体光流、更新的样本位姿和更新的样本深度,得到样本动态掩膜在光流维度更新得到的第二预测掩膜;损失度量模块94包括掩膜损失度量子模块,用于基于第一预测掩膜和第二预测掩膜之
间的差异,得到掩膜预测损失。
[0196]
在一些公开实施例中,第二掩膜更新子模块包括第一样本投影单元,用于基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置;第二掩膜更新子模块包括第二样本投影单元,用于基于更新的样本整体光流和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第二样本投影位置;第二掩膜更新子模块包括掩膜确定单元,用于基于第一样本投影位置和第二样本投影位置之间的差异,得到第二预测掩膜。
[0197]
在一些公开实施例中,掩膜确定单元包括距离对比子单元,用于基于第一样本投影位置与第二样本投影位置之间的距离对比预设阈值,得到样本像素点的样本掩膜值;其中,样本掩膜值用于表示样本像素点是否属于运动对象;掩膜确定单元包括掩膜获取子单元,用于基于各个样本像素点的样本掩膜值,得到第二预测掩膜。
[0198]
在一些公开实施例中,样本参考数据还包括样本动态掩膜,样本动态掩膜用于指示样本图像中的运动对象,且预测损失包括几何光度损失;图像分析模型的训练装置90还包括样本掩膜聚合模块,用于基于各个与第一样本图像具有共视关系的第二样本图像的样本动态掩膜进行融合,得到样本融合掩膜;损失度量模块94包括第一样本投影子模块,用于基于更新的样本位姿、更新的样本深度和第一样本图像中样本像素点的样本像素位置进行投影,得到第一样本图像中样本像素点投影在第二样本图像的第一样本投影位置;损失度量模块94包括第一像素值确定子模块,用于基于第一样本图像中样本像素点的样本像素位置,得到第一样本图像中样本像素点的第一样本像素值;损失度量模块94包括第二像素值确定子模块,用于基于第一样本图像中样本像素点的第一样本投影位置,得到第一样本图像中样本像素点的第二样本像素值;损失度量模块94包括融合掩膜值获取子模块,用于基于样本融合掩膜,得到第一样本图像中样本像素点的融合掩膜值;损失度量模块94包括光度损失度量子模块,用于基于第一样本像素值、第二样本像素值和融合掩膜值,得到几何光度损失。
[0199]
在一些公开实施例中,光度损失度量子模块包括像素差值获取单元,用于获取第一样本像素值和第二样本像素值之间的像素差值;光度损失度量子模块包括数值加权单元,用于利用融合掩膜值对像素差值进行加权,得到加权差值;光度损失度量子模块包括损失获取单元,用于基于各个样本像素点的加权差值,得到几何光度损失。
[0200]
在一些公开实施例中,像素差值获取单元包括第一差值子单元,用于基于结构相似性度量第一样本像素值和第二样本像素值,得到第一差值;像素差值获取单元包括第二差值子单元,用于基于绝对值偏差度量第一样本像素值和第二样本像素值,得到第二差值;像素差值获取单元包括差值加权子单元,用于基于第一差值和第二差值进行加权,得到像素差值。
[0201]
上述方案,与推理阶段类似地,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,能够提升图像分析模型的模型性能,有利于提升利用图像分析模型在推理阶段得到分
析结果的准确性,进而能够提升推理阶段位姿和深度的精度。
[0202]
请参阅图10,图10是本技术电子设备100一实施例的框架示意图。电子设备100包括相互耦接的存储器101和处理器102,处理器102用于执行存储器101中存储的程序指令,以实现上述任一图像分析方法实施例的步骤,或实现上述任一图像分析模型的训练方法实施例的步骤。在一个具体的实施场景中,电子设备100可以包括但不限于:微型计算机、服务器,此外,电子设备100还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0203]
具体而言,处理器102用于控制其自身以及存储器101以实现上述任一图像分析方法实施例的步骤,或实现上述任一图像分析模型的训练方法实施例的步骤。处理器102还可以称为cpu(central processing unit,中央处理单元)。处理器102可能是一种集成电路芯片,具有信号的处理能力。处理器102还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器102可以由集成电路芯片共同实现。
[0204]
上述方案,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
[0205]
请参阅图11,图11为本技术计算机可读存储介质110一实施例的框架示意图。计算机可读存储介质110存储有能够被处理器运行的程序指令111,程序指令111用于实现上述任一图像分析方法实施例的步骤,或实现上述任一图像分析模型的训练方法实施例的步骤。
[0206]
上述方案,通过模仿人类感知现实世界的方式,将整体光流视为由摄像器件运动和拍摄对象运动共同引起,并在图像分析过程中,参考整体光流和由摄像器件运动引起的静态光流,预测出静态光流的光流校准数据,从而能够在后续位姿和深度优化过程中,结合静态光流及其光流校准数据尽可能地降低拍摄对象运动所导致的影响,进而能够提升位姿和深度的精度。
[0207]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0208]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0209]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0210]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0211]
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。
[0212]
可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1