基于卷积神经网络的图像识别方法、系统、终端和介质
文献发布时间:2023-06-19 10:00:31
技术领域
本发明属于图像处理及模式识别的技术领域,具体涉及的是一种基于卷积神经网络的图像识别方法、系统、终端和介质。
背景技术
在图像处理与模式识别领域中,最为常见的一个任务便是图像识别任务。在经典的图像识别数据集如CIFAR10中,图像的类别包括10类:飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车,在更大的数据集上,如IMAGENET,则包含了高达2000多个类别共计1500万张图像。图像识别任务在本质上就是一个分类任务,研究者们需要求解出一个有效的分类器,来准确地将一张图像分类到它所属的真实类别中。早期的研究者们在图像识别任务的相关研究中,所采用的是一些简单的经典图像处理方法,比如高斯模糊、特征金字塔提取等等,研究者们往往将这些经典的图像处理手段结合在一起,再配合一些先验知识,最终只能得到一个性能有限的图像识别方法。
近年来,随着大规模数据集的出现和图形处理单元运算能力的进步,神经网络模型因其强大的学习能力,开始越来越广泛地被应用于各个科研领域,包括计算机视觉、自然语言处理和推荐系统等等。图像识别任务在引入神经网络模型之后,也再次出现了飞速的发展,用于图像识别的神经网络结构从最早的多层感知机(multi-layer perceptron,MLP)发展到级联的卷积神经网络(convolution neural network,CNN),再到具有残差连接结构的残差网络(residual network,resnet);神经网络的层数也从浅结构的5层网络发展到深达152层的残差网络;在CIFAR10和IMAGENET上,研究者们开发出更多新颖的结构和更深层的神经网络,一次又一次地刷新了这些数据集上的识别准确率。
目前,在图像识别任务的工程实践中,训练出一个性能卓越的基于卷积神经网络模型的图像分类器并不复杂。然而,研究者们发现,神经网络的泛化性能在一定情形下是非常脆弱的。以图像识别任务为例,给定一个充分训练的网络,这个网络已经具有了优秀的泛化性能,即,网络在训练数据上取得较高的识别率的同时,也能在从未见过的测试数据上取得不错的识别准确率。但是,研究者们发现,如果将训练数据或者测试数据中的图像做一些精心设计的修改,这样的修改可以是加上一点噪声,或者甚至是一个像素级别的修改,修改后的图像在肉眼上和原图几无区别,也即人类仍然可以正确识别分类这些修改后的图像,然而,神经网络却会以极高的置信度对这些修改后的图像给出错误的分类结果。这些修改后的图像被称为对抗样本(adversarial example),生成对抗样本的过程被称为对抗攻击(adversarial attack),神经网络在对抗样本上令人堪忧的识别能力引发了对神经网络稳健性(robustness)的研究,并且,对网络稳健性的研究,也有助于对神经网络本质的探索,其意义是非常重大的。
发明内容
针对上述卷积神经网络普遍存在的在图像识别任务中具有脆弱的稳健性的问题,本发明提供一种基于卷积神经网络的图像识别方法、系统、终端和介质,该方法中采用了一种具有新颖结构的卷积神经网络作为图像分类器,可以保证卷积神经网络模型在干净的图像上保持高识别准确率的同时,也能在被扰动后的图像上维持高识别准确率,从而具有更强的稳健性。
本发明的第一方面,提供一种基于卷积神经网络的图像识别方法,包括:
采用训练图像训练执行图像识别任务的卷积神经网络模型;
将待识别的图像输入所述卷积神经网络模型,输出图像识别结果;
其中,所述卷积神经网络模型包括卷积神经网络,该卷积神经网络中嵌入一个正交多路径区块,所述正交多路径区块结构包含多条路径,每一条路径上的参数相互正交,增加所述卷积神经网络的稳健性。
可选地,所述训练出执行图像识别任务的卷积神经网络模型,包括:
S11,获取一批具有类别标记的训练图像;
S12,初始化一个卷积神经网络,在卷积神经网络中嵌入一个正交多路径区块,增加所述卷积神经网络的稳健性;
S13,从S11全部的图像中随机取一小批次图像,输入卷积神经网络,网络中正交多路径区块中的每条路径都会对图像输出一个预测的图像类别;
S14,对于每条路径,分别计算其输出的预测的图像类别与这批图像的真实类别之间的差异,对全部路径计算出的差异取加权平均;
S15,根据计算出的平均差异,用梯度下降法更新网络参数;
S16,重复S13到S15,直至平均差异收敛,或者设置一个足够多的重复次数,达到重复次数后便停止训练,从而获取到一个训练好的神经网络模型。
可选地,所述正交多路径区块嵌入在所述卷积神经网络的任意位置,具体根据具体使用业务需求确定。
可选地,所述正交多路径区块嵌入在所述卷积神经网络的最后线性层,则该区块中的每条路径即为一个线性层,这些路径上的线性层参数相互正交,这些线性层共享网络的前层。
可选地,所述正交多路径嵌入到在所述卷积神经网络的卷积层,则该区块中每条路径即为一个卷积层,这些路径上的卷积层参数相互正交,这些卷积层共享网络的剩余部分。
可选地,所述将待识别的图像输入所述卷积神经网络模型,输出图像识别结果,包括:
S21,将所述卷积神经网络模型部署到业务机器上;
S22,将待识别的图像输入到所述卷积神经网络模型中,所述卷积神经网络模型中的每条路径都会输出对该图像的预测结果;
S23,取这些路径的预测结果中出现次数最多的预测结果,作为该图像最终的预测结果。
可选地,所述方法还包括:在训练和识别之前,对所述训练图像、所述待识别的图像进行预处理和/或图像增强操作,包括:
所述预处理包括将图像尺寸缩放到同样大小、图像像素值大小的归一化;
所述图像增强操作包括在图像边缘补0像素再裁剪、随机水平翻转图像。
本发明的第二方面,提供一种基于卷积神经网络的图像识别系统,包括:
训练模块,该模块采用训练图像训练执行图像识别任务的卷积神经网络模型;
识别模块,该模块将待识别的图像输入所述卷积神经网络模型,输出图像识别结果;
其中,所述卷积神经网络模型包括卷积神经网络,该卷积神经网络中嵌入一个正交多路径区块,所述正交多路径区块结构包含多条路径,每一条路径上的参数相互正交,增加所述卷积神经网络的稳健性。
本发明的第三方面,提供一种电子终端,包括存储器、处理器及存储在存储器上并能在处理器上运行的计算机程序,所述处理器执行所述程序时用于执行上述的图像识别方法。
本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述的图像识别方法。
与现有技术相比,本发明实施例具有以下至少一种有益效果:
本发明实施例解决了目前普通的神经网络在图像识别任务下稳健性非常脆弱的问题,可以在维持图像识别的高准确率的同时,具有非常高的模型稳健性。
本发明实施例通过对正交多路径区块中每条路径上的参数施加正交约束,使得神经网络中的其余部分能够同时适应这些相互正交的路径,从而使卷积神经网络能够学到更加稳健的特征,能够对恶意修改后的图像仍然保持较高的识别准确率,从而增强网络的稳健性。
本发明实施例探究了正交多路径区块放置在卷积神经网络中不同位置对网络稳健性的影响,不同位置上的正交多路径区块对应的网络稳健性特性各不相同,这些特性可以指导卷积神经网络模型在图像识别不同业务场景需求下的具体的部署应用。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例的方法流程图;
图2是本发明一实施例的训练过程流程图。
图3是本发明一实施例的测试过程流程图。
图4是常规网络和本发明中嵌入了正交多路径区块的网络局部对比图。
图5a、5b、5c是本发明一实施例在神经网络中不同位置嵌入正交多路径区块的示意图。
图6是本发明一实施例的方法实施流程图。
图7是本发明一实施例具体应用场景的部署方式示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
参照图1所示,本发明实施例中的图像识别方法,采用一个卷积神经网络模型作为图像分类器,输入为待分类的图像,输出图像的类别。具体的,一种基于卷积神经网络的图像识别方法,包括:
S100,采用训练图像训练执行图像识别任务的卷积神经网络模型;
S200,将待识别的图像输入卷积神经网络模型,输出图像识别结果;
其中,卷积神经网络模型包括卷积神经网络,该卷积神经网络中嵌入一个正交多路径区块,正交多路径区块结构包含多条路径,每一条路径上的参数相互正交,增加卷积神经网络的稳健性。
本发明上述实施例解决了目前普通的神经网络在图像识别任务下稳健性非常脆弱的问题,可以在维持图像识别的高准确率的同时,具有非常高的模型稳健性。
在另一优选实施例中,本发明的基于卷积神经网络的图像识别方法,包括训练阶段和测试阶段两部分。首先在有标注的图像数据上训练出一个卷积神经网络,通过在网络中嵌入一个正交多路径区块结构,可以极大地增强网络的稳健性,之后将训练好的网络部署到实际业务中,对需要分类的图像执行图像识别任务。
具体的,参照图2所示,本优选实施例中训练阶段可以包括以下步骤:
第一步,获取一批具有类别标记的训练图像数据;
在获取上述的训练图像数据后,可以对这批训练数据做预处理操作和图像增强操作,其中,预处理操作包括将图像尺寸缩放到同样大小、图像像素值大小的归一化,图像增强操作包括在图像边缘补0像素再裁剪、随机水平翻转图像;
第二步,初始化一个卷积神经网络,根据具体使用业务需求在卷积神经网络中嵌入一个正交多路径区块结构;
第三步,从全部的图像数据中随机取一小批次图像,输入卷积神经网络,网络中正交多路径区块中的每条路径都会对图像输出一个预测的图像类别;
第四步,对于每条路径,分别计算其输出的预测类别与这批图像的真实类别之间的差异,对全部路径计算出的差异取加权平均;
第五步,根据计算出的平均差异,用梯度下降法更新网络参数;
第六步,重复第二步到第五步,直至平均差异收敛,或者设置一个足够多的重复次数,达到重复次数后便停止训练,从而获取到一个训练好的卷积神经网络模型。
参照图3所示,本优选实施例中测试阶段包括以下步骤:
第一步,将训练阶段中获取的卷积神经网络模型部署到业务机器上;
第二步,每获取到一张需要识别具体类别的图像;对这些图像可以进行与训练阶段中第一步相同的预处理操作;
第三步,载入训练阶段训练好的卷积神经网络模型,将预处理后的待识别图像输入到卷积神经网络模型中,卷积神经网络模型中的每条路径都会输出对该图像的预测结果;
第四步,取这些路径预测结果中的众数,即出现次数最多的预测结果,作为该图像最终的预测结果。
参照图3所示,在上述实施例基础上,作为优选,训练阶段第三步中包含正交多路径区块(Orthogonal Multi-Path block,OMP block)的卷积神经网络结构具体是:在经典的卷积神经网络结构中嵌入一个正交多路径区块,并约束区块中每一条路径上的参数相互正交,这个正交多路径区块可以嵌入在网络中的任意位置。举例说明,若正交多路径区块嵌入在网络的最后线性层,那么该区块中的每条路径即为一个线性层,这些路径上的线性层参数相互正交,这些线性层共享网络的前层;若正交多路径嵌入到网络的卷积层,那么该区块中每条路径即为一个卷积层,这些路径上的卷积层参数相互正交,这些卷积层共享网络的剩余部分。这些具体的位置根据实际的业务需求来选择,确定最终的神经网络模型结构。本发明实施例通过对正交多路径区块中每条路径上的参数施加正交约束,使得神经网络中的其余部分能够同时适应这些相互正交的路径,从而使卷积神经网络能够学到更加稳健的特征,能够对恶意修改后的图像仍然保持较高的识别准确率,从而增强网络的稳健性。
参照图4所示,常规网络和嵌入了正交多路径区块的网络局部对比图,正交多路径区块中包含多条路径,每条路径上的参数被约束成相互正交。
图5a、5b、5c展示了在卷积神经网络的三个不同位置处嵌入正交多路径区块之后的网络结构。自上而下依次为在卷积神经网络的第一层卷积、中间层卷积、最后线性层嵌入正交多路径区块。
在另一优选实施例中,具体说明基于将正交多路径区块放置在网络最后一层的情形,正交多路径区块放置在其它位置具有类似的训练方式,这里不再赘述。首先给出一些相关的符号说明:将最后的线性分类层记作g(·),将网络的剩下部分记作h(·),那么整个网络可以用g(h(·)):R
本发明实施例探究了正交多路径区块放置在卷积神经网络中不同位置对网络稳健性的影响,不同位置上的正交多路径区块对应的网络稳健性特性各不相同,这些特性可以指导卷积神经网络模型在图像识别不同业务场景需求下的具体的部署应用。
参照图6所示,展示的是一具体实施流程图,在该实施例中包括数据准备、模型训练和模型测试(部署)。其中,数据准备主要指训练数据的收集标注、预处理和数据增强,模型训练是为了得到一个用于图像识别的卷积神经网络模型,模型测试即为该卷积神经网络的实际部署应用。图7是在具体应用场景的部署方式示意图。具体的,本实施例中模型训练和模型测试详细说明如下。
本实施例中,模型训练包括:
S101,每次从训练图像集中取出一批图像样本,记为(x,y);
S102,将这批图像输入到正交多路径区块放置在最后一层的卷积神经网络中,进行模型的前向传播,再计算训练所需的损失函数如下:
loss=l
其中,l(·,·)表示损失函数,用来度量网络对图像x的预测类别结果g(h(x))和真实类别y之间的差异,L为路径数目,l
S103,根据随机梯度下降算法,计算损失函数相对于参数的梯度,并更新参数:
其中,θ表示网络中的全部参数,η表示随机梯度下降算法中的学习率。
S104,如果需要对抗训练,那么基于当前的网络,生成一批对应的对抗样本(x
S105,计算对抗样本对应的损失函数如下:
loss
S106,根据随机梯度下降算法,计算对抗样本上的损失函数相对于参数的梯度,并再次更新参数:
S107,重复S101~S106若干次,直到获得训练好的一个卷积神经网络模型M。
在上述获得卷积神经网络模型M后,进行下一步的模型测试,也就是测试过程。如图3所示:
S201,将训练好的卷积神经网络模型M部署到图像识别业务平台上;
S202,每接收到一张需要识别具体类别的图像,首先对其进行与训练阶段第一步中相同的预处理操作,不执行图像增强操作;
S203,载入模型M,将预处理后的待识别图像x
S204,取y
本发明上述实施例通过在网络中嵌入一个正交多路径区块结构,可以极大地增强网络的稳健性,之后将训练好的网络部署到实际业务中,对需要分类的图像执行图像识别任务,解决了目前普通的神经网络在图像识别任务下稳健性非常脆弱的问题,可以在维持图像识别的高准确率的同时,具有非常高的模型稳健性。
基于上述的图像识别方法,在本发明另一实施例中,对应提供一种基于卷积神经网络的图像识别系统,该系统包括:
训练模块,该模块采用训练图像训练执行图像识别任务的卷积神经网络模型;其中,卷积神经网络模型包括卷积神经网络,该卷积神经网络中嵌入一个正交多路径区块,正交多路径区块结构包含多条路径,每一条路径上的参数相互正交,增加卷积神经网络的稳健性;
识别模块,该模块将待识别的图像输入卷积神经网络模型,输出图像识别结果。
本发明上述实施例中,卷积神经网络模型在用于训练的图像数据上可以给出很高的识别准确率的同时,也能在从未见过的测试图像数据上具有优秀的识别性能。
上述实施例中的模块的实现具体可以参照上述图像识别方法实施例中的对应步骤,在此不再赘述。
在本发明另一实施例中,还提供一种电子终端,包括存储器、处理器及存储在存储器上并能在处理器上运行的计算机程序,所述处理器执行所述程序时用于执行上述的图像识别方法。
在本发明另一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述的图像识别方法。
需要说明的是,本发明提供的所述方法中的步骤,可以利用所述系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
- 基于卷积神经网络的图像识别方法、系统、终端和介质
- 一种基于卷积神经网络农业害虫识别方法、终端及可读存储介质