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.ym
编辑“accuracy-check.yml”
1.标注出第2-60 行
2.在第65 行添加以下内容
3.从以下位置开始编辑第94 行
用DIoU-NMS 检查yolo-v4-tf 模型的精度
4.3.运行精度检查器工具,计算yolo-v4-tf 的统计精度
如果上述设置和修改正确,请使用以下命令获取精度结果。
mAP 结果:
结果证实DIoU 的mAP 比IoU 更准确。尽管使用训练后优化工具包(pot) 将模型转换为INT8 时只有微小的差异,但是这些差异可能会影响转换后的INT8 模型的性能。因此,实现面向OpenVINO 工具™(精度检查器和pot)的DIoU-NMS 函数非常重要。