Clothes are Harder than Faces: Restoring Photos with AI
AI Photo RestorationComfyUIControlNetStable Diffusion
Step-by-step evolution of a single photo — from its damaged original state to a fully colorized and enhanced version using AI tools.
This animation shows the step-by-step evolution of a single photo — from its damaged original state to a fully colorized and enhanced version using AI tools. What starts as a scan of an old family photo becomes a vivid, reimagined portrait through a mix of restoration, generation, and creative decision-making.
I've recently shifted from my usual photography work to something more personal: digitizing and restoring my family's photo and video archive. That means scanning tens of thousands of images and videos — and then figuring out what AI can (and can't) do with them.
There are real ethical questions about using AI on historical images. But my goal here isn't to fabricate history. It's to help close the emotional gap between us and the faded memories in these old photos.
How does AI image generation work?
ComfyUI is the tool I use to build custom AI workflows for photo restoration. It lets me visually design how AI processes my images, step by step.
Wait — what's a model?
Think about how you picture things in your mind. If I say "a snowy park at dusk," you can probably imagine it — trees with bare branches, a layer of snow on the ground, maybe a bench and a streetlamp casting warm light. You can do that because you've seen parks, snow, and evening light before. Your brain pulls from a lifetime of visual experience to construct that image.
AI models work the same way — except instead of a lifetime of human experience, they're trained on massive datasets. You feed a model thousands (or millions) of images, each described with key information — what's in the scene, the lighting, the mood, the style. Over time, the model learns patterns: what "snow" looks like, how "dusk" affects color, what a "park bench" is shaped like.
Prompts and tags
Once the model has learned those patterns, you can guide it with text — called a prompt. A simple prompt like "dog" gives the model a lot of freedom. A more specific one like "aardvark in pajamas doing push-ups" forces it to combine things it may never have seen together.
It gave me a kangaroo. Not what I had in mind, but... sure, close enough.
Taming the beast
This is where ControlNet comes in. ControlNet gives the AI a visual reference — like a pose, an outline, or even just the structure — so it has something concrete to follow. Instead of generating from scratch, it generates within boundaries.
There are several types of ControlNet inputs:
Canny — extracts edges from an image
OpenPose — captures body position and posture
Lineart — creates a sketch-like structural guide
Restoring
This is my grandfather Alberto in the 40s. The photo was scanned, this is not a photo of a photo.
This photo was likely taken in the early 1940s. It has soft focus, some creases and spots, but it's in decent condition overall. Here's the plan:
Cleaning — removing physical damage
Colorizing — applying realistic color
Detail regeneration — reconstructing missing areas
Upscaling — enhancing resolution
Step 1 — Clean up and face enhance
You can see that the workflow added some color to the lips but didn't fully remove all the damaged spots. I went back and cleaned those up manually in Photoshop afterward.
Step 2 — Colorization
The color and likeness are pretty decent, but there are still quite a few artifacts. The skin tone feels too light, and his eyes were actually brown. This is still definitely him, though.This run involved much more image generation, which introduced some subtle differences in his facial features. Anyone who didn't know my grandfather well probably wouldn't even notice.
Step 3 — Adding detail
Generating new content
This step moves beyond "restoration" and into "updating and reimagining." The model I'm using wasn't trained with early 20th century clothing — it doesn't know what a 1940s suit looked like, how the fabric hung, or what the tailoring conventions were. I'm planning to train a custom model (LoRA) with period-appropriate references to get closer to historical accuracy.
Closing thoughts
This project started as a personal experiment, but it's quickly grown into something deeper — a way to reconnect with memory, preserve family history, and explore the creative possibilities of AI. I'm still refining my workflow and learning with every image, but the results so far have been rewarding.
Before
After
Stack
ComfyUIStable DiffusionControlNetReal-ESRGANPhotoshopLoRA Training
Working on media restoration or AI image processing?
Evolución paso a paso de una sola foto: desde su estado original dañado hasta una versión completamente coloreada y mejorada con herramientas de IA.
Esta animación muestra la evolución paso a paso de una sola foto: desde su estado original dañado hasta una versión completamente coloreada y mejorada con herramientas de IA. Lo que empieza como el escaneo de una antigua foto familiar se convierte en un retrato vivo y reimaginado a través de una combinación de restauración, generación y toma de decisiones creativas.
Hace poco dejé a un lado mi trabajo habitual de fotografía para dedicarme a algo más personal: digitalizar y restaurar el archivo fotográfico y de vídeo de mi familia. Eso implica escanear decenas de miles de imágenes y vídeos, y luego descubrir qué puede (y qué no puede) hacer la IA con ellos.
Existen cuestiones éticas reales sobre el uso de la IA en imágenes históricas. Pero mi objetivo no es fabricar historia. Es ayudar a cerrar la brecha emocional entre nosotros y los recuerdos desvanecidos de estas viejas fotos.
¿Cómo funciona la generación de imágenes con IA?
ComfyUI es la herramienta que utilizo para crear flujos de trabajo personalizados de IA para la restauración fotográfica. Me permite diseñar visualmente cómo la IA procesa mis imágenes, paso a paso.
Espera, ¿qué es un modelo?
Piensa en cómo imaginas cosas en tu mente. Si digo «un parque nevado al atardecer», probablemente puedas imaginarlo: árboles con ramas desnudas, una capa de nieve en el suelo, quizás un banco y una farola emitiendo una luz cálida. Puedes hacerlo porque has visto parques, nieve y luz vespertina antes. Tu cerebro recurre a toda una vida de experiencia visual para construir esa imagen.
Los modelos de IA funcionan de la misma manera, salvo que en lugar de toda una vida de experiencia humana, se entrenan con conjuntos de datos masivos. Alimentas un modelo con miles (o millones) de imágenes, cada una descrita con información clave: qué hay en la escena, la iluminación, el ambiente, el estilo. Con el tiempo, el modelo aprende patrones: cómo es la «nieve», cómo el «atardecer» afecta al color, qué forma tiene un «banco de parque».
Prompts y etiquetas
Una vez que el modelo ha aprendido esos patrones, puedes guiarlo con texto, lo que se denomina prompt. Un prompt sencillo como «perro» le da al modelo mucha libertad. Uno más específico como «oso hormiguero en pijama haciendo flexiones» lo obliga a combinar cosas que posiblemente nunca haya visto juntas.
Me generó un canguro. No era lo que tenía en mente, pero... bueno, casi.
Domando a la bestia
Aquí es donde entra ControlNet. ControlNet le proporciona a la IA una referencia visual —como una pose, un contorno o simplemente la estructura— para que tenga algo concreto que seguir. En lugar de generar desde cero, genera dentro de unos límites.
Existen varios tipos de entradas de ControlNet:
Canny — extrae los bordes de una imagen
OpenPose — captura la posición y postura del cuerpo
Lineart — crea una guía estructural tipo boceto
Restauración
Este es mi abuelo Alberto en los años 40. La foto fue escaneada; no es una foto de una foto.
Esta foto probablemente fue tomada a principios de la década de 1940. Tiene un enfoque suave, algunos pliegues y manchas, pero en general está en condiciones aceptables. Este es el plan:
Limpieza — eliminar el daño físico
Coloreado — aplicar color realista
Regeneración de detalles — reconstruir las zonas perdidas
Escalado — mejorar la resolución
Paso 1 — Limpieza y mejora del rostro
Se puede ver que el flujo de trabajo añadió algo de color a los labios, pero no eliminó completamente todas las manchas dañadas. Después volví y las limpié manualmente en Photoshop.
Paso 2 — Coloreado
El color y el parecido son bastante buenos, pero todavía hay bastantes artefactos. El tono de piel parece demasiado claro, y sus ojos en realidad eran marrones. Pero sigue siendo él, sin duda.Esta pasada implicó mucha más generación de imagen, lo que introdujo diferencias sutiles en sus rasgos faciales. Cualquiera que no conociera bien a mi abuelo probablemente ni lo notaría.
Paso 3 — Añadir detalle
Generando contenido nuevo
Este paso va más allá de la «restauración» y entra en el terreno de «actualizar y reimaginar». El modelo que estoy usando no fue entrenado con ropa de principios del siglo XX: no sabe cómo era un traje de los años 40, cómo caía la tela o cuáles eran las convenciones de sastrería de la época. Tengo previsto entrenar un modelo personalizado (LoRA) con referencias apropiadas del período para acercarme más a la precisión histórica.
Reflexiones finales
Este proyecto empezó como un experimento personal, pero rápidamente se ha convertido en algo más profundo: una forma de reconectar con la memoria, preservar la historia familiar y explorar las posibilidades creativas de la IA. Sigo perfeccionando mi flujo de trabajo y aprendiendo con cada imagen, pero los resultados hasta ahora han sido gratificantes.
Antes
Después
Stack
ComfyUIStable DiffusionControlNetReal-ESRGANPhotoshopLoRA Training
¿Trabajas en restauración de medios o procesamiento de imágenes con IA?