MobileNetV2-SSDLite的安装使用

 前两篇文章已经安装了caffe并切换到ssd分支,同时添加了对ReLU6的支持,接着这里开始安装和使用MobileNetV2-SSDLite。


 首先安装MobileNetV2-SSDLite:

git clone https://github.com/chuanqi305/MobileNetv2-SSDLite

 进入到ssdlite文件夹之后下载tensorflow模型并解压:

wget http://download.tensorflow.org/models/object_detection/ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
tar -zvxf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

 然后将解压的tensorflow模型转为caffe模型,执行下面两个脚本后,会在当前目录下生成deploy.caffemodel这个caffe模型:

python dump_tensorflow_weights.py
# 注意将load_caffe_weight.py中caffe_root改为自己的caffe路径
python load_caffe_weight.py

 我自己在执行上面第二个脚本的时候报了Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR的错误,这是因为GPU的显存不够用,所以需要将ssdlite文件夹下的deploy.prototxt中所有的#engine: CAFFE前面的#号去掉。

 这个时候如果直接跑demo_caffe.py同样会因为coco模型需要的显存太大,导致GPU显存不够用,所以还需要将coco模型转换为voc模型,运行:

# 同样需要修改caffe_root
python coco2voc.py

 这里还是报了Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR的错,看了源代码后发现还需要对ssdlite/voc文件夹下的deploy.prototxt做同样的删除#engine: CAFFE前面的#号的操作。

 重新运行coco2voc.py后,就可以运行:

python demo_caffe_voc.py

 下面是测试的一些结果:

MobileNetV2-SSDLite的安装使用_第1张图片
测试结果1
MobileNetV2-SSDLite的安装使用_第2张图片
测试结果2
MobileNetV2-SSDLite的安装使用_第3张图片
测试结果3
MobileNetV2-SSDLite的安装使用_第4张图片
测试结果4
MobileNetV2-SSDLite的安装使用_第5张图片
测试结果5
MobileNetV2-SSDLite的安装使用_第6张图片
测试结果6
MobileNetV2-SSDLite的安装使用_第7张图片
测试结果7

你可能感兴趣的:(目标检测)