Skip to content

C++ Pytorch Pixel-wise Segnet Trained on comma10k

License

Notifications You must be signed in to change notification settings

goldbattle/segnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Segnet

This project demonstrates training on the comma10k. Goal is to provide training and prediction with Pytorch C++ "libtorch" library. The specific network is a simple U-Net which outputs a [N, classes, W, H] size tensor. To find the classification for a given pixel, the argmax of the classes responses is calculated for each and correspond to the class.

Example Results

Right now there are 8908 images in the files_trainable with 976 for testing. It seems to perform ok after >20 epochs, but the fine detail seems to struggle. Training started at 4:53pm on March 13, 2022 and reached epoch 33 at 8:55pm (7 minutes per epoch) on a 1080Ti card. It would be interesting to perform evaluation only on "confident" network returns. Average loss of 0.0694 on test and 0.0549 on training data after 100 epochs. If dropout is used the average loss is 0.1060 on test and 0.0960 on training data after 100 epochs.

Input picture (left), groundtruth (top right), and prediction (bottom right)

Confidence in order for: Road, Lane markings, Undrivable, Movable, My car.

Dependencies

Training Yourself

Future Work / TODOs

  • Use the larger "trainable" image set link
  • Allow setting of max return prop
  • See if dropout in network helps
  • Compare against baseline: commaai/comma10k#2000
  • ROS subscriber / publish
  • ROS append to bag file