再一次来拜读一下大佬的论文,准确的是说基于X光的Benchmark(Dataset+Baseline),我们来看一下论文(蓝色字体为小编的划重点和总结,不在论文原文中;引用是补充的内容;想看翻译的小伙伴可以直接看【原文翻译】)。
【Paper】https://arxiv.org/pdf/1901.00303.pdf
【Dataset】https://github.com/MeioJane/SIXray
【摘要】 整体来说,本篇论文提出了一个x射线的数据集,其中有1,059,231张图像,含危险品六类,并提出了对于重叠图像类别不平衡的处理方法CHR。
【原文翻译】 在这篇文章里,我们提出了一个用于在安全检查中发现违禁物品的x射线图像大规模的数据集并且附上了baseline。我们的数据集名为SIXray,由1,059,231张x射线图像组成,其中6类8,929个违禁品是手工标注的。它对重叠图像数据提出了全新的挑战,同时与现有数据集具有相同的属性,包括复杂但无意义的上下文和类不平衡。针对这些困难,我们提出了一种==类平衡分层求精(CHR)==方法。CHR假设每个输入图像都是从混合分布中采样的,而深度网络需要一个迭代过程来精确地推断图像内容。为了加速,我们插入反向连接到不同的网络骨干,提供高水平的视觉线索,以协助中级功能。此外,还设计了一个类平衡损失函数,以最大限度地减少易负样本带来的噪声。我们用不同比例的阳性/阴性样本对六射线上的CHR进行了评价。与baseline相比,CHR具有更好的区分对象的能力,尤其是使用中层特征,这提供了使用弱监督的方法进行精确对象定位的可能性。特别是,在培训样本数量较少的情况下,CHR的优势更显著,这表明其在真实世界安全检查中的潜在应用。
【Introduction】数据集的规模;自然图像和X射线图像的区分; class-balanced hierarchical refinement (CHR);总结了两方面的工作;
【原文翻译】 安全检查在保护公共空间免受恐怖主义等安全威胁方面一直发挥着关键作用。随着大城市人口的增长和公共交通枢纽的人群密度的增加,在x射线扫描图像中,快速、自动、准确地识别违禁物品越来越重要。近年来,深度学习的迅速发展,特别是卷积神经网络,给图像处理和视觉理解带来了一种进化,包括在x射线图像中发现和识别物体。不同于自然图像和其他x射线扫描,安全检查通常处理行李或行李箱,其中的物品是随机堆叠和严重重叠的。因此,在扫描的图像中,感兴趣的对象可能与任意的和无意义的杂乱混合在一起,因此即使是人工检查人员也可以忽略它,如下图所示。

为了为这一领域的研究提供公共基准,本文提出了一种名为安全检查X射线的数据集,该数据集——SixRay,该数据集大于用于禁止物品发现的现有最大图像集合(即,GDXray数据集,为GDXray数据集的100倍。SIXRay包含超过一百万的X射线图像,其中只有少于1%的图像具有正标签(即,被禁止的项目被注释)。它模仿了检查专员通常旨在识别在非常低的频率(例如1:000)中出现的被禁止的项目的真实环境场景。与仅包含简单背景中的灰度图像的GDXray数据集不同,我们的数据集更具挑战性。虽然彩色x射线扫描仪会将不同的颜色分配给不同的材料,但容器中的物体在比例、视角和样式上往往会有相当大的差异,但禁止的物品可能会与任意数量和类型的安全物品混合和重叠,如上图所示。
我们将这个问题转化成优化问题,提供了一个数据集
D
=
(
x
n
,
y
n
∗
)
n
=
1
N
D={({x_n},{y_n^*})_{n=1}^N}
D=(xn,yn∗)n=1N,目标是最小化ground-truth和预测值
∣
y
n
∗
−
f
(
x
n
;
θ
)
∣
2
|y_n^*-f(x_n;\theta)|^2
∣yn∗−f(xn;θ)∣2之间的期望损失函数。这里的
x
n
x_n
xn指的是图像数据,
y
n
∗
y_n^*
yn∗是一个C维的向量,每个索引指示xn中是否存在特定的类。在此框架下,我们指出了自然图像和x射线图像的明显区别。自然图像
x
n
x_n
xn通常只包含一个类
c
n
c_n
cn,因此可以从分布
P
(
x
∣
c
n
)
P(x|c_n)
P(x∣cn)中取样。然而,x射线图像通常由一组重叠图像组成,这些图像提供了多类标签
y
n
∗
y_n^∗
yn∗(C维),可以用混合分布
x
n
=
∑
c
y
n
,
c
∗
x
n
.
c
x_n=\sum_c y_{n,c}^* x_{n.c}
xn=∑cyn,c∗xn.c来表示,其中
x
n
;
c
x_{n;c}
xn;c是从隐藏分布
P
(
x
∣
c
)
P(x|c)
P(x∣c)中取样的,如下图所示。

我们提出了一种基于深度神经网络的方法来处理这种复杂的场景。其关键思想是将两个信息源结合起来,即使用中间层特征
x
n
x_n
xn(通常是从混合分布中抽样)来确定高级语义
y
n
y_n
yn,并通过引用
y
n
y_n
yn中包含的信息反向过滤
x
n
x_n
xn中的无关信息。为此,我们将高层监控信号转化为反向网络连接。为了缓解数据的不平衡,我们引入了一个基于该层次结构的损失平衡项。这导致了一个完整的pipeline,称为类平衡分层求精(CHR)。在
Y
n
Y_n
Yn未被观察到的情况下,在优化过程中需要迭代过程,这在实际应用中是非常昂贵的。为了加快速度,我们关闭了迭代,以便在一个单位时间周期内处理更多的训练数据。在测试阶段,CHR融合了不同层的信息,从不同阶段到更高的识别精度,但仍具有较高的计算效率。
我们用不同比例的阳性/阴性样品对六射线上的CHR进行了评价。在不同的基线(即不同的网络主干)上,CHR报告了更高的分类性能,证明了使用高级别线索来帮助中层特征的有效性。此外,我们还验证了增加类平衡损失项的必要性,因为我们观察到在较不均衡的训练数据上有更大的改进。最后但并非最不重要的是,我们在测试集的边界框级提供了违禁项的注释,并将类激活映射(CAM)算法作为弱监督对象定位的基线。
这项工作的主要贡献有两方面:
(1)为今后在这一具有挑战性的视觉任务中的研究提供了一个基准。
(2)提出了一种在层次结构中集成多层次视觉线索并实现类平衡的方法CHR。
【Related Work】分析了GDXray数据集和Chestxray数据集和SIXray数据集有什么区别;两种定位location的方法;
2.1. X-ray Images and Benchmarks
【原文翻译】 X射线图像是通过用x射线照射物体,并根据它们的光谱吸收率以伪颜色呈现出来的。因此,在x射线图像中,由相同材料制成的物体被赋予非常相似的颜色,例如,金属通常以蓝色显示,而不可穿透的物体通常以红色表示。此外,x射线与自然图像最显著的区别在于物体重叠,因为x射线经常应用于某些物体可能会严重遮挡其他物体的场景中,例如在行李中,个人物品往往是随机堆放的。这种特性给计算机视觉算法带来了新的挑战,而传统的困难仍然存在,如规模和视点方差、类内方差和类间相似性等,这在其他的目标定位基准(如pascalvoc[9]和ms-coco)中得到了广泛的观察。
研究人员设计了大量工作来解决这些困难,并探讨了这些困难之后的潜在商业价值。但不幸的是,很少有x射线数据被用于研究目的。一个最新发布的benchmark——GDXray,包含三大类违禁品,包括枪、Shuriken(不知道该怎么翻译~百度说叫手里剑)和剃须刀刀片。然而,由于GDXray中的图像具有较少的背景杂波和重叠,因此识别这些图像和(或)检测其中的对象变得相当容易。此外,相对较少的阴性样本(不包含违禁物品的图像)简化了该算法在训练和测试阶段的使用。Chestxray8是一个用于医学影像分析的大型胸片X线体。与我们的场景不同,这些图像中的对象很少相互重叠。
2.2. Object Recognition and Localization
目标识别的研究领域一直被深度学习方法所主导。随着大规模数据集的提供和强大的计算资源,研究人员能够设计和优化非常深的神经网络以分层的方式学习视觉模式。在每个图像可能包含多个对象的场景中,通常有两种类型的定位方法。第一个在图像级别上工作,它为每个类生成一个得分,表示它的存在或不存在。第二个则是在对象级别上工作,为每个对象分别产生一个包围框和一个类标签。 前者经常遇到多对象分类和训练数据不平衡的问题,因此,对二值交叉熵损失(BCE)进行了探索。另一方面,第二种方法是基于pipeline的,先提取图像中的多个proposals,然后致力于每一个proposal的类别。
本篇论文研究的是图像级别的识别,因为缺少每个物体的注释,我们的方法也具有定位物体的能力。这与弱监督对象定位研究有关,或者使用自上而下的类激活。 在多个实例学习框架中也进行了对象定位的研究,其中卷积滤波器表现为激活特征图上感兴趣区域的检测器。
在X射线图像中的物体识别的背景下,研究人员意识到这些图像通常包含较少的纹理信息,但形状信息更具有辨别力。因此,在视觉词袋模型的领域,设计的有效性和高校的手工制作功能深入的进行了探讨。随着深度学习成为优化复杂功能的标准工具,研究人员开始讲其应用于提取X射线图像表示的抽象视觉特征或者优化X射线图像上的预训练模型,以便从自然图像中学习到信息。本篇文章主要关注的是第二种方法。
3. SIXray基准测试
3.1 数据采集
我们收集了一个名为安全检查X射线(SIXray)的数据集,其中包含总共1,059,231个X射线图像,并且比现有唯一同用途的公共数据集大100多倍,即the baggage group of the GDXray 数据集。这些图像是从几个地铁站收集的,原始元数据表明存在或不存在违禁物品。有六种常见类别的违禁物品,即枪,刀,扳手,钳子,剪刀和锤子。在我们的实验中没有使用仅有60个样品的锤类。
这些对象的分布与现实世界场景一致,与负样本相比,正样本少得多。表1中显示了该数据集的统计数据。每个图像都由安全检查机器扫描,安全检查机器为不同材料制成的对象分配不同的颜色。所有图像均以JPEG格式存储,平均大小为100K像素。
为了研究训练数据不平衡带来的影响,我们构建了该数据集的三个子集,并将它们分别命名为SIXray10,SIXray100和SIXray1000,数字表示负样本与正样本的比率。在SIXray10和SIXray100中,包括所有8,929个正图像,并且正好有10×和100×负样本图像。 SIXRay100与现实场景的分布非常接近。为了最大限度地探索我们的算法处理数据不平衡的能力,我们通过随机选择1,000个正图像但将它们与所有1,050,302个负样本图像混合来构建SIXray1000数据集。每个子集进一步划分为训练集和测试集,前者包含80%的图像,后者包含20%的图像(训练/测试图像的比例为4:1)。
在整个数据集中,我们使用人类安全检查员提供的图像级注释,即是否存在每种类型的违禁项目。此外,在测试集上,我们手动为每个违禁项添加一个边界框,以评估对象定位的性能。
3.2 数据集属性
SIXray数据集具有若干属性,这给视觉识别带来了困难。首先,这些图像主要是从个人行李箱上的X射线扫描获得的,例如,袋子或手提箱,其中物体通常是随机堆叠的。当这些项目通过X射线扫描时,穿透属性使得甚至可以看到图像中的遮挡物体。这导致了该数据集最重要的属性,我们称之为重叠。请注意,GDXray没有这样的挑战,因为每个图像中通常只有一个物体。 其次,违禁物品可能出现在许多不同的尺度,角度,风格甚至亚型中,所有这些都会引起相当大的课内变异并增加识别的难度。第三,图像可能会严重混乱,但几乎不可能分配所有对象,特别是那些具有明确类别标签的非禁止对象。因此,有来自一组开放对象的噪声,这使得很难预测背景区域中出现的内容。第四个也是最后一个,如上所述,正样本图像(具有至少一个禁止项目)仅占据该数据集的一小部分。如果没有特殊处理,训练阶段很容易偏向负样本阶段,因为简单地猜测负面标签会产生足够高的准确度。这对训练稳定性提出了挑战。在下一节中,我们将介绍考虑这些属性的方法,尤其是特定于此数据集的第一个和第四个属性。
4.1 动机和方法
如在前一部分中所观察到的,X射线图像的显着特征在于物体彼此重叠。请注意,重叠不同于后方对象不可见的遮挡。相反,由于X射线是可穿透的,因此在图像中可以看到前后物体。这被称为渗透假设,我们使用混合模型来制定这些数据。
让数据集中出现C类可能的物体,索引集为{1,2,… , C }。其中,C’类被认为是禁止的,例如,在SIXray数据集中,C’= 5.不失一般性,我们为它们分配1,2,…,C’的类索引。让数据集D包含N个图像。对于每个输入图像xn,我们的目标是为每个xn获得一个C维向量yn,其中每个维度yn,c为0或1,其中1表示该图像中存在指定的禁止物体,0反之亦然。请注意,yn *的真值仅存在于第一个C’维度,而其他维度则未被观察到。
为了获得xn的数学公式,我们假设它由C个子图像xn,c组成,每个子图像对应于指定的类c并且从条件分布Pc =P(x | c)中采样。然后,根据渗透假设,每个图像可以写成:
(1)
x
n
≈
∑
c
=
1
C
y
n
,
c
⋅
x
n
,
c
,
x
n
,
c
~
P
c
x_n \approx \sum ^C_{c=1} y_{n,c} \cdot x_{n,c}, \quad x_{n,c}~P_c \tag1
xn≈c=1∑Cyn,c⋅xn,c,xn,c~Pc(1)
这个公式当然不准确,因为我们忽略了对象之间的重叠关系以及对象堆叠的顺序,但它可以作为重叠影响图像数据的近似公式。
我们的目标是学习判别函数
y
n
=
f
(
x
n
;
θ
)
y_n = f(x_n;θ)
yn=f(xn;θ)来预测图像标签。由于感兴趣的对象可能以各种比例出现。为了识别并进一步检测它,一种流行的选择是结合多阶段视觉信息。这里我们简单地考虑从L个不同层提取的特征向量,其中第l个被表示为
x
n
(
l
)
x_n^{(l)}
xn(l)。常规解决方案是使用地面实况信号
y
n
⋆
y_n^⋆
yn⋆作为监督来训练每个层之外的分类器
y
n
(
l
)
=
h
(
l
)
(
x
n
(
l
)
;
ξ
n
(
l
)
)
y_n^{(l)}=h^{(l)}(x_n^{(l)};\xi_n^{(l)})
yn(l)=h(l)(xn(l);ξn(l)),在测试阶段,我们将所有
y
n
(
l
)
y_n^{(l)}
yn(l)融合为最终输出,即
y
n
=
∑
l
=
1
L
y
n
(
l
)
y_n = \sum ^L_{l=1}y_n^{(l)}
yn=∑l=1Lyn(l)。
然而,我们注意到该模型的显着弱点,其来自渗透假设,即Eqn(1),应用于中级特征。也就是说,每个
x
n
(
l
)
x_n^{(l)}
xn(l)是从不同类别采样的子图像的组合,包括那些不感兴趣的项目,因此
h
(
l
)
(
x
n
(
l
)
;
ξ
n
(
l
)
)
h^{(l)}(x_n^{(l)};\xi_n^{(l)})
h(l)(xn(l);ξn(l))可以被分散。一个合理的想法是改进 以摆脱这些无关的信息。这是通过函数
g
l
(
x
n
l
,
y
n
;
γ
(
l
)
)
g^{l}(x_n^{l},y_n;\gamma^{(l)})
gl(xnl,yn;γ(l))实现的,它与
x
n
(
l
)
;
x_n^{(l)};
xn(l);共享相同的维数。对这些内容进行总结会产生以下优化问题:
上述公式定义了一种迭代模型,即使在训练阶段也无法观察到 y n y_n yn。 标准的优化方法包括迭代,其中我们从D和任何 y n y_n yn采样的 x n x_n xn开始(在训练过程中,第一个 C ′ C' C′维度由地面实况和其他C - C’维度提供,可以是随机的初始化)。我们首先相应地计算每个l的 x n ( l ) x_n^{(l)} xn(l),并用它来计算 y n ( l ) = h ( l ) ( x n ( l ) ; ξ n ( l ) ) y_n^{(l)}=h^{(l)}(x_n^{(l)};\xi_n^{(l)}) yn(l)=h(l)(xn(l);ξn(l))的第一个版本。在每一轮中,我们计算 y n y_n yn并用它来计算 g l ( x n l , y n ; γ ( l ) ) g^{l}(x_n^{l},y_n;\gamma^{(l)}) gl(xnl,yn;γ(l)),以便 x n ( l ) x_n^{(l)} xn(l)更新。
5.1 设置和baseline
我们使用所有三个子集,即SIXRay10,SIXRay100和SIXRay1000来评估不同的方法。在每个子集中,所有模型都在80%的训练数据上进行训练,并对剩余的20%测试数据进行评估。这些数据分割是随机的,但对所有竞争者都是一致的。
我们评估图像级别分类平均精度和目标定位精度,对于第二个目标,我们手动标记了测试图像中带有边界框的所有违禁项目。对于图像分类,我们将评估度量应用于PascalVOC图像分类任务[9],该任务分别对每个类进行处理 - 所有测试图像按包含指定对象的置信度排序,并计算平均精度(mAP) 。对于对象定位,我们遵循[37]来计算指向定位的准确性。如果最大响应的像素落在指定对象的地面实况边界框之一内,则计数命中,否则计算遗漏。因此,每个类具有由 计算的定位精度。对于这两项任务,我们还会报告整体表现,即所有五个类别的平均表现。
我们研究了五种流行的网络,包括34层,50层和101层的ResNets [13],Inception-v3 [32]和121层的密集网。 我们按照惯例建立这些网络,并使用L=3将chr应用于每个网络,使用具有不同空间分辨率的三个池层(例如,在resnet中,28×28、14×14和7×7)作为特征。当然可以通过添加更多特征来增加L,但实际上我们发现L = 3足以提供补充信息。
5.2 分类:定量结果
我们首先研究总体(平均超过五个类别)图像分类结果,总结在表2中.CHR实现了超出所有网络骨干以及所有不同子集的一致平均平均精度增益,即SIXray10,SIXray100和SIXray1000。
我们观察到CHR在更深的网络中工作得更好,这也在实验中观察到,例如,在Inception-v3和DenseNet之上,对SIXRay1000的绝对改进分别为8.22%和9.08%。
接下来我们分别观察五种类型的物体。 CHR带来的好处因类别而异。以DenseNet为例。当它的目标是寻找枪时,分类性能并未在所有子集中得到提升,而我们观察到所有其他类别的显着增益,特别是对于剪刀,精度提高了30%。我们可以在表1中看到,剪刀的训练样本是所有五个禁用项目中最少的,因此基线在训练阶段受到显着偏差。 CHR通过引入分级信号进行监督,在很大程度上缓解了这种偏见。
最后,我们研究了不同子集上的数据不平衡问题。回想一下,负面正面图像的比例分别为10,100和1000。从图5中可以看出,性能增益随着数据不平衡而上升,正如5.4节所分析的那样,数据不平衡来自我们对类平衡的特殊处理。
5.3 定位:定量结果
为了验证CHR没有过度调整到图像分类,我们附加了类激活图(CAM),一种用于对象定位的弱监督方法,在不同阶段提取的特征之上。 CAM为每个类单独生成一个热图,并在每个图上生成一个热图。 我们首先将地图重新缩放到原始图像大小。 如果跨尺度的最大响应落在指定对象的地面实况边界框之一内,则预测位置被认为是有效的定位。
表3总结了定位结果。 基于DenseNet的CHR在SIXray100上优于DenseNet 5.61%(50.31%对44.70%),对于SIXray1000优于9.26%(43.87%对34.61%)。
特别是对于SIXray1000的扳手,Inception-v3 + CHR的表现优于Inception-v3 16.04%(23.53%vs 7.49%)。 同样,我们观察到更深层网络(产生更强大的特征)和更大的负过正比率的显着准确度增益。 更多本地化结果如图6所示。
5.4 消融研究
在这一部分,我们提供诊断实验。这些实验是在SIXRay的所有三个子集上进行的,它们具有不同的负面正样本比率。首先,我们研究了层次细化的性能 - 反向连接,表4.可以看出自上而下的细化(ResNet34) + HR)在SIXRay100上将分类和定位精度提高1%和6.52%,在SIXRay1000上提高3.15%和2.13%。 (ResNet34 + HR)优于直接层次融合(ResNet34 + H)。原因在于所提供的信息与常规网络重叠,后一种选择为低级别功能提供了更多信息。
其次,我们研究了不同损失函数的影响,表4.在类平衡损失(ResNet34 + CH)中,SIXRay100的分类和定位精度分别提高了1.00%和3.77%,SIXRay1000分别提高了3.10%和3.44% 。通过将层次细化与类平衡损失(ResNet34 + CHR)相结合,SIXRay100的分类和定位精度提高了2.37%和7.51%,比基线ResNet34,表4显示了5.48%和5.11%,这显示了重要性CHR对具有类不平衡的大规模数据集的影响。
注意,通过相对少量的额外计算来实现精度增益。例如,ResNet34需要7.68ms来处理每个测试图像,ResNet34-CHR需要8.28ms,两者都在Tesla V100 GPU上。因此,CHR使用7.81%的额外时间。
5.5 ILSVRC2012分类
最后,我们在大型图像分类数据集ilsvrc2012上评估了chr。这是为了观察chr如何归纳为自然图像数据,前提是它在重叠图像数据上获得了显著的精度。ILSVRC2012是ImageNet数据库的一个流行子集,它有1000个类,每个类在WordNet中都有一个定义良好的概念。共提供1.3M的培训图像和50k的验证图像,这两个图像大致均匀分布在所有类别。
我们遵循标准的训练和测试流程,包括模型初始化、数据增强、学习速率衰减等策略。由于ILSVRC2012是一个平衡的数据集,因此我们关闭了为此目的设计的损失函数中的权重项。
基于resnet18的top1误差为27.01%[13],略低于基线0.87%(27.01%对27.88%)。此外,基于resnet50[13]的top1和top5错误率分别为22.00%和6.22%。分别比baseline低0.85%(22.00%对22.85%)和0.49%(6.22%对6.71%)。这种轻微但一致的精度提高提供了双重信息。在我们的方法中,将高级监控带到中级功能的反向连接并不与自然图像冲突,尽管它与重叠的图像数据对齐得更好。考虑到额外的计算成本几乎可以忽略不计,因此有必要研究其在自然图像领域的张力。
6. 结论
本文研究了X射线扫描图像中的违禁物项发现问题,这是一个很有前途的工业应用,但在计算机视觉领域的研究却很少。为了促进这一领域的研究,我们提出了Sixray,一个由100多万张X射线图像组成的大型数据集,所有这些图像都是在现实场景中捕获的,因此涵盖了复杂的场景。我们手动注释了六种类型和超过20000个禁止项,这至少是所有现有数据集的100倍。在方法论中,我们将X射线图像表示为多个子图像的重叠,因此从混合分布中取样。基于对不相关信息的过滤,提出了一种基于层次和迭代的中级特征优化算法。在实际应用中,我们关闭迭代,以一种近似但有效的方式优化网络权重。为了解决正负类之间的数据不平衡问题,在层次结构的基础上建立了一种新的损失函数。除了一些流行的网络主干外,我们的方法在分类和定位精度方面都能获得一致的收益,为所提议的任务建立了一个强大的基线。
未来的研究主要有两个方向。首先,基于穿透假设的重叠图像公式在许多方面都不准确——我们期待基于更好的物理模型的更有效的方法。第二,重叠图像和自然图像之间的联系,例如物体遮挡,仍然不清楚——研究这个主题可能意味着一些方法可以将这些方法扩展到更广泛的应用领域。
因为之前也接触了一点儿X射线的内容,就把这篇论文放上来,除了是X射线相关的内容,也可以看做是数据集发布的论文,翻译仅供大家参考,不周之处还希望大佬们指出啦,给大家比心~