GPU-KLT-FLOW-1.0
所属分类:图形图像处理
开发工具:Visual C++
文件大小:83KB
下载次数:23
上传日期:2011-11-09 09:41:35
上 传 者:
lyw870512
说明: 基于GPU的klt跟踪算法,现在比较流行的基于光流分析的视频跟踪算法
(GPU-based klt tracking algorithm, is now more popular optical flow-based analysis of video tracking algorithm)
文件列表:
GPU-KLT+FLOW-1.0 (0, 2010-01-11)
GPU-KLT+FLOW-1.0\Config (0, 2008-05-02)
GPU-KLT+FLOW-1.0\Config\v3d_macros.cmake (1119, 2008-05-02)
GPU-KLT+FLOW-1.0\Base (0, 2010-01-11)
GPU-KLT+FLOW-1.0\Base\v3d_serialization.h (29869, 2009-10-20)
GPU-KLT+FLOW-1.0\Base\v3d_exception.h (2438, 2010-01-11)
GPU-KLT+FLOW-1.0\Base\v3d_image.cpp (27205, 2009-09-21)
GPU-KLT+FLOW-1.0\Base\v3d_image.h (9163, 2010-01-11)
GPU-KLT+FLOW-1.0\Base\v3d_utilities.h (3860, 2010-01-11)
GPU-KLT+FLOW-1.0\Base\v3d_timer.h (3951, 2009-09-22)
GPU-KLT+FLOW-1.0\CMakeLists.txt (1114, 2010-01-11)
GPU-KLT+FLOW-1.0\GL (0, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\v3d_gpubase.cpp (46158, 2009-09-22)
GPU-KLT+FLOW-1.0\GL\v3d_gpuundistort.h (3004, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\v3d_gpuklt.h (10555, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\v3d_gpuflow.cpp (19307, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\v3d_gpuklt.cpp (29921, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\v3d_gpuflow.h (3806, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\v3d_gpubase.h (13911, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\v3d_gpuundistort.cpp (8243, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders (0, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_tracker_with_gain.cg (4127, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\OpticalFlow (0, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\Shaders\OpticalFlow\tvl1_flow_relaxed_update_p.cg (1068, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\OpticalFlow\tvl1_flow_relaxed_update_uv.cg (2088, 2010-01-11)
GPU-KLT+FLOW-1.0\GL\Shaders\OpticalFlow\tvl1_flow_relaxed_compute_UV.cg (1047, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\pyramid_with_derivative_pass1h.cg (5945, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_detector_nonmax.cg (811, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_detector_pass1.cg (904, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\pyramid_with_derivative_pass2.cg (577, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_tracker.cg (3559, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\undistort_parametric.cg (1880, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\pyramid_pass1v.cg (755, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_detector_discriminator.cg (562, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_detector_build_histpyr.cg (526, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\pyramid_pass2.cg (1012, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\flow_warp_image.cg (2808, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\pyramid_with_derivative_pass1v.cg (3267, 2009-09-21)
GPU-KLT+FLOW-1.0\GL\Shaders\klt_detector_traverse_histpyr.cg (2492, 2009-09-21)
... ...
Description
This is a GPU implementation of feature point tracking with and without
simultaneous gain estimation (i.e. changes in the overall image brightness are
detected and handled). For a technical description see C. Zach, D. Gallup, and
J.-M. Frahm, "Fast Gain-Adaptive KLT Tracking on the GPU,". CVPR Workshop on
Computer Vision on GPU's (CVGPU), 2008, available at
http://cs.unc.edu/~cmzach/publications.html.
Additionally, this package now includes the TV-L1 optical flow implementation
as described in C.Zach, T. Pock, and H. Bischof, "A Duality Based Approach for
Realtime TV-L1 Optical Flow", Pattern Recognition (Proc. DAGM), vol. 4792 of
Lecture Notes in Computer Science, 2007 (also available at
http://cs.unc.edu/~cmzach/publications.html).
Using the simple API for tracking is demonstrated in
Apps/GL/klt_for_video.cpp, which successively reads frames from videos (using
the OpenCV library) and displays the obtained feature tracks. Note that you
have to set the V3D_SHADER_DIR environment variable to point to the Shader
directory, e.g. export
V3D_SHADER_DIR=/home/user/src/GPU-KLT+FLOW-1.0/GL/Shaders with a sh/bash
environment. A simple application for TV-L1 optical flow is provided in
Apps/GL/tvl1_flow.cpp.
Requirements
NVidias Cg toolkit (version 2 or later,
http://developer.nvidia.com/object/cg_toolkit.html) and the OpenGL extension
wrangler library (glew.sourceforge.net) are required to build the
library. Currenlty, the GPU tracker is limited to NVidia hardware (Geforce6
series or newer, the hardware must support the fp40 Cg profile). If you want
to run the simple demo applications, the OpenCV computer vision library
(http://sourceforge.net/projects/opencvlibrary/) with sufficient support for
video codecs (e.g. through ffmpeg or xinelib) is required. The build system
uses cmake (www.cmake.org).
The optical flow code can use libpng or libjpeg for loading images. If none of
these is available (modify the main CMakeLists.txt), then binary PNM images
(magic code either P5 or P6) are still supported. GLUT or freeglut is used for
GL window handling.
The library was developed under Linux, but should compile equally well on
other operating systems.
-Christopher Zach (chzach@inf.ethz.ch)
/*
Copyright (c) 2008-2010 UNC-Chapel Hill & ETH Zurich
This file is part of GPU-KLT+FLOW.
GPU-KLT+FLOW is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.
GPU-KLT+FLOW is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License along
with GPU-KLT+FLOW. If not, see .
*/
近期下载者:
相关文件:
收藏者: