Robust Line Segment Matching across Views via Ranking the Line-Point Graph (GLSM)
● Abstract
Line segment matching in two or multiple views is helpful to 3D reconstruction and pattern recognition. To fully utilize the geometry constraint of different features for line segment matching, a novel graph-based algorithm denoted as GLSM (Graph-based Line Segment Matching) is proposed in this paper, which includes: (1) the employment of three geometry types, i.e., homography, epipolar, and trifocal tensor, to constrain line and point candidates across views; (2) the method of unifying different geometry constraints into a line-point association graph for two or multiple views; and (3) a set of procedures for ranking, assigning, and clustering with the line-point association graph. The experimental results indicate that GLSM can obtain sufficient matches with a satisfactory accuracy in both two and multiple views. Moreover, GLSM can be employed with large image datasets.
● Implementation
+ Before running the program, you need to create four folders:
(1) "cameras" contains the camera matrix;
(2) "images" contains the images;
(3) "process" contains a "task.txt" to give the stereos;
(4) an empty folder named "visual"
You can refer to the "example" folder for details.
+ The implementation of GLSM runs successfully in MATLAB R2014 with WIN10 system and VS2010.
+ One need to run the four MATLAB scripts for the giving dataset. They are
"A_Load_Data.m",
"B_Construct_Graph.m",
"C_BigRRWM",
and "D_cluster".
+ After running "C_BigRRWM.m", you can use "Draw_Match_4_Stereo.m" to draw the match results for the
specific stereo.
+. After running "D_cluster.m", the 3D line segments are saved in "visual\D3lines.obj"
(This little maneuver may cost us several days for large datasets and I am
trying to improve it.)