YOLO-World开集目标检测,可直接上手

机器学习算法数据库

picture.image

1. 前言

    关于Demo:

尽管YOLO-World官方给出了在线试用的Demo:https://huggingface.co/spaces/stevengrove/YOLO-World ,但还是不如在自己电脑上离线运行一遍来得直接。恰好,近期Ultralytics(YOLOv8)也新增了对YOLO-World的支持,我们不如直接体验一把。

    关于YOLO-World:




    其是一个使用开放词汇进行目标检测的新框架,且是以YOLOv8框架为detector,所以其特点就继承了YOLO系列,也即轻量、快速、性能好。另外,既然是文本和图片一起作为输入,那么就需要有一个文本embedding的模块,这里用的是CLIP,其将用户输入的词汇列表转换为特征向量,与输入图像一起进行推理。

picture.image

  1. 安装(更新)

    由于YOLO-World主要包括两部分内容:YOLO-style的检测器、用于文本embedding的CLIP。因此,我们需要安装一个Ultralytics库、一个CLIP库。

          
# 新安装:
          
pip install ultralytics
          
 
          
# 已有Ultralytics,更新:
          
pip install -U ultralytics
          

          
pip install openai-clip
      

3. 上手体验

模型下载:

这里选用

yolov8s-world.pt:https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8s-world.pt

当然,也可以使用其他模型,可自行从Ultralytics的官网下载:。

不设定词汇表,进行推理:

这里没有用到CLIP,因为没有设定词汇,也就不需要进行text embedding了


        
            

          yolo predict model=yolov8s-world.pt source=path/to/image.jpg imgsz=640
        
      

设定词汇,进行推理:


          
from ultralytics import YOLO
          
 
          
 
          
if __name__ == '__main__':
          
 
          
    # Initialize a YOLO-World model
          
    model = YOLO('yolov8/yolov8s-world.pt')  # or choose yolov8m/l-world.pt
          
 
          
    # Define custom classes
          
    model.set_classes(["person"])
          
 
          
    # Execute prediction for specified categories on an image
          
    results = model.predict('image_01.jpg')
          
 
          
    # Show results
          
    results[0].show()
      

这里,我们设定了只包括一个词汇的词汇表:["person"],那么自然,我们也可以根据需要设定多个词汇。由于设定了词汇表,所以就会用到CLIP,它会将各个词汇进行嵌入,转换为text feature。

上述代码中用到了set_classes(),其实现如下:


          
    def set_classes(self, text):
          
        """Perform a forward pass with optional profiling, visualization, and embedding extraction."""
          
        try:
          
            import clip
          
        except ImportError:
          
            check_requirements("git+https://github.com/openai/CLIP.git")
          
            import clip
          
 
          
        model, _ = clip.load("ViT-B/32")
          
        device = next(model.parameters()).device
          
        text_token = clip.tokenize(text).to(device)
          
        txt_feats = model.encode_text(text_token).to(dtype=torch.float32)
          
        txt_feats = txt_feats / txt_feats.norm(p=2, dim=-1, keepdim=True)
          
        self.txt_feats = txt_feats.reshape(-1, len(text), txt_feats.shape[-1])
          
        self.model[-1].nc = len(text)
      

运行效果:

["person"]:

picture.image

["person", "motorcycle"]:

picture.image

运行过程中,时间消耗也是极小的,这也符合YOLO系列的风格。


        
            

          Speed: 0.9ms preprocess, 43.5ms inference, 1.1ms postprocess per image at shape (1, 3, 448, 640)
        
      

可以预见的是,YOLO-World会是未来实时开放词汇检测领域的一个重量级选手。

机器学习算法AI大数据技术

搜索公众号添加: datanlp

picture.image

长按图片,识别二维码

阅读过本文的人还看了以下文章:

实时语义分割ENet算法,提取书本/票据边缘

整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主

《大语言模型》PDF下载

动手学深度学习-(李沐)PyTorch版本

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

picture.image

0
0
0
0
相关资源
字节跳动大数据容器化构建与落地实践
随着字节跳动旗下业务的快速发展,数据急剧膨胀,原有的大数据架构在面临日趋复杂的业务需求时逐渐显现疲态。而伴随着大数据架构向云原生演进的行业趋势,字节跳动也对大数据体系进行了云原生改造。本次分享将详细介绍字节跳动大数据容器化的演进与实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论