- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Разработка системы локального трекинга мобильных роботов с использованием технического зрения
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | K009231 |
Тема: | Разработка системы локального трекинга мобильных роботов с использованием технического зрения |
Содержание
1.1 Оглавление Введение ................................................................................................................................................ 2 1 Обзор методов, используемых в решении задач обнаружения объектов и слежения за ними ....................................................................................................................................................... 4 1.1 Метод, использующий модель смеси нормальных распределений . ...................................... 4 1.2 Blob анализ ................................................................................................................................... 6 1.3 Фильтр Калмана .......................................................................................................................... 7 1.4 Использование признаков цвета для детектирования и слежения ......................................... 9 1.5 Метод Виола-Джонса ................................................................................................................ 11 2 Экспериментальная апробация алгоритмов. ........................................................................... 16 2.1 Описание локальной системы, условий ее работы, выбор программного обеспечения для реализации алгоритма. .................................................................................................................... 16 2.2 Реализация алгоритма на основе модели смеси нормальных распределений и blob анализа. ............................................................................................................................................. 18 2.3 Реализация алгоритма на основе цвета ................................................................................... 30 2.4 Метод обучения каскадов. ........................................................................................................ 40 Заключение ......................................................................................................................................... 48 Список источников ........................................................................................................................... 50 Подп. дата Инв. № дубл. Взам. инв. № идата. КСУИ.204.3435.001 ПЗ Подп. Изм. Лист № докум. Подп. Дата Разраб. Довгань А.Н. Разработка системы локального трекинга Лит. Лист Листов №подл. Пров. мобильных роботов с использованием 1 50 технического зрения Университет ИТМО Инв. Н. контр. Пояснительная записка Утв. Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Введение Данная работа посвящена теме распознавания и слежения за объектами по видео ряду. Задачи детектирования являются актуальными и востребованными на сегодняшний день. Многие сферы жизни человека тесно связаны с алгоритмами распознавания каких-либо объектов, а также алгоритмами слежения за ними. Техническое зрение является обширной и востребованной областью. Алгоритм трекинга (или же слежения за объектами) – алгоритм определения местоположения какого-либо подвижного объекта, либо группы объектов, в реальном времени с помощью камеры, либо на основе готового видео файла. В результате работы данного алгоритма анализируются кадры из видео потока, распознаются подвижные объекты, либо объекты имеющие характерные признаки, осуществляется слежение за ними – с помощью их обозначения на экране компьютера, возможна выдача координат объекта. На данный момент существует несколько сред, помогающих разрабатывать алгоритмы детектирования и слежения, таких как Matlab, Simulink, OpenCV и другие. Так же, существует достаточное количество алгоритмов распознавания и слежения, применимое к конкретно поставленным задачам. Данная работа посвящена локальному трекингу. Локальная область подразумевает определенные условия, выставленные до разработки системы, в которых она работает гарантировано. Приведены обзоры на существующие методы детектирования и слежения за объектами, приведены разные модели обучения. Рассмотрены три алгоритма слежения в практической части: На базе данных алгоритмов сформированы алгоритмы, подходящие нашей системе, доработаны моменты, не рассмотренные в изначальных алгоритмах. Приведены эксперименты всех трех алгоритмов – удачные и неудачные опыты. Расписаны их достоинства и недостатки. КСУИ.204.3435.001 ПЗ Лист 2 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. В заключении, на основе всех отработанных экспериментов, приведен наилучший способ детектирования и отслеживания для представленной локальной системы. КСУИ.204.3435.001 ПЗ Лист 3 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. 1 Обзор методов, используемых в решении задач обнаружения объектов и слежения за ними В данном разделе рассмотрены методы, которые используются в разработках алгоритмов определения объектов и слежения за ними. Описан их принцип действия, проведен обзор теоретической составляющей. Рассмотрены некоторое принципы обучения и разные подходы к нему. 1.1 Метод, использующий модель смеси нормальных распределений. Данный метод основан на составлении модели смеси распределений и в зарубежной литературе обозначается как GMM – Gaussian Mixture Models. В основе данного метода лежит нормальное распределение. Нормальное распределение или же распределение Гаусса – такое распределение вероятностей, при котором случайная величина является нормально распределенной с параметрами a и ?, если плотность распределения этой случайной величины имеет вид: ( ) = 1 ( ? )2 exp (? ) , ? ? < < ?, ? 2 2 2 где > 0 и ? ( ? ?, ? ) Упомянутые выше параметры имеют определенный смысл в рамках нормального распределения: – математическое ожидание – квадратный корень из дисперсии Нормальное распределение является стандартным, если = 0 и = 1. Функция распределения в этом случае записывается так: ( ) = 1 ? 2/2 1 1 ? 2/2 1 (1 ) ??? = + ?0 = + Ф( ) , ? 2 ? 2 2 2 КСУИ.204.3435.001 ПЗ Лист 4 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. где Ф( ) – функция Лапласа. Нормальное распределение играет важную роль во многих областях науки – в статистике и ее приложениях, в математике, физике. Величина, подчиняющаяся нормальному распределению, подвержена влиянию случайных помех – такая ситуация в природе встречается наиболее часто, отсюда и название данного распределения. Смесь распределений – распределение вероятностей случайной величины, которая происходит из совокупности других случайных величин. Проще говоря, это распределение, в котором каждое наблюдение подчиняется одному из нескольких распределений. Для наглядного понимая понятия смеси распределений приведем пример из словаря Социальной статистики1: «Рассмотрим несколько генеральных совокупностей, подчиняющихся каждая своему распределению, и следующую двухэтапную схему: Сначала мы выбираем совокупность, которой будет принадлежать очередное наблюдение, затем производим наблюдение. Если “потерять” информацию из первого этапа – "забыть" совокупность, к которой принадлежит каждое наблюдение, распределение полученной выборки окажется смесью распределений. Распределение вероятностей совокупностей, а также параметры каждого отдельного распределения вместе называются параметрами смеси. Например, артериальное давление, измеренное в группе мужчин, может быть нормальным, в группе женщин – также нормальным, однако, если параметры (средние и дисперсии) этих распределений различны, то совместное распределение не будет нормальным.» «Модель смеси распределений в наиболее простом случае конечного числа классов М и однотипности компонент записывается в виде: 0( ) = ? =1 ( , ), 1 URL: http://sociological_statistics.academic.ru/220/смешанное_распределение КСУИ.204.3435.001 ПЗ Лист 5 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. где 0( ) – плотность генеральной совокупности; М – число компонент смеси; – вероятность появления -й компоненты смеси; ( , ) – плотность -й компоненты смеси; – вектор параметров для -й компоненты смеси. Модель смеси распределении применительно к задачам классификации подразумевает, что i -й класс полностью характеризуется i -й компонентой смеси и вероятностью ее появления. Задача классификации состоит в определении, в рамках какого из классов появление данной единицы наиболее вероятно.» [ПДФ 1534...) 160 с Типичная конечномерная модель смеси представляет собой иерархическую модель, состоящую из N случайных величин, соответствующих наблюдениям. Предполагается, что каждая распределяется по смеси компонентов К, при этом каждый компонент, принадлежит одному семейству распределений (например, все нормальные и т.д.), но с различными параметрами. 1.2 Blob анализ Blob (или что с английского означает «капля») – один из основных методов детектирования, используемых в техническом зрении, основанный на анализе регионов изображения. Данный метод является инструментом отделения движущихся объектов от неподвижного фона путем изучения их отличных свойств: яркости или цвета. Благодаря гибкости и точности этот метод позволяет решает разнообразное количество задач детектирования. Метод пришел на смену методов определения углов и края – в основном из-за возможности предоставления дополнительной информации из области «капли». Данная «капля» - область изображения, для которой свойства являются постоянными. Все точи в рамках этой капли можно рассматривать как похожие друг на друга. КСУИ.204.3435.001 ПЗ Лист 6 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Цель blob анализа – выделение каплевидных областей на бинарном изображении, определение связностей рядом расположенных пикселей – являются ли определенные пиксели соседями или нет. Определение «капель» - первая стадия алгоритма. Далее происходит классификация, которая делится на два этапа. Сначала в каждой области выделяются особенности – создается определенная функция. Затем, эти функции сравниваются между собой для нахождения определенных объектов. Для поднятия точности алгоритма используется вычисление площадей областей. Это делается для того, чтобы отсечь ложные определения областей, которые заведомо меньше предполагаемых, либо заведомо больше. Так же с помощью этого алгоритма может быть вычислен центр масс детектируемого объекта. Для бинарного изображения – это средние позиции x и y. Вычисляются эти значения путем суммирования координат пикселей по определенной оси и последующим делением на количество пикселей: = 1 ? =1 , = 1 ? =1 где N – количество пикселей, x y – координаты 1.3 Фильтр Калмана Фильтр Калмана является рекурсивным фильтром, который оценивает вектор состояния динамической системы. Используется в большом количестве областей науки – в эконометрике, навигации, управление и так же в техническом зрении. Для получения наилучших результатов в системах управления всегда используется данный фильтр – он обрабатывает данные, убирая при этом шумы и лишнюю информацию. КСУИ.204.3435.001 ПЗ Лист 7 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Данный фильтр работает по алгоритму, состоящему из двух повторяющихся фаз. Первая фаза – фаза предсказания, на этом этапе рассчитывается предсказание состояния в следующий момент времени. Вторая фаза – корректировка, в результате которой рассчитанные значения корректируются новой информацией. Работа данного фильтра описана в одной из статей 2 Имеются начальные значения ? ?1 и ?. На первом шаге происходит ряд предсказаний, а именно: Предсказание состояния системы: ?? = ? ?1 + ?1 Предсказание ошибки ковариации: ? = ?1 + Далее проходит этап корректировки: Вычисление усиления Калмана:= ? ( ? + )?1 Обновление оценки с учетом изменения : ? = ?? + ( ? ??) Обновление ошибки ковариации:= ( ? ) ? Обозначения переменных: подстрочный индекс обозначает момент времени: k — текущий, (k-1) — предыдущий знак «минус» в верхнем индексе обозначает, что это предсказанное промежуточное значение. – матрица перехода между состояниями (динамическая модель системы) – матрица применения управляющего воздействия ?1 – управляющее воздействие в прошлый момент времени ? ?1 – состояние системы в прошлый момент времени ?1 – ошибка в прошлый момент времени 2 URL: https://habrahabr.ru/post/140274/ КСУИ.204.3435.001 ПЗ Лист 8 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. – ковариация шума процесса – матрица измерений, отражающая отношение измерений и состояний – ковариация шума измерения – измерение в текущий момент времени – матрица идентичности Фазы предсказания и корректировки реализуются последовательно и в цикле. 1.4 Использование признаков цвета для детектирования и слежения Данный метод основан на определении конкретного цвета на изображение. Для этого стоит привести описание цветовых пространствах и разложения цветовых пространств по отдельным цветовым составляющим. Цветовые пространства описываются набором цветовых координат и правилами построения цветов. Существует множество цветовых пространств, но для решения задач технического зрения и для цветовых преобразований обычно используют следующие цветовые пространства: RGB – цветовое пространство, которое создается на основе трех цветов: красный (red), зеленый (green), синий (blue). Отображаются эти цвета на 3-мернерную систему декартовых координат. Lab (CIELAB) – цветовое пространство, которое рассчитывается относительно определенного значения точки белого. Изменение цветов в нем более линейно. В этом пространстве L обозначает значение светлоты от 0 до 100, a и b – хроматические составляющие, которые представлены двумя декартовыми координатами. a – положение цвета в диапазоне от зеленого до красного, b – положение от синего до желтого. В отличие от RGB или CMYK однозначно КСУИ.204.3435.001 ПЗ Лист 9 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. определяет цвет. Через него происходят конвертации между RGB и CMYK. CMYK – пространство, использующееся для печати. Состоит из четырех составляющих: Cyan – голубой, Magenta – пурпурный, Yellow – желтый, Key color – черный. Пространство состоит из четырех цветов, так как при смешивании голубого, пурпурного и желтого не получается чисто черного, поэтому этот цвет добавлен отдельно. YCbCr – данное пространство не является абсолютным, в нем кодируются информации сигналов RGB. Так как эти сигналы не являются эффективными для хранения, то их переводят в более подходящий вид. Y – компонента яркости, Cb – синяя цветоразностная компонента, Cr – красная цветоразностная компонента. Используется в цифровой фотографии и компонентном видео. HSV (HSB) – цветовая модель, в которой координаты цвета представлены следующими обозначениями: H (Hue) – цветовой тон. Распределен по линейной шкале от 0 до 240(360). S (Saturation) – насыщенность. Изменяется от 0 до 100 (1), характеризует собой «чистоту» цвета. V (Value) или B (Brightness) – значение цвета или яркость. Задается в пределах от 0 до 100 (1). Так же не является самостоятельной моделью – представляет собой нелинейное преобразование модели RGB. Для данной работы рассмотрим пространство RGB детальнее, так как работа предполагается именно с ним. Пространство RGB является нормализованным – все цветовые значения ограничены диапазоном от нуля до единицы, включительно. Например, черный цвет имеет координаты (0.0, 0.0, 0.0), а белый – (1.0, 1.0, 1.0). Доля каждого базового цвета в итоговом может восприниматься, как координата в соответствующем трёхмерном пространстве, КСУИ.204.3435.001 ПЗ Лист 10 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. поэтому данную модель часто называют цветовым кубом – рисунок 1.1. Цветные изображения в модели RGB строятся из трёх отдельных изображений-каналов. Рисунок 1.1 – Куб цветового пространства RGB 1.5 Метод Виола-Джонса Метод Виолы—Джонса (англ. Viola–Jones object detection) — алгоритм, позволяющий обнаруживать объекты на изображениях в реальном времени. Предложен в 2001 году (сслыка на статью). Хотя алгоритм может распознавать различные классы изображений, основной задачей при его создании было обнаружение лиц. Существует множество реализаций, в том числе в составе библиотеки компьютерного зрения OpenCV и MatLab. Алгоритм находит лица с высокой точностью и низким количеством ложных срабатываний. Признаки, входящие в алгоритм, используют суммирование пикселей из прямоугольных регионов. Сами признаки напоминают признаки Хаара, которые ранее также использовались для поиска объектов на изображениях.[3] Однако признаки, использованные Виолой и Джонсом содержат более одной прямоугольной области и сами по себе являются несколько сложнее. КСУИ.204.3435.001 ПЗ Лист 11 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Характеристики алгоритма, делающие его наиболее привлекательным для обнаружения объектов: Робастность – высокий уровень истинно-положительных обнаружений и низкий уровень ложноположительных обнаружений Работа в режиме реального времени Функция только обнаружения – не распознавания. Работа алгоритма разделяется на 4 этапа: Выбор компонентов Хаара Создание целостного образа Каскадные классификаторы На рисунке 1.2 представлены функции, использующиеся алгоритмом. Значение каждой из этих функций – разность суммы пикселей заштрихованных и прозрачных прямоугольников. Рисунок 1.2 – Признаки Виолы-Джонса Поясним работу этих функций на примере обнаружения лиц. Все лица человека имеют одинаковые особенности: Область глаз темнее, чем область щек Область переносицы ярче, чем глаза Место и размер: глаз, рта, носа КСУИ.204.3435.001 ПЗ Лист 12 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Значения градиентов интенсивностей пикселей Данные функции прогоняются по изображению, высчитывая разности сумм пикселей темных и светлых областей, тем самым находя особенности, присущие человеческому лицу. В данной работе осуществляется попытка обучить каскад по данному методу, но для обнаружения роботов на полигоне. Даная возможность переучивания каскадов с обнаружения лиц на обнаружение других объектов имеется в пакете программного обеспечения. Для этого поясним процесс обучения классификатора. Алгоритм строит «сильный» классификатор в виде линейной комбинации взвешенных простых «слабых» классификаторов. ?( ) = (? ? ( )) =1 Каждый слабый классификатор является пороговой функцией на основе функции fj ? ( ) = {? если < иначе Пороговое значение и полярность ? ± 1 определяются в обучении, а также коэффициенты . На вход алгоритму поступает набор из N положительных тренировочных изображений и отрицательных тренировочных изображений с обозначениями ( , ). Если изображение классифицировано как лицо, то = 1, если нет, то = ?1. Инициализация: каждому изображению присваивается вес 1 = 1 Для каждой функции c j = 1, …, M: Ренормируют веса, чтобы суммарно выходила единица КСУИ.204.3435.001 ПЗ Лист 13 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Применяют функцию к каждому изображению в обучающем наборе, затем находят оптимальный порог и полярность , , минимизирующие взвешенную ошибку классификации, где: , = arg min ? =1 ? ? = {0= ? ( , , ) 1 иначе Для ? начначается вес, обратнопропорциональный частоте ошибок – лучший классификатор считает лучше. Веса для следующих итераций, то есть +1, уменьшаются для изображений, которые классифицированы правильно. Устанавливается конечный классификатор: ?( ) = (? ? ( )) =1 Каскады имеют свою архитектуру. • В среднем лишь 0,01% от всех подокон положительные (лица) • Равное время вычислений тратится на все подокна • Необходимость увеличения времени только на потенциально положительные подокна. • Простой классификатор с двумя функциями может достичь скорости стопроцентного обнаружения с 50% скорости FP. • Этот классификатор может выступать в качестве 1-го слоя из серии, чтобы отфильтровать самые негативные окна • 2-й слой с 10 функциями может решать более "жестко" отрицательные окна, которые пережили 1-й слой, и так далее ... • Каскад все более сложных классификаторов достигает более точной оценки. Генерация сильных классификаторов в процессе обучения может быть достаточно быстрой, но этого все равно недостаточно, чтобы работать в режиме реального времени. По этой причине, сильные классификаторы расположены в КСУИ.204.3435.001 ПЗ Лист 14 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. каскаде в порядке сложности, где каждый последующий классификатор обучается только на тех отобранных образцах, которые проходят через предыдущих классификаторы. Если на любом этапе в каскаде классификатор отклоняет подокно, дальнейшая обработка не выполняется и продолжается поиск в следующем подокне. Работа каждого этапа – определить, содержит ли данное подокно нужную единицу (лицо, либо другой «предмет» поиска). Субокно сразу же классифицируется как ложное, если не проходит на любом из этапов. Простая основа для каскадного обучения приводится ниже: • Пользователь выбирает значения для F, максимально допустимый ложных срабатываний для каждого слоя и D, минимально приемлемый уровень обнаружения для каждого слоя. • Пользователь выбирает целевой общий процент ложных срабатываний. • P = множество положительных примеров • N = множество отрицательных примеров Архитектура каскада имеет последствия для выполнения отдельных классификаторов. Чтобы достичь обнаружения около 90%, каждый классификатор в упомянутом выше каскаде должен достичь обнаружения приблизительно 99,7%. Поскольку активация каждого классификатора полностью зависит от поведения его предшественника, процент ложных срабатываний для целого каскада выглядит как: = ? =1 Аналогичным образом, минимально приемлемый уровень обнаружения: = ? =1 КСУИ.204.3435.001 ПЗ Лист 15 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. 2 Экспериментальная апробация алгоритмов. В первой части данного раздела приведено описание поставленной задачи, расписаны начальные условия и условия работы, описана установка, программное обеспечение, на котором выполнялись данные алгоритмы, технические возможности и особенности. Далее в разделе представлены конкретные алгоритмы для решения поставленной задачи. Реализация алгоритмов происходит на основе трех методов, описанных выше. Описан алгоритм действий применимо к ПО Matlab со встроенной средой Simulink. Приведены примеры работы алгоритмов, описаны шаги выполнения, доработки и изменения в алгоритмах, представлены наглядные доказательства работы, сделаны выводы по работе каждого алгоритма 2.1 Описание локальной системы, условий ее работы, выбор программного обеспечения для реализации алгоритма. Цель данного проекта – разработка системы трекинга для локальной системы. Локальная система включает в себя 2 робота NXT Mindstorms (рисунок 2.1), огражденный полигон (рисунок 2.2 и рисунок 2.3), IP камеру. Полигон огражден и представляет из себя квадрат со стороной равной 2 м. Фон статичен, посторонних объектов нет. Роботы NXT управляются дистанционно. Камера установлена сверху по центру полигона на высоте 3,25 м. Параметры камеры: разрешение – 1280х800, fps – 30 кадров/сек. Данные передаются по беспроводному соединению со скоростью 10 мб. КСУИ.204.3435.001 ПЗ Лист 16 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Рисунок 2.1 – Робот NXT Рисунок 2.2 – Полигон, вид сбоку КСУИ.204.3435.001 ПЗ Лист 17 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Рисунок 2.3 – Полигон, вид сверху с IP камеры Условиями работы являются: Дневной свет и свет искусственного освещения. Работа системы без света невозможна. Нахождение на полигоне посторонних объектов зависит от способа детектирования и слежения. Фон полигона статичен. Для реализации алгоритмов выбрано ПО Matlab версии 2015a, а также встроенные возможности Simulink. Используются дополнительные пакеты Matlab, такие как: Vision toolbox, Image acquisition toolbox, Training Image Labeler. 2.2 Реализация алгоритма на основе модели смеси нормальных распределений и blob анализа. Данный алгоритм в задачах технического зрения известен под именем Foreground Detector (детектор фона). Детектор фона использует модель смеси нормальных распределений. Принцип его работы заключается в следующем: КСУИ.204.3435.001 ПЗ Лист 18 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Детектор сравнивает цветной или черно-белый кадр видео с фоновой моделью для определения принадлежности отдельных пикселей к фону или к переднему плану. Далее вычисляется маска переднего плана. Вычитая фон, определяются движущиеся объекты, расположенные на переднем плане. Особенностью данного алгоритма является работа в условиях стационарной камеры. Глобальные изменения фона недопустимы. Тем не менее, фон может быть подвижен – например, если съемка проводится на улице – допустимо движение листьев или воды. Конструкция детектора: detector = vision.ForegroundDetector – создает объект детектора фона, который в процессе работы выдает серию цветных или черно-белых кадров видео, высчитывает фоновую маску, используя модель смеси нормальных распределений. Детектор имеет ряд свойств, которые указываются в скобках после назначения и влияют на точность его работы исходя из внешних условий: AdaptLearningRate По умолчанию имеет значение «истина». Адаптирует скорость в течение периода NumTrainingFrames. В значении «истина» устанавливается значение 1/(номер текущего кадра), в значении «ложь» - каждый временной шаг. NumTrainingFrames Количество кадров видео, используемых для обучения. По умолчанию установлено 150 кадров. Если параметр выше установлен в значение «ложь» - данный параметр не работает. LearningRate Свойство для обновления параметров. По умолчанию равно 0,005. Адаптирует параметры модели под изменяющиеся условия – повышает стабильность алгоритма в неблагоприятных условиях. Если значение КСУИ.204.3435.001 ПЗ Лист 19 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. слишком высокое – медленно движущиеся объекты могут быть определены как часть фона. Слишком низкое значение делает алгоритм не способным воспринимать изменение освещения. MinimumBackgroundRatio Установка данного свойства влияет на минимум априорных вероятностей для рассмотрения конкретных пикселей как фона. Мульти модальный фон не может быть обработан, если установлено слишком маленькое значение. По умолчанию установлено 0,7. NumGaussians Количество режимов в смеси распределения. Обычно используются значения равные 3,4 или 5. Позволяет моделировать разные режимы для фона. Коэффициент может быть снижен, если фон видео статичный и однородный. Для «уличного» фона с движущимися мелкими деталями (листья, волны) значение повышается. InitialVariance Начальная дисперсия модели смеси. Это свойство применяется ко всем цветовым каналам для цветных входов. По умолчанию установлено в «авто». Для типов данных возвращает следующие значения: Double/single - 255302 Uint8 - 302 В процессе определения участвует такой вид анализа как blobAnalysis. Опишем его конструкцию: blob = vision.BlobAnalysis – возвращает объект капельного анализа, который высчитывает статистику для соседствующих регионов бинарного изображения. Имеет множество свойств, которые указываются в скобка, для более гибкой работы алгоритма, либо для высчитывания дополнительной информации. Ниже КСУИ.204.3435.001 ПЗ Лист 20 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. приведем описание основных свойств, используемых в нашем алгоритме детектирования и трекинга: AreaOutputPort – возвращает область «капель» CentroidOutputPort – возвращает координаты центра области при установке значения в «истину». BoundingBoxOutputPort – возвращает координаты рамки. MinimumBlobArea и MaximumBlobArea – назначение минимального и максимального значения для области «капель», соответственно. Регулирование данного свойства помогает избавиться от нежелательных определенных областей, которые соответствуют требованиям, но являются неким «шумом», нежели требуемым объектом. Для того, чтобы обнаруженные области выделялись рамками, используется объект ShapeInserte. Данный объект может рисовать многоугольники, линии, полигоны, круги на цветных или ч/б изображениях в режиме просмотра или сохранения. Конструкция объекта: shapeInserter = vision.ShapeInserter – создает системный объект, рисующий фигуры вокруг определенной области. Некоторые свойства, настраиваемые при создании объекта: Shape – выбор отрисовываемой области – круг, квадрат, линия, полигон. Fill – заполнение области заливкой. LineWidth – ширина линии фигуры. BorderColor – цвет границ фигуры. КСУИ.204.3435.001 ПЗ Лист 21 Изм. Лист № докум. Подп. Дата Взам. инв. № Инв. № дубл. Подп. дата Инв. № подл. Подп. и дата. Ниже приведен код программы, запускающей действие данного алгоритма для решения нашей задачи. Сгенерирован на основе детектора движущихся машин3: videoSource = vision.VideoFileReader('D://frames22.avi','ImageColorSpace','Intensi ty','VideoOutputDataType','uint8'); detector = vision.ForegroundDetector('NumTrainingFrames', 20, 'InitialVariance', 30*30); blob = vision.BlobAnalysis('CentroidOutputPort', false, 'AreaOutputPort', ....................... |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: