一篇文章简单介绍YOLOv1到v8的演变

本文探讨了YOLO目标检测库从V1到V8的发展历程,包括模型的改进、OpenCV对Darknet的支持变化,以及代码从低级到高级的简化过程,展示了数据科学工具在实时检测领域的演变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,YOLO(You Only Look Once)是一种流行的目标检测库,它的第一个版本在2015年发布。YOLO工作速度很快,提供了良好的结果,而且预训练模型是公开可用的。该模型迅速变得流行,该项目至今仍在积极改进,这使我们有机会看到数据科学工具和库如何在多年间演变。本文将测试不同版本的YOLO,从最初的V1到最新的V8。

为了进行进一步的测试,将使用这张图片:

YOLO V1到V3

关于YOLO的第一篇论文,“You Only Look Once: Unified, Real-Time Object Detection”,于2015年发布。YOLO v1仍然可以下载,正如原始论文的作者之一Redmon所写的,他保留了这个版本“出于历史目的”。该模型以两个文件的形式分发,配置文件“yolo.cfg”包含有关神经网络模型的详细信息:

[net]batch=1height=448width=448channels=3momentum=0.9decay=0.0005...
[convolutional]batch_normalize=1filters=64size=7stride=2pad=1activation=leaky

第二个文件“yolov1.weights”,顾名思义,包含了预训练模型的权重。

这种格式不是来自PyTorch或Keras,该模型是使用Darknet创建的,Darknet是一种用C编写的开源神经网络框架。这个项目仍然可以在GitHub上找到,但它看起来已经被抛弃。在撰写本文时,有164个拉取请求和1794个未解决的问题,最后一次提交是在2018年,之后只有README.md文件有所更改。

原始的Darknet项目被抛弃了,不过readNetFromDarknet方法仍然在OpenCV中可用,甚至在最新的OpenCV版本中也存在。因此可以尝试使用Python环境加载原始的YOLO v1模型:

import cv2
model = cv2.dnn.readNetFromDarknet("yolo.cfg", "yolov1.weights")

运行得到如下错误:

darknet_io.cpp:902: error: 
(-212:Parsing error) Unknown layer type: local in function 'ReadDarknetFromCfgStream'

原来“yolo.cfg”中有一个名为“local”的层,这是OpenCV不支持的。YOLO v2配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值