--- id: video-3d-vision title: Video, Depth and 3D Vision code: VD subtitle: Sample frames, model time, render NeRFs and Gaussian splats, predict depth and track objects across frames. hue: 190 sources: phases/04-computer-vision/12-video-understanding, phases/04-computer-vision/13-3d-vision-nerf, phases/04-computer-vision/22-3d-gaussian-splatting, phases/04-computer-vision/26-monocular-depth, phases/04-computer-vision/27-multi-object-tracking, phases/04-computer-vision/28-world-models-video-diffusion source_hash: c86ac84265db2ca6 --- ## Video models type: concepts from: phases/04-computer-vision/12-video-understanding/docs/en.md - **2D + pool**: CNN per frame, mean over time. - **3D conv**: (T, H, W) kernels. Models motion. - **I3D**: inflate 2D kernels along time. - **(2+1)D**: 2D spatial, then 1D temporal conv. - **Divided**: attention over time, then space. - **Uniform**: T frames evenly. 2D+pool default. - **Dense**: random contiguous window. 3D convs. - **Clip / video acc**: one clip or mean of clips. ## Pick a 3D, depth or tracking model type: concepts from: phases/04-computer-vision/13-3d-vision-nerf/docs/en.md, phases/04-computer-vision/22-3d-gaussian-splatting/docs/en.md, phases/04-computer-vision/26-monocular-depth/docs/en.md, phases/04-computer-vision/27-multi-object-tracking/docs/en.md - **NeRF**: an MLP is the scene. Hours to train. - **3DGS**: explicit Gaussians. Minutes to train. - **Depth Anything V3**: relative, frozen DINOv2. - **ZoeDepth**: metric. Sensitive to intrinsics. - **Marigold**: diffusion depth. 10-50 steps. - **ByteTrack**: cars and people at 30+ fps. - **DeepSORT**: heavy occlusion, ReID features. - **SAM 3.1 Multiplex**: crowds of one class. ## Tracking by detection type: architecture from: phases/04-computer-vision/27-multi-object-tracking/docs/en.md ```arch node | frame | 1,1 | Frame t | video input | client node | det | 2,1 | Detector | detections at t | model node | assoc | 3,1 | Hungarian assignment | IoU, cosine, motion node | upd | 4,1 | Update | matched tracks node | prev | 1,2 | Tracks up to t-1 | | store node | kal | 2,2 | Kalman predict | constant velocity node | born | 3,2 | Birth | new tracks node | age | 4,2 | Age unmatched | delete after N edge | frame | det | edge | det | assoc | detections edge | prev | kal | edge | kal | assoc | predicted boxes edge | assoc | upd | matched edge | assoc | born | unmatched detections edge | assoc | age | unmatched tracks ``` ## Formulas type: concepts from: phases/04-computer-vision/13-3d-vision-nerf/docs/en.md, phases/04-computer-vision/22-3d-gaussian-splatting/docs/en.md, phases/04-computer-vision/26-monocular-depth/docs/en.md, phases/04-computer-vision/27-multi-object-tracking/docs/en.md - **PointNet**: $f(P) = \max_{p \in P} \mathrm{MLP}(p)$. Point order does not change it. - **Positional encoding**: $\sin(2^l \pi p), \cos(2^l \pi p)$ up to $L = 10$ levels. - **Volume render**: $C = \sum_i T_i (1 - e^{-\sigma_i \delta_i}) c_i$, $T_i = e^{-\sum_{j