CN111382759B - 一种像素级分类方法、装置、设备及存储介质 - Google Patents
一种像素级分类方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111382759B CN111382759B CN201811627681.9A CN201811627681A CN111382759B CN 111382759 B CN111382759 B CN 111382759B CN 201811627681 A CN201811627681 A CN 201811627681A CN 111382759 B CN111382759 B CN 111382759B
- Authority
- CN
- China
- Prior art keywords
- feature map
- convolution
- module
- layer
- downsampling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000011176 pooling Methods 0.000 claims description 92
- 238000010586 diagram Methods 0.000 claims description 39
- 238000005070 sampling Methods 0.000 claims description 39
- 230000004913 activation Effects 0.000 claims description 26
- 238000010606 normalization Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 3
- 230000002829 reductive effect Effects 0.000 abstract description 38
- 238000013528 artificial neural network Methods 0.000 abstract description 18
- 238000013527 convolutional neural network Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 24
- 239000000243 solution Substances 0.000 description 20
- 238000012549 training Methods 0.000 description 17
- 238000009826 distribution Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 229920006395 saturated elastomer Polymers 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008034 disappearance Effects 0.000 description 3
- 238000004880 explosion Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种像素级分类方法、装置、设备及存储介质。该方法包括:将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3;将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同;将上采样特征图输入分类器得到原始图片中每个像素的分类。本发明实施例中编码器将原始图片缩小,得到下采样特征图,解码器将下采样特征图尺寸恢复至原始图片尺寸,使得后续可根据上采样特征图确定原始图片中每个像素的分类,减小了计算量。同时,全卷积神经网络中不存在参数量占比较大的全连接层,进一步降低了计算量,也降低了结构复杂度,上述实现了在移动端实时运行像素级分类任务。
Description
技术领域
本发明实施例涉及计算机视觉技术,尤其涉及一种像素级分类方法、装置、设备及存储介质。
背景技术
近年来,随着计算机硬件性能的提升和大规模图像数据的出现,深度学习在计算机视觉领域得到广泛应用。其中,卷积神经网络是在计算机视觉领域具有突出成就的一个深度学习的神经网络结构。
像素级分类技术是计算机视觉领域中最具挑战性的研究方法,针对像素级分类技术来说,卷积神经网络也在像素级分类方面得到广泛应用。卷积神经网络通常包括卷积层、池化层、非线性激活层和全连接层,网络结构比较复杂且计算量较大。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于卷积神经网络的结构比较复杂且计算量较大,使得其只适合在服务器端运行,并且对于像素级分类任务来说,基本上都需要依赖GPU(Graphics Processing Unit,图形处理器)的加速才能实现实时运行。而对于需要在移动端并且只能依赖CPU(Central Processing Unit,中央处理器)运行的任务,尤其对于像素级分类任务,使用服务器端的网络结构是不实际的。
发明内容
本发明实施例提供一种像素级分类方法、装置、设备及存储介质,以在简化网络的结构复杂度以及降低计算量的基础上实现像素级分类任务。
第一方面,本发明实施例提供了一种像素级分类方法,该方法包括:
将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3;
将所述下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同;
将所述上采样特征图输入分类器得到所述原始图片中每个像素的分类。
进一步的,所述编码器包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个所述残差模块,第M下采样模块之后连接U-T个所述残差模块,M=N;
所述将所述原始图片输入编码器,得到下采样特征图,包括:
所述原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2;
所述第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到所述下采样特征图。
进一步的,所述解码器包括M个上采样模块和V个残差模块,第一上采样模块和第二上采样模块之间连接V个所述残差模块;
所述将所述下采样特征图输入解码器,得到上采样特征图,包括:
所述下采样特征图依次经过第一上采样模块和V个残差模块,得到第二中间特征图,第二中间特征图尺寸为原始图片尺寸的1/2M-1;
所述第二中间特征图依次经过M-1个上采样模块,得到所述上采样特征图。
进一步的,所述下采样模块包括第一卷积层和池化层,所述第一卷积层和所述池化层并联,每个下采样模块的输出为所述第一卷积层的输出和所述池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
进一步的,所述残差模块包括两个第二卷积层和两个第三卷积层,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,每个第二卷积层和第三卷积层的输出为通过分组卷积和通道交换得到的。
进一步的,第一上采样模块和第二上采样模块的输出为通过分组卷积和通道交换得到的。
进一步的,第M下采样模块之后连接的U-T个残差模块转给第二卷积层和第三卷积层为空洞卷积层。
进一步的,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。
进一步的,所述上采样模块为转置卷积层。
进一步的,M=N=3,U=13,T=5,V=1。
第二方面,本发明实施例还提供了一种像素级分类装置,该装置包括:
下采样特征图获取模块,用于将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3;
上采样特征图获取模块,用于将所述下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同;
像素所属分类确定模块,用于将所述上采样特征图输入分类器得到所述原始图片中每个像素的分类。
进一步的,所述编码器包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个所述残差模块,第M下采样模块之后连接U-T个所述残差模块,M=N;
所述下采样特征图获取模块,包括:
第一中间特征图获取单元,用于所述原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2;
下采样特征图获取单元,用于所述第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到所述下采样特征图。
进一步的,所述解码器包括M个上采样模块和V个残差模块,第一上采样模块和第二上采样模块之间连接V个所述残差模块;
所述上采样特征图获取模块,包括:
第二中间特征图获取单元,用于所述下采样特征图依次经过第一上采样模块和V个残差模块,得到第二中间特征图,第二中间特征图尺寸为原始图片尺寸的1/2M-1;
上采样特征图获取单元,用于所述第二中间特征图依次经过M-1个上采样模块,得到所述上采样特征图。
进一步的,所述下采样模块包括第一卷积层和池化层,所述第一卷积层和所述池化层并联,每个下采样模块的输出为所述第一卷积层的输出和所述池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
进一步的,所述残差模块包括两个第二卷积层和两个第三卷积层,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,每个第二卷积层和每个第三卷积层的输出为通过分组卷积和通道交换得到的。
进一步的,第一上采样模块和第二上采样模块的输出为通过分组卷积和通道交换得到的。
进一步的,第M下采样模块之后连接的U-T个残差模块中第二卷积层和第三卷积层为空洞卷积层。
进一步的,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。
进一步的,所述上采样模块为转置卷积层。
进一步的,M=N=3,U=13,T=5,V=1。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面所述的方法。
本实施例的技术方案,通过将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3,再将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同,将上采样特征图输入分类器得到原始图片中每个像素的分类,通过采用编码器-解码器形成的全卷积神经网络,其中,编码器将原始图片缩小,得到下采样特征图,解码器将下采样特征图尺寸恢复至原始图片尺寸,使得后续可根据上采样特征图确定原始图片中每个像素的分类,而无需再采用逐个像素块的方式来得到每一像素所属的分类,上述减小了计算量。同时,全卷积神经网络中不存在参数量占比较大的全连接层,从而进一步降低了计算量,也降低了结构复杂度,上述使得由编码器-解码器形成的全卷积神经网络的结构较简单,且计算量较小,实现了在移动端实时运行像素级分类任务。
附图说明
图1是本发明实施例中的一种卷积运算的示意图;
图2是本发明实施例中的一种池化操作的示意图;
图3是本发明实施例中的一种图像语义分割的示意图;
图4是本发明实施例中的一种像素级分类方法的流程图;
图5是本发明实施例中的一种残差模块的结构示意图;
图6是本发明实施例中的一种下采样模块的结构示意图;
图7是本发明实施例中的另一种残差模块的结构示意图;
图8是本发明实施例中的一种感受野的示意图;
图9是本发明实施例中的一种空洞卷积的示意图;
图10是本发明实施例中的再一种残差模块的结构示意图;
图11是本发明实施例中的一种转置卷积运算的示意图;
图12是本发明实施例中的一种全卷积神经网络的结构示意图;
图13是本发明实施例中的一种像素级分类装置的结构示意图;
图14是本发明实施例中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例
卷积神经网络是一个多层的神经网络,具体可以包括卷积层、池化层、非线性激活层和全连接层。它的每一层都是由多个特征图组成,而每个特征图中的像素代表一个神经元。特征图可以用W×H×K表示,其中,W表示特征图的宽度,H表示特征图的长度,K表示通道数,W×H即表示特征图的尺寸。在卷积神经网络中,通道数即指每个卷积层中卷积核的个数。
卷积层,即是对特征图进行卷积运算的网络层,也可以理解成特征提取层。需要进行卷积运算的原因在于:对于终端而言,图像只是一个包含了各种数字的矩阵,它需要从中得到一些有用的信息,进而才能理解和分析图像。卷积运算就是将特征图矩阵与卷积核的元素一一对应,然后再相乘求和的操作。卷积层在卷积神经网络中占有最主要的作用,其本质为通过卷积核对前一层特征图进行区域特征提取得到当前层特征图。可以理解到,对于当前卷积层来说,前一层特征图为当前卷积层的输入特征图,而当前层特征图为当前卷积层的输出特征图。基于上述,还可作如下理解:对于当前卷积层来说,输入特征图通过与该层的卷积核进行卷积运算得到输出特征图。如图1所示,输入特征图尺寸为4×4,卷积核尺寸为3×3,步长为1,则4×4的输入特征图通过与3×3的卷积核进行卷积运算后得到2×2的输出特征图。
池化层(或称降采样层)连接在卷积层之后,其对卷积层的输出特征图进行降采样,池化层的输出特征图的通道数与上一层特征图的通道数保持一致,并且一一对应。卷积神经网络中使用池化层的原因在于:稀疏连接的方式导致卷积核的大小有限,输入图像经过卷积运算后,数据量仍然很大,而池化可以有效降低数据的维度,并且,池化模糊了特征的细节信息,当一个特征被提取出来后,需要的只是它与其它特征的相对位置,而原本的空间细节就无关紧要了。可作上述理解的原因在于:针对图像而言,由于相邻区域联系更为紧密,从这些区域提取的特征在很大程度上都是适用的,因此,可以对不同位置的特征进行聚合统计,这样在减少了数据计算量以及降低了维度的同时,特征的统计属性仍然能够描述图像,从而有效避免了过拟合问题。简而言之,池化层可起到如下两方面的作用,具体的:其一,能够压缩特征,使特征图尺寸变小,且没有额外的参数,简化网络的计算复杂度;其二,能够扩大输出特征的感受野,提取出主要特征,增强网络的表达能力。
池化操作根据作用的区域不同,可以分为一般池化和重叠池化,定义池化窗口的大小为T×T,池化步长为S,池化操作为对卷积层的输出特征图以步长S的所有T×T子区域特征映射为1×1的区域。如果T=S,即相邻两个池化窗口之间不存在重复区域,则将上述池化操作称为一般池化;如果T>S,即相邻两个池化窗口之间存在重复区域,则将上述池化操作称为重叠池化。
根据池化方法的不同,池化操作可以分为最大池化、平均池化、随机池化和金字塔池化等。其中,最大池化是指选取池化窗口中像素值最大的元素作为该区域采样后的值。平均池化是指将池化窗口中所有像素的平均值作为该区域下采样后的取值。由于最大池化可以把卷积层的输出特征图中特征最明显的取值取代为该窗口的值,因此,该池化操作能够更好的保留纹理上的特征。平均池化可以保留整体特征,能够凸显出背景信息。示例性的,如图2所示,给出了一种池化操作的示意图。图2中池化窗口为2×2,池化步长S=2。
由于卷积运算是多项式加权求和的计算方法,属于线性变换,而复杂的分类识别任务往往需要非线性变换函数拟合,因此,卷积神经网络中在每个卷积层之后需要加入非线性激活层。其中,非线性变换函数也称为激活函数。激活函数可以包括饱和非线性变换函数和不饱和非线性变换函数,饱和非线性变换函数可以包括Sigmoid函数和Tanh函数等,非线性变换函数可以包括ReLU(Rectified Linear Units,修正线性单元)函数和Softplus函数等。
全连接层在卷积神经网络中可以起到分类器的作用,即全连接层通过与前一层所有神经元相连获取图像的全局信息,以此学习出图像中局域类别区分性的特征。在实际使用中,全连接层可由卷积运算实现:对前一层是全连接的全连接层可以转化为卷积核为1×1的卷积运算;对前一层是卷积层的全连接层可以转化为卷积核为W×H的全局卷积,W和H分别表示前一层的输出特征图的宽度和长度。需要说明的是,全连接层的网络参数占据了卷积神经网络中网络参数中的大部分比例。全连接层将前一层的输出特征图映射成一个一维特征向量。
上述为传统技术中的卷积神经网络,由于网络结构比较复杂且计算量较大,使得上述传统技术中的卷积神经网络,只适合在服务器端运行,并且对于像素级分类任务来说,基本上都需要依赖GPU(Graphics Processing Unit,图形处理器)的加速才能实现实时运行。
像素级分类技术可以包括图像语义分割和实例分割等。像素级分类的主要思想就是将图片中的每个像素按照其所属类别进行分类,最后得到包含“语义”信息的分割图像。如图3所示,给出了一种图像语义分割的示意图,图3中左图为原始图片,右图为图像语义分割图。下面以基于卷积神经网络的图像语义分割为例进行说明,具体的:
对于图片中的每个像素,以该像素为中心,扩展出固定大小的像素块。对代表像素的像素块为输入,以中心像素的分类作为输入图像的标记,从而训练得到用于图像语义分割的卷积神经网络。由于需要针对每个像素所使用的像素块进行训练,因此,需要对每个像素存储像素块大小的数据,如果像素块比较大,则会导致存储开销急剧增长,显然对相邻的像素,两个像素所需要的像素块几乎是相同的,但是由于要分别进行计算,因此,必须分开存储,从而使得总存储量为输入图像的像素块大小倍数,即存储开销较大。此外,由于对每个像素均进行分类,而相邻的像素分类所需要的像素块基本上是重叠的,因此,导致了大量的重复计算,即计算量大且计算效率较低。更为重要的是,上述所述的卷积神经网络的网络结构也比较复杂。可以理解到,一般而言网络结构越复杂,对硬件性能要求也越高。
可以理解到,移动端相比于服务器端而言,计算能力有限,在此条件下,首先,传统技术中的卷积神经网络的结构比较复杂,计算量较大,因此,对于计算能力有限的移动端而言,无法实现在移动端上运行;其次,对于像素级分类任务来说,由于需要对图片中的每个像素进行分类,因此,相比于图像级分类任务来说,其对网络的结构的复杂程度以及计算量要求会更高,这里所述的更高指的是网络的结构复杂程度更低以及计算量更小,传统技术中的卷积神经网络无法满足该要求。
基于上述,使得传统技术中基于卷积神经网络的像素级分类方法无法实现在移动端实时运行,可以理解到,为了实现在移动端可以实时运行像素级分类任务,关键在于对传统技术中的卷积神经网络的结构进行改进,在卷积神经网络的结构进行改进的基础上,像素级分类任务的实现方式也将有所改进。下面将结合具体实施例对上述内容进行进一步说明。
图4为本发明实施例提供的一种像素级分类方法的流程图,本实施例可适用于移动端实时运行像素级分类任务的情况,该方法可以由像素级分类装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图4所示,该方法具体包括如下步骤:
步骤110、将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3。
步骤120、将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同。
在本发明的实施例中,为了实现在移动端可以实时运行像素级分类任务,可以考虑采用端到端的编码器-解码器结构。其中,编码器输出为若干通道的尺寸较小(即分辨率较小)的特征图,解码器接在编码器后面,将这些特征图上恢复到原始图片的分辨率,输出与原始图片尺寸大小的特征图。这里将编码器输出的特征图称为下采样特征图,将解码器输出的特征图称为上采样特征图。
将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,下采样特征图包含了图像的语义信息,并且由于下采样特征图尺寸相比于原始图片尺寸进行了尺寸缩小,因此,下采样特征图具有更大的感受野,可以提供更多的上下文信息。同时,也减少了冗余信息,使计算复杂度和内存占用大大减小。将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同。由于上采样特征图尺寸与原始图片尺寸相同,因此,可以根据上采样特征图确定原始图片中每个像素的分类。
需要说明的是,下采样特征图尺寸过小会对边界定位精度产生不利影响,为了分类精度、定位精度和网络计算效率的平衡,对下采样特征图尺寸进行了限定,即1≤N≤3,即下采样特征图尺寸最小为原始图片尺寸的八分之一。
另需要说明的是,可将上述编码器-解码器结构理解为全卷积神经网络,所谓全卷积神经网络为将卷积神经网络的全连接层转化为卷积层的卷积神经网络。由于全卷积神经网络无需再采用逐个像素块的方式来得到每一像素所属的分类,因此,减少了计算量。同时,将全连接层转化为卷积层,也减少了参数量。
综上,上述由编码器-解码器形成的全卷积神经网络,通过编码器将原始图片缩小,得到下采样特征图,再通过解码器将下采样特征图尺寸恢复至原始图片尺寸,使得后续可根据上采样特征图确定原始图片中每个像素的分类,而无需再采用逐个像素块的方式来得到每一像素所属的分类,上述减小了计算量。同时,全卷积神经网络中不存在参数量占比较大的全连接层,从而进一步降低了计算量,也降低了结构复杂度,上述使得由编码器-解码器形成的全卷积神经网络的结构较简单,且计算量较小,实现了可在移动端上实时运行像素级分类任务。
可选的,在上述技术方案的基础上,编码器具体可以包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个残差模块,第M下采样模块之后连接U-T个残差模块,M=N。
将原始图片输入编码器,得到下采样特征图,具体可以包括:原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2。第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到下采样特征图。
在本发明的实施例中,在深度学习中,常常会出现随着深度增加,损失反而提高的现象,进一步的,随着网络深度的增加,往往还会出现梯度小数或者梯度爆炸等问题,为了避免上述问题,可考虑在编码器中加入残差模块,具体的:在网络的卷积过程中,每隔一段时间就把早期输入与卷积输出进行一次融合,即通过与前面网络层的跳跃连接,对底层特征进行重用,将网络后期提取的高层特征与前期提取的底层特征进行融合,形成对特征更丰富的描述和判别,即前面的网络层跨过某些层与后面的网络层直接连接,上述形成的网络结构称为残差模块,可以理解到,在残差模块中将出现一条直连分支,而且该直连分支并没有增加参数数量及计算量,仍然能够针对整个网络使用反向传播等策略。残差模块可以起到如下两方面的作用:其一、对于每个残差模块,增加的直连分支使得模块内的卷积层只需要学习输出与输入之间残差的部分,降低了每一层的学习难度,并且还没有带来额外的参数量和计算量的增加,从而大大降低了网络的优化难度;其二、在网络进行反向传播时,由于梯度中始终包含一个直流分量,因此,即使是一个很深的网络,梯度在前面几层依然可以得到有效的传递。简而言之,残差模块不但可以实现构建一个更深的网络,保证网络的复杂性,提高网络的拟合能力,还能保证网络的收敛性,降低网络的训练难度。
根据残差模块的结构形式的不同,可将残差模块分为常规残差模块和非对称残差模块。如图5所示,给出了一种残差模块的结构示意图。图中K表示残差模块的输入特征图的通道数。图5中从左到右依次为常规残差模块、非对称残差模块和非对称残差模块。需要说明的是,可根据实际情况选择哪种结构形式的残差模块,在此不作具体限定。
在像素级分类任务中,下采样模块可以用于执行下采样操作,下采样操作可以增大卷积层的感受野,有利于收集更多的上下文信息,从而提高分类准确度。网络只学习物体本身的外表特征是不够的,它们的环境同样重要,示例性的,如在道路场景中对骑行者和行人的区分,如果收集到了一个人的空间位置在人行道上的上下文信息,就会对得出他是行人而不是骑行者的判断产生积极影响。更为重要的是,本发明实施例所提供的下采样模块,可以降低特征图尺寸,以此减少冗余信息,使计算复杂度和内存占用大大减小,有利于达到像素级分类的目的。
为了进一步提高网络运行速度,可以考虑使用尽早下采样的策略,即在前M-1个下采样模块就直接使用了下采样操作。这是由于原始图片的冗余度较大,而且处理代价也是非常高的,这里所述的代价包括内存的占用和计算复杂度,因此,把它们压缩成为更有效的特征图是一种可行的策略。此外,对于卷积神经网络,前面的网络层通常被认为用于提取较低级的特征,类似于对后面部分网络的输入特征图进行预处理,并不直接有助于最终的输出分类,因此,较早的下采样操作能够大大提高网络的计算效率,同时对结果精度的影响相对较小。
此外,过多的下采样操作对图像中的物体的边界定位精度影响很大,为了分类精度、定位精度和网络计算效率的平衡,对下采样模块的个数进行了限定,即1≤M≤3。
可选的,在上述技术方案的基础上,解码器可以包括M个上采样模块和V个残差模块,第一上采样模块和第二上采样模块之间连接V个所述残差模块。
将下采样特征图输入解码器,得到上采样特征图,具体可以包括:下采样特征图依次经过第一上采样模块和V个残差模块,得到第二中间特征图,第二中间特征图尺寸为原始图片尺寸的1/2M-1。第二中间特征图依次经过M-1个上采样模块,得到上采样特征图。
在本发明的实施例中,由于像素级分类任务需要对每个像素进行分类识别,因此,要求输出图像(即上采样特征图)与输入图像(即原始图片)具有相同的分辨率(即尺寸),即像素级分类任务要求上采样特征图与原始图片具有相同的尺寸,可以理解到,上述要求使用多少次下采样操作意味着还要使用同样强度的上采样操作,即解码器可以包括M个上采样模块。
上采样模块用于实现上采样操作,上采样操作的实现方式具体可以包括转置卷积、双线性插值和反池化。其中,转置卷积(或称反卷积)本质上也是一种卷积,只是由于转置卷积的前向传播过程是卷积层的反向传播过程,反向传播过程是卷积层的前向传播过程。反池化是池化的逆操作,反池化无法还原全部的原始信息,这是由于池化就只保留了主要信息,舍去了部分信息,因此,从池化后的这些主要信息中恢复出全部信息,则存在信息缺失,这时只能通过补位来实现最大程度的信息完整。根据前文所述可知,池化可以为最大池化和平均池化,相应的,反池化可以为反最大池化和反平均池化,且池化与反池化的具体实现方式需要对应,即如果池化时采用的是最大池化,则反池化时需要采用反最大池化;如果池化时采用的是平均池化,则反池化时需要采用反平均池化。针对最大池化和反最大池化来说,采用最大池化对特征图进行下采样时,将选取池化窗口中像素值最大的元素作为该区域采样后的值,相应的,采用反最大池化对特征图进行上采样时,可将输入特征图中最大元素所在的位置映射到输出特征图中,其余位置填零补充。相应的,上采样模块可以为转置卷积层、双线性插值层或反池化层,具体可根据实际情况进行选择,在此不作具体限定。
需要说明的是,解码器中的残差模块与编码器中的残差模块结构相同,在此不再具体赘述。
可选的,在上述技术方案的基础上,下采样模块可以包括第一卷积层和池化层,第一卷积层和池化层并联,每个下采样模块的输出为第一卷积层的输出和池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
在本发明的实施例中,如图6所示,给出了一种下采样模块的结构示意图,图6中下采样模块具体可以包括第一卷积层和池化层,第一卷积层和池化层并联,其输出为第一卷积层的输出和池化层的输出在输出通道上的拼接得到的,即将第一卷积层的输出特征图和池化层的输出特征图在输出通道上进行拼接得到下采样模块的输出特征图。
为了减少卷积层的参数和计算复杂度,可考虑采用分组卷积。分组卷积是一种在保持特征图尺寸相同的情况下,有效减少参数量的方式,其可以在几乎不损失性能的情况下将卷积核的参数减少。分组卷积将输入特征图和输出特征图以通道数为单位分为g组,在得到各个通道的特征图输出时,只与对应的组内的输入特征图进行卷积运算,其中,g为超参数,且要求输入通道数和输出通道数能够被g整除。如果组数g为1,则在得到各个通道的输出特征图的过程中,需要与所有的通道的输入特征图进行卷积运算,此时,分组卷积和常规卷积相同。如果组数g与输入通道数和输出通道数都相同,则在得到各个通道的输出特征图时,只与对应的组内的一个通道的输入特征图进行卷积运算,此时,分组卷积被称为深度卷积。
示例性的,如假设某卷积层的输入特征图为3×3×4,针对常规卷积:使用4个3×3×4的卷积核,其中,每个3×3×4的卷积核遍历4个输入通道中的输入特征图,从而得到对应的一个输出特征图,本卷积层的参数量为4×3×3×4=144。针对上例采用组数为2的分组卷积,第一组用2个3×3×2的卷积核遍历前面2个输入通道中的每个数据,从而得到对应的前面2个输出通道,第二组用2个3×3×2的卷积核遍历后面2个输入通道中的每个数据,从而得到对应的后面2个输出通道,本卷积层中每组的参数量为2×3×3×2=36,总参数量为36×2=72。可以看出,与常规卷积相比,使用组数为g的分组卷积,可以把参数量和计算复杂度缩小为原来的1/g。
分组卷积对空间信息和深度信息进行了去耦,减少了参数和计算的冗余,能够提高网络的效率,降低网络过拟合的可能性。而且由于没有减少网络的通道数,合理使用分组卷积不会减弱网络的表征能力。
由于采用分组卷积后,不同组的通道之间的信息不能流通,会严重影响网络性能,因此,为了实现不同组的通道之间的信息可以流通,可以采用通道交换的方式。基于上述,第一卷积层的输出为通过分组卷积和通道交换得到的。
可选的,在上述技术方案的基础上,残差模块可以包括两个第二卷积层和两个第三卷积层,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,每个第二卷积层和每个第三卷积层的输出为通过分组卷积和通道交换得到的。
在本发明的实施例中,如图7所示,给出了另一种残差模块的结构示意图,图7中残差模块可以包括两个第二卷积层和两个第三卷积层,其中,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,即残差模块为非对称残差模块,同样的,第二卷积层和第三卷积层的输出也为通过分组卷积和通道交换得到的,分组卷积和通道交换的含义、作用以及实现方式与前文所述的相同,在此不再具体赘述。
需要说明的是,本发明实施例所提供的技术方案中可将残差模块设置为非对称残差模块的原因在于:任意一个以J×J为卷积核的卷积层都可以几乎等效的分解成两个连续的J×1和1×J为卷积核的卷积层,并且这两个连续的卷积层之间的顺序不会对分解效果产生影响。将残差模块设置为非对称残差模块可以实现在增大网络深度的同时,减少网络的参数量,从而降低了计算复杂度,提高了计算效率。
关于增大网络深度可作如下理解:将一个以J×J为卷积核的卷积层分解为两个连续的J×1和1×J为卷积核的卷积层,即由一个卷积层变成了两个卷积层,增加了卷积层数。增大卷积层数即可理解为增大了网络深度。
关于减少网络的参数量的理解,下面将以具体示例进行说明,具体的:现将一个以3×3为卷积核的卷积层分解为两个连读的3×1和1×3为卷积核的卷积层。一个4×4的输入特征图与一个3×3的卷积核进行卷积运算,得到2×2的输出特征图,其计算量为3×3×1=9;而该4×4的输入特征图与一个3×1的卷积核进行卷积运算,得到2×4的特征图,接着这个2×4的特征图与一个1×3的卷积核进行卷积运算,也得到2×2的输出特征图。其计算量为3×1×1+1×3×1=6,两者相比,减少了网络的参数量。
此外,可以理解到,随着J的增大,减少网络的参数量将更明显,进而,降低计算复杂度,提高计算效率的效果也将更加明显。
可选的,在上述技术方案的基础上,第一上采样模块和第二上采样模块的输出为通过分组卷积和通道交换得到的。
在本发明的实施例,第一上采样模块的输出和第二上采样模块的输出均为通过分组卷积和通道交换得到的。同样,分组卷积和通道交换的含义、作用以及实现方式与前文所述相同,在此不作具体赘述。
可选的,在上述技术方案的基础上,第M个下采样模块之后连接的U-T个残差模块中第二卷积层和第三卷积层为空洞卷积层。
在本发明的实施例中,感受野是卷积神经网络的每一层输出特征图上的像素在输入特征图上映射的区域大小。感受野的大小表示了提取的特征图包含信息的多少,感受野越大包含的上下文信息越多。在像素级分类任务中,提取的特征包含的信息越多则对当前像素进行正确分类的可能性就越大。如图8所示,对于同一张图片,如果感受野的大小如8图中左图所示,则很难正确的对感受野中心的像素进行分类,该像素可能属于黑色的猫,或者其它类别。但如果感受野的大小如8图中右图所示,则很容易判断出感受野中心的像素属于熊猫。
传统技术中,为了增大感受野,通常采用如下两种方式,具体的:其一、通过增加卷积层可以增大感受野,但是增加卷积层会增大网络的复杂度,降低训练速度;其二、通过使用池化层,先降低图片的尺寸来增大感受野,然后对特征图采用上采样恢复到原图尺寸,但是在上述先减小图片尺寸再增大图片尺寸的过程中,将导致细节信息的损失。针对上述增大感受野方式所存在的问题,可考虑使用空洞卷积来解决。空洞卷积可以实现在不损失细节信息,同时不增加网络的复杂度的情况下增大感受野。下面对空洞卷积进行详细说明,具体的:
空洞卷积是在标准卷积核进行上注入空洞得到的卷积核,这里所述的注入空洞可以理解为插零扩张。相比于原来正常的卷积运算,空洞卷积使用一个额外的超参数扩张率来控制卷积核插入空洞的间隔。标准卷积核的感受野的计算公式为:RFout=(RFin-1)*stride+ksize,其中,RFout表示当前层感受野,RFin表示上一层感受野,stride表示卷积步长或池化步长,ksize表示卷积核大小。空洞卷积核的感受野的计算公式和上面相同,所谓空洞可以理解为扩大了标准卷积核的大小。或者,空洞卷积核的感受野的计算公式为:RFout=2(d2+2)-1,其中,RFout表示当前层感受野,d表示扩张率。
示例性的,如图9所示,给出了一种空洞卷积的示意图,图9中左图表示扩张率d=1的空洞卷积核3×3,与标准卷积运算相同,经过该空洞卷积核进行卷积运算后,每格代表的信息是原本3×3格子的信息,也就是感受野为3×3。图9中右图表示扩张率d=2的空洞卷积核,实际上卷积核分布为图9中黑点位置,且由于本次卷积运算是在左图卷积运算之后的特征图上再次进行的卷积运算,因此,实际相对于原特征图(即左图进行卷积运算之前的特征图),其感受野实际为7×7。相比于2层3×3的标准卷积核级联,卷积步长stride=1只能获得5×5的感受野而言,空洞卷积核级联可以获得指数级的感受野增加。
由于空洞卷积可以实现在不损失细节信息,同时不增加网络的复杂度的情况下增大感受野,因此,将第M下采样模块之后连接的U-T个残差模块中第二卷积层和第三卷积层设置为空洞卷积层。
可选的,在上述技术方案的基础上,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。在本发明的实施例中,需要说明的是,深度学习的算法在训练开始前一般都需要对输入数据做归一化处理,本发明实施例所提供的技术方案的全卷积神经网络也不例外。这是因为深度学习的本质应该是数据分布的学习,如果训练数据和测试数据的分布不同,则学习到的模型泛化能力就将大打折扣。此外,如果每批训练数据的分布也不相同,则在学习过程,网络就要每次迭代都适应不同的数据分布,这必然大大降低网络的的训练速度。全卷积神经网络的训练十分复杂,每一层的输入将受到前面所有层的网络参数的影响,当网络很深时,网络参数的微小变化都会被累积放大。当网络的某一层数据分布发生变化后,网络就要学习适应这个新的数据分布,如果训练的过程中,各层数据的分布不断发生这种改变,则网络的收敛速度必然受到影响。
全卷积神经网络在训练的过程中,网络参数应该是不断随着反向传播等优化算法进行更新的,这种更新必将造成后面各个网络层输入数据的分布变化。在网络的训练过程中,这种网络中间层数据分布的变化通常称为内部协变量转移。内部协变量转移导致网络层一直需要学习适应新的数据分布,使得网络训练速度变低,而且由于网络内部不稳定,容易出现梯度消失或者梯度爆炸问题,因此在使用反向传播等优化算法对网络进行训练时,需要仔细调整网络的超参数,尤其是网络训练中使用的学习率以及模型参数的初始值。
为了解决上述问题,考虑可采用批规范化(Batch Normalization,BN)来规范某些层或者所有层的输入,从而固定每层输入数据的均值与方差,使得每一层的输入有一个稳定的分布。本发明实施例所提供的技术方案在第二卷积层和第三卷积层之间连接批规范化层,同时,在第二个第三卷积层之后也连接批规范层。批规范化的具体实现方式为:对每一层的输出的每个通道计算均值和方差,并执行减均值除以标准差的归一化操作。同时,增加了两个可以被学习的参数(即尺度和偏移量)。
上述通过在网络中增加批规范化层,使得网络更加稳定,不容易产生梯度爆炸或梯度消失问题。在训练时可以使用较大的学习率,并且在训练过程中也不必像之前一样小心翼翼地调节各个超参数,这使得训练过程大大加快。此外,批规范化具有一定的正则化效果,可以提高网络的泛化能力。
此外,为了增强网络的非线性能力,可在网络中引入非线性激活层,并将非线性激活层连接在批规范化层之后,非线性激活层可以采用饱和非线性变换函数和不饱和非线性变换函数,饱和非线性变换函数可以包括Sigmoid函数和Tanh函数等,非线性变换函数可以包括ReLU(Rectified Linear Units,修正线性单元)函数和Softplus函数等。相较于饱和非线性变换函数,不饱和非线性变换函数能够缓解网络训练时梯度消失的问题,加快网络训练速度。基于上述,非线性激活层可采用ReLU函数。
基于上述,如图10所示,给出了再一种残差模块的结构示意图。图10中用BN表示批规范化,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层,即第一个第二卷积层和第一个第三卷积层之间依次连接批规范化层和非线性激活层,第一个第三卷积层和第二个第二卷积层之间依次连接批规范化层和非线性激活层,第二个第二卷积层和第二个第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。
可选的,在上述技术方案的基础上,上采样模块可以为转置卷积层。
在本发明的实施例中,上采样模块可以为转置卷积层,转置卷积的前向传播即为卷积的反向传播,由于在卷积的实现中,输入的二维图像被拉直为一个长向量,正向传播运算可以表达为卷积核参数相关的矩阵左乘向量得到输出,反向传播则是参数矩阵的转置左乘梯度向量,因此,在转置卷积中,其正向传播是左乘卷积核参数矩阵的转置。如图11所示,给出了一种转置卷积运算的示意图。
可选的,在上述技术方案的基础上,M=N=3,U=13,T=5,V=1。
在本发明的实施例中,如图12所示,给出了一种全卷积神经网络的结构示意图。图12中编码器包括3个下采样模块和13个残差模块,第一下采样模块和第二下采样模块连接,第二下采样模块和第三下采样模块之间连接5个残差模块,第三下采样模块之后连接8个残差模块;解码器包括3个上采样模块和1个残差模块,第一上采样模块和第二上采样模块之间连1个残差模块。
如图6所示,下采样模块包括的第一卷积层和池化层,第一卷积层和池化层并联,每个下采样模块的输出为第一卷积层的输出和池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
第一上采样模块的输出和第二上采样模块的输出为通过分组卷积和通道交换得到的。
如图10所示,残差模块包括两个第二卷积层和两个第三卷积层,第一第二卷积层、第一第三卷积层、第二第二卷积层和第二第三卷积层依次连接,每个第二卷积层的输出和每个第三卷积层的输出均为通过分组卷积和通道交换得到的,第二卷积层和第三卷积层之间依次连接批规范层和非线性激活层,第二个第三卷积层之后依次连接批规范化层和非线性激活层。第三采样模块之后连接的8个残差模块中第二卷积层和第三卷积层为空洞卷积层,其余残差模块中的第二卷积层和第三卷积层为标准卷积层。
每个下采样模块的输出特征图尺寸为输入特征图尺寸的二分之一,经过3个下采样模块之后输出的下采样特征图尺寸为原始图片尺寸的八分之一。每个上个采样模块的输出特征图尺寸为输入特征图尺寸的两倍,经过3个上采样模块之后输出的上采样特征图尺寸为下采样特征图尺寸的八倍,即上采样特征图尺寸与原始图片尺寸相同。
本发明实施例所提供的技术方案,形成以编码器和解码器为结构的全卷积神经网络,可将网络分成由编码器执行相关操作的编码阶段,以及,由解码器执行相关操作的解码阶段。在编码阶段,通过卷积运算不断的逐层抽象提取图像特征,并且在编码阶段初期采用连续下采样,减少了特征图尺寸,进而减少网络的计算量,同时,使得后续的卷积运算都基于一个比较大的感受野的特征图来提取抽象特征。通过将残差模块设置为非对称卷积层,可实现在增大网络深度的同时,减少网络的参数量。同时,无论残差模块中的第二卷积层和第三卷积层,还是下采样模块中的第一卷积层,卷积层的输出均为通过分组卷积和通道交换得到的,其中,分组卷积可以实现在几乎不损失性能的情况下将卷积核的参数减少,分组卷积采用通道交换,以保证组间信息的交换。将最后一个下采样模块之后连接的残差模块中的第一卷积层设置为空洞卷积层,以实现在不增加计算量的情况下,扩大输出特征图的感受野,进而获得更多的上下文信息,以更好的实现像素级分类任务。
在解码阶段,通过转置卷积运算不断增大下采样特征图尺寸,直至得到上采样特征图尺寸与原始图片尺寸相同。同时,与编码阶段一样,残差模块也采用同样的设置。此外,第一上采样模块的输出和第二上采样模块的输出也为通过分组卷积和通道交换得到的。
需要说明的是,上述编码器和解码器构成的全卷积神经网络,相比于传统技术中的卷积神经网络,去掉了全连接层,实现在减少参数量和计算量的同时,可直接将上采样特征图输入分类器得到原始图片中每个像素的分类。
还需要说明的是,下采样模块中第一卷积层可采用尺寸大小为3×3的卷积核,池化层的池化窗口大小可以为2×2;残差模块中的第一卷积层可采用尺寸为3×1的卷积核,第二卷积层可采用尺寸大小为1×3的卷积核。
另需要说明的是,上采样模块进行卷积运算的卷积核可以为标准卷积核,也可以为空洞卷积核,具体可根据实际情况进行设定,在此不作具体限定。
步骤130、将上采样特征图输入分类器得到原始图片中每个像素的分类。
在本发明的实施例中,分类器可采用Softmax,其是一种多分类的算法模型,将上采样特征图输入分类器得到原始图片中每个像素的分类,即生成像素分割图,在像素分割图中,可以用颜色表示分类,即不同颜色表示不同分类。
本实施例的技术方案,通过将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3,再将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同,将上采样特征图输入分类器得到原始图片中每个像素的分类,通过采用编码器-解码器形成的全卷积神经网络,其中,编码器将原始图片缩小,得到下采样特征图,解码器将下采样特征图尺寸恢复至原始图片尺寸,使得后续可根据上采样特征图确定原始图片中每个像素的分类,而无需再采用逐个像素块的方式来得到每一像素所属的分类,上述减小了计算量。同时,全卷积神经网络中不存在参数量占比较大的全连接层,从而进一步降低了计算量,也降低了结构复杂度,上述使得由编码器-解码器形成的全卷积神经网络的结构较简单,且计算量较小,实现了在移动端实时运行像素级分类任务。
图13为本发明实施例提供的一种像素级分类装置的结构示意图,本实施例可适用于移动端实时运行像素级分类任务的情况,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图13所示,该装置具体包括:
下采样特征图获取模块210,用于将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3.
上采样特征图获取模块220,用于将所述下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同。
像素所属分类确定模块230,用于将上采样特征图输入分类器得到原始图片中每个像素的分类。
本实施例的技术方案,通过将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3,再将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同,将上采样特征图输入分类器得到原始图片中每个像素的分类,通过采用编码器-解码器形成的全卷积神经网络,其中,编码器将原始图片缩小,得到下采样特征图,解码器将下采样特征图尺寸恢复至原始图片尺寸,使得后续可根据上采样特征图确定原始图片中每个像素的分类,而无需再采用逐个像素块的方式来得到每一像素所属的分类,上述减小了计算量。同时,全卷积神经网络中不存在参数量占比较大的全连接层,从而进一步降低了计算量,也降低了结构复杂度,上述使得由编码器-解码器形成的全卷积神经网络的结构较简单,且计算量较小,实现了在移动端实时运行像素级分类任务。
可选的,在上述技术方案的基础上,编码器包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个所述残差模块,第M下采样模块之后连接U-T个残差模块,M=N。
下采样特征图获取模块210,具体可以包括:
第一中间特征图获取单元,用于原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2。
下采样特征图获取单元,用于第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到下采样特征图。
可选的,在上述技术方案的基础上,解码器包括M个上采样模块和V个残差模块,第一上采样模块和第二上采样模块之间连接V个所述残差模块。
上采样特征图获取模块220,具体可以包括:
第二中间特征图获取单元,用于下采样特征图依次经过第一上采样模块和V个残差模块,得到第二中间特征图,第二中间特征图尺寸为原始图片尺寸的1/2M-1。
上采样特征图获取单元,用于第二中间特征图依次经过M-1个上采样模块,得到上采样特征图。
可选的,在上述技术方案的基础上,下采样模块包括第一卷积层和池化层,第一卷积层和所述池化层并联,每个下采样模块的输出为第一卷积层的输出和池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
可选的,在上述技术方案的基础上,残差模块包括两个第二卷积层和两个第三卷积层,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,每个第二卷积层和每个第三卷积层的输出为通过分组卷积和通道交换得到的。
可选的,在上述技术方案的基础上,第一上采样模块和第二上采样模块的输出为通过分组卷积和通道交换得到的。
可选的,在上述技术方案的基础上,第M下采样模块之后连接的U-T个残差模块中第二卷积层和第三卷积层为空洞卷积层。
可选的,在上述技术方案的基础上,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。
可选的,在上述技术方案的基础上,所述上采样模块为转置卷积层。
可选的,在上述技术方案的基础上,M=N=3,U=13,T=5,V=1。
本发明实施例所提供的像素级分类装置可执行本发明任意实施例所提供的像素级分类方法,具备执行方法相应的功能模块和有益效果。
图14为本发明实施例提供的一种设备的结构示意图。图14示出了适于用来实现本发明实施方式的示例性设备312的框图。图14显示的设备312仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图14所示,设备312以通用计算设备的形式表现。设备312的组件可以包括但不限于:一个或者多个处理器316,系统存储器328,连接于不同系统组件(包括系统存储器328和处理器316)的总线318。
总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Instruction Set Architecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型(Instruction Set Architecture,ISA)总线、视频电子标准协会(Video ElectronicsStandards Association,VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnect,PCI)总线。
设备312典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备312访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)330和/或高速缓存存储器332。设备312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统334可以用于读写不可移动的、非易失性磁介质(图14未显示,通常称为“硬盘驱动器”)。尽管图14中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如(Computer Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储器328可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块342的程序/实用工具340,可以存储在例如存储器328中,这样的程序模块342包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块342通常执行本发明所描述的实施例中的功能和/或方法。
设备312也可以与一个或多个外部设备314(例如键盘、指向设备、显示器324等)通信,还可与一个或者多个使得用户能与该设备312交互的设备通信,和/或与使得该设备312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口322进行。并且,设备312还可以通过网络适配器320与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器320通过总线318与设备312的其它模块通信。应当明白,尽管图14中未示出,可以结合设备312使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器316通过运行存储在系统存储器328中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种像素级分类方法,该方法包括:
将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3。
将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同。
将上采样特征图输入分类器得到原始图片中每个像素的分类。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供应用于设备的像素级分类方法的技术方案。该设备的硬件结构以及功能可参见实施例的内容解释。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的一种像素级分类方法,该方法包括:
将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3。
将下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同。
将上采样特征图输入分类器得到原始图片中每个像素的分类。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Computer Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——局域网(Local AreaNetwork,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的设备的像素级分类方法中的相关操作。对存储介质的介绍可参见实施例中的内容解释。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种像素级分类方法,其特征在于,包括:
将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3;
将所述下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同;
将所述上采样特征图输入分类器得到所述原始图片中每个像素的分类;
所述编码器包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个所述残差模块,第M下采样模块之后连接U-T个所述残差模块,M=N;
所述将原始图片输入编码器,得到下采样特征图,包括:
所述原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2;
所述第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到所述下采样特征图。
2.根据权利要求1所述的方法,其特征在于,所述解码器包括M个上采样模块和V个残差模块,第一上采样模块和第二上采样模块之间连接V个所述残差模块;
所述将所述下采样特征图输入解码器,得到上采样特征图,包括:
所述下采样特征图依次经过第一上采样模块和V个残差模块,得到第二中间特征图,第二中间特征图尺寸为原始图片尺寸的1/2M-1;
所述第二中间特征图依次经过M-1个上采样模块,得到所述上采样特征图。
3.根据权利要求1所述的方法,所述下采样模块包括第一卷积层和池化层,所述第一卷积层和所述池化层并联,每个下采样模块的输出为所述第一卷积层的输出和所述池化层的输出在输出通道上的拼接,每个第一卷积层的输出为通过分组卷积和通道交换得到的。
4.根据权利要求2所述的方法,其特征在于,所述残差模块包括两个第二卷积层和两个第三卷积层,第一个第二卷积层、第一个第三卷积层、第二个第二卷积层和第二个第三卷积层依次连接,两个第二卷积层和两个第三卷积层形成非对称卷积层,每个第二卷积层和每个第三卷积层的输出为通过分组卷积和通道交换得到的。
5.根据权利要求2所述的方法,其特征在于,第一上采样模块和第二上采样模块的输出为通过分组卷积和通道交换得到的。
6.根据权利要求4所述的方法,其特征在于,第M下采样模块之后连接的U-T个残差模块中第二卷积层和第三卷积层为空洞卷积层。
7.根据权利要求4所述的方法,其特征在于,第二卷积层和第三卷积层之间依次连接批规范化层和非线性激活层,第二个第三卷积层之后依次连接批规范层和非线性激活层。
8.根据权利要求2所述的方法,其特征在于,所述上采样模块为转置卷积层。
9.根据权利要求2-8任一所述的方法,其特征在于,M=N=3,U=13,T=5,V=1。
10.一种像素级分类装置,其特征在于,包括:
下采样特征图获取模块,用于将原始图片输入编码器,得到下采样特征图,下采样特征图尺寸为原始图片尺寸的1/2N,1≤N≤3;
上采样特征图获取模块,用于将所述下采样特征图输入解码器,得到上采样特征图,上采样特征图尺寸与原始图片尺寸相同;
像素所属分类确定模块,用于将所述上采样特征图输入分类器得到所述原始图片中每个像素的分类;
所述编码器包括M个下采样模块和U个残差模块,第M-1下采样模块和第M下采样模块之间连接T个所述残差模块,第M下采样模块之后连接U-T个所述残差模块,M=N;
所述下采样特征图获取模块,具体包括:
第一中间特征图获取单元,用于所述原始图片依次经过M-2个下采样模块,得到第一中间特征图,第一中间特征图尺寸为原始图片尺寸的1/2M-2;
下采样特征图获取单元,用于所述第一中间特征图依次经过第M-1下采样模块、T个残差模块、第M下采样模块和U-T个残差模块,得到所述下采样特征图。
11.一种像素级分类设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811627681.9A CN111382759B (zh) | 2018-12-28 | 2018-12-28 | 一种像素级分类方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811627681.9A CN111382759B (zh) | 2018-12-28 | 2018-12-28 | 一种像素级分类方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382759A CN111382759A (zh) | 2020-07-07 |
CN111382759B true CN111382759B (zh) | 2023-04-21 |
Family
ID=71222248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811627681.9A Active CN111382759B (zh) | 2018-12-28 | 2018-12-28 | 一种像素级分类方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382759B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761249A (zh) * | 2020-08-03 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种确定图片类型的方法和装置 |
CN112184587B (zh) * | 2020-09-29 | 2024-04-09 | 中科方寸知微(南京)科技有限公司 | 一种边缘数据增强模型、以及基于所述模型的高效边缘数据增强方法及系统 |
CN112200818B (zh) * | 2020-10-15 | 2024-07-02 | 广州华多网络科技有限公司 | 基于图像的着装区域分割和着装替换方法、装置及设备 |
CN112990304B (zh) * | 2021-03-12 | 2024-03-12 | 国网智能科技股份有限公司 | 一种适用于电力场景的语义分析方法及系统 |
CN113610704B (zh) * | 2021-09-30 | 2022-02-08 | 北京奇艺世纪科技有限公司 | 图像生成方法、装置、设备和可读存储介质 |
CN113780300B (zh) * | 2021-11-11 | 2022-02-25 | 翱捷科技股份有限公司 | 图像反池化方法、装置、计算机设备和存储介质 |
CN114419051B (zh) * | 2021-12-08 | 2024-07-23 | 西安电子科技大学 | 一种适应含有像素级分割的多任务场景的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203327A (zh) * | 2016-07-08 | 2016-12-07 | 清华大学 | 基于卷积神经网络的肺部肿瘤识别系统及方法 |
CN106910176A (zh) * | 2017-03-02 | 2017-06-30 | 中科视拓(北京)科技有限公司 | 一种基于深度学习的人脸图像去遮挡方法 |
CN108062543A (zh) * | 2018-01-16 | 2018-05-22 | 中车工业研究院有限公司 | 一种面部识别方法及装置 |
CN108427951A (zh) * | 2018-02-08 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、存储介质和计算机设备 |
CN108846820A (zh) * | 2018-07-10 | 2018-11-20 | 深圳市唯特视科技有限公司 | 一种基于尺度递归网络的深度图像去模糊方法 |
WO2018214195A1 (zh) * | 2017-05-25 | 2018-11-29 | 中国矿业大学 | 一种基于卷积神经网络的遥感图像桥梁检测方法 |
CN108960345A (zh) * | 2018-08-08 | 2018-12-07 | 广东工业大学 | 一种遥感图像的融合方法、系统及相关组件 |
-
2018
- 2018-12-28 CN CN201811627681.9A patent/CN111382759B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203327A (zh) * | 2016-07-08 | 2016-12-07 | 清华大学 | 基于卷积神经网络的肺部肿瘤识别系统及方法 |
CN106910176A (zh) * | 2017-03-02 | 2017-06-30 | 中科视拓(北京)科技有限公司 | 一种基于深度学习的人脸图像去遮挡方法 |
WO2018214195A1 (zh) * | 2017-05-25 | 2018-11-29 | 中国矿业大学 | 一种基于卷积神经网络的遥感图像桥梁检测方法 |
CN108062543A (zh) * | 2018-01-16 | 2018-05-22 | 中车工业研究院有限公司 | 一种面部识别方法及装置 |
CN108427951A (zh) * | 2018-02-08 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、存储介质和计算机设备 |
CN108846820A (zh) * | 2018-07-10 | 2018-11-20 | 深圳市唯特视科技有限公司 | 一种基于尺度递归网络的深度图像去模糊方法 |
CN108960345A (zh) * | 2018-08-08 | 2018-12-07 | 广东工业大学 | 一种遥感图像的融合方法、系统及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN111382759A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382759B (zh) | 一种像素级分类方法、装置、设备及存储介质 | |
CN108133188B (zh) | 一种基于运动历史图像与卷积神经网络的行为识别方法 | |
CN111860386B (zh) | 一种基于ConvLSTM卷积神经网络的视频语义分割方法 | |
CN110276354B (zh) | 一种高分辨率街景图片语义分割训练与实时分割方法 | |
Shah et al. | Stacked U-Nets: a no-frills approach to natural image segmentation | |
CN112183501B (zh) | 深度伪造图像检测方法及装置 | |
CN114008663A (zh) | 实时视频超分辨率 | |
KR20180136720A (ko) | 다채널 특징맵을 이용하는 영상 처리 장치 및 방법 | |
CN111062395B (zh) | 一种实时的视频语义分割方法 | |
CN111523546A (zh) | 图像语义分割方法、系统及计算机存储介质 | |
Jiang et al. | Cascaded subpatch networks for effective CNNs | |
CN112396607A (zh) | 一种可变形卷积融合增强的街景图像语义分割方法 | |
CN112396645A (zh) | 一种基于卷积残差学习的单目图像深度估计方法和系统 | |
CN112329801B (zh) | 一种卷积神经网络非局部信息构建方法 | |
Li et al. | A simple baseline for video restoration with grouped spatial-temporal shift | |
CN116863194A (zh) | 一种足溃疡图像分类方法、系统、设备及介质 | |
Jiang et al. | LigMSANet: Lightweight multi-scale adaptive convolutional neural network for dense crowd counting | |
Song et al. | FPCR-Net: Feature pyramidal correlation and residual reconstruction for optical flow estimation | |
Xing et al. | Digital rock resolution enhancement and detail recovery with multi attention neural network | |
CN113869234A (zh) | 人脸表情识别方法、装置、设备及存储介质 | |
CN112989955A (zh) | 基于空时双流异构嫁接卷积神经网络人体动作识别方法 | |
CN112115786A (zh) | 基于注意力U-net的单目视觉里程计方法 | |
Bao et al. | Half quadratic splitting method combined with convolution neural network for blind image deblurring | |
CN116246110A (zh) | 基于改进胶囊网络的图像分类方法 | |
CN113222016B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231010 Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511400 floor 23-39, building B-1, Wanda Plaza North, Wanbo business district, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |