SURF algorithm using the speckle pattern splicing

Disclaimer: This article is a blogger original article, shall not be reproduced without the bloggers allowed. https://blog.csdn.net/qq_33810188/article/details/83350689

Recently speckle project requires a partial view of two cameras assembled into a complete speckle pattern, and matching feature points Laid stitching algorithm records actually used in the project as follows, to facilitate later retrieval.

----------------------------------------------------

The basic concept :

To mosaic images, first image feature matching (correspondence relationship between the images found), and to an image feature matching, first detecting image feature, the entire process may be represented as: image feature detection -> image feature matching -> image stitching

Currently there are critical feature detection point detection, edge detection, line detection, the block detection. Since the speckle pattern characteristic midpoint more obvious, especially as the image feature points to the key detection target.

Mainstream feature detection algorithm in the following categories:

1.SIFT

Scale-Invariant Feature Transform scale invariant feature transformation. The algorithm includes a projection invariance (European Invariance, Scale Invariance ...), and can better against noise and occlusion on, feature point detection with high accuracy, but the algorithm is more complicated, than the processing speed slow.

2.SURF

Speed ​​Up Robust Feature accelerate robust features. SURF is an upgraded version of SIFT, SIFT mainly to solve the shortcomings of slow.

3.FAST

Feature from Accelerated Segment Test accelerated get split testing feature. The only feature point detection algorithm, without referring to the features described, and do not have the invariance Continental Scale Invariance, but speed of detection of the super fast algorithm (deserved reputation!)

4.ORB

BRIEF FAST + BRIEF Oriented is a combination thereof, and detecting binding of FAST BRIEF descriptor features, with high precision and efficiency feature extraction! Along with rotational invariance (BRIEF characteristics), and not sensitive to noise, but does not have any course Scale Invariance!

5.Harris

Is widely corner point extraction algorithm, a gradient is calculated by the image, the image corner detection convolutional thought.

There HOG, Haar, LBP other feature detection algorithm.

----------------------------------------------------

Source image :

----------------------------------------------------

Matching effect :

Combined with speckle pattern characteristics, and consider online real-time matching requirements, most began to consider a series of processes using the ORB speckle patterns, but found that its implementation does not work well in actual operation (perhaps the algorithm itself haste makes waste perhaps I parameter setting unreasonable!), the last and decisive use of SURF algorithm, after the actual speckle pattern matching test, found that the effect is obvious algorithm to meet the actual requirements!

The following are two speckle pattern (two industrial cameras and taken after obtaining the area 300 * 400) for matching splicing:

SURF algorithm using the matching results is as follows:

As can be seen in FIG matching effect, a good effect of 10 pairs of matching points in FIG. Incidentally, the larger the number of matching points, and contains large amounts of error matching points to pick the minimum Hamming distance values ​​from the first 10 most matchPoints final data matching points. Speckle pattern mosaic for the back, which can be used to calculate the 10-point matching splicing parameters. Different samples tested, the effect of matching in this manner is very stable, for subsequent splicing.

----------------------------------------------------

Mosaic effect :

Splicing good results, do not see the result (the position of the right 1/3 of the splice in the central region of the dark) following the two speckle image mosaic.

Incidentally, the central region of the speckle pattern matching employed (full image matching efficiency is low!), Then the central region of the matching is successful, the matching point using the perspective transformation matrix about the establishment of the speckle pattern, a right speckle image after the correction and connecting the left speckle images to the left of the right image after correction.

SURF algorithm using 2048 * 2448 mosaic of two images, the algorithm takes control within 1s of! The whole splicing process high precision, efficiency is also good, the algorithm Lupine subsequent tests, in order to meet the actual needs of the project.

----------------------------------------------------

Function Description :

SURF algorithm uses OpenCV library functions, notably the following:

Feature point detection categories:

cv :: SurfFeatureDetector

Feature descriptor categories:

cv :: SurfDescriptorExtractor

Feature point matching:

cv :: FlannBasedMatcher

Finally, the former focused on the selection of 10 matching points, and the rest of the points to be deleted match point!

Effect feature point matching function:

cv :: drawMatches ()

Perspective transformation function:

cv::warPerspective( )

----------------------------------------------------

20,181,030 increase:

For there are still outstanding match point matching error, it can be avoided in the following manner:

1. Hamming distance strict control;

2. The slope of the matching points connecting strict control;

----------------------------------------------------

----------------------------------------------------

 

 

 

 

 

Guess you like

Origin blog.csdn.net/qq_33810188/article/details/83350689