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

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

3天内不再提示

使用Google Colab快速体验ScaledYOLOv4

jf_cVC5iyAO 来源:易心Microbit编程 2023-04-14 10:06 次阅读

「对象侦测」一直是计算机视觉的重点项目,已发展了二十多年,早期利用各种特征提取和比对来找出人们对影像中有兴趣的像素集合(对象),如VJ, HOG等。近几年来,大家则把重点放在了「深度学习」的模型上,从刚开始的二阶段侦测器(Two-stage Detector),如RCNN, SPPNet, Fast RCNN, Faster RCNN等,到目前最流行的一阶段侦测器(One-stageDetector),如SSD, RetinaNet, EfficientDet, YOLO等,其中又以YOLO(You OnlyLook Once)系列发展的最好,一路发展出YOLOv2, YOLOv3, YOLOv4, YOLOv5, 去年更有ScaledYOLOv4,YOLOX, YOLOR等技术推出,让大家有更快推论速度、更高推论精度、更弹性模型架构,让同一张影像中大小对象都能顺利被检出。

「ScaledYOLOv4」这个模型可依输入影像大小选择不同尺度架构,以往YOLOv4只分标准和tiny两种,而这里分为tiny, csp, large,而large又分p5, p6, p7,完整的架构可参考Fig. 1 & 2。至于模型的运作原理[7]写得颇清楚,这里就不多作说明。从Fig. 1就可明显看出其效能大幅优于YOLOv3, YOLOv4及EfficientDet。

05a7fb2a-d9d2-11ed-bfe3-dac502259ad0.jpg

Fig. 1 ScaledYOLOv4和其它模型在COCO数据集推论效能比较表。

05cef1ee-d9d2-11ed-bfe3-dac502259ad0.jpg

Fig. 2 ScaledYOLOv4模型架构(csp, p5,p6, p7)。

为了让大家快速上手,这里参考了王建尧博士释出的PyTorch源码,

https://github.com/WongKinYiu/ScaledYOLOv4

另外提供了一个完整的Google Colab范例,说明如何建立环境及运行COCO数据集预训练参数。而训练及推论自定义数据集就留待下回分解。完整范例请参考下列网址。

https://github.com/OmniXRI/Colab_ScaledYOLOv4

由于csp和large(p5)在模型定义的格式略有不同,前者为cfg,后者是采yaml,权重值亦有不同,前者为weight,后者为pt,所以这里有两个范例程序,分别对应csp和large两种格式,而large又以p5为例,若要执行p6, p7则自行修改内容即可。

scaled-yolov4-csp_coco_test.ipynb

scaled-yolov4-large_coco_test.ipynb

整个程序主要有八个动作,如下说明,这里以csp为例。

1. 检查GPU及CUDA版本

由于后面的程序需要用要Nvidia CUDA,所以要先检查。执行后若显示failed,则至左上角选单中「编辑」─「笔记本设定」下「硬件加速器」选择「GPU」,再重新运行一次即可。至于配置到那一种Nvidia GPU则无妨。

!nvidia-smi

2. 检查系统默认安装套件及版本

建议版本如下所示,若大于下列版本而造成无法顺利运作则请自行降版后再执行后续工作。

Python3.7.12

opencv-contrib-python4.1.2.30

opencv-python4.1.2.30

tensorboard2.7.0

torch1.10.0+cu111

torchvision0.11.1+cu111

!python--version

!piplist

3. 安装 mish-cuda

这是ScaledYOLOv4必要组件,一定要安装,否则无法顺利运行,预设安装版本 0.0.3。

本范例无法于无Nvidia CUDA环境下运行。

!pipinstall git+https://github.com/JunnYu/mish-cuda.git

!piplist

4. 下载ScaledYOLOv4

依需求下载不同版本(csp, large)的PyTorch ScaledYOLOv4到 /content/ScaledYOLOv4 路径下。请注意这里 -byolov4-csp 为指定下载csp版本分支,若无-b参数则为large(default版本)。

!gitclone -b yolov4-csp https://github.com/WongKinYiu/ScaledYOLOv4

%cdScaledYOLOv4

!ls

5. 下载COCO预训练权重档

在 /content/ScaledYOLOv4下新增 /weights 路径,将Google共享文件COCO预训练权重值档案下载到该路径下。主要差别在--ld后面的路径,可自行更换。

yolov4-csp.weights: 1TdKvDQb2QpP4EhOIyks8kgT8dgI1iOWT

yolov4-p5.pt: 1aXZZE999sHMP1gev60XhNChtHPRMH3Fz

yolov4-p6.pt: 1aB7May8oPYzBqbgwYSZHuATPXyxh9xnf

yolov4-p7.pt: 18fGlzgEJTkUEiBG4hW00pyedJKNnYLP3

!mkdirweights

%cdweights

!gdown--id 1TdKvDQb2QpP4EhOIyks8kgT8dgI1iOWT

!ls

6. 下载测试影像

在 /data 路径下建立 /images 用于存放测试影像

随便从网络上下载一张影像并更名为 test01.jpg

%cd/content/ScaledYOLOv4/data

!mkdirimages

%cdimages

!wgethttps://raw.githubusercontent.com/WongKinYiu/PyTorch_YOLOv4/master/data/samples/bus.jpg

!mvbus.jpg test01.jpg

!ls

7. 进行推论

根据下列参数执行推论程序 detect.py

影像大小 640x640, (预设csp为640, p5为896, p6为1280, p7为1536)

置信度 0.3, (可自行调整)

推论装置(GPU) 0, (第一组GPU)

配置文件, (csp为yolov4-csp.cfg, large为yolov4-p5.yaml)

模型权重文件, (csp为yolov4-csp.weights,large为yolov4-p5.pt)

来源影像(可指定单张影像、单个影片、档案夹等)

%cd/content/ScaledYOLOv4/

!pythondetect.py

--img640

--conf0.3

--device0

--cfgmodels/yolov4-csp.cfg

--weightsweights/yolov4-csp.weights

--sourcedata/images/test01.jpg

8. 显示推论结果

推论完成会将结果置于 /inference/output 路径下

使用OpenCV函数显示结果影像

importcv2

fromgoogle.colab.patches import cv2_imshow

img1 =cv2.imread('data/images/test01.jpg')

cv2_imshow(img1)

img2 =cv2.imread('inference/output/test01.jpg')

cv2_imshow(img2)

06bd5708-d9d2-11ed-bfe3-dac502259ad0.jpg

Fig. 3ScaledYOLOv4运行结果,左:csp,右:large(p5)。

从Fig. 3上可以看出,连右上角的遮挡的很严重的脚踏车都能侦测到。而左侧穿白外套男人领口的橘色部位在large(p5)被辨识为领带,人眼不仔细看还真的会误判,更何况模型。整体来说表现不错。

小结

这篇文章先帮大家暖暖身,如果你想辨识的内容在COCO数据集80类范围内的话,那就直接使用就可以,若需要自己训练自定义的数据集,就静待下回分解啰!

审核编辑 :李倩

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

    关注

    5

    文章

    1714

    浏览量

    56796
  • 计算机视觉
    +关注

    关注

    8

    文章

    1601

    浏览量

    45640
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24366
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119936

原文标题:使用Google Colab快速体验ScaledYOLOv4

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    52.【GoLang】在Google Colab中运行Go语言代码程序 - Go Lang in Colab

    程序代码
    充八万
    发布于 :2023年07月13日 10:47:28

    _53.【 Colab】搭建基于 Google Colab 的 HTTP 服务器

    网络数据库代码Arduino
    充八万
    发布于 :2023年08月08日 23:27:43

    如何预防Google Toolbar监控您的网络行为

    Google tool***ar 相信不少朋友都有装吧,使用起来的确很方便,特别像我这样的搜索一族。   在方便的同时大家有没有想过自己的一举一动都暴露在google的监视下呢? 我测试了一下,浏览
    发表于 06-12 09:10

    【转载】Google Glass应用开发探索

    是在眼睛的右上角,只是在视线之内,而不 会遮挡视线。电池在一般情况下可以坚持一天,但如果一直拍照或录像的话,只能坚持3~4个小时。Google已着手设计近视眼镜的解决方案,不久将会发布 适合它的镜框或者
    发表于 06-28 02:21

    google glog安装和使用

    google glog 简单使用小结
    发表于 08-21 14:24

    浅析ADK Google fast pair功能

    Biu~哈喽大家好,今天接着聊聊ADK的新功能。在ADK6.4的release中,有一个sink 新功能被正式release——Google Fast Pair Service谷歌快速配对服务(简称
    发表于 09-20 09:05

    为什么Google需要Fuchsia操作系统

    ?我给出的回答是:Android无法满足Google快速发展的业务的需要。分裂的安卓生态Tim Cook在每年的WWDC和秋季发布会上,最喜欢干的就是数落Android的碎片化。通常来说iOS的最新版
    发表于 09-23 11:38

    如何使用Google Cloud评估板来连接到Google Cloud IoT平台?

    如何使用Google Cloud评估板作为物联网传感器端点,来连接到Google Cloud IoT平台?
    发表于 06-15 08:03

    将数据发送到Google表格时出错怎么解决?

    我已经按照教程将数据从 NodeMcu 加载到 Google 表格 Google 表格并且脚本编辑器工作正常 NodeMcu 代码抛出错误: Temp = 19.50 HUM = 62.80
    发表于 06-05 10:08

    Google Colab现在提供免费的T4 GPU

    当然还有一个好处:不需要前期环境配置。相信很多人对前期环境配置过程中,遇到的各种奇奇怪怪问题深有体会:Anaconda套件该选择哪个版本?路径没设置好导致Jupyter Notebook调不出来等等。而Google Colab直接配置好一个环境,即插即用。
    的头像 发表于 04-26 09:18 6524次阅读
    <b class='flag-5'>Google</b> <b class='flag-5'>Colab</b>现在提供免费的T4 GPU

    Google推出了超级强大的在线编辑器Colaboratory

    colab作为一款在线编辑器,除了能让大家方便协作使用外,colab还有另外一个身份:帮助传播机器学习培训和研究成果,所以Colab还关联了一个非常优秀的机器学习学习平台!
    的头像 发表于 07-18 15:45 3422次阅读

    怎样将Google日历附加到Google网站

    Google日历的优点之一是,将其添加到网站后,添加后事件将自动更新在Google日历中。这有助于轻松更新和调整事件以及添加事件的快速简便方法。
    的头像 发表于 11-25 14:42 1785次阅读

    如何在Colab中使用SQL

    如今,编码测试在数据科学面试过程中几乎是标准的。 作为一名数据科学招聘经理,我发现一个20-30分钟的现场编码测试和一些准备好的任务能够有效地识别那些能够胜任职位的候选人。 Google Colab
    的头像 发表于 10-12 09:39 1600次阅读
    如何在<b class='flag-5'>Colab</b>中使用SQL

    谷歌Colab硬刚Github Copilot,编程效率要翻天

    再加上Colab的之前提供的全云端运行的Jupyter笔记本环境,开发者可以方便使用Keras,TensorFlow,PyTorch,OpenCV等框架在谷歌提供的GPU资源上进行深度学习应用的开发。
    的头像 发表于 05-19 10:20 681次阅读

    PyTorch教程23.4之使用Google Colab

    电子发烧友网站提供《PyTorch教程23.4之使用Google Colab.pdf》资料免费下载
    发表于 06-06 09:16 0次下载
    PyTorch教程23.4之使用<b class='flag-5'>Google</b> <b class='flag-5'>Colab</b>