/PyTorch_FCN

Primary LanguageJupyter NotebookMIT LicenseMIT

Fully Convolutional Networks for semantic segmentation

PyTorch implementation of Fully Convolutional Networks for Semantic Segmentation.

Usage

Training

1 Create a new folder and put training and validation data.
2 Write training config in "args.json".
3 python train.py
4 Start training.

Prediction

1 Create a new folder and put test data.
2 Write predict config in "args.json".
3 python predict.py
4 Start prediction and show result images.

args.json

{
    "train": {
        "model": "FCN8s",
        "train_img_dir": "data/train/img",
        "train_gt_dir": "data/train/gt",
        "val_img_dir": "data/val/img",
        "val_gt_dir": "data/val/gt",
        "epochs": 1,
        "batch_size": 24,
        "log_dir": "log"
    },
    "predict": {
        "model": "FCN8s",
        "img_dir": "data/val/img",
        "log_dir": "log",
        "weight_path": "log/fcn8s.pt"
    }
}

Results

Left : Input image
Center : GT
Right : Predicted image
prediction1

prediction2

prediction3

prediction4

accuracy(PASCAL VOC2012)

acc

loss(PASCAL VOC2012)

loss