1. 下载flownet2.0源码到指定目录
cd /home/zzq/saliency_models/deep_optical_flow
git clone https://github.com/lmb-freiburg/flownet2
cd flownet2
cp Makefile.config.example Makefile.config
2. 新建anaconda2 flownet2.0环境
cd ~/anaconda2/bin
conda create -n flownet2.0 python=2.7
source activate flownet2.0
conda install numpy
conda instaLL cython
conda install scipy
conda install scikit-image
pip install msgpack
pip install opencv-python
3. 配置flownet2.0环境
修改Makefile.config:
USE_CUDNN := 1
USE_OPENCV := 1
ANACONDA_HOME := $(HOME)/anaconda2/envs/flownet2.0
PYTHON_INCLUDE := $(ANACONDA_HOME)/include
$(ANACONDA_HOME)/include/python2.7
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
/usr/include/python2.7
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
4. 编译flownet2.0
make -j `nproc` all tools pycaffe
如果出现fatal error: pyconfig.h: No such file or directory #include "pyconfig.h"
,则:
make clean
export CPLUS_INCLUDE_PATH=/home/zzq/anaconda2/envs/flownet2.0/include/python2.7
make -j `nproc` all tools pycaffe
如果出现 ‘numeric_limits’ is not a member of ‘std’
, 则在出错CPP文件中添加:
#include<stdexcept>
#include<limits>
如果出现
/usr/local/lib/libopencv_imgcodecs.so:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
/usr/local/lib/libopencv_imgcodecs.so:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用
/usr/local/lib/libopencv_imgcodecs.so:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用
/usr/local/lib/libopencv_imgcodecs.so:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用
则在cmake opencv时添加:
-D BUILD_TIFF=ON
配置环境, 每次使用 flownet2.0 时, 都要进行如下操作
source set-env.sh
5. 测试flownet2.0
cd models,下载模型。
run-flownet.py ../models/FlowNet2/FlowNet2_weights.caffemodel.h5 ../models/FlowNet2/FlowNet2_deploy.prototxt.template /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/1.jpg /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/2.jpg /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/flow2.flo
可视化结果:
注意: conda install protobuf一定要在编译环境成功之后。否则会出现/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 的错误。
原文链接: https://www.cnblogs.com/zzq-123456/p/9706036.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/281922
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!