ОРДЕНА ЛЕНИНА
ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ
им. М.В. Келдыша РАН
А.А. Богуславский, С.М. Соколов
Программно-аппаратные средства ввода зрительных
данных в память персонального компьютера
Москва
2002 г.
Аннотация
В работе рассматриваются аппаратные средства для ввода зрительных данных в память персонального компьютера, которые могут быть использованы в системах технического зрения (СТЗ), построенных на базе IBM-совместимых персональных компьютеров (ПК). Среди этих устройств выделяются устройства, работающие с видеосигналом телевизионного стандарта (фреймграбберы) и устройства, генерирующие цифровые изображения для передачи с помощью последовательных шин USB и IEEE-1394.
Для обращения к устройствам ввода зрительных данных (УВЗД) из программного обеспечения СТЗ необходимы программные компоненты поддержки УВЗД. В работе рассмотрены различные способы обращения к УВЗД из программного обеспечения (ПрО) СТЗ.
В последние годы становятся доступными программные средства, которые могут быть использованы в процессе разработки ПрО СТЗ – библиотеки алгоритмов обработки изображений, интерактивные пакеты для обработки изображений. В некоторых библиотеках обработки изображений также есть группы подпрограмм для обращения к УВЗД. В данной работе описывается ряд программных средств данной категории и отмечаются возможности их применения для разработки СТЗ реального времени.
Ключевые слова: система технического зрения, система реального времени, фреймграббер, обработка изображений.
Работа выполнена при частичной финансовой поддержке грантов РФФИ №№ 99-07-187, 99-01-00981, 02-01-00671, 02-07-90425.
Abstract
The hardware for video capture purposes in PC-based vision systems are considered in this paper. Discussed devices working with television video signal (framegrabber) and the digital devices for serial bus USB and IEEE-1394.
The software components are necessary for the interface with devices from the vision systems software. The various software development kit (SDK) types are considered In this paper.
Now there are accessible software, which can be used during vision systems software development. There are libraries of image processing algorithms, interactive image processing applications. In some libraries of image processing algorithms there are groups of the subroutines for the framegrabber control. In the given paper a number of the given category software is described and the opportunities of their application for real time vision systems software development are discussed.
Keywords: vision system, real-time system, framegrabber, image processing.
The work is executed at partial financial support of the grants RFBR №№ 99-07-187, 99-01-00981, 02-01-00671, 02-07-90425
Содержание
1. Введение 4
2. Программные средства для ввода и обработки зрительных данных 5
2.1 SDK для ввода зрительных данных 5
2.2 Библиотеки алгоритмов обработки изображений 8
2.3 Программные пакеты для ввода и обработки зрительных данных в интерактивном режиме 11
3. Аппаратное обеспечение ввода зрительных данных 12
3.1 Фреймграббер VP-3MF 13
3.2 Фреймграббер MegaFrame-4 14
3.3 Фреймграббер для мультимедиа-приложений FlyVideo EZ 15
3.4 Фреймграббер Matrox Meteor II 15
3.5 Фреймграбберы The Imaging Source DFG/LC1 и DFG/LC2 16
3.6 Web-камера Logitech QuickCam Pro 17
3.7 Устройство The Imaging Source DFG 1394 18
4. Методика тестирования программно-аппаратных средств для систем технического зрения 19
5. Заключение 22
Литература 23
1. Введение
При разработке систем реального времени для обработки зрительных данных (систем технического зрения, СТЗ), одной из основных задач является обеспечение ввода зрительных данных в память компьютера – формирование цифровых изображений. В процессе ввода совместно функционируют аппаратные и программные средства СТЗ. Основным аппаратным устройством для решения задачи ввода служат специализированные аналого-цифровые преобразователи (АЦП) – устройства ввода зрительных данных (УВЗД, фреймграбберы), к которым подключаются источники зрительных данных, генерирующие видеосигнал телевизионного стандарта (телевизионные камеры, видеомагнитофоны и др.). В последнее время наблюдается распространение УВЗД, обеспечивающих формирование цифровых изображений без использования АЦП как самостоятельного устройства. Примерами являются видеокамеры для цифровых шин USB [20] и FireWire [17].
Управление УВЗД обычно осуществляется с помощью программных компонент СТЗ – драйверов, вызываемых из основного цикла обработки СТЗ. В рассматриваемых СТЗ цикл обработки реального времени состоит из этапов "ввод изображения", "обработка изображения", "использование результатов обработки". Из этих трех этапов наиболее зависимым от аппаратных особенностей и операционной системы является первый этап – "ввод изображения".
В данной работе содержится анализ программно-аппаратных средств, которые могут быть использованы для разработки научных и прикладных СТЗ реального времени на базе IBM-совместимых ПК в среде операционных систем (ОС) Windows и QNX [12]. Рассматривалась возможность формирования программно-аппаратной конфигурации стоимостью 500-1000$, позволяющей организовать ввод зрительных данных без потерь изображений, c обеспечением унификации программных средств для реализации СТЗ на базе различных УВЗД и ОС.
В УВЗД для оцифровки видеосигнала телевизионного стандарта можно выделить два свойства, которые желательны для построения СТЗ реального времени:
передача цифровых изображений из буфера УВЗД в оперативную память с минимальной загрузкой процессора с использованием режима работы системной шины PCI Bus Master;
ввод полукадров заданной четности и кадров целиком, с генерацией программного прерывания по завершению съема изображения.
Генерация программного прерывания после завершения съема изображения является ключевой возможностью, позволяющей организовать ввод изображений параллельно с основным циклом обработки изображений в СТЗ. Следует отметить, что при этом возникает неопределенность при создании временной метки ввода изображения. Она возникает за счет задержки планировщика многозадачной ОС. Оценка этой задержки может быть получена как среднеквадратическое отклонение длительности операций съема изображений одного размера.
До недавнего времени в среде распространенных ОС не было стандартных программных компонент для ввода зрительных данных в реальном времени [6, 21]. При отсутствии стандарта промышленные УВЗД комплектовались специфическими инструментальными средствами разработки ПрО (SDK) [23]. В последнее время на платформе Windows распространяется подсистема DirectX, обеспечивающая непосредственный доступ к аппаратному обеспечению ПК из мультимедиа-приложений. В этой подсистеме есть компонента DirectShow, которую можно рассматривать как попытку стандартизации программной поддержки ввода зрительных данных в среде ОС Windows [8].
Структура DirectShow предполагает программирование ввода и обработки зрительных данных в логике систем, управляемых потоками данных [1, 22]. Необходимо отметить, что в СТЗ со сложной логической обработкой не всегда удается построить цикл обработки в терминах потоков данных, поэтому использование стандарта DirectShow применительно к СТЗ несколько ограничено. Представляется, что использование абстракции УВЗД, сформированной применительно к СТЗ со структурой "ввод/обработка/использование результатов", обеспечит лучшую переносимость СТЗ в среду встроенных ОС и ОС реального времени, по сравнению с привязкой СТЗ к структуре подсистемы DirectX. Поэтому в данной работе предпочтение отдано программной поддержке УВЗД на основе библиотек функций, обеспечивающей выполнение настроек УВЗД и получение изображений без необходимости формирования программных компонент на основе каркасов компонент DirectX/DirectShow.
Несмотря на сложности применения готовых программных средств при реализации СТЗ, можно отметить возможность их использования при макетировании процесса обработки изображений. В качестве таких программных продуктов выделяются библиотеки с реализацией известных алгоритмов обработки изображений (например, Matrox Imaging Library [16], LeadTek LeadTools [13], HALCON [10], Intel OpenCV [18]) и интерактивные среды обработки изображений (Matrox Inspector [14], AdOculos [4], Pisoft Image Framework [19], ActivVision Tools [2]).
|