Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ARCore – Detecting Walls

I was looking at Android's new ARCore library. It has a method to detect horizontal surfaces but none to detect vertical surfaces or walls.

I was actually trying to make the sample app detect walls, but I am having lots of problems.

Is there a way natively or non-natively detect vertical surfaces in ARCore?

like image 874
TheMainJoy Avatar asked Sep 15 '25 11:09

TheMainJoy


1 Answers

UPDATE

The newest version of ARCore now also has

public static final Config.PlaneFindingMode HORIZONTAL
// Detection of only horizontal planes is enabled.

public static final Config.PlaneFindingMode HORIZONTAL_AND_VERTICAL
// Detection of both horizontal and vertical planes is enabled.

OLD ANSWER

There is currently no native way:

public static final Config.PlaneFindingMode DISABLED
// Plane detection is disabled.

public static final Config.PlaneFindingMode HORIZONTAL
// Detection of only horizontal planes is enabled.

A non-native way is sketched here: Access the point cloud data and compute horizontal planes yourself. But to make it really work you would have to implement clustering (telling multiple planes apart instead of computing one global plane) and proper outlier rejection (maybe using RANSAC).

Personally I think (hope) that the next ARCore update will include vertical planes because I cannot see a mathematical reason for not supporting this.

like image 71
PhilLab Avatar answered Sep 17 '25 01:09

PhilLab