This repository contains a service for detecting train movement in a video stream from a camera. It is intended to be used on autonomous or semi-autonomous robotic vehicle that operates inside an industrial area with a railway branch line (industrial spur).
The robot can utilize this service each time it is about to cross a railway track on its route. Firstly, the robot must stop before the railway track, in order to allow the motion of the train to be distinguished from the movement of the video stream that is induced by the robot itself. Subsequently, Train Detector Service is called and it searches for any trains in the camera view and evaluates whether they are still or moving. This information can then be used by the robot to decide when it is safe to proceed with crossing the track.
Dockerfile is available in src/docker directory. Instructions for building and running docker image are in docker readme. Current version uploaded to DockerHub is 0.3.0 (see https://hub.docker.com/r/but5gera/era_5g_train_detection_standalone/tags).
If you want to install the application locally, instead of using docker, see local installation instructions.
Client code example is provided in client_no_middleware.py. To run the example script, following requirements need to be installed: era-5g-client (min. v0.11.0), era_5g_interface (min. v0.10.0)
pip install era-5g-client~=0.11.0 era_5g_interface~=0.10.0
- era-5g-interface - Python interface (support classes) for Net Applications.
- era-5g-client - client classes for 5G-ERA Net Applications with various transport options.