← All case studies

Clothes are Harder than Faces: Restoring Photos with AI

AI Photo Restoration ComfyUI ControlNet Stable Diffusion
Photo restoration with AI
Step-by-step animation of photo restoration from damaged original to colorized version
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 workflow interface
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.

AI-generated kangaroo instead of aardvark
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

Original photograph of grandfather Alberto from the 1940s
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:

  1. Cleaning — removing physical damage
  2. Colorizing — applying realistic color
  3. Detail regeneration — reconstructing missing areas
  4. Upscaling — enhancing resolution

Step 1 — Clean up and face enhance

ComfyUI cleanup workflow
Result after cleanup step
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

ControlNet depth and facial feature extraction
ComfyUI colorization workflow
First colorization attempt
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.
Second colorization attempt with improved results
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

Detail generation step showing clothing reconstruction
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.

Original photo — before restoration Before
Colorized result — after restoration After

Stack

ComfyUI Stable Diffusion ControlNet Real-ESRGAN Photoshop LoRA Training

Working on media restoration or AI image processing?

Let's talk
Animación paso a paso de la restauración fotográfica, desde el original dañado hasta la versión coloreada
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?

Interfaz del flujo de trabajo en ComfyUI
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.

Canguro generado por IA en lugar de un oso hormiguero
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

Fotografía original del abuelo Alberto de los años 40
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:

  1. Limpieza — eliminar el daño físico
  2. Coloreado — aplicar color realista
  3. Regeneración de detalles — reconstruir las zonas perdidas
  4. Escalado — mejorar la resolución

Paso 1 — Limpieza y mejora del rostro

Flujo de trabajo de limpieza en ComfyUI
Resultado tras el paso de limpieza
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

Extracción de profundidad y rasgos faciales con ControlNet
Flujo de trabajo de coloreado en ComfyUI
Primer intento de 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.
Segundo intento de coloreado con resultados mejorados
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

Paso de generación de detalles mostrando la reconstrucción de la ropa
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.

Foto original — antes de la restauración Antes
Resultado coloreado — después de la restauración Después

Stack

ComfyUI Stable Diffusion ControlNet Real-ESRGAN Photoshop LoRA Training

¿Trabajas en restauración de medios o procesamiento de imágenes con IA?

Hablemos