您当前的位置: 首页 >  目标检测

暂无认证

  • 1浏览

    0关注

    100059博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

YoloALL: 解决不同版本YOLO的选择进行目标检测推理(源代码已开源)

发布时间:2021-08-26 07:00:00 ,浏览量:1

作者丨Edison_G

来源丨计算机视觉研究院

目标检测是现在最热门的研究课题,也一直是工业界重点研究的对象,最近几年内,也出现了各种各样的检测框架,所属于YOLO系列是最经典也是目前被大家认可使用的检测框架。但是,该怎么抉择呢?

最近我们创办了通过视频来详解前研技术,有兴趣的同学可以通过观看视屏了解最新检测框架,如目前发布的视频链接:

  • https://www.bilibili.com/video/BV17b4y1m7xy/

  • https://www.bilibili.com/video/BV1vU4y1j7Ms/

开源代码:https://github.com/DL-Practise/YoloAll

1

前言&背景

目标检测是现在最热门的研究课题,也一直是工业界重点研究的对象,最近几年内,也出现了各种各样的检测框架,所属于YOLO系列是最经典也是目前被大家认可使用的检测框架。不论是PyTorch,还是Tensorflow,又或者是Keras和Caffe,可以说是全平台通用。

在通用目标检测中,从yolov1,v2,v3,v4,v5到最近的yolox,都充分说明了yolo在学术界以及工业界的受欢迎程度。

  • YoloV1论文地址:https://arxiv.org/pdf/1506.02640.pdf

  • YoloV2(Yolo9000)论文地址:https://arxiv.org/pdf/1612.08242.pdf

  • Yolov3论文地址:https://arxiv.org/pdf/1804.02767.pdf

  • Tiny YOLOv3代码地址:https://github.com/yjh0410/yolov2-yolov3_PyTorch
  • Yolov4论文地址:https://arxiv.org/pdf/2004.10934.pdf

  • Yolov5代码地址:https://github.com/ultralytics/yolov5

  • YOLObile论文地址:https://arxiv.org/pdf/2009.05697.pdf
  • YOLOR论文地址:https://arxiv.org/pdf/2105.04206.pdf

除了基线的频繁迭代更新之外,还有很多针对yolo的优化精简版本,如下表所示:

在如此众多的yolo版本中,除了官方的评测数据之外,有没有更加直观的方式来对比各种不同版本的yolo性能呢?

很早之前郑老师就幻想着能有一个集成各种yolo的版本,能够对图片,视频,实时码流进行对比,于是就有了这个YoloAll的想法。希望能在一个software里面对同一张图片,同一段视频,或者同一个camera的码流进行对比分析。

2

YoloAll演示

下面是一段YoloAll的演示视频。目前支持yolo_v3, yolo_v5, yolox, yolo_fastest四个版本;并且支持从图片,视频(mp4)以及camera进行推理分析。

3

结构介绍

YoloAll使用pyqt设计,整体工程结构如下图所示,其中model_zoo下面放置了所有支持的yolo版本,包括里面的各种小版本。

目前支持4个版本的yolo,并且提供了简单的扩展方法,可以把你喜欢的yolo扩展进去。详情见下章节的“扩展模型”。

  • Yolov3:https://github.com/eriklindernoren/PyTorch-YOLOv3

  • Yolov5:https://github.com/ultralytics/yolov5

  • Yolox:https://github.com/Megvii-BaseDetection/YOLOX

  • Yolo-fastest:https://github.com/dog-qiuqiu/Yolo-FastestV2

感谢以上开源项目以及作者,感谢带来了这么好的yolo项目。

4

使用教程

  • 下载源码
git clone https://github.com/DL-Practise/YoloAll
  • 安装依赖

下载的yolo版本全部放在model_zoo目录下面,进入到model_zoo中的各个yolo版本中,执行:

pip install -r requirements.txt
  • 下载预训练模型

当前的YoloAll对于每个yolo版本已经内置了一个最小模型,如下图所示。

如果还想测试其他较大模型,如yolov5_l、yolox_l等,可以从如下链接下载预训练模型,并放置在对应的目录下面:

Yolov3:

  • https://pjreddie.com/media/files/yolov3.weights

下载完毕之后,将模型放在model_zoo/yolov3下面即可

Yolov5:

  • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt

  • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5m.pt

  • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5l.pt

  • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt

下载完毕之后,将模型放在model_zoo/yolov5下面即可

Yolox:

  • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth

  • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_m.pth

  • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_l.pth

  • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_x.pth

下载完毕之后,将模型放在model_zoo/yolox下面即可

此时,重新打开界面,能够显示出所有的yolo版本:

  • 扩展模型

YoloAll提供了非常方便的接口来集成自己的yolo版本。将自己的yolo版本放置在model_zoo中。并提供一个api.py的模块,里面实现如下方法:

#获取支持的子类型接口。例如yolov5中支持yolov5_s;yolov5_m; yolov5_l等
def get_support_models()


#创建模型。根据模型的子类型名称,以及设备类型创建模型
def create_model(model_name='yolov5_s', dev='cpu')


#进行一次推理,传入的img_array为opencv读取的图片
def inference(img_array)

具体可以参考model_zoo下面的YoloV5/api.py, YoloX/api.py等。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0818s