Keras implementation of Deeplab v.3 Model is based on the original TF frozen graph. It is possible to load pretrained weights into this model. Weights are directly imported from original TF checkpoint
Segmentation results of original TF model. Output Stride = 8
This result is obtained as an argmax applied to logits at exit layer
Segmentation results of this repo model with loaded weights and OS = 8
Results are identical to the TF model
Segmentation results of this repo model with loaded weights and OS = 16 Results are still good
How to use this model with custom input shape and custom number of classes:
from model import Deeplabv3
deeplab_model = Deeplabv3((512,512,3), num_classes=4, weighs = 'pascal_voc', OS=8)
After that you will get a usual Keras model which you can train using .fit and .fit_generator methods