SD Model Dress Up: Inpaint Anything

Casos similares: https://cloud.tencent.com/developer/article/2365063

 

un ejemplo real

 

Una hermosa mujer con un vestido de novia blanco adornado con encaje, caminando por la playa al atardecer. Su cabello es suavemente levantado por la brisa, y ella está sosteniendo un ramo de rosas blancas. Su pelo es suavemente levantado por la brisa, y ella está sosteniendo un ramo de rosas blancas. pose dinámica, fotografía, obra maestra, mejor calidad, 8K, HDR, highres, absurdres: 1.2, Kodak portra portra 400, grano de la película, fondo borroso, bokeh: 1.2, grano de la película. fondo borroso, bokeh: 1.2, destello de lente

 

Revertir: nsfw, feo, pinturas, bocetos, (peor calidad:2), (baja calidad:2), (calidad normal:2), lowres

 

 

Por ejemplo, tiene fotos como esta de un maniquí vestido, que se tomó en nuestra propia sala de exposiciones.

SD模特换装:Inpaint Anything

plano de la azotea

 

Si puedes utilizar la Difusión Estable, no tardarás más de 10 minutos en sacar la primera foto.

SD模特换装:Inpaint Anything

 

 

 

Aunque haya que hacer ajustes, una hora es suficiente. Por ejemplo:

SD模特换装:Inpaint Anything

Generación de maniquíes Modelo vivo 1

 

SD模特换装:Inpaint Anything

Generación de maniquíes Modelo vivo 2

 

SD模特换装:Inpaint Anything

Generación de maniquíes Modelo vivo 2

 

 

 

I. Ideas para la generación real de diagramas hombre-plataforma

 

¿Qué hace falta para convertir una mesa de maniquí en una persona de verdad y conservar la ropa?

En este punto, los amigos familiarizados con la difusión estable dirá: lo sé, es utilizar la función Inpaint en el Tuchengtu, y luego hacer una máscara fuera de la ropa, por lo que la difusión estable repintado.

¿Cómo haces esa máscara? Si tienes que hacer el enmascaramiento con un trazo a mano que es demasiado lento, si ese es el caso no necesito salir con este en particular.

De nuevo, alguien dirá, ya sé, primero haz la máscara en photoshop y luego usa la función de redibujar máscara.

Es una forma de hacerlo, pero ahora podría ser más inteligente.

Hoy vamos a utilizar un plugin inpainting anything, para dar una foto, que coge la foto y la separa con bloques de color para diferentes cosas. Al final sólo tenemos que elegir qué bloques de color queremos convertir en máscaras, y de esta manera se hacen las máscaras.

La función de repintado se utiliza entonces para dar tamaño real al maniquí conservando la ropa.

 

SD模特换装:Inpaint Anything

 

 

Aunque la idea básica es ésta, si lo has hecho tú mismo, sabrás que sigue habiendo muchos baches por el camino.

Así que en este artículo, no sólo te mostraré de forma práctica cómo convertir un maniquí en una persona real, lo importante es que también te mostraré cómo relleno esos huecos.

Ahora te las explico todas.

 

 

II. Herramientas de preparación para la realización del modelo de mesa ficticia

 

Esta demostración utiliza la WebUI de Automatic 1111 con el modelo SD 1.5, así que ¡preparémonos!

 

Preparación 1: pintar cualquier cosa

 

 

En primer lugar, necesitará el plug-in Inpaint Anything, por favor, compruebe su WebUI de Automatic 1111 para ver si existe el plug-in Inpaint Anything, si no, por favor, instálelo.

SD模特换装:Inpaint Anything

 

 

Instalar inpaint cualquier cosa

Vaya a Instalar desde URL, introduzca

https://github.com/Uminosachi/sd-webui-inpaint-anything.git

 

Listo para instalar

SD模特换装:Inpaint Anything

 

Una vez instalado, vuelva a la pestaña de instalación y pulse Aplicar y salir.

SD模特换装:Inpaint Anything

 

 

Preparación 2: Modelos para Inpaint

 

En esta ocasión utilizaré epiCPhotoGasm para demostrar que la calidad del modelo sale como si lo hubiera tomado un maestro de la fotografía, lo que lo hace especialmente adecuado para su uso en lugares que requieren imágenes realistas.

 

En lugar de su modelo principal, hoy vamos a utilizar su modelo Inpaint.

SD模特换装:Inpaint Anything

 

Vaya al siguiente enlace para descargar su modelo Inpaint e instalarlo para su uso posterior.

https://civitai.com/models/132632?modelVersionId=201346

 

Preparación 3: Foto ficticia

 

 

Utilizaremos nuestro ejemplo

SD模特换装:Inpaint Anything

 

Esto fue tomado en su propia sala de exposición, se advirtió que es un maniquí negro, que causará algunos problemas más tarde. Teaser aquí primero.

Una vez que estas 3 cosas estén listas, podemos empezar.

 

 

III. Demostraciones operativas

 

En esta enseñanza se utiliza el modelo SD 1.5 para demostrar todo el proceso.

 

Paso 1: Seleccionar modelo SAM y descargar modelo

 

Pulsa la pestaña Inpaint Anything y verás una pantalla como ésta

SD模特换装:Inpaint Anything

 

Seleccione el ID del modelo de segmentación semántica a utilizar. Aquí elegimos el modelo sam_vit_l_0b3195.pth. Si acaba de instalarlo, estos modelos no se han descargado todavía, tiene que pulsar el botón Descargar modelo antes de que se descargue.
Carga.

SD模特换装:Inpaint Anything

 

 

Paso 2: Obtener un diagrama de segmentación de ejemplo

 

 

Sube la imagen a inpaint anything y pulsa Run Segment Anything.

SD模特换装:Inpaint Anything

 

Verá el diagrama de división de ejemplo a la derecha

SD模特换装:Inpaint Anything

 

Paso 3: Hacer una máscara preliminar.

 

Si queremos utilizar la función de redibujar más tarde, tenemos que hacer una máscara del área que queremos redibujar. Ahora que tenemos bloques de color separados semánticamente, ¿cómo hacemos una máscara rápidamente?

 

Es fácil, sólo tienes que coger el ratón y pulsar sobre el bloque de color que quieras convertir en máscara, no tienes que pintar todo el bloque, sólo tienes que pulsar sobre ese bloque y esperar un poco y se convertirá en máscara.

 

Porque queremos que sean los fondos, maniquíes, etc para ser repintado, por lo que esos lugares tienen que ser recogidos, pero pero los fondos son un poco complicado de hacer para arriba
Es demasiado complicado, así que podemos hacer clic en el bloque de color del vestido y marcar Invertir máscara.

SD模特换装:Inpaint Anything

 

 

Cuando los hayas seleccionado todos, pulsa Crear máscara y verás el resultado de la máscara.

SD模特换装:Inpaint Anything

 

 

Paso 4: Ver los resultados de la máscara

 

Compruebe los resultados de la máscara para ver si hay algún perdido, de hecho, la pantalla si es más complejo, por lo que es difícil ver con claridad, aquí es un truco, el lado de la pestaña Sólo máscara para abrir hacia fuera.

SD模特换装:Inpaint Anything

 

 

 

Tiene dos botones:

Obtener máscara como alfa de la imagen

Obtener máscara

 

Una vez pulsados estos dos botones, podrás ver si la máscara está hecha.

SD模特换装:Inpaint Anything

 

Ten en cuenta que el blanco, aquí, es la máscara, la zona que se rellenará de IA en el futuro, y el negro es la parte que se conservará, así que no te equivoques.

 

Paso 5: Afinar la máscara

 

Como puedes ver en esta imagen enmascarada, hay otros lugares además de la ropa que aún no se han enmascarado (es decir, hay cosas que no deberían estar ahí)
(líneas negras).

SD模特换装:Inpaint Anything

 

Es entonces cuando se afina a mano.

 

Vuelva al diagrama que generó la máscara y pinte sobre él las zonas a enmascarar. Si hay zonas a añadir negras, píntalas manualmente y pulsa el botón Recortar máscara por skatch, y a la inversa, para añadir blancas, píntalas manualmente y pulsa el botón Añadir máscara por skatch.

 

Si crees que la imagen es demasiado pequeña para pintarla, puedes ampliarla pulsando S y, a continuación, volver a pulsar S para restaurarla.

SD模特换装:Inpaint Anything

 

Plus Black: Máscara de recorte por botón skatch
Añadir blanco: Añadir máscara mediante el botón skatch

SD模特换装:Inpaint Anything

 

Tras la aplicación, pulse la tecla Add mask by sketch.

 

A continuación, vaya a la pestaña Sólo máscara y pulse la tecla Get mask hasta Get mask as alpha of image ¿Es eso lo que queremos?
La Máscara.

SD模特换装:Inpaint Anything

 

Si hay alguna otra mancha suelta, recórtala de la misma manera; si está bien, pasaremos al siguiente paso.

 

Paso 6: Empezar a repintar en inpaint cualquier cosa

 

Una vez que nuestras máscaras están todas hechas, podemos empezar a pedir difusión estable para ayudarnos a rellenar el fondo.

 

Ve a la pestaña inpaint y rellena la mención y la mención inversa. Porque la imagen que quiero generar es: mujer guapa con vestido de novia y una rosa blanca en la mano. Entonces introduce la siguiente mención:

A beautiful woman wearing a white wedding dress while holding a bouquet of white roses. 
Dynamic pose, photography, masterpiece, best quality, 8K, HDR, highres, absurdres: 1.2,
Kodak portra 400, film grain, blurry background, bokeh: 1.2, lens flare

 

El teleprompter inverso es el siguiente:

Nsfw, ugly, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres

 

SD模特换装:Inpaint Anything

 

Seleccione uno de los modelos inpaint, estos son inpaint anything he presets.

SD模特换装:Inpaint Anything

 

 

Como queremos hacer fotos reales, utilizamos el Uminosachi/realisticVisionV51_v51VAE-inpainting éste
Modelos.

 

Pulse Ejecutar Inpainting y obtendrá una imagen del modelo en vivo.

SD模特换装:Inpaint Anything

 

 

Se ve bien, vamos a tener un poco más.

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

 

 

Después de obtener el gráfico, ¿cree que esta enseñanza ha terminado?

 

Todavía no. Porque todavía hay algunas preguntas si realmente queremos usarlo

  • Es imposible elegir muchas fotos a la vez.
  • No hay manera de utilizar el modelo que queremos

 

Entonces, ¿qué hacer? Pues dar el siguiente paso.

 

Paso 7: Utilizar la función de redibujado de Tupelo

 

 

Vuelva a la pestaña Sólo máscara y pulse "Enviar a img 2 img inpaint".

SD模特换装:Inpaint Anything

 

 

Cuando envíes la máscara, saltarás a la pestaña Inpaint Upload en Tupelo. Verás que la imagen y la máscara se han enviado.

SD模特换装:Inpaint Anything

 

 

Es entonces cuando las personas familiarizadas con la SD se alegrarán de volver a un lugar conocido y poder elegir por fin su modelo favorito.

Así que elijamos un modelo. Aquí elijo chilloutmix.

 

A continuación ajustamos el tamaño de la foto, tras pulsar el triángulo del tablero, el sistema ajusta automáticamente la anchura y la altura a la misma que la foto, sin que tengamos que volver a introducirlo.

SD模特换装:Inpaint Anything

 

Ahora, para completar el teleprompter, queremos cambiarlo para que la bella mujer esté en la playa con su vestido de novia, su pelo ondee suavemente con la brisa y lleve en la mano un ramo de rosas blancas. Así que vamos a cambiar el teleprompter de la siguiente manera:

A beautiful woman wearing a white wedding dress adorned with lace, walking along the
beach at sunset. Her hair is gently lifted by the breeze, and she is holding a bouquet of white roses. Dynamic pose, photography, masterpiece, best quality, 8K, HDR, highres, absurdres: 1.2,
Kodak portra 400, film grain, blurry background, bokeh: 1.2, lens flare

 

El teleprompter inverso no cambia:

Nsfw, ugly, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres

 

El muestreador es DPM++ 2 M Karras con el paso de muestreo fijado en 40.

 

Todos los demás parámetros se utilizan como preajustes, como se muestra a continuación:

SD模特换装:Inpaint Anything

 

Ya debería estar todo listo para generar.

Han aparecido cosas extrañas.

SD模特换装:Inpaint Anything

 

 

 

¿Por qué la modelo generada por la IA no se cambia de ropa? La ropa parece flotar en el aire.

¿Es el contenido enmascarado lo que hay que ajustar? El preajuste actual es el original.

SD模特换装:Inpaint Anything

 

Cambiémoslo por otra cosa. Empecemos por rellenar.

SD模特换装:Inpaint Anything

 

 

Sigue sin funcionar bien. A continuación, convertirlo en ruido latente y ver.

SD模特换装:Inpaint Anything

 

La imagen es aún más extraña. Entonces, ¿será nada latente?

SD模特换装:Inpaint Anything

 

 

¡Como si no estuviera vestido! ¿Qué pasa aquí? ¿Por qué la ropa siempre se queda puesta?

Así que por aquí, llegamos a la conclusión ... está roto ....

No saques conclusiones todavía, en realidad se trata de que elegimos el modelo equivocado.

 

Paso 8: Seleccionar epiCPhotoGasm Inpainting Model Repainting

 

 

La razón por la que la ropa no siempre encaja es simple, lo que estamos haciendo es repintar, no puramente generar, por lo que vamos a utilizar un modelo que está diseñado específicamente para hacer repintado.

 

ChilloutMix no es el modelo a utilizar para el repintado, por lo que ahora vamos a utilizar el epiCPhotoGasm_zinpainting descargado anteriormente en su lugar.
Modelos.

SD模特换装:Inpaint Anything

 

Con el modelo cambiado, empecemos a generarlo. ¡Ahora debería ir bien!

 

Veamos los resultados:

SD模特换装:Inpaint Anything

 

Tenemos un maniquí vestido... precioso.

 

¿Qué está pasando aquí? Hace un momento no se puso la ropa, y ahora la persona se ha ido, ¿dónde está la belleza prometida? Podría ser mala suerte, generarlo de nuevo y ver.

SD模特换装:Inpaint Anything

 

Como resultado, la belleza está ahí, pero ¿qué pasa con la tela negra en el pecho? ¡No pedimos esta tela!

 

El motivo es que el parámetro de contenido de la máscara actual es original, lo que hará referencia a la estructura y el color de la imagen original al redibujarla, de ahí la aparición de las plataformas y la tela negra, ya que están presentes en la imagen original. ¿Cómo resolver este problema?

 

Simple, basta con cambiar el parámetro a otra cosa, por ejemplo, vamos a cambiar a rellenar obtendrá un diagrama como el siguiente.

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

Si se utiliza ruido latente, el resultado será el siguiente

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

 

Si no se utiliza nada latente, el

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

 

SD模特换装:Inpaint Anything

 

¿No es una gran imagen? Ni siquiera está afinada para tener esta calidad, será aún mejor si se vuelve a optimizar, así que, ¿qué será lo próximo?

 

 

IV. Preguntas más frecuentes

 

 

Una vez que operes de este modo, es posible que te surjan algunas preguntas, una a una, para que las expliques.

 

 

Pregunta 1: ¿Qué es la partición de instancias?

 

La segmentación de instancias se refiere al proceso de diferenciar entre las cosas de una imagen etiquetando las distintas cosas con colores diferentes, en el que cada color representa una cosa.

 

Esta vez se trata de dividir con ejemplos para acelerar el tiempo que tardamos en hacer una máscara.

 

 

Pregunta 2: Inpaint Anything tiene diferentes modelos de Segment Anything, ¿cuál es la diferencia?

 

 

El modelo Segment Anything, también conocido como SAM, proporciona nueve tipos de Segment Anything en Inpaint Anything.

SD模特换装:Inpaint Anything

 

Puede dividirse en 4 categorías, que explicamos una a una.

 

Clase 1: inicio de sam_vit - Modelo SAM proporcionado por Meta

 

El inicio de sam_vit es el modelo proporcionado por Meta. Dado que Meta denominó a su modelo de segmentación semántica Segment Anything Model, es de aquí de donde parte el SAM del que estamos hablando actualmente, y debería considerarse como el originador de esta oleada de modelos SAM.

 

Se trata de una serie de modelos anunciados por Meta en abril de 2023, y otros modelos SAM se compararán con esta serie. Hay 3 modelos, en términos de tamaño, h (enorme), l (grande), b (base), enorme > grande > base, y la precisión es teóricamente proporcional al tamaño, y la velocidad de cálculo también es proporcional al tamaño.

 

En términos de efecto, hay poca diferencia entre enorme y grande, pero hay una diferencia significativa entre base y enorme.

SD模特换装:Inpaint Anything

 

Referencia Meta SAM:

https://segment-anything.com/

https://github.com/facebookresearch/segment-anything

https://huggingface.co/facebook/sam-vit-base/tree/main

https://huggingface.co/facebook/sam-vit-large

https://huggingface.co/facebook/sam-vit-huge

 

 

Clase 2: inicio de sam_hq_vit - Segmento Cualquier cosa de la serie High Quality

 

El modelo que comienza por sam_hq_vit es un modelo de segmentación semántica de alta calidad proporcionado por el Visual Intelligence and Systems Group de ETH Zürich, y según los datos proporcionados en su paper, la precisión de su corte es mejor que Meta, por lo que se denomina de alta calidad. Según los datos proporcionados en su paper, la precisión de su segmentación es mejor que Meta, por lo que se denomina de alta calidad, aunque la región segmentada es más fina que Meta, pero la diferencia no es significativa en nuestro caso.

SD模特换装:Inpaint Anything

 

SAM HQ Reference:

https://github.com/SysCV/sam-hq

https://huggingface.co/lkeab/hq-sam/tree/main

 

Clase 3: Inicios de FastSAM - Serie FastSAM

 

 

Para obtener buenos resultados y ahorrar algo de memoria, puedes utilizar la serie FastSAM, que ofrece CASIA-IVA-Lab (CASIA-IVA-Lab). Yo mismo utilizo este modelo en máquinas con poca VRAM.

 

Está disponible en 2 modelos, X y S.

El modelo X funcionó bien en nuestro ejemplo de este vestido de novia, pero el S no habría sido adecuado para nuestro ejemplo.

SD模特换装:Inpaint Anything

 

A continuación se ofrece información sobre FastSAM:

https://github.com/CASIA-IVA-Lab/FastSAM

https://huggingface.co/An-619/FastSAM

 

 

 

Categoría 4: SAM móvil

 

SAM pequeño y rápido , un SAM que puede funcionar rápido incluso con una CPU. Pero, el efecto es también uno de los peores, sólo apto para distinguir grandes bloques de cosas.

SD模特换装:Inpaint Anything

 

Referencia SAM móvil:

https://github.com/ChaoningZhang/MobileSAM

https://huggingface.co/dhkim2810/MobileSAM/tree/main

 

 

 

Pregunta 3: ¿Qué controla el parámetro de contenido Enmascarado de Inpaint?

 

SD模特换装:Inpaint Anything

 

Existen cuatro opciones para el contenido Enmascarado, que se describen a continuación:

 

Opción 1: Relleno

 

La opción de relleno difumina al máximo la imagen de la zona redibujada, conservando sólo la estructura general y los colores. Por lo tanto, se utiliza cuando es necesario repintar a gran escala.

 

En nuestro paradigma, la posición del nivel del mar, el curso de la dificultad de la arena, son todos iguales, incluso el color de la puesta de sol es similar.

SD模特换装:Inpaint Anything

 

 

 

Opción 2: Original

 

Original se referirá a la imagen original, y la imagen generada será muy similar a la imagen original en cuanto a bloques, colores, etc.

 

En nuestro ejemplo, esta opción dejaría la parte negra del maniquí y se mantendría la dirección de la playa.

SD模特换装:Inpaint Anything

 

Opción 3: Ruido latente

 

El ruido latente da ruido a la parte que se va a redibujar, lo que tiende a producir contenido irrelevante, y se utiliza cuando se requiere creatividad.

 

Como verá en nuestra demostración, la imagen generada con ruido latente repetirá la pequeña cosa mencionada en la indicación (por ejemplo, rosas blancas en nuestro caso).

SD模特换装:Inpaint Anything

 

 

 

Opción 4: Nada latente

 

Nada latente se refiere a los colores cercanos al área que se va a redibujar, encuentra la media de los colores cercanos y rellena el área redibujada. Esto es ideal para eliminar objetos no deseados.

 

Pero en nuestro ejemplo de esta vez, no parece que haya eliminación de cosas porque estamos redibujando a gran escala. Pero cuando observes los diagramas generados con nada latente, verás que sus esquemas de color y composiciones serán muy similares, por ejemplo, los colores de la arena son todos muy parecidos también.

SD模特换装:Inpaint Anything

 

 

V. Revisión de la cuestión de la ampliación

 

 

Repasemos lo que acabamos de hacer.

 

En pocas palabras, hay dos pasos principales:

  • Enmascaramiento con la función de segmentación semántica de Inpaint Anything.
  • A continuación, se transfiere a inpaint upload para Tupelo y a inpaint para el repintado de modelos especializados.

 

Sólo con eso habría sido tan productiva como lo es hoy.

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

SD模特换装:Inpaint Anything

 

 

Todo podría ser mejor, y seguiría habiendo varios problemas con el planteamiento actual:

  1. ¿Qué pasa si el modelo que quiero no tiene un modelo inpaint? ¿Puedo utilizar un modelo genérico?
  2. ¿Qué tienes que hacer para cambiar la luz y la sombra de tu ropa?
  3. A veces puede parecer una foto photoshopeada, ¿qué tengo que hacer para que sea más natural?
  4. Cómo generar imágenes más ricas que no sean las de ahora.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...