SAM等模型通过先进的深度学习技术,实现了高效、精准的图像自动化标注。这不仅显著降低了人工标注的工作量和成本,提高了标注效率和精度,还为各个领域的研究和应用提供了强大的技术支持。随着SAM等模型的不断完善和应用,自动化标注将在更多领域展现出巨大的潜力和价值。
一、环境安装
https://github.com/yatengLG/ISAT_with_segment_anything
1.创建虚拟环境
conda create -n biaozhu python=3.10conda activate biaozhu
2.环境安装
获取ISAT_with_segment_anything源码并安装依赖windows系统下,通过pip安装的pytorch默认是cpu版本,gpu版本的pytorch需去 pytorch 官网手动安装。
git clone https://github.com/yatengLG/ISAT_with_segment_anything.gitcd ISAT_with_segment_anythingpip install -r requirements.txt
二、工具运行
activate biaozhupython main.py
1.模型下载(通过模型管理进行下载模型):
2.模型下载后进行选定模型 (前面有个对勾就选定了)
3.打开图片文件夹
然后就会出现这个符号:
4.然后点击这个符号,就可标注了
5.按E,标注完成,点击查看
查看标注信息(保存在图片目录):
{ "info": { "description": "ISAT", "folder": "E:/ultralytics-main", "name": "bus.jpg", "width": 810, "height": 1080, "depth": 3, "note": "" }, "objects": [ { "category": "person", "group": 1, "segmentation": [ [ 129.0, 398.0 ], [ 123.0, 399.0 ], [ 105.0, 410.0 ], [ 103.0, 415.0 ], [ 103.0, 449.0 ], [ 99.0, 452.0 ], [ 97.0, 465.0 ], [ 65.0, 493.0 ], [ 62.0, 503.0 ], [ 64.0, 535.0 ], [ 60.0, 553.0 ], [ 60.0, 566.0 ], [ 65.0, 581.0 ], [ 62.0, 596.0 ], [ 59.0, 676.0 ], [ 62.0, 689.0 ], [ 73.0, 699.0 ], [ 75.0, 740.0 ], [ 72.0, 754.0 ], [ 78.0, 772.0 ], [ 78.0, 793.0 ], [ 69.0, 808.0 ], [ 62.0, 814.0 ], [ 59.0, 853.0 ], [ 54.0, 867.0 ], [ 52.0, 884.0 ], [ 55.0, 888.0 ], [ 73.0, 897.0 ], [ 86.0, 900.0 ], [ 101.0, 898.0 ], [ 106.0, 893.0 ], [ 105.0, 886.0 ], [ 96.0, 876.0 ], [ 85.0, 857.0 ], [ 84.0, 841.0 ], [ 96.0, 780.0 ], [ 107.0, 762.0 ], [ 118.0, 705.0 ], [ 124.0, 702.0 ], [ 135.0, 719.0 ], [ 151.0, 760.0 ], [ 161.0, 808.0 ], [ 178.0, 863.0 ], [ 175.0, 870.0 ], [ 177.0, 896.0 ], [ 185.0, 898.0 ], [ 222.0, 892.0 ], [ 243.0, 882.0 ], [ 240.0, 874.0 ], [ 225.0, 869.0 ], [ 201.0, 849.0 ], [ 187.0, 779.0 ], [ 185.0, 745.0 ], [ 177.0, 696.0 ], [ 178.0, 691.0 ], [ 189.0, 689.0 ], [ 192.0, 685.0 ], [ 190.0, 649.0 ], [ 184.0, 616.0 ], [ 178.0, 600.0 ], [ 198.0, 585.0 ], [ 200.0, 575.0 ], [ 199.0, 555.0 ], [ 186.0, 534.0 ], [ 181.0, 520.0 ], [ 181.0, 507.0 ], [ 174.0, 499.0 ], [ 172.0, 490.0 ], [ 151.0, 466.0 ], [ 156.0, 436.0 ], [ 157.0, 410.0 ], [ 149.0, 403.0 ] ], "area": 45642.0, "layer": 1.0, "bbox": [ 51.50342469783856, 397.42460354443125, 243.46816458878453, 900.4956139503413 ], "iscrowd": false, "note": "" } ]}
三、使用的技术与意义
1.自动化标注使用的技术:
预训练模型: SAM模型经过大量数据的预训练,能够识别并分割各种类型的对象。这种预训练使得模型具有了很强的泛化能力,可以在没有针对性标注数据的情况下,处理新的图像和对象。
多尺度特征提取: SAM利用深度卷积神经网络(如ResNet、EfficientNet)提取图像的多尺度特征,这些特征能够捕捉到图像中不同大小、形状和复杂度的对象。
Transformer架构: 采用Transformer架构,特别是自注意力机制,使得模型能够高效地整合图像中不同区域的信息,生成更精确的分割结果。自注意力机制可以捕捉到图像中长距离的依赖关系,从而提高分割的精度和鲁棒性。
区域提议网络(RPN): RPN用于在图像中生成候选区域,这些区域可能包含目标对象。然后,SAM对这些候选区域进行进一步的精细分割。这一过程提高了分割的效率,因为模型只需要处理可能包含对象的区域,而不是整张图像。
图像分割掩码生成: 基于模型提取的特征和区域提议,SAM生成对应的分割掩码。这些掩码准确地描绘出每个对象的边界,确保高精度的分割结果。
主动学习和数据增强: 在模型训练过程中,采用主动学习和数据增强技术,通过选择性地挑选和生成更具挑战性的训练样本,来不断提升模型的表现。这种方法确保了模型在面对各种复杂场景时,依然能够保持高精度的分割能力。
2.自动化标注的意义:
显著降低人工成本: 传统的图像标注需要大量的人工操作,标注过程繁琐且耗时。SAM模型的自动化标注可以大大减少人工标注的工作量,降低标注成本。例如,在大型图像数据库的建立过程中,SAM可以快速、高效地完成对象分割任务,节省大量人力资源。
提高标注效率和精度: SAM模型能够在短时间内处理大量图像,并生成高精度的分割结果。这不仅提高了标注效率,还减少了人工标注过程中可能出现的误差和不一致性,确保数据标注的一致性和准确性。
支持大规模数据标注: 在需要大规模图像标注的应用场景中,如自动驾驶数据集的构建、医学影像数据的分析,SAM模型的自动化标注能力显得尤为重要。它能够快速处理成千上万张图像,为进一步的研究和开发提供高质量的标注数据。
促进科研和开发: 高质量的标注数据是计算机视觉研究和开发的基础。SAM模型的自动化标注能力可以帮助研究人员快速获得大量标注数据,从而加速模型训练和验证过程,推动计算机视觉技术的发展。
多领域应用: SAM模型的通用性使其在各个领域都有广泛的应用前景。例如,在医学影像中,SAM可以帮助医生快速识别和分割病变区域,提高诊断效率;在遥感图像分析中,SAM可以自动分割土地覆盖类型,辅助地理信息系统的建设;在工业检测中,SAM可以用于产品缺陷检测,提高生产质量。