RAFT-stereo / README.md
fangmingguo's picture
Update README.md
26a2203 verified
metadata
license: apache-2.0
language:
  - en
base_model:
  - princeton-vl/RAFT-Stereo
pipeline_tag: depth-estimation
tags:
  - Axera
  - RAFT-Stereo
  - NPU
  - Stereo-Matching
  - Depth-Estimation
  - Computer-Vision

RAFT-Stereo on Axera NPU

This repository contains the RAFT-Stereo model converted for high-performance inference on the Axera NPU.

This version is optimized with w8a16 quantization and is compatible with Pulsar2 version 4.2.

Convert Tools Links

For model conversion and deployment guidance:

Support Platforms

Chips Model Variant Latency (ms)
AX650 raft_steoro256x640_r1.axmodel 20.9
AX650 raft_steoro256x640_r4.axmodel 111.8
Chips Model Variant Latency (ms)
AX630C raft_steoro256x640_r1_npu2.axmodel 317.765
AX630C raft_steoro256x640_r4_npu2.axmodel 825.793
Chips Model Variant Latency (ms)
AX637 raft_steoro256x640_r1_npu1.axmodel 61.033
AX637 raft_steoro256x640_r4_npu1.axmodel 99.094

How to Use

Download the repository and ensure the directory structure is organized as follows:

β”œβ”€β”€ ax630c
β”‚   β”œβ”€β”€ raft_steoro256x640_r1.onnx
β”‚   β”œβ”€β”€ raft_steoro256x640_r1_npu2.axmodel
β”‚   β”œβ”€β”€ raft_steoro256x640_r4.onnx
β”‚   └── raft_steoro256x640_r4_npu2.axmodel
β”œβ”€β”€ ax650
β”‚   β”œβ”€β”€ raft_steoro256x640_r1.axmodel
β”‚   β”œβ”€β”€ raft_steoro256x640_r1.onnx
β”‚   β”œβ”€β”€ raft_steoro384x1280_r4.axmodel
β”‚   └── raft_steoro384x1280_r4.onnx
β”œβ”€β”€ ax637
β”‚   β”œβ”€β”€ raft_steoro256x640_r1_npu1.axmodel
β”‚   └── raft_steoro256x640_r4_npu1.axmodel
β”œβ”€β”€ examples
β”‚   β”œβ”€β”€ left
β”‚   β”‚   β”œβ”€β”€ 000051_11.png
β”‚   β”‚   β”œβ”€β”€ 000058_11.png
β”‚   β”‚   β”œβ”€β”€ 000059_10.png
β”‚   β”‚   β”œβ”€β”€ 000121_10.png
β”‚   β”‚   β”œβ”€β”€ 000164_10.png
β”‚   β”‚   β”œβ”€β”€ 000167_11.png
β”‚   β”‚   β”œβ”€β”€ 000172_11.png
β”‚   β”‚   β”œβ”€β”€ 000179_10.png
β”‚   β”‚   β”œβ”€β”€ 000193_10.png
β”‚   β”‚   └── 000195_10.png
β”‚   └── right
β”‚       β”œβ”€β”€ 000051_11.png
β”‚       β”œβ”€β”€ 000058_11.png
β”‚       β”œβ”€β”€ 000059_10.png
β”‚       β”œβ”€β”€ 000121_10.png
β”‚       β”œβ”€β”€ 000164_10.png
β”‚       β”œβ”€β”€ 000167_11.png
β”‚       β”œβ”€β”€ 000172_11.png
β”‚       β”œβ”€β”€ 000179_10.png
β”‚       β”œβ”€β”€ 000193_10.png
β”‚       └── 000195_10.png
β”œβ”€β”€ infer.py
└── infer_onnx.py

Prerequisites

  1. Environment: Ensure you have the required Python environment activated with the following core packages installed:
  1. Model/Data: Ensure the compiled .axmodel, and input stereo pairs are available on the host.

Inference Command

Run the inference script by providing the compiled model, and input data.

python3 infer.py --left examples/left/000051_11.png --right examples/right/000051_11.png --model raft_steoro256x640_r1_npu2.axmodel --width 640 --height 256

Inference with AX630C Host

Results

The model generates a dense disparity map representing the depth of the scene.

(base) root@ax630c:~/data# /python3 infer.py --left examples/left/000051_11.png --right examples/right/000051_11.png --model raft_steoro256x640_r4_npu2.axmodel --width 640 --height 256
[INFO] Available providers:  ['AxEngineExecutionProvider']
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Chip type: ChipType.MC20E
[INFO] VNPU type: VNPUType.DISABLED
[INFO] Engine version: 2.7.2a
[INFO] Model type: 1 (full core)
[INFO] Compiler version: 5.1-patch1-dirty e0fdc66b-dirty
Saved: output-ax.png

Example Visualization