ARKit ARWorldTrackingConfiguration doesn't recognize faces

Hi all,

I am trying to use ARWorldTrackingConfiguration to find any faces in my scene. However when I query the scene, using the same type of query one would use in ARFaceTrackingConfiguration, I don't get an Entity back. Here's my code:

        var entityCollection : Set<Entity> = []
        
  let faceEntity = scene.performQuery(query1).first {
            $0.components[SceneUnderstandingComponent.self]?.entityType == .face
        }

Every single time faceEntity returns as empty. Any help/pointers would be appreciated!

Accepted Reply

UPDATE: I think I understand the problem. At the core it seems that face tracking doesn't exists through the rear camera system. According to one source the rear view camera physically differs from the front camera.[1] Thus it makes sense why entities with sceneUnderstanding of entityType .meshChunk gets added by the session but not .face when using ARWorldTracking. A natural solution(one also suggested by the source mentioned before) may be just to create a 3D object that gets added to the configuration using detectionObjects.[2]

Good luck!

[1] https://discussions.apple.com/thread/254147306?sortBy=best

[2] https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration/2968177-detectionobjects

Replies

UPDATE: I think I understand the problem. At the core it seems that face tracking doesn't exists through the rear camera system. According to one source the rear view camera physically differs from the front camera.[1] Thus it makes sense why entities with sceneUnderstanding of entityType .meshChunk gets added by the session but not .face when using ARWorldTracking. A natural solution(one also suggested by the source mentioned before) may be just to create a 3D object that gets added to the configuration using detectionObjects.[2]

Good luck!

[1] https://discussions.apple.com/thread/254147306?sortBy=best

[2] https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration/2968177-detectionobjects