Gaussian YOLOv3

原文链接

https://xugaoxiang.com/2019/11/08/Gaussian_Yolov3/

Gaussian-YOLOv3

Gaussian-YOLOv3YOLOv3的改进版,它利用高斯分布的特性(也叫正态分布,详见参考资料),改进YOLOv3,使得网络能够输出每个检测框的不确定性,从而提升了网络的精度。

关于YOLOv3的相关知识,可以参考我之前的两篇文章,Darknet基本使用和YOLOv3训练自己的检测模型。

YOLOv3识别出的目标类别是有置信度的,但目标框只有位置而没有置信度,也就是说,从结果中无法预知当前目标框的可靠性。基于这一点,Gaussian-YOLOv3利用Gaussian模型来对网络输出进行建模,在基本不改变YOLOv3网络结构和计算量的情况下,能够输出每个预测框的可靠性,并且在算法总体性能上提升了3个点的mAP

代码实践

Gaussian-YOLOv3的源码已经在Github上开源,可以直接clone下来

git clone https://github.com/jwchoi384/Gaussian_YOLOv3
cd Gaussian_YOLOv3
make

CUDA的安装可以参考这篇安装CUDA,如果缺少opencv相关的库,可以通过sudo apt-get install libopencv-dev来安装

测试之前需要下载个训练好的weights文件,地址是https://drive.google.com/file/d/1Eutnens-3z6o4LYe0PZXJ1VYNwcZ6-2Y/view,它是由Berkeley Deep Drive数据集训练而来,这个数据集的下载地址是https://bdd-data.berkeley.edu/。

最后,来张图片测试一下

./darknet detector test cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg Gaussian_yolov3_BDD.weights data/example.jpg

Gaussian YOLOv3_第1张图片

另外,像配置文件的修改、模型的训练、模型的验证等操作跟YOLOv3基本是一模一样的,本文就不赘述了,不了解的话,可以看看参考资料中的链接。

如果无法访问谷歌云盘,请到这里和CSDN
下载频道下载weights文件。

参考资料

  • https://arxiv.org/abs/1904.04620
  • https://github.com/jwchoi384/Gaussian_YOLOv3
  • https://github.com/pjreddie/darknet
  • https://zh.wikipedia.org/wiki/正态分布
  • https://xugaoxiang.com/2019/03/15/Darknet基本使用/
  • https://xugaoxiang.com/2019/03/29/YOLOv3训练自己的检测模型/
  • https://xugaoxiang.com/2018/04/30/安装CUDA/

公众号

Gaussian YOLOv3_第2张图片

你可能感兴趣的:(人工智能)