赞
踩
@[TOC](基于Segment Anything(SAM)的AutoMaskCOCO图像轮廓语义分割标注数据集)
AutoMaskCOCO是一个简单易用的图像分割数据集标注工具,它结合了Segment Anything、COCO Viewer和Segment Anything Labelling Tool (SALT) 三个开源项目的优势,为用户提供了一个自动生成掩码并创建COCO数据集的一站式解决方案。通过这个项目,我们旨在简化图像分割数据集标注的过程,为计算机视觉研究人员和开发者节省宝贵的时间。
AutoMaskCOCO项目利用标点自动生成掩码,降低了图像分割数据标注的难度,同时还可以自动输出COCO数据集格式的结果,为计算机视觉任务的数据准备工作提供便利。
git clone https://github.com/917940234/SAM-Tool.git
git clone https://github.com/facebookresearch/segment-anything.git
segment-anything
项目主目录。<dataset_path>/images/
中,并在<dataset_path>
下创建名为embeddings
的空文件夹。SAM-Tool
项目中的helpers
文件夹复制到segment-anything
项目的主目录。conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
运行extract_embeddings.py
脚本以提取图像的embeddings:
python helpers\extract_embeddings.py --checkpoint-path sam_vit_h_4b8939.pth --dataset-folder <dataset_path>
参数说明:
checkpoint-path
:预训练SAM模型的路径。dataset-folder
:数据集路径。device
:默认为cuda
,如无GPU,可使用cpu
(速度较慢)。<dataset_path>/embeddings
文件夹下会生成相应的npy文件。使用generate_onnx.py
脚本将.pth
文件转换为.onnx
模型文件:
python helpers\generate_onnx.py --checkpoint-path sam_vit_h_4b8939.pth --onnx-model-path ./sam_onnx.onnx --orig-im-size 1080 1920
参数说明:
checkpoint-path
:预训练SAM模型的路径。onnx-model-path
:导出的.onnx
模型保存路径。orig-im-size
:数据集中图像的尺寸(height, width)。.onnx
模型不支持动态输入大小。如果数据集中的图像尺寸不一致,可以使用不同的orig-im-size
参数导出多个.onnx
模型供后续使用。将生成的sam_onnx.onnx
模型复制到SAM-Tool
项目主目录,然后运行segment_anything_annotator.py
进行标注:
python segment_anything_annotator.py --onnx-model-path sam_onnx.onnx --dataset-path <dataset_path> --categories cat,dog
参数说明:
onnx-model-path
:导出的.onnx
模型路径。dataset-path
:数据集路径。categories
:数据集的类别(每个类别以,
分割,不要有空格)。<dataset_path>/annotations.json
。在SAM-Tool
项目中运行cocoviewer.py
查看全部的标注结果:
python cocoviewer.py -i <dataset_path> -a <dataset_path>\annotations.json
salt/display_utils.py
中,找到class DisplayUtils
,修改self.box_width
的值。salt/display_utils.py
中,找到def draw_box_on_image
函数,修改text
、txt_color
、font
等参数。Esc
:退出appa
:前一张图片d
:后一张图片a
:前十张图片d
:后十张图片k
:调低透明度l
:调高透明度n
:添加对象r
:重置Ctrl+s
:保存之前的操作Ctrl+z
:撤销对象参考项目中environment.yaml
和requirement.py
通过以上步骤,可以使用AutoMaskCOCO标注工具为图像数据集生成COCO格式的标注。如有需要,可以根据自己的需求调整设置以优化标注过程。
参考与引用:
Segment Anything
Segment Anything Labelling Tool (SALT)
COCO Viewer
使用Segment Anything(SAM)模型进行自动标注
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。