Пирамида изображений
Пирамида изображений — класс кратномасштабных иерархических структур данных, разработанных для применения в прикладных задачах машинного зрения, сжатия информации, анализа текстур растровых изображений и т. п. Такие структуры содержат на каждом своём уровне иерархии уменьшенную версию предыдущего изображения, каждая из которых рекурсивно вычисляется на базе предыдущих слоёв посредством применения однотипной операции (например — сглаживания){{#if: | }}<ref name="{{#if: | | _017625c718c00490 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. При этом всякому уровню иерархии ставится в соответствие актуальный для решаемой задачи параметр масштаба, который описывает интересующие свойства изображения{{#if: | }}<ref name="{{#if: | | _d0a9360910fbc456 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Краткая история
Возникновение интереса специалистов по математической обработке изображений к иерархическим пирамидам связано с необходимостью решать некоторые прикладные задачи в условиях априори неизвестного масштаба искомых свойств или признаков. Так как этот характерный размер не определён, то возможным путём к решению является декомпозиция исходного изображения на иерархическую систему в которой каждый слой представлен своим собственным масштабом, артикулирующим отдельный диапазон признаков. Аналогичным образом устроена система обработки видеоинформации у биологических объектов{{#if: | }}<ref name="{{#if: | | _d0a9360910fbc456 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Появление первых иерархических пирамид датируется концом 1970-х годов{{#if: | }}<ref name="{{#if: | | _08b4041dc0aa89b7 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}, выбор их названия был продиктован чисто внешней зрительной ассоциацией{{#if: | }}<ref name="{{#if: | | _3229d9525dbaa881 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. В 1980-х началось активное использование иерархических пирамид в задачах смешивания изображений и поиска на них соответствия между разномасштабными элементами и структурами. В это же самое время завершилось создание непрерывных версий пирамидальных структур для пространственно-масштабной обработки. Однако в конце 1980-х годов традиционным пирамидам пришлось потесниться из-за активного внедрения вейвлет-преобразований{{#if: | }}<ref name="{{#if: | | _0766ca093ae14b71 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Описание
По своей сути пирамида изображений может рассматриваться как набор представлений, упорядоченный в форме вертикальной иерархии по мере уменьшения некоего масштаба. Обычно в основании пирамиды располагается оригинальное изображение высокого разрешения, а по мере движения вверх масштаб и разрешение уменьшаются. В результате, на вершине оказывается самое грубое приближение с низким качеством и информативностью{{#if: | }}<ref name="{{#if: | | _0efa67d4892d1d4a }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}{{#if: | }}<ref name="{{#if: | | _46e8a977a912f0a4 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Как правило, в целях генерирования пирамиды для удобства её представления изначальное изображение пересчитывается в размерности, кратные степени числа 2{{#if: | }}<ref name="{{#if: | | _017625c718c00490 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. Если исходные данные имели вид массива пикселов [math]\displaystyle{ N \times N }[/math], то эта запись эквивалентна [math]\displaystyle{ 2^n \times 2^n }[/math], где [math]\displaystyle{ n = log_2 N }[/math]{{#if: | }}<ref name="{{#if: | | _0efa67d4892d1d4a }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. В таком виде параметр [math]\displaystyle{ n }[/math] играет роль высоты пирамиды, выраженной в количестве представлений исходного изображения (слоёв){{#if: | }}<ref name="{{#if: | | _2449e99700782ba0 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Первый слой (приближение) пирамиды можно получить последовательным усреднением соседних пикселей, результатом которого станет массив [math]\displaystyle{ \frac{N}{2} \times \frac{N}{2} }[/math]. Применяя эту процедуру рекурсивно получается набор изображений с экспоненциально уменьшающимися размерами. При этом, пикселы промежуточных изображений содержат в себе информацию о квадратных блоках пикселов нижележащих слоёв с более высоким разрешением{{#if: | }}<ref name="{{#if: | | _0bbb90c523b75ee8 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. Тогда произвольно выбранный промежуточный слой будет содержать в себе [math]\displaystyle{ 2^j \times 2^j }[/math] пикселов, где 0 ≤ j < n, а полное количество пикселов в пирамиде, содержащей [math]\displaystyle{ k }[/math] слоёв{{#if: | }}<ref name="{{#if: | | _0efa67d4892d1d4a }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}:
Стоит отметить, что промежуточные узлы пирамиды не обязательно должны представлять из себя взвешенное среднее по интенсивности из нижних слоёв. Вместо интенсивности в них могут храниться другие виды информации, например — дескрипторы текстур или параметры геометрических элементов (линий, кривых и т. п.){{#if: | }}<ref name="{{#if: | | _6bd12ab2a322a2dc }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}
Применение пирамид
Наиболее очевидным полезным свойством кратномасштабных пирамид является возможность снижения вычислительных затрат различных алгоритмов за счёт применения принципа «разделяй и властвуй». Также к преимуществам представления двумерного изображения в виде пирамиды считается соотнесение его локальных элементов и свойств с глобальными. Это позволяет конструировать древовидные структуры данных для многофакторного анализа, включающего в себя локальную и глобальную информацию. Например, связывая значения отдельных пикселов со свойствами окружающих их регионов{{#if: | }}<ref name="{{#if: | | _f77fa1ae9ca8a600 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Разновидности
Классическими видами пирамидальных иерархий считаются гауссовы пирамиды и пирамиды лапласианов. Благодаря своим хорошо изученным свойствам они получили широкое распространение в целом ряде практических приложений{{#if: | }}<ref name="{{#if: | | _037455623558c8c4 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Гауссова пирамида состоит из слоёв, каждый из которой получается из предыдущего с помощью сглаживания симметричной гауссоидой (низкочастотная фильтрация) и последующей за этим дискретизацией. Совокупность этих слоёв называется грубой шкалой изображения. Областью применения гауссовых пирамид обычно являются задачи поиска изображений по масштабу и пространственного сопоставления различных изображений{{#if: | }}<ref name="{{#if: | | _c724ac68cc7d818e }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}{{#if: | }}<ref name="{{#if: | | _b072213deb43f076 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Пирамиды лапласианов вычисляются последовательным сглаживанием и децимацией начальных данных. При этом, каждый уровень пирамиды является уточнением предыдущих и соответствует отдельной полосе частот (полосовая фильтрация). В отличие от гауссовых пирамид, этот тип данных допускает более высокую степень сжатия информации{{#if: | }}<ref name="{{#if: | | _19f000e3ccd866fc }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}{{#if: | }}<ref name="{{#if: | | _0efa67d4892d1d49 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}. В дополнение к этому исходное изображение может быть легко восстановлено на основе суперпозиции промежуточных слоёв, что позволяет не хранить его в памяти{{#if: | }}<ref name="{{#if: | | _83b87a4c33f888d5 }}" group="{{#if: | }}">Шаблон:Sfn-текст.</ref>{{#if: | }}.
Примечания
| {{#switch: {{{1}}}
| узкие = columns reflist-narrow
| широкие = columns reflist-wide
| #default = columns
}}
| {{#switch: {{{1}}}
| 1 =
| 2 | 3 = columns
| #default = columns reflist-narrow
}}
}}
| columns
}}
}}" style="{{#if:
| column-width:{{{colwidth}}};
| {{#if:
| {{#iferror: {{#ifexpr: {{{1}}} > 1 }}
| {{#switch: {{{1}}}
| узкие | широкие =
| #default = column-width:{{{1}}};
}}
}}
}}
}} list-style-type: {{#switch:
| upper-alpha
| upper-roman
| lower-alpha
| lower-greek
| lower-roman = {{{group}}}
| #default = decimal
}};">
<references group="" responsive="{{#if:
| 0
| {{#if:
| {{#iferror: {{#expr: {{{1}}} > 1 }}
| {{#switch: {{{1}}}
| узкие | широкие = 1
| #default = 0
}}
| {{#switch: {{{1}}}
| 1 = 0
| #default = 1
}}
}}
| 1
}}
}}"></references>Ошибка скрипта: Модуля «Check for unknown parameters» не существует.
