首页 > 代码库 > Caffe上用SSD训练和测试自己的数据
Caffe上用SSD训练和测试自己的数据
学习caffe第一天,用SSD上上手。
我的根目录$caffe_root为/home/gpu/ljy/caffe
一、运行SSD示例代码
1.到https://github.com/weiliu89/caffe.git下载caffe-ssd代码,是一个caffe文件夹
2.从已经配置好的caffe目录下拷贝一个Makefile.config放到$caffe_root下
3.在$caffe_root下打开命令行终端,输入以下命令
make -j8 make py make test -j8 make runtest -j8
编译完成
4.下载VGG_ILSVRC_16_layers_fc_reduced.caffemodel预训练模型,放到$caffe_root/models/VGG下。(没有VGG文件夹就建一个)
下载数据集VOCtest_06_Nov-2007.tar等三个压缩包放在$caffe_root/data下,并依此(依官网解压的次)解压
5.修改./data/VOC0712/create_list.sh里面的路径为自己的路径,修改./data/VOC0712/create_data.sh,本文如下图所示:(VOC0712文件夹可能没有,那就从网上下一个)
6.命令行切换到$caffe_root并执行上面两个脚本()直接命令行输入就是执行
7.训练,命令行输入下面:
python examples/ssd/ssd_pascal.py
或者下载训练好的模型
8.测试
python examples/ssd/score_ssd_pascal.py
这个要先改里面的gpu个数,输出是分数
python examples/ssd/plot_detections.py
输出是是视频的标注...
完
二、训练并测试自己的数据
1.生成训练和测试数据
我们自己的数据基本是jpeg或者其他图片格式的,而caffe输入的一般是LMDB的数据,所以我们要进行转换。我们转换的方法是
A.将图像用工具进行标注(工具这里先不介绍),得到txt标注文件
B.将txt文件和图片转换成VOC格式(用脚本)
C.将VOC格式转换为LMDB格式,利用SSD示例代码提供的转换脚本。
(1) 在 $caffe_root/data/VOCdevkit目录下创建ljy_test目录,该目录中存放自己转换完成的VOC数据集;
(2) $CAFFE_ROOT/examples目录下创建ljy_test目录;
(3) $CAFFE_ROOT/data目录下创建ljy_test目录,同时将data/VOC0712下的create_list.sh,create_data.sh,labelmap_voc.prototxt
这三个文件copy到ljy_test目录下,分别重命名为create_list_ljy_test.sh,create_data_ljy_test.sh, labelmap_ljy_test.prototxt
(4) 对上面新生成的两个create文件进行修改,主要修改是将VOC0712相关的信息替换成ljy_test
修改后的两个文件分别如下:
然后修改labelmap_indoor.prototxt,将该文件中的类别修改成和自己的数据集相匹配,注意需要保留一个label 0 , background类别
完成上面步骤的修改后,可以开始LMDB数据数据的制作,在$CAFFE_ROOT目录下分别运行:
./data/ljy_test/create_list_indoor.sh
./data/ljy_test/create_data_indoor.sh
命令执行完毕后,可以在$CAFFE_ROOT/examples/ljy_test目录下查看转换完成的LMDB数据数据。
2.训练
3.测试
未完待续...
Caffe上用SSD训练和测试自己的数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。