Initial snapshot: hand motion pipeline (Dyn-HaMR + dex-retargeting + SPIDER)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 14:13:49 +08:00
commit 7e4ef6f98b
7002 changed files with 1452249 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
defaults:
- _self_
- streams: raw_mp4_stream
- pipeline: ???
- override hydra/hydra_logging: none
- override hydra/job_logging: disabled
ray: false
prefilter: false
hydra:
output_subdir: null
job:
chdir: false
run:
dir: .
+8
View File
@@ -0,0 +1,8 @@
defaults:
- default
slam:
keyframe_depth: dav3
post:
depth_align_model: "mvd_dav3"
+47
View File
@@ -0,0 +1,47 @@
defaults:
- /slam: default
instance: vipe.pipeline.default.DefaultAnnotationPipeline
# Init configs
init:
camera_type: "pinhole"
intrinsics: "geocalib"
instance:
kf_gap_sec: 2.0
phrases:
- person
- animal
- vehicle
- ball
- balloon
- gun
- pet
- car
- bus
add_sky: true
slam:
keyframe_depth: unidepth-l
optimize_intrinsics: ${neq:${..init.intrinsics},"gt"}
# Post-processing configs
post:
depth_align_model: "adaptive_unidepth-l_svda"
# Output configs
output:
# Path to save results
path: vipe_results/
skip_exists: false
# Save artifacts and a info file
save_artifacts: false
# Save reconstruction from SLAM
save_slam_map: false
# Visualization videos to BASE_PATH/vipe/xxx.mp4
save_viz: true
viz_downsample: 2
viz_attributes: [['rgb', 'instance'], ['depth', 'pcd']]
@@ -0,0 +1,9 @@
# Dyn-HaMR consumes camera poses and intrinsics, not dense depth artifacts.
defaults:
- default
post:
depth_align_model: null
output:
cameras_only: true
+8
View File
@@ -0,0 +1,8 @@
defaults:
- default
slam:
keyframe_depth: moge
post:
depth_align_model: "adaptive_moge_vda"
+5
View File
@@ -0,0 +1,5 @@
defaults:
- default
post:
depth_align_model: "adaptive_unidepth-l"
+8
View File
@@ -0,0 +1,8 @@
defaults:
- default
init:
instance: null
post:
depth_align_model: "adaptive_unidepth-l_vda"
+14
View File
@@ -0,0 +1,14 @@
defaults:
- default
init:
camera_type: "mei"
slam:
keyframe_depth: unidepth-l
post:
depth_align_model: null
output:
viz_attributes: [['rgb', 'instance'], ['rectified', 'pcd']]
+53
View File
@@ -0,0 +1,53 @@
buffer: 1024
# weight for translation / rotation components of flow
beta: 0.3
# how much motion before considering new keyframe
filter_thresh: 2.4
# number of warmup frames
warmup: 8
# threshold to create a new keyframe
keyframe_thresh: 4.0
# add edges between frames whithin this distance
frontend_thresh: 16.0
# frontend optimization window
frontend_window: 25
# force edges between frames within radius
frontend_radius: 2
# non-maximal supression of edges
frontend_nms: 1
# Whether to initialize sequentially
seq_init: true
# Keyframe ids for running backends
frontend_backend_iters: [16, 64, 256]
backend_thresh: 22.0
backend_radius: 2
backend_nms: 3
backend_iters: 24
# Initial values for disparity
init_disp: 1.0
# Whether to optimize intrinsics
optimize_intrinsics: ???
# Whether to optimize rig
optimize_rig_rotation: false
# Whether add reproj factors for cross-views
cross_view: true
cross_view_idx: null # null means default
adaptive_cross_view: false # Backend only, recompute cross_view_idx
# Chunk size of the infill
infill_chunk_size: 16
# Whether or not to infill dense disparity
infill_dense_disp: False
# Filter threshold for SLAM map (percentage of the mean depth difference allowed)
# (This is also used for dense disp extraction)
map_filter_thresh: 0.05
# Whether to visualize the results using rerun
visualize: false
# Use keyframe depth for recovering metric depth
keyframe_depth: metric3d-small
ba:
dense_disp_alpha: 0.001
intrinsics_damping_scale: 1.0
sparse_tracks:
name: dummy
@@ -0,0 +1,7 @@
instance: vipe.streams.frame_dir_stream.FrameDirStreamList
base_path: ??
frame_start: 0
frame_end: -1
frame_skip: 1
cached: false
+7
View File
@@ -0,0 +1,7 @@
instance: vipe.streams.raw_mp4_stream.RawMP4StreamList
base_path: ??
frame_start: 0
frame_end: 1000
frame_skip: 1
cached: false