• Home
  • Documentation
  • Forum
  • Blog
  • Users
    • Map
    • Userlist
    • Businesses
    • Userpages
    • Connections
  • Contributions
    • All
    • Store
  • Downloads
    • vvvv beta
    • vvvv beta previews
  • Store
Show / Hide Table of Contents

Optical Flow DX11 GPU

Author: princemio
Date: 16 Jan, 2014
Category: module
Credits:

its simply copied from foo | andrew benson

Download

64bit

1-Optical Flow.7z
16 Jan, 2014 - 14:30
vers. 2 --- adapted to name conventions
0-Optical Flow.7z
16 Jan, 2014 - 14:04

Description

Optical flow solution on GPU.

i have x and y both negative and positive in the r and g channel...hope this works for everyobne

Im new to vvvv so please excuse me if i violated name or coding conventions...if so please point me in the right direction

mio

Comments

Comments are no longer accepted.
Please create a new topic in the vvvv beta forum to discuss this contribution.
catweasel
16 Jan, 2014 - 14:11

Looks cool :) You can loose the Mio bit on the module name if you like and then it keeps with the naming conventions, but you can add tags in the shader //@author: vux //@help: template for texture fx //@tags: texture //@credits:

for example, and in the patch with ctl+m

Nice first contribution!

princemio
16 Jan, 2014 - 14:18

ah k will change that ...just always typed that to see in node browser which ones are mine...and which ones i can trust...lol...thx

catweasel
16 Jan, 2014 - 18:56

I'll be honest I tend to put cat in the file name too ;)

DiMiX
23 Jan, 2014 - 16:37

hey princemio. Thanks for contribution. Is it possible to get values of direction and speed of the average movement? Which color scheme i have to use for decode?

princemio
24 Jan, 2014 - 00:59

hmm if i did everything right then the x value should be in r and the y channel in g of the colored texture ... plus and minus should be available in 32 bit float tex. i think a compute shader would be necessary - like the pipet example in dx11 ...MAYBE ...and then read back ...but i think someone who is more experienced could jump in this topic...sorry if that didnt help

DiMiX
24 Jan, 2014 - 16:09

i saw these things http://youtu.be/5VyLAH8BhF8?t=4m35s and thought maybe this encoding scheme is more understandable http://crcv.ucf.edu/courses/CAP5415/Fall2012/Lecture-6b-OpticalFlow.pdf

princemio
24 Jan, 2014 - 17:19

hey thx for the feedback.

The Shader calculates a certain offset in x and y for each pixel. The hue color coding would imply that we calculate from this x and y values a certain angle which represents a particular hue color. i do believe its sth like this

float angle = atan2(y,x);

now when we reuse the optical flow in the next pass or shader we often use the individual vector to distort the image or for example to accelerate particles in a certain direction. in order to do so, we then need to restore the x and y for the acceleration from this angle again.

Hence we would convert the x and y into an angle in order to restore the x and y later from that angle. Which is think is redundant. (correct me if im wrong)

another problem is that this unneeded conversion is doen via atan which ( like sin,cos, log or texture lookups) increases the cost per pixel tremendously.

tekcor
27 Jan, 2014 - 17:56

super cool

DiMiX
05 Feb, 2014 - 11:52

hi princemio, I cant code, so my ideas are more theoretical The Shader calculates a certain offset in x and y for each pixel. If we map this offset to some color scheme which let us retrieve hue changing for direction, saturation changing for speed?

gen4
25 Feb, 2015 - 12:19

How i can run it? There is some addons missed? http://take.ms/eS13p

gen4
26 Feb, 2015 - 16:19

now i start it - it just was dx11 not for 64bit. installing right pack - resolve my problem

  • Improve this Doc

© 2020 by vvvv group. Imprint | Privacy Policy.
Thanks to DocFX for building this website. Analytics by Plausible.

Back to top