Ask Your Question

Petty's profile - activity

2015-05-11 04:23:59 -0600 received badge  Teacher (source)
2015-04-22 23:05:41 -0600 received badge  Necromancer (source)
2015-02-02 11:24:57 -0600 answered a question Multi Object detection and tracking: application to rolling stones in rivers

If you can add more trackers and then fuse them/weight them in some way (Flock of Trackers), then you typically don't ever get worse by adding in a new algorithm.

The TLD algorithm in OpenCV contrib crashes for me regularly enough that I don't like using it. I've had great luck with the MILTracker, very robust, but it doesn't handle occlusions well at all. There's a Local Global Tracker (LGT) that I've heard people have good success with and is reasonably stable. The trackers in the contrib module and very simple to get up and running, so give it a shot!

2015-02-02 11:15:55 -0600 answered a question Best method to detect hematoma from white skin

Throw away areas that are only a couple of pixels in size. Even if it is the right color and on skin, I don't think that just a couple of pixels (something the size of a freckle) is what you're looking for, right?

2015-01-28 11:31:45 -0600 commented question How to speed up TLD tracker in opencv 3 with contrib modules ?

+StevePuttermans -- I'm also a bit interested in that 75%/25% technique that you mentioned. I haven't seen it in any of the samples and 15+ minutes of googling hasn't really turned much up. If you could justp oint me in the right direction, I'd love to learn it a bit more. As far as I can tell, you're saying that we should overlay the tracker with something like a Kalman filter, and use the predict feature of that filter most of the time, and just update the tracker at whatever rate we can handle real time (and around 25% is a good rule of thumb)? If that's the case, then I understand it. But if there's something else, some other general principle I could look at, that would be interesting.

2015-01-20 00:58:21 -0600 answered a question Tracking of object not accurate enough

There are a lot of different ways to attack this problem (as you've found out!). As gfx suggested, you could look at the hierarchies, which give you some extra information about the contours. Running some type of feature descriptor might also help (I imagine that dark shaded area will have less features in them than the actual fish).

I don't see any Regions of Interest filtering going on there -- where you only look for the target near where the last one was. It really cuts down on false positives and processing time. If it's not found, then you can iteratively lower thresholds and expand the ROI until you find the object.

If you want to look at some more pre-baked solutions, CamShift and Meanshift might provide all you need, as well as running a feature description and then applying homography.

I've had good luck with the MILTracker in the OpenCV contrib repository. They have a tracker interface there are quite a few different algorithms. If you compile OpenCV with that added in, you have a nice consistent API where you can pretty simply plug and play various trackers as well as write your own that conform.....that's only if you need to get pretty fancy though.

2014-12-08 23:02:19 -0600 answered a question How do you use OpenCV TLD from Python?

Grab the "contrib" repository and follow the instructions on how to add it to your build.

2014-12-08 23:01:34 -0600 answered a question TLD Tracker (aka Predator)

You can get it now by pulling in the contrib repository and building it. I just pulled in the tracking project and ahd it built. The TLD algorithm routinely crashed on me, and wasn't as good as all o the online videos show (don't know if it was overtuned, or the OpenCV implementation could use some polish).

I found the MILTrack algorithm in the contrib branch to be phenomenal though. Quite good.

2014-12-02 16:32:48 -0600 answered a question 3.0-dev for iOS

IT's in the opencv_contrib framework. I expected the tracking API to get merged in 3.0, but it's not the case. Bring in the contrib files using the instructions listed there, and you'll get it built in. Don't know why it's in the 3.0 documentation when it hasn't been merged into the mainline dev branch yet.