This repository includes training and inference code, as well as pre-trained weights for semantic segmentation of early life history stages of some species. Semantic segmentation is achieved through popular encoder-decoder architectures such as UNet and DeepLab V3. Currently there are only weights available for the segmentation of embryos of Lymnaea stagnalis, though this could be extended to other species with suitable training data. Results of these models are shown below as well as the links to the pre-trained models:
Performance of different models on Lymnaea stagnalis embryo segmentation
name | resolution | binary iou | #params | model |
---|---|---|---|---|
UNet | 256x256 | 96.2 | 8M | model |
UNet++ | 256x256 | 88.5 | 5M | model |
UNet3+ | 256x256 | 95.3 | 11M | model |
SegNet | 256x256 | 96.1 | 18M | model |
FCN | 256x256 | 93.9 | 33M | model |
PSPNet | 256x256 | 95.5 | 7M | model |
DeepLabV3+ | 256x256 | 95.8 | 11M | model |
HRNetV2 | 256x256 | 95.9 | 9M | model |
If you want to reproduce the results above, simply download and extract the Lymnaea dataset included in the v0.1 release, and run the train_embryo.ipynb
notebook with this data.
Images and annotations for training are included in this repository in the release with model weights - you can download the dataset using the following link. Note that the images used for this dataset were captured with the OpenVim phenotyping platform.