Image Mosaic sift data collection

Source: Internet
Author: User

http://blog.csdn.net/stellar0/article/details/8741780

Classification:

Recently also pay attention to some image splicing articles, many many, especially the Panorama mosaic, in fact, similar to the Canon camera attached software, a lot of panoramic view mosaic, multi-image automatic software implementation splicing, composition (synthesis) a panoramic image (landscape).
Sift algorithm, I knows, unable to carefully describe (just also posted 2 recent information).
When it came to scale space, I thought that its multi-resolution analysis of Computer vision (computer vision) \ Images (especially in recent years, multiresolution analysis of wavelets) was a common concept.
Human visual capture of the scene, the first rough (rough), after the details (fine) habits, was studied the use of image vision. 2 point sampling using the case, the overall image is continuously divided by 1/2 sides, different images (matrices) constitute a different resolution of the scale space (we understand the different levels of the matrix), scale, scales, here represents the different spatial proportions.

I noticed David Lowe about the Sfit algorithm, published in INT in 2004. Journal of Computer Vision's classic paper, The scale space (scal spaces) is defined as:
It has been shown by Koenderink (1984) and Lindeberg (1994) that under a variety of
Reasonable assumptions the only possible scale-space kernel are the Gaussian function.Therefore,
The scale spaces of an image are defined as a function, L (x; y; delta) that's produced from the convolution of a variable-s Cale Gaussian, G (x; y; delta), with an input image, I (x; y):

Thus, the scale space of an image, L (X,y,delta), is defined as the original image I (x, y) and a variable scale 2 Gaussian function g (x,y,delta) convolution operation.

Regarding the spatial domain convolution operation in image processing, we can refer to the classic image processing textbook (such as the image processing of us Gonzalez, the second edition, or its MATLAB version, there are examples and explanations of how to operate in discrete space).

Note: The delta in the original is the Greek alphabet, which cannot be represented by the delta instead.

In the SIFT algorithm, the scale space is mentioned, what is the scale and scale space?

On the basis of the above understanding, the scale is controlled by the delta parameter.
and the different L (X,y,delta) constitutes a scale space (spaces, I understand, because of the description of the image, the general use of continuous function to better describe the formula, so, the use of spatial set, the concept of space is normal), in fact, when the specific calculation, even if the continuous Gaussian function, are separated into (usually odd-sized) (2*k+1) * (2*k+1) matrices to perform convolution operations with digital images.

1. SIFT algorithm proposed and its improvement

The SIFT algorithm was put forward by D.g.lowe 1999 and summarized in 2004. Representative literature

[1] David G. Lowe, "Object recognition from the local scale-invariant features,"International Conference on computer Vision, CORFU, Greece (September 1999), pp.1150-1157.

[2] David G. Lowe, "distinctive image features from Scale-invariant keypoints,"international Journal of Compu Ter Vision, 2 (2004), pp. 91-110.

The specific MATLAB code in the

http://www.cs.ubc.ca/~lowe/keypoints/can be downloaded.

Rob Hess has written a C language program based on GSL and OpenCV. The specific code can be

Http://web.engr.oregonstate.edu/~hess/index.html in the vc++.net environment, you should pay attention to the correct configuration of GSL and OpenCV when debugging.

Later y.ke the description of the sub-section using PCA to replace the histogram of the way it was improved.

[3] Y. Ke and R. Sukthankar. pca-sift:a more distinctive representation for Local Image descriptors. Computer Vision and Pattern recognition, 2004

Yanke ' s homepage:

http://www.andrew.cmu.edu/user/yke/

2. Main idea of SIFT algorithm

Sift algorithm is an algorithm for extracting local features, searching for extreme points in scale space, extracting position, scale and rotation invariants.

3, the main features of SIFT algorithm:

A) Sift feature is a local feature of the image, its rotation, scale scaling, brightness changes remain invariant to the perspective change, affine transformation, noise also maintain a certain degree of stability.

b) Uniqueness (distinctiveness) is good, informative, suitable for fast and accurate matching in the massive feature database [23].

c) Multi-volume, even if a few objects can also produce a large number of sift eigenvector.

d) high-speed, optimized sift matching algorithm can even achieve real-time requirements.

e) extensibility, which can be easily combined with other forms of eigenvectors.

4. Sift algorithm steps:

1) Detecting the extreme point of scale space

2) precise positioning of extreme points

3) Specify direction parameters for each key point

4) generation of key-point descriptors

Introduction to the SIFT algorithm see: SIFT algorithm learning little Memory

In front of a friend asked the SIFT feature point extraction method, here is a brief introduction.

As a local descriptor operator with strong matching ability, the implementation of SIFT algorithm is quite complex, but from the point of view of software development, it is possible to use some of the more important functions. Here to thank David Lowe this Daniel, not only provides a strong feature matching algorithm, the implementation of C + + code, and then someone in C # implementation of the algorithm, the need for friends to download on-line.

Key function One:

int sift_features (iplimage* img, struct feature** feat)

This function is used to extract the feature vectors in the image. The parameter img is a pointer to the Iplimage data type that represents the image that needs to be extracted by the feature. Iplimage is the basic type of image defined by the OpenCV library (about OpenCV is a well-known image processing Class library, detailed introduction can be found in http://www.opencv.org.cn). The parameter feat is an array pointer used to store the image's eigenvector. The function call succeeds returns the number of eigenvectors, otherwise returns-1.

Key function Two:

int _sift_features (iplimage* img, struct feature** feat, int intvls,double sigma, double contr_thr, int curv_thr, int img _DBL, int descr_width, int descr_hist_bins)

This function is an overload of function one, the function is the same, in fact, the function is only a default parameter calls the function two, the core code is implemented in the function two. A few other parameters are described in more detail below.

INTVLS: The number of sample intervals per scale space, with a default value of 3.

Sigma: The number of Gaussian smoothing, the default value of 1.6.

CONTR_THR: Determine whether the feature point is stable, the value (0,1), the default is 0.04, the larger the value, the more the feature points are removed.

CURV_THR: Determines whether the feature point is an edge point and defaults to 6.

IMG_DBL: If the image is magnified 1 time times before the scale space is established, the value is 1, otherwise 0.

Descr_width: Calculates a feature that describes the width of the Fushing domain sub-block, which defaults to 4.

Descr_hist_bins: The number of directions in which the feature descriptor's neighbors are projected when calculating the feature descriptors, the default being 8, 0,45,90,135,180,215,270,315 a total of 8 directions respectively.

If you just do feature extraction, the above function is sufficient, the matching between the different images are based on this basis, if you have strong enough programming ability even if you do not understand the algorithm can write a decent program, because the following is the comparison of the data structure, and the algorithm has not much relationship. If you want to know more about the algorithm, look at the paper and the code carefully.

, Ubc:david LOWE---the founder of Sift algorithm, two great classic classic articles

2, Cmu:yanke---pcasift, summarize the sift aspects of the article so full, giant classic

3, Ubc:mbrown---Sift algorithm for the classic application of image stitching Autopano-sift, including a siftlib library

4, Toronto:jepson---Matlab SIFT tutorial, super Super Super Classic ~

5, Ucla:vedaldi---a doctoral student of the University of California, Sift,matlab, C, have, but no use

6, a small splicing software Ptasmblr

A few about the sift of the algorithm link URLs, later to develop such a good habit of keeping information at any time! Otherwise I do not know how much time to spend to find, the most important thing is to affect the mood.

SIFT key point detection and matching algorithm, this algorithm has good performance in image matching.

Compared to the original Harris point matching method has a high accuracy of the registration, but the algorithm is slower

SIFT KeyPoint Detector

This page provides access to a demo version of david lowe ' s sift keypoint detector in the form of compiled binaries  That can run under linux or windows. the demo software uses  pgm format for image input. it can output keypoints and  all information needed for matching them to a file in  A simple ascii format. a matlab program and sample c code  are provided that can read the keypoints and match them  between images. 

The image on the right shows a example of matching produced by the demo software. Features is extracted from each of the images, and lines is drawn between Features that has close matches. In this example, many matches is found and only a small fraction is incorrect.

This software was provided for the purposes only, and a license must was obtained from the University of British Columb IA for commercial applications. See the LICENSE file provided with the software.

The program can is accessed from the following link in the form of a ZIP file containing the compiled binaries and demo co De. To unpack, use "Unzip Siftdemov4.zip" from Linux or a unzip utility in Windows. The code comes with a file README giving full details.

SIFT Demo Program (Version 4, July 2005)

release historyversion 4  (july 2005)  There is now a Windows  Binary as well as one for linux. the matlab scripts have  been improved and include code for matching keypoints between  images. Version 3  (august 2004)  This fixes a bug in  The displayed orientation of arrows drawn for each keypoint when  using the  "-display"  option. this affects only arrow display  and not the keypoint features themselves  (thanks to yannik  Fournier, tom stepleton, and rob sim for identifying the bug).  in addition, a matlab program is now provided for running  the binary anD loading the keypoints into matlab when running under linux   (thanks to d. alvaro and j.j. guerrero for the matlab  Program) . version 2  (september 2003)  Fixes a bug in Version  1 of the sample code for doing matching  (not the keypoints  themselves)  that incorrectly declared  "Unsigned char"  as  "char"   (thanks to yongqin xiao and suresh lodha for their assistance  in reporting this bug).  this new version now finds more  correct matches. The new version also contains more test  data and raises the matching threshold. version 1  (June 2003)  initial demo reLease. related papers

The most complete and up-to-date reference for the SIFT feature detector are given in the following journal paper:

David G. Lowe, "distinctive image features from Scale-invariant keypoints," International Journal of computer Vision, 2 (2004), pp. 91-110. [PDF]

The SIFT approach to invariant KeyPoint detection is first described in the following ICCV 1999 conference paper, which a LSO gives some more information on the applications to object recognition:

David G. Lowe, "Object recognition from the local scale-invariant features," International Conference on computer Vision, CORFU, Greece (September 1999), pp. 1150-1157. [PDF];

The following paper gives methods for performing 3D object recognition by interpolating between 2D views. It also provides a probabilistic model for verification of recognition.

David G. Lowe, "Local feature view clustering for 3D object recognition," IEEE Conference on computer Vision and Pattern recognition,Kau

Image Mosaic sift data collection

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.