Whats a good approach for comparing image similarity basic on oriention, feature extraction?

Say I’m reading frames from my cell phone camera and walk around a living room. How can I determine if in one of my past frames I’ve seen a specific part of the room before?

For example if I look at the couch and then look at the door I entered through, they’re very different. But if I look back at the couch I want to be able to know that I’ve already seen that before.

My first though was to extract ORB features and descriptors on each frame and see if the distance between the matches is low enough or if there are a lot of matches compared to say the couch and the lamp. But the problem is when I look at a new area it will match features which have nothing to do with each other.

The desired result is that I can distinguish between looking at the couch or the lamp but the distance scores don’t’ seem to be that helpful?

Is there a better way to determine if I’ve already seen a particular view in a previous frame?

structure from motion, SLAM, if you need a “hololens” level of scene understanding.

something more probabilistic could simply produce a “feature vector”, perhaps using a neural network that was trained to understand scenes. then you can compare feature vectors and hopefully those correlate with the objects and perspective you’re seeing.

Thank you, do you think SLAM would work in say a tunnel? My use case involves a camera inside an area. Ideally I could use the visual information to gauge if a full view of the tunnel or area has been covered.

From some videos I’m seeing that seems possible with ORB SLAM?

don’t fixate on ORB. that’s substandard technology. if you must, at least use better feature descriptors.

that is vague.

I can’t predict the outcome of these approaches on unknown data, nor would I have the inclination to implement them for you.