CN109241880B - 图像处理方法、图像处理装置、计算机可读存储介质 - Google Patents
图像处理方法、图像处理装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN109241880B CN109241880B CN201810962141.XA CN201810962141A CN109241880B CN 109241880 B CN109241880 B CN 109241880B CN 201810962141 A CN201810962141 A CN 201810962141A CN 109241880 B CN109241880 B CN 109241880B
- Authority
- CN
- China
- Prior art keywords
- training
- neural network
- image
- sub
- nth
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质。该图像处理方法,包括:获取输入图像;利用神经网络对输入图像进行图像分类处理,以得到多个类别标签,其中,神经网络包括第一子神经网络和第二子神经网络,第二子神经网络包括多个分支网络,多个分支网络中的至少两个分支网络并联设置,利用神经网络对输入图像进行图像分类处理,以得到多个类别标签包括:利用第一子神经网络提取输入图像的基本特征信息,以得到多个第一特征图;划分多个第一特征图,以得到与多个分支网络一一对应的多个第一特征图组;利用多个分支网络分别处理多个第一特征图组,以得到多个类别标签。
Description
技术领域
本公开涉及图像处理领域,更具体地,本公开涉及一种基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质。
背景技术
智能场景识别已经成为手机端人工智能(Artificial Intelligence,AI)的一项热门分支技术,该智能场景识别功能的逐渐部署于各种手机上。智能场景识别技术主要用于基于场景中的各种物体自动调整手机的相机参数,从而改进用户的拍摄体验。
目前,智能场景识别技术通常局限于比较明确、单一的场景,手机获取各种场景的图像,手机处理这些场景的图像之后都只会输出一个识别结果。然而实际情况下,用户利用手机拍摄到的大多数场景的图像中的元素都比较复杂,每个图像可能包含多个场景要素,例如,在一幅图像中可能同时出现蓝天与沙滩,在一幅图像中甚至可能同时出现四五个场景要素。在这种场合下,传统的输出单一识别结果的方法就显得较为乏力。因此,手机端需要集成输出多个识别结果的智能场景识别技术,而对于输出多个识别结果的分类任务,神经网络的训练难度相对于单一识别结果会大大提升。
发明内容
鉴于上述问题而提出了本公开。本公开提供一种基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质,以解决对复杂场景进行多标签分类输出的问题。
本公开至少一实施例提供一种基于神经网络的图像处理方法,包括:获取输入图像;利用所述神经网络对所述输入图像进行图像分类处理,以得到多个类别标签,其中,所述神经网络包括第一子神经网络和第二子神经网络,所述第二子神经网络包括多个分支网络,所述多个分支网络中的至少两个分支网络并联设置,利用所述神经网络对所述输入图像进行图像分类处理,以得到多个类别标签包括:利用所述第一子神经网络提取所述输入图像的基本特征信息,以得到多个第一特征图;划分所述多个第一特征图,以得到与所述多个分支网络一一对应的多个第一特征图组;利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签。
例如,根据本公开一实施例的图像处理方法中,所述多个分支网络的通道数之间的比例与所述多个第一特征图的划分比例相同。
例如,根据本公开一实施例的图像处理方法中,所述多个分支网络与多个子领域一一对应,每个子领域包括多个类别,第N个分支网络与第N个子领域对应,且被配置为接收第N个第一特征图组,所述第N个第一特征图组中的第一特征图的数量和所述第N个子领域的类别数量正相关,其中,N为正整数,N大于等于1且小于等于所述多个分支网络的数量。
例如,根据本公开一实施例的图像处理方法中,每个分支网络包括卷积层组和全连接层,利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签包括:在所述第N个分支网络中,利用所述卷积层组提取所述第N个第一特征图组的高级特征信息,以得到第N个第二特征图组;利用所述全连接层处理所述第N个第二特征图组,以得到第N个输出向量;以及基于所述第N个输出向量得到对应的第N个类别标签。
例如,根据本公开一实施例的图像处理方法中,每个分支网络还包括分类器,基于所述第N个输出向量得到对应的第N个类别标签,包括:在所述第N个分支网络中,基于所述第N个输出向量,利用所述分类器计算所述输入图像与所述第N个子领域对应的第N个得分数组,所述第N个得分数组包括与所述第N个子领域中的多个类别一一对应的多个得分数;根据所述多个得分数,确定所述第N个类别标签。
例如,根据本公开一实施例的图像处理方法中,所述第N个分支网络中的全连接层的输出向量中元素的数量和所述第N个子领域的类别数量相同。
例如,根据本公开一实施例的图像处理方法中,所述第N个分支网络的卷积层组提取的高级特征信息和所述第N个子领域相对应。
例如,根据本公开一实施例的图像处理方法中,每个子领域中的多个类别互斥。
例如,根据本公开一实施例的图像处理方法还包括:预先训练所述神经网络,其中,预先训练所述神经网络包括:利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;根据所述多个第一训练得分数组调整所述神经网络的参数;在所述神经网络的损失函数满足预定条件时,获得训练好的所述神经网络,在所述神经网络的损失函数不满足预定条件时,继续输入所述第一训练图像以重复执行上述训练过程;利用所述神经网络对所述第一训练图像进行分类处理,以得到多个第一训练得分数组包括:利用所述第一子神经网络提取所述第一训练图像的基本特征信息,以得到多个第一训练特征图;划分所述多个第一训练特征图,以得到与所述多个分支网络一一对应的多个第一训练图组;利用所述多个分支网络分别处理所述多个第一训练图组,以得到所述多个第一训练得分数组。
例如,根据本公开一实施例的图像处理方法中,所述神经网络的损失函数包括多个第一损失函数,所述多个第一损失函数与所述多个分支网络一一对应,根据所述多个第一训练得分数组调整所述神经网络的参数包括:获取与所述第一训练图像对应的多个第一目标得分数组;根据所述多个第一目标得分数组和所述多个第一训练得分数组,确定多个第一训练参数组,每个第一训练参数组包括一个第一目标得分数组和对应的第一训练得分数组;根据所述多个第一训练参数组,利用所述多个第一损失函数分别计算所述神经网络的多个第一参数修正值;利用所述多个第一参数修正值调整所述神经网络的参数。
例如,根据本公开一实施例的图像处理方法中,所述神经网络的损失函数包括多个第二损失函数,所述多个第二损失函数与所述多个分支网络一一对应,预先训练所述神经网络还包括:利用所述神经网络对第一训练图像进行分类处理,以得到与所述第一训练图像对应的多个第二训练图组;利用所述神经网络对第二训练图像进行分类处理,以得到与所述第二训练图像对应的多个第四训练图组;获取与所述第一训练图像对应的多个第一目标得分数组、与所述第二训练图像对应的多个第二目标得分数组;根据所述多个第一目标得分数组、所述多个第二目标得分数组、所述多个第二训练图组、所述多个第四训练图组,确定多个第二训练参数组,每个第二训练参数组包括一个第一目标得分数组、与所述第一目标得分数组对应的第二训练图组、一个第二目标得分数组和与所述第二目标得分数组对应的第四训练图组;根据所述多个第二训练参数组,利用所述多个第二损失函数分别计算所述神经网络的多个第二参数修正值;利用所述多个第二参数修正值调整所述神经网络的参数。
本公开至少一实施例还提供一种图像处理装置,包括:图像获取模块,用于获取输入图像;图像处理模块,用于利用所述神经网络对所述输入图像进行图像分类处理,以得到多个类别标签,其中,所述神经网络包括第一子神经网络和第二子神经网络,所述第二子神经网络被划分为多个分支网络,所述多个分支网络中的至少两个分支网络并联设置,所述图像处理模块具体用于:利用所述第一子神经网络提取所述输入图像的基本特征信息,以得到多个第一特征图;划分所述多个第一特征图,以得到与所述多个分支网络一一对应的多个第一特征图组;利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签。
例如,根据本公开一实施例的图像处理装置还包括:训练模块,用于预先训练所述神经网络;训练模块具体用于:利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;根据所述多个第一训练得分数组调整所述神经网络的参数;以及在所述神经网络的损失函数满足预定条件时,获得训练好的所述神经网络,在所述神经网络的损失函数不满足预定条件时,继续输入所述第一训练图像以重复执行上述训练过程;其中,利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组包括:利用所述第一子神经网络提取所述第一训练图像的基本特征信息,以得到多个第一训练特征图;划分所述多个第一训练特征图,以得到与所述多个分支网络一一对应的多个第一训练图组;利用所述多个分支网络分别处理所述多个第一训练图组,以得到所述多个第一训练得分数组。
本公开至少一实施例还提供一种图像处理装置,包括:存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述非暂时性计算机可读指令,所述非暂时性计算机可读指令被所述处理器运行时执行根据上述任一项所述的图像处理方法。
本公开至少一实施例还提供一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机运行时执行根据上述任一项所述的图像处理方法。
本公开实施例提供的基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质,其通过将神经网络中的部分子神经网络划分成多个分支网络,并行训练该多个分支网络,每个分支网络输出的特征向量对应一个子领域(例如,子领域可以包括互斥的多个类别),以提取与该子领域的对应的特定特征,从而将场景识别中的多标签分类任务简化为多个单标签分类任务,降低神经网络的训练难度,在维持神经网络的成本的情况下,改善多标签分类的效果。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种神经网络的示意性框图;
图2示出了根据本公开实施例的一种基于神经网络的图像处理方法的示意性流程图;
图3示出了根据本公开实施例的一种神经网络的示意性框图;
图4示出了图2所示的步骤S11的一种示意性流程图;
图5示出了根据本公开实施例的一种神经网络的结构示意图;
图6示出了根据本公开实施例的一种用于图像处理的神经网络的训练方法的流程图;
图7示出了根据本公开实施例的另一种神经网络的结构示意图;
图8示出了根据本公开实施例的一种图像处理装置的示意性框图;
图9示出了根据本公开实施例的另一种图像处理装置的示意性框图;
图10示出了根据本公开实施例的一种计算机可读存储介质的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
图1为一种神经网络的示意性框图。如图1所示,针对多标签分类的问题,训练神经网络的过程可以包括:首先获取训练图像和与训练图像对应的多个目标得分数105;然后通过神经网络处理该训练图像以得到与所述训练图像对应的多个训练得分数;最后根据多个训练得分数和多个目标得分数105,利用损失函数104计算该神经网络的参数的修正值,并根据该修正值修正神经网络的参数。例如,神经网络包括卷积层101、全连接层102和激活函数103,激活函数103可以包括Sigmoid函数。损失函数104可以包括交叉熵(Cross-entropy)损失函数。例如,损失函数104用于度量多个训练得分数和多个目标得分数的相似度。训练好的神经网络即可应用于场景识别,以执行多标签分类功能。通过训练好的神经网络对待分类图像执行多标签分类功能可以包括:将待分类图像100输入到神经网络中;利用卷积层101提取待分类图像100的特征以得到特征图;利用全连接层102处理特征图以得到分类向量;利用激活函数103处理该分类向量,从而得到多个标签。然而,相对于输出单标签的分类任务,输出多标签的分类任务的神经网络的训练难度较大。
本公开涉及基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质,其可以将场景识别中的多标签分类任务简化为多个单标签分类任务,降低神经网络的训练难度,在维持神经网络的成本的情况下,改善多标签分类的效果。
例如,利用神经网络进行图像分类处理可以分为两个阶段,即训练阶段和图像分类阶段。所谓训练阶段是指首先需要利用训练图像对神经网络进行训练,以调整神经网络的参数;所谓图像分类阶段是指利用训练好的神经网络对待进行图像分类处理的图像进行分类。
下面结合附图详细描述本公开的几个实施例,但是本公开并不限于这些具体的实施例。
图2示出了根据本公开实施例的一种基于神经网络的图像处理方法的示意性流程图;图3示出了根据本公开实施例的一种神经网络的示意性框图;图4示出了图2所示的步骤S11的一种示意性流程图。
例如,如图2所示,本公开实施例提供的基于神经网络的图像处理方法包括以下步骤:
步骤S10:获取输入图像;
步骤S11:利用神经网络对输入图像进行图像分类处理,以得到多个类别标签。
例如,本公开实施例提供的图像处理方法可以适用于手机等电子设备中,从而拍摄得到优质图像。在本公开的一个实施例中,可以在某一场景中配置能够获取该场景的图像数据的摄像头作为图像获取模块。从而在步骤S10中,获取输入图像包括但不限于,通过图像获取模块采集输入图像。例如,图像获取模块和图像处理装置在物理位置上分离配置,且图像获取模块和图像处理装置之间可以通过有线或者无线方式进行通信。也就是说,由图像获取模块采集输入图像之后,图像处理装置可以经由有线或者无线方式接收从所述图像获取模块发送的输入图像。又例如,图像获取模块可以与图像处理装置中的其他模块或组件物理上位于同一位置甚至位于同一电子设备内部,例如,图像处理装置可以包括手机,图像获取模块可以为手机上配置的摄像头。图像处理装置中的其他模块或组件经由内部总线接收从所述图像获取模块发送的输入图像。
例如,输入图像可以为彩色图像,也可以为灰度图像。输入图像可以是图像获取模块采集到的原始图像,也可以是对原始图像进行预处理之后获得的图像。预处理可以消除原始图像中的无关信息,提高后续特征提取的可靠性。预处理可以包括但不限于对原始图像进行缩放、Gamma校正、图像增强或降噪滤波等处理。
需要说明的是,输入图像可以预先获取并存储在图像获取模块或图像处理装置中,从而在步骤S10中,直接从图像获取模块或图像处理装置获取该输入图像。
例如,在本公开中,如图3所示,神经网络10可以包括第一子神经网络12和第二子神经网络13,第二子神经网络13包括多个分支网络,多个分支网络中的至少两个分支网络并联设置。第一子神经网络12和第二子神经网络13的分割点在神经网络10的中部,分割点的具体位置与神经网络10的具体结构相关,本公开对此不作具体限制。例如,在一些示例中,第一子神经网络12中的卷积层的数量和第二子神经网络13中的卷积层的数量相同。需要说明的是,第一子神经网络12和第二子神经网络13的具体结构可以根据实际应用需求设计,本公开不限于此。
例如,多个分支网络与多个子领域一一对应。多个分支网络的具体切分比例与相应的多个子领域所包含的类别数量有关,一般与越复杂的子领域(即类别数量越多的子领域)对应的分支网络的通道数越多。在一些示例中,图像处理装置可以识别的类别的数量为Q,该Q个类别可以被划分为M个子领域。由此,如图3所示,第二子神经网络13可以包括M个分支网络,且分别为第一分支网络131、第二分支网络132直到第M个分支网络133,且该M个分支网络均并联设置。M个分支网络与M个子领域一一对应。需要说明的是,在本公开中,“并联设置”可以表示各个分支网络之间没有数据传输。
例如,多个子领域中的类别的数量可以相同,也可以不同。需要说明的是,多个子领域的划分方式、每个子领域中的类别类型和数量等可以根据实际应用设置,本公开对此不作限制。
例如,每个子领域可以包括多个类别,且每个子领域中的多个类别互斥,例如,对于蓝天和沙滩,由于蓝天和沙滩常常会出现在同一个图像中,因此,蓝天和沙滩这两个类别分别属于两个子领域(例如,第一风景子领域和第二风景子领域)。又例如,对于人物的大头照和群体照,由于大头照和群体照一般不会出现在同一个图像中,因此,人物的大头照和人物的群体照这两个类别可以属于同一个子领域(例如,人像子领域)。在本公开中,每个分支网络执行单标签分类任务,即每个分支网络仅输出单个类别标签,从而降低各分支网络的分类难度。
例如,如图4所示,步骤S11可以包括:
步骤S111:利用第一子神经网络提取输入图像的基本特征信息,以得到多个第一特征图;
步骤S112:划分多个第一特征图,以得到与多个分支网络一一对应的多个第一特征图组;
步骤S113:利用多个分支网络分别处理多个第一特征图组,以得到多个类别标签。
例如,如图3所示,神经网络10还包括输入层11。在步骤S111中,输入图像可以经由输入层11被传输至第一子神经网络12。
例如,在一个示例中,神经网络10可以为卷积神经网络(CNN)。
例如,在本公开的一些实施例中,第一子神经网络12可以包括一个或多个第一卷积层。第一卷积层可以对输入图像应用若干个卷积核,以提取输入图像的多种类型的基本特征,从而得到多个第一特征图。每个卷积核可以提取一种类型的基本特征。卷积核一般以随机小数矩阵的形式初始化,在第一子神经网络12的训练过程中卷积核将通过学习以得到合理的权值。对输入图像应用一个卷积核之后得到的结果为特征图(feature map)。第一卷积层输出的第一特征图的数目与该第一卷积层中的卷积核的数目相等。例如,第一子神经网络12可以仅提取一些基本特征,诸如边缘、线条和角部等层级;随后,第二子神经网络13例如能从基本特征中迭代提取更复杂的高级特征。
例如,在本公开的实施例中,由于第二子神经网络13包括M个分支网络,从而在步骤S112中,多个第一特征图可以被划分为M个第一特征图组,M个第一特征图组与M个分支网络一一对应,即M个第一特征图组也与M个子领域一一对应。
例如,第N个分支网络与第N个子领域对应,第N个第一特征图组中的第一特征图的数量和第N个子领域的类别数量正相关,其中,N为正整数,N大于等于1且小于等于多个分支网络的数量,例如,在本公开的一个实施例中,第二子神经网络13包括M个分支网络,从而N大于等于1且小于等于M。在一些示例中,第二子神经网络13包括三个分支网络,该三个分支网络分别为第一分支网络、第二分支网络和第三分支网络。Q个类别可以被划分为第一子领域、第二子领域和第三子领域。第一分支网络与第一子领域对应,第二分支网络与第二子领域对应,第三分支网络与第三子领域对应。多个第一特征图可以被划分为三个第一特征图组,且分别为第一个第一特征组、第二个第一特征组和第三个第一特征组。例如,第一个第一特征组中的第一特征图的数量为P1,第二个第一特征组中的特征图数量为P2,第三个第一特征组中的特征图数量为P3,第一子领域中的类别数量为Q1,第二子领域中的类别数量为Q2,第三子领域中的类别数量为Q3,则Q=Q1+Q2+Q3。若Q1>Q2>Q3,则P1>P2>P3。需要说明的是,Q1、Q2、Q3、P1、P2和P3的具体数值可以根据实际应用设计,本公开对此不作限制。
下面,以第二子神经网络13包括第一分支网络、第二分支网络和第三分支网络为例详细描述本公开的实施例。
例如,在步骤S113中,M个分支网络分别处理M个第一特征图组,以得到M个类别标签。例如,对于第N个分支网络,第N个分支网络被配置为接收第N个第一特征图组,并处理第N个第一特征图组,以得到第N个类别标签。
图5示出了根据本公开实施例的一种神经网络的结构示意图。
例如,多个分支网络的通道数(Channel)之间的比例与多个第一特征图的划分比例相同,以保证网络大小恒定不变。例如,在第二子神经网络13没有被划分为多个分支网络时,第二子神经网络13的通道数为Y,在本公开的一些实施例中,第二子神经网络13包括第一分支网络、第二分支网络和第三分支网络,且第一分支网络的通道数为Y1,第二分支网络的通道数为Y2,第三分支网络的通道数为Y3,则Y=Y1+Y2+Y3,且Y1:Y2:Y3=P1:P2:P3。
例如,每个分支网络均包括卷积层组和全连接层。如图5所示,在一些示例中,第一分支网络131可以包括卷积层组CNN21和全连接层FC21,第二分支网络132可以包括卷积层组CNN22和全连接层FC22,第M个分支网络133可以包括卷积层组CNN2M和全连接层FC2M。
例如,步骤S113可以包括:在第N个分支网络中,利用卷积层组提取第N个第一特征图组的高级特征信息,以得到第N个第二特征图组;利用全连接层处理第N个第二特征图组,以得到第N个输出向量;以及基于第N个输出向量得到对应的第N个类别标签。
例如,每个分支网络的卷积层组可以包括一个或多个第二卷积层,第二卷积层可以对第一特征图应用若干个卷积核,以提取高级特征信息,从而得到第二特征图。每个第二卷积层输出的第二特征图的数目与该第二卷积层中的卷积核的数目相等。
例如,每个分支网络用于提取与其对应的子领域的高级特征信息,从而执行该对应子领域的分类任务。也就是说,第N个分支网络的卷积层组提取的高级特征信息和第N个子领域相对应,即第N个分支网络用于执行与第N个子领域对应的分类任务。
例如,在第二子神经网络13没有被划分为多个分支网络时,第二子神经网络13的全连接层的输出向量中元素的数量与图像处理装置可以识别的类别的数量相同。在一些示例中,图像处理装置可以识别的类别的数量为Q,则第二子神经网络13的全连接层的输出向量中元素的数量为Q。为了实现分支网络对与该分支网络对应的子领域的关注,第二子神经网络13可以包括与多个分支网络一一对应的多个全连接层,且第N个分支网络中的全连接层的输出向量中元素的数量和第N个子领域的类别数量相同。例如,如图5所示,若第一子领域中的类别数量为Q1,第二子领域中的类别数量为Q2,第M个子领域中的类别数量为Q2,则第一分支网络131的全连接层FC21的输出向量中元素的数量为Q1,第二分支网络132的全连接层FC22的输出向量中元素的数量为Q2,第M个分支网络133的全连接层FC2M的输出向量中元素的数量为QM,且Q=Q1+Q2+…+QM。
综上可知,相对于第二子神经网络13没有被划分为多个分支网络的情况,本公开的实施例提供的第二子神经网络13不会引入新的参数,没有提高网络成本。
例如,每个分支网络还包括分类器。如图5所示,第一分支网络131还可以包括分类器AF21,第二分支网络132还可以包括分类器AF22,第M个分支网络133还可以包括分类器AF2M。在每个分支网络中,全连接层可以连接到分类器,分类器可以根据全连接层的输出向量对输入图像进行分类。
例如,分类器可以为支持向量机(Support Vector Machine,SVM)分类器、SoftMax分类器、最邻近规则(KNN)分类器、Sigmoid分类器等。例如,SoftMax分类器是基于概率对输入图像进行分类的分类器,SVM分类器是基于分离超平面对输入图像进行分类的分类器。
例如,在步骤S113中,基于第N个输出向量得到对应的第N个类别标签,包括:在第N个分支网络中,基于第N个输出向量,利用分类器计算输入图像与第N个子领域对应的第N个得分数组,第N个得分数组包括与第N个子领域中的多个类别一一对应的多个得分数;根据多个得分数,确定第N个类别标签。
例如,在本公开的实施例中,分类器可以为SoftMax分类器,相较于Sigmoid分类器,SoftMax分类器更适用于单标签分类任务。例如,在第N个分支网络中,SoftMax分类器用于计算输入图像针对第N个子领域中的多个类别的多个得分数,第N个得分数组包括该多个得分数,多个得分数为多个概率,且多个概率与第N个子领域中的多个类别标签分别对应,也就是说,第N个得分数组中的多个得分数的数量与第N个分支网络中的全连接层的输出向量中元素的数量相同。一个得分数的绝对值表征该输入图像属于一个类别时的概率大小,多个得分数的绝对值分别表征该输入图像属于不同类别时的概率大小。第N个类别标签可以与多个得分数中的最大得分数相对应。
例如,神经网络10还包括多个输出层,多个输出层与多个分支网络一一对应,以分别输出多个类别标签。如图3和图5所示,神经网络10还包括输出层141、输出层142和输出层143,输出层141连接第一分支网络131,输出层142连接第二分支网络13,输出层143连接第M个分支网络133。输出层141用于根据第一分支网络131的分类器得到的多个得分数确定并输出第一类别标签,输出层142用于根据第二分支网络132的分类器得到的多个得分数确定并输出第二类别标签,输出层143用于根据第M个分支网络133的分类器得到的多个得分数确定并输出第M个类别标签。例如,在步骤S113中,与第N个分支网络连接的输出层用于根据第N个分支网络的分类器得到的多个得分数确定并输出第N个类别标签。
需要说明的是,参照图5示出的神经网络10的结构仅仅是示例性的,本公开不限于此。
图6示出了根据本公开实施例的一种用于图像处理的神经网络的训练方法的流程图;图7示出了根据本公开实施例的另一种神经网络的结构示意图。
例如,本公开提供的图像处理方法还包括:预先训练神经网络。如图6所示,预先训练神经网络包括:
步骤S20:获取第一训练图像;
步骤S21:利用神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;
步骤S22:根据多个第一训练得分数组调整神经网络的参数;
步骤S23:判断神经网络的损失函数是否满足预定条件;
在神经网络的损失函数满足预定条件时,执行步骤S24:获得训练好的神经网络;
在神经网络的损失函数不满足预定条件时,返回到步骤S20:继续输入第一训练图像以重复执行上述训练过程。
例如,在训练阶段中,神经网络的初始参数可以进行随机初始化,也可以利用之前已经训练好的网络(如VGG、ResNet等)进行初始化。
例如,在步骤S20中,第一训练图像可以通过图像获取模块预先获取并存储在图像获取模块或图像处理装置中。
例如,步骤S21可以包括:
步骤S211:利用第一子神经网络提取第一训练图像的基本特征信息,以得到多个第一训练特征图;
步骤S212:划分多个第一训练特征图,以得到与多个分支网络一一对应的多个第一训练图组;
步骤S213:利用多个分支网络分别处理多个第一训练图组,以得到多个第一训练得分数组。
例如,步骤S211的相关处理过程可以参考图4所示的示例中的步骤S111,步骤S212的相关处理过程可以参考图4所示的示例中的步骤S112。
例如,在第N个分支网络中,利用多个分支网络分别处理第N个第一训练图组后可以得到第N个第一训练得分数组。具体地,步骤S213可以包括:在第N个分支网络中,利用卷积层组提取第N个第一训练图组的高级特征信息,以得到第N个第二训练图组;利用全连接层处理第N个第二训练图组,以得到第N个输出向量;基于第N个输出向量,利用分类器计算第一训练图像与第N个子领域对应的第N个第一训练得分数组,第N个第一训练得分数组包括与第N个子领域中的多个类别一一对应的的多个得分数。
例如,神经网络10的损失函数可以包括多个第一损失函数,多个第一损失函数与多个分支网络一一对应。如图7所示,神经网络10的损失函数可以包括第一损失函数LO11、第一损失函数LO12和第一损失函数LO13。第一损失函数LO11与第一分支网络131连接,第一损失函数LO12与第二分支网络132连接,第一损失函数LO13与第M个分支网络133连接。
例如,步骤S22可以包括:
步骤S221:获取与第一训练图像对应的多个第一目标得分数组;
步骤S222:根据多个第一目标得分数组和多个第一训练得分数组,确定多个第一训练参数组,每个第一训练参数组包括一个第一目标得分数组和对应的第一训练得分数组;
步骤S223:根据多个第一训练参数组,利用多个第一损失函数分别计算神经网络的多个第一参数修正值;
步骤S224:利用多个第一参数修正值调整神经网络的参数。
例如,在步骤S221中,第一训练图像的多个第一目标得分数组可以预先获知,第一训练图像和对应的多个第一目标得分数组可以以表格、列表、图表等形式存储在图像处理装置中。第一训练图像和多个第一目标得分数组可以具有对应的存储区间和对应的存储地址。
例如,如图7所示,多个第一目标得分数组可以包括与M个分支网络一一对应的M个第一目标得分数组,M个第一目标得分数组分别为第一目标得分数组TP11、第一目标得分数组TP12直到第一目标得分数组TP1M。第一目标得分数组TP11与第一分支网络131对应,第一目标得分数组TP12与第二分支网络132对应,第一目标得分数组TP1M与第M个分支网络133对应。
例如,在步骤S222中,每个第一训练参数组中的第一目标得分数组和第一训练得分数组彼此对应,也就是说,第N个子领域与第N个分支网络对应,若第一训练参数组的第一训练得分数组是经由第N个分支网络处理得到的得分数组,则第一训练参数组中的第一目标得分数组则为第一训练图像对应于第N个子领域的得分数组。
例如,第一损失函数包括交叉熵(Cross-entropy)损失函数。第一损失函数用于度量第一训练参数组中的第一训练得分数组和第一目标得分数组之间的相似性。第一训练参数组中的第一训练得分数组和第一目标得分数组相似度越高,则第一损失函数计算得到的第一参数修正值越小。例如,第一参数修正值可以从神经网络10的输出层到输入层逐层反向传播,以使第一参数修正值分摊到神经网络10的各层的所有单元,从而获取各单元的误差值。该误差值即为修正各单元的参数(例如,参数可以包括第一卷积层的卷积核和偏置、第二卷积层的卷积核和偏置)的依据。例如,误差值可以表示为第一参数修正值对各单元参数的偏导值。
例如,步骤S224可以包括:利用多个第一修正参数调整第一子神经网络的参数;利用多个第一修正参数分别调整多个分支网络的参数。
例如,如图7所示,第一损失函数LO11输出的第一参数修正值可以用于调整第一子神经网络12的参数和第一分支网络131的参数;第一损失函数LO12输出的第一参数修正值可以用于调整第一子神经网络12的参数和第二分支网络132的参数;依次类推,第一损失函数LO13输出的第一参数修正值可以用于调整第一子神经网络12的参数和第M个分支网络133的参数。
例如,在步骤S23中,在一个示例中,预定条件对应于在输入一定训练图像下神经网络的损失函数的最小化。在另一个示例中,预定条件为神经网络的训练次数或训练周期达到预定数目,该预定数目可以为上百万,只要训练图像集合足够大。
例如,场景分类任务涉及的图片元素较为复杂,造成了类内(Intra-class)距离过大和类间(Inter-class)距离过小的情况。针对这一问题,同时也为了进一步提高分支网络的分类能力,本公开提供的神经网络10的损失函数还可以包括多个第二损失函数,多个第二损失函数也与多个分支网络一一对应。第二损失函数不会增大神经网络10的体积,因此,不会提高网络成本。在本公开中,切分第二子神经网络和第二损失函数的实现过程较为简单,可以应用于任一种卷积神经网络的结构中。
例如,如图7所示,神经网络10的损失函数可以包括第二损失函数LO21、第二损失函数LO22和第二损失函数LO23等。第二损失函数LO21与第一分支网络131连接,第二损失函数LO22与第二分支网络132连接,第二损失函数LO23与第M个分支网络133连接。
例如,预先训练神经网络还包括:
步骤S30:获取第一训练图像和第二训练图像;
步骤S31:利用神经网络对第一训练图像进行分类处理,以得到与第一训练图像对应的多个第二训练图组;
步骤S32:利用神经网络对第二训练图像进行分类处理,以得到与第二训练图像对应的多个第四训练图组;
步骤S33:获取与第一训练图像对应的多个第一目标得分数组、与第二训练图像对应的多个第二目标得分数组;
步骤S34:根据多个第一目标得分数组、多个第二目标得分数组、多个第二训练图组、多个第二训练图组,确定多个第二训练参数组,每个第二训练参数组包括一个第一目标得分数组、与第一目标得分数组对应的第二训练图组、一个第二目标得分数组和与第二目标得分数组对应的第四训练图组;
步骤S35:根据多个第二训练参数组,利用多个第二损失函数分别计算神经网络的多个第二参数修正值;
步骤S36:利用多个第二参数修正值调整神经网络的参数。
例如,步骤S31可以包括:利用第一子神经网络提取第一训练图像的基本特征信息,以得到与第一训练图像对应的多个第一训练特征图;划分多个第一训练特征图,以得到与多个分支网络一一对应的多个第一训练图组;利用多个分支网络分别处理多个第一训练图组,以得到与第一训练图像对应的多个第二训练图组。
例如,步骤S32可以包括:利用第一子神经网络提取第二训练图像的基本特征信息,以得到与第二训练图像对应的多个第三训练特征图;划分多个第三训练特征图,以得到与多个分支网络一一对应的多个第三训练图组;利用多个分支网络分别处理多个第三训练图组,以得到与第二训练图像对应的多个第四训练图组。
例如,每个第四训练图组包括多个第四训练特征图。
值得注意的是,在步骤S32中,第三训练特征图表示利用第一子神经网络提取第二训练图像的基本特征信息而得到的特征图,第四训练图组表示多个分支网络分别处理多个第三训练图组而得到的特征图组。即第三训练特征图、第四训练图组中的第四训练特征图均为与第二训练图像对应的特征图。
需要说明的是,步骤S31和步骤S32的详细处理过程可以参考图4所示的示例中的步骤S111-步骤S113的相关描述,重复之处在此不再赘述。
例如,在步骤S33中,第一训练图像的多个第一目标得分数组和第二训练图像的多个第二目标得分数组均可以预先获知,第一训练图像和多个第一目标得分数组、第二训练图像和多个第二目标得分数组均可以以表格、列表、图表等形式存储在图像处理装置中。第一训练图像和多个第一目标得分数组可以具有对应的存储区间和对应的存储地址,第二训练图像和多个第二目标得分数组也可以具有对应的存储区间和对应的存储地址,从而便于在图像处理过程中由图像处理装置等读取。
例如,如图7所示,多个第二目标得分数组可以包括与M个分支网络一一对应的M个第二目标得分数组,M个第二目标得分数组分别为第二目标得分数组TP21、第二目标得分数组TP22直到第二目标得分数组TP2M。第二目标得分数组TP21与第一分支网络131对应,第二目标得分数组TP22与第二分支网络132对应,第二目标得分数组TP2M与第M个分支网络133对应。
例如,在步骤S34中,第N个子领域与第N个分支网络对应,在第N个第二训练参数组中,若与第一目标得分数组对应的第二训练图组是经由第一子神经网络和第N个分支网络处理第一训练图像得到的特征图组,则第一目标得分数组则为第一训练图像对应于第N个子领域的得分数组;若与第二目标得分数组对应的第四训练图组是经由第一子神经网络和第N个分支网络处理第二训练图像得到的特征图组,则第二目标得分数组为第二训练图像对应于第N个子领域的得分数组。另外,第一目标得分数组和第二目标得分数组彼此对应,即第一目标得分数组和第二目标得分数组分别为第一训练图像和第二训练图像与同一个子领域对应的得分数组,也就是说,若第一目标得分数组是第一训练图像与第N个子领域对应的得分数组,则第二目标得分数组为第二训练图像与第N个子领域对应的得分数组。
例如,与第一目标得分数组对应的第二训练图组中的第二训练特征图的数量和与第二目标得分数组对应的第四训练图组中的第四训练特征图的数量相同。第二损失函数可以包括对比损失(Contrastive Loss)函数。对比损失函数的表达式为:
其中,d表示与第一目标得分数组对应的第二训练图组和与第二目标得分数组对应的第四训练图组的欧氏距离,J表示与第一目标得分数组对应的第二训练图组中的第二训练特征图的数量,d=||aj-bj||,aj表示与第一目标得分数组对应的第二训练图组中的第j个第二训练特征图;bj表示与第二目标得分数组对应的第四训练图组中的第j个第四训练特征图;y用于表示aj和bj是否匹配,若aj和bj相似或者匹配,则y=1,若aj和bj不匹配,则y=0,margin为预设阈值。当aj和bj相似或者匹配时,则aj和bj的欧式距离越小,第二损失函数计算得到的第二参数修正值越小;当aj和bj不匹配时,则aj和bj的欧式距离越小,第二损失函数计算得到的第二参数修正值越大。也就是说,当aj和bj相似或者匹配时,第二参数修正值调整神经网络的参数的目的在于使aj和bj的欧式距离尽可能缩小;而当aj和bj不匹配时,第二参数修正值调整神经网络的参数的目的在于使aj和bj的欧式距离尽可能扩大。
例如,多个第二损失函数的阈值可以相同,也可以不同,本公开对此不作限制。
例如,步骤S36可以包括:利用多个第二修正参数调整第一子神经网络的参数;利用多个第二修正参数分别调整多个分支网络的参数。
例如,如图7所示,第二损失函数LO21输出的第二参数修正值可以用于调整第一子神经网络12的参数和第一分支网络131的参数;第二损失函数LO22输出的第一参数修正值可以用于调整第一子神经网络12的参数和第二分支网络132的参数;依次类推,第二损失函数LO23输出的第二参数修正值可以用于调整第一子神经网络12的参数和第M个分支网络133的参数。
需要说明的是,如图7所示,在训练过程中,第一分支网络131的分类器AF21的输出可以被传输至第一损失函数LO11;第二分支网络132的分类器AF22的输出可以被传输至第一损失函数LO12;第M个分支网络133的分类器AF2M的输出可以被传输至第一损失函数LO13。第一损失函数LO11、第一损失函数LO12和第一损失函数LO13等可以分别基于分类器AF21的输出、分类器AF22的输出和分类器AF2M的输出计算得到多个第一参数修正值。而当神经网络的训练完成之后,在利用该神经网络进行图像处理的过程中,第一分支网络131的分类器AF21的输出可以被传输至输出层141,输出层141可以基于分类器AF21的输出得到第一类别标签;第二分支网络132的分类器AF22的输出可以被传输至输出层142,输出层142可以基于分类器AF22的输出得到第二类别标签;第M个分支网络133的分类器AF2M的输出可以被传输至输出层143,输出层143可以基于分类器AF2M的输出得到第M个类别标签。
图8示出了根据本公开实施例的一种图像处理装置的示意性框图。如图8所示,图像处理装置70包括图像获取模块705和图像处理模块710。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图8所示的图像处理装置70的组件和结构只是示例性的,而非限制性的,根据需要,图像处理装置70也可以具有其他组件和结构。
例如,图像获取模块705用于获取输入图像。图像获取模块705可以包括一个或多个摄像头。例如,图像获取模块705可以是智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、或者甚至可以是网络摄像头。
例如,图像获取模块705可以包括硬件、软件、固件以及它们的任意可行的组合。
例如,图像获取模块705可以经由有线或者无线方式将输入图像传输至图像处理模块710。
例如,图像处理模块710用于利用神经网络7105对输入图像进行图像分类处理,以得到多个类别标签。神经网络7105包括第一子神经网络和第二子神经网络,第二子神经网络被划分为多个分支网络,多个分支网络中的至少两个分支网络并联设置。图像处理模块710具体用于:利用第一子神经网络提取输入图像的基本特征信息,以得到多个第一特征图;划分多个第一特征图,以得到与多个分支网络一一对应的多个第一特征图组;利用多个分支网络分别处理多个第一特征图组,以得到多个类别标签。
需要说明的是,利用神经网络7105对输入图像进行图像分类处理的具体过程可以参考上述图像处理方法的实施例中的相关描述,在此将省略其重复描述。
例如,如图8所示,图像处理装置70还包括训练模块715。训练模块715用于预先训练神经网络7105。训练模块715具体用于:利用神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;根据多个第一训练得分数组调整神经网络的参数;在神经网络的损失函数满足预定条件时,获得训练好的所述神经网络,在神经网络的损失函数不满足预定条件时,继续输入训练图像组以重复执行上述训练过程。
例如,如图8所示,在训练模块715执行利用神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组的操作时,训练模块715具体用于:利用第一子神经网络提取第一训练图像的基本特征信息,以得到多个第一训练特征图;划分多个第一训练特征图,以得到与多个分支网络一一对应的多个第一训练图组;利用多个分支网络分别处理多个第一训练图组,以得到多个第一训练得分数组。
例如,在一些示例中,神经网络7105的损失函数包括多个第一损失函数,多个第一损失函数与多个分支网络一一对应。在训练模块715执行根据多个第一训练得分数组调整神经网络的参数时,训练模块715具体用于:获取与第一训练图像对应的多个第一目标得分数组;根据多个第一目标得分数组和多个第一训练得分数组,确定多个第一训练参数组,每个第一训练参数组包括一个第一目标得分数组和对应的第一训练得分数组;根据多个第一训练参数组,利用多个第一损失函数分别计算神经网络的多个第一参数修正值;利用多个第一参数修正值调整神经网络的参数。
例如,利用多个第一参数修正值调整神经网络的参数可以包括:利用多个第一修正参数调整第一子神经网络的参数;利用多个第一修正参数分别调整多个分支网络的参数。
例如,在一些示例中,神经网络7105的损失函数包括多个第二损失函数,多个第二损失函数与多个分支网络一一对应。训练模块715还用于:利用神经网络对第一训练图像进行分类处理,以得到与第一训练图像对应的多个第二训练图组;利用神经网络对第二训练图像进行分类处理,以得到与第二训练图像对应的多个第四训练图组;获取与第一训练图像对应的多个第一目标得分数组、与第二训练图像对应的多个第二目标得分数组;根据多个第一目标得分数组、多个第二目标得分数组、多个第二训练图组、多个第四训练图组,确定多个第二训练参数组,每个第二训练参数组包括一个第一目标得分数组、与第一目标得分数组对应的第二训练图组、一个第二目标得分数组和与第二目标得分数组对应的第四训练图组;根据多个第二训练参数组,利用多个第二损失函数分别计算神经网络的多个第二参数修正值;利用多个第二参数修正值调整神经网络的参数。
例如,利用多个第二参数修正值调整神经网络的参数可以包括:利用多个第二修正参数调整第一子神经网络的参数;利用多个第二修正参数分别调整多个分支网络的参数。
需要说明的是,利用训练模块715训练神经网络7105的具体过程可以参考上述图像处理方法的实施例中的相关描述,在此将省略其重复描述。
图9示出了根据本公开实施例的另一种图像处理装置的示意性框图。如图9所示,图像处理装置80可以包括存储器805和处理器810。存储器805和处理器810之间可以通过网络或系统实现数据传输。存储器805用于存储非暂时性计算机可读指令;处理器810用于运行所述计算机可读指令,所述计算机可读指令被处理器810运行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。
例如,处理器810可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器(GPU)等具有数据处理能力和/或程序执行能力的器件,并且可以控制图像处理装置80中的其它组件以执行期望的功能。中央处理元(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
例如,存储器805可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器810可以运行所述计算机可读指令,以实现图像处理装置的各种功能。
例如,存储器805和处理器810之间可以直接或间接地互相通信。
例如,关于利用图像处理装置80执行图像处理方法的处理过程的详细说明可以参考图像处理方法的实施例中的相关描述,重复之处不再赘述。
图10示出了根据本公开实施例的一种计算机可读存储介质的示意图。例如,如图10所示,在计算机可读存储介质900上可以存储一个或多个非暂时性计算机可读指令901。例如,当所述非暂时性计算机可读指令901由计算机执行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。
以上,参照附图描述了基于神经网络的图像处理方法、图像处理装置以及计算机可读存储介质,其利用神经网络对输入图像进行处理,将场景识别中的多标签分类任务简化为多个单标签分类任务,降低神经网络的训练难度,通过切分第二子神经网络的方式实现分别提取各子领域的各特定特征,从而实现多个单标签分类任务,在不增加神经网络成本的情况下,改善多标签分类的效果。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种基于神经网络的图像处理方法,包括:
获取输入图像;
利用所述神经网络对所述输入图像进行图像分类处理,以得到多个类别标签,
其中,所述神经网络包括第一子神经网络和第二子神经网络,所述第二子神经网络包括多个分支网络,所述多个分支网络中的至少两个分支网络并联设置,
利用所述神经网络对所述输入图像进行图像分类处理,以得到多个类别标签包括:
利用所述第一子神经网络提取所述输入图像的基本特征信息,以得到多个第一特征图;
划分所述多个第一特征图,以得到与所述多个分支网络一一对应的多个第一特征图组;
利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签,
其中,所述多个分支网络的通道数之间的比例与所述多个第一特征图的划分比例相同。
2.根据权利要求1所述的图像处理方法,其中,所述多个分支网络与多个子领域一一对应,每个子领域包括多个类别,
第N个分支网络与第N个子领域对应,且被配置为接收第N个第一特征图组,所述第N个第一特征图组中的第一特征图的数量和所述第N个子领域的类别数量正相关,
其中,N为正整数,N大于等于1且小于等于所述多个分支网络的数量。
3.根据权利要求2所述的图像处理方法,其中,每个分支网络包括卷积层组和全连接层,
利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签包括:
在所述第N个分支网络中,利用所述卷积层组提取所述第N个第一特征图组的高级特征信息,以得到第N个第二特征图组;利用所述全连接层处理所述第N个第二特征图组,以得到第N个输出向量;以及基于所述第N个输出向量得到对应的第N个类别标签。
4.根据权利要求3所述的图像处理方法,其中,每个分支网络还包括分类器,
基于所述第N个输出向量得到对应的第N个类别标签,包括:
在所述第N个分支网络中,基于所述第N个输出向量,利用所述分类器计算所述输入图像与所述第N个子领域对应的第N个得分数组,所述第N个得分数组包括与所述第N个子领域中的多个类别一一对应的多个得分数;
根据所述多个得分数,确定所述第N个类别标签。
5.根据权利要求3所述的图像处理方法,其中,所述第N个分支网络中的全连接层的输出向量中元素的数量和所述第N个子领域的类别数量相同。
6.根据权利要求3所述的图像处理方法,其中,所述第N个分支网络的卷积层组提取的高级特征信息和所述第N个子领域相对应。
7.根据权利要求2所述的图像处理方法,其中,每个子领域中的多个类别互斥。
8.根据权利要求1-7任一项所述的图像处理方法,还包括:预先训练所述神经网络,
其中,预先训练所述神经网络包括:
利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;
根据所述多个第一训练得分数组调整所述神经网络的参数;以及
在所述神经网络的损失函数满足预定条件时,获得训练好的所述神经网络,在所述神经网络的损失函数不满足预定条件时,继续输入所述第一训练图像以重复执行上述训练过程;
利用所述神经网络对所述第一训练图像进行分类处理,以得到多个第一训练得分数组包括:
利用所述第一子神经网络提取所述第一训练图像的基本特征信息,以得到多个第一训练特征图;
划分所述多个第一训练特征图,以得到与所述多个分支网络一一对应的多个第一训练图组;
利用所述多个分支网络分别处理所述多个第一训练图组,以得到所述多个第一训练得分数组。
9.根据权利要求8所述的图像处理方法,其中,所述神经网络的损失函数包括多个第一损失函数,所述多个第一损失函数与所述多个分支网络一一对应,
根据所述多个第一训练得分数组调整所述神经网络的参数包括:
获取与所述第一训练图像对应的多个第一目标得分数组;
根据所述多个第一目标得分数组和所述多个第一训练得分数组,确定多个第一训练参数组,每个第一训练参数组包括一个第一目标得分数组和对应的第一训练得分数组;
根据所述多个第一训练参数组,利用所述多个第一损失函数分别计算所述神经网络的多个第一参数修正值;
利用所述多个第一参数修正值调整所述神经网络的参数。
10.根据权利要求8所述的图像处理方法,其中,所述神经网络的损失函数包括多个第二损失函数,所述多个第二损失函数与所述多个分支网络一一对应,
预先训练所述神经网络还包括:
利用所述神经网络对第一训练图像进行分类处理,以得到与所述第一训练图像对应的多个第二训练图组;
利用所述神经网络对第二训练图像进行分类处理,以得到与所述第二训练图像对应的多个第四训练图组;
获取与所述第一训练图像对应的多个第一目标得分数组、与所述第二训练图像对应的多个第二目标得分数组;
根据所述多个第一目标得分数组、所述多个第二目标得分数组、所述多个第二训练图组、所述多个第四训练图组,确定多个第二训练参数组,每个第二训练参数组包括一个第一目标得分数组、与所述第一目标得分数组对应的第二训练图组、一个第二目标得分数组和与所述第二目标得分数组对应的第四训练图组;
根据所述多个第二训练参数组,利用所述多个第二损失函数分别计算所述神经网络的多个第二参数修正值;
利用所述多个第二参数修正值调整所述神经网络的参数。
11.一种图像处理装置,包括:
图像获取模块,用于获取输入图像;
图像处理模块,用于利用神经网络对所述输入图像进行图像分类处理,以得到多个类别标签,
其中,所述神经网络包括第一子神经网络和第二子神经网络,所述第二子神经网络被划分为多个分支网络,所述多个分支网络中的至少两个分支网络并联设置,
所述图像处理模块具体用于:
利用所述第一子神经网络提取所述输入图像的基本特征信息,以得到多个第一特征图;
划分所述多个第一特征图,以得到与所述多个分支网络一一对应的多个第一特征图组;
利用所述多个分支网络分别处理所述多个第一特征图组,以得到所述多个类别标签,
其中,所述多个分支网络的通道数之间的比例与所述多个第一特征图的划分比例相同。
12.根据权利要求11所述的图像处理装置,还包括:
训练模块,用于预先训练所述神经网络;
训练模块具体用于:
利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组;
根据所述多个第一训练得分数组调整所述神经网络的参数;以及
在所述神经网络的损失函数满足预定条件时,获得训练好的所述神经网络,在所述神经网络的损失函数不满足预定条件时,继续输入所述第一训练图像以重复执行上述训练过程;
其中,利用所述神经网络对第一训练图像进行分类处理,以得到多个第一训练得分数组包括:
利用所述第一子神经网络提取所述第一训练图像的基本特征信息,以得到多个第一训练特征图;
划分所述多个第一训练特征图,以得到与所述多个分支网络一一对应的多个第一训练图组;
利用所述多个分支网络分别处理所述多个第一训练图组,以得到所述多个第一训练得分数组。
13.一种图像处理装置,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述非暂时性计算机可读指令,所述非暂时性计算机可读指令被所述处理器运行时执行根据权利要求1-10任一所述的图像处理方法。
14.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机运行时执行根据权利要求1-10任一所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962141.XA CN109241880B (zh) | 2018-08-22 | 2018-08-22 | 图像处理方法、图像处理装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962141.XA CN109241880B (zh) | 2018-08-22 | 2018-08-22 | 图像处理方法、图像处理装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241880A CN109241880A (zh) | 2019-01-18 |
CN109241880B true CN109241880B (zh) | 2021-02-05 |
Family
ID=65068692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810962141.XA Active CN109241880B (zh) | 2018-08-22 | 2018-08-22 | 图像处理方法、图像处理装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241880B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783932A (zh) * | 2019-04-03 | 2020-10-16 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN111898622B (zh) * | 2019-05-05 | 2022-07-15 | 阿里巴巴集团控股有限公司 | 信息处理、信息显示与模型训练方法、系统及设备 |
CN111923919B (zh) * | 2019-05-13 | 2021-11-23 | 广州汽车集团股份有限公司 | 车辆控制方法、装置、计算机设备和存储介质 |
CN111656359A (zh) * | 2019-05-22 | 2020-09-11 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、终端、系统以及计算机可读存储介质 |
CN112016575A (zh) * | 2019-05-29 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 一种检测方法、计算机设备、存储介质 |
CN110188776A (zh) * | 2019-05-30 | 2019-08-30 | 京东方科技集团股份有限公司 | 图像处理方法及装置、神经网络的训练方法、存储介质 |
CN110288049B (zh) * | 2019-07-02 | 2022-05-24 | 北京字节跳动网络技术有限公司 | 用于生成图像识别模型的方法和装置 |
DE102019211116A1 (de) * | 2019-07-26 | 2021-01-28 | Robert Bosch Gmbh | Auswerteeinrichtung zum Auswerten eines Eingangssignals sowie Kamera umfassend die Auswerteeinrichtung |
CN112425865B (zh) * | 2019-08-08 | 2022-03-11 | 意礴数字科技(深圳)有限公司 | 生成鞋楦以及评估鞋楦舒适度的方法、装置及系统 |
CN110782468B (zh) * | 2019-10-25 | 2023-04-07 | 北京达佳互联信息技术有限公司 | 图像分割模型的训练方法及装置及图像分割方法及装置 |
CN110837818A (zh) * | 2019-11-18 | 2020-02-25 | 汕头大学 | 一种基于卷积神经网路的中华白海豚背鳍识别方法 |
CN110991373A (zh) * | 2019-12-09 | 2020-04-10 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置、电子设备及介质 |
CN111444788B (zh) * | 2020-03-12 | 2024-03-15 | 成都旷视金智科技有限公司 | 行为识别的方法、装置及计算机存储介质 |
CN111507403A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 图像分类方法、装置、计算机设备和存储介质 |
CN111506755A (zh) * | 2020-04-22 | 2020-08-07 | 广东博智林机器人有限公司 | 图片集的分类方法和装置 |
CN111967381B (zh) * | 2020-08-16 | 2022-11-11 | 云知声智能科技股份有限公司 | 一种人脸图像质量评分标注方法及装置 |
CN113762304B (zh) * | 2020-11-26 | 2024-02-06 | 北京京东乾石科技有限公司 | 图像处理方法、图像处理装置和电子设备 |
CN113723448A (zh) * | 2021-07-16 | 2021-11-30 | 北京工业大学 | 图像中对象分类和计数方法、装置、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2833295A2 (en) * | 2013-07-31 | 2015-02-04 | Fujitsu Limited | Convolutional-neural-network-based classifier and classifying method and training methods for the same |
CN106599869A (zh) * | 2016-12-22 | 2017-04-26 | 安徽大学 | 一种基于多任务卷积神经网络的车辆属性识别方法 |
CN106778583A (zh) * | 2016-12-07 | 2017-05-31 | 北京理工大学 | 基于卷积神经网络的车辆属性识别方法与装置 |
CN106909943A (zh) * | 2017-02-28 | 2017-06-30 | 深圳市捷顺科技实业股份有限公司 | 一种基于卷积神经网络模型鉴别车辆颜色的方法及装置 |
CN106934392A (zh) * | 2017-02-28 | 2017-07-07 | 西交利物浦大学 | 基于多任务学习卷积神经网络的车标识别及属性预测方法 |
CN107977671A (zh) * | 2017-10-27 | 2018-05-01 | 浙江工业大学 | 一种基于多任务卷积神经网络的舌象分类方法 |
-
2018
- 2018-08-22 CN CN201810962141.XA patent/CN109241880B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2833295A2 (en) * | 2013-07-31 | 2015-02-04 | Fujitsu Limited | Convolutional-neural-network-based classifier and classifying method and training methods for the same |
CN106778583A (zh) * | 2016-12-07 | 2017-05-31 | 北京理工大学 | 基于卷积神经网络的车辆属性识别方法与装置 |
CN106599869A (zh) * | 2016-12-22 | 2017-04-26 | 安徽大学 | 一种基于多任务卷积神经网络的车辆属性识别方法 |
CN106909943A (zh) * | 2017-02-28 | 2017-06-30 | 深圳市捷顺科技实业股份有限公司 | 一种基于卷积神经网络模型鉴别车辆颜色的方法及装置 |
CN106934392A (zh) * | 2017-02-28 | 2017-07-07 | 西交利物浦大学 | 基于多任务学习卷积神经网络的车标识别及属性预测方法 |
CN107977671A (zh) * | 2017-10-27 | 2018-05-01 | 浙江工业大学 | 一种基于多任务卷积神经网络的舌象分类方法 |
Non-Patent Citations (3)
Title |
---|
A Deep Multi-Modal CNN for Multi-Instance Multi-Label Image Classification;Lingyun Song 等;《IEEE Transactions on Image Processing》;20180810;第27卷(第12期);第6025-6038页 * |
Multi-label CNN based pedestrian attribute learning for soft biometrics;Jianqing Zhu等;《2015 International Conference on Biometrics》;20150522;第535-540页 * |
基于卷积神经网络的多标签场景分类;陈智;《中国优秀硕士学位论文全文数据信息科技辑》;20160229(第2期);第I138-1318页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109241880A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241880B (zh) | 图像处理方法、图像处理装置、计算机可读存储介质 | |
WO2020216227A1 (zh) | 图像分类方法、数据处理方法和装置 | |
WO2021042828A1 (zh) | 神经网络模型压缩的方法、装置、存储介质和芯片 | |
WO2021043168A1 (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
US9436895B1 (en) | Method for determining similarity of objects represented in images | |
WO2019100724A1 (zh) | 训练多标签分类模型的方法和装置 | |
US11151361B2 (en) | Dynamic emotion recognition in unconstrained scenarios | |
WO2019100723A1 (zh) | 训练多标签分类模型的方法和装置 | |
US9501724B1 (en) | Font recognition and font similarity learning using a deep neural network | |
US9786036B2 (en) | Reducing image resolution in deep convolutional networks | |
US20180114071A1 (en) | Method for analysing media content | |
KR102338372B1 (ko) | 영상으로부터 객체를 분할하는 방법 및 장치 | |
US8379994B2 (en) | Digital image analysis utilizing multiple human labels | |
US20220138454A1 (en) | Training method and training apparatus for a neural network for object recognition | |
CN106156777B (zh) | 文本图片检测方法及装置 | |
CN112651438A (zh) | 多类别图像的分类方法、装置、终端设备和存储介质 | |
CN109413510B (zh) | 视频摘要生成方法和装置、电子设备、计算机存储介质 | |
WO2018004980A1 (en) | Technologies for classification using sparse coding in real time | |
CN112132145B (zh) | 一种基于模型扩展卷积神经网络的图像分类方法及系统 | |
WO2020048359A1 (en) | Method, system, and computer-readable medium for improving quality of low-light images | |
WO2021262399A1 (en) | Task-based image masking | |
CN112418327A (zh) | 图像分类模型的训练方法、装置、电子设备以及存储介质 | |
CN108985442B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN113743426A (zh) | 一种训练方法、装置、设备以及计算机可读存储介质 | |
US11176455B2 (en) | Learning data generation apparatus and learning data generation method |
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 |