NVIDIA Optical Flow SDK - How are warped ROIs generated?

Hello everyone!

I am trying to get a clear understanding of how the optical flow tracking works, but I am struggling at the part where/how the warped ROIs are calculated in the CConnectedRegionGenerator class. The documentation is able to provide a high-level overview of how the OF tracker works, but lacks more in-depth details about this process.

I can sort of understand that Process() is looping over the flow values in the radius of the current tracked ROI, but for instance, I am struggling to understand what exactly is being done in the GrowRegion() method, which is called multiple times during the Process() method.

Perhaps this is caused by my lack of proficiency in C++, so I would really appreciate if somebody is able to share any resources about the algorithm used here to generate the “candidate” regions.

Many thanks in advance!

Hello @renzo1 and welcome to the NVIDIA Developer forums!

I can’t answer this very specific question, but I will reach out to our developers and see if I can get you more information.


Hi @MarkusHoHo, thank you for your reply.

I appreciate the help, so thanks in advance for any further information.