目前假定你已经安装好cuda与caffe环境,以及很多的依赖项。如果没有安装,可以参考我之前的博客:
ubuntu14.04+cuda7.5安装 官方步骤版
ubuntu14.04+cuda7.5+caffe+cudnn7.5+anaconda+opencv 2.4.9系统整合(2016.12.3)
ssd工程github地址:https://github.com/weiliu89/caffe/tree/ssd
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
第三步如果输出分支则安装成功
首先终端 cd caffe
cp Makefile.config.example Makefile.config
在Makefile.config中修改部分内容
注意一下几点(这是GPU配置,如果是cpu请参考我之前博客ubuntu14.04在cpu上配置caffe以及py-faster-rcnn环境(可在odroid上实现) ):
①打开 USE_CUDNN := 1
② WITH_PYTHON_LAYER := 1
③如果你是嵌入式NIVIDIA Jetson TX1 or TX2开发,注意都把CUDA_ARCH :这一段里的数字全改成52(这两个板子计算能力都是52)
当然你如果有需要还可以打开anaconda、matlab等接口
之后在caffe目录下建立一个build文件夹,方便管理
mkdir build
之后
cmake ..
make -j16
make install
make pycaffe
make runtest
其中第二步根据自己的处理器线程来确定,处理能力差的可以去掉后面的-j16。且make runtest非必须步骤,只是用来检测你是否编译成功。这时候可以cd 到 /caffe/python目录下
python
import caffe
看检测caffe是否安装成功
在home目录下建立一个data文件夹。ssd中配置文件中已经指定了data文件的位置,就是 /home/usrname/data,你如果装在其他位置,还需要改配置文件,自己斟酌
mkdir data
cd data
下载VOC2007与2012数据集
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
创建lmdb格式的数据:
cd caffe
./data/VOC0712/create_list.sh
# It will create lmdb files for trainval and test with encoded original image:
# - $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_trainval_lmdb
# - $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_test_lmdb
./data/VOC0712/create_data.sh
下载预训练模型,放在caffe/models/VGGNet/:
https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6
or
https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6+%20+%E2%80%9Cfully%20convolutional%20reduced%20%28atrous%29%20VGGNet%E2%80%9D
or
https://pan.baidu.com/s/1boPmTbT
python examples/ssd/ssd_pascal.py
这是一个漫长的过程,如果你想跑一下demo,可以直接拿官方训练好的模型http://www.cs.unc.edu/%7Ewliu/projects/SSD/models_VGGNet_VOC0712_SSD_300x300.tar.gz
解压后,直接把model文件夹下的VGGNet复制粘贴到caffe/model/下就可以了
注意,这时候你可能会得到这样的错误信息:
①ImportError: No module named caffe
或者ImportError: No module named _caffe
这是因为你没有把caffe加入环境变量,如果你原来就有caffe环境,可以使用
export PYTHONPATH=$PYTHONPATH:/home/usrname/caffe/python
来进行单次添加caffe环境,这样有点坏处就是每次启动一个终端,就要执行这样的命令
还可以把caffe加入环境变量库(永久)profile文件中,只需执行
echo "export PYTHONPATH=/home/usrname/caffe/python" >> ~/.profile
source ~/.profile
echo $PYTHONPATH
最后一步用来检测当前终端中python环境变量。
这里说明一点.bashrc与.profile文件的区别:大家都知道一个linux系统可以有多个用户,两者都是动态库文件,都是开机时候自动加载里面的环境变量。而.bashrc只作用于当前用户,而.profile作用于所有的用户。
测试图像
python examples/ssd/score_ssd_pascal.py
测试视频
python examples/ssd/ssd_pascal_video.py
测试摄像头
python examples/ssd/ssd_pascal_webcam.py
这是OpenTLD中的用于检测跟踪的视频,显卡Quadro K2200,效果如下:
http://blog.csdn.net/cosingne/article/details/53037889
http://blog.csdn.net/zhang_shuai12/article/details/52346878
http://blog.csdn.net/cosingne/article/details/53037889