Feature matching based image search application development
I am trying to build a real time content based image search application. I have designed an algorithm for key point detection and feature vector description in a given image. I used FLANN, available in opencv, to find the based k-point matches between two images, and hence i am able to define a similarity value between two images. Now, i want to create a web based interface where a user can upload an image and can get the similar images from a database of images.
This requires to extract the feature vectors of query image and compare it with the feature vectors of all the images in database and return the N-most similar images.
My current implementation of feature extraction and feature matching of a single pair of image takes nearly 4-5 seconds. Please suggest me the working pipeline to create such application also please suggest if there is already an opensource library(like SOLAR search engine) which facilitates the feature (fixed length vector) indexing of images in a given database and compare them with a queried image feature vector using FLANN or other feature matching algorithm in real time.
PS: This might be broad question to ask here in this community. I have already searched on google(any image search engine like google image search itself) but did not get a complete working pipeline my problem.
image-processing google-image-search
add a comment |
I am trying to build a real time content based image search application. I have designed an algorithm for key point detection and feature vector description in a given image. I used FLANN, available in opencv, to find the based k-point matches between two images, and hence i am able to define a similarity value between two images. Now, i want to create a web based interface where a user can upload an image and can get the similar images from a database of images.
This requires to extract the feature vectors of query image and compare it with the feature vectors of all the images in database and return the N-most similar images.
My current implementation of feature extraction and feature matching of a single pair of image takes nearly 4-5 seconds. Please suggest me the working pipeline to create such application also please suggest if there is already an opensource library(like SOLAR search engine) which facilitates the feature (fixed length vector) indexing of images in a given database and compare them with a queried image feature vector using FLANN or other feature matching algorithm in real time.
PS: This might be broad question to ask here in this community. I have already searched on google(any image search engine like google image search itself) but did not get a complete working pipeline my problem.
image-processing google-image-search
1
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17
add a comment |
I am trying to build a real time content based image search application. I have designed an algorithm for key point detection and feature vector description in a given image. I used FLANN, available in opencv, to find the based k-point matches between two images, and hence i am able to define a similarity value between two images. Now, i want to create a web based interface where a user can upload an image and can get the similar images from a database of images.
This requires to extract the feature vectors of query image and compare it with the feature vectors of all the images in database and return the N-most similar images.
My current implementation of feature extraction and feature matching of a single pair of image takes nearly 4-5 seconds. Please suggest me the working pipeline to create such application also please suggest if there is already an opensource library(like SOLAR search engine) which facilitates the feature (fixed length vector) indexing of images in a given database and compare them with a queried image feature vector using FLANN or other feature matching algorithm in real time.
PS: This might be broad question to ask here in this community. I have already searched on google(any image search engine like google image search itself) but did not get a complete working pipeline my problem.
image-processing google-image-search
I am trying to build a real time content based image search application. I have designed an algorithm for key point detection and feature vector description in a given image. I used FLANN, available in opencv, to find the based k-point matches between two images, and hence i am able to define a similarity value between two images. Now, i want to create a web based interface where a user can upload an image and can get the similar images from a database of images.
This requires to extract the feature vectors of query image and compare it with the feature vectors of all the images in database and return the N-most similar images.
My current implementation of feature extraction and feature matching of a single pair of image takes nearly 4-5 seconds. Please suggest me the working pipeline to create such application also please suggest if there is already an opensource library(like SOLAR search engine) which facilitates the feature (fixed length vector) indexing of images in a given database and compare them with a queried image feature vector using FLANN or other feature matching algorithm in real time.
PS: This might be broad question to ask here in this community. I have already searched on google(any image search engine like google image search itself) but did not get a complete working pipeline my problem.
image-processing google-image-search
image-processing google-image-search
asked Nov 14 '18 at 12:16
flameliteflamelite
9081623
9081623
1
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17
add a comment |
1
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17
1
1
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300047%2ffeature-matching-based-image-search-application-development%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300047%2ffeature-matching-based-image-search-application-development%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
instead of storing images in database, save features of these images in your database. When you have query image you just need to compute features of query image and then compare it with computed features of all other images.
– user8190410
Nov 14 '18 at 15:02
@user8190410 thank you for the suggestion. This will reduce the feature extraction step for each image. But still my question remains, how can we perform the feature matching( using FLANN) step in real time? Is there any way to index the feature vectors( say 1M image feature vectors) and compare them with query image feature vector in real time.
– flamelite
Nov 14 '18 at 15:46
If this is about similarity measures for feature vectors, this answer may help you out.
– T A
Nov 15 '18 at 8:17