Upload
vuongdieu
View
249
Download
1
Embed Size (px)
Citation preview
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 (в центре) и обнаружения углов (справа).
2
Регистрация изображений и стереозрение
Computer Vision System Toolbox поддерживает алгоритмы автоматической регистрации изобра-жений путем оценки геометрических различий между снимками или видеофреймами на основеобнаруженныхособенностей.Вотнесколькопримеровиспользованияэтогометода:построение видеомозаики, стабилизация видео, объединение изображений и стереозрение.
Регистрация изображений на основе полученных деталей
Обнаружение,выделениеисравнениедеталей–этопервыешагивработепосопоставлениюизображений. Используя один из нескольких видов алгоритмов определения особенностей, имеющихсявсистемномнабореинструментов,можнополучитьиизвлечьхарактерныедеталидля каждого из двух сравниваемых снимков. Затем определить и отобразить возможные соответствия между ними. Как правило, этот рабочий процесс дает множество точек, представ-ляющихинтерес,включаянекотороеколичествопогрешностей,которыеможноустранитьспомощьюнадежныхстатистическихметодов,такихкакRANSACилисумманаименьшихквадратов,служащихдлявычислениясхожестииаффинногоилипроективногопреобразова-ния.Взавершениеможноприменитьполученноегеометрическоепреобразованиедлявырав-нивания двух изображений.
Сопоставление изображений на основе выявления ключевых деталей, применяемое для стабилизации видео. Системный набор инструментов детектирует точки интереса на двух последовательных видеофреймах, используя технику обнаружения углов (вверху); возможные соответствия определяются с многочисленными выбросами (внизу слева), а выбросы исключаются с помощью метода RANSAC (внизу справа).
3
Коррекция стереоизображений
Исправление стереоизображений трансформирует пару стереоизображений таким образом, чтобысоответствующаяточканаодномизображениимоглабытьнайденавсоответствующемрядунадругом.Спомощьюсистемногонабораинструментовможноочиститьпарустереоизо-бражений, определив набор точек соответствия, оценив фундаментальную матрицу и, затем, получивдвапроективныхпреобразования.Данныйпроцесссводитпроблемусоответствия2D стереоизображенийк1D,чтоупрощаеталгоритмопределенияглубиныкаждойточкисцены в камере.
Результаты исправления стереоизображения. Непересекающиеся области выделены красным и голубым цветом.
4
Стереозрение
Стереозрение–этопроцессвосстановления3Dкартиныиздвухилиболеевидовсцены.Используя системный набор инструментов, можно выполнить коррекцию пары неоткалибро-ванных стереоизображений и найти совпадения индивидуальных пикселей вдоль эпиполярных линийдлявычислениякартысмещений.
Реконструкция сцены с помощью стереоизображений. Для отображения различий и создания композиции объединены правый и левый каналы (сверху слева); также отображены карта смещений (сверху справа) и 3D рендеринг сцены (снизу).
Обнаружение объектов, оценка движения и отслеживание перемещений
Обнаружениеобъектов–этоидентификацияобъектовнаизображениииливидео.ComputerVision System Toolbox поддерживает несколько подходов к детектированию объектов, включая поискпошаблонам,анализблоковиалгоритмViola-Jones.Длясопоставленияшаблоновиспользуютсямаленькиеизображенияилишаблондляпоискаучастковсоответствиянабольшомизображении.Анализблоковоснованнасегментациииопределениисвойствблокадляидентификацииобъектов,представляющихинтерес.Дляидентификацииинтересующихобъектов,втомчислелиц,глаз,носовидругихчастейтелаалгоритмViola-Jonesиспользуетфункции,подобныевейвлетуHaarикаскадыклассификаторов.
5
Обнаружение лиц с помощью алгоритма Viola-Jones
Оценкадвижения–этопроцессопределенияперемещенияблоковмеждусоседнимифрейма-ми. Системный набор инструментов обеспечивает множество подобных алгоритмов, таких как оптическийпоток,сопоставлениеблоковишаблоновиоценкафонасиспользованиеммоделейсмешенияГаусса(GMMs).Этиалгоритмысоздаютвекторыдвижения,которыеотносятсяковсемуизображению,блокам,произвольнымобластямилииндивидуальнымпикселям.ДлясопоставленияблоковишаблоновоценкиметрикдляпоисканаилучшегосоответствиявключаютметодыMSE,MAD,MaxAD,SADиSSD.
Детектирование перемещающихся объектов с помощью стационарной камеры. На этой серии видеофрей-мов вычисляется оптический поток и происходит обнаружение движения, которое показано наложением поля потока поверх каждого фрейма
Технологиикомпьютерногозрениячастовключаютотслеживаниедвижущихсяобъектовнави-део. Computer Vision System Toolbox обеспечивает такие техники, как адаптивный непрерыв-ныйсдвигсреднего(CAMShift)иметодKanade-Lucas-Tomasi(KLT).Этиалгоритмыможноиспользовать для отслеживания отдельных объектов или же как строительные блоки для более сложных систем. Набор инструментов также дает основу для слежения за множественными объектами, которая включает фильтрацию Кальмана и Венгерский алгоритм для присвоения объектам траекторий.
Как интегрировать библиотеку OpenCV и MATLAB?
6
Обработка, отображение видео на экран и наложение графики
В состав Computer Vision System Toolbox также входят алгоритмы и инструменты по обработке видео.Предусмотренывозможностичтенияизаписибольшинствараспространенныхвидео-форматов,примененияобщеизвестныхалгоритмовобработкивидео,такихкакдеинтерлейсинги хроматический ресамплинг, а также отображения результатов моделирования с наложением текстаиграфики.ОбработкавидеореализованавMATLABcиспользованиемсистемныхобъектов, что позволяет организовать потоковую обработку последовательности фреймов и уменьшитьпотреблениересурсовоперативнойпамяти.
Деинтерлейсинг в MATLAB.
Ввод/вывод видео
Поддерживаетсяработасбольшимчисломформатовфайловмультимедиа,включаяAVI,MPEGиWMV,атакжепередача/получениевидеов/изMMS-источниковчерезинтернетилилокальную сеть. Кроме того, можно получить видео непосредственно с вебкамер, плат видео-захвата,камерсподдержкойDCAMидругихустройствспомощьюImage Acquisition Toolbox™. Рабочее пространство MATLAB может быть использовано как источник или приемник видео для Simulink.
Отображение видео
Системныйнаборинструментоввключаетсредствадляпросмотравидео,которыепозволяют:
• просматриватьпотоковоевидеовциклепоходуобработкиданных;
• просматриватьлюбойвидеосигналспомощьюкодаилиблок-диаграммы;
• использоватьнесколькосредствпросмотраодновременно;
• «заморозить»дисплейиоценитьтекущийфрейм;
• отобразитьинформациюопикселяхдляобластикадра;
• создаватьпанорамыимасштабироватьвидеовходесимуляциидляболеедетальногоизучения;
• пошаговоуправлятьходоммоделированиявSimulink.
7
Модель с четырьмя средствами просмотра видео: (слева направо) исходное изображение, оценка фона, передние пиксели и результаты работы алгоритма слежения
Графика
Добавлениеграфикиквидеопозволяетулучшитьвизуальноевосприятиеполученнойинфор-мации и облегчить отладку работы системы. К примеру, можно вставить текст с числом объектов на экран, отобразить траекторию движения или любую другую полезную информа-цию. Также допускается добавление элементов графики, таких как маркеры, линии или многоу-гольники для разграничения объектов, выделения найденных деталей или других интересных особенностей. Функциональность системного набора инструментов позволяет встраивать текст и графику непосредственно в изображение или видео, а не поддерживать ее отдельным слоем. Можно комбинировать работу двух видеоисточников для выделения объектов или ключевых областей.
Изображения со вставками в виде текста и графики. Добавление подобной информации может помочь в визуальном восприятии извлеченной информации и отладке системы
8
Потоковая обработка в MATLAB и Simulink
В Computer Vision System Toolbox поддерживается архитектура для потоковой обработки данных как в MATLAB, так и в Simulink,реализующаяработусоднимилинесколькимикадрамиизнепрерывногопотокаводинконкретныйпромежутоквремени.Данныйтипобработкинаиболееблагоприятендляанализабольшихвидеофайловилисистем,функциони-рующихврежимереальноговремени.
ВMATLABпотоковаяобработкареализованаспомощьюсистемных объектов, которые применяются для представления разделенных во времени и управляемых данными алгоритмов, источников и приемников сигналов. Системные объекты неявным образом регулируют множество параметров систем потоковой обработки, таких как индексирование данных, буферизацию и контроль режимов выполнения алгоритмов. В коде системные объекты могут бытьобъединенысостандартнымифункциямииоператорамиMATLAB.БольшинствоизнихимеютаналогиввидеблоковSimulinkcтакимижевозможностями.
Simulinkрегулируетпотоковуюобработку,управляяпотокамиданныхчерезблоки,входящиевсоставмодели.Имеетсябиблиотекабазовыхпредопределенныхблоковпредставляющихалгоритмы, источники, приемники и системную иерархию. В составе Computer Vision System Toolbox также находится библиотека блоков, предназначенная для разработки систем компью-терного зрения и обработки видео.
Модель обнаружения оставленных вещей (сверху). Три средства отображения показывают процесс детектирования и отслеживания оставленных предметов в режиме реального времени с камеры на железнодорожной станции
9
Системное проектирование и реализация
Computer Vision System Toolbox поддерживает создание тестовой обвязки системного уровня, моделирование типов данных в арифметике с фиксированной точкой и генерацию кода из MATLAB и Simulink.Этивозможностипозволяютобъединитьэтапразработкиалгоритмовсостадиями быстрого прототипирования, реализации и верификации алгоритмов.
Моделирование типов данных с фиксированной точкой
Во многих системах реального времени применяется оборудование, которое требует реализа-цииалгоритмовварифметикесфиксированнойточкой.Большинствоблоковисистемныхобъектов из библиотеки Computer Vision System Toolbox поддерживают данную возможность, которуюможнонастроитьспомощьюдиалоговыхоконисвойствобъектов.
Особенностимоделирования:
• размерсловаот1до128бит;
• ручнаянастройкаположениядвоичнойточки;
• дваметодаобработкипереполнений(оберткаинасыщение);
• различныеметодыокругления.
Генерация кода
Большинствосистемныхобъектов,функцийиблоковвComputerVisionSystemToolboxподдерживаютгенерациюANSI/ISOCикодаспомощьюинструментовMATLAB Coder™, Simulink Coder™ или Embedded Coder™. Кроме того, имеется возможность выбрать оптимиза-ционныепараметрыподконкретнуюархитектурупроцессораисохранитьимеющиесянара-боткинаСи,интегрировавихсосгенерированнымкодом.Генерациякодавозможнадлятиповданныхкаксплавающей,такисфиксированнойточкой.
Модель Simulink, разработанная для создания кода под определенную архитектуру оборудования. Эта модель создает Си код для системы стабилизации видео и встраивает алгоритм на ЦСП
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содержат:
• двумернуюпространственнуюичастотнуюфильтрацию;
• алгоритмыпре-ипостобработкиизображений;
• морфологическиеоператоры;
• геометрическиетрансформации;
• инструментыдляпреобразованияцветовыхпространств.