Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 86
Текст из файла (страница 86)
Все это говорит о высокой степени инвариантности величин относительно перечисленных выше преобразований исходного изображения. Эти замечательные результаты объясняют, почему инварианты моментов являются основными инструментами при описании изображений вот уже более сорока лет.
П !! .5. Использование главных компонент при описании изображений Предположим, что у нас имеется п отобранных «родственных» изображений, расположенных в одну «стопку» (стек), как показано на рис. 11.24. Для каждой пары индексов (1,Я имеется и пикселов с этими координатами на каждом Ф| Фг Фз Ф« Фз Фс Ф7 6.
600 16.410 23.972 23.888 49. 200 32. 102 47.953 6. 600 16.408 23,958 23. 882 49. 258 32.094 47. 933 6.600 16.410 23. 972 23.888 49.200 32. 102 47. 850 6. 600 16. 410 23.978 23.888 49.200 32. 102 47.953 6.600 16.410 23.973 23.888 49.198 32.102 47.954 изображении. Из этих пикселов можно составить один вектор-столбец х! хг Если изображения имеют размеры ЛХхА!, то определено ЛХАг таких и-мерных векторов, построенных по пикселам всех и изображений, Рис.
11.24. Выстраивание соответствующих пиксенов в стеке изображений, имеющих одинаковые размеры «г «г ев в-мерныи вектор-столбец Изображение ! Усредненный вектор гп„для всего семейства изображений можно представить в виде простого среднего: К Пг„= — ~ ~Ха ь=! при К = МАг. Аналогично пхп ковариационная матрица С„семейства изображений задается формулой К Ск = ау (Ха — Птк)(ХЬ вЂ” Пзк)т, К вЂ” 1 „'— ' где знаменатель К вЂ” 1 взят вместо К для получения несмещенной оценки для С„для заданного семейства изображений. Поскольку вещественная матрица С, является симметричной, всегда возможно построить ортонормированный базис, состоящий из собственных векторов этой матрицы. Преобразование главных компонент (которое также называют преобразованием Хотеллинга) определяется формулой у = А(х — пг„). Нетрудно показать, что компоненты вектора у являются некоррелированными величинами, и ковариационная матрица С симметрична.
Строками матрицы А Файл взят с сайта и и и.ко~фея.ги, на котором есть аде много интересной литературы « * б Ы «»~~3) служат нормированные собственные векторы матрицы С„, которые, как говорилось выше, образуют ортонормированный базис в и-мерном евклидовом пространстве. Кроме того, элементы, стоящие на главной диагонали матрицы С „ являются собственными числами матрицы С„.
Элемент главной диагонали, стоящий в 1-ой строке матрицы С„равен дисперсии элемента у,. Раз строки матрицы А являются ортонормированными, то обратная к ней матрица получается простым транспонированием матрицы А. Следовательно, имеется возможность восстановить вектор х, совершив обратное преобразование: х=А у+пт„. Важность преобразования главных компонент становится очевидной, когда используется лишь й собственных векторов. В этом случае матрица А становится матрицей А«с размером дхи. Теперь восстановленный вектор является лишь приближением исходного вектора «=Ату „и, Среднеквадратическое отклонение (ошибка) приближенного восстановленного век- тора х от точного вектора х задается выражением в « п е»»« = ~Л» — ~Л» = ~ Ла. Из первой строки этого выражения видно, что ошибка восстановления равна нулю при д = и (т.
е, когда в обратном преобразовании используются все собственные векторы). Из этого уравнения также следует, что ошибку можно минимизировать, выбрав для А«собственные векторы, которые соответствуют у самым большим собственным числам. Значит, преобразование главных компонентов является оптимальным в том смысле, что оно минимизирует среднеквадратическую ошибку между вектором х и его приближением х.
Название этого преобразования связано с выбором собственных векторов, имеющих наибольшие (главпые) собственные значения ковариационной матрицы. Пример, который будет рассматриваться далее в этом параграфе, еще лучше прояснит эту концепцию. Семейство из и выбранных изображений (каждое размером ЛХ«1»') можно поместить в «стопку» (стек), как показано на рис. 11.24, с помощью команды » Я = сас(3, 11, 12,..., йь); Этот стековый массив изображений, имеющий размер М«1У«и, преобразуется с помощью функции Ашвсасй2нессога (см. ее код приложении В) в массив, строками которого служат и-мерные векторы.
Функция Ашаваск2несСогв имеет следующую форму вызова: 1Х, й) = Ашввасй2несвогв(Я, МАЯК), где Я вЂ” это стек изображений, а Х вЂ” это массив векторов, извлеченный из Я по схеме, показанной на рис. 11.24. Входной аргумент МАЯК является логическим [ь494 Глава 11. Представление и описание или числовым массивом размером Мх)Ч с ненулевыми элементами в тех позициях, из которых выбираются элементы Я для формирования Х, и с нулями в тех позициях, которые игнорируются. Например, если мы хотим использовать только векторы из правого верхнего квадранта стека изображений, то матрица МАЯК должна иметь единицы в этом квадранте и нули во всех остальных позициях.
Если переменная МАЯК не включена в список аргументов, то по умолчанию все изображение целиком используется при формировании Х. Наконец, по строкам выходного массива К записаны двумерные координаты, соответствующие положениям векторов, которые использовались при построении Х. Использование переменной МАЯК будет проиллюстрировано в примере 12.2, а до того момента будет использоваться схема, принятая по умолчанию. Следующая М-функция сочшасгйх вычисляет усредненный вектор, а также ковариационную матрицу для векторов в Х.
1зшсс1оп [С, ш3 = сочшаСг1х(Х) ХСОЧМАТКХХ Сошрцгев СЬе сочаг1апсе шаСг1х о1 а чесеог рорц1аС1оп. Х [С, М) = СОЧМАТКХХ(Х) сошрпсев СЬе сочагйапсе шасг1х С апгг СЬе Х шеел чессог М о1 а чессог рорц1аС1оп огбапйхеб ав СЬе гочв о1 Х шаег1х Х. С Ха о1 в1ве Н-Ьу-Н апгг М Ав о1 ваше Н-Ьу-1, чЬеге Н Хв Х СЬе Жшепв1оп о1 сЬе чессогв (СЬе шлпЬег о1 со1цйшв о1 Х). [К, п) = в1хе(Х); Х = боцЫе(Х); 11 и == 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х о1 гФункция (Ч, В) егй1А) возвращает собственные векторы матрицы А в виде столбцов матрицы ч, а соответствующие собственные значения записываются по главной диагонали диагональной матрицы В. % в1хе К-Ьу-и чЬете К тв СЬе ппшЬет о1 честотз аЫ и 1в СЬе1т % 61шепв1опа11Су.
Ц, ч1СЬ на1пев 1п СЬе тапКе [О, и), Аз СЬе ппшЬет % о1 ещепчессотв явей 1п сопястпсС1пК СЬе рт1пс1ра1-сошропепсв % Стапв1отшаСАоп шатт1х. Р 1з а встпсспте яАСЬ СЬе йо11оя1пК % 11е16в: % % Р.У К-Ьу-Ц шаст1х чЬове со1пшпв ате СЬе рттпс1ра1- % сошропепС чессотя. '/ Р.А Ц-Ьу-и рт1пс1ра1 сошропепсв Стапв1отшас1оп шаст1х % чЬове тоня ате СЬе Ц е1депчессотя о1 Сх соттевроп61пд '/ Со СЬе Ц 1ятдевС е1Кепча1пев. '/ Р.Х К-Ьу-и шатт1х яЬояе тоня ате СЬе чессотв тесопвттпстей '/ антош СЬе рт1пс1ра1-сошропепС чессотв. Р.Х апй Р.У ате % ЫепС1са1 11 Ц = и. % Р.ешв ТЬе шеап запахе еттот 1пспттей 1п пв1пд оп1у СЬе Ц % е1цепчестотв соттевроп61пК Со СЬе 1атдевС '/ е1депча1пев. Р.ешв 1в О 11 Ц = и.
'/ Р.Сх ТЬе и-Ьу-и сочат1аясе шаст1х о1 СЬе рорп1аС1оп тп Х. % Р.шх ТЬе и-Ьу-1 шеап чессот о1 СЬе рорп1аС1оп 1п Х. % Р.Су ТЬе Ц-Ьу-Ц сонатаапсе шатт1х о1 СЬе рорп1аС1оп 1п % Ч. ТЬе ша1п ЖаКопа1 соптатпз СЬе е1Кепна1иев (тп % беясеп61пд отйет) соттевропЫпК Со СЬе Ц е1депнессотв. [К, п) = в1хе(Х); Х = допЬТе(Х); % ОЬса1п сЬе шеап чессот апй сочат[апсе шаст1х о1 сЬе чессотя 1п Х.
[Р.Сх, Р.шх) = соншаст1х(Х); Р,шх = Р.шх'; '/ Сопчетс шеап чессот Со а точ чессот. % ОЬСатп СЬе ещепнессотв апб соттеяропЖпК е1депча1пев о1 Сх. ТЬе '/ е1Кепчессотв ате СЬе со1ышпя о1 и-Ьу-и шаст1х Ч. Р 1в ап и-Ьу-и % Жадопа1 шаСт1х яЬове е1ешепсв а1опК СЬе ша1п 61адопа1 ате СЬе % е1Кепча1пев соттевропд1пК Со СЬе е1Кепнестотв 1п Ч, во СЬаС ХяЧ = % Очу. [Ч, О) = е1д(Р.Сх); % Ботс СЬе е1депна1иев Ап оестеав1пд отйет.
КеаттапКе СЬе % е1депчессотв Со шассЬ. 6 = Ыад(О); [6, Ых) = вотСИ); й = 111рпйй); Ых = 111риб(Ых); Р = 61аКИ); Ч=Ч(:, Ых); % Моч Тотш СЬе и тоня о1 А Ттош 11твС с со1пшпя о1 Ч. Р.А = Ч(:, 1:Ч)'; % Сошрпсе СЬе рт1пс1ра1 сошропепС чессотя. Мх = тершаС(Р.шх, К, 1), % М-Ьу-п шаст1х. ЕасЬ точ = Р.шх. Р.У = Р.Аэ(Х вЂ” Мх)'; % Ц-Ьу-К шаст1х. (496 Глава ЬК Лредставление и описание % ОЬга1п сЬе гесопвсгпссеб иессогв. Р.Х = (Р.А'вР У)' + Мх; % Сопиегс Р.У Со К-Ьу-с[ аггау апб Р.шх Го и-Ьу-1 несгог.
Р.У = Р.У'; Р.шх = Р.шх'; % ТЬе шеап вопаге еггог Ав 61неп Ьу ГЬе виш о1 а11 СЬе % е1яепиа1иеа шгапв СЬе виш о1 СЬе о 1агяевг е1яепиа1иев. 4 = 41аб(0); Р.ешв = виш(4(й + 1:епй)); % Соиаг1алсе шасг1х о1 сЬе У'в: Р.Су = Р.АвР.Сх*Р.А'; Пример 11.13. Главные компоненты. На рис. 11.25 приведены шесть спутниковых фотографий одной и той же местности, имеющие размеры 512х512, которые сняты в шести спектральных световых диапазонах: видимом синем (длина волны 450 — 520 нм), видимом зеленом (520 — 600 нм), видимом красном (600 — 690 нм), близком инфракрасном (760 — 900 нм), среднем инфракрасном (1550 — 1750 нм) и тепловом инфракрасном (10400 — 12500 нм) . Целью этого примера является иллюстрация применения функции ргтпсошр для работы с главными компонентами.