YOLOv8——CV界的XGBoost

火山方舟向量数据库大模型

yolov8是ultralytics公司于2023年1月开源的anchor-free的最新目标检测算法框架。

封装在ultralytics这个库中:https://github.com/ultralytics/ultralytics

它具有以下优点:

1,性能速度领先 :借鉴了之前许多YOLO版本的trick,达到了领先的性能和极致的速度。

2,多种任务支持 :支持图片分类,目标检测, 实例分割,目标追踪,关键点检测 这些最常用的CV任务。

picture.image

3,完整的落地工具链 : 提供从数据准备,到模型训练,模型评估,到模型导出部署 整个工业落地应用非常完整的工具。

4,强大的灵活性 :ultralytics主打以python库的形式使用,方便定制化改进算法或者用于其它CV项目中。

我感觉ultralytics的使用体验,非常像xgboost/lightgbm/catboost这些库,使用简单,功能强大。

完全不懂原理的小白,简单粗暴把数据喂进去,就能够做出非常好的效果。

下面我们主要演示yolov8中的预训练模型的使用方法。

公众号后台回复关键词: yolov8 ,获取本文notebook源代码和B站视频讲解。

〇,环境准备


        
        
            

          #!pip install -U ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
            

          #!pip install torchkeras -i https://pypi.tuna.tsinghua.edu.cn/simple
            

          #!pip install 'lap>=0.4' -i https://pypi.tuna.tsinghua.edu.cn/simple
            

        
      

        
          
import ultralytics  
print(ultralytics.__version__)  

      

        
          
from PIL import Image   
from torchkeras.data import get_example_image  
import torch   
img = get_example_image('park.jpg')  
img.save('park.jpg')  

      

一,图片分类


        
          
from ultralytics import YOLO   
model = YOLO('yolov8n-cls.pt')  

      

        
          
#save保存预测可视化, save\_txt保存预测  
preds = model.predict(source='park.jpg',save_txt=True,save=True)   

      

        
          
#查看预测结果  
from PIL import Image   
Image.open(model.predictor.save_dir/'park.jpg')  

      

二,目标检测


        
          
from ultralytics import YOLO   
model = YOLO('yolov8n.pt')  

      

        
          
#save保存预测可视化, save\_txt保存预测  
preds = model.predict(source='park.jpg',save_txt=True,save=True)   

      

        
          
#查看预测结果  
from PIL import Image   
Image.open(model.predictor.save_dir/'park.jpg')  

      

        
          
#摄像头作为输入  
model.predict(source=0, show=True)  

      

picture.image

三,目标追踪

目标追踪使用的是目标检测模型,输出中可以给视频中的每个对象分配一个id。常用于给视频中某类物体出现的个数进行计数。


        
          
from ultralytics import YOLO   
model = YOLO('yolov8n.pt')  

      

        
          
from ultralytics.yolo.utils import set_logging  
set_logging(verbose=False)  
  
#视频作为输入  
preds = model.track(  
    source='乒乓球.mp4',  
    save=True,  
    show=True  
)  
for p in preds[::20]:  
    print(p.boxes.id)  
    
      

picture.image

四,实例分割


        
          
from ultralytics import YOLO   
model = YOLO('yolov8s-seg.pt')  

      

        
          
#save保存预测可视化, save\_txt保存预测  
preds = model.predict(source='park.jpg',save_txt=True,save=True)   
  

      

        
          
#查看预测结果  
from PIL import Image   
Image.open(model.predictor.save_dir/'park.jpg')  

      

picture.image


        
          
#摄像头作为输入  
preds = model.predict(source=0, show=True)
      

五,关键点检测


        
          
from ultralytics import YOLO   
model = YOLO('yolov8s-pose.pt')  

      

        
          
#save保存预测可视化, save\_txt保存预测  
preds = model.predict(source='park.jpg',save_txt=True,save=True)   

      

        
          
from PIL import Image   
Image.open(model.predictor.save_dir/'park.jpg')  

      

picture.image


        
          
#摄像头进行预测  
preds = model.predict(source=0,show=True)   

      

picture.image

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
DataSail CDC 数据整库实时入仓入湖实践
在线数据库数据导入到数仓分析的链路已经存在多年,随着近年来实时计算的发展,业务希望有延迟更低、运维更便捷、效率更高的CDC同步通道。本次分享主要介绍DataSail实现CDC整库实时同步的技术方案和业务实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论