«

»

May 03

01 – изображение в компьютерном зрении

Что такое изображение?

пример ортографической проекции

пример ортографической проекции

Изображение – результат преобразования трехмерного пространства в двумерное. Каждый пиксель изображения – величина отраженного сценой светом в направлении камеры (есть и другие типы – MRI, рентгеновское излучение, изображения получаемые со всяких хитрых штуковин).

На практике рассматривают два основных вида преобразований:
Перспективная проекция (perspective projection) – вы сами создавали такие проекции с помощью фотоаппарата (об упрощенной модели перспективной проекции часто рассказывают на примере pinhole camera или камеры обскуры
Ортографическая проекция (orthographic projection) – получается, например, с неуправляемых шпионов-беспилотников

Что влияет на формирование изображения?

Свет – где находится источник(и) света, характеристики света.
Камера – где расположена, куда направлена, параметры
Сцена – динамическая или нет, какие отражающие свойства у поверхностей объектов в сцене и т.п.

Хорошее детальное описание процесса формирования изображения может быть найдено много где, например, если на ютубе поискать по строке “Fundamentals of image formation – Computer Vision-Professor Jitendra Malik” – находятся две 15 минутных лекции с картинками и разжевыванием. Как правило, для практических задач принимаются во внимание только параметры камеры, а все остальное списывается на погрешность измерений.

Как изображение “видит” компьютер?

Здесь есть два принципиально разных подхода – дискретный (конечный) набор данных или функция.

1) Бинарное изображение (представлены только два цвета – черный и белый) можно представить в виде числовой матрицы размером n на m. Единички соответствуют черному, а нолики белому цветам. Для представления изображения в градациях серого подойдет такой же двумерный массив, где каждый элемент будет содержать значение интенсивности – от 0 (совсем черный) до 255 (совсем белый). Для цветного изображения – будет уже три таких массива (для каждого из каналов RGB – свой массив). Разрешение изображения – число строк и столбцов. Видео – последовательность таких изображений (30 фреймов в секунду). Каждый пиксель изображения – представление множества точек пространства.

2) Для обработки вышеописанный подход не подходит так как получается медленно и неэффективно. А потому периодически рождались новые методы.

2.0) Можно думать об изображении как о некоторой функции – это может быть значительно удобней для вычислений. Функцию можно разложить с помощью дискретного преобразования Фурье – ДПФ (англ. – DFT, Discrete Fourier Transform). Ускоренный вариант – быстрое преобразование Фурье (англ. – FFT) можно получить за n*lg(n) операций. Зачем? Кратко – для сжатия, подробно – http://psi-logic.shadanakar.org/fft/fft7.htm. Грубо говоря, на выходе мы получим представление нашего сигнала (то бишь изображения) в виде суммы значения производных разных порядков этой функции в этой точке.

представление изображения в виде функции

представление изображения в виде функции

Как правило, сигнал – наше изображение – задан на некотором отрезке возможных значений. Для его представления используется разложение в косинусах с помощью метода – дискретное косинусное преобразование (DCT). На практике, изображение раскладывается на две базисные функции – двумерные синусоиды с разными углами наклона и фазами. Для ускорения разложения используется их декомпозиция на одномерные ДПФ. Используется, например, при сжатии в JPEG.

Так как частичная сумма ряда Фурье будет отличаться от сигнала на резких границах – возникает погрешность – ringing Gibb’s Phenomenon. С которой с переменным успехом борются по сию пору.

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

Развитие идеи ДКП – Фильтр Габора. Подобные фильтры позволяют находить края заданной ориентации и частоты. Если их объединить в банк фильтров – набор фильтров разного масштаба и ориентации – то можно получить описание локальной текстуры области изображения (в виде вектора признаков) и использовать для анализа.

2.1) пирамида изображений – Пирамида Гауссианmipmap

пример пирамиды изображения

пример пирамиды изображения

Простейшая пирамида – набор масштабируемых копий изображения. В ходе обработки возможны случаи, когда изображения можно исключить из обработки на основе анализа их малых представлений. Применяются для улучшения сопоставления шаблонов, кратномасштабный анализ изображений (multidimensional methods).

2.2) пирамида Лапласиана – вариация Пирамиды Гауссиан На каждом уровне хранится не масштабированная копия, а сигнал (данные изображения) определенной частоты. Эффективнее сжатие, прогрессивная передача данных сначала верхние уровни потом уточняем менее частыми данными

2.3) Ориентированные пирамиды. Получаются если к каждому уровню пирамиды Лапласиана применить ориентированный фильтр – например, фильтр Габора. Хранят информацию о структурах разного масштаба – частоты и ориентацию. Используется для синтеза детектора краев произвольной ориентации (а заодно и для синтеза изображений).

2.4) Вейвлет (wavelet – всплекс) разложение – разложение сигнала по набору масштабированных и смещенных версий одной базовой функции. Может оптимально закодировать сигнал одномерной функции – используется в JPEG2000, эффективен для медицинских изображений высокого разрешения\размытых границ – томограмм.

2.5) Популярные в последнее время – разреженные представления (sparse modeling) сигнала – через словарь – состоящий из фрагментов часто встречающихся в изображениях. Основные методы построения изображения по словарю: basic pursuit, matching pursuit, orthogonal matching pursuit, LARS – Lasso. Можно выбрать либо аналитические методы построения словаря – Curvelets, Countourlets, Surflets, Bandelets, Complex Wavelet Transform, Shearlet, Grouplet, Grouped bandelet. Или построить его с помощью одного из пакетных методов – на основе исходных данных. Наряду с методами строящими словарь на основе всех данных, существуют быстрые методы построения словарей с обучением на лету – после добавление нового элемента данных производится обновление словаря (K-SVD, Image Signature Dictionary). Иерархические словари используются для ускорения разложения.

Кроме непосредственного использования для представления изображения, могут быть использованы для избавления от шума, удаления текста с фона. Сейчас изучается возможность применения классификаторов, построенных на основе разреженных представлений в качестве детектора краев (для фильтрации ложных краев или краев не относящихся к заданной категории объектов).

Подробно про сжатие изображений – тут.

Библиотеки для построения словарей и работы со словарями есть в свободном доступе:
Sparse modeling software
sparselab.stanford.edu
от Minh N. Doтут
от Michael Eladтут

1 ping

  1. Практическое введение в компьютерное зрение | Мои IT-заметки

    […] « 01 – изображение в компьютерном зрении […]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>