omershad wrote:
(top posting fixed)
>> omershad wrote:
>>> Hello All,
>>> I want to use the kalman filter for the tracking of the hand in case
> of
>>> occlusion. Hand can be moved freely in the environment and the
> occlusion
>>> can be with the other hand or with the face. In case of occlusion, I
> have
>>> to predict the hand or face from the previous motion.
>>> For the simple case, I am drawing a rectangle on the corners of the
> hand
>>> and face and want to predict the rectangle points(four points) in case
> of
>>> occlusion. Is it possible to do that with Kalman filter? It is always
>>> prediction linearly and the results are not according to what I want
>>> because the motion can vary in any direction. I have tried that.
> However, I
>>> don't know exact process noise. For me the process noise can vary about
> 5
>>> pixels or so because in case of two consective frame, motion can not
> vary
>>> more than 5 pixels.
>>> The second thing is that should I go for the Extended Kalman Filter?
> It
>>> works for non-linear ones. The thing which I have studied about EKF is
>>> about the functions in the transition matrixes? Can someone help me in
> this
>>> problem. If you want some more information or the problem is not
> clear,
>>> please ask.
>> Have you considered using the position of the forearm as relevant
>> information?
>>
>> Jerry
>> --
>> Engineering is the art of making what you want from things you can get.
>> ?????????????????????????????????????????????????? ?????????????????????
>
> Hello,
> I have got the position of the hand(x,y) and the velocity(vx,vy) which I
> can use for the prediction. Basically this is my state vector
> (position_x,position_y,velocity_x,velocity_y) and I want to find the
> predict the position in the next frame.
> Regards,
> Omer
>
Kalman filter performance can be very sensitive to the match between the
model used and the actual system that's generating the signal.
Jerry's suggestion of tracking the forearm position is probably based on
the notion that when you're waving your hand around (at least in the
lab) your elbow isn't going to move as much as your hand, so your hand
will tend to move in an arc whose radius is is approximately equal to
the length of your radius (I would have said 'ulna', but that wouldn't
be as humerus). Modeling the hand-arm system will help you model the
hand behavior more accurately.
Not only are you trying to model a nonlinear system (which would
indicate that you should consider an EKF), but you really can't
accurately model the whims of the human mind with a linear system
excited by Gaussian noise. So you may wish to use an H-infinity filter,
or some 'extended' version if there is such a thing. If this is more an
academic project than a real-world one a particle filter may be
interesting to try. My understanding of them is that they really aren't
ready for prime time yet, but that they are cool and have some distinct
performance advantages.
My current favorite resource on Kalman filtering is Dan Simon's "Optimal
State Estimation". I can't claim to be an expert, but I certainly
appreciate his approach.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" gives you just what it says.
See details at
http://www.wescottdesign.com/actfes/actfes.html