Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is ARCore object recognition possible?

My goal is to overlay material/texture on a physical object (it would be an architectural model) that I would have an identical 3d model of. The model would be static (on a table if that helps), but I obviously want to look at the object from any side. The footprint area of my physical models would tend to be no smaller than 15x15cm and could be as large as 2-3m^2, but I would be willing to change the size of the model to work with ARCore's capability.

I know ARCore is mainly designed to anchor digital objects to flat horizontal planes. My main question is, in its current state, is it capable of accompliahing my end goal? If i have this right, it would record physical point cloud data and attempt to match it to point cloud data of my digital model, then overlapping the two on the phone screen?

If that really isn't what ARCore is for, is there an alternative that I should be focusing on? In my head this sounded fairly straightforward, but I'm sure I'll get way out of my depth if I go about it an inefficient way. Speaking of depth, I would prefer not to use a depth sensor, since my target devices are phones.

like image 497
SZwinsor Avatar asked Sep 19 '17 04:09

SZwinsor


People also ask

Does ARCore support object tracking?

At the moment there's still no 3D Object Recognition API in ARCore 1.31. But... You can use ML Kit framework and Augmented Images API (ARCore 1.2+) for some tasks. According to Google documentation, you can use ARCore as input for Machine Learning models.

Can AR identify objects?

Step 2: AR software recognizes the object within the real-world environment through feature points. To recognize an object, the camera finds matches between the reference and frame images. Step 3: The object is recognized through an identifiable constellation of points, then the digital model is placed accordingly.

How accurate is ARCore?

Google says the Measure app is accurate to within half an inch. Having tested it a few times, I'd say that's a safe bet. However, ARCore isn't as good at remembering where objects were when you move the camera to an entirely different part of a room and then come back to your measurement tool.

Is ARKit better than ARCore?

ARKit tends to perform better than ARCore in terms of image tracking and recognition. If you intend to create AR apps that track user gestures to manipulate on-screen images, ARKit will usually be the more efficient option. It translates movements into data faster than Google's alternative.


2 Answers

I most definitely hope that it will be possible in the future - after all an AR toolkit without Computer Vision is not that helpful.

Unfortunately, according to the ARCore employee Ian, this is currently not directly supported but you could try to access the pixels via glReadPixels and then use OpenCV with these image bytes.

Quote from Ian:

I can't speak to future plans, but I agree that it's a desirable capability. Unfortunately, my understanding is that current Android platform limitations prevent providing a single buffer that can be used as both a GPU texture and CPU-accessible image, so care must be taken in providing that capability.

like image 148
PhilLab Avatar answered Sep 21 '22 15:09

PhilLab


Updated: 29 June, 2020.

At the moment there is still no 3D Object Recognition API in ARCore 1.18.

But you can use Augmented Images API (since ARCore 1.2 release) and brand new ML Kit framework (now in beta) for some of your tasks.

And according to Google documentation:

Beginning with ARCore 1.9, ARCore also tracks moving images such as an advertisement on a passing bus or an image on a flat object held by the user as they move their hands around.

like image 42
Andy Jazz Avatar answered Sep 21 '22 15:09

Andy Jazz