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

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

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

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

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

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

VisionAgent 到底是个啥?

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

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

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

VisionAgent 能干啥?

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

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

怎么用 VisionAgent?

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

pip install vision-agent
然后,你得准备好 Anthropic 和 OpenAI 的 API 密钥:

export ANTHROPICAPIKEY="your-api-key"export OPENAIAPIKEY="your-api-key"
搞定这些,你就可以开始玩转 VisionAgent 了!

例子 1:数人头

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

from visionagent.agent import VisionAgentCoderV2from visionagent.models import AgentMessage# 创建一个 VisionAgent 实例agent = VisionAgentCoderV2(verbose=True)# 让 VisionAgent 生成代码来数人头codecontext = agent.generatecode(    [        AgentMessage(            role="user",            content="Count the number of people in this image",            media=["people.png"]  # 假设你有一张名为 people.png 的图片        )    ])# 把生成的代码保存到文件里withopen("generatedcode.py", "w") as f:    f.write(codecontext.code + "n" + code_context.test)
运行这段代码,VisionAgent 就会生成一个名为generated_code.py的文件,里面就是数人头的代码啦!你可以直接运行这个文件,或者自己修改一下。

例子 2:直接用 VisionAgent 的工具

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

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

import visionagent.tools as Timport matplotlib.pyplot as plt# 加载图片image = T.loadimage("people.png")# 检测图片里的人dets = T.countgdobjectdetection("person", image)# 把检测结果(框框)画在图片上viz = T.overlayboundingboxes(image, dets)# 保存结果T.saveimage(viz, "peopledetected.png")# 显示结果plt.imshow(viz)plt.show()
这段代码会生成一张名为people_detected.png的图片,里面的人都被框出来啦!

例子 3:视频处理

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

import visionagent.tools as T# 从视频里提取每一帧和对应的时间戳framesandts = T.extractframesandtimestamps("people.mp4")  # 假设你有一个名为 people.mp4 的视频frames = [f["frame"] for f in framesandts]# 在每一帧里跟踪 "person"tracks = T.countgdsam2videotracking("person", frames)# 把跟踪结果(分割掩码)画在每一帧上viz = T.overlaysegmentationmasks(frames, tracks)# 把处理后的视频保存下来T.savevideo(viz, "people_detected.mp4")
这段代码会生成一个名为people_detected.mp4的视频,里面的人都被跟踪并标记出来啦!

想用其他的 LLM?

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

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

cp visionagent/configs/anthropicconfig.py vision_agent/configs/config.py

同类工具?

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

[](javascript:void (0);)

© 版权声明
THE END
喜欢就支持一下吧
点赞220 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片