Skip to content

Rust-based inference system for Thermal Infrared YOLO

License

Notifications You must be signed in to change notification settings

Pamasi/yolo_tir_rust

Repository files navigation

Contributors Forks Stargazers MIT License LinkedIn


Empowering safety in Thermal Imaging using Rust

An efficient framework to inference a UAV-based Thermal Imaging detector
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

ROS 2 package based on Rust to detect object from thermal cameras.

(back to top)

Built With

  • Rust
  • ROS2

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps. If you want to use docker skip the installation process.

Installation

  1. Install ros2_rust

  2. Create workspace folder in your home directory

    mkdir ~/workspace
  3. Define the environment variable for ONNX Runtime Version (to be changed for a custom YOLO)

    export ORT_VERSION=1.13.1
  4. Clone the repo into the folder ~/workspace

    git clone https://github.com/Pamasi/yolo_tir_rust.git ~/workspace/yolo_tir_rust
    
  5. Download ROS2 Dependencies

    vcs import src < ros2_rust_humble.repos
    . /opt/ros/humble/setup.sh
  6. Build the ROS 2 workspace

    colcon build 

Docker

  1. Install docker

  2. Install docker-compose

  3. Build the image

    docker build . -t ros2_rust
    
  4. Activate docker-compose in the background

    docker-compose up -d

(back to top)

Usage

Setup the workspace only when the docker volume is created for the first time

. setup_docker.sh

Every time a new onnx file is added

  1. Source the environment first
    . ros_entrypoint.sh
  2. Build the ROS 2 workspace
    colcon build 

(back to top)

Roadmap

  • Testing
  • Docker integration

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Paolo Dimasi - paolo.dimasi@outlook.com

Project Link: https://github.com/Pamasi/yolo_tir_rust

(back to top)

Acknowledgments

(back to top)

About

Rust-based inference system for Thermal Infrared YOLO

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published