一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

光流估计方法、相关装置、设备及计算机可读存储介质与流程

2021-11-20 01:34:00 来源:中国专利 TAG:


1.本技术涉及计算机视觉领域,尤其涉及一种光流估计方法、相关装置、设备及计算机可读存储介质。


背景技术:

2.光流是图像亮度模式的表观运动。当人的眼睛观察运动物体时,物体的景象在人眼的视网膜上形成一系列连续变化的图像,这一系列连续变化的信息不断“流过”视网膜(即图像平面),好像一种光的“流”,故称之为光流。从本质上说,光流就是你在这个运动着的世界里感觉到的明显的视觉运动。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。由光流的定义可以引申出光流场,它是指图像中所有像素点构成的一种二维瞬时速度场,其中的二维速度矢量是景物中可见点的三维速度矢量在成像表面的投影。
3.对光流的研究己经成为计算机视觉及有关研究领域中的一个重要部分。二十多年来,多种光流估计的方法被提出,光流估计的准确性也不断得到提高。但是基于梯度的传统光流计算方法有多个前提假设,比如相邻帧之间的亮度恒定,相邻视频帧的取帧时间连续,相邻帧之间物体的运动比较“微小”,保持空间一致性等。这些假设可能影响在真实情况下的光流计算,导致在实际应用中准确度干降。同时,由于传统光流法采用迭代的方法,计算复杂耗时。基于匹配的传统光流估计算法通过不断地对目标主要特征区域进行定位、跟踪和匹配来计算稀疏光流。虽然这类算法可以对大位移运动和亮度变化的鲁棒性,但难以估计亚像素精度的光流且计算耗时。这两类传统方法如果没有特殊的硬件支持,很难应用于视频序列的实时检测。
4.如今,随着深度学习的发展,越来越多的研究领域开始借助深度学习的方法获得更多研究成果,比如图像分类、目标识别等等。深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务。深度学习能够通过对大量数据的学习获得提取特征的能力,从而替代手工获取特征。使用深度学习技术进行光流估计能够获得比传统光流法更高的准确度,并且大大提高光流估计的速度,达到接近实时检测的效果。然而,现有的深度学习模型的规模较大,一方面,需要大量的计算机资源来进行计算,深度学习模型的运算效率低;另一方面,光流估计结果无法达到实时检测的效果。因此,如何在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测急需解决的技术问题。


技术实现要素:

5.本技术提供了一种光流估计方法、相关装置、设备及计算机可读存储介质,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
6.第一方面,提供了一种光流估计方法,方法应用于特征金字塔网络,特征金字塔网络包括2层网络,方法包括:获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;通过所述2层网络对所述第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;通过所述2层网络对所述第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图;其中,第1层网络提取到的光流特征图的分辨率大于第2层网络提取到的光流特征图的分辨率;通过第1层网络将第2层网络对应的第一融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果;其中,所述第2层网络对应的第一融合特征图为对所述第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的;输出所述第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
7.实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
8.在一种可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至2层分别设有所述金字塔特征网络;所述特征金字塔网络的第1层设有所述特征融合网络;所述金字塔特征网络用于对所述第一帧图像和所述第二帧图像进行特征提取;所述特征融合网络用于对所述金字塔特征网络提取到的光流特征图进行融合;所述通过第1层网络将第2层网络对应的融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果,包括:通过所述特征金字塔网络中第1层特征融合网络将第2层金字塔特征网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合,得到第2层金字塔特征网络对应的第一融合特征图;通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层特征融合网络对应的光流结果。实施本技术实施例,光流估计设备可以通过一个特征融合网络对第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图进行特征融合,得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
9.在一种可能的实现方式中,所述第2层金字塔特征网络提取到的光流特征图包括第2个第一光流特征图和第2个第二光流特征图;所述第1层金字塔特征网络提取到的光流特征图包括第1个第一光流特征图和第1个第二光流特征图;所述第2个第一光流特征图的分辨率和所述第2个第二光流特征图的分辨率属于第一范围;所述第1个第一光流特征图的分辨率和所述第1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网
络对应的融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果,包括:通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像;通过所述第1层特征融合网络根据所述第1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
10.在一种可能的实现方式中,所述通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像,包括:通过所述第1层特征融合网络从所述第1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;通过所述第1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;通过所述第1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
11.在一种可能的实现方式中,所述通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像之后,所述通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果之前,还包括:通过所述第1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;所述通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果,包括:通过所述第1层特征融合网络对所述第五融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。实施本技术实施例,深度学习模块可以在去除光流特征图中的高频噪声同时,保留边界信息,这一实现方式,可以提高深度学习模型的模型精度,并提高深度学习模型对噪声的鲁棒性。
12.第二方面,本技术实施例提供了另一种光流估计方法,方法应用于特征金字塔网络,所述特征金字塔网络包括n层网络,所述n为大于2的正整数,所述方法包括:获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;通过所述n层网络对所述第一帧图像进行n次不同尺度的特征提取,得到n个第一光流特征图;通过所述n层网络对所述第二帧图像进行n次不同尺度的特征提取,得到n个第二光流特征图;其中,第n-1层网络提取到的光流特征图的分辨率大于第n层网络提取到的光流特征图的分辨率;通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层网络对应的光流结果和特征输出结果;其中,所述第n层网络对应的第一融合特征图为对所述第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的;通过第i-1层网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据
第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的;输出第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
13.实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
14.在一种可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至n层分别设有所述金字塔特征网络;所述特征金字塔网络的第1至n-1层分别设有所述特征融合网络;所述通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层网络对应的光流结果和特征输出结果;其中,所述第n层网络对应的第一融合特征图为对所述第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的;通过第i-1层网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果,包括:通过所述特征金字塔网络中第n-1层特征融合网络将第n层金字塔特征网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合,得到第n层金字塔特征网络对应的第一融合特征图;通过所述特征金字塔网络中第n-1层特征融合网络将所述第n层金字塔特征网络对应的第一融合特征图以及第n-1层金字塔特征网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层特征融合网络对应的光流结果和特征输出结果;通过所述特征金字塔网络中第i-1层特征融合网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的。实施本技术实施例,光流估计设备可以通过多个特征融合网络对第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图进行特征融合,得到光流结果。相较于现有的实现方式来说,由于多个特征融合网络的参数规模小,且多个特征融合网络可以对两帧图像各自对应的不同尺度的光流特征图进行特征融合,充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
15.在一种可能的实现方式中,所述第n层金字塔特征网络提取到的光流特征图包括第n个第一光流特征图和第n个第二光流特征图;所述第n-1层金字塔特征网络提取到的光流特征图包括第n-1个第一光流特征图和第n-1个第二光流特征图;所述第n个第一光流特征图的分辨率和所述第n个第二光流特征图的分辨率属于第一范围;所述第n-1个第一光流特征图的分辨率和所述第n-1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,
得到所述第n-1层网络对应的光流结果和特征输出结果,包括:通过所述第n-1层特征融合网络将所述第n-1个第一光流特征图和所述第n-1个第二光流特征图进行特征融合,得到第一融合图像;通过所述第n-1层特征融合网络根据所述第n-1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;通过所述第n-1层特征融合网络对所述第三融合图像进行放大,得到所述第n-1层特征融合网络对应的特征输出结果;通过所述第n-1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;通过所述第n-1层特征融合网络对所述第四融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。
16.在一种可能的实现方式中,所述通过所述第n-1层特征融合网络将所述第n-1个第一光流特征图和所述第n-1个第二光流特征图进行特征融合,得到第一融合图像,包括:通过所述第n-1层特征融合网络从所述第n-1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第n-1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;通过所述第n-1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;通过所述第n-1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
17.在一种可能的实现方式中,所述通过所述第n-1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像之后,所述通过所述第n-1层特征融合网络对所述第四融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果之前,还包括:通过所述第n-1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;所述通过所述第n-1层特征融合网络对所述第四融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果,包括:通过所述第n-1层特征融合网络对所述第五融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。实施本技术实施例,深度学习模块可以在去除光流特征图中的高频噪声同时,保留边界信息,这一实现方式,可以提高深度学习模型的模型精度,并提高深度学习模型对噪声的鲁棒性。
18.第三方面,本技术实施例提供了一种光流估计装置,所述装置应用于特征金字塔网络,所述特征金字塔网络包括2层网络,该装置可以包括:图像获取模块,用于获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;金字塔特征模块,用于通过所述2层网络对所述第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;通过所述2层网络对所述第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图;其中,第1层网络提取到的光流特征图的分辨率大于第2层网络提取到的光流特征图的分辨率;特征融合模块,用于通过第1层网络将第2层网络对应的第一融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果;其中,所述第2层网络对应的第一融合特征图为对所述第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的;输出模块,用于输出所述第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
19.实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
20.在一种可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至2层分别设有所述金字塔特征网络;所述特征金字塔网络的第1层设有所述特征融合网络;所述金字塔特征网络用于对所述第一帧图像和所述第二帧图像进行特征提取;所述特征融合网络用于对所述金字塔特征网络提取到的光流特征图进行融合;所述特征融合模块包括第一特征融合模块,所述第一特征融合模块用于:通过所述特征金字塔网络中第1层特征融合网络将第2层金字塔特征网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合,得到第2层金字塔特征网络对应的第一融合特征图;通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层特征融合网络对应的光流结果。
21.在一种可能的实现方式中,所述第2层金字塔特征网络提取到的光流特征图包括第2个第一光流特征图和第2个第二光流特征图;所述第1层金字塔特征网络提取到的光流特征图包括第1个第一光流特征图和第1个第二光流特征图;所述第2个第一光流特征图的分辨率和所述第2个第二光流特征图的分辨率属于第一范围;所述第1个第一光流特征图的分辨率和所述第1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述第一特征融合模块,具体用于:通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像;通过所述第1层特征融合网络根据所述第1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
22.在一种可能的实现方式中,所述第一特征融合模块,具体用于:通过所述第1层特征融合网络从所述第1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;通过所述第1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;通过所述第1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
23.在一种可能的实现方式中,所述第一特征融合模块,还用于:通过所述第1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;所述第一特征融合模块,具体用于:通过所述第1层特征融合网络对所述第五
融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
24.第四方面,本技术实施例还提供了另一种光流估计装置,所述装置应用于特征金字塔网络,所述特征金字塔网络包括n层网络,所述n为大于2的正整数,所述装置包括:图像获取模块,用于获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;金字塔特征模块,用于通过所述n层网络对所述第一帧图像进行n次不同尺度的特征提取,得到n个第一光流特征图;通过所述n层网络对所述第二帧图像进行n次不同尺度的特征提取,得到n个第二光流特征图;其中,第n-1层网络提取到的光流特征图的分辨率大于第n层网络提取到的光流特征图的分辨率;特征融合模块,用于通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层网络对应的光流结果和特征输出结果;其中,所述第n层网络对应的第一融合特征图为对所述第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的;通过第i-1层网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的;输出模块,用于输出第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
25.实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
26.在一种可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至n层分别设有所述金字塔特征网络;所述特征金字塔网络的第1至n-1层分别设有所述特征融合网络;所述特征融合模块包括第n-1特征融合模块和第i-1特征融合模块;其中,所述第n-1特征融合模块,用于:通过所述特征金字塔网络中第n-1层特征融合网络将第n层金字塔特征网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合,得到第n层金字塔特征网络对应的第一融合特征图;通过所述特征金字塔网络中第n-1层特征融合网络将所述第n层金字塔特征网络对应的第一融合特征图以及第n-1层金字塔特征网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层特征融合网络对应的光流结果和特征输出结果;所述第i-1特征融合模块,用于:通过所述特征金字塔网络中第i-1层特征融合网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的。
27.在一种可能的实现方式中,所述第n层金字塔特征网络提取到的光流特征图包括第n个第一光流特征图和第n个第二光流特征图;所述第n-1层金字塔特征网络提取到的光
流特征图包括第n-1个第一光流特征图和第n-1个第二光流特征图;所述第n个第一光流特征图的分辨率和所述第n个第二光流特征图的分辨率属于第一范围;所述第n-1个第一光流特征图的分辨率和所述第n-1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述第n-1特征融合模块,具体用于:通过所述第n-1层特征融合网络将所述第n-1个第一光流特征图和所述第n-1个第二光流特征图进行特征融合,得到第一融合图像;通过所述第n-1层特征融合网络根据所述第n-1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;通过所述第n-1层特征融合网络对所述第三融合图像进行放大,得到所述第n-1层特征融合网络对应的特征输出结果;通过所述第n-1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;通过所述第n-1层特征融合网络对所述第四融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。
28.在一种可能的实现方式中,所述第n-1特征融合模块,具体用于:通过所述第n-1层特征融合网络从所述第n-1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第n-1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;通过所述第n-1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;通过所述第n-1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
29.在一种可能的实现方式中,所述第n-1特征融合模块,还用于:通过所述第n-1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;所述第n-1特征融合模块,具体用于:通过所述第n-1层特征融合网络对所述第五融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。
30.第五方面,本技术实施例还提供一种光流估计设备,该光流估计设备可以包括存储器和处理器,所述存储器用于存储支持设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面或第二方面任一项所述的方法。
31.第六方面,本技术实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面或第二方面任一项所述的方法。
32.第七方面,本技术实施例还提供了一种计算机程序,所述计算机程序包括计算机软件指令,所述计算机软件指令当被计算机执行时使所述计算机执行如第一方面或第二方面任一项所述的任一种光流估计方法。
附图说明
33.图1为本技术实施例提供的一种视频防抖场景下的示意图;
34.图2为本技术实施例提供的一种视频补全场景下的示意图;
35.图3a为本技术实施例提供的一种卷积神经网络300的结构示意图;
36.图3b为本技术实施例提供的另一种卷积神经网络300的结构示意图;
37.图3c为本技术实施例提供的另一种卷积神经网络300的结构示意图;
38.图3d为本技术实施例提供的另一种卷积神经网络300的结构示意图;
39.图3e为本技术实施例提供的一种芯片硬件结构的示意图;
40.图4a为本技术实施例提供的一种特征金字塔网络40的结构示意图;
41.图4b为本技术实施例提供的一种2层特征金字塔网络40的结构示意图;
42.图4c为本技术实施例提供的一种3层特征金字塔网络40的结构示意图;
43.图5a为本技术实施例提供的一种特征融合网络500的结构示意图;
44.图5b为本技术实施例提供的另一种特征融合网络500的结构示意图;
45.图5c为本技术实施例提供的另一种特征融合网络500的结构示意图;
46.图6a为本技术实施例提供的一种光流估计方法的流程示意图;
47.图6b为本技术实施例提供的另一种光流估计方法的流程示意图;
48.图7a为本技术实施例提供的一种第一帧图像的示意图;
49.图7b为本技术实施例提供的一种第二帧图像的示意图;
50.图8a为本技术实施例提供的一种光流结果对比效果图;
51.图8b为根据本技术一种实施例的光流估计方法得到的光流结果的可视化示意图;
52.图8c为本技术实施例提供的另一种光流结果对比效果图;
53.图9a为本技术实施例提供的一种视频补全架构的结构示意图;
54.图9b为本技术实施例提供的一种视频补全网络902的结构示意图;
55.图9c为本技术实施例提供的一种获取帧n图像的视频补全结果的示意图;
56.图10a为本技术实施例提供的一种光流估计装置的示意性框图;
57.图10b为本技术实施例提供的一种光流估计装置的示意性框图;
58.图11为本技术实施例提供的一种光流估计设备的结构示意图。
具体实施方式
59.下面结合附图对本技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
60.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区分不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一些列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。需要说明的是,本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方法不应被解释为比其他实施例或设计方案更优地或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。在本技术实施例中,“a和/或b”表示a和b,a或b两个含义。“a,和/或b,和/或c”表示a、b、c中的任一个,或者,表示a、b、c中的任两个,或者,表示a和b和c。下面结合附图,对本技术中的技术方案进行描述。
61.本技术实施例提供了一种光流估计方法,该方法可以估计两幅图像之间的光流结果(又称为:光流场)。通过本技术所描述的光流估计方法,可以应用于视频编辑、运动检测、
目标跟踪、场景分析、动作捕获与识别、视频防抖、视频补全、视觉slam、增强现实(augmented reality,ar)等诸多领域,以实现特定功能。
62.第一应用场景:视频防抖场景
63.本技术实施例中,视频防抖场景是指:视频采集设备在拍摄过程中可能由于抖动而导致拍摄画面出现不平稳、失焦现象。示例性地,视频采集设备可以是具有拍照功能的移动终端、视频监控、手持摄像机、数码相机等等。如图1所示,用户通过移动终端拍摄某标志物(例如,a办公大楼)得到一段视频序列,由于用户手持移动终端设备对该a办公大楼进行视频拍摄的过程中出现了些许抖动,使得某些拍摄画面出现不平稳、失焦现象,例如,图1中(a)和图1中(b)所示画面中出现了不平稳现象。在这种情况下,移动终端设备可以采用本技术描述的光流估计方法,通过金字塔特征网络对图1中(a)和图1中(b)分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,这里,上一层金字塔特征网络提取到的光流特征图的分辨率大于下一层金字塔特征网络提取到的光流特征图的分辨率;然后,通过特征融合网络对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。之后,还可以通过运动补偿的方式针对光流估计得到的运动矢量,对每一帧画面进行运动补偿,示例性地,运动补偿可以包括全局运动补偿,也可以包括分块运动补偿等等,从而可以得到一段消除了抖动的视频。
64.第二应用场景:视频补全场景
65.本技术实施例中,视频补全功能是指:由于视频序列前后两帧图像之间的拍摄时间间隔相对固定,对于快速运动的物体,该物体在视频序列前后两帧图像中的像素位置差异较大,通过本技术描述的光流估计方法可以找到相邻图像帧对应像素点,从而实现视频补全功能,可以在视频中去掉指定物体。如图2中(a)所示,用户通过移动终端拍摄某运动着的物体(例如,小明朝着窗的方向走动),得到一段视频序列,为了去掉视频中“处于行走状态的小明”的画面,移动终端设备可以采用本技术描述的光流估计方法,通过金字塔特征网络对连续多帧“处于行走状态的小明”的画面分别进行多次不同尺度的特征提取,得到这连续多帧图像各自对应的多个不同尺度的光流特征图,这里,上一层金字塔特征网络提取到的光流特征图的分辨率大于下一层金字塔特征网络提取到的光流特征图的分辨率;然后,通过特征融合网络对这连续多帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。之后,通过光流结果找到两两相邻图像帧对应像素点,从而实现视频补全功能,去掉视频中
““
处于行走状态的小明”的画面”(也即目标物体),例如,该视频画面可以如图2中(b)所示。
66.需要说明的是,上述所描述的几种应用场景只是作为一种示例,本技术所描述的光流估计方法获得的光流结果并不限定于以上几种应用场景。
67.由于本技术实施例涉及大量神经网络的应用,为了便于理解,下面先对本技术实施例涉及的相关术语及神经网络等相关概念进行介绍。
68.(1)光流
69.光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧图像之间的相关性来找到上一帧图像跟当前帧图像之间存在的对应关系,从而计算出相邻帧图像之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、或者相机的运动、或者两者的共同运动所产生的。
需要说明的是,本技术实施例的光流估计的方法通过估计两幅图像之间的光流场,从而可以应用于视频编辑、运动检测、目标跟踪、场景分析、动作捕获与识别、视频防抖、视频补全、视觉slam、增强现实(augmented reality,ar)等领域。
70.(2)图像上采样
71.图像上采样,又称放大图像、图像插值,通过对图像进行上采样,可以使得经过上采样之后的图像可以显示在更高分辨率的显示设备上。示例性地,可以通过内插值方法,在原有图像包含的像素点的基础上,在像素点之间采用合适的插值算法插入新的元素,使得图像的分辨率变大。
72.(3)图像下采样
73.图像下采样,又称降采样、缩小图像,通过对图像进行下采样,可以使得经过下采样之后的图像符合显示设备对应的显示区域的大小。例如,假设某一帧图像(例如,图像a),其大小为m*n,通过对图像a进行s倍下采样,可以使得图像a缩小s倍,也即:图像a的长度和宽度同时缩小s倍。那么,经过下采样之后的图像的大小为(m/s)*(n/s)
74.(4)神经网络
75.神经网络可以是由神经单元组成的,神经单元可以是指以x
s
和截距b为输入的运算单元,该运算单元的输出可以为:
[0076][0077]
其中,s=1、2、
……
n,n为大于1的自然数,w
s
为x
s
的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
[0078]
(5)深度神经网络
[0079]
深度神经网络(deep neural network,dnn),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从dnn按不同层的位置划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i 1层的任意一个神经元相连。虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,b是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,则系数w和偏移向量b的数量也就很多了。这些参数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第l-1层的第k个神经元到第l层的第j个神经元的系数定义为需要注意的是,输入
层是没有w参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。
[0080]
(6)卷积神经网络
[0081]
卷积神经网络(cnn,convolutional neuron network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的数据(如图像数据,以图像数据为例描述)或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
[0082]
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
[0083]
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。为了便于更好的理解本技术描述的光流估计方法,下面对可能涉及的卷积神经网络的结构进行具体介绍:
[0084]
在一些可能的实现方式中,如图3a所示,卷积神经网络(cnn)300可以包括输入层310,卷积层/池化层320(其中池化层为可选的),以及神经网络层330。
[0085]
卷积层/池化层320:
[0086]
卷积层:
[0087]
如图3a所示卷积层/池化层320可以包括如示例321-326层,举例来说:在一种实现中,321层为卷积层,322层为池化层,323层为卷积层,324层为池化层,325为卷积层,326为池化层;在另一种实现方式中,321、322为卷积层,323为池化层,324、325为卷积层,326为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
[0088]
下面将以卷积层321为例,介绍一层卷积层的内部工作原理。
[0089]
卷积层321可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入
图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素,这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行
×
列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行
×
列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
[0090]
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络300进行正确的预测。
[0091]
当卷积神经网络300有多个卷积层的时候,初始的卷积层(例如321)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络300深度的加深,越往后的卷积层(例如326)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
[0092]
池化层:
[0093]
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图3a中320所示例的321-326各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。具体来说,池化层,用于对数据进行采样,降低数据的数量。例如,以数据为图像数据为例,在图像处理过程中,通过池化层,可以减少图像的空间大小。一般情况下,池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
[0094]
神经网络层330:
[0095]
在经过卷积层/池化层320的处理后,卷积神经网络300还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层320只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络300需要利用神经网络层330来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层330中可以包括多层隐含层(如图3a所示的331、332至33n)以及输出层340,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
[0096]
在神经网络层330中的多层隐含层之后,也就是整个卷积神经网络300的最后层为输出层340,该输出层340具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络300的前向传播(如图3a由310至340方向的传播为前向传播)完成,反向传播(如图3a由340至310方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络300的损失,及卷积神经网络300通过输出层输出的结果和理想结果之间的误差。
[0097]
需要说明的是,如图3a所示的卷积神经网络300仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。例如,如图3b所示的多个卷积层/池化层并行,将分别提取的特征均输入给神经网络层330进行处理。
[0098]
在一些可能的实现方式中,如图3c所示,卷积神经网络(cnn)300可以包括输入层310、卷积层/池化层320(其中池化层为可选的)、反卷积层350以及输出层340。这里,反卷积,又称为转置卷积,从本质上来看,反卷积为卷积的逆过程。需要说明的是,反卷积操作无法复原卷积操作的输入值,它仅仅是将卷积变换过程中的步骤进行反向变换一次,通过将卷积核转置,与卷积后的结果再做一遍卷积运算。具体来说,卷积层320,用于提取输入数据的特征,例如,当输入数据为图像时,卷积层320用于提取输入图像的特征,得到特征图像,以减少输入图像带来的参数;反卷积层350,用于将特征图像映射到卷积层320对应的输入图像空间,这里,映射得到的图像的尺寸大小与输入卷积层320的输入图像的尺寸大小相同。之后,通过输出层340输出处理后的图像。
[0099]
在一些可能的实现方式中,如图3d所示,卷积神经网络(cnn)300可以包括输入层310、卷积层/池化层320(其中池化层为可选的)、空洞卷积层360以及输出层340。这里,空洞卷积,又称扩张卷积,是指带间隔采样的卷积层。空洞卷积可以在卷积核(kernel)有效增大感受野的同时,不增加模型参数或者计算量。具体来说,卷积层320,用于提取输入数据的特征,例如,当输入数据为图像时,卷积层320用于提取输入图像的特征,得到特征图像,以减少输入图像带来的参数;空洞卷积层360,用于增大特征图像的感受野。之后,通过输出层340输出处理后的图像。
[0100]
下面介绍本技术实施例提供的一种芯片硬件结构。
[0101]
图3e为本技术实施例提供的一种芯片硬件结构,该芯片包括人工智能处理器30。
[0102]
具体来说,人工智能处理器30可以是神经网络处理器(network processingunit,npu),张量处理器(tensor processing unit,tpu),或者图形处理器(graphics processing unit,gpu)等一切适合用于大规模异或运算处理的处理器。以npu为例:npu可以作为协处理器挂载到主cpu(host cpu)上,由主cpu为其分配任务。npu的核心部分为运算电路303,通过控制器304控制运算电路303提取存储器(301和302)中的矩阵数据并进行乘加运算。
[0103]
在一些实现中,运算电路303内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
[0104]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路303从权重存储器302中取矩阵b的权重数据,并缓存在运算电路303中的每一个pe上。运算电路303从输入存
储器301中取矩阵a的输入数据,根据矩阵a的输入数据与矩阵b的权重数据进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。
[0105]
统一存储器306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(dmac,direct memory access controller)305,被搬运到权重存储器302中。输入数据也通过dmac被搬运到统一存储器306中。
[0106]
总线接口单元(biu,bus interface unit)310,用于dmac和取指存储器(instruction fetch buffer)309的交互;总线接口单元301还用于取指存储器309从外部存储器获取指令;总线接口单元301还用于存储单元访问控制器305从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0107]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器306中,或将权重数据搬运到权重存储器302中,或将输入数据搬运到输入存储器301中。
[0108]
向量计算单元307可以包括多个运算处理单元,在需要的情况下,对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。向量计算单元307主要用于神经网络中非卷积层,或全连接层(fc,fully connected layers)的计算,具体可以处理:pooling(池化),normalization(归一化)等的计算。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。
[0109]
在一些实现中,向量计算单元307将经处理的向量存储到统一存储器306。在一些实现中,经向量计算单元307处理过的向量能够用作运算电路303的激活输入,例如用于神经网络中后续层中的使用,如图3a所示,若当前处理层是隐含层1(231),则经向量计算单元307处理过的向量还可以被用到隐含层2(232)中的计算。
[0110]
控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令;
[0111]
统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为on-chip存储器。外部存储器独立于该npu硬件架构。
[0112]
其中,图3a、图3b、图3c、图3d所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。
[0113]
下面详细描述本技术涉及的特征金字塔网络(feature pyramid networks,fpn)。如图4a所示,特征金字塔网络40包括金字塔特征网络410、特征融合网络420。其中,金字塔特征网络用于提取图像的特征;特征融合网络用于对图像进行特征融合,例如,特征融合方式可以包括但不限于按点逐位相加、进行向量拼接等等。具体来说,该特征金字塔网络40包括n层,其中,特征金字塔网络的第1至n层分别设有金字塔特征网络410,分别可以为:第1层金字塔特征网络、第2层金字塔特征网络、
……
、第n层金字塔特征网络;特征金字塔网络的第1至n-1层分别设有特征融合网络420,分别可以为第1层特征融合网络、第2层特征融合网络、第n-1层特征融合网络。其中,金字塔特征网络410,用于分别对第一帧图像和第二帧图像进行特征提取,得到第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图;特征融合网络420,用于对第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图进行特征融合,得到光流结果。
[0114]
在一个示例中,n等于2;在一个示例中,n为大于2的正整数,例如,n=3等等。下面
以n=2、n>2为例阐述特征金字塔网络40的具体结构:
[0115]
当n=2时,如图4b所示,特征金字塔网络40包括2层,其中,特征金字塔网络的第1层和第2层分别设有金字塔特征网络411和412,特征金字塔网络的第1层设有特征融合网络420。此时,金字塔特征网络411,用于对第一帧图像进行特征提取,得到第1个第一光流特征图1a;金字塔特征网络411,还用于对第二帧图像进行特征提取,得到第1个第二光流特征图1b;之后,将经过下采样得到的第1个第一光流特征图1a以及第1个第二光流特征图输入金字塔特征网络412,在这种情况下,金字塔特征网络412,用于对第1个第一光流特征图1a进行特征提取,得到第2个第一光流特征图2a;金字塔特征网络412,还用于对第1个第二光流特征图1b进行特征提取,得到第2个第二光流特征图2b。其中,第1个第一光流特征图1a的分辨率和第1个第二光流特征图1b的分辨率相同,属于第二范围;第2个第一光流特征图2a的分辨率和第2个第二光流特征图2b的分辨率相同,属于第一范围;这里,第一范围与第二范围不重叠。示例性地,第一帧图像的尺寸大小为100*100,通过金字塔特征网络411对第一帧图像进行特征提取,得到第1个第一光流特征图1a,之后,经过下采样得到的第1个第一光流特征图1a的尺寸大小为50*50。通过金字塔特征网络412对第1个第一光流特征图1a进行特征提取,得到第2个第一光流特征图2a。第二帧图像的尺寸大小为100*100,通过金字塔特征网络411对第二帧图像进行特征提取,得到第1个第二光流特征图1b,之后,经过下采样得到的第1个第二光流特征图1b的尺寸大小为50*50。通过金字塔特征网络412对第1个第二光流特征图1b进行特征提取,得到第2个第二光流特征图2b。那么,在这种情况下,特征融合网络420,用于将第2层金字塔特征网络提取到的第2个第一光流特征图2a、第2个第二光流特征图2b进行特征融合,得到第一融合特征图,之后,将第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图1a和第1个第二光流特征图1b进行特征融合,得到第1层特征融合网络420对应的光流结果。这里,通过2倍下采样的方式只是作为一种示例,不应构成限定。
[0116]
当n=3时,如图4c所示,特征金字塔网络40包括3层,其中,特征金字塔网络的第1层、第2层和第3层分别设有金字塔特征网络411、412和413,特征金字塔网络的第1层和第2层分别设有特征融合网络421和特征融合网络422。此时,第1层金字塔特征网络411,用于对第一帧图像进行特征提取,得到第1个第一光流特征图1a,之后,将经过下采样得到的第1个第一光流特征图1a输入第2层金字塔特征网络412;金字塔特征网络411,还用于对第二帧图像进行特征提取,得到第1个第二光流特征图1b,之后,将经过下采样得到的第1个第二光流特征图1b输入第2层金字塔特征网络412;金字塔特征网络412,用于对经过下采样得到的第1个第一光流特征图1a进行特征提取,得到第2个第一光流特征图2a,之后,将经过下采样得到的第2个第一光流特征图2a输入第3层金字塔特征网络413;金字塔特征网络412,还用于对经过下采样得到的第1个第二光流特征图1b进行特征提取,得到第2个第二光流特征图2b,之后,将经过下采样得到的第2个第二光流特征图2b输入第3层金字塔特征网络413;金字塔特征网络413,用于对经过下采样得到的第2个第一光流特征图2a进行特征提取,得到第3个第一光流特征图3a;金字塔特征网络413,还用于对经过下采样得到的第2个第二光流特征图2b进行特征提取,得到第3个第二光流特征图3b。其中,第1个第一光流特征图1a的分辨率和第1个第二光流特征图1b的分辨率相同,属于第三范围;第2个第一光流特征图2a的分辨率和第2个第二光流特征图2b的分辨率相同,属于第二范围;第3个第一光流特征图3a
的分辨率和第3个第二光流特征图3b的分辨率相同,属于第一范围。这里,第一范围与第二范围、第三范围之间均不重叠。示例性地,第一帧图像的尺寸大小为100*100,通过金字塔特征网络411对第一帧图像进行特征提取,得到第1个第一光流特征图1a,之后,经过下采样得到的第1个第一光流特征图1a的尺寸大小为50*50。通过金字塔特征网络412对第1个第一光流特征图1a进行特征提取,得到第2个第一光流特征图2a,之后,经过下采样得到的第2个第一光流特征图2a的尺寸大小为25*25。通过金字塔特征网络413对第2个第一光流特征图2a进行特征提取,得到第3个第一光流特征图3a。第二帧图像的尺寸大小为100*100,通过金字塔特征网络411对第二帧图像进行特征提取,得到第1个第二光流特征图1b,之后,将经过下采样得到的第1个第二光流特征图1b的尺寸大小为50*50。通过金字塔特征网络412对经过下采样得到的第1个第二光流特征图1b进行特征提取,得到第2个第二光流特征图2b,之后,将经过下采样得到的第2个第二光流特征图2b的尺寸大小为25*25。通过金字塔特征网络413对经过下采样得到的第2个第二光流特征图2b进行特征提取,得到第3个第二光流特征图3b。特征融合网络422,用于将第3层金字塔特征网络提取到的第3个第一光流特征图3a、第3个第二光流特征图3b进行特征融合,得到第一融合特征图,之后,将第3层金字塔特征网络对应的第一融合特征图以及第2层金字塔特征网络提取到的第2个第一光流特征图2a和第2个第二光流特征图2b进行特征融合,得到第2层特征融合网络422对应的光流结果和特征输出结果,之后,特征融合网络421将第2层特征融合网络422对应的光流结果和特征输出结果,以及第1层金字塔网络提取到的第1个第一光流特征图1a和第1个第二光流特征图1b进行特征融合,得到第1层特征融合网络421对应的光流结果。这里,通过2倍下采样的方式只是作为一种示例,不应构成限定。
[0117]
需要说明的是,图4a-图4c所示特征融合网络420可以基于卷积神经网络cnn构建。下面对特征融合网络n-1(n为大于等于2的正整数)可能具有的结构进行具体阐述:
[0118]
在一种可能的实现方式中,如图5a所示,该特征融合网络n-1 500的具体结构可以包括输入层510、串联层520、卷积神经网络(a)530、扭曲层540、互相关层550、卷积神经网络(b)560、上采样层570、输出层580。
[0119]
其中,输入层510,用于接收输入数据,具体地,输入数据可以包括第n-1层金字塔特征网络以及第n层金字塔特征网络各自提取到的光流特征图,例如,通过第n-1层金字塔特征网络对第一帧图像进行特征提取,得到第n-1个第一光流特征图;通过第n-1层金字塔特征网络对第二帧图像进行特征提取,得到第n-1个第二光流特征图;之后,将经过下采样得到的第n-1个第一光流特征图和第n-1个第二光流特征图输入第n层金字塔特征网络,通过第n层金字塔特征网络对第n-1个第一光流特征图进行特征提取,得到第n个第一光流特征图;通过第n层金字塔特征网络对第n-1个第二光流特征图进行特征提取,得到第n个第二光流特征图;
[0120]
串联层520,用于对第n个第一光流特征图和第n个第二光流特征图进行特征融合,得到第一融合特征图;
[0121]
卷积神经网络(a)530,用于根据第一特征融合图像得到特征融合网络n-1对应的特征输出结果;
[0122]
扭曲层540,用于获取第n-1个第一光流特征图中n个第一特征点和第n-1个第二光流特征图中n个第二特征点之间的对应关系,根据n个第一特征点和n个第二特征点之间的
对应关系获取n个第一特征点和n个第二特征点之间相关度;
[0123]
互相关层550,用于根据n个第一特征点和n个第二特征点之间相关度进行特征融合,得到融合后的图像;
[0124]
卷积神经网络(b)560,用于生成经过多次融合后的图像;
[0125]
上采样层570,用于对经过多次融合后的图像进行放大,得到特征融合网络n-1对应的光流结果。具体来说,上采样层570可以通过2倍上采样、4倍上采样等其他方式对图像进行放大。
[0126]
对特征融合网络n-2来说,输入层510,用于接收输入数据,具体地,输入数据可以包括第n-2层金字塔特征网络提取到的第n-2个第一光流特征图和第n-2个第二光流特征图、第n-1层特征融合网络得到的光流结果以及特征输出结果;那么,在这种情况下,串联层520-上采样层570用于根据第n-2层金字塔特征网络提取到的第n-2个第一光流特征图和第n-2个第二光流特征图、第n-1层特征融合网络得到的光流结果以及特征输出结果得到光流结果。
[0127]
在一种可能的实现方式中,如图5b所示,卷积神经网络(a)530可以包括卷积层531和反卷积层532;卷积神经网络(b)560可以包括卷积层561、串联层562、卷积层563(一个或多个卷积层)、空洞卷积层564、串联层565、卷积层566。这里,串联层用于在数据的长度和宽度相同的情况下,将两个数据各自对应的深度进行联结起来,以数据为图像数据为例,数据的长和宽代表图像的大小,数据的深度代表图像的色彩通道。可以理解的是,两个图像在经过串联层之后,可以使得生成的图像中的特征信息更为丰富。
[0128]
在一种可能的实现方式中,如图5c所示,卷积神经网络(a)530可以包括卷积层531和上采样层533;卷积神经网络(b)560可以包括卷积层561、串联层562、卷积层563(一个或多个卷积层)、空洞卷积层564、串联层565、卷积层566、双边滤波层567。这里,双边滤波层,用于去除图像中的高频噪声以及保留图像的边界信息。
[0129]
需要说明的是,如图5a-图5c所示的特征融合网络500仅作为一种神经网络的示例,在具体的应用中,特征融合网络还可以以其他网络模型的形式存在。
[0130]
下面详细描述本技术实施例涉及的方法。该方法围绕两种情形进行展开说明,在一个示例中,特征金字塔网络包括2层网络;在一个示例中,特征金字塔网络包括n层网络,其中,n为大于2的正整数。以图4b所示的特征金字塔网络为例,图6a为本技术实施例提供的一种光流估计方法。该方法描述了在特征金字塔网络的层数为2(也即特征金字塔网络中只包含一个特征融合网络)的情况下,如何对第一帧图像和第二帧图像进行处理,以得到光流结果。
[0131]
以前述实施例中图4b所示的特征金字塔为例,该特征金字塔网络40包括2层网络,其中,特征金字塔网络的第1层和第2层分别设有金字塔特征网络410,分别为第1层金字塔特征网络和第2层金字塔特征网络。在一个示例中,第1层金字塔特征网络与第2层金字塔特征网络之间之间可以通过级联的方式连接。此外,特征金字塔网络的第1层设有特征融合网络420,该特征融合网络420用于将金字塔特征网络410提取到的多个不同尺度的光流特征图进行融合。
[0132]
在一个示例中,该方法可以由中央处理器(central processing unit/processor,cpu)处理,也可以由cpu和gpu共同处理,也可以不用gpu,而使用其他适合用于
神经网络计算的处理器,如图3e所示的人工智能处理器30,本技术不做限制。该方法可以包括如下部分或全部步骤:
[0133]
步骤s600a、获取第一帧图像和第二帧图像,其中,第一帧图像和第二帧图像包含目标物体。
[0134]
在本技术实施例中,第一帧图像和第二帧图像可以为视频序列中连续的两帧图像,也可以是视频序列中相隔预设帧数的两帧图像,本技术实施例不作具体限定。示例性地,第一帧图像也可以称为目标帧图像,第二帧图像也可以称为参考帧图像。图7a和图7b所示为视频采集设备运动过程中拍摄得到的两幅图像,假设,图7a所示为第一帧图像,图7b所示为第二帧图像。
[0135]
在本技术实施例中,第一帧图像和第二帧图像的分辨率相同。这里,分辨率可以用于描述图像细节分辨能力,一般情况下,“分辨率”可以被表示成每一个方向上的像素数量,比如640*480等。
[0136]
在本技术实施例中,第一帧图像和第二帧图像可以为包含一个或多个物体的图像。在第一帧图像和第二帧图像为包含多个物体的图像的情况下,目标物体可以为多个物体中的任意一个物体,也可以为多个物体中某个特定的物体(例如,运动着的人等等)。在一个示例中,第一帧图像和第二帧图像为包含一个物体的情况下,该物体即为目标物体。
[0137]
步骤s602a、通过2层网络对第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;通过2层网络对第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图;其中,第1层网络提取到的光流特征图的分辨率大于第2层网络提取到的光流特征图的分辨率。
[0138]
在本技术实施例中,可以通过2层特征金字塔网络对第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;可以通过2层特征金字塔网络对第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图。这里,第1层金字塔特征网络提取到的光流特征图的分辨率大于第2层金字塔特征提取到的光流特征图的分辨率。
[0139]
通过2层金字塔特征网络对第一帧图像进行2次特征提取的实现过程可以描述为:通过第1层金字塔特征网络对第一帧图像进行特征提取,得到第1个第一光流特征图,之后,将经过下采样得到的第1个第一光流特征图输入第2层金字塔特征网络;从而可以通过第2层金字塔特征网络对经过下采样得到的第1个第一光流特征图进行特征提取,得到第2个第一光流特征图。
[0140]
通过2层金字塔特征网络对第二帧图像进行2次特征提取的实现过程可以描述为:通过第1层金字塔特征网络对第二帧图像进行特征提取,得到第1个第二光流特征图,之后,将经过下采样得到的第1个第二光流特征图输入第2层金字塔特征网络;从而可以通过第2层金字塔特征网络对经过下采样得到的第1个第二光流特征图进行特征提取,得到第2个第二光流特征图。
[0141]
这里,第1个第一光流特征图1a的分辨率和第1个第二光流特征图1b的分辨率相同,属于范围1。第2个第一光流特征图2a的分辨率和第2个第二光流特征图2b的分辨率相同。以范围1为例,在一个示例中,大于或等于阈值1的为范围1,小于阈值1的为范围2。在一个示例中,大于阈值1的为范围1,小于等于阈值1的为范围2。
[0142]
在本技术实施例中,可以通过2倍下采样的方式对图像进行处理,也可以通过4倍
下采样的方式对图像进行处理,本技术实施例不作具体限定。
[0143]
步骤s604a、通过第1层网络将第2层网络对应的第一融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果;其中,所述第2层网络对应的第一融合特征图为对所述第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的。
[0144]
在本技术实施例中,通过第1层网络将第2层网络对应的第一融合特征图以及第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到第1层网络对应的光流结果的实现过程可以包括:通过特征金字塔网络中第1层特征融合网络将第2层金字塔特征网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合,得到第2层金字塔特征网络对应的第一融合特征图;之后,通过第1层特征融合网络将第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到第1层特征融合网络对应的光流结果。这里,第1层特征融合网络对应的光流结果也即整个特征金字塔网络最终输出的结果。
[0145]
下面具体阐述第1层特征融合网络如何将第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合的,其具体实现过程可以描述为:
[0146]
步骤a1、通过第1层特征融合网络将第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到第一融合图像。
[0147]
示例性地,特征融合的实现方式可以包括但不限于:按照像素点逐位相加、进行向量拼接。
[0148]
具体地,可以通过第1层特征融合网络从第1个第一光流特征图中确定n个像素点作为n个第一特征点,从第1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配n个第一特征点和n个第二特征点,得到n个第一特征点和n个第二特征点之间的对应关系;通过第1层特征融合网络根据n个第一特征点和n个第二特征点之间的对应关系获取n个第一特征点和n个第二特征点之间的相关度;通过第1层特征融合网络根据相关度对n个第一特征点和n个第二特征点进行特征融合,得到第一融合图像。
[0149]
在本技术实施例中,相关度用于表征n个第一特征点和n个第二特征点之间的关联程度。示例性地,可以通过协方差矩阵来获取n个第一特征点和n个第二特征点之间的相关度。协方差矩阵是一个n*n的矩阵,该矩阵中的每个元素是各个特征点之间的协方差。每一个元素,用于表征n*n矩阵中不同特征点之间的协方差。例如,该协方差可以为正值,也可以为负值,还可以为0。具体来说,当n*n矩阵中两个特征点之间的协方差为正值,表示这两个特征点之间呈正相关关系。当n*n矩阵中两个特征点之间的协方差为负值,表示这两个特征点之间呈负相关关系。当n*n矩阵中两个特征点之间的协方差为0,表示这两个特征点为独立的两个特征点。
[0150]
步骤a2、通过第1层特征融合网络根据第1个第二光流特征图和第一融合特征图得到第二融合图像,并提取第二融合图像的特征,得到第三融合图像。
[0151]
步骤a3、通过第1层特征融合网络对第一融合图像和第三融合图像进行特征融合,得到第四融合图像。
[0152]
步骤a4、通过第1层特征融合网络对第四融合图像进行放大,得到第1层特征融合
网络对应的光流结果。示例性地,在第1层特征融合网络中可以通过2倍上采样的方式对第四融合图像进行放大,也可以通过4倍上采样的方式对第四融合图像进行放大,本技术实施例不作具体限定。
[0153]
可以理解的是,在这一实现方式中,第1层特征融合网络可以根据3个输入数据进行处理,以得到第1层特征融合网络对应的光流结果,其中,3个输入数据分别为:第2层金字塔特征网络对应的第一融合特征图(第2层网络对应的第一融合特征图为对第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的)、第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图。这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0154]
需要说明的是,在一个示例中,还可以通过第1层特征融合网络中的双边滤波层去除第四融合图像中的噪声以及保留第四融合图像的边界信息,得到第五融合图像。那么,在这种情况下,通过第1层特征融合网络对第五融合图像进行放大(例如,通过2倍上采样的方式将第五融合图像进行放大),得到光流结果。由于可以去除光流特征图中的高频噪声同时,保留边界信息,通过这一实现方式,可以提高深度学习模型的模型精度,并提高深度学习模型对噪声的鲁棒性。
[0155]
还需要说明的是,对于步骤a1-a4,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行,此处不应构成限定。
[0156]
步骤s606a、输出第1层网络对应的光流结果;其中,光流结果用于表征目标物体的运动信息。
[0157]
在本技术实施例中,输出的方式包括但不限于通过文本、图像、语音、视频等方式输出。
[0158]
可以理解的是,光流估计设备可以通过一个特征融合网络对第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图进行特征融合,得到光流结果。相较于现有的实现方式来说,由于特征融合网络的参数规模小,且特征融合网络可以对两帧图像各自对应的不同尺度的光流特征图进行特征融合,充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0159]
实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0160]
以图4a所示的特征金字塔网络为例,图6b为本技术实施例提供的一种光流估计方法。该方法描述了在特征金字塔网络的层数大于2(也即特征金字塔网络中包含多个特征融合网络)的情况下,如何对第一帧图像和第二帧图像进行处理,以得到光流结果。
[0161]
以前述实施例中图4a所示的特征金字塔网络为例,该特征金字塔网络40可以包括
n层,其中,特征金字塔网络的第1至n层分别设有金字塔特征网络410,分别为:第1层金字塔特征网络、第2层金字塔特征网络、
……
、第n层金字塔特征网络。在一个示例中,第1层金字塔特征网络、第2层金字塔特征网络、
……
、第n层金字塔特征网络之间可以通过级联的方式连接。此外,特征金字塔网络的第1至n-1层分别设有特征融合网络420,分别为第1层特征融合网络、第2层特征融合网络以及第n-1层特征融合网络。
[0162]
在一个示例中,该方法可以由中央处理器(central processing unit/processor,cpu)处理,也可以由cpu和gpu共同处理,也可以不用gpu,而使用其他适合用于神经网络计算的处理器,如图3e所示的人工智能处理器30,本技术不做限制。该方法可以包括如下部分或全部步骤:
[0163]
步骤s600b、获取第一帧图像和第二帧图像,其中,第一帧图像和第二帧图像包含目标物体。
[0164]
在本技术实施例中,第一帧图像和第二帧图像可以为视频序列中连续的两帧图像,也可以是视频序列中相隔预设帧数的两帧图像,本技术实施例不作具体限定。示例性地,第一帧图像也可以称为目标帧图像,第二帧图像也可以称为参考帧图像。图7a和图7b所示为视频采集设备运动过程中拍摄得到的两幅图像,假设,图7a所示为第一帧图像,图7b所示为第二帧图像。
[0165]
在本技术实施例中,第一帧图像和第二帧图像的分辨率相同。这里,分辨率可以用于描述图像细节分辨能力,一般情况下,“分辨率”可以被表示成每一个方向上的像素数量,比如640*480等。
[0166]
在本技术实施例中,第一帧图像和第二帧图像可以为包含一个或多个物体的图像。在第一帧图像和第二帧图像为包含多个物体的图像的情况下,目标物体可以为多个物体中的任意一个物体,也可以为多个物体中某个特定的物体(例如,运动着的人等等)。在一个示例中,第一帧图像和第二帧图像为包含一个物体的情况下,该物体即为目标物体。
[0167]
步骤s602b、通过所述n层网络对所述第一帧图像进行n次不同尺度的特征提取,得到n个第一光流特征图;通过所述n层网络对所述第二帧图像进行n次不同尺度的特征提取,得到n个第二光流特征图;其中,第n-1层网络提取到的光流特征图的分辨率大于第n层网络提取到的光流特征图的分辨率。
[0168]
在本技术实施例中,可以通过2层特征金字塔网络对第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;可以通过2层特征金字塔网络对第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图。这里,上一层金字塔特征网络提取到的光流特征图的分辨率大于下一层金字塔特征提取到的光流特征图的分辨率。
[0169]
通过n(n大于2)层金字塔特征网络对第一帧图像进行n次特征提取的实现过程可以描述为:通过第1层金字塔特征网络对第一帧图像进行特征提取,得到第1个第一光流特征图,之后,将经过下采样得到的第1个第一光流特征图输入第2层金字塔特征网络;可以通过第2层金字塔特征网络对经过下采样得到的第1个第一光流特征图进行特征提取,得到第2个第一光流特征图,.......,以此类推,可以通过第n层金字塔特征网络对第n-1个第一光流特征图进行特征提取,可以得到第n个第一光流特征图。
[0170]
通过n(n大于2)层金字塔特征网络对第二帧图像进行n次特征提取的实现过程可以描述为:通过第1层金字塔特征网络对第二帧图像进行特征提取,得到第1个第二光流特
征图,之后,将经过下采样得到的第1个第二光流特征图输入第2层金字塔特征网络;可以通过第2层金字塔特征网络对经过下采样得到的第1个第二光流特征图进行特征提取,得到第2个第二光流特征图,.......,以此类推,可以通过第n层金字塔特征网络对第n-1个第一光流特征图进行特征提取,可以得到第n个第一光流特征图。
[0171]
这里,第1个第一光流特征图的分辨率和第1个第二光流特征图的分辨率相同,属于范围1;第2个第一光流特征图的分辨率和第2个第二光流特征图的分辨率相同,属于范围2;第n个第一光流特征图的分辨率和第n个第二光流特征图的分辨率相同,属于范围n。以范围1为例,在一个示例中,大于或等于阈值1的为范围1,小于阈值1的为范围2。在一个示例中,大于阈值1的为范围1,小于等于阈值1的为范围2。
[0172]
在本技术实施例中,可以通过2倍下采样的方式对图像进行处理,也可以通过4倍下采样的方式对图像进行处理,本技术实施例不作具体限定。
[0173]
步骤s604b、通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层网络对应的光流结果和特征输出结果;其中,所述第n层网络对应的第一融合特征图为对所述第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的。
[0174]
在本技术实施例中,通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层网络对应的光流结果和特征输出结果的实现过程可以包括:通过特征金字塔网络中第n-1层特征融合网络将第n层金字塔特征网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合,得到第n层金字塔特征网络对应的第一融合特征图;通过所述特征金字塔网络中第n-1层特征融合网络将所述第n层金字塔特征网络对应的第一融合特征图以及第n-1层金字塔特征网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层特征融合网络对应的光流结果和特征输出结果。
[0175]
下面具体阐述第n-1层特征融合网络如何将第n层金字塔特征网络对应的第一融合特征图以及第n层金字塔特征网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合的,其具体实现过程可以描述为:
[0176]
步骤b1、通过第n-1层特征融合网络将第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到第一融合图像。
[0177]
示例性地,特征融合的实现方式可以包括但不限于:按照像素点逐位相加、进行向量拼接。
[0178]
具体地,可以通过第n-1层特征融合网络从第n-1个第一光流特征图中确定n个像素点作为n个第一特征点,从第n-1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配n个第一特征点和n个第二特征点,得到n个第一特征点和n个第二特征点之间的对应关系;然后,通过第n-1层特征融合网络根据n个第一特征点和n个第二特征点之间的对应关系获取n个第一特征点和n个第二特征点之间的相关度;从而可以通过第n-1层特征融合网络根据相关度对n个第一特征点和n个第二特征点进行特征融合,得到第一融合图像。
[0179]
步骤b2、通过第n-1层特征融合网络根据第n-1个第二光流特征图和第一融合特征
图得到第二融合图像,并提取第二融合图像的特征,得到第三融合图像。
[0180]
步骤b3、通过第n-1层特征融合网络对第三融合图像进行放大,得到第n-1层特征融合网络对应的特征输出结果。示例性地,在第n-1层特征融合网络中可以通过2倍上采样的方式对第三融合图像进行放大,也可以通过4倍上采样的方式对第三融合图像进行放大,本技术实施例不作具体限定。
[0181]
步骤b4、通过第n-1层特征融合网络对第一融合图像和第三融合图像进行特征融合,得到第四融合图像。
[0182]
步骤b5、通过第n-1层特征融合网络对第四融合图像进行放大,得到第n-1层特征融合网络对应的光流结果。示例性地,在第n-1层特征融合网络中可以通过2倍上采样的方式对第四融合图像进行放大,也可以通过4倍上采样的方式对第四融合图像进行放大,本技术实施例不作具体限定。
[0183]
可以理解的是,在这一实现方式中,第n-1层特征融合网络可以根据3个输入数据进行处理,以得到第n-1层特征融合网络对应的光流结果,其中,3个输入数据分别为:第n层金字塔特征网络对应的第一融合特征图(第n层网络对应的第一融合特征图为对第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的)、第n-1层金字塔特征网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图。
[0184]
需要说明的是,在一个示例中,还可以通过第n-1层特征融合网络中的双边滤波层去除第四融合图像中的噪声以及保留第四融合图像的边界信息,得到第五融合图像。那么,在这种情况下,通过第n-1层特征融合网络对第五融合图像进行放大(例如,在第n-1层特征融合网络中通过2倍上采样的方式将第五融合图像进行放大),得到光流结果。如图8a、图8b所示,当第n-1特征融合网络中加入了双边滤波层之后,通过本技术所描述的光流估计方法获得的光流估计结果的平滑程度与一致性得到了很大提升。例如,在光流估计方法中加入双边滤波层的情况下,获得的光流结果同真实参考数据(ground truth)相比,平均像素误差(estimated pixel error,epe)为0.361;在光流估计方法未加入双边滤波层的情况下,获得的光流结果同真实参考数据相比,平均像素误差(estimated pixel error,epe)为0.361。实施本技术实施例,由于可以去除光流特征图中的高频噪声同时,保留边界信息,通过这一实现方式,可以提高深度学习模型的模型精度,并提高深度学习模型对噪声的鲁棒性。
[0185]
还需要说明的是,对于步骤b1-b5,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行,此处不应构成限定。
[0186]
步骤s606b、通过第i-1层网络将第i层网络对应的光流结果和特征输出结果,以及第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到第i-1层网络输出的光流结果;i从n-1至2依次进行取值;第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的。
[0187]
以第n-2层(也即当i=n-1时)特征融合网络为例,通过第n-2层特征融合网络将第n-1层特征融合网络对应的光流结果和特征输出结果,以及第n-2层金字塔特征网络提取到的第n-2个第一光流特征图和第n-2个第二光流特征图进行特征融合,得到第n-2层特征融合网络输出的光流结果,这里,第n-1层特征融合网络对应的光流结果和特征输出结果可以
通过步骤s604b得到。
[0188]
以第n-3层(也即当i=n-3时)特征融合网络为例,通过第n-3层特征融合网络将第n-2层特征融合网络对应的光流结果和特征输出结果,以及第n-3层金字塔特征网络提取到的第n-3个第一光流特征图和第n-3个第二光流特征图进行特征融合,得到第n-3层特征融合网络输出的光流结果,这里,关于如何得到第n-2层特征融合网络对应的光流结果和特征输出结果的具体实现过程请参考前述描述,此处不多加赘述。
[0189]
以第1层(也即当i=2时)特征融合网络为例,通过第1层特征融合网络将第2层特征融合网络对应的光流结果和特征输出结果,以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到第1层特征融合网络输出的光流结果,这里,关于如何得到第2层特征融合网络对应的光流结果和特征输出结果的具体实现过程请参考前述描述,此处不多加赘述。
[0190]
可以理解的是,在这一实现方式中,对除第n-1层特征融合网络之外的其他特征融合网络来说,以第n-2层特征融合网络为例,第n-2层特征融合网络可以根据4个输入数据进行处理,以得到第n-2层特征融合网络对应的光流结果,其中,4个输入数据分别为:第n-1层网络对应的光流结果和特征输出结果,以及第n-2层金字塔特征网络提取到的第n-2个第一光流特征图和第n-2个第二光流特征图。
[0191]
从而,光流估计设备可以通过金字塔特征网络中第n-1层的特征融合网络、第n-2层的特征融合网络、
……
、以及第1层的特征融合网络得到光流结果。
[0192]
需要说明的是,在金字塔特征网络包含第n-1层的特征融合网络、第n-2层的特征融合网络、
……
、以及第1层的特征融合网络的情况下,对其中一个特征融合网络来说,可以通过网络中的双边滤波层去除第四融合图像中的噪声以及保留第四融合图像的边界信息,以得到第五融合图像;对其中多个特征融合网络来说,每个特征融合网络均可以通过网络中的双边滤波层去除第四融合图像中的噪声以及保留第四融合图像的边界信息,以得到第五融合图像,本技术实施例不作具体限定。
[0193]
可以理解的是,光流估计设备可以通过多个特征融合网络对第一帧图像和第二帧图像各自对应的多个不同尺度的光流特征图进行特征融合,得到光流结果。相较于现有的实现方式来说,由于多个特征融合网络的参数规模小,且多个特征融合网络可以对两帧图像各自对应的不同尺度的光流特征图进行特征融合,充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0194]
步骤s608b、输出第1层网络对应的光流结果;其中,光流结果用于表征目标物体的运动信息。
[0195]
在本技术实施例中,输出的方式包括但不限于通过文本、图像、语音、视频等方式输出。
[0196]
图8c为根据本技术一种实施例的光流估计方法得到的光流结果的可视化示意图,经测试,图8c中的图像(1)的平均像素误差epe为13.7%,即整副图像中有13.7%的像素的运动与真实参考数据的值不一致;图8c中图像(2)平均像素误差epe为5.54%,即整副图像中有5.54%的像素的运动与真实参考数据的值不一致;图8c中图像(3)平均像素误差epe为4.92%,即整副图像中有4.92%的像素的运动与真实参考数据的值不一致。可以理解的是,
通过本技术所描述的光流估计方法获取的光流结果的准确度高。
[0197]
需要说明的是,为了能够达到接近实时的光流估计的目标,本技术实施例中对整个流程可以采用图形处理器(graphics processing unit,gpu)进行加速,加速之后,性能可以提高20倍左右,从而实现实时的光流估计。
[0198]
实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0199]
前述实施例重点阐述了如何获取两帧图像的光流结果,下面结合具体的视频补全的实例具体阐述如何基于光流结果获取视频补全结果。如图9a所示,视频补全架构90中包括特征金字塔网络900和视频补全网络902,其中,金字塔特征网络900,用于获取视频序列中多个图像对各自对应的光流结果;视频补全网络902,用于多个图像对各自的光流结果以及待补全区域获取视频序列的视频补全结果。
[0200]
在本技术实施例中,关于特征金字塔网络900的具体实现请参考前述描述,视频补全网络902基于卷积神经网络构建,示例性地,视频补全网络902的具体结构可以如图9b所示,该射频补全网络可以包括输入层910、卷积层920、conv-lstm层930、全连接层940以及输出层950。具体来说,输入层910,用于接收输入数据,具体地,输入数据可以包括输入图像以及该输入图像中待补全区域的标注信息;卷积层920,用于提取输入数据的特征,例如,当输入数据为图像时,卷积层920用于提取输入图像的特征,以减少输入图像带来的参数;conv-lstm层930,用于获取具有时序关系的特征;全连接层940,用于整合conv-lstm层930(或者池化层)中具有类别区分性的局部信息,例如,全连接层940可以连接conv-lstm层930提取到的具有时序关系的特征。在实际应用中,为了提升视频补全网络902的网络性能,全连接层940中每个神经元的激励函数一般采用relu函数。最后一层全连接层940的输出值被传递给一个输出,从而可以通过输出层950输出该处理结果。
[0201]
具体来说,用户可以通过计算机设备(例如,计算机设备包含视频采集设备)拍摄某运动着的物体(例如,小明朝着窗的方向走动,也即目标物体),得到一段视频序列,为了去掉视频中“处于行走状态的小明”的画面,计算机设备可以采用本技术描述的光流估计方法得到相邻两帧视频帧图像对应的光流结果,以视频帧图像包括帧n-2图像、帧n-1图像、帧n图像、帧n 1图像和帧n 2图像为例(这里,帧n-2图像、帧n-1图像、帧n图像、帧n 1图像和帧n 2图像为计算机设备在视频序列中提取到的“处于行走状态的小明”的图像),如图9c所示,计算机设备可以通过特征金字塔网络900依次获取相邻两帧图像对应的光流结果,例如,通过特征金字塔网络900对帧n-2图像和帧n-1图像进行处理之后,可以得到光流结果n-1;通过特征金字塔网络900对帧n-1图像和帧n图像进行处理之后,可以得到光流结果n;通过特征金字塔网络900对帧n图像和帧n 1图像进行处理之后,可以得到光流结果n 1;通过特征金字塔网络900对帧n 1图像和帧n 2图像进行处理之后,可以得到光流结果n 2。之后,计算机设备通过视频补全网络902根据帧n图像中的待补全区域以及每相邻两帧图像对应的光流结果(光流结果n-1、光流结果n、光流结果n 1以及光流结果n 2),可以得到帧n图像
的视频补全结果,例如,帧n图像的视频补全结果为去除了
““
处于行走状态的小明
””
的画面图像。可以理解的是,通过这一实现方式,可以去除特定画面,可以满足用户的个性化需求。
[0202]
上文结合图1-图9c详细描述了本技术实施例涉及的光流估计方法,下面结合附图介绍本技术实施例涉及的装置。
[0203]
图10a为本技术实施例中一种光流估计装置100a的示意性框图。图10a所示的光流估计装置100a可以包括:
[0204]
图像获取模块1000a,用于获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;
[0205]
金字塔特征模块1002a,用于通过所述2层网络对所述第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;通过所述2层网络对所述第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图;其中,第1层网络提取到的光流特征图的分辨率大于第2层网络提取到的光流特征图的分辨率;
[0206]
特征融合模块1004a,用于通过第1层网络将第2层网络对应的第一融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果;其中,所述第2层网络对应的第一融合特征图为对所述第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的;
[0207]
输出模块1006a,用于输出所述第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
[0208]
在一些可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至2层分别设有所述金字塔特征网络;所述特征金字塔网络的第1层设有所述特征融合网络;所述金字塔特征网络用于对所述第一帧图像和所述第二帧图像进行特征提取;所述特征融合网络用于对所述金字塔特征网络提取到的光流特征图进行融合;所述特征融合模块1004a包括第一特征融合模块,所述第一特征融合模块用于:
[0209]
通过所述特征金字塔网络中第1层特征融合网络将第2层金字塔特征网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合,得到第2层金字塔特征网络对应的第一融合特征图;
[0210]
通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层特征融合网络对应的光流结果。
[0211]
在一种可能的实现方式中,所述第2层金字塔特征网络提取到的光流特征图包括第2个第一光流特征图和第2个第二光流特征图;所述第1层金字塔特征网络提取到的光流特征图包括第1个第一光流特征图和第1个第二光流特征图;所述第2个第一光流特征图的分辨率和所述第2个第二光流特征图的分辨率属于第一范围;所述第1个第一光流特征图的分辨率和所述第1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述第一特征融合模块,具体用于:
[0212]
通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像;
[0213]
通过所述第1层特征融合网络根据所述第1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;
[0214]
通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;
[0215]
通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
[0216]
在一种可能的实现方式中,所述第一特征融合模块,具体用于:
[0217]
通过所述第1层特征融合网络从所述第1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;
[0218]
通过所述第1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;
[0219]
通过所述第1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
[0220]
在一种可能的实现方式中,所述第一特征融合模块,还用于:
[0221]
通过所述第1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;
[0222]
所述第一特征融合模块,具体用于:
[0223]
通过所述第1层特征融合网络对所述第五融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
[0224]
本技术实施例中,各个的单元的具体实现可以参见上述实施例中的相关描述,此处不再赘述。
[0225]
实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0226]
图10b为本技术实施例中一种光流估计装置100b的示意性框图。图10b所示的光流估计装置100b可以包括:
[0227]
图像获取模块1000b,用于获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;
[0228]
金字塔特征模块1002b,用于通过所述n层网络对所述第一帧图像进行n次不同尺度的特征提取,得到n个第一光流特征图;通过所述n层网络对所述第二帧图像进行n次不同尺度的特征提取,得到n个第二光流特征图;其中,第n-1层网络提取到的光流特征图的分辨率大于第n层网络提取到的光流特征图的分辨率;
[0229]
特征融合模块1004b,用于通过第n-1层网络将第n层网络对应的第一融合特征图以及所述第n-1层网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特
征融合,得到所述第n-1层网络对应的光流结果和特征输出结果;其中,所述第n层网络对应的第一融合特征图为对所述第n层网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合得到的;通过第i-1层网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的;
[0230]
输出模块1006b,用于输出第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
[0231]
在一种可能的实现方式中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至n层分别设有所述金字塔特征网络;所述特征金字塔网络的第1至n-1层分别设有所述特征融合网络;所述特征融合模块1004b包括第n-1特征融合模块和第i-1特征融合模块;其中,
[0232]
所述第n-1特征融合模块,用于:通过所述特征金字塔网络中第n-1层特征融合网络将第n层金字塔特征网络提取到的第n个第一光流特征图和第n个第二光流特征图进行特征融合,得到第n层金字塔特征网络对应的第一融合特征图;
[0233]
通过所述特征金字塔网络中第n-1层特征融合网络将所述第n层金字塔特征网络对应的第一融合特征图以及第n-1层金字塔特征网络提取到的第n-1个第一光流特征图和第n-1个第二光流特征图进行特征融合,得到所述第n-1层特征融合网络对应的光流结果和特征输出结果;
[0234]
所述第i-1特征融合模块,用于:通过所述特征金字塔网络中第i-1层特征融合网络将第i层网络对应的光流结果和特征输出结果,以及所述第i-1层网络提取到的第i-1个第一光流特征图和第i-1个第二光流特征图进行特征融合,得到所述第i-1层网络输出的光流结果;所述i从n-1至2依次进行取值;所述第i层网络对应的特征输出结果为根据第i个第二光流特征图和第i 1层网络对应的特征输出结果确定的。
[0235]
在一种可能的实现方式中所述第n层金字塔特征网络提取到的光流特征图包括第n个第一光流特征图和第n个第二光流特征图;所述第n-1层金字塔特征网络提取到的光流特征图包括第n-1个第一光流特征图和第n-1个第二光流特征图;所述第n个第一光流特征图的分辨率和所述第n个第二光流特征图的分辨率属于第一范围;所述第n-1个第一光流特征图的分辨率和所述第n-1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述第n-1特征融合模块,具体用于:
[0236]
通过所述第n-1层特征融合网络将所述第n-1个第一光流特征图和所述第n-1个第二光流特征图进行特征融合,得到第一融合图像;
[0237]
通过所述第n-1层特征融合网络根据所述第n-1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;
[0238]
通过所述第n-1层特征融合网络对所述第三融合图像进行放大,得到所述第n-1层特征融合网络对应的特征输出结果;
[0239]
通过所述第n-1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;
[0240]
通过所述第n-1层特征融合网络对所述第四融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。
[0241]
在一种可能的实现方式中,所述第n-1特征融合模块,具体用于:
[0242]
通过所述第n-1层特征融合网络从所述第n-1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第n-1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;
[0243]
通过所述第n-1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;
[0244]
通过所述第n-1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
[0245]
在一种可能的实现方式中,所述第n-1特征融合模块,还用于:
[0246]
通过所述第n-1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四融合图像的边界信息,得到第五融合图像;
[0247]
所述第n-1特征融合模块,具体用于:
[0248]
通过所述第n-1层特征融合网络对所述第五融合图像进行放大,得到所述第n-1层特征融合网络对应的光流结果。
[0249]
本技术实施例中,各个的单元的具体实现可以参见上述实施例中的相关描述,此处不再赘述。
[0250]
实施本技术实施例,光流估计设备在确定第一帧图像和第二帧图像的光流结果时,对第一帧图像和第二帧图像分别进行多次不同尺度的特征提取,得到这两帧图像各自对应的多个不同尺度的光流特征图,之后,对这两帧图像各自对应的多个不同尺度的光流特征图进行特征融合,从而可以得到光流结果。由于这一实现方式充分考虑了多个不同尺度的光流特征图中所包含的不同的语义信息,可以在提高深度学习模型的运算效率的同时,尽可能地保持深度学习模型的光流估计结果接近实时检测。
[0251]
如图11所示,本技术实施例提供的一种光流估计设备110,该光流估计设备可以包括处理器1101、存储器1102、通信总线1103和通信接口1104,处理器1101通过通信总线连接存储器1102和通信接口1103。
[0252]
处理器1101可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),图形处理器(graphics processing unit,gpu)、神经网络处理器(network processing unit,npu)或者一个或多个集成电路,用于执行相关程序,以执行本技术方法实施例的所描述的光流估计方法。
[0253]
处理器1101还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的光流估计方法的各个步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1101还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1102,处理器1101读取存储器1102中的信息,结合其硬件执行本技术方法实施例的光流估计方法。
[0254]
存储器1102可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器1102可以存储程序和数据,例如本技术实施例中光流估计方法的程序等。当存储器1102中存储的程序被处理器1101执行时,处理器1101和通信接口1104用于执行本技术实施例的光流估计方法的各个步骤。
[0255]
例如,本技术实施例中用于实现本技术实施例中光流估计方法的程序等。
[0256]
通信接口1104使用例如但不限于收发器一类的收发装置,来实现光流估计设备110与其他设备或通信网络之间的通信。例如,可以通过通信接口1104获取训练好的神经网络,以实现与执行设备、客户设备、用户设备或者终端设备等的信息交互。
[0257]
可选地,该光流估计设备还可以包括人工智能处理器1105,人工智能处理器1105可以是神经网络处理器(network processing unit,npu),张量处理器(tensor processing unit,tpu),或者图形处理器(graphics processing unit,gpu)等一切适合用于大规模异或运算处理的处理器。人工智能处理器1105可以作为协处理器挂载到主cpu(host cpu)上,由主cpu为其分配任务。人工智能处理器1105可以实现上述光流估计方法中涉及的一种或多种运算。例如,以npu为例,npu的核心部分为运算电路,通过控制器控制运算电路提取存储器1102中的矩阵数据并进行乘加运算。
[0258]
处理器1101用于调用存储器中的数据和程序代码,执行:
[0259]
获取第一帧图像和第二帧图像;其中,所述第一帧图像和所述第二帧图像包含目标物体;
[0260]
通过所述2层网络对所述第一帧图像进行2次不同尺度的特征提取,得到2个第一光流特征图;通过所述2层网络对所述第二帧图像进行2次不同尺度的特征提取,得到2个第二光流特征图;其中,第1层网络提取到的光流特征图的分辨率大于第2层网络提取到的光流特征图的分辨率;
[0261]
通过第1层网络将第2层网络对应的第一融合特征图以及所述第1层网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果;其中,所述第2层网络对应的第一融合特征图为对所述第2层网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合得到的;
[0262]
输出所述第1层网络对应的光流结果;其中,所述光流结果用于表征所述目标物体的运动信息。
[0263]
其中,所述特征金字塔网络包括金字塔特征网络和特征融合网络;所述特征金字塔网络的第1至2层分别设有所述金字塔特征网络;所述特征金字塔网络的第1层设有所述特征融合网络;所述金字塔特征网络用于对所述第一帧图像和所述第二帧图像进行特征提取;所述特征融合网络用于对所述金字塔特征网络提取到的光流特征图进行融合;所述处理器1101通过第1层网络将第2层网络对应的融合特征图以及所述第1层网络提取到的第1
个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果,可以包括:
[0264]
通过所述特征金字塔网络中第1层特征融合网络将第2层金字塔特征网络提取到的第2个第一光流特征图和第2个第二光流特征图进行特征融合,得到第2层金字塔特征网络对应的第一融合特征图;
[0265]
通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网络对应的第一融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层特征融合网络对应的光流结果。
[0266]
其中,所述第2层金字塔特征网络提取到的光流特征图包括第2个第一光流特征图和第2个第二光流特征图;所述第1层金字塔特征网络提取到的光流特征图包括第1个第一光流特征图和第1个第二光流特征图;所述第2个第一光流特征图的分辨率和所述第2个第二光流特征图的分辨率属于第一范围;所述第1个第一光流特征图的分辨率和所述第1个第二光流特征图的分辨率属于第二范围,所述第一范围和所述第二范围不重叠;所述处理器1101通过所述特征金字塔网络中第1层特征融合网络将所述第2层金字塔特征网络对应的融合特征图以及第1层金字塔特征网络提取到的第1个第一光流特征图和第1个第二光流特征图进行特征融合,得到所述第1层网络对应的光流结果,可以包括:
[0267]
通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像;
[0268]
通过所述第1层特征融合网络根据所述第1个第二光流特征图和所述第一融合特征图得到第二融合图像,并提取所述第二融合图像的特征,得到第三融合图像;
[0269]
通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像;
[0270]
通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
[0271]
其中,所述处理器1101通过所述第1层特征融合网络将所述第1个第一光流特征图和所述第1个第二光流特征图进行特征融合,得到第一融合图像,可以包括:
[0272]
通过所述第1层特征融合网络从所述第1个第一光流特征图中确定n个像素点作为n个第一特征点,从所述第1个第二光流特征图中确定n个像素点作为n个第二特征点,匹配所述n个第一特征点和所述n个第二特征点,得到所述n个第一特征点和所述n个第二特征点之间的对应关系;
[0273]
通过所述第1层特征融合网络根据所述n个第一特征点和所述n个第二特征点之间的对应关系获取所述n个第一特征点和所述n个第二特征点之间的相关度;
[0274]
通过所述第1层特征融合网络根据所述相关度对所述所述n个第一特征点和所述n个第二特征点进行特征融合,得到所述第一融合图像。
[0275]
其中,所述处理器1101通过所述第1层特征融合网络对所述第一融合图像和所述第三融合图像进行特征融合,得到第四融合图像之后,所述处理器1101通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果之前,还可以包括:
[0276]
通过所述第1层特征融合网络去除所述第四融合图像中的噪声以及保留所述第四
融合图像的边界信息,得到第五融合图像;
[0277]
所述处理器1101通过所述第1层特征融合网络对所述第四融合图像进行放大,得到所述第1层特征融合网络对应的光流结果,可以包括:
[0278]
通过所述第1层特征融合网络对所述第五融合图像进行放大,得到所述第1层特征融合网络对应的光流结果。
[0279]
应理解,各个器件的实现还可以对应参照上述光流估计方法实施例中的相应描述,本技术实施例不再赘述。
[0280]
在一种可选的实施例中,图11所示的光流估计设备中的处理器1101还可以用于读取所述存储器1102中存储的计算机程序代码,使得光流估计设备实现上述第二方面中任意一项所描述的方法。
[0281]
本发明实施例还提供了一种计算机存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个实施例所述方法中的一个或多个步骤。上述装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中,基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机产品存储在计算机可读存储介质中。
[0282]
上述计算机可读存储介质可以是前述实施例所述的设备的内部存储单元,例如硬盘或内存。上述计算机可读存储介质也可以是上述设备的外部存储设备,例如配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0283]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可通过计算机程序来指令相关的硬件来完成,该计算机的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可存储程序代码的介质。
[0284]
本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0285]
本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
[0286]
可以理解,本领域普通技术人员可以意识到,结合本技术各个实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0287]
本领域技术人员能够领会,结合本技术各个实施例中公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从
一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本技术中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0288]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0289]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0290]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0291]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0292]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0293]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献