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 . */

近期下载者

相关文件


收藏者