Optical flow performance and accuracy


I’m running Nvidia Optical flow 5.0 samples. I noticed two weird behaviours.

I’m running AppODCuda on a RTXA4000 with this parameters:

–input=output_1920x1080.yuv --useCudaStream=true --inputBufferType=cudaDevicePtr --outputBufferType=cudaDevicePtr --preset=fast --output=ouput --visualFlow=true --gridSize=1

where output_1920x1080.yuv is 5GB file with arounf 1700 frames of FullHD yuv420 frames. I converted an mp4 video to the file using ffmpeg.

Reviewing the results, the flow vectors look good between frames but every exact 10 frames the motion output is wrong. It’s reporting motion all over the frame with not much sense.

I tried to shift by 5 frames the file output_1920x1080.yuv to check if something was wrong with my input and I got the same result. Every 10 frames, wrong motion.

Second thing I noticed is the performance. Batching and using ROIs are actually making a difference in performance. When not using ROIs I got 470FPS while with ROIs I got 530. Nice. Although after few iterations, the performance drops to 170 fps. No matter if I have ROIS, bigger batches… FPS, after some time, it drops to 170.

Can anyone help on both topics? Thanks

Can you share the output flow file generated and input frames for us to reproduce this issue. Thanks.


Files are too big to be uploaded here. Can you provide some space to upload them?