This repository provides analysis of different segmentation CoreML models on predicting water surface. CoreML models were originally trained with PyTorch and later converted to CoreML from .pth. You can find the main repository for more information about how these models were constructed, trained with PyTorch and converted to CoreML. Currently, only linknet-mobilenetv2.mlmodel is available in the repository since other models exceed 25Mb threshold.
The test video used in the illustrations below is recorded via Iphone XR camera and the mask prediction is computed in real-time.
Real-time water surface segmentation using different encoder-decoder pairs on iPhone XR | ||
![]() |
![]() |
|
![]() |
![]() |
Layer distributions of CoreML models | |
![]() linknet-mobilenetv2.mlmodel |
![]() linknet-resnet18.mlmodel |
![]() unet-mobilenetv2.mlmodel |
![]() unet-resnet18.mlmodel |
The XCODE project in this repository is directly built on ESPNetv2-COREML repository with no major change. Many thanks to sacmehta for providing the Swift environment. It enabled me to run my trained CoreML models from the repository WaterSegNets succesfully.