CN113393368A - 基于神经网络模型的图像处理方法、介质和电子设备 - Google Patents
基于神经网络模型的图像处理方法、介质和电子设备 Download PDFInfo
- Publication number
- CN113393368A CN113393368A CN202110656696.3A CN202110656696A CN113393368A CN 113393368 A CN113393368 A CN 113393368A CN 202110656696 A CN202110656696 A CN 202110656696A CN 113393368 A CN113393368 A CN 113393368A
- Authority
- CN
- China
- Prior art keywords
- feature map
- layer
- convolution
- characteristic diagram
- channel
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及图像处理技术领域,公开了一种基于神经网络模型的图像处理方法、介质和电子设备,电子设备的第一中间层将第一映射关系调整为第二映射关系,其中,在第一映射关系中,第一处理单元与第一存储地址对应,第二处理单元与第二存储地址对应;在第二映射关系中,第一处理单元和第二存储地址对应,第二处理单元和第一存储地址对应,其中,第一处理单元能够获取第二特征图和第一特征图,并进行处理,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种基于神经网络模型的图像处理方法、介质和电子设备。
背景技术
神经网络模型的卷积等操作会用到滤波器,用于提取图像特征,每个滤波器可以认为是一个特征提取通道。
一般情况下,每个通道或者每个滤波器只能提取该滤波器对应的图像特征,无法提取其他滤波器对应的图像特征。例如,在神经网络模型中,滤波器1用于提取图像中的颜色特征,滤波器2用于提取图像中的纹理特征,滤波器3用于提取图像中的形状特征。由于神经网络模型预先设定好了每个滤波器与待特征提取的图像的存储位置的映射关系,滤波器1是无法提取图像中的纹理特征和形状特征,这就导致了在神经网络模型中,提取的图像特征信息量较少的问题。所以,为了使得同一个图像能够被不同的滤波器提取不同的图像特征,通常会进行通道重排。其中,通道重排是指将图像数据的存储位置重新排列,即将图像数据进行存储位置互换,以使得同一个图像既可以被滤波器1提取图像中的颜色,也可以被滤波器2提取图像中的纹理特征。
但是,电子设备在对图像数据进行通道重排的过程中,需要反复多次读写不同位置的图像数据的存储地址,以将图像数据进行存储位置互换,此操作会将花费大量时间,读写图像数据的效率较低,图像处理效率较低。
发明内容
本申请实施例提供了一种基于神经网络模型的图像处理方法、介质和电子设备。
第一方面,本申请实施例提供了一种基于神经网络模型的图像处理方法,所述神经网络模型包括第一中间层;
所述方法包括:
所述第一中间层获取第一特征图和第二特征图,其中,
所述电子设备的存储器的第一存储区域上存储有所述第一特征图,并且所述第一存储区域具有第一存储地址,所述存储器的第二存储区域上存储有所述第二特征图,并且所述第二存储区域具有第二存储地址,
所述第一存储地址和所述第二存储地址分别与所述第一中间层的第一处理单元和第二处理单元存在第一映射关系,其中在所述第一映射关系中,所述第一处理单元与所述第一存储地址对应,所述第二处理单元与所述第二存储地址对应;
所述第一中间层将所述第一映射关系调整为第二映射关系,其中在所述第二映射关系中,所述第一处理单元和第二存储地址对应,所述第二处理单元和第一存储地址对应,其中,所述第一处理单元能够获取所述第二存储地址对应的第二存储区域中的第二特征图进行处理,所述第二处理单元能够获取所述第一存储地址对应的第一存储区域中的第一特征图进行处理。
可以理解,第一特征图和第二特征图为最小单元,本申请实施例适用于包含至少一个特征图的特征图数据,包含至少一个特征图的特征图数据中的部分特征图和全部特征图均适用于本申请实施例提供的基于神经网络模型的图像处理方法。
可以理解,本申请实施例中,电子设备可以是具备图像处理功能的手机、平板、可穿戴设备、服务器等。综上,由于输入的特征图数据可能是时刻变化的,相比于对输入特征图的重排,本申请实施例中的神经网络模型仅是预先将卷积核组中的卷积核重排存储在神经网络模型中,卷积核的数量较为固定,数量较少,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
将卷积核组中的每个卷积核预先重排的操作和除此之外的其他图像处理是由两个设备执行的,例如将卷积核组中的每个卷积核预先重排的操作由服务器执行,然后发送给手机执行图像处理,也可以是本申请实施例中提供的图像处理方法均为手机、平板、可穿戴设备、服务器等执行的。
本申请实施例中的神经网络模型可以是预先将卷积核组中的卷积核重排存储在神经网络模型中,在对特征图进行卷积操作的情况下,不需要进行通道重排操作,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
在上述第一方面的一种可能的实现中,所述第一中间层为卷积层,所述第一处理单元和第二处理单元分别为第一卷积核和第二卷积核,所述卷积层能够利用所述第一卷积核和所述第二卷积核分别对所述第二特征图和第一特征图进行卷积处理。
在上述第一方面的一种可能的实现中,所述卷积处理包括:所述卷积层将所述第一卷积核与所述第二特征图相乘得到第一卷积结果,将所述第二卷积核与所述第一特征图相乘得到第二卷积结果,将所述第一卷积结果和所述第二卷积结果相加后再加上偏置,得到卷积结果。
在上述第一方面的一种可能的实现中,所述神经网络模型还包括第二中间层,其中所述第二中间层为卷积层;并且
所述第一中间层从所述第二中间层获取所述第一特征图和第二特征图。
在上述第一方面的一种可能的实现中,所述神经网络模型还包括通道重排层、通道分割层和第三中间层;
并且所述方法还包括:
所述通道重排层从所述第二中间层获取所述第一特征图和第二特征图,其中,所述电子设备的存储器的第一存储区域上存储有所述第一特征图,并且所述第一存储区域具有第一存储地址,所述存储器的第二存储区域上存储有所述第二特征图,并且所述第二存储区域具有第二存储地址;
所述通道重排成对所述第一特征图和第二特征图进行通道重排,并将通道重排后的第一特征图和第二特征图发送至所述通道分割层;
所述通道分割层将通道重排后的第一特征图和第二特征图发送至所述第三中间层。
可以理解,第一特征图和第二特征图为最小单元,本申请实施例适用于包含至少一个特征图的特征图数据,包含至少一个特征图的特征图数据中的部分特征图和全部特征图均适用于本申请实施例提供的基于神经网络模型的图像处理方法。
在上述第一方面的一种可能的实现中,所述通道重排层的通道重排包括:将所述第一存储区域上存储的所述第一特征图更改为存储所述第二特征图,将所述第二存储区域上存储的所述第二特征图更改为存储所述第一特征图。
可以理解,第一特征图和第二特征图为最小单元,本申请实施例适用于包含至少一个特征图的特征图数据,包含至少一个特征图的特征图数据中的部分特征图和全部特征图均适用于本申请实施例提供的基于神经网络模型的图像处理方法。
在上述第一方面的一种可能的实现中,所述神经网络模型还包括第四中间层,其中,所述第四中间层为卷积层;并且
所述方法包括:
第一中间层的处理结果发给所述第四中间层进行卷积处理。
在上述第一方面的一种可能的实现中,所述第三中间层为池化层。
在上述第一方面的一种可能的实现中,上述方法还包括:所述神经网络模型为shufflenetv2网络模型。
第二方面,本申请实施例提供了一种可读介质,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面任一项所述的基于神经网络模型的图像处理方法。
第三方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储由所述电子设备的一个或多个处理器执行的指令,以及
处理器,是所述电子设备的处理器之一,用于执行第一方面任一项所述的基于神经网络模型的图像处理方法。
附图说明
图1根据本申请的一些实施例,示出了一种神经网络模型的结构示意图;
图2根据本申请的一些实施例,示出了神经网络模型10中的中间层12的结构示意图;
图3根据本申请的一些实施例,示出了一种将特征图进行通道重排的操作示意图;
图4根据本申请的一些实施例,示出了当将特征图划分为2组后,进行通道重排时,对数据进行重排的操作示意图;
图5根据本申请的一些实施例,示出了一种存储器中物理地址和特征图之间对应关系的示意图;
图6根据本申请的一些实施例,示出了本申请实施例所提供的中间层12的结构示意图;
图7A和图7B根据本申请实施,示出了一种与计算公式(1)对应的卷积层的权重重排原理的原理示意图;
图8根据本申请的一些实施例,基于图7A所示的示意图示出了一种经过通道重排后的特征图的卷积操作示意图;
图9根据本申请的一些实施例,基于图7B的示意图,示出了一种未经过通道重排的特征图的卷积操作示意图;
图10和图11根据本申请实施例,示出了一种对于卷积层部分,其所需输入的特征图数据不需要再进行通道重排的操作的示意图;
图12根据本申请实施例,示出了一种现有技术中shufflenetv2网络模型的结构示意图;
图13根据本申请实施例,示出了一种实现本申请技术方案的shufflenetv2网络模型的结构示意图;
图14根据本申请一些实施例,示出了一种电子设备100的框图。
具体实施方式
下面通过附图和实施例,对本申请实施例的技术方案做进一步的详细描述。
本申请的说明性实施例包括但不限于基于神经网络模型的图像处理方法、介质和电子设备。
本申请的图像处理方法适用于各种图像处理场景,例如人脸识别和物品识别,人脸识别主要运用在安全检查、身份核验与移动支付中;物品识别包括植物识别、动物识别、汽车识别、食物识别、商品识别等,其中商品主要运用在商品流通过程中,特别是无人货架、智能零售柜等无人零售领域等。
下面对本申请实施例中所涉及的术语进行解释,以方便理解。
(1)特征图,神经网络模型将待处理图像进行特征提取后输出的图像。
(2)通道,待处理图像经过特征提取后的特征图分支。
(3)通道数,待处理图像经过特征提取后的通道数取决于过滤器的数量,过滤器即多个卷积核组成的卷积核组,即一个过滤器得到一个通道,所以特征图个数=输出通道数=过滤器个数。例如,用4个过滤器(卷积核)对RGB图像进行特征提取,得到4个特征图的输出,输出通道数为4。又如,用3个过滤器(卷积核)对灰色图像进行特征提取,生成3个特征图,输出通道数为3。
(4)通道重排也称通道混洗,是将图像数据的存储位置重新排列,将图像数据进行存储位置互换的操作。
例如,假设电子设备的图形处理器(Graphics processing unit,GPU)在存储器的存储地址1中存储图像数据11、存储地址2中存储图像数据12。其中,图像数据11用于滤波器1的颜色特征提取操作。图像数据12用于滤波器2的纹理特征提取操作。
在电子设备没有对图像数据11和图像数据12进行通道重排之前,滤波器1可以提取图像数据11中的颜色特征,但是不能提取图像数据12中的纹理特征,滤波器2可以提取图像数据12中的纹理特征,但是不能提取图像数据11中的颜色特征。
在电子设备对图像数据11和图像数据12进行通道重排之后,即电子设备读取图像数据11和图像数据12的存储地址信息,将图像数据11与图像数据12互换存储位置后写入相应的位置后。图像数据11中的纹理特征便还可以被滤波器2提取,图像数据12中颜色特征可以被滤波器1提取。
(5)滤波器也可以叫做卷积核组,包括至少一个用于特征提取的卷积核。
(6)通道排列顺序,即特征图对应的特征图数据在存储器中按照预先设定的存储地址(物理地址)依次存储的顺序。
(7)通道方向,即特征图对应的特征图数据在存储器中按照预先设定的存储地址(物理地址)依次存储的方向。
下面详细介绍一种神经网络模型中的通道重排技术。
图1根据本申请的一些实施例,示出了一种神经网络模型的结构示意图,该神经网络模型具有图像识别功能,例如识别花的种类。如图1所示,该神经网络模型10包括输入层11、中间层12和输出层13,其中,该输入层11用于获取待识别图像,中间层12用于提取输入层11输出的待识别图像中的特征图,其中,特征图可以表示待识别图像中目标对象的轮廓、颜色等信息。输出层13用于根据中间层12输出的特征图中目标对象的轮廓、颜色等信息得到待识别图像的识别结果,例如,识别出花的种类为樱花。
图2根据本申请的一些实施例,示出了上述神经网络模型10中的中间层12的结构示意图,如图2所示,在该中间层12的结构中,包括卷积层(Conv)120、通道重排层121、通道分割层122、卷积层123、卷积层125、以及神经网络中的多个操作层124。
其中,卷积层120用于对从输入层11接收到的图像数据进行卷积操作,得到特征图数据1,特征图数据1包括多个特征图。
通道重排层121用于将从卷积层120接收到的特征图数据1中的多个特征图的存储区域进行重新排序,得到通道重排后的特征图数据1。
通道分割层122(Channel Split)用于将通道重排(Channel Shuffle)后的通道重排后的特征图数据1按照将要执行的操作类型(例如卷积操作、池化操作)进行重新分组,按通道排列顺序划分为n组(份)特征图数据,每组包括至少两个特征图,其中,n为自然数,且n≧2。
以n为2为例,一组特征图数据为用于后续卷积层123执行卷积操作的特征图数据11,另一组特征图数据为用于后续操作层124执行除卷积操作之外的其他操作的通道重排后的特征图数据12。通道分割层122将通道重排后的特征图数据11发送给卷积层123,将通道重排后的特征图数据12发给操作层124。
例如,表1中示出了一种未经通道重排的特征图数据11,以及与特征图数据11对应的卷积核组的映射关系的示意图。
表1:
如表1所示,假设未经通道重排的特征图数据11有如下存储顺序:第一特征图位于地址1的存储区域1中,第二特征图位于地址2的存储区域2中,第三特征图位于地址3的存储区域1中,第四特征图位于地址4的存储区域4中。
表2中示出了一种表1中的特征图数据11经通道重排的特征图数据11,以及与通道重排的特征图数据11对应的卷积核组的映射关系的示意图。
表2:
如表2所示,假设经通道重排的特征图数据1中第二特征图和第四特征图所在存储区域的存储地址做了变化:第二特征图位于地址4的存储区域4中,第四特征图位于地址2的存储区域2中。且第二卷积核与地址2的存储区域2对应。第四卷积核与地址4的存储区域4对应。如此,第一卷积核便可以获取地址1对应的存储区域1中的第一特征图并与之卷积处理,第二卷积核便可以获取地址2对应的存储区域2中的第四特征图并与之卷积处理,第三卷积核便可以获取地址3对应的存储区域3中的第三特征图并与之卷积处理,第四卷积核便可以获取地址4对应的存储区域4中的第二特征图并与之卷积处理。
卷积层123用于对从通道分割层122输出的第m组(份)特征图进行卷积操作,其中,m≦n。以m为1为例,卷积层123用于对通道重排后的特征图数据11进行卷积操作得到特征图数据2。且特征图数据11中的每个特征图的存储区域的存储地址和卷积核组1中的每个卷积核的存储区域的存储地址存在一一对应的第一映射关系;卷积层123用于将特征图数据11中的每个特征图与卷积核组1中的每个第一卷积核1按照第一映射关系进行加权处理得到特征图数据2。
下面以表1为例说明卷积层123特征图数据11中的每个特征图与卷积核组1中的每个第一卷积核1按照第一映射关系进行加权处理得到特征图数据2:进而得到特征图数据2:第一特征图×第一卷积核+第四特征图×第二卷积核+第三特征图×第三卷积核+第二特征图×第四卷积核。
操作层124可以为任意除卷积层之外的操作层,例如池化层等。操作层124用于对特征图数据12执行除卷积操作之外的其他操作的。
在图2中的通道重排层121的通道重排操作涉及如下技术问题:在某些将特征图存储为在通道方向连续的情况下,电子设备100读写特征图将花费大量时间,读写特征图的效率较低,图像处理效率较低。
例如,图3根据本申请的一些实施例,示出了一种将特征图进行通道重排的操作示意图。如图3所示,假设通道重排层121接收的特征图分为3组:组A、组B、组C,每组中的各特征图按通道排列顺序均匀分布在所在组中,例如,组A包括特征图A1、特征图A2和特征图A3,其中,特征图A1、特征图A2和特征图A3按照存储地址依次存储在存储器中。组B包括特征图B1、特征图B2和特征图B3,其中,特征图B1、特征图B2和特征图B3按照存储地址依次存储在存储器中。组C包括特征图C1、特征图C2和特征图C3,其中,特征图C1、特征图C2和特征图C3按照存储地址依次存储在存储器中。即初始图像数据的存储顺序为:特征图A1、特征图A2、特征图A3、特征图B1、特征图B2、特征图B3、特征图C1、特征图C2和特征图C3。
为了使一个特征图被其他通道的过滤器提取更多的图像特征信息,通道重排层121将组A、组B、组C中每组的多个特征图中的特征图的存储地址重新交叉排序。例如,通道重排层121读取每个特征图所在存储区的存储地址,将待通道重排的一个特征图存储到(写入)另一个待重排的特征图的存储地址对应的存储区域,将另一个待通道重排的特征图写入到该待重排的特征图的存储地址对应的存储区域。例如,通道重排层121读取A组的特征图A1所在的存储区域的存储地址1,以及B组中的特征图B1所在的存储区域的存储地址,将A组的特征图A1与B组中的特征图B1存储在相邻存储地址对应的存储区域中,重复多次读写操作,即通道重排层121多次读取特征图所在的存储区域的存储地址并多次在相应的存储区域写入特征图,初始图像数据被通道重排后的存储顺序为:特征图A1、特征图B1、特征图C1、特征图A2、特征图B2、、特征图C2、特征图A3、特征图B3和特征图C3。
通道分割层122可以将重新排序后的特征图按通道分为3组(份):组A’、组B’、组C’,然后分别输入下一层。
从上面的描述中可以看出,在当前的常规计算过程中,对于通道重排层121的通道重排操作,电子设备100需要对3组中的每个特征图进行多次读写操作来达到重新排列的目的,该读写操作所需花费的时间更是大大增加。电子设备100读写特征图将花费大量时间,读写特征图的效率较低,图像处理效率较低。
又如,图4显示了当将特征图划分为2组后,进行通道重排时,对数据进行重排的操作示意图,如图4所示,该存储器中包括大小为H*W*C的特征图,其中H为特征图高度,W为特征图宽度,C为该层特征图通道数,X/Y表示相邻存储地址的特征图,当特征图数据以H*W存储时,图5根据本申请的一些实施例,示出了一种存储器中物理地址和特征图之间对应关系的示意图,如图5所示,电子设备100在进行通道重排操作也至少需要进行C次单独的读取C个通道的特征图所在存储区域的存储地址,然后写入相应的特征图。电子设备100读写特征图将花费大量时间,读写特征图的效率较低,图像处理效率较低。
为了上述技术问题,本申请实施例设计如下解决方案:若多个特征图需要进行通道重排操作后再进行卷积操作,本申请将省去将要进行卷积操作的特征图的通道重排操作,即将需要进行卷积操作的特征图对应的卷积核组中的每个卷积核预先重排存储在神经网络模型中,在特征图需要进行卷积操作的情况下,将每个重排后的卷积核组与特征图进行卷积操作,使得仅进行该卷积操作的特征图,与对特征图进行通道重排后再进行卷积操作的效果相同。例如,图6根据本申请的一些实施例,示出了本申请实施例所提供的中间层12的结构示意图,可以理解,本申请技术方案可以用于卷积层或者神经网络模型中类似卷积层的数据处理层。
可以理解,本申请实施例中,电子设备可以是具备图像处理功能的手机、平板、可穿戴设备、服务器等。
由于输入的特征图数据可能是时刻变化的,相比于对输入特征图的重排,本申请实施例中的神经网络模型仅是预先将卷积核组中的卷积核重排存储在神经网络模型中,卷积核的数量较为固定,数量较少,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
此外,可以理解的是,将卷积核组中的每个卷积核预先重排的操作和除此之外的其他图像处理是由两个设备执行的,例如将卷积核组中的每个卷积核预先重排的操作由服务器执行,然后发送给手机执行图像处理,也可以是本申请实施例中提供的图像处理方法均为手机、平板、可穿戴设备、服务器等执行的。因此,本申请实施例中的神经网络模型是预先将卷积核组中的卷积核重排存储在神经网络模型中,在对特征图进行卷积操作的情况下,不需要进行通道重排操作,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
如图6所示,与图2一样,在该中间层12的结构中,包括卷积层(Conv)120、卷积层123’、卷积层125、通道重排层121、通道分割层122以及神经网络中的多个操作层124。与图2中的技术方案相比,卷积层123’的卷积功能与图2中的卷积层123的卷积功能不同。具体地,卷积层120得到特征图数据1后,将特征图数据1分成两个部分:特征图数据11和特征图数据12,然后输入到两个操作分支:分支1和分支2。
在分支1中,特征图数据11不再通过通道重排层进行通道重排,而是直接在卷积层123’上进行卷积操作,得到与图2中经过通道重排再经过卷积的特征图数据2。具体地,由于,卷积层123’中的特征图数据11中的每个特征图所在的存储区域对应的存储地址与图2中特征图数据11的存储顺序不一样,是未经通道重排的,于是,将卷积层123’中的卷积核组1中的每个卷积核1的所在存储区域的存储地址按照第一映射关系做存储地址变化,卷积层123’便可以用未经通道重排后的特征图数据11中的每个特征图按照第二映射关系进行加权处理得到特征图数据2。
例如,表3中示出了一种未经通道重排的特征图数据11,以及与特征图数据11对应的卷积核组的映射关系的示意图。
表3中加粗的部分为与表2中加粗部分相比,做了存储区域变化的部分。第二特征图和第四特征图的所在存储区域的存储地址做了变化,第二特征图由位于地址4的存储区域4变为位于地址2的存储区域2,第四特征图由位于地址2的存储区域2变为位于地址4的存储区域4中。
卷积层123’将第一映射关系调整为第二映射关系,其中,在第二映射关系中,与表2相比,第二卷积核与地址4的存储区域4对应。第四卷积核与地址2的存储区域2对应。如此,第一卷积核便可以获取地址1对应的存储区域1中的第一特征图并与之卷积处理,第二卷积核便可以获取地址2对应的存储区域2中的第四特征图并与之卷积处理,第三卷积核便可以获取地址3对应的存储区域3中的第三特征图并与之卷积处理,第四卷积核便可以获取地址4对应的存储区域4中的第二特征图并与之卷积处理。
下面以表3为例,说明用未经通道重排后的特征图数据11中的每个特征图按照第二映射关系进行加权处理得到特征图数据2:第一特征图×第一卷积核+第四特征图×第二卷积核+第三特征图×第三卷积核+第二特征图×第四卷积核。
另一个分支与图2所示的一样,将另一部分特征图数据12在通道重排层121重排后得到特征图数据12,发送给通道分割层,通道分割层122将从通道重排层121接收到的通道重排的特征图数据2发送给操作层124。
如此,省去了分支1中进行通道重排的特征图数量。
综上,由于输入的特征图数据可能是时刻变化的,相比于对输入特征图的重排,本申请实施例中的神经网络模型仅是预先将卷积核组中的卷积核重排存储在神经网络模型中,卷积核的数量较为固定,数量较少,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
而且,本申请实施例中的神经网络模型是预先将卷积核组中的卷积核重排存储在神经网络模型中,在对特征图进行卷积操作的情况下,不需要进行通道重排操作,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
本申请实施例根据卷积层的卷积原理提供了一种可以解决上述技术问题的技术方案,下面先介绍卷积层123的卷积操作原理。
由于卷积层的权重重排具有如下原理:对于一般卷积层,假设输入为n个特征图,输出为m个特征图,则存在m个卷积核(kernel)组,卷积核(kernel)组也可以称为过滤器,每个卷积核组包含n个卷积核,第j个输出特征图的计算公式为:
从上述计算公式(1)可以看出,当改变输入特征图顺序时,将对应的卷积核组中的卷积核的排列顺序做出相应的改变,不会影响输出结果。下面将举例说明计算公式(1)的原理。
图7A和图7B根据本申请实施,示出了一种与计算公式(1)对应的卷积层的权重重排原理的原理示意图,下面以m为6,n为6进行举例说明卷积层的权重重排原理。
如图7A所示,该示意图中包含两个特征图组,其中,特征图组A包括特征图A1、特征图A2、特征图A3,特征图组B包括特征图A1、特征图A2、特征图A3。该示意图中还包含6个卷积核组:卷积核组0、卷积核组1、卷积核组2、卷积核组3、卷积核组4、卷积核组5。
如图7A所示,输入的特征图是经过通道重排后的特征图,例如按照特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3的存储顺序排列(下文简称顺序排列),卷积核组按照卷积核组0、卷积核组1、卷积核组2、卷积核组3、卷积核组4、卷积核组5的顺序排列,特征图排列顺序对应的偏置顺序为b0、b1、b2、b3、b4、b5,输出的特征图是按照特征图C1、特征图C2、特征图C3、特征图D1、特征图D2、特征图D3的顺序排列。
再如图7B所示,输入的特征图为未经通道重排的特征图,例如按照特征图A1、特征图A2、特征图A3、特征图A4、特征图A5、特征图A6的顺序排列。
为了得到与图7A相同的输出结果,偏置顺序不变,仍为b0、b1、b2、b3、b4、b5,只需要更改每个卷积核组内的卷积核的排列顺序,重新排列的卷积核组为卷积核组0’、卷积核组1’、卷积核组2’、卷积核组3’、卷积核组4’、卷积核组5’,输出的特征图仍是按照特征图C1、特征图C2、特征图C3、特征图D1、特征图D2、特征图D3的顺序排列。
综上,图7A和图7B的计算结果是等价的,得到的结果也相同。通过这样的设计,对进入卷积的输入部分省去通道重排层操作,使用卷积的权重重排来(卷积核的通道重排)实现通道重排层后的效果,相比通道重排层操作,权重重排的计算消耗可以忽略不记,而且在前向计算中,通常每个训练好的网络权重是固定的,可以在计算之前提前离线完成,省去了重新排列卷积核操作的过程,节省了通道重排时间,提高了图像处理效率。
下面再以具体的计算为例说明如何仅仅重新排列卷积核的顺序就可以得到对特征图进行通道重排后再进行卷积操作的相同的效果,图8根据本申请的一些实施例,基于图7A所示的示意图示出了一种经过通道重排后的特征图的卷积操作示意图。
如图8所示,该示意图包括6个通道,6个通道对应6个卷积核组:卷积核组0、卷积核组1、卷积核组2、卷积核组3、卷积核组4、卷积核组5。6个卷积核组按照卷积核组0、卷积核组1、卷积核组2、卷积核组3、卷积核组4、卷积核组5的顺序排列。与卷积核组顺序对应的偏置顺序为b0、b1、b2、b3、b4、b5。
6个通道中的6个卷积核组用于对重排后的特征图进行特征提取。
假设输入的特征图是未经过通道重排后的特征图,为按照特征图A1、特征图A2、特征图A3、特征图A4、特征图A5、特征图A6的顺序排列,则如图8所示,输入的重排后的特征图可以按照特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3的顺序排列,每个特征图的大小可以为4×4。
输入的重排后的特征图经过6个通道的卷积核组特征提取后输出的特征图是按照特征图C1、特征图C2、特征图C3、特征图D1、特征图D2、特征图D3的顺序排列。
具体地,在卷积核组对输入的通道重排后的特征图进行卷积操作的过程中,卷积层利用每个卷积核组中的每个卷积核在输入的特征图上以设定步长滑动,并利用每个卷积核组中每个卷积核上的数值与输入的特征图上的数值计算得到卷积操作后的特征图。
以卷积层生成特征图C1的过程为例进行说明,卷积层利用卷积核组0中的卷积核01、卷积核02、卷积核03、卷积核04、卷积核05、卷积核06分别在特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上以步长为2滑动,并利用卷积核组0中的卷积核01、卷积核02、卷积核03、卷积核04、卷积核05、卷积核06上的数值分别与特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上的数值计算得到特征图C1,即特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上的数值分别与卷积核组0中的卷积核01、卷积核02、卷积核03、卷积核04、卷积核05、卷积核06上的数值相乘后,相加,再加上偏置,得到特征图C1。例如,特征图C1中的第一个格子上的数值175可以通过以下计算得到:(1*1+2*1+5*1+6*1)+(8*2+7*2+4*2+3*2)+(1*1+2*1+5*1+6*1)+(8*2+7*2+4*2+3*2)+(1*1+2*1+5*1+6*1)+(8*2+7*2+4*2+3*2)+1=175。特征图C1中的其他格子里的数值的计算方式与上面相同,在此不再赘述。
为了在不对输入的特征图进行通道重排的情况下,达到与图8相同的输出结果,可以更改每个卷积核组内的卷积核的排列顺序,得到与图8相同的输出结果。例如,图9根据本申请的一些实施例,基于图7B的示意图,示出了一种未经过通道重排的特征图的卷积操作示意图。
如图9所示,输入的特征图包括特征图A1、特征图A2、特征图A3、特征图A4、特征图A5和特征图A6,输入的特征图与图8中输入的特征图相同,只是未经过通道重排,与图8中经过通道重排的排列顺序不同,图8中是仍是按照特征图C1、特征图C2、特征图C3、特征图D1、特征图D2、特征图D3的顺序排列,每个特征图的大小为4×4。
卷积核组的数量为6,卷积核组按照卷积核组0’、卷积核组1’、卷积核组2’、卷积核组3’、卷积核组4’、卷积核组5’的顺序排列。每个卷积核大小为2×2。与卷积核组顺序对应的偏置顺序不变,仍为b0、b1、b2、b3、b4、b5。
为了在不对输入的特征图进行通道重排的情况下,得到与图8相同的输出结果,以电子设备生成特征图C1的过程为例进行说明。
由于将图8特征图组间交叉排列的特征图(特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3)还原为图9中的按组顺序排列的特征图(特征图A1、特征图A2、特征图A3、特征图A4、特征图A5、特征图A6),电子设备需要重新排列卷积核组0中卷积核的排列顺序,即卷积核组中卷积核的排列顺序与特征图排列顺序做同步变动,例如,图8中的第二个特征图B1在图8中为第四个特征图,那么,在图9中,特征图B1对应的第二个卷积核02将重新排列到卷积核组的第四个位置,依此类推,卷积核组0重排后的卷积核组0’是按照卷积核01、卷积核03、卷积核05卷积核02、卷积核04、卷积核06的顺序排列的,如此,图9中的输出结果才能与图8的输出结果相同。
卷积层利用卷积核01、卷积核03、卷积核05卷积核02、卷积核04、卷积核06分别在特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上以步长为2滑动,并利用卷积核组0中的卷积核01、卷积核02、卷积核03、卷积核04、卷积核05、卷积核06上的数值分别与特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上的数值计算得到特征图C1,即特征图A1、特征图B1、特征图A2、特征图B2、特征图A3、特征图B3上的数值分别与卷积核组0中的卷积核01、卷积核03、卷积核05卷积核02、卷积核04、卷积核06上的数值相乘后,相加,再加上偏置,得到特征图C1。
例如,特征图C1中的第一个格子上的数值175可以通过以下计算得到:(1*1+2*1+5*1+6*1)+(1*1+2*1+5*1+6*1)+(1*1+2*1+5*1+6*1)+(8*2+7*2+4*2+3*2)+(8*2+7*2+4*2+3*2)+(8*2+7*2+4*2+3*2)+1=175。特征图C1中的其他格子里的数值的计算方式与上面相同,在此不再赘述。
如此,在本申请实施例中,若多个特征图需要进行通道重排操作后进行卷积操作,本申请将省去将要进行卷积操作的特征图的通道重排操作,将需要进行卷积操作的特征图对应的卷积核组中的每个卷积核重排,将重排后的每个卷积核组与特征图进行卷积操作,使得仅进行该卷积操作的特征图,与对特征图组进行通道重排后再进行卷积操作的效果相同。
综上,由于输入的特征图数据可能是时刻变化的,相比于对输入特征图的重排,本申请实施例中的神经网络模型仅是预先将卷积核组中的卷积核重排存储在神经网络模型中,卷积核的数量较为固定,数量较少,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
而且,本申请实施例中的神经网络模型是预先将卷积核组中的卷积核重排存储在神经网络模型中,在对特征图进行卷积操作的情况下,不需要进行通道重排操作,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作量,提高了电子设备读写特征图的效率,进而提高了电子设备的图像处理效率。
例如,在图像识别的应用场景中,用于图像识别的神经网络模型中的卷积核是固定的,但是摄像头获取的数据是随时可能在变化的,如果用于图像识别的神经网络模型里包含通道重排层,那么对于每次输入的数据进行处理的时候就需要通道重排操作,而卷积核进行通道重排之后,卷积核的排列顺序固定,每次摄像头获取的数据对应的卷积操作就不需要通道重排了,如此,减少了电子设备在对特征图进行卷积操作后再进行特征图通道方向的读写操作,提高了电子设备读写特征图的效率,进而提高了电子设备的图像识别效率。
又如,本申请实施例提出的新的计算方法来减少甚至消除通道重排层所需进行的读写操作。具体地,对于存在包含通道重排结构的模型,本申请实施例提出的优化计算方法可以将原本的计算转化为如下形式:
在通道重排层原来所需的分组n上,每个分组再分为n个小组,对于卷积层部分,其所需输入的特征图数据不需要再进行通道重排的操作。
图10和图11根据本申请实施例,示出了一种对于卷积层部分,其所需输入的特征图数据不需要再进行通道重排的操作的示意图,图10和图11所示为n为2和3的情况,当n>3时,同样适用当前的方法。由于仅读取和交错读写所需要的资源消耗完全不同,通过本申请的计算方法,如图10所示,当通道重排层分组数为2的时候,分为两路后,其中一路直接连续读取进入卷积操作,而另一路进行通道重排,即完全省去了一半的数据需要进行多一次的读取与不连续写入操作的工作量,一个卷积分支可以减少一半数据进行通道重排操作的工作量。同理,如图11,如果卷积分支为3,则一个卷积分支可以减少三分之一的数据进行通道重排操作的工作量,依次类推。另外,如果通道重排层之后每个分支均为卷积,则可以完全消除通道重排所需进行的操作。如此,电子设备100使用卷积的权重重排来消除通道重排层中进入卷积层的特征图数据进行重排的需求。同时其他部分特征图数据进行通道重排的操作,可以与卷积运算并行操作,提升了网络前向运行速度同时减少了特征图数据读写操作量。
本申请实施例重新设计了深度神经网络模型中含通道重排层的计算方式,使用这种方式计算能够显著减小含有该模块的网络前向运行的数据读写操作量并提升运行速度。本申请实施例提出了基于卷积权重重排优化通道重排层层计算的方法,这种优化计算方法包含上面的优化计算情形,在不增加计算量的同时降低了数据读写操作量与运算速度。下面以深度神经网络模型中的shufflenetv2网络作为实施示例说明本申请实施例中的图像处理方法。可以理解的是,除了shufflenetv2网络,本申请的技术方案还可以基于其他的神经网络实现,例如卷积神经网络(Convolutional Neural Network,CNN)、深度神经网络(Deep Neural Networks,DNN)以及循环神经网络(Recurrent Neural Networks,RNN)、二值神经网络(Binary Neural Network,BNN)等,在此不做限制。
图12根据本申请实施例,示出了一种现有技术中shufflenetv2网络模型的结构示意图,在shufflenetv2网络模型中,主要结构为通道重排模块(shuffle block),通道重排模块的一部分结构如图12(1)所示,包括依次串联的通道分割层、1*1卷积层(1x1 Conv)、3*3深度卷积层、1*1卷积层(1x1 Conv)、连接层和通道重排层,其中,1*1卷积层(1x1 Conv)表示卷积核大小为1x1的卷积操作,3*3深度卷积层(3x3 DWConv)表示卷积核大小为3x3的Depthwise卷积操作,BN为batch normalization,ReLU为激活函数。图12(1’)所示的过程与图12(1)所示的过程相同,在此不再赘述。
对于输入的特征图(feature map),通道分割层将所有特征图按照通道顺序前后平均分割成两份,其中一部分经过图12(1)所示的上述三次卷积操作(依次串联的1*1卷积层、3*3深度卷积层和1*1卷积层)与BN等操作后,再通过连接层的连接操作(Concat操作)将分割成的两份数据按照通道顺序组合在一起,最后通过通道重排层,将所有特征图按照通道前后交错在一起。
通道重排模块的另一部分结构如图12(2)所示,包括依次串联的1*1卷积层(1x1Conv)、3*3深度卷积层和1*1卷积层(1x1 Conv)的第一分支,和依次串联的3*3深度卷积层和1*1卷积层(1x1 Conv)的第二分支,第一分支和第二分支并联后再依次与连接层和通道重排层串联。
电子设备将输入的特征图(feature map)平均分割成两份,其中一份经过图12(2)所示的第一分支的上述三次卷积与BN等操作,另一份经过第二分支的上述两次卷积操作(依次串联的3*3深度卷积层和1*1卷积层)与BN等操作,再通过连接层的连接操作(Concat操作)将分割成的两份数据按照通道顺序组合在一起,最后通过通道重排层,将所有特征图按照通道前后交错在一起。
图13A根据本申请实施例,示出了一种shufflenetv2网络模型的结构示意图。如图13A所示,在shufflenetv2网络中,存在多个串联的通道重排模块,一个完整的shuffleblock串联结构大致为12(2)+12(1)+12(1)+…+12(1),即一个图12(2)结构后面串联若干个图12(1)结构。
对于图13A所示的结构,按照本申请实施例提出的优化计算方法,提取一种重复的shuffle block计算结构A(图12(1)结构),即在shufflenetv2网络模型中,将图13A(2)结构后面串联的若干个图12(1)结构中最后一个图12(1)结构设置为至少部分(例如一半)数据不包含通道重排层。
对应于图13A,图13B根据本申请实施例,示出了一种实现本申请技术方案的shufflenetv2网络模型的结构示意图。如图13B所示,图13A中的shuffle block计算结构A改变为shuffle block计算结构A’,shuffle block计算结构A’包括两个操作分支:分支1和分支2。其中,分支1的改变参见图6中分支1的改变,只需要按照上文中所述的映射变化规则,改变卷积层、深度卷积层中卷积核与特征图存储地址的映射关系,分支2包括通道重排层和通道分割层,通道重排层用于对分支2中的特征图进行通道重排,在此不再赘述如此,可节省分支1的冲到重排数据量。图13B(4’)所示的过程与图13B(4)所示的过程相同,在此不再赘述。
即使用卷积的权重重排来消除其中部分(例如部分(例如一半))数据需要进行通道重排层的需求,在不增加计算量的同时,本申请实施例提出的优化计算方法减少了部分(例如一半)通道重排层的数据量。同时通道重排层仅需要通过数据读写操作完成,可以和卷积计算同步进行,进一步减少了整个网络运行所需时间。
使用本申请实施例所提出的方法在芯片上运行shuffle block结构网络,与原先常规计算进行对比得出,使用本申请实施例提出的新计算方法,数据读写量减少75%以上,同时运行速度提升了5倍以上,运行速度的提升主要是将原来的顺序运行结构优化为并行计算,并且减少了部分(例如一半)通道重排层的操作。
本申请实施例通过优化设计包含通道重排层层的神经网络计算方式,显著提高了例如shufflenetv2网络的运行速度并降低了数据读写操作量。该申请实施例大大提高了shufflenetv2网络在芯片上的运行速度。
根据本申请的实施例,提供了一种电子设备。该电子设备可以是具备图像处理功能的手机、平板、可穿戴设备、服务器等。
现在参考图14,所示为根据本申请的一个实施例的电子设备100的框图。图14示意性地示出了根据多个实施例的示例电子设备100。在一个实施例中,电子设备100可以包括一个或多个处理器1004,与处理器1004中的至少一个连接的系统控制逻辑1008,与系统控制逻辑1008连接的系统内存1012,与系统控制逻辑1008连接的非易失性存储器(NVM)1016,以及与系统控制逻辑1008连接的网络接口1020。
在一些实施例中,处理器1004可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1004可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备100采用eNB(Evolved Node B,增强型基站)101或RAN(Radio Access Network,无线接入网)控制器102的实施例中,处理器1004可以被配置为执行各种符合的实施例,例如,上述实施例中的一个或多个。例如,处理器1004,可以用于执行本申请实施例的包含通道重排的图像处理方法。
在一些实施例中,系统控制逻辑1008可以包括任意合适的接口控制器,以向处理器1004中的至少一个和/或与系统控制逻辑1008通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1008可以包括一个或多个存储器控制器,以提供连接到系统内存1012的接口。系统内存1012可以用于加载以及存储数据和/或指令。在一些实施例中电子设备100的内存1012可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器1016可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1016可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器1016可以包括安装电子设备100的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1020通过网络访问NVM/存储1016。
特别地,系统内存1012和NVM/存储器1016可以分别包括:指令1024的暂时副本和永久副本。指令1024可以包括:由处理器1004中的至少一个执行时导致电子设备100上述方法的指令。在一些实施例中,指令1024、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1008,网络接口1020和/或处理器1004中。
网络接口1020可以包括收发器,用于为电子设备100提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1020可以集成于电子设备100的其他组件。例如,网络接口1020可以集成于处理器1004的,系统内存1012,NVM/存储器1016,和具有指令的固件设备(未示出)中的至少一种,当处理器1004中的至少一个执行所述指令时,电子设备100实现本申请实施例中的图像处理方法。
网络接口1020可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1020可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1004中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1004中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
电子设备100可以进一步包括:输入/输出(I/O)设备1032。I/O设备1032可以包括用户界面,使得用户能够与电子设备100进行交互;外围组件接口的设计使得外围组件也能够与电子设备100交互。在一些实施例中,电子设备100还包括传感器,用于确定与电子设备100相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口1020的一部分或与网络接口1020交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (11)
1.一种基于神经网络模型的图像处理方法,应用于电子设备,其特征在于,所述神经网络模型包括第一中间层;
所述方法包括:
所述第一中间层获取第一特征图和第二特征图,其中,
所述电子设备的存储器的第一存储区域上存储有所述第一特征图,并且所述第一存储区域具有第一存储地址,所述存储器的第二存储区域上存储有所述第二特征图,并且所述第二存储区域具有第二存储地址,
所述第一存储地址和所述第二存储地址分别与所述第一中间层的第一处理单元和第二处理单元存在第一映射关系,其中在所述第一映射关系中,所述第一处理单元与所述第一存储地址对应,所述第二处理单元与所述第二存储地址对应;
所述第一中间层将所述第一映射关系调整为第二映射关系,其中在所述第二映射关系中,所述第一处理单元和第二存储地址对应,所述第二处理单元和第一存储地址对应,其中,所述第一处理单元能够获取所述第二存储地址对应的第二存储区域中的第二特征图进行处理,所述第二处理单元能够获取所述第一存储地址对应的第一存储区域中的第一特征图进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一中间层为卷积层,所述第一处理单元和第二处理单元分别为第一卷积核和第二卷积核,所述卷积层能够利用所述第一卷积核和所述第二卷积核分别对所述第二特征图和第一特征图进行卷积处理。
3.根据权利要求2所述的方法,其特征在于,所述卷积处理包括:
所述卷积层将所述第一卷积核与所述第二特征图相乘得到第一卷积结果,将所述第二卷积核与所述第一特征图相乘得到第二卷积结果,将所述第一卷积结果和所述第二卷积结果相加后再加上偏置,得到卷积结果。
4.根据权利要求2所述的方法,其特征在于,所述方法包括:所述神经网络模型还包括第二中间层,其中所述第二中间层为卷积层;并且
所述第一中间层从所述第二中间层获取所述第一特征图和第二特征图。
5.根据权利要求4所述的方法,其特征在于,所述神经网络模型还包括通道重排层、通道分割层和第三中间层;
并且所述方法还包括:
所述通道重排层从所述第二中间层获取所述第一特征图和第二特征图,其中,所述电子设备的存储器的第一存储区域上存储有所述第一特征图,并且所述第一存储区域具有第一存储地址,所述存储器的第二存储区域上存储有所述第二特征图,并且所述第二存储区域具有第二存储地址;
所述通道重排成对所述第一特征图和第二特征图进行通道重排,并将通道重排后的第一特征图和第二特征图发送至所述通道分割层;
所述通道分割层将通道重排后的第一特征图和第二特征图发送至所述第三中间层。
6.根据权利要求5所述的方法,其特征在于,所述通道重排层的通道重排包括:
将所述第一存储区域上存储的所述第一特征图更改为存储所述第二特征图,将所述第二存储区域上存储的所述第二特征图更改为存储所述第一特征图。
7.根据权利要求5或6所述的方法,其特征在于,所述神经网络模型还包括第四中间层,其中,所述第四中间层为卷积层;并且
所述方法包括:
第一中间层的处理结果发给所述第四中间层进行卷积处理。
8.根据权利要求5所述的方法,其特征在于,所述第三中间层为池化层。
9.根据权利要求1所述的方法,其特征在于,所述神经网络模型为shufflenetv2网络模型。
10.一种可读介质,其特征在于,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1至9中任一项所述的基于神经网络模型的图像处理方法。
11.一种电子设备,包括:存储器,用于存储由所述电子设备的一个或多个处理器执行的指令,以及
处理器,是所述电子设备的处理器之一,用于执行权利要求1至9中任一项所述的基于神经网络模型的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656696.3A CN113393368B (zh) | 2021-06-11 | 2021-06-11 | 基于神经网络模型的图像处理方法、介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656696.3A CN113393368B (zh) | 2021-06-11 | 2021-06-11 | 基于神经网络模型的图像处理方法、介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113393368A true CN113393368A (zh) | 2021-09-14 |
CN113393368B CN113393368B (zh) | 2023-08-18 |
Family
ID=77620851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110656696.3A Active CN113393368B (zh) | 2021-06-11 | 2021-06-11 | 基于神经网络模型的图像处理方法、介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113393368B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989206A (zh) * | 2021-10-20 | 2022-01-28 | 杭州深睿博联科技有限公司 | 一种基于轻量化模型的骨龄预测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875904A (zh) * | 2018-04-04 | 2018-11-23 | 北京迈格威科技有限公司 | 图像处理方法、图像处理装置和计算机可读存储介质 |
CN109086866A (zh) * | 2018-07-02 | 2018-12-25 | 重庆大学 | 一种适用于嵌入式设备的部分二值卷积方法 |
CN111784555A (zh) * | 2020-06-16 | 2020-10-16 | 杭州海康威视数字技术股份有限公司 | 图像处理方法、装置及设备 |
WO2021110147A1 (zh) * | 2019-12-06 | 2021-06-10 | 阿里巴巴集团控股有限公司 | 一种图像处理,图像训练以通道混洗方法和装置 |
-
2021
- 2021-06-11 CN CN202110656696.3A patent/CN113393368B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875904A (zh) * | 2018-04-04 | 2018-11-23 | 北京迈格威科技有限公司 | 图像处理方法、图像处理装置和计算机可读存储介质 |
CN109086866A (zh) * | 2018-07-02 | 2018-12-25 | 重庆大学 | 一种适用于嵌入式设备的部分二值卷积方法 |
WO2021110147A1 (zh) * | 2019-12-06 | 2021-06-10 | 阿里巴巴集团控股有限公司 | 一种图像处理,图像训练以通道混洗方法和装置 |
CN111784555A (zh) * | 2020-06-16 | 2020-10-16 | 杭州海康威视数字技术股份有限公司 | 图像处理方法、装置及设备 |
Non-Patent Citations (5)
Title |
---|
NINGNING MA 等: ""ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design"" * |
NINGNING MA 等: ""ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design"", 《LECTURE NOTES IN COMPUTER SCIENCE》 * |
严云洋 等: ""基于轻型卷积神经网络的火焰检测方法"", 《山东大学学报(工学版)》 * |
朱振宇: ""面向动作识别的3DCNN算法研究及硬件设计" * |
朱振宇: ""面向动作识别的3DCNN算法研究及硬件设计"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989206A (zh) * | 2021-10-20 | 2022-01-28 | 杭州深睿博联科技有限公司 | 一种基于轻量化模型的骨龄预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113393368B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816559B2 (en) | Dilated convolution using systolic array | |
CN110073359B (zh) | 用于卷积神经网络的有效数据布局 | |
US20200202198A1 (en) | Neural network processor | |
US11681902B2 (en) | Transposed convolution using systolic array | |
JP2022540749A (ja) | シャッフルネットに類似したニューラルネットワークのチャネルにわたってシフトベースの情報混合を行うシステムおよび方法 | |
CN109754359B (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
JP6961640B2 (ja) | データ処理のシステムおよび方法 | |
US11562046B2 (en) | Neural network processor using dyadic weight matrix and operation method thereof | |
US10831693B1 (en) | Multicast master | |
CN110717589A (zh) | 数据处理方法、设备和可读存储介质 | |
US11138106B1 (en) | Target port with distributed transactions | |
CN107909537A (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN113393368B (zh) | 基于神经网络模型的图像处理方法、介质和电子设备 | |
KR20200095300A (ko) | 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치 | |
CN111310115A (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
CN113469354B (zh) | 受存储器限制的神经网络训练 | |
CN112749576B (zh) | 图像识别方法和装置、计算设备以及计算机存储介质 | |
US20200327638A1 (en) | Connected component detection method, circuit, device and computer-readable storage medium | |
US11507799B2 (en) | Information processing apparatus and method of operating neural network computing device therein | |
CN114761920A (zh) | 具有可重构指令集的硬件加速器 | |
CN110322388B (zh) | 池化方法及装置、池化系统、计算机可读存储介质 | |
US11636569B1 (en) | Matrix transpose hardware acceleration | |
CN117063182A (zh) | 一种数据处理方法和装置 | |
JP2022520912A (ja) | データ処理方法、装置及びチップ、電子機器、記憶媒体 | |
JP5045652B2 (ja) | 相関処理装置及びその相関処理装置で読みとり可能な媒体 |
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 |