Thanks to visit codestin.com
Credit goes to github.com

Skip to content

retinify/retinify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

l![C++20](https://img.shields.io/badge/C++20-FFD700?style=flat-square&logo=c%2B%2B&logoColor=black)
ogo

UBUNTU 24.04 UBUNTU 22.04 JETPACK 6 Release C++
X LinkedIn YouTube

retinify

πŸš€ Real-Time AI Stereo Vision Library

Retinify is an advanced AI-powered stereo vision library designed for robotics. It enables real-time, high-precision 3D perception by leveraging GPU and NPU acceleration.

Why retinify?

  • πŸ”₯ High Precision: Delivers real-time, accurate 3D mapping and object recognition from stereo image input.
  • ⚑ Fast Pipeline: All necessary computations run seamlessly on the GPU, enabling real-time performance.
  • πŸŽ₯ Camera-Agnostic: Accepts stereo images from any rectified camera setup, giving you the flexibility to use your own hardware.
  • πŸ’° Cost Efficiency: Runs using just cameras, enabling depth perception with minimal hardware cost.
  • 🌐 Minimal Dependencies: The pipeline depends only on CUDA Toolkit, cuDNN, and TensorRT, providing a lean and production-grade foundation.

License

Use of retinify is governed by the current retinify End User License Agreement.
By cloning, building, installing, or using retinify, you agree to the EULA.
If you do not agree, you must not use or update retinify.

For common questions, see the FAQ.

Basic Usage

Important

Retinify is independent of OpenCV and supports various image data types.

#include <retinify/retinify.hpp>
#include <opencv2/opencv.hpp>

// LOAD INPUT IMAGES
cv::Mat leftImage = cv::imread("path/to/left.png");
cv::Mat rightImage = cv::imread("path/to/right.png");

// PREPARE OUTPUT CONTAINER
cv::Mat disparity = cv::Mat::zeros(leftImage.size(), CV_32FC1);

// CREATE STEREO MATCHING PIPELINE
retinify::Pipeline pipeline;

// INITIALIZE THE PIPELINE
pipeline.Initialize(leftImage.cols, leftImage.rows);

// EXECUTE STEREO MATCHING
pipeline.Execute(leftImage.ptr<uint8_t>(), leftImage.step[0],
                 rightImage.ptr<uint8_t>(), rightImage.step[0]);

// RETRIEVE DISPARITY
pipeline.RetrieveDisparity(disparity.ptr<float>(), disparity.step[0]);

Getting Started

πŸ“– retinify documentation β€” Developer guide and API reference.

  • πŸ“₯ Installation Guide
    Step-by-step guide to build and install retinify.

  • πŸ”¨ Tutorials
    Hands-on examples to get you started with real-world use cases.

  • 🧩 API Reference
    Detailed class and function-level documentation for developers.

Supported Backends

🎯 Target βš™οΈ Env πŸ“¦ Status
target-tensorrt10 env-cuda12 build-tensorrt10-cuda12-badge
target-tensorrt10 env-cuda13 build-tensorrt10-cuda13-badge
target-tensorrt10 env-jetpack6 build-tensorrt10-jetpack6-badge

Pipeline Latencies

Latency includes the time for image upload, inference, and disparity download, reported as the median over 10,000 iterations (measured with retinify::Pipeline).
These measurements were taken using each setting ofβ€―retinify::DepthMode.

Note

Results may vary depending on the execution environment.

DEVICE \ MODE FAST BALANCED ACCURATE
NVIDIA RTX 3060 3.925ms / 254.8FPS 4.691ms / 213.2FPS 10.790ms / 92.7FPS
NVIDIA Jetson Orin Nano 17.462ms / 57.3FPS 19.751ms / 50.6FPS 46.104ms / 21.7FPS

Third-Party

For a list of third-party dependencies, please refer to NOTICE.md.

Contact

For all inquiries, including support, collaboration, and EULA-related matters, please contact:
[email protected]