10
1 Computer Vision System Toolbox Разработка и моделирование систем компьютерного зрения и обработки видео Computer Vision System Toolbox™ содержит алгоритмы и инструменты для разработки и моде- лирования систем компьютерного зрения и обработки видео. Пакет включает алгоритмы выявления деталей, детектирования движения, обнаружения и отслеживания объектов, стереозрения, обработки и анализа видео. Предусмотрены также инструменты для ввода/ вывода видеофайлов, отображения видео, построения графики и компоновки. Все эти возмож- ности предоставлены в виде системных объектов и функций MATLAB, а также блоков Simulink. Кроме того, системный набор инструментов поддерживает арифметику с фиксированной точкой и генерацию кода Си, что позволяет быстро создавать прототипы и разрабатывать встраиваемые системы. Основные возможности Обнаружение деталей, включая детекторы FAST, Harris, Shi & Tomasi, SURF, а также MSER. Выделение деталей и сравнение предполагаемых особенностей. Детектирование и отслеживание объектов, включая алгоритмы обнаружения Viola-Jones и отслеживания CAMShiſt. Оценка перемещения, включая блочное сравнение, оптический поток и поиск по шаблонам. Оценка по RANSAC геометрических преобразований или фундаментальных матриц. Обработка видео, ввод/вывод видеофайлов, отображение видео, наложение графики и компоновка целостного изображения из фрагментов. Библиотека блоков для Simulink. Обнаружение и выделение деталей Деталь или особенность – это «интересная» часть изображения, такая как угол, капля или линия. Выделив детали, можно получить набор векторов признаков, также называемых дескрипторами набора полученных особенностей. Computer Vision System Toolbox предостав- ляет следующие возможности по детектированию и выделению деталей: обнаружение углов, включая методы Shi & Tomasi, Harris и FAST; SURF и MSER детектирование капель и регионов; получение дескрипторов простых пиксельных окрестностей и SURF; отображение расположения деталей, их масштаба и ориентации. Кроме того, системный набор инструментов предоставляет функции для сравнения двух наборов векторов признаков и визуализации результатов. Комбинируя техники обнаружения, выделения и сравнения деталей, можно решить множество задач компьютерного зрения, таких как регистрация, стереозрение и слежение за объектами. Три различных типа объектов зафиксированы и отображены на оригинальном рисунке с помощью Computer Vision System Toolbox. Применяются техники SURF (слева), MSER (в центре) и обнаружения углов (справа).

Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

Embed Size (px)

Citation preview

Page 1: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

1

Computer Vision System ToolboxРазработка и моделирование систем компьютерного зрения и обработки видео

Computer Vision System Toolbox™ содержит алгоритмы и инструменты для разработки и моде-лирования систем компьютерного зрения и обработки видео. Пакет включает алгоритмы выявления деталей, детектирования движения, обнаружения и отслеживания объектов, стереозрения, обработки и анализа видео. Предусмотрены также инструменты для ввода/вывода видеофайлов, отображения видео, построения графики и компоновки. Все эти возмож-ности предоставлены в виде системных объектов и функций MATLAB, а также блоков Simulink. Кроме того, системный набор инструментов поддерживает арифметику с фиксированной точкой и генерацию кода Си, что позволяет быстро создавать прототипы и разрабатывать встраиваемые системы.

Основные возможности

• Обнаружениедеталей,включаядетекторыFAST,Harris,Shi&Tomasi,SURF,атакжеMSER.

• Выделениедеталейисравнениепредполагаемыхособенностей.

• Детектированиеиотслеживаниеобъектов,включаяалгоритмыобнаруженияViola-Jonesи отслеживанияCAMShift.

• Оценкаперемещения,включаяблочноесравнение,оптическийпотокипоискпошаблонам.

• ОценкапоRANSACгеометрическихпреобразованийилифундаментальныхматриц.

• Обработкавидео,ввод/выводвидеофайлов,отображениевидео,наложениеграфики и компоновка целостного изображения из фрагментов.

• БиблиотекаблоковдляSimulink.

Обнаружение и выделение деталей

Детальилиособенность–это«интересная»частьизображения,такаякакугол,капляилилиния. Выделив детали, можно получить набор векторов признаков, также называемых дескрипторами набора полученных особенностей. Computer Vision System Toolbox предостав-ляетследующиевозможностиподетектированиюивыделениюдеталей:

• обнаружениеуглов,включаяметодыShi&Tomasi,HarrisиFAST;

• SURFиMSERдетектированиекапельирегионов;

• получениедескрипторовпростыхпиксельныхокрестностейиSURF;

• отображениерасположениядеталей,ихмасштабаиориентации.

Кроме того, системный набор инструментов предоставляет функции для сравнения двух наборов векторов признаков и визуализации результатов. Комбинируя техники обнаружения, выделенияисравнениядеталей,можнорешитьмножествозадачкомпьютерногозрения,такихкак регистрация, стереозрение и слежение за объектами.

Три различных типа объектов зафиксированы и отображены на оригинальном рисунке с помощью Computer Vision System Toolbox. Применяются техники SURF (слева), MSER (в центре) и обнаружения углов (справа).

Page 2: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

2

Регистрация изображений и стереозрение

Computer Vision System Toolbox поддерживает алгоритмы автоматической регистрации изобра-жений путем оценки геометрических различий между снимками или видеофреймами на основеобнаруженныхособенностей.Вотнесколькопримеровиспользованияэтогометода:построение видеомозаики, стабилизация видео, объединение изображений и стереозрение.

Регистрация изображений на основе полученных деталей

Обнаружение,выделениеисравнениедеталей–этопервыешагивработепосопоставлениюизображений. Используя один из нескольких видов алгоритмов определения особенностей, имеющихсявсистемномнабореинструментов,можнополучитьиизвлечьхарактерныедеталидля каждого из двух сравниваемых снимков. Затем определить и отобразить возможные соответствия между ними. Как правило, этот рабочий процесс дает множество точек, представ-ляющихинтерес,включаянекотороеколичествопогрешностей,которыеможноустранитьспомощьюнадежныхстатистическихметодов,такихкакRANSACилисумманаименьшихквадратов,служащихдлявычислениясхожестииаффинногоилипроективногопреобразова-ния.Взавершениеможноприменитьполученноегеометрическоепреобразованиедлявырав-нивания двух изображений.

Сопоставление изображений на основе выявления ключевых деталей, применяемое для стабилизации видео. Системный набор инструментов детектирует точки интереса на двух последовательных видеофреймах, используя технику обнаружения углов (вверху); возможные соответствия определяются с многочисленными выбросами (внизу слева), а выбросы исключаются с помощью метода RANSAC (внизу справа).

Page 3: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

3

Коррекция стереоизображений

Исправление стереоизображений трансформирует пару стереоизображений таким образом, чтобысоответствующаяточканаодномизображениимоглабытьнайденавсоответствующемрядунадругом.Спомощьюсистемногонабораинструментовможноочиститьпарустереоизо-бражений, определив набор точек соответствия, оценив фундаментальную матрицу и, затем, получивдвапроективныхпреобразования.Данныйпроцесссводитпроблемусоответствия2D стереоизображенийк1D,чтоупрощаеталгоритмопределенияглубиныкаждойточкисцены в камере.

Результаты исправления стереоизображения. Непересекающиеся области выделены красным и голубым цветом.

Page 4: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

4

Стереозрение

Стереозрение–этопроцессвосстановления3Dкартиныиздвухилиболеевидовсцены.Используя системный набор инструментов, можно выполнить коррекцию пары неоткалибро-ванных стереоизображений и найти совпадения индивидуальных пикселей вдоль эпиполярных линийдлявычислениякартысмещений.

Реконструкция сцены с помощью стереоизображений. Для отображения различий и создания композиции объединены правый и левый каналы (сверху слева); также отображены карта смещений (сверху справа) и 3D рендеринг сцены (снизу).

Обнаружение объектов, оценка движения и отслеживание перемещений

Обнаружениеобъектов–этоидентификацияобъектовнаизображениииливидео.ComputerVision System Toolbox поддерживает несколько подходов к детектированию объектов, включая поискпошаблонам,анализблоковиалгоритмViola-Jones.Длясопоставленияшаблоновиспользуютсямаленькиеизображенияилишаблондляпоискаучастковсоответствиянабольшомизображении.Анализблоковоснованнасегментациииопределениисвойствблокадляидентификацииобъектов,представляющихинтерес.Дляидентификацииинтересующихобъектов,втомчислелиц,глаз,носовидругихчастейтелаалгоритмViola-Jonesиспользуетфункции,подобныевейвлетуHaarикаскадыклассификаторов.

Page 5: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

5

Обнаружение лиц с помощью алгоритма Viola-Jones

Оценкадвижения–этопроцессопределенияперемещенияблоковмеждусоседнимифрейма-ми. Системный набор инструментов обеспечивает множество подобных алгоритмов, таких как оптическийпоток,сопоставлениеблоковишаблоновиоценкафонасиспользованиеммоделейсмешенияГаусса(GMMs).Этиалгоритмысоздаютвекторыдвижения,которыеотносятсяковсемуизображению,блокам,произвольнымобластямилииндивидуальнымпикселям.ДлясопоставленияблоковишаблоновоценкиметрикдляпоисканаилучшегосоответствиявключаютметодыMSE,MAD,MaxAD,SADиSSD.

Детектирование перемещающихся объектов с помощью стационарной камеры. На этой серии видеофрей-мов вычисляется оптический поток и происходит обнаружение движения, которое показано наложением поля потока поверх каждого фрейма

Технологиикомпьютерногозрениячастовключаютотслеживаниедвижущихсяобъектовнави-део. Computer Vision System Toolbox обеспечивает такие техники, как адаптивный непрерыв-ныйсдвигсреднего(CAMShift)иметодKanade-Lucas-Tomasi(KLT).Этиалгоритмыможноиспользовать для отслеживания отдельных объектов или же как строительные блоки для более сложных систем. Набор инструментов также дает основу для слежения за множественными объектами, которая включает фильтрацию Кальмана и Венгерский алгоритм для присвоения объектам траекторий.

Как интегрировать библиотеку OpenCV и MATLAB?

Page 6: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

6

Обработка, отображение видео на экран и наложение графики

В состав Computer Vision System Toolbox также входят алгоритмы и инструменты по обработке видео.Предусмотренывозможностичтенияизаписибольшинствараспространенныхвидео-форматов,примененияобщеизвестныхалгоритмовобработкивидео,такихкакдеинтерлейсинги хроматический ресамплинг, а также отображения результатов моделирования с наложением текстаиграфики.ОбработкавидеореализованавMATLABcиспользованиемсистемныхобъектов, что позволяет организовать потоковую обработку последовательности фреймов и уменьшитьпотреблениересурсовоперативнойпамяти.

Деинтерлейсинг в MATLAB.

Ввод/вывод видео

Поддерживаетсяработасбольшимчисломформатовфайловмультимедиа,включаяAVI,MPEGиWMV,атакжепередача/получениевидеов/изMMS-источниковчерезинтернетилилокальную сеть. Кроме того, можно получить видео непосредственно с вебкамер, плат видео-захвата,камерсподдержкойDCAMидругихустройствспомощьюImage Acquisition Toolbox™. Рабочее пространство MATLAB может быть использовано как источник или приемник видео для Simulink.

Отображение видео

Системныйнаборинструментоввключаетсредствадляпросмотравидео,которыепозволяют:

• просматриватьпотоковоевидеовциклепоходуобработкиданных;

• просматриватьлюбойвидеосигналспомощьюкодаилиблок-диаграммы;

• использоватьнесколькосредствпросмотраодновременно;

• «заморозить»дисплейиоценитьтекущийфрейм;

• отобразитьинформациюопикселяхдляобластикадра;

• создаватьпанорамыимасштабироватьвидеовходесимуляциидляболеедетальногоизучения;

• пошаговоуправлятьходоммоделированиявSimulink.

Page 7: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

7

Модель с четырьмя средствами просмотра видео: (слева направо) исходное изображение, оценка фона, передние пиксели и результаты работы алгоритма слежения

Графика

Добавлениеграфикиквидеопозволяетулучшитьвизуальноевосприятиеполученнойинфор-мации и облегчить отладку работы системы. К примеру, можно вставить текст с числом объектов на экран, отобразить траекторию движения или любую другую полезную информа-цию. Также допускается добавление элементов графики, таких как маркеры, линии или многоу-гольники для разграничения объектов, выделения найденных деталей или других интересных особенностей. Функциональность системного набора инструментов позволяет встраивать текст и графику непосредственно в изображение или видео, а не поддерживать ее отдельным слоем. Можно комбинировать работу двух видеоисточников для выделения объектов или ключевых областей.

Изображения со вставками в виде текста и графики. Добавление подобной информации может помочь в визуальном восприятии извлеченной информации и отладке системы

Page 8: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

8

Потоковая обработка в MATLAB и Simulink

В Computer Vision System Toolbox поддерживается архитектура для потоковой обработки данных как в MATLAB, так и в Simulink,реализующаяработусоднимилинесколькимикадрамиизнепрерывногопотокаводинконкретныйпромежутоквремени.Данныйтипобработкинаиболееблагоприятендляанализабольшихвидеофайловилисистем,функциони-рующихврежимереальноговремени.

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

Simulinkрегулируетпотоковуюобработку,управляяпотокамиданныхчерезблоки,входящиевсоставмодели.Имеетсябиблиотекабазовыхпредопределенныхблоковпредставляющихалгоритмы, источники, приемники и системную иерархию. В составе Computer Vision System Toolbox также находится библиотека блоков, предназначенная для разработки систем компью-терного зрения и обработки видео.

Модель обнаружения оставленных вещей (сверху). Три средства отображения показывают процесс детектирования и отслеживания оставленных предметов в режиме реального времени с камеры на железнодорожной станции

Page 9: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

9

Системное проектирование и реализация

Computer Vision System Toolbox поддерживает создание тестовой обвязки системного уровня, моделирование типов данных в арифметике с фиксированной точкой и генерацию кода из MATLAB и Simulink.Этивозможностипозволяютобъединитьэтапразработкиалгоритмовсостадиями быстрого прототипирования, реализации и верификации алгоритмов.

Моделирование типов данных с фиксированной точкой

Во многих системах реального времени применяется оборудование, которое требует реализа-цииалгоритмовварифметикесфиксированнойточкой.Большинствоблоковисистемныхобъектов из библиотеки Computer Vision System Toolbox поддерживают данную возможность, которуюможнонастроитьспомощьюдиалоговыхоконисвойствобъектов.

Особенностимоделирования:

• размерсловаот1до128бит;

• ручнаянастройкаположениядвоичнойточки;

• дваметодаобработкипереполнений(оберткаинасыщение);

• различныеметодыокругления.

Генерация кода

Большинствосистемныхобъектов,функцийиблоковвComputerVisionSystemToolboxподдерживаютгенерациюANSI/ISOCикодаспомощьюинструментовMATLAB Coder™, Simulink Coder™ или Embedded Coder™. Кроме того, имеется возможность выбрать оптимиза-ционныепараметрыподконкретнуюархитектурупроцессораисохранитьимеющиесянара-боткинаСи,интегрировавихсосгенерированнымкодом.Генерациякодавозможнадлятиповданныхкаксплавающей,такисфиксированнойточкой.

Модель Simulink, разработанная для создания кода под определенную архитектуру оборудования. Эта модель создает Си код для системы стабилизации видео и встраивает алгоритм на ЦСП

Page 10: Computer Vision System Toolbox - matlab.ru · выявления деталей, детектирования движения, обнаружения и отслеживания

10

Дополнительная информация и контакты

Информация о продуктах sl-matlab.ru/products

Пробная версия sl-matlab.ru/trial

Запрос цены sl-matlab.ru/price

Техническая поддержка sl-matlab.ru/support

Сообществопользователей matlab.exponenta.ru

Тренинги sl-matlab.ru/training

Контакты sl-matlab.ruE-mail:[email protected] Тел.:+7(495)232-00-23, доб. 0609Адрес:115114Москва,Дербеневскаянаб.,д.7,стр.8

Примитивы для обработки изображений

Computer Vision System Toolbox включает примитивы для обработки изображений, которые поддерживаюттипыданныхсфиксированнойточкойигенерациюСикода.ЭтисистемныеобъектыиблокиSimulinkсодержат:

• двумернуюпространственнуюичастотнуюфильтрацию;

• алгоритмыпре-ипостобработкиизображений;

• морфологическиеоператоры;

• геометрическиетрансформации;

• инструментыдляпреобразованияцветовыхпространств.