Ubuntu16.04+Opencv2.4.13+caffe配置跟踪算法Goturn
2017-06-26 23:35
806 查看
在深度学习的过程中,参考了很多网上的资料,感谢很多大神把自己的经验分享给我们这些小白。今天在配置goturn的过程中遇到了很多问题,大部分在github上找到了解决方案,将自己的解决方法分享出来,希望对大家有用。有些问题参考网上资料解决了,但是并不明白原理,欢迎知情大神指点迷津^~^
算法简称:GOTURN(Generic Object Tracking Using Regression Networks)
文章以及附件:http://davheld.github.io/GOTURN/GOTURN.html
算法源码:https://github.com/autocyz/GOTURN
大家如果和我一样对cmake不熟悉的话可以通过cmake gui来操作
goturn的编译需要通过cmake交叉编译,需要安装opencv和caffe,建议大家先通过caffe与opencv的编译在进行goturn的编译
cmake安装:
cmake gui的安装:
www.continuum.io/downloads
注意下载自己电脑对应的版本!
下载完成后在其路径下输入bash指令,完成安装:
在终端中输入以下指令:
之后刷新软件库并安装最新驱动:
安装完成后通过下面命令查看是否安装成功:
如果出现显卡相关信息则安装成功
developer.nvidia.com/cuda-downloads
选择自己对应的版本和安装方式,安装指令如图所示。安装完之后检查nvcc,即在终端中输入nvcc应出现相应选项。
环境变量配置
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部
将安装包解压,将此安装包放在home路径下即可,并在当前路径下进行解压,解压后的文件夹名为cuda。
在home路径下打开终端:
关闭终端并重新打开(也可以返回最开始的目录)
终端运行:
算法背景资料:
文章的题目:《Learning to Track at 100 FPS with Deep Regression Networks》算法简称:GOTURN(Generic Object Tracking Using Regression Networks)
文章以及附件:http://davheld.github.io/GOTURN/GOTURN.html
算法源码:https://github.com/autocyz/GOTURN
编译配置
注意大家如果和我一样对cmake不熟悉的话可以通过cmake gui来操作
goturn的编译需要通过cmake交叉编译,需要安装opencv和caffe,建议大家先通过caffe与opencv的编译在进行goturn的编译
cmake安装:
$ sudo apt-get install cmake
cmake gui的安装:
$ sudo apt-get install cmake-qt-gui
1. Cmake编译安装Opencv
www.linuxidc.com/Linux/2014-12/110045.htm2. Cmake编译安装Caffe
2.1 安装依赖库
caffe的的编译需要很多的lib文件和支持模块:$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler $ sudo apt-get install --no-install-recommends libboost-all-dev $ sudo apt-get install libatlas-base-dev $ sudo apt-get install libhdf5-serial-dev $ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev $ sudo apt-get install python-numpy $ sudo apt-get install python-dev
2.2 安装Anaconda
下面给出了anaconda的官方网站,找到对于的python版本,下载对应Linux版本的文件:www.continuum.io/downloads
注意下载自己电脑对应的版本!
下载完成后在其路径下输入bash指令,完成安装:
$ bash Anaconda2-4.3.0-Linux-x86_64.sh
2.3 安装显卡驱动与CUDA和Cudnn
2.3.1显卡驱动
安装CUDA之前需要先安装显卡驱动,显卡必须是NVIDIA显卡。在终端中输入以下指令:
$ sudo add-apt-repositoryppa:graphics-drivers/ppa
之后刷新软件库并安装最新驱动:
$ sudo apt-get update $ sudo apt-get install nvidia-367 $ sudo apt-get install nvidia-settings nvidia-prime $ sudo apt-get install mesa-common-dev $ sudo apt-get install freeglut3-dev
安装完成后通过下面命令查看是否安装成功:
$ nvidia-settings
如果出现显卡相关信息则安装成功
2.3.2安装CUDA
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台,是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。首先查看自己的GPU能不能进行计算,算力如何,网址如下:developer.nvidia.com/cuda-downloads
选择自己对应的版本和安装方式,安装指令如图所示。安装完之后检查nvcc,即在终端中输入nvcc应出现相应选项。
环境变量配置
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部
$ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} $ export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
2.3.3安装CUDNN
cudnn为优化GPU加速计算的程序,首先从官网上下载cudnn的安装包。这里一定要注意,安装对应自己cuda版本的的cudnn!将安装包解压,将此安装包放在home路径下即可,并在当前路径下进行解压,解压后的文件夹名为cuda。
在home路径下打开终端:
$ cd cuda/include (进入下载好的/cuda/include文件夹) $ sudo cp *.h /usr/local/cuda/include/ (注意这里是你自己的cuda的安装地址,复制*.h文件)
关闭终端并重新打开(也可以返回最开始的目录)
$ cd cuda/lib64 $ sudo cp libcudnn* /usr/local/cuda/lib64/
终端运行:
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
2.4安装Caffe
通过git把caffe的源码下载下来。$ git clone https://github.com/BVLC/caffe.git[/code]
下载完成之后,进入CAFFE文件夹, 进入里面的PYTHON文件夹,然后输入$ for req in $(cat requirements.txt); do pip install $req; done
好的,那么下面就准备编译了,准备编译之前,跟新一下anaconda的gcc库,caffe在python接口下使用时只支持libgcc5版本,因此需要跟新$ conda update libgcc
以下给出两种安装caffe的方式,普通安装和cmake安装。普通安装caffe:根据给定的makefile文件安装caffe。
普通安装caffe参考博客:
blog.csdn.net/angelfish91/article/details/56019558
注意:Goturn中要求用cmake来install caffe。2.4.1cmake安装caffe
给出官网教程:caffe.berkeleyvision.org/installation.html 最下面的CMake Build<
bbea
/p>
$ mkdir build
$ cd build
$ cmake ..
$ make all
$ make install
$ make runtest
出现的错误:
问题1:
/usr/bin/ld: cannot find -lopencv_dep_cudart
collect2: error: ld returned 1 exit status
src/caffe/CMakeFiles/caffe.dir/build.make:30208: recipe for target
‘lib/libcaffe.so.1.0.0’ failed
make[2]: * [lib/libcaffe.so.1.0.0] Error 1
CMakeFiles/Makefile2:304: recipe for target
‘src/caffe/CMakeFiles/caffe.dir/all’ failed
make[1]: * [src/caffe/CMakeFiles/caffe.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: * [all] Error 2
解决方法参考:
devtalk.nvidia.com/default/topic/970325/jetson-tx1/cmake-cannot-find-lopencv_dep_cudart/
即在终端输入:$ ln -s /usr/local/cuda8-0/lib64/libcudart.so /usr/local/lib/ $ ln -s /usr/local/cuda8-0/lib64/libcudart.a /usr/local/lib/
Cmake的GUI中修改:$set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
点击caffe/build 文件夹中的CMakeCache.txt可以直接打开cmake gui.(注意点击advance才能出现这个选项)
问题2:
fatal error: caffe/proto/caffe.pb.h: No such file or directory
include “caffe/proto/caffe.pb.h”
解决方法参考:
blog.csdn.net/u012258999/article/details/56001541
用protoc从caffe/src/caffe/proto/caffe.proto生成caffe.pb.h和caffe.pb.cc
protoc语法参考如下(路径请根据自己情况):$ ~/caffe/build$ protoc --cpp_out=/home/sophie/caffe3/include/caffe/ caffe.proto
之后在~/caffe/include/caffe/proto目录下新建文件夹,命名为proto,然后把编译出来的caffe.pb.h和caffe.pb.cc放进去之后,错误消失。3. Cmake编译安装Goturn
给出官网指南:
github.com/autocyz/GOTURN
问题1:
/home/angelfish/GOTURN/src/native/vot.h:50:22: fatal error: trax.h: No
such file or directory
compilation terminated.
CMakeFiles/GOTURN.dir/build.make:62: recipe for target
‘CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o’ failed
make[2]: * [CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o]
Error 1
make[2]: * Waiting for unfinished jobs….
CMakeFiles/Makefile2:215: recipe for target
‘CMakeFiles/GOTURN.dir/all’ failed
make[1]: * [CMakeFiles/GOTURN.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: * [all] Error 2
解决方法参考:
github.com/davheld/GOTURN/issues/2
在GOTURN的CMakeList.txt文档中# Add src to include directories. include_directories(src)
后面加上include_directories(src/native)
问题解决!
问题2:
vot.cpp:(.text+0x4cc): undefined reference to trax_cleanup’ collect2: error: ld returned 1 exit status
CMakeFiles/test_tracker_vot.dir/build.make:175: recipe for target ‘test_tracker_vot’ failed make[2]: *_* [test_tracker_vot]
Error 1 CMakeFiles/Makefile2:305: recipe for target ‘CMakeFiles/test_tracker_vot.dir/all’ failed
make[1]: *** [CMakeFiles/test_tracker_vot.dir/all]
Error 2 Makefile:75: recipe for target ‘all’ failed make: *** [all] Error 2
解决方法参考:
github.com/davheld/GOTURN/issues/1
下载 traxhttps://github.com/votchallenge/trax/ 并且cmake
在GOTURN的CMakeList.txt文档中:add_executable (test_tracker_vot src/test/test_tracker_vot.cpp) target_link_libraries(${PROJECT_NAME} /home/public/git/trax/build/libtrax.so) target_link_libraries (test_tracker_vot ${PROJECT_NAME})
后添加:target_link_libraries(${PROJECT_NAME} /home/sparrow/trax/build/libtrax.so)
注意修改路径测试阶段
下载预训练模型,可以通过终端输入:bash scripts/download_trained_model.sh
建议通过迅雷下好复制到nets/models/pretrained_model 文件下中
测试:
下载数据集:
www.votchallenge.net/vot2014/dataset.html
运行测试脚本(vot_folder为数据集文件夹名称):bash scripts/show_tracker_test.sh vot_folder
测试时间在我的显卡(GTX965)上平均为11ms,速度果然是刚刚的。
相关文章推荐
- Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
- Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
- 【深度学习】 Ubuntu16.04 caffe Opencv2.4.13 GPU环境配置
- Ubuntu16.04+Cuda8.0(gtx1060)+Cudnn5.1+OpenCV2.4.13+anaconda2+caffe详细配置
- [置顶] caffe安装ubuntu16.04 opencv2.4.13 anaconda2
- Ubuntu16.04,CUDA8.0,Caffe-ssd,OpenCV3.1配置指南(二)
- 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)
- 踩坑笔记之环境配置——Ubuntu16.04、caffe、pytorch、tensorflow、keras、anaconda、opencv3、matlab
- Ubuntu 16.04下的Caffe+Cuda+Opencv+Matlab+Python配置中的若干问题
- Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细
- ubuntu16.04安装配置opencv2.4.13
- Ubuntu16.04配置GPU caffe 加Qt下caffe和opencv环境配置
- Ubuntu16.04,CUDA8.0,Caffe-ssd,OpenCV3.1配置指南
- Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程
- Ubuntu 16.04配置Opencv-2.4.13
- Ubuntu16.04+caffe+cuda8.0+cudnn5.1+opencv配置
- ubuntu16.04+CUDA8.0+cuDNN5.1+opencv2.4.13+Anaconda的caffe编译过程
- 双系统Ubuntu16.04的Caffe环境配置+opencv3.2.0安装
- Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细
- ubuntu16.04搭建opencv2.4.13开发环境