Giter Club home page Giter Club logo

yolox-ros's Introduction

YOLOX-ROS

YOLOX + ROS2 Foxy demo

yolox_s_result

๐Ÿ”ผ Unity + YOLOX-ROS Demo

Supported List

Base ROS2 C++ ROS2 Python
PyTorch โœ…
PyTorch(CUDA) โœ…
PyTorch(CUDA-FP16) โœ…
TensorRT (CUDA) โœ…
OpenVINO โœ… โœ…
ONNX Runtime โœ…
TFLite โœ…

Installation & Demo

Python (PyTorch)

Requirements

Installation

Install the dependent packages based on all tutorials.

STEP 1 : Download from GitHub

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/Ar-Ray-code/yolox_ros.git --recursive

STEP 2 : YOLOX Installation (yolox_ros_py)

pip3 install yolox

STEP 3 : Install YOLOX-ROS

source /opt/ros/foxy/setup.bash
sudo apt install ros-foxy-v4l2-camera
# source /opt/intel/openvino_2021/bin/setupvars.sh # <- Using OpenVINO
colcon build --symlink-install # weights (YOLOX-Nano) files will be installed automatically.

Automatic download weights

(Step 3) Using CUDA

If you have NVIDIA Graphics, you can run YOLOX-ROS on GPU.

Additional installing lists

  • NVIDIA Graphics Driver
  • CUDA toolkit (11.0)
  • torch+cuda
source /opt/ros/foxy/setup.bash
sudo apt install ros-foxy-v4l2-camera
colcon build --symlink-install # weights (YOLOX-Nano) files will be installed automatically.

Step : Demo

Connect your web camera.

source /opt/ros/foxy/setup.bash
source ~/ros2_ws/install/local_setup.bash
ros2 launch yolox_ros_py yolox_nano_cpu.launch.py # <- CPU (PyTorch)
# ros2 launch yolox_ros_py yolox_nano.launch.py # <- GPU (PyTorch)
# ros2 launch yolox_ros_py yolox_nano_onnx.launch.py # <- ONNXRuntime

# OpenVINO -------------------------------------
# source /opt/intel/openvino_2021/bin/setupvars.sh
# ros2 launch yolox_ros_py yolox_nano_openvino.launch.py
C++

Check this URL.



Topic

Subscribe

  • image_raw (sensor_msgs/Image)

Publish

  • bounding_boxes: Output BoundingBoxes like darknet_ros_msgs (bboxes_ex_msgs/BoundingBoxes)

    โ€ป If you want to use darknet_ros_msgs , replace bboxes_ex_msgs with darknet_ros_msgs.

yolox_topic


Parameters

  • Check launch files.

Composition

  • Supports C++ only.

YOLOX-ROS + ?

Examples

Web Camera (v4l2-camera)

ros2 launch yolox_ros_py yolox_nano_onnx.launch.py video_device:=/dev/video0

Unity

yolox_s_result

Gazebo

ros2 launch yolox_ros_py yolox_nano_onnx_gazebo.launch.py

YouTube

# git clone https://github.com/Ar-Ray-code/YOLOX-ROS.git --recursive
vcs import . < YOLOX-ROS/youtube-publisher.repos
pip3 install -r YOLOX-ROS/requirements.txt
pip3 install -r YouTube-publisher-ROS2/requirements.txt
cd ..
colcon build --symlink-install --pacakges-select yolox_ros_py bboxes_ex_msgs youtube_publisher
source install/setup.bash

# run launch.py
ros2 launch yolox_ros_py yolox_nano_onnx_youtube.launch.py


Reference

@article{yolox2021,
  title={YOLOX: Exceeding YOLO Series in 2021},
  author={Ge, Zheng and Liu, Songtao and Wang, Feng and Li, Zeming and Sun, Jian},
  journal={arXiv preprint arXiv:2107.08430},
  year={2021}
}

Contributors


About writer

yolox-ros's People

Contributors

ar-ray-code avatar fateshelled avatar kazuhito00 avatar swiftfile avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.