Cómo segmentar una image en iOS para eliminar el background y conservar la image de primer plano

Necesito segmentar una image en ios para una aplicación de moda manteniendo solo la image de primer plano y eliminando toda otra parte de background de la image que debería parecerse a una herramienta para eliminar el background de las imágenes en varias herramientas de edición de fotos, por favor ayúdenme.

La sustracción de background general es un problema no resuelto, por lo que get resultados perfectos será un gran esfuerzo. Dicho eso, probablemente puedas acercarte. Aquí hay un par de vías sugeridas:

  1. Supongo que tu aplicación colocará ropa en un ser humano, o algo por el estilo. En lugar de get una segmentación perfecta, ejecute un detector de persona , elimine toda la image excepto la persona detectada y ajuste un model humano basado en partes a la image restante. Luego, tiene la pose de la persona y puede hacer el procesamiento de su image en consecuencia.

  2. Permita que el usuario ingrese algunos trazos desde el primer plano y algunos trazos desde el background, y ejecute un algorithm de segmentación de imágenes basado en cortes de charts en el marco.

  3. Comience su process haciendo que el usuario no esté presente en su transmisión de video. A partir de esto, aprende la distribución de background (comienza con un histogtwig simple de píxeles de background, hay esquemas mucho más elaborados pero necesitas un lugar de inicio). Luego, cuando el usuario ingrese a la escena, cree una image binaria que contenga los componentes conectados que no encajan en la distribución de background aprendida. Esto no será perfecto, pero comenzará a ver algo parecido a una image binaria donde los píxeles blancos son su usuario, y los píxeles negros son el background. Use los operadores de morfología para join a cualquier componente conectado grande que esté ligeramente separado, y limite su image para eliminar pequeños ruidos en la image, de cosas como objects especulares y cambios de iluminación.

Como dije (y se menciona en los comentarios), este no es un problema fácil, pero se puede llegar a una buena aproximación si se pone un poco de time. Sugiero el tercer método que enumeré. Es factible, y puede dividirse en pequeñas partes para que pueda saber cuándo está progresando.

¡Buena suerte!