摘要:ComfyUI-Autodistill是ComfyUI平台上的图像集自动标注节点包,利用基础模型的能力自动标注图像并生成目标检测数据集。
ComfyUI-Autodistill是ComfyUI平台上的图像集自动标注节点包,利用基础模型的能力自动标注图像并生成目标检测数据集。
文件路径文件说明requirements.txt依赖包清单文件__init__.py包入口文件py/自定义节点目录py/caption_ontology.pyCaptionOntology节点,定义基础模型的提示和对应的标注信息py/load_base_model.pyLoadBaseModel节点,加载基础模型py/empty_dict.pyEmptyDict节点,输出空字典对象py/dict_set_value.pyDictSetValue节点,设置字典对象的值py/label_images.pyLabelImages节点,自动标注指定的图像集py/visualize_dataset.pyVisualizeDataset节点,可视化生成的数据集examples/示例工作流目录examples/auto-annotation.json自动标注示例工作流images/待标注的示例图像集目录dataset/完成标注的数据集目录requirements.txt依赖包清单文件2、安装ComfyUI|- custom_nodes|- ComfyUI-Autodistill|- __init__.py|- ...然后进入 ComfyUI-Autodistill 目录,执行如下命令安装依赖包:
|
pip install -r requirements.txt上面工作流执行后,将自动在指定的输出文件夹得到标注好的数据集。点击预览图,可以看到瓶子和瓶盖 已经被标注了:
LabelImages节点负责对指定的图像集进行自动标注并形成目标检测数据集,它需要一个基础模型作为输入, 同时也需要指定要标注的图像文件所在的目录。
LoadBaseModel节点负责加载指定类型的基础模型,同时也需要指定一个标注提示(CaptionOntology)以便 指导基础模型进行标注。
CaptionOntology节点负责定义提供给基础模型的标注提示,标注提示将提示映射为标签,例如这个节点表示 基础模型应当标注出图像中的 milk bottle,并在生成的数据集中设置标签为 bottle:
EmptyDict节点创建一个空字典对象,DictSetValue节点设置字典对象的键/值对,因此下面的工作流片段:
实际上创建了一个如下的字典对象:
{"milk bottle": "bottle","blue cap": "cap",}VisualizeDataset节点负责显示生成的数据集中的前N个带标注信息的图像。
LabelImages节点利用基础模型对指定的图像文件进行自动标注,生成目标检测数据集。
输入:
base_model:基础模型,由 LoadBaseModel节点加载input_folder:待标注的图像文件目录extension:待标注图像文件的后缀,默认:'png'output_folder:待生成数据集的保存目录,包含原始图像和标注信息输出:
dataset:生成的目标检测数据集LoadBaseModel节点按指定的ontology信息加载指定的基础模型。
输入:
ontology:基础模型的提示与标注映射描述,由 CaptionOntology节点创建model:要加载的基础模型,默认:"Grounded SAM"输出:
base_model:已加载的基础模型VisualizeDataset 节点可视化生成的数据集中的前N个带标注图像。
输入:
dataset:自动标注生成的数据集first_n:要叠加标注信息的前多少个图像mask:是否叠加遮罩标注box:是否叠加包围盒标注label:是否叠加分类标签输出:
images:生成的带标注图像批CaptionOntology节点定义用于指导基础模型的标注行为的提示信息。
输入:
dict:提示/分类标签字典输出:
ontology:提示标注对象EmptyDict节点定义一个空字典。
输出:
DictSetValue节点设置字典对象的键/值对。
来源:子良说汽车