Semantic Segmentation easy code for keras users.
We use cityscape dataset for training various models.
Use pretrained VGG16 weight for FCN and U-net! You can download weights offered by keras.
- python 2 & 3
- tensorflow 1.5
- keras 2.1.4
- opencv 3.3
| File | Description |
|---|---|
| train.py | Train various models. |
| test.py | Predict one picture what you want. |
| dataest_parser/make_h5.py | Parse cityscape dataset and make h5py file. |
| dataest_parser/generator.py | Data_generator with augmentation using data.h5 |
| model/ | Folder that contains various models for semantic segmentation |
| segmentation_dh/ | Experiment folder for Anthony Kim(useless contents for users) |
| segmentation_tk/ | Experiment folder for TaeKang Woo(useless contents for users) |
| temp/ | Folder that contains various scripts we used(useless contents for users) |
We used only three classes in the cityscape dataset for a simple implementation.
Person, Car, and Road.
First, you have to make .h5 file with data!
python3 dataset_parser/make_h5.py --path "/downloaded/leftImg8bit/path/" --gtpath "/downloaded/gtFine/path/"After you run above command, 'data.h5' file will appear in dataset_parser folder.
Second, Train your model!
python3 train.py --model fcn| Option | Description |
|---|---|
| --model | Model to train. ['fcn', 'unet', 'pspnet'] |
| --train_batch | Batch size for train. |
| --val_batch | Batch size for validation. |
| --lr_init | Initial learning rate. |
| --lr_decay | How much to decay the learning rate. |
| --vgg | Pretrained vgg16 weight path. |
Finally, test your model!
python3 test.py --model fcn| Option | Description |
|---|---|
| --model | Model to test. ['fcn', 'unet', 'pspnet'] |
| --img_path | The image path you want to test |
- FCN
- Unet
- PSPnet
- DeepLab_v3
- Mask_RCNN
- Evauate methods(calc mIoU)
Anthony Kim: [email protected]
TaeKang Woo: [email protected]
