автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Программное и алгоритмическое обеспечение систем компьютерного видения с несколькими полями зрения

кандидата физико-математических наук
Васильев, Антон Игоревич
город
Москва
год
2013
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Программное и алгоритмическое обеспечение систем компьютерного видения с несколькими полями зрения»

Автореферат диссертации по теме "Программное и алгоритмическое обеспечение систем компьютерного видения с несколькими полями зрения"

005052005

На правах рукописи

Васильев Антон Игоревич

ПРОГРАММНОЕ И АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ ПОЛЯМИ ЗРЕНИЯ

05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

18 АПР 2013

Москва - 2013 год

005052005

Работа выполнена в Институте прикладной математики им. М.В.Келдыша РАН.

Научный руководитель:

Богуславский Андрей Александрович, д.ф.-м.н., доцент, старший научный сотрудник ИПМ им. М.В.Келдыша РАН.

Официальные оппоненты:

Зенкевич Станислав Леонидович, д.ф.-м.н., профессор, профессор кафедры "Робототехнические системы" МГТУ им. Н.Э.Баумана.

Конушин Антон Сергеевич, к.ф.-м.н., научный сотрудник лаборатории компьютерной графики и мультимедиа, ВМК, МГУ им. М.В.Ломоносова.

Ведущая организация: Государственный Научно-Исследовательский Институт Авиационных Систем (ГосНИИАС).

Защита состоится « /6 » апреля 2013 г. в 11 часов на заседании диссертационного совета Д 002.024.01, созданного на базе Института прикладной математики имени М.В.Келдыша РАН по адресу: 125047, Москва, Миусская пл., 4.

С диссертацией можно ознакомиться в библиотеке Института прикладной математики им. М.В.Келдыша РАН.

Автореферат разослан « /9» марта 2013 г.

Учёный секретарь диссертационного совета, д.ф.-м.н.

[олилова Т.А.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы

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

В настоящее время разработан ряд коммерческих программных продуктов для анализа пространственной информации наблюдаемых объектов и сцен. По областям применения среди них выделяются пакеты фотограмметрического назначения (Erdas Imagine, Photomod), пакеты построения фотореалистичных ЗБ-моделей объектов (как с возможностью измерений - Photomodeller, так и преимущественно для целей визуализации - Autodesk 123D), программы построения панорамных изображений (Microsoft ICE) и другие.

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

Анализ существующих систем обработки изображений, представленных в опубликованной литературе, показывает, что для определения пространственной информации по данным изображений выполняются типовые операции:

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

• стереоскопические измерения;

• сопоставление изображений (поиск соответствующих точек);

• построение карт глубины и ЗБ-моделей;

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

изображений.

Специальное программное обеспечение в прикладных задачах с целью извлечения пространственной информации о наблюдаемой сцене с возможностью учета априорной информации предметной области целесообразно создавать на основе повторно используемых программных компонент, решающих типовые задачи обработки. В настоящее время таких средств, охватывающих все перечисленные операции, не имеется. Для дорогостоящих фотограмметрических пакетов, как правило, не существует альтернативных открытых решений. Известные средства, предлагаемые в таких популярных библиотеках, как Intel Integrated Performance Primitives и OpenCV, содержат реализации алгоритмов, которые не всегда удается применить в прикладных задачах (например, в силу ограничений на размеры обрабатываемых изображений).

При обработке зрительных данных для обеспечения требуемого масштаба реального времени важным является вопрос выбора аппаратной структуры вычислительных средств системы компьютерного видения. В последние годы для вычислительных задач и обработки изображений расширяется применение универсальных графических процессоров (Graphic Processor Unit, GPU). Таким образом, для систем компьютерного видения актуальна разработка параллельных алгоритмов, рассчитанных на архитектуру GPU, с целью сокращения временных затрат на обработку зрительных данных.

В процессе выполнения диссертационной работы был решен ряд прикладных задач по обработке зрительных данных с целью определения пространственных характеристик и анализа объектов интереса наблюдаемой сцены:

• построение фотосхемы местности по данным аэрофотосъемки с много-объективной камеры бокового обзора;

• разработка программно-технического комплекса для мониторинга местности в режиме реального времени по информации, получаемой с беспилотного летательного аппарата (БПЛА);

• оперативное картографирование местности на основе системы видеокамер и бесплатформенной инерциальной навигационной системы (БИНС), установленных на транспортном средстве (ТС);

• автоматизация процесса регистрации трещин в хрупком тензопокрытии, применяемом для анализа напряженно-деформируемого состояния (НДС) исследуемой конструкции.

На основе опыта решения прикладных задач была спроектирована архитектура компонент двух видов для систем компьютерного видения с несколькими полями зрения: для определения параметров системы камер и для сопоставления изображений. При этом для построения фотосхем были разработаны и реализованы алгоритмы параллельной обработки, рассчитанные на архитектуру GPU.

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

Научная новизна

Разработаны новые алгоритмы, оптимизированные для архитектуры GPU семейств NVidia GT200/Fermi, позволяющие производить следующие виды обработки зрительных данных:

сопоставление узкополосных снимков, полученных при аэрофотосъемке с помощью много-объективной камеры бокового обзора;

- построение обзорных изображений по снимкам, получаемым с двух-объективной камеры БГША.

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

Впервые предложена методика автоматизации процесса регистрации трещин в хрупком тензопокрытии.

Практическая значимость работы

Спроектированные и реализованные программные компоненты были использованы в процессе решения четырех прикладных задач:

• построение фотосхемы местности по данным аэрофотосъемки с много-объективной камеры бокового обзора;

• программно-технический комплекс для мониторинга местности в реальном времени с использованием БПЛА;

• оперативное картографирование местности на основе системы видеокамер и БИНС, установленных на ТС;

• автоматизация процесса регистрации трещин в хрупком тензопокрытии, применяемом для анализа НДС исследуемой конструкции.

На основе разработанного приложения для программной калибровки камер были определены параметры ряда цифровых камер (в том числе для БПЛА) и ТВ-камер, а также откалиброваны стереосистемы на ТС для оперативного картографирования и для измерений в лабораторных условиях.

Разработанные алгоритмы параллельной обработки применялись в задачах построения фотосхем местности. В аппаратном обеспечении использовались графические процессоры NVidia Tesla sl070 для серверных станций, GPU GeForce GTX 260/280/480 для настольных ПК и GPU GeForce GT 420М/425М для ноутбуков.

Программное обеспечение для построения фотосхем было разработано в рамках выполнения опытно-конструкторских работ (ОКР) ОАО "НИИ Точных приборов" (г. Москва), которое было поставлено на эксплуатацию.

Апробация работы

Основные результаты работы докладывались и обсуждались на следующих конференциях, симпозиумах и семинарах:

• IV-ая Всероссийская научно-практическая конференция "Перспективные системы и задачи управления", Россия, Домбай, 2009

• V-ая Международная конференция "Космическая съемка — на пике высоких технологий", Россия, Московская область, 2011

• Юбилейная научно-техническая конференция ОАО НИИ ТП, посвященная 50-летию полета в космос Ю.А.Гагарина, Россия, Москва, 2011

• Всероссийская молодёжная конференция "Новые материалы и технологии в ракетно-космической и авиационной технике", Россия, Звездный городок, 2011

• XVI Международный научно-технический симпозиум "Геоинформационный мониторинг окружающей среды: GPS и GIS технологии", Украина, Алушта, 2011

• 11-ая Международная научно-техническая конференция "From Imagery to Map: Digital Photogrammetric Technologies", Испания, Тосса-де-Мар, 2011

• 21-ая Международная конференция по компьютерной графике и машинному зрению GraphiCon'2011, Россия, Москва, 2011

• 3-я Российская конференция ИПУ им. В.А.Трапезникова РАН "Технические и программные средства систем управления, контроля и измерения", Россия, Москва, 2012

• Объединенный семинар им. М.Р.Шуры-Буры по робототехническим системам и программированию ИПМ им. М.В.Келдыша РАН, Россия, Москва, 2012

Объем и структура диссертации

Диссертация состоит из введения, четырех глав, заключения и списка литературы. Содержание работы изложено на 116 страницах. Список литературы включает 85 наименований. В работе содержится 73 рисунка и 4 таблицы.

Публикации по теме диссертации

Материалы диссертации опубликованы в 11 печатных работах, из них: 3 статьи в рецензируемых журналах, рекомендованных ВАК [1-3], 1 перевод статьи в зарубежном журнале [10], 7 статей в сборниках трудов конференций [4-9,11].

СОДЕРЖАНИЕ РАБОТЫ

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

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

1) построение фотосхемы местности по данным аэрофотосъемки с

много-объективной камеры бокового обзора (рис. 1,2);

Рис. 1. Схема проведения аэрофотосъемки камерой бокового обзора (Н - высота

полета).

—ш

'X

\\

11 i

Участки от отдельных ПЗС-матриц (4 матрицы под 1 объективом)

Рис. 2. Пример единого кадра много-объективной камеры (75000x1800 пикселей, RGB), формируемого по изображениям от отдельных ПЗС-матриц.

2) программно-технический комплекс для мониторинга местности в реальном времени с использованием БПЛА (рис. 3);

5Мбит/с

Комплекс приема

Рис. 3. Схема мониторинга местности и пример фотосхемы местности, построенной по снимкам с двух-объективной камеры БПЛА. Размер кадра -2008x1336 пикселей (RGB).

3) оперативное картографирование объектов инфраструктуры дороги на основе системы камер и БИНС, установленных на ТС (рис. 4);

Рис. 4. Расположение камер стереосистем для задачи оперативного картографирования местности на основе системы камер и БИНС. Стереосистемы построены на основе аналоговых камер (720x576 пикселей, 8-Ьк, 25 Гц).

4) автоматизация процесса регистрации трещин в хрупком тензопокрытии, применяемом для анализа напряженно-деформируемого состояния исследуемой конструкции (рис. 5)

Съемка под углом 30-60° Результат автоматизации

Рис. 5. Примеры изображений, обрабатываемых для решения задачи регистрации трещин в хрупком тензопокрытии.

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

В результате анализа программного обеспечения систем компьютерного видения с несколькими полями зрения выполнена декомпозиция решаемых задач на программные компоненты. Исследована возможность применения для реализации этих компонент готовых программных библиотек (библиотека OpenCV и Intel Integrated Performance Primitives). Определены ограничения доступных библиотек и предлагается спроектировать архитектуру программных компонент, допускающих настройку с учетом специфики решаемых задач обработки зрительных данных.

Во второй главе рассматривается постановка задачи определения параметров камеры как задачи минимизации ошибки перепроецирования

(minimizing the reprojection error). Выделены различные классы прикладных задач определения параметров камеры в зависимости от количества и типов неизвестных параметров. Показана применимость каждого из классов для рассматриваемых систем компьютерного видения.

1. Поиск характерных точек

на изображении Полутоновое изображение

2. Формирование дескрипторов характерных точек Пиксели изображения

Дескриптор

Результат применения детектора Харриса

. .рямоугольный фрагмент

3. Сопоставление дескрипторов на основе метрики кросс-корреляция

Найденные соответствия Карта «откликов»

Рис. 6. Алгоритм сопоставления аэрофотоснимков.

1. Многомасштабный поиск характерных точек

1.1. Формирование многомасштабного представления изображения (МПИ)

1.2. Применение оператора Лапласса

ЩГЩ

1 # ¿sj f •К- I.,. "Л J

Яркостные экстремумы -характерные точки

2. Формирование дескрипторов характерных точек

2.1. Определение доминирующей ориентации на основе гистограммы ориентации

2.2. Дескриптор -Поле градиентов массив гист0грамм полутонового градиентов изображения

3. Сопоставление дескрипторов на основе метрики ближайшего соседа

Найденные соответствия Рис. 7. Алгоритм сопоставления снимков с БПЛА.

Для задачи сопоставления изображений сформулирована и проанализирована общая схема на основе признаковых методов, на примере двух прикладных задач (сопоставления снимков, при аэрофотосъемке и съемке с БПЛА) описаны два подхода к поиску характерных точек и формированию их дескрипторов (рис. 6,7).

Для программной реализации спроектированных программных компонент, решающих рассматриваемые в первой главе задачи, приводится структурная UML-диаграмма классов.

В третьей главе с целью оптимизации вычислений и повышения производительности алгоритмов обработки изображений предлагается использовать графические процессоры (GPIJ). Описаны характерные особенности архитектур современных графических процессоров и методы их программирования. Основное внимание уделяется технологии программирования CUDA. Для рассмотренных во второй главе двух схем сопоставления аэрофотоснимков разработаны их новые параллельные реализации. Приведены сравнения оригинальных реализаций отдельных этапов алгоритмов с доступными существующими вариантами, показано превосходство новых реализаций, при обработке изображений большего размера (более 49 МПикс).

Разбиение изображения на CUDA блоки

Копирование блока изображения в разделяемую память

CUDA блок.

CUDA нить

(соответсвует пикселю)

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

Поиск локального максимума

г

/

Свертка с маской Собела 3x3 (пример)

Гаусса 3x3 (пример)

Рис. 8. Схема параллельной реализации детектора Харриса на GPU архитектуры

NVidia GT200/Fermi.

На примере реализации детектора Харриса (рис. 8) продемонстрирована эффективность использования GPU (рис. 9). В этой реализации для снижения требований к размеру изображения промежуточные результаты вычисления градиента изображения хранятся в разделяемой памяти. Объем требуемой памяти GPU для обработки полутонового изображения детектором Харриса определяется соотношением

W-H-(Elmg+Er+E,)+S<Mapu MGPU — количество байт доступных в памяти RAM GPU, {W, Н} - размеры изображения в пикселях (ширина/высота), Eimg - количество байт, требующихся для представления пикселя полутонового изображения, Е, — количество байт, требующихся для хранения единичного элемента матрицы откликов, Е, - количество байт, требующихся для хранения единичного элемента матрицы локальных максимумов, 8 — количество байт, требующихся для выравнивания строк матричных данных в памяти (с целью уменьшения количества тактов обращения к данным).

размер растра по ширине(и высоте), пиксель —♦—собственная реализация —OpenCV(GPU) * OpenCVlCPU)

Рис. 9. Временные оценки разработанной параллельной версии алгоритма детектора Харриса в сравнении с реализациями для GPU и CPU из библиотеки OpenCV (в которой размеры допустимых изображений ограничены 7000x7000

пикселей).

Для решения задачи сопоставления снимков с БПЛА был выбран метод SIFT1 (рис. 7), обеспечивающий поиск и сопоставление характерных точек на различных уровнях детализации. В силу высокой вычислительной

1 D. Lowe, "Distinctive Image Features from Scale-Invariant Keypoints", IJCV, 2004

сложности применение этого алгоритма в системах реального времени затруднено. Поэтому была разработана новая параллельная версия алгоритма SIFT, адаптированная для архитектуры NVidia GT200/Fermi. Благодаря последовательной схеме обработки изображений многомасштабного представления изображения [8], при поиске характерных точек, была обеспечена возможность обработки изображений размером 4016x2672 на графическом процессоре GTX 260 (с встроенной памятью 796 Мб) за 2 секунды (16.000 признаков). Сравнение производилось с опубликованной реализацией Ч. By2. Она не была предназначена для обработки таких объемов и требовала уменьшения изображения в 4 раза. При обработке меньшего по объему растрового изображения, размерами 800x600 пикселей, собственная реализация потребовала 88мс и было найдено 1139 признаков; в сравниваемой реализации Ч.Ву потребовалось 54мс и 1052 признаков. (Для сравнения использовался ПК с процессором Intel 6600 2.2ГГц и графическим процессором GF GTX 260).

Объем памяти GPU, требуемой для обработки полутонового изображения методом SIFT на основе предложенной реализации, определяется выражением

Mss+Mbuf+Mpts+S<MGPU Мари - количество байт доступных в памяти RAM GPU, Mss - количество байт, требующееся для хранения МПИ, Mbuf =36-W-H - количество байт вспомогательного буфера памяти, при обработки изображения МПИ, WiH) ~ размеры изображения в пикселях (ширина/высота), Mpls -количество байт, требующихся для хранения линейного массива структур найденных характерных точек (координаты, доминирующая ориентация, размер окрестности, тип экстремума, индекс уровня МПИ), 8 - количество байт, требующихся для выравнивания строк матричных данных в памяти (с целью уменьшения количества тактов обращения к данным).

Применение GPU позволило использовать схему полного перебора для сопоставления дескрипторов характерных точек. На рис. 10 показаны результаты сопоставления на основе метрики ближайшего соседа дескрипторов признаков, найденных на снимках с БПЛА. Учет ряда ограничений обеспечивает возможность ускорения такого перебора в 8 раз для графического процессора GTX 260.

2 С. Wu "SIFTGPU: A GPU implementation of scale invariant feature transform", http://vvwvv.cs.unc.edu/~ccvs'u/siftgpu/#lov\esift

Рис. 10. Сопоставление двух массивов дескрипторов (по -10.000 каждый) на основе метрики ближайшего соседа. Высокие столбцы - 128-мерный дескриптор, низкие столбцы - 32-мерный дескриптор. Синие столбцы - полный перебор, красные - добавлено ограничение отсутствия вращения, желтые - добавлено ограничение сопоставление характерных точек с одинаковым типом экстремума, зеленые - добавлено ограничение одной и той же удаленности от объекта

наблюдения.

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

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

1) формирование единых изображений кадров на основе набора субкадров (рис. 2);

2) корреляционное сопоставление сформированных узкополосных снимков;

3) фототриангуляция: уточнение линейных и угловых параметров камеры с использованием данных, полученных с GPS-приемника;

4) трансформирование снимков и построение фотосхемы

Размер каждого сформированного узкополосного снимка составлял 75640x1760 пикселей и был представлен в цветовом пространстве RGB (8 бит на каждый цветовой канал). Снимок сопровождался данными GPS-приемника (положение в СК WGS84 и угол курса). Также был известен угол наклона камеры относительно строительной оси самолета. Формирование этих кадров выполнялось с использованием встроенного ПО камеры. Кадры предоставлялись в формате TIFF с использованием метода сжатия JPEG.

Снимок!

Снимок2

Формирование уменьшенных копий изображений

Сопоставление снимков (на основе метода на рис. 6)

"Грубые" соответствия

Применение RANSAC для оценки параметров томографии

Определение области перекрытия кадров и разбиение ее на блоки

Iэтап

Оценка распределенности найденных соответствий

Расчет "грубого" соответствия на основе томографии и локальное уточнение

Применение КЛЫБАС для фильтрация неправильных соответствий (на основе модели фундаментальной матрицы)

II этап

Соответствия

Рис. 11. Алгоритм сопоставления узкополосных снимков (зеленым цветом выделены этапы, реализованные на СРи,либо данные хранятся на GPU).

Одним из основных требований к системе компьютерного видения была обработка данных со скоростью не менее 100 снимков/час. В качестве аппаратного обеспечения системы (2008г.) была сконфигурирована система на базе графического процессора NVidia Tesla S1070, двух-ядерного процессора Intel Xeon Quad-Core Х7350, 16Гб ОЗУ, дисковое хранилища 7.5 Тб (RAID5).

При разработке системы применялась следующая схема распараллеливания:

• количество потоков обработки равно количеству устройств обработки (Tesla SI070 содержит 4 устройства);

• алгоритмы адаптированы для архитектуры NVidia GT200.

Рис. 12. Пример фотосхемы. Время обработки ~4 ч., -1600 кадров, -68000x267000

пикселей.

Для сопоставления узкополосных снимков был разработан алгоритм на основе метода, описанного во второй главе (см. рис. 6), и реализованной с применением технологии CUDA. Алгоритм представлен на рис. 11.

Пример фотосхемы, полученной в результате обработки маршрута, состоящего из 1600 снимков, приведен на рис. 12. Время сопоставления пары снимков занимало 5-15 секунд (в зависимости от типа снимаемой поверхности), а время обработки всего маршрута составило около 4 часов. Построение фотосхем местности по снимкам с БПЛА. На рис. 3 показана схема программно технического комплекса для мониторинга местности в режиме реального времени с применением БПЛА. Для получения зрительных данных с целью покрытия интересуемой области местности в этом комплексе использовалась специальная двух-объективная камера. Поступающие зрительные данные подвергались обработке посредством двух независимых процедур, осуществляемых двумя операторами:

1) обзор пары кадров, получаемых оператором по радиолинии (пропускная способность 5Мбит/с);

2) детальный анализ локального обзорного изображения местности оператором.

Для удобства детального анализа было разработано специальное программное обеспечение построения фотосхем местности. С целью ускорения обработки алгоритм был реализован с оптимизацией для GPU общего назначения. Сопоставление кадров осуществлялось на основе метода, показанного на рис. 7. Алгоритм построения фотосхемы местности на основе нескольких пар (до 5 пар) приведен на рис. 13.

Поиск характерных точек и формирование дескрипторов для каждого кадра набора

I этап

Сопоставление дескрипторов смежных кадров

На основе метода SIFT (см. рис.7)

О —I—!— 1

Применение RANSAC для оценки томографии между смежными кадрами набора

Допущения: _1)центры фотографирования объективов совпадают (конструктивные особенности) 2) съемка плоской сцены

Соответствующие точки

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

Расчет томографии каждого снимка к CK базового кадра

Базовый кадр определяется _ пользователем

Трансформирование и цветовая коррекция кадров каждой пары в СК базового снимка

Наложение обработанных пар

Последовательная обработка пар

II этап

Фотосхема

Рис. 13. Алгоритм построения фотосхемы местности по снимкам с двух объективной камеры БПЛА (зеленым цветом отмечены этапы реализованные на

GPU).

Для повышения качества обработки зрительных данных выполнялась коррекция яркости вблизи краев изображения с использованием радиальной взвешивающей функции. Для изображений каждой пары производилась бесшовная «сшивка».

Пропускная способность радиолинии обеспечивала получение пары изображений каждые 2.8 секунды, размер каждого изображения 2008x1336 пикселей. В среднем формирование обзорного изображения, показанного на рис. 14 (3 пары кадров), занимало порядка 10-15 секунд (основной процессор Intel Core i7 и графический процессор Nvidia GTX 480).

Рис. 14. Пример фотосхемы, построенной по снимкам с БПЛА. Время обработки 12с., 3 пары кадров, размеры фотосхемы -4200x2600 пикселей.

Оперативное картографирование.

В целях оперативного картографирования была разработана дорожная лаборатория на базе транспортного средства (рис. 4), оборудованная парой стереосистем, GPS-приемником и датчиком БИНС, а также лазерным дальномером. Основная задача этой лаборатории заключалась в измерении размеров и координат наблюдаемых объектов.

Для обработки данных предварительно требовалось выполнить следующие действия:

1) калибровка стереосистем;

2) определение/задание связи БИНС и камер стереосистем на основе

тестовых измерений.

Для оценки качества разработанной системы был поставлен эксперимент по оценке точности измерений (рис. 15). В эксперименте выполнялось измерение относительных размеров наблюдаемого объекта, при приближении к нему. Точность указания соответствующих точек объекта колебалась в пределах 1-2 пикселей. Однако вследствие неточности указания границ объекта (размеры объекта варьировались от 20 до 70 пикселей) ошибка достигала более 10% на расстоянии более 40 м. Таким образом, разработанная система компьютерного видения удовлетворяла требованиям измерения размеров объектов инфраструктуры дороги на расстоянии до 30 м с точностью не хуже 10%.

Ошибка измерения размеров объектов

Измеренное расстояние до объекта интереса

§ ю з-

3

и 'О

10

время, с

Ошибка обратного перепроецирования

Размеры объекта на изображении

Рис. 15. Оценки точности измерений при движении транспортного средства к

объекту интереса.

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

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

Совместно с ИМАШ им. А.А.Благонравова РАН была разработана методика автоматизации процесса регистрации трещин в хрупких

тензочувствительных покрытиях (см. рис. 16) и реализован необходимый программный инструментарий.

Рис. 16. Блок-схема методики автоматизации процесса регистрации трещин в хрупком тензочувствительном покрытии.

Технология была апробирована на примере образца авиационной панели (см. рис. 17). Ошибки искажения линейных и окружных размеров для выделенного элемента авиационной панели не превышали 5% от истинных значений, а время, потраченное на регистрацию трещин и анализ результатов всего эксперимента, заняло около 15 минут. Для сравнения -контроль по традиционной методике, требующей полностью ручной зарисовки картин трещин на предварительно подготовленные эскизы исследуемой конструкции, занимал порядка 1-3 часов (в зависимости от уровня квалификации оператора).

Съемка трещин

Создание и экспорт 30-модели объекта

Выбор точек модели Внешняя калибровка и

объекта трансформирование Визуализация

Рис. 17. Пример обработки образца авиационной панели с хрупким покрытием.

Оператором найдено 73 трещины, размеры трещин 1.8-6.7°см.

В заключении представлены основные результаты работы.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

2. Разработаны новые параллельные реализации алгоритмов сопоставления аэрофотоснимков оптимизированные для архитектуры GPU семейств NVidia GT200/Fermi и обеспечивающие обработку изображений большего размера, по сравнению с существующими аналогами.

3. Разработаны новые алгоритмы для новых специализированных камер, оптимизированные для архитектуры GPU семейств NVidia GT200/Fermi:

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

• алгоритм для построения обзорных изображений по снимкам, получаемым с двух-объективной камеры БПЛА.

4. Спроектированы и реализованы системы компьютерного видения для решения четырех прикладных задач обработки зрительных данных:

• построение фотосхемы местности по данным аэрофотосъемки с много-объективной камеры бокового обзора;

• программно-технический комплекс для мониторинга местности в реальном времени с использованием БПЛА;

• оперативное картографирование местности на основе системы камер и БИНС, установленных на ТС;

• автоматизация процесса регистрации трещин в хрупком тензопокрытии, применяемом для анализа НДС исследуемой конструкции.

СПИСОК ПУБЛИКАЦИЙ

1. Платонов А.К., Соколов С.М., Сазонов В.В., Богуславский A.A., Трифонов О.В., Васильев А.И., Куфтин Ф.А., Моксин К.А. Программно-аппаратный комплекс средств навигации мобильных систем. // Вопросы оборонной техники. Серия 9. Специальные системы управления, следящие приводы и их элементы. Вып. 1(242)-2(243), 2010. с. 47-55.

2. Махутов H.A., Васильев И.Е., Богуславский A.A., Васильев А.И. Автоматизация процесса регистрации трещин в хрупких тензочувствительных покрытиях. // Заводская лаборатория. Диагностика материалов, №11,2010, с. 45-50.

3. Соколов С.М., Богуславский A.A., Васильев А.И., Трифонов О.В., Назаров В.Г., Фролов P.C. Методические и практические аспекты разработки систем компьютерного видения для навигации и измерений // Известия ЮФУ. Технические науки, № 3, март 2012, ISSN 1999-9429, с.76-85.

4. Васильев А.И., Крылов A.B., Вахонин A.B. Применение графических процессоров NVIDIA в задачах фотограмметрической обработки результатов ДЗЗ. // Сборник материалов Юбилейной конференции, посвященной 50-летию полета в космос Ю.А.Гагарина, НИИ ТП, 2021 апреля, 2011, Москва, с. 114-117.

5. Васильев А.И., Крылов А.В., Судоргин А.С. Разработка программно-математического обеспечения для поиска совпадающих точек на аэрофотоснимках. Применение технологии NVIDIA CUDA в задаче поиска совпадающих точек. // Сборник материалов Юбилейной конференции, посвященной 50-летию полета в космос Ю.А.Гагарина, НИИ ТП, 20-21 апреля, 2011, Москва, с. 118-121.

6. Васильев А.И., Крылов А.В., Логутко Д.А., Павленко Г.П. Разработка программно-технического комплекса для проведения аэрофотосъемки и наземной обработки результатов съемки на примере БПЛА "Типчак". // Сборник материалов Юбилейной конференции, посвященной 50-летию полета в космос Ю.А.Гагарина, НИИ ТП, 20-21 апреля, 2011, Москва, с. 86-90.

7. Васильев А.И., Судоргин А.А. Построение обзорных изображений местности по снимкам БПЛА. // Сборник материалов молодежной конференция "Новые материалы и технологии в ракетно-космической технике", 22-24 июня, 2011, Звездный городок, Т2 с. 226-229.

8. Vasilyev A.I., Boguslavskiy А.А., Sokolov S.M. Parallel SIFT-detector implementation for images matching. // Proc. of the 21st Conference on Computer Graphics and Vision, GraphiCon'2011, September 26-30, 2011, Moscow, pp. 173-176.

9. Vasilyev A. I., Krylov A.V., Sudorgin A.A. Application of NVIDIA GPU for the mosaic formation according to the aerial photography data. // Proc. of the 11th International Scientific and Technical Conference "From Imagery to Map: Digital Photogrammetric Technologies", 2011, September 19-22, 2011, Spain, Tossa de Mar, pp. 43-44.

10.Makhutov. N.A., Vasil'ev I.E., Boguslavskii A.A., Vasil'ev A.I. Automation of crack recording in brittle tensosensitive coatings. // Inorganic Materials, № 15, vol. 47, 2011 p. 1707-1712.

П.Соколов C.M., Богуславский А.А., Трифонов O.B, Васильев А.И. Методические и практические аспекты разработки СТЗ для оперативного мониторинга объектов инфраструктуры и подвижного состава на железнодорожном транспорте. // Труды 3-ей Российская конференция с международным участием "Технические и программные средства систем управления, контроля и измерения" (УКИ-12) 16 - 19 апреля 2012 года в ИПУ им. В. А. Трапезникова РАН. с. 972-983.

Подписано в печать 06.03.2013. Формат 60x90/16. Усл. печ. л. 1,0. Тираж 70 экз Заказ А-03 ИПМ им.М.В.Келдыша РАН. 125047, Москва, Миусская пл., 4

Текст работы Васильев, Антон Игоревич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

На правах рукописи

04201355203

Васильев Антон Игоревич

ПРОГРАММНОЕ И АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ

ПОЛЯМИ ЗРЕНИЯ

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

ДИССЕРТАЦИЯ на соискание ученой степени кандидата физико-математических наук

Научный руководитель -д.ф.-м.н. Богуславский Андрей Александрович

Москва - 2013 год

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ.......................................................................................................5

Глава 1. СИСТЕМЫ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ ПОЛЯМИ ЗРЕНИЯ........................................................................................13

1.1. Аэрофотосъемка с использованием много-объективной камеры бокового обзора...........................................................................................13

1.2. Программно-технический комплекс для мониторинга местности в реальном времени с использованием БПЛА..............................................16

1.3. Оперативное картографирование с использованием стереокамер.... 17

1.4. Автоматизация процесса регистрации трещин с использованием бытовой камеры...........................................................................................19

1.5. Анализ доступных программных средств применительно к системам компьютерного видения с несколькими полями зрения...........................20

1.6. Анализ доступных программных средств для реализации программных компонент............................................................................22

1.7. Выводы..................................................................................................23

Глава 2. ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ КОМПОНЕНТ СИСТЕМ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ ПОЛЯМИ ЗРЕНИЯ...........................................................................................................25

2.1. Математическая модель камеры..........................................................25

2.2. Минимизация ошибки перепроецирования........................................28

2.3. Классификация задач определения параметров камеры....................30

2.4. иМЕ-диаграмма классов компоненты для определения параметров камеры..........................................................................................................32

2.5. Сопоставление изображений на основе признаковых методов.........34

2.6. Сопоставление аэрофотоснимков........................................................36

2.7. Сопоставление снимков с БПЛА.........................................................39

2.8. UML-диаграмма классов компоненты для сопоставления изображений................................................................................................42

2.9. Выводы..................................................................................................44

Глава 3. ПАРАЛЛЕЛЬНЫЕ РЕАЛИЗАЦИИ АЛГОРИТМОВ СОПОСТАВЛЕНИЯ ИЗОБРАЖЕНИЙ....................................................................46

3.1. Программно-аппаратная архитектура параллельных вычислений на основе графических процессоров NVidia..................................................46

3.2. Параллельная реализация алгоритма сопоставления аэрофотоснимков.........................................................................................51

3.3. Оценка производительности параллельной реализации детектора Харриса на GPU...........................................................................................58

3.4. Параллельная реализация алгоритма сопоставления снимков с БПЛА............................................................................................................60

3.5. Сравнение и оценки производительности разработанной реализации SIFT-детектора.............................................................................................68

3.6. Оценки производительности сопоставления снимков с БПЛА.........71

3.7. Выводы..................................................................................................73

Глава 4. СИСТЕМЫ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ ПОЛЯМИ ЗРЕНИЯ В ПРИКЛАДНЫХ ЗАДАЧАХ.....................................74

4.1. Система для автоматического построения фотосхемы местности по данным аэрофотосъемки много-объективной камеры бокового обзора..74

4.2. Система для автоматического построения фотосхем местности по снимкам с двух объективной камеры БПЛА.............................................83

4.3. Приложение для калибровки систем компьютерного видения с несколькими полями зрения.......................................................................89

4.4. Система компьютерного видения для оперативного

картографирования......................................................................................98

4.5. Система для автоматизации процесса регистрации трещин в хрупких тензочувствительных покрытиях.............................................................101

4.6. Выводы................................................................................................105

ЗАКЛЮЧЕНИЕ............................................................................................106

БЛАГОДАРНОСТИ.....................................................................................108

ЛИТЕРАТУРА..............................................................................................109

ВВЕДЕНИЕ

Актуальность работы

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

В настоящее время разработан ряд коммерческих программных продуктов для анализа пространственной информации наблюдаемых объектов и сцен. По областям применения среди них выделяются пакеты фотограмметрического назначения (Erdas Imagine, Photomod), пакеты построения фотореалистичных ЗБ-моделей объектов (как с возможностью измерений - Photomodeller, так и преимущественно для целей визуализации - Autodesk 123D), программы построения панорамных изображений (Microsoft ICE) и другие.

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

ты точек объектов интереса, их геометрические размеры, а также взаимное расположение объектов интереса и их частей.

Анализ существующих систем обработки изображений, представленных в опубликованной литературе, показывает, что для определения пространственной информации по данным изображений выполняются типовые операции:

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

• стереоскопические измерения;

• сопоставление изображений (поиск соответствующих точек);

• построение карт глубины и ЗБ-моделей;

• геометрическое трансформирование и цветовая коррекция изображений.

Специальное программное обеспечение в прикладных задачах с целью извлечения пространственной информации о наблюдаемой сцене с возможностью учета априорной информации предметной области целесообразно создавать на основе повторно используемых программных компонент, решающих типовые задачи обработки. В настоящее время таких средств, охватывающих все перечисленные операции, не имеется. Для дорогостоящих фотограмметрических пакетов, как правило, не существует альтернативных открытых решений. Известные средства, предлагаемые в таких популярных библиотеках, как Intel Integrated Performance Primitives и OpenCV, содержат реализации алгоритмов, которые не всегда удается применить в прикладных задачах (например, в силу ограничений на размеры обрабатываемых изображений).

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

Processor Unit, GPU). Таким образом, для систем компьютерного видения актуальна разработка параллельных алгоритмов, рассчитанных на архитектуру GPU, с целью сокращения временных затрат на обработку зрительных данных.

В процессе выполнения диссертационной работы был решен ряд прикладных задач по обработке зрительных данных с целью определения пространственных характеристик и анализа объектов интереса наблюдаемой сцены:

• построение фотосхемы местности по данным аэрофотосъемки с много-объективной камеры бокового обзора;

• разработка программно-технического комплекса для мониторинга местности в режиме реального времени по информации, получаемой с беспилотного летательного аппарата (БПЛА);

• оперативное картографирование местности на основе системы видеокамер и бесплатформенной инерциальной навигационной системы (БИНС), установленных на транспортном средстве (ТС);

• автоматизация процесса регистрации трещин в хрупком тензопокры-тии, применяемом для анализа напряженно-деформируемого состояния (НДС) исследуемой конструкции.

На основе опыта решения прикладных задач была спроектирована архитектура компонент двух видов для систем компьютерного видения с несколькими полями зрения: для определения параметров системы камер и для сопоставления изображений. При этом для построения фотосхем были разработаны и реализованы алгоритмы параллельной обработки данных, рассчитанные на архитектуру GPU.

Целью диссертационной работы является исследование программного и алгоритмического обеспечения систем компьютерного видения с

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

Научная новизна

Разработаны новые алгоритмы, оптимизированные для архитектуры GPU семейств NVidia GT200/Fermi, позволяющие производить следующие виды обработки зрительных данных:

- сопоставление узкополосных снимков, полученных при аэрофотосъемке с помощью много-объективной камеры бокового обзора;

- построение обзорных изображений по снимкам, получаемым с двух-объективной камеры БПЛА.

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

Впервые предложена методика автоматизации процесса регистрации трещин в хрупком тензопокрытии.

Практическая значимость работы

Спроектированные и реализованные программные компоненты были использованы для решения четырех прикладных задач:

• построение фотосхемы местности по данным аэрофотосъемки с много-объективной камеры бокового обзора;

• программно-технический комплекс для мониторинга местности в реальном времени с использованием БПЛА;

• оперативное картографирование местности на основе системы видеокамер и БИНС, установленных на ТС;

• автоматизация процесса регистрации трещин в хрупком тензопокры-тии, применяемом для анализа НДС исследуемой конструкции.

На основе приложения для программной калибровки камер были определены параметры ряда цифровых камер (в том числе для БПЛА) и ТВ-камер, а также откалиброваны стереосистемы на ТС для оперативного картографирования и для измерений в лабораторных условиях.

Разработанные параллельные алгоритмы применялись в задачах построения фотосхем местности. В аппаратном обеспечении использовались графические процессоры NVidia Tesla si070 для серверных станций, GPU GeForce GTX 260/280/480 для настольных ПК и GPU GeForce GT 420М/425М для ноутбуков.

Программное обеспечение для построения фотосхем было разработано в рамках опытно-конструкторских работ (ОКР) ОАО "НИИ Точных Приборов" (г. Москва), которое было поставлено на эксплуатацию.

Апробация работы

Основные результаты работы докладывались и обсуждались на следующих конференциях, симпозиумах и семинарах:

• IV-ая Всероссийская научно-практическая конференция «Перспективные системы и задачи управления», Россия, Домбай, 2009

• V-ая Международная конференция «Космическая съемка - на пике высоких технологий», Россия, Московская область, 2011

• Юбилейная научно-техническая конференция ОАО НИИ ТП, посвященная 50-летию полета в космос Ю.А.Гагарина, Россия, Москва, 2011

• Всероссийская молодёжная конференция "Новые материалы и технологии в ракетно-космической и авиационной технике", Россия, Звездный городок, 2011

• XVI Международный научно-технический симпозиум "Геоинформационный мониторинг окружающей среды: GPS и GIS технологии", Украина, Алушта, 2011

• 11 -ая Международная научно-техническая конференция "From Imagery to Map: Digital Photogrammetric Technologies", Испания, Тосса-де-Мар, 2011

• 21-ая Международная конференция по компьютерной графике и машинному зрению GraphiCon'2011, Россия, Москва, 2011

• 3-я Российская конференция ИПУ им. В.А.Трапезникова РАН "Технические и программные средства систем управления, контроля и измерения", Россия, Москва, 2012

• Объединенный семинар им. М.Р.Шуры-Буры по робототехническим системам и программированию ИПМ им. М.В.Келдыша РАН, Россия, Москва, 2012

Публикации по теме диссертации

Материалы диссертации опубликованы в 11 печатных работах, из них: 3 статьи в рецензируемых журналах, рекомендованных ВАК [1-3], 1 перевод статьи в зарубежном журнале [10], 7 статей в сборниках трудов конференций [4-9,11].

Объем и структура диссертации

Диссертация состоит из введения, четырех глав, заключения и списка литературы. Содержание работы изложено на 116 страницах. Список лите-

ратуры включает 85 наименований. В работе содержится 73 рисунка и 4 таблицы.

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

В результате анализа программного обеспечения систем компьютерного видения с несколькими полями зрения выполнена декомпозиция решаемых задач на программные компоненты. Исследована возможность применения для реализации этих компонент готовых программных библиотек (библиотека OpenCV и Intel Integrated Performance Primitives). Определены ограничения доступных библиотек и предлагается спроектировать архитектуру программных компонент, допускающих настройку с учетом специфики решаемых задач обработки зрительных данных.

Во второй главе рассматривается постановка задачи определения параметров камеры как задачи минимизации ошибки перепроецирования (minimizing the reprojection error). Выделены различные классы прикладных задач определения параметров камеры в зависимости от количества и типов неизвестных параметров. Показана применимость каждого из классов для рассматриваемых систем компьютерного видения.

Для задачи сопоставления изображений сформулирована и проанализирована общая схема на основе признаковых методов, на примере двух прикладных задач (сопоставления снимков, при аэрофотосъемке и съемке с БПЛА) описаны два подхода к поиску характерных точек и формированию их дескрипторов.

Для программной реализации спроектированных программных компонент, решающих рассматриваемые в первой главе задачи, приводится структурная UML-диаграмма классов.

В третьей главе с целью оптимизации вычислений и повышения производительности алгоритмов обработки изображений предлагается использовать графические процессоры (GPU). Описаны характерные особенности архитектур современных графических процессоров и методы их программирования. Основное внимание уделяется технологии программирования CUDA. Для рассмотренных во второй главе двух схем сопоставления аэрофотоснимков разработаны их новые параллельные реализации. Приведены сравнения оригинальных реализаций отдельных этапов алгоритмов с доступными существующими вариантами, показано превосходство новых реализаций, при обработке изображений большего размера (более 49 МПикс).

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

В заключении представлены основные результаты работы.

Глава 1. СИСТЕМЫ КОМПЬЮТЕРНОГО ВИДЕНИЯ С НЕСКОЛЬКИМИ ПОЛЯМИ ЗРЕНИЯ

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