[jitter] More motion tracking!!
yair reshef
yair99 at gmail.com
Mon Oct 1 13:57:33 MDT 2007
- Previous message: [jitter] More motion tracking!!
- Next message: [jitter] More motion tracking!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/1/07, Tarik <tarikbarri at hotmail.com> wrote: > > > Yes, also I am hopping on board the train called motion tracking. > > I've been fooling around with then cv.jit objects for a little while know > but don't really know how to solve this problem: > > I want to write a patch which registers moving objects of any color > (people filmed from above) against any background. So I calculate the > difference between consecutive frames. > > Great, so now I've got moving people walking around as trackable blobs. > But there are 2 problems: > > The computer forgets about them as soon as they stop moving (they > "dissapear" because the computer only sees movement): I want the computer to > remember them until they start moving again. try using a jit.slide with fast up_slide and slow slide_down, ifind its easier to work with then a other methods. it will "swallow" obejcts that stand to long at the same spot, but tweak tweak tweak. #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 141 38 260 9109513 t l l; #N vpatcher 522 95 908 337; #P origin -53 0; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 49 155 63 9109513 speedlim 250; #P newex 30 177 109 9109513 jit.matrix 1 char 320 240; #P window linecount 0; #P newex 30 131 182 9109513 jit.slide @slide_up 10. @slide_down 1000.; #P outlet 30 205 15 0; #P inlet 30 34 15 0; #P newex 30 77 66 9109513 jit.rgb2luma; #P newex 30 54 66 9109513 jit.uyvy2argb; #P newex 30 102 120 9109513 jit.matrix 1 float32 320 240; #P connect 3 0 1 0; #P connect 1 0 2 0; #P connect 2 0 0 0; #P connect 0 0 5 0; #P connect 5 0 6 0; #P connect 6 0 4 0; #P pop; #P newobj 391 66 35 9109513 p arvg; #N vpatcher 45 100 234 235; #P window setfont "Sans Serif" 12.; #P flonum 51 50 67 12 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0; #P window setfont "Sans Serif" 9.; #P message 50 74 81 9109513 param amount \$1; #P outlet 50 96 15 0; #P connect 2 0 1 0; #P connect 1 0 0 0; #P pop; #P newobj 287 119 42 9109513 p param; #P newex 141 144 260 9109513 jit.gl.slab table @file co.difference.jxs at param amount 1.05; #P objectname jit.gl.slab[3]; #P newex 141 119 144 9109513 jit.gl.slab table @file co.luma.jxs; #P objectname jit.gl.slab[2]; #P newex 141 66 241 9109513 jit.gl.slab table @file cc.uyvy2rgba.jxs at dimscale 2. 1.; #P objectname jit.gl.slab; #P connect 4 0 2 1; #P connect 5 1 4 0; #P fasten 3 0 2 0 292 140 146 140; #P connect 1 0 2 0; #P connect 5 0 0 0; #P window clipboard copycount 6; Also, I'd like to improve the way that cv.jit.blobs.sort works: I want it to > not only see how close the blobs from this frame are to the blobs from the > previous one. I want it to see how close the blobs from this frame are to > the EXPECTED positions of the blobs from the previous frame (taking into > account their speed and direction). nice one, there is the kalman filter that deals with estimated motion, giving you a motion vector. i may be groslly mistaken about this, maybe someone else can be more precise. i haven't used it. but its a tricky thing as was mentioned in a this great paper on the subject of tracking. " Here again there's no silver bullet. In 1995 Azuma showed that motion prediction can help considerably, to a point... The most basic approach is to estimate or measure the pose derivatives and to use them to extrapolate forward from the most recent estimate—which is already old by the time you get to see it—to the present time. The problem is that it's difficult to predict what the user will choose (has chosen) to do very far in the future. Azuma pointed out that the task is like trying to drive a car by looking only in the rear-view mirror. The driver must predict where the road will go, based solely on the view of the past and knowledge of roads in general. The difficulty of this task depends on how fast the car is going and on the shape of the road. If the road is straight and remains so, the task is easy. If the road twists and turns unpredictably, the task is impossible. www.cs.unc.edu/~tracker/media/pdf/cga02_welch_*tracking*.pdf " another approach is to roll your own estimated direction vector based on last reading and one before. combining this with jit.sort is something else, the blobs.sort object is one of the most important in the cv.jit library for what your doing. cv.jitauthor mentioned its not that hard to roll your own, but I'm sceptical ;) I'm hoping some of you will be kind enough to give me some good pointers > 'cause I'm now trying to make my own cv.jit.blobs.sort and > blob-remembering algorithm in Java and quite frankly it sucks *$#@!, big > time. search the list, try to search for methods not ideas. like if you are looking for background removal you'll get good results by searching for cv.jit.ravg , for example. Thanks! > _______________________________________________ > jitter mailing list > jitter at cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20071001/652183bd/attachment.htm
- Previous message: [jitter] More motion tracking!!
- Next message: [jitter] More motion tracking!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
