这是本人的第一篇博客,想分享一下前一段时间调试yoloV3的经验

  • 环境的搭建
  • 工程内部文件介绍
  • 调试部分
  • 训练


yolo5 图片识别 python yolov3图像识别_python

本文仅限图片的图像识别,视频的我还没做(懒),若有机会我会做的。

此教程较为简化,若想深入学习建议找更nb的教程,本文适合需要紧急使用yoloV3的学生党。

yolo5 图片识别 python yolov3图像识别_深度学习_02


(不是本人!!!!!!!!!!!!!!!!!!!!!!!!!)

环境的搭建

本机电脑需要有独立显卡,性能越高越好,确保显卡驱动安装完毕

  1. python & Anaconda

本人环境是在pycharm下搭建的,yoloV3的源码:https://github.com/qqwweee/keras-yolo3(我个人用的不是这个)
我用的是一个UP主用的,链接:https://pan.baidu.com/s/1d29TS9kUrZEGCTfcjez-YQ 提取码:6xer

首先需要安装Anaconda,然后新建一个python环境

yolo5 图片识别 python yolov3图像识别_yolo5 图片识别 python_03


yolo5 图片识别 python yolov3图像识别_yolo5 图片识别 python_04

输入conda create -n tensorflow python=3.6.5(版本:python3.6.5),在pycharm中选中这个环境,之后的整个项目都要在这个环境中运行。

yolo5 图片识别 python yolov3图像识别_python_05

然后需要安装TensorFlowconda install teansorflow-gpu==1.12.0若安装速度很慢,建议用清华镜像(自行百度)。执行安装后会自动安装关联的包。

工程内部文件介绍

yolo5 图片识别 python yolov3图像识别_tensorflow_06

kerasyolo3master\VOCdevkit\VOC2007\Annotations\xml

是存放xml图像标签的位置,标签名需要和图片名一一对应。

kerasyolo3master\VOCdevkit\VOC2007\JPEGImages

这里放的是将要被学习的图片。

kerasyolo3master\VOCdevkit\VOC2007\SegmentationClass

这里是成果物文件夹,打上框的图片将会生成在这里。

kerasyolo3master\logs\000

生成的模型文件会放到这个文件夹里

调试部分

kerasyolo3master\model_data\voc_classes.txt

这里存放的是标签类别,我训练的是学生是否认真听课,所以我的标签名字是YES 和 NO(看自己的xml标签名字!!!!!!

yolo5 图片识别 python yolov3图像识别_深度学习_07

yolo5 图片识别 python yolov3图像识别_python_08


这个程序会生成一个记事本:kerasyolo3master\VOCdevkit\VOC2007\ImageSets\Main\trainval.txt 目的是记录文件甲中的图片名字然后打开kerasyolo3master\yolov3.cfg 将里面所有[yolo]下的classes改成当前训练的样本种类。

yolo5 图片识别 python yolov3图像识别_图像识别_09


kerasyolo3master\voc_annotation.py内需要更改

yolo5 图片识别 python yolov3图像识别_图像识别_10

然后运行kerasyolo3master\voc_annotation.py 此代码作用是更新你的文件路径

训练

kerasyolo3master\train.py

这个是生成训练集的代码,是整个yoloV3的核心

yolo5 图片识别 python yolov3图像识别_深度学习_11


总共迭代多少次,数越高花费的时间越长(总之挺耗时间的)。

yolo5 图片识别 python yolov3图像识别_tensorflow_12


能出来这个就是成功的了,期间 loss:的值会随着迭代不断降低,但降到多少是跟训练集有关,这个要自行判断。全部运行完则会生成一个训练集,在kerasyolo3master\logs\000里。