SSD(single shot detector)
https://arxiv.org/abs/1512.02325
记录一下如何使用 github 上 ssd 开源代码 ssd,并用 wider face 数据集进行训练。
环境准备
关于 caffe 的安装,可以参考:Ubuntu16.04 Caffe 安装步骤记录(超详尽)
-
源码下载
git clone https://github.com/weiliu89/caffe.git
-
由于整个代码仓库还包括多个分支,其中 ssd 分支就是ssd的代码实现,所以这里先切换分支
git checkout -b ssd origin/ssd
-
进入项目目录并编译,Makefile.config 文件最好使用你已经编译过的 caffe 中的Makefile.config,因为之前已经在你的机器上通过了编译,你也配置了相关的信息,如果直接使用 Makefile.config.example 可能会出现错误。
cd caffe cp Makefile.config.example Makefile.config make all -j8
-
将 caffe-ssd 添加到环境变量中
vim ~/.bashrc export PYTHONPATH=$CAFFE_ROOT/python:PYTHONPATH source ~/.bashrc # 有时候不能生效的话,从新进入terminal
-
编译 pycaffe
make pycaffe -j8
然后在执行数据集的打包,才会有效果
其中可能出现一些问题,下面给出一些解决方法
- ImportError: No module named caffe.proto解决办法
- 错误/home/wq/anaconda3/bin/…/lib/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found
- Caffe中ImportError: dynamic module does not define module export function (PyInit__caffe)错误
- 参考资料:ssd训练自己的数据集
数据集准备
wider face 数据集是香港中文大学 YangShuo 等收集,其中包含 32203 个图像和 393703 个人脸图像,图像在尺度、姿势、装扮、光照等方面表现出了大的变化,基于 61 个事件类别组织的。
分别下载对应的训练集、验证集、测试集和标注数据
数据集示例图片
将数据集打包成 VOC 数据格式
关于VOC 数据格式,请看 PASCAL VOC数据集分析
impor