windows10一站式YOLOv2训练自己的数据集
2018-01-06 15:52
567 查看
windows10一站式YOLOv2训练自己的数据集
00.准备安装Windows10
下载相关安装包:
VS2015社区版(下载链接:https://www.ithome.com/html/win10/164028.htm)
OpenCV3.3.1源码包(下载链接:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.3.1/opencv-3.3.1-vc14.exe/download)
CUDA8.0_win10安装包(下载链接:https://developer.nvidia.com/cuda-80-ga2-download-archive)
cudnn8.0_win10_x64压缩包(下载链接:http://download.csdn.net/download/k_shmily/10002883)
darknet19_448.conv.23 预训练文件(下载链接:https://pjreddie.com/media/files/darknet19_448.conv.23)
以下已打包:http://download.csdn.net/download/sinat_25453705/10191886
Python3.5
Darknet源码(YOLOv2)
pthread库(YOLOv2依赖)
python重命名脚本
LabelImgv1.3.3
环境配置
安装VS,比较简单略。(注:vs默认用的是C#开发环境,安装过程需要勾选通用Windows开发工具)
安装Python
配置OpenCV(不需要安装,解压exe文件夹到指定文件夹)
配置系统环境变量:右键计算机>>属性>>高级系统设置>>高级>>环境变量,找到path>>编辑>>添加你的OpenCV路径,如:D:\opencv\build\x64\vc14\bin
打开VS2015,新建一个C++空项目,并在源文件中添加.cpp文件
打开视图>其他窗口>>属性窗口,选择属性管理器列表的Debug | x64 >>右键Microsoft.Cpp.x64.user>>属性
通用属性>>VC++ 目录>>包含目录,添加
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
通用属性>>VC++ 目录>>库目录,添加
D:\opencv\build\x64\vc14\lib
通用属性>>链接器>>输入>>附加依赖项中,添加
opencv_world331.lib(注:331即opencv版本号3.3.1,如果其他版本换上对应版本号即可)
opencv_world331d.lib
OpenCV配置结束,加上头文件
#include<opencv2/opencv.hpp>使用imread、imshow函数,测试打开图片,显示图片。(略)
安装CUDA(会提示关闭VS)
解压cudnn压缩包,将bin、include、lib\x64下的文件复制到CUDA的安装目录下对应的文件夹,如:将bin下面的文件复制到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin下。
解压pthread库到指定目录。
解压darknet-master到指定目录。
用VS打开build\darknet\darkner.sln
设置解决方案为 Release x64
打开菜单栏的项目>>属性>>VC++ 目录>>包含目录,添加刚才解压的pthread和CUDA目录,如:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
D:\Pre-built.2\include
VC++ 目录>>库目录,添加相应库路径,如:
D:\Pre-built.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
通用属性>>C/C++>>预处理器>>预处理器定义,编辑添加,以下:
CUDNN
OPENCV
_TIMESPEC_DEFINED
_CRT_SECURE_NO_WARNINGS
_CRT_RAND_S
GPU
WIN32
NDEBUG
_CONSOLE
通用属性>>C/C++>>常规>>等级警告修改为3,将警告视为错误修改为否。
选择Release x64解决方案,生成解决方案。得到darknet.exe。
将tiny-yolo-voc.weights(https://pjreddie.com/media/files/tiny-yolo-voc.weights)复制到darknet-master\build\darknet\x64下
打开命令行,输入:
darknet.exe detector test data/voc.data tiny-yolo-voc.cfg tiny-yolo-voc.weights data/dog.jpg
如果显示出图片,终端显示对应的类别和匹配度,则表示环境已搭建成功!
01.开始制作数据集
a.使用网上的数据集
b.自己制作(本文主要记录训练自己数据集的过程)
拍照!拍照!拍照!大量的拍!虽然我一共也只用了250张左右。存储去文件夹中,并命名为Image
对图片进行重命名:编辑pack文件夹下的rename.py,修改你的图片路径。在终端输入:
python rename.py
解压LabelImg工具,Windows下直接打开,Open Dir打开图片的目录。选择Create RectBox开始标注,并为类别命名,如Cube(我这里用了魔方的蓝面),标注结束,选择Save保存对应的xml文件。(注:xml可能会和图片同一路径,可以统一把xml文件复制出去,与Image同一目录)
在darknet-master\build\darknet\x64\data目录下创建文件夹voc_data,并将Image和xml复制到这
使用网友的工具对数据集Image,xml进行处理,主要参考:http://blog.csdn.net/qq_34484472/article/details/73135354
02.开始训练
修改配置文件
修改darknet-master\build\darknet\x64\data\voc.data
主要是修改类别数量,以及训练集和测试集的路径:
修改darknet-master\build\darknet\x64\data\voc.names为类别名称:Cube
修改darknet-master\build\darknet\x64\tiny-yolo-voc.cfg重中之重!
第2行:
batch=64
第3行:
subdivisions=16(注:这里默认为8,GTX850M会出现out of memory的情况,可以按8的倍数适当增加)
第114行:
filter=30(注:filters=(classes+coords+1)*num,即:1类)
第120行:
classes=1
下载YOLO的预训练文件:darknet19_448.conv.23复制到darknet-master\build\darknet\x64\下。
在命令行下输入:
darknet.exe detector train data/voc.data tiny-yolo-voc.cfg darknet19_448.conv.23
训练中!如果出现找不到txt文件,请参考上面网友处理数据集时的解决方案。如果出现无法打开图片,请把Image里对应用编号的图片,替换trainImage和validateImage下的图片。
训练结束后,backup目录下得到tiny-yolo-voc_final.weights
03.评估训练结果
效果图
待续
04.总结
躺坑之后的小小备忘录。拾人牙慧,见笑了!
05.参考
https://github.com/AlexeyAB/darknet
http://blog.csdn.net/moxiaonuo/article/details/77816975
http://blog.csdn.net/fuck_you_sb/article/details/78402937
相关文章推荐
- TX2实现yolov2(目标检测,计数,训练自己的数据集)
- YOLOv2训练自己的数据集(识别海参)
- 【Darknet】【yolo v2】训练自己数据集的一些心得----VOC格式
- Train YOLOv2 on my own dataset(使用YOLOv2训练自己的数据集)
- YOLOv2在自己的数据集上训练以及测试
- 深度学习(三) YOLOv2训练自己的数据集
- 用YOLOv2训练自己的数据集
- YOLOv2训练自己的数据集(VOC格式)
- 使用yolov2训练自己的数据集
- 【YOLO学习】使用YOLO v2训练自己的数据
- 【计算机视觉】【神经网络与深度学习】YOLO v2 detection训练自己的数据2
- yolo_v2训练自己的数据出现Obj: 0.000000, No Obj: 0.000000
- 【计算机视觉】【神经网络与深度学习】YOLO v2 detection训练自己的数据
- YOLOv2训练:制作VOC格式的数据集
- YOLOv3 ubuntu 配置及训练自己的VOC格式数据集
- 用YOLO训练自己的数据集--20170823
- YOLO训练自己数据集配置文件修改.md
- tiny-yolo 训练自己的数据集
- 制作自己的yolo2数据集进行训练
- 【YOLO学习】使用YOLO v2训练自己的数据