一. 前言
本小結着重介紹一下vision_ssd_detect部分。
二. 安裝
(1)下載ssdcaffe,一定要安裝在home目錄下,否則vision_ssd_detect.launch文件中的network_definition_file和pretrained_model_file路徑會有變化。
% git clone -b ssd https://github.com/weiliu89/caffe.git ssdcaffe % cd ssdcaffe % git checkout 4817bf8b4200b35ada8ed0dc378dceaf38c539e4
(2)修改Makefile.config,我用的CUDA10.0,直接貼出我的Makefile.config
(3)編譯
make && make distribute
(4)下載預先訓練好的模型,網址:https://github.com/weiliu89/caffe/tree/ssd,在readme,models中選一個SSD512的模型,解壓,並拷貝到~/ssdcaffe/models/目錄。
$ tar -xvzf ~/Downloads/models_VGGNet_VOC0712_SSD_512x512.tar.gz $ cp -r ~/Downloads/models/VGGNet ~/ssdcaffe/models/
(5)執行vision_ssd_detect節點
$ cd ~/autoware.ai $ source install/setup.bash $ roslaunch vision_ssd_detect vision_ssd_detect.launch
如果沒有vision_ssd_detect.launch文件,刪除build和install里面的vision_ssd_detect,單獨編譯vision_ssd_detect。
$ cd ~/autoware.ai $ AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select vision_ssd_detect
如果出現:libcaffe.so.1.0.0-rc3: cannot open shared object file: No such file or directory錯誤
需要執行
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:~/ENet/caffe-enet/distribute/lib $ AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select vision_ssd_detect
運行vision_ssd_detect.launch文件
如果出現錯誤:Check failed: fd != -1 (-1 vs. -1) File not found: data/VOC0712/labelmap_voc.prototxt
將/home/xxx/ssdcaffe/models/VGGNet/VOC0712/SSD_512x512/deploy.prototxt文件最后的label_map_file: "data/VOC0712/labelmap_voc.prototxt"改為絕對路徑label_map_file: "/home/xxx/ssdcaffe/data/VOC0712/labelmap_voc.prototxt"
原創博文,轉載請標明出處。