跳至内容

YOLOv7:可训练的免费书包

YOLOv7 is a state-of-the-art real-time object detector that surpasses all known object detectors in both speed and accuracy in the range from 5 FPS to 160 FPS. It has the highest accuracy (56.8% AP) among all known real-time object detectors with 30 FPS or higher on GPU V100. Moreover, YOLOv7 outperforms other object detectors such as YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5, and many others in speed and accuracy. The model is trained on the MS COCO dataset from scratch without using any other datasets or pre-trained weights. Source code for YOLOv7 is available on GitHub.

YOLOv7 与 SOTA 物体探测器的比较

SOTA 物体探测器的比较

从YOLO 对比表中的结果可以看出,所提出的方法在速度和准确性之间的权衡是最全面的。如果将 YOLOv7-tiny-SiLU 与YOLOv5-N (r6.1) 进行比较,我们的方法速度快 127 fps,AP 精确度高 10.7%。此外,YOLOv7 的帧速率为 161 fps,AP 率为 51.4%,而 PPYOLOE-L 的帧速率仅为 78 fps。在参数使用方面,YOLOv7 比 PPYOLOE-L 少 41%。如果将推理速度为 114 帧/秒的 YOLOv7-X 与推理速度为 99 帧/秒的YOLOv5-L (r6.1) 相比,YOLOv7-X 可将 AP 提高 3.9%。如果将 YOLOv7-X 与规模相似的YOLOv5-X (r6.1) 相比,YOLOv7-X 的推理速度要快 31 fps。此外,在参数和计算量方面,YOLOv7-X 比YOLOv5-X (r6.1) 减少了 22% 的参数和 8% 的计算量,但 AP 提高了 2.2%(资料来源)。

模型参数
(M)
FLOPs
(G)
尺寸
(像素)
FPSAPtest/ val
50-95
APtest
50
APtest
75
APtest
S
APtest
M
APtest
L
YOLOX-S9.0M26.8G64010240.5% / 40.5%-----
YOLOX-M25.3M73.8G6408147.2% / 46.9%-----
YOLOX-L54.2M155.6G6406950.1% / 49.7%-----
YOLOX-X99.1M281.9G6405851.5% / 51.1%-----
PPYOLOE-S7.9M17.4G64020843.1% / 42.7%60.5%46.6%23.2%46.4%56.9%
PPYOLOE-M23.4M49.9G64012348.9% / 48.6%66.5%53.0%28.6%52.9%63.8%
PPYOLOE-L52.2M110.1G6407851.4% / 50.9%68.9%55.6%31.4%55.3%66.1%
PPYOLOE-X98.4M206.6G6404552.2% / 51.9%69.9%56.5%33.3%56.3%66.4%
YOLOv5-N(r6.1)1.9M4.5G640159- / 28.0%-----
YOLOv5-S(r6.1)7.2M16.5G640156- / 37.4%-----
YOLOv5-M(r6.1)21.2M49.0G640122- / 45.4%-----
YOLOv5-L(r6.1)46.5M109.1G64099- / 49.0%-----
YOLOv5-X(r6.1)86.7M205.7G64083- /50.7%-----
YOLOR-CSP52.9M120.4G64010651.1% / 50.8%69.6%55.7%31.7%55.3%64.7%
YOLOR-CSP-X96.9M226.8G6408753.0% / 52.7%71.4%57.9%33.7%57.1%66.8%
YOLOv7-tiny-SiLU6.2M13.8G64028638.7% / 38.7%56.7%41.7%18.8%42.4%51.9%
YOLOv736.9M104.7G64016151.4% / 51.2%69.7%55.9%31.8%55.5%65.0%
YOLOv7-X71.3M189.9G64011453.1% / 52.9%71.2%57.8%33.8%57.1%67.4%
YOLOv5-N6(r6.1)3.2M18.4G1280123- / 36.0%-----
YOLOv5-S6(R6.1)12.6M67.2G1280122- / 44.8%-----
YOLOv5-M6(r6.1)35.7M200.0G128090- / 51.3%-----
YOLOv5-L6(r6.1)76.8M445.6G128063- / 53.7%-----
YOLOv5-X6(r6.1)140.7M839.2G128038- /55.0%-----
YOLOR-P637.2M325.6G12807653.9% / 53.5%71.4%58.9%36.1%57.7%65.6%
YOLOR-W679.8G453.2G12806655.2% / 54.8%72.7%60.5%37.7%59.1%67.1%
YOLOR-E6115.8M683.2G12804555.8% / 55.7%73.4%61.1%38.4%59.7%67.7%
YOLOR-D6151.7M935.6G12803456.5% / 56.1%74.1%61.9%38.9%60.4%68.7%
YOLOv7-W670.4M360.0G12808454.9% / 54.6%72.6%60.1%37.3%58.7%67.1%
YOLOv7-E697.2M515.2G12805656.0% / 55.9%73.5%61.2%38.0%59.9%68.4%
YOLOv7-D6154.7M806.8G12804456.6% / 56.3%74.0%61.8%38.8%60.1%69.5%
YOLOv7-E6E151.7M843.2G12803656.8% / 56.8%74.4%62.1%39.3%60.5%69.0%

概述

Real-time object detection is an important component in many computer vision systems, including multi-object tracking, autonomous driving, robotics, and medical image analysis. In recent years, real-time object detection development has focused on designing efficient architectures and improving the inference speed of various CPUs, GPUs, and neural processing units (NPUs). YOLOv7 supports both mobile GPU and GPU devices, from the edge to the cloud.

传统的实时物体检测器侧重于结构优化,而 YOLOv7 则不同,它侧重于训练过程的优化。其中包括一些模块和优化方法,目的是在不增加推理成本的情况下提高物体检测的准确性,这一概念被称为 "可训练的无用包"。

主要功能

YOLOv7 引入了几项关键功能:

  1. 模型重新参数化:YOLOv7 提出了一种有计划的重新参数化模型,这是一种适用于不同网络层的策略,具有梯度传播路径的概念。

  2. 动态标签分配:多输出层模型的训练提出了一个新问题:"如何为不同分支的输出分配动态目标?为了解决这个问题,YOLOv7 引入了一种新的标签分配方法,即从粗到细的引导标签分配法。

  3. 扩展和复合缩放YOLOv7 为实时对象检测器提出了 "扩展 "和 "复合缩放 "方法,可有效利用参数和计算。

  4. 效率:YOLOv7 提出的方法能有效减少最先进的实时物体检测器约 40% 的参数和 50% 的计算量,推理速度更快,检测精度更高。

使用示例

截至本文撰写之时,Ultralytics 目前不支持 YOLOv7 模型。因此,任何有兴趣使用 YOLOv7 的用户都需要直接访问 YOLOv7 GitHub 存储库,以获取安装和使用说明。

下面简要介绍使用 YOLOv7 的典型步骤:

  1. 访问 YOLOv7 GitHub 代码库:https://github.com/WongKinYiu/yolov7。

  2. 按照 README 文件中提供的说明进行安装。这通常包括克隆版本库、安装必要的依赖项和设置任何必要的环境变量。

  3. 安装完成后,您可以根据资源库中提供的使用说明训练和使用模型。这通常包括准备数据集、配置模型参数、训练模型,然后使用训练好的模型执行对象检测。

请注意,具体步骤可能会根据您的具体使用情况和 YOLOv7 代码库的当前状态而有所不同。因此,强烈建议直接参考 YOLOv7 GitHub 代码库中提供的说明。

我们对由此造成的不便深表歉意,并将努力在支持 YOLOv7 后更新本文档,提供Ultralytics 的使用示例。

引文和致谢

我们衷心感谢 YOLOv7 作者在实时物体检测领域做出的重大贡献:

@article{wang2022yolov7,
  title={YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}

YOLOv7 的原始论文可在arXiv 上找到。作者公开了他们的工作,代码库可以在GitHub 上访问。我们感谢他们为推动这一领域的发展和让更多人了解他们的工作所做的努力。

常见问题

What is YOLOv7 and why is it considered a breakthrough in real-time object detection?

YOLOv7 是一种先进的实时物体检测模型,其速度和准确性无与伦比。它在参数使用和推理速度方面都超过了 YOLOX、YOLOv5 和 PPYOLOE 等其他模型。YOLOv7 的显著特点包括模型重参数化和动态标签分配,在不增加推理成本的情况下优化了性能。有关 YOLOv7 架构的更多技术细节,以及与其他先进物体检测器的比较指标,请参阅YOLOv7 论文

YOLOv7 与之前的YOLO 型号(如 YOLOv4 和YOLOv5 )相比有何改进?

YOLOv7 引入了多项创新,包括模型重参数化和动态标签分配,从而增强了训练过程并提高了推理的准确性。与YOLOv5 相比,YOLOv7 显著提高了速度和准确性。例如,YOLOv7-X 与YOLOv5-X 相比,准确率提高了 2.2%,参数减少了 22%。详细比较见YOLOv7 与 SOTA 物体探测器性能比较表。

我可以在Ultralytics 工具和平台上使用 YOLOv7 吗?

目前,Ultralytics 的工具和平台还不直接支持 YOLOv7。有兴趣使用 YOLOv7 的用户需要遵循YOLOv7 GitHub 代码库中提供的安装和使用说明。对于其他最先进的模型,您可以使用Ultralytics 工具(如Ultralytics HUB)进行探索和训练。

如何为自定义对象检测项目安装和运行 YOLOv7?

要安装和运行 YOLOv7,请按照以下步骤操作:

  1. 克隆 YOLOv7 版本库:
    git clone https://github.com/WongKinYiu/yolov7
    
  2. 导航至克隆目录并安装依赖项:
    cd yolov7
    pip install -r requirements.txt
    
  3. Prepare your dataset and configure the model parameters according to the usage instructions provided in the repository. For further guidance, visit the YOLOv7 GitHub repository for the latest information and updates.

YOLOv7 中引入了哪些主要功能和优化?

YOLOv7 提供了几项关键功能,彻底改变了实时目标检测:

  • 模型重新参数化:通过优化梯度传播路径提高模型性能。
  • 动态标签分配:使用由粗到细的引导方法,为不同分支的输出分配动态目标,提高准确性。
  • 扩展和复合缩放:有效利用参数和计算,为各种实时应用扩展模型。
  • Efficiency: Reduces parameter count by 40% and computation by 50% compared to other state-of-the-art models while achieving faster inference speeds. For further details on these features, see the YOLOv7 Overview section.
📅 Created 11 months ago ✏️ Updated 28 days ago

评论