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

图像处理方法、装置、设备及介质与流程

2022-05-21 04:44:18 来源:中国专利 TAG:


1.本技术属于人工智能技术领域,具体涉及一种图像处理方法、装置、设备及介质。


背景技术:

2.图像配准(又称之为图像对齐)就是将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅图像进行匹配的过程。
3.相关技术中,在图像配准时,主要是利用傅里叶变换计算图像相关性,从而获得用于图像配准的偏移坐标。然而,通过傅里叶变换确定用于图像配准的偏移坐标,计算量较大,使得图像配准效率较低。


技术实现要素:

4.本技术实施例的目的是提供一种图像处理方法、装置、设备及介质,能够解决图像配准效率低的问题。
5.第一方面,本技术实施例提供了一种图像处理方法,包括:
6.获取第一图像和第二图像;
7.将第一图像的第一向量和第二图像的第二向量进行拼接,得到第三向量;
8.将第三向量输入预先训练得到的光流模型,得到第一图像相对于第二图像的偏移向量,其中,光流模型用于确定两个图像的偏移向量;
9.根据偏移向量,配准第一图像和第二图像。
10.第二方面,本技术实施例提供了一种图像处理装置,包括:
11.获取模块,用于获取第一图像和第二图像;
12.拼接模块,用于将第一图像的第一向量和第二图像的第二向量进行拼接,得到第三向量;
13.第一确定模块,用于将第三向量输入预先训练得到的光流模型,得到第一图像相对于第二图像的偏移向量,其中,光流模型用于确定两个图像的偏移向量;
14.配准模块,用于根据偏移向量,配准第一图像和第二图像。
15.第三方面,本技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
16.第四方面,本技术实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
17.第五方面,本技术实施例提供了一种芯片,包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
18.第六方面,本技术实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
19.在本技术实施例中,通过将两个图像的向量进行拼接,然后将拼接后得到的向量
输入到预先训练得到的光流模型,即可得到两个图像中的一个图像相对于另一个图像的偏移向量,根据该偏移向量即可配准两个图像。相比于相关技术,无需采用傅里叶变换,即可得到用于图像配准的偏移向量,计算量小,能够提高图像配准效率。
附图说明
20.图1是本技术实施例提供的图像处理方法的流程示意图;
21.图2是本技术实施例提供的光流模型的结构示意图;
22.图3是本技术实施例提供的利用光流模型得到偏移向量的过程示意图;
23.图4是本技术实施例提供的拍照场景合成图像的过程示意图;
24.图5是本技术实施例提供的图像处理装置的结构示意图;
25.图6是本技术实施例提供的电子设备的结构示意图;
26.图7是实现本技术实施例的电子设备的硬件结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
28.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
29.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的图像处理方法、装置、设备及介质进行详细地说明。
30.图1是本技术实施例提供的图像处理方法的流程示意图。如图1所示,图像处理方法可以包括:
31.s101:获取第一图像和第二图像;
32.s102:将第一图像的第一向量和第二图像的第二向量进行拼接,得到第三向量;
33.s103:将第三向量输入预先训练得到的光流模型,得到第一图像相对于第二图像的偏移向量,其中,光流模型用于确定两个图像的偏移向量;
34.s104:根据偏移向量,配准第一图像和第二图像。
35.上述各步骤的具体实现方式将在下文中进行详细描述。
36.在本技术实施例中,通过将两个图像的向量进行拼接,然后将拼接后得到的向量输入到预先训练得到的光流模型,即可得到两个图像中的一个图像相对于另一个图像的偏移向量,根据该偏移向量即可配准两个图像。相比于相关技术,无需采用傅里叶变换,即可得到用于图像配准的偏移向量,计算量小,能够提高图像配准效率。
37.在本技术实施例的一些可能实现中,本技术实施例中的光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度,具体指连续两帧图像的前一帧的同
一对象的像素点移动到下一帧的移动量。在计算机视觉中光流指的是图像中对象的移动,这个移动是由相机移动、图像中的对象对应的实际物体的运动,或者两者共同运动所引起的。
38.在本技术实施例的一些可能实现中,本技术实施例中的光流模型的激活函数为:非饱和激活函数。
39.通过非饱和激活函数,能够解决“梯度消失”问题,并且能够加快光流模型的收敛速度。
40.在本技术实施例的一些可能实现中,非饱和激活函数包括但不限于:修正线性单元(rectified linear unit,relu)、指数线性单元(exponential linear unit,elu)、漏洞修正线性单元(leaky relu)、参数化修正线性单元(parametric relu,prelu)、随机纠正线性单元(random relu,rrelu)等。
41.在本技术实施例的一些可能实现中,优选地,非饱和激活函数为leaky relu且leaky relu的负斜率参数为0.1。
42.在本技术实施例的一些可能实现中,本技术实施例中的光流模型包括:特征提取层和特征恢复层,其中,特征提取层包括至少一层第一卷积层,用于通过不同的卷积核大小和步长提取第三向量对应的图像特征向量,特征恢复层包括至少一层第二卷积层、至少一层反卷积层、至少一层特征拼接层和采样层,第二卷积层用于将上一层输出的图像特征向量进行卷积,反卷积层用于将上一层输出的图像特征向量进行反卷积,特征拼接层用于将反卷积层输出的图像特征向量与至少一层第一卷积层提取到的相同维度的图像特征向量进行拼接,采样层用于将上一层输出的图像特征向量调整为与第三向量的维度相同,得到偏移向量。
43.在本技术实施例的一些可能实现中,本技术实施例中的光流模型可以包括2n层网络层,其中,前n层网络层为特征提取层,后n层网络层为特征恢复层,第1层网络层至第n层网络层为卷积层,第n 1层网络层至第2n-1层网络层包括卷积层、反卷积层和特征拼接层,第2n层网络层为采样层。
44.示例性地,如图2所示。图2是本技术实施例提供的光流模型的结构示意图。其中,图2所示的光流模型包括16层网络层,16层网络层中的前8层为特征提取层,后8层为特征恢复层。第1层网络层至第8层网络层为卷积层,第9层网络层至第15层网络层包括卷积层、反卷积层和特征拼接层,第16层网络层为上采样层,上采样层用于输出两个图像的偏移向量。
45.第1层网络层的网络结构为卷积层 leaky relu,输入维度为(6,h,w),其中,6表示两个图像的6个通道,其中,每个图像3个通道(rgb图像的红色分量通道、绿色分量通道和蓝色分量通道)。h表示输入图像的高,w表示输入图像的宽。h和w根据整个网络的层数和卷积采样步长需设置为32的整数倍,例如,h=640,w=832。第1层网络层的网络参数为:输入通道数为6,输出通道数为32,卷积核大小为7,步长为2。
46.第2层网络层的网络结构为卷积层 leakyrelu,第2层网络层的输入是第1层网络层的输出,第2层网络层的网络参数为:输入通道数为32,输出通道数为64,卷积核大小为5,步长为2。
47.第3层网络层的网络结构为卷积层 leakyrelu,第3层网络层的输入是第2层网络层的输出,第3层网络层的网络参数为:输入通道数为64,输出通道数为128,卷积核大小为
5,步长为2。
48.第4层网络层的网络结构为卷积层 leakyrelu,第4层网络层的输入是第3层网络层的输出,第4层网络层的网络参数为:输入通道数为128,输出通道数为128,卷积核大小为3,步长为1。
49.第5层网络层的网络结构为卷积层 leakyrelu,第5层网络层的输入是第4层网络层的输出,第5层网络层的网络参数为:输入通道数为128,输出通道数为256,卷积核大小为3,步长为2。
50.第6层网络层的网络结构为卷积层 leakyrelu,第6层网络层的输入是第5层网络层的输出,第6层网络层的网络参数为:输入通道数为256,输出通道数为256,卷积核大小为3,步长为1。
51.第7层网络层的网络结构为卷积层 leakyrelu,第7层网络层的输入是第6层网络层的输出,第7层网络层的网络参数为:输入通道数为256,输出通道数为256,卷积核大小为3,步长为2。
52.第8层网络层的网络结构为卷积层 leakyrelu,第8层网络层的输入是第7层网络层的输出,第8层网络层的网络参数为:输入通道数为256,输出通道数为256,卷积核大小为3,步长为1。
53.第9层网络层包括第9a层网络层、第9b层网络层和第9c层网络层。
54.第9a层网络层的网络结构为卷积层,第9a层网络层的输入是第8层网络层的输出,第9a层网络层的网络参数为:输入通道数为256,输出通道数为2,卷积核大小为3,步长为1。
55.第9b层网络层的网络结构为反卷积层,第9b层网络层的输入是第9a层网络层的输出,第9b层网络层的网络参数为:输入通道数为2,输出通道数为2,卷积核大小为4,步长为2。
56.第9c层网络层的网络结构为反卷积层 leakyrelu,第9c层网络层的输入是第8层网络层的输出,第9c层网络层的网络参数为:输入通道数为256,输出通道数为128,卷积核大小为4,步长为2。
57.第10层网络层的网络结构为拼接层,第10层网络层的输入是第6层网络层的输出、第9c层网络层的输出和第9b层网络层的输出,第10层网络层的作用是将第6层网络层的输出、第9c层网络层的输出和第9b层网络层的输出进行合并。
58.第11层网络层包括第11a层网络层、第11b层网络层和第11c层网络层。
59.第11a层网络层的网络结构为卷积层,第11a层网络层的输入是第10层网络层的输出,第11a层网络层的网络参数为:输入通道数为386,输出通道数为2,卷积核大小为3,步长为1。
60.第11b层网络层的网络结构为反卷积层,第11b层网络层的输入是第11a层网络层的输出,第11b层网络层的网络参数为:输入通道数为2,输出通道数为2,卷积核大小为4,步长为2。
61.第11c层网络层的网络结构为反卷积层 leakyrelu,第11c层网络层的输入是第10层网络层的输出,第11c层网络层的网络参数为:输入通道数为386,输出通道数为64,卷积核大小为4,步长为2。
62.第12层网络层的网络结构为拼接层,第12层网络层的输入是第4层网络层的输出、
第11c层网络层的输出和第11b层网络层的输出,第12层网络层的作用是将第4层网络层的输出、第11c层网络层的输出和第11b层网络层的输出进行合并。
63.第13层网络层包括第13a层网络层、第13b层网络层和第13c层网络层。
64.第13a层网络层的网络结构为卷积层,第13a层网络层的输入是第12层网络层的输出,第13a层网络层的网络参数为:输入通道数为194,输出通道数为2,卷积核大小为3,步长为1。
65.第13b层网络层的网络结构为反卷积层,第13b层网络层的输入是第13a层网络层的输出,第13b层网络层的网络参数为:输入通道数为2,输出通道数为2,卷积核大小为4,步长为2。
66.第13c层网络层的网络结构为反卷积层 leakyrelu,第13c层网络层的输入是第12层网络层的输出,第11c层网络层的网络参数为:输入通道数为194,输出通道数为32,卷积核大小为4,步长为2。
67.第14层网络层的网络结构为拼接层,第14层网络层的输入是第2层网络层的输出、第13c层网络层的输出和第13b层网络层的输出,第14层网络层的作用是将第2层网络层的输出、第13c层网络层的输出和第13b层网络层的输出进行合并。
68.第15层网络层的网络结构为卷积层,第15层网络层的输入是第14层网络层的输出,第15层网络层的网络参数为:输入通道数为98,输出通道数为2,卷积核大小为3,步长为1。
69.第16层网络层的网络结构为上采样层,第16层网络层的输入是第15层网络层的输出,第16层网络层的网络参数为:尺度参数为4,模式为双线性。第16层网络层的输出是整个网络的输出,也就是光流模型的输出结果,结果维度为(2,h,w)。
70.示例性地,以h=640,w=832为例对利用光流模型得到偏移向量的过程进行说明,如图3所示。图3是本技术实施例提供的利用光流模型得到偏移向量的过程示意图。
71.在图3中,首先将获取到的分辨率为(h,w)的两个图像分别进行下采样,得到分辨率为(640,832)的两个图像。
72.将分辨率为(640,832)的两个图像的向量维度为(3,640,832)的向量进行拼接,得到向量维度为(6,640,832)的拼接向量。其中,向量维度(3,640,832)中的3表示三个通道,三个通道为图像的红色通道、绿色通道和蓝色通道。向量维度(6,640,832)中的6表示6个通道,即两个3通道的拼接。
73.将该拼接向量输入到光流模型。光流模型的第1层网络层为卷积层,输出通道数为32,步长为2,基于步长将第1层网络层的卷积核与拼接向量相乘,即卷积处理,得到卷积向量,即第1层网络层的输出。变化过程为:通道数由输入的6通道变化为输出的32通道,h由输入的640变化为640/步长=640/2=320,w由输入的832变化为832/步长=832/2=416。
74.类似地,光流模型的第2-9a层网络层为卷积层,基于第1层网络层的输出对第2-9a层网络层进行卷积处理,光流模型的第9b和9c层网络层为反卷积层,基于第9a层网络层的输出对第9b层网络层进行反卷积处理,基于第8层网络层的输出对第9c层网络层进行反卷积处理,得到每一层的输出。
75.光流模型的第10层网络层为拼接层,将第6层网络层的输出、第9c层网络层的输出和第9b层网络层的输出进行合并,得到第10层网络层的输出。
76.光流模型的第11a层网络层为卷积层,基于第10层网络层的输出对第11层网络层进行卷积处理,光流模型的第11b和11c层网络层为反卷积层,基于第11a层网络层的输出对第11b层网络层进行反卷积处理,基于第10层网络层的输出对第11c层网络层进行反卷积处理,得到第11a-11c层网络层的输出。
77.光流模型的第12层网络层为拼接层,参照第10层网络层的处理方式,将第4层网络层的输出、第11c层网络层的输出和第11b层网络层的输出进行合并,得到第12层网络层的输出。
78.光流模型的第13a层网络层为卷积层,第13b-13c层网络层为反卷积层,参照第11a-11c层网络层的处理方式,得到第13a-13c层网络层的输出。
79.光流模型的第14层网络层为拼接层,参照第10层网络层的处理方式,将第2层网络层的输出、第13c层网络层的输出和第13b层网络层的输出进行合并,得到第14层网络层的输出。
80.光流模型的第15层网络层为卷积层,基于第14层网络层的输出对第15层网络层进行卷积处理,得到第15层网络层的输出。
81.光流模型的第16层网络层为上采样层,尺度参数为4,将第15层网络层的输出按照尺度参数进行放大,得到第16层网络层的输出。其中,第16层网络层的输出即为光流模型的输出。
82.将第16层网络层输出的向量进行上采样,得到分辨率为(h,w)的两个图像之间的向量维度为(2,h,w)的偏移向量。
83.需要说明的是,当获取到的图像的分辨率(h,w)大于光流模型对应的高h和宽w时,需要将获取到的图像进行下采样,得到分辨率为(h,w)的图像;当获取到的图像的分辨率(h,w)小于光流模型对应的高h和宽w时,需要将获取到的图像进行上采样,得到分辨率为(h,w)的图像。本技术实施例并不对图像上采样和下采样的具体过程进行限定,具体可参考相关技术中对图像上采样和下采样的过程。
84.还需要说明的是,当光流模型输出分辨率为(h,w)的两个图像的向量维度为(2,h,w)的偏移向量时,需要将该向量维度为(2,h,w)的偏移向量采样至向量维度为(2,h,w),得到获取到的分辨率为(h,w)的两个图像的向量维度为(2,h,w)的偏移向量。
85.在本技术实施例的一些可能实现中,优选地,h《h,w《w。当h《h,w《w时,本技术实施例的光流模型可以称之为稀疏光流模型。
86.在本技术实施例的一些可能实现中,可以获取样本图像。对于任意两个样本图像,可以将该两个样本图像和其对应的实际偏移向量输入到神经网络模型,得到该两个样本图像对应的偏移预测结果,根据实际偏移向量和该偏移预测结果训练神经网络模型,得到光流模型,其中,在训练神经网络模型时,实际偏移向量作为其对应的两个样本图像的偏移向量的期望输出。
87.在本技术实施例的一些可能实现中,在训练神经网络模型时,可以设定循环迭代训练次数阈值,当对神经网络模型训练的次数到达设定的循环迭代训练次数阈值时,停止训练,得到光流模型。
88.在本技术实施例的一些可能实现中,在训练神经网络模型时,还可以计算神经网络模型的损失值,当神经网络模型的损失值到达最小时,停止训练,得到光流模型。
89.在本技术实施例的一些可能实现中,在训练神经网络模型时,还可以根据实际偏移向量和上述偏移预测结果,计算神经网络模型预测的准确度,当神经网络模型预测的准确度大于准确度阈值时,停止训练,得到光流模型。
90.具体地,可以从样本图像中选取部分样本图像作为测试样本。当神经网络模型训练一段时间后,将测试样本输入到此时的神经网络模型,得到对测试样本的偏移预测结果,根据该偏移预测结果和测试样本的实际偏移向量,计算此时神经网络模型预测的准确度,当神经网络模型预测的准确度不大于准确度阈值时,利用样本图像继续对神经网络模型进行训练,一段时间后,再将测试样本输入到此时的神经网络模型,计算此时神经网络模型预测的准确度,直至神经网络模型预测的准确度大于准确度阈值,将此时的神经网络模型作为光流模型。
91.本技术实施例并不对训练神经网络模型,得到光流模型的具体过程进行限定,具体过程可以参考相关技术中训练神经网络模型的过程,本技术实施例在此不对其进行赘述。
92.在本技术实施例的一些可能实现中,当得到第一图像相对于第二图像的向量维度为(2,h,w)的偏移向量之后,根据该向量维度为(2,h,w)的偏移向量,配准第一图像和第二图像。
93.在本技术实施例的一些可能实现中,在s103中,在图像配准时,以第二图像为参考图像,将第一图像与之配准,得到第一图像对应的第一配准图像。
94.在本技术实施例的一些可能实现中,在s103之后,本技术实施例提供的图像处理方法还可以包括:根据第一图像对应的第一配准图像和第二图像,生成目标图像。
95.在本技术实施例的一些可能实现中,根据第一图像对应的第一配准图像和第二图像,生成目标图像,包括:将第一配准图像和第二图像相同位置的像素点的像素值进行平均,得到目标图像。
96.在本技术实施例的一些可能实现中,根据第一图像对应的第一配准图像和第二图像,生成目标图像,包括:根据第一配准图像对应的权重,将第二图像和第一配准图像进行加权平均,得到目标图像。
97.将第二图像和第一配准图像进行加权平均,得到目标图像如下公式(1)所示。
[0098][0099]
其中,上述公式(1)中,cr为目标图像;cj为第j个第一配准图像,wj为第j个第一配准图像cj对应的权重,ci为第二图像。
[0100]
在本技术实施例的一些可能实现中,在根据第一配准图像对应的权重,将第二图像和第一配准图像进行加权平均,得到目标图像时,可以将第一配准图像中坐标为(m,n)的像素点的像素值与第二图像中坐标为(m,n)的像素点的像素值进行加权平均,将得到的像素值作为目标图像中坐标为(m,n)的像素点的像素值。
[0101]
在本技术实施例的一些可能实现中,在根据第一配准图像对应的权重,将第二图像和第一配准图像进行加权平均,得到目标图像之前,本技术实施例提供的图像处理方法还可以包括:根据第二图像的图像梯度矩阵,以及第一配准图像与第二图像的图像距离,确
定第一配准图像对应的权重。
[0102]
具体地,第j个第一配准图像对应的权重wj如公式(2)所示。
[0103][0104]
其中,上述公式(2)中,wj为第j个第一配准图像cj对应的权重;λ为超参数,用于控制配准图像的权重大小,取值范围为(0,1);d
i-dj为第j个第一配准图像cj与第二图像ci的图像距离;ti为第二图像ci的图像梯度矩阵。
[0105]
在本技术实施例的一些可能实现中,在计算第j个第一配准图像cj与第二图像ci的图像距离时,可以计算第j个第一配准图像cj中的某一个像素点与第二图像ci中与该像素点对应的像素点距离,然后,将所有像素点的距离的平均值作为第j个第一配准图像cj与第二图像ci的图像距离。
[0106]
需要说明的是,第j个第一配准图像cj中坐标为(m,n)的像素点与第二图像ci中坐标为(m,n)的像素点对应。
[0107]
第j个第一配准图像cj中坐标为(m,n)的像素点与第二图像ci中坐标为(m,n)的像素点的像素点距离d
(m,n)
可以如下公式(3)所示。
[0108][0109]
其中,上述公式(3)中,分别为第j个第一配准图像cj中坐标为(m,n)的像素点的像素值的红色分量、绿色分量和蓝色分量;分别为第二图像ci中坐标为(m,n)的像素点的像素值的红色分量、绿色分量和蓝色分量。也就是说,第j个第一配准图像cj中坐标为(m,n)的像素点的像素值为第二图像ci中坐标为(m,n)的像素点的像素值为
[0110]
在本技术实施例的一些可能实现中,在s101中,可以从获取到的至少两个图像随机选取一张图像作为第二图像,将至少两个图像中除第二图像之外的其他图像中的每一图像均作为第一图像。
[0111]
在本技术实施例的一些可能实现中,s101可以包括:根据图像清晰度,从获取到的至少两个图像中确定第二图像和第一图像。
[0112]
在本技术实施例的一些可能实现中,可以将获取到的至少两个图像中图像清晰度最大的图像作为第二图像,将至少两个图像中除第二图像之外的其他图像中的每一图像均作为第一图像。
[0113]
在本技术实施例的一些可能实现中,根据图像清晰度,从获取到的至少两个图像中确定第二图像和第一图像,可以包括:将至少两个图像按照清晰度自大至小的顺序进行排序;将排名第一的图像,作为第二图像;将排名前n的图像中除第二图像之外的每个图像,作为一个第一图像,其中,n为大于或等于2的正整数。
[0114]
示例性地,假设获取到5张图像,5张图像分别为图像a、图像b、图像c、图像d和图像e,n=3。按照清晰度自大至小的顺序将上述5张图像进行排序,排序结果为图像d、图像b、图
像a、图像e和图像c,则将图像d作为第二图像,将图像b和图像a均作为第一图像。
[0115]
下面以拍照场景为例对生成目标图像的过程进行说明。图4是本技术实施例提供的拍照场景合成图像的过程示意图。其中,合成图像的过程包括两个阶段,分别为离线训练阶段和拍照合成阶段。
[0116]
在离线训练阶段,将样本图像以及相应的实际偏移向量输入到神经网络模型,以对该神经网络模型进行训练,得到光流模型。
[0117]
在拍照合成阶段,首先利用摄像头采集到多张图像(例如连拍得到5张图像,5张图像分别为图像a、图像b、图像c、图像d和图像e),将5张图像按照清晰度自大至小的顺序,排序结果为图像d、图像b、图像a、图像e和图像c,则将图像d作为第二图像,将图像b和图像a均作为第一图像。
[0118]
将分辨率为(h,w)的图像d、图像b和图像a分别进行下采样,得到分辨率为(h,w)的图像d0、图像b0和图像a0。
[0119]
将分辨率为(h,w)的图像d0的向量和图像b0的向量进行拼接,将拼接得到的向量维度为(6,h,w)的拼接向量输入光流模型得到图像b0相对于图像d0的向量维度为(2,h,w)的偏移向量,将该向量维度为(2,h,w)的偏移向量上采样至向量维度为(2,h,w),得到图像b相对与图像d的向量维度为(2,h,w)的偏移向量,利用该向量维度为(2,h,w)的偏移向量,以图像d为参考图像,将图像b与之配准,得到图像b对应的配准图像b1。
[0120]
类似地,将分辨率为(h,w)的图像d0的向量和图像a0的向量进行拼接,将拼接得到的向量维度为(6,h,w)的拼接向量输入光流模型得到图像a0相对于图像d0的向量维度为(2,h,w)的偏移向量,将该向量维度为(2,h,w)的偏移向量上采样至向量维度为(2,h,w),得到图像a相对与图像d的向量维度为(2,h,w)的偏移向量,利用该向量维度为(2,h,w)的偏移向量,以图像d为参考图像,将图像a与之配准,得到图像a对应的配准图像a1。
[0121]
融合图像d、图像b1和图像a1,得到目标图像,即拍照合成的图像。在融合图像d、图像b1和图像a1,得到目标图像时,将图像d、图像b1和图像a1进行加权平均。
[0122]
在本技术实施例的一些可能实现中,可以将预先训练得到的光流模型存储到电子设备的只读存储器(read-only memory,rom)中,当用户需要将电子设备连拍得到的多张照片进行合成时,调用电子设备rom中的光流模型,进而合成图片。
[0123]
需要说明的是,本技术实施例提供的图像处理方法,执行主体可以为图像处理装置。本技术实施例中以图像处理装置执行图像处理方法为例,说明本技术实施例提供的图像处理装置。
[0124]
图5是本技术实施例提供的图像处理装置的结构示意图。如图5所示,图像处理装置500可以包括:
[0125]
获取模块501,用于获取第一图像和第二图像;
[0126]
拼接模块502,用于将第一图像的第一向量和第二图像的第二向量进行拼接,得到第三向量;
[0127]
第一确定模块503,用于将第三向量输入预先训练得到的光流模型,得到第一图像相对于第二图像的偏移向量,其中,光流模型用于确定两个图像的偏移向量;
[0128]
配准模块504,用于根据偏移向量,配准第一图像和第二图像。
[0129]
在本技术实施例中,通过将两个图像的向量进行拼接,然后将拼接后得到的向量
输入到预先训练得到的光流模型,即可得到两个图像中的一个图像相对于另一个图像的偏移向量,根据该偏移向量即可配准两个图像。相比于相关技术,无需采用傅里叶变换,即可得到用于图像配准的偏移向量,计算量小,能够提高图像配准效率。
[0130]
在本技术实施例的一些可能实现中,图像处理装置500还包括:
[0131]
生成模块,用于根据第一图像对应的第一配准图像和第二图像,生成目标图像。
[0132]
在本技术实施例的一些可能实现中,生成模块具体用于:
[0133]
根据第一配准图像对应的权重,将第二图像和第一配准图像进行加权平均,得到目标图像。
[0134]
在本技术实施例的一些可能实现中,图像处理装置500还包括:
[0135]
第二确定模块,用于根据第二图像的图像梯度矩阵,以及第一配准图像与第二图像的图像距离,确定第一配准图像对应的权重。
[0136]
在本技术实施例的一些可能实现中,获取模块具体用于:
[0137]
将获取到的至少两个图像按照清晰度自大至小的顺序进行排序;
[0138]
将排名第一的图像,作为第二图像;
[0139]
将排名前n的图像中除第二图像之外的每个图像,作为一个第一图像,其中,n为大于或等于2的正整数。
[0140]
在本技术实施例的一些可能实现中,光流模型包括:特征提取层和特征恢复层,其中,特征提取层包括至少一层第一卷积层,用于通过不同的卷积核大小和步长提取第三向量对应的图像特征向量,特征恢复层包括至少一层第二卷积层、至少一层反卷积层、至少一层特征拼接层和采样层,第二卷积层用于将上一层输出的图像特征向量进行卷积,反卷积层用于将上一层输出的图像特征向量进行反卷积,特征拼接层用于将反卷积层输出的图像特征向量与至少一层第一卷积层提取到的相同维度的图像特征向量进行拼接,采样层用于将上一层输出的图像特征向量调整为与第三向量的维度相同,得到偏移向量。
[0141]
在本技术实施例的一些可能实现中,光流模型的激活函数为:非饱和激活函数。
[0142]
本技术实施例中的图像处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路、或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(mobile internet device,mid)、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,还可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0143]
本技术实施例中的图像处理装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0144]
本技术实施例提供的图像处理装置能够实现图1至图4的图像处理方法实施例中的各个过程,为避免重复,这里不再赘述。
[0145]
可选的,如图6所示,本技术实施例还提供一种电子设备600,包括处理器601和存
储器602,存储器602存储有可在处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述图像处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0146]
在本技术实施例的一些可能实现中,处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0147]
在本技术实施例的一些可能实现中,存储器602可以包括只读存储器(read-only memory,rom),随机存取存储器(random access memory,ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器602包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本技术实施例的图像处理方法所描述的操作。
[0148]
图7是实现本技术实施例的电子设备的硬件结构示意图。
[0149]
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、以及处理器710等部件。
[0150]
本领域技术人员可以理解,电子设备700还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0151]
其中,处理器710用于:获取第一图像和第二图像;将第一图像的第一向量和第二图像的第二向量进行拼接,得到第三向量;将第三向量输入预先训练得到的光流模型,得到第一图像相对于第二图像的偏移向量,其中,光流模型用于确定两个图像的偏移向量;根据偏移向量,配准第一图像和第二图像。
[0152]
在本技术实施例中,通过将两个图像的向量进行拼接,然后将拼接后得到的向量输入到预先训练得到的光流模型,即可得到两个图像中的一个图像相对于另一个图像的偏移向量,根据该偏移向量即可配准两个图像。相比于相关技术,无需采用傅里叶变换,即可得到用于图像配准的偏移向量,计算量小,能够提高图像配准效率。
[0153]
在本技术实施例的一些可能实现中,处理器710还用于:
[0154]
根据第一图像对应的第一配准图像和第二图像,生成目标图像。
[0155]
在本技术实施例的一些可能实现中,处理器710具体用于:
[0156]
根据第一配准图像对应的权重,将第二图像和第一配准图像进行加权平均,得到目标图像。
[0157]
在本技术实施例的一些可能实现中,处理器710还用于:
[0158]
根据第二图像的图像梯度矩阵,以及第一配准图像与第二图像的图像距离,确定第一配准图像对应的权重。
[0159]
在本技术实施例的一些可能实现中,处理器710具体用于:
[0160]
将获取到的至少两个图像按照清晰度自大至小的顺序进行排序;
[0161]
将排名第一的图像,作为第二图像;
[0162]
将排名前n的图像中除第二图像之外的每个图像,作为一个第一图像,其中,n为大于或等于2的正整数。
[0163]
在本技术实施例的一些可能实现中,光流模型包括:特征提取层和特征恢复层,其中,特征提取层包括至少一层第一卷积层,用于通过不同的卷积核大小和步长提取第三向量对应的图像特征向量,特征恢复层包括至少一层第二卷积层、至少一层反卷积层、至少一层特征拼接层和采样层,第二卷积层用于将上一层输出的图像特征向量进行卷积,反卷积层用于将上一层输出的图像特征向量进行反卷积,特征拼接层用于将反卷积层输出的图像特征向量与至少一层第一卷积层提取到的相同维度的图像特征向量进行拼接,采样层用于将上一层输出的图像特征向量调整为与第三向量的维度相同,得到偏移向量。
[0164]
在本技术实施例的一些可能实现中,光流模型的激活函数为:非饱和激活函数。
[0165]
应理解的是,本技术实施例中,输入单元704可以包括图形处理器(graphics processing unit,gpu)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元706可包括显示面板7061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板7061。用户输入单元707包括触控面板7071以及其他输入设备7072中的至少一种。触控面板7071,也称为触摸屏。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0166]
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器709可以包括易失性存储器或非易失性存储器,或者,存储器709可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本技术实施例中的存储器709包括但不限于这些和任意其它适合类型的存储器。
[0167]
处理器710可包括一个或多个处理单元;可选的,处理器710集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
[0168]
本技术实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0169]
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质包括计算机可读存储介质,计算机可读存储介质的示例包括非暂态计算机可读存储介质,如rom、ram、磁碟或者光盘等。
[0170]
本技术实施例另提供了一种芯片,包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0171]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0172]
本技术实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0173]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0174]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0175]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

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

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

相关文献