Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!

关注

点击关注上方“AI深度视线”,并“星标”公号

技术硬文,第一时间送达!

 

转自 | 量子位 

YOLOv4还没有退热,YOLOv5已经发布!

6月9日,Ultralytics公司开源了YOLOv5,离上一次YOLOv4发布不到50天。而且这一次的YOLOv5是完全基于PyTorch实现的!

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第1张图片

在我们还对YOLOv4的各种骚操作、丰富的实验对比惊叹不已时,YOLOv5又带来了更强实时目标检测技术。

按照官方给出的数目,现版本的YOLOv5每个图像的推理时间最快0.007秒,即每秒140帧(FPS),但YOLOv5的权重文件大小只有YOLOv4的1/9

接下来一起了解一下最新的YOLOv5吧。

   更快更小巧的YOLOv5

老规矩,先来介绍一下安装过程。

安装YOLOv5通过下方代码实现:

$ pip install -U -r requirements.txt

要求Python3.7以上版本,PyTorch1.5以上。

YOLOv5的4组不同权重在COCO2017数据集上的结果如下:

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第2张图片

所有模型均采用默认配置与超参数训练了300epoch,且未添加自动扩增技术。

可以看到,它超过了大部分的目标检测器,同时具有超快的速度。

APtest指的是COCO-test-dev2017上的结果,其他AP表示val2017的精度。所有指标均为单模型、单尺度、为进行任何集成与TTA。可以通过如下命令进行重现上述指标:

python test.py —img-size 736 —conf_thres 0.001

延迟是在V100 GPU上对5000个COCO-val2017中的数据进行测试的结果,包含数据预处理、模型推理、后处理以及NMS。平均NMS的时间为1.6ms/image。

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第3张图片

上述指标可以通过如下命令复现:

python test.py —img-size 640 —conf_thres 0.1 —batch-size 16

YOLOv5在单一V-100 GPU的情况下,COCO 2017数据集上的训练时间分别为:

YOLOv5 s

YOLOv5 m

YOLOv5 l

YOLOv5 x

2天

4天

6天

8天

可以通过以下代码开始训练:

$ python train.py —data coco.yaml —cfg YOLOv5s.yaml —weights ‘’ —batch-size 16

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第4张图片

不同权重YOLOv5的对比

YOLOv5在中国国内街景监控上的实测,包含了YOLOv5 s/m/l/x四种不同权重:

测试视频来自B站@才疏学浅的小白

用户的测试实例并没有给出与前代YOLOv4的对比,但官方给出了数据说明。

YOLOv5速度比前代更快,在运行Tesla P100的YOLOv5 Colab笔记本中,每个图像的推理时间快至0.007秒,意味着每秒140帧(FPS)!相比之下,YOLOv4在转换为相同的Ultralytics PyTorch后达到了50帧 。

同时,在研究者对血细胞计数和检测(BCCD)数据集的测试中,经过100个epoch的训练,获得了大约0.895的平均精度(mAP),与EfficientDet和YOLOv4相当。

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第5张图片

YOLOv5体积小,YOLOv5 s的权重文件为27MB。YOLOv4(Darknet架构)的权重文件为244MB。YOLOv5比YOLOv4小近90%。这意味着YOLOv5可以更轻松地部署到嵌入式设备。

此外,因为YOLOv5是在PyTorch中实现的,所以它受益于已建立的PyTorch生态系统;YOLOv5还可以轻松地编译为ONNX和CoreML,因此这也使得部署到移动设备的过程更加简单。

   大神没交棒,但YOLOv5还是来了

严格来讲,这次Ultralytics放出的YOLOv5,是YOLOv4的一个实现版本(性能有改进),只不过是完全用Pyotorch实现了。并且支持转ONNX以及CoreML等,方便用户在移动端部署。

所以也有网友叫它YOLOv4.5。

截止发稿,原YOLO项目官方(Darknet)也没有添加YOLOv5链接,所以,这个「YOLOv5」的名号,是Ultralytics团队自封的。

Ultralytics公司可能大家不熟悉,但提到他们公司的一个项目,很多人应该就知道了:基于PyTorch复现的YOLOv3。按目前github上star数来看,应该是最受欢迎的YOLOv3的PyTorch实现版本。

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第6张图片

值得一提的是,Ultralytics公司的Glenn Jocher是mosaic数据增强方法的创建者,这种方法是改进后的YOLOv4中的重要技术。

Pytroch版YOLOv5,性能提升两倍,推断速度可达每秒140帧!_第7张图片

Glenn Jocher就是这次YOLOv5项目的主要开发者。

尽管官方还没认可项目命名为”YOLOv5”这个名字,但它对上一版本性能的改善和提升十分显著,网友也对其开源的精神纷纷点赞,希望项目继续更新,造福更多的YOLO用户。

传送门

https://github.com/ultralytics/YOLOv5

你可能感兴趣的:(CNN,卷积神经网络,YOLOV5,YOLOV4,YOLO)