graphcut

所属分类:图形图象
开发工具:Visual C++
文件大小:440KB
下载次数:439
上传日期:2006-06-17 11:38:36
上 传 者adan1117
说明:  在计算机视觉中的立体匹配算法----最大流最小割,最新的研究成果.
(in computer vision of the stereo matching algorithm-largest flow minimum cut, the latest research results.)

文件列表:
match-v3.2 (0, 2006-06-15)
match-v3.2\bin (0, 2005-07-19)
match-v3.2\bin\match.exe (86016, 2003-08-17)
match-v3.2\bvz.txt (795, 2003-08-17)
match-v3.2\CHANGES.TXT (1637, 2005-07-19)
match-v3.2\corr.txt (331, 2003-08-17)
match-v3.2\images (0, 2005-07-19)
match-v3.2\images\scene_l.ppm (331791, 2003-08-17)
match-v3.2\images\scene_r.ppm (331791, 2003-08-17)
match-v3.2\kz1.txt (1113, 2003-08-17)
match-v3.2\kz2.txt (1204, 2003-08-17)
match-v3.2\match.txt (8507, 2003-08-17)
maxflow-v2.2.src (0, 2006-06-15)
maxflow-v2.2.src\adjacency_list (0, 2006-06-15)
maxflow-v2.2.src\adjacency_list\block.h (8191, 2005-05-10)
maxflow-v2.2.src\adjacency_list\graph.cpp (2277, 2005-05-10)
maxflow-v2.2.src\adjacency_list\graph.h (5794, 2005-05-10)
maxflow-v2.2.src\adjacency_list\maxflow.cpp (11287, 2005-05-10)
maxflow-v2.2.src\forward_star (0, 2006-06-15)
maxflow-v2.2.src\forward_star\block.h (8191, 2005-05-10)
maxflow-v2.2.src\forward_star\graph.cpp (10770, 2005-05-10)
maxflow-v2.2.src\forward_star\graph.h (8465, 2005-05-10)
maxflow-v2.2.src\forward_star\maxflow.cpp (20816, 2005-05-10)
maxflow-v2.2.src\CHANGES.TXT (358, 2005-05-10)
maxflow-v2.2.src\LICENSE.TXT (18009, 2005-05-10)
energy-v1.1.src (0, 2006-06-15)
energy-v1.1.src\energy.h (9817, 2005-08-19)
GCoptimization1.1 (0, 2006-06-15)
GCoptimization1.1\GCoptimization.cpp (57662, 2006-06-09)
GCoptimization1.1\GCoptimization.h (21910, 2005-10-31)
GCoptimization1.1\LICENSE.TXT (18349, 2005-05-09)
GCoptimization1.1\LinkedBlockList.cpp (1453, 2005-08-25)
GCoptimization1.1\LinkedBlockList.h (1765, 2005-07-21)
GCoptimization1.1\NotVekslerSoftware (0, 2005-08-29)
GCoptimization1.1\NotVekslerSoftware\block.h (8191, 2005-07-21)
GCoptimization1.1\NotVekslerSoftware\energy.h (9091, 2005-07-21)
... ...

################################################################## # # # MATCH - software for computing dense correspondence # # (disparity map) between two images using graph cuts # # Version 3.1 # # http://www.cs.cornell.edu/People/vnk/recon.html # # # # Vladimir N. Kolmogorov # # vnk@cs.cornell.edu 2001-2003 # # # ################################################################## ################################################################## 1. Introduction. This software implements stereo algorithms described in the following papers: Vladimir Kolmogorov and Ramin Zabih "Multi-Camera scene Reconstruction via Graph Cuts" In: European Conference on Computer Vision, May 2002. Vladimir Kolmogorov and Ramin Zabih "Computing Visual Correspondence with Occlusions using Graph Cuts" In: International Conference on Computer Vision, July 2001. and Yuri Boykov, Olga Veksler and Ramin Zabih "Markov Random Fields with Efficient Approximations" In: IEEE Computer Vision and Pattern Recognition Conference, June 19***. The first algorithm is referred to as 'KZ1', the second as 'KZ2' and the third as 'BVZ'. The input are two images in .pgm or .ppm formats, and the output is a disparity map registered with respect to the left image. KZ1 and BVZ compute disparities for every pixel in the image, while KZ2 marks explicitly pixels that are not visible in the right image as 'OCCLUDED'. Note that KZ1 and KZ2 algorithms can be viewed as special cases of a more general algorithm desribed in Vladimir Kolmogorov, Ramin Zabih and Steven Gortler "Generalized Multi-Camera scene Reconstruction Using Graph Cuts" In: Fourth International Workshop on Energy Minimization Methods in Computer Vision and Pattern Recognition, July 2003. More details can also be found in my PhD thesis (to appear). Enclosed is also the 'head' dataset which is a courtesy of Y. Ohta and Y. Nakamura from the University of Tsukuba, Japan. This software can be used only for research purposes. Please send any feedback to vnk@cs.cornell.edu. ################################################################## 2. Maxflow algorithm. This software includes a new implementation of the maxflow algorithm described in Yuri Boykov and Vladimir Kolmogorov "An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Computer Vision" In: Third International Workshop on Energy Minimization Methods in Computer Vision and Pattern Recognition, September 2001. This algorithm was originally developed at Siemens. There are two versions of the algorithm using different graph representations (adjacency list and forward star). The former one (which is the default) uses more than twice as much memory as the latter one but is 10-20% faster. To switch to the latter version, copy all files from the directory 'maxflow/forward_star' to the directory 'maxflow'. See maxflow/README.TXT for more details. ################################################################## 3. Compiling the program. The directory 'win' contains the project file 'match.dsw' for Visual C++ 6.0. The directory 'unix' contains a makefile for compiling it under unix; to compile it, run cd unix make (tested under SunOS 5.8 and RedHat Linux 7.0). ################################################################## 4. Running the program. Usage: Windows bin\match.exe Unix bin/match The configuration file contains a sequence of commands that the program executes. The file 'match.txt' contains a description of all possible commands. Files 'kz1.txt', 'kz2.txt' and 'bvz.txt' contain simple sequences of commands for running corresponding algorithms on the head image pair from Tsukuba University. All methods require a regularization parameter 'lambda' which should be set differently for different images. An automatic method for choosing this parameter for algorithms KZ1 and KZ2 is also supported. It is based on some heuristic for estimating noise in the images. While the default number of iterations is INFINITY (i.e., algorithms run until convergence), it is reasonable to set it to 2 or 3; results after the first two iterations are very close to final results. ################################################################## 5. Functions. The program maintains two disparity maps - one for the left image and one for the right image. They are called 'unique' if they correspond to each other: if a pixel 'p' in the left image corresponds to a pixel 'q' in the right image according to the left disparity map, then 'q' corresponds to 'p' according to the right disparity map, and vice versa. This also means that each pixel corresponds to at most one pixel in the other image. There are also pixels that do not correspond to any pixel; they are labeled as 'OCCLUDED'. Besides KZ1, KZ2 and BVZ there are other functions for manipulating disparity maps. They are: CLEAR clears disparity maps (labels all pixels as 'OCCLUDED') SWAP_IMAGES swaps left and right images MAKE_UNIQUE converts left disparity map into unique left and right disparity maps using the following techique: if several pixels in the left image are mapped to the same pixel in the right image only one of them is kept (for stereo, the leftmost pixel) CROSS_CHECK uses both left and right disparity maps for computing unique disparity maps. A disparity for a pixel 'p' in the left image is kept only if 'p' corresponds to 'q' and 'q' corresponds to 'p' FILL_OCCLUSIONS assigns to occluded pixels in the left image the disparity of the closest non-occluded left neighbor lying on the same scanline CORR computes the left disparity map using correlation algorithm with L1 or L2 distance (useful if you want to determine the range of disparities) As an example, correlation cross-checking is implemented by the following sequence of commands: CORR SWAP_IMAGES CORR SWAP_IMAGES CROSS_CHECK The initial disparity map for KZ method must be unique. If a previous function did not compute a unique disparity map, then MAKE_UNIQUE is automatically called before running KZ. ################################################################## 6. Energy for KZ1, KZ2 and BVZ. There are several parameters describing energy functions for KZ1, KZ2 and BVZ algorithms. Data term for all algorithms depends on two parameters: boolean variable 'sub_pixel' and variable 'data_cost' which can be either 'L1' or 'L2'. If variable 'sub_pixel' is set, then data term is computed as described in Stan Birchfield and Carlo Tomasi "A pixel dissimilarity measure that is insensitive to image sampling" PAMI 20(4):401-406, April *** with one distinction: intensity intervals for a pixels are computed from 4 neighbors rather than 2. For color images the data term is an average over 3 components. By default 'sub_pixel' is set and 'data_cost' is 'L2'. Other parameters are described in the file 'match.txt'. ################################################################## 7. BVZ method. BVZ method implemented here allows for pixels to have the special label 'OCCLUDED'. There is a fixed penalty for having this label. If this penalty is INFINITY then the algorithm is equivalent to the method described in the original paper. A graph construction also differs from the original publication. The paper uses auxilary nodes for implementing certain binary interactions. This implementation uses a different graph construction given in Vladimir Kolmogorov and Ramin Zabih "What Energy Functions can be Minimized via Graph Cuts?" In: European Conference on Computer Vision, May 2002. This construction is about 20% faster on Tsukuba pair than the original one.

近期下载者

相关文件


收藏者