[AIGC]AIGC航班再次起航 这一次我们前往Google”图片识别“大模型站点

序言

在上一篇文章我们见识了AIGC强大的智能客服情感分析功能AIGC时代的到来 你是否做好迎接时代浪潮的准备,今天我们再次来领略一下另一个大模型的魅力------------图片识别,那么话不多说,扬帆起航!

准备工作

我们最重要的是能够登录OPENAIColab网站,对此不熟悉得可以去看我之前得这篇文章,文章内有详细的步骤讲解

[教学篇] 学会使用OpenAI 你也能成为跨境电商'超人'

图片识别功能

序言

大家都知道,最近在智能领域很火的"无人驾驶"这个概念已经逐渐成熟起来了,这里面其实就使用了图片识别模型类似的概念,我们首先要有一个大模型,通过对其的不断训练让它实现我们最终的目标,比如无人驾驶的汽车行驶在公路上需要对摄像头拍到的一切物体进行识别,比如前方有行人,障碍物,动物类似的物体需要先识别并进行对应的操作,那么我们今天要讲的就是如何对一个图片进行物体识别呢。

实战开始

首先,和上次一样的模型,我们使用的还是transformers大模型,先导入后执行,运行结果和我一样则说明你已经成功了

接着我们来查看一下 这个大模型能派发哪些任务,是否其中我们需要的

js 复制代码
from transformers.pipelines import SUPPORTED_TASKS
SUPPORTED_TASKS

是不是感觉这样看有点太多太杂了不好查找,我们可以直接打印出dict中的items,运行成功的结果就像是下面这样啦

js 复制代码
print(SUPPORTED_TASKS.items())

但是这样还是不够简洁,于是我们将打印出的数组解构,这是ES6新增的一个特性。点击运行后如果成功结果就跟下面的是一样的啦

js 复制代码
for k, v in SUPPORTED_TASKS.items():
print(k)

然后我们找到了我们需要的这个模型派发的任务,于是我们开始下载这个派发任务,并且需要我们Google提供的一个图片识别模型"google/owlvit-base-patch32",和我结果一样就说明下载成功!

js 复制代码
from transformers import pipeline
checkpoint = "google/owlvit-base-patch32" #图片识别模型
detector = pipeline('zero-shot-object-detection',model=checkpoint)

然后我们需要做的就是导入我们需要进行识别的图片,这里我们需要发送http请求,从pythonPIL中导入图片专业库,用来识别我们的图片里面的物体,如果运行结果和我的一样,那么大家里最后的成功更进一步啦!

js 复制代码
import requests # python的http 请求库
from PIL import Image # PIL python 图片的专业库
url = "https://unsplash.com/photos/oj0zeY2Ltk4/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTR8fHBpY25pY3xlbnwwfHx8fDE2Nzc0OTE1NDk&force=true&w=640"
img = Image.open(requests.get(url, stream=True).raw)
img

于是我们需要对需要查找的对象进行添加,这个PIL图片库里的数据是非常大的,大家不用担心图片查找容错率太低的问题,比如我们想要查找图片中是否存在帽子太阳镜

js 复制代码
predictions = detector(
    img,
    candidate_labels= ["hat", "sunglasses", "book"]
)
predictions

到了这里我们就已经查找到图片中有我们需要的物体,并且给了各个物体的左上和右下坐标,于是我们想更加遥遥领先一下,将这个图片的盒子模型勾画出来,我们将img中的目标物体的各种信息解构出来,并且画上边框,让我们完成这最后一步,如果运行结果和我一样,那么恭喜你,今天又实现了图片识别大模型的掌握!

js 复制代码
from PIL import ImageDraw # 写模块
draw = ImageDraw.Draw(img)

for prediction in predictions:
  box = prediction["box"]
  laber = 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

结语

大家对于AIGC方向感兴趣的话可以点点关注,我之后会在专栏中持续更新这一系列的文章,带你从慢慢了解使用各种大模型😘

到这里我们今天的内容就分享结束啦

感谢各位读者观看,如果有收获的话,收藏+关注 Coding不迷路。

相关推荐
Terry Cao 漕河泾35 分钟前
SRT3D: A Sparse Region-Based 3D Object Tracking Approach for the Real World
人工智能·计算机视觉·3d·目标跟踪
多猫家庭40 分钟前
宠物毛发对人体有什么危害?宠物空气净化器小米、希喂、352对比实测
人工智能·宠物
AI完全体44 分钟前
AI小项目4-用Pytorch从头实现Transformer(详细注解)
人工智能·pytorch·深度学习·机器学习·语言模型·transformer·注意力机制
AI知识分享官44 分钟前
智能绘画Midjourney AIGC在设计领域中的应用
人工智能·深度学习·语言模型·chatgpt·aigc·midjourney·llama
憨憨小白1 小时前
函数的高级应用
开发语言·python·青少年编程·少儿编程
程序小旭1 小时前
Objects as Points基于中心点的目标检测方法CenterNet—CVPR2019
人工智能·目标检测·计算机视觉
阿利同学1 小时前
yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程
人工智能·yolo·目标检测·计算机视觉·联系 qq1309399183·yolo多任务检测·多检测头检测
CV-King1 小时前
计算机视觉硬件知识点整理(三):镜头
图像处理·人工智能·python·opencv·计算机视觉
惟长堤一痕1 小时前
医学数据分析实训 项目三 关联规则分析作业--在线购物车分析--痹症方剂用药规律分析
python·数据分析
Alluxio官方1 小时前
Alluxio Enterprise AI on K8s FIO 测试教程
人工智能·机器学习