Optical Flow average orientation


I’d like to track movement with a camera hanging on top of people. What I need to track is the average direction of anything moving. So I’m trying is :

using optical flow shader
blur the texture to get average color
pipet to rgb and get XY
polar node to get the rotation

But as you can see in the patch provided it’s not really accurate, but almost.

Any hint on this ?


Optical Flow Orientation.zip (227.6 kB)

i tweaked your stuff a little, and there are a few things to consider

  • resizing before pipetting decreases the chances that you accidently hit a black hole in the middle
  • ranging color values between 0…1 instead of -1…1 makes visualizing much easier
  • finding good blur and optical flow values experimentially are essential to make it fit to your environment

what I found so far:

  • for some reason, the y axis reacts much lazier than the x-axis in the OpticalFlow. this can be compensated for with the scale values
  • pre-filtering your source image can help tremendously
  • Optical Flow reacts better to “moving grids”, rather than “moving blurry things”

Optical Flow Orientation.7z (222.3 kB)

Aaaah well done sir !

I really didn’t remember that neutral should be R=0.5 G=0.5 B=0.5

Thanks a lot.

hey velcrome,
good research!
we still missing good optical flow implementation in v4
Would it be possible to develop it to this level?

few people asked already for that before
maybe we can get together and support/flattr forthcoming efforts?

+1… no text …

+1… no text …

+1… some text…