Московский государственный университет имени М.В.Ломоносова
Опубликован: 30.04.2008 | Доступ: свободный | Студентов: 1614 / 251 | Оценка: 4.24 / 3.92 | Длительность: 14:56:00
Специальности: Математик
Лекция 8:

Классификация на основе сравнения с эталоном

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Аннотация: Главным вопросом, которому посвящена данная лекция, является рассмотрение классификации на основе сравнения с эталоном. Приводятся примеры практической реализации, основные теоремы и определения

Пусть задано множество образов (эталонов). Задача состоит в том, чтобы для тестируемого объекта выяснить, какой эталон ближе на основе меры сходства (расстояния между объектами). Данная задача и получила название "сравнение с эталонами".

В качестве эталонов могут рассматриваться следующие объекты:

  1. Буквы в словах рукописного текста (применительно к распознаванию рукописного текста);
  2. Силуэты объектов в сцене (применительно к машинному зрению);
  3. Слова (команды), произносимые человеком (применительно к распознаванию речи).

В этих примерах признаки не выделены, но можно измерить сходство. Например, сравнение слов: кошка ~ мошка ~ кора ~ норка и.т.д. Или силуэт объекта в сцене, чье положение и ориентация заранее не известны (применительно к машинному зрению, робототехнике).

8.1. Мера близости, основанная на поиске оптимального пути на графе

Рассмотрим строчный образ (слово). В данном случае можно выделить два критерия, на основе которых можно строить меру близости:

  • совпадение букв,
  • монотонность (совпадение порядка букв).

Пусть \def\I{\mathop{I}} r_1r_2\ldots r_{\I\limits^{.}} – эталон, \def\J{\mathop{J}} t_1t_2\ldots t_{\J\limits^{.}} – пробный образ, причем \def\I{\mathop{I}} \def\J{\mathop{J}} \I\limits^{.}\neq\J\limits^{.}. Построим соответствие между эталоном и пробным образом по следующему правилу: каждому символу в первом слове должен соответствовать хотя бы один символ во втором слове и каждому символу во втором слове должен соответствовать хотя бы один символ в первом слове, (но соответствие между символами не взаимнооднозначное, в частности, поскольку \def\I{\mathop{I}} \def\J{\mathop{J}} \I\limits^{.}\neq\J\limits^{.} ).


Введем меру следующим образом:

\rho(r_i,t_i)=
\left\{
\begin{aligned}
&1,r_i\neq t_i \\
&0,r_i=t_i
\end{aligned}
\right.


В качестве меры сходства двух слов принимаем соответствие, при котором суммарный вес всех дуг (изображенных на рисунках) минимален:

\nu(\overline{r},\overline{t})=\min_S\mu(S), \text{ где } \mu(S)=\sum_{(i,j)\in S} \rho(r_i,t_j).

Через \nu(\overline{r},\overline{t}) далее будем обозначать меру близости двух слов \overline{r} и \overline{t}.

Соответствие S должно быть двудольным графом без изолированных вершин с непересекающимися ребрами. Рассмотрим задачу сравнения цепочек упорядоченных символов. В данной задаче могут возникать следующие ошибки:

  • неправильно определенный символ ( кошка – корка ),
  • ошибка вставки ( кошка – кошрка ),
  • ошибка потери ( кошка – кшка ).

Определение. Редакторским расстоянием называется минимальное общее число изменений, вставок и потерь, требуемое для изменения образа A в образ B:

\def\I{\mathop{I}}
D(A,B)=\min_j\left[C(j)+\I\limits^{.}(j)+R(j)\right],
где минимизация происходит по всем возможным комбинациям символьных преобразований таких, чтобы получить B из A.

Пусть

d(i,j|i-1,j-1)=
\left\{
\begin{aligned}
&1,\text{ при }t(i)=r(i) \\
&0,\text{ при }t(i)\neq r(i)
\end{aligned}
\right..
Тогда
d(i,j|i-1,j)=d(i,j|i,j-1)=1.

Построим таблицу, в которой столбцы – это символы образа, строки – символы эталона. Количество точек в матрице есть \def\I{\mathop{I}}
\def\J{\mathop{J}}
\I\limits^{.}\cdot\J\limits^{.}
.

По данной таблице построим граф по следующему правилу. Если отображается точка (r_2,t_1), то далее выбираем (r_2,t_2), (r_3,t_2) или (r_3,t_1) (т.е. возможны три варианта). Соответствие слов реализуется в виде маршрута в графе. Этот маршрут обязательно начинается с точки (r_1,t_1) (иначе появится изолированная точка) и заканчивается в \def\I{\mathop{I}}
\def\J{\mathop{J}}
(r_{\I\limits^{.}},t_{\J\limits^{.}}
.

t_1 t_2 t_3 \ldots \def\J{\mathop{J}} t_{\J\limits^{.}}
r_1 \circ \circ \circ \ldots \circ
r_2 \circ \circ \circ \ldots \circ
r_3 \circ \circ \circ \ldots \circ
\vdots \vdots \vdots \vdots \ddots \vdots
\def\I{\mathop{I}} r_{\I\limits^{.}} \circ \circ \circ \ldots \circ

Таким образом, получили задачу выбора кратчайшего пути на графе от точки (r_1,t_1) до точки \def\I{\mathop{I}}
\def\J{\mathop{J}}
(r_{\I\limits^{.}},t_{\J\limits^{.}}
, где каждая вершина имеет свою стоимость: 0 или 1.

8.2. Задача сравнения контуров

В качестве примера рассмотрим задачу сравнения контуров. Контура изображаются ломаными линиями, вершины которых будем называть узлами. Пусть заданы две линии – эталон и тестируемый объект. Используем следующую модель для сравнения объектов. Будем считать, что они изготовлены из проволоки и будем сравнивать близость этих ломаных путем оценки величины механической работы, которую нужно выполнить, чтобы преобразовать один объект в другой. Определим элементарную работу, которую надо совершить для перевода отдельных прямолинейных элементов ломаных. Достаточно рассмотреть два основных вида деформаций: растяжение (сжатие) и изгиб в узлах.

Каждой такой деформации припишем элементарную работу:

  • f(|l_1-l_2|) – работа по изменению длины при растяжении и сжатии,
  • f(|\varphi_1-\varphi_2|) – работа по изменению угла при изгибе.

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

f_{\Sigma}\rightarrow\min_S.

Эта задача сводится к установлению соответствия узлов одной ломаной узлам другой. При этом не требуется взаимно-однозначное соответствие, но требуется сохранение монотонности. Задача установления такого соответствия, которое минимизирует общую работу по деформации ломаных, также сводится к поиску минимального пути на графе такого же типа, как и рассмотренный в предыдущем пункте. В графе каждая дуга получает вес f(|l_1-l_2|) – работу по сжатию или растяжению, а для каждой вершины – вес f(|\varphi_1-\varphi_2|) – работу по изменению угла.

< Лекция 7 || Лекция 8: 12 || Лекция 9 >