!! update ported some of the network to pytorch for it's easier to convert to ncnn. Check it here: mobile phone portrait matting
Implement some light weight hair segmentation network with keras which can be used on mobile devices easily.
- [DeeplabV3plus]: MobileNetV2 as the encoder
- PrismaNet: network architecture as described in the Prisma-AI blog
- FastDeepMatting
- PrismaNet + FastDeepMatting: base PrismaNet architecture plus the feathering block in fast deep matting
Matting methods used channel split operation which is unportable to CoreML as I wrote.
I have also use this model to predict hair color with tensorflow serving. Follow instructions bellow.
- Use this scripts to
python serving/keras_to_serving.py
generate model used for tensorflow serving deployment. - Prepare tensorflow serving environments. Please refer to README.md
- port to iOS using CoreML Hair_Segmentation_iOS
- tutorial about how to serve the model using tensorflow serving and use the results for hair color prediction. Hair Color Predict Using TensorFlow Serving
- update to TensorFlow2.0 Keras API