Me and my colleague have been working on a small POC for Background removal. We used semantic segmentation trained on selfies, and documented the process of training and deploying a Keras model with Docker, Heroku and a Gitlab CI in 3 posts:<p><a href="https://greenscreen-ai.boorgle.com" rel="nofollow">https://greenscreen-ai.boorgle.com</a> Server side implementation
<a href="https://greenscreen-ai-client.boorgle.com" rel="nofollow">https://greenscreen-ai-client.boorgle.com</a> Client side implementation using KerasJS<p>Training post
<a href="https://medium.com/@gidishperber/background-removal-with-deep-learning-c4f2104b3157" rel="nofollow">https://medium.com/@gidishperber/background-removal-with-dee...</a><p>Deploying Keras model to Heroku with Gitlab CI
<a href="https://medium.com/@burgalon/deploying-your-keras-model-35648f9dc5fb" rel="nofollow">https://medium.com/@burgalon/deploying-your-keras-model-3564...</a><p>KerasJS client side post
<a href="https://medium.com/@burgalon/deploying-your-keras-model-using-keras-js-2e5a29589ad8" rel="nofollow">https://medium.com/@burgalon/deploying-your-keras-model-usin...</a><p>Server side source code
<a href="https://gitlab.com/fast-science/background-removal-server" rel="nofollow">https://gitlab.com/fast-science/background-removal-server</a><p>Client side post
<a href="https://gitlab.com/fast-science/background-removal-vue" rel="nofollow">https://gitlab.com/fast-science/background-removal-vue</a>
When I tried the client side version on the same image, it wasn't good compared to the server side. Are you using a different model on the client?