目标检测:Ubuntu17.10+Caffe+SSD+CPU环境搭建Demo测试

【1】安装SSD(caffe)

1、安装git

       终端输入:

sudo apt-get install git

2、安装SSD

       终端输入(即切换至/home/mrchao),即当前Linux用户的主文件夹,mrchao为当前用户(下同)

git clone https://github.com/weiliu89/caffe.git      #克隆cafee源码
cd caffe         #切换至caffe根目录
git checkout ssd         #(切换到ssd分支,出现“分支”则OK)

       注意事项:在同一项目下,终端运行任何命令的时候,切记在根目录下运行某子目录内的内容(eg:./data/VOC0712/create_list.sh),否则可能会出现一定的问题

【2】配置SSD(caffe)

(1)终端输入:

cd /home/mrchao/caffe    #切换至caffe根目录
cp Makefile.config.example Makefile.config   # 复制caffe提供的Makefile.config样例

vim  Makefile.config    #修改配置文件

8行,取消注释 CPU_ONLY := 1
21行,取消注释OPENCV_VERSION := 3
48行,如果安装的是openblas,则将值atlas改为open
92行,在INCLUDE_DIRS字段后面添加/usr/include/hdf5/serial
101行,取消USE_PKG_CONFIG字段的注释,否则可能会报错opencv的相关错误


esc键-→:wq!    #保存退出Makefile.config文件

(2)终端输入:

cd /home/mrchao/caffe  # 切换至caffe根目录
mkdir build     #
cd build    # 切换至build目录
cmake ..                  # cmake和..中间又一个空格
make all -j4      #"‐j4"是使用 CPU 的多核进行编译,可以加速编译的速度,这里我选用的j4
make install
make runtest          #这一步可以省略,没有影响
make pycaffe         #编译pycaffe 

【3】下载数据文件

(1)预训练模型下载

       在caffe/models文件夹下新建VGGNet文件夹,将刚刚下载下来的文件放入这里

(2)下载VOC2007和VOC2012数据集

       在主文件夹下(即/home/mrchao/)新建data文件夹

终端输入:

       cd /home/mrchao/data   #切换至data,目的存放数据集

       方法1

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

      方法2:提前下载好,copy过来
解压这三个文件,终端输入(为了不出问题,严格按照以下顺序解压):

 cd /home/mrchao/data
 tar -xvf VOCtrainval_11-May-2012.tar      #解压数据量可能大一些
 tar -xvf VOCtrainval_06-Nov-2007.tar
 tar -xvf VOCtest_06-Nov-2007.tar 

【4】:生成LMDB文件

终端输入:#导入Python环境(提前install好)

export PYTHONPATH=$PYTHONPATH:/home/mrchao/caffe/python

终端输入:

cd /home/mrchao/caffe     # 切换至caffe根目录
./data/VOC0712/create_list.sh 
./data/VOC0712/create_data.sh 

       注意事项:执行这两条语句的时候,确保用户有caffe目录下的任何子文件的读写可执行权限。

     新打开终端,切换至mrchao目录下,命令:chmod -R 777 ./caffe   使用户对caffe目录下所有子文件有读写可执行文件。

【5】:训练测试演示

(1) 训练

       若用CPU,则注销以下几行,程序会以CPU形式训练,保存后退出。

#Ifnum_gpus >0:
# batch_size_per_device =int(math.ceil(float(batch_size) / num_gpus))
#iter_size =int(math.ceil(float(accum_batch_size) / (batch_size_per_device * num_gpus)))
# solver_mode =P.Solver.GPU
# device_id =int(gpulist[0])

       打开caffe/examples/ssd/ssd_pascal.py这个文件,找到gpus=’0,1,2,3’这一行,如果您的服务器有一块显卡,则将123删去,如果有两个显卡,则删去23,以此类推。

cd  /home/mrchao/caffe
python examples/ssd/ssd_pascal.py

【Problem one】
       问题cudasuccess2vs0则说明电脑显卡计算量有限,

       Solve:再次打开caffe/examples/ssd/ssd_pascal.py这个文件,找到batch_size =32这一行,修改数字32,可以修改为16,或者8,甚至为42,1,保存后退出。

【Problem two】:

       I0511 17:52:25.115056 63914 caffe.cpp:185] Using GPUs 0
       F0511 17:52:25.116345 63914 common.cpp:66] Cannot use GPU in CPU-only Caffe: check mode.
       ..* Check failure stack trace: *
       @ 0x7f6c824c65cd google::LogMessage::Fail()
       @ 0x7f6c824c8433 google::LogMessage::SendToLog()
       @ 0x7f6c824c615b google::LogMessage::Flush()
       @ 0x7f6c824c8e1e google::LogMessageFatal::~LogMessageFatal()
       @ 0x7f6c8284c7f0 caffe::Caffe::SetDevice()
       @ 0x7f6c81753a40 __libc_start_main
       @ (nil) (unknown)
       Aborted (core dumped)

     Solve:打开CMakeLists.txt,修改:29行,CPU_ONLY为ON就OK!

python examples/ssd/ssd_pascal.py

(2) 测试

python examples/ssd/score_ssd_pascal.py

       出现(1)中的问题,修改score_ssd_pascal.py内容注释掉与GPU有关的部分内容

(3) 演示网络摄像头识别效果,终端输入:

 python examples/ssd/ssd_pascal_webcam.py

出现(1)中的问题,修改ssd_pascal_webcam.py内容注释掉与GPU有关的部分内容

 

 4 修改py脚本,使caffeCPU模式下运行

vim ./examples/ssd/ssd_detect.py   


39行,注释掉caffe.set_device(gpu_id)
40行,修改成caffe.set_mode_cpu()
python  ./examples/ssd/ssd_detect.py     
eog detect_result.jpg    #查看效果图

参考资料:

       http://www.voidcn.com/article/p-gqxyukkt-xp.html

       https://blog.csdn.net/manong_wxd/article/details/78734856

       https://blog.csdn.net/GoJawee/article/details/78136430?locationNum=8&fps=1

       https://blog.csdn.net/samylee/article/details/51822832

       https://blog.csdn.net/rockwzy/article/details/79155566

       https://github.com/weiliu89/caffe

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值