Redian新闻
>
YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它

YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它

公众号新闻
丰色 发自 凹非寺
量子位 | 公众号 QbitAI

很快啊——

目标检测经典模型YOLO的第八个版本就已经发布了。

这次升级不少,包括命令行界面、Python API、backbone结构等,精度相比YOLOv5高了一大截(速度官方还没公布)

下面是网友实测,几个不同规模的变体在目标检测、实例分割和图像分类三项任务上的涨点最高达到了33.21%

不知道YOLOv8这一出,v5版本还会“苟”多久?

oh我们还发现已经有人用它在自定义数据集上完成了一波训练,效果是这样滴:

这精准度和稳定性,让网友狠狠夸赞了一波。

具体怎么玩?我们把教程也搬来了。

在自定义数据集上训练YOLOv8

正式教程开始之前,我们还是先来认识一下这个新版本。

它的出品公司还是Ultralytics,也就是发布YOLOv5的那家。

本次的升级主要包括:

  • 用户友好的API(命令行+Python)

  • 更快更准确(由于正式的论文还没发表,它和SOTA模型的具体对比数据现在还没有)

  • 同时支持目标检测、实例分割和图像分类三种任务

  • 可扩展到以前所有的版本

  • 新的backbone网络(CSP结构不变,但C2f模块替换了C3模块,每个stage的blocks数改为[3,6,6,3]等)

  • 新的Anchor-Free head

  • 新的损失函数

其中重点说一下第一条。

首先,YOLOv8的开发者脱离了标准YOLO项目的设计,将train.py、detect.py、val.py和export.py这四个脚本进行了分离。

短期来看,这种改变可能会引起混乱,因为它从YOLOv3就一直没有变过;但原来这种看起来就好理解的模式在实时处理和跟踪场景中进行部署实在是比较麻烦。

所以还是改用了更加灵活的新设计,让YOLOv8可以通过终端独立使用。

其次,这次新增的CLI可以让你在各种任务和版本上进行更加方便的模型训练、验证或推理。

在终端的操作方式与我们熟悉的脚本非常相似,比如利用CLI检测给定图像中的对象,这样就行:

yolo task=detect \
mode=predict \
model=yolov8n.pt \
conf=0.25 \
source='https://media.roboflow.com/notebooks/examples/dog.jpeg'

最后,Ultralytics YOLO这次配备的Pythonic模型和训练接口,让我们用6行代码就能在自定义Python脚本中用上YOLO模型,操作方式就像这样:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')
model.predict(
   source='https://media.roboflow.com/notebooks/examples/dog.jpeg',
   conf=0.25
)

是不是很简单,再也不用像以前那样改一堆了。

那么接下来,我们就正式开始教程部分了——

在自定义数据集上训练YOLOv8。

1、首先,安装上我们的新YOLOv8,“pip”或者“git clone”一下。

>pip install ultralytics(推荐)

or

>git clone https://github.com/ultralytics/ultralytics
>cd ultralytics
>pip install -e ultralytics

2、然后开始构建自定义数据集。

为了不让这个过程那么痛苦和耗时,我们可以用上Roboflow这个工具(本教程也是由它提供的)

操作步骤如下:

(1)创建账户,新建项目,项目类型选择“目标检测(Object Detection)”。

(2)上传图片将数据集导入到项目之中。如果你没有准备数据集,可以用它们官方提供的(从Roboflow Universe中下载)

如果你的图片已经带标注,系统可以自动读取;如果没有,可以用它提供的这个非常快捷的标注工具现标。

(3)然后就能生成数据集了。“预处理”和“数据增强”两个选项可以勾上,让你的模型鲁棒性更强。

(4)现在我们就拥有了自己的一个托管数据集,将它导出就能直接加载到电脑中进行训练了。

记住从Roboflow Universe中下载数据集时选择“YOLO v5 PyTorch”格式,然后在弹出的窗口中看到一段代码,简单修改各个参数即可。

from roboflow import Roboflow

rf = Roboflow(api_key='YOUR_API_KEY')
project = rf.workspace('WORKSPACE').project('PROJECT')
dataset = project.version(1).download('yolov8')

3、开始训练

使用下面的命令将数据集下载片段(snippet)粘贴到你的YOLOv8 Colab notebook中,开始训练。

yolo task=detect \
mode=train \
model=yolov8s.pt \
data={dataset.location}/data.yaml \
epochs=100 \
imgsz=640

取决于数据集大小和训练方法,过程将持续几分钟或几小时。

以下是上述足球数据集的训练结果:

(1)返回的混淆矩阵;

(2)跟踪的关键指标;

(3)验证batch上的推理示例。

是不是还不错?

4、用测试集验证模型

训练好后开始验证。创建数据集时分成三部分,其中一部分用来当测试集:

yolo task=detect \
mode=val \
model={HOME}/runs/detect/train/weights/best.pt \
data={dataset.location}/data.yaml

评估结果如下:

5、使用自定义模型进行预测

命令如下:

yolo task=detect \
mode=predict \
model={HOME}/runs/detect/train/weights/best.pt \
conf=0.25 \
source={dataset.location}/test/images

结果示例:

6、最后一步:导出和上传权重

现在我们拥有了一组训练好的权重,可用于托管API端点,就在项目的“/runs/detect/train/weights/best.pt”文件夹中。

当然,也可以使用Roboflow pip包中的Deploy()函数将它上传到Roboflow Deploy中,方便自己和他人共享。

单击Roboflow仪表板侧栏中的“部署(Deploy)”,查看可用的选项,然后就能直接在浏览器中测试你的模型了。要共享给他人,发送一个URL就行。

测试素材可以直接用你测试集里的图片,也可以上传新的图片或视频,或者粘贴YouTube链接、直接用摄像头。

全部结束!是不是还不麻烦?

赶紧去检验一番YOLOv8的真本事吧~

需要的链接都在下面,Have fun!

YOLOv8官方仓库:
https://github.com/ultralytics/ultralytics

教程原文:
https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset/

参考链接:
[1]
https://www.reddit.com/r/computervision/comments/108616o/train_yolov8_objectdetection_on_custom_dataset/
[2]https://learnopencv.com/ultralytics-yolov8/

「人工智能」、「智能汽车」微信社群邀你加入!

欢迎关注人工智能、智能汽车的小伙伴们加入交流群,与AI从业者交流、切磋,不错过最新行业发展&技术进展。

PS. 加好友请务必备注您的姓名-公司-职位噢 ~


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
东京美食没有最好手机导航精度小于1米,北斗高精度定位技术想象力不止于此新冠重症高峰已至,如何保护好家中的老人DAMO-YOLO项目原作解读:兼顾速度与精度的高效目标检测框架谈判失败 辉瑞Paxlovid因高价未纳入中国医保药品清单!一盒辉瑞Paxlovid 2480元炒到1.2万 天津逮黄牛!YOLOv8来了!YOLOv5官方出品!松耦合式的权限控制设计,自定义权限表达式Walmart特价米比前年的原价还贵!教你如何省钱买米!休闲零食“严冬”已至,头部品牌集体负增长!斯坦福博士生自制PPT生成神器ChatBCG免费开放!一键生成自定义模版,还能导出PDF岁月河,岁月歌信息量大!中行最新发声,谈了这些热点问题!零售业务增长拐点已至,如何突围?SpringBoot+Prometheus+Grafana 实现自定义监控当100万海归,碰上1000万国内应届生:超实用Tips教你如何在求职大军中卷赢消息称iQOO 11将通过OTA支持自定义触控采样率,春节后推送霸王别姬文学城往事,值得回味logback - 自定义日志脱敏组件,一种不错的脱敏方案超越YOLOv8!YOLOv6 v3.0实时目标检测重磅升级!中国远火比导弹还香,精度高射程远上海初雪已至,但入冬还有悬念YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!节后体能恢复就练它,人人都适合!“bZ们”已至,一汽丰田开启纯电攻势realme真我GT Neo5搭载觉醒光环系统,将可自定义交互乔伊斯的这句“love loves to love love”,到底啥意思?接了个变态需求:给定一个接口,要用户自定义动态实现并上传热部署,怎么搞?iPhone可以自定义铃声了!一分钟教会你!名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA手把手教你如何检查阿联酋签证的有效日期!阿联酋签证如何办理?国航CA988已取消第一入境点,洛杉矶直飞北京航班终于回归了!广州“解封”,北京放宽:拐点已至,我们接下来面对的是什么?湾区新手买房5个大坑,如何避免?一篇教你如何聪明买房CVPR 2023 | YOLOv7强势收录!时隔6年,YOLOv系列再登CVPR!秋天的颜色,秋天的蓝
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。