• 图像分割竟能如此丝滑、高清?大规模二分图像分割数据集DIS5K解读


    近期,苹果手机 iOS 16正式发布,其中“一键”提取图像主体功能让人眼前一亮,让我们看到了 AI 高效抠图的无限可能。如果这个技术能泛化到工业场景、3D建模、3D渲染等使用,那将极大提高工作效率和效果。

    今天,就来给大家介绍一个具有高精度标注的数据集DIS5K,可用于高精度的模型训练。快来看看吧。

    目录

    一、数据集简介

    二、数据集详细信息

    三、数据集任务定义及介绍

    四、数据集文件结构解读

    五、总结


    一、数据集简介

    发布方:MBZUAI, TUM, ETH Zurich, Terminus Group

    发布时间:2022

    官网:https://xuebinqin.github.io/dis/index.html

    Github:https://github.com/xuebinqin/DIS

    背景:旨在从自然图像中分割出高精度的物体。

    简介:

    目前,由于准确性和鲁棒性问题,大多数分割模型在那些对准确性和鲁棒性要求很高的应用中仍然不太适用,如:手术机器人,制造业等,这限制了分割技术在更广泛的应用中发挥更重要的作用。

    为了解决这个问题,图像二类分割(Dichotomous Image Segmentation, DIS)作为一项新的任务被提出,该任务旨在从自然图像中分割出高精度的物体。与语义分割相比,提出的 DIS 任务通常侧重于具有单个或几个目标的图像,这使得从中获得每个目标的更丰富准确的细节更加可行。

    为了研究DIS任务,研究人员创建了一个大规模、可扩展的DIS数据集DIS5K,该数据集包含 5,470 张高分辨率图像和高精度的二值分割掩码。对DIS任务和DIS5K数据集的研究有助于多个应用方向的发展,如:图像去背景,艺术设计,模拟视图运动,基于图像的AR应用,基于视频的AR应用,3D 视频制作等。

    图片来源:https://github.com/xuebinqin/DIS

    二、数据集详细信息

    2.1 标注数据量

    训练集:3000张图像

    验证集:470张图像

    测试集:共计2000张图像,分为四个子集,测试难度级别依次递增。具体来说,首先将2000幅测试图像按照其结构复杂性IPQ和边界复杂性Pnum的乘积 (IPQ × Pnum) 升序排序。然后,将 DIS-TE分为4个子集 (即, DIS-TE1∼DIS-TE4),每个子集包含500张图像,代表4个测试难度等级。

      - DIS-TE1: 500张图像

      - DIS-TE2: 500张图像

      - DIS-TE3: 500张图像

      - DIS-TE4: 500张图像

    2.2 标注类别

    分为22个组,共计225个类别。标注类别的可视化图如下:

    图片来源:https://xuebinqin.github.io/dis/index.html

    2.3 可视化

    标注的可视化效果如下所示:

    图片来源:https://xuebinqin.github.io/dis/index.html

    三、数据集任务定义及介绍

    本小节介绍了图像二类分割,并与语义分割进行了对比,方便读者理解两者之间的异同点。

    3.1 语义分割

    ● 任务定义

    语义分割是将整个图像密集地分割成语义类,其中每个像素都被分配一个类标签,例如树的区域和建筑物的区域。

    示例图如下:

    图片来源:https://zhuanlan.zhihu.com/p/422122048

    ● 评价指标

    通常用于语义分割的四个指标:

    – Pixel Accuracy(像素准确度,PA),表示正确分类的像素的比例;

    – Mean Pixel Accuracy(平均像素准确度,MPA),表示所有类别中正确分类的像素比例的平均。

    – Mean Intersection over Union(平均交并比,MIoU),表示预测像素和真实像素之间的交并比,在所有类上平均。

    – Weighted IoU(加权交并比,WIoU),表示按每个类的总像素比加权的交并比。

    2. 图像二类分割

    ● 任务定义

    图像二类分割是将图像分割成前景和背景,前景就是某个类别的物体,背景就是除了这个物体外的所有像素都当做背景。

    DIS5K的每张图像是采用像素级精度手工标记。平均每张图像的标记时间约 30分钟,有些图像的标记时间长达10小时。值得注意的是,有些标注的真值(GT)掩码在视觉上接近图像抠图真值。标注对象有透明的和半透明的,并采用高达单个像素的二进制掩码进行标记。这也体现了标注的高精度,是能够让模型预测出高精度物体的前提。

    示例图如下:

    图片来源:https://xuebinqin.github.io/dis/index.html

    说明: Image:原始图像,GT:标注的png图像,Ours:预测的结果。

    ● 评价指标

    为了提供相对全面和无偏的评估,本文采用6个不同的度量,从不同的角度来评估模型性能。包括:

    最大F-measure(F mx β ↑) [1]

    加权F-measure(F w β ↑)[1]

    平均绝对误差(M ↓) [4]

    结构度量(Sα ↑)[2]

    平均增强对准度量(Em ϕ ↑)[3]

    人工矫正量(HCEγ ↓)

    这里重点介绍一下人工矫正量HCE指标,其他的指标可以参考相关的论文。

    给定一个预测分割概率P ∈ R(W×H×1)及其对应的GT掩码G ∈ R(W×H×1),现有的指标,如 IoU、边界IoU、F-measure[1]、边界F-measure和MAE[4],一般通过基于P和G之间的数学或认知一致性 (或不一致性) 计算得分来评价预测结果P的质量。换句话说,这些指标描述了P和G之间的“差距”有多显著。然而,在许多应用中,评估填补“缺口”的成本比衡量“缺口”的大小更重要。

    人工校正量(HCE),它衡量了在现实应用中校正错误预测结果以满足特定的精度要求所需的人力。根据本文的标注经验,常用的操作主要有两种:(1)沿目标边界点的选取,形成多边形;(2)基于区域内相似像素强度的区域选择。这两个操作都对应于一次鼠标点击。

    因此,这里的HCE是由鼠标点击次数来量化的。为了纠正错误的预测掩模,操作人员需要沿着错误预测目标的边界或区域手动采样主导点,以纠正假阳性(FP)和假阴性(FN)区域。

    如下图所示,FNs和FPs根据其相邻区域可分为 FN_N(N=TN+FP) 、FN_{TP}  、FP_P(P=TP+FN)  和 FP_{TN} 两类。

    为了校正 FN_N 区域,其与TN相邻的边界需要人工标记主导点(下图中-b)。同样,为了校正 FP_P 区域,本文只需要在TP区域附近标注其边界即可(下图中-d)。TP包围的 FN_{TP} 区域(下图中-c) 和TN包围的 FP_{TN} 区域 (下图中-e),可以通过一键选择区域,轻松校正。因此,修正下图中 (b-e)中故障区域的 HCE为10(在(b)和(d)中需要点击6次和2次,在(c)中需要点击1次,在(e)中需要点击1次)

    图片来源:https://arxiv.org/pdf/2203.03041.pdf

    四、数据集文件结构解读

    4.1 数据集目录结构

    1. dataset_root/
    2. ├── DIS-TR/ # 训练集数据
    3. | ├── im/ # 图片目录
    4. | | ├── 1#Accessories#1#Bag#13470252195_7267967705_o.jpg
    5. | | ├── 6#Automobile#11#Tractor#7777360400_b970075ddf_o.jpg
    6. | | └── ...
    7. | └── gt/ # 标注目录
    8. | ├── 1#Accessories#1#Bag#13470252195_7267967705_o.png
    9. | ├── 6#Automobile#11#Tractor#7777360400_b970075ddf_o.png
    10. | └── ...
    11. ├── DIS-VD/ # 验证集数据
    12. | ├── im/ # 图片目录
    13. | | ├── 10#Frame#5#Rack#2132019631_fcd2f1fc8e_o.jpg
    14. | | ├── 2#Aircraft#1#Airplane#3159745725_a09a84799f_o.jpg
    15. | | └── ...
    16. | └── gt/ # 标注目录
    17. | ├── 10#Frame#5#Rack#2132019631_fcd2f1fc8e_o.png
    18. | ├── 2#Aircraft#1#Airplane#3159745725_a09a84799f_o.png
    19. | └── ...
    20. ├── DIS-TE1/ # 测试集1数据
    21. | ├── im/ # 图片目录
    22. | | ├── 1#Accessories#8#Watch#7597487858_28ffdd0b24_o.jpg
    23. | | ├── 8#Electronics#11#TV#48923036067_842e6dea0b_o.jpg
    24. | | └── ...
    25. | └── gt/ # 标注目录
    26. | ├── 1#Accessories#8#Watch#7597487858_28ffdd0b24_o.png
    27. | ├── 8#Electronics#11#TV#48923036067_842e6dea0b_o.png
    28. | └── ...
    29. ├── DIS-TE2/ # 测试集2数据
    30. | ├── im/ # 图片目录
    31. | | ├── 21#Tool#16#Telescope#4022809227_8a55de3489_o.jpg
    32. | | └── ...
    33. | └── gt/ # 标注目录
    34. | ├── 21#Tool#16#Telescope#4022809227_8a55de3489_o.png
    35. | └── ...
    36. ├── DIS-TE3/ # 测试集3数据
    37. | ├── im/ # 图片目录
    38. | | ├── 6#Automobile#3#Car#3781691812_7e135e8881_o.jpg
    39. | | └── ...
    40. | └── gt/ # 标注目录
    41. | ├── 6#Automobile#3#Car#3781691812_7e135e8881_o.png
    42. | └── ...
    43. └── DIS-TE4/ # 测试集4数据
    44. ├── im/ # 图片目录
    45. | ├── 9#Entertainment#5#Swing#341645836_03035b9697_o.jpg
    46. | └── ...
    47. └── gt/ # 标注目录
    48. ├── 9#Entertainment#5#Swing#341645836_03035b9697_o.png
    49. └── ...

    (左右滑动查看)

    4.2 标注文件格式

    标注的内容存放在两个位置:

    a. 文件名称中隐含一部分标注内容。

    仅以一个具体的文件名称为例进行说明。例如:文件名为"9#Entertainment#5#Swing#341645836_03035b9697_o.jpg"的文件,以"#"作为分割符,可以分割成一个数组,假设数组名称为arr。则arr内容如下:

    arr = ["9", "Entertainment", "5", "Swing", "341645836_03035b9697_o.jpg"]

    (左右滑动查看)

    arr[0]: 组别id, 这里的值是"9"

    arr[1]: 组别名称,这里的值是"Entertainment"

    arr[2]: 当前组别内的类别id,这里的值是"5"

    arr[3]: 当前组别内的类别名称,这里的值是"Swing"

    arr[4]: 当前文件的名称的唯一标识。

    说明:该数据集共计22个分组,分组id从1开始,所以组别id的值范围是[1, 22],每个分组内的类别个数不固定,但是类别id的值都是从1开始,假设组别m内有n个类别记为变量g_m_n,则组别m内类别id值的范围是[1, g_m_n]。

    b. 图像分割标注采用png格式,存储在对应的png图片中。

    还以文件名为"9#Entertainment#5#Swing#341645836_03035b9697_o.jpg"的文件为例,对应的png文件为对应的gt目录的"9#Entertainment#5#Swing#341645836_03035b9697_o.png",读取这个png图片内容,展示如下:

    1. # png内容如下:
    2. [[0 0 0 ... 0 0 0]
    3. [0 0 0 ... 0 0 0]
    4. [0 0 0 ... 0 0 0]
    5. ...
    6. [0 0 0 ... 0 0 0]
    7. [0 0 0 ... 0 0 0]
    8. [0 0 0 ... 0 0 0]]
    9. # png的形状即shape如下:
    10. (2304, 3072)
    11. # png的所有元素值去重后的值如下:
    12. [0, 255]

    9#Entertainment#5#Swing#341645836_03035b9697_o.jpg和对应的png标注可视化如下:

    五、总结

    DIS5K是一个大规模、可扩展的 DIS 数据集,DIS 任务侧重于具有单个或几个目标的图像,这有利于从中获取更丰富准确的细节。

    该任务的目的是从自然图像中分割出高精度的对象。这项工作将会极大促进有精细分割要求的应用。

    参考资料

    [1] Margolin, Ran, Lihi Zelnik-Manor, and Ayellet Tal. "How to evaluate foreground maps?." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014.

    [2] Fan, Deng-Ping, et al. "Structure-measure: A new way to evaluate foreground maps." Proceedings of the IEEE international conference on computer vision. 2017.

    [3] Fan, Deng-Ping, et al. "Enhanced-alignment measure for binary foreground map evaluation." arXiv preprint arXiv:1805.10421 (2018).

    [4] Qin, Xuebin, et al. "Basnet: Boundary-aware salient object detection." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019.

    [5] Qin X, Dai H, Hu X, et al. Highly Accurate Dichotomous Image Segmentation[J]. arXiv preprint arXiv:2203.03041, 2022.

    作者丨杜坤明

    有智者,万事兴

    - End -

    以上就是本次分享,获取海量数据集资源,请访问OpenDataLab官网;获取更多开源工具及项目,请访问OpenDataLab Github空间。另外还有哪些想看的内容,快来告诉小助手吧。更多数据集上架动态、更全面的数据集内容解读、最牛大佬在线答疑、最活跃的同行圈子……欢迎添加微信opendatalab_yunying加入OpenDataLab官方交流群。

  • 相关阅读:
    基于深度学习的面部关键点识别系统
    RocketMQ源码分析:Consumer消费偏移量
    Mule的基本配置元素:Endpoint、Transformer、Filter、Flow
    C语言——自定义数据类型(结构体内存对齐)
    QT--气泡框的实现
    k8s创建并发布WordPress
    Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决
    03-Nginx性能调优与零拷贝
    springboot上传文件后显示权限不足
    UE4 C++ 常用节点
  • 原文地址:https://blog.csdn.net/OpenDataLab/article/details/127794206