zoukankan      html  css  js  c++  java
  • 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)安装依赖项

    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)编译

    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)添加动态库信息

    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
    

     执行命令

    sudo vim /etc/ld.so.conf

    文件末尾添加:/usr/local/lib

    保存文件,退出后执行

    sudo ldconfig
    

     系统重启,然后执行

    cd /etc
    sudo ldconfig -v >temp.so.txt && cat temp.so.txt|grep opencv
    

     

     (5)指定头文件位置

    sudo vim /etc/profile
    

     末尾添加:

    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    

     保存文件后执行:

    pkg-config --cflags opencv
    会看到以下提示:
    -I/usr/local/include/opencv -I/usr/local/include
    

     说明opencv安装成功。

    2、安装ffmpeg

    sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next 
    sudo apt-get update 
    sudo apt-get install ffmpeg
    

     查看ffmpeg版本

    ffmpeg -version
    

     

    3、下载IDT源码

    IDT算法源码下载:http://lear.inrialpes.fr/people/wang/download/improved_trajectory_release.tar.gz

    解压文件

    tar -zcvf improved_trajectory_release.tar.gz
    
    cd improved_trajectory_release
    make
    

    编译成功后,会生成release文件夹

    执行:

    ./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行,

    int show_track = 0
    

     将show_trac改为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

     解压文件

    tar -zcvf vlfeat-0.9.17.tar.gz
    cd vlfeat-0.9.17
    make
    

     编译成功后:

    sudo vim ~/.bashrc
    末尾添加
    export VLROOT=/home/yxm/vlfeat-0.9.17
    保存后执行
    source ~/.bashrc
    
    声明路径
    sudo vim /etc/ld.so.conf
    末尾添加
    /home/yxm/vlfeat-0.9.17/bin/glnxa64
    sudo ldconfig
    验证安装结果
    vim test.cpp
    

     test.cpp写入代码:

    #include <vl/generic.h>
    #include "vl/sift.h"
     
    int main()
    {
        VL_PRINT("Hello world!");
        return 0;
    }
    

     gcc编译

    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

    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文件夹,然后执行:

    dtfv使用python2,所以执行命令:
    python extract_fv.py videolist /home/yxm/dtfv-master/script/test/ 2
    

     执行成功后,即可在test文件夹下得到:

    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

  • 相关阅读:
    Oracle 在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed)
    Bytes to be written to the stream exceed the Content-Length bytes size specified 解决方法
    Eclipse下建立geoserver源码工程
    (转)HttpWebRequest以UTF-8编码写入内容时发生“Bytes to be written to the stream exceed the Content-Length bytes size specified.”错误
    为nginx创建windows服务自启动
    (转)Nginx反向代理设置 从80端口转向其他端口
    从SNE到t-SNE再到LargeVis
    K NEAREST NEIGHBOR 算法(knn)
    从0开始用python实现神经网络 IMPLEMENTING A NEURAL NETWORK FROM SCRATCH IN PYTHON – AN INTRODUCTION
    Python和数据科学的起步指南
  • 原文地址:https://www.cnblogs.com/codeit/p/14498427.html
Copyright © 2011-2022 走看看