2007
Доклады БГУИР
октябрь-декабрь
№ 4 (20)
УДК 004.93
ИНСТРУМЕНТАЛЬНАЯ СИСТЕМА ДЛЯ ОБРАБОТКИ ВИДЕОИНФОРМАЦИИ
Р.Х. САДЫХОВ, Д.В. ЛАМОВСКИЙ
Объединенный институт проблем информатики НАН Беларуси Сурганова, 6, Минск, Беларусь
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 27 ноября 2006
Представлена экспериментальная цифровая система, предназначенная для разработки и тестирования методов обработки видеоинформации. Даны основные критерии, которым должны соответствовать такого рода установки. Приведены функциональные возможности представленной системы и описана ее аппаратная часть. В качестве примера использования приведен опыт по реализации методики вычисления оптического потока. Разработан быстрый алгоритм вычисления корреляционных коэффициентов и оценена эффективность его применения в системе.
Ключевые слова: инструментальная система, обработка видеоинформации, оптический поток
Введение
Обработка видеоинформации является сложным и в то же время очень перспективным направлением в области машинного зрения. Обработка видеоданных является задачей, требующей в большинстве случаев больших вычислительных затрат, поэтому для реализации систем обработки видеоинформации в реальном времени изначально использовались специализированные аппаратные средства. В первую очередь, интерес представляют системы с гибкой архитектурой, предназначенные для использования в различных областях, в том числе и научно-исследовательских. Одной из таких систем является система Cheops [1], созданная в 1995 г. Она представляет собой специализированный программно-аппаратный комплекс для обработки видеоданных. Авторы Cheops руководствовались при ее создании несколькими основными идеями, которые схожи с основными принципами, положенными в основу создания системы, представленной в данной статье:
• видеоинформация должна обрабатываться системой в реальном времени или, если сложность алгоритма слишком высока для работы в реальном времени, обрабатываться асинхронно с отображением результатов;
• программирование системы должно быть облегчено за счет исключения необходимости управления оборудованием или процессом обработки;
• система должна поддерживать многопоточную обработку;
• система должна быть легко модернизируемой как в функциональном плане, так и техническом;
• система должна быть компактной и состоять из дешевых и доступных компонентов.
Достоинством Cheops является ее реконфигурируемость, однако использование
специализированных аппаратных средств в качестве вычислительных модулей делает ее
неудобной в связи с возрастающей сложностью применения такой системы в исследовательских целях.
На современном этапе популярностью пользуются различные программируемые логические интегральные схемы (FPGA). Системы для обработки видеоданных с использованием FPGA [2, 3] дают хорошие результаты по производительности, но требуют дополнительных временных и финансовых затрат, связанных с необходимостью реализации специфических вычислительных архитектур.
Современные персональные компьютеры позволяют решать задачи по разработке и реализации методов видеообработки без использования специализированных аппаратных средств. Использование вычислительных мощностей процессоров персональных компьютеров является наиболее дешевым и эффективным вариантом в исследовательских системах обработки видеоданных.
Представленная в данной статье система реализована на основе персонального компьютера, использует для ввода видеоданных доступные аппаратные средства, является расширяемой в программном плане и имеет возможность использования внешних библиотек алгоритмов. Она предназначена для разработки на ее базе методов и алгоритмов обработки видеоданных. Одним из базовых направлений в этой области является работа с оптическим потоком между кадрами видеопоследовательности [5, 6]. Существует большое количество методов для получения оптического потока [7, 8]. На базе представленной системы был реализован один из таких методов с использованием разработанного алгоритма быстрого вычисления корреляционных коэффициентов.
Функциональные возможности
Основной функцией системы является получение видеопотока для последующей его обработки. Видеоданные поступают с одной или нескольких видеоисточников, подключенных к системе. Для реализации методов обработки видеоданных в системе реализована процедура обработки каждого вновь полученного кадра. На вход данной процедуры приходит очередной кадр в известном формате. Процесс обработки состоит в последовательном выполнении различных подпроцедур, каждая из которых выполняет одну из операций обработки данных. Для обеспечения возможности изменения последовательности операций формат выходных данных каждой из таких подпроцедур соответствуют формату входных данных.
Каждая из подпроцедур может настраиваться соответствующими элементами управления. Основное назначение такого управления, кроме определения параметров обработки — включение или исключение соответствующего этапа из общего процесса.
Аппаратная часть
В качестве источников видеосигнала в системе используются видеокамеры. Камеры позволяют получать черно-белое изображение в формате PAL. Вместо них можно использовать любой источник видеосигнала в форматах NTSC/PAL/SECAM с удовлетворяющими поставленной задаче параметрами изображения. Захват изображения осуществляется с помощью PCI плат видеозахвата на основе чипа BT-878, позволяющих получать до 30 кадров/с с разрешением до 768x576 (PAL) или 640x480 (NTSC).
Программная часть
Программная часть системы написана на языке C\C++ с использованием библиотеки Qt. Программа имеет графический интерфейс и предназначена для работы в графической среде Windows.
В начале работы система инициализирует драйвер платы видеозахвата и запускает режим захвата. Далее в процессе работы после формирования в специальном буфере нового кадра драйвер инициирует прерывание, которое обрабатывается системой. Затем кадр преобразуется в формат, используемый при обработке. Данные конвертируются из 16-битного формата RGB в 32-битный RGB для цветного потока и 8-битный GRAY для полутонового.
В заключение процедуры обработки прерывания инициируется сигнал, вызывающий процедуру обработки кадра. Новые кадры, сформированные драйвером, не будут обрабатываться, пока не завершится уже начавшаяся обработка кадра.
Заявленная расширяемость и дополняемость этой процедуры обработки реализуется путем изменения ее программного кода. На уровне системы реализован механизм подготовки данных для обработки и отображения полученных результатов. Основное требование здесь — это сохранение формата хранения данных на выходе процедуры обработки в соответствии с форматом не ее входе.
Использование системы
В качестве примера использования представленной системы ниже приводится описание экспериментов по реализации метода вычисления оптического потока между кадрами видеопоследовательности. Использованный подход предложен Саном [9]. Для сопоставления областей на кадрах видеопоследовательности автор использует различные метрики (сумма квадратных разностей, сумма абсолютных разностей, взаимная корреляция).
Вычисление коэффициентов при использовании взаимной корреляции требует больших вычислительных затрат. С целью их снижения на базе представленной системы был разработан быстрый алгоритм вычисления корреляционных коэффициентов и оценена эффективность его применения.
Взаимная корреляция между двумя изображениями f и g вычисляется по формуле с = С0У^Л(*,8) , (1)
где
] + К /2 1+Ь /2
СОУ
ш(/, 8) = Е Е ,т §п+ ,т+ йу , (2)
т= ] - К /2 п=- Ь /2
]+К /2 1+Ь /2
УаГ; (/) = Е Е Л-Л (3)
т= ]-К / 2 п=1-Ь / 2
] + К /2 г+Ь /2
уаг
(8) = Е Е 8п+йх ,m+dy , (4)
т=] - К /2 п=1 - Ь /2
г, ] — индексы пикселей изображения; йу — смещение окна поиска; К, Ь — размеры окна поиска.
Для вычисления соотношения такого типа (двойных сумм (2)-(4)) можно воспользоваться методикой Макдоннела [10]. Такая техника применялась ранее для быстрого вычисления подобия с помощью метрики сумм абсолютных разностей [11, 12]. Так соотношения (2)-(4) можно представить в виде
1+ Ь /2
тимг] = Е 1вир1 (п), (5)
п=г-Ь / 2
где
]+ К /2
¡ВиГ] (п) = Е аптКт , (6)
т=]-К /2
ап,т, Ь„,т — пиксели соответствующих (в зависимости от вычисляемого соотношения) изображений.
1ВиЕ](п) представляет собой сумму произведений значений пикселей п-й колонки окна с центром в точке (/,/) на изображении а со значениями соответствующих пикселей на изображении Ь. При смещении окна вниз для вычисления нового значения 1ВиЕ^п) необходимо обновить значение /В№}-;(п), добавив произведение пикселей новых строк на обоих изображениях и удалив произведение пикселей отбрасываемых строк. Аналогично проводится операция обновления значений при смещении окна вправо.
В процессе работы алгоритма в цикле для каждого пикселя определяется КхЬ корреляционных коэффициентов. На рис. 1 представлена блок-схема алгоритма, используемого для этих вычислений. На блок-схеме жирными стрелками обозначен путь, по которому будет проходить выполнение алгоритма в подавляющем большинстве случаев. Таким образом, для вычисления значения соотношения (5) в точке (/,/) (когда она не принадлежит ни первой строке, ни первому столбцу изображения) требуется всего четыре операции сложения-вычитания и две операции умножения.
Рис. 1. Блок-схема алгоритма вычисления очередного значения соотношения 1БПМ
Описанный алгоритм был применен для вычисления корреляционных коэффициентов для кадров размером 320x240 с различными размерами окон. Результаты экспериментов представлены в табл. 1.
Отсутствие снижения вычислительных затрат при применении разработанного алгоритма в случае с окном 3x3 объясняется тем, что при такой конфигурации сэкономленное машинное время компенсируется дополнительными операторами условного перехода. Таким образом, применение представленного алгоритма оправданно тогда, когда размеры окон на сопоставляемых изображениях превышают размеры 3x3.
Размер окна (ЬхК) Количество коэффициентов (вариантов взаимоположения окон) Время, необходимое для вычисления всех коэффициентов, при применении обычного суммирования, мкс Время, необходимое для вычисления всех коэффициентов, при использовании описанного алгоритма, мкс
3x3 9 2,09 2
5x5 25 10,6 6
Коэффициенты, полученные в результате работы алгоритма, обрабатывались с помощью методики, описанной в [9], для определения картины оптического потока. На рис. 2 представлен результат работы процедуры определения оптического потока между кадрами видеопоследовательности. В табл. 2 представлены результаты измерения производительности метода с использованием разработанного быстрого алгоритма вычисления корреляционных коэффициентов.
Рис. 2. Результаты работы процедуры вычисления оптического потока
Таблица 2. Результаты измерения производительности метода
Размер кадра, пиксель Время на обработку двух последовательных кадров (окно 3x3), мс Время на обработку двух последовательных кадров (5x5), мс
640x480 1000 2300
320x240 200 510
160x120 45 127
Заключение
Представленная инструментальная система является простым решением, помогающим в проведении исследований в области обработки видеоинформации. Она позволяет разрабатывать и реализовывать различные методы и алгоритмы обработки, применять их к видеопотоку в реальном времени. В системе не используется специализированных вычислительных модулей, она построена на базе персонального компьютера и состоит из доступных и недорогих компонентов. Система легко может быть расширена как в аппаратном плане (добавление новых видеоисточников, увеличение вычислительной мощности компьютера), так и в функциональном (добавление новых алгоритмов обработки). Интеграция исходных кодов методов и алгоритмов обработки в исходный код программной части системы позволил избежать потерь машинного времени, которые могли бы быть затрачены на передачу данных между модулями системы или интерпретацию встроенного языка. Удобство использования обусловлено возможностью управления "на лету" шагами обработки и их параметрами.
На базе представленной системы реализован метод вычисления оптического потока с использованием предложенного быстрого алгоритма вычисления корреляционных коэффициентов. Реализованный метод позволил получать картину оптического потока в реальном масштабе времени со скоростью 5 кадров/с при размере кадров 320x240 пикселей. Проведенные эксперименты показали возможность использования представленной системы для разработки новых методов и алгоритмов обработки видеоданных.
INSTRUMENTAL SYSTEM FOR VIDEO PROCESSING
R.KH. SADYKHOV, D.V. LAMOVSKY Abstract
Digital experimental system for video processing methods development and testing is presented. The primary criteria, which such system should correspond, are represented. Functional capabilities of the presented system are given and its hardware components are described. As an example of using the system, optical flow technique is realized and presented. Fast algorithm for correlation coefficients calculation is developed and its efficiency is evaluated.
Литература
1. Bove V.M., Watlington J.A. // IEEE Transactions on Circuits and Systems for Video Technology. 1995. N 5. P. 140-149.
2. Germano J., Baptista R., Sousa L. // In XX Conference on Design of Circuits and Integrated Systems (DCIS'05) 2005.
3. Andraka R.A // Proc. SPIE. 1996. Vol. 2914. P. 90-99. High-Speed Computing, Digital Signal Processing, and Filtering Using Reconfigurable Logic.
4. Богуславский А.А., Соколов С.М. Программно-аппаратные средства ввода зрительных данных в память персонального компьютера. М., 2004. (Препринт / ИПМ:52).
5. Хорн Б.К.П. Зрение роботов. / Пер. с англ. М., 1989.
6. Форсайт Д., Понс Д. Компьютерное зрение. Современный подход СПб., 2004.
7. Barron J.L., Fleet D.J., Beauchemin S.S. // International Journal of Computer Vision. 1994. N 12 (1). P. 4377.
8. Beauchemin S.S., Barron J.L. // ACM Computing Surveys. 1995. N 27(3). P. 433-467.
9. Sun C. // Image and vision computing. 2002. Vol. 20. N 13/14. P. 981-991.
10. McDonnelM.J. // Computer Graphics and Image Processing. 1981. Vol. 17. N 3. P. 65-70.
11. Stefano L.Di., Mattoccia S. // 5th IEEE International Workshop on Computer Architectures for Machine Perception (CAMP 2000). 2000. P. 356
12. Muhlmann K., Maier D., Manner R., Hesser J. // IEEE Workshop on Stereo and Multi-Baseline Vision (SMBV'01). 2001. P. 30.