Это база: Зачем нужна математика в повседневной жизни - Йэн Стюарт
Шрифт:
Интервал:
Закладка:
Мы все это делаем, то есть знаем, что это работает, но вообще такой способ кажется безумием. Как можно улучшить плохую картинку, ухудшив собственное зрение? Отчасти ответ лежит в области психологии: прищуриваясь, мы переводим систему обработки визуальной информации в мозге в режим «плохое изображение», который, по всей видимости, запускает особые алгоритмы обработки изображений, развившиеся в ходе эволюции для работы с некачественными данными. Но есть и другая часть: как ни парадоксально, прищуривание выполняет роль своего рода предварительной обработки и очищает изображение в нескольких полезных отношениях. Так, оно размывает у Линкольна границы пикселей-квадратиков, так что портрет перестает походить на штабель серых строительных блоков.
Около 40 лет назад математики начали исследовать точный и гибкий эквивалент человеческого прищуривания, известный как вейвлет-анализ, или анализ формы сигнала. Этот метод применим не только к изображениям, но и к численным данным и первоначально был предложен для выделения структуры на конкретном пространственном масштабе. Вейвлет-анализ позволяет заметить лес, не обращая внимания на то, что он состоит из множества сложных деревьев и кустов.
Сначала математиками двигали в основном теоретические соображения: вейвлеты прекрасно годились для проверки научных гипотез о таких вещах, как турбулентный поток жидкости. Позже вейвлетам нашлись кое-какие чрезвычайно практические применения. В США Федеральное бюро расследований применяет вейвлеты для хранения дактилоскопических данных, и правоохранительные службы других стран следуют их примеру. Вейвлеты позволяют не просто анализировать изображения, а сжимать их.
В JPEG изображения сжимаются за счет отбрасывания информации, которая не слишком важна для человеческого зрения. Однако информация редко бывает представлена таким образом, что сразу становится очевидно, какие из битов можно считать лишними. Предположим, вы хотите отправить другу по электронной почте рисунок, сделанный на довольно грязном листе бумаги. Помимо собственно рисунка, на нем видно множество мелких черных пятнышек. Мы с вами, взглянув на этот рисунок, сразу понимаем, что эти пятнышки не важны, но сканер этого понять не может. Он просто сканирует лист, представляя изображение в виде длинной строки двоичных черно-белых сигналов, и не может определить, является ли какое-то черное пятнышко значимой частью рисунка или случайной помаркой. Некоторые «помарки», кстати говоря, могут в реальности оказаться зрачком далекой коровы или пятнышками мультяшного леопарда.
Главное препятствие заключается в том, что сигналы сканера не представляют данные об изображении в таком виде, который облегчал бы распознавание и устранение нежелательных элементов. Однако существуют и другие способы представления данных. Преобразование Фурье заменяет кривую списком амплитуд и частот, кодируя ту же самую информацию иначе. А когда данные представляются разными способами, то операции, которые сложны или невозможны в одном случае, могут стать простыми в другом. Например, вы можете взять телефонный разговор, применить к нему преобразование Фурье, а затем удалить все те части сигнала, фурье-компоненты которых имеют частоты слишком высокие или слишком низкие для человеческого уха. После этого вы можете применить к результату обратное преобразование Фурье и получить звук, идентичный с точки зрения человеческого восприятия оригиналу. Таким образом можно передавать больше разговоров по тому же каналу связи. Но в эту игру невозможно играть с оригинальным непреобразованным сигналом, поскольку у него нет «частоты» как очевидной характеристики.
Для некоторых целей метод Фурье обладает одним-единственным недостатком: синусовые и косинусовые компоненты продолжаются до бесконечности. Преобразование Фурье плохо представляет компактный сигнал. Единичный «всплеск» – простой сигнал, но для получения хотя бы умеренно убедительного всплеска требуются сотни синусов и косинусов. Проблема не в получении правильной формы всплеска, а в том, чтобы сделать все за его пределами равным нулю. Приходится избавляться от бесконечно длинных волнистых хвостов всех синусов и косинусов и, как следствие, добавлять еще более высокочастотные синусы и косинусы в отчаянной попытке компенсировать нежелательный мусор. В конечном итоге преобразованный вариант становится более сложным и требует больше данных, чем первоначальный всплеск.
Преобразование элементарных волн, или вейвлет-преобразование, полностью меняет ситуацию, поскольку использует в качестве базовых компонентов всплески (вейвлеты). Это непросто, и это нельзя сделать с любым подвернувшимся всплеском, но математику ясно, с чего следует начинать. Выбираем конкретную форму всплеска, которая будет служить материнским вейвлетом. Получаем дочерние вейвлеты (а также внучатые, правнучатые и т. д.), сдвигая материнский вейвлет вбок в различные позиции, а также расширяя или сжимая при помощи изменения масштаба. Чтобы представить более общую функцию, добавляем подходящие кратные этих вейвлетов на различных масштабах. Точно так же базовые синус и косинус фурье-преобразования являются «материнскими синусоидами», а синусы и косинусы всех остальных частот – дочерними по отношению к ним.
Слева: кривая синуса продолжается бесконечно. В центре: вейвлет локализован. Справа: еще три поколения
Вейвлеты придуманы для эффективного описания всплескоподобных данных. Более того, поскольку дочерние и внучатые вейвлеты представляют собой всего лишь отмасштабированные версии материнского, можно сосредоточиться на конкретных уровнях детализации. Если вы хотите устранить мелкомасштабную структуру, то удаляете все праправнучатые вейвлеты в вейвлет-преобразовании. Представьте себе превращение леопарда в вейвлеты – несколько крупных для тела, более мелкие для глаз, носа и пятен, затем совсем крохотные для шерстинок. Стремясь сжать эти данные, но сохранить их внешнее сходство с леопардом, вы решаете, что отдельные шерстинки не имеют значения, и удаляете все праправнучатые вейвлеты. Пятна остаются, и в целом все по-прежнему выглядит как леопард. Нечто подобное очень трудно – а то и вообще невозможно – сделать при помощи преобразования Фурье.
Подавляющая часть математических инструментов, необходимых для создания вейвлетов, существовала на тот момент в абстрактном виде уже полстолетия и даже больше в области функционального анализа. Когда вейвлеты получили известность, выяснилось, что заумный аппарат функционального анализа – это именно то, что требуется для их понимания и превращения в эффективный метод. Главным предварительным требованием для того, чтобы машина функционального анализа заработала, является хорошая форма материнского вейвлета. Мы хотим, чтобы все дочерние вейвлеты были математически независимы от матери, чтобы информация, закодированная матерью и дочерью, не перекрывалась и чтобы ни одна часть ни одной дочери не была избыточной. Говоря языком функционального анализа, мать и дочь должны быть ортогональны.
В начале 1980-х годов