VisionMind Agent 图像标注

VisionMind:一个 Agent 图像标注软件

友情提示:个人开发可能不完善,欢迎体验:https://github.com/li554/VisionMind


第一部分:智能化 ------ 让 Agent 替我们操作软件

1.1 用说话代替点菜单

我做了一个对话式 Agent 侧栏,可以直接下指令,比如:

"加载 demo 项目,把 defect 类别里还没标过的图列出来。"

"把当前这张图里面积小于 200 像素的标注删掉。"

"导出一个 YOLO 格式的版本,然后读一下导出结果,确认结构对不对。"

它不是只聊天,而是真的去调软件里的动作:切界面、加载项目、设筛选、改标注、跑导出。侧栏里能看到每次工具调用的过程------调了哪个动作、什么参数、返回了什么。

1.2 意图分析:先给建议,人再决定

自然语言天然含糊。所以除了直接执行,我还加了一层意图分析:把你的话翻译成几条可执行的操作建议,用卡片摆出来,你觉得对就点一下,不对就改一句再说。顶栏常驻一个小悬浮球,提示当前状态和一些快捷入口。

这套做法的思路是"先别让它自己拍板":熟练的人可以直接下指令,不熟的人看着卡片一步步走。

1.3 顺手把 187 个动作都变成了工具

动作体系基于 @action 装饰器:目前整个软件注册了 187 个可调用动作,其中 92 个(scope=agent 的那些)会自动转成 LLM 的工具 schema 暴露出去。

这样做的直接好处是:不用为 Agent 单独维护一套接口。一个功能按规范注册成 action,就同时能被界面调用、被测试脚本调用、被 Agent 调用。写插件的人不用专门考虑"怎么让 AI 用上我"。

1.4 让它读图的方式多几种

只给模型一段文字,它基本靠猜。所以我给了三种读图模式:原图 、ROI 裁剪 (只看关心的区域,省 token 也少干扰)、标注叠加(把现有标注画上去,问它"这里是不是漏了或标错了")。也支持手动附加图片或文件当上下文。

1.5 有些事让它算,别让它估

"这个缺陷大概多大""这批框是不是偏细长"这类问题,让模型目测不太靠谱。所以配了一个受限环境下的 Python 执行 ,可以用 cv2 / numpy 对当前图片实际算一遍。

从"看起来差不多"变成"算出来是多少",结果的可信度会好一些。

1.6 工具给太多,它反而会瞎找

这是踩过坑才意识到的:把 92 个工具一股脑塞给模型,它常常在工具列表里翻来翻去,决策变慢、token 涨、还容易挑错工具。

后来我改成按需裁剪工具面:按当前所在界面、按指令里的关键词命中的分类、按工具跟指令的相关性排序,先把最可能用上的那十几个摆出来;被裁掉的不是消失------还能被检索、被激活,下一轮再回到台面上。

1.7 AI 辅助标注:示例、文本、模型三条路

这可能是"智能化"里最实用的一块。三种模式,都可以对当前图或全部图片批量执行:

  • 基于示例 :在当前图上把某个已保存的标注设为示例 ,它就进了这个项目的示例库(放在项目内的 support_sets 目录,跟着项目走)。之后让模型照着示例把其余的图标一遍,人只做审核和修边。
  • 基于文本:SAM3 短语描述要找的目标,存进项目级提示词库,下个批次复用。
  • 基于模型:YOLOv8 / YOLOE 这类检测模型直接推理;训练好的权重丢进来就能注册成可用模型,不用改代码。

外面再挂一层规则过滤:最大保留数量、置信度阈值、面积上下限。模型可以多吐,规则负责把明显不合理的挡在入库之前,少产生一点脏数据。


第二部分:痛点优化 ------ 那些每天都碰到的小麻烦

智能化决定它"有多聪明",这部分决定它"用起来顺不顺"。出发点特别朴素:我自己用的时候,哪里烦就改哪里。

2.1 自动聚焦

一张图上百个目标,标注列表也一百多行。以前改一条的流程是:看列表 → 猜位置 → 缩放滚动找 → 没找到 → 再猜。

现在按 ↑ / ↓ 在标注之间跳,画布会自动放大 4 倍并居中到那个对象;改完按一下就是下一个;按 V 键退出聚焦回到全图。

人工审核的时候,对于一些有很多小目标的图片,"找图、找框"花的时间远远比"纠正"多,自动聚焦极大解决了我的痛点。

另外做了一些缩小范围的东西:筛选 (类别、预设尺寸、面积、宽高比、标注状态)和搜图(文件名关键词、支持通配符,搜索结果会叠加当前筛选)。

2.2 副标注对比

这是审核时最实在的一个心结:新模型看着更准,但它万一把原来标好的弄坏了呢?

于是有了副标注 :把另一套标注(新模型跑出来的,或者另一个版本导出的)作为"副标注"加载进来,系统会把它和当前主标注逐条匹配。然后:

  • 匹配上的能直接看差异,采纳到指定的那条主标注 ,或者把副标注追加为主标注;
  • 匹配不上的,说明模型多标了、或者人漏标了,一眼能看到;
  • 觉得不对就清掉副标注,主标注完全没动。

它想解决两个场景:模型迭代后的回归对比 ,和人机标注的差异定位。


最后提一嘴

这个软件目前还谈不上成熟,一开始可能就没想过做Agent,本来只是想做一个符合我手感的标注软件,让我打标能轻松一点。Agent是后来加的,它不是每次都稳,也不是什么都能做,对于这种工具数量较大的上下文工程我尝试了很多策略。前后推翻重做的设计也不在少数,但仍然有待改进。还有很多想法,受限于软件开发经验不好推进,希望这个软件能更加系统化、规范化,然后自由拓展!!

项目地址 :https://github.com/li554/VisionMind(PySide6 + QFluentWidgets,SAM / SAM2 / SAM3 / HQ-SAM、YOLOv8 / YOLOE,GPL-3.0)

相关推荐
李溪白12 分钟前
篇四:召回优化——为什么纯向量检索不够用,Hybrid Search 怎么配
agent
李溪白3 小时前
篇三:Embedding 与向量检索——选错模型,后面全白跑
agent
枫叶丹44 小时前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex
deepseek234 小时前
硬预算帽默认值拆解:AWS 九月上线支出上限、GCP 七月跟进,Agent 时代按量付费必须默认断供
人工智能·llm·云计算·agent·aws
FanetheDivine6 小时前
学习Agent开发 10.延迟工具 deferred tools
agent·ai编程
为你学会写情书7 小时前
Agent 开发框架深度对比——LangGraph、AutoGen、CrewAI 与 Microsoft Agent Framework 该选谁
agent
染指11107 小时前
135.Agent-多Agent框架-LangChain多智能体(SubAgents子代理)
数据库·人工智能·设计模式·langchain·agent·agents
为你学会写情书7 小时前
Agent 能力评测——2026 年基准测试全景与模型真实能力画像
agent
lucas_AI7 小时前
别等上下文爆了才压缩:AutoCompact 教编码智能体主动「断舍离」
llm·agent
用户3134672143547 小时前
Agent相关 - agent_scratchpad 到底该放哪?一个隐蔽的顺序坑
langchain·llm·agent