Blob detection and tracking - first test
Click Here for the first test of my blob detection code in action. Notice it picks up some noise towards the end - this should be fixed when I add some adaptive background removal. Additionally there are some threshold levels that can be played with that affect the detection. Overall it works well - we'll need some more complicated tests like Jeff does on his presentations - like multiple fingers from each hand moving near each other. Those are the harder cases to resolve. Thanks again for the test video, futnuh.


25 Comments:
Hmm, running your code from a terminal prompt, I get
$ ./camera.exe
8 , 1ERROR: frame is null...
There's an 8-second delay between the "8 , 1" and the "ERROR..." statement.
I, like you, stumbled on Jeff Han's research and immediately was fired up about it. I am starting to make a screen of my own, and I have been looking at writing control software. I would be interested in collaborating with you, if you would like the help.
I have noticed that there are two different blob systems within the OpenCV project - the blob extraction library, and blob tracking system (which is a part of the video surveilance library in cvaux) - which are you using? The latter seems to be more structured toward what we would want to create (it provides a framework for extraction, tracking, and trajectory generation).
btw, futnuh: From looking at the OpenCV samples the past couple of days, that message just indicates that there are no more frames (the video has ended). It is just an error message from the samples that breaks out of the processing loop.
Hmm that's odd futnuh - it should open up a window showing the AVI. The 8 seconds is probably the time it takes for the AVI to play. It says error frame is null when it's done. Anyway, it could be some bug in my code. I'll take a look at things.
@hebnern, that crossed my mind. I suspect that the program is opening up windows off-screen on my non-existent 2nd monitor.
@David, do you mind if give Hebnern svn write access?
Hebnern: Cool, it's always good to meet other people who are interested in it. Right now I'm using neither library since CVBlobLib didn't work quite like I wanted - it uses some kind of laplacian transform which is really overkill, plus it acts wierd when a blob is at the edge of the image. My own routines are shaping up and I'm confident that they'll be usable without too much more work.
Nope, I don't mind
No need to check your could; the window was just off-screen. I can see it now. Nice job David - it looks really good. Those spurious signals on the left can probably be filtered out by their small area, no? Do they persist beyond a single frame?
@hebnern, if you'd like svn write access, just send an email and preferred password to darran at edmstudio dot com.
David, re your original post, I'll put together some more test cases at the office tomorrow. Anything in particular you'd like besides the two fingers close to each other?
That noise looks like it is partially background and partially from the slight image of the hand. Is that with or without a diffuser on the back of the screen? I assume that it is without, and I believe that Jeff said that the diffuser helped filter some of the noise from the other side, so adding one should help a bit.
The signals on the left are caused by your hand in the video. They might be able to be filtered out either using size or their intensity. Do you have any baffling around the edges around your LED's as described in the Han paper? I suspect that it's just spillover from the LED's.
futnuh: I sent you an email.
svn is all configured. I sent an email to the hotmail address that David gave back on the makezine blog. Daved, feel free to create a few directories for src, lib, bin, build, tests, docs, etc. Looking forward to compiling your stuff and starting to iterate ...
do you guys want to set up an irc channel or something where we could communicate more easily?
Cool, I will check it out and put my stuff up soon. I need to give myself a quick lesson on Subversion first, since I've never used it before.
If you're going to do another test AVI, I would try using all 5 fingers on a hand and swishing around a bit and just whatever crazy stuff you can think of (both hands, etc).
hebnern: Yeah, I wouldn't mind doing that. I usually hang out on efnet and freenode. Take your pick.
David: Either will work, doesnt matter to me.
Ok well lets make it #ftir on irc.freenode.net
alright, see you there
Here's an image of our prototype screen. As you can see we've got plenty of baffling underneath, but only small strips of electrical tape on the front side. A complete baffle might reduce the glow from my hand. Otherwise, I agree, the diffuser will probably help a lot. Additionally, a serious blur of the input video prior to thresholding is a good idea.
looks great.. nice stand too. How many LED's are you using BTW?
I got the code put up in the SVN. There are a few things I am planning to re-factor to make this more usable as a library and to make it pluggable with different image and graphics libraries. Lemme know if it compiles ok.
Hey,
I´ve build a multitouch table,while i am writing the
software control,i select the blobtrack module of opencv, based on it i make some changes
unfortunately,although it makes some effect by raise the speed while processing the avi file
however while processing the camera,it is rather slow.
through your blog,i found your test1.zip(camera.exe) with a very amazing cool result.Could you give me an access to your copy of ource code?
much thanks to you!!
Please see
http://www.nuigroup.com/touchlib
I have to build a project on video surveillance. i have a small video, have to do background subtraction, do foreground segmentation to get blobs, and then later track them using blobs. Can anyone help me like where to find code helpful in building this project
please let me know at momairalam@gmail.com
Post a Comment
<< Home