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

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 | 依赖包清单文件 |
将节点包解压到 ComfyUI/custom_nodes 目录下,结果如下所示:
ComfyUI
|- custom_nodes
|- ComfyUI-Autodistill
|- __init__.py
|- ...
然后进入 ComfyUI-Autodistill 目录,执行如下命令安装依赖包:
|
pip install -r requirements.txt
在ComfyUI界面中,点击【Load】按钮载入 examples/auto-annotation.json工作流,如下图所示:

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

LabelImages节点负责对指定的图像集进行自动标注并形成目标检测数据集,它需要一个基础模型作为输入,
同时也需要指定要标注的图像文件所在的目录。
LoadBaseModel节点负责加载指定类型的基础模型,同时也需要指定一个标注提示(CaptionOntology)以便
指导基础模型进行标注。
CaptionOntology节点负责定义提供给基础模型的标注提示,标注提示将提示映射为标签,例如这个节点表示
基础模型应当标注出图像中的 milk bottle,并在生成的数据集中设置标签为 bottle:

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

实际上创建了一个如下的字典对象:
{
"milk bottle": "bottle",
"blue cap": "cap",
}
VisualizeDataset节点负责显示生成的数据集中的前N个带标注信息的图像。

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

LoadBaseModel节点按指定的ontology信息加载指定的基础模型。
输入:
CaptionOntology节点创建输出:

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

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

EmptyDict节点定义一个空字典。
输出:

DictSetValue节点设置字典对象的键/值对。
输入:
本站所提供软件包仅用于学习和研究,请依法合规使用。
本站所提供软件包均提供完整源码,使用前请认真阅读源代码和文档以确保充分理解软件包的设计与功能实现,本站不承担 因不当使用本站所提供软件包而造成的任何法律风险或财产损失责任。