• Stars
    star
    104
  • Rank 328,642 (Top 7 %)
  • Language
    Python
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ROS package for semantic segmentation

ros-semantic-segmentation

A generalized semantic segmentation package for ROS that is agnostic to deep learning framework and model.

Three models are provided. All are extremely lightweight, fast models so they can be included inside the repo without asking you to download some zip file from DropBox. They are not the most accurate models. You can implement your own following the examples.

TensorFlow models

  • mnv2_bdd100k_driveable_513 -- TensorFlow >= 1.11, Deeplab V3+ on a MobileNet v2 backbone, trained on BDD100K driveable area, 513x513 input size.
  • mnv2_coco2017_driving -- TensorFlow >= 1.11, Deeplab V3+ on a subset of 13 COCO2017 classes related to driving
  • mnv2_dm05_voc -- TensorFlow >= 1.11, Deeplab V3+ on VOC 2012 classes (pretrained Google model mnv2_dm05_coco_voc_trainaug).

PyTorch models

  • espnetv2_bdd100k_driveable -- PyTorch, ESPNETv2 on BDD100K driveable area, 1024x512 input size, scale 1.0.

To implement another model, you can follow these examples. You need to create a new directory under models and have a class called Model inside init.py that implements infer().

screenshot screenshot1

Try it

rosrun semantic_segmentation segmentation_node __ns:=/camera

Parameters:

  • model (string) -- name of the model to use. Defaults to "mnv2_bdd100k_driveable_513".
  • rate (float) -- the maximum frame rate to run inferences. Default to 30.0. Note that if your system is too slow, it will run at the maximum speed possible while dropping frames.
  • topic_image (string) -- topic to listen for images. Defaults to "image_raw".
  • topic_semantic (string) -- topic to output semantic predictions. Defaults to "semantic". Outputs a mono8 image indicating semantic classes at each pixel.
  • topic_semantic_color (string) -- topic to output a colored RGB version of the semantic predictions for visualization purposes. Defaults to "semantic_color". Outputs a rgb8 image.

When the node is initialized, it will set an additional ROS parameter semantic_categories as is defined in the chose model. This parameter can be read by other nodes to know which IDs correspond to which classes.

Subscribers:

  • image_raw (sensor_msgs/Image)

Publishers:

  • semantic (sensor_msgs/Image)
  • semantic_color (sensor_msgs/Image)

Disclaimer

This is not intended to be used for production autonomous vehicles. This is provided "as-is" for educational purposes. I am not liable for any damage or injury that may result from the use of this software.

More Repositories

1

rosshow

Visualize ROS topics inside a terminal with Unicode/ASCII art
Python
1,041
star
2

rosboard

ROS node that turns your robot into a web server to visualize ROS topics
JavaScript
833
star
3

android-wearcamera

Remotely control a phone camera with an Android Wear smartwatch
Java
170
star
4

shoji-lamps

OpenSCAD
167
star
5

bokeh-camera

C++
107
star
6

magicimport.py

Python
95
star
7

rospy2

Python
85
star
8

mnist-clock

A clock that displays digits using randomly selected MNIST digits.
Python
81
star
9

ros-imu-bno055

ROS package for the BNO055 IMU via I2C
C++
77
star
10

android-wearface-matrix

"The Matrix" watch face for Android Wear
Java
76
star
11

scripts

personal scripts to make life easier
Python
67
star
12

fooplot

LGPL JavaScript embeddable graphing calculator with Google maps style panning and other features.
JavaScript
61
star
13

ros-pwm-pca9685

ROS package for PCA9685 16-channel PWM driver, used in motor and LED applications
C++
47
star
14

python-termgraphics

Library to draw Unicode braille art in a terminal
Python
39
star
15

android-wearmaps

Pannable maps for Android Wear
Java
37
star
16

android-attopedia

A smartwatch-friendly interface for Wikipedia
Java
32
star
17

android-sesame

Door opener
Java
30
star
18

shadow-clock

a wall clock
OpenSCAD
29
star
19

python-fordreader

Python library to read steering wheel angles and more from a Ford car over OBD
Python
26
star
20

aqi-monitor

Python
26
star
21

robot-luxo

JavaScript
25
star
22

robot-botparty

CSS
22
star
23

iceland-thermal

Python
19
star
24

roscpp2

C++
15
star
25

android-googlepinyin-dvorak

Dvorak version of Google Pinyin for Android
Smali
14
star
26

ros2-wifi-geolocation

Python
10
star
27

roslite.js

JavaScript
8
star
28

ros-power-ina219

ROS node for Texas Instruments INA219 current/power monitor
C++
8
star
29

big-yellow-proxxon-mf70-conversion

Proxxon MF70 mini-mill CNC conversion with 3D printed parts including y- and z-axis extensions
OpenSCAD
8
star
30

first-photon-imaging

first photon imaging
MATLAB
7
star
31

web-dheeranet

Personal website
HTML
6
star
32

ros-ford-can

ROS node for Ford vehicles to read steering wheel angle, speed, and much more over CAN
Python
5
star
33

robot-europa

ADAS system based on Jetson Xavier
C++
5
star
34

python-belleds

Python implementation of the Belleds API
Python
5
star
35

phd-thesis

phd-thesis
TeX
4
star
36

ros-motor-pololu-qik

ROS package for Pololu Qik motor controllers
C++
3
star
37

ros-motor-romeo-quad

ROS driver for Romeo BLE Quad
C++
3
star
38

ros2-home-assistant

Python
2
star
39

web-sustainabilitysummit

MIT Sustainability Summit website
Python
2
star
40

ros-motor-roboteq-modbus

C++
2
star
41

ros-system-stats

ROS package providing simple system statistics e.g. CPU, GPU usage
Python
2
star
42

watchdog

C++
1
star
43

hydraharp-tools

GNU C file reader for PicoQuant Hydraharp binary files (for Time-Correlated Single Photon Counting)
C
1
star
44

lists-of-things

1
star
45

ros-pynodelet

Python
1
star
46

photo-hacks

cameras + motors + arduinos
Arduino
1
star
47

ros-lidar-avoidance

C++
1
star
48

iot-arduino

C++
1
star
49

install-scripts

Because everything is so complicated to install these days.
Shell
1
star
50

dheera.github.io

JavaScript
1
star
51

ros-imu-bno055-arduino

C++
1
star