资讯动态

3种精准定位图像物体的方法:CogVLM视觉定位Grounding坐标输出完整指南

发布时间:2026/9/19 11:53:02 来源:尧图企业网站定制
3种精准定位图像物体的方法CogVLM视觉定位Grounding坐标输出完整指南【免费下载链接】CogVLM-codea state-of-the-art-level open visual language model | 多模态预训练模型项目地址: https://gitcode.com/zai-org/CogVLM-codeCogVLM 是智谱 AI 开源的视觉语言模型其中的cogvlm-grounding-generalist版本专门支持视觉定位Grounding能精确输出图中物体的边界框坐标。本文带你掌握「描述→定位」「定位→描述」「带坐标描述」3 种视觉定位玩法并讲清坐标格式与结果渲染方法快速实现问图中物体模型给你准确坐标的效果。一、什么是 CogVLM 视觉定位Grounding普通对话模型只能说图里有什么而 CogVLM 的 Grounding 能力可以让模型直接指出物体在哪里——以边界框bounding box坐标的形式输出。CogVLM 的核心是让预训练语言模型获得一个视觉专家图像经 ViT 编码器提取特征再与文本特征在注意力层中融合使模型真正看懂图像内容从而具备定位能力。 想使用定位功能请选择cogvlm-grounding-generalist检查点对应的--version参数为base详见 README_zh.md 的选择适合的模型表格。二、快速上手3 种方式运行 CogVLM 定位 Demo在 basic_demo/ 目录下官方提供了 3 种开箱即用的 Demo方式启动命令适合场景CLISAT 版python cli_demo_sat.py --from_pretrained cogvlm-grounding-generalist --version base --bf16 --stream_chat命令行交互CLIHF 版python cli_demo_hf.py --from_pretrained THUDM/cogvlm-grounding-generalist-hf --bf16使用 transformersWeb 网页版python web_demo.py --from_pretrained cogvlm-grounding-generalist --version base --bf16可视化操作推荐新手对应源码cli_demo_sat.py、cli_demo_hf.py、web_demo.py。网页版界面内置了Grounding 勾选项上传图片后勾选 Grounding再输入下面的定位提示词模型就会返回坐标并自动把边界框画在图上三、方法 1描述 → 定位caption2box——告诉我物体在哪这是最常用的模式用自然语言描述物体模型返回它的边界框坐标。提示词模板在 template.py 的caption2box中把expr替换成你要找的物体即可例如Can you point outchildren in blue T-shirtsin the image and provide the bounding boxes of their location?模型会返回如[[134,309,418,852]]这样的坐标列表多个物体用;分隔。也可以直接问Where is in the image? answer in [[x0,y0,x1,y1]] format.。四、方法 2定位 → 描述box2caption——这个区域里有什么方向反过来给出一个坐标区域让模型描述该区域内看到的内容。适合先框选、后理解的场景比如配合检测框做区域级问答。模板位于 template.py 的box2caption中把objs替换为坐标例如Tell me what you see within the designated area[[086,540,400,760]]in the picture.五、方法 3带坐标的图像描述caption_with_box——边描述边标注第三种模式让模型在整图描述的同时为每个提到的物体附上坐标一次对话即可拿到文字 定位双输出Can you provide a description of the image and include the coordinates [[x0,y0,x1,y1]] for each mentioned object?模板见 template.py。这种方式非常适合生成带定位的结构化数据例如自动标注、图文检索。六、读懂坐标格式[[x1, y1, x2, y2]] 是怎么算的所有输入输出的边界框坐标统一遵循以下规则详见 README_zh.md 格式为[[x1, y1, x2, y2]]原点位于图像左上角x 轴向右、y 轴向下(x1, y1)是左上角(x2, y2)是右下角 数值为相对坐标 × 1000保留三位数不足补前导零。例如[[134,309,418,852]]表示物体占据水平 13.4%~41.8%、垂直 30.9%~85.2% 的区域解析坐标的核心逻辑在 grounding_parser.py 的boxstr_to_boxes函数中将字符串按;、,切分后除以 1000还原为 0~1 的相对坐标。# 将 [[134,309,418,852]] 转为像素坐标时 x_pixel 134 / 1000 * image_width七、把坐标画出来可视化渲染与进阶用法模型输出的坐标文本可以直接渲染成带框图片。grounding_parser.py 的parse_response函数会用正则\[\[(.*?)\]\]从模型回答中提取所有坐标结合 spaCy 名词短语解析把物体名称 ↔ 边界框一一配对按比例缩放图片最大 1920×1080后绘制彩色框和文字标签Web Demo 正是调用它自动生成带框结果的见 web_demo.py。此外composite_demo/ 目录还提供了服务端多模型编排示例可把 CogVLM 定位能力封装成 APIopenai_demo/ 则演示了用 OpenAI 兼容接口调用。八、常见问题速查Q1定位结果不准怎么办优先使用cogvlm-grounding-generalist-v1.1检查点训练时加入了图像增强定位更稳健并使用--version base加载正确的提示格式。Q2为什么模型没返回坐标请确认使用的是官方 Grounding 提示模板caption2box/box2caption/caption_with_box随意改写的问法可能触发不了定位模式。Q3坐标能直接用于裁剪图像吗可以。将坐标除以 1000 乘以图片宽高即可得到像素级裁剪区域配合box2caption还能进一步识别裁剪区域内容。写在最后掌握 CogVLM 的这 3 种视觉定位方法后你就拥有了双向的图文定位能力既能问它在哪也能问这里是什么。从 README_zh.md 的 Task Prompts 部分还能发现更多进阶玩法例如 CogAgent 的 GUI 操作定位欢迎继续探索这个强大的开源视觉语言模型【免费下载链接】CogVLM-codea state-of-the-art-level open visual language model | 多模态预训练模型项目地址: https://gitcode.com/zai-org/CogVLM-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价