多标签自然场景图片识别
2022-12-05安徽新华学院大数据与人工智能学院曹天成
安徽新华学院大数据与人工智能学院 曹天成
近年来,图像识别已经成为机器学习领域的研究热点,由于当前情况下,一张图片涵盖了许多的语义内容,使得传统的单标签分类已无法满足图像分类需求。为了解决自然场景图片识别问题,在多标签分类的基础上,使用卷积神经网络进行特征提取,提出了一种多标签自然场景图片识别的方法。
随着互联网及其衍生应用的不断普及,一个信息量呈指数增长的大数据时代已然到来,随之而来的则是计算机技术的飞速发展,其中就包括计算机视觉[1]与机器学习[2]技术等领域。这是因为人们对于图像应用的需求的不断提高,让各种图像类研究问题诞生。图片的识别分类一直是计算机视觉领域的基础任务,而以往的单标签图像识别只能赋予图像一个标签,而一张图像一般会包含多种物体与特征,不能满足现在需求,因此多标签图像分类的研究是现在的主要方向。在过往的单标签图像分类的研究中,人工神经网络有了广泛的应用,其中卷积神经网络的应用的效果尤为出色。但现实生活中的自然场景图像往往更加复杂,存在着物体遮挡、光线过强等各种各样的问题,提高了对于图像识别分类的难度,而不是再像以前一样直接使用现有的卷积神经网络架构。因此必须要深入地研究探索卷积神经网络在多标签图像分类中的应用。基于此,本文基于CNN 模型进行了多标签自然场景图像的分类,实验结果证明该方法有着优秀的分类精度,而对于真实图片的识别结果也有着一定的精准度。
1 相关理论基础
1.1 多标签分类
近年来,科技界掀起了一股前所未有的人工智能热潮。而在人工智能领域有一种说法,认为机器学习是人工智能领域中最能够体现智能的一个分支,也是发展最快的一个分支。机器学习旨在利用大量数据进行大量训练,从而让计算机获得与人类类似的学习能力,其应用遍及人工智能的各个领域。其中,分类问题就是最为典型的机器学习问题。
在传统的分类框架中,数据集中的每个样本通常只与一个标签关联,而在多标签分类问题中,一个样本通常可能关联多个标签,此种类型的数据集被称为多标签数据,比如一张照片可能拥有风景、人物等多个主题;一张图片可能包含“树木”“湖泊”“蓝天”等元素。近十几年中,多标签分类[3]已经成为了机器学习领域的研究热点之一,吸引了大量研究者的关注,并在多媒体内容自动标注、信息检索、个性化推荐、生物信息学[4]等多个领域得到了应用。
现如今有多种解决多标签问题的方法途径,其主要分为两大类:一是基于问题转化的方法,二是基于算法适用的方法。基于问题转化的方法就是将其转化为问题数据,然后再去使用现有的算法;基于算法适用的方法主要是对于设定的算法去加以扩展,然后去处理多标记数据,改进算法,适用数据。其中问题转化方法通常会将多标签问题转换为它类问题方法,然后利用相关的模型进行处理。其次,由于多标签的标签问题有着巨大的价值,所以根据标签问题可以划分为三步走:第一步策略,二步策略和终步策略。第一步时候不考虑样本与标签的相关性,第二步时候需要对样本与标签之间相关性考虑,而最后一步策略需要对比标签之间关系进行分析,相较于前两种高阶策略具有更强的探索性。
1.2 卷积神经网络
近几年大数据技术和人工智能迅速发展,大数据时代随之来临,为人工智能技术的发展提供了无穷无尽的数据样本,而深度学习则是新时代人工智能技术进一步发展的最主要推动力。深度学习是机器学习的一种,是一种无监督学习,它基于一种学术假设:即人类对外界环境的了解过程最终可以归结为一种单一算法,而人脑的神经元可以通过这种算法分化出识别不同物体的能力,而且整个识别过程完全不需要外界干涉。
卷积神经网络(Convolutional Neural Networks,CNN)[5]是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习[6]的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。
基础的CNN 由卷积、激活和池化三种结构组成。CNN输入的是需要识别的图像,输出的结果是每幅图像的特定特征空间。在处理图像分类任务时,把CNN 输出的特征空间作为分类算法的输入,得到图片到标签的映射,再将训练结果返回,迭代调整网络权重,直至获得最佳的分类效果。
2 实验构建
基于此,为了提升前文理论研究的实际可操作性,本章将自然场景图片进行CNN 算法特征提取后再用基础的多标签学习算法进行分类,得到一个端到端的图像识别。
2.1 实验环境
本章实验的硬件环境为Intel(R) Xeon(R) CPU E5-2650 2.60GHz CPU;操作系统为Linux 5.4.0-62-generic。使用TensorFlow[7]搭建卷积神经网络,TensorFlow 是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现。实验的环境变量为Python3.6,Numpy1.19,TensorFlow2.0。
2.2 评价指标介绍
为综合评价本文提出的算法是否真实有效,我们从错误率、精度等多个方面对算法进行了评估,评价指标选用4 个常用多标签学习评价指标,分别是平均精度(Average Precision,AP)、覆盖率(Coverage,CV)、汉明损失(Hamming Loss,HL)、1-错误率(One-Error,OE)。为方便简写为AP↑、CV↓、HL↓、OE↓,其中↑表示数值越高越好,↓表示数值越低越好。设多标签分类器h(·),预测函数f(·,·),排序函数为rankf,多标签数据集D={(xi,Yi|1≤i≤n)},以上4 种评价指标的详细解读如下:
(1)Average Precision(AP):评估特定标签y∈Yi排列的正确标签的平均分数,数值越高越好。
(2)Coverage (CV):度量平局需要多少步才能遍历样本所有的相关标记,数值越低越好。
(3)Hamming Loss(HL):度量样本在单个标签情况下的真实标签和预测标签的错误匹配情况,数值越低越好。
(4)One-Error(OE):评估对象最高排位标签并非正确标签的次数,数值越低越好。
2.3 预训练
诸多研究表明,同类型的图像数据底层特征都具有强相关性,诸如自然场景中的颜色、纹理等特征,所以,本章使用Image 数据集进行模型的预训练。多标签数据集Image 选自于数据集ImageNet[8],是专门用于多标签分类的自然场景图像数据集,共有5000 张自然场景图片,包含“沙漠”“山”“湖泊”“晚霞”“树”5 个标签,如图1所示是一张Image 数据集中的图片与标签。
图1 自然场景图片与标签Fig.1 Nature scene pictures and tags
本章预训练迭代20 次以达到收敛,最终结果截图如图2所示。
图2 CNN-MLNCE 实验结果Fig.2 CNN-MLNCE experimental results
将结果中的HL、AP、OE、RL 指标与经典的多标签分类算法MLRKELM 算法[9]、MLFE 算法[10]、LIFT 算法[11]进行对比,对比结果如表1所示,占优算法加粗表示。
表1 应用实验结果Tab.1 Application experiment results
实验结果表明,由于本文方法的深度学习过程,在各项指标上都要优于其他多标签学习算法。证明了本文方法有着较好的分类精度。
2.4 实际应用
为了检验本文方法的实际应用效果,我们人工拍摄了多张自然场景图片,使用已预训练好的本文方法进行分类,下面展示部分训练后的分类预测结果。
上面列举了两张照片与分类结果(如图3、图4所示),照片的识别结果为“山”“湖泊”,可以看出,算法基本分类准确,但还有部分的遗漏,因此还有进一步改进的空间。总体可以推断出本文方法对自然场景图片有着一定的识别能力,并且有较高的准确度。
图3 自然场景照片Fig.3 Natural scene photos
图4 图片的识别结果Fig.4 Image recognition results
3 结语
本章选取CNN 作为预训练模型进行图像的特征提取,并用多标签分类算法进行分类,构建了CNN-ML算法进行实际场景的应用。结合目前主流的多标记算法进行对比试验,得到的结果显示本文方法具有一定优势。同时,我们使用本文方法对人工拍摄的真实自然场景图片进行识别,得到了不错的分类效果。