在Windows系统下,用faster-RCNN进行模型训练

一、图片标注

程序1:(实用性不高)

下载地址:

http://download.csdn.net/download/sinat_30071459/9573982

参考网址:

http://blog.csdn.net/sinat_30071459/article/details/50723212

使用方法:

代码已经封装成DLL,你只需要打开项目,将图像路径修改成你的即可
(我用的VS为2013)。生成的txt内容为:图像名 标签 x1 y1 x2 y2。(包围框坐标)

  1. 图片显示出来后,输入法切换到英文;
  2. 在目标的左上角按下鼠标左键,拉一个包围框到目标右下角,然后键盘输入标签(一个字符)
  3. 继续(2)操作,直到框完该张图片上的目标;
  4. 按n进入下一张,esc退出。

注意:标签只能输入一个字符,你可以在生成的txt文件(存放在图片所在目录下)中替换成你实际的标签。

程序2(参考别人的程序,自己改编的)

参考网址:

http://blog.csdn.net/qq_29540745/article/details/52562101

每个txt内容如下图所示(左上角和右下角坐标,并且每个txt文件以文件名命名):


二、将标注信息转成固定格式

生成结果如下图所示:

# 序号

图片名

目标个数

标签 左上角横坐标 左上角纵坐标 右下角横坐标 右下角纵坐标 0/1(是否容易识别?)


注意点:1)必须第一行是# 序号,2)而且类别数必须从1开始(非0)

三、配置python环境(之前用caffenet跑mnist和分类的时候,不需要用fasterRCNN进行监测,所以之前不需要python)

要跑faster-RCNN需要下载此网址上的caffe(不然运行会出现问题)

https://github.com/huaze555/windows-caffe-faster-rcnn

1. 安装Anaconda2(装2.7 会避免很多问题)

https://www.anaconda.com/download/#windows


2. 下载后,进入windows根目录内,复制CommonSettings.props.example文件,然后改名为CommonSettings.props,修改CommonSettings.props内容(几个关键的地方)

前提:已经安装了cuda8.0 、cuDNN v5、anaconda2 、matlab 2014b等



3. 修改属性(所有项目都需要修改)


4. 编译pycaffe

参考 http://blog.csdn.net/Angela_qin/article/details/79398174 “三、编译pycaffe”内容

到此,所有预备工作都完成了!准备训练模型!!

四、训练模型

1. 修改各文件(源文件都在 ..\models\FRCNN\vgg16和 ..\examples\FRCNN\vgg16)

所需修改的文件如下图所示:


注意点:

train_val_pigDetect.prototxt 和 solver.prototxt 中不要有形如“C:\windows\system32\cmd.exe”这种绝对路径,不然会出现 “Invalid escape sequence in string literal”错误
但是可以加 含’/’的相对路径 (只要没有’\’即可)

1)train_pigDetect.bat (通过此文件可以知道需要另外哪些文件,然后一个个追溯下去)

(这只是完成了第一部分,到时候训练生成的caffemodel需要运行convert_model.py再进行转换)

2)solver.prototxt


(改了stepsize和max_iter)

  • solver 文件中的Iter_size

这个参数乘上你的train.prototxt中的batch size是你实际使用的batch size。 相当于读取batchsize*itersize个图像才做一下gradient decent。 这个参数可以规避由于gpu不足而导致的batchsize的限制,因为你可以用多个iteration做到很大的batch,即使单次batch有限。

  • solver 文件中的average_loss

取多次foward的loss作平均,进行显示输出 (最终训练结果好不好也主要看这个)

3)train_val_pigDetect.prototxt

需要更改的地方:


4)train_pigDetect.trainval (把本文“二、将标注信息转成固定格式”中的程序编译生成的txt文件内容拷贝过来即可)

5)pigDetect_config.json

需要修改的地方
(因为之前flip过了,所以这边设置为0即可)


6)test_pigDetect.prototxt

需要修改的地方


2. 查看训练结果(看loss即可,会不断减少)



五、转化训练生成的caffemodel

1. 修改 convert_model.py内容

(最后一个net_out_path参数是转化后的caffemodel文件名)


2. 进入convert_model.py所在根目录,按住shift键,右击,选择“在此处打开命令窗口”,进入相应路径下的命令窗口。



输入 python(空格)路径(convert_model.py路径),回车后,出现如下图所示的错误,即 import caffe出错了

原因:找不到caffe这个包,所以需要把caffe的包放到site-packages文件夹下


解决方法:

把如下图所示的caffe文件夹放入如下图所示的site-packages文件夹下



3. 再次执行 python convert_model.py,出现如下图所示信息就说明成功转换了!


在根目录下也会自动多一个 3.caffemodel


六、测试项目,进行视频监测

1. 把相应文件放入项目所在根目录


2. 修改代码相应内容


3. 编译运行,即可成功监测!

猜你喜欢

转载自blog.csdn.net/angela_qin/article/details/79443115