bcdl-las2-stereo / README.md
ruisv's picture
Compiled BPU models for RDK S100/S100P
615a4a9 verified
|
Raw
History Blame Contribute Delete
3.16 kB
---
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.