A simple package for fetching and performing simple analysis on traffic lights in a streamed video
Author: Elmar Abbasov
Maintainer: abbasov.elmar94@gmail.com
The traffic_light_fetcher package has been tested under ROS Kinetic and Ubuntu 16.04.
-
video_stream_opencv (to publish a video stream)
sudo apt install ros-kinetic-video-stream-opencv
To build from source, clone the latest version from this repository into your catkin workspace and compile the package using
cd catkin_workspace/src
git clone https://github.com/ubicray/traffic_light_fetcher
cd ../
catkin build traffic_light_fetcher
Before using you'll need to add a video and pre-trained tensorflow model into a folder called include in the package's directory
For ease of use you can download this archive which has a pre-trained model and the video I tested this package with included - Google drive link
Run the main node with
roslaunch traffic_light_fetcher run_all.launch
- run_all.launch: For running all the nodes for seeing how the package works
Grabs images from a streamed image and extracts details about traffic lights in the picture
/videofile/image_raw(sensor_msgs/Image)
-
/traffic_light_detected(std_msgs/Bool) -
/traffic_light_size(geometry_msgs/Vector3)
-
/traffic_light_detected(std_msgs/Bool) -
/traffic_light_size(geometry_msgs/Vector3)
/zone_height(std_msgs/Float32)
- Ubuntu 16.04
- ROS kinetic
- Nvidia drivers 418.87
- i7-7700
- GTX 1070
- CUDA 10.1
https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API https://www.youtube.com/watch?v=7OtcVQ8H2BQ (Video used for testing)

