来了,来了,YOLOv5来了!
Ultralytics正式更新了YOLOv5,已经登顶GitHub飙升榜首席。
它运行推理的速度极快,权重可以导出到移动端,并且在COCO上达到了最先进的水平。
YOLOv5项目由Ultralytics创建并维护。这是一家Ultralytics总部位于美国的粒子物理和人工智能初创公司,为政府、学术和商业客户提供支持。在粒子物理学、数据科学和人工智能领域率先提出了多项美国情报界(IC)和国防部(DoD)的倡议,并与多所大学、国家实验室和私营公司合作开展了多项工作。
你肯定也注意到了iOS这个关键词。他们确实做了一个iOS app,还特意做了一张海报,简直让人印象深刻,大家来感受一下:
要不是左下角的「App Store认证标志」,我还以为是某手机的广告呢。毕竟现在的手机都长得像iPhone,电脑都长得像Mac。
YOLO模型的演变
实时目标检测的改进速度很快。改进的速度更是迅速。结果也是惊人的。
3月18日,谷歌开源了EfficientDet的实现,这是一个具有不同大小的快速训练模型,其中一个模型提供实时输出。
4月23日,Alexey Bochoviskiy等人开源了YOLOv4。
6月9日,Glenn Jocher开源了YOLOv5的PyTorch实现。
YOLO(You Only Look Once)是PJ Reddie最初以2016年的一篇文章创造的一个模型家族。YOLO一出生便技惊四座。人们简直不敢相信小小体积的YOLO竟然能表现出如此超高的性能!简直就是实时条件和设备上部署环境的理想候选人。
PJ Reddie的研究团队负责随后推出了YOLOv2和YOLOv3,这两个模型在性能和速度上都做出了持续改进。2020年2月,PJ Reddie指出他将停止计算机视觉的研究。
2020年4月,Alexey Bochkovskiy、Chien-Yao Wang和Hong-Yuan Mark Liao推出了YOLOv4,展示了令人印象深刻的成果。
值得注意的是,YOLOv4的许多改进来自于改进的数据增强和模型架构。我们已经写了关于YOLOv4的分析,以及如何在自定义对象上训练YOLOv4模型)。
YOLOv5:实时目标检测的新时代领航者
相比其他版本,Glenn Jocher发布的YOLOv5有许多不同之处和改进。Glenn是YOLOv4中一个非常关键的技术「mosaic augmentation」的创建者。
YOLOv5并不是一个单独的模型,而是一个模型家族,包括了YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。
那么,YOLO5凭什么能够成为目标检测新的领航者呢?RoboFlow介绍了4点优势。
首先,这是YOLO家族中,第一个先用PyTorch的原生版本,而非PJ Reddie的Darknet编写的模型。Darknet是一个非常灵活的研究框架,但它并没有考虑到生产环境的构建,而且用户社区也较小。这导致Darknet需要在配置上花费不少功夫,而且生产准备不足。
由于YOLOv5是在PyTorch中实现的,它受益于成熟的PyTorch生态系统:支持更简单,部署更容易。此外,作为一个更广为人知的研究框架,YOLOv5 的迭代对更广泛的研究社区来说可能更容易。这也使得部署到移动设备上更加简单,因为该模型可以轻松编译成ONNX和CoreML。
其次,YOLOv5的速度快得惊人。在YOLOv5 Colab notebook上,运行Tesla P100,我们看到每张图像的推理时间仅需0.007秒,这意味着每秒140帧(FPS)!相比之下,YOLOv4在被转换到相同的Ultralytics PyTorch库后的速度是50FPS。YOLOv5的速度是YOLOv4的2倍还多!
第三,YOLOv5精度超高。在Roboflow对血细胞计数和检测(BCCD)数据集的测试中,只训练了100个epochs就达到了大约0.895的平均精度(mAP)。诚然EfficientDet和YOLOv4的性能相当,但在准确率没有任何损失的情况下,看到如此全面的性能提升是非常罕见的。
第四,YOLOv5的体积很小。具体来说,YOLOv5的权重文件是27兆字节。YOLOv4(采用Darknet架构)的权重文件是244兆。YOLOv5比YOLOv4小了近90%!这意味着YOLOv5可以更容易地部署q到嵌入式设备上,所以Ultralytics也在招iOS开发。
项目地址:
https://github.com/ultralytics/yolov5