OrbbecSDK is a cross-platform C/C++ software development kit for Orbbec 3D cameras, supporting depth, color, infrared, and IMU sensors. It provides both a high-level Pipeline API for easy stream management and a low-level Device/Sensor API for fine-grained control. The architecture is library-based with a C API (ObSensor.h) and a C++ wrapper (ObSensor.hpp), following a consistent pattern of context creation, device enumeration, stream configuration, frame acquisition, and post-processing via composable filters. Key entry points include Context (device discovery), Pipeline (streaming), Device (property control), and Filter (alignment, point cloud generation, noise removal, etc.). Data flows involve configuring stream profiles, starting the pipeline, receiving frames (depth, color, IR, IMU), applying filters (e.g., depth-to-color alignment, HDR merge, spatial/temporal filtering), and optionally recording or replaying streams. External dependencies include OpenCV for example visualizations, cJSON for multi-device synchronization configuration, and platform-specific USB drivers. The SDK is used in robotics, AR/VR, industrial inspection, and 3D scanning applications.
This repository implements Geometry Forcing, a research framework for video generation with geometric consistency. The core contribution marries video diffusion models (DFoT - Diffusion Forcing Transformer) with 3D representation learning (VGGT) to produce temporally consistent videos conditioned on camera poses. It includes full training pipelines (Hydra + PyTorch Lightning), a suite of video metrics (FVD, FID, LPIPS, VBench), and evaluation scripts for reprojection/revisit error using DROID-SLAM. The codebase is structured as a research template with reusable base classes for algorithms, data modules, experiments, and metric registries. Raw datasets (RealEstate10K, Kinetics-600, Minecraft) are downloaded and preprocessed into video clips with associated camera parameters. Transformations include VAE encoding for latent diffusion, augmentation (flip, reverse), and sliding-window clip extraction. The primary research question is whether video diffusion can be constrained by explicit 3D geometry to reduce inconsistencies in generated videos, measured by geometry-aware metrics. The repo also demonstrates composable sampling via History Guidance and an alignment loss that projects diffusion latents into VGGT feature space. While the code is well-engineered for research (modular design, config-driven, metric registry), it carries typical research code baggage: hardcoded paths, vendored third-party code (DROID-SLAM, VGGT), potential dependency pinning conflicts, and some dead/commented code. Reproducibility is moderate: dependencies are pinned but no environment definitions beyond requirements.txt, and dataset downloads rely on fragile YouTube scraping.