AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


惊了!动动嘴皮子就能搞定图像识别?这个神器让 AI 编程不再是梦!(内附代码)

发布日期:2025-03-10 21:09:51 浏览次数: 1525 来源:老码小张
推荐语

用自然语言指挥AI完成图像识别,VisionAgent让编程更简单!

核心内容:
1. VisionAgent工具库的介绍和功能特点
2. VisionAgent如何用自然语言指令控制AI进行图像处理
3. 安装和使用VisionAgent的步骤指南

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

 

哈喽大家好,我是老码小张!一个喜欢研究技术背后的原理,并且思考如何用技术解决实际问题的技术人。

最近啊,我发现了一个超酷炫的工具库——VisionAgent[1],它能让你用自然语言指挥 AI 去完成各种图像识别任务,简直不要太方便!这个工具是开源的,我知道很多人会问有没有线上 demo 可以体验的。有的,在这里[2]

以前,咱们要搞个图像识别,比如数数图片里有多少罐可乐,那得自己吭哧吭哧写一大堆代码,调参调到头秃。现在有了 VisionAgent,你只需要告诉它:“嘿,帮我数数这张图里有几罐可乐!”,剩下的就交给它了!

VisionAgent 到底是个啥?

简单来说,VisionAgent 就是一个能让你用“人话”来指挥 AI 进行图像处理的工具库。它背后的大佬是现在最火的大语言模型(LLM),比如 Anthropic 的 Claude-3.5 和 OpenAI 的 o1。

这些 LLM 就像是 VisionAgent 的“大脑”,负责理解你的指令,然后生成相应的代码来完成任务。你只需要动动嘴皮子,就能让 AI 帮你搞定图像识别,是不是很神奇?

VisionAgent 能干啥?

VisionAgent 的本事可大了!它能帮你:

  • • 数数:数图片里的人头、可乐罐、汽车等等。
  • • 识别物体:识别图片里的各种物体,比如猫、狗、桌子、椅子等等。
  • • 跟踪物体:在视频里跟踪某个物体,比如跟踪视频里的小狗。
  • • 生成代码:直接生成可以运行的图像处理代码,你可以拿来学习或者自己修改。

怎么用 VisionAgent?

想用 VisionAgent,首先你得安装它:

pip install vision-agent

然后,你得准备好 Anthropic 和 OpenAI 的 API 密钥:

export ANTHROPIC_API_KEY="your-api-key"
export OPENAI_API_KEY="your-api-key"

搞定这些,你就可以开始玩转 VisionAgent 了!

例子 1:数人头

想知道一张图片里有多少人?简单!

from vision_agent.agent import VisionAgentCoderV2
from vision_agent.models import AgentMessage

# 创建一个 VisionAgent 实例
agent = VisionAgentCoderV2(verbose=True)

# 让 VisionAgent 生成代码来数人头
code_context = agent.generate_code(
    [
        AgentMessage(
            role="user",
            content="Count the number of people in this image",
            media=["people.png"]  # 假设你有一张名为 people.png 的图片
        )
    ]
)

# 把生成的代码保存到文件里
withopen("generated_code.py""w"as f:
    f.write(code_context.code + "\n" + code_context.test)

运行这段代码,VisionAgent 就会生成一个名为 generated_code.py 的文件,里面就是数人头的代码啦!你可以直接运行这个文件,或者自己修改一下。

例子 2:直接用 VisionAgent 的工具

VisionAgent 不仅能生成代码,它还提供了一系列好用的工具,你可以直接拿来用。

比如,你想在一张图片里找出所有人,并把他们框出来:

import vision_agent.tools as T
import matplotlib.pyplot as plt

# 加载图片
image = T.load_image("people.png")

# 检测图片里的人
dets = T.countgd_object_detection("person", image)

# 把检测结果(框框)画在图片上
viz = T.overlay_bounding_boxes(image, dets)

# 保存结果
T.save_image(viz, "people_detected.png")

# 显示结果
plt.imshow(viz)
plt.show()

这段代码会生成一张名为 people_detected.png 的图片,里面的人都被框出来啦!

例子 3:视频处理

VisionAgent 还能处理视频!比如,你想在一段视频里跟踪某个物体:

import vision_agent.tools as T

# 从视频里提取每一帧和对应的时间戳
frames_and_ts = T.extract_frames_and_timestamps("people.mp4")  # 假设你有一个名为 people.mp4 的视频
frames = [f["frame"for f in frames_and_ts]

# 在每一帧里跟踪 "person"
tracks = T.countgd_sam2_video_tracking("person", frames)

# 把跟踪结果(分割掩码)画在每一帧上
viz = T.overlay_segmentation_masks(frames, tracks)

# 把处理后的视频保存下来
T.save_video(viz, "people_detected.mp4")

这段代码会生成一个名为 people_detected.mp4 的视频,里面的人都被跟踪并标记出来啦!

想用其他的 LLM?

VisionAgent 默认使用 Anthropic Claude-3.5 和 OpenAI o1,但你也可以换成其他的 LLM。

只需要修改 vision_agent/configs 目录下的 config.py 文件就行。比如,你想只用 Anthropic,就把 anthropic_config.py 复制成 config.py

cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py

同类工具?

这里就不给大家横向对比其他同类型工具了,因为 VisionAgent 本身就是一个集成工具,它把 LLM 当做大脑,然后调用各种视觉工具包来处理视觉任务。所以,VisionAgent 的强大之处在于它的“大脑”,也就是 LLM 的选择,实际上也没看见类似的工具。

说了这么多

VisionAgent 真的是一个很棒的工具,它让我们普通人也能轻松玩转图像识别。如果你也想体验一下用“嘴”编程的快感,那就赶紧试试 VisionAgent 吧!

希望这篇文章对你有帮助!如果你有任何问题或者想了解更多关于 VisionAgent 的信息,欢迎留言告诉我哦!

引用链接

[1] VisionAgent: https://github.com/landing-ai/vision-agent
[2] 这里: https://va.landing.ai/agent

 


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询