yolov3讲解以及训练自己的数据

这篇博客侧重实践,适合刚入坑yolov3的新人。

  • 前言
  • 准备
  • 训练我找到的数据集(我找到的开源数据集,已经标注好了)
  • 训练标准的数据集
  • 遇到的一些问题

前言

目前常见的目标检测算法有yolov,SSD,Faster-RCNN等等,如果有兴趣可以去了解一下其他的算法。

论文:https://pjreddie.com/media/files/papers/YOLOv3.pdf

翻译:https://zhuanlan.zhihu.com/p/34945787

yolov3各种版本实现

  • windows 版本:请参考:https://github.com/AlexeyAB/darknet (不建议在windows下面运行)
  • linux版本高 yolov3地址 https://pjreddie.com/darknet/yolo/
  • tensorflow版yolov3 https://github.com/YunYang1994/tensorflow-yolov3
  • pytorch版yolov3 https://github.com/eriklindernoren/PyTorch-YOLOv3
  • keras版yolov3 https://github.com/qqwweee/keras-yolo3

旧版本

  • yolov2 https://pjreddie.com/darknet/yolov2/
  • yolov1 https://pjreddie.com/darknet/yolov2/

前期准备

(1)介绍

数据就是金钱,目前一些AI领域公开并的数据集,如COCO,ImageNet,其他各领域的数据集可以参考这篇博客 https://blog.csdn.net/m0_37167788/article/details/79093827

这里讲解原生yolov3版本

配置DarkNet(参考官网配置) 要求linux(Ubuntu) 可选opencv (调用摄像头) 可选cuda(为了加速)

(2)下载代码

git clone https://github.com/pjreddie/darknet  
cd darknet
make

(3)下载权重文件

wget https://pjreddie.com/media/files/yolov3.weights

(4)更改Makefile文件(可选)

vim Makefile
  • GPU运行:
GPU=1
  • 如果安装了CUDNN:
CUDNN=1
NVCC=/usr/local/cuda/bin/nvcc
  • 如果安装了opencv:
OPENCV=1

(5)编译

make

(6)测试

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

如果一切正常的话

99017c430d2472b0f0f7b79f73a7911a.png

用我找到的公开数据集进行训练

(1)介绍

我做的项目是检测食物,一共一百类,总共照片14361张,训练照片12925张,测试照片1436张, 将下载下来的数据集解压到darknet目录下,更改名字为food_data。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐