Skip to content

lizhuo1414/yolox_ros

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yolox_ros

ROS wrapper for YOLOX for spalling detection.

Installation

This package uses python 3, so you must create a separate catkin workspace that's compatible with python 3 if your ROS version still uses python 2. (Based on this guide How to setup ROS with Python 3)

  1. Install these dependencies:

First, let's install some tools we’ll need for the build process

sudo apt-get install python3-pip python3-yaml python-catkin-tools python3-dev python3-numpy python3-catkin-pkg-modules python3-rospkg-modules
sudo pip3 install rospkg catkin_pkg

Now, create new catkin_ws_py3 to avoid any future problems with catkin_make(assuming you are using it) and config catkin to use your python 3(3.6 in my case) when building packages:

mkdir ~/catkin_ws_py3 && cd ~/catkin_ws_py3 && mkdir src
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
catkin config --install

clone official vision_opencv repo:

cd ~/catkin_ws_py3
cd src
git clone -b melodic https://github.com/ros-perception/vision_opencv.git

Build tf2_ros using Python3

wstool init
wstool set -y src/geometry2 --git https://github.com/ros/geometry2 -v 0.6.5
wstool up
rosdep install --from-paths src --ignore-src -y -r
  1. recursively clone the YOLOX ROS wrapper repository to your src folder in your new catkin workspace.
cd ~/catkin_ws_py3/src
git clone --recursive https://github.com/zaalsabb/yolox_ros.git
  1. Install all the requirement for the YOLOX repository.
cd ~/catkin_ws_py3/src/yolox_ros/src/YOLOX
pip3 install -r requirements.txt
  1. Configure and build the catkin workspace using catkin_make.
cd ~/catkin_ws_py3
catkin_make --cmake-args \
            -DCMAKE_BUILD_TYPE=Release \
            -DPYTHON_EXECUTABLE=/usr/bin/python3 \
            -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m \
            -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
catkin config --install
catkin_make

Note: you need to run the setup file each time you open a new terminal, since yolox_ros cannot be started from a launch file in other catkin workspaces.

cd ~/catkin_ws_py3
source devel/setup.sh

Edit the ~/.bashrc file and add the following lines (replace melodic with kinetic if you are on Ubuntu 16):

source /opt/ros/melodic/setup.bash
source ~/catkin_ws_py3/devel/setup.bash

Usage

Open a new terminal, then enter the following:

source ~/catkin_ws_py3/devel/setup.sh
roslaunch yolox_ros yolox.launch

Topics and Parameters:

Topic Type Description
/image sensor_msgs/Image Input image.
/bounding_boxes BoundingBoxes The set of bounding boxes of objects detected in the image. See darknet_ros_msgs
/debug/image sensor_msgs/Image Image with all the detected bounding boxes. Used for debugging.
Parameter Description
~model The absolute path to the ONNX model used for detection.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 87.8%
  • C++ 7.8%
  • CMake 4.4%