Главная / Статьи / Как ИИ читает и пересобирает фотографию: что стоит за портретами «из 1980-х»

Как ИИ читает и пересобирает фотографию: что стоит за портретами «из 1980-х»

Как модели зрения превращают пиксели в эмбеддинги и как генеративный ИИ с их помощью стилизует снимок под плёнку 1980-х — и где у этого пределы точности, сходства и распознавания.

2038 слов

В последнее время ленты заполнены обычными современными фото, переделанными так, будто их сняли в 1980-х. Свежий портрет превращается в старый семейный снимок, винтажное студийное фото, уличную сцену 1985 года, выцветший отпечаток с плёнки или кадр с ретро-одеждой и фоном. Выглядит как простой фильтр. Но это не так. За результатом стоят компьютерное зрение, выученные представления изображений и генеративные модели.

Отсюда более базовый вопрос. Прежде чем ИИ сможет изменить картинку, как он вообще её читает?

Фотография — это сетка чисел

Человек смотрит на фото и думает: «кто-то стоит перед старым зданием». Модель так не воспринимает. На самом нижнем уровне цифровое изображение — это просто числа. Цветную картинку можно записать как Img(x, y, c), где x — позиция по горизонтали, y — по вертикали, а c — цветовой канал.

Возьмём один пиксель:

Pixel
 ↓

Его цвет раскладывается на три значения каналов, например:

Red   = 128
Green = 91
Blue  = 73

Из миллионов таких значений складывается всё изображение, поэтому первый шаг выглядит так:

Photograph
     ↓
Pixels
     ↓
Numbers

Модель никогда не получает фото как зрительное переживание. Она получает математическое представление.

От пикселей к паттернам

Сами по себе сырые числа мало что значат. Полезное начинается, когда их обрабатывает нейросеть. Допустим, на входе грубая фигура вроде такой:

🧑
       /|\
       / \

Человек сразу видит фигуру человека. Сеть приходит к этому постепенно. Ранние слои улавливают примерно такое:

Edges
Lines
Corners
Textures
Colors

Более поздние слои собирают из этого сложные структуры:

Edges
 ↓
Shapes
 ↓
Textures
 ↓
Parts
 ↓
Objects
 ↓
Relationships

Умение строить всё более сложные представления из простых — одна из главных причин, почему глубокие сети так хорошо работают в компьютерном зрении.

Эмбеддинги

В итоге система может превратить увиденное в числовое представление — эмбеддинг. Поток выглядит примерно так:

Image
  ↓
Vision Model
  ↓
[0.21, -0.73, 0.14, ...]

Эти числа — не простые метки вроде таких:

person = 1
tree = 2
building = 3

Они могут кодировать множество аспектов визуального содержания и связи, которые выучила модель. Концептуально каждому изображению соответствует свой эмбеддинг:

Image A
   ↓
Embedding A
Image B
   ↓
Embedding B

Если у двух изображений есть общие визуальные или смысловые черты, их эмбеддинги могут оказаться рядом в пространстве представлений модели. На этом построена значительная часть современного компьютерного зрения и мультимодального ИИ.

Обучение вместо написания правил

Модели обычно не дают огромное вручную написанное правило вроде:

IF two eyes
AND nose
AND mouth
AND body
THEN person

Вместо этого она учится на данных. Во время обучения она видит гигантское количество примеров и постепенно усваивает статистические связи между визуальными паттернами. Никто не программирует утверждение «у лица два глаза». Систему обучают строить полезные представления на примерах. В этом и состоит главное отличие классического зрения на правилах от современного глубокого обучения.

Что происходит, когда фото «старят»

Допустим, вы даёте системе современную фотографию:

Modern Photograph
       ↓
AI
       ↓
1980s Photograph

ИИ не просто прогнал по фото фильтр в один клик. Многие генеративные модели используют входную картинку как условие, а затем создают новое изображение, которое сохраняет одни черты оригинала и меняет другие. Например, они могут сохранить вот это:

Keep:
✓ Person
✓ General face structure
✓ Pose
✓ Composition

и переработать вот это:

Change:
→ Clothing
→ Background
→ Lighting
→ Color characteristics
→ Film appearance
→ Camera style

Это намного больше, чем подкрутить яркость или насыщенность.

Откуда модель знает, как выглядел 1985 год

Модель впитала визуальные закономерности из огромных коллекций изображений. Среди них — связи между такими вещами, как:

Era
+
Clothing
+
Architecture
+
Lighting
+
Photography style
+
Film characteristics
+
Color
+
Camera artifacts

Когда её просят сделать «настоящую фотографию 1985 года», модель может создать изображение, согласующееся с паттернами, связанными с этим описанием. Она не путешествует во времени. Она генерирует новое из выученных ассоциаций.

Почему подробный промпт работает лучше

Сравните два запроса. «Сделай это фото старым» — размыто. А вот этот куда конкретнее: воссоздай портрет так, будто он действительно снят в Индии в 1985 году, с одеждой, архитектурой и светом той эпохи, особенностями аналоговой плёнки, лёгким зерном, естественной текстурой кожи и аутентичным видом винтажной камеры.

Второй задаёт генератору множество ограничений, которые нужно выполнить. Концептуально эти части складываются так:

Prompt
  +
Input Image
  ↓
Conditioning
  ↓
Generative Model
  ↓
New Image

Фильтр или генератор?

Не обязательно фильтр. Классический фильтр вычисляет Out = f(Img), применяя заранее заданное преобразование к исходным пикселям. Типичные шаги такие:

Increase contrast
Reduce saturation
Add grain
Apply color tint

Генеративный ИИ может вести себя иначе. Он способен создавать новые значения пикселей, ориентируясь на входное изображение и текстовые инструкции. Если поставить два конвейера рядом, они выглядят так:

Traditional Filter:
Original Pixels
      ↓
Fixed Transformation
      ↓
Modified Pixels

Против:

Generative AI:
Image + Prompt
      ↓
Learned Generative Process
      ↓
New Image

Поэтому генеративная система может менять гораздо больше, чем цвет.

Мелкие детали, которые продают эпоху

Убедительное винтажное фото содержит много маленьких сигналов:

  • Аналоговая плёнка оставляет заметное зерно.
  • Старые фотопроцессы иначе передают цвет.
  • Студийные и уличные стили меняются от эпохи к эпохе.
  • Старые объективы дают другую резкость и другие оптические артефакты.
  • Мода — сильный маркер времени.
  • Здания, вывески, машины и интерьеры помогают датировать сцену.

Даже мелкие предметы могут сделать изображение исторически достоверным на вид. Так что модель не обязательно учит правило «1980-е — это коричневые тона». Она может улавливать гораздо более богатую сеть визуальных связей.

Правдоподобно — не значит точно

Это самый важный момент. Внутри генеративной модели нет безупречной исторической базы данных. Она выдаёт результат на основе выученных паттернов, поэтому может давать картинки, которые выглядят убедительно, но исторически неверны. Представьте такую пару:

Requested:
India, 1985
Generated:
Modern object
+
1980s clothing
+
incorrect architecture

Изображение может выглядеть правдоподобно, но правдоподобие — это не точность.

Разница становится ещё важнее, когда речь о личных историях. Допустим, кто-то генерирует картинку с подписью «мой дедушка в Мумбаи в 1982 году». Она может выглядеть чудесно аутентичной. Но если такого фото никогда не существовало, это не восстановленная фотография. Это сгенерированная реконструкция. Сравните:

Real Historical Photograph
          vs
AI-Generated Historical Image

Выглядеть они могут похоже, а происхождение у них совершенно разное.

Можно ли распознать сгенерированные изображения?

Иногда. Исследователи изучают такие свойства:

Pixel statistics
Frequency patterns
Noise
Compression artifacts
Texture
Edges
Metadata
Generation signatures

Один из инструментов — преобразование Фурье, F(u, v), которое переводит изображение в частотную область. Затем аналитики проверяют, есть ли у сгенерированных картинок статистические особенности, отличающие их от снимков физических камер. Но тут есть жёсткий предел: универсального математического «отпечатка», по которому любое ИИ-изображение мгновенно распознаётся, не существует, а методы генерации продолжают улучшаться.

Две дороги к одним и тем же пикселям

Фото, снятое в реальном мире, проходит один путь:

Real World
    ↓
Light
    ↓
Lens
    ↓
Camera Sensor
    ↓
Electrical Measurements
    ↓
Image Processing
    ↓
Pixels

Сгенерированное изображение — другой:

Prompt / Input Image
       ↓
Model Representation
       ↓
Generative Process
       ↓
Generated Pixel Values
       ↓
Final Image

Оба заканчиваются пикселями, но путь совершенно разный. Массив чисел Img(x, y, c) не может сказать, откуда он взялся:

A camera
A scanner
A graphics program
An AI model

Одно и то же математическое представление может описывать изображения, созданные совершенно разными физическими и вычислительными процессами. Отличается то, как изображение было получено.

Почему «уплывают» лица

Если сказать генератору «оставь того же человека», это не значит, что у него есть человеческая память о жизни этого человека. Он обрабатывает изображение и использует внутренние представления, чтобы направлять генерацию. Поэтому сохранить сходство сложно, и небольшие сдвиги могут появиться в таких чертах, как:

Eyes
Nose
Jawline
Hair
Ears
Skin texture
Facial proportions

Модель генерирует картинку, а не делает ксерокопию оригинала.

Сходство против стиля

Концептуально конвейер проходит через этап идентичности:

Original Image
      ↓
Identity Features
      ↓
Generation
      ↓
Vintage Style
      ↓
New Image

Задача — одновременно сохранить личность и изменить внешний вид, а эти цели могут тянуть в разные стороны. Измените слишком много — и получится вот что:

Great vintage style
❌ Poor identity preservation

Слишком мало — и получится обратное:

Good identity preservation
❌ Weak transformation

Самое интересное — найти баланс. Это можно представить как разделение изображения на части:

IMAGE
├── Identity
│   ├── Face
│   ├── Structure
│   └── Features
│
└── Appearance
    ├── Clothing
    ├── Lighting
    ├── Background
    ├── Color
    └── Photography style

Цель такая:

Identity → Preserve
Appearance → Transform

И это оказывается на удивление сложной вычислительной задачей.

Что на самом деле показывает тренд

Мода выглядит как развлечение, но под ней скрывается что-то глубже. ИИ учится тому, как эти вещи связаны друг с другом:

Images
Words
Objects
Styles
Textures
Scenes
Time periods

Затем генеративные модели используют эти связи, чтобы строить новые визуальные комбинации. Одного короткого предложения — скажем, просьбы о реалистичном фото этого человека, снятом в Индии в 1985 году, — достаточно, потому что модель превращает язык в визуальные ограничения.

Это указывает и на более широкую область — мультимодальный ИИ. Если старые системы делали так:

Text → AI → Text

то новые умеют объединять несколько видов входных данных:

Image
   +
Text
   +
Audio
   ↓
AI Model
   ↓
Understanding / Generation

Современная система потенциально может проанализировать изображение, ответить на вопросы о нём, описать его, отредактировать, объединить с текстовыми инструкциями и сгенерировать новое. Граница между языком и зрением продолжает размываться.

Так что же видит ИИ?

Совсем не то, что видят люди. Зритель видит фигуру на старой улице. Модель же работает вот с чем:

Pixels
 ↓
Features
 ↓
Representations
 ↓
Embeddings
 ↓
Learned relationships

Затем генеративная модель может использовать эти представления, чтобы создать новую визуальную информацию. Возможно, правильный вопрос не в том, может ли ИИ видеть, а в том, какое математическое представление он строит из того, что мы называем зрением.

Весь конвейер целиком

Фотография в конечном счёте — это математическая структура из пикселей. Модель зрения превращает эти пиксели в выученные представления. Затем генеративная модель использует их вместе с языковыми инструкциями, чтобы создать новый визуальный результат. Вся цепочка выглядит примерно так:

HUMAN WORLD
                      ↓
                 Photograph
                      ↓
                    Pixels
                      ↓
              Vision Representation
                      ↓
                 Embeddings
                      ↓
            +------------------+
            |   Generative AI  |
            +------------------+
                ↑          ↑
                |          |
             Image       Prompt
                |          |
                +----+-----+
                     ↓
              Generated Image
                     ↓
             "1980s Photograph"

Поэтому тренд с фото «из 1980-х» — это больше, чем фильтр. Он показывает, как ИИ может превращать числовые представления визуальной реальности в новые визуальные впечатления. Удивительно не то, что картинку можно сделать старой на вид. Удивительно то, что модель может выучить, как выглядит «старое», и затем воссоздать это.