0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个YOLO系列的算法实现库YOLOU

OpenCV学堂 来源:OpenCV学堂 作者:OpenCV学堂 2022-07-31 11:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这里推荐一个YOLO系列的算法实现库YOLOU,此处的“U”意为“United”的意思,主要是为了学习而搭建的YOLO学习库,也借此向前辈们致敬,希望不被骂太惨;

整个算法完全是以YOLOv5的框架进行,主要包括的目标检测算法有:YOLOv3、YOLOv4、YOLOv5、YOLOv5-Lite、YOLOv6、YOLOv7、YOLOX以及YOLOX-Lite。

同时为了方便算法的部署落地,这里所有的模型均可导出ONNX并直接进行TensorRT等推理框架的部署,后续也会持续更新。

模型精度对比

服务端模型

这里主要是对于YOLO系列经典化模型的训练对比,主要是对于YOLOv5、YOLOv6、YOLOv7以及YOLOX的对比,部分模型还在训练之中,后续所有预训练权重均会放出,同时对应的ONNX文件也会给出,方便大家部署应用落地。

注意,这里关于YOLOX也没完全复现官方的结果,后续有时间还会继续调参测试,尽可能追上YOLOX官方的结果。

下表是关于YOLOU中模型的测试,也包括TensorRT的速度测试,硬件是基于3090显卡进行的测试,主要是针对FP32和FP16进行的测试,后续的TensorRT代码也会开源。目前还在整理之中。

36c43e68-100f-11ed-ba43-dac502259ad0.png

轻量化模型

为了大家在手机端或者其他诸如树莓派瑞芯微AID以及全志等芯片的部署,YOLOU也对YOLOv5和YOLOX进行了轻量化设计。

下面主要是对于边缘端使用的模型进行对比,主要是借鉴之前小编参与的YOLOv5-Lite的仓库,这里也对YOLOX-Lite进行了轻量化迁移,总体结果如下表所示,YOLOX-Lite基本上可以超越YOLOv5-Lite的精度和结果。

36d2d1c6-100f-11ed-ba43-dac502259ad0.png

如何使用YOLOU?

安装

这里由于使用的是YOLOv5的框架进行的搭建,因此安装形式也及其的简单,具体如下:

gitclonehttps://github.com/jizhishutong/YOLOU
cdYOLOU
pipinstall-rrequirements.txt

数据集

这里依旧使用YOLO格式的数据集形式,文件夹形式如下:

train:../coco/images/train2017/
val:../coco/images/val2017/

具体的标注文件和图像list如下所示:

├──images#xx.jpgexample
│├──train2017
││├──000001.jpg
││├──000002.jpg
││└──000003.jpg
│└──val2017
│├──100001.jpg
│├──100002.jpg
│└──100003.jpg
└──labels#xx.txtexample
├──train2017
│├──000001.txt
│├──000002.txt
│└──000003.txt
└──val2017
├──100001.txt
├──100002.txt
└──100003.txt

参数配置

YOLOU为了方便切换不同模型之间的训练,这里仅仅需要配置一个mode即可切换不同的模型之间的检测和训练,具体意义如下:

36e3e83a-100f-11ed-ba43-dac502259ad0.png

注意:这里的mode主要是对于Loss计算的选择,对于YOLOv3、YOLOv4、YOLOv5、YOLOR以及YOLOv5-Lite直接设置mode=yolo即可,对于YOLOX以及YOLOX-Lite则设置mode=yolox,对于YOLOv6和YOLOv7则分别设置mode=yolov6和mode=yolov7

注意由于YOLOv7使用了Aux分支,因此在设置YOLOv7时有一个额外的参数需要配置,即use_aux=True

具体训练指令如下:

pythontrain.py--modeyolov6--datacoco.yaml--cfgyolov6.yaml--weightsyolov6.pt--batch-size32

检测指令如下:

pythondetect.py--source0#webcam
file.jpg#image
file.mp4#video
path/#directory
path/*.jpg#glob
'https://youtu.be/NUsoVlDFqZg'#YouTube
'rtsp://example.com/media.mp4'#RTSP,RTMP,HTTPstream

检测结果

服务端模型

36f484d8-100f-11ed-ba43-dac502259ad0.png

轻量化模型

371a2490-100f-11ed-ba43-dac502259ad0.png

参考

[1].https://github.com/jizhishutong/YOLOU

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4761

    浏览量

    97147
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26047
  • 轻量化
    +关注

    关注

    0

    文章

    26

    浏览量

    8341

原文标题:YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SM4算法实现分享(算法原理

    。而解密算法与加密算法采用同结构,只是轮密钥使用的顺序不同,加密采用顺序的,解密采用逆序的。 SM4加密算法是典型的分组密码算法,分组密
    发表于 10-30 08:10

    国密系列算法简介及SM4算法原理介绍

    保证,而国产密码算法实现了密码算法的自主可控,对于保障我国的国家安全具有重要意义。目前,我国大力推广国密算法的应用,并涌现出一系列国家商用密
    发表于 10-24 08:25

    机器视觉双雄YOLO 和 OpenCV 到底有啥区别?别再傻傻分不清!

    很多人听到 “YOLO”和“OpenCV” ,总以为它们是同种东西。其实, 一个是AI算法一个
    的头像 发表于 10-14 16:00 544次阅读
    机器视觉双雄<b class='flag-5'>YOLO</b> 和 OpenCV 到底有啥区别?别再傻傻分不清!

    【飞凌OK-MX9596-C开发板试用】①开箱图赏、跑分测试、yolo大模型三箭齐发

    个大模型yolo v11,进行物体识别。 什么是 YOLOYOLO(You Only Look Once) 是种流行的单阶段目标检测算法系列
    发表于 10-07 18:53

    YOLO + OpenPLC + ARMxy:工业智能化视觉识别、边缘计算、工业控制的“三位体”解决方案

    深圳市钡铼技术有限公司推出 ARMxy 系列工业计算机,结合 YOLO 目标检测算法与 OpenPLC 开源控制平台,实现工业现场视觉识别、边缘计算与自动化控制
    的头像 发表于 09-11 16:00 560次阅读
    <b class='flag-5'>YOLO</b> + OpenPLC + ARMxy:工业智能化视觉识别、边缘计算、工业控制的“三位<b class='flag-5'>一</b>体”解决方案

    RK3576 yolo11-seg训练部署教程

    1.yolov11-seg简介yolov11-seg是YOLO(YouOnlyLookOnce)系列的最新成员,专为实时实例分割任务设计。它在保持YOLO家族高效推理速度的同时,通过创新的网络结构
    的头像 发表于 07-25 15:21 1246次阅读
    RK3576 <b class='flag-5'>yolo</b>11-seg训练部署教程

    如何在树莓派 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开树莓派5和YOLO的连载专题。内容包括四部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上
    的头像 发表于 07-20 20:34 611次阅读
    如何在树莓派 AI HAT+上进行<b class='flag-5'>YOLO</b>姿态估计?

    如何在树莓派 AI HAT+上进行YOLO目标检测?

    大家好,接下来会为大家开树莓派5和YOLO的连载专题。内容包括四部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上
    的头像 发表于 07-19 08:34 1199次阅读
    如何在树莓派 AI HAT+上进行<b class='flag-5'>YOLO</b>目标检测?

    在树莓派5上开启YOLO姿态估计识别之旅!

    大家好,接下来会为大家开树莓派5和YOLO的连载文章。内容包括四部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上
    的头像 发表于 07-18 15:31 1989次阅读
    在树莓派5上开启<b class='flag-5'>YOLO</b>姿态估计识别之旅!

    在树莓派5上使用YOLO进行物体和动物识别-入门指南

    大家好,接下来会为大家开树莓派5和YOLO的专题。内容包括四部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上开启
    的头像 发表于 07-17 17:16 1565次阅读
    在树莓派5上使用<b class='flag-5'>YOLO</b>进行物体和动物识别-入门指南

    K230在同时使用H265编码与yolo进行检测时出现错误怎么解决?

    1、单独使用H265编码时或者yolo检测没有问题 2.旦将二者结合,因为H265编码时YUV格式,所以我另外开了RGB平面格式来运行yolo
    发表于 07-11 08:15

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?以及如何提高USB进行YOLO识别的帧数?
    发表于 06-20 06:35

    k210在线训练的算法yolo5吗?

    k210在线训练的算法yolo5吗
    发表于 06-16 08:25

    使用Yolo-v3-TF运行OpenVINO™对象检测Python演示时的结果不准确的原因?

    通过模型下载器下载了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通过模型 优化器转换模型: python3 ./model_optimizer
    发表于 03-06 06:31

    TimSort:在标准函数中广泛使用的排序算法

    排序算法呢? 本文将带你走进 TimSort,在标准函数中广泛使用的排序算法。 这个算法
    的头像 发表于 01-03 11:42 956次阅读