在 OpenVINO™ 精度检查器工具中添加 DIoU-NMS 指标,以获取 YOLO v4 的正确 mAP

openlab_4276841a 更新于 3年前

1.0 简介

Yolov4 模型于 2020 年中期推出,它的问世对深度学习目标检测领域产生了深远影响。为取得成功,Yolov4 集成了许多一流的技术,其中包括改进的非极大值抑制 (NMS) 算法,该算法使用距离交并比 (DIoU) 而非交并比 (IoU)。DIoU 总结了边界框回归中的两个几何因素(即重叠区域和中心点距离),从而加快了收敛速度并提升了性能。

在本白皮书中,DIoU-NMS 函数将被添加到 OpenVINO™ 精度检查器工具中,以用于计算 yolov4 的正确预期精度。尽管 DIoU-NMS 可帮助大幅提升精度,但它也可以与训练后优化工具包 (pot) 一起使用,以生成优化的 INT8 模型。

2.0 设置环境

• 系统环境
– 设置 OpenVINO™ 2021.2
• Ubuntu 18.04 或 Ubuntu 20.04。

3.0 添加 Diou-nms 的步骤

3.1. 安装精度检查器工具

按照 openvinotookit_open_model_zoo指南进行安装。


3.2. 编辑 “/opt/intel/openvino_2021/deployment_tools/open_model_zoo/tools/accuracy_checker/accuracy_checker/postproces sor/nms.py”

将以下代码添加到文件中:




4.0 用 DIoU-NMS 检查 yolo-v4-tf 模型的精度

4.1. 下载和转换 yolo-v4-tf 模型


4.2. 准备数据集和 yml 文件

4.2.1. 下载数据集


4.2.2. 复制和编辑“accuracy-check.yml”

复制“accuracy-check.yml”


编辑“accuracy-check.yml”

1. 标注出第 2-60 行

2. 在第 65 行添加以下内容


3. 从以下位置开始编辑第 94 行

- type: nms

一直到

- type: diou-nms

4.3. 运行精度检查器工具,计算 yolo-v4-tf 的统计精度

如果上述设置和修改正确,请使用以下命令获取精度结果。


mAP 结果:


结果证实 DIoU 的 mAP 比 IoU 更准确。尽管使用训练后优化工具包 (pot) 将模型转换为 INT8 时只有微小的差异,但是这些差异可能会影响转换后的 INT8 模型的性能。因此,实现面向 OpenVINO 工具™(精度检查器和 pot)的 DIoU-NMS 函数非常重要。

0个评论