CN114708144B - 图像数据处理方法及装置 - Google Patents
图像数据处理方法及装置 Download PDFInfo
- Publication number
- CN114708144B CN114708144B CN202210261408.9A CN202210261408A CN114708144B CN 114708144 B CN114708144 B CN 114708144B CN 202210261408 A CN202210261408 A CN 202210261408A CN 114708144 B CN114708144 B CN 114708144B
- Authority
- CN
- China
- Prior art keywords
- resolution
- image data
- image
- layer
- super
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims description 204
- 239000013598 vector Substances 0.000 claims description 84
- 230000003068 static effect Effects 0.000 claims description 74
- 238000000926 separation method Methods 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 48
- 238000013507 mapping Methods 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims description 7
- 238000003379 elimination reaction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 27
- 230000004913 activation Effects 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 10
- 230000009467 reduction Effects 0.000 description 10
- 238000006073 displacement reaction Methods 0.000 description 9
- 238000009877 rendering Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Television Systems (AREA)
Abstract
本申请实施例提供一种图像数据处理方法及装置,图像数据处理方法包括:至少以第一图像在第一分辨率下的图像数据和第二图像在第二分辨率下的图像数据为超分辨率网络模型的输入,获得超分辨率网络模型输出的第一图像在第三分辨率下的图像数据;第二图像是第一图像的上一帧图像,第一分辨率小于第三分辨率,第二图像在第二分辨率下的图像数据中像素总数和第一图像在第三分辨率下的图像数据的像素总数相同。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像数据处理方法及装置。
背景技术
随着显示技术的发展,图像的分辨率向更高分辨率发展,如图像的分辨率从720P发展到1080P,又从1080P发展到2k,其中P表示像素总行数,如720P表示有720行像素;k表示像素总列数,如2k表示有2000列像素。电子设备在渲染高分辨率图像过程中,保证高分辨率图像的图像质量是一个亟需解决的问题。
发明内容
本申请提供了一种图像数据处理方法,目的在于解决图像质量的问题。为了实现上述目的,本申请提供了以下技术方案:
第一方面,本申请提供一种图像数据处理方法,图像数据处理方法包括:至少以第一图像在第一分辨率下的图像数据和第二图像在第二分辨率下的图像数据为超分辨率网络模型的输入,获得超分辨率网络模型输出的第一图像在第三分辨率下的图像数据;第二图像是第一图像的上一帧图像,第一分辨率小于第三分辨率,第二图像在第二分辨率下的图像数据中像素总数和第一图像在第三分辨率下的图像数据的像素总数相同。第一分辨率相对第三分辨率来说是一个低分辨率,第三分辨率相对第一分辨率来说是一个高分辨率,超分辨率网络模型可以以第一图像在低分辨率下的图像数据和第二图像在第二分辨率下的图像数据为输入,输出第一图像在高分辨率下的图像数据,完成从低分辨率的图像数据到高分辨率的图像数据的转换。在获得第一图像在高分辨率下的图像数据时,引入了第二图像在第二分辨率下的图像数据,增加了超分辨率网络模型可利用且有效的辅助数据,使超分辨率网络模型可利用数据增多且辅助数据可以对第一图像在低分辨率的图像数据进行辅助/修正,由此可提高第一图像在高分辨率的图像数据的准确度,第一图像在高分辨率的图像数据的准确度得到提高,对应的第一图像在高分辨率下的图像质量也会提高。虽然超分辨率网络模型可利用数据增多,但是超分辨率网络模型在得到第一图像在高分辨率的图像数据过程中计算量较少,在提高图像质量时可以减少处理时间和降低功耗。
可选的,超分辨率网络模型的输入还包括第一图像在第一分辨率下的运动向量,第一图像在第一分辨率下的运动向量和第二图像在第二分辨率下的图像数据用于生成第一图像数据,第一图像数据中像素运动情况与第一图像在第一分辨率下的图像数据中像素运动情况相同,像素运动情况是相对第二图像在第二分辨率下的图像数据中的像素的。基于第一图像在第一分辨率下的运动向量,可以使得第一图像数据向第一图像对齐,如第一图像数据中各像素相对于第二图像的像素运动情况与第一图像在第一分辨率下的图像数据中各像素相对于第二图像的像素运动情况相同,从而可以复用第二图像的图像数据,以辅助超分辨率网络模型获得第一图像在第三分辨率下的图像数据,对图像质量提升有比较关键的作用。
可选的,超分辨率网络模型的输入还包括第一图像在第一分辨率下的动静分离数据,第一图像在第一分辨率下的动静分离数据用于调整第一图像数据中像素的取值,以消除基于第一图像数据和第一图像在第一分辨率下的图像数据生成的两帧图像之间的重影。
可选的,第一图像在第一分辨率下的运动向量和第二图像在第二分辨率下的图像数据用于生成第一图像数据包括:基于第一图像在第一分辨率下的运动向量,确定第二图像在第二分辨率下的图像数据中像素在第一图像中的位置,将像素的取值赋值给位于位置的像素;在基于第一图像在第一分辨率下的运动向量遍历完所有像素并完成所有像素的赋值后,得到第一图像数据,基于第一图像在第一分辨率下的运动向量对第一图像数据的赋值,可以使得第一图像数据中各像素相对于第二图像的像素运动情况与第一图像在第一分辨率下的图像数据中各像素相对于第二图像的像素运动情况相同,像素运动情况也可以称为像素的移动情况。
可选的,第一图像在第一分辨率下的动静分离数据用于调整第一图像数据中像素的取值包括:如果第一图像数据中第一像素的动静属性与第一图像数据中第二像素的动静属性相同,维持第一像素的取值不变,第一像素的取值是由第二像素赋值得到;如果第一像素的动静属性与第二像素的动静属性不同,调整第一像素的取值为默认值。第一像素和第二像素的动静属性可以基于第一图像在第一分辨率下的动静分离数据得到。在一种示例中,默认值可以是0。第二图像和第一图像中视角变化和物体运动导致物体在两帧图像中的位置发生变化,使得两帧图像的物体之间存在遮挡关系和去遮挡关系。静态物体之间因相对运动造成的遮挡关系和去遮挡关系不明显,动态物体与静态物体之间因相对运动造成的遮挡关系和去遮挡关系较为明显,那么基于第一图像数据渲染出的图像与第一图像之间存在重影,降低图像质量。为此在生成第一图像数据后,基于第一图像在第一分辨率下的动静分离数据调整第一图像数据中像素的取值,对第一图像数据中像素的取值的调整是对被赋值的像素(第一像素)和赋值的像素(第二像素)的取值进行调整,如果两个像素的动静属性不一致,将动静属性不一致的像素的取值置为默认值(如置0),通过这种方式消除重影。
可选的,第二分辨率和第一分辨率相同,第二图像在第二分辨率下的图像数据和第一图像在第三分辨率下的图像数据满足关系,(w/r)(h/r)(c*r*r)=w*h*c,w是第一图像在第三分辨率下的宽度,h是第一图像在第三分辨率下的高度,c是第一图像在第三分辨率下的通道数,r是第一分辨率和第三分辨率之间的倍数关系。(w/r)(h/r)(c*r*r)是第二图像在第二分辨率下的图像数据,w*h*c是第一图像在第三分辨率下的图像数据,虽然两个图像数据的维度不同,但是两个图像数据中的像素总数相同,(w/r)(h/r)(c*r*r)通过维度调整可变为w*h*c。
可选的,超分辨率网络模型的输入还包括第一图像在第一分辨率下的运动向量和第一图像在第一分辨率下的动静分离数据;获得超分辨率网络模型输出的第一图像在第三分辨率下的图像数据包括:以第一图像在第一分辨率下的运动向量和第二图像在第二分辨率下的图像数据为超分辨率网络模型中对齐层的输入,获得对齐层输出的图像数据,对齐层输出的图像数据中像素运动情况与第一图像在第一分辨率下的图像数据中像素运动情况相同,像素运动情况是相对第二图像在第二分辨率下的图像数据中的像素的;以对齐层输出的图像数据和第一图像在第一分辨率下的动静分离数据为超分辨率网络模型中去重影层的输入,获得去重影层输出的图像数据;以去重影层输出的图像数据和第一图像在第一分辨率下的图像数据为超分辨率网络模型中拼接层的输入,获得拼接层输出的图像数据;以拼接层输出的图像数据为超分辨率网络模型中网络层的输入,获得网络层输出的图像数据;以网络层输出的图像数据为超分辨率网络模型中D-S转换层的输入,获得D-S转换层输出的第一图像在第三分辨率下的图像数据。第一图像在第一分辨率下的运动向量可以使第二图像在第二分辨率下的图像数据向第一图像对齐,对齐层可以生成一个跟第一图像中像素位置一致的图像数据。第一图像在第一分辨率下的动静分离数据可以使对齐层输出的图像数据中像素的动静属性与第一图像在第一分辨率下的图像数据中像素的动静属性相同,达到去重影的目的,以此通过第一图像在第一分辨率下的运动向量和第一图像在第一分辨率下的动静分离数据可以提高输入到拼接层中图像数据的准确度,提高图像质量。在获得第一图像在高分辨率下的图像数据时,除了引入第一图像在第一分辨率下的运动向量和第一图像在第一分辨率下的动静分离数据,还引入了第二图像在第二分辨率下的图像数据,增加了超分辨率网络模型可利用且有效的辅助数据,使超分辨率网络模型可利用数据增多且辅助数据可以对第一图像在低分辨率的图像数据进行辅助/修正,由此可提高第一图像在高分辨率的图像数据的准确度,第一图像在高分辨率的图像数据的准确度得到提高,对应的第一图像在高分辨率下的图像质量也会提高。虽然超分辨率网络模型可利用数据增多,但是超分辨率网络模型在得到第一图像在高分辨率的图像数据过程中计算量较少,在提高图像质量时可以减少处理时间和降低功耗。
可选的,第二分辨率小于第一分辨率,第二图像在第二分辨率下的图像数据和第一图像在第三分辨率下的图像数据满足关系,(w/(r*t))(h/(r*t))(c*r*r*t*t)=w*h*c,w是第一图像在第三分辨率下的宽度,h是第一图像在第三分辨率下的高度,c是第一图像在第三分辨率下的通道数,r是第一分辨率和第三分辨率之间的倍数关系,t是如果第一图像在第一分辨率下的图像数据进行S-D转换时的倍数。(w/(r*t))(h/(r*t))(c*r*r*t*t)是第二图像在第二分辨率下的图像数据,w*h*c是第一图像在第三分辨率下的图像数据,虽然两个图像数据的维度不同,但是两个图像数据中的像素总数相同,(w/r)(h/r)(c*r*r)通过维度调整可变为w*h*c。
可选的,超分辨率网络模型的输入还包括第一图像在第一分辨率下的运动向量和第一图像在第一分辨率下的动静分离数据;获得超分辨率网络模型输出的第一图像在第三分辨率下的图像数据包括:以第一图像在第一分辨率下的运动向量和第二图像在第二分辨率下的图像数据为超分辨率网络模型中对齐层的输入,获得对齐层输出的图像数据,对齐层输出的的图像数据中像素运动情况与第一图像在第一分辨率下的图像数据中像素运动情况相同,像素运动情况是相对第二图像在第二分辨率下的图像数据中的像素的;以对齐层输出的图像数据和第一图像在第一分辨率下的动静分离数据为超分辨率网络模型中去重影层的输入,获得去重影层输出的图像数据;以去重影层输出的图像数据为超分辨率网络模型中第一S-D转换层的输入,获得第一S-D转换层输出的图像数据;以第一图像在第一分辨率下的图像数据为超分辨率网络模型中第二S-D转换层的输入,获得第二S-D转换层输出的图像数据;以第一S-D转换层输出的图像数据和第二S-D转换层输出的图像数据为超分辨率网络模型中拼接层的输入,获得拼接层输出的图像数据;以拼接层输出的图像数据为超分辨率网络模型中网络层的输入,获得网络层输出的图像数据;以网络层输出的图像数据为超分辨率网络模型中D-S转换层的输入,获得D-S转换层输出的第一图像在第三分辨率下的图像数据。在本实施例中,超分辨率网络模型包括多个S-D转换层,通过S-D转换层可以对图像数据进行S-D转换。经过S-D转换后,图像数据对应的图像的宽度和图像的高度降低,图像的通道数增加,图像的高度和图像的宽度可以表示图像的分辨率,高度和宽度降低也意味着分辨率降低。对于处理器来说,对通道数的处理速度大于对宽度和高度的处理速度,因此通过S-D转换可以缩短处理时间,降低功耗。
可选的,第一S-D转换层和第二S-D转换层是同一个S-D转换层,S-D转换层用于依次对第一图像在第一分辨率下的图像数据、去重影层输出的图像数据进行S-D转换,简化超分辨率网络模型的模型结果。或者第一S-D转换层和第二S-D转换层是两个独立的S-D转换层,第一S-D转换层和第二S-D转换层可以同时执行S-D转换。
可选的,超分辨率网络模型的输入还包括第一图像在第一分辨率下的运动向量和第一图像在第一分辨率下的动静分离数据;获得超分辨率网络模型输出的第一图像在第三分辨率下的图像数据包括:以第一图像在第一分辨率下的运动向量为超分辨率网络模型中第三S-D转换层的输入,获得第三S-D转换层输出的图像数据;以第二图像在第二分辨率下的图像数据为超分辨率网络模型中第四S-D转换层的输入,获得第四S-D转换层输出的图像数据;以第三S-D转换层输出的图像数据和第四S-D转换层输出的图像数据为超分辨率网络模型中对齐层的输入,获得对齐层输出的图像数据,对齐层输出的图像数据中像素运动情况与第一图像在第一分辨率下的图像数据中像素运动情况相同,像素运动情况是相对第二图像在第二分辨率下的图像数据中的像素的;以第一图像在第一分辨率下的动静分离数据为超分辨率网络模型中第五S-D转换层的输入,获得第五S-D转换层输出的图像数据;以对齐层输出的图像数据和第五S-D转换层输出的图像数据为超分辨率网络模型中去重影层的输入,获得去重影层输出的图像数据;以第一图像在第一分辨率下的图像数据为超分辨率网络模型中第六S-D转换层的输入,获得第六S-D转换层输出的图像数据;以去重影层输出的图像数据和第六S-D转换层输出的图像数据为超分辨率网络模型中拼接层的输入,获得拼接层输出的图像数据;以拼接层输出的图像数据为超分辨率网络模型中网络层的输入,获得网络层输出的图像数据;以网络层输出的图像数据为超分辨率网络模型中D-S转换层的输入,获得D-S转换层输出的第一图像在第三分辨率下的图像数据。在本实施例中,超分辨率网络模型包括多个S-D转换层,通过S-D转换层可以对图像数据进行S-D转换。经过S-D转换后,图像数据对应的图像的宽度和图像的高度降低,图像的通道数增加,图像的高度和图像的宽度可以表示图像的分辨率,高度和宽度降低也意味着分辨率降低。对于处理器来说,对通道数的处理速度大于对宽度和高度的处理速度,因此通过S-D转换可以缩短处理时间,降低功耗。
可选的,第三S-D转换层、第四S-D转换层、第五S-D转换层和第六S-D转换层是同一个S-D转换层,S-D转换层用于依次对第一图像在第一分辨率下的运动向量、第二图像在第二分辨率下的图像数据、第一图像在第一分辨率下的动静分离数据、第一图像在第一分辨率下的图像数据进行S-D转换,简化超分辨率网络模型的模型结果。
可选的,超分辨率网络模型省去第三S-D转换层和第四S-D转换层,将第一图像在第一分辨率下的运动向量和第二图像在第二分辨率下的图像数据作为对齐层的输入;对齐层输出的图像数据经过S-D转换后输入至去重影层中。
可选的,网络层输出的图像数据中像素总数和和第一图像在第三分辨率下的图像数据的像素总数相同,这样网络层输出的图像数据在经过D-S转换层的D-S转换后,可以得到第一图像在第三分辨率下的图像数据。
可选的,网络层用于在维持拼接层输出的图像数据对应的宽度和高度不变的前提下,改变拼接层输出的图像数据对应的通道数。
可选的,以拼接层输出的图像数据为超分辨率网络模型中网络层的输入,获得网络层输出的图像数据包括:以拼接层输出的图像数据为网络层中特征处理层的输入,获得特征处理层输出的图像数据,特征处理层用于进行特征提取、非线性映射和重建中的至少一种处理;以拼接层输出的图像数据为网络层中维度调整层的输入,获得维度调整层输出的图像数据;以特征处理层输出的图像数据和维度调整层输出的图像数据为网络层中残差层的输入,获得残差层输出的图像数据,残差层输出的图像数据为网络层输出的图像数据,残差层输出的图像数据对应第一分辨率,且残差层输出的图像数据中像素总数和第一图像在第三分辨率下的图像数据的像素总数相同。残差层以特征处理层输出的图像数据和维度调整层输出的图像数据为输入,使得残差层可以利用较多的图像数据来获得与高分辨率图像对应的图像数据,图像数据精度损失降低,由此可提高高分辨率图像的图像质量。
其中特征处理层可以包括特征提取层、非线性映射层和重建层,特征提取层的输入是拼接后的图像数据,输出第一特征数据,第一特征数据可以是当前帧图像在特征空间内的图像数据。非线性映射层的输入是第一特征数据,输出第二特征数据,第二特征数据可以是当前帧图像在特征空间内的图像数据。重建层的输入是第二特征数据,输出残差图像数据,残差图像数据是在像素空间内的图像数据。去重影层通过置默认值方式消除重影,但是这种处理方式可以使得重影部分像素的取值缺失,通过特征提取层、非线性映射层、重建层和残差层的处理可以有效地恢复这些像素的取值,提高图像数据的准确度。
第二方面,本申请提供一种电子设备,电子设备包括:处理器和存储器;其中,存储器用于存储一个或多个计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,处理器执行上述图像数据处理方法。
第三方面,本申请提供一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述图像数据处理方法。
第四方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被电子设备运行时,使得电子设备执行上述图像数据处理方法。
附图说明
图1为本申请提供的超分辨率网络模型的一种模型架构示意图;
图2为本申请提供的超分辨率网络模型实施图像数据处理方法的一种工作流程图;
图3为本申请提供的超分辨率网络模型的另一种模型架构示意图;
图4为本申请提供的超分辨率网络模型实施图像数据处理方法的另一种工作流程图;
图5为本申请提供的超分辨率网络模型的再一种模型架构示意图;
图6为本申请提供的超分辨率网络模型实施图像数据处理方法的再一种工作流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
在用户使用电子设备的过程中,电子设备可以通过显示屏向用户显示一帧帧图像。以视频流为例,一个视频流可以包括多帧图像,电子设备可以在显示屏上依次显示每帧图像,实现在显示屏上显示视频流。其中图像显示可以由电子设备中的应用程序触发,应用程序可以向电子设备发出针对不同图像的渲染命令,电子设备响应渲染命令进行图像的渲染,并基于图像的渲染结果进行显示。
在一些示例中,电子设备可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-networkProcessing Unit,NPU)、内部存储器和显示屏,内部存储器也可以称为内存。GPU可以渲染低分辨率图像,节省GPU算力。算力更高、能耗更低的NPU辅助完成高分辨率图像渲染,通过主动调用NPU算力,降低电子设备的功耗。并且NPU可以分担GPU的计算量,缩短渲染过程所花费的时间,从而提高度渲染流畅度。
其中高分辨率图像渲染过程包括:CPU将图像分辨率从高分辨率降低至低分辨率,指示GPU生成低分辨率图像的图像数据,GPU将低分辨率图像的图像数据发送给NPU。NPU对低分辨率图像的图像数据进行超分辨率渲染,得到高分辨率图像的图像数据,低分辨率图像和高分辨率图像是同一图像在不同分辨率下的图像,低分辨率图像的图像数据和高分辨率图像的图像数据是同一图像在不同分辨率下的图像数据,每个图像数据的维度可以以图像的宽度、图像的高度和图像的通道数表示。GPU可以基于高分辨率图像的图像数据,在显示屏上渲染出高分辨率图像,NPU得到的高分辨率图像的图像数据决定了高分辨率图像的图像质量,因此保证高分辨率图像的图像质量、满足处理时间要求和功耗要求,是亟需解决的一个问题,处理时间要求可以是处理时间较短、功耗要求可以是功耗低。
针对上述问题,本申请提供一种图像数据处理方法,应用于电子设备中,电子设备可以基于低分辨率图像的图像数据和低分辨率图像的辅助数据,得到高分辨率图像的图像数据。在得到高分辨率图像的图像数据过程中,电子设备加入了低分辨率图像的辅助数据,增加了低分辨率图像的图像数据可利用且有效的辅助数据,使电子设备可利用数据增多且辅助数据可以对低分辨率图像的图像数据进行辅助/修正,由此电子设备可提高高分辨率图像的图像数据的准确度,高分辨率图像的图像数据的准确度得到提高,对应的高分辨率图像的图像质量也可以提高。虽然电子设备可利用数据增多,但是电子设备在得到高分辨率图像的图像数据过程中计算量较少,在提高图像质量时可以减少处理时间和降低功耗。
下面对本申请提供的图像数据处理方法进行示例性说明。首先介绍对本申请涉及的术语进行说明。
图像数据是图像中各像素的取值组成的矩阵,图像数据的维度可以以图像的宽度、图像的高度和图像的通道数表示。低分辨率图像的图像数据和高分辨率图像的图像数据是同一个图像在不同分辨率下的图像数据,低分辨率图像的图像数据的维度与高分辨率图像的图像数据的维度可以不同,两个图像数据的维度不同可以是高分辨率图像的宽度和高度大于低分辨率图像的宽度和高度。
图像的宽度和高度可以表示图像的分辨率。低分辨率图像和高分辨率图像之间的分辨率关系可以基于低分辨率图像的宽度(或高度)和高分辨率图像的宽度(或高度)确定。例如两倍超分辨率,表示高分辨率图像的宽度是低分辨率图像的宽度的2倍,高分辨率图像的高度是低分辨率图像的高度的2倍,高分辨率图像的像素数是低分辨率图像的像素数的4倍。
低分辨率图像的辅助数据是与低分辨率图像相关的数据,例如低分辨率图像的辅助数据包括低分辨率图像的运动向量和低分辨率图像的关联图像的图像数据,关联图像可以是低分辨率图像的上一帧图像,关联图像的图像数据是超分辨率网络模型对上一帧图像进行处理得到的中间结果。其中关联图像的图像数据的维度可以与低分辨率图像的图像数据的维度不同,关联图像的图像数据中像素总数与高分辨率图像的图像数据中像素总数相同。
低分辨率图像的运动向量反映了从低分辨率图像的上一帧图像到低分辨率图像,低分辨率图像中每个像素的移动情况。低分辨率图像的运动向量可以以矩阵形式表示,如运动向量可以是一个三维矩阵。
低分辨率图像的辅助数据还可以包括低分辨率图像的动静分离数据(也可以称为动静分离模板)。动静分离数据反映了图像中每个像素的动静属性,如像素是动态还是静态的,动静分离数据可以是一个二维矩阵。
卷积层(Convolution Layer)是指对图像数据进行卷积处理的神经网络层,一个神经网络层可以只与部分邻层神经网络层连接。一个卷积层中,通常包含若干个卷积核,每个卷积核可以由一些矩形排列的神经单元组成。卷积层处理的图像数据可以是低分辨率图像中各像素的取值组成的矩阵、或是低分辨率图像的图像数据经过处理后的图像数据、或是低分辨率图像的图像数据和低分辨率图像的辅助数据融合得到的数据,图像数据可以共享一组神经单元,这里共享的神经单元就是卷积核。
在本实施例中,卷积核可以是一个3*3的卷积核,也可以是一个5*5的卷积核等等,其中3*3和5*5表示卷积核的尺寸,如3*3表示卷积核的宽度和高度,不同处理阶段采用的卷积核可能不同,不同处理阶段采用的卷积核的个数也可能不同。卷积层中卷积核的个数可以确定图像数据对应的通道数。卷积层的步长可以确定是否改变图像数据对应的宽度和高度,如果卷积层的步长为1,图像数据经过卷积层处理后,图像数据对应的宽度和高度没有变化;如果卷积层的步长大于1,图像数据经过卷积层处理后,图像数据对应的宽度和高度发生变化。在本实施例中,卷积层的步长可以为1。
激活层是对图像数据进行非线性映射的层,激活层可以调用激活函数,完成对图像数据的非线性映射。激活函数可以使用线性整流函数(Rectified Linear Unit,ReLU)函数或者ReLU函数的变形函数,如使用leaky ReLU函数。图像数据经过激活层的非线性映射后,图像数据对应的通道数、宽度和高度不变。
残差层可以是由卷积层和激活层组成的残差网络,图像数据x经过残差网络处理可以输出F(x)+x。残差层可以参考经典模型ResNet的残差块进行设计,残差层的作用是防止过拟合和梯度消失,在防止过拟合和梯度消失的作用下,残差层可以使得输出的图像数据中记录的数据量大于或等于上一层输出的数据量。残差层在特定情况下允许输入和输出相同,通过这种直接映射的方式可以解决网络退化问题,避免随着网络层数增加准确度降低的问题。一种示例中,残差层包括两个卷积层和一个激活层,两个卷积层的超参数可以相同,例如两个卷积层中卷积核的维度和卷积核的数量也可以相同,激活层调用的激活函数可以是ReLU函数或者ReLU函数的变形函数,如使用leaky ReLU函数。激活层可以位于两个卷积层之间,且残差层的输入和输出之间连接,形成一种直接映射的关系,使得残差层可以具备输入和输出相同的能力。
D-S(Depth to Space)转换用于改变图像数据的排布方式,如将图像数据对应的通道数转换为宽度和高度,通过D-S转换可以得到高分辨率图像的图像数据。
像素空间和特征空间是图像数据所属的两个空间,特征空间相对于像素空间维度更高。在像素空间内的图像数据可以映射到特征空间中,得到在特征空间内的图像数据;在特征空间内的图像数据也可以映射到像素空间中,得到在像素空间内的图像数据。例如电子设备可以对在像素空间内的图像数据进行特征提取,得到更高维的抽象数据,得到在特征空间内的图像数据。
像素空间内的图像数据的含义是用户可读和用户可理解的。例如像素空间内的图像数据中元素可以表示一种图像属性,一种示例中像素空间内的图像数据可以表示图像中像素的像素值,如像素的RGB值(Red-Green-Blue,红色-绿色-蓝色)。特征空间内的图像数据可以是对像素值的抽象而来,用来表示一副图像的一些特征。例如,在特征空间表示的一张包含宠物猫的图像,其中一个特征可视化之后可以是猫的轮廓和毛发,用来表示图像中的高频信息;另一个特征可视化之后可以是模糊化之后的背景,用来表示图像中的低频信息。
在本实施例中,以低分辨率图像的图像数据、低分辨率图像的运动向量、低分辨率图像的关联图像的图像数据和低分辨率图像的动静分离数据为输入,通过一个超分辨率网络模型对输入数据进行处理,得到高分辨率图像的图像数据。
低分辨率图像的图像数据可以是当前帧图像在低分辨率下的图像数据。低分辨率图像的运动向量可以是当前帧图像在低分辨率下的运动向量。低分辨率图像的动静分离数据可以是当前帧图像在低分辨率下的动静分离数据。
低分辨率图像的关联图像的图像数据可以是超分辨率网络模型对上一帧图像进行处理时得到的中间结果,上一帧图像的中间结果可以满足一个条件,该条件可以是上一帧图像的中间结果经过D-S转换后可以得到上一帧图像在高分辨率下的图像数据。
一种示例中,超分辨率网络模型的模型架构可以如图1所示,超分辨率网络模型可以包括对齐层、去重影层、拼接层、特征提取层、非线性映射层、重建层、残差层、维度调整层和D-S转换层。各层的输入输出如下所示:
对齐层的输入是当前帧图像在低分辨率下的运动向量和上一帧图像的中间结果,输出对齐后的图像数据。去重影层的输入是当前帧图像在低分辨率下的动静分离数据和对齐后的图像数据,输出去重影后的图像数据。拼接层的输入是当前帧图像在低分辨率下的图像数据和去重影后的图像数据,输出拼接后的图像数据。对齐层、去重影层和拼接层的输入可以是在像素空间内的图像数据,对齐层、去重影层和拼接层的输出可以是在像素空间内的图像数据。
特征提取层的输入是拼接后的图像数据,输出第一特征数据,第一特征数据可以是当前帧图像在特征空间内的图像数据。非线性映射层的输入是第一特征数据,输出第二特征数据,第二特征数据可以是当前帧图像在特征空间内的图像数据。重建层的输入是第二特征数据,输出残差图像数据,残差图像数据是在像素空间内的图像数据。维度调整层的输入是拼接后的图像数据,输出维度调整后的图像数据,维度调整后的图像数据是在像素空间内的图像数据。
残差层的输入是维度调整后的数据和残差图像数据,输出与高分辨率图像对应的图像数据,与高分辨率图像对应的图像数据的分辨率是低分辨率,但是与高分辨率图像对应的图像数据通过维度调整可以得到当前帧图像在高分辨率下的图像数据,残差层输出的图像数据可以作为下一帧图像的关联图像的图像数据使用,辅助超分辨率网络模型得到下一帧图像在高分辨率下的图像数据。D-S转换层的输入是与高分辨率图像对应的图像数据,输出当前帧图像在高分辨率下的图像数据。
超分辨率网络模型实施图像数据处理方法的工作流程请参见图2所示,可以包括以下步骤:
S101、对齐层获取当前帧图像在低分辨率下的运动向量和上一帧图像的中间结果。
当前帧图像在低分辨率下的运动向量反映了从上一帧图像到当前帧图像,当前帧图像中每个像素的移动情况。当前帧图像在低分辨率下的运动向量可以基于当前帧图像中像素的位置和上一帧图像中像素的位置得到,一种示例中,对上一帧图像中的任一像素,执行如下处理:
基于上一帧图像中一个像素在当前帧图像移动到的位置和该像素在上一帧图像中的位置,得到该像素的位移量(也可以称为偏移值),对上一帧图像中的每个像素执行该处理,从而得到当前帧图像在低分辨率下的运动向量。例如假设上一帧图像中位于(1,1)点的像素在当前帧图像中移动到了(4,2),那么,(4,2)点的位移量为(3,1),在当前帧图像的运动向量中可以以(3,1)表示。若结合像素位置,(4,2)点在当前帧图像的运动向量中可以表示为(4,2,3)和(4,2,1)。
当前帧图像在低分辨率下的运动向量可以是一个三维矩阵,当前帧图像在低分辨率下的运动向量的维度可以是(w/r)*(h/r)*2,第一维和第二维表示像素在图像中的位置,第三维的数字2表示每个像素在x轴和y轴的位移量(也可以称为偏移值),如上述(4,2,3)中第三个数值3表示(4,2)点在x轴的位移量为3,(4,2,1)中第三个数值1表示(4,2)点在y轴的位移量为1。其中w表示当前帧图像的宽度,h表示当前帧图像的高度,r表示高分辨率与低分辨率之间的倍数。r也可以表示超分辨率网络模型的超分辨率倍数,超分辨率倍数指的是超分辨率网络模型可提升的分辨率的倍数,在本实施例中,超分辨率网络模型中r的取值范围可以是[2,4]中的整数或小数。
上一帧图像的中间结果是上一帧图像经过超分辨率网络模型处理得到的一个图像数据,该图像数据中像素总数与上一帧图像在高分辨率下的图像数据中像素总数相同,该图像数据经过D-S转换层的D-S转换后,得到上一帧图像在高分辨率下的图像数据。
例如上一帧图像的中间结果的维度可以是(w/r)*(h/r)*(c*r*r),上一帧图像在高分辨率下的图像数据的维度可以是w*h*c,虽然维度不同,但是(w/r)*(h/r)*(c*r*r)=w*h*c,说明上一帧图像的中间结果中的像素总数和上一帧图像在高分辨率下的图像数据中像素总数相同,(w/r)*(h/r)*(c*r*r)经过D-S转换可以将(c*r*r)中的r*r转移到宽度和高度上,得到维度是w*h*c的图像数据。
S102、对齐层以当前帧图像在低分辨率下的运动向量为参照,将上一帧图像的中间结果向当前帧图像对齐,输出对齐后的图像数据。
因为图像中物体运动和视角变换等原因,上一帧图像和当前帧图像之间存在差异,所以如果将上一帧图像的中间结果作为当前帧图像超分的参考,可以将上一帧图像的中间结果向当前帧图像对齐。其中对齐可以是将上一帧图像中像素的取值赋予给与其匹配的像素,从而得到对齐后的图像数据。注意一点的是,向当前帧图像对齐是为了得到对齐后的图像数据,对齐处理没有改变当前帧图像在低分辨率下的图像数据。
对齐的一种运算逻辑可以是:遍历当前帧图像中的行像素和列像素,一个行像素和一个列像素指向当前帧图像中的一个像素,基于运动向量,确定上一帧图像中的像素在当前帧图像中的位置,将上一帧图像中该像素的取值赋予给位于该位置的像素,上一帧图像中像素的取值记录在上一帧图像的中间结果中。运动向量指示出上一帧图像中像素在当前帧图像中的移动情况,遵循基于运动向量的运算逻辑,上一帧图像中各像素可以跟随运动向量指示的移动情况,得到一个移动情况与当前帧图像相同的对齐后的图像数据,从而在当前帧图像的处理过程中,可以复用上一帧图像的中间结果(即上一帧图像的图像数据),以辅助当前帧图像的处理过程,对图像质量提升有比较关键的作用。
例如当前帧图像中的行像素为i,列像素为j,i的取值范围为[0,w/r),j的取值范围为[0,h/r)。按照如下运算逻辑得到对齐后的图像数据:
循环行像素i:
循环列像素j:
X=i-V[i,j,1];
Y=j-V[i,j,2];
N[i,j]=P[X,Y]。
其中,V表示运动向量,V[i,j,1]中第三个分量1表示在x轴的位移量,V[i,j,2]中第三个分量2表示在y轴的位移量。N表示对齐后的图像,P表示上一帧图像,X,Y表示在N中i,j位置的像素在P中的位置。N[i,j]=P[X,Y]表示将上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素。
从对齐的运算逻辑可知,运动向量已知,上一帧图像中像素的取值已知,基于运动向量和上一帧图像中像素的取值,求取对齐后的图像数据。下面举例说明,表1示出了上一帧图像的中间结果,在上一帧图像的中间结果中以左下角为(0,0)点,上一帧图像的中间结果中记录有像素的取值,表2示出了运动向量。
表1上一帧图像的中间结果
A | ||||
表1中示出了位于(1,1)的像素的取值为A。
表2运动向量
(3,1) | ||||
表2示出了位于(1,1)的像素A移动了(3,1)。
基于上述对齐的运算逻辑,在i=4,j=2时,遍历到运动向量(3,1),确定是上一帧图像中位于(1,1)的像素A移动到了(4,2),将位于(1,1)的像素的取值A赋予给位于(4,2)的像素,即对齐后图像中位于(4,2)的像素的取值为A,对齐后的图像数据如表3所示:
表3对齐后的图像数据
A | ||||
表1中示出了位于(4,2)的像素的取值为A,是由上一帧图像中位于(1,1)的像素赋值得到。
对所有行像素和所有列像素进行遍历,基于上述对齐的运算逻辑,得到一个维度是(w/r)*(h/r)*(c*r*r)的对齐后的图像数据。
S103、去重影层获取当前帧图像在低分辨率下的动静分离数据。
上一帧图像和当前帧图像中像素的位置变化可能是两个原因引起,第一个原因是视角位置的变化,第二个原始是图像中物体运动导致的变化,物体自身产生了形变。例如拖动游戏图像中人物视角时,游戏图像中树木从左侧移动到了中间,这种因为视角位置的变化,不涉及树木自身的形变,将此类物体归类为静态物体。又例如人物在跑步时,物体爆炸时的变化,这些变化是因为物体发生运动,导致物体变化,将此类物体归类为动态物体。
一种确定物体是动态物体还是静态物体的方式是,如果物体的映射矩阵是常量,确定物体是静态物体;如果物体的映射矩阵是变量,确定物体是动态物体。映射矩阵用于将物体从物体自身坐标映射到世界坐标。
如果像素对应的物体是动态,则像素是动态的;如果像素对应的物体是静态的,则像素是静态的。在动静分离数据中通过不同取值来反映像素是动态还是静态的。一种示例中,如果像素是动态的,像素在动静分离数据中以1表示;如果像素是静态的,像素在动静分离数据中以0表示。相对应的,动静分离数据的维度可以是(w/r)*(h/r)。第一维和第二维表示像素在图像中的位置,在动静分离数据中记录位于该位置的像素是动态还是静态。
S104、去重影层以当前帧图像在低分辨率下的动静分离数据为参照,调整对齐后的图像数据中可能产生重影的像素的取值,输出去重影后的图像数据,以有效地消除图像中的重影。去重影后的图像数据的维度可以是(w/r)*(h/r)*(c*r*r)。
上一帧图像和当前帧图像中视角变化和物体运动导致物体在两帧图像中的位置发生变化,使得两帧图像的物体之间存在遮挡关系和去遮挡关系。静态物体之间因相对运动造成的遮挡关系和去遮挡关系不明显,动态物体与静态物体之间因相对运动造成的遮挡关系和去遮挡关系较为明显,基于对齐后的图像数据渲染出的图像与当前帧图像之间存在重影,降低图像质量。
为此去重影层在获取到对齐后的图像数据后,判断对齐过程中被赋值的像素与赋值的像素的动静属性是否一致,如果被赋值的像素与赋值的像素的动静属性一致,维持被赋值的像素的取值不变;如果被赋值的像素与赋值的像素的动静属性不一致,将被赋值的像素的取值置为0。
例如对齐后的图像数据中N[i,j]=P[X,Y],上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素,去重影层可以判断S[X,Y]是否等于S[i,j],S是动静分离数据。如果S[X,Y]==S[i,j],说明X,Y位置的像素与i,j位置的像素的动静属性一致,N[i,j]不变;如果S[X,Y]!=S[i,j],说明X,Y位置的像素与i,j位置的像素的动静属性不一致,N[i,j]=0。
因为动态物体与静态物体之间因相对运动造成的遮挡关系和去遮挡关系较为明显,这部分物体之间存在重影,去重影层可以将动静属性不一致的像素置0,通过置0方式消除重影。
在本实施例中,去重影层的去重影处理和对齐层的对齐处理可以在一个运算逻辑中实现,如增加去重影处理后的运算逻辑如下:
循环行像素i:
循环列像素j:
X=i-V[i,j,1];
Y=j-V[i,j,2];
If S[X,Y]==S[i,j]:
N[i,j]=P[X,Y]。
在将上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素时,增加一个赋值条件,赋值条件是S[X,Y]==S[i,j],表示X,Y位置的像素与i,j位置的像素的动静属性一致。在满足该赋值条件时,将上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素;否则默认N[i,j]=0。
表4动静分离数据
1 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
S[1,1]和S[4,2]的取值都是0,S[1,1]==S[4,2],因此N[4,2]=P[1,1]。如果S[1,1]!=S[4,2],则N[4,2]=0。
S105、拼接层获取当前帧图像在低分辨率下的图像数据,其中当前帧图像在低分辨率下的图像数据的维度可以是(w/r)*(h/r)*(c)。
S106、拼接层将当前帧图像在低分辨率下的图像数据和去重影后的图像数据的第三维进行拼接,输出拼接后的图像数据,拼接后的图像数据的第三维是拼接层输入的两个图像数据的第三维之和。拼接后的图像数据的维度可以是(w/r)*(h/r)*(c+c*r*r)。
S107、特征提取层对拼接后的图像数据进行特征提取,输出第一特征数据,第一特征数据是当前帧图像在特征空间内的图像数据。第一特征数据的维度可以与拼接后的图像数据的维度相同或不同,例如第一特征数据的第三维大于拼接后的图像数据的第三维。
在本实施例中,特征提取层可以包括至少一个卷积层和至少一个激活层。每个卷积层对图像数据进行卷积处理,激活层用于对图像数据进行非线性映射。所有卷积层中卷积核的个数可以相同,也可以不同,最后一个卷积层中卷积核的个数决定第一特征数据的第三维,例如最后一个卷积层中卷积核的个数与第一特征数据的第三维相同。
卷积层中卷积核的个数越多,特征提取层可以从拼接后的图像数据中提取到较为丰富和复杂的第一特征数据。一种示例中,最后一个卷积层中卷积核的个数可以大于拼接后的图像数据的第三维,相邻两个卷积层中卷积核的个数关系可以是上一个卷积层中卷积核的个数可以是下一个卷积层中卷积核的个数的2倍(当然也可以是其他倍数),这样经过卷积层和激活层处理后可以提取到较为丰富、复杂且有效的特征数据。
如果特征提取层包括多个卷积层,两个卷积层通过一个激活层连接,最后一个卷积层连接一个激活层,由该激活层输出第一特征数据。卷积层输出的数据可经过激活层的再次处理;激活层输出的图像数据可输入到与其连接的下一个卷积层,由下一个卷积层对图像数据继续进行卷积处理。其中卷积层中的卷积核可以是一个3*3的卷积核,也可以是一个5*5的卷积核,卷积核的第三维不进行限定,卷积层的步长可以是1,以使得第一特征数据的第一维与拼接后的图像数据的第一维相同、第一特征数据的第二维与拼接后的图像数据的第二维相同。
S108、非线性映射层对第一特征数据进行非线性映射,输出第二特征数据,第二特征数据是当前帧图像在特征空间内的图像数据。
非线性映射层与特征提取层相类似,非线性映射层可以包括至少一个卷积层和至少一个激活层。所有卷积层中卷积核的个数可以相同,也可以不同,最后一个卷积层中卷积核的个数决定第二特征数据的第三维,例如最后一个卷积层中卷积核的个数与第二特征数据的第三维相同。第二特征数据的维度可以与第一特征数据的维度相同或不同。
卷积层中的卷积核可以是一个3*3的卷积核,也可以是一个5*5的卷积核,卷积核的第三维不进行限定,卷积层的步长可以是1,以使得第二特征数据的第一维与第一特征数据的第一维相同、第二特征数据的第二维与第一特征数据的第二维相同。
在一种示例中,第二特征数据的第一维和第二维分别是(w/r)和(h/r),说明第二特征数据是当前帧图像在低分辨率表示的特征空间内的图像数据,非线性映射层的作用可以是将第二特征数据映射到高分辨率表示的特征空间内的图像数据。一种实现方式可以是,非线性映射得到的第二特征数据中像素总数与当前帧图像在高分辨率下的图像数据中像素总数相同,但第二特征数据的维度与当前帧图像在高分辨率下的图像数据的维度不同,如两者维度满足的关系是:第二特征数据对应的宽度小于当前帧图像在高分辨率下的图像数据对应的宽度、第二特征数据对应的高度小于当前帧图像在高分辨率下的图像数据对应的高度、第二特征数据对应的通道数大于当前帧图像在高分辨率下的图像数据对应的通道数。
如一种示例中,第二特征数据的维度是(w/r)*(h/r)*(c*r*r),当前帧图像在高分辨率下的图像数据的维度是w*h*c,虽然维度不同,但是像素总数相同,对应的非线性映射层中最后一个卷积层中卷积核的个数可以是c*r*r。
S109、重建层对第二特征数据进行特征空间到像素空间的映射,输出残差图像数据,残差图像数据是在像素空间内的图像数据。
重建层与特征提取层相类似,重建层可以包括至少一个卷积层和至少一个激活层。所有卷积层中卷积核的个数可以相同,也可以不同,最后一个卷积层中卷积核的个数决定残差图像数据的第三维,例如最后一个卷积层中卷积核的个数与第二特征数据的第三维相同。残差图像数据的维度可以与第二特征数据的维度相同或不同,例如残差图像数据的维度可以是(w/r)*(h/r)*(c*r*r)。
卷积层中的卷积核可以是一个3*3的卷积核,也可以是一个5*5的卷积核,卷积核的第三维不进行限定,卷积层的步长可以是1,以使得残差图像数据的第一维与第二特征数据的第一维相同、残差图像数据的第二维与第二特征数据的第二维相同。
S110、维度调整层对拼接后的图像数据进行维度调整,输出维度调整后的图像数据。维度调整后的图像数据可以是当前帧图像在像素空间内的图像数据,维度调整后的图像数据可以和残差图像数据的维度相同,例如维度调整后的图像数据和残差图像数据的维度可以是(w/r)*(h/r)*(c*r*r)。
拼接后的图像数据的维度是(w/r)*(h/r)*(c+c*r*r),维度调整层对拼接后的图像数据进行维度调整可以是改变拼接后的图像数据的第三维,如将(c+c*r*r)调整成(c*r*r)。一种方式是维度调整层包括至少一个卷积层,所有卷积层中卷积核的个数可以相同,也可以不同,最后一个卷积层中卷积核的个数决定图像数据的第三维,那么若将(c+c*r*r)调整成(c*r*r),则最后一个卷积层中卷积核的个数可以是c*r*r。
S111、残差层对维度调整后的图像数据和残差图像数据进行处理,输出与高分辨率图像对应的图像数据,与高分辨率图像对应的图像数据的分辨率是低分辨率,但是通过转换可以得到当前帧图像在高分辨率下的图像数据,与高分辨率图像对应的图像数据是一个在像素空间内的维度是(w/r)*(h/r)*(c*r*r)的图像数据。
残差层可以是由卷积层和激活层组成的残差网络,以维度调整后的图像数据和残差图像数据为输入,通过残差网络处理,输出与高分辨率图像对应的图像数据。与高分辨率图像对应的图像数据可以是维度调整后的图像数据和残差图像数据的相加结果,相加是维度调整后的图像数据和残差图像数据中相同位置的元素的取值求和。
残差层输出的在像素空间内的维度是(w/r)*(h/r)*(c*r*r)的图像数据作为当前帧图像的中间结果,在超分辨率网络模型对下一帧图像进行处理时作为输入数据使用,使得下一帧图像可以参照当前帧图像的中间结果进行超分,以在获取到下一帧图像在低分辨率下的图像数据后,基于超分辨率网络模型输出下一帧图像在高分辨率下的图像数据。
在这里说明一点,去重影层通过置0方式消除重影,但是置0可以使得重影部分像素的取值缺失,通过特征提取层、非线性映射层、重建层和残差层的处理可以有效地恢复这些像素的取值,提高图像数据的准确度。
S112、D-S转换层对与高分辨率图像对应的图像数据进行D-S转换,得到当前帧图像在高分辨率下的图像数据。通过D-S转换将一个维度是(w/r)*(h/r)*(c*r*r)的图像数据中的r*r转移到宽度和高度上,得到维度是w*h*c的图像数据,从而得到了当前帧图像在高分辨率下的图像数据。
在本实施例中,超分辨率网络模型的输入可以包括当前帧图像在低分辨率下的图像数据、当前帧图像在低分辨率下的运动向量、当前帧图像在低分辨率下的动静分离数据和上一帧图像的中间结果,对当前帧图像在低分辨率下的图像数据进行超分处理过程中,可以参照当前帧图像在低分辨率下的运动向量、当前帧图像在低分辨率下的动静分离数据和上一帧图像的中间结果,增加了超分辨率网络模型可利用且有效的图像数据,使超分辨率网络模型可利用数据增多且利用这些数据可以对当前帧图像在低分辨率下的图像数据进行辅助/修正,由此超分辨率网络模型可提高当前帧图像在高分辨率下的图像数据的准确度,当前帧图像在高分辨率下的图像数据的准确度得到提高,对应的高分辨率图像的图像质量也会提高。虽然超分辨率网络模型可利用数据增多,但是超分辨率网络模型在得到当前帧图像在高分辨率下的图像数据过程中计算量较少,在提高图像质量时可以减少处理时间和降低功耗。
其中,当前帧图像在低分辨率下的运动向量可以使上一帧图像的中间结果向当前帧图像对齐,生成一个跟当前帧图像中像素位置一致的上一帧图像的图像数据(即对齐后的图像数据)。当前帧图像在低分辨率下的动静分离数据可以使对齐后的图像数据中像素的动静属性与当前帧图像在低分辨率下的图像数据中像素的动静属性相同,达到去重影的目的,以此通过当前帧图像在低分辨率下的运动向量和当前帧图像在低分辨率下的动静分离数据可以提高输入到拼接层中图像数据的准确度,提高图像质量。
残差层的输入可以是维度调整后的图像数据和残差图像数据,使得残差层可以利用较多的图像数据来获得与高分辨率图像对应的图像数据,图像数据精度损失降低,由此可提高高分辨率图像的图像质量。
在一种示例中,超分辨率网络模型的模型架构可以如图3所示,超分辨率网络模型可以包括对齐层、去重影层、拼接层、S-D转换层、特征提取层、非线性映射层、重建层、残差层、维度调整层和D-S转换层。各层的输入输出如下所示:
对齐层的输入可以是当前帧图像在低分辨率下的运动向量和上一帧图像的中间结果,输出对齐后的图像数据。去重影层的输入可以是当前帧图像在低分辨率下的动静分离数据和对齐后的图像数据,输出去重影后的图像数据。S-D转换层的输入可以是当前帧图像在低分辨率下的图像数据,输出当前帧图像转换后的图像数据;S-D转换层的输入可以是去重影后的图像数据,输出去重影转换后的图像数据。拼接层的输入可以是当前帧图像转换后的图像数据和去重影转换后的图像数据,输出拼接后的图像数据。对齐层、去重影层、S-D转换层和拼接层的输入可以是在像素空间内的图像数据,对齐层、去重影层、S-D转换层和拼接层的输出可以是在像素空间内的图像数据。
特征提取层的输入是拼接后的图像数据,输出第一特征数据,第一特征数据可以是当前帧图像在特征空间内的图像数据。非线性映射层的输入是第一特征数据,输出第二特征数据,第二特征数据可以是当前帧图像在特征空间内的图像数据。重建层的输入是第二特征数据,输出残差图像数据,残差图像数据是在像素空间内的图像数据。维度调整层的输入是拼接后的图像数据,输出维度调整后的图像数据,维度调整后的图像数据是在像素空间内的图像数据。
残差层的输入是维度调整后的图像数据和残差图像数据,输出与高分辨率图像对应的图像数据。D-S转换层的输入是与高分辨率图像对应的图像数据,输出当前帧图像在高分辨率下的图像数据。
图3所示超分辨率网络模型实施图像数据处理方法的工作流程图如图4所示,可以包括以下步骤:
S101、对齐层获取当前帧图像在低分辨率下的运动向量和上一帧图像的中间结果。
S102、对齐层以当前帧图像在低分辨率下的运动向量为参照,将上一帧图像的中间结果向当前帧图像对齐,输出对齐后的图像数据。
S103、去重影层获取当前帧图像在低分辨率下的动静分离数据。
S104、去重影层以当前帧图像在低分辨率下的动静分离数据为参照,调整对齐后的图像数据中可能产生重影的像素的取值,输出去重影后的图像数据,以有效地消除图像中的重影。
S105’、S-D转换层对当前帧图像在低分辨率下的图像数据进行S-D转换,得到当前帧图像转换后的图像数据。
S-D转换是将图像的宽度和高度转移到图像的通道数上。其中当前帧图像在低分辨率下的图像数据的维度可以是(w/r)*(h/r)*(c),经过S-D转换后,当前帧图像在低分辨率下的图像数据的维度发生变化,维度从(w/r)*(h/r)*(c)变为(w/(r*t))*(h/(r*t))*(c*t*t),完成图像的宽度和高度向图像的通道数的转移,t表示当前帧图像在低分辨率下的图像数据进行了t倍S-D转换。
以进行2倍S-D转换为例,当前帧图像在低分辨率下的图像数据在经过2倍S-D转换后,当前帧图像转换后的图像数据是一个维度是(w/(r*2))*(h/(r*2))*(c*r*r*2*2)的图像数据。若进行3倍S-D转换,输出一个维度是(w/(r*3))*(h/(r*3))*(c*r*r*3*3)的图像数据。经过S-D转换后,图像数据对应的图像的宽度和图像的高度降低,图像的通道数增加,图像的高度和图像的宽度可以表示图像的分辨率,高度和宽度降低也意味着分辨率降低。对于NPU等处理器来说,对通道数的处理速度大于对宽度和高度的处理速度,因此通过S-D转换可以缩短处理时间,降低功耗。
S105”、S-D转换层对去重影后的图像数据进行S-D转换,得到去重影转换后的图像数据。去重影转换后的图像数据可以是一个维度是(w/(r*t))*(h/(r*t))*(c*r*r*t*t)的图像数据。
其中,S-D转换层可以先执行步骤S105”,对去重影后的图像数据进行S-D转换;再执行步骤S105’,对当前帧图像在低分辨率下的图像数据进行S-D转换。
S106’、拼接层将当前帧图像转换后的图像数据和去重影转换后的图像数据的第三维进行拼接,输出拼接后的图像数据,拼接后的图像数据的第三维是拼接层输入的两个图像数据的第三维之和。
拼接后的图像数据可以是一个维度是(w/(r*t))*(h/(r*t))*(c*t*t+c*r*r*t*t)的图像数据。
S107、特征提取层对拼接后的图像数据进行特征提取,输出第一特征数据,第一特征数据是当前帧图像在特征空间内的图像数据。第一特征数据的维度可以与拼接后的图像数据的维度相同或不同,例如第一特征数据的第三维大于拼接后的图像数据的第三维。
S108、非线性映射层对第一特征数据进行非线性映射,输出第二特征数据,第二特征数据是当前帧图像在特征空间内的图像数据。
S109、重建层对第二特征数据进行特征空间到像素空间的映射,输出残差图像数据,残差图像数据是在像素空间内的图像数据。
S110、维度调整层对拼接后的图像数据进行维度调整,输出维度调整后的图像数据。维度调整后的图像数据可以是当前帧图像在像素空间内的图像数据,维度调整后的图像数据可以和残差图像数据的维度相同,例如维度调整后的图像数据和残差图像数据的维度可以是(w/r)*(h/r)*(c*r*r)。
S111、残差层对维度调整后的图像数据和残差图像数据进行处理,输出与高分辨率图像对应的图像数据,与高分辨率图像对应的图像数据可以是一个在像素空间内的维度是(w/(r*t))*(h/(r*t))*(c*r*r*t*t)的图像数据。
S112、D-S转换层对与高分辨率图像对应的图像数据进行D-S转换,得到当前帧图像在高分辨率下的图像数据。通过D-S转换将一个维度是(w/(r*t))*(h/(r*t))*(c*r*r*t*t)的图像数据中的r*r*t*t转移到宽度和高度上,得到维度是w*h*c的图像数据,从而得到了当前帧图像在高分辨率下的图像数据。
相对于图1和图2所示超分辨率网络模型,图3和图4所示超分辨率网络模型中加入了S-D转换层,S-D转换层可以对去重影后的图像数据和当前帧图像在低分辨率下的图像数据进行S-D转换,经过S-D转换后,图像数据对应的图像的宽度和图像的高度降低,图像的通道数增加,图像的高度和图像的宽度可以表示图像的分辨率,高度和宽度降低也意味着分辨率降低。对于NPU等处理器来说,对通道数的处理速度大于对宽度和高度的处理速度,因此通过S-D转换可以缩短处理时间,降低功耗。
图3和图4所示超分辨率网络模型可以包括一个S-D转换层,由S-D转换层对去重影后的图像数据和当前帧图像在低分辨率下的图像数据进行S-D转换;又或者超分辨率网络模型可以包括两个S-D转换层,一个S-D转换层对去重影后的图像数据,另一个S-D转换层对当前帧图像在低分辨率下的图像数据进行S-D转换,两个S-D转换层可以同时执行S-D转换。
此外,S-D转换层除了对去重影后的图像数据和当前帧图像在低分辨率下的图像数据进行S-D转换,S-D转换层可以设置在超分辨率网络模型中的其他层。一种示例中,在对上一帧图像的中间结果向当前帧对齐之前,增加一个S-D转换层,S-D转换层对上一帧图像的中间结果进行S-D转换,得到上一帧图像的图像数据,上一帧图像的图像数据的维度从(w/r)*(h/r)*(c*r*r)变为(w/(r*t))*(h/(r*t))*(c*r*r*t*t),其中t表示上一帧图像的中间结果进行t倍S-D转换。
因上一帧图像的图像数据对应的宽度(w/(r*t))、高度是(h/(r*t)),上一帧图像的图像数据参照当前帧图像在低分辨率下的运动向量,向当前帧对齐过程中,当前帧图像在低分辨率下的运动向量对应的宽度要与上一帧图像的图像数据对应的宽度相同、当前帧图像在低分辨率下的运动向量对应的高度要与上一帧图像的图像数据对应的高度相同,所以S-D转换层除了对上一帧图像的中间结果进行S-D转换之外,还对当前帧图像在低分辨率下的运动向量进行S-D转换。为了参照当前帧图像在低分辨率下的动静分离数据进行去重影,S-D转换层还对当前帧图像在低分辨率下的动静分离数据进行S-D转换。
相对应的,超分辨率网络模型的模型结构如图5所示,图5所示超分辨率网络模型包括四个S-D转换层。一个S-D转换层位于拼接层之前,对当前帧图像在低分辨率下的图像数据进行S-D转换。剩余三个S-D转换层位于对齐层之前,分别对上一帧图像的中间结果、当前帧图像在低分辨率下的运动向量、当前帧图像在低分辨率下的动静分离数据进行S-D转换。虽然图5所示超分辨率网络模型以四个S-D转换层为例,在实际设计过程中,超分辨率网络模型可以包括至少一个S-D转换层,至少一个S-D转换层完成对当前帧图像在低分辨率下的图像数据、上一帧图像的中间结果、当前帧图像在低分辨率下的运动向量、当前帧图像在低分辨率下的动静分离数据进行S-D转换。
图5所示超分辨率网络模型实施图像数据处理方法的工作流程图如图6所示,可以包括以下步骤:
S101’、S-D转换层对上一帧图像的中间结果进行S-D转换,得到上一帧图像的图像数据。
上一帧图像的中间结果是以张量(矩阵)形式表示,上一帧图像的中间结果的维度是(w/r)*(h/r)*(c*r*r),那么通过S-D转换后,中间结果的维度发生变化,从(w/r)*(h/r)*(c*r*r)变为(w/(r*t))*(h/(r*t))*(c*r*r*t*t),其中t表示上一帧图像的中间结果进行t倍S-D转换。
以进行2倍S-D转换为例,上一帧图像的中间结果在经过2倍S-D转换后,上一帧图像的图像数据是一个维度是(w/(r*2))*(h/(r*2))*(c*r*r*2*2)的张量。若进行3倍S-D转换,输出一个维度是(w/(r*3))*(h/(r*3))*(c*r*r*3*3)的张量。经过S-D转换后,图像数据对应的图像的宽度和图像的高度降低,图像的通道数增加,图像的高度和图像的宽度可以表示图像的分辨率,高度和宽度降低也意味着分辨率降低。对于NPU等处理器来说,对通道数的处理速度大于对宽度和高度的处理速度,因此通过S-D转换可以缩短处理时间,降低功耗。
S101”、S-D转换层对当前帧图像在低分辨率下的运动向量进行S-D转换,得到转换后的运动向量。当前帧图像在低分辨率下的运动向量可以参照步骤S101的说明,在得到当前帧图像在低分辨率下的运动向量后,S-D转换层对其进行S-D转换,改变运动向量的维度。如将运动向量的维度从(w/r)*(h/r)*2转换成(w/(r*t))*(h/(r*t))*(2*t*t)。
S102’、对齐层以转换后的运动向量为参照,将上一帧图像的图像数据向当前帧图像对齐,输出对齐后的图像数据。
对齐的一种逻辑与上述S102相似,一种示例中,对齐的一种运算逻辑可以是:遍历当前帧图像中的行像素和列像素,一个行像素和一个列像素指向当前帧图像中的一个像素,基于运动向量,确定上一帧图像中的像素在当前帧图像中的位置,将上一帧图像中该像素的取值赋予给当前帧图像中位于该位置的像素,上一帧图像中像素的取值记录在上一帧图像的中间结果中。
例如当前帧图像中的行像素为i,列像素为j,i的取值范围为[0,w/(r*t)),j的取值范围为[0,h/(r*t))。按照如下运算逻辑得到对齐后的图像数据:
循环行像素i:
循环列像素j:
X=i-V[i,j,1];
Y=j-V[i,j,2];
N[i,j]=P[X,Y]。
其中,V表示转换后的运动向量,V[i,j,1]中第三个分量1表示在x轴的位移量,V[i,j,2]中第三个分量2表示在y轴的位移量。N表示对齐后的图像,P表示上一帧图像,X,Y表示在N中i,j位置的像素在P中的位置。N[i,j]=P[X,Y]表示将上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素。
S103’、S-D转换层对当前帧图像在低分辨率下的动静分离数据进行S-D转换,得到转换后的动静分离数据。当前帧图像在低分辨率下的动静分离数据的获得过程可以参见上述步骤S103的说明,在得到当前帧图像在低分辨率下的运动向量后,S-D转换层对其进行S-D转换,改变动静分离数据的维度。如将动静分离数据的维度从(w/r)*(h/r)转换成(w/(r*t))*(h/(r*t))。
S104’、去重影层以转换后的动静分离数据为参照,调整对齐后的图像数据中可能产生重影的像素的取值,输出去重影后的图像数据,以有效地消除图像中的重影。去重影过程与上述步骤S104相似,通过判断S[X,Y]是否等于S[i,j]来决定对齐后的图像数据中N[i,j]的取值。例如对齐后的图像数据中N[i,j]=P[X,Y],上一帧图像中X,Y位置的像素的取值赋予给N中i,j位置的像素,去重影层可以判断S[X,Y]是否等于S[i,j],S是动静分离数据。如果S[X,Y]==S[i,j],说明X,Y位置的像素与i,j位置的像素的动静属性一致,N[i,j]不变;如果S[X,Y]!=S[i,j],说明X,Y位置的像素与i,j位置的像素的动静属性不一致,N[i,j]=0。
当然,在本实施例中,去重影层的去重影处理和对齐层的对齐处理可以在一个运算逻辑中实现,具体请参见上述步骤S104。
S105’、S-D转换层对当前帧图像在低分辨率下的图像数据进行S-D转换,得到转换后的图像数据,其中当前帧图像在低分辨率下的图像数据的维度可以是(w/r)*(h/r)*(c),经过S-的转换后,转换后的图像数据的维度可以是(w/(r*t))*(h/(r*t))*(c*t*t)。
S106’、拼接层将转换后的图像数据和去重影后的图像数据的第三维进行拼接,输出拼接后的图像数据,拼接后的图像数据的第三维是拼接层输入的两个图像数据的第三维之和。
S107、特征提取层对拼接后的图像数据进行特征提取,输出第一特征数据,第一特征数据是当前帧图像在特征空间内的图像数据。第一特征数据的维度可以与拼接后的图像数据的维度相同或不同,例如第一特征数据的第三维大于拼接后的图像数据的第三维。
S108、非线性映射层对第一特征数据进行非线性映射,输出第二特征数据,第二特征数据是当前帧图像在特征空间内的图像数据。
S109、重建层对第二特征数据进行特征空间到像素空间的映射,输出残差图像数据,残差图像数据是在像素空间内的图像数据。
S110、维度调整层对拼接后的图像数据进行维度调整,输出维度调整后的图像数据。维度调整后的图像数据可以是当前帧图像在像素空间内的图像数据,维度调整后的图像数据可以和残差图像数据的维度相同,例如维度调整后的图像数据和残差图像数据的维度可以是(w/r)*(h/r)*(c*r*r)。
S111、残差层对维度调整后的图像数据和残差图像数据进行处理,输出与高分辨率图像对应的图像数据,与高分辨率图像对应的图像数据是一个在像素空间内的维度是(w/(r*t))*(h/(r*t))*(c*r*r*t*t)的图像数据。
S112、D-S转换层对与高分辨率图像对应的图像数据进行D-S转换,得到当前帧图像在高分辨率下的图像数据。通过D-S转换将一个维度是(w/(r*t))*(h/(r*t))*(c*r*r*t*t)的图像数据中的r*r*t*t转移到宽度和高度上,得到维度是w*h*c的图像数据,从而得到了当前帧图像在高分辨率下的图像数据。
在一些示例中,超分辨率网络模型可以对当前帧图像在低分辨率下的运动向量进行S-D转换,在对齐层和去重影层之间增加S-D转换过程,以对对齐后的图像数据进行S-D转换,去重影之前对当前帧图像在低分辨率下的动静分离数据进行S-D转换。超分辨率网络模型可以包括至少一个S-D转换层,由至少一个S-D转换层完成对当前帧图像在低分辨率下的运动向量、对齐后的图像数据和当前帧图像在低分辨率下的动静分离数据的S-D转换。
在一些示例中,电子设备中的至少一个处理器可以调用超分辨率网络模型实施本申请提供的图像数据处理方法。如NPU可以调用超分辨率网络模型实施本申请提供的图像数据处理方法;又例如NPU和GPU调用超分辨率网络模型,NPU和GPU可以分别实施本申请提供的图像数据处理方法中的部分步骤,由NPU和GPU相结合来实施图像数据处理方法。
在一些示例中,超分辨率网络模型中的各层可以作为模块,配置在电子设备的至少一个处理器中,由至少一个处理器调用这些模块实施上述图像数据处理方法。
在本实施例中,上述超分辨率网络模型可以利用多个图像数据对训练得到,一个图像数据对包括训练图像在低分辨率下的图像数据和在高分辨率下的图像数据,简称为一个图像数据对包括低分辨率图像的图像数据和高分辨率图像的图像数据,为了与超分辨率网络模型输出的高分辨率图像的图像数据进行区分,图像数据对中的高分辨率图像的图像数据称为高分辨率图像的真实图像数据。
超分辨率网络模型的训练过程是:向超分辨率网络模型输入一个图像数据对中的低分辨率图像的图像数据,超分辨率网络模型输出高分辨率图像的图像数据;基于输出的高分辨率图像的图像数据和图像数据对中的真实图像数据,使用至少一个损失函数计算损失值,基于损失值对超分辨率网络模型的模型参数进行调整,例如对超分辨率模型中卷积层的模型参数(如卷积核)进行调整。
在一种示例中,超分辨率网络模型使用多个损失函数,多个损失函数分别从不同方面对超分辨率网络模型进行约束。例如一个损失函数从像素值上约束超分辨率网络模型,使超分辨率网络模型渲染出的高分辨率图像的图像数据与真实图像数据接近;一个损失函数从特征空间上约束超分辨率网络模型,超分辨率网络模型输出高分辨率图像的图像数据后,基于该图像数据渲染出的高分辨率图像较清晰;一个损失函数可以从高频信息上约束超分辨率网络模型,超分辨率网络模型输出高分辨率图像的图像数据后,基于该图像数据渲染出的高分辨率图像的图像边缘较平滑。如多个损失函数的计算公式如下:
上述计算公式中,h、w和c为图像的宽度、高度和通道数,(I)i,j,k为真实图像数据中(i,j,k)处的像素值,(I′)i,j,k为超分辨率网络模型输出的图像数据中(i,j,k)处的像素值,I为真实图像数据,I′为超分辨率网络模型输出的图像数据;VGG为一个ImageNet数据集上预训练的图像分类网络,VGGm说明利用VGG网络的前m层,如前5层。sobel是图像处理中常用的索贝尔算子,用于提取图像边缘。
总的损失函数是:L=L1+w1*Lperceptual+w2*Lsobel,w1和w2是权重,w1和w2的取值可以在训练过程中由用户指定,基于总的损失函数可以得到超分辨率网络模型的损失值,然后基于超分辨率网络模型的损失值,对超分辨率网络模型的模型参数进行调整直至超分辨率网络模型收敛。模型参数可以是特征提取层、非线性映射层、重建层和残差层中卷积核参数。模型参数也可以包括维度调整层中卷积核参数。
此外,超分辨率网络模型中特征提取层和非线性映射层针对的是特征空间,重建层针对的是像素空间,特征空间对应图像中的高频信息,像素空间对应图像中的低频信息,那么特征提取层和非线性映射层可以学习图像的高频信息,省去学习图像的低频信息;重建层可以学习图像的低频信息,省去学习图像的高频信息。无论是特征提取层、非线性映射层还是重建层,其学习的任务/工作量降低,因此超分辨率网络模型在训练时可以提高收敛速度。并且超分辨率网络模型的量化误差主要针对高频信息,使得超分辨率网络模型量化后精度损失较少,推理结果的稳定性得到提升。
此外,本申请提供一种电子设备,电子设备包括:处理器和存储器;其中,存储器用于存储一个或多个计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,处理器执行上述图像数据处理方法。
本申请提供一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述图像数据处理方法。
本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被电子设备运行时,使得电子设备执行上述图像数据处理方法。
Claims (17)
1.一种图像数据处理方法,其特征在于,所述方法包括:
至少以第一图像在第一分辨率下的图像数据和第二图像在第二分辨率下的图像数据为超分辨率网络模型的输入,获得所述超分辨率网络模型输出的所述第一图像在第三分辨率下的图像数据;
所述第二图像是所述第一图像的上一帧图像,所述第一分辨率小于所述第三分辨率,所述第二图像在第二分辨率下的图像数据中像素总数和所述第一图像在第三分辨率下的图像数据的像素总数相同;
所述超分辨率网络模型的输入还包括所述第一图像在所述第一分辨率下的运动向量,所述第一图像在所述第一分辨率下的运动向量和所述第二图像在所述第二分辨率下的图像数据用于生成第一图像数据,所述第一图像数据中像素运动情况与所述第一图像在所述第一分辨率下的图像数据中像素运动情况相同,所述像素运动情况是相对所述第二图像在所述第二分辨率下的图像数据中的像素的。
2.根据权利要求1所述的方法,其特征在于,所述超分辨率网络模型的输入还包括所述第一图像在所述第一分辨率下的动静分离数据,所述第一图像在所述第一分辨率下的动静分离数据用于调整所述第一图像数据中像素的取值。
3.根据权利要求1或2所述的方法,其特征在于,所述第一图像在所述第一分辨率下的运动向量和所述第二图像在所述第二分辨率下的图像数据用于生成第一图像数据包括:
基于所述第一图像在所述第一分辨率下的运动向量,确定所述第二图像在所述第二分辨率下的图像数据中像素在所述第一图像中的位置,将所述像素的取值赋值给位于所述位置的像素;
在基于所述第一图像在所述第一分辨率下的运动向量遍历完所有像素并完成所有像素的赋值后,得到所述第一图像数据。
4.根据权利要求2所述的方法,其特征在于,所述第一图像在所述第一分辨率下的动静分离数据用于调整所述第一图像数据中像素的取值包括:
如果所述第一图像数据中第一像素的动静属性与所述第一图像数据中第二像素的动静属性相同,维持所述第一像素的取值不变,所述第一像素的取值是由所述第二像素赋值得到;
如果所述第一像素的动静属性与所述第二像素的动静属性不同,调整所述第一像素的取值为默认值。
5.根据权利要求1、2、4中任意一项所述的方法,其特征在于,所述第二分辨率和所述第一分辨率相同,所述第二图像在所述第二分辨率下的图像数据和所述第一图像在第三分辨率下的图像数据满足关系,(w/r)(h/r)(c*r*r)=w*h*c,w是所述第一图像在所述第三分辨率下的宽度,h是所述第一图像在所述第三分辨率下的高度,c是所述第一图像在所述第三分辨率下的通道数,r是所述第一分辨率和所述第三分辨率之间的倍数关系。
6.根据权利要求1、2、4中任意一项所述的方法,其特征在于,所述超分辨率网络模型的输入还包括所述第一图像在所述第一分辨率下的运动向量和所述第一图像在所述第一分辨率下的动静分离数据;所述获得所述超分辨率网络模型输出的所述第一图像在第三分辨率下的图像数据包括:
以所述第一图像在所述第一分辨率下的运动向量和所述第二图像在所述第二分辨率下的图像数据为所述超分辨率网络模型中对齐层的输入,获得所述对齐层输出的图像数据,所述对齐层输出的图像数据中像素运动情况与所述第一图像在所述第一分辨率下的图像数据中像素运动情况相同,所述像素运动情况是相对所述第二图像在所述第二分辨率下的图像数据中的像素的;
以所述对齐层输出的图像数据和所述第一图像在所述第一分辨率下的动静分离数据为所述超分辨率网络模型中去重影层的输入,获得所述去重影层输出的图像数据;
以所述去重影层输出的图像数据和所述第一图像在所述第一分辨率下的图像数据为所述超分辨率网络模型中拼接层的输入,获得所述拼接层输出的图像数据;
以所述拼接层输出的图像数据为所述超分辨率网络模型中网络层的输入,获得所述网络层输出的图像数据;
以所述网络层输出的图像数据为所述超分辨率网络模型中D-S转换层的输入,获得所述D-S转换层输出的所述第一图像在所述第三分辨率下的图像数据。
7.根据权利要求1、2、4中任意一项所述的方法,其特征在于,所述第二分辨率小于所述第一分辨率,所述第二图像在所述第二分辨率下的图像数据和所述第一图像在第三分辨率下的图像数据满足关系,(w/(r*t))(h/(r*t))(c*r*r*t*t)=w*h*c,w是所述第一图像在所述第三分辨率下的宽度,h是所述第一图像在所述第三分辨率下的高度,c是所述第一图像在所述第三分辨率下的通道数,r是所述第一分辨率和所述第三分辨率之间的倍数关系,t是如果所述第一图像在第一分辨率下的图像数据进行S-D转换时的倍数。
8.根据权利要求1、2、4中任意一项所述的方法,其特征在于,所述超分辨率网络模型的输入还包括所述第一图像在所述第一分辨率下的运动向量和所述第一图像在所述第一分辨率下的动静分离数据;所述获得所述超分辨率网络模型输出的所述第一图像在第三分辨率下的图像数据包括:
以所述第一图像在所述第一分辨率下的运动向量和所述第二图像在所述第二分辨率下的图像数据为所述超分辨率网络模型中对齐层的输入,获得所述对齐层输出的图像数据,所述对齐层输出的图像数据中像素运动情况与所述第一图像在所述第一分辨率下的图像数据中像素运动情况相同,所述像素运动情况是相对所述第二图像在所述第二分辨率下的图像数据中的像素的;
以所述对齐层输出的图像数据和所述第一图像在所述第一分辨率下的动静分离数据为所述超分辨率网络模型中去重影层的输入,获得所述去重影层输出的图像数据;
以所述去重影层输出的图像数据为所述超分辨率网络模型中第一S-D转换层的输入,获得所述第一S-D转换层输出的图像数据;
以所述第一图像在所述第一分辨率下的图像数据为所述超分辨率网络模型中第二S-D转换层的输入,获得所述第二S-D转换层输出的图像数据;
以所述第一S-D转换层输出的图像数据和所述第二S-D转换层输出的图像数据为所述超分辨率网络模型中拼接层的输入,获得所述拼接层输出的图像数据;
以所述拼接层输出的图像数据为所述超分辨率网络模型中网络层的输入,获得所述网络层输出的图像数据;
以所述网络层输出的图像数据为所述超分辨率网络模型中D-S转换层的输入,获得所述D-S转换层输出的所述第一图像在所述第三分辨率下的图像数据。
9.根据权利要求8所述的方法,其特征在于,所述第一S-D转换层和所述第二S-D转换层是同一个S-D转换层,所述S-D转换层用于依次对所述第一图像在所述第一分辨率下的图像数据、所述去重影层输出的图像数据进行S-D转换。
10.根据权利要求1、2、4中任意一项所述的方法,其特征在于,所述超分辨率网络模型的输入还包括所述第一图像在所述第一分辨率下的运动向量和所述第一图像在所述第一分辨率下的动静分离数据;所述获得所述超分辨率网络模型输出的所述第一图像在第三分辨率下的图像数据包括:
以所述第一图像在所述第一分辨率下的运动向量为所述超分辨率网络模型中第三S-D转换层的输入,获得所述第三S-D转换层输出的图像数据;
以所述第二图像在所述第二分辨率下的图像数据为所述超分辨率网络模型中第四S-D转换层的输入,获得所述第四S-D转换层输出的图像数据;
以所述第三S-D转换层输出的图像数据和所述第四S-D转换层输出的图像数据为所述超分辨率网络模型中对齐层的输入,获得所述对齐层输出的图像数据,所述对齐层输出的图像数据中像素运动情况与所述第一图像在所述第一分辨率下的图像数据中像素运动情况相同,所述像素运动情况是相对所述第二图像在所述第二分辨率下的图像数据中的像素的;
以所述第一图像在所述第一分辨率下的动静分离数据为所述超分辨率网络模型中第五S-D转换层的输入,获得所述第五S-D转换层输出的图像数据;
以所述对齐层输出的图像数据和所述第五S-D转换层输出的图像数据为所述超分辨率网络模型中去重影层的输入,获得所述去重影层输出的图像数据;
以所述第一图像在所述第一分辨率下的图像数据为所述超分辨率网络模型中第六S-D转换层的输入,获得所述第六S-D转换层输出的图像数据;
以所述去重影层输出的图像数据和所述第六S-D转换层输出的图像数据为所述超分辨率网络模型中拼接层的输入,获得所述拼接层输出的图像数据;
以所述拼接层输出的图像数据为所述超分辨率网络模型中网络层的输入,获得所述网络层输出的图像数据;
以所述网络层输出的图像数据为所述超分辨率网络模型中D-S转换层的输入,获得所述D-S转换层输出的所述第一图像在所述第三分辨率下的图像数据。
11.根据权利要求10所述的方法,其特征在于,所述第三S-D转换层、所述第四S-D转换层、所述第五S-D转换层和所述第六S-D转换层是同一个S-D转换层,所述S-D转换层用于依次对所述第一图像在所述第一分辨率下的运动向量、所述第二图像在所述第二分辨率下的图像数据、第一图像在所述第一分辨率下的动静分离数据、所述第一图像在所述第一分辨率下的图像数据进行S-D转换。
12.根据权利要求10所述的方法,其特征在于,所述超分辨率网络模型省去所述第三S-D转换层和所述第四S-D转换层,将所述第一图像在所述第一分辨率下的运动向量和所述第二图像在所述第二分辨率下的图像数据作为所述对齐层的输入;所述对齐层输出的图像数据经过S-D转换后输入至所述去重影层中。
13.根据权利要求6所述的方法,其特征在于,所述网络层输出的图像数据中像素总数和和所述第一图像在第三分辨率下的图像数据的像素总数相同。
14.根据权利要求13所述的方法,其特征在于,所述网络层用于在维持所述拼接层输出的图像数据对应的宽度和高度不变的前提下,改变所述拼接层输出的图像数据对应的通道数。
15.根据权利要求6所述的方法,其特征在于,所述以所述拼接层输出的图像数据为所述超分辨率网络模型中网络层的输入,获得所述网络层输出的图像数据包括:
以所述拼接层输出的图像数据为所述网络层中特征处理层的输入,获得所述特征处理层输出的图像数据,所述特征处理层用于进行特征提取、非线性映射和重建中的至少一种处理;
以所述拼接层输出的图像数据为所述网络层中维度调整层的输入,获得所述维度调整层输出的图像数据;
以所述特征处理层输出的图像数据和所述维度调整层输出的图像数据为所述网络层中残差层的输入,获得所述残差层输出的图像数据,所述残差层输出的图像数据为所述网络层输出的图像数据,所述残差层输出的图像数据对应所述第一分辨率,且所述残差层输出的图像数据中像素总数和所述第一图像在第三分辨率下的图像数据的像素总数相同。
16.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;其中,所述存储器用于存储一个或多个计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述处理器执行如权利要求1至15中任意一项所述的图像数据处理方法。
17.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至15中任意一项所述的图像数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210261408.9A CN114708144B (zh) | 2022-03-16 | 2022-03-16 | 图像数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210261408.9A CN114708144B (zh) | 2022-03-16 | 2022-03-16 | 图像数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114708144A CN114708144A (zh) | 2022-07-05 |
CN114708144B true CN114708144B (zh) | 2023-05-26 |
Family
ID=82169679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210261408.9A Active CN114708144B (zh) | 2022-03-16 | 2022-03-16 | 图像数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114708144B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986092A (zh) * | 2020-09-07 | 2020-11-24 | 山东交通学院 | 一种基于双重网络的图像超分辨率重建方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2431889C1 (ru) * | 2010-08-06 | 2011-10-20 | Дмитрий Валерьевич Шмунк | Способ суперразрешения изображений и нелинейный цифровой фильтр для его осуществления |
JP2012185808A (ja) * | 2011-02-17 | 2012-09-27 | Panasonic Corp | 画像処理装置、画像処理方法、及びコンピュータプログラム、並びに撮像装置 |
CN108665410B (zh) * | 2017-03-31 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 一种图像超分辨率重构方法、装置及系统 |
CN112465698A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种图像处理方法和装置 |
KR20190117416A (ko) * | 2019-09-26 | 2019-10-16 | 엘지전자 주식회사 | 동영상 프레임 해상도를 향상시키기 위한 방법 및 장치 |
-
2022
- 2022-03-16 CN CN202210261408.9A patent/CN114708144B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986092A (zh) * | 2020-09-07 | 2020-11-24 | 山东交通学院 | 一种基于双重网络的图像超分辨率重建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114708144A (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610082B2 (en) | Method and apparatus for training neural network model used for image processing, and storage medium | |
US20210350168A1 (en) | Image segmentation method and image processing apparatus | |
US11537873B2 (en) | Processing method and system for convolutional neural network, and storage medium | |
US10839581B2 (en) | Computer-implemented method for generating composite image, apparatus for generating composite image, and computer-program product | |
WO2021109876A1 (zh) | 图像处理方法、装置、设备及存储介质 | |
JP7155271B2 (ja) | 画像処理システム及び画像処理方法 | |
JP5645842B2 (ja) | スケールスペースを使用した画像処理装置及び方法 | |
US20210256304A1 (en) | Method and apparatus for training machine learning model, apparatus for video style transfer | |
US20230052483A1 (en) | Super resolution using convolutional neural network | |
KR102616700B1 (ko) | 영상 처리 장치 및 그 영상 처리 방법 | |
CN113034358A (zh) | 一种超分辨率图像处理方法以及相关装置 | |
US20230252605A1 (en) | Method and system for a high-frequency attention network for efficient single image super-resolution | |
JP7519127B2 (ja) | ユーザのバイオメトリック特性を有する画像中の物体を識別して、画像のうちバイオメトリック特性を含む部分を他の部分から分離することにより当該ユーザのidを検証するための方法 | |
CN105791635A (zh) | 基于gpu的视频增强去噪方法及装置 | |
Zheng et al. | Windowing decomposition convolutional neural network for image enhancement | |
Wang et al. | Perception-guided multi-channel visual feature fusion for image retargeting | |
CN114708144B (zh) | 图像数据处理方法及装置 | |
CN116016807B (zh) | 一种视频处理方法、系统、可存储介质和电子设备 | |
CN114742774B (zh) | 融合局部和全局特征的无参考图像质量评价方法及系统 | |
US20230060988A1 (en) | Image processing device and method | |
US20210374916A1 (en) | Storage medium storing program, image processing apparatus, and training method of machine learning model | |
US20220189088A1 (en) | Method and system for removing scene text from images | |
CN115222606A (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN112150608A (zh) | 一种基于图卷积神经网络的三维人脸重建方法 | |
Moskalenko et al. | Deep two-stage high-resolution image inpainting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |