X光安检数据集类别相互影响可视化分析方法
2022-09-09李小东焦天雨刘畅祁海涛
李小东 焦天雨 刘畅 祁海涛
(北京市地铁运营一分公司 北京市 102209)
1 序言
X 光安检是地铁、飞机等运输工具中最常使用的安全检测方法,其中人工检查扮演着最重要的角色。由于检测人员难以时刻保持高度的集中性和前后判断的一致性,因此基于深度学习的X 光图片目标检测成为一种理想的辅助检测方法,因为计算机可以时刻不断地工作,从而可提高检测的可信度。
X 光图片的目标检测中,数据集的大小、所含类别、标记质量等都会影响模型的识别结果,有一些X 光安检图片目标检测的研究者们对数据集进行了研究,并发布了一些的数据集:最早的Grima X-ray Dataset数据集有 19,407 张图片,但仅有五个类别,并且图片太简单;SIXray 数据集包含 1,059,231 张图片,其中有违禁品有 8,929 张,并且包括不同尺度、角度和遮挡等情况;PIDray 数据包含了47,677 张图片,并将测试数据集中的物品检测难度分为了easy、hard、hidden 三个等级;OPIXray 数据集包含 8,885张图片,也在测试集上对检测难度进行了划分。这些数据集存在的普遍缺陷为包含非违禁品的图片占比很大,而违禁品图片较少,并且只对含违禁品的图片进行了标记,因此,这些数据集可做研究用途,实用性尚不够。
本文 的X 光安检数据集是声迅股份公司在地铁安检实际环境中采集的彩色图片,每张图片包含多个目标物品,经过人工标记制作成了 PascalVOC 格式的数据集,包括 JPEG格式的图像和 XML 格式的标记文件。整个数据集共有 9,211张图片,包含 32 个类别,包括违禁品和非违禁品中的各个种类,图像大小不一致,但大都在1000*1000 像素左右,每个种类的数量如图1 所示。
图1 :实验数据集类别数量分布柱状图
数据集经过观察,发现32 个类别有如下特点:
(1)baggedliquid 类与plastic 类和can 类之间在形状和颜色方面很相似;
(2)fixture 类与oil 类和spray 类别之间形状和颜色方面很相似;
(3)foldknife 类中,在折叠刀没有折叠的时候,形状与颜色与knife 类非常一致;
(4)wrench 类中,有一类扳手的形状与scissors 类很相似。
造成上述特点的原因是这些物品图像差异太小,在进行类间划分时,虽然人类认知概念上属于不同的类别,但实际上在组成材质(展示在X 光安检图片上即为颜色)、外型(展示在X 光安检图片上极为轮廓)上都极为相似,这让标记人员在标记的过程中需要耗费更大的精力来进行区分。
同时,我们发现物品图像差异太小会造成标记不一致性的问题。在目标检测中包括目标类别标记和目标物品的框标记,标记人员首先需要识别出目标物品的位置,然后使用矩形框将其框住,再判断框内物品的类别,对于相同和相似物品的判断,不同标记人员之间具有不一致性,首先是框的大小、对物品的包裹情况存在不一致性,其次是对类似的物品每个标记员的判断具有不一致性,这就导致了在标记问题中会存在较大的标记不一致问题。
由于数据分类问题对模型的训练结果有着很大的影响,旷世在公布Objects365 数据集时,同时公布了构建该数据集时重点关注的问题及解决方法,其中特别强调了数据分类一致性问题,指出由于数据集的规模很大,这个项目将会涉及到很多标记人员,如果没有一致的识别和注释规则,对同一图像将会得到不同的标记结果,导致数据集标记产生歧义。数据分类不一致属于数据标记错误中的一个种类,当对几个类别的数据边界模糊不清,则会导致这些类别的标记发生混乱,从而降低整个数据集的质量,最终降低模型的表现性能。
为了改进数据集的质量,需要研究数据集中存在的分类问题,因此有必要研究一个有效的数据集分类合理性的分析方法。
2 研究方法
以R-CNN 进行目标检测为例,找到可能存在物体的候选区域region proposal 大小resize 到227×227,通过CNN 对候选区域提取特征向量,2000 个建议框的CNN 特征组成2000×4096 为矩阵,将2000×4096 的特征矩阵和20 个SVM组成的权重矩阵4096×20 相乘,获得2000×20 的矩阵;得到2000 个类别得分矩阵,得分最高的即为候选框中物体的类别。可见,算法实质是对特征向量进行判断类来分类。因此对特征向量量化和可视化分析能够评估数据集的分类质量。
在计算机视觉领域面对的是高维的数据,常用的计算机视觉网络会将维度上升至256、512 甚至更高的维度。高维的数据具有难以直观分析的弊病,因此,为了更好的分析高维数据,便提出了降维的方法。降维包含以下基本作用:可以缓解维数灾难,即提高样本密度,以及使基于欧氏距离的算法重新生效;可以对数据预处理,对数据去冗余、降低信噪比;方便可视化等。针对图像高维数据,使用降维算法进行降维,将难以可视化的高维数据尽量保持其高纬度的一定特性至低维,是一种让研究者可以直观分析数据集情况并且进行数据分析的优秀方法。
t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,是由 Laurens van der Maaten 和Geoあrey Hinton 在2008年提出来。t-SNE 是一种非线性降维算法,非常适用于将高维数据降维到2 维或者3 维,进行可视化。相对于PCA 来说,t-SNE 可以说是一种更高级有效的方法。t-SNE 基于随机近邻嵌入(SNE),属于非线性降维技术(广义上“非线性降维技术”≈“流形学习”,狭义上后者是前者子集)。这类技术假设高维数据实际上处于一个比所处空间维度低的非线性流形上,因此侧重让相似的近邻点在低维表示中靠近。使用梯度下降的方法来进行学习,将低维分布拟合高维分布。SNE 方法的两个主要的降维思路为:将欧式距离转化为条件概率来表征数据点之间的相似度,使用梯度下降算法来使低维分布拟合高维分布。
将其作为降维工具可视化MINIST 数据集6000 张图片的效果如图2 所示,各个数字间有较明显的界限,且各类别较为聚集,可以看出t-SNE 具有优秀的拟合效果。
图2 :MINIST 数据集t-SNE 可视化结果
本文采用t-SNE 简单版本算法,其降维可视化的流程为:
Data:准备数据集X={x,x,...,x},
计算损失函数(cost function)参数:困惑度 Perp,
优化参数(optimization parameters):设置迭代次数T,学习率η,动量α(t)。
目标结果:低维数据表示γ={y,y,...,y}。
3 可视化分析与实验结果
3.1 可视化分析
降维可视化能够与数据集高维特征的相对距离保持一致,通过在X 光安检数据集中挑选了两组数据进行实验,一组数据都含有类别刀,另一组组数据分别包含类别手机和类别塑料瓶,每组分别只选取两个类别进行实验是为了让实验的结果更清晰、更易于分析。
根据人们对于分类的先验知识,刀和塑料瓶、刀和手机都是完全不同的两类物品,在高维数据中的分布应该都有比较大的距离,相应地映射到低维也会相互分离。因此根据标记框信息剥离数据集中的这三类目标物品,并分别对其中的两类物品进行t-SNE 可视化,对t-SNE 降维后的数据坐标进行了归一化处理,以方便在二维平面进行展示和分析,其可视化结果及目标物品数量如表1 所示。
表1 :物品t-SNE 可视化展示表
对数据集分类合理情况的分析,如上所做的实验分析,类别间的数据重合程度对最终的模型表现结果会产生比较大的影响。当对一个数据集进行分析时,其类别间的重合程度是需要观察的一个重要方面,在进行t-SNE 降维可视化后,类别间重合度高的数据集相较于类别间重合度低的数据集训练出来的模型精度表现较差。在划分类别时,仅根据人类主观认知中的物品类别来进行分类对于模型来说是片面的。
t-SNE 可视化的结果说明,不同类别的两种物品,在特征分布上可能会具有较大的相似性:刀和塑料瓶两个类别的二维空间分布分离较好,只有边缘的部分数据相互交错,说明这两个类别的数据对于机器来说比较容易分辨,但是刀和手机两个类别特征分布在二维空间大幅度重叠,在二维空间的模拟分布几乎相同,说明这两个类别的数据对机器来说则比较难以分辨,与人工分类产生了比较大的差距。
3.2 实验结果
为了进一步验证t-SNE 在二维空间的分布拟合情况与实际模型训练精度的关系,进行了实验证明,在本实验中,以及后续的未说明实验网络的实验中,我们所使用来进行训练的网络都为YOLOv4 网络。
AP 值与总的mAP 值来进行分析。使用YOLOv4 网络,且两个实验采用同样的超参和迭代次数,得出的结果如表2所示。
表2 :实验结果
导致整体AP 值低和Precision(召回率)低的原因:因为是多目标检测,没有对其他相似类的监督信息,则很容易将其他类别判为当前类,造成比较大的误判率,在数据集中还有其他多个类别与以上三种类别特征相似,因此会对类别的判断准确度有影响,导致误判提高。除此之外通过比较两组类别的实验相对值,容易得出:
(1)刀和塑料瓶的t-SNE 降维可视化特征分布重合较低,两个类别的准确度都较高;
(2)刀和电话的t-SNE 降维可视化特征分布重合度较高,刀的准确度被拉低约2%,并且手机的准确度也较低。
4 结论
实验表明,仅凭人类对物品的认知来进行的分类在模型看来可能会具有很大的相似性,导致模型对这些类别难以分辨,从而拉低整个模型的表现;t-SNE 降维可视化方法是一个有效的数据集分类问题的可视化分析方法,可视化后展示的数据分布情况与模型训练的结果符合,因此,数据集类别划分的合理性可以通过t-SNE 可视化方法来进行分析。