- How to Use DynaSLAM using Docker? DynaSLAM安装与运行
- DynaSLAM: Tracking, Mapping and Inpainting in Dynamic Scenes
- DynaSLAM 代码分析
https://www.bilibili.com/video/av77344939
- python: 2.7
- tensorflow
- keras: 2.0.8
- cuda: 9.0
- OpenCV: 2.4.13
git clone https://github.com/yubaoliu/DynaSLAM.git
cd DynaSLAM/docker
sudo docker-compose build
sudo docker-compose up
cd DynaSLAM
chmod +x build.sh
./build.sh
vim docker/.env
:
Modify DATASET_DIR
echo "get trained model"
cd DynaSLAM/src/python/
wget -c https://github.com/matterport/Mask_RCNN/releases/download/v1.0/mask_rcnn_coco.h5
wget -c https://github.com/matterport/Mask_RCNN/releases/download/v2.1/mask_rcnn_balloon.h5
# xhost 控制X server访问权限
xhost +local:root
sudo docker-compose run dynaslam bash
check run_in_docker.sh
import tensorflow as tf
print(tf.__version__)
DynaSLAM$ python src/python/Check.py
If everything works fun:
::::
Initialated Mask RCNN network...
Mask R-CNN is correctly working
Problem:
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.6.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "external/protobuf_archive/src/google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): This program requires version 3.6.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "external/protobuf_archive/src/google/protobuf/any.pb.cc".)
Aborted (core dumped)
Check Version:
protoc --version
In file included from /root/DynaSlam/src/Conversion.cc:9:0:
/root/DynaSlam/include/Conversion.h:17:27: fatal error: ndarrayobject.h: No such file or directory
compilation terminated.
CMakeFiles/DynaSLAM.dir/build.make:518: recipe for target 'CMakeFiles/DynaSLAM.dir/src/Conversion.cc.o' failed
make[2]: *** [CMakeFiles/DynaSLAM.dir/src/Conversion.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /root/DynaSlam/include/MaskNet.h:26:0,
from /root/DynaSlam/src/MaskNet.cc:9:
/root/DynaSlam/include/Conversion.h:17:27: fatal error: ndarrayobject.h: No such file or directory
compilation terminated.
solution:
root@710c930fa912:~/DynaSlam/build# find / -name arrayobject.h
/usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h
Original README.md -> README.md.old
docker pull yubaoliu/cuda-9-cv2:Mask-RCNN
docker run -it --rm \
-v /home/yubao/data/share:/root \
-v /home/yubao/data/Dataset:/Dataset \
--net host \
--runtime=nvidia \
-e DISPLAY=$$DISPLAY \
-v $$HOME/.Xauthority:/root/.Xauthority \
--name cuda9cv2 \
yubaoliu/cuda-9-cv2:Mask-RCNN