48276 (588531), страница 4
Текст из файла (страница 4)
Конец формы
В машинном зрении деформируемые модели являются мощным инструментом анализа и обработки данных. Деформируемые модели, в отличии от жестких (rigid), обладают большой гибкостью (имеют возможность представлять объекты с сильно различающейся формой) и в то же время дают возможность указать достаточно строгие ограничения на нежелательные изменения формы представляемых объектов.
В качестве примеров использования деформируемых моделей можно привести:
-
выделение (локализация) объектов и структур определенного вида на 2D и 3D изображениях (черт человеческого лица, объектов на медицинских изображениях)
-
отслеживания перемещения объектов между кадрами видеопотока.
-
сегментация 2D и 3D изображений
-
гладкая аппроксимации разреженного облака точек
-
реконструкции 3D формы объекта по 2D изображениям - с помощью стерео, восстановления формы по закраске (shape from shading)
Использование деформируемых моделей при решение задачи обработки и распознавания изображений обычно позволяет в элегантной математической форме описать одновременное воздействие многих (возможно, противоречивых) факторов на процесс получения оптимального решения.
Конкретная деформируемая модель характеризуется:
-
Способом задания формы модели (аналитические кривые и поверхности, конечные элементы);
-
Способом измерения критерия согласия (goodness of fit) модели и измеренных данных;
Способом модификации формы модели (по каким именно правилам (формулам) происходит изменение формы модели);
2.4. Скрытые Марковские Модели (Hidden Markov Models, HMM)
Скрытые Марковские Модели (СММ) являются одним из способов получения математической модели (описания свойств) некоторого наблюдаемого сигнала. СММ относятся к классу стохастических моделей. Стохастические модели пытаются охарактеризовать только статистические свойства сигнала, не обладая информацией о его специфических свойствах. В основу стохастических моделей положено допущение о том, что сигнал может быть описан некоторым параметрическим случайным процессом и что параметры этого процесса могут быть достаточно точно оценены некоторым, вполне определенным способом. Настроенную СММ можно рассматривать как источник некоторого случайного сигнала со вполне определенными характеристиками. Для настроенной СММ есть возможность подсчитать вероятность генерации тестового сигнала данной моделью. В приложении к задаче распознавания, представив вектор признаков объекта в виде сигнала (набора последовательных наблюдений), можно смоделировать класс объектов с помощью СММ. Вероятность принадлежности тестового объекта классу, заданному СММ оценивается как вероятностью генерации сигнала, соответствующего его вектору признаков. Настройка (обучение) СММ - состоит в модификации ее параметров для того, чтобы добиться максимальной вероятности генерации сигналов, соответствующих векторам тренировочного набора.
2.5. Метод Опорных Векторов (Support Vector Machines, SVM)
Цель тренировки большинства классификаторов - минимизировать ошибку классификации на тренировочном наборе (называемую эмпирическим риском). В отличие от них, с помощью метода опорных векторов можно построить классификатор минимизирующий верхнюю оценку ожидаемой ошибки классификации (в том числе и для неизвестных объектов, не входивших в тренировочный набор). Применение метода опорных векторов к задаче распознавания заключается в поиске гиперплоскости в признаковом пространстве, отделяющей классы.
Классификация с помощью опорных векторов позволяет использовать аппарат ядерных функций для неявного проецирования векторов-признаков в пространство потенциально намного более высокой размерности (еще выше, чем пространство изображений), в котором классы могут оказаться линейно разделимы. Неявное проецирование с помощью ядерных функций не приводит к усложнению вычислений, что позволяет успешно использовать линейный классификатор для линейно неразделимых классов.
3. Реализация программного обеспечения
В ходе работы над бакалаврской работой была написана программа, Выделяющая на изображении искомые объекты и нормирующая их.
Программа представляет собой простое SDI-приложение, написанное в среде Builder C++ v. 6.0. Для реализации обработки изображения использовалась библиотека Intel® Open Source Computer Vision Library (OpenCV).
В программе были использованы следующие функции библиотеки OpenCV:
| Функция | Описание функции |
| cvLoadImage | Загружает изображение из файла |
| cvSize | Возвращает размер изображения |
| cvCreateImage | Создает новое изображение |
| cvAbsDiff | Производит вычитание по модулю двух изображений |
| cvCmpS | Бинаризирует изображении, используя порог |
| cvErode | Выполняет побитовую операцию эрозии изображения |
| cvCamShift | Реализует алгоритм сравнения двух изображений |
| cvGetQuadrangleSubPix | Производит аффинное преобразование изображения |
| cvSetZero | Заполняет изображение черным цветом |
| cvFillConvexPoly | Заполняет многоугольник на изображении заданным цветом |
| cvCopy | Копирует изображение |
Также были использованы следующие классы:
| Класс | Описание класса |
| IplImage | Изображение |
| CvSize | Размер матрицы |
| CvPoint | Точка |
| CvRect | Прямоугольник |
| CvBox2D | Прямоугольник |
| CvMat | Матрица |
Алгоритм программы:
Начало → Загружаем изображение-эталон → Отображаем эталон на экране → Ждем щелчка мыши → Загружаем исследуемое изображение → Отображаем эталон на экране → Ждем щелчка мыши → Выполняем вычитание двух изображений → Бинаризируем результат → Отображаем результат на экране → Ждем щелчка мыши → Выполняем эрозию результата → Отображаем результат на экране → Ждем щелчка мыши → Находим минимальный прямоугольник, охватывающий найденные объекты → Поворачиваем исследуемое изображение → Отображаем результат на экране → Ждем щелчка мыши → Нормализуем результат → Отображаем результат на экране → дем щелчка мыши → Конец
Заключение
В работе создана программа обработки изображений. В дальнейшем планируется разработка программного обеспечения для классификации полученных образов.















