CN109671020B - 图像处理方法、装置、电子设备和计算机存储介质 - Google Patents
图像处理方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN109671020B CN109671020B CN201811546051.9A CN201811546051A CN109671020B CN 109671020 B CN109671020 B CN 109671020B CN 201811546051 A CN201811546051 A CN 201811546051A CN 109671020 B CN109671020 B CN 109671020B
- Authority
- CN
- China
- Prior art keywords
- neural network
- pruning
- sub
- training
- target
- 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 21
- 238000013138 pruning Methods 0.000 claims abstract description 490
- 238000013528 artificial neural network Methods 0.000 claims abstract description 487
- 238000012549 training Methods 0.000 claims abstract description 224
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000015654 memory Effects 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 118
- 238000004364 calculation method Methods 0.000 claims description 69
- 238000012163 sequencing technique Methods 0.000 claims description 37
- 238000000605 extraction Methods 0.000 claims description 32
- 238000009826 distribution Methods 0.000 claims description 30
- 230000009467 reduction Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000004880 explosion Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种图像处理方法、装置、电子设备和计算机存储介质,该方法包括:获取待处理图像和目标神经网络;计算目标神经网络的每个卷积层中卷积核的重要程度;基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络,利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到待处理图像的图像处理结果。本发明通过剪枝训练之后的目标神经网络对待处理图像进行图像处理时,可以大大提高图像处理的速度,减少了处理流程,同时节省了内存资源,使得剪枝训练之后的目标神经网络可以在移动设备上高速快速运行。
Description
技术领域
本发明涉及图像处理的技术领域,尤其是涉及一种图像处理方法、装置、电子设备和计算机存储介质。
背景技术
随着深度学习技术的发展,越来越多的图像处理问题(图像降噪,图像超分辨率等)通过神经网络取得了超越传统算法的效果。目前,在通过神经网络对待处理图像进行图像处理时,由于神经网络本身巨大的计算量,导致了图像处理的效率低下,流程繁杂且浪费内存资源。
综合,现有的图像处理方法存在效率低下,流程繁杂,内存资源浪费严重的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种图像处理方法、装置、电子设备和计算机存储介质,本发明能够提高图像处理的速度,减少了图像处理流程,同时节省了图像处理器的内存资源。
第一方面,本发明实施例提供了一种图像处理方法,包括:获取待处理图像和目标神经网络;所述目标神经网络中包含至少一个卷积层;基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度;所述目标参量包括:所述卷积核的计算复杂度,所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,所述卷积核对所述目标神经网络的网络结构的影响度;基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;利用所述剪枝训练之后的目标神经网络对所述待处理图像进行图像处理,得到图像处理结果。
进一步地,基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度包括:按照预设的剪枝阶段,计算待剪枝神经网络的每个卷积层中卷积核的重要程度,其中,所述待剪枝神经网络为当前剪枝阶段的上一剪枝阶段剪枝之后的目标神经网络;基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理包括:基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理。
进一步地,所述预设的剪枝阶段包括:第一剪枝阶段,第二剪枝阶段和第三剪枝阶段;基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理包括:在所述第一剪枝阶段,基于所述第一剪枝阶段计算得到的重要程度,对所述目标神经网络的卷积核进行剪枝训练处理,得到第一神经网络;在所述第二剪枝阶段,基于所述第二剪枝阶段计算得到的重要程度,对所述第一神经网络的卷积核进行剪枝训练处理,得到第二神经网络;在所述第三剪枝阶段,基于所述第三剪枝阶段计算得到的重要程度,对所述第二神经网络的卷积核进行剪枝训练处理,得到所述剪枝训练之后的目标神经网络。
进一步地,所述第一剪枝阶段包括多次剪枝操作,基于所述第一剪枝阶段计算得到的重要程度,对所述目标神经网络的卷积核进行剪枝训练处理包括:获取所述第一剪枝阶段的第i次剪枝操作计算得到的所述卷积核的重要程度,i为大于1的正整数;基于所述第i次剪枝操作计算得到的所述卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作,得到第i个子神经网络,并对所述第i个子神经网络进行训练;其中,在对所述第i个子神经网络进行训练时,若所述第i个子神经网络的训练结果满足第一预设条件,则将所述第i-1个子神经网络作为所述第一神经网络;若所述第i个子神经网络的训练结果不满足所述第一预设条件,则对所述第i个子神经网络进行第i+1次剪枝操作。
进一步地,基于所述第i次剪枝操作计算得到的所述卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作包括:对所述第i次剪枝操作计算得到的所述卷积核的重要程度进行排序,得到排序序列Ai;删除所述排序序列Ai中前N个重要程度所对应的卷积核,从而得到所述第i个子神经网络,其中,N为所述目标神经网络中卷积核总量的1%至2%之间的预设值。
进一步地,对所述第i个子神经网络进行训练包括:利用训练样本和第一损失函数对所述第i个子神经网络进行训练,所述第一损失函数包括:均方误差损失函数;其中,所述第一预设条件为:训练后得到的所述第一损失函数的函数值大于第一预设阈值;或者,第一目标卷积层中卷积核的权重分布在第i次剪枝操作前后的距离大于第一预设距离;所述第一目标卷积层为所述第i-1个子神经网络中的任意卷积层。
进一步地,在所述第二剪枝阶段,基于所述第二剪枝阶段计算得到的重要程度,对所述第一神经网络的卷积核进行剪枝训练处理包括:第一剪枝步骤,对所述第一神经网络中的特征提取层进行剪枝操作,当满足剪枝结束条件时,得到第一子神经网络;第二剪枝步骤,对所述第一子神经网络中的图像还原层进行剪枝操作,当满足剪枝结束条件时,得到第二子神经网络;其中,若剪枝数量未达到所述目标神经网络中卷积核总量的预设数值,则将所述第二子神经网络作为所述第一神经网络,并返回继续执行所述第一剪枝步骤和所述第二剪枝步骤;若所述剪枝数量达到所述目标神经网络中卷积核总量的预设数值,则将所述第二子神经网络作为所述第二神经网络。
进一步地,所述第二剪枝阶段包括特征提取层剪枝阶段;对所述第一神经网络中的特征提取层进行剪枝操作包括:获取所述特征提取层剪枝阶段的第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度,其中,j为大于1的正整数;基于所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作,得到第j个子神经网络,并对所述第j个子神经网络进行训练;其中,在对所述第j个子神经网络进行训练时,若所述第j个子神经网络的训练结果满足第二预设条件,则确定满足所述剪枝结束条件,并将所述第j-1个子神经网络作为所述第一子神经网络;若所述第j个子神经网络的训练结果不满足所述第二预设条件,则对所述第j个子神经网络进行第j+1次剪枝操作。
进一步地,所述第二剪枝阶段包括图像还原层剪枝阶段;对所述第一子神经网络中的图像还原层进行剪枝操作包括:获取所述图像还原层剪枝阶段的第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度,其中,k为大于1的正整数;基于所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作,得到第k个子神经网络,并对所述第k个子神经网络进行训练;其中,在对所述第k个子神经网络进行训练时,若所述第k个子神经网络的训练结果满足第三预设条件,则确定满足所述剪枝结束条件,并将所述第k-1个子神经网络作为所述第二子神经网络;若所述第k个子神经网络的训练结果不满足所述第三预设条件,则对所述第k个子神经网络进行第k+1次剪枝操作。
进一步地,基于所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作包括:对所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度进行排序,得到排序序列Aj;删除所述排序序列Aj中前M个重要程度所对应的卷积核,从而得到所述第j个子神经网络,其中,M为所述目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
进一步地,对所述第j个子神经网络进行训练包括:利用训练样本和第二损失函数对所述第j个子神经网络进行训练,所述第二损失函数包括:均方误差损失函数和总变分损失函数;其中,所述第二预设条件为:训练后得到的所述第二损失函数的函数值大于第二预设阈值;或者,第二目标卷积层中卷积核的权重分布在第j次剪枝操作前后的距离大于第二预设距离;所述第二目标卷积层为所述第j-1个子神经网络中的任意卷积层。
进一步地,基于所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作包括:对所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度进行排序,得到排序序列Ak;删除所述排序序列Ak中前M个重要程度所对应的卷积核,从而得到所述第k个子神经网络,其中,M为所述目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
进一步地,对所述第k个子神经网络进行训练包括:利用训练样本和第二损失函数对所述第k个子神经网络进行训练,所述第二损失函数包括:均方误差损失函数和总变分损失函数;其中,所述第三预设条件为:训练后得到的所述第二损失函数的函数值大于第三预设阈值;或者,第三目标卷积层中卷积核的权重分布在第k次剪枝操作前后的距离大于第三预设距离;所述第三目标卷积层为所述第k-1个子神经网络中的任意卷积层。
进一步地,所述第三剪枝阶段包括多次剪枝操作,基于所述第三剪枝阶段计算得到的重要程度,对所述第二神经网络的卷积核进行剪枝训练处理包括:获取所述第三剪枝阶段的第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度,s为大于1的正整数,所述第四目标卷积层为第s-1次剪枝操作之后得到的第s-1个子神经网络中卷积核数量最多的卷积层;基于所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度对所述第s-1个子神经网络进行剪枝操作,得到第s个子神经网络,并对所述第s个子神经网络进行训练;其中,在对所述第s个子神经网络进行训练时,若所述第s个子神经网络的训练结果满足第四预设条件,则将所述第s-1个子神经网络作为所述剪枝训练之后的目标神经网络;若所述第s个子神经网络的训练结果不满足所述第四预设条件,则对所述第s个子神经网络进行第s+1次剪枝操作。
进一步地,基于所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度对所述第s-1个子神经网络进行剪枝操作包括:对所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度进行排序,得到排序序列As;删除所述排序序列As中前预设数量个重要程度所对应的卷积核,从而得到所述第s个子神经网络。
进一步地,对所述第s个子神经网络进行训练包括:利用训练样本和第三损失函数对所述第s个子神经网络进行训练,所述第三损失函数包括:均方误差损失函数,总变分损失函数,图片梯度差损失函数和标准化损失函数;其中,所述第四预设条件为:训练后得到的所述第三损失函数的函数值大于第四预设阈值;或者,第五目标卷积层中卷积核的权重分布在第s次剪枝操作前后的距离大于第四预设距离;所述第五目标卷积层为所述第s-1个子神经网络中的任意卷积层。
进一步地,基于目标参量计算所述目标神经网络中每个卷积层中的卷积核的重要程度包括:根据重要性计算算式rank(f)=a*FLOPS(f)-b*Influence(f)+c*Relevance(f)计算所述卷积核的重要程度,其中,rank(f)表示所述卷积核的重要程度,FLOPS(f)表示所述卷积核的计算复杂度,Influence(f)表示所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,Relevance(f)表示所述卷积核对所述目标神经网络的网络结构的影响度,a、b、c为可调权重值。
第二方面,本发明实施例还提供了一种图像处理装置,包括:获取单元,用于获取待处理图像和目标神经网络;所述目标神经网络中包含至少一个卷积层;计算单元,用于基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度;所述目标参量包括:所述卷积核的计算复杂度,所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,所述卷积核对所述目标神经网络的网络结构的影响度;剪枝单元,用于基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;图像处理单元,用于利用所述剪枝训练之后的目标神经网络对所述待处理图像进行图像处理,得到图像处理结果。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面任一项所述的方法的步骤。
在本发明实施例中,首先,获取待处理图像和目标神经网络,然后,基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度,该重要程度是由卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度以及卷积核对目标神经网络的网络结构的影响度三个目标参量确定得到的;进而,基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;最后,利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到图像处理结果。通过上述描述可知,在本实施例中,确定重要程度的目标参量包含三个,通过上述三个目标参量确定得到的重要程度所包含的信息更加全面,进而基于包含信息更加全面的重要程度对目标神经网络中的卷积核进行剪枝时,能够更大程度的剪枝,并且还不会引起目标神经网络的爆炸,最终得到剪枝训练之后的目标神经网络的计算量大大减小,这样,在利用剪枝训练之后的目标神经网络对待处理图像进行图像处理时,可以大大提高图像处理的速度,减少了处理流程,同时节省了内存资源,缓解了现有的图像处理方法在对待处理图像进行图像处理时,效率低下,流程繁杂且内存资源浪费严重的问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电子设备的示意图;
图2为本发明实施例提供的一种图像处理方法的流程图;
图3为本发明实施例提供的基于第一剪枝阶段计算得到的重要程度,对目标神经网络的卷积核进行剪枝训练处理的方法流程图;
图4为本发明实施例提供的经过神经网络中卷积层处理之后的特征图的示意图;
图5为本发明实施例提供的一种图像处理装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
首先,参照图1来描述用于实现本发明实施例的电子设备100,该电子设备可以用于运行本发明各实施例的图像处理方法。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储器104、输入装置106、输出装置108以及摄像机110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)和ASIC(Application Specific Integrated Circuit)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图形处理器(GPU)、嵌入式神经网络处理器(NPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述摄像机110用于进行图像采集,其中,摄像机所采集的图像经过所述图像处理方法进行处理之后得到图像处理结果,例如,摄像机可以拍摄用户期望的图像(例如照片、视频等),然后,将该图像经过所述图像处理方法进行处理之后得到图像处理结果,摄像机还可以将所所拍摄的图像存储在所述存储器104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的图像处理方法的电子设备可以被实现为诸如智能手机、平板电脑等智能移动终端。
实施例2:
根据本发明实施例,提供了一种图像处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种图像处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取待处理图像和目标神经网络;目标神经网络中包含至少一个卷积层;
在本发明实施例中的目标神经网络具体是指通过训练样本训练之后得到的未剪枝神经网络。优选地,目标神经网络为U形网络,当然,也可以为其它类型的神经网络,本发明实施例对其不进行具体限制。
步骤S204,基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度;目标参量包括:卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度,卷积核对目标神经网络的网络结构的影响度;
在本发明实施例中,对目标神经网络进行剪枝时,参考的目标参量包括:卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度,卷积核对目标神经网络的网络结构的影响度,根据上述三个目标参量确定的重要程度包含的信息更加全面,这样,依据重要程度进行剪枝时,能够更大程度的剪枝,并且还不会引起神经网络的爆炸。下文中再对上述三个目标参量以及由三个目标参量确定的重要程度进行详细介绍。
步骤S206,基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;
在得到卷积核的重要程度后,进一步基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络。该剪枝训练之后的目标神经网络的计算量大大减小,运行时省时省内存,方便部署在移动设备上,并且该剪枝训练之后的目标神经网络保持与剪枝之前的目标神经网络接近的图像处理效果。
步骤S208,利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到图像处理结果。
具体的,如果目标神经网络为人脸特征点检测网络,那么利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,即为利用剪枝训练之后的人脸特征点检测网络对待处理图像进行人脸特征点检测,进而得到待处理图像中的目标对象的人脸特征点。
如果目标神经网络为活体检测网络,那么利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,即为利用剪枝训练之后的活体检测网络对待处理图像进行活体检测,进而得到待处理图像是否来自于活体的处理结果;
也就是说,在本实施例中,图像处理的过程可根据目标神经网络所能实现的功能而确定,该图像处理过程可以为从待处理图像中进行人脸检测,以得到人脸特征点,或者对待处理图像进行活体检测等等。本发明实施例对目标神经网络的具体功能不进行具体限制,可以为人脸特征点检测网络,还可以为活体检测网络,也可以为其它神经网络,能够对待处理图像进行图像处理的神经网络均在本申请的保护范围内。
在本发明实施例中,首先,获取待处理图像和目标神经网络,然后,基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度,该重要程度是由卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度以及卷积核对目标神经网络的网络结构的影响度三个目标参量确定得到的;进而,基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;最后,利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到图像处理结果。通过上述描述可知,在本实施例中,确定重要程度的目标参量包含三个,通过上述三个目标参量确定得到的重要程度所包含的信息更加全面,进而基于包含信息更加全面的重要程度对目标神经网络中的卷积核进行剪枝时,能够更大程度的剪枝,并且还不会引起目标神经网络的爆炸,最终得到剪枝训练之后的目标神经网络的计算量大大减小,这样,在利用剪枝训练之后的目标神经网络对待处理图像进行图像处理时,可以大大提高图像处理的速度,减少了处理流程,同时节省了内存资源,缓解了现有的图像处理方法在对待处理图像进行图像处理时,效率低下,流程繁杂且内存资源浪费严重的问题。
上述内容对本发明的图像处理方法进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。
在本发明的一个可选实施例中,基于目标参量计算目标神经网络中每个卷积层中的卷积核的重要程度包括:
根据重要性计算算式rank(f)=a*FLOPS(f)-b*Influence(f)+c*Relevance(f)计算卷积核的重要程度,其中,rank(f)表示卷积核的重要程度,FLOPS(f)表示卷积核的计算复杂度,Influence(f)表示卷积核对目标神经网络的输出结果的精确度的影响程度,Relevance(f)表示卷积核对目标神经网络的网络结构的影响度,a、b、c为可调权重值。
具体的,FLOPS(f)表示卷积核的计算复杂度。主要是由加法乘法组成,运算量越小,一般程序会运行的越快。但两者不一定是线性关系,FLOPS不止取决于神经网络本身的设计,还取决于输入特征图的维数。希望删除FLOPS较大的卷积核,以避免删除的卷积核数量多但是神经网络整体的FLOPS并没有减小很多,降低整个神经网络的FLOPS是剪枝的最终目的。
其中,FLOPS的计算过程如下:
对于一个卷积核,假设其大小为h*w*c*n(其中,h和w表示卷积核的高度和宽度,c为#input channel(表示卷积核的通道数,一般和输入特征的通道数相同),n为#outputchannel(表示当前卷积层卷积核的数量,和输出特征的通道数量相同)),输出的特征图的尺寸为H*W(H表示特征图的高,W表示特征图的宽),则该卷积核的FLOPS参考如下过程进行计算:FLOPS=H*W*n*(h*w*c+1)。
Influence表示卷积核对目标神经网络的输出结果的精确度的影响程度。可以理解为,当删除一个卷积核时,对神经网络的输出结果的改变对于没有删除这个卷积核时有多少变化。
其中,Influence可采用L1范数正则化或L2范数正则化的方法计算。一般来说,范数较小的卷积核,其卷积结果导致激活值较低,从而对神经网络的输出结果产生的影响较小,即具有较小范数的卷积核具有较高的修剪优先级,也即Influence的值越小越不重要,所以重要性计算算式中参量Influence前为负号。还可以采用其它方式进行计算,在此不再赘述。
Relevance表示卷积核对目标神经网络的网络结构的影响度。与Influence不同,Influence着重于卷积核对目标神经网络的输出结果的精确度的影响程度,而Relevance表示卷积核对目标神经网络的网络结构的影响度。同一卷积层由多个卷积核组成,一个卷积层中所有的卷积核的Relevance都是一样的。
其中,A表示目标神经网络中卷积核m所在卷积层n中卷积核的总数量,B表示目标神经网络中卷积核的总数量,C表示当前神经网络中卷积层n中卷积核的总数量,D表示当前神经网络中卷积核的总数量,m为卷积层n中的任一卷积核,n为被剪枝的任一卷积层。在重要程度中先取出排名靠前(从大到小的顺序)的前一半的卷积核,假设前一半的卷积核总共有100个卷积核,E表示在这100个卷积核中,属于卷积层n的卷积核的数量。Relevance的值越大,说明这个卷积核的卷积层不是那么重要或者说有点冗余,然后这个卷积核就会比其他卷积层的卷积核容易删除。
另外,需要说明的是上述重要性计算算式中的参数a、b、c为可调权重值。在本发明的实施例中,剪枝时分为三个剪枝阶段进行,其中,可以设定b=1,在整个剪枝过程中不变,通过调整a和c的大小控制三个目标参量之间的权重比例。具体的,在第一剪枝阶段中,a为0,b为1,c为0;在第二剪枝阶段中,a为0,b为1,c为0.5;在第三剪枝阶段中,a为1,b为1,c为0.8,据此实现对每个剪枝阶段的重要程度的排序。本发明实施例对上述a、b、c的值不进行具体限制。
具体实现时,还可以按照下述方式设置a、b、c的值实现排序:
在第一剪枝阶段,a为0,b为1,c为0,这样重要程度只由Influence参量决定;
在第二剪枝阶段中,先设置a为0,b为1,c为0,得到的各卷积核重要程度实际为各卷积核的Influence值,然后,根据各卷积核的Influence值,提取第一预设数量个(大于M)排名靠前的Influence值所对应的卷积核,进而,再设置a为0,b为0,c为1,计算这第一预设数量个排名靠前的Influence值所对应的卷积核的Relevance值,最终在第一预设数量个排名靠前的Influence值所对应的卷积核中删除排名靠前的M个Relevance值所对应的卷积核;
在第三剪枝阶段中,先设置a为1,b为0,c为0,得到的各卷积核重要程度实际为各卷积核的FLOPS值,然后,根据各卷积核的FLOPS值,提取第二预设数量个排名靠前的FLOPS值所对应的卷积核,进而,再设置a为0,b为1,c为0,计算这第二预设数量个排名靠前的FLOPS值所对应的卷积核的Influence值,再在第二预设数量个排名靠前的FLOPS值所对应的卷积核中提取第三预设数量个排名靠前的Influence值所对应的卷积核,最后,设置a为0,b为0,c为1,计算这第三预设数量个排名靠前的Influence值所对应的卷积核的Relevance值,再在第三预设数量个排名靠前的Influence值所对应的卷积核中删除预设数量个排名靠前的Relevance值所对应的卷积核。本发明实施例对上述两种实现方式不进行具体限制,还可以按照其它的方式设置a、b、c的值进而实现排序。
上述内容对计算卷积核的重要程度的过程进行了详细介绍,下面对图像处理方法所涉及的其它内容进行详细介绍。
在本发明的一个可选实施例中,基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度包括:按照预设的剪枝阶段,计算待剪枝神经网络的每个卷积层中卷积核的重要程度,其中,待剪枝神经网络为当前剪枝阶段的上一剪枝阶段剪枝之后的目标神经网络;
在实际实现时,在每个剪枝阶段中包含多个剪枝操作,在每次剪枝操作前,都要计算上一次剪枝操作之后的神经网络的每个卷积层中卷积核的重要程度。
基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理包括:基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理。
具体的,预设的剪枝阶段包括:第一剪枝阶段,第二剪枝阶段和第三剪枝阶段;
那么,基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理包括如下(1)-(3)步骤:
(1)在第一剪枝阶段,基于第一剪枝阶段计算得到的重要程度,对目标神经网络的卷积核进行剪枝训练处理,得到第一神经网络;
(2)在第二剪枝阶段,基于第二剪枝阶段计算得到的重要程度,对第一神经网络的卷积核进行剪枝训练处理,得到第二神经网络;
(3)在第三剪枝阶段,基于第三剪枝阶段计算得到的重要程度,对第二神经网络的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络。
下面对各个剪枝阶段的剪枝过程进行详细介绍:
在本发明的一个可选实施例中,第一剪枝阶段包括多次剪枝操作,参考图3,基于第一剪枝阶段计算得到的重要程度,对目标神经网络的卷积核进行剪枝训练处理包括如下步骤:
步骤S301,获取第一剪枝阶段的第i次剪枝操作计算得到的卷积核的重要程度,i为大于1的正整数;
步骤S302,基于第i次剪枝操作计算得到的卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作,得到第i个子神经网络,并对第i个子神经网络进行训练;
其中,剪枝操作的具体过程为如下1)-2)步骤:
1)对第i次剪枝操作计算得到的卷积核的重要程度进行排序,得到排序序列Ai;其中,排序时按照重要程度从大到小的顺序进行排序;
2)删除排序序列Ai中前N个重要程度所对应的卷积核,从而得到第i个子神经网络,其中,N为目标神经网络中卷积核总量的1%至2%之间的预设值。另外,N为2的正整数次幂。
图4为经过神经网络中卷积层处理之后的特征图的示意图。其中的每个矩形表示经过卷积层处理之后输出的特征图(其中包含特征图的参数信息)。卷积层输出的特征图一般是四维向量(H,W,C,N),第一层卷积层输出的特征图的分辨率(即四维向量中的H,W,表示特征图的高和宽)是128*128,特征通道数量(即四维向量中的C)是64,一次输入到第一层卷积层中的图像数量为1(即四维向量中的N,因为N=1,所以忽略了,这样图4中的每个特征图上仅包含三维向量,分别是H,W,C)。
另外,特征通道数的数量与卷积核的数量相等,则第一层卷积层的卷积核数量为64。那么,通过计算可知,图4中所表示的神经网络的卷积层中的卷积核的总量=64+128+256+512+256+128+64=1408,进一步可计算得到卷积核总量的1%至2%即为14至28之间,又因为N为2的正整数次幂,所以可以确定对于图4中的神经网络N的值为16。也就是,在对图4的神经网络进行第一阶段剪枝时,每次剪枝操作需要一次性删除前16个重要程度所对应的卷积核。
上述内容对第一剪枝阶段的第i次剪枝操作的过程进行了具体介绍,下面对训练的过程进行详细描述:
利用训练样本和第一损失函数对第i个子神经网络进行训练,第一损失函数包括:均方误差损失函数。
步骤S303,在对第i个子神经网络进行训练时,若第i个子神经网络的训练结果满足第一预设条件,则将第i-1个子神经网络作为第一神经网络;
具体的,第一预设条件为:训练后得到的第一损失函数的函数值大于第一预设阈值;或者,第一目标卷积层中卷积核的权重分布在第i次剪枝操作前后的距离大于第一预设距离;第一目标卷积层为第i-1个子神经网络中的任意卷积层。
下面对卷积核的权重分布进行介绍:比如,在3x3的卷积层中,其中的每个卷积核包含9个权重,该卷积层一共有#input channel*#output channel(这两个参量的含义已在上文中进行了介绍,参考上文中的对应描述)个卷积核,这样,该卷积层中就有#inputchannel*#output channel*9个权重。事先划分出一些权重区间,统计在每个权重区间内上述3x3的卷积层中有多少个权重,这样就得到了该3x3的卷积层中卷积核的权重分布。依据此,可以得到剪枝操作前后该3x3的卷积层上的两个权重分布,一个是剪枝操作前该3x3的卷积层上的权重分布,另一个是剪枝操作后该3x3的卷积层上的权重分布,计算这两个权重分布之间的距离,根据计算得到的距离确定训练结果是否满足第一预设条件。在计算两个权重分布之间的距离时,可采用Earth Mover’s Distance(地球移动距离,EMD)来测量上述两个权重分布之间的距离。
步骤S304,若第i个子神经网络的训练结果不满足第一预设条件,则对第i个子神经网络进行第i+1次剪枝操作。
下面对第二剪枝阶段的剪枝过程进行详细介绍:
在本发明的一个可选实施例中,在第二剪枝阶段,基于第二剪枝阶段计算得到的重要程度,对第一神经网络的卷积核进行剪枝训练处理包括3)-6)步骤:
3)第一剪枝步骤,对第一神经网络中的特征提取层进行剪枝操作,当满足剪枝结束条件时,得到第一子神经网络;其中,特征提取层包括多个卷积层;
具体的,第二剪枝阶段包括特征提取层剪枝阶段;对第一神经网络中的特征提取层进行剪枝操作包括如下31)-34)步骤:
31)获取特征提取层剪枝阶段的第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度,其中,j为大于1的正整数;
32)基于第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作,得到第j个子神经网络,并对第j个子神经网络进行训练;
具体剪枝操作的过程为:对第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度进行排序,得到排序序列Aj;其中,排序时,按照重要程度从大到小的顺序进行排序;删除排序序列Aj中前M个重要程度所对应的卷积核,从而得到第j个子神经网络,其中,M为目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。另外,M为2的正整数次幂。
对于图4中示出的神经网络,根据上述原则计算得到的M的值为4,也就是,在对图4的神经网络进行特征提取层剪枝阶段时,每次剪枝操作需要一次性删除特征提取层中前4个重要程度所对应的卷积核。
具体训练过程为:利用训练样本和第二损失函数对第j个子神经网络进行训练,第二损失函数包括:均方误差损失函数和总变分损失函数;
需要说明的是,第二损失函数=f(1)+d*f(2),其中,f(1)表示均方误差损失函数,f(2)表示总变分损失函数,d为可调权重。
33)在对第j个子神经网络进行训练时,若第j个子神经网络的训练结果满足第二预设条件,则确定满足剪枝结束条件,并将第j-1个子神经网络作为第一子神经网络;
具体的,第二预设条件为:训练后得到的第二损失函数的函数值大于第二预设阈值;或者,第二目标卷积层中卷积核的权重分布在第j次剪枝操作前后的距离大于第二预设距离;第二目标卷积层为第j-1个子神经网络中的任意卷积层。
第二目标卷积层中卷积核的权重分布与上述第一目标卷积层中卷积核的权重分布的确定过程相同,在此不再赘述。
34)若第j个子神经网络的训练结果不满足所述第二预设条件,则对第j个子神经网络进行第j+1次剪枝操作。
4)第二剪枝步骤,对第一子神经网络中的图像还原层进行剪枝操作,当满足剪枝结束条件时,得到第二子神经网络;其中,图像还原层包括多个卷积层;
具体的,第二剪枝阶段包括图像还原层剪枝阶段;对第一子神经网络中的图像还原层进行剪枝操作包括如下41)-44)步骤:
41)获取图像还原层剪枝阶段的第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度,其中,k为大于1的正整数;
42)基于第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作,得到第k个子神经网络,并对第k个子神经网络进行训练;
具体剪枝操作过程为:对第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度进行排序,得到排序序列Ak;其中,排序时,按照重要程度从大到小的顺序进行排序;删除排序序列Ak中前M个重要程度所对应的卷积核,从而得到第k个子神经网络,其中,M为目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。另外,M为2的正整数次幂。
对于图4中示出的神经网络,根据上述原则计算得到的M的值为4,也就是,在对图4的神经网络进行图像还原层剪枝阶段时,每次剪枝操作需要一次性删除图像还原层中前4个重要程度所对应的卷积核。
具体训练过程为:利用训练样本和第二损失函数对第k个子神经网络进行训练,第二损失函数包括:均方误差损失函数和总变分损失函数;
需要说明的是,第二损失函数=f(1)+d*f(2),其中,f(1)表示均方误差损失函数,f(2)表示总变分损失函数,d为可调权重。
43)在对第k个子神经网络进行训练时,若第k个子神经网络的训练结果满足第三预设条件,则确定满足剪枝结束条件,并将第k-1个子神经网络作为第二子神经网络;
具体的,第三预设条件为:训练后得到的第二损失函数的函数值大于第三预设阈值;或者,第三目标卷积层中卷积核的权重分布在第k次剪枝操作前后的距离大于第三预设距离;第三目标卷积层为第k-1个子神经网络中的任意卷积层。
第三目标卷积层中卷积核的权重分布与上述第一目标卷积层中卷积核的权重分布的确定过程相同,在此不再赘述。另外,第三预设阈值可以与第二预设阈值相同,也可以与第二预设阈值不同,第三预设距离可以与第二预设距离相同,也可以与第二预设距离不同,本发明实施例对其不进行具体限制。
44)若第k个子神经网络的训练结果不满足第三预设条件,则对第k个子神经网络进行第k+1次剪枝操作。
5)若剪枝数量未达到目标神经网络中卷积核总量的预设数值(优选为80%,本发明实施例对该预设数值不进行限制),则将第二子神经网络作为第一神经网络,并返回继续执行第一剪枝步骤和第二剪枝步骤;
6)若剪枝数量达到目标神经网络中卷积核总量的预设数值,则将第二子神经网络作为第二神经网络。
下面对第三剪枝阶段的剪枝过程进行详细介绍:
在本发明的一个可选实施例中,第三剪枝阶段包括多次剪枝操作,基于第三剪枝阶段计算得到的重要程度,对第二神经网络的卷积核进行剪枝训练处理包括如下7)-10)步骤:
7)获取第三剪枝阶段的第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度,s为大于1的正整数,第四目标卷积层为第s-1次剪枝操作之后得到的第s-1个子神经网络中卷积核数量最多的卷积层;
8)基于第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度对第s-1个子神经网络进行剪枝操作,得到第s个子神经网络,并对第s个子神经网络进行训练;
其中,剪枝操作的具体过程为:对第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度进行排序,得到排序序列As;其中,排序时,按照重要程度从大到小的顺序进行排序;删除排序序列As中前预设数量个重要程度所对应的卷积核,从而得到第s个子神经网络。其中,预设数量个优选为1个。
具体训练过程为:利用训练样本和第三损失函数对第s个子神经网络进行训练,第三损失函数包括:均方误差损失函数,总变分损失函数,图片梯度差损失函数和标准化损失函数;
需要说明的是,第三损失函数=f(1)+f(2)+d*f(3),其中,f(1)表示均方误差损失函数,f(2)表示总变分损失函数,f(3)表示图片梯度差损失函数和标准化损失函数,d为可调权重。
9)在对第s个子神经网络进行训练时,若第s个子神经网络的训练结果满足第四预设条件,则将第s-1个子神经网络作为剪枝训练之后的目标神经网络;
具体的,第四预设条件为:训练后得到的第三损失函数的函数值大于第四预设阈值;或者,第五目标卷积层中卷积核的权重分布在第s次剪枝操作前后的距离大于第四预设距离;第五目标卷积层为第s-1个子神经网络中的任意卷积层。
第五目标卷积层中卷积核的权重分布与上述第一目标卷积层中卷积核的权重分布的确定过程相同,在此不再赘述。
10)若第s个子神经网络的训练结果不满足所述第四预设条件,则对第s个子神经网络进行第s+1次剪枝操作。
在本实施例中,确定重要程度的目标参量包含三个,通过上述三个参量确定得到的重要程度所包含的信息更加全面,进而基于包含信息更加全面的重要程度对目标神经网络中的卷积核进行剪枝时,能够更大程度的剪枝,并且还不会引起神经网络的爆炸,最终得到剪枝训练之后的目标神经网络的计算量大大减小,这样,在利用剪枝训练之后的目标神经网络对待处理图像进行图像处理时,可以大大提高图像处理的速度,减少了处理流程,同时节省了内存资源,使得剪枝训练之后的目标神经网络可以在移动设备上高速快速运行。
实施例3:
本发明实施例还提供了一种图像处理装置,该图像处理装置主要用于执行本发明实施例上述内容所提供的图像处理方法,以下对本发明实施例提供的图像处理装置做具体介绍。
图5是根据本发明实施例的一种图像处理装置的示意图,如图5所示,该图像处理装置主要包括获取单元10,计算单元20,剪枝训练单元30和图像处理单元40,其中:
获取单元,用于获取待处理图像和目标神经网络;目标神经网络中包含至少一个卷积层;
计算单元,用于基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度;目标参量包括:卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度,卷积核对目标神经网络的网络结构的影响度;
剪枝训练单元,用于基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;
图像处理单元,用于利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到图像处理结果。
在本发明实施例中,首先,获取待处理图像和目标神经网络,然后,基于目标参量计算目标神经网络的每个卷积层中卷积核的重要程度,该重要程度是由卷积核的计算复杂度,卷积核对目标神经网络的输出结果的精确度的影响程度以及卷积核对目标神经网络的网络结构的影响度三个目标参量确定得到的;进而,基于卷积核的重要程度对目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;最后,利用剪枝训练之后的目标神经网络对待处理图像进行图像处理,得到图像处理结果。通过上述描述可知,在本实施例中,确定重要程度的目标参量包含三个,通过上述三个目标参量确定得到的重要程度所包含的信息更加全面,进而基于包含信息更加全面的重要程度对目标神经网络中的卷积核进行剪枝时,能够更大程度的剪枝,并且还不会引起目标神经网络的爆炸,最终得到剪枝训练之后的目标神经网络的计算量大大减小,这样,在利用剪枝训练之后的目标神经网络对待处理图像进行图像处理时,可以大大提高图像处理的速度,减少了处理流程,同时节省了内存资源,缓解了现有的图像处理方法在对待处理图像进行图像处理时,效率低下,流程繁杂且内存资源浪费严重的问题。
可选地,计算单元还用于:按照预设的剪枝阶段,计算待剪枝神经网络的每个卷积层中卷积核的重要程度,其中,待剪枝神经网络为当前剪枝阶段的上一剪枝阶段剪枝之后的目标神经网络;剪枝训练单元还用于:基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理。
可选地,预设的剪枝阶段包括:第一剪枝阶段,第二剪枝阶段和第三剪枝阶段;剪枝训练单元还用于:在第一剪枝阶段,基于第一剪枝阶段计算得到的重要程度,对目标神经网络的卷积核进行剪枝训练处理,得到第一神经网络;在第二剪枝阶段,基于第二剪枝阶段计算得到的重要程度,对第一神经网络的卷积核进行剪枝训练处理,得到第二神经网络;在第三剪枝阶段,基于第三剪枝阶段计算得到的重要程度,对第二神经网络的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络。
可选地,第一剪枝阶段包括多次剪枝操作,剪枝训练单元还用于:获取第一剪枝阶段的第i次剪枝操作计算得到的卷积核的重要程度,i为大于1的正整数;基于第i次剪枝操作计算得到的卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作,得到第i个子神经网络,并对第i个子神经网络进行训练;其中,在对第i个子神经网络进行训练时,若第i个子神经网络的训练结果满足第一预设条件,则将第i-1个子神经网络作为第一神经网络;若第i个子神经网络的训练结果不满足第一预设条件,则对第i个子神经网络进行第i+1次剪枝操作。
可选地,剪枝训练单元还用于:对第i次剪枝操作计算得到的卷积核的重要程度进行排序,得到排序序列Ai;删除排序序列Ai中前N个重要程度所对应的卷积核,从而得到第i个子神经网络,其中,N为目标神经网络中卷积核总量的1%至2%之间的预设值。
可选地,剪枝训练单元还用于:利用训练样本和第一损失函数对第i个子神经网络进行训练,第一损失函数包括:均方误差损失函数;其中,第一预设条件为:训练后得到的第一损失函数的函数值大于第一预设阈值;或者,第一目标卷积层中卷积核的权重分布在第i次剪枝操作前后的距离大于第一预设距离;第一目标卷积层为第i-1个子神经网络中的任意卷积层。
可选地,剪枝训练单元还用于执行以下步骤:第一剪枝步骤,对第一神经网络中的特征提取层进行剪枝操作,当满足剪枝结束条件时,得到第一子神经网络;第二剪枝步骤,对第一子神经网络中的图像还原层进行剪枝操作,当满足剪枝结束条件时,得到第二子神经网络;其中,若剪枝数量未达到目标神经网络中卷积核总量的预设数值,则将第二子神经网络作为第一神经网络,并返回继续执行第一剪枝步骤和第二剪枝步骤;若剪枝数量达到目标神经网络中卷积核总量的预设数值,则将第二子神经网络作为第二神经网络。
可选地,第二剪枝阶段包括特征提取层剪枝阶段;剪枝训练单元还用于:获取特征提取层剪枝阶段的第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度,其中,j为大于1的正整数;基于第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作,得到第j个子神经网络,并对第j个子神经网络进行训练;其中,在对第j个子神经网络进行训练时,若第j个子神经网络的训练结果满足第二预设条件,则确定满足剪枝结束条件,并将第j-1个子神经网络作为第一子神经网络;若第j个子神经网络的训练结果不满足第二预设条件,则对第j个子神经网络进行第j+1次剪枝操作。
可选地,第二剪枝阶段包括图像还原层剪枝阶段;剪枝训练单元还用于:获取图像还原层剪枝阶段的第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度,其中,k为大于1的正整数;基于第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作,得到第k个子神经网络,并对第k个子神经网络进行训练;其中,在对第k个子神经网络进行训练时,若第k个子神经网络的训练结果满足第三预设条件,则确定满足剪枝结束条件,并将第k-1个子神经网络作为第二子神经网络;若第k个子神经网络的训练结果不满足第三预设条件,则对第k个子神经网络进行第k+1次剪枝操作。
可选地,剪枝训练单元还用于:对第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度进行排序,得到排序序列Aj;删除排序序列Aj中前M个重要程度所对应的卷积核,从而得到第j个子神经网络,其中,M为目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
可选地,剪枝训练单元还用于:利用训练样本和第二损失函数对第j个子神经网络进行训练,第二损失函数包括:均方误差损失函数和总变分损失函数;其中,第二预设条件为:训练后得到的第二损失函数的函数值大于第二预设阈值;或者,第二目标卷积层中卷积核的权重分布在第j次剪枝操作前后的距离大于第二预设距离;第二目标卷积层为第j-1个子神经网络中的任意卷积层。
可选地,剪枝训练单元还用于:对第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度进行排序,得到排序序列Ak;删除排序序列Ak中前M个重要程度所对应的卷积核,从而得到第k个子神经网络,其中,M为目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
可选地,剪枝训练单元还用于:利用训练样本和第二损失函数对第k个子神经网络进行训练,第二损失函数包括:均方误差损失函数和总变分损失函数;其中,第三预设条件为:训练后得到的第二损失函数的函数值大于第三预设阈值;或者,第三目标卷积层中卷积核的权重分布在第k次剪枝操作前后的距离大于第三预设距离;第三目标卷积层为第k-1个子神经网络中的任意卷积层。
可选地,第三剪枝阶段包括多次剪枝操作,剪枝训练单元还用于:获取第三剪枝阶段的第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度,s为大于1的正整数,第四目标卷积层为第s-1次剪枝操作之后得到的第s-1个子神经网络中卷积核数量最多的卷积层;基于第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度对第s-1个子神经网络进行剪枝操作,得到第s个子神经网络,并对第s个子神经网络进行训练;其中,在对第s个子神经网络进行训练时,若第s个子神经网络的训练结果满足第四预设条件,则将第s-1个子神经网络作为剪枝训练之后的目标神经网络;若第s个子神经网络的训练结果不满足第四预设条件,则对第s个子神经网络进行第s+1次剪枝操作。
可选地,剪枝训练单元还用于:对第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度进行排序,得到排序序列As;删除排序序列As中前预设数量个重要程度所对应的卷积核,从而得到第s个子神经网络。
可选地,剪枝训练单元还用于:利用训练样本和第三损失函数对第s个子神经网络进行训练,第三损失函数包括:均方误差损失函数,总变分损失函数,图片梯度差损失函数和标准化损失函数;其中,第四预设条件为:训练后得到的第三损失函数的函数值大于第四预设阈值;或者,第五目标卷积层中卷积核的权重分布在第s次剪枝操作前后的距离大于第四预设距离;第五目标卷积层为第s-1个子神经网络中的任意卷积层。
可选地,计算单元还用于:根据重要性计算算式rank(f)=a*FLOPS(f)-b*Influence(f)+c*Relevance(f)计算卷积核的重要程度,其中,rank(f)表示卷积核的重要程度,FLOPS(f)表示卷积核的计算复杂度,Influence(f)表示卷积核对目标神经网络的输出结果的精确度的影响程度,Relevance(f)表示卷积核对目标神经网络的网络结构的影响度,a、b、c为可调权重值。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本发明的另一个实施例中,还提供了一种计算机存储介质,其上存储有计算机程序,计算机运行计算机程序时执行上述方法实施例所述的方法的步骤。
在本发明的另一个实施例中,还提供了一种计算机程序,该计算机程序可以存储在云端或本地的存储介质上。在该计算机程序被计算机或处理器运行时用于执行本发明实施例的所述方法的相应步骤,并且用于实现根据本发明实施例的图像处理装置中的相应模块。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个分析单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个分析器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种图像处理方法,其特征在于,包括:
获取待处理图像和目标神经网络;所述目标神经网络中包含至少一个卷积层;
基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度;所述目标参量包括:所述卷积核的计算复杂度,所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,所述卷积核对所述目标神经网络的网络结构的影响度;
基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;
将所述剪枝训练之后的目标神经网络部署在移动设备上,并利用所述剪枝训练之后的目标神经网络对所述待处理图像进行图像处理,得到图像处理结果;
其中,
基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度包括:按照预设的剪枝阶段,计算待剪枝神经网络的每个卷积层中卷积核的重要程度,其中,所述待剪枝神经网络为当前剪枝阶段的上一剪枝阶段剪枝之后的目标神经网络;
基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理包括:基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理。
2.根据权利要求1所述的方法,其特征在于,所述预设的剪枝阶段包括:第一剪枝阶段,第二剪枝阶段和第三剪枝阶段;
基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理包括:
在所述第一剪枝阶段,基于所述第一剪枝阶段计算得到的重要程度,对所述目标神经网络的卷积核进行剪枝训练处理,得到第一神经网络;
在所述第二剪枝阶段,基于所述第二剪枝阶段计算得到的重要程度,对所述第一神经网络的卷积核进行剪枝训练处理,得到第二神经网络;
在所述第三剪枝阶段,基于所述第三剪枝阶段计算得到的重要程度,对所述第二神经网络的卷积核进行剪枝训练处理,得到所述剪枝训练之后的目标神经网络。
3.根据权利要求2所述的方法,其特征在于,所述第一剪枝阶段包括多次剪枝操作,基于所述第一剪枝阶段计算得到的重要程度,对所述目标神经网络的卷积核进行剪枝训练处理包括:
获取所述第一剪枝阶段的第i次剪枝操作计算得到的所述卷积核的重要程度,i为大于1的正整数;
基于所述第i次剪枝操作计算得到的所述卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作,得到第i个子神经网络,并对所述第i个子神经网络进行训练;
其中,在对所述第i个子神经网络进行训练时,若所述第i个子神经网络的训练结果满足第一预设条件,则将所述第i-1个子神经网络作为所述第一神经网络;
若所述第i个子神经网络的训练结果不满足所述第一预设条件,则对所述第i个子神经网络进行第i+1次剪枝操作。
4.根据权利要求3所述的方法,其特征在于,基于所述第i次剪枝操作计算得到的所述卷积核的重要程度对第i-1次剪枝操作之后得到的第i-1个子神经网络进行剪枝操作包括:
对所述第i次剪枝操作计算得到的所述卷积核的重要程度进行排序,得到排序序列Ai;
删除所述排序序列Ai中前N个重要程度所对应的卷积核,从而得到所述第i个子神经网络,其中,N为所述目标神经网络中卷积核总量的1%至2%之间的预设值。
5.根据权利要求3所述的方法,其特征在于,对所述第i个子神经网络进行训练包括:
利用训练样本和第一损失函数对所述第i个子神经网络进行训练,所述第一损失函数包括:均方误差损失函数;
其中,所述第一预设条件为:训练后得到的所述第一损失函数的函数值大于第一预设阈值;或者,第一目标卷积层中卷积核的权重分布在第i次剪枝操作前后的距离大于第一预设距离;所述第一目标卷积层为所述第i-1个子神经网络中的任意卷积层。
6.根据权利要求2所述的方法,其特征在于,在所述第二剪枝阶段,基于所述第二剪枝阶段计算得到的重要程度,对所述第一神经网络的卷积核进行剪枝训练处理包括:
第一剪枝步骤,对所述第一神经网络中的特征提取层进行剪枝操作,当满足剪枝结束条件时,得到第一子神经网络;
第二剪枝步骤,对所述第一子神经网络中的图像还原层进行剪枝操作,当满足剪枝结束条件时,得到第二子神经网络;
其中,若剪枝数量未达到所述目标神经网络中卷积核总量的预设数值,则将所述第二子神经网络作为所述第一神经网络,并返回继续执行所述第一剪枝步骤和所述第二剪枝步骤;
若所述剪枝数量达到所述目标神经网络中卷积核总量的预设数值,则将所述第二子神经网络作为所述第二神经网络。
7.根据权利要求6所述的方法,其特征在于,所述第二剪枝阶段包括特征提取层剪枝阶段;对所述第一神经网络中的特征提取层进行剪枝操作包括:
获取所述特征提取层剪枝阶段的第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度,其中,j为大于1的正整数;
基于所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作,得到第j个子神经网络,并对所述第j个子神经网络进行训练;
其中,在对所述第j个子神经网络进行训练时,若所述第j个子神经网络的训练结果满足第二预设条件,则确定满足所述剪枝结束条件,并将所述第j-1个子神经网络作为所述第一子神经网络;
若所述第j个子神经网络的训练结果不满足所述第二预设条件,则对所述第j个子神经网络进行第j+1次剪枝操作。
8.根据权利要求6所述的方法,其特征在于,所述第二剪枝阶段包括图像还原层剪枝阶段;对所述第一子神经网络中的图像还原层进行剪枝操作包括:
获取所述图像还原层剪枝阶段的第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度,其中,k为大于1的正整数;
基于所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作,得到第k个子神经网络,并对所述第k个子神经网络进行训练;
其中,在对所述第k个子神经网络进行训练时,若所述第k个子神经网络的训练结果满足第三预设条件,则确定满足所述剪枝结束条件,并将所述第k-1个子神经网络作为所述第二子神经网络;
若所述第k个子神经网络的训练结果不满足所述第三预设条件,则对所述第k个子神经网络进行第k+1次剪枝操作。
9.根据权利要求7所述的方法,其特征在于,基于所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度对第j-1次剪枝操作之后得到的第j-1个子神经网络进行剪枝操作包括:
对所述第j次剪枝操作计算得到的特征提取层中的卷积核的重要程度进行排序,得到排序序列Aj;
删除所述排序序列Aj中前M个重要程度所对应的卷积核,从而得到所述第j个子神经网络,其中,M为所述目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
10.根据权利要求7所述的方法,其特征在于,对所述第j个子神经网络进行训练包括:
利用训练样本和第二损失函数对所述第j个子神经网络进行训练,所述第二损失函数包括:均方误差损失函数和总变分损失函数;
其中,所述第二预设条件为:训练后得到的所述第二损失函数的函数值大于第二预设阈值;或者,第二目标卷积层中卷积核的权重分布在第j次剪枝操作前后的距离大于第二预设距离;所述第二目标卷积层为所述第j-1个子神经网络中的任意卷积层。
11.根据权利要求8所述的方法,其特征在于,基于所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度对第k-1次剪枝操作之后得到的第k-1个子神经网络进行剪枝操作包括:
对所述第k次剪枝操作计算得到的图像还原层中的卷积核的重要程度进行排序,得到排序序列Ak;
删除所述排序序列Ak中前M个重要程度所对应的卷积核,从而得到所述第k个子神经网络,其中,M为所述目标神经网络中卷积核总量的0.25%至0.5%之间的预设值。
12.根据权利要求8所述的方法,其特征在于,对所述第k个子神经网络进行训练包括:
利用训练样本和第二损失函数对所述第k个子神经网络进行训练,所述第二损失函数包括:均方误差损失函数和总变分损失函数;
其中,所述第三预设条件为:训练后得到的所述第二损失函数的函数值大于第三预设阈值;或者,第三目标卷积层中卷积核的权重分布在第k次剪枝操作前后的距离大于第三预设距离;所述第三目标卷积层为所述第k-1个子神经网络中的任意卷积层。
13.根据权利要求2所述的方法,其特征在于,所述第三剪枝阶段包括多次剪枝操作,基于所述第三剪枝阶段计算得到的重要程度,对所述第二神经网络的卷积核进行剪枝训练处理包括:
获取所述第三剪枝阶段的第s次剪枝操作计算得到的第四目标卷积层中卷积核的重要程度,s为大于1的正整数,所述第四目标卷积层为第s-1次剪枝操作之后得到的第s-1个子神经网络中卷积核数量最多的卷积层;
基于所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度对所述第s-1个子神经网络进行剪枝操作,得到第s个子神经网络,并对所述第s个子神经网络进行训练;
其中,在对所述第s个子神经网络进行训练时,若所述第s个子神经网络的训练结果满足第四预设条件,则将所述第s-1个子神经网络作为所述剪枝训练之后的目标神经网络;
若所述第s个子神经网络的训练结果不满足所述第四预设条件,则对所述第s个子神经网络进行第s+1次剪枝操作。
14.根据权利要求13所述的方法,其特征在于,基于所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度对所述第s-1个子神经网络进行剪枝操作包括:
对所述第s次剪枝操作计算得到的所述第四目标卷积层中卷积核的重要程度进行排序,得到排序序列As;
删除所述排序序列As中前预设数量个重要程度所对应的卷积核,从而得到所述第s个子神经网络。
15.根据权利要求13所述的方法,其特征在于,对所述第s个子神经网络进行训练包括:
利用训练样本和第三损失函数对所述第s个子神经网络进行训练,所述第三损失函数包括:均方误差损失函数,总变分损失函数,图片梯度差损失函数和标准化损失函数;
其中,所述第四预设条件为:训练后得到的所述第三损失函数的函数值大于第四预设阈值;或者,第五目标卷积层中卷积核的权重分布在第s次剪枝操作前后的距离大于第四预设距离;所述第五目标卷积层为所述第s-1个子神经网络中的任意卷积层。
16.根据权利要求1所述的方法,其特征在于,基于目标参量计算所述目标神经网络中每个卷积层中的卷积核的重要程度包括:
根据重要性计算算式rank(f)=a*FLOPS(f)-b*Influence(f)+c*Relevance(f)计算所述卷积核的重要程度,其中,rank(f)表示所述卷积核的重要程度,FLOPS(f)表示所述卷积核的计算复杂度,Influence(f)表示所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,Relevance(f)表示所述卷积核对所述目标神经网络的网络结构的影响度,a、b、c为可调权重值。
17.一种图像处理装置,其特征在于,包括:
获取单元,用于获取待处理图像和目标神经网络;所述目标神经网络中包含至少一个卷积层;
计算单元,用于基于目标参量计算所述目标神经网络的每个卷积层中卷积核的重要程度;所述目标参量包括:所述卷积核的计算复杂度,所述卷积核对所述目标神经网络的输出结果的精确度的影响程度,所述卷积核对所述目标神经网络的网络结构的影响度;
剪枝单元,用于基于所述卷积核的重要程度对所述目标神经网络中的卷积核进行剪枝训练处理,得到剪枝训练之后的目标神经网络;
图像处理单元,用于将所述剪枝训练之后的目标神经网络部署在移动设备上,并利用所述剪枝训练之后的目标神经网络对所述待处理图像进行图像处理,得到图像处理结果;
其中,所述计算单元还用于:按照预设的剪枝阶段,计算待剪枝神经网络的每个卷积层中卷积核的重要程度,其中,所述待剪枝神经网络为当前剪枝阶段的上一剪枝阶段剪枝之后的目标神经网络;
所述剪枝单元还用于:基于各个剪枝阶段计算得到的重要程度,对上一剪枝阶段剪枝之后的目标神经网络中的卷积核进行剪枝训练处理。
18.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至16中任一项所述的方法的步骤。
19.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述权利要求1至16中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811546051.9A CN109671020B (zh) | 2018-12-17 | 2018-12-17 | 图像处理方法、装置、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811546051.9A CN109671020B (zh) | 2018-12-17 | 2018-12-17 | 图像处理方法、装置、电子设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109671020A CN109671020A (zh) | 2019-04-23 |
CN109671020B true CN109671020B (zh) | 2023-10-24 |
Family
ID=66143834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811546051.9A Active CN109671020B (zh) | 2018-12-17 | 2018-12-17 | 图像处理方法、装置、电子设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109671020B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399918B (zh) * | 2019-07-24 | 2021-11-19 | 深兰科技(上海)有限公司 | 一种目标识别的方法及设备 |
CN110414673B (zh) * | 2019-07-31 | 2022-10-28 | 北京达佳互联信息技术有限公司 | 多媒体识别方法、装置、设备及存储介质 |
CN112560881B (zh) * | 2019-09-25 | 2024-04-19 | 北京四维图新科技股份有限公司 | 对象识别方法和装置、数据处理方法 |
CN111126456B (zh) * | 2019-12-05 | 2023-06-23 | 杭州飞步科技有限公司 | 神经网络模型的处理方法、装置、设备及存储介质 |
CN110929805B (zh) * | 2019-12-05 | 2023-11-10 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
CN111488986B (zh) * | 2020-04-13 | 2023-06-27 | 商汤集团有限公司 | 一种模型压缩方法、图像处理方法以及装置 |
CN111695483B (zh) * | 2020-06-05 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种车辆违章检测方法、装置、设备及计算机存储介质 |
CN112613577B (zh) * | 2020-12-31 | 2024-06-11 | 上海商汤智能科技有限公司 | 神经网络的训练方法、装置、计算机设备及存储介质 |
CN112734036B (zh) * | 2021-01-14 | 2023-06-02 | 西安电子科技大学 | 基于剪枝卷积神经网络的目标检测方法 |
CN112785663B (zh) * | 2021-03-17 | 2024-05-10 | 西北工业大学 | 一种基于任意形状卷积核的图像分类网络压缩方法 |
CN113052301B (zh) * | 2021-03-29 | 2024-05-28 | 商汤集团有限公司 | 神经网络生成方法、装置、电子设备及存储介质 |
CN115146775B (zh) * | 2022-07-04 | 2023-05-23 | 同方威视技术股份有限公司 | 边缘设备推理加速方法、装置和数据处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229679A (zh) * | 2017-11-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 卷积神经网络去冗余方法及装置、电子设备和存储介质 |
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108898168A (zh) * | 2018-06-19 | 2018-11-27 | 清华大学 | 用于目标检测的卷积神经网络模型的压缩方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11315018B2 (en) * | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
-
2018
- 2018-12-17 CN CN201811546051.9A patent/CN109671020B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
CN108229679A (zh) * | 2017-11-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 卷积神经网络去冗余方法及装置、电子设备和存储介质 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108898168A (zh) * | 2018-06-19 | 2018-11-27 | 清华大学 | 用于目标检测的卷积神经网络模型的压缩方法和系统 |
Non-Patent Citations (2)
Title |
---|
靳丽蕾 ; 杨文柱 ; 王思乐 ; 崔振超 ; 陈向阳 ; 陈丽萍 ; .一种用于卷积神经网络压缩的混合剪枝方法.小型微型计算机系统.2018,(12),全文. * |
马治楠 ; 韩云杰 ; 彭琳钰 ; 周进凡 ; 林付春 ; 刘宇红 ; .基于深层卷积神经网络的剪枝优化.电子技术应用.2018,(12),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109671020A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109671020B (zh) | 图像处理方法、装置、电子设备和计算机存储介质 | |
CN111553406B (zh) | 基于改进yolo-v3的目标检测系统、方法及终端 | |
CN106203376B (zh) | 人脸关键点定位方法及装置 | |
CN108710847B (zh) | 场景识别方法、装置及电子设备 | |
CN112750140B (zh) | 基于信息挖掘的伪装目标图像分割方法 | |
US10242289B2 (en) | Method for analysing media content | |
CN111401516B (zh) | 一种神经网络通道参数的搜索方法及相关设备 | |
CN114186632B (zh) | 关键点检测模型的训练方法、装置、设备、存储介质 | |
EP3204888A1 (en) | Spatial pyramid pooling networks for image processing | |
CN111340077B (zh) | 基于注意力机制的视差图获取方法和装置 | |
CN108875487B (zh) | 行人重识别网络的训练及基于其的行人重识别 | |
CN110738235B (zh) | 肺结核判定方法、装置、计算机设备及存储介质 | |
CN110765860A (zh) | 摔倒判定方法、装置、计算机设备及存储介质 | |
CN107909147A (zh) | 一种数据处理方法及装置 | |
CN111105017B (zh) | 神经网络量化方法、装置及电子设备 | |
CN111274999B (zh) | 数据处理、图像处理方法、装置及电子设备 | |
CN113191489B (zh) | 二值神经网络模型的训练方法、图像处理方法和装置 | |
CN110751021A (zh) | 图像处理方法、装置、电子设备和计算机可读介质 | |
CN113869282B (zh) | 人脸识别方法、超分模型训练方法及相关设备 | |
CN112529149B (zh) | 一种数据处理方法及相关装置 | |
CN111126254A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN111639667B (zh) | 图像识别方法、装置、电子设备及计算机可读存储介质 | |
CN112419342A (zh) | 图像处理方法、装置、电子设备和计算机可读介质 | |
CN110490058B (zh) | 行人检测模型的训练方法、装置、系统和计算机可读介质 | |
CN114120454A (zh) | 活体检测模型的训练方法、装置、电子设备及存储介质 |
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 |