Project Icon

taggui

高效智能的AI图像数据集标注应用

TagGUI是一款跨平台桌面应用,专为AI模型数据集制作而设计。该工具提供快速标记、标签自动完成和Stable Diffusion令牌计数等功能。支持CogVLM、LLaVA等模型的自动描述生成,并具备批量标签操作和高级图像过滤能力。TagGUI简化了图像标注流程,提高了AI数据集准备的效率。

TagGUI

TagGUI图标

TagGUI是一款跨平台桌面应用程序,用于快速添加和编辑图像标签和说明文字,主要面向创建用于Stable Diffusion等生成式AI模型的图像数据集的创作者。

TagGUI截图

功能特点

  • 键盘友好的界面,便于快速标记
  • 基于您最常用标签的标签自动完成功能
  • 集成Stable Diffusion令牌计数器
  • 使用包括CogVLM、LLaVA、WD Tagger等多种模型自动生成说明文字和标签
  • 批量标签操作,支持重命名、删除和排序标签
  • 高级图像列表筛选功能

安装

使用本应用程序最简单的方法是从发布页面下载最新版本。选择适合您操作系统的文件,解压到任意位置,然后运行里面的可执行文件。如果您的系统中没有安装7-Zip,可能需要先安装它来解压文件。

  • macOS用户:由于需要运行该操作系统的设备,而我没有,所以没有macOS版本。您仍可以手动安装和运行程序(见下文)。
  • Linux用户:您可能需要安装libxcb-cursor0。(参见这个Stack Overflow回答)如果在尝试使用CogVLM2模型时出现错误,您可能还需要安装python3.11-devpython3.10-dev(取决于您的Python版本)。(参见这个问题

另外,您也可以通过克隆此仓库并安装requirements.txt中的依赖项来手动安装。运行taggui/run_gui.py启动程序。推荐使用Python 3.11,但Python 3.10也应该可以正常工作。

使用方法

点击窗口中央的"加载目录"按钮(或选择"文件"->"加载目录")来加载包含您图像的目录。标签从目录中与图像同名的.txt文件中加载。您对标签所做的任何更改也会自动保存到这些.txt文件中。

自动生成说明文字

自动生成说明文字截图

除了手动标记外,您还可以在TagGUI中自动为图像生成说明文字或标签。GPU生成需要兼容的NVIDIA GPU,也支持CPU生成。

要使用此功能,请在图像列表中选择您想要生成说明文字的图像,然后在自动生成说明文字面板中选择您想使用的模型。如果您有包含之前下载模型的本地目录,可以在"文件"->"设置"中设置它,以将这些模型包含在模型列表中。点击"开始自动生成说明文字"按钮开始生成。您可以选择多张图像,为所有图像批量生成说明文字。首次使用时,下载和加载模型可能需要几分钟,但后续生成会快得多。

生成参数

"提示词":给予说明文字生成模型的指令。提示词格式会根据所选模型自动处理。您可以使用以下模板变量,将有关每张图像的信息动态插入提示词中:

  • {tags}:图像的标签,用逗号分隔。
  • {name}:不带扩展名的图像文件名。
  • {directory}{folder}:包含图像的目录名称。

使用模板变量的示例提示词可以是"使用以下标签作为上下文描述图像:{tags}"。使用这个提示词时,在发送给模型之前,{tags}会被替换为每张图像现有的标签。

"说明文字开头":生成的说明文字将以此文本开头。

"移除说明文字中的标签分隔符":如果选中,生成的说明文字中将移除标签分隔符(默认为逗号)。

"说明文字中不应出现":不应出现在生成的说明文字中的词语或短语。您可以用逗号(,)分隔多个词语或短语。例如,您可以输入appears,seems,possibly以防止模型在说明文字中使用不确定的语气。由于分词相关的限制,这些词语仍可能被生成。

"说明文字中应包含":应出现在生成的说明文字某处的词语或短语。您可以用逗号(,)分隔多个词语或短语。您还可以让说明文字生成模型从一组词语或短语中选择,方法是用|分隔它们。例如,如果您输入cat,orange|white|black,模型将尝试生成包含catorangewhiteblack中任一词的说明文字。不能保证所有指定要求都会得到满足。

"排除标签"(WD Tagger模型):不应生成的标签,用逗号分隔。

其他许多生成参数在Hugging Face文档中有描述。

高级图像列表筛选

通过点击"所有标签"面板中的标签,可以实现筛选包含特定标签的图像的基本功能。除此之外,您还可以在"图像"面板顶部的"筛选图像"框中构建更复杂的筛选条件。

点击此处查看筛选语法的完整文档。

筛选条件

以下是您可以用来指定筛选条件的前缀:

  • tag::将筛选词作为标签的图像
    • tag:cat将匹配带有cat标签的图像。
  • caption::说明文字中包含筛选词的图像
    • 说明文字是指.txt文件中出现的标签列表作为单个字符串。
    • caption:cat将匹配说明文字中任何位置包含cat的图像。例如,带有orange cat标签或catastrophe标签的图像。
  • name::文件名中包含筛选词的图像
    • name:cat将匹配如cat-1.jpglarge_cat.png等图像。
  • path::完整文件路径中包含筛选词的图像
    • path:cat将匹配如C:\Users\cats\dog.jpg/home/dogs/cat.jpg等图像。
  • 您也可以使用不带前缀的筛选词,以筛选说明文字或文件路径中包含该词的图像。
    • cat将匹配说明文字或文件路径中包含cat的图像。

以下是用于数值筛选的前缀。运算符===也可以)、!=<><=>=用于指定比较类型。

  • tags:具有指定标签数量的图像
    • tags:=13 将匹配恰好有13个标签的图像。
    • tags:!=7 将匹配不恰好有7个标签的图像(少于7个或多于7个标签的图像)。
  • chars:图像说明中具有指定字符数的图像
    • chars:<100 将匹配说明中字符数少于100的图像。
    • chars:>=30 将匹配说明中字符数大于或等于30的图像。
  • tokens:图像说明中具有指定标记数的图像
    • tokens:>75 将匹配说明中标记数超过75的图像。
    • tokens:<=50 将匹配说明中标记数小于或等于50的图像。

空格和引号

如果过滤词包含空格,必须用引号(单引号或双引号)将其括起来。 例如,要查找带有"orange cat"标签的图像,必须使用 tag:"orange cat"tag:'orange cat'。 如果过滤词中同时包含空格和引号,可以用反斜杠转义引号。 例如,可以使用 tag:"orange \"cat\"" 来匹配标签 orange "cat"。 另一种方法是对外部和内部引号使用不同类型的引号,如:tag:'orange "cat"'

通配符

可以使用 * 字符作为通配符匹配任意数量的任意字符,使用 ? 字符匹配任意单个字符。 例如,tag:*cat 将匹配带有 orange catlarge catcat 等标签的图像。

组合过滤器

可以使用逻辑运算符组合多个过滤器:

  • NOT:不匹配该过滤器的图像
    • NOT tag:cat 将匹配没有 cat 标签的图像。
  • AND:同时匹配运算符前后两个过滤器的图像
    • tag:cat AND tag:orange 将匹配同时具有 catorange 标签的图像。
  • OR:匹配运算符前后任一过滤器的图像
    • tag:cat OR tag:dog 将匹配具有 catdog 标签,或同时具有两者的图像。

这些运算符的小写版本也可以使用:notandor

运算符优先级为 NOT > AND > OR,因此默认情况下,先计算 NOT,然后是 AND,最后是 OR。 可以使用括号改变这个顺序。 例如,在 tag:cat AND (tag:orange OR tag:white) 中,先计算 OR,匹配具有 cat 标签,且具有 orangewhite 标签的图像。 可以嵌套括号和运算符来创建任意复杂的过滤器。

控制

  • ⭐ 上一张/下一张图片:Ctrl+上箭头/下箭头(在某些情况下,单独使用上箭头/下箭头也可以)
  • 跳转到第一张未标记的图片:Ctrl+J
  • 聚焦"过滤图像"框:Alt+F
  • 聚焦"添加标签"框:Alt+A
  • 聚焦"图像标签"列表:Alt+I
  • 聚焦"搜索标签"框:Alt+S
  • 聚焦"开始自动生成说明"按钮:Alt+C

图像面板

  • 第一张/最后一张图片:Home/End
  • 选择多张图片:按住 CtrlShift 并点击图片
  • 选择所有图片:Ctrl+A
  • 反转选择:Ctrl+I
  • 右键点击图片将弹出上下文菜单,包括复制和粘贴标签、将选定图片移动或复制到其他目录等操作。

图像标签面板

  • 添加标签:在"添加标签"框中输入标签并按 Enter
  • ⭐ 添加自动完成建议的第一个标签:Ctrl+Enter
  • 为多张图片添加标签:在图片列表中选择图片并添加标签
  • 删除标签:选择标签并按 Delete
  • 重命名标签:双击标签,或选择标签并按 F2
  • 重新排序标签:拖放标签
  • 选择多个标签:按住 CtrlShift 并点击标签

所有标签面板

  • 显示包含某个标签的所有图片:选择该标签(当"标签点击操作"设置为"为标签过滤图片"时)
  • 为选定图片添加标签:点击标签(当"标签点击操作"设置为"为选定图片添加标签"时)
  • 删除某个标签的所有实例:选择标签并按 Delete
  • 重命名某个标签的所有实例:双击标签,或选择标签并按 F2

"编辑"菜单包含批量标签操作的其他功能,如"查找和替换"(Ctrl+R)和"批量重新排序标签"(Ctrl+B)。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号