Add FCN Model for Segmentation
See original GitHub issueShort Description A fresh issue to discuss the implementation of the Fully Convolutional Network for Semantic Segmentation paper Last discussed here in #1099 As mentioned in Roadmap for Q4 2022
Papers Fully Convolutional Network for Semantic Segmentation - 34479 citations, 222 mentions (from arXiv scite_ tool)
Results from paper for task : Semantic Segmentation
Model Backbone | MeanIOU |
---|---|
FCN - AlexNet | 39.8 |
FCN - VGG16 | 56.0 |
FCN - GoogLeNet | 42.5 |
Existing Implementations
Other Information I think we should have a discussion on the API for the model. Backbones can vary significantly for this model although an almost-standardized method uses the VGG16 and VGG19 models.
@IMvision12 has already begun working on a draft implementation for the VGG16 backbone. We will be collaborating and co-authoring this model.
We can keep the ResNet-50, VGG16 and VGG19 models as supported backbones for the model with their model configs present for use.
Would we want to allow custom backbones? If so, how would we do that?
- Extract convolutional layers/blocks from an existing
tf.keras.Model
instance passed as a parameter, which would presumably be a plain CNN. - Custom, list-based parameters such as
depth_kernel_sizes
,depth_num_filters
, anddepth_padding_modes
which would be then used to generate the backend in an iterative fashion. - Accept a list of
tf.keras.layers.Conv2D
/tf.keras.Sequential
which would themselves be the backbones’ implementation
Issue Analytics
- State:
- Created 9 months ago
- Reactions:1
- Comments:9 (1 by maintainers)
Top GitHub Comments
We would like all our meta architectures (detection architectures, segmentation architectures, and any future architectures) to take custom backbones
That’s planned for object detection, and IMO, should be for semantic segmentation too if not already. In #1128, the default backbone is a ResNet101, but the user can supply a
keras_cv.models.Model
and define the layer names to be used for low-level and high-level feature maps.For example: