PDA

View Full Version : OpenTLD "Predator" Tracking Software



parallax
04-16-2011, 09:23 AM
I wanted to turn the Trossen community on to this:


http://www.youtube.com/watch?v=1GhNXHCQGsM

More information can be found at the homepage: http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html

It's free and totally open source. Currently, it requires MATLAB, OpenCV 2.2 and Windows to run, but the community is working on porting it to Mac and Linux as well as removing it's dependence on MATLAB (a.k.a. porting it completely to C/C++).

This is one to watch (pun intended) ;)

billyzelsnack
04-16-2011, 11:11 AM
Very impressive.

mannyr7
04-16-2011, 12:34 PM
Amazing!

Pi Robot
04-17-2011, 10:38 PM
Has anyone gotten the Windows precompiled demo to work with a webcam? I've tried it with both a Logitech 9000 and a Philips 1300SPC, both of which work fine with RoboRealm and even after setting the format to RGB24_320x240 in the initcamera.m file, I dont' get a live video image in the "Figure 1" and "Figure 2" windows that pop up. Instead, both windows disappear after a few seconds and I get the following error in the log.txt file:


{??? Error using ==> imaqdevice.getsnapshot at 65
A timeout occurred during GETSNAPSHOT.

Error in ==> img_get at 4
Error in ==> tmdInitBbox at 3
Error in ==> tmdGo at 28
Error in ==> go at 49

}
imaq:getsnapshot:timeout--patrick

Pi Robot
04-17-2011, 10:44 PM
Oops. Never mind--I found that I had to set the camera index to 2 instead of the default 1 in the initcamera.m file. Now it works fine.

--patrick

4mem8
04-18-2011, 01:06 AM
This is pretty amazing stuff love your work parallax.

parallax
04-18-2011, 10:04 AM
I really wish I could take credit for this 4mem8 but it's not my work :) I just wanted to pass it on to the community. I'm working with a really talented and well connected group of people right now, and whenever they share something new with me I'll try to send it along this way.

The algorithm is pretty amazing. It represents the state of the art with computer vision. Given the fact that it's open source... Wow! :D ~ One of the things I really like about it is its ability to compensate for changes in global illumination. Most other tracking algorithms have a really hard time with this.

The one real weakness with it is that it's susceptible to "learning drift." Basically what that means is over time, it can accidentally learn wrong aspects of the object it is tracking, and as a result can become less accurate. But that's only a really possibility with too large of a data set.

Anyway, it's great to have you back! I look forward to seeing your amazing craftsmanship and attention to detail in your projects!

4mem8
04-18-2011, 01:58 PM
Thank you parallax i appreciate that, i love to build, the problem is i have so many bots i just need to learn programming lol. im a builder [models] by nature and comes second nature to me but programming dosnt lol and at my age its hard for it to sink in, but i get enjoyment from building them . and others love to see what i do so that is reward in its self. :-)

jackal5671
07-12-2011, 10:05 PM
I wanted to turn the Trossen community on to this:


http://www.youtube.com/watch?v=1GhNXHCQGsM

More information can be found at the homepage: http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html

It's free and totally open source. Currently, it requires P90X Reviews (http://jonspicks.com/p90x-reviews/),MATLAB, OpenCV 2.2 and Windows to run, but the community is working on porting it to Mac and Linux as well as removing it's dependence on MATLAB (a.k.a. porting it completely to C/C++).

This is one to watch (pun intended) ;)

Great share. I think it's insane how far technology has come. A few years ago none of this stuff would have been possible.

jhankar
09-17-2011, 08:58 AM
Does anyone know how to edit these matlab and which .m file to edit , to make the resulting tracking in rgb format. Currently when you run run_TLD.m it displays your tracking results in grayscale format.

Thanks
Shahab
shahabhameed.blogspot.com

parallax
09-17-2011, 09:21 AM
Ideally you would edit ".m" files in MATLAB, but you can also just open them in a text editor as well (such as Notepad or Nano depending on your flavor of OS). Opening them in MATLAB will give you access to the function browser, which will make editing them much easier. It might also give you a hint as to where you need to look to change the format of the output image.

In terms of changing the format from greyscale to something else, I don't know enough about the algorithm altogether to give you good advice about it. My initial thought is that greyscale format is used to increase performance, so it may not be desirable to change it to something else. However, you may be able to get more information about that from the Predator mailing list. There is an active community of people using this as well as a group of programmers trying to remove the dependency on MATLAB to make this more accessible. They would probably be able to answer that question in detail for you.

Sorry I can't be more helpful!

jhankar
09-17-2011, 11:05 AM
Well if you see the youtube video , you will see Znedek Kalal is giving his demo in real-time in RGB mode. But the example I run tracks the video in grayscale mode. I've been searching through .m files if i could change it from grayscale to rgb but i haven't been able to . Let me go through the mailing list of OpenTLD , maybe I'll find something helpful there. Thanks for the help.
I'll post the solution here , when i find it. :)

Regards,
Shahab

jhankar
09-18-2011, 11:08 AM
Yah the solution was in the .m files. Thanks for pointing it out. I am now trying to port this matlab code in java . See my first prototype at www.bit.ly/shahab-vision

tianshiz
10-04-2011, 04:58 PM
for those of you who used the software, do you know what the template limit is? If I train say 1000 different objects, will opentld be unable to handle it? Also, I haven't really seen any videos of opentld dealing with more than one object at once. I know it can only track one object at a time, but what if I have two objects in the video, both already trained. Which one gets tracked? How would one alternate between the tracking of those objects?

Is this considered an object tracker only? And not an object recognition system? I'm slightly confused about this.
For my applications, I'm fine with tracking/detecting one object at a time, but only if I have the option of switching over to track another object.
For example, in a Haar-like feature setup:
1. I have a cup and a book trained using several positive and negatives
2. Starting up my Haar recognition software, the software picks up both the cup and the book and highlights them with the correct labels

Ideally what I think/hope/wish that OpenTLD does is:
1. Using compiled exe, bound cup in video, track and learn
2.next bound book in video, track and learn
3. In a video feed with both the book and cup, I tell the program to tell me all the objects that it can detect in the live video feed.
4. program tells me that it detects cup and book and gives me option to track one of them

Is this feasible?