Code Monkey home page Code Monkey logo

yolov7-ros's Introduction

ROS package for official YOLOv7

YOLOv7 Berkeley DeepDrive

This repo contains a ROS noetic package for the official YOLOv7. It wraps the official implementation into a ROS node (so most credit goes to the YOLOv7 creators).

Note

There are currently two YOLOv7 variants out there. This repo contains the implementation from the paper YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors.

Requirements & Getting Started

Following ROS packages are required:

First, clone the repo into your catkin workspace and build the package:

git clone https://github.com/lukazso/yolov7-ros.git ~/catkin_ws/src/
cd ~/catkin_ws
catkin build yolov7_ros

The Python requirements are listed in the requirements.txt. You can simply install them as

pip install -r requirements.txt

Download the YOLOv7 weights from the official repository.

Berkeley DeepDrive weights: I trained YoloV7 with a basic hyperparameter set (no special hyperparameter optimization) on the Berkeley DeepDrive dataset. You can download the weights here.

The package has been tested under Ubuntu 20.04 and Python 3.8.10.

Usage

Before you launch the node, adjust the parameters in the launch file. For example, you need to set the path to your YOLOv7 weights and the image topic to which this node should listen to. The launch file also contains a description for each parameter.

roslaunch yolov7_ros yolov7.launch

Each time a new image is received it is then fed into YOLOv7.

Visualization

You can visualize the yolo results if you set the visualize flag in the launch file. Also, with the classes_path parameter you can provide a .txt file with the class labels. An example file is provided in berkeley.txt or coco.txt.

Notes

  • The detections are published using the vision_msgs/Detection2DArray message type.
  • The detections will be published under /yolov7/out_topic.
  • If you set the visualize parameter to true, the detections will be drawn into the image, which is then published under /yolov7/out_topic/visualization.

Coming Soon

  • ROS2 implementation

yolov7-ros's People

Contributors

jap3th avatar lukazso 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.