Восприятие Средний

JPEG и зрение: алгоритм, написанный нейронаукой

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

Длительность
1–2 часа
Бюджет
0 ₽
Возраст
12–99 лет
Сложность
Средний
#JPEG #сжатие #DCT #фурье #хьюбел #визел #зрительная кора #восприятие #цвет #яркость #пространственные частоты

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

Нобелевская премия 1981 и сжатие фотографий

1959 год. Дэвид Хьюбел и Торстен Визел вживляют тонкий электрод в зрительную кору кошки — область мозга, обрабатывающую сигналы от глаз. Они хотят понять, как именно нейрон «видит».

Часами они показывают кошке разные стимулы. Нейрон молчит. Случайно двигают слайд в проекторе — нейрон резко отвечает. Не на яркость, не на цвет — на движущуюся границу определённой ориентации.

Открытие: нейроны зрительной коры — это детекторы признаков: краёв, ориентаций, контрастов. Каждый нейрон отвечает только на свой «узор». Зрение строит мир из признаков, а не копирует пиксели сетчатки.

Нобелевская премия по медицине и физиологии 1981 года.

В 1992 году эти знания легли в основу алгоритма JPEG.

Как работает JPEG: пять шагов

Шаг 1: Перевод RGB → YCbCr

Вместо трёх цветовых каналов (красный, зелёный, синий) — три другие компоненты:

  • Y — яркость (luminance)
  • Cb — синяя цветовая составляющая
  • Cr — красная цветовая составляющая

Почему это важно: зрительная система человека гораздо чувствительнее к яркостным деталям, чем к цветовым. Это открыл не JPEG — это открыла эволюция: в сетчатке ~120 млн палочек (яркость) и только ~6 млн колбочек (цвет).

Шаг 2: Субдискретизация цвета

Каналы Cb и Cr сжимаются в 2–4 раза (каждый блок 2×2 пикселя → один цветовой пиксель). Яркостный канал Y — без потерь.

Ты почти никогда этого не замечаешь. Хьюбел объяснил почему: нейроны цветового зрения имеют более крупные рецептивные поля — они менее «мелкозернисты».

Шаг 3: Разбивка на блоки 8×8 и ДКП

Изображение режется на блоки 8×8 пикселей. Каждый блок подвергается дискретному косинусному преобразованию (DCT):

F(u,v) = (2/N) · C(u)·C(v) · Σ Σ f(x,y) · cos(πu(2x+1)/2N) · cos(πv(2y+1)/2N)

Это — преобразование Фурье в другом виде. Блок 8×8 = 64 числа (яркости пикселей) → 64 коэффициента (от «очень низкочастотные» до «очень высокочастотные»).

Физический смысл: DCT разбирает изображение на пространственные частоты — как Фурье разбирает звук на тоны. Первый коэффициент — средняя яркость блока. Последние — мелкие детали.

Шаг 4: Квантование — здесь и теряется информация

Каждый коэффициент DCT делится на число из «таблицы квантования» и округляется:

Qij = round(Fij / qij)
  • Низкочастотные коэффициенты (крупные структуры) — делятся на малые числа → сохраняются точно
  • Высокочастотные коэффициенты (мелкие детали) — делятся на большие числа → многие обнуляются

Именно здесь работает нейронаука Хьюбела: зрительная кора хуже воспринимает высокие пространственные частоты → их можно выбросить без видимых потерь.

Шаг 5: Энтропийное кодирование

Матрица с обнулёнными коэффициентами кодируется без потерь (Хаффман или арифметическое кодирование). Длинные цепочки нулей → «17 нулей подряд» → 2 байта вместо 17.

Что глаз не замечает: опыты с изображениями

Опыт 1: Артефакты JPEG при высоком сжатии

  1. Открой любую фотографию в графическом редакторе (GIMP, Photoshop).
  2. Сохрани как JPEG с качеством 100%, 50%, 10%, 1%.
  3. Сравни: при 10% начинают появляться «квадратики» 8×8 — это и есть блоки DCT.
  4. Обрати внимание: квадратики заметнее на резких границах (края предметов) и почти незаметны на однородных областях. Почему?

Опыт 2: Яркость vs цвет

  1. Переведи любое цветное фото в оттенки серого (только яркостный канал).
  2. Уменьши файл JPEG до 10 кБ.
  3. Сравни с цветным файлом того же размера.
  4. Серое изображение резче — без цветовых каналов больше «места» для яркостных деталей.

Опыт 3: Невидимые частоты

На сайте с интерактивным DCT (parametric.press/issue-01/unraveling-the-jpeg/) можно двигать ползунки и видеть, какие частоты выброшены. Поставь все высокочастотные компоненты в ноль и посмотри: изображение почти не изменилось!

Связь с восприятием: что знал Хьюбел

Хьюбел и Визел описали простые и сложные клетки зрительной коры:

  • Простые клетки: реагируют на линию определённой ориентации в определённом месте поля зрения
  • Сложные клетки: реагируют на линию определённой ориентации в любом месте определённой области

Это иерархическая система обработки — от пикселей сетчатки к признакам к объектам. JPEG работает на первом уровне этой иерархии: убирает то, что не попадает в рецептивные поля простых клеток.

Более современные стандарты (HEIC, WebP, AVIF) используют более сложные модели восприятия. Нейросетевые компрессоры 2020-х пытаются учесть уже второй и третий уровень иерархии Хьюбела.

👉 Связь: Цветовые оппонентные каналы

Вопросы для исследования

  1. Почему JPEG плохо работает с текстом и схемами (для них лучше PNG)? (Подсказка: DCT-блоки и резкие границы)
  2. Медицинские снимки (рентген, МРТ) нельзя сохранять в JPEG. Почему? Какой формат используют?
  3. Найди, как работает алгоритм сжатия MP3. Он использует ту же идею — психоакустическую модель. Что именно в звуке MP3 выбрасывает?

Что почитать

Книги

  • Хьюбел Д.. Глаз, мозг, зрение (1990) есть на русском Нобелевский лауреат рассказывает о зрительной коре доступным языком — лучшее введение в тему
  • Gonzalez R., Woods R.. Digital Image Processing (2018) Стандартный учебник по цифровой обработке изображений — глава о JPEG и DCT

Статьи

  • Hubel D.H., Wiesel T.N.. Receptive fields, binocular interaction and functional architecture in the cat's visual cortex (1962) — Journal of Physiology doi:10.1113/jphysiol.1962.sp006837

Онлайн

Обратная связь
Тип обращения
Ваша оценка
Сообщение
Подтверждение
Загрузка...

без персональных данных