SGSN: Supervised Generative Segmentation Network for semantic segmentation for all-day outdoor robot navigation