3D object scanning, detection and recognition

asked 2018-07-02 19:02:20 -0500

noxee gravatar image

Hi all,

I'm quite inexperienced with computer vision but I am trying to determine if it's possible to replicate Apple's ARKit 3d object scanning and detection work (https://developer.apple.com/documenta...) with something like OpenCV.

The reason I want to see if it's possible is that I'm working on a project that I'd like to be able to recognize 3d object (e.g. a scavenger hunt using your phone) and I'd like a cross platform solution and unfortunately Google's ARCore doesn't support this yet.

I know there are a couple of cross platform solutions out there (e.g Vuforia) but a lot of them are more geared towards AR and I don't need all those features at the moment and would like to try and reduce the number of external dependencies (I'm also really interested in learning how something like that would work.

I tried using SIFT and ORB for feature detection and then trying feature matching but it produced a lot of false positives and I think they're more suited for finding flat images/surfaces inside other images.

It looks like Apple is using spatial data some how to do the matching of the objects but I'm not quite sure how that would work.

If anyone has any insight on whether something like that is possible or what areas I should be focusing on trying to achieve something like that it would be greatly appreciated.

edit retag flag offensive close merge delete

Comments

maybe you canuse something from here

berak gravatar imageberak ( 2018-07-03 00:57:51 -0500 )edit

A lot of those seem more related to classification of general object rather than a very specific object.

For example I have a figurine like https://i.imgur.com/XvxQV3p.jpg and I want to be able to find that figurine as a user is panning around with their phone.

But I could potentially have multiple figurines and I'd like to try and do it computational rather than using a neural net as they seem to be more suited to training with large data sets for classification.

noxee gravatar imagenoxee ( 2018-07-03 07:46:27 -0500 )edit

noxee I have been trying to find the same thing (basically to first localize a given object and get its orientation). Did you happen to solve your problem, if so please share? The only thing close to what you describe I found is this paper (https://arxiv.org/abs/1712.03904) but they don't seem to have any example code to try

kyna223 gravatar imagekyna223 ( 2019-01-08 10:29:27 -0500 )edit