YOLO-Worldv2两分钟快速部署

本次部署使用的框架基于ultralytics, 并且已经集成最新版本的YOLOv8框架:

一键环境配置

bash 复制代码
pip install ultralytics

基础使用

  • 训练
python 复制代码
from ultralytics import YOLOWorld
model = YOLOWorld('yolov8x-worldv2.pt')
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
results = model('path/to/bus.jpg')
  • 推理
python 复制代码
from ultralytics import YOLOWorld
model = YOLOWorld('yolov8s-worldv2.pt')
results = model.predict('path/to/image.jpg')
results[0].show()
  • 自定义标签
    • 我们定义了保温杯,马克杯,纸杯,抽纸,笔记本,屏幕等标签。均不被包含在COCO类别定义中。
python 复制代码
model = YOLOWorld('yolov8s-worldv2.pt')
model.set_classes(['Insulated_cup','mug','paper_cup','drawing_paper','laptop', 'screen', 'woman', 'wirless_earphone', 'Shoulder_bag'])
model.save("elephant_camel_world.pt")
  • 导出onnx
python 复制代码
model = YOLO('cup_mug_world.pt')
model.export(format="onnx", opset=11)

实时推理

简单修改代码,使得opencv调用网络摄像头并介入yolo-world。代码如下:

python 复制代码
from ultralytics import YOLOWorld
import cv2
import numpy as np

model = YOLOWorld('yolov8x-worldv2.pt') 
model.set_classes(['Insulated_cup','mug','paper_cup','drawing_paper','laptop', 'screen', 'woman', 'wirless_earphone', 'Shoulder_bag'])
model.save("elephant_camel_world.pt")


capture = cv2.VideoCapture(2)

# while True:
ret, frame = capture.read()
# cv2.imshow("result", frame)
# cv2.waitKey(0)

while True:
    ret, frame = capture.read()
    results = model.predict(np.array(frame))
    cv2.imshow("result", results[0].plot(False))
    cv2.waitKey(1)

具体效果如下。从图中我们可以看到,yolo-world确实可以扩展类别到一些细分、甚至是类似的其他类别。但是存在类别识别错误,以及同物体重识别的情况。

相关推荐
有Li2 小时前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生
叶子爱分享5 小时前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉
张较瘦_6 小时前
[论文阅读] 人工智能 | 深度学习系统崩溃恢复新方案:DaiFu框架的原位修复技术
论文阅读·人工智能·深度学习
cver1236 小时前
野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
人工智能·pytorch·深度学习·目标检测·计算机视觉·目标跟踪
学技术的大胜嗷6 小时前
离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制
人工智能·深度学习·yolo·目标检测·机器学习
kyle~8 小时前
目标检测在国防和政府的应用实例
人工智能·目标检测·计算机视觉
Akttt9 小时前
【T2I】R&B: REGION AND BOUNDARY AWARE ZERO-SHOT GROUNDED TEXT-TO-IMAGE GENERATION
人工智能·深度学习·计算机视觉·text2img
jndingxin10 小时前
OpenCV CUDA模块设备层-----反向二值化阈值处理函数thresh_binary_inv_func()
人工智能·opencv·计算机视觉
点我头像干啥11 小时前
用 PyTorch 构建液态神经网络(LNN):下一代动态深度学习模型
pytorch·深度学习·神经网络
jndingxin11 小时前
OpenCV CUDA模块设备层-----在 GPU 上执行类似于 std::copy 的操作函数warpCopy()
人工智能·opencv·计算机视觉