前言
今天我们来聊聊,如何用AI帮助我们识别图片上的物品。感兴趣的小伙伴们可以关注我,以后会带着大家了解更多有关ai的知识,与大家一起进步!
在开始讲解之前,我们需要进行一些准备工作
准备工作
准备工作:
- Google 账号
- Openai 账号
- Openai 网址为 openai.com/
- Google Colab 网址为 colab.research.google.com/。
通过 Google Colab,用户可以创建和共享Jupyter笔记本,运行Python代码,访问云端计算资源,以及使用大量开源机器学习框架和库,而无需担心硬件或软件配置问题。而我们这里需要一点点的python 和 openai结合,当我们使用Google Colab 运行python时,可以不用担心配置环境。
注意,以上这些网站均为外网,当我们访问这些网站时,需要 “搭梯子”,具体可以去网上看看教程
- 首先进入openai网站,拿到我们的sdk。教程如下:
选择VPI
复制我们的API keys, 如果没有的话点击Create new secret key,这样我们就可以拿到我们的sdk了。
- 接下来我们进入Google Colab网站,将代码放进此网站运行。这个网站十分的方便,当我们使用Google Colab 运行python时,可以不用担心配置环境。
点击文件-> 新建笔记本 点击左上角 +代码
输入!pip install transformers
,Python中使用pip工具安装Hugging Face的Transformers库
当左下角出现Successfully时,说明安装成功
输入:
from transformers.pipelines import SUPPORTED_TASKS
print(SUPPORTED_TASKS)
在Hugging Face的Transformers库中,SUPPORTED_TASKS
是一个包含当前库支持的各种NLP(自然语言处理)任务的列表。这个列表包括可以使用Transformers库进行处理的不同NLP任务,例如文本分类、命名实体识别、问答等。
通过检查SUPPORTED_TASKS
,你可以获得当前Transformers库版本中支持的任务的清单。这对于了解库的功能和可用性非常有用,特别是当我们计划使用库中的工具来处理特定类型的NLP任务时。
这将输出一个包含不同任务名称的列表,每个任务名称代表Transformers库支持的一个NLP任务。你可以根据需要选择适合你项目的任务,并使用相应的工具和模型。
输入:for k, v in SUPPORTED_TASKS.items(): print(k)
,我们可以看到支持的各种任务:
而我们的物品侦察也在其中
import requests # python的http 请求库
from PIL import Image # PIL python 图片专业库
url = "https://unsplash.com/photos/oj0zeY2Ltk4/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTR8fHBpY25pY3xlbnwwfHx8fDE2Nzc0OTE1NDk&force=true&w=640"
# requests.get python 同步语言
img = Image.open(requests.get(url, stream=True).raw)
img
从指定的URL获取图像数据,然后使用PIL库打开该图像。
运行:
输入候选对象:
from PIL import ImageDraw # 写模块
draw = ImageDraw.Draw(img)
for prediction in predictions:
box = prediction["box"]
label = prediction["label"]
score = prediction["score"]
xmin, ymin, xmax, ymax = box.values() # 解构
draw.rectangle((xmin, ymin, xmax, ymax),outline="red",width=1)
draw.text((xmin,ymin),f"{label}: {round(score, 2)}", fill="red")
img
这段代码使用了 PIL 库中的 ImageDraw 模块,在图像上绘制了目标检测模型的预测结果。代码遍历了模型的每个预测,为每个检测到的对象绘制了带有标签和置信度的红色边框。最后,显示了带有标注的图像
我们来看看效果:
今天的内容就到这啦,如果你觉得小编写的还不错的话,或者对你有所启发,请给小编一个辛苦的赞吧