SD Model Dress Up: Inpaint Anything
Tutoriales prácticos sobre IAActualizado hace 1 año Círculo de intercambio de inteligencia artificial 10.3K 00
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.

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

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

Generación de maniquíes Modelo vivo 1

Generación de maniquíes Modelo vivo 2

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.

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.

Instalar inpaint cualquier cosa
Vaya a Instalar desde URL, introduzca
https://github.com/Uminosachi/sd-webui-inpaint-anything.git
Listo para instalar

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

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.

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

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

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.

Paso 2: Obtener un diagrama de segmentación de ejemplo
Sube la imagen a inpaint anything y pulsa Run Segment Anything.

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

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.

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

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.

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.

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).

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.

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

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.

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

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

Como queremos hacer fotos reales, utilizamos el Uminosachi/realisticVisionV51_v51VAE-inpainting éste
Modelos.
Pulse Ejecutar Inpainting y obtendrá una imagen del modelo en vivo.

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


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".

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.

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.

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:

Ya debería estar todo listo para generar.
Han aparecido cosas extrañas.

¿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.

Cambiémoslo por otra cosa. Empecemos por rellenar.

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

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

¡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.

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

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.

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.




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



Si no se utiliza nada latente, el



¿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.

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.

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.

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.

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.

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?

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.

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.

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).

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.

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.




Todo podría ser mejor, y seguiría habiendo varios problemas con el planteamiento actual:
- ¿Qué pasa si el modelo que quiero no tiene un modelo inpaint? ¿Puedo utilizar un modelo genérico?
- ¿Qué tienes que hacer para cambiar la luz y la sombra de tu ropa?
- A veces puede parecer una foto photoshopeada, ¿qué tengo que hacer para que sea más natural?
- Cómo generar imágenes más ricas que no sean las de ahora.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...