Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 88
Текст из файла (страница 88)
Операция взятия обратной матрицы является самой вычислительно затратной при реализации расстояния Махаланобнса. Эту действие можно существенно ускорить с помощью операции правого матричного деления (/), которая вводилась в табл. 2.4 (см. также следующую сноску). Выражения для п к и С„ приведены в В 11.5. Пусть Х обозначает семейство из р векторов размерности п, и пусть Ъ'— это семейство из й векторов, причем в обоих матрицах векторы располагаются по строкам. Следующая М-функцня вычисляет расстояние Махаланобнса от калСдого вектора Ъ' до гп„'. йшсСАоп й = шаЬа1апоЫВ(чахатЯ1п) ХМАНАЕАНОВ1Я Сошрцсея СЬе МВЬа1апоЫВ ййясапсе.
'/ Р = МАНА1АИОВ1Я(У, Х) сошрцсев СЬе МаЬа1апоЫВ ййясапсе Ьесяееп Х еасЬ чесСог Ап У Со СЬе шеап (сепсго1й) о1 СЬе чессотя 1п Х, ызй '/ оцсрися СЬе теви1С 1п чессог Р, ВЬове 1епЯСЬ 1я яхве(У, 1). ТЬе '/ чесСогя ма Х апй У ате веявшей Со Ъе огЯвлйяей ая гоня. ТЬе '/ АпрцС йаса сал Ье геа1 о1 сошр1ех. ТЬе оцсрцСВ аге теа1 / ОпапСАСйея. '/ Х Р = МАНА1АНОВ1Я(Х, СХ, МХ) сошрцсея СЬе МаЬа1апоЬАв й1ВСвлсе Х ЬеСчееп еасЬ чессог Ап У апй СЬе ЯАчеп шеап чессог, МХ. ТЬе Х геви1СВ аге оцтрцС ха чессог Р, чЬояе 1епЯСЬ Ав яйхе(У, 1). ТЬе '/ чесСогя Ап У аге веявшей Со Ье огЯапйхей ав СЬе гояя о1 СЫВ Х атгау. ТЬе 1прпС баСа сап Ье геа1 ог сошр1ех. ТЬе оцсрцся аге / теа1 с(пвпСАСАея.
Хп аййАСАоп Со СЬе шеап чессот МХ, СЬе '/ сочаг1апсе шаССАх СХ оХ а рорп1асйоп оХ чессогя Х а1яо шпяС Ье Х ргоч1йей. Ояе ХппсС1оп СОЧМАТВТХ (В 11.5) Со сошрисе МХ ык1 '/ СХ. '/ ВеХегепсе: АсК1аш, Р. й. 12002]. »МАТ|АВ Аггау Мап1ри1асйоп Т1ря % апй ТС1сКВ. » Ача11аЬХе аС Х Ьоше.оп11пе.по/ р)асК1аш/шаС1аЬ/йос/шСС/1пйех.ЬСш1 '/ ог аС '/ ччи. ргепЬа11. сош/яопха1евяоойяейй1пя »Если матрица А — квадратная, то матричная операция А/В является более точной (и более быстрой) реализацией операции В»тлч(А). Аналогично, операция Абба работает эффективнее выражения Апч(А)'бВ. См. табл.
2.4. 2. Я. ~ 50~~5) рагаш = чагагя1п; % Кеер 1п ш1по СЬаС рагаш 1в а се11 актау. У = ракеш~1); пу = вгве(У, 1); % ИпшЬег о1 чессогв гп У. 11 1епясЬ(рагаш) == 2 Х = рагаш[2).; % СошрпСе СЬе шеап чессог апо сочаг1апсе шатггх о1 СЬе чессогв % 1п Х. [Сх, шх) = сочшасгйх(Х); е1ве11 1епяСЬ(рагаш) == 3 % Соч. шасг1х апо шеап чесСог ргоч1оей. Сх = ракеш(2); шх = рагаштзт; е1ве еггог(')(гопй пишЬег о1 1прпсв.') епо шх = шх(:)'; '/ Иайе ваге СЬаС шх 1в а гои чессог. % ЯпЬСгасС СЬе шеап чессог 1гош еасЬ чессог Хп У.
Ус = У - шх(опек(пу, 1), :); % СошрпСе СЬе ИаЬа1апоьйв й1всапсев. 6 = геа1(впш(ус/Сх.«соп)(ус), 2)); Вызов функции геа1 в последней строке программы сделан для подавления «численного шума э, подобно соответствующей операции при фильтрации изображений в гл. 4. Если известно, что данные всегда вещественны, то для упрощения кода функции можно опустить вызовы подфункций геа1 и соп)1 12.3. Распознавание с помощью теории решений Подход к распознаванию образов на основе методов теории решений строится с погиощью решающих (или дискриминантных) функций. Пусть х =(хм хш .,,, х„) обозначает п-мерный вектор признаков объекта, который был определен в 3 12.1. Имея И«классов образов мыыз,...,ыи, задачу распознавания в теории решений можно сформулировать следующим образом.
Требуется найти И~ решающих функций д1(х), дз(х),..., ди (х),. которые обладают следующим свойством: если образ х принадлежит классу ам то д,(х) > Й, (х), при всех ) = 1, 2,..., И', / ~ й Другими словами, неизвестный образ х относят к 1-му классу, если при подстанонке х во все дискриминантные функции паиболыпее значение имеет величина д,(х). Неоднозначные решения разрешаются произвольным образом. Разделяющей поеерхпостпью межлу классами ьь и ы называется множество значений х, для которых о,(х) = о,(х), или, что то же самое, множество векторов х, для которых д,(х) — д,(х) = О.
В теории решений принято описывать разделяющую поверхность между двумя классами единой функцией дм(х) = а,(х) — д (х) = О. Тогда д, (х) > О для образов класса ьь и д, (х) ( О для образов из класса ю . Как станет ясно из материала следующих параграфов, отыскивание решающих функций вызывает оценивание параметров образов, которые являются репрезентативными для данного класса. Образы, используемые при оценивании параметров, называются обучаюгдими образами или обучаюьцими множествами. Множества образов известного класса которые не используются для обучения, но вместо этого используются для тестирования эффективности конкретного метода распознавания, называются тестовыми или независимыми образами или множествами.
В Я 12.3.2 и 12.3.4 преследуется цель представить различные подходы для нахождения решающих функций на основе оценивания параметров по обучающим образам. В 3 12.3.3 рассматривается корреляционное сопоставление— подход, который можно сформулировать в терминах решающих функций, но по традиции он излагается в форме прямого сопоставления образов. 12.3.1. Формирование векторов признаков Как отмечалось в начале этой главы, векторы признаков можно строить на основе количественных дескрипторов, разные типы которых приводились в гл. 11, для областей и/или границ. Например, предположим, что мы описываем гранину с помощью Фурье-дескрипторов. Величина 1-го дескриптора становится значением х„т.е.
1-ой компонентой вектора признаков. Кроме того, к Фурье- дескрипторам можно добавить еще 6 дополнительных компонент, которые равны мерам текстур из табл. 11.2. Другой подход, который также весьма часто используется при работе с мультиспектральными (регистрируемыми) изображениями, состоит в построении стека изображений, после чего строятся векторы по соответствующим пикселам изображений, как показано на рис. 11.24. Изображения собираются в стек с помощью функции саьп Я = сав(3, 11, Х2, ..., Хп), где Я вЂ” это стек, а 11, Х2, ..., 1п — изображения, формирующие этот стек. После чего векторы строятся с помощью функции 1швсаск2чесвогв, которая обсуждалась в 3 11.5.
См. иллюстрирующий пример 12.2. 12.3.2. Сопоставление образов с помощью классификаторов по минимуму расстояния Пусть каждый класс определяется его усредняющим вектором гп, т.е. мы используем среднее значение по обучающему множеству данного класса в качестве представителя (прототипа) данного класса векторов: 1 пт = — ~~ х, у = 1, 2,..., И~, з хеыг где Хз — это число обучающих образов класса ы, причем суммирование ведется по всем таким векторам.
Как и раньше, И' обозначает число классов образов. Один способ отнесения неизвестного образа с вектором признаков х к некоторому классу состоит в выборе того класса, чей прототип ближе всего к вектору х. З Р М Ю~~~1~ При использовании евклидова расстояния в качестве меры близости (т.е. схоже- сти) образов задача заключается в вычислении расстояний: 1) (х) = ()х — гп~ (! )' = 1, 2,..., И~.
После этого исследуемый образ относится к классу ао имеющему наименыпее расстояние 1)1(х). Значит, в данной формулировке наилучшее совпадение определяется по минимальному расстоянию до прототипа. Пусть все усредняющие векторы (прототипы) записаны в виде строк матрицы М. Тогда вычисление расстояния от произвольного вектора х до всех прототипов осуществляется с помощью формулы, обсуждавшейся в з 12.2: д = загс(впш(аЬв(М вЂ” гершаг(х, 'в', 1)) . 2, 2)). Поскольку все расстояния неотрицательны, это выражение можно упростить, отбросив операцию вс)гс. Минимум из 4 определит класс принадлежности вектора признаков х: » с1авв = Хйпо1п == ш1пй)) Другими словами, если минимум 6 достигается в позиции Й (т.
е. х принадлежит )с-му классу образов), то скаляр с1авв будет равен )г. Если имеется более одного минимального элемента, то переменная с1авв будет вектором, и каждый его элемент укажет на разные позиции минимума. Если вместо одного вектора у нас имеется множество векторов признаков, представленных в виде строк матрицы Х, то следует воспользоваться более длинной формулой из З 12.2 для получения матрицы Р, элемент Р(1, )) которой равен евклидову расстоянию от 1-го вектора из Х, до Хтго прототипа из и. Итак, чтобы определить класс, скажем, 1-го образа из Х, достаточно найти номер столбца в строке 1 матрицы Х, имеющего минимальное значение. Кратные минимумы породят кратные значения, как и в случае одного вектора из предыдущего абзаца.
Нетрудно показать, что выбор кратчайшего расстояния эквивалентен вычислению функций Н,(х) =х~гп, — -гп~гп, )'=1,2,...,И' и отнесение х к классу ы, происходит при наибольшем значении И,(х). Такая формулировка согласуется с понятием дискриминантной функции, которое определялось раньше. Разделяющая поверхность между классами ы, и ш в случае классификатора по минимуму расстояния задается уравнением Но (х) = Н, (х) — Н;(х) = х (пт, — гп,) — — (гп, — гп, ) (гп, + гп)) = О. 2 Заданная этим уравнением поверхность перпендикулярна отрезку, соединяющему т, и гп), и проходит через его середину.
При п = 2 это есть прямая линия, при п = 3 — это плоскость, а при п > 4 она называется гиперплоскостъю. 12.3.3. Корреляционное сопоставление Корреляция является достаточно простой концепцией. Имея изображение /(х, у), корреляционная задача заключается в нахождении позиций на изображении, которые лучше всего соответствуют заданному подизображению ю(х, у) (которое называется маской или эталоном). Один подход к решению этой задачи состоит в работе с эталоном ю(х, у), как с пространственным фильтром, что означает вычисление суммы соответствующих произведений (или их нормированных значений) для каждой позиции ю в /, как это делалось в з 3.4.1.
После этого, наилучшее совпадение (или совпадения) ю(х, у) в /(х, у) считается там, где обнаруживается точка (или точки) максимума результирующего изображения корреляции. Даже при малых и локализованных эталонов ю(х, у) такой подход в общем случае является весьма вычислительно затратным. По этой причине практические реализации пространственной корреляции основываются на специализированных аппаратных решениях.