CN113065575A - 一种图像处理方法及相关装置 - Google Patents
一种图像处理方法及相关装置 Download PDFInfo
- Publication number
- CN113065575A CN113065575A CN202110221928.2A CN202110221928A CN113065575A CN 113065575 A CN113065575 A CN 113065575A CN 202110221928 A CN202110221928 A CN 202110221928A CN 113065575 A CN113065575 A CN 113065575A
- Authority
- CN
- China
- Prior art keywords
- feature map
- sub
- feature
- input
- branch
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 80
- 238000013528 artificial neural network Methods 0.000 claims abstract description 76
- 238000010586 diagram Methods 0.000 claims abstract description 51
- 238000007499 fusion processing Methods 0.000 claims abstract description 12
- 238000000605 extraction Methods 0.000 claims description 151
- 238000012545 processing Methods 0.000 claims description 149
- 238000000034 method Methods 0.000 claims description 82
- 230000006870 function Effects 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 40
- 239000000654 additive Substances 0.000 claims description 29
- 230000000996 additive effect Effects 0.000 claims description 29
- 230000004913 activation Effects 0.000 claims description 25
- 238000005070 sampling Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 10
- 239000011159 matrix material Substances 0.000 description 51
- 238000013527 convolutional neural network Methods 0.000 description 29
- 238000012549 training Methods 0.000 description 25
- 238000011176 pooling Methods 0.000 description 22
- 239000013598 vector Substances 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 17
- 230000004927 fusion Effects 0.000 description 17
- 230000001537 neural effect Effects 0.000 description 12
- 210000002569 neuron Anatomy 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 210000003128 head Anatomy 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 102220645282 Structure-specific endonuclease subunit SLX4_S21P_mutation Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/803—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种图像处理方法,应用于人工智能领域,包括:获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率;通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,在该目标网络中采用从低层往高层的方式将第一输入子特征图的特征往第二输入子特征图的特征中进行融合;根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。本方案中,采用从低层往高层的方式将低层特征往高层特征进行融合,弥补高层特征的稀疏问题,从而提高目标检测精度,解决加法神经网络无法应用于目标检测的问题。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像处理方法及相关装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,其关注图像中特定的物体目标,要求同时获得这一特定物体目标的类别信息和位置信息,目标检测在很多场景都有应用,如,无人驾驶的安防系统、智能化交通系统、智能监控系统等。目标检测对于人类来说并不困难,通过对图片中不同颜色模块的感知很容易定位并分类出其中的目标物体。但对于计算机来说,面对的是RGB像素矩阵,很难从图像中直接得到物体的抽象概念并定位其位置,再加上有时候多个物体和杂乱的背景混杂在一起,使得目标检测更加困难。
目前,基于卷积神经网络的深度学习在处理计算机视觉任务中有着较好的表现。但是,这类卷积神经网络中通常包括大量的乘法操作,导致网络的功耗较高。因此,相关技术中提出了通过加法操作来代替乘法操作的加法神经网络,以起到减少网络计算功耗的作用。然而,相关技术中的加法神经网络主要应用于图像分类或图像复原等技术领域。目前的加法神经网络应用在目标检测时,通常难以获得有效的检测结果。
发明内容
本申请提供了一种图像处理方法,在进行特征融合的阶段中,采用从低层往高层的方式将低层特征往高层特征进行融合,弥补高层特征的稀疏问题,从而提高目标检测精度,解决加法神经网络无法应用于目标检测的问题。
本申请第一方面提供一种图像处理方法,包括:终端获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率。其中,所述待处理图像为需要执行目标检测的图像。该待处理图像可以是终端通过摄像头拍摄到的图像,或者,该待处理图像也可以是从终端内部获得的图像(例如,终端的相册中存储的图像,或者终端从云端获取的图像)。相应地,该待处理图像的输入特征图可以为该图像的特征图。或者,该输入特征图可以是由目标检测网络中的主干网络处理后得到的特征图,该主干网络可以为加法神经网络。
终端通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,其中所述目标网络为加法神经网络。所述目标网络中包括用于执行特征融合处理的多个支路。其中,所述多个支路包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征。
所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图。
最后,终端根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
本方案中,在采用加法神经网络执行目标检测的情况下,在进行多尺度特征融合时,采用从低层往高层的方式将低层特征往高层特征进行融合,弥补高层特征的稀疏问题,从而提高目标检测精度,解决了加法神经网络无法应用于目标检测的问题。
可选的,在一个可能的实施方式中,所述目标网络中的特征提取处理为加法操作或减法操作。其中,加法操作是指:特征提取核与输入图像中对应位置的元素相加得到目标矩阵,目标矩阵中的各个元素取绝对值后再求和。减法操作是指:特征提取核与输入图像中对应位置的元素相减得到目标矩阵,目标矩阵中的各个元素取绝对值后再求和。换句话说,目标矩阵可以是由其对应的输入子特征图与特征提取核进行矩阵加法或矩阵减法得到的。
其中,特征提取核在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器。特征提取核本质上可以是一个权重矩阵,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。
例如,所述第一支路对所述第一输入子特征图执行特征提取处理可以是上述的加法操作或减法操作。所述第二支路对所述第二输入子特征图和所述第一子特征图执行特征提取处理也可以是上述的加法操作或减法操作。
可选的,在一个可能的实施方式中,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,包括:所述第二支路用于将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。由于第一支路处理得到的第一子特征图的分辨率大于第二支路中的第二输入子特征图,因此可以对第一子特征图执行下采样处理,使得第一子特征图的分辨率与第二输入子特征图相同。然后,再将第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图。
也就是说,对于处理分辨率较高的第一输入子特征图的第一支路,第一支路将处理第一输入子特征图得到的中间特征传递给处理分辨率较低的第二输入子特征图的第二支路。即采用从低层往高层的方式将低层特征往高层特征进行融合,从而弥补第二支路中所处理的高层特征的稀疏性。
可选的,在一个可能的实施方式中,所述第二支路对所述第二子特征图执行特征提取处理,包括:所述第二支路通过卷积层(例如加法滤波层)和激活函数对所述第二子特征图进行处理,得到第三子特征图,该卷积层可以包括一个或多个特征提取核。所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。
本方案中,针对加法特征提取核本身所存在的表达能力上的缺陷,设计了包括卷积层和激活函数的跳连结构来目标网络中的卷积单元的表达能力,从而增强目标网络的特征学习能力。
可选的,在一个可能的实施方式中,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征;所述第一支路对所述第一输入子特征图执行特征提取处理,包括:所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
本方案中,在先采用从低层往高层的方式将低层特征往高层特征进行融合后,再将处理后的高层特征往低层特征融合,从而给低层特征引入较为丰富的语义信息,提高特征融合效果,进而提高网络的目标检测精度。
可选的,在一个可能的实施方式中,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
可选的,在一个可能的实施方式中,所述输入特征图的梯度由所述目标网络的权重与所述输入特征图之间的差值确定。
可选的,在一个可能的实施方式中,所述输入特征图的梯度是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。
本方案中,基于加法神经网络中通常存在多分支和多个损失函数的特性,通过提供包括取符号操作的梯度计算方式来获得更准确的梯度,从而有利于提高最终的目标检测精度。
本申请第二方面提供一种图像处理装置,包括:获取单元和处理单元;所述获取单元用于获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率;所述处理单元用于通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,其中所述目标网络为加法神经网络,所述目标网络包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图;所述处理单元还用于根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
可选的,在一个可能的实施方式中,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,包括:所述第二支路用于将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。
可选的,在一个可能的实施方式中,所述第二支路对所述第二子特征图执行特征提取处理,包括:所述第二支路通过卷积层和激活函数对所述第二子特征图进行处理,得到第三子特征图;所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。
可选的,在一个可能的实施方式中,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征;所述第一支路对所述第一输入子特征图执行特征提取处理,包括:所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
可选的,在一个可能的实施方式中,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
可选的,在一个可能的实施方式中,所述输入特征图的梯度由所述目标网络的权重与所述输入特征图之间的差值确定。
可选的,在一个可能的实施方式中,所述输入特征图的梯度是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。
本申请第三方面提供了一种图像处理装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的方法。对于处理器执行第一方面的各个可能实现方式中的步骤,具体均可以参阅第一方面,此处不再赘述。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请第五方面提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面所述的方法。
本申请第六方面提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请第七方面提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或门限值获取装置实现上述第一方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2为本申请实施例提供的卷积神经网络的示意图;
图3为本申请实施例提供的卷积神经网络的示意图;
图4为本申请实施例提供的一种系统架构的示意图;
图5为本申请实施例提供的一种高层特征的对比示意图;
图6为相关技术中的一种特征融合网络的结构示意图;
图7为本申请实施例提供的一种图像处理方法的流程示意图;
图8为本申请实施例提供的一种目标网络的结构示意图;
图9为本申请实施例提供的一种跳连结构的示意图;
图10为本申请实施例提供的一种网络架构的示意图;
图11为本申请实施例提供的一种目标网络的结构示意图;
图12为本申请实施例提供的一种目标检测网络的结构示意图;
图13为本申请实施例提供的一种网络的检测结果的对比示意图;
图14为本申请实施例提供的一种网络的检测结果的另一对比示意图;
图15为本申请实施例提供的一种网络的理论功耗对比示意图;
图16为本申请实施例提供的一种在图像上执行目标检测的示意图;
图17为本申请实施例提供的一种图像处理装置的结构示意图;
图18为本申请实施例提供的执行设备的一种结构示意图;
图19为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施。
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据。
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理。
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力。
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用。
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的模型训练方法,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的神经网络模型(如本申请实施例中的目标神经网络模型);并且目标神经网络模型可以用于进行模型推理,具体可以将输入数据输入到目标神经网络模型中,得到输出数据。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络。
神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)卷积神经网络(Convosutionas Neuras Network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层(例如本实施例中的第一卷积层、第二卷积层)。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
具体的,如图2所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
其中,卷积层/池化层120以及神经网络层130组成的结构可以为本申请中所描述的第一卷积层以及第二卷积层,输入层110和卷积层/池化层120连接,卷积层/池化层120连接与神经网络层130连接,神经网络层130的输出可以输入至激活层,激活层可以对神经网络层130的输出进行非线性化处理。
卷积层/池化层120。卷积层:如图2所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图2中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。
神经网络层130:在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图2所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图2由110至140的传播为前向传播)完成,反向传播(如图2由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图3所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
(3)深度神经网络。
深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,则系数W和偏移向量的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(4)损失函数。
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法。
卷积神经网络可以采用误差反向传播(back propagation,S21P000217)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)线性操作。
线性是指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数,线性操作可以但不限于为加和操作、空操作、恒等操作、卷积操作、批归一化BN操作以及池化操作。线性操作也可以称之为线性映射,线性映射需要满足两个条件:齐次性和可加性,任一个条件不满足则为非线性
其中,齐次性是指f(ax)=af(x);可加性是指f(x+y)=f(x)+f(y);例如,f(x)=ax就是线性的。需要注意的是,这里的x、a、f(x)并不一定是标量,可以是向量或者矩阵,形成任意维度的线性空间。如果x、f(x)为n维向量,当a为常数时,就是等价满足齐次性,当a为矩阵时,则等价满足可加性。相对而言,函数图形为直线的不一定符合线性映射,比如f(x)=ax+b,既不满足齐次性也不满足可加性,因此属于非线性映射。
本申请实施例中,多个线性操作的复合可以称之为线性操作,线性操作中包括的各个线性操作也可以称之为子线性操作。
(7)目标检测。
目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。目标检测的实质是多目标的定位,即要在图片中定位多个目标物体,包括分类和定位。比如对某个图进行目标检测,得到的结果是好几只动物,每只动物的位置对应一个矩形框。随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。
图4是本申请实施例提供的一种系统架构的示意图,在图4中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理(比如进行本申请中神经网络的功能实现)过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果返回给客户设备140,从而提供给用户。
可选地,客户设备140,例如可以是自动驾驶系统中的控制单元、手机终端中的功能算法模块,例如该功能算法模块可以用于实现相关的任务。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则(例如本实施例中的目标神经网络模型),该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图4中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图4仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图4中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
目前,基于卷积神经网络的深度学习在处理计算机视觉任务中有着较好的表现。但是,这类卷积神经网络中通常包括大量的乘法操作,导致网络的功耗较高。因此,相关技术中提出了通过加法操作来代替乘法操作的加法神经网络,以起到减少网络计算功耗的作用。由于在硬件的计算上,加法操作的计算效率要比乘法操作更高效,且功耗更低。因此,通过采用加法操作代替网络中乘法操作的加法神经网络能够有效减少网络计算的功耗。加法神经网络在图像分类任务上可以达到精度无损的同时,有效减少网络的功耗。
然而,相关技术中的加法神经网络主要应用于图像分类或图像复原等技术领域。目前的加法神经网络应用在目标检测时,通常难以获得有效的检测结果。
一般来说,目标检测网络通常包括主干网络(backbone),特征融合网络和检测头(Prediction head)。主干网络用于从输入图像中提取不同尺度的特征,例如不同的低层特征和高层特征。其中,低层特征的分辨率较大,包含的位置信息较丰富,但语义信息较弱;相反,高层特征的分辨率较小,语义信息较为丰富。特征融合网络则用于对主干网络输出的特征进行多尺度的特征融合,从而增强特征的表达能力。检测头则用于基于特征融合网络所输出的融合特征进行目标检测,得到目标检测结果。
经发明人研究发现,当主干网络采用加法神经网络时,与乘法神经网络相比,主干网络提取得到的高层特征往往会呈现比较明显的稀疏特性。具体地,可以参阅图5,图5为本申请实施例提供的一种高层特征的对比示意图。如图5所示,图5中的(a)表示乘法神经网络所提取的高层特征,图5中的(b)表示加法神经网络所提取的高层特征。显然,加法神经网络所提取的高层特征具有比较明显的稀疏特性。这种稀疏特性主要是由加法神经网络中的加法操作所导致的。
可以参阅图6,图6为相关技术中的一种特征融合网络的结构示意图。如图6所示,相关技术中的特征融合网络包括多个支路,每个支路的输入是主干网络所提取的特征,且每个支路的输入均不同。从支路1到支路4,输入特征的分辨率逐渐增大,支路1的输入特征为分辨率最小的高层特征,支路4的输入特征为分辨率最大的低层特征。在特征融合过程中,该特征融合网络是采用从高层往低层的方式将高层特征往低层特征进行融合。这样一来,由于在采用加法神经网络作为主干网络时,主干网络提取得到的高层特征具有比较明显的稀疏特征,因此在将高层特征融合至低层特征时,会对低层特征造成破坏,最终影响目标检测的精度。
有鉴于此,本申请实施例提供了一种基于加法神经网络的图像处理方法,在进行特征融合的阶段中,采用从低层往高层的方式将低层特征往高层特征进行融合,弥补高层特征的稀疏问题,从而提高目标检测精度,解决加法神经网络无法应用于目标检测的问题。
本申请实施例所提供的图像处理方法可以应用在拍照、录像、智慧城市、人机交互以及其他需要进行目标检测的场景等。
应理解,本申请实施例中的图像可以为静态图像(或称为静态画面)或动态图像(或称为动态画面),例如,本申请实施例中的图像可以为视频或动态图片,或者,本申请实施例中的图像也可以为静态图片或照片。为了便于描述,本申请在下述实施例中将静态图像或动态图像统一称为图像。
本申请实施例的方法可以具体应用到图像识别场景中,下面对这种场景进行详细的介绍。
图像识别:
在用户通过手机或平板电脑等终端拍摄得到图像之后,终端可以对用户拍摄得到的图像进行识别,以得到图像中所包含的物体。例如,终端可以自动识别出被拍物体是花卉、动物、汽车等。进一步地,终端还可以采用矩形框将识别到的物体进行标记,以实现目标检测。
应理解,上文介绍的图像识别只是本申请实施例的方法所应用的具体场景,本申请实施例的方法在应用时并不限于上述的场景,本申请实施例的方法能够应用到任何需要进行目标检测的场景中,本申请实施例中对此并不限定。
本实施例中所提及的特征提取核在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器。特征提取核是一个权重矩阵,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。
可以参阅图7,图7为本申请实施例提供的一种图像处理方法的流程示意图。如图7所示,该图像处理方法包括以下的步骤701-步骤703。
步骤701,获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率。
其中,该待处理图像为需要执行目标检测的图像。该待处理图像可以是终端通过摄像头拍摄到的图像,或者,该待处理图像也可以是从终端内部获得的图像(例如,终端的相册中存储的图像,或者终端从云端获取的图像)。相应地,该待处理图像的输入特征图可以为该图像的特征图。或者,该输入特征图可以是由目标检测网络中的主干网络处理后得到的特征图,该主干网络可以为加法神经网络。
本申请实施例中的加法神经网络可以包括一个或多个加法滤波层,还可以包括图2中所示的输入层、池化层、隐含层或输出层等其他层,本申请实施例中对此并不限定。该加法神经网络中可以包括多个加法滤波层,每个加法滤波层都可以包括一个或多个特征提取核。即所述加法神经网络中可以包括多个特征提取核。相应地,可以通过该多个特征提取核对所述待处理图像进行多次特征提取处理,以得到输入特征图,所述输出特征图包括多个输入子特征图。
其中,通过特征提取核对所述待处理图像对特征提取处理可以是指加法操作或减法操作。
其中,加法操作是指:特征提取核与输入图像中对应位置的元素相加得到目标矩阵,目标矩阵中的各个元素取绝对值后再求和。
可选的,若目标矩阵是特征提取核与输入图像中对应位置的元素相减得到,则该特征提取处理操作也可以称为减法操作。此时,目标矩阵中的各个元素取绝对值后再求和,可以得到特征提取操作的结果。换句话说,在本申请实施例中,目标矩阵是由其对应的输入子特征图与特征提取核进行矩阵加法或矩阵减法得到的。
步骤702,通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图。
其中,所述目标网络为加法神经网络。所述目标网络中用于执行特征提取处理的特征提取核所执行的卷积处理即为上述的加法操作或减法操作。
所述目标网络中包括用于执行特征融合处理的多个支路。其中,所述多个支路包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征。
可选的,在第一支路为最低层的支路时,第一支路所得到的第一子特征图可以是通过特征提取核对第一输入子特征图执行特征提取处理后得到的特征图;所述第一子特征图也可以是第一支路未执行特征提取处理所得到的特征图,即第一子特征图可以是与第一输入子特征图相同。在第一支路并非为最低层的支路时,第一支路所得到的第一子特征图可以是第一支路将第一输入子特征图与其他支路所传递的特征图进行融合处理后所得到的。
所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图。
可选的,第二支路对所述第二输入子特征图和所述第一子特征图执行特征提取处理,可以是将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。由于第一支路处理得到的第一子特征图的分辨率大于第二支路中的第二输入子特征图,因此可以对第一子特征图执行下采样处理,使得第一子特征图的分辨率与第二输入子特征图相同。然后,再将第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图。
也就是说,对于处理分辨率较高的第一输入子特征图的第一支路,第一支路将处理第一输入子特征图得到的中间特征传递给处理分辨率较低的第二输入子特征图的第二支路。即采用从低层往高层的方式将低层特征往高层特征进行融合,从而弥补第二支路中所处理的高层特征的稀疏性。
可以理解的是,除了第一支路和第二支路这两个支路之外,目标网络中还可以包括其他用于执行特征融合的支路,例如第三支路、第四支路等支路。在实际应用中,可以根据实际需要来确定目标网络中的支路的数量,例如目标网络中包括3-7个支路,本实施例并不对目标网络中所包括的支路的数量做具体限定。
示例性地,在目标网络还包括第三支路的情况下,所述输入特征图还包括第三输入子特征图,所述第三支路用于对所述第三输入子特征图和所述第二支路处理得到的中间特征执行特征提取处理,得到第三输出子特征图。也就是说,第二支路同样将处理第二输入子特征图所得到的中间特征传递给第三支路,进一步弥补第三支路中所处理的高层特征的稀疏性。
示例性地,可以参阅图8,图8为本申请实施例提供的一种目标网络的结构示意图。如图8所示,该目标网络中包括第一支路、第二支路、第三支路和第四支路。其中,第一支路、第二支路、第三支路和第四支路的输入分别为第一输入子特征图、第二输入子特征图、第三输入子特征图和第四输入子特征图。在图8中,虚线框中的特征提取核(即特征提取核1、特征提取核2、特征提取核3和特征提取核4)表示可选的特征提取核,在实际应用中,目标网络可以包括虚线框中的特征提取核,或者目标网络不包括虚线框中的特征提取核。
在第一支路中,第一支路可以是通过特征提取核1对第一输入子特征图进行卷积处理,得到第一子特征图,并将第一子特征图传递给第二支路。然后,第一支路继续通过特征提取核2对第一子特征图进行卷积处理,从而得到第一输出子特征图。可选的,第一支路也可以是直接将第一输入子特征图传递给第二支路,并通过特征提取核2对第一输入子特征图进行卷积处理,从而得到第一输出子特征图。
在第二支路中,第二支路可以是通过特征提取核3对第二输入子特征图进行卷积处理,将执行特征提取处理后的第二输入子特征图和执行下采样处理后的第一子特征图相加,得到第二子特征图,并将第一子特征图传递给第三支路。然后,第三支路继续通过特征提取核4对第二子特征图进行卷积处理,从而得到第二输出子特征图。可选的,第二支路也可以是直接将第二输入子特征图和执行下采样处理后的第一子特征图相加,得到第二子特征图,并通过特征提取核4对得到第二子特征图进行卷积处理,从而得到第二输出子特征图。
类似地,第三支路获取第二支路传递的特征,并进行特征融合处理,得到第三输出子特征图。第四支路则获取第三支路传递的特征,并进行特征融合处理,得到第四输出子特征图。在此不再赘述第三支路和第四支路的处理过程。
在一个可能的实施例中,在目标网络的支路中可以引入跳连结构,以增强目标网络的特征学习能力。以下以第二支路为例,对目标网络中所引入的跳连结构进行介绍。
示例性地,可以参阅图9,图9为本申请实施例提供的一种跳连结构的示意图。所述第二支路对所述第二子特征图执行特征提取处理,包括:所述第二支路通过卷积层(例如加法滤波层)和激活函数对所述第二子特征图进行处理,得到第三子特征图,该卷积层可以包括一个或多个特征提取核。所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。也就是说,在图9中,跳连结构包括卷积层和激活函数,通过跳连结构对第二子特征图进行处理,得到第二输出子特征图。
在本实施例中,针对加法特征提取核本身所存在的表达能力上的缺陷,设计了跳连结构来目标网络中的卷积单元的表达能力,从而增强目标网络的特征学习能力。
举例来说,对于乘法神经网络中的特征提取核(即乘法特征提取核)而言,通过涉及乘法特征提取核的权重,可以使得乘法特征提取核的输入与输出相同。但是,对于加法特征提取核来说,加法特征提取核的输入与输出必定是不相同的。因此,相对于乘法神经网络而言,加法特征提取核的表达能力存在一定的缺陷,容易导致加法神经网络的特征学习能力较差。
在引入跳连结构后,通过跳连结构中的特征提取核和激活函数,可以将跳连结构的输入置为0,从而使得跳连结构的最终输出与跳连结构的输入相同。例如,在图9中,通过调整卷积层和激活函数的权重,可以使得通过卷积层和激活函数对第二子特征图处理得到的第三子特征图为0。这样,在将第二子特征图与第三子特征图相加后,输出的第二输出子特征图与第二子特征图相同。
在一个可能的实施例中,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征。其中,在第二支路并非最高层的支路时,第二支路对所述第二子特征图执行特征提取处理可以是:第二支路通过特征提取核对第二子特征图执行处理,并将执行特征提取处理后的第二子特征图与上层支路所传递的且执行上采样处理后的特征图相加,得到第四子特征图。在第二支路为最高层的支路时,第二支路对所述第二子特征图执行特征提取处理则可以是:第二支路通过特征提取核对第二子特征图执行处理,得到第四子特征图。
所述第一支路对所述第一输入子特征图执行特征提取处理,包括:所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
示例性地,可以参阅图10,图10为本申请实施例提供的一种网络架构的示意图。如图10所示,第一支路和第二支路中均包括3个特征提取核。第一支路中通过特征提取核1对输入的第一输入子特征图进行处理,并将处理得到的第一子特征图传递给第二支路;第二支路通过特征提取核4对输入的第二输入子特征图进行处理,并将处理后的第二输入子特征图与下采样处理后的第一子特征图相加,得到第二子特征图。第二支路通过特征提取核5对第二子特征图进行处理,得到第四子特征图,并将第四子特征图传递给第一支路。第一支路通过特征提取核2对第一子特征图进行处理,并将处理后的第一子特征图与第二支路传递的第四子特征图相加,得到第五子特征图。最后,第一支路通过特征提取核3对第五子特征图处理,得到第一输出子特征图。第二支路则通过特征提取核6对第四子特征图进行处理,得到第二输出子特征图。
本实施例中,在先采用从低层往高层的方式将低层特征往高层特征进行融合后,再将处理后的高层特征往低层特征融合,从而给低层特征引入较为丰富的语义信息,提高特征融合效果,进而提高网络的目标检测精度。
可选的,在第一支路中同样可以引入跳连结构,以增强第一支路的特征学习能力。
示例性地,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
步骤703,根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
可选的,在得到输出特征图之后,可以通过检测头对所述输出特征图进行处理,得到目标检测结果。该检测头可以为加法神经网络,该检测头中包括一个或多个加法滤波层,每个加法滤波层都可以包括一个或多个特征提取核。该检测头通过加法滤波层对输出特征图进行处理,从而得到最终的目标检测结果。
示例性地,可以参阅图11,图11为本申请实施例提供的一种目标网络的结构示意图。如图11所示,目标网络中包括多个支路,每个支路中均包括一个特征提取核、两个相加结构以及两个跳连结构,其中跳连结构中的激活函数在图11中没有示出。对于目标网络中的其中一个支路来说,该支路通过特征提取核对输入子特征图进行处理后,将得到的子特征图与下层支路所传递的且经过下采样处理的子特征图相加,得到相加后的子特征图1。相加后的子特征图经过第一个跳连结构处理后,与上层支路所传递的且经过上采样处理的子特征图相加,得到相加后的子特征图2。最后,将相加后的子特征图2经过第二个跳连结构处理,得到输出子特征图。
示例性地,可以参阅图12,图12为本申请实施例提供的一种目标检测网络的结构示意图。如图12所示,该目标检测网络包括主干网络、目标网络和检测头。其中,主干网络用于对待处理图像进行处理,得到分辨率递减的输入子特征图。然后,将分辨率不同的输入子特征图输入至目标网络的不同支路中,由目标网络中的支路实现多尺度特征融合,得到多个输出子特征图。最后,由多个检测头分别对得到的多个输出子特征图进行处理,分别得到对应的子目标检测结果。不同的检测头检测得到的子目标检测结果之间执行互处理,例如执行去重处理(即将检测到的重复的目标去掉),得到最终的目标检测结果。
可以理解的是,在目标检测网络的训练过程中,通常需要求取输入的梯度(即输出相对于输入的梯度),并在采用反向传播算法时根据求得的梯度对目标检测网络进行优化,最终得到训练好的目标检测网络。
在一个可能的实施例中,所述输入特征图的梯度可以是由所述目标网络的权重与所述输入特征图之间的差值确定。示例性地,所述输入特征图的梯度可以是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。简单来说,对于目标网络中的任意一个特征提取核,该特征提取核的输入的梯度可以是通过对该特征提取核的权重与该特征提取核的输入之间的差值执行去符号操作得到的。
具体地,对于作为加法神经网络的目标网络而言,目标网络中的特征提取核的输出Y由该特征提取核的输入X与该特征提取核的权重F计算得到。示例性地,求取目标网络中的特征提取核的输出Y的过程如公式1所示。
其中,|(·)|表示取绝对值运算,∑(·)表示求和运算,Y(m,n,t)为特征提取核输出的特征图,Y(m,n,t)为特征提取核输出的特征图中第m行、第n列及第t页的元素,X(m+i,n+j,k)为特征提取核的输入特征图中的第i行、第j列及第k页的元素,F(i,j,k,t)为特征提取核中的第i行、第j列及第k页的元素,t为特征提取核的通道数,d为特征提取核的行数,Cin为输入特征图的通道数,d、Cin、i、j、k、m、n、t均为整数。
具体地,特征提取核的输入的梯度则可以是基于公式2来求得。
其中,为特征提取核的输入的梯度,sign(.)表示取符号操作,F为特征提取核的权重,X为特征提取核的输入。对于sign(.)所表示的取符号操作,当F-X的值为负时,取符号操作后得到的值为-1;当F-X的值不为负时,取符号操作后得到的值为1。
由于加法神经网络中通常存在多分支和多个损失函数,比如包含了检测框位置的回归预测损失函数和分类损失函数,采用传统的梯度计算方式所求得的梯度进行网络优化时,会存在较大的累积误差。而通过本申请实施例所提供的梯度计算方式则可以得到更准确的梯度,从而有利于提高最终的目标检测精度。
示例性地,传统的梯度计算方式通常采用HardTanh函数来求取梯度,具体如公式3所示。
假设有一个两层的加法神经网络,输入为X,经过一次加法滤波后得到X1。X1分别经过两个加法滤波得到Y1和Y2。其中,X1、Y1和Y2具体如公式4所示。
X1=-||X-F1||,
Y1=-||X1-F2||,
Y2=-||X1-F3||,公式4
假设对于输出Y1和Y2计算得到损失分别为L1和L2,则总的损失为L=L1+L2,则L对于F1的梯度具体如公式5所示。
如果采用传统的梯度计算方式来计算梯度,则F1的梯度具体如公式6所示。
然而,结合公式5可知,F1的实际梯度应该如公式7所示。
在这种情况下,采用传统的梯度计算方式所得到的梯度和实际梯度之间存在较大的误差,容易影响最终的目标检测精度。
为了验证本申请实施例所提供的图像处理方法的有益效果,本申请实施例中在标准的COCO数据集上对该图像处理方法进行了验证。
可以参阅图13,图13为本申请实施例提供的一种网络的检测结果的对比示意图。如图13所示,本实施例提出的针对加法神经网络的梯度计算方式(L1 Gradients)能够带来0.4平均准确率(mean average precision,mAP)的提升。其中,mAP是目标检测领域中的一个精度衡量指标。
可以参阅图14,图14为本申请实施例提供的一种网络的检测结果的另一对比示意图。如图14所示,本实施例所提出的目标网络(R-PAFPN)跟传统的特征融合网络(FPN和PAFPN)结构相比,能够带来1.6-1.7mAP的提升。
可以参阅图15,图15为本申请实施例提供的一种网络的理论功耗对比示意图。如图15所示,本实施例所提出的包括上述目标网络的目标检测网络(AdderDet)能够在COCO数据集上取得37.8mAP,跟标准的乘法卷积神经网络结构(FCOS)相比仅有1.2mAP的差距,但是乘法计算量有较大的下降,因此能够大幅度降低理论功耗。
可以参阅图16,图16为本申请实施例提供的一种在图像上执行目标检测的示意图。如图16所示,本实施例提出的图像处理方法能够获得较好的检测结果。
可以参阅图17,图17为本申请实施例提供的一种图像处理装置的结构示意图。如图17所示,本申请实施例提供的一种图像处理装置,包括:获取单元1701和处理单元1702;所述获取单元1701用于获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率;所述处理单元1702用于通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,其中所述目标网络为加法神经网络,所述目标网络包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图;所述处理单元1702还用于根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
可选的,在一个可能的实施方式中,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,包括:所述第二支路用于将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。
可选的,在一个可能的实施方式中,所述第二支路对所述第二子特征图执行特征提取处理,包括:所述第二支路通过卷积层和激活函数对所述第二子特征图进行处理,得到第三子特征图;所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。
可选的,在一个可能的实施方式中,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征;所述第一支路对所述第一输入子特征图执行特征提取处理,包括:所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
可选的,在一个可能的实施方式中,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
可选的,在一个可能的实施方式中,所述输入特征图的梯度由所述目标网络的权重与所述输入特征图之间的差值确定。
可选的,在一个可能的实施方式中,所述输入特征图的梯度是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。
接下来介绍本申请实施例提供的一种执行设备,请参阅图18,图18为本申请实施例提供的执行设备的一种结构示意图,执行设备1800具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,执行设备1800上可以部署有图18对应实施例中所描述的数据处理装置,用于实现图18对应实施例中数据处理的功能。具体的,执行设备1800包括:接收器1801、发射器1802、处理器1803和存储器1804(其中执行设备1800中的处理器1803的数量可以一个或多个,图18中以一个处理器为例),其中,处理器1803可以包括应用处理器18031和通信处理器18032。在本申请的一些实施例中,接收器1801、发射器1802、处理器1803和存储器1804可通过总线或其它方式连接。
存储器1804可以包括只读存储器和随机存取存储器,并向处理器1803提供指令和数据。存储器1804的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1804存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1803控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1803中,或者由处理器1803实现。处理器1803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1803可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1803可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1804,处理器1803读取存储器1804中的信息,结合其硬件完成上述方法的步骤。
接收器1801可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1802可用于通过第一接口输出数字或字符信息;发射器1802还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1802还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器1803,用于执行图7对应实施例中的执行设备执行的图像处理方法。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的图像处理方法,或者,以使训练设备内的芯片执行上述实施例描述的图像处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图19,图19为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 1900,NPU 1900作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1903,通过控制器1904控制运算电路1903提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1903内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1903是二维脉动阵列。运算电路1903还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1903是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1902中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1901中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1908中。
统一存储器1906用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1905,DMAC被搬运到权重存储器1902中。输入数据也通过DMAC被搬运到统一存储器1906中。
BIU为Bus Interface Unit即,总线接口单元1913,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1909的交互。
总线接口单元1913(Bus Interface Unit,简称BIU),用于取指存储器1909从外部存储器获取指令,还用于存储单元访问控制器1905从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1906或将权重数据搬运到权重存储器1902中或将输入数据数据搬运到输入存储器1901中。
向量计算单元1907包括多个运算处理单元,在需要的情况下,对运算电路1903的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1907能将经处理的输出的向量存储到统一存储器1906。例如,向量计算单元1907可以将线性函数;或,非线性函数应用到运算电路1903的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1907生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1903的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1904连接的取指存储器(instruction fetch buffer)1909,用于存储控制器1904使用的指令;
统一存储器1906,输入存储器1901,权重存储器1902以及取指存储器1909均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (17)
1.一种图像处理方法,其特征在于,包括:
获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率;
通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,其中所述目标网络为加法神经网络,所述目标网络包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图;
根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
2.根据权利要求1所述的方法,其特征在于,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,包括:
所述第二支路用于将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。
3.根据权利要求2所述的方法,其特征在于,所述第二支路对所述第二子特征图执行特征提取处理,包括:
所述第二支路通过卷积层和激活函数对所述第二子特征图进行处理,得到第三子特征图;
所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。
4.根据权利要求2或3所述的方法,其特征在于,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征;
所述第一支路对所述第一输入子特征图执行特征提取处理,包括:
所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;
所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;
所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
5.根据权利要求4所述的方法,其特征在于,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:
所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;
所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述输入特征图的梯度由所述目标网络的权重与所述输入特征图之间的差值确定。
7.根据权利要求6所述的方法,其特征在于,所述输入特征图的梯度是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。
8.一种图像处理装置,其特征在于,包括:获取单元和处理单元;
所述获取单元用于获取待处理图像的输入特征图,所述输入特征图包括第一输入子特征图和第二输入子特征图,所述第一输入子特征图的分辨率高于所述第二输入子特征图的分辨率;
所述处理单元用于通过目标网络对所述输入特征图进行特征融合处理,得到输出特征图,其中所述目标网络为加法神经网络,所述目标网络包括第一支路和第二支路,所述第一支路用于对所述第一输入子特征图执行特征提取处理,得到第一子特征图和第一输出子特征图,所述第一子特征图为所述第一支路得到的中间特征,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,所述输出特征图包括所述第一输出子特征图和所述第二输出子特征图;
所述处理单元还用于根据所述输出特征图对所述待处理图像进行目标检测,得到目标检测结果。
9.根据权利要求8所述的装置,其特征在于,所述第二支路用于对所述第二输入子特征图和所述第一子特征图执行特征提取处理,得到第二输出子特征图,包括:
所述第二支路用于将所述第二输入子特征图和执行下采样处理后的所述第一子特征图相加,得到第二子特征图,并对所述第二子特征图执行特征提取处理,得到所述第二输出子特征图。
10.根据权利要求9所述的装置,其特征在于,所述第二支路对所述第二子特征图执行特征提取处理,包括:
所述第二支路通过卷积层和激活函数对所述第二子特征图进行处理,得到第三子特征图;
所述第二支路将所述第二子特征图和所述第三子特征图相加,得到所述第二输出子特征图。
11.根据权利要求8或9所述的装置,其特征在于,所述第二支路还用于对所述第二子特征图执行特征提取处理,得到第四子特征图,所述第四子特征图为所述第二支路得到的中间特征;
所述第一支路对所述第一输入子特征图执行特征提取处理,包括:
所述第一支路对所述第一子特征图执行特征提取处理,得到所述第一子特征图;
所述第一支路将所述第一子特征图和执行上采样处理后的所述第四子特征图相加,得到第五子特征图;
所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图。
12.根据权利要求11所述的装置,其特征在于,所述第一支路对所述第五特征图执行特征提取处理,得到所述第一输出子特征图,包括:
所述第一支路通过卷积层和激活函数对所述第五子特征图进行处理,得到第六子特征图;
所述第一支路将所述第五子特征图和所述第六子特征图相加,得到所述第一输出子特征图。
13.根据权利要求8-12任意一项所述的装置,其特征在于,所述输入特征图的梯度由所述目标网络的权重与所述输入特征图之间的差值确定。
14.根据权利要求13所述的装置,其特征在于,所述输入特征图的梯度是通过对所述目标网络的权重与所述输入特征图之间的差值执行取符号操作得到的。
15.一种图像处理装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述图像处理装置执行如权利要求1至7任意一项所述的方法。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至7任意一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至7任意一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221928.2A CN113065575A (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法及相关装置 |
PCT/CN2022/077926 WO2022179606A1 (zh) | 2021-02-27 | 2022-02-25 | 一种图像处理方法及相关装置 |
EP22758970.2A EP4293628A4 (en) | 2021-02-27 | 2022-02-25 | IMAGE PROCESSING METHOD AND ASSOCIATED DEVICE |
US18/455,918 US20230401838A1 (en) | 2021-02-27 | 2023-08-25 | Image processing method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221928.2A CN113065575A (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065575A true CN113065575A (zh) | 2021-07-02 |
Family
ID=76559193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110221928.2A Pending CN113065575A (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230401838A1 (zh) |
EP (1) | EP4293628A4 (zh) |
CN (1) | CN113065575A (zh) |
WO (1) | WO2022179606A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179606A1 (zh) * | 2021-02-27 | 2022-09-01 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113910269B (zh) * | 2021-10-27 | 2022-12-20 | 因格(苏州)智能技术有限公司 | 一种机器人总控系统 |
CN117876661A (zh) * | 2023-12-22 | 2024-04-12 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种多尺度特征并行处理的目标检测方法及系统 |
CN117853738B (zh) * | 2024-03-06 | 2024-05-10 | 贵州健易测科技有限公司 | 一种用于对茶叶分级的图像处理方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033003A (zh) * | 2019-03-01 | 2019-07-19 | 华为技术有限公司 | 图像分割方法和图像处理装置 |
CN110163057A (zh) * | 2018-10-29 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、设备和计算机可读介质 |
CN110807379A (zh) * | 2019-10-21 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种语义识别方法、装置、以及计算机存储介质 |
CN110969632A (zh) * | 2019-11-28 | 2020-04-07 | 北京推想科技有限公司 | 一种深度学习模型的训练方法、图像处理方法及装置 |
CN111476306A (zh) * | 2020-04-10 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
CN111797881A (zh) * | 2019-07-30 | 2020-10-20 | 华为技术有限公司 | 图像分类方法及装置 |
CN111914997A (zh) * | 2020-06-30 | 2020-11-10 | 华为技术有限公司 | 训练神经网络的方法、图像处理方法及装置 |
CN112149713A (zh) * | 2020-08-21 | 2020-12-29 | 中移雄安信息通信科技有限公司 | 基于绝缘子图像检测模型检测绝缘子图像的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109191382B (zh) * | 2018-10-18 | 2023-12-05 | 京东方科技集团股份有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN109993726B (zh) * | 2019-02-21 | 2021-02-19 | 上海联影智能医疗科技有限公司 | 医学图像的检测方法、装置、设备和存储介质 |
CN110580680B (zh) * | 2019-09-09 | 2022-07-05 | 武汉工程大学 | 基于组合学习的人脸超分辨率方法及装置 |
CN113065575A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
-
2021
- 2021-02-27 CN CN202110221928.2A patent/CN113065575A/zh active Pending
-
2022
- 2022-02-25 WO PCT/CN2022/077926 patent/WO2022179606A1/zh active Application Filing
- 2022-02-25 EP EP22758970.2A patent/EP4293628A4/en active Pending
-
2023
- 2023-08-25 US US18/455,918 patent/US20230401838A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163057A (zh) * | 2018-10-29 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、设备和计算机可读介质 |
CN110033003A (zh) * | 2019-03-01 | 2019-07-19 | 华为技术有限公司 | 图像分割方法和图像处理装置 |
CN111797881A (zh) * | 2019-07-30 | 2020-10-20 | 华为技术有限公司 | 图像分类方法及装置 |
CN110807379A (zh) * | 2019-10-21 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种语义识别方法、装置、以及计算机存储介质 |
CN110969632A (zh) * | 2019-11-28 | 2020-04-07 | 北京推想科技有限公司 | 一种深度学习模型的训练方法、图像处理方法及装置 |
CN111476306A (zh) * | 2020-04-10 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
CN111914997A (zh) * | 2020-06-30 | 2020-11-10 | 华为技术有限公司 | 训练神经网络的方法、图像处理方法及装置 |
CN112149713A (zh) * | 2020-08-21 | 2020-12-29 | 中移雄安信息通信科技有限公司 | 基于绝缘子图像检测模型检测绝缘子图像的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179606A1 (zh) * | 2021-02-27 | 2022-09-01 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4293628A1 (en) | 2023-12-20 |
EP4293628A4 (en) | 2024-06-12 |
WO2022179606A1 (zh) | 2022-09-01 |
US20230401838A1 (en) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
CN112446398B (zh) | 图像分类方法以及装置 | |
CN112446270B (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN112446834B (zh) | 图像增强方法和装置 | |
CN110309856A (zh) | 图像分类方法、神经网络的训练方法及装置 | |
CN110222717B (zh) | 图像处理方法和装置 | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
CN111797881B (zh) | 图像分类方法及装置 | |
CN112215332B (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN111797882B (zh) | 图像分类方法及装置 | |
CN114255361A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111882031A (zh) | 一种神经网络蒸馏方法及装置 | |
CN113065575A (zh) | 一种图像处理方法及相关装置 | |
CN112287954A (zh) | 图像分类方法、图像分类模型的训练方法及其装置 | |
CN111695673B (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
CN111368972A (zh) | 一种卷积层量化方法及其装置 | |
CN111401517A (zh) | 一种感知网络结构搜索方法及其装置 | |
CN113011562A (zh) | 一种模型训练方法及装置 | |
CN113191489B (zh) | 二值神经网络模型的训练方法、图像处理方法和装置 | |
WO2022179599A1 (zh) | 一种感知网络及数据处理方法 | |
CN110705564A (zh) | 图像识别的方法和装置 | |
CN111833363B (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 |