feat(av-live): wire Apple Vision body pose on ANE
Add a parallel-pose worker selector (env AV_LIVE_PARALLEL_POSE) defaulting to "both": runs Apple Vision body 2D on ANE alongside MediaPipe Holistic on CPU XNNPACK, while Multi-HMR PyTorch streams the dense mesh on MPS. Modes "apple_vision" or "mediapipe" to pick one. Body keypoints land in state.persons_body either way. Face landmark parser via pyobjc remains blocked: pointAtIndex_ selector arity confuses pyobjc 11 and pointsInImageOfSize_ returns an opaque PyObjCPointer with no address handle. Keep the ANE-detected count for logging, fall back to MediaPipe face/hand fin landmarks until a Swift bridge is in place.
This commit is contained in:
@@ -557,8 +557,15 @@ class AppleVisionPoseWorker:
|
||||
# API d'acces simple. Face parsing depuis Apple Vision est
|
||||
# actuellement bloque ; on garde MediaPipe (CPU XNNPACK) pour
|
||||
# face/hand fin tandis que Vision sert body 2D sur ANE.
|
||||
<<<<<<< HEAD
|
||||
# Skip pour eviter le spam ObjCPointerWarning a 30 fps.
|
||||
return
|
||||
=======
|
||||
n = 0; n_written = 0
|
||||
if n_written > 0 and not hasattr(self, "_logged_face_write_" + region_name):
|
||||
LOG.info("face: %s wrote %d points", region_name, n_written)
|
||||
setattr(self, "_logged_face_write_" + region_name, True)
|
||||
>>>>>>> 28d562b (feat(av-live): wire Apple Vision body pose on ANE)
|
||||
|
||||
# faceContour
|
||||
fill("faceContour", *FACE_OFFSETS["contour"])
|
||||
|
||||
Reference in New Issue
Block a user