--- license: mit library_name: bcdl tags: - rdk-s100 - rdk-s100p - d-robotics - bpu - hbm - depth-estimation - stereo --- # Lite Any Stereo V2 for RDK S100/S100P — zero-shot stereo disparity Compiled BPU models (`.hbm`) for the **D-Robotics RDK S100 / S100P**, ready to load — no ONNX export, no calibration, no `hb_compile`. Built and measured with [**BCDL**](https://github.com/ruisv/bcdl), a C++17 inference and media library for the RDK S-series with Python bindings. Upstream: [Lite Any Stereo V2](https://github.com/Tinker-Twins/LiteAnyStereo) (M) > [!TIP] > **Redistributable, including commercially.** The licence chain was checked on > the code, the pretrained weights it started from, and the data it was trained > on — all three, because a permissive repository badge does not by itself say > anything about the weights. See [Licence](#licence). ## Files | file | what it is | |---|---| | `las2_m_crop_nashm.hbm` | centre-crop-fit calibration, 640x480 — 38.8 MB | | `las2_m_int16_nashm.hbm` | resize-fit calibration, 640x480 — 39.3 MB | ## Measured on an S100P | stage | latency | throughput | |---|---|---| | either build | 13.70 ms | 73 FPS | `hrt_model_exec perf`, one thread, minimum of three runs, on a board first gated against its own previously recorded numbers. **BPU time only** — CPU pre/post-processing is on top and is listed per task in BCDL's [benchmark results](https://github.com/ruisv/bcdl/blob/main/benchmarks/RESULTS.md). ## Use it ```bash conda install -c https://mirrors.ruis.ai/conda -c conda-forge bcdl ``` ```python import bcdl engine = bcdl.Engine("las2_m_crop_nashm.hbm") print(engine.input_shape(0), engine.output_shape(0)) ``` Each task has a decoder in BCDL that turns those raw outputs into boxes, keypoints, masks, disparity or text — see the [Python API](https://github.com/ruisv/bcdl/blob/main/docs/API.md) ([中文](https://github.com/ruisv/bcdl/blob/main/docs/API.zh.md)). ## What to know before deploying **Two calibration modes, and you must match the one you letterbox with.** `_crop` was calibrated on centre-cropped pairs and `_int16` on resize-fitted ones; feed a build the geometry it was not calibrated for and the disparity degrades quietly rather than failing. All-2D and feed-forward — no 3-D cost volume — which is exactly why it runs at 73 FPS here. Cost-volume stereo of comparable quality took ~40 s/frame on this part and was abandoned. ## Licence MIT on the code and the weights. One thing worth knowing rather than a term passed down: the release was distilled from FoundationStereo, whose NVIDIA licence is research-only. That is upstream's compliance question, but look at it before a commercial build. **BCDL itself is Apache-2.0 and is unrelated to these terms** — it is a general-purpose runtime that loads any `.hbm`. The licence above constrains *these weights and this compiled artefact*. The conversion recipe — ONNX export, calibration, `hb_compile` config and the acceptance numbers — is public in [**bcdl-model-zoo**](https://github.com/ruisv/bcdl-model-zoo), so this build can be reproduced or retargeted rather than taken on trust.