Difference in ARKit plane detection from iPhone 8 to iPhone 15

I am developing an ARKit based application that requires plane detection of the tabletop at which the user is seated. Early testing was with an iPhone 8 and iPhone 8+. With those devices, ARKit rapidly detected the plane of the tabletop when it was only 8 to 10 inches away. Using iPhone 15 with the same code, it seems to require me to move the phone more like 15 to 16 inches away before detecting the plane of the table. This is an awkward motion for a user seated at a table. To validate that it was not necessarily a feature of my code, I determined that the same behavior results with Apple's sample AR Interaction application. Has anyone else experienced this, and if so, have suggestions to improve the situation?

Answered by DTS Engineer in 826454022

Hello,

The difference in cameras between these phones could help explain the situation. Likewise, the amount of machine learning processing the camera feeds is a factor. Lastly, if the iPhone 15 is a Pro model with a LiDAR camera then that affects plane detection too.

Two things you could try:

  1. Scan an area further from the player on iPhone 15 i.e. scan the seat opposite them (rather than top-down).

  2. Move the iPhone side-to-side when scanning for planes. This gesture is considered helpful for scanning feature points to establish tracking and then detect planes.

Hello,

The difference in cameras between these phones could help explain the situation. Likewise, the amount of machine learning processing the camera feeds is a factor. Lastly, if the iPhone 15 is a Pro model with a LiDAR camera then that affects plane detection too.

Two things you could try:

  1. Scan an area further from the player on iPhone 15 i.e. scan the seat opposite them (rather than top-down).

  2. Move the iPhone side-to-side when scanning for planes. This gesture is considered helpful for scanning feature points to establish tracking and then detect planes.

Thanks for the ideas. Before posting originally, I did try various movements of the phone such as left to right, small circles, different tilts. None of these succeeded in plane detection at close range. The iPhone 15 I'm using is not the Pro, so no TOF sensor on the back camera. I did try selecting the lowest resolution format under the ARWorldTrackingConfiguration.supportedVideoFormats, hoping that perhaps that might help, but it didn't seem to make a difference to the minimum distance at which it would detect a plane.
Scanning across the table at a neighboring seat does work, but makes it more difficult for the user to keep the relevant game pieces in frame. I will continue to think about this and see if I can uncover anymore detail, but if you have additional suggestions, please send them along. Thanks again for responding.

Difference in ARKit plane detection from iPhone 8 to iPhone 15
 
 
Q