Научная статья на тему 'Исследование алгоритмов обнаружения и локализации объекта на изображении в условиях структурных искажений'

Исследование алгоритмов обнаружения и локализации объекта на изображении в условиях структурных искажений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1163
118
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАБОТКА ИЗОБРАЖЕНИЙ / КАЧЕСТВО РАБОТЫ АЛГОРИТМА / ЛОКАЛИЗАЦИЯ ОБЪЕКТА / IMAGE PROCESSING / ALGORITHM PERFORMANCE / OBJECT LOCALIZATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Перевалов Д. С.

Предложен новый метод построения упрощенных моделей для исследования устойчивости качества алгоритмов обнаружения и локализации объектов к различным искажениям входных изображений.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Analysis of an object detection and localization algorithms in images with structural noise

A new technique for constructing the simple models for examination of performance of the detection and localization algorithms due to the input image distortions is proposed

Текст научной работы на тему «Исследование алгоритмов обнаружения и локализации объекта на изображении в условиях структурных искажений»

Вычислительные технологии

Том 14, № 1, 2009

Исследование алгоритмов обнаружения и локализации объекта на изображении в условиях структурных искажении

Д. С. Перевалов Институт математики и механики УрО РАН, Екатеринбург, Россия

e-mail: perevalovds@mail.ru

Предложен новый метод построения упрощенных моделей для исследования устойчивости качества алгоритмов обнаружения и локализации объектов к различным искажениям входных изображений.

Ключевые слова: обработка изображений, качество работы алгоритма, локализация объекта.

Введение

При разработке систем технического зрения часто возникает задача обнаружения и локализации объекта на изображении. Она заключается в проверке наличия на входном изображении некоторого объекта и вычислении его геометрических характеристик типа положения и угловой ориентации [1-3]. При разработке такого алгоритма важнее всего оценка качества его работы [4, 5]. Такая оценка обычно формулируется в терминах вероятностей ошибок алгоритма.

Как правило, оценки этих вероятностей получают эмпирически, с помощью тестирования алгоритма по некоторой базе примеров [4]. Такой способ универсален и позволяет сравнивать показатели работы несколько алгоритмов. Кроме того, накладывая шум на изображения, можно вычислять изменение качества алгоритма в зависимости от уровня зашумления. Но при использовании этого подхода трудно оценить воздействие структурных изменений типа увеличения/уменьшения числа посторонних объектов в сцене. Общим методом, позволяющим испытать влияние произвольных параметров на алгоритм, является моделирование входных данных с помощью метода Монте-Карло [5]. К сожалению, пока нет общей теории, которая бы позволила быстро строить точные модели для произвольных алгоритмов анализа изображений.

В работе предлагается метод построения упрощенных моделей для исследования устойчивости алгоритмов обнаружения и локализации объектов к различным типам искажений, в том числе структурных. Он применим к достаточно широкому классу алгоритмов, работу которых можно представить в виде двух этапов [6, 7]:

1) поиск признаков на изображении;

2) анализ их геометрического расположения.

* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 06-01-00229).

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2009.

Предлагается построить вероятностную модель появления признаков на изображении и, используя эту модель, с помощью метода Монте-Карло вычислить оценки вероятностей ошибок для разных значений параметров модели. На основе полученных оценок можно сделать качественное заключение об устойчивости алгоритма на интересующей области значений параметров. Для количественного описания устойчивости алгоритма предлагается характеристика, не зависящая от масштаба измерения интересующих параметров.

Предложенный подход проиллюстрирован на примере прикладной задачи распознавания изображения автосцепки [8].

1. Предварительные сведения и обозначения

Качество алгоритма обнаружения и локализации естественно описывать тремя вероятностями [4]:

1) Pta — вероятность правильного обнаружения (true acceptance) объекта на изображении при его фактическом присутствии в сцене;

2) Pii — вероятность ошибки второго рода или ложной тревоги, когда алгоритм обнаруживает объект при его фактическом отсутствии в сцене;

3) Pioc — вероятность правильного обнаружения и правильной локализации объекта при наличии объекта в сцене.

Для определения этих величин необходимо знание распределения вероятностей появления всех возможных входных изображений, что в практических задачах недостижимо. Поэтому вместо вероятностей Pta, Рц, Pioc будем использовать частоты Fta, Fii , Fioc соответствующих событий по некоторому числу испытаний.

Далее будем считать, что зафиксирована некоторая задача T обнаружения и локализации объекта на изображении, которая заключается в проверке наличия на входном изображении определенного объекта и вычислении его геометрических характеристик. При этом предполагается, что на изображении может быть не более одного интересующего объекта. Последнее предположение — не слишком жесткое ограничение, так как к задаче в такой постановке сводится общая задача обнаружения нескольких объектов, принадлежащих разным классам.

Будем говорить, что некоторый алгоритм A решает задачу T, если его входом является изображение I, а выходом — конечномерный вектор геометрических характеристик V = (x, y, <р, ...), который описывает расположение объекта на изображении. Состав компонент вектора V определяется требованиями конкретной задачи. Например, в него могут входить центр объекта (x, y), угловая ориентация ip и другие характеристики. Если объект на изображении не обнаружен, алгоритм выдает V = 0.

Нас будут интересовать лишь алгоритмы, представимые в виде композиции двух алгоритмов Ai и A2:

A = A2 о A1.

Алгоритм A1 осуществляет поиск на I признаков нескольких классов. Результатом его работы является множество

L = {Li, L2,..., Ln},

где Li = (si, Xi, yi, ifi, ...) — вектор описания i-го признака. Первая компонента этого вектора si £ N соответствует номеру класса, которому принадлежит признак, а все

остальные компоненты есть вещественные числа, описывающие геометрические характеристики этого признака. Алгоритм А2 формирует по L вектор V.

Пример. Рассмотрим следующую задачу обнаружения квадрата на изображении. Предполагается, что стороны квадрата параллельны осям координат изображения. Требуется найти центр квадрата. В качестве А1 можно взять алгоритм обнаружения углов четырех классов с помощью поиска локальных экстремумов соответствующих четырех шаблонов. Каждый найденный признак характеризуется вектором = (вг,хг,уг), где вг = 1,... , 4 — номер класса признака, хг, уг — координаты его центра. В качестве А2 можно взять алгоритм, который ищет в L такие четверки признаков (Ьа, Ьь, Ьс, Ьа), что ва = 1, вь = 2, в с = 3, в а = 4, и их координаты лежат с заданной точностью на соответствующих углах некоторого квадрата. Если такая четверка в точности одна, то в качестве V выдается вектор

4(жа + хь + Хс + ха, уа + Уь + Ус + уа),

в противном случае V = 0.

2. Вероятностная модель обнаружения признаков

Для исследования качества работы алгоритма А = А2 о А1 предлагается построить модель, описывающую обнаружение алгоритмом А1 признаков на изображении как случайный процесс. Желательно, чтобы модель имела несколько управляющих параметров Н = (Н1,... , Нт). Эти параметры могут характеризовать различные типы искажений входных изображений, в том числе структурные. Например, это могут быть степень расфокусировки и количество посторонних объектов на изображении.

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

Обозначим через и = (хо, у0, , ...) вектор фактических геометрических характеристик объекта на изображении. (Компоненты вектора И соответствуют компонентам выходного вектора V в определении алгоритма А.) Тогда случайный процесс £(И, Н), который по заданным И и Н строит множество L, можно описать так:

1) п = п(И, Н);

2) L0 = 0;

3) Ь1 = ¥а0, И, Н), L1 = {Ь1>;

4) Ьк = ¥^к-1, И, Н), Lk = Lk-1 };

5) Ьп = ¥^п-1, И, Н), Ln = Ln-1 и{Ь„};

6) L = Ln.

Здесь п = п(И, Н) — случайная величина, определяющая число шагов процесса и одновременно — число элементов множества L. Множество L строится индуктивно, за п шагов. На очередном шаге к к нему добавляется вектор Ьк = (вк, Хк, Ук, ^к, • • •) = ¥^к-1, И, Н), где ¥^к-1, И, Н) —случайный вектор, распределение которого зависит от Lk-1, И и Н. Таким образом, для построения модели алгоритма А1 требуется задать распределения случайных величин п(И, Н) и ¥И, Н) для всех L/, И, Н.

Пример. Для вышеописанного примера обнаружения квадрата построим модель следующим образом. В качестве вектора управляющих параметров возьмем Н = (Н^Нг), где Н1 — параметр расфокусировки, Н2 — число посторонних объектов на изображении. Естественно определить п(И, Н) так, чтобы его математическое ожидание было пропорционально Н2. Если и = 0, это значит, что и есть вектор (х, у), характеризующий центр квадрата. В этом случае определим первые четыре признака так, чтобы они располагались в соответствующих углах некоторого квадрата с центром в (х, у) с точностью, обратно пропорциональной Н\. Так как размер О квадрата не задан, будем считать О равномерно распределенной случайной величиной, принимающей все возможные значения, при которых квадрат целиком помещается на изображении. Для к = 1,... , 4 положим класс признака г равным вк = к, а его положение (х&, ук) — равным значению случайного вектора с нормальным распределением, центр которого лежит в соответствующей точке (х ± О, у ± О), а дисперсия пропорциональна И2.

Фактически, мы задали распределение ^(Ь', И, Н) для случая, когда число элементов 1_' не превосходит трех и И = 0. Для всех остальных случаев будем считать, что в векторе (в, х, у) = ^(Ь', И, Н) значение в распределено равномерно на множестве {1, 2, 3, 4}, а вектор (х,у) равномерно распределен на дополнении к множеству уже занятых векторов {(х', у') | (в', х', у') € Ь'}.

3. Оценка качества алгоритма методом Монте-Карло

Для фиксированных И, Н описанный выше процесс £(И, Н) дает возможность построения случайной выборки множеств признаков (Ь1, 1_2,..., ) произвольного размера N. Если подать каждое множество 1_г на вход алгоритма А2 и обозначить выход V1, то получится выборка (V1, V2,... , Vм). Фактически, это выборка результатов моделирования работы алгоритма А в ситуации, когда искомый объект расположен в И, а параметры съемки есть Н. Чтобы оценить по этим выборкам качество работы алгоритма, необходимо задать критерий сравнения истинной локализации И и вычисленной локализации V. Обозначим такой критерий ¿(И, V). Если И = 0 = V и расстояние в некоторой метрике между И и V не превышает заданного порога либо И = V = 0, то ¿(И, V) = 1. В противном случае ¿(И, V) = 0. В этих обозначениях качество работы алгоритма может быть оценено следующим образом. Если И = 0, то

*ЦИ, Н) = - еага{г : ^ = 0},

1

^(И, Н) = N £ ¿(и, V),

г

Л//(И, Н) = 0,

иначе

Л//(И, Н) = N еага{г : V = 0}, где еага(Х) — мощность множества X.

1

Обычно представляет интерес оценка качества алгоритма при фиксированных параметрах Н, вне зависимости от и. Для этого требуется задать вероятностное распределение Р0(И) возможных положений объекта на изображении. Например, если нет априорных данных о локализациях объекта, можно положить вероятность появления И во всех допустимых положениях на изображении одинаковой. А вероятность события И = 0 оценить на основе набора тестовых примеров.

Для оценки качества алгоритма сгенерируем с помощью распределения Р0(И) выборку (И1,... , Им) размера М. Обозначим Е = {] : И = 0}. Тогда

««(Н) = сатщ £ ^ ■Н)-

j€E

F-(H) = F-(uj . H).

j€E

F" (H) = M-a-TT^v £ F" (Uj. H).

M — ca-d(E )

K ' je{i,...,M}\e

Данную процедуру оценивания можно провести для нескольких наборов параметров H. В частности, можно выбрать набор H0, соответствующий тестовой базе примеров, и рассчитать Fta, Foc, Fjj для H из некоторой окрестности H0. По степени изменчивости полученных значений можно судить об устойчивости алгоритма при условиях H0. А именно, если градиент вектор-функции (Fta, F|oc, Fjj) в точке H0 имеет большую норму, это свидетельствует о том, что алгоритм резко меняет свои свойства при малых изменениях параметров съемки, что ставит под сомнение практическую применимость алгоритма. Для получения характеристик устойчивости, инвариантных к масштабу изменения параметров, можно использовать отношения частных производных Fta, Fioc, Fjj по параметрам из H. Например, величина

dFioc / OFjj

BHJ ÔHk

позволяет установить, что чувствительней к изменению параметра Hk — оценка вероятности правильной локализации или ложной тревоги. Такая оценка позволяет обнаружить слабые места в алгоритме и контролировать результат их устранения.

Далее рассматривается пример простого порогового алгоритма, для которого доказывается неустойчивость в отмеченном выше смысле.

4. Неустойчивость порогового алгоритма

Пусть изображение сцены имеет размеры Жх х Жу = 100 х 100 пикселов, а значения пикселов изображения 1[х, у] являются целыми числами от 0 до 255, где 1 < х < Жх, 1 < У < Жу. Пусть изображение искомого объекта — это квадрат размером пх хпу = 5 х 5 пикселов, причем значения яркости в этих пикселах не менее Н0 = 99. Центр квадрата является случайным вектором И = (х0,у0), распределенным равномерно на множестве

{3,..., 31} х {3,..., 98} ,

т. е. в левой трети изображения сцены.

Рис. 1. Пример изображения сцены для Н = 50

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

{0, 1, ...,Я - 1},

где Н — параметр, характеризующий уровень зашумления изображения (рис. 1). Требуется оценить центр изображения объекта.

Рассмотрим следующий алгоритм А = А2 ◦ А1 решения этой задачи.

Алгоритм 1. Пороговый алгоритм обнаружения квадрата

Вход: изображение I. Выход: V = (ж*,у*). А1 (поиск признаков)

Все признаки Ьк = (вк, Жк,Ук) принадлежат одному классу, т.е. вк = 1, а их координаты таковы, что 1[жк,Ук] > Н0 :

I = {(1,ж,у) : 1[ж,у] > Н0}.

А2 (анализ геометрического расположения признаков)

Рассчитать координаты габаритного прямоугольника, в котором содержатся все Ьк:

Хо = ш1п(жк), У = шт(ук), кк

Х1 = шах(жк), У1 = шах(ук). кк

Вычислить его центр и выдать его в качестве ответа:

*

х0 + х1 * у0 +

Ж = -о-, у

2 2 V =(ж* ,у*).

Результат работы алгоритма считается правильным, если

(ж* - Ж0)2 + (у* - у0)2 < 62, 6 = 2.

Согласно предложенной методике, исследуем алгоритм на устойчивость по отношению к уровню шума Н. Если Н < Н°, то вероятность правильной локализации будет равна 1, так как L будет состоять в точности из пикселов, соответствующих изображению объекта. Если Н > Н0, то значения пикселов, не принадлежащих объекту, будут меньше Н0 с вероятностью

Н0 1

р = — <1--.

р Н - Н

В частности, вероятность того, что все пикселы (ж, у) из области Ш = {67,... , 100} х {1,... , 100} будут иметь значение, меньшее Н0, равна

р1°°-34 < ю-14.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

С практической точки зрения такое событие наступить не может. А значит, в области Ш найдется пиксел со значением, больше либо равным Н°. Следовательно, при работе первого этапа алгоритма он будет выделен как признак и попадет в L, поэтому на этапе А2 получится Х1 > 67, значит:

* х° + х1 ж =-^-> 34.

Так как по предположению ж° < 31, то

|ж* — ж°| > 3.

Эта величина больше поэтому результат алгоритма будет считаться неверным.

Таким образом, при уровне шума Н < Н° алгоритм работает всегда правильно, а при Н > Н° результат его работы с практической точки зрения всегда неверен. Следовательно, алгоритм неустойчив относительно изменения параметра Н в точке Н = Н °.

5. Исследование алгоритма обнаружения автосцепки

Рассмотрим алгоритм решения прикладной задачи [8] обнаружения и локализации изображения автосцепки двух сцепленных железнодорожных вагонов. Съемка изображений производилась стационарно закрепленной видеокамерой. Примеры изображений автосцепок показаны на рис. 2.

Рис. 2. Несколько примеров изображений автосцепки

Таблица 1. Результаты тестирования алгоритма обнаружения автосцепки

Частота правильного обнаружения = 666/685_

0.9723

Частота ложной тревоги Г// = 1888/23211

0.0813

Частота правильной работы РсоттесЬ = Гэь^а + (1 — Г(Э^)(1 — Г//)

0.9202

Работа алгоритма основана на том факте, что около центра изображения автосцепки имеется четыре темных прямоугольных области. Алгоритм работает в два этапа. На первом этапе (поиск признаков) на изображении выделяются темные прямоугольные области заданного размера. На втором этапе (анализ конфигураций признаков) производится геометрический анализ найденных прямоугольников. Подробное описание алгоритма приведено в статье [8].

Тестирование алгоритма было проведено с использованием 23 896 изображений, причем на 685 из них присутствовало изображение автосцепки. Анализировался только факт нахождения алгоритмом сцепки, безотносительно правильности локализации. Результаты тестирования приведены в табл. 1. Параметр ^о^ = 685/23 896 ~ 0.0287 обозначает частоту появления искомого объекта на изображении. Из таблицы видно, что алгоритм сработал правильно в 92 %. Это позволяет сделать вывод о работоспособности алгоритма поиска автосцепки при данных условиях съемки.

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

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

Будем считать, что если И = 0, то вектор И = (х, у) распределен равномерно на множестве

где Мх х Му =170 х 34 — размер входного изображения, г = 3.

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

где П1 = 7.2886, а1 = 1.8578, п2 = 5.1567, а2 = 2.8979. Построим модель п(И, Н), которая включает в себя эту информацию. Внесем ряд упрощений. Из практических соображений можно ограничиться рассмотрением п < 30. Кроме того, в случае И = 0

Р (И = 0) = 1 — 0.0287 = 0.9713.

{г, ..., Мх — г + 1} х {[Му/2]},

3 = 1, 2,

на изображении будет обнаружено не менее трех признаков, т. е. п > 3. Будем считать, что при и = 0 вероятность обнаружения п признаков равна

т* тт т С(п; п2 + я,а2) . чп Р(п; И, Н) = -30-, 0 < п < 30,

С(г; п2 + Н,^)

i=0

а при и = 0

Р(0; И, Н) = Р(1; И, Н) = Р(2; И, Н) = 0,

т* тт т С(п; п1 + н,^1)

Р(п; И, Н) = -30-, 3 < п < 30.

С(г; щ + Н,^)

i=3

Хотя в реальной ситуации признаки-прямоугольники имеют различные размеры, для упрощения будем считать, что все прямоугольники имеют одинаковый размер 16x5 пикселов. Алгоритм поиска прямоугольников устроен таким образом, что найденные прямоугольники не пересекаются. Будем считать, что если И = 0, то п центров прямоугольников генерируются последовательно и они распределены равномерно по всем возможным положениям, при которых не возникает пересечений с уже построенными прямоугольниками.

Если же И = 0, тогда п > 3 и первые три прямоугольника генерируются в соответствующих точках рядом с центром автосцепки И. Для моделирования влияния дефокусировки к координатам этих точек прибавляются значения равномерно распределенной случайной величины, принимающей значения из множества {-1, 0, 1}.

Используя построенную модель, методом Монте-Карло вычисляем оценку качества алгоритма для значений параметра Н из отрезка [-3, 3] с шагом 0.5. Для каждого Н проводилось 20 000 испытаний — по 10 000 испытаний на случаи наличия и отсутствия объекта в сцене. Критерием допустимой погрешности между истинной И и вычисленной V локализациями являлось условие — И||2 < 4. Графики с полученными результатами изображены на рис. 3.

При Н = 0 параметры модели соответствуют данным оценки тестовых изображений. Сравнительные результаты приведены в табл. 2.

Рис. 3. Зависимость качества работы алгоритма поиска автосцепки от числа посторонних объектов

Таблица 2. Оценки качества алгоритма на тестовых изображениях и на его модели

Производные Тестовые изображения Модель

Fta и 0.9723 и 0.9086

Floe — и 0.8868

Fii и 0.0813 и 0.0186

Видно, что значения величин в тесте и модели получились различными, что связано с упрощениями, внесенными в модель.

Исследуем устойчивость алгоритма в точке И = 0. Для этого рассчитаем производные Г/ос(0) и Г//(0) с помощью симметричной формулы численного дифференцирования:

г' (0)« Л^Ц^,

1 ; 2к

с шагом к = 0.5:

Г'ос(0) « -0.0328, Г//(0) « 0.0069,

откуда

IFOC(0)|

4.75.

Г'п (0)

Таким образом, при росте числа посторонних объектов на изображении способность алгоритма точно локализовать интересующий объект ухудшается быстрее, чем способность правильно указывать на отсутствие интересующего объекта. При дальнейшем усовершенствовании алгоритма следует обратить основное внимание на ситуации, когда на входном изображении присутствует изображение автосцепки и имеется достаточно много посторонних объектов.

Заключение

В настоящее время подходы к исследованию алгоритмов с помощью методов Монте-Карло изучаются и применяются достаточно широко. Достоинства предлагаемого подхода — его применимость в практических задачах, простота используемой математической модели и возможность учета структурных искажений изображения. К недостаткам можно отнести то, что в силу упрощений, внесенных в модель, количественные значения получаемых оценок могут отличаться от реальных. Таким образом, данный метод предназначен в первую очередь для качественного исследования устойчивости алгоритмов к различным типам искажений входных данных.

Автор благодарит В.Б. Костоусова за постановку задачи и плодотворное обсуждение настоящей работы.

Список литературы

[1] Методы компьютерной обработки изображений / Под ред. В.А. Сойфера. М.: Физматлит, 2003. 784 с.

[2] National instruments vision concepts manual, http://www.ni.com

[3] Гонсалес Р., Вудс Р. Цифровая обработка изображений: пер. с англ. М.: Техносфера, 2005. 1072 с.

[4] Courtney P., Thacker N.A. Performance characterisation in computer vision: The role of statistics in testing and design // Imaging and Vision Systems: Theory, Assessment and Applications". N.Y.: Nova Science Publishers, 2001.

[5] Courtney P., Thacker N.A. Tutorial given to the British Machine Vision Conference, overheads, 2001, http://peipa.essex.ac.uk/benchmark/tutorials/bmvc2001/bmvc2001-tutorial.pdf

[6] Schmid C., Mohr R. Local grayvalue invariants for image retrieval // PAMI. 1997. Vol. 19, N 5. P. 530-534.

[7] Nixon M.S., Aguado A.S. Feature extraction and image processing. Oxford, GB: Newnes, 2002.

[8] Перевалов Д.С. Вероятностная модель и эффективный алгоритм распознавания изображения автосцепки // Тр. 37-й регион. молодеж. конф. "Проблемы теоретической и прикладной математики". Екатеринбург, 2006. C. 468-472.

Поступила в редакцию 3 сентября 2007 г., в переработанном виде — 7 октября 2008 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.