徐高翔的个人网站

Gaussian_YOLOv3

2019-11-08

Gaussian-YOLOv3

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

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

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

代码实践

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

1
2
3
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/

最后,来张图片测试一下

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

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

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

参考资料

本文链接 https://xugaoxiang.com/2019/11/08/Gaussian_Yolov3/

推荐文章(由hexo文章推荐插件驱动)

使用支付宝打赏
使用微信打赏

请博主喝咖啡!