iDT算法以及dtfv特征编码环境配置
操作系统:ubuntu-14.04.6
opencv版本:2.4.9
ffmpeg版本:2.4.3
一、iDT算法环境配置
虚拟机安装ubuntu-14.04系统,镜像文件下载地址:https://mirrors.163.com/ubuntu-releases/14.04/
注意:先安装opencv2再安装ffmpeg
1、安装opencv2
(1)下载opencv2 https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download
(2)安装依赖项
1 2 3 4 5 | sudo apt- get install build-essential 安装依赖包 sudoapt- get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 安装可选包 sudo apt- get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev |
(3)编译
1 2 3 4 5 6 | cd opencv-2.4.9 mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make sudo make install |
(4)添加动态库信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | cd /usr/local/lib ls 可查看到以下信息 libopencv_calib3d.so libopencv_flann.so libopencv_legacy.so libopencv_ocl.so libopencv_ts.a libopencv_calib3d.so.2.4 libopencv_flann.so.2.4 libopencv_legacy.so.2.4 libopencv_ocl.so.2.4 libopencv_video.so libopencv_calib3d.so.2.4.9 libopencv_flann.so.2.4.9 libopencv_legacy.so.2.4.9 libopencv_ocl.so.2.4.9 libopencv_video.so.2.4 libopencv_contrib.so libopencv_gpu.so libopencv_ml.so libopencv_photo.so libopencv_video.so.2.4.9 libopencv_contrib.so.2.4 libopencv_gpu.so.2.4 libopencv_ml.so.2.4 libopencv_photo.so.2.4 libopencv_videostab.so libopencv_contrib.so.2.4.9 libopencv_gpu.so.2.4.9 libopencv_ml.so.2.4.9 libopencv_photo.so.2.4.9 libopencv_videostab.so.2.4 libopencv_core.so libopencv_highgui.so libopencv_nonfree.so libopencv_stitching.so libopencv_videostab.so.2.4.9 libopencv_core.so.2.4 libopencv_highgui.so.2.4 libopencv_nonfree.so.2.4 libopencv_stitching.so.2.4 pkgconfig libopencv_core.so.2.4.9 libopencv_highgui.so.2.4.9 libopencv_nonfree.so.2.4.9 libopencv_stitching.so.2.4.9 python2.7 libopencv_features2d.so libopencv_imgproc.so libopencv_objdetect.so libopencv_superres.so python3.4 libopencv_features2d.so.2.4 libopencv_imgproc.so.2.4 libopencv_objdetect.so.2.4 libopencv_superres.so.2.4 libopencv_features2d.so.2.4.9 libopencv_imgproc.so.2.4.9 libopencv_objdetect.so.2.4.9 libopencv_superres.so.2.4.9 |
执行命令
1 | sudo vim /etc/ld.so.conf |
文件末尾添加:/usr/local/lib
保存文件,退出后执行
1 | sudo ldconfig |
系统重启,然后执行
1 2 | cd /etc sudo ldconfig -v >temp.so.txt && cat temp.so.txt|grep opencv |
(5)指定头文件位置
1 | sudo vim /etc/profile |
末尾添加:
1 | export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig |
保存文件后执行:
1 2 3 | pkg-config --cflags opencv 会看到以下提示: -I/usr/local/include/opencv -I/usr/local/include |
说明opencv安装成功。
2、安装ffmpeg
1 2 3 | sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt- get update sudo apt- get install ffmpeg |
查看ffmpeg版本
1 | ffmpeg -version |
3、下载IDT源码
IDT算法源码下载:http://lear.inrialpes.fr/people/wang/download/improved_trajectory_release.tar.gz
解压文件
1 | tar -zcvf improved_trajectory_release.tar.gz |
1 2 | cd improved_trajectory_release make |
编译成功后,会生成release文件夹
执行:
1 2 | ./release/DenseTrackStab ./test_sequences/person01_boxing_d1_uncomp.avi | gzip > out .features.gz vimdiff out .features.gz ./test_sequences/person01_boxing_d1.gz |
会看到特征对比结果
如果在使用DenseTrackStab中想查看特征的可视化效果,可修改improved_trajectory_release/DenseTrackStab.cpp第10行,
1 | int show_track = 0 |
将show_trac改为1,然后重新编译,再执行:
1 | ./release/DenseTrackStab ./test_sequences/person01_boxing_d1_uncomp.avi | gzip > out .features.gz |
即可看到如下效果:
二、dtfv特征编码环境配置
后续的特征编码采用dtfv代码运行,dtfv下载地址:https://github.com/chensun11/dtfv
1、编译vl_feat
下载地址:https://www.vlfeat.org/download/
根据dtfv的说明
选择0.9.17版本,下载 vlfeat-0.9.17.tar.gz
解压文件
1 2 3 | tar -zcvf vlfeat-0.9.17.tar.gz cd vlfeat-0.9.17 make |
编译成功后:
1 2 3 4 5 | sudo vim ~/.bashrc 末尾添加 export VLROOT=/home/yxm/vlfeat-0.9.17 保存后执行 source ~/.bashrc |
1 2 3 4 | 声明路径 sudo vim /etc/ld.so.conf 末尾添加 /home/yxm/vlfeat-0.9.17/bin/glnxa64<br>sudo ldconfig |
1 2 | 验证安装结果 vim test.cpp |
test.cpp写入代码:
1 2 3 4 5 6 7 8 | #include <vl/generic.h> #include "vl/sift.h" int main() { VL_PRINT( "Hello world!" ); return 0; } |
gcc编译
1 | g++ test.cpp -I$VLROOT -L$VLROOT/bin/glnxa64/ -lvl |
会在当前目录生成a.out,执行以下会在控制台看到“Hello world!”
说明vlfeat安装成功。
2、编译dtfv
将vlfeats/bin/glnx64中的libvl.so文件拷贝到dtfv/src/vl文件夹中,然后make
1 2 3 4 5 | vim /etc/ld.so.conf 末尾添加 /home/yxm/dtfv-master/src/vl /home/yxm/dtfv-master/src/alglib sudo ldconfig |
3、运行dtfv
修改源码/home/yxm/dtfv-master/script/extract_fv.py的参数dtBin、fvBin、tmpDir、pcaList、codeBookList,如图:
修改/home/yxm/dtfv-master/data/ucf.pca.lst和/home/yxm/dtfv-master/data/ucf.codebook.lst文件,将内容的路径改为绝对路径:
进入/home/yxm/dtfv-master/script/目录,在目录下创建一个文件videolist,文件中填写视频文件的绝对路径
同时创建一个test文件夹,然后执行:
1 2 | dtfv使用python2,所以执行命令: python extract_fv.py videolist /home/yxm/dtfv-master/script/test/ 2 |
执行成功后,即可在test文件夹下得到:
1 2 3 4 5 | my.avi.hof.fv.txt my.avi.hog.fv.txt my.avi.mbhx.fv.txt my.avi.mbhy.fv.txt my.avi.traj.fv.txt |
然后可以尝试使用libsvm跑一下分类结果,待续...
参考网址:
https://blog.csdn.net/gulaixiangjuejue/article/details/86152598
https://blog.csdn.net/baidu_31959555/article/details/80763758
https://blog.csdn.net/sherry_gp/article/details/50914757
https://blog.csdn.net/Cheese_pop/article/details/78621301
https://blog.csdn.net/h_372101/article/details/108059348
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?