2

In OpenCV we can use features to detection objects, and there are features which are all translation-invariant and also:

  • Which scale-invariant and rotate-invariant: SIFT, SURF, BRISK, FREAK, STAR
  • And which not scale-invariant and rotate-invariant: ORB

Also in OpenCV there are Optical-Flow algorithms, which are all translation-invariant: cv::calcOpticalFlowPyrLK, cv::calcOpticalFlowFarneback, cv::calcOpticalFlowSF, cv::DenseOpticalFlow::calc, gpu::BroxOpticalFlow and other for GPU.

But are there in OpenCV any Optical-Flow algorithms which rotate and/or scale invariant?

5
  • 3
    cv::calcOpticalFlowPyrLK can deal with small rotation translation scaling... But if you are seeking something which will deal with 180 flipped image, you would head toward feature-based tracking not density based Commented Dec 20, 2015 at 18:00
  • 1
    ORB should be rotation invariant, too?!? You can always use a dense feature matching by choosing each single (sub)pixel to be a keypoint (maybe multiple scales) and describe it. But that would be horribly slow ;) Commented Dec 20, 2015 at 20:04
  • and FAST is no description so you can compute FAST features and describe them with sift/surf or any other descriptor Commented Dec 20, 2015 at 20:05
  • @Micka Yes I fixed it, ORB is rotate-invariant. I can't use dense optical-flow for real-time video :) But may be I can use sparse flow, for example, as follow: 9 adjacent points with window size 2x2 pixels instead of 1 point with window size 6x6 pixels. And for each frame I exclude each of 9 points which came out beyond the boundaries 9x9, and include new points. The percentage of matches = (9 - exclude points) / 9. Commented Dec 20, 2015 at 20:35
  • I know this question is a decade old. what is your understanding of "optical flow"? how do you imagine optical flow deals with rotation and scaling? how do you imagine the flow field to be "invariant" to those? it's not even invariant to translation. the flow field REPRESENTS translation. that is the opposite of invariance. the whole point of optical flow is to estimate small changes. inherently it is not intended to estimate arbitrary scattering. the flow field for a 180 degree rotation is easy to demonstrate, but theoretically unreasonable to expect any optical flow algorithm to estimate. Commented Sep 19 at 20:27

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.