Intel Openvino应用之MobileNet-SSD/SSD300模型的使用

MobileNet-SSD和SSD300是比较常用的目标检测算法模型,相较于SSD300,MobileNet-SSD是比较轻量化的模型,主要用在手机、嵌入式终端等边缘场景。

模型下载:
1. 进入model downloader目录
cd /opt/intel/openvino/deployment_tools/tools/model_downloader
2. 使用model downloader下载SSD300, MobileNet-SSD模型
sudo python3 downloader.py --name mobilenet-ssd,ssd300

Labels下载:
Labels是模型的标签文件,每个标签对应一个实际物体,可以在推论时实时显示侦测到的物体名称。这里使用的SSD300和MobileNet-SSD训练集是一样的,可以共用一个标签文件。下载成功:


模型转换:
1.创建转换后的文件放置的目录,然后进入model optimizer目录
mkdir -p /home/yanpeng/work/openvino_r/mobilenet-ssd/FP16
mkdir -p /home/yanpeng/work/openvino_r/mobilenet-ssd/FP32
mkdir -p /home/yanpeng/work/openvino_r/ssd300/FP16
mkdir -p /home/yanpeng/work/openvino_r/ssd300/FP32
2. 使用MO对SSD300进行模型转换
因为SSD300模型下载下来后模型描述文件和权重文件名字不一样,所以我们先调整一下他们的名字,再进行转换
cp xxx/SSD_300x300_ft/deploy.prototxt ~/work/openvino_r/ssd300/ssd300.prototxt
cp xxx/SSD_300x300_ft/VGG_VOC0712Plus_SSD_300x300_ft_iter_160000.caffemodel ~/work/openvino_r/ssd300/ssd300.caffemodel
python3 mo_caffe.py --input_model /home/yanpeng/work/openvino_r/ssd300/ssd300.caffemodel -o /home/yanpeng/work/openvino_r/ssd300/FP32
python3 mo_caffe.py --input_model /home/yanpeng/work/openvino_r/ssd300/ssd300.caffemodel -o /home/yanpeng/work/openvino_r/ssd300/FP16 --data_type FP16
3. 使用MO对MobileNet-SSD进行模型转换
python3 mo_caffe.py --input_model ~/work/openvino_s/open_model_zoo/tools/downloader/my/download/public/mobilenet-ssd/mobilenet-ssd.caffemodel -o /home/yanpeng/work/openvino_r/mobilenet-ssd/FP32 --scale 256 --mean_values [127,127,127]
python3 mo_caffe.py --input_model ~/work/openvino_s/open_model_zoo/tools/downloader/my/download/public/mobilenet-ssd/mobilenet-ssd.caffemodel -o /home/yanpeng/work/openvino_r/mobilenet-ssd/FP16 --scale 256 --mean_values [127,127,127] --data_type FP16
4. 转换成功后的画面


使用OpenVINO+SSD300进行推论
进入sample目录
cd ~/work/openvino_s/open_model_zoo/demos/python_demos/object_detection_demo_ssd_async/
推论时候指定我们要使用的模型/input/labels:
CPU:
python3 object_detection_demo_ssd_async.py -i cam -m /home/yanpeng/work/openvino_r/ssd300/FP32/ssd300.xml -d CPU --labels ~/work/openvino_r/mobilenet-ssd/mobilenet-ssd.labels -l ~/omz_demos_build/intel64/Release/lib/libcpu_extension.so
GPU:
python3 object_detection_demo_ssd_async.py -i cam -m /home/yanpeng/work/openvino_r/ssd300/FP16/ssd300.xml -d GPU --labels ~/work/openvino_r/mobilenet-ssd/mobilenet-ssd.labels

使用OpenVINO+MobileNet-SSD进行推论
CPU:
python3 object_detection_demo_ssd_async.py -i cam -m /home/yanpeng/work/openvino_r/mobilenet-ssd/FP32/mobilenet-ssd.xml -d CPU --labels ~/work/openvino_r/mobilenet-ssd/mobilenet-ssd.labels -l ~/omz_demos_build/intel64/Release/lib/libcpu_extension.so
GPU:
python3 object_detection_demo_ssd_async.py -i cam -m /home/yanpeng/work/openvino_r/mobilenet-ssd/FP16/mobilenet-ssd.xml -d GPU --labels ~/work/openvino_r/mobilenet-ssd/mobilenet-ssd.labels
推论结果如下图:

相关视频

MobileNet-SSD在OpenVI

MobileNet-SSD和SSD300是比较常用的目标检测算法模型,相较于SSD300,MobileNet-SSD是比较轻量化的模型,主要用在手机、嵌入式终端等边缘场景。

若无法正常播放,请点击前往观看视频

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

我来评论