Ask Your Question

JAyThaRevo's profile - activity

2017-09-05 03:40:52 -0600 received badge  Famous Question (source)
2015-06-05 01:19:56 -0600 received badge  Notable Question (source)
2014-11-18 01:40:50 -0600 received badge  Popular Question (source)
2014-02-01 03:03:59 -0600 commented answer Which object recognition algorithm should I use?

Hey! Me again... So I tried a lot in the past week and found out that the keypoints which are extracted from these small patches can not reliable be matched. I would get 6 keypoints from one image and 5 keypoints from the same section only one frame later. So there is a minor change. But I would only get 2 or 3 good matches. On the other hand comparing two completely different patches might gave me 6/6 good matches. So I think I have to discard this approach. I will now try a BoW, shape detection or template matching approach. What do you think?

2014-01-26 02:33:09 -0600 commented question Microprocessor board with Linux and Multithreading support ?

Whats the resolution of the 2 cameras?

2014-01-24 10:07:08 -0600 asked a question Orb parameters

Hello everyone!

I am wondering about the parameter for the orb feature detector. I am using it as keypoint extractor and descriptor. As matcher I use the BFMatcher.

At the moment I use it like this:

ORB orb(25, 1.0f, 2, 10, 0, 2, 0, 10);

Because I am looking at small images and fast performance I reduced the number of features to about 25. Which seems to still work fine with my application. And the problem start with the second parameter. Its default value is 1.2. I set it to 1 a while ago but found out that it is much fast with a higher value there. The thing is, I am starting to get this problem:

OpenCV Error: Assertion failed ((type == CV8U && dtype == CV_32S) ||dtype == CV_32F) in cv_batchDistance, file..........stat.cpp, line 2480

Then up next is the parameter for pyramid levels. Default is 8. I set it to 2 which gave me another great performance improvement. But if I set it to 1 it will throw the same error as above.

Since I am working with small pictures I tried to set it to a lower value. But it does not seem to change anything. The same applies to the last parameter (patchSize). It states that these parameters should roughly match.

I am not interested in the remaining parameters.

As I have explained in other questions already I am trying to track an object in a video. For that I am extracting for every bounding box its features and try to match it with a bounding box from the next feature. By doing this I am trying to build relationships between frames. And so far it is working well. But I need to be faster. If there are more than a handful of bounding boxes it takes too long since I want to have it real time @ 30FPS.

If anyone could help me with these parameter I'd appreciate it.

2014-01-23 17:22:40 -0600 commented question OpenCV 2.4.8 cannot load cascade

Where do you have the *.xml files? They need to be in the same location as your source files if you start it with visual studio. Stop messing around with the file path.

2014-01-23 12:14:52 -0600 commented question OpenCV 2.4.8 cannot load cascade

What does not work? Are you getting an error? If so, please share it.

2014-01-21 05:55:39 -0600 commented question 100dollars to correct a project

What kind of image processing are we talking about?

2014-01-20 18:49:55 -0600 commented answer Which object recognition algorithm should I use?

Hey man! A little heads up: https://www.youtube.com/watch?v=8Z2Ba4p83h8 I am not done yet. But thats the direction I am going. I am a little disappointed about the performance. This will never be usable for real time applications :(. What I am trying to do here: 1) Extract features for every bounding rectangle using ORB (keypoints & descriptor). 2) Try to match every descriptor with descriptors from previous frame 3) Once there have been more than 2 consecutive matches found I am using a Cascade Classifier (Haar features) for object classification (Plane Yes/No?)

So, what do you think. Does that make sense?

2014-01-19 01:21:29 -0600 commented question process specific pixels from an image
2014-01-18 03:49:19 -0600 commented answer Images and videos from tutorials

I don't know about the rest. Maybe try google?

2014-01-15 12:14:23 -0600 answered a question Images and videos from tutorials

Yes, you can find most of them in there: ...\opencv\sources\samples

Use the search function of your OS to find the exact place.

2014-01-13 07:42:06 -0600 asked a question How to evaluate if a match has been found

Ok, so what I want to know is how do I evaluate if I found a match or not.

Say we have two descriptors, they were compute by using the ORB algorithm. Then I use the BFMatcher like so:

matcher.match(descriptors1, descriptors2, matches);

What does the matches vector tell me? When did I find a match?

2014-01-12 06:54:33 -0600 commented question find object size in pixels

We need more information than that. What have you done so far? Do you have bounding rectangles? If so you can easily check the size of the bounding rectangles. Width and height are members of the rect class.

2014-01-11 04:07:35 -0600 commented question pixel change of place

Could you explain this in more detail? I do not know what you are trying to do...

2014-01-11 04:04:22 -0600 commented question how to recognize poker chips stack from a side view

Pic doesnt work. You could try to segment the chips and then do a color detection of them

2014-01-10 05:31:57 -0600 commented question Find new object in a scene

Well, if the camera is not moved within the two shots you could subtract the two images from each other which will give you what has changed. Now that you know what has changed you can apply something like object detection to the scene.

2014-01-10 05:31:30 -0600 answered a question Find new object in a scene

Well, if the camera is not moved within the two shots you could subtract the two images from each other which will give you what has changed. Now that you know what has changed you can apply something like object detection to the scene.

2014-01-10 05:23:36 -0600 received badge  Scholar (source)
2014-01-10 05:23:34 -0600 received badge  Supporter (source)
2014-01-09 18:20:44 -0600 commented answer Which object recognition algorithm should I use?

Thanks so much! So, do you suggest that I take the HOG features from frame to frame or to train the classifier. I think the latter will be rather difficult as the size and direction of the plane constantly change. Then I still have my tracking problem. I want to build something like a trace. And the trace needs to be a certain length before I want another event to be triggered (not CV related). Thanks again!

2014-01-09 18:14:53 -0600 commented answer frame size adjustment

You can't take two 320x240 and make a 640x480 out of it. If you put them next to each other you will have 640x240 or above each other you'll end up with 320x480. Lol, you need to explain in a better way what you want.

2014-01-09 18:12:37 -0600 answered a question frame size adjustment
2014-01-09 18:05:41 -0600 answered a question Installation in Windows:fail
2014-01-07 15:29:12 -0600 commented answer Which object recognition algorithm should I use?

Thanks for your answer. After a short break I back again at this problem. I think that a classifier does not suit my problem. I have video footage so you will be able to see what I poorly tried to describe: https://www.dropbox.com/s/gmjlqcnwq3tezos/sample.mp4 Since the plane will be seen from many different angles it will be a huge task to train a classifier. What do you think now after you have seen the video? Thanks again for your help!

2014-01-04 20:22:29 -0600 commented question How do I capture images from a modest video camera?

I am afraid this is not such a simple task that anyone can make this happen. You can start by reading the tutorial section. Reading frames from a camera is fairly simple!

2014-01-02 20:49:56 -0600 commented answer Which object recognition algorithm should I use?

Those are RC Planes: http://www.hobbytron.com/RCAirplanes.html But in my case its a bit more "professional" :D! Thanks for the answere! If SURF is patented how come it is implemented in an open source library? I am not planning on commercial use of the software.

2014-01-02 09:37:45 -0600 received badge  Student (source)
2014-01-02 02:18:47 -0600 answered a question Using captured .avi file instaed of webcam

In this line simply change deviceID to the name of your video file. Make sure it is in the same folder as the .exe file!

VideoCapture cap(deviceId);

to

VideoCapture cap("filename.avi");

There are many tutorials out there which explain this also!

2014-01-01 06:58:40 -0600 received badge  Editor (source)
2014-01-01 06:56:53 -0600 asked a question Which object recognition algorithm should I use?

I am pretty new to CV, so forgive my stupid questions...

What I want to do: I want to recognize a RC plane in live video (for now its only a recorded video).

What I have done so far:

  • Differences between frames
  • Convert it to grey scale
  • GaussianBlur
  • Threshold
  • findContours

Here are some example Frames: C:\fakepath\frame1.jpg C:\fakepath\frame2.jpg C:\fakepath\frame3.jpg C:\fakepath\frame4.jpg

But there are also frames with noise or other objects (birds,..), so there are more objects in the frame.

I thought I could do something like this: Use some object recognition algorithm for every contour that has been found. And compute only the feature vector for each of these bounding rectangles. Is it possible to compute SURF/SIFT/... only for a specific patch (smaller part) of the image? Since it will be important that the algorithm is capable of processing real time video I think it will only be possible if I don't look at the whole image all the time?! Or maybe decide for example if there are more than 10 bounding rectangles I check the whole image instead of every rectangle. Then I will look at the next frame and try to match my feature vector with the previous frame. That way I will be able to trace my objects. Once these objects cross the red line in the middle of the picture it will trigger another event. But that's not important here.

I need to make sure that not every object which is crossing or behind that red line is triggering that event. So there need to be at least 2 or 3 consecutive frames which contain that object and if it crosses then and only then the event should be triggered.

There are so many variations of object recognition algorithms, I am bit overwhelmed. Sift/Surf/Orb/... you get what I am saying.

Can anyone give me a hint which one I should chose or if what I am doing is even making sense?