基于 的民族服饰识别系统的设计与实现
2022-01-18赵恩铭姚志强
赵恩铭,杨 松,姚志强
(大理大学工程学院,云南大理 671003)
我国是一个多民族融合的国家,其中民族服饰代表着各民族的特色〔1〕。由于受社会现代化的影响,具有数千年文化底蕴的民族服饰正在逐步淡出人们的视线。民族服饰的辨识能够起到科普民族服饰特点的作用〔2〕,对推广民族服饰文化,加强大众保护民族文化的意识有较好的促进作用。
民族服饰识别系统需要对用户在不同环境下所拍摄的图像进行识别。通常图像识别效果受许多因素影响〔3〕,例如光照强度〔4〕、拍摄角度〔5〕和复杂背景〔6〕等。传统的目标识别方法采用手动设计特征的方式〔7〕,模型只能够获得目标的颜色、梯度、纹理和形状等基础特征信息并无法做到目标深度特征信息的提取,往往导致在复杂背景下识别效率不理想。2012年卷积神经网络(convolutional neural networks,CNN)〔8〕的兴起突破了传统目标识别方法中图像特征提取的瓶颈,该网络能够自主学习目标特征并达到较好的分类效果。
目前常见的目标识别算法基本都基于CNN〔9〕,其中以One-Stage为代表的YOLO算法〔10〕与SSD算法〔11〕,Two-Stage为代表的Faster-RCNN算法〔12〕效果最为突出。通过综合对比分析上述3种算法在民族服饰识别上的效果,设计一种基于Faster-RCNN算法的民族服饰识别系统。该系统能够有效地识别白族、苗族和蒙古族服饰。
1 Faster-RCNN算法
1.1 Faster-RCNN算法原理Faster-RCNN算法属于RCNN算法系列的目标识别算法〔13〕,该算法在特征提取和分类能力上都有很好的效果。Faster-RCNN算法最早由Shaoqing Ren等人提出,针对Fast-RCNN算法〔14〕选择性搜索找出所有候选框耗时长的问题,在Fast-RCNN算法基础上采用区域建议网络(region proposal networks,RPN)来提高模型分类效率,实现了真正意义上的端到端识别。
Faster-RCNN算法基本结构图如图1所示,主要由特征图提取、RPN、ROI(regions of interest,ROI)池化和分类这4部分组成。输入图像经卷积层、ReLu层和池化层后得到特征图像,此处常用的图像特征提取网络有VGG16网络〔15〕、ResNet50网络〔16〕和Xception网络〔17〕。本设计选取具有残差网络结构的ResNet50网络作为主干特征提取网络,其主要目的是为了克服因网络深度加深导致模型学习效率低和准确度无法很好提升的问题。RPN网络主要用于生成高质量建议区域框。ROI池化可以从不同大小的建议区域得到固定大小的特征图,便于分类阶段的特征图进行全连接操作。分类部分包括分类层和回归层。分类层主要用来确定检测目标的类别,回归层用来得到预测目标的准确位置区域即边界框。Faster-RCNN算法主要用于提取高质量建议区域的特征并对建议区域进行分类操作〔18〕。
图1 Faster-RCNN的构成
1.2 非极大抑制算法原理通常在Faster-RCNN算法最后一层使用非极大抑制(non-maximum suppression,NMS)算法〔19〕,该算法能根据边界框的不同置信度(系统给出的边界框分数)消除多余的边界框,只保留置信度最大的边界框。因此NMS能够达到搜索局部极大值,抑制非极大值元素的效果。抑制效果见图2(该图像拍摄于大理古城街市)。
图2 NMS消除多余边界框
1.3 Faster-RCNN算法损失函数在Faster-RCNN算法中,对一张图像的多任务损失函数定义为:
其中,pi是框内预测为目标的概率,pi*是实际目标的概率,Ncls和Nreg为标准化项,λ为权衡系数,ti是一个向量,代表预测的边界框的参数坐标,ti*为候选框相对于目标所在的真实框的实际偏移量。关于pi*、ti和ti*的定义如下:
其中,
Lcls(pi,pi*)是针对目标与非目标类别的对数损失,可表示为:
Lreg(ti,ti*)是针对目标与非目标类别的对数损失,可表示为:
其中,
在该算法中,RPN网络使用随机梯度下降法优化损失函数,找到损失函数的最小值,同时也完成参数的调整。RPN网络的输出经NMS算法能够有效得到候选框。
2 民族服饰识别系统实现
2.1 数据集的构成截至目前,互联网上仍未有较为权威的传统民族服饰数据集,所以本模型数据集采用人为收集互联网上的民族服饰图像,见图3,经图像数据筛选后得到白族、苗族和蒙古族服饰图像各1 000张。将所得数据集使用LabelImg工具进行不同标签的标记,为后续的神经网络训练做好铺垫。本模型所使用的数据集严格按照ImageNet公布的VOC2007标准数据集格式进行预处理。数据集按照训练集和测试集9:1的比例进行划分,并采用Tensorboard监控模型的训练过程做到实时掌控训练进度。苗族服饰种类繁多,据不完全统计已超上百种,苗族服饰的头饰主要以银饰为主,服饰仍保持织、绣和染等工艺技法使得服饰图案溢彩流光。白族崇尚白色,以白色为尊贵,白族服饰基本以白色作为底色,头缠绣花包头和腰系短围腰,色彩鲜明,美观大方。蒙古族服饰以蒙古袍为主,蒙古袍以宽大袖长、高领居多。同时腰带也是蒙古族服饰的一部分,一般与蒙古袍颜色相近,美观的同时也起到防寒保暖作用。
图3 数据集示例
2.2 民族服饰识别系统的网络模型训练Faster-RCNN算法由RPN网络和Fast-RCNN算法组合而成,所以相应的训练阶段也包括两个部分。
(1)RPN网络使用随机梯度下降法进行训练。基于ImageNet公布的VOC2007标准数据集采用迁移学习的方式初始化本模型RPN网络。
(2)Fast-RCNN网络同样也是利用ImageNet分类任务预训练网络实现初始化,得到一个单独的检测网络。Faster-RCNN算法允许不同尺寸的输入图像,该算法通常会把输入的图像短边尺寸固定到600像素,并保留原图比例避免失真。原图像首先经过5层卷积得到特征图,最终将特征图经全连接层连接得到区域边界框和每个类别的概率,此时两个网络还未共享卷积层。
接下来用检测网络初始化RPN网络训练,此时固定共享卷积层只微调RPN网络独有的参数层,达到两个网络已经共享卷积层的目的。最后保持共享的卷积层,微调Fast-RCNN的全连接层。经上述步骤后两个网络已经共享了相同的卷积层并构成了统一的网络。
2.3 系统框图民族服饰识别系统的识别流程图见图4,将原图像传入已经训练好的Faster-RCNN民族服饰识别系统中,系统会自动对原图像进行目标识别并对识别结果进行判断。当识别到目标时,系统会通过计算给出识别后带有边界框的图像和对应的识别信息,若未识别到目标则直接结束本次任务。系统的输出信息包括类别、置信度和目标对应位置的坐标信息。
图4 系统框图
3 识别效果分析
3.1 评价方法精准度(Precision)和召回率(Recall)是常见的二分类模型评价指标,用在多分类模型中往往很难准确评价模型的好坏。平均精度(average precision,AP)综合了精准度和召回率对模型效果的评价,该指标是多分类模型中较为常见的评价指标。平均精度值(mean average precision,MAP)是将AP求平均得到,进一步提高了指标对模型评价的准确度。
精准度的表达如下:
其中,NTP是被判定为正确的个数;NFP是被判定为错误的个数。
召回率一般指的是某类目标对应的识别率,其表达式为:
其中,NFN为漏检的个数。
MAP的定义如下:
其中,QR是数据集R的总类别数;q为数据集的类别。理论上模型的MAP值越大,模型分类效果越好。
3.2 民族服饰识别效果本系统的AP值与MAP值见图5~6。从AP图上可以看出召回率和精准度所构成的曲线下方的面积即为对应分类的AP值。图5中白族服饰和白族帽子的AP值分别为81.75%和73.92%,在本次数据集6类图像中分类效果最好。苗族服饰的AP值仅为47.67%,识别效果最差。苗族服饰种类繁多,网络上收集的高质量苗族服饰图像较少,这应该是本次实验苗族服饰识别效果最差的根本原因。MAP图是对所有类的AP值求平均得到,可以看出本系统的平均精度值为67.88%,能够满足辨识民族服饰的需求。
图5 模型AP值
图6 模型MAP值
本次实验是为了起到弘扬民族服饰文化的作用,帮助人们了解民族服饰文化和正确辨识大部分白族、苗族和蒙古族服饰图像。综合所有分类效果可以得出民族服饰识别系统满足本次对白族、苗族和蒙古族服饰识别的需求。
本文所搭建的民族服饰识别系统的目标识别效果见图7。可以看出,本系统能够以较高的准确率识别白族、蒙古族和苗族服饰。同时此次测试属于复杂背景下的目标识别,本识别系统能够有效避开干扰服饰图像,从复杂背景中提取对应的民族服饰信息。同时在系统界面的下方可以清楚地看到系统给出该图像被识别出的所有类别、置信度和坐标信息。该系统基本能够正确标记出对应民族服饰图像,部分蒙古族帽子未被识别,原因可能是一张图像中出现多个目标,识别难度提高以及蒙古族服饰品类繁多,数据集不够完善。
图7 民族服饰识别系统的识别效果
为测试本系统的有效性,通过与YOLOV4算法、SSD算法进行比对,结果见表1。从表中可以看出Faster-RCNN算法模型训练时间较长,但其MAP值为67.88%,在3种不同的模型中效果最好,Faster-RCNN算法比YOLOV4算法的MAP值提升了13.24%,比SSD算法的MAP值提升了20.56%。故Faster-RCNN算法应用在本文所设计的民族服饰识别系统中识别效果更佳,更能满足本项研究的需求,同时数据集的多样性也保证了该模型的泛化能力。从表中也可看出,YOLOV4算法和SSD算法虽然模型训练时间较短,但MAP值远远不及Faster-RCNN算法,并不满足本研究识别精度的需求。
表1 不同算法在民族服饰数据集上的识别效果
4 结论
本文基于Faster-RCNN算法设计了民族服饰识别系统,与YOLOV4算法和SSD算法相比,Faster-RCNN算法具有更高的MAP值,能够满足对白族、苗族和蒙古族民族服饰的辨识需求。Faster-RCNN算法作为Two-Stage的代表算法,利用RPN网络结合Fast-RCNN网络,比One-Stage算法达到了更好的民族服饰识别效果。该系统能够起到科普民族服饰特点和推广民族服饰文化的作用。