Estoy usando la biblioteca Pixellib en Python para detectar a una persona y cambiar su fondo, como se muestra en su ejemplo aquí .
Funciona a la perfección, pero requiere una gran potencia de procesamiento en mi computadora portátil, junto con su modelo pascalvoc grande (~ 150 mb), por lo que genera una imagen en aproximadamente 4-5 segundos.
Necesito poder hacer lo mismo a través de una aplicación de teléfono móvil, por lo que ciertamente esto no se puede ejecutar en el móvil de un usuario. La alternativa es ejecutar esto en la nube y devolver la imagen procesada. Esto es costoso si aumentan las solicitudes de los usuarios y aún tendrá un retraso notable en la aplicación del usuario.
Entonces, ¿cómo lograr esto? Las aplicaciones como Canva Pro parecen hacer esto sin problemas en una aplicación con bastante rapidez . De hecho, hay muchas otras aplicaciones 'gratuitas' en Play Store que afirman hacer lo mismo.
Por lo tanto, ¿hay una mejor manera de ejecutar Pixellib para que tenga un mejor rendimiento? ¿O alguna otra biblioteca que pueda proporcionar una salida similar (o mejor) y pueda ejecutarse en el dispositivo móvil del usuario?
Hay remove.bg
Es la herramienta más fácil para eliminar el fondo automáticamente.
Código de ejemplo:-https://www.remove.bg/api#sample-code
Capturas de pantalla:
Aquí hay un ejemplo de hacer en Python:
# Requires "requests" to be installed (see python-requests.org) import requests response = requests.post( 'https://api.remove.bg/v1.0/removebg', files={'image_file': open('/path/to/file.jpg', 'rb')}, data={'size': 'auto'}, headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'}, ) if response.status_code == requests.codes.ok: with open('no-bg.png', 'wb') as out: out.write(response.content) else: print("Error:", response.status_code, response.text) Dado que está utilizando python , este https://github.com/brilam/remove-bg de @brilam lo ayudará.
Es un envoltorio de API de Python para eliminar fondos de la imagen usando la API de remove.bg. Pero también ofrece una herramienta de línea de comandos basada en go :-https://github.com/remove-bg/go
Además de eso, hay muchas otras bibliotecas de código abierto para python en GitHub para su referencia:
https://github.com/topics/background-removal?l=python
Además, puedes probar,
https://github.com/danielgatis/rembg
O, consulte el artículo de investigación para su comprensión: https://arxiv.org/pdf/2005.09007.pdf