研究者表示,这一工作有望让大规模的智能垃圾分类检查成为可能,提升垃圾分类回收的效率,减少环境污染。
近些年来,社会的发展带来了生活垃圾的爆发性增长,实行垃圾分类既可以减少对自然环境的破坏,同时对垃圾中的可回收资源进行回收再利用,也带来更大经济效益。垃圾分类的的检查工作是其中的重要一环,只有正确的分类才能提升回收效率和避免环境污染。传统的分类检查方法依赖于人工的翻阅。而现有的图像检查方法也需要打开垃圾袋并且把垃圾摊开。这些检查方法存在两大缺点:
翻开垃圾袋的过程比较繁琐,且对于接触垃圾的人存在污染、传播疾病的风险;
复杂繁多的垃圾容易产生视线遮挡,容易出现遗漏和错判。
考虑到上述的问题,我们提出了以下的解决方案:
提出了第一个基于 X 光图片的、实例级别的垃圾分割数据集 (WIXRay)。数据集中包含 5,038 张 X 光图片,共 30,845 个垃圾物品实例。对于每个实例,我们标注了高质量的类别、bbox 以及实例级别的分割。
在现有实例分割方法的基础上针对 X 光垃圾图片遮挡严重、有穿透效果的特点进行改进,提出了从易到难的策略,设计了 Easy-to-Hard Instance Segmentation Network (ETHSeg),利用高置信度的预测结果来帮助严重重叠区域的难预测物体的分割。另外,我们还增加了一个全局轮廓模块来更好地利用 X 光下物体的轮廓信息。
项目主页:https://lingtengqiu.github.io/2022/ETHSeg/
GitHub 地址:GitHub - lingtengqiu/ETHSeg: ETHSeg: An Amodel Instance Segmentation Network and a Real-world Dataset for X-Ray Waste Inspection (CVPR2022)
一、基于 X 光图片的实例分割垃圾数据集 WIXRay (Waste Item X- Ray)
此前有关垃圾分类的数据集均为稀疏的、无遮挡的 RGB 图片,这些数据的识别效率低,实际操作难度大。而已有的 X 光图像实例分割数据集多为安检物品数据集,并且这些数据集鲜有严重遮挡的情况。为了得到真实有效的垃圾分类数据集,我们提出了用 X 光扫描垃圾袋来获取稠密、有遮挡的垃圾识别数据集。
数据收集
收集地点:近 8,000 居民的学校社区
垃圾类别。我们根据现有的垃圾分类方法将所有的垃圾分为可回收垃圾,厨余垃圾,有害垃圾和其他垃圾。在此基础上,我们把收集到的最常见的垃圾分为十二小类:
可回收垃圾:塑料瓶,易拉罐(金属罐),纸盒,玻璃瓶,木棒(筷子),餐具;
厨余垃圾:主要为食物残渣;
其他垃圾:暖宝宝,干燥剂,饭盒;
有害垃圾:电池(充电宝),灯泡。
具体的数量统计如下:
注:对于部分分布不平衡的类别,我们在数据采集时人为添加了事先准备的物品,例如有害垃圾中的两类。
数据标注
对于每一个垃圾物体,我们都标注了它们的类别、bbox 和实例级别的 mask。由于 X 光有穿透性, 我们可以在 X 光图像上看到重叠的物体。
因此,与传统实例分割标注不同,我们对于所有有遮挡的物体都标注了完整的形状。平均每张图片标注了 6.13 个实例,远高于此前的 X 光数据集(e.g. HiXray 2.27 个)
二、Easy-to-Hard 分割网络 (ETHSeg) 现有的实例分割方法大多针对自然图片设计,并没有考虑 X 光图像的穿透特性和一些严重遮挡的情况。因此,针对这两点,我们设计了 ETHSeg 来解决 X 光下垃圾物体实例分割的问题,主要的方法有两点:(1)显式地利用全局轮廓引导模块来获取物体的轮廓信息;(2)提出了从易到难的分解策略 (ETH) 来帮助分割遮挡区域难以分割的物体。
Baseline: Bilayer convolution network (BCNet)
BCNet 是一个自上而下的实例分割的 SOTA 方法。该方法使用了双层 GCN 结构来解决物体间遮挡的问题。尽管该方法在自然图片中取得了很好地效果,但由于 X 光图像的穿透效果和严重的遮挡,该方法在我们的数据集上效果不佳。我们在 BCNet 基础上提出了改进。
BCNet 的分割网络可以被表示为:
其中 X ∈ R (HW )×C 为输入的特征,A ∈ R (HW )×(HW ) 为自注意力模块,W 是可学习的变换矩阵,σ 表示带有 ReLU 的归一化层,Z 为更新后的特征。F 会计算两个节点 X_i 和 X_j 的点乘相似度,θ 和 ϕ 为 1 × 1 卷积。
BCNet 会将提取的 ROI 特征 X_roi 输入到第一个 GCN 层得到更新的特征 Z_0 并且求出遮挡物(occluder)的轮廓和 mask。之后更新的特征 Z_0 会被加到 ROI 特征上作为第二层 GCN 的输入(X_f = X_roi + Z_0)。第二个 GCN 层会进一步求出被遮挡物(occludee)的轮廓和 mask。
全局轮廓引导模块
BCNet 的方法虽然能够通过两层 GCN 以及轮廓和 mask 的监督解决一些局部的遮挡问题,但是该方法的轮廓监督只使用了 ROI 部分的局部监督,这对于严重遮挡而且物体轮廓比较清晰的 X 光图像效果不佳。
因此,我们设计了一个全局轮廓引导模块来更好地利用 X 光图片中的轮廓信息。我们将 backbone 得到特征上采样并预测一个全局轮廓图作为并行任务。轮廓图的监督使用高斯分布的热图表示。
从易到难的分解策略
针对数据集中的严重遮挡问题,受到人类在物体识别时,先认出简单、清晰的物体,再分辨识别困难的物体的这种方式的启发,我们提出了从易到难的分解策略。我们在分割前先根据置信度将所有物体的 bbox 分成 easy 和 hard 两个集合。
对于 easy 集合中的 bbox,我们直接求出它们的mask,同时使用 GCN 层求出更新后的特征(Z^i)_e:
easy 集合中求得的 mask 将被用于增强自注意力网络来帮助 hard 集合的分割。
与 BCNet 不同的是,我们从 easy 和 hard 集合中提取的特征是属于不同的 ROI,因此不能将两组特征直接相加。因此,我们首先根据 ROI 坐标将 easy 集合中预测的 mask 映射到整张图片的相应位置,并使用 element-wise max 与全局的 mask P 融合。P 采用软掩码,表示每个像素包含于物体的概率。利用软掩码 P , 我们提出了 mask-guided attention (A_g) 来引导 hard 集合的实例分割:
其中⊙ 表示 Hadamard product。之后同样求出 hard 实例的 mask 和更新后的特征 Z^j 并更新全局软掩码 P :
三、实验结果 基准实验
我们在 WIXRay 数据集上进行了大量的实验,包括了 one-stage 和 two-stage 的经典模型和 SOTA 模型。所有的模型均采用 ResNet-101-FPN 作为骨干网络并使用 COCO 预训练模型。实验得到的指标显示我们提出的新数据集对于一般的实例分割模型具有很大的挑战性。我们提出的 ETHSeg 模型在 mask mAP 指标上超过原来的 SOTA BCNet 1.74 点,在 bbox mAP 上也有所提升。
分割结果展示
如图所示,相比于一般的实例分割模型或 BCNet,ETHSeg 在结果上漏检更少,在重叠的区域的分割准确度更高。
消融实验
实验表明,在相同的检测结果下,我们提出的两个结构(Global Structure Guidance 和 Easy-to-Hard Dissembling)对于实例分割的结果均有提升。若同时使用两个模块,则 mask mAP 有进一步地提升(总共 + 1.32)
四、结论 针对现有的人工和视觉进行垃圾检查的缺陷,我们提出用 X 光图像帮助垃圾分类的检查:
我们提出了第一个基于 X 光图片的、实例级别的垃圾分割数据集 (WIXRay);
针对 X 光垃圾图片遮挡严重、有穿透效果的特点进行了改进。我们提出了从易到难的策略, 设计了 Easy-to-Hard Instance Segmentation Network (ETHSeg),并在 WIXRay 数据集上达到了 SOTA。