Trouble with Core ML Object Tracking for Spherical Objects Using WWDC Sample Code and Object Capture

Hi everyone,

I'm working with Core ML for object tracking and have successfully trained a couple of models. However, when I try to use the reference object file in the object tracking sample code from the WWDC video, it doesn't work.

I'm training the model on a single-color plastic spherical object. Could this be the reason for the issue? I also attempted to use USDZ 3D assets that resemble the real object. Do these need to be trained with the Object Capture app to work properly?

Speaking of the Object Capture app, my experience hasn't been great. When I scanned my spherical object, the result was far from a sphere—it looked more like a mushy dough.

Any insights or suggestions would be greatly appreciated!

Answered by Technology Evangelist in 793778022

First, it might be worth noting that objects that are symmetric (and have no variation in color) cannot be tracked.

As to how well Object Capture is able to reconstruct the 3D model of an object highly depends on the type of the surface that the spherical object that you are using. We have scanned a lot of spherical objects and Object Capture produces good models with accurate shape and scale. However, if the object is featureless / single-color / shiny / reflective, etc then that would fall under the category of unsupported object and may not produce good model.

  • You can find another spherical object that has nominal surface
  • If you must use the same object, try adding some texture on top of the object, e.g. drawing, stickers, etc try spraying one of the 3D Scanning Spray available in market to make the surface matte

does this log mean anything, i only see it when i add my own referenceobjects to the project

ARObjectTrackingRemoteService <0x134285e60>: Failed to add reference objects with internal error (code=5, transient=YES): Error Domain=com.apple.arkit.error Code=5 "(null)"
ar_object_tracking_provider_t <0x301bf15f0>: Failed to add reference objects with transient error: Error Domain=com.apple.arkit.error Code=5 "(null)"
Accepted Answer

First, it might be worth noting that objects that are symmetric (and have no variation in color) cannot be tracked.

As to how well Object Capture is able to reconstruct the 3D model of an object highly depends on the type of the surface that the spherical object that you are using. We have scanned a lot of spherical objects and Object Capture produces good models with accurate shape and scale. However, if the object is featureless / single-color / shiny / reflective, etc then that would fall under the category of unsupported object and may not produce good model.

  • You can find another spherical object that has nominal surface
  • If you must use the same object, try adding some texture on top of the object, e.g. drawing, stickers, etc try spraying one of the 3D Scanning Spray available in market to make the surface matte
Trouble with Core ML Object Tracking for Spherical Objects Using WWDC Sample Code and Object Capture
 
 
Q