<br><br><div><span class="gmail_quote">On 10/1/07, <b class="gmail_sendername">Tarik</b> &lt;<a href="mailto:tarikbarri@hotmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">tarikbarri@hotmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Yes, also I am hopping on board the train called motion tracking.<br><br>I&#39;ve been fooling around with then cv.jit objects for a little while know but don&#39;t really know how to solve this problem:<br><br>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.
<br><br>Great, so now I&#39;ve got moving people walking around as trackable blobs. But there are 2 problems:<br><br>The computer forgets about them as soon as they stop moving (they &quot;dissapear&quot; because the computer only sees movement): I want the computer to remember them until they start moving again.
</blockquote><div><br>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 &quot;swallow&quot; obejcts that stand to long at the same spot, but tweak tweak tweak.
<br><br>#P window setfont &quot;Sans Serif&quot; 9.;<br>#P window linecount 1;<br>#P newex 141 38 260 9109513 t l l;<br>#N vpatcher 522 95 908 337;<br>#P origin -53 0;<br>#P window setfont &quot;Sans Serif&quot; 9.;<br>#P window linecount 1;
<br>#P newex 49 155 63 9109513 speedlim 250;<br>#P newex 30 177 109 9109513 jit.matrix 1 char 320 240;<br>#P window linecount 0;<br>#P newex 30 131 182 9109513 jit.slide @slide_up 10. @slide_down 1000.;<br>#P outlet 30 205 15 0;
<br>#P inlet 30 34 15 0;<br>#P newex 30 77 66 9109513 jit.rgb2luma;<br>#P newex 30 54 66 9109513 jit.uyvy2argb;<br>#P newex 30 102 120 9109513 jit.matrix 1 float32 320 240;<br>#P connect 3 0 1 0;<br>#P connect 1 0 2 0;<br>
#P connect 2 0 0 0;<br>#P connect 0 0 5 0;<br>#P connect 5 0 6 0;<br>#P connect 6 0 4 0;<br>#P pop;<br>#P newobj 391 66 35 9109513 p arvg;<br>#N vpatcher 45 100 234 235;<br>#P window setfont &quot;Sans Serif&quot; 12.;<br>
#P flonum 51 50 67 12 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;<br>#P window setfont &quot;Sans Serif&quot; 9.;<br>#P message 50 74 81 9109513 param amount \$1;<br>#P outlet 50 96 15 0;<br>#P connect 2 0 1 0;<br>#P connect 1 0 0 0;
<br>#P pop;<br>#P newobj 287 119 42 9109513 p param;<br>#P newex 141 144 260 9109513 jit.gl.slab table @file co.difference.jxs @param amount 1.05;<br>#P objectname jit.gl.slab[3];<br>#P newex 141 119 144 9109513 jit.gl.slab
 table @file co.luma.jxs;<br>#P objectname jit.gl.slab[2];<br>#P newex 141 66 241 9109513 jit.gl.slab table @file cc.uyvy2rgba.jxs @dimscale 2. 1.;<br>#P objectname jit.gl.slab;<br>#P connect 4 0 2 1;<br>#P connect 5 1 4 0;
<br>#P fasten 3 0 2 0 292 140 146 140;<br>#P connect 1 0 2 0;<br>#P connect 5 0 0 0;<br>#P window clipboard copycount 6;<br><br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Also, I&#39;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).
</blockquote><div><br>nice one, there is the kalman filter that deals with estimated motion,&nbsp; giving you a motion vector. i may be groslly mistaken about this, maybe someone else can be more precise. i haven&#39;t used it. but its a tricky thing as was mentioned in a this great paper on the subject of tracking.
<br>&quot;<br><font size="-1"><span class="a"><span dir="ltr"><br></span></span></font><div style="margin-left: 40px;"><font size="-1"><span class="a"><span dir="ltr">Here again there's no silver bullet. In 1995 Azuma</span>
</span></font><br><font size="-1"><span class="a"><span dir="ltr">showed that motion prediction can help considerably, to a</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">point... The most basic approach is to estimate or measure
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">the pose derivatives and to use them to extrapolate forward</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">from the most recent estimate—which is already old by the
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">time you get to see it—to the present time. The problem is</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">that it's difficult to predict what the user will choose (has
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">chosen) to do very far in the future.</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">Azuma pointed out that the task is like trying to drive a
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">car by looking only in the rear-view mirror. The driver must</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">predict where the road will go, based solely on the view of
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">the past and knowledge of roads in general. The difficulty of</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">this task depends on how fast the car is going and on the
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">shape of the road. If the road is straight and remains so, the</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">task is easy. If the road twists and turns unpredictably, the
</span></span></font><br><font size="-1"><span class="a"><span dir="ltr">task is impossible.<br><br></span></span></font><font size="-1"><span class="a"><span dir="ltr"><a href="http://www.cs.unc.edu/~tracker/media/pdf/cga02_welch_">
www.cs.unc.edu/~tracker/media/pdf/cga02_welch_</a><b>tracking</b>.pdf <br><br><br></span></span></font><font size="-1"><span class="a"><span dir="ltr"></span></span></font></div></div>&quot;<br>another approach is to roll your own estimated direction vector based on last reading and one before.
<br>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.jit author mentioned its not that hard to roll your own, but I&#39;m sceptical ;)
<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I&#39;m hoping some of you will be kind enough to give me some good pointers &#39;cause I&#39;m now trying to make my own 
cv.jit.blobs.sort and blob-remembering algorithm in Java and quite frankly it sucks *$#@!, big time.
</blockquote><div><br>search the list, try to search for methods not ideas. like if you are looking for background removal you&#39;ll get good results by searching for cv.jit.ravg , for example.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks!<br>_______________________________________________<br>jitter mailing list<br><a href="mailto:jitter@cycling74.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jitter@cycling74.com</a><br>
<a href="http://www.cycling74.com/mailman/listinfo/jitter" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.cycling74.com/mailman/listinfo/jitter
</a><br></blockquote></div><br>