57e3a200bc
CI build oscope-of / build-check (push) Has been cancelled
Fix 8 defects from whole-branch review (a79bc14..8c4d9f4): - write_hands param: MediaPipe owns persons_hands in iphone-usb mode; IphoneUSBSource gets write_hands=False in multi.py - Guard cap.start() failure: return early if USB source unavailable - Stale frame on disconnect: read() returns (False,None) when _opened=False after thread exits - ARKit validity: update only valid joints, matching OSC listener - Decode exception: except Exception replaces removal-prone av.AVError - release() unblock: socket.shutdown() before join wakes recv-blocked reader immediately - Log stutter: remove redundant "multi —" prefix from USB log line - Unit tests: 10 pure no-device tests for _to_annexb + _decode_hands; add iphone-usb optional extra (av>=12.0) to pyproject.toml
103 lines
2.7 KiB
TOML
103 lines
2.7 KiB
TOML
[project]
|
|
name = "av-live-data-only-viz"
|
|
version = "0.1.0"
|
|
description = "Native Metal (pyobjc) visualizer for AV-Live data-only mode"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"pyobjc-core>=10.3",
|
|
"pyobjc-framework-Cocoa>=10.3",
|
|
"pyobjc-framework-Metal>=10.3",
|
|
"pyobjc-framework-MetalKit>=10.3",
|
|
"pyobjc-framework-Quartz>=10.3",
|
|
"pyobjc-framework-AVFoundation>=10.3",
|
|
"python-osc>=1.8.3",
|
|
"numpy>=1.26,<2",
|
|
"scipy>=1.13", # linear_sum_assignment pour tracker IoU (ByteTrack-like)
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
pose = [
|
|
"coremltools>=9.0",
|
|
"mediapipe>=0.10.35",
|
|
"opencv-python>=4.10",
|
|
"ultralytics>=8.3",
|
|
]
|
|
# DETRPose (transformer multi-personne, 2025). Le repo lui-meme n'est pas
|
|
# pip-installable — voir docstring data_only_viz/detrpose.py pour la
|
|
# procedure de clone manuel + telechargement du checkpoint.
|
|
# Les deps listees ici sont uniquement les libs Python tirables via pip.
|
|
detrpose = [
|
|
"torch>=2.4",
|
|
"torchvision>=0.19",
|
|
"transformers>=4.40",
|
|
"omegaconf>=2.3",
|
|
"cloudpickle>=3.0",
|
|
"pycocotools>=2.0",
|
|
"xtcocotools>=1.14",
|
|
"scipy>=1.13",
|
|
"iopath>=0.1.10",
|
|
"opencv-python>=4.10",
|
|
]
|
|
# Open3D for ICP fusion between iPhone LiDAR and Multi-HMR SMPL-X meshes.
|
|
# CPU-only is sufficient at 5-10 Hz LiDAR cadence.
|
|
lidar = [
|
|
"open3d>=0.18,<0.20",
|
|
]
|
|
nlf = [
|
|
"torch>=2.4",
|
|
"torchvision>=0.19",
|
|
"opencv-python>=4.10",
|
|
"numpy>=1.26",
|
|
]
|
|
# Multi-HMR (Naver Labs, ECCV 2024). Pas pip-installable : on clone le repo
|
|
# dans ~/.cache/av-live-multihmr/multi-hmr et on injecte sys.path au runtime.
|
|
# SMPL-X NEUTRAL.npz requiert un compte academique sur smpl-x.is.tue.mpg.de.
|
|
multihmr = [
|
|
"torch>=2.4",
|
|
"torchvision>=0.19",
|
|
"smplx>=0.1.28",
|
|
"einops>=0.8",
|
|
"iopath>=0.1.10",
|
|
"huggingface-hub>=0.24",
|
|
"opencv-python>=4.10",
|
|
"numpy>=1.26,<2",
|
|
"scipy>=1.13",
|
|
"torchgeometry>=0.1.2",
|
|
# Multi-HMR utils (utils/humans.py, utils/render.py)
|
|
"roma>=1.5",
|
|
"trimesh>=4.4",
|
|
"pillow>=10.0",
|
|
"tqdm>=4.65",
|
|
]
|
|
# SMPLer-X (S-Lab, ECCV 2024, NON-COMMERCIAL). Code source vendu
|
|
# via git submodule third_party/SMPLer-X (fork electron-rare).
|
|
# mmcv-lite suffit pour Config (le repo vendorise sa propre mmpose).
|
|
# Le detector mmdet est remplace par YOLO Ultralytics (extras pose).
|
|
iphone-usb = [
|
|
"av>=12.0",
|
|
"opencv-python>=4.10",
|
|
]
|
|
smplerx = [
|
|
"torch>=2.4",
|
|
"torchvision>=0.19",
|
|
"smplx>=0.1.28",
|
|
"mmcv-lite>=2.1",
|
|
"ultralytics>=8.3",
|
|
"opencv-python>=4.10",
|
|
"numpy>=1.26,<2",
|
|
"scipy>=1.13",
|
|
"einops>=0.8",
|
|
"pillow>=10.0",
|
|
"tqdm>=4.65",
|
|
"yacs>=0.1.8",
|
|
"timm>=1.0",
|
|
]
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=9.0.3",
|
|
]
|