Ask Your Question

AGalluccio's profile - activity

2016-04-20 09:32:47 -0600 received badge  Notable Question (source)
2015-12-19 13:37:16 -0600 received badge  Popular Question (source)
2014-07-06 16:35:22 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

@GillLevi. Not yet. But i try when i'll use kaze descriptor @Guanta. I'll give a look for sure in case bow (w/out colors) will not give good results. But cnn can be used with binary descriptors/extractors?

2014-07-06 06:29:48 -0600 received badge  Scholar (source)
2014-07-06 06:29:38 -0600 received badge  Supporter (source)
2014-07-06 06:28:03 -0600 answered a question BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Thx a lot to you both guys, you helped me a lot. This app will run on iphone, so i think that CNN is too much (it's like open a door with a bomb :-)). So the next steps i do, will be try to build the IOS framework with the latest version of OpenCV (3.0)(i've already read that it is not so "simply") and the try KAZE+BOW combination. If i will not have good results with this techique also, then i will "put my hands up", and i'll keep the "less worst" combination of descriptor/extractor/matcher.

I will update this post for sure, just for share my experience with all of you, but i'll do in next months (i'm programming the app in the "free" time, that is no so much).

'till then, thx a lot again for your support. Andrea

2014-06-29 14:23:01 -0600 answered a question opencv ios issues

Hi, check that <projectName>.pch file is filled in this way:

#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif

#import <Availability.h>

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

Andrea

2014-06-29 03:22:46 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi Gil, all images are of the same size (200X200) (i resize them before start matching) and in grayscale format (converted using std OpenCV method for grayscale). I never read about " Deep convulutional neural nets". are there an OpenCV implementation of such techinque? Or i have to implement it on Knn match results matrix ? Thanks Andrea

2014-06-28 15:32:56 -0600 answered a question From cv::Mat to UIImage strange problem

Hi, if you include opencv2/highgui/ios.h in your implementation file, then you can use:

UIImageToMat(image, cvImage); // Source UIImage* --> cv::Mat self.matchedImage = MatToUIImage(cvMatchedImage); // cv:Mat --> UIImage*

No method implementations are needed. I always used these methods without any problems. I'm using OpenCV version 2.4.9, Xcode 5.0, IOS 7.0

Andrea

P.s : i use these methods NOT on main thread, and they works well also.

2014-06-28 15:05:00 -0600 answered a question BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi guys, during this week i've made some other tests. The last step i've done was BOW implementation (but i stopped as soon as i read the answer of Guanta about binary descriptors & BOW). I've made some searches on BBOW (Binary Bag of word); i found some good pdfs, but not a code implementation of BBOW.

So i've change my code from BRISK+FREAK+FLANN to ORB+ORB+BFMACTHER(NORM_HAMMING) as described in this good post of stack overflow trying to have (with high hopes) better results http://stackoverflow.com/questions/9539473/opencv-orb-not-finding-matches-once-rotation-scale-invariances-are-introduced

But i have no success (sigh, sob). So i think that the best way to proceed is taking the suggestion of Guanta: download master branch of OpenCV (rel 3.0) and use KAZE+BOW I've load an image that collects all images i'm working on for find image similarities. I've grouped images that for me are similar with a border with different color (for me similar means "same subject in different photos"). http://imagizer.imageshack.us/v2/xq90/855/s8lq.jpg

The best results i got (BEFORE ORB implementation) was that the dog of set1 are correctly matched with himself, but it's matched with one photo of set2 also. And if i use ONLY the three photos of set2 and try to match between them, i never find a good match for anyone (but the subject is the same)

I have better results with images in set 3 and 4, but for the set 3 images, not all images are matched correctly (this means that one of them is not selected as similar). So the question: is KAZE+BOW the better (& only) way to proceed in order to find similar images? Or probably what i'm trying to achieve is not possible?

Thanks a lot again Andrea

2014-06-23 09:55:07 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Thanks a lot again Guanta for your kind hints and explanations. I will update this post after i've made some tests with this "bag of informations". Andrea

2014-06-22 15:57:37 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Reading this (your) post http://answers.opencv.org/question/547/using-flann-with-binary-descriptors-brieforb/ what i understand is that a "must-have" to build BOW, is have descriptors in uchar format and then compute manually the Cluster-Centers on that. I read a couple of pdf that describes how to do that but i don't understand too much (too mathematics behind for me...) Could suggest me some likes with pseudo-code of Cluster-Centers (then i will use specific language to implement that). Thanks again Andrea

2014-06-22 15:50:27 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi Guanta, thx a lot for the hint. I'm think the same thing but with AKAZE (that should be part of OpenCV 2.4.9, am i right?). And what you think about keeping BRISK+FREAK,FLANN (to keep speed and light) the convert descriptors to a float CV_32F and then in uchar (as described in this post: http://answers.opencv.org/question/17460/how-to-use-bag-of-words-example-with-brief/ ) and then use these with BOW (to train index and make the match)? Before write implementation, i would like to know what is your think on this way to proceed. I know that could be faster to implement KAZE (or AKAZE) but i read that the matching precision is not equivalent like BRISK or FREAK. Probably i understand wrong?

2014-06-22 10:35:03 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

So i understand very well that i have a problem about "classification" and the only good solution is BOW. But BOW works with float extractor (i understand) and ORB is binary (like BRISK & FREAK). Binary are more fast that float detector (i read). So probably is better use fload descriptor/extractor and use BOW. I'll do some other searches about that (i need algorithm that are not patented because i would like to develop a commercial software). Thank a lot again. I'll post my results as soon as i will able to share my experience with all of you Andrea

2014-06-22 10:28:52 -0600 commented answer BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi Guanta, you're right: are both binary (and not float - it's important to specifiy it, in order to avoid possible misunderstanding for newbies like me :-). I would like thank you also for your help. For this i would like to share with you a very vell done ppt tutorial about BOW (that i found during my long searches): http://www.micc.unifi.it/downloads/tutorial_bow/tutorial_bow_iciap13_1.pdf

2014-06-22 10:12:12 -0600 commented question BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi Gil, i've wrote a long answer to explain better the problem and answer to you & Guanta both, but the forums doesen't allow to post an answer before 48h. A very long post loosed for two times! So i post a comment instead. You're right: just one image, are better that 1000 words. So in the next days, i will modify my code to produce the matched image (with drawMatches method) to explain better the problem i have. And i would like to thank you also, for your great blogs (i suppose it's yours i.e:http://gilscvblog.wordpress.com/2013/10/04/a-tutorial-on-binary-descriptors-part-3-the-orb-descriptor/) that help me to understand better some very important concepts. Your support is very important for people like me that try to learn and understand new concepts by their own. Thx again! Andrea

2014-06-20 13:17:03 -0600 received badge  Student (source)
2014-06-20 12:42:36 -0600 received badge  Editor (source)
2014-06-20 12:33:11 -0600 asked a question BRISK+FREAK: Which Matcher and which "correct" filter logic to use

Hi Guys, I really need you help please.

Before i write this post, i've read many tutorials, mades different searches, and try to understand all the concepts involved in computer vision. I never heard about Computer Vision before, so i'm a newbie in this field.

Let's start from explain the specific problem. I would like to know how much similar two images are. I know there are a lot of posts/info/tutorials/sites about that, and i swear i've already read it all! For example i've started from these links (i think that somes of them, could be interesting for all of you):

http://answers.opencv.org/question/20400/switching-from-brisk-to-freak-descriptor-causes/

http://answers.opencv.org/question/18413/freak-or-brisk-neither-good-nor-faster-than/

http://answers.opencv.org/question/15760/object-detection-with-freak-hamming/

http://answers.opencv.org/question/11840/false-positive-in-object-detection/

http://answers.opencv.org/question/4829/how-to-filter-freakbruteforcematcher-result/

And some code Examples:

http://www.programering.com/a/MTNzAzMwATc.html

https://github.com/rghunter/BRISK/blob/master/src/demo.cpp

http://find-object.googlecode.com/svn/trunk/find_object/example/main.cpp

https://github.com/kikohs/freak/blob/master/demo/freak_demo.cpp

Specifically: I have a photo of a dog: first photo is only the face of the dog, the second one is the same dog but laied on a green field. For me, the images are similar (is the same dog).

Then i have a photo with another dog face. It's a different dog, and i would like to filter this photo like "no similar" (before answer "use BOW", please continues in reading).

The OpenCV release is the last (2.4.9)

I need help on SPECIFIC combinations of descriptor/extractor/matcher: I use BRISK as detector (because it's light and free) I use FREAK as descriptor (becuse it's light - more than BRISK descriptor, because it's free and because it's a float descriptor like BRISK).

I've read that other good combinations are: ORB+ORB & BRISK+BRISK (I've never tried the first combination, but the second it's slow than BRISK+FREAK)

Then i tried different kind of matchers: - BFMatcher (with CrossCheck = true (and no filter logic) & CrossCheck = false + filter logic) - Flann Matcher

For the first one (BF) i've try both match & knnMatch methods For the second one i've try only knnMatch method with different filter logic.

The problems is that different filter logics "sometimes" not works for all combinations of this photoset of two dogs. For example: one filter logic works good to find the same dog in photos, but doesen't works if i try to match the face of the first dog with the second one (there are two differen dogs!).

What i understand (or what i thik i've understand) is that for each detector there is a "better" matcher (BF/Flann). And for each matcher (used with previous combination) there is only ONE "good way" to detect the right match from the knnMatch method.

So the question: which matcher i should use with ... (more)