Skip to content

proof-of-concept program that detects rail-track with semantic segmentation for autonomous train system

License

Notifications You must be signed in to change notification settings

xmba15/rail_marking

Repository files navigation

DOI

📝 proof-of-concept rail marking detections for autonomous train system


This project implements rail-track detection using fast semantic segmentation for high-resolution images from bisenetv2 algorithm.

The author of bisenetv2 has not made the official implementation public so the implementation in this project might yeild different performance with the network introduced in the original paper.

This project trains bisenetv2 on a modified version of RailSem19 dataset with only three labels ("rail-raised", "rail-track", "background"). Please follow here if you want to download the original dataset.

sample video result

🎉 TODO


  • Implement bisenetv2 and train on modified railsem19 dataset
  • Refine the semantic mask using connected components algorithm
  • Cluster the mask to obtain seperate railtrack

🎛 Dependencies


  • create rail_marking conda environment
    conda env create --file environment.yml
  • activate conda environment
    conda activate rail_marking

🏃 How to Run


Download trained weights from HERE.

  • Test single image
    python ./scripts/segmentation/test_one_image.py -snapshot [path/to/trained/weight] -image_path [path/to/image/path]

Sample segmentation result:

sample rail result

  • Test video

Download sample video from HERE.

The video was originally downloaded from this youtube channel.

    python ./scripts/segmentation/test_video.py -snapshot [path/to/trained/weight] -video_path [path/to/video/path]

The test result can be seen as the gif image above. The frame rate could reach 40fps, faster than needed for an autonomous system.

💎 References


About

proof-of-concept program that detects rail-track with semantic segmentation for autonomous train system

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages