Skip to content

LightStereo算法的c++实现,包括TensorRT、RKNN、OnnxRuntime

Notifications You must be signed in to change notification settings

zz990099/lightstereo_cpp

Repository files navigation

lightstereo_cpp

About This Project

该项目是LightStereo算法的c++实现,包括TensorRTRKNNOnnxRuntime三种硬件平台(推理引擎),并对原工程OpenStereo/LightStereo导出onnx的代码进行了优化,提高其在非nvidia平台的性能。

Features

  1. 支持多种推理引擎: TensorRTRKNNOnnxRuntime
  2. 支持异步、多核推理,算法吞吐量较高,特别是RK3588平台

Demo

1 1
left image disp in color

以下带有opt标志的代表在原工程OpenStereo基础上,优化模型结构后导出的onnx模型,具体请查看issue_link.

带有async标志的代表使用异步流程进行推理。

nvidia-3080-laptop qps cpu
lightstereo(fp16) - origin 388 150%
lightstereo(fp16) - opt 370 150%
lightstereo(fp16) - origin - async 418 170%
lightstereo(fp16) - opt - async 390 170%
jetson-orin-nx-16GB qps cpu
lightstereo(fp16) - origin 70 65%
lightstereo(fp16) - opt 65 70%
lightstereo(fp16) - origin - async 76 80%
lightstereo(fp16) - opt - async 69 85%
orangepi-5-plus-16GB qps cpu
lightstereo(fp16) - origin 3.7 65%
lightstereo(fp16) - opt 9 35%
lightstereo(fp16) - origin - async 14 210%
lightstereo(fp16) - opt - async 29 90%
intel-i7-11800H qps cpu
lightstereo(fp16) - origin 7 800%
lightstereo(fp16) - opt 9 800%

Usage

Download Project

下载git项目

git clone [email protected]:zz990099/lightstereo_cpp.git
cd lightstereo_cpp
git submodule init && git submodule update

Build Enviroment

使用docker构建工作环境

cd lightstereo_cpp
bash easy_deploy_tool/docker/build_docker.sh --platform=jetson_trt8_u2004 # or jetson_trt8_u2204, nvidia_gpu, rk3588
bash easy_deploy_tool/docker/into_docker.sh

Compile Codes

在docker容器内,编译工程. 使用 -DENABLE_*宏来启用某种推理框架,可用的有: -DENABLE_TENSORRT=ON-DENABLE_RKNN=ON-DENABLE_ORT=ON,可以兼容。

cd /workspace
mdkir build && cd build
cmake .. -DBUILD_TESTING=ON -DENABLE_TENSORRT=ON
make -j

Convert Model

在docker容器内,运行模型转换脚本

cd /workspace
bash tools/cvt_onnx2trt.sh
# 或者运行python脚本,将模型转换为rknn

Run Test Cases

运行测试用例,具体测试用例请参考代码。

cd /workspace/build
./bin/simple_tests --gtest_filter=*correctness
# 限制GLOG输出
GLOG_minloglevel=1 ./bin/simple_tests --gtest_filter=*speed

References

About

LightStereo算法的c++实现,包括TensorRT、RKNN、OnnxRuntime

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published