CN110555800A - 图像处理装置及方法 - Google Patents
图像处理装置及方法 Download PDFInfo
- Publication number
- CN110555800A CN110555800A CN201811049734.3A CN201811049734A CN110555800A CN 110555800 A CN110555800 A CN 110555800A CN 201811049734 A CN201811049734 A CN 201811049734A CN 110555800 A CN110555800 A CN 110555800A
- Authority
- CN
- China
- Prior art keywords
- target
- input image
- feature map
- resolution
- convolution
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 151
- 238000003672 processing method Methods 0.000 claims abstract description 37
- 230000001965 increasing effect Effects 0.000 claims abstract description 23
- 238000010586 diagram Methods 0.000 claims description 64
- 238000013473 artificial intelligence Methods 0.000 claims description 50
- 238000012549 training Methods 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 32
- 230000009467 reduction Effects 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 9
- 230000002708 enhancing effect Effects 0.000 claims description 5
- 230000006872 improvement Effects 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 24
- 230000000694 effects Effects 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010219 correlation analysis Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance 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
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Classifications
-
- 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/08—Learning methods
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本公开提出了一种图像处理装置及方法,所述图像处理方法包括:获取输入图像;将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;以及通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。本公开图像处理装置及方法,实现了对目标卷积神经网络的速度提升,节约了大量的数据内存。
Description
技术领域
本公开属于人工智能技术领域,具体涉及一种图像处理装置及方法。
背景技术
随着卷积神经网络和深度学习的研究进展,高性能的网络模型越来越越复杂,在很多计算力受限的环境中,对卷积神经网络进行加速有着广泛的应用需求。特别是在移动手机里,视觉智能算法应用越来越多,如何对这些算法在手机上的有限计算资源中进行加速运算有着重大意义。此外,在其他终端设备里,由于计算力受限,也有着类似的需求。这些终端设备包括但不限于:智能电视、智能冰箱、监控摄像头、智能驾驶汽车、服务机器人、小型航空航天器等。而对于运算于云端的算法,如果能够有效加速,节省计算资源和成本,也是很有必要的。
可以通过模型优化来减少模型本身的计算量,通常的方法是通过降低权重总量的方式减少模型计算量,比如:约减不重要的权重(连接),权重稀疏化、减少权重位数等。然而,降低权重会导致输入信息损失,从而导致模型性能明显下降。
另外,现有的方案大多比较适用于图像级任务(比如,图像分类任务)和区域级任务(比如,目标检测任务),而对于像素级任务(比如,图像分割、深度预测、超分辨率、去噪等),由于应用于像素级任务的网络一般较为复杂,对于权重约减较为敏感,上述方式并不适用于像素级任务。
综上,亟需一种图像处理装置及方法,能够有效提升图像处理的神经网络的处理速度。
发明内容
(一)要解决的技术问题
本公开提供了一种图像处理装置及方法,以至少部分解决以上所提出的技术问题。
(二)技术方案
根据本公开的一个方面,提供了一种图像处理方法,包括:
获取输入图像;
将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
在一些实施例中,所述输入图像的特征图是所述输入图像经过所述卷积神经网络中的一个或多个卷积块处理而得到的。
在一些实施例中,提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率包括:提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率。
在一些实施例中,将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图包括:
确定所述目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N;
根据所述降分辨率比率N确定所述目标输入图像或目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数;以及
将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图。
在一些实施例中,将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图包括:
对所述输入图像或所述输入图像的特征图进行步长为N的下采样,得到F*F个目标输入图像或目标特征图,其中,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
其中,I,O分别表示输入图像或输入图像的特征图和目标输入图像或目标特征图,i,j是为变换后的多个目标输入图像或目标特征图建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像或目标特征图中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像或所述输入图像的特征图中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像或所述输入图像的特征图的宽度和高度,W′和H′分别表示所述目标输入图像或所述目标特征图的宽度和高度。
在一些实施例中,通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
通过所述卷积神经网络中的一个或多个卷积块使用以下卷积方式之一,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理;
通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理;
根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理。
在一些实施例中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔;或
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像或目标特征图之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像或目标特征图为设定的具有相关性的多个目标输入图像或目标特征图。
在一些实施例中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔,包括:
将目标输入图像或目标特征图分成R组目标输入图像或目标特征图,其中,R是整数,每组中的目标输入图像或目标特征图之间具有步长间隔R,所述R组部分目标输入图像或目标特征图之间不重叠;
对每组目标输入图像或目标特征图进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像或目标特征图的起始目标输入图像或目标特征图为第t个目标输入图像或目标特征图,其中,t∈[0,R-1];以及
第t组目标输入图像或目标特征图中的第i个目标输入图像或目标特征图为全部目标输入图像或目标特征图中的第(i*R+t)个目标输入图像或目标特征图,i为非负整数。
在一些实施例中,通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块按照下面的公式对多个目标输入图像或目标特征图中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像或目标特征图MP的卷积操作,Wi,p表示第i个卷积核对应第p个目标输入图像或目标特征图的权重,P表示目标输入图像或目标特征图的总数。
在一些实施例中,根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
根据以下公式确定根据多个目标输入图像或目标特征图之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像或目标特征图,Mb表示经映射后得到的基准目标输入图像或目标特征图,OSp是所述第p个目标输入图像或目标特征图的偏移信息,所述基准目标输入图像或目标特征图为转换后的第一个目标输入图像或目标特征图。
在一些实施例中,在将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图之后,还包括:
将所述多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图输入至卷积神经网络中的一个或多个卷积块;
由此,通过卷积神经网络中的一个或多个卷积块,对所述部分目标输入图像或目标特征图进行处理。
根据本公开的另一个方面,提供了一种在电子设备中使用的图像处理方法,包括:
从至少一个预设场景中确定所述电子设备的使用场景;以及
基于所确定的所述电子设备的使用场景,利用上述方面的图像处理方法对所获取的输入图像进行处理,其中,所述多个目标输入图像或目标特征图的数量取决于所确定的所述电子设备的使用场景。
根据本公开的另一个方面,提供了一种图像处理装置,包括:
I/O模块,用于获取输入图像;
交错空间变换模块,用于将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
处理模块,用于通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
提升分辨率模块,用于提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
在一些实施例中,所述处理模块还用于利用所述卷积神经网络中的一个或多个卷积块从所述输入图像获取所述输入图像的特征图。
在一些实施例中,所述提升分辨率模块用于提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率。
在一些实施例中,当将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图时,所述交错空间变换模块用于:
确定所述目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N;
根据所述降分辨率比率N确定所述目标输入图像或目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数;以及
将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图。
在一些实施例中,当将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图时,所述交错空间变换模块用于:
对所述输入图像或所述输入图像的特征图进行步长为N的下采样,得到F*F个目标输入图像或目标特征图,其中,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
其中,I,O分别表示输入图像或输入图像的特征图和目标输入图像或目标特征图,i,j是为变换后的多个目标输入图像或目标特征图建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像或目标特征图中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像或所述输入图像的特征图中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像或所述输入图像的特征图的宽度和高度,W′和H′分别表示所述目标输入图像或所述目标特征图的宽度和高度。
在一些实施例中,所述处理模块通过所述卷积神经网络中的一个或多个卷积块使用以下卷积方式之一,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理;
通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理;
根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理。
在一些实施例中,当通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理时,所述处理模块:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔;或
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像或目标特征图之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像或目标特征图为设定的具有相关性的多个目标输入图像或目标特征图。
在一些实施例中,当通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理且所述部分目标输入图像或目标特征图之间具有特定步长间隔R时,所述处理模块:
将目标输入图像或目标特征图分成R组目标输入图像或目标特征图,其中,R是整数,每组中的目标输入图像或目标特征图之间具有步长间隔R,所述R组部分目标输入图像或目标特征图之间不重叠;
对每组目标输入图像或目标特征图进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像或目标特征图的起始目标输入图像或目标特征图为第t个目标输入图像或目标特征图,其中,t∈[0,R-1];以及
第t组目标输入图像或目标特征图中的第i个目标输入图像或目标特征图为全部目标输入图像或目标特征图中的第(i*R+t)个目标输入图像或目标特征图,i为非负整数。
在一些实施例中,当通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理时,所述处理模块:
通过每个卷积块按照下面的公式对多个目标输入图像或目标特征图中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像或目标特征图MP的卷积操作,Wi,p表示第i个卷积核对应第p个目标输入图像或目标特征图的权重,P表示目标输入图像或目标特征图的总数。
在一些实施例中,当根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理时,所述处理模块:
根据以下公式确定根据多个目标输入图像或目标特征图之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像或目标特征图,Mb表示经映射后得到的基准目标输入图像或目标特征图,OSp是所述第p个目标输入图像或目标特征图的偏移信息,所述基准目标输入图像或目标特征图为转换后的第一个目标输入图像或目标特征图。
根据本公开的另一个方面,提供了一种电子设备,包括:
场景确定模块,用于从至少一个预设场景中确定所述电子设备的使用场景;以及
上述方面所述的图像处理装置,所述图像处理装置基于所确定的所述电子设备的使用场景来对所获取的输入图像进行处理,其中,所述多个目标输入图像或目标特征图的数量取决于所确定的所述电子设备的使用场景。
根据本公开的另一个方面,提供了一种用于训练在以上所述的图像处理方法中使用的卷积神经网络的方法,包括:
获取训练数据;
利用训练数据对所述卷积神经网络进行训练;以及
根据训练结果调整所述卷积神经网络每一卷积块的输入图像或特征图通道数量;其中,对任意第K个卷积块,若调整前第K个卷积块的输入图像或特征图通道数量为Mk,则调整后第K个卷积块的输入图像或特征图通道数量为λkMk,λk为膨胀系数。
在一些实施例中,如果所述调整没有增加通道和卷积核,对应的卷积核沿用调整前的卷积方式且卷积所有输入通道;
如果所述调整增加了通道和卷积核,则对所有新增加的输入通道卷积,或者对所有输入通道进行卷积。
在一些实施例中,根据训练结果调整卷积神经网络每一卷积块的输入图像或特征图通道数量包括:
将膨胀系数设为λ=[λ0,λ1,...,λL],其中L表示卷积块数,λ0=λ1=…=λL,则λ成为标量超参;
确定λ的调整步长,得到λ的新数列[λ0,λ1,...,λS],其中,每一个λs(s∈[0,S])都是一个L维向量,且当s<v时,λs<λv,其中v∈[0,S];
针对每一个λs点计算对应的性能收益率:
其中,性能收益率Gs-1是标量,As表示λs点对应所得到的模型的性能;以及
基于以下公式计算最终选取的膨胀系数λ:
其中Gthr是阈值,取值为预定常数值或所述卷积神经网络在调整前对应于膨胀系数λ为单位向量时的性能收益率,表示取使得括号内表达式最大时的λs值。
根据本公开的另一个方面,提供了一种图像处理方法,包括:
接收视频;
使用人工智能(AI)相关模块对所述视频提升分辨率;
显示提升分辨率之后的视频。
在一些实施例中,使用AI相关模块对所述视频提升分辨率,包括:利用上述方面的图像处理方法,使用AI芯片对所述视频提升分辨率。
在一些实施例中,AI相关模块为AI芯片。
在一些实施例中,使用AI相关模块对所述视频提升分辨率,包括:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
根据本公开的另一个方面,提供了一种图像处理装置,包括:
I/O模块,用于接收视频;
提升分辨率模块,用于使用人工智能(AI)相关模块对所述视频提升分辨率;
显示模块,用于显示提升分辨率之后的视频。
在一些实施例中,所述提升分辨率模块用于:利用上述方面的图像处理方法,使用AI芯片对所述视频提升分辨率。
在一些实施例中,所述AI相关模块为AI芯片。
在一些实施例中,所述提升分辨率模块用于:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
(三)有益效果
通过上述技术方案,本公开将输入图像转换成多个目标输入图像,或者将输入图像的特征图转换成多个目标特征图,然后通过卷积神经网络中的一个或多个卷积块,对至少部分目标输入图像或目标特征图进行处理,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,从而降低了卷积块的计算量,提高了卷积神经网络的计算速度。
另外,通过将大分辨率的输入通道变成多个小分辨率的输入通道,以及将这些小分辨率的通道提升到大分辨率的通道,从而在降低了运算量的同时保持信息的完整性。
附图说明
图1示出了根据本公开实施例的用于图像处理的方法的示意性流程图。
图2示出了根据本公开实施例的用于图像处理的装置的示意性框图。
图3示出了根据本公开实施例的训练所述卷积神经网络的方法的示意性流程图。
图4示出了根据本公开实施例的训练所述卷积神经网络的神经网络训练装置的示意性框图。
图5示出了根据本公开实施例的在电子设备中使用的图像处理方法的示意性流程图。
图6示出了根据本公开实施例的电子设备的示意性框图。
图7示出了根据本公开实施例的卷积神经网络的组成示意图。
图8为本公开实施例的转换所述输入图像或所述输入图像的特征图的一种过程示意图。
图9为本公开实施例的转换所述输入图像或所述输入图像的特征图的另一种处理过程示意图。
图10为本公开实施例所使用的一些卷积方式的示意图。
图11为本公开实施例所使用的另一卷积方式的示意图。
图12示出了根据本公开实施例的训练和测试流程示意图。
图13示出了本公开实施例的神经网络模型的开发流程与现有卷积神经网络的开发流程的比较示意图。
图14为本公开实施例的将输入图像/特征图变换为目标输入图像/目标特征图的方法的示意图。
图15为本公开实施例的模型性能与膨胀系数之间的关系的示意图。
图16为本公开的具体实施例1的应用场景示意图。
图17示出了根据本公开实施例的图像处理方法的示意性流程图。
图18示出了根据本公开实施例的图像处理装置的示意性框图。
图19为本公开的具体实施例2的应用场景示意图。
图20为本公开的具体实施例2的硬件架构图。
图21为本公开的具体实施例2的硬件架构中超分模块的硬件结构图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为了在加速卷积神经网络计算的同时避免性能明显下降,本公开提供一种图像处理装置及方法,主要核心就在于基于分辨率传播效应进行神经网络计算加速。具体的,将一个大分辨率的输入图像或特征图转换成多个小分辨率的目标输入图像或目标特征图,各目标输入图像或目标特征图的分辨率小于所述输入图像或特征图的分辨率,然后通过卷积神经网络中的一个或多个卷积块,对至少部分目标输入图像或目标特征图进行处理。由于除了降低权重总量之外,另外一个决定乘加数量的因素就是输入数据的分辨率大小,当卷积神经网络的输入数据的分辨率较小时,计算速度较快,因此,通过本公开的方案,可以提高卷积神经网络的计算速度。
另外,通过卷积神经网络中的一个或多个卷积块,对至少部分目标输入图像或目标特征图进行处理之后,本公开可以将这处理后的小分辨率的特征图提升到较大分辨率的特征图(例如,提升后的分辨率与所述大分辨率的特征图的分辨率相同),从而提高了输出特征图的分辨率,可以保持信息的完整性甚至提升图像的分辨率。
在本公开中,所述小分辨率的多个目标输入图像或特征图共同构成所述大分辨率的输入图像或特征图的交错空间。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
图1示出了根据本公开实施例的用于图像处理的方法的示意性流程图。该方法可以由终端设备执行,其中,该终端设备包括但不限于以下至少一:手机、智能电视、智能冰箱、监控摄像头、智能驾驶汽车、服务机器人、小型航空航天器等。如图1所示,该图像处理方法包括以下步骤:
S110,获取输入图像;
S120,将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
S130,通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
S140,提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
本实施例中,将输入图像转换成多个目标输入图像,或者将输入图像的特征图转换成多个目标特征图,然后通过卷积神经网络中的一个或多个卷积块,对至少部分目标输入图像或目标特征图进行处理,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,从而降低了卷积块的计算量,提高了卷积神经网络的计算速度。另外,本实施例还将卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率进行提升,从而提高了网络输出的质量。
可通过任何方式获得上述特征图。例如,在一些实施例中,特征图是输入图像经过卷积神经网络中的一个或多个卷积块处理而得到的。然而在另一些实施例中,也可以通过本领域现在使用或将来开发出的任何其他方式来获得输入图像的特征图,本公开实施例不受特征图的具体获得方式的限制。
在一些实施例中,提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率可包括:提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率。通过本实施例,在提升分辨率时,可以提升卷积神经网络最终输出的特征图的分辨率,也可以提升卷积神经网络中位于中间的卷积块输出的特征图的分辨率,可以提升一个卷积块输出的特征图的分辨率,也可以提升多个卷积块的特征图的分辨率,操作更为灵活。并且,当将输入图像转换成多个目标输入图像,提升卷积神经网络最终输出的特征图的分辨率时,由于卷积神经网络中间的卷积块处理的对象都是分辨率较低的图像或特征图,可以进一步降低卷积块的计算量,提高卷积神经网络的计算速度。当提升多个卷积块的特征图的分辨率时,可以通过提升多次分辨率,使得分辨率提升的更高。当仅提升一个卷积块输出的特征图的分辨率,可以提供较为简便的提升分辨率的方法。
此外,在另一些实施例中,卷积神经网络的输出的特征图的分辨率甚至可以升高至高于输入图像只经过所述卷积神经网络处理所达到的分辨率,以实现超分辨率的应用,例如可参见下文中结合ULED显示屏描述的实施例。
可选地,该方法还包括:对该卷积神经网络进行在线训练,或者通过其他设备对该卷积神经网络进行在线训练,并从其他设备获取训练之后的卷积神经网络。该步骤在图1中未示出,该步骤可以在步骤S110和步骤S120之间,也可以是在步骤S110之前,还可以在步骤S130之前。该卷积神经网络还可以是离线训练的。
可选地,在步骤S140之后,调整卷积神经网络中卷积块的输入图像或者特征图通道数量,并对卷积神经网络进行重训练。通过对卷积神经网络的重训练,可以使得网络更匹配当前的环境。
步骤S120可包括:
A,确定所述目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N。
降分辨率比率N是表示目标输入图像与输入图像之间的分辨率下降比率的参数或表示目标特征图与输入图像的特征图之间的分辨率下降比率的参数,可通过任何可行方式实现N。例如,对于输入图像/目标输入图像,以及对于输入图像的特征图/目标特征图,然而,本公开实施例的技术方案不限于此,例如可采用图像之间的高度比率而不是宽度比率来表征N,或者可采用能够体现目标输入图像或目标特征图与输入图像或输入图像的特征图之间的分辨率下降的任何其他量值来计算N。
B,根据所述降分辨率比率N确定所述目标输入图像或目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数;以及
C,将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图。
在上述示例中,根据目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N来确定目标输入图像或目标特征图的数量,然而在其他一些示例中,也可以根据其他任何因素或甚至直接指定目标输入图像或目标特征图的数量,本公开实施例不受目标输入图像或目标特征图的数量的具体确定方法的限制。
在一些实施例中,将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图包括:
对所述输入图像或所述输入图像的特征图进行步长为N的下采样,得到F*F个目标输入图像或目标特征图,其中,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
其中,I表示输入图像或输入图像的特征图,O表示目标输入图像或目标特征图,i,j是为变换后的多个目标输入图像或目标特征图建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像或目标特征图中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像或所述输入图像的特征图中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像或所述输入图像的特征图的宽度和高度,W′和H′分别表示所述目标输入图像或所述目标特征图的宽度和高度。
通过上述方式,所变换得到的F*F个目标输入图像或目标特征图共同构成了输入图像或输入图像的特征图的交错空间。
在一些实施例中,通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
通过所述卷积神经网络中的一个或多个卷积块使用以下卷积方式之一,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理;
通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理;
根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理。
在一些实施例中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔;或
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像或目标特征图之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像或目标特征图为设定的具有相关性的多个目标输入图像或目标特征图。
需要说明的是,通道之间的相关关系分析可以手动选取,也可以通过统计计算各输入子通道之间的距离(例如欧式距离)来衡量,或者通过计算协相关矩阵等方式来获取。
在一些实施例中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔,包括:
将目标输入图像或目标特征图分成R组目标输入图像或目标特征图,其中,R是整数,每组中的目标输入图像或目标特征图之间具有步长间隔R,所述R组部分目标输入图像或目标特征图之间不重叠;
对每组目标输入图像或目标特征图进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像或目标特征图的起始目标输入图像或目标特征图为第t个目标输入图像或目标特征图,其中,t∈[0,R-1];以及
第t组目标输入图像或目标特征图中的第i个目标输入图像或目标特征图为全部目标输入图像或目标特征图中的第(i*R+t)个目标输入图像或目标特征图,i为非负整数。
可通过任何方式来确定R,例如预先设置,由用户/操作者指定或通过某个其他规则确定,本公开实施例不受R的具体确定方式的限制。
在一些实施例中,通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块按照下面的公式对多个目标输入图像或目标特征图中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像或目标特征图MP的卷积操作,Wi,p表示第i个卷积核对应第p个目标输入图像或目标特征图的权重,P表示目标输入图像或目标特征图的总数。
交错空间中很多通道之间相同位置的像素在原图像中存在不同远近的邻接关系,上述示例考虑到了这种邻接关系上的差异,从而更能够保持输入信息的完整。
在一些实施例中,根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
根据以下公式确定根据多个目标输入图像或目标特征图之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像或目标特征图,Mb表示经映射后得到的基准目标输入图像或目标特征图,OSp是所述第p个目标输入图像或目标特征图的偏移信息,所述基准目标输入图像或目标特征图为转换后的第一个目标输入图像或目标特征图。
图2示出了根据本公开实施例的用于图像处理的装置的示意性框图。如图2所示,本公开图像处理装置包括:
I/O模块210,用于获取输入图像;
交错空间变换模块(Interlaced Space Module,ISM)220,用于将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
处理模块230,用于通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
提升分辨率模块(Up Resolution Module,URM)240,用于提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
本公开图像处理装置利用交错空间变换模块实现在交错空间内降低输入的分辨率,同时完成信息保持,利用提升分辨率模块实现对原神经网络的输出分辨率的保持。
在一些实施例中,所述处理模块230还用于利用所述卷积神经网络中的一个或多个卷积块从所述输入图像获取所述输入图像的特征图。
在一些实施例中,所述提升分辨率模块240用于提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率。
本实施例中,将输入图像转换成多个目标输入图像,或者将输入图像的特征图转换成多个目标特征图,然后通过卷积神经网络中的一个或多个卷积块,对至少部分目标输入图像或目标特征图进行处理,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,从而降低了卷积块的计算量,提高了卷积神经网络的计算速度。另外,本实施例还将卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率进行提升,从而提高了网络输出的质量。
可通过任何方式获得上述特征图。例如,在一些实施例中,特征图是输入图像经过卷积神经网络中的一个或多个卷积块处理而得到的。然而在另一些实施例中,也可以通过本领域现在使用或将来开发出的任何其他方式来获得输入图像的特征图,本公开实施例不受特征图的具体获得方式的限制。
此外,在另一些实施例中,卷积神经网络的输出的特征图的分辨率甚至可以升高至高于输入图像只经过所述卷积神经网络处理所达到的分辨率,以实现超分辨率的应用,例如可参见下文中结合ULED显示屏描述的实施例。
在一些实施例中,当将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图时,所述交错空间变换模块220用于:
确定所述目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N;
根据所述降分辨率比率N确定所述目标输入图像或目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数;以及
将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图。
在一些实施例中,当将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图时,所述交错空间变换模块220用于:
对所述输入图像或所述输入图像的特征图进行步长为N的下采样,得到F*F个目标输入图像或目标特征图,其中,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
其中,I,O分别表示输入图像或输入图像的特征图和目标输入图像或目标特征图,i,j是为变换后的多个目标输入图像或目标特征图建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像或目标特征图中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像或所述输入图像的特征图中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像或所述输入图像的特征图的宽度和高度,W′和H′分别表示所述目标输入图像或所述目标特征图的宽度和高度。
在上述示例中,降分辨率比率N是表示目标输入图像或目标特征图与输入图像或输入图像的特征图之间的分辨率下降比率的参数,可通过任何可行方式实现N。例如,对于输入图像/目标输入图像,以及对于输入图像的特征图/目标特征图,然而,本公开实施例的技术方案不限于此,例如可采用图像之间的高度比率而不是宽度比率来表征N,或者可采用能够体现目标输入图像或目标特征图与输入图像或输入图像的特征图之间的分辨率下降的任何其他量值来计算N。
在上述示例中,根据目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N来确定目标输入图像或目标特征图的数量,然而在其他一些示例中,也可以根据其他任何因素或甚至直接指定目标输入图像或目标特征图的数量,本公开实施例不受目标输入图像或目标特征图的数量的具体确定方法的限制。
在一些实施例中,所述处理模块230通过所述卷积神经网络中的一个或多个卷积块使用以下卷积方式之一,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理;
通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理;
根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理。
在一些实施例中,当通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理时,所述处理模块230:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔;或
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像或目标特征图之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像或目标特征图为设定的具有相关性的多个目标输入图像或目标特征图。
需要说明的是,通道之间的相关关系分析可以手动选取,也可以通过统计计算各输入子通道之间的距离(例如欧式距离)来衡量,或者通过计算协相关矩阵等方式来获取。
在一些实施例中,当通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理且所述部分目标输入图像或目标特征图之间具有特定步长间隔R时,所述处理模块230:
将目标输入图像或目标特征图分成R组目标输入图像或目标特征图,其中,R是整数,每组中的目标输入图像或目标特征图之间具有步长间隔R,所述R组部分目标输入图像或目标特征图之间不重叠;
对每组目标输入图像或目标特征图进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像或目标特征图的起始目标输入图像或目标特征图为第t个目标输入图像或目标特征图,其中,t∈[0,R-1];以及
第t组目标输入图像或目标特征图中的第i个目标输入图像或目标特征图为全部目标输入图像或目标特征图中的第(i*R+t)个目标输入图像或目标特征图,i为非负整数。
可通过任何方式来确定R,例如预先设置,由用户/操作者指定或通过某个其他规则确定,本公开实施例不受R的具体确定方式的限制。
在一些实施例中,当通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理时,所述处理模块230:
通过每个卷积块按照下面的公式对多个目标输入图像或目标特征图中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像或目标特征图MP的卷积操作,Wi,p表示第i个卷积核对应第p个目标输入图像或目标特征图的权重,P表示目标输入图像或目标特征图的总数。
在一些实施例中,当根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理时,所述处理模块230:
根据以下公式确定根据多个目标输入图像或目标特征图之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像或目标特征图,Mb表示经映射后得到的基准目标输入图像或目标特征图,OSp是所述第p个目标输入图像或目标特征图的偏移信息,所述基准目标输入图像或目标特征图为转换后的第一个目标输入图像或目标特征图。
在经过交错空间变换模块降低分辨率及提升分辨率模块还原分辨率之后,由于网络模型结构发生变化,网络可能需要重新训练。因此,本公开还提供了一种训练所述卷积神经网络的方法。图3示出了根据本公开实施例的训练所述卷积神经网络的方法的示意性流程图。如图3所示,该方法包括:
步骤S310,获取训练数据;
步骤S320,利用训练数据对所述卷积神经网络进行训练;以及
步骤S330,根据训练结果调整所述卷积神经网络每一卷积块的输入图像或特征图通道数量;其中,对任意第K个卷积块,若调整前第K个卷积块的输入图像或特征图通道数量为Mk,则调整后第K个卷积块的输入图像或特征图通道数量为λkMk,λk为膨胀系数。
如果所述调整没有增加通道和卷积核,在一些实施例中,对应的卷积核沿用调整前的卷积方式且卷积所有输入通道;
如果所述调整增加了通道和卷积核,在一些实施例中,则对所有新增加的输入通道卷积,或者对所有输入通道进行卷积。
在一些实施例中,根据训练结果调整卷积神经网络每一卷积块的输入图像或特征图通道数量包括:
将膨胀系数设为λ=[λ0,λ1,...,λL],其中L表示卷积块数,λ0=λ1=…=λL,则λ成为标量超参;
确定λ的调整步长,得到λ的新数列[λ0,λ1,...,λS],其中,每一个λs(s∈[0,S])都是一个L维向量,且当s<v时,λs<λv,其中v∈[0,S];
针对每一个λs点计算对应的性能收益率:
其中,性能收益率Gs-1是标量,As表示λs点对应所得到的模型的性能;以及
基于以下公式计算最终选取的膨胀系数λ:
其中Gthr是阈值,取值为预定常数值或所述卷积神经网络在调整前对应于膨胀系数λ为单位向量时的性能收益率,表示取使得括号内表达式最大时的λs值。
在训练时,虽然可能需要调整每一卷积块的特征图数量,但通常来说,特征图数量的变化范围是有限的,因而引起的额外计算量的增加或减少也是有限的,由此可以实现整个模型的计算加速。
在提升输出分辨率时,可提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率,从而实现分辨率还原。
举例来说,对于一包括P个卷积块的卷积神经网络,可以将卷积神经网络的Con1卷积块的大分辨率的输入通道转换为多个小分辨率的输入通道,由此降低Con1~ConP卷积块的计算量,保持输入信息的完整,之后,可以提升Con(P-1)卷积块的输出通道的分辨率,从而提升整个卷积神经网络的输出的分辨率,将分辨率复原。此处仅仅是示例性说明,本公开图像处理装置及方法并不局限于Con1卷积块的输入通道分辨率降低及Con(P-1)卷积块的输出通道分辨率提升。
本公开还提供了一种训练所述卷积神经网络的装置。图4示出了根据本公开实施例的训练所述卷积神经网络的神经网络训练装置的示意性框图。如图4所示,该装置包括:
I/O模块410,用于获取训练数据;
训练模块420,用于利用训练数据对所述卷积神经网络进行训练;以及
神经网络调整模块430,根据训练结果调整所述卷积神经网络每一卷积块的输入图像或特征图通道数量;其中,对任意第K个卷积块,若调整前第K个卷积块的输入图像或特征图通道数量为Mk,则调整后第K个卷积块的输入图像或特征图通道数量为λkMk,λk为膨胀系数。
如果所述调整没有增加新的通道和新的卷积核,在一些实施例中,对应的卷积核沿用调整前的卷积方式且卷积所有输入通道;
如果所述调整增加了新的通道和新的卷积核,在一些实施例中,则对所有新增加的输入通道卷积,或者对所有输入通道进行卷积。
在一些实施例中,神经网络调整模块430用于:
将膨胀系数设为λ=[λ0,λ1,...,λL],其中L表示卷积块数,λ0=λ1=…=λL,则λ成为标量超参;
确定λ的调整步长,得到λ的新数列[λ0,λ1,...,λS],其中,每一个λs(s∈[0,S])都是一个L维向量,且当s<v时,λs<λv,其中v∈[0,S];
针对每一个λs点计算对应的性能收益率:
其中,性能收益率Gs-1是标量,As表示λs点对应所得到的模型的性能;以及
基于以下公式计算最终选取的膨胀系数λ:
其中Gthr是阈值,取值为预定常数值或所述卷积神经网络在调整前对应于膨胀系数λ为单位向量时的性能收益率,表示取使得括号内表达式最大时的λs值。
本公开实施例提供的图像处理方法可在各种电子设备中使用,并应用于各种使用场景。图5示出了根据本公开实施例的在电子设备中使用的图像处理方法的示意性流程图。具体地,如图5所示,该方法包括:
步骤S510,从至少一个预设场景中确定所述电子设备的使用场景;以及
步骤S520,基于所确定的所述电子设备的使用场景,利用上述方面的图像处理方法对所获取的输入图像进行处理,其中,所述多个目标输入图像或目标特征图的数量取决于所确定的所述电子设备的使用场景。
本公开实施例还提供了与图3所示方法相对应的电子设备。图6示出了根据本公开实施例的电子设备的示意性框图。具体地,如图6所示,该电子设备包括:
场景确定模块610,用于从至少一个预设场景中确定所述电子设备的使用场景;以及
图像处理装置620,所述图像处理装置基于所确定的所述电子设备的使用场景来对所获取的输入图像进行处理,其中,所述多个目标输入图像或目标特征图的数量取决于所确定的所述电子设备的使用场景。
图像处理装置620可以是图2所示的图像处理装置。
以下结合附图7-15介绍利用本公开基于卷积神经网络的图像处理的具体过程。
本公开的目的之一是加速卷积神经网络。卷积神经网络可包括各种卷积神经网络结构,例如可以是用于图像级的分类任务、区域级的检测任务以及像素级的分割任务等的各种网络结构。不同任务的神经网络具备一些特殊的结构,例如用于分类的神经网络,最后两层可能是全连接层,检测的网络最后可能存在用于多任务的不同分支,分割网络则不仅包含编码网络,还可能包含升分辨率的解码网络、前后层之间的跳连接,空洞卷积、金字塔网络层等。本实施例中,以经典网络结构为例进行说明,实际上,只要网络架构主体部分是卷积神经网络,本公开均适用。
在下面的描述中,为了描述的简洁,在一些实施例中,将主要针对输入图像或目标输入图像来描述本公开的技术方案。然而需要注意的是,如果没有特别指出或如果不存在冲突,针对输入图像或目标输入图像描述的技术方案同样也适用于输入图像的特征图或目标特征图。
图7示出了根据本公开实施例的卷积神经网络的组成示意图。该卷积神经网络包含输入模块、ISM(交错空间变换模块,Interlaced Space Module)模块、若干卷积块、URM(提升分辨率模块,Up Resolution Module)模块、以及输出模块。下面将基于图7所示的卷积神经网络来描述图1所示的方法。
输入模块在步骤S110中接收输入图像。该图像被输入给后续网络。
ISM模块在步骤S120中将输入图像转换成多个目标输入图像,其中各目标输入图像的分辨率小于输入图像的分辨率,且各目标输入图像中相同位置的像素在输入图像中是邻域关系。
如图8和图9所示,不失一般性,以输入图像为一个输入通道为例(输入图像如果是多个输入通道,每个通道处理流程与单个通道相同)来描述步骤S120的具体操作。输入通道分辨率大小是宽度(W)*高度(H)。
首先可确定降分辨率的比率N。降分辨率比率N是表示目标输入图像与输入图像之间的分辨率下降比率的参数,可通过任何可行方式实现N。例如,然而,本公开实施例的技术方案不限于此,例如可采用图像之间的高度比率而不是宽度比率来表征N,或者可采用能够体现目标输入图像与输入图像之间的分辨率下降的任何其他量值来计算N。N可以是整数,也可以是非整数。
然后可根据降分辨率比率N确定目标输入图像的数量F*F,其中
F=U(N)
U(·)为向上取整函数。
最后,可将所述输入图像变换为F*F个目标输入图像。
例如,可通过对输入图像进行步长为N的下采样,得到F*F个目标输入图像,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
W′=L(W/N)
H′=L(H/N)
其中,I,O分别表示输入图像和目标输入图像(例如,交错变换后的小图像),i,j是为变换后的多个目标输入图像建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像的宽度和高度,W′和H′分别表示所述目标输入图像的宽度和高度。
图8为本公开实施例的转换所述输入图像的一种处理过程示意图。如图8所示,该过程包括:确定输入图像和目标输入图像之间的降分辨率比率N;当N为非整数时,由于换算的原图索引xN+i,yN+j也为非整数,为了精确取到像素值,可以利用插值算法从原图像中取得相应像素值,比如:可以采用双线性插值算法;然后,根据采样公式,得到F*F个目标输入图像,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)。
图9为本公开实施例的转换所述输入图像的另一种处理过程示意图。如图9所示,该过程包括:确定输入图像和目标输入图像之间的降分辨率比率N;当N为整数时,由于换算的原图索引xN+i,yN+j也为整数,则可直接从原图中取得像素值,具体的,可以根据采样公式,得到F*F个目标输入图像,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)。
最终得到F*F个变换后的小图像。随着N的不同,得到的变换小图像也不同,由于N可以是非整数的,因此N的数值域是连续的,这些所有的映射后的小图像共同构成一个原图像的交错空间。
ISM模块的操作在交错空间内降低输入通道的分辨率的同时保持输入通道信息的无损失。
步骤S120中变换得到的多个目标输入图像被输入到卷积块中,每个卷积块在步骤S130中对输入的多个目标输入图像中的至少一部分进行处理。
图7中,Wi,Hi,Mi分别是卷积神经网络中第i个卷积块中的特征图的宽度、高度和特征图通道数,假设总计L个卷积块,即:i∈[1,L]的整数。λiMi则是本公开实施例对卷积神经网络调整后的第i个卷积块的特征通道数,λi称为膨胀系数。卷积块可能包含卷积层、池化层、激活函数层等常见的神经网络层。
可通过各种不同的卷积方法来执行步骤S130中的处理,下面介绍其中的四种:分组交叉卷积、相关通道卷积、通道加权卷积、学习偏移特征的卷积。其中前三种卷积方式,都属于加重重要的输入通道的影响,减轻不重要输入通道的影响,本公开将他们统称为基于交错空间的稀疏通道卷积,如图10和图11所示,图10中左图是本领域中典型的卷积神经网络的卷积方式,中图和右图分别是基于交错空间的分组交叉卷积方式以及相关通道卷积方式。图11示出了学习偏移特征的卷积。
具体地,第一种卷积方法是基于交错空间的分组交叉卷积方式(图10中图)。该方式通过每个卷积块对多个目标输入图像中的部分目标输入图像进行卷积处理,其中,所述部分目标输入图像之间具有特定步长间隔。由于交错空间内相邻的通道相同位置的像素在原通道中位置非常近,差异非常小,因此有必要选择一定步长进行间隔通道卷积。该卷积方式属于通道稀疏卷积。
在该卷积方法中,将目标输入图像分成R组(R是整数)目标输入图像,其中,每组中的目标输入图像之间具有步长间隔R,所述R组部分目标输入图像之间不重叠。
然后,对每组目标输入图像进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像的起始目标输入图像为第t个目标输入图像,其中,t∈[0,R-1]。
在该卷积方法中,第t组目标输入图像中的第i个目标输入图像为全部目标输入图像中的第(i*R+t)个目标输入图像,i为非负整数。
第二种是基于交错空间的相关通道卷积方式(图10右图),也属于稀疏通道卷积方式之一。该方式通过每个卷积块对多个目标输入图像中的部分目标输入图像进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像为设定的具有相关性的多个目标输入图像。
由于原输入通道在交错空间内映射后得到的子通道之间相同位置在原图中邻域关系不同,其中有些通道之间关系更为紧密,对于有些任务,相邻通道之间的卷积较为重要,例如超分辨率任务,因此保留这些相关通道之间的卷积较为必要。而对于有些任务,在相关关系太近的通道之间组织卷积显得则无必要。可根据输入通道之间的相关关系的重要程度(例如,高于某个阈值)和应用需要选出T组输入通道,每组输入通道之内执行卷积,相应地,输出通道也分为T组,第t组(t∈[0,T-1])的输出通道只卷积第t组的相关输入通道。
需要说明的是,通道之间的相关关系分析可以手动选取,也可以通过统计计算各输入子通道之间的距离来衡量,例如欧式距离,或者计算协相关矩阵等方式。
第三种是基于交错空间的通道加权卷积方式。该方式通过每个卷积块按照权重对多个目标输入图像中的至少部分目标输入图像进行卷积处理。具体地,例如,可通过每个卷积块按照下面的公式对多个目标输入图像中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像MP的卷积操作,Wi,p表示第i个卷积核对应第p个目标输入图像的权重,P表示目标输入图像的总数。
现有卷积方式对于不同通道之间的卷积结果是简单求和,与之相比,本公开实施例的上述卷积方式通过给通道设置相应权重的方式考虑到了由于交错空间中通道之间相同位置的像素在原图像中存在不同远近的邻接关系这一现象,从而更能够保持输入信息的完整。
需要说明的是,不同输出特征图Si之间可以共享对输入通道的权重设置,例如:输出特征图分成T组,每组之间共享该权重设置。此外,通道加权卷积方式可与其余几种卷积方式结合使用,并不冲突。
第四种是基于交错空间的学习偏移特征的卷积方式。该方式根据多个目标输入图像之间的信息差异,对多个目标输入图像中的至少部分目标输入图像进行处理。具体地,例如可根据以下公式确定根据多个目标输入图像之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像,Mb表示经映射后得到的基准目标输入图像,OSp是第p个目标输入图像的偏移信息,基准目标输入图像为转换后的第一个目标输入图像。
如图11所示,图中虚线上部的卷积块属于原卷积神经网络的卷积块,虚线下部的卷积块则是调整膨胀系数λ后所增加的新的卷积块。交错空间输入图像中第一个输入图像作为原图像的降分辨率图像送入原卷积神经网络的卷积块里,可以发现,虚线上侧的计算相当于原卷积神经网络的降采样网络。虚线下侧的网络则负责学习偏移特征。偏移特征我们定义为:在映射后的交错空间的子输入通道中,相对于基准通道,其余各通道所包含的偏移的信息中所蕴含的潜在特征。
需要说明的是,因为该卷积方式学习偏移信息,因此基于交错空间的输入通道,除了基准通道外,其余各通道可以直接设定为偏移信息,这可根据具体应用的效果而配置。
在步骤S130的处理之后,在步骤S140中,URM模块提升一个或多个卷积块输出的特征图的分辨率。提升后的分辨率可以是卷积神经网络的分辨率,即输入图像只经过所述卷积神经网络处理达到的分辨率。这样,就可以将输出的分辨率保持到卷积神经网络的输出分辨率的水平;或提升后的分辨率甚至可以比卷积神经网络的分辨率更高,从而在降低运算复杂度的前提下,达到提升输入图像的分辨率的目的。
如图7所示,对于一个包括L+1个卷积块的卷积神经网络,一个大分辨率(W,H)的输入图像经交错空间变换模块变换为多个小分辨率(W/N,H/N)的目标输入图像,再输入至卷积神经网络的卷积块1(卷积块1特征图的数量及分辨率发生改变,基于所述数量的变化能够影响卷积块1以及卷积块2的计算量的变化,其影响方向如图7中特征图数量影响方向所示;基于所述分辨率的变化能够影响卷积块1至URM的计算量变化,其影响方向如图7中分辨率传播影响方向所示),之后依次经卷积块2……卷积块L,然后URM提升所述卷积神经网络的卷积块L的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述大分辨率的输入图像只经过所述卷积神经网络处理达到的分辨率。
在图7中,ISM模块将输入图像转换成多个目标输入图像,多个目标输入图像经过卷积神经网络中的一个或多个卷积块后,输出特征图到URM模块,URM模块提升该分辨率。需要说明的是,图7仅是一个示例实施例,ISM模块和URM模块的位置是可以发生变化的,ISM模块不限于只放在第一个卷积块之前,还可以放在任意卷积块之前,提升分辨率模块也可以放在任意卷积块之后,只是必须满足ISM模块放在提升分辨率模块之前的约束。当ISM模块位于第h个卷积块之后时,ISM模块将第h个卷积块输出的每个特征图转换成多个目标特征图;当URM模块位于第q个卷积块之后时,URM模块对第q个卷积块输出的特征图的分辨率进行提升。需要说明的是,由于交错空间变换模块的输出使得与该交错空间变换模块连接的后一卷积块的输入通道数变多,相应地,这一卷积块中最前一层的卷积核的数量应该做相应调整以匹配输入通道数。新增加的卷积核的权重设置可以为全0或者采用别的初始化策略。
通过本公开实施例的技术方案,可减少所需计算量,并进而减少所需计算资源且提高图像处理速度。
卷积神经网络的计算量可采用基本的乘加数量来衡量。具体的,若本公开要加速的原神经网络包括L个卷积块,则其计算量为:
Cold=C1+C2+…+CL-1+CL
其中,Ci表示第i个卷积块的乘加数量。本公开实施例实施后的神经网络计算量为:
其中,λMax=max(λ1,λ2,...,λL),该值一般取[0.5,1.5]之间,且远小于N。上述公式可近似为:
由此可见,本公开能够对原神经网络实现近似N2倍的计算加速。为了验证本公开的加速效果,利用NVIDI Tesla M40单张显卡对原网络和利用本公开实施例的技术方案加速后的网络的图像处理时间分别进行测试,测试结果如表1所示:
表1图像处理时间测试结果
可见,与现有网络相较而言,利用本公开加速后的网络的图像处理时间有了较大幅度的降低。
上述示例是针对输入图像来进行描述的,然而,该示例的技术方案也可应用于输入图像的特征图,其不同之处仅在于被转换为多个图像的是输入图像还是输入图像的特征图。
输入图像的特征图可以是通过卷积神经网络的一个或多个卷积块所产生的。在这种情况下,例如,ISM模块可放置在卷积神经网络的卷积块之间。输入图像被输入到卷积神经网络,并通过位于ISM模块之前的卷积块生成该输入图像的特征图,并送往ISM模块以产生对应的多个目标特征图。
具体地,在通过ISM模块将输入图像的特征图转换为多个目标特征图时,可首先确定降分辨率的比率N。可通过任何可行方式实现N。例如,然而,本公开实施例的技术方案不限于此,例如可采用特征图之间的高度比率而不是宽度比率来表征N,或者可采用能够体现目标特征图与输入图像的特征图之间的分辨率下降的任何其他量值来计算N。N可以是整数,也可以是非整数。
然后可根据降分辨率比率N确定目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数。最后,可将所述输入图像的特征图变换为F*F个目标特征图。根据降分辨率比率N确定目标特征图的数量并变换为目标特征图的方式与根据降分辨率比率N确定目标输入图像的数量并变换为目标输入图像的方式相似,仅需将上述针对输入图像描述的方式中的输入图像替换为输入图像的特征图,将目标输入图像替换为目标特征图即可,在此不再赘述。
所产生的目标特征图可用于后续处理。该后续处理如图1中的步骤S130-S140所述,在此不再赘述。
或者在另一些实现中,可通过其他模块或单位对接收到的输入图像进行处理以生成输入图像的特征图,并对该输入图像的特征图如图1的步骤S120所示进行处理,以生成多个对应的多个目标特征图,然后执行图1中的步骤S130-S140所示的操作。
可选地,在通过图7的卷积神经网络处理输入图像之后,还可以重新调整每一层的特征图的数量,完成神经网络的重训练。
图12示出了根据本公开实施例的训练和测试流程示意图。其中,左图为训练流程图,右图为测试流程图。
下面参照图12左图介绍训练流程。输入的大图像(即训练数据)可以采用成批的输入图像(Batch Images),可以包含若干通道,当输入的大图像包含多个通道时,输入的大图像的每个通道经过交错空间模块的变换后,变为若干张小图像,当输入的大图像仅包含一个通道时,输入的大图像经过交错空间模块的变换后,变为若干张小图像。这些小图像的部分或者全部依次送入卷积网络中的每个卷积块进行处理,得到输入的特征图。由于交错空间模块的降分辨率作用,后续所有卷积块的分辨率均会降低,计算量也得到降低。由于最后一个卷积块的分辨率也降低了,为了维持输出结果的分辨率,本公开实施例引入了提升分辨率模块,完成对输出分辨率的保持。通过提升分辨率模块对输出的特征图进行分辨率的提升,得到的输出结果为提升分辨率之后的特征图。需要说明的是,交错空间模块不限于只放在第一个卷积块之前,还可以放在任意卷积块之前,提升分辨率模块也可以放在任意卷积块之后,只是必须满***错空间模块放在提升分辨率模块之前的约束。当ISM模块位于第h个卷积块之后时,ISM模块将第h个卷积块输出的大特征图转换成多个小的目标特征图。测试时还可以通过损失计算模块来对输出结果计算损失,这个模块的具体计算方式与具体应用相关。例如,在超分辨率任务中,可以采用均方误差(Mean Squared Error,MSE)来计算损失。需要注意的是,在从前往后执行数据前传之外,在完成一次损失计算后,训练流程还会从后往前执行梯度回传。图12左图中向下的箭头表示数据前传,向上的箭头表示梯度回传,可以发现,图中交错空间模块并没有执行梯度回传,这是因为此流程图中交错空间模块位于输入图像之后。如果交错空间模块位于两个卷积块之间时,且前一卷积块也需要学习参数时,交错空间模块则需要执行梯度回传。
通过对神经网络的重训练,可以重新调整每一卷积块的特征图的数量。该操作如图7中每一个卷积块处的颜色较浅的特征图块所示。在调整时,卷积块1对应的膨胀系数为λ1,卷积块2对应的膨胀系数为λ2,卷积块L对应的膨胀系数为λL,以此类推。
如结合图7和图12所示,为了实现卷积神经网络的分辨率恢复,可以在卷积神经网络的最后一卷积块L之后,对卷积块L的输出分辨率进行提升,从而提升整个卷积神经网络的输出的分辨率。具体的,可以采用反向卷积、反向池化层以及插值等方法,还可以采用与交错空间变换模块中的交错变换相反的方式,例如缝合变换(如图14所示)方式来提升输出的分辨率。例如,图14中所示输入通道分辨率为4*4,图中从输入通道经过交错变换映射为四个2*2的小分辨率通道。缝合方式提升分辨率模块则是从小分辨率通道映射到原分辨率通道,映射规则为:
其中,x%N表示x除以N取余数。
当提升分辨率模块URM位于多个卷积块之间时,当URM模块输出的通道数与后一卷积块原来的输入通道数不一致时,则后一卷积块中的最靠前一层的卷积核(如果该层是卷积层)需要作出相应调整,以匹配新的输入通道数。调整后的卷积核在后续离线重训练时,重新完成权重的学习。
所述重训练及通道调整过程可具体如下:
如图7所示,原网络的第i层特征图通道数定义为Mi,调整后的网络特征通道数定义为λiMi,其中λi被称为膨胀系数,λi越大,则需要增加的特征图通道也越多。实验表明,由于性能曲线上升会逐步进入平缓区,该膨胀系数推荐范围在0.5~1.5之间,在本公开实施例中,一般取λi<N,以在计算效率和性能之间进行平衡。确定好膨胀系数后,则进行网络的离线重新训练,原网络权重可选为新网络的预训练模型。
为了说明对特征图通道数膨胀系数的超参λ=[λ0,λ1,...,λL]的调整,本公开以模型MobileNetV2为例说明。在该模型中,各层的膨胀系数设定为相同,这样可以通过一个全局的标量λ(与本公开中的膨胀系数含义类似)来控制所有层的通道数。模型性能与膨胀系数之间的关系参见图15所示。其中,假设原卷积神经网络(图15中示出为原网络)的输入图像分辨率为224*224,当λ=1时,为原模型权衡速度和性能所选定的通道数,即λiMi=Mi。从图中可以发现λ>1时,性能曲线进入平缓区,通道数的提升对网络性能不再有明显贡献,这也是原卷积神经网络通道数选在λ=1这个点的原因。将原卷积神经网络的输入图像分辨率直接降低到128*128后得到降采样网络,该网络与原网络相比,当λ相同时,性能较低。除了在平缓区内,λ的提高一般有助于降采样网络的性能提升,例如λ=1时的降采样网络比λ=0.5的原卷积神经网络性能要优。只是原卷积神经网络选取的λ很多时候都会在平坦区的前段。此时,由于降采样网络信息的损失,以及性能平坦区的存在,降采样网络性能很难追上原卷积神经网络。
在图15中,本公开与降采样网络一样降低了输入分辨率,不过与降采样网络不同的是,本公开没有信息损失。本公开所得网络的性能期望值在原卷积神经网络和降采样卷积神经网络之间,且由于输入信息的无损,其潜在性能上限与原卷积神经网络相同。而对于λ参数的调整可以保持不变,或者适当调大和调小,以权衡速度和性能。根据图15所示,由于性能平缓区的存在以及λ<1时的性能急剧下降,λ值调整范围应该较小,或者不调整,推荐的选择区间为[0.5,1.5]之间。
为了更好的确定膨胀系数λ,本公开实施例提出一种自动确定λ参数的方法,也称为性能获益阈值方法。该方法包括如下几个子步骤:
子步骤1,将膨胀系数设为λ=[λ0,λ1,...,λL],其中L表示卷积块数,λ0=λ1=…=λL,则λ成为标量超参;
子步骤2,确定λ的调整步长,得到λ的新数列[λ0,λ1,...,λS],其中,每一个λs(s∈[0,S])都是一个L维向量,且当s<v时,λs<λv,其中v∈[0,S];
子步骤3,针对每一个λs点计算对应的性能收益率:
其中,性能收益率Gs-1是标量,As表示λs点对应所得到的模型的性能;以及
子步骤4,基于以下公式计算最终选取的膨胀系数λ:
其中Gthr是阈值,取值为预定常数值或所述卷积神经网络在调整前对应于膨胀系数λ为单位向量时的性能收益率,表示取使得括号内表达式最大时的λs值。
需要说明的是,随着膨胀系数的调整,新增加的特征通道的卷积方式可以采用步骤S130中所采用的卷积方式,如上所述。
下面参照图12右图介绍测试流程。输入的大图像(即测试数据)可以采用成批的输入图像(Batch Images),也可以是单张图像,输入的大图像可以包含若干通道,当输入的大图像包含多个通道时,输入的大图像的每个通道经过交错空间模块的变换后,变为若干张小图像,当输入的大图像仅包含一个通道时,输入的大图像经过交错空间模块的变换后,变为若干张小图像。对于批图像的处理,属于单张图像处理的简单扩展,在此不再赘述。这些小图像的部分或者全部依次送入卷积网络中的每个卷积块进行处理,得到输入的特征图。通过提升分辨率模块对输出的特征图进行分辨率的提升,得到的输出结果为提升分辨率之后的特征图。中间的流程模块,训练和测试流程相同,在此不再赘述。
在训练时,如果采用本公开实施例后面所描述的缝合方式来提升分辨率,由于可以直接根据扩展后的小分辨率输出结果设计与原卷积神经网络等价的损失函数,可以不用添加提升分辨率模块,但是测试时,该模块则是必须的。
在本公开中,本公开的神经网络模型的开发流程也与现有卷积神经网络的开发流程不同。图13示出了本公开的神经网络模型的开发流程与现有卷积神经网络的开发流程的比较示意图。如图13所示,左图是现有卷积神经网络开发流程,右图是本公开方法和装置的开发流程。与现有卷积神经网络开发流程相比,本公开实施例的方法可在评估之后(例如,确定降分辨率比率N后),对卷积神经网络嵌入交错空间变换模块以及提升分辨率模块,然后完成对模型特征图数的重新调整以及离线重训练。如图13的右图中位于“添加ISM和URM模块”之前的流程是设计目标卷积神经网络的流程,从“添加ISM和URM模块”开始,属于本公开实施例加速目标神经网络的处理流程。需要说明的是,流程“调整超参以及重训练”过程中的超参数包括降分辨率比率N以及膨胀系数λi等参数的调整,且评估和调整超参以及重训练是一个迭代择优的过程,重训练是指离线重新训练,重训练可以采用未添加IMS和URM模块时卷积神经网络的权值作为预训练权重。
在本公开实施例中,降分辨率比率N可以是可调节自适应参数(根据硬件运行环境的配置,自适应选择合适的N,从而使能应用到更广泛的计算平台),其可用于权衡性能和加速比。具体的,可采用手动调节确定降分辨率的比率N,也可以根据硬件资源环境进行选定确定降分辨率的比率N,但本公开并不局限于此。
本公开实施例的图像处理方法可适用于各种场景。图5示出了根据本公开实施例的在电子设备中使用的图像处理方法的示意性流程图。如图5所示,该方法包括:
步骤S510,从至少一个预设场景中确定电子设备的使用场景。
上述场景例如可分为低光照场景(如夜间场景)、高光照场景等,或者也可以分为高ISO场景、中ISO场景、低ISO场景等,或者还可被分类为超分辨率场景和非超分辨率场景等。具体的分类可根据电子设备的类型及其特定使用而定,本公开实施例不受具体使用场景分类的限制。
步骤520,基于所确定的所述电子设备的使用场景,利用上述结合图1所述的图像处理方法对所获取的输入图像进行处理,其中,图1所述的图像处理方法中的多个目标输入图像的数量取决于所确定的电子设备的使用场景。
以下结合具体场景对该方法做进一步的阐述。需要注意的是,以下仅示出了一些特定的应用环境,不应将其视为对本公开实施例的技术方案应用的限制。
在一些实施例中,将针结合手机端夜间拍摄图像去噪的应用场景进行说明。
手机用户在拍摄不同场景的时候,受光照等的影响,引入的噪声也不相同。手机端计算资源有限,且基于深度学习的去噪模型属于复杂的像素级任务,会导致较大的响应延迟,而用户拍照时对于相机响应速度较为敏感。因此,在具体应用时,解决其二者之间的矛盾会带来更好的用户体验。
针对该问题,可将拍照场景分类,针对不同应用场景进行分别处理。如图16所示,当RAW图像从感知器生成后,采用简单的分类模型判定该Raw图像是否属于夜间模型场景(低光照),如果非夜间场景,噪声较为简单,采用快速的传统方法进行处理,否则将该夜间场景的RAW图像送入基于深度学***衡、颜色映射、色调调整等其他ISP流程的处理,最后压缩后输出照片呈现给用户看。
不失一般性,在该实施例中,本公开选定图像去噪网络中的WIN5-RB模型做为卷积神经网络的示例。
该网络结构如图16中的左图所示,其输入是在灰度颜色空间下的大小为481*321的单通道图,之后经过五个卷积块的卷积,这五个卷积块均没有降采样,卷积块中包含卷积层、BN(Batch Normalization)层和ReLU(Rectified Linear Unit)激活函数层。网络的输出是预测的去噪声单通道图。
这种方案针对夜间图像特殊处理,用户为了获得好的图像质量,需要牺牲快响应的代价。为进一步解决该问题,可引入本公开实施例图1至图15所述的图像处理方法和装置。
采用本公开实施例的图像处理方案的实施用例的流程图如图16右图所示。在逆马赛克变换模块后,根据不同应用场景可选用不同的N。例如:
夜间场景:N=2
低光照场景:N=3
白天场景:N=4
或者:
高ISO:N=2
中ISO:N=3
低ISO:N=4
根据超参数N的不同,可以选用不同的模型或者同一模型。当选用同一模型的时候,该模型的输入通道数应该与配置中N最大值时所具备的通道数相同,此时如果输入通道小于模型的通道数,则不足的输入通道输入0数值。不失一般性,本具体实施用例中,可为每一个设定好的N,配置一个训练好的模型。
不失一般性,在本具体实施用例中,假定用户拍了一张夜间场景或者处于高ISO模式下,此时选取N=2。WIN5 RB网络的输入大小是481*321的灰度图,为了方便计算,本公开将输入图像的尺度先从481*321缩放到480*320,经过交错空间变换模块的变换(在该实施例中,交错空间变换模块可以采用硬件实现,速度更快),可以得到四张240*160的小图像,将这些小图像按顺序叠加成四个通道,送入WIN5-RB网络的第一层。由于输入分辨率降低,后续层的计算量均变小。原WIN5-RB网络的最后一层输出是481*321的去噪图像,本公开方法将其改造成四个240*160的输出通道,然后经过基于缝合方式的提升分辨率模块(在该实施例中,提升分辨率模块可以采用硬件实现,速度更快),还原成480*320的图像,最后再通过插值方式放大到481*321。本具体实施例中,提升分辨率模块的方式可采用与交错变换方式互逆的方式:缝合变换。本实施例中,由于交错空间变换模块和提升分辨率模块所增加的额外的卷积核,初始权重设定为0(也可以采取别的初始化策略),其余权重采用原网络的对应权值进行初始化。最后是重训练的过程,本实施例中,设置所有特征图的膨胀系数为λi=1,即保持特征通道数不变。
在另一些实施例中,将结合ULED显示屏的电视高清显示的应用场景进行说明。
视频投影有很多重要应用,例如:视频需要投影到三星高清电视、商场广告屏、不规则形状LED广告屏、投影仪、各种分辨率的手机等。传统播放器软件在电视、手机上播放视频时,往往采用短边对齐的方式以维持视频内容比例尺不变,如果分辨率不足,则通过一些差值算法对视频帧的尺度放大。然而有些应用,需要将播放的视频信号进行全屏投影,例如:电视数字图像的播放,各种形状和分辨率的ULED屏投影等,而分辨率无法满足时,就需要对视频帧生成超分辨率图像。
以不同分辨率的高清电视播放视频信号为例。经典的高清电视分辨率规格包括:2K(1920*1080),4K(3840*2160)和8K(7680*4320)。不失一般性,本具体实施用例采用4K的视频投影到8K的屏幕上。可以采用双线性插值等算法完成分辨率对齐,也可以采用基于数据驱动的传统机器学习方法。可通过卷积神经网络来实现该处理。卷积神经网络对视频的每一帧逐帧处理。例如网络总计由三个卷积块组成,每个卷积块包含卷积层和激活函数层,且前两个卷积块分辨率与输入视频的分辨率保持一致,第三个卷积块通过反卷积将分辨率扩大一倍变成8K。
这种卷积神经网络有个问题:第一个是由于网络中的几个卷积块都保持不降分辨率,而每张特征图分辨率都高达3840*2160,高清电视机所配置的计算资源难以满足实时计算的需求。
为至少部分地解决该问题,可使用本公开实施例图1至图11所述的图像处理方案对该卷积神经网络进行改进。为此,本公开实施例提供了用于至少部分解决上述问题的方法和装置。
图17示出了根据本公开实施例的图像处理方法的示意性流程图。如图17所示,该方法包括:
S1710,接收视频;
S1720,使用人工智能(AI)相关模块对所述视频提升分辨率;
S1730,显示提升分辨率之后的视频。
在一些实施例中,使用AI相关模块对所述视频提升分辨率可包括:利用图1所示的方法来使用AI芯片对所述视频提升分辨率。
AI相关模块可以是AI芯片,也可以是任何可实现AI功能的任何硬件和/或软件实现。
在一些实施例中,使用AI相关模块对所述视频提升分辨率可包括:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
图18示出了根据本公开实施例的与图17所示图像处理方法的相对应的图像处理装置的示意性框图。如图18所示,该图像处理装置包括:
I/O模块1810,用于接收视频;
提升分辨率模块1820,用于使用AI相关模块对所述视频提升分辨率;
显示模块1830,用于显示提升分辨率之后的视频。
在一些实施例中,所述提升分辨率模块1820可用于:利用权利要求1至10中任一项所述的方法,使用AI芯片对所述视频提升分辨率。
AI相关模块可以是AI芯片,也可以是任何可实现AI功能的任何硬件和/或软件实现。
在一些实施例中,所述提升分辨率模块1820可用于:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
改进后的网络结构如图19所示。加入了ISM交错空间模块和URM提升分辨率模块。假定交错空间降分辨率参数N=2,三个卷积块的计算量均降为原来的1/4,之后的块4是原卷积神经网络的单通道输出结果,这里扩展为4个通道,这4个通道经过基于缝合方式的URM模块合并为单通道输出,最终呈现在显示屏上。
在具体实现中,相关算法被用到高清电视中,其一般硬件结构的示例可参见图20。如图20所示,该结构可包含以下模块:若干信号源端口,例如:数字视频接口(DigitalVisual Interface(DVI))端口、高清晰度多媒体结构(High Definition MultimediaInterface(HDMI))端口、电视调谐器(TV-turner)端口等,格式转换1模块,信号处理模块、超分模块、格式转换2模块以及最后的显示屏驱动模块。格式转换模块将不同信号源的数据信号转换为全高清晰度Quad Full High Definition(QFHD)格式或其他相关格式,然后传递给后续模块。信号处理模块进行与显示屏相关的信号处理操作,例如:电视背光区域调节(Local dimming)等。超分模块则提高帧的图像分辨率,使得输出信号为8K的信号,然后通过格式转换2模块输出满足后续显示屏驱动的信号格式。在本具体实施用例中,模块内部之间通过电连接(electrically connected)的方式连接,而格式转换2模块与显示屏驱动之间则是通过电缆连接(cable connection)。需要说明的是,该电视也可以不包括格式转换1模块和格式转换2模块,此时,信号源端口接收的信号输入到信号处理模块中,超分模块输出信号到显示屏驱动模块,以便进行显示。另外,信号处理模块和超分模块也可以互换位置,即,先提升信号的分辨率,再对其进行处理。
步骤S1720和提升分辨率模块1820的功能可在图20所示的超分模块中实现。图21示出了该超分模块的硬件实现的一个具体示例。该模块包含AI计算芯片、超分算法ROM(Read Only Memory)。其中,AI计算芯片可以从优选择合适功耗的芯片,例如:可以选DSP单片机,也可以选AI专用的Neural Processing Unit(NPU)芯片。该超分算法ROM可以是独立的ROM,也可以是在AI计算芯片内。超分算法ROM模块存储了应用了用于实现本公开上述实施例中图像处理方法的算法。该算法读入AI计算芯片后,即可对信号进行超分处理。
该超分模块还可以包括视频信号判定器,视频信号判定器判定信号是否是8K信号,如果已是8K信号,则不进行超分辨率任务,直接输出信号,如果低于8K信号,则需要执行超分辨率任务,将信号送至AI计算芯片。
该超分模块还可以包括ISM硬件模块,通过硬件实现本公开中ISM模块的功能,将一个大的输入图像分解为若干子图像,并将子图像送入AI计算芯片。具体地,ISM模块接收信号后,按照本公开中ISM模块所介绍的索引计算方法,将相应数据计算得到并存入AI计算芯片。
该超分模块还可以包括视频帧缓冲内存,用于缓存ISM硬件模块分割出的子图像,该子图像存储在视频帧缓冲区的相应地址下的内存中。AI计算芯片在读入算法之后,对视频帧缓冲区的相应地址下的内存中的图像进行超分辨率处理。
该超分模块还可以包括视频帧缓冲内存,用于存储AI计算芯片处理后得到的8K信号,并输出给显示模块。
通过图17至图21所示的技术方案,本公开使得用深度卷积神经网络对已有视频进行超分辨率的高清显示成为可能,大大缓解了对计算资源的需求。
卷积神经网络存在两个效应:分辨率传播影响效应(Resolution effect)和特征图数量影响效应(Resolution broadcast effect)。卷积神经网络(CNN)不同于全连接神经网络,在同一通道中卷积核共享参数,而卷积核计算时在原图像上的感知则是固定大小,因此卷积层输出的特征图分辨率大小与该层输入特征图大小成正比。与此类似,池化层、激活函数层、反卷积层等的输出特征图分辨率与输入特征图分辨率也成正比。当一个卷积神经网络,尤其是全卷积神经网络,其某一卷积块的分辨率产生变化时,后续所有卷积块的分辨率则会受其影响,相应产生正比变化,而卷积块的计算量则又与分辨率大小成正比变化。本公开称这种效应为分辨率传播效应。其传播方向沿着卷积块的分布方向。而某一个卷积块的特征图的数量的多少只能影响本块以及之后一个卷积块的计算量大小,这种效应本公开称之为特征图数量变化效应。本公开对卷积神经网络的加速计算正是建立在这两个效应的基础上。
本公开实施例的技术方案利用了该效应进行计算加速。具体的,通过在交错空间内,经过交错拆分方法的映射,可将一个大分辨率的输入图像或特征图转换成多个小分辨率的目标输入图像或特征图。在交错空间内,输入信息在分辨率降低的同时,保持了输入信息的完整。经过交错拆分方法的映射,我们将一个大分辨率的输入通道变成多个小分辨率的输入通道,而这些小分辨率的通道还能还原成原大分辨率的通道,从而保持信息的完整性。这样整个网络分辨率均得到降低。在网络的最后或者中间引入一个上升分辨率的模块,从而保持原网络的输出的分辨率。
此外,本公开图像处理装置及方法,通过对小分辨率通道的一部分送入网络的控制,从而可以根据不同精度需求的任务来权衡加速效果。
本公开图像处理装置及方法,与已有只能降低模型大小的方法不同,可以降低大量的在线运行内存以及显存需求,一方面既能减少端运算任务内存需求,又适用于给云计算任务减少内存资源负担。例如,本公开图像处理装置及方法,利用卷积神经网络中的分辨率传播效应和交错空间的信息保持特性,实现了对目标卷积神经网络实现约N2倍的速度提升,此外还能节约大量的数据内存。尤其是,本公开对于复杂的像素级任务提出了一种可能的加速方案。
另一方面,很多任务训练和测试时,例如,图像分割任务,受限于内存和显存大小,其所用模型的输入都是固定的有限的图像分辨率,例如,320*320,大图像都需要缩小或者切片后送入神经网络,而本公开图像处理装置及方法可以真实地处理大图像。
此外,本公开与现有经典方法并不冲突,可以与现有经典方法结合使用。
至此,已经结合附图对本公开实施例进行了详细描述。依据以上描述,本领域技术人员应当对本公开图像处理装置及方法有了清楚的认识。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
当然,根据实际需要,本公开方法还包含其他的步骤,由于同本公开的创新之处无关,此处不再赘述。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (22)
1.一种图像处理方法,包括:
获取输入图像;
将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
2.根据权利要求1所述的图像处理方法,其中,所述输入图像的特征图是所述输入图像经过所述卷积神经网络中的一个或多个卷积块处理而得到的。
3.根据权利要求1所述的图像处理方法,其中,提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率包括:提升所述卷积神经网络的任一个或多个卷积块的输出的特征图的分辨率,使所述卷积神经网络的输出的特征图的分辨率升高至所述输入图像只经过所述卷积神经网络处理达到的分辨率。
4.根据权利要求1或2所述的图像处理方法,其中,将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图包括:
确定所述目标输入图像或目标特征图与所述输入图像或所述输入图像的特征图之间的降分辨率比率N;
根据所述降分辨率比率N确定所述目标输入图像或目标特征图的数量F*F,其中
F=U(N)
U(·)为向上取整函数;以及
将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图。
5.根据权利要求4所述的图像处理方法,其中,
将所述输入图像或所述输入图像的特征图变换为F*F个目标输入图像或目标特征图包括:
对所述输入图像或所述输入图像的特征图进行步长为N的下采样,得到F*F个目标输入图像或目标特征图,其中,采样公式为:
Oi,j(x,y)=I(xN+i,yN+j)
其中,I,O分别表示输入图像或输入图像的特征图和目标输入图像或目标特征图,i,j是为变换后的多个目标输入图像或目标特征图建立的索引,且i∈[0,F),j∈[0,F),x和y分别是相应目标输入图像或目标特征图中像素的横坐标和纵坐标,且x∈[0,W′),y∈[0,H′),W′=L(W/N),H′=L(H/N),xN+i和yN+j是所述输入图像或所述输入图像的特征图中像素的索引,U(·)表示向上取整函数,L(·)表示向下取整函数,W和H分别表示所述输入图像或所述输入图像的特征图的宽度和高度,W′和H′分别表示所述目标输入图像或所述目标特征图的宽度和高度。
6.根据权利要求1所述的图像处理方法,其中,通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
通过所述卷积神经网络中的一个或多个卷积块使用以下卷积方式之一,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理;
通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理;
根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理。
7.根据权利要求6中所述的图像处理方法,其中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔;或
通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,一个卷积块处理的所述部分目标输入图像或目标特征图之间的相关性高于阈值,或者一个卷积块处理的所述部分目标输入图像或目标特征图为设定的具有相关性的多个目标输入图像或目标特征图。
8.根据权利要求7中所述的图像处理方法,其中,通过每个卷积块对多个目标输入图像或目标特征图中的部分目标输入图像或目标特征图进行卷积处理,其中,所述部分目标输入图像或目标特征图之间具有特定步长间隔,包括:
将目标输入图像或目标特征图分成R组目标输入图像或目标特征图,其中,R是整数,每组中的目标输入图像或目标特征图之间具有步长间隔R,所述R组部分目标输入图像或目标特征图之间不重叠;
对每组目标输入图像或目标特征图进行卷积操作,得到对应的输出特征图,其中,第t组目标输入图像或目标特征图的起始目标输入图像或目标特征图为第t个目标输入图像或目标特征图,其中,t∈[0,R-1];以及
第t组目标输入图像或目标特征图中的第i个目标输入图像或目标特征图为全部目标输入图像或目标特征图中的第(i*R+t)个目标输入图像或目标特征图,i为非负整数。
9.根据权利要求6中所述的图像处理方法,其中,通过每个卷积块按照权重对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行卷积处理包括:
通过每个卷积块按照下面的公式对多个目标输入图像或目标特征图中进行卷积处理:
其中,Si表示第i个输出特征图,Convi,p(Mp)表示第i个卷积核对第p个目标输入图像或目标特征图MP的卷积操作,wi,p表示第i个卷积核对应第p个目标输入图像或目标特征图的权重,P表示目标输入图像或目标特征图的总数。
10.根据权利要求6中所述的图像处理方法,其中,根据多个目标输入图像或目标特征图之间的信息差异,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理,包括:
根据以下公式确定根据多个目标输入图像或目标特征图之间的信息差异:
OSp=Mp-Mb
其中,Mp表示第p个目标输入图像或目标特征图,Mb表示经映射后得到的基准目标输入图像或目标特征图,OSp是所述第p个目标输入图像或目标特征图的偏移信息,所述基准目标输入图像或目标特征图为转换后的第一个目标输入图像或目标特征图。
11.一种图像处理装置,包括:
I/O模块,用于获取输入图像;
交错空间变换模块,用于将所述输入图像或所述输入图像的特征图转换成多个目标输入图像或目标特征图,其中,各目标输入图像或目标特征图的分辨率小于所述输入图像或所述输入图像的特征图的分辨率,且各目标输入图像或目标特征图中相同位置的像素在所述输入图像或所述输入图像的特征图中是邻域关系;
处理模块,用于通过卷积神经网络中的一个或多个卷积块,对多个目标输入图像或目标特征图中的至少部分目标输入图像或目标特征图进行处理;以及
提升分辨率模块,用于提升所述卷积神经网络中的一个或多个卷积块的输出的特征图的分辨率。
12.一种用于训练在权利要求1-10中任一项所述的图像处理方法中使用的卷积神经网络的方法,包括:
获取训练数据;
利用训练数据对所述卷积神经网络进行训练;以及
根据训练结果调整所述卷积神经网络每一卷积块的输入图像或特征图通道数量;其中,对任意第K个卷积块,若调整前第K个卷积块的输入图像或特征图通道数量为Mk,则调整后第K个卷积块的输入图像或特征图通道数量为λkMk,λk为膨胀系数。
13.根据权利要求12中所述的训练卷积神经网络的方法,其中,
如果所述调整没有增加通道和卷积核,对应的卷积核沿用调整前的卷积方式且卷积所有输入通道;
如果所述调整增加了通道和卷积核,则对所有新增加的输入通道卷积,或者对所有输入通道进行卷积。
14.根据权利要求12中所述的训练卷积神经网络的方法,其中,根据训练结果调整卷积神经网络每一卷积块的输入图像或特征图通道数量包括:
将膨胀系数设为λ=[λ0,λ1,...,λL],其中L表示卷积块数,λ0=λ1=…=λL,则λ成为标量超参;
确定λ的调整步长,得到λ的新数列[λ0,λ1,...,λS],其中,每一个λs(s∈[0,S])都是一个L维向量,且当s<v时,λs<λv,其中v∈[0,S];
针对每一个λs点计算对应的性能收益率:
其中,性能收益率Gs-1是标量,As表示λs点对应所得到的模型的性能;以及
基于以下公式计算最终选取的膨胀系数λ:
其中Gthr是阈值,取值为预定常数值或所述卷积神经网络在调整前对应于膨胀系数λ为单位向量时的性能收益率,表示取使得括号内表达式最大时的λs值。
15.一种图像处理方法,包括:
接收视频;
使用人工智能AI相关模块对所述视频提升分辨率;
显示提升分辨率之后的视频。
16.根据权利要求15中所述的方法,其中,使用AI相关模块对所述视频提升分辨率,包括:利用权利要求1至10中任一项所述的方法,使用AI芯片对所述视频提升分辨率。
17.根据权利要求15中所述的方法,其中,AI相关模块为AI芯片。
18.根据权利要求15中所述的方法,其中,使用AI相关模块对所述视频提升分辨率,包括:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
19.一种图像处理装置,包括:
I/O模块,用于接收视频;
提升分辨率模块,用于使用人工智能AI相关模块对所述视频提升分辨率;
显示模块,用于显示提升分辨率之后的视频。
20.根据权利要求19中所述的图像处理装置,其中,所述提升分辨率模块用于:利用权利要求1至10中任一项所述的方法,使用AI芯片对所述视频提升分辨率。
21.根据权利要求19中所述的图像处理装置,其中,所述AI相关模块为AI芯片。
22.根据权利要求19中所述的图像处理装置,其中,所述提升分辨率模块用于:使用硬件对视频中的帧转换成多个目标输入图像,使用AI相关模块对多个目标输入图像进行处理,以便提升输出图像的分辨率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/011557 WO2020050686A1 (en) | 2018-05-30 | 2019-09-06 | Image processing device and method |
US17/272,866 US11967045B2 (en) | 2018-05-30 | 2019-09-06 | Image processing device and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810546054 | 2018-05-30 | ||
CN2018105460546 | 2018-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110555800A true CN110555800A (zh) | 2019-12-10 |
Family
ID=68736219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811049734.3A Pending CN110555800A (zh) | 2018-05-30 | 2018-09-07 | 图像处理装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11967045B2 (zh) |
CN (1) | CN110555800A (zh) |
WO (1) | WO2020050686A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242087A (zh) * | 2020-01-21 | 2020-06-05 | 华为技术有限公司 | 物体识别方法及装置 |
CN112380392A (zh) * | 2020-11-17 | 2021-02-19 | 北京百度网讯科技有限公司 | 用于分类视频的方法、装置、电子设备及可读存储介质 |
CN112598012A (zh) * | 2020-12-23 | 2021-04-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
CN116721006A (zh) * | 2022-02-28 | 2023-09-08 | 格兰菲智能科技有限公司 | 特征图处理方法和装置 |
TWI815092B (zh) * | 2020-03-11 | 2023-09-11 | 聯發科技股份有限公司 | 視頻處理電路及用於執行sr操作的方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220309615A1 (en) * | 2019-08-23 | 2022-09-29 | Sony Group Corporation | Signal processing device, signal processing method, and program |
US20210103793A1 (en) * | 2019-10-08 | 2021-04-08 | National Tsing Hua University | Block-based inference method for memory-efficient convolutional neural network implementation and system thereof |
GB2588431B (en) * | 2019-10-23 | 2023-02-15 | Advanced Risc Mach Ltd | Image signal processing |
US11429771B2 (en) * | 2020-01-31 | 2022-08-30 | Fotonation Limited | Hardware-implemented argmax layer |
KR20210109327A (ko) * | 2020-02-27 | 2021-09-06 | 삼성전자주식회사 | 인공신경망의 학습 방법 및 장치 |
CN111767928B (zh) * | 2020-06-28 | 2023-08-08 | 中国矿业大学 | 基于卷积神经网络提取图像特征信息的方法及装置 |
CN112529897A (zh) * | 2020-12-24 | 2021-03-19 | 上海商汤智能科技有限公司 | 一种图像检测方法、装置、计算机设备及存储介质 |
CN112651364B (zh) * | 2020-12-31 | 2023-06-20 | 北京市商汤科技开发有限公司 | 图像处理方法、装置、电子设备及存储介质 |
US11714881B2 (en) | 2021-05-27 | 2023-08-01 | Microsoft Technology Licensing, Llc | Image processing for stream of input images with enforced identity penalty |
CN114067183B (zh) * | 2021-11-24 | 2022-10-28 | 北京百度网讯科技有限公司 | 神经网络模型训练方法、图像处理方法、装置和设备 |
CN114565501B (zh) * | 2022-02-21 | 2024-03-22 | 格兰菲智能科技有限公司 | 用于卷积运算的数据加载方法及其装置 |
CN114266769B (zh) * | 2022-03-01 | 2022-06-21 | 北京鹰瞳科技发展股份有限公司 | 一种基于神经网络模型进行眼部疾病识别的***及其方法 |
CN115205120A (zh) * | 2022-07-26 | 2022-10-18 | 中国电信股份有限公司 | 图像处理方法、图像处理装置、介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842115A (zh) * | 2012-05-31 | 2012-12-26 | 哈尔滨工业大学(威海) | 基于双重字典学习的压缩感知图像超分辨率重建方法 |
CN103248797A (zh) * | 2013-05-30 | 2013-08-14 | 北京志光伯元科技有限公司 | 一种基于fpga的视频分辨率增强方法及模块 |
US20140072242A1 (en) * | 2012-09-10 | 2014-03-13 | Hao Wei | Method for increasing image resolution |
US20170046816A1 (en) * | 2015-08-14 | 2017-02-16 | Sharp Laboratories Of America, Inc. | Super resolution image enhancement technique |
CN106791927A (zh) * | 2016-12-23 | 2017-05-31 | 福建帝视信息科技有限公司 | 一种基于深度学习的视频增强与传输方法 |
WO2017100903A1 (en) * | 2015-12-14 | 2017-06-22 | Motion Metrics International Corp. | Method and apparatus for identifying fragmented material portions within an image |
US20170278244A1 (en) * | 2016-03-24 | 2017-09-28 | The Chinese University Of Hong Kong | Method and a system for non-rigid image registration |
CN107358576A (zh) * | 2017-06-24 | 2017-11-17 | 天津大学 | 基于卷积神经网络的深度图超分辨率重建方法 |
CN107481188A (zh) * | 2017-06-23 | 2017-12-15 | 珠海经济特区远宏科技有限公司 | 一种图像超分辨率重构方法 |
CN108074218A (zh) * | 2017-12-29 | 2018-05-25 | 清华大学 | 基于光场采集装置的图像超分辨率方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008133951A2 (en) | 2007-04-24 | 2008-11-06 | Massachusetts Institute Of Technology | Method and apparatus for image processing |
US20130177242A1 (en) | 2012-01-10 | 2013-07-11 | James E. Adams, Jr. | Super-resolution image using selected edge pixels |
US10089717B2 (en) | 2016-04-05 | 2018-10-02 | Flipboard, Inc. | Image scaling using a convolutional neural network |
US10346740B2 (en) * | 2016-06-01 | 2019-07-09 | Kla-Tencor Corp. | Systems and methods incorporating a neural network and a forward physical model for semiconductor applications |
US10706547B2 (en) * | 2017-06-02 | 2020-07-07 | Htc Corporation | Image segmentation method and apparatus |
CN109784325A (zh) * | 2017-11-10 | 2019-05-21 | 富士通株式会社 | 开集识别方法和设备及计算机可读存储介质 |
US10628705B2 (en) * | 2018-03-29 | 2020-04-21 | Qualcomm Incorporated | Combining convolution and deconvolution for object detection |
-
2018
- 2018-09-07 CN CN201811049734.3A patent/CN110555800A/zh active Pending
-
2019
- 2019-09-06 US US17/272,866 patent/US11967045B2/en active Active
- 2019-09-06 WO PCT/KR2019/011557 patent/WO2020050686A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842115A (zh) * | 2012-05-31 | 2012-12-26 | 哈尔滨工业大学(威海) | 基于双重字典学习的压缩感知图像超分辨率重建方法 |
US20140072242A1 (en) * | 2012-09-10 | 2014-03-13 | Hao Wei | Method for increasing image resolution |
CN103248797A (zh) * | 2013-05-30 | 2013-08-14 | 北京志光伯元科技有限公司 | 一种基于fpga的视频分辨率增强方法及模块 |
US20170046816A1 (en) * | 2015-08-14 | 2017-02-16 | Sharp Laboratories Of America, Inc. | Super resolution image enhancement technique |
WO2017100903A1 (en) * | 2015-12-14 | 2017-06-22 | Motion Metrics International Corp. | Method and apparatus for identifying fragmented material portions within an image |
US20170278244A1 (en) * | 2016-03-24 | 2017-09-28 | The Chinese University Of Hong Kong | Method and a system for non-rigid image registration |
CN106791927A (zh) * | 2016-12-23 | 2017-05-31 | 福建帝视信息科技有限公司 | 一种基于深度学习的视频增强与传输方法 |
CN107481188A (zh) * | 2017-06-23 | 2017-12-15 | 珠海经济特区远宏科技有限公司 | 一种图像超分辨率重构方法 |
CN107358576A (zh) * | 2017-06-24 | 2017-11-17 | 天津大学 | 基于卷积神经网络的深度图超分辨率重建方法 |
CN108074218A (zh) * | 2017-12-29 | 2018-05-25 | 清华大学 | 基于光场采集装置的图像超分辨率方法及装置 |
Non-Patent Citations (3)
Title |
---|
LI LINGHUI等: "Video super-resolution reconstruction based on deep convolutional neural network and spatio-temporal similarity", THE JOURNAL OF CHINA UNIVERSITIES OF POSTS AND TELECOMMUNICATIONS, vol. 23, no. 5, pages 68 - 81, XP029871427, DOI: 10.1016/S1005-8885(16)60060-2 * |
张顺岚;曾儿孟;高宇;莫建文: "基于卷积神经网络的超分辨率重建", 计算机工程与设计, no. 11 * |
赵荣椿、赵忠明、张艳宁、赵歆著: "数字图像处理", 30 April 2016, 西北工业大学出版社, pages: 173 - 186 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242087A (zh) * | 2020-01-21 | 2020-06-05 | 华为技术有限公司 | 物体识别方法及装置 |
CN111242087B (zh) * | 2020-01-21 | 2024-06-07 | 华为技术有限公司 | 物体识别方法及装置 |
TWI815092B (zh) * | 2020-03-11 | 2023-09-11 | 聯發科技股份有限公司 | 視頻處理電路及用於執行sr操作的方法 |
CN112380392A (zh) * | 2020-11-17 | 2021-02-19 | 北京百度网讯科技有限公司 | 用于分类视频的方法、装置、电子设备及可读存储介质 |
CN112598012A (zh) * | 2020-12-23 | 2021-04-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
CN112598012B (zh) * | 2020-12-23 | 2022-12-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
CN116721006A (zh) * | 2022-02-28 | 2023-09-08 | 格兰菲智能科技有限公司 | 特征图处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020050686A1 (en) | 2020-03-12 |
US11967045B2 (en) | 2024-04-23 |
US20210192687A1 (en) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555800A (zh) | 图像处理装置及方法 | |
CN109379550B (zh) | 基于卷积神经网络的视频帧率上变换方法及*** | |
CN111739078B (zh) | 一种基于上下文注意力机制的单目无监督深度估计方法 | |
CN109472270B (zh) | 图像风格转换方法、装置及设备 | |
CN110969577B (zh) | 一种基于深度双重注意力网络的视频超分辨率重建方法 | |
Liu et al. | Robust video super-resolution with learned temporal dynamics | |
US11676023B2 (en) | Systems and methods for performing direct conversion of image sensor data to image analytics | |
CN111915526A (zh) | 一种基于亮度注意力机制低照度图像增强算法的摄影方法 | |
CN112396645B (zh) | 一种基于卷积残差学习的单目图像深度估计方法和*** | |
CN110555808B (zh) | 一种图像处理方法、装置、设备及机器可读存储介质 | |
US20040105015A1 (en) | Image processing device and image processing program | |
CN112004085A (zh) | 一种场景语义分割结果指导下的视频编码方法 | |
CN113077505A (zh) | 一种基于对比学习的单目深度估计网络的优化方法 | |
CN104202538A (zh) | 宽动态摄像机中不同曝光度图像的双次配准方法 | |
CN114170286A (zh) | 一种基于无监督深度学习的单目深度估计方法 | |
US11790501B2 (en) | Training method for video stabilization and image processing device using the same | |
CN114830168A (zh) | 图像重建方法、电子设备和计算机可读存储介质 | |
CN116402679A (zh) | 一种轻量级红外超分辨率自适应重建方法 | |
CN113379606B (zh) | 一种基于预训练生成模型的人脸超分辨方法 | |
CN110555877B (zh) | 一种图像处理方法、装置及设备、可读介质 | |
CN113610912A (zh) | 三维场景重建中低分辨率图像单目深度估计***及方法 | |
Shaw et al. | Hdr reconstruction from bracketed exposures and events | |
CN117152019A (zh) | 一种基于双分支特征处理的低照度图像增强方法和*** | |
CN114565532A (zh) | 视频美颜处理方法、装置、存储介质与电子设备 | |
KR20220065652A (ko) | Dvs 데이터 및 fbis 이미지의 퓨전 방법, 이를 구현하는 시스템 및 비-일시적 프로그램 저장 장치 |
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 |