cover

ComfyUI-Autodistill节点包

汇智网 / hubwiz.com

ComfyUI的图像自动标注自定义节点包,利用基础模型的能力自动标注图像集生成目标检测数据集。

ComfyUI-Autodistill是ComfyUI平台上的图像集自动标注节点包,利用基础模型的能力自动标注图像并生成目标检测数据集。

ComfyUI-Autodistill

1、代码组织

ComfyUI-Autodistill节点包的目录组织说明如下:

文件路径 文件说明
requirements.txt 依赖包清单文件
__init__.py 包入口文件
py/ 自定义节点目录
py/caption_ontology.py CaptionOntology节点,定义基础模型的提示和对应的标注信息
py/load_base_model.py LoadBaseModel节点,加载基础模型
py/empty_dict.py EmptyDict节点,输出空字典对象
py/dict_set_value.py DictSetValue节点,设置字典对象的值
py/label_images.py LabelImages节点,自动标注指定的图像集
py/visualize_dataset.py VisualizeDataset节点,可视化生成的数据集
examples/ 示例工作流目录
examples/auto-annotation.json 自动标注示例工作流
images/ 待标注的示例图像集目录
dataset/ 完成标注的数据集目录
requirements.txt 依赖包清单文件

2、安装

将节点包解压到 ComfyUI/custom_nodes 目录下,结果如下所示:

ComfyUI
  |- custom_nodes
        |- ComfyUI-Autodistill
              |- __init__.py
              |- ...

然后进入 ComfyUI-Autodistill 目录,执行如下命令安装依赖包:

|

pip install -r requirements.txt

3、使用示例数据集快速上手

在ComfyUI界面中,点击【Load】按钮载入 examples/auto-annotation.json工作流,如下图所示:

automated annotation example workflow

上面工作流执行后,将自动在指定的输出文件夹得到标注好的数据集。点击预览图,可以看到瓶子和瓶盖 已经被标注了:

mask annotation

LabelImages节点负责对指定的图像集进行自动标注并形成目标检测数据集,它需要一个基础模型作为输入, 同时也需要指定要标注的图像文件所在的目录。

LoadBaseModel节点负责加载指定类型的基础模型,同时也需要指定一个标注提示(CaptionOntology)以便 指导基础模型进行标注。

CaptionOntology节点负责定义提供给基础模型的标注提示,标注提示将提示映射为标签,例如这个节点表示 基础模型应当标注出图像中的 milk bottle,并在生成的数据集中设置标签为 bottle

ontology example

EmptyDict节点创建一个空字典对象,DictSetValue节点设置字典对象的键/值对,因此下面的工作流片段:

dict part

实际上创建了一个如下的字典对象:

{
  "milk bottle": "bottle",
  "blue cap": "cap",
}

VisualizeDataset节点负责显示生成的数据集中的前N个带标注信息的图像。

4、自定义节点手册

4.1 LabelImages

label images node

LabelImages节点利用基础模型对指定的图像文件进行自动标注,生成目标检测数据集。

输入:

  • base_model:基础模型,由 LoadBaseModel节点加载
  • input_folder:待标注的图像文件目录
  • extension:待标注图像文件的后缀,默认:'png'
  • output_folder:待生成数据集的保存目录,包含原始图像和标注信息

输出:

  • dataset:生成的目标检测数据集

4.2 LoadBaseModel

load base model node

LoadBaseModel节点按指定的ontology信息加载指定的基础模型。

输入:

  • ontology:基础模型的提示与标注映射描述,由 CaptionOntology节点创建
  • model:要加载的基础模型,默认:"Grounded SAM"

输出:

  • base_model:已加载的基础模型

4.3 VisualizeDataset

visualize dataset node

VisualizeDataset 节点可视化生成的数据集中的前N个带标注图像。

输入:

  • dataset:自动标注生成的数据集
  • first_n:要叠加标注信息的前多少个图像
  • mask:是否叠加遮罩标注
  • box:是否叠加包围盒标注
  • label:是否叠加分类标签

输出:

  • images:生成的带标注图像批

4.4 CaptionOntology

caption ontology node

CaptionOntology节点定义用于指导基础模型的标注行为的提示信息。

输入:

  • dict:提示/分类标签字典

输出:

  • ontology:提示标注对象

4.5 EmptyDict

empty dict node

EmptyDict节点定义一个空字典。

输出:

  • dict:空字典

4.6 DictSetValue

dict set value node

DictSetValue节点设置字典对象的键/值对。

输入:

  • key:键
  • value:值

声 明

本站所提供软件包仅用于学习和研究,请依法合规使用。

本站所提供软件包均提供完整源码,使用前请认真阅读源代码和文档以确保充分理解软件包的设计与功能实现,本站不承担 因不当使用本站所提供软件包而造成的任何法律风险或财产损失责任。

¥499.00
查看授权信息
  • 付费成功自动开通下载
  • 三个月内代码免费升级
  • 专业人员在线技术支持
  • 支持按需定制(另付费)
下载代码包
版本发布日期地址
1.0.0 2024-12-6
下载最新版
QQ咨询
2860991437
9+