Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to speed up plane detection in ARCore / Sceneform

The ARCore sceneform sample project "hellosceneform" is cool and works really well.

Problem is the requirement to move the phone around in order to get a surface on which to place anchors. It's too slow.

My application does not require anything to show up on a vertical plane (a wall), but only ever on the floor. Is there anyway I can skip the "move the phone around" step or at least speed it up?

I've tried:

session.getConfig().setPlaneFindingMode(Config.PlaneFindingMode.HORIZONTAL);

Thinking that if I remove the need to look for vertical planes then it would all work faster..... not quite fast enough it seems.

Thanks!

like image 311
PaulG Avatar asked Sep 17 '18 16:09

PaulG


1 Answers

Unfortunately the framework is limited by (read: enabled by) the computer vision models that it uses to detect planes. The plane discovery controller (i.e. the "move the phone around" step) is a nudge to the user to provide the models with the depth information through the camera that they need to detect those planes. Removing this step won't speed up the process, it'll just leave the user without any instructions.

Without improvements to the core plane detection models I wouldn't expect that there's a way to make this faster. The best that we can do is come up with UX nudges that encourage the user to move the phone laterally more efficiently.

like image 57
AlgoRyan Avatar answered Oct 18 '22 12:10

AlgoRyan