ubuntu16.04安装CPU版SSD及caffe配置,训练及测试过程

本文档详细介绍了在Ubuntu 16.04上安装CPU版本的SSD (Single Shot MultiBox Detector) 和 Caffe 的过程,包括下载代码、配置文件、编译Caffe、准备预训练模型、转换数据集、训练模型以及使用Jupyter Notebook进行图像检测。参考了多个CSDN博主的文章,提供了完整的步骤和参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CPU版SSD(Single Shot MultiBox Detector)/Caffe版本

github链接:https://github.com/weiliu89/caffe/tree/ssd

SSD是16年ECCV一篇深度学习目标检测的文章,本文主要讲如何实现
参考博文:
http://blog.csdn.net/gaohuazhao/article/details/72664145?locationNum=6&fps=1

1.下载代码

git clone https://github.com/weiliu89/caffe.git 

#我这里重命名为了caffe-ssd,即后面的CAFFE_ROOT为此caffe-ssd所在目录 
cd caffe-ssd 
git checkout ssd #出现“分支”则说明copy-check成功

2.复制配置文件

将已经配置过的cpu版本caffe中的Makefile.config复制到此caffe的$CAFFE_ROOT

cd caffe-ssd #进入到原来的Makefile.config文件目录下
sudo cp Makefile.config /home/xxx/caffe 

如果你没有配置过cpu版本的caffe,参考http://blog.csdn.net/gaohuazhao/article/details/60141474中Makefile.config的修改方式。

3.编译caffe

make -j4  
# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.  
make py  
make test -j4  
# (Optional)  
make runtest -j4 #出现PASSED则成功 

4.下载预训练模型
来源:http://blog.csdn.net/yx2017/article/details/72870565

下载地址:链接:http://pan.baidu.com/s/1slpaEO9 密码:loxo
在caffe/models文件夹下新建文件夹,命名为VGGNet,将刚刚下载下来的文件放入这个VGGNet文件夹当中

5.下载VOC2007和VOC2012数据集在主文件夹下(即/home/xxx/caffe-ssd)新建文件夹,命名为data

cd /home/xxx/data 

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar  
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar  
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar 

# 解压这三个文件,按顺序依次输入以下命令  
tar -xvf VOCtrainval_11-May-2012.tar  #严格按照顺序
tar -xvf VOCtrainval_06-Nov-2007.tar  
tar -xvf VOCtest_06-Nov-2007.tar

6.将图片转化为LMDB文件
终端输入:(注意这里的要用bash,原因:http://stackoverflow.com/questions/3411048/unexpected-operator-in-shell-programming
参考博文:http://blog.csdn.net/shawncheer/article/details/53227212/

sudo bash ./data/VOC0712/create_list.sh 
sudo bash ./data/VOC0712/create_data.sh

#生成的LMDB文件路径:
#- $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_trainval_lmdb  
#- $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_test_lmdb  

在运行第三步时如果出现no module named caffe或者是no module named caffe-proto,则在终端输入:

echo "export PYTHONPATH=$CAFFE_ROOT/python" >> ~/.profile    
source ~/.profile    
echo $PYTHONPATH  #检查环境变量的值 

7.训练模型

因为我们用的是cpu,首先修改examples/ssd/ssd_pascal.py文件
具体如何修改可参考:
http://blog.csdn.net/gaohuazhao/article/details/72664145?locationNum=6&fps=1

如果不想训练,可直接下载模型(跳到步骤8)

下面参考了博文:
http://blog.csdn.net/Jesse_Mx/article/details/52965281?locationNum=8&fps=1过程说的非常详细

8.下载训练好的SSD模型

该工具使用的模型是SSD300,下载地址:https://pan.baidu.com/s/1eSECLEU,下载完后解压,把里面的VGGNet文件夹移动到/home/mx/caffe/models/之下
9.运行程序检测单张图片
对/home/xxx/caffe-ssd/examples/images/fish-bike.jpg进行测试
要用caffe-ssd/examples/ssd_detect.ipynb进行测试,首先需要安装包Jputer

#这里临时使用了清华大学的源
$ sudo pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple

$ cd /home/mx/caffe/examples # 在该目录下打开jupyter notebook
$ jupyter notebook


在jupyter notebook打开的网页中找到ssd_detect.ipynb打开

检查下面4个路径是否正确:

labelmap_file = 'data/VOC0712/labelmap_voc.prototxt'
model_def = 'models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt'
model_weights = 'models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel'
image = caffe.io.load_image('examples/images/cat.jpg')

如果检查无误,就可以开始从头shift+enter运行了,一般都会正常运行,fish-bike.jpg的检测结果如下:
fish-bike.jpg检测结果

单张图片CPU检测可参考:
http://m.blog.csdn.net/gaohuazhao/article/details/72676985

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值