Текст
                    Визильтер Ю. В., Желтов С. Ю.,
Князь В. А., Ходарев А. Н., Моржин А. В.
Обработка и анализ
цифровых изображений
с примерами
на LabVIEW IMAQ Vision
Москва, 2008

УДК 621.38 ББК 32.973.26-108.2 В41 Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н., Моржин А. В. В41 Обработка и анализ цифровых изображений с примерами на LabVIEW IMAQ Vision. - М.: ДМК Пресс, 2007. - 464 с. ISBN 5-94074-404-4 Данная книга представляет собой полный учебный курс по тематике ма- шинного зрения и цифровой обработки изображений и одновременно может служить практическим пособием по построению приложений машинного зрения в среде визуального программирования LabVIEW с использованием библиотеки средств обработки и анализа изображений IMAQ Vision. Рас- сматриваются основные аспекты получения, хранения, обработки и анализа цифровых изображений, а также автоматического выделения и распознава- ния на изображениях различного рода объектов. Описываемые методы под- робно иллюстрируются программами и схемами обработки, созданными в LabVIEW на базе IMAQ Vision. Приводятся многочисленные примеры прак- тических приложений машинного и компьютерного зрения в таких областях, как автоматизация измерений и технический контроль, видеонаблюдение, биометрия, обработка документов, медицинские приложения. К изданию прикладывается DVD-ROM, содержащий цветные рисунки из книги, а также 30-дневные версии программных продуктов LabVIEW 8.5, NI Vision Builder for Automated Inspection 3.0 и LabVIEW Vision Development Module 8.5. Книга рассчитана на научных работников, инженеров и студентов техни- ческих ВУЗов, интересующихся тематикой машинного зрения и програм- мированием в среде LabVIEW. УДК 621.38 ББК 32.973.26-108.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла- дельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответ- ственности за возможные ошибки, связанные с использованием книга. ISBN 5-94074-404-4 © Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н., Моржин А. В., 2007 © Оформление, ДМК Пресс, 2007
Машинное зрение, LabVIEW и Nl Vision........................14 1.1. Проблематика машинного зрения........................14 1.1.1. Задачи машинного зрения...........................15 1.1.2. Уровни и методы машинного зрения..................16 1.1.3. Сопряженные технические дисциплины................17 1.1.4. Требования к алгоритмам машинного зрения..........19 1.1.5. Роль специальных программных средств в разработке приложений машинного зрения..............................22 1.2. Знакомство с LabVIEW.................................24 1.3. Знакомство с Nl Vision...............................44 1.3.1. Платформа Nl Vision: захват, обработка и анализ изображений в LabVIEW................................................44 1.3.2. Функции Nl Vision.................................45 1.4. Знакомство с Vision Assistant........................50 1.4.1. Начало работы с Vision Assistant..................50 1.4.2. Пример работы в Vision Assistant..................52 1.4.3. Экспорт проекта в LabVIEW.........................56 ▼ 2 Цифровые изображения........................................59 2.1. Растровое изображение................................59 2.1.1. Изображение как двумерный массив данных...........59 2.1.2. Алгебраические операции над изображениями.........62
4 Обработка и анализ цифровых изображений с примерами 2.2. Виды изображений........................................75 2.2.1. физическая природа изображений......................76 2.2.2. Тип пикселя.........................................81 2.3. Устройства оцифровки и ввода изображений................84 2.3.1. Линейки и матрицы, сканеры и камеры.................84 2.3.2. Геометрия изображения...............................87 2.3.3. Цифровые и аналоговые устройства....................88 2.3.4. Пространственное разрешение.........................89 2.3.5. Программное обеспечение.............................91 2.4. Форматы хранения и передачи цифровых изображений........92 2.4.1. Методы сжатия цифровых изображений..................94 2.4.2. Формат ВМР..........................................96 2.4.3. Формат PCX..........................................99 2.4.4. Формат GIF..........................................99 2.4.5. Формат TIFF........................................100 2.4.6. Формат JPEG........................................101 2.4.7. Формат DICOM.......................................105 2.5. Цифровые видеопоследовательности.......................107 2.5.1. Скорость съемки....................................107 2.5.2. «Смаз» изображения................................ 108 2.5.3. Этапы проектирования системы видеосъемки...........109 2.5.4. Быстрая съемка и съемка быстропротекающих процессов.111 2.5.5. Форматы хранения и передачи цифровых видеопоследовательностей..................................112 ▼ 3 Методы обработки изображений...................................118 3.1. Гистограмма и гистограммная обработка. Бинаризация и сегментация. Профили и проекции............................119 3.1.1. Гистограмма и гистограммная обработка изображений..121 3.1.2. Бинаризация полутоновых изображений................137 3.1.3. Адаптивная бинаризация.............................137 3.1.4. Сегментация многомодальных изображений.............141 3.1.5. Обработка цветных изображений......................141 3.1.6. Профиль вдоль линии и анализ профиля...............151 3.1.7. Проекция и анализ проекции.........................160
Содержание 5 3.2. Фильтрация изображений. Ранговая нелинейная фильтрация. Выделение объектов..........................................163 3.2.1. Задача фильтрации изображений.....................163 3.2.2. Фильтрация бинарных изображений...................168 3.2.3. Нелинейная фильтрация полутоновых изображений.....175 3.2.4. Задача выделения объектов интереса................180 3.3. Линейная фильтрация изображений. Линейная фильтрация в пространственной области. Преобразование Фурье. Линейная фильтрация в частотной области.....................184 3.3.1. Линейная фильтрация изображений. Линейная фильтрация в пространственной области.................................184 3.3.2. Преобразование Фурье. Линейная фильтрация в частотной области..................................................192 3.3.3. Вейвлет-анализ....................................204 3.4. Выделение контуров на полутоновых изображениях...........216 3.4.1. Задача выделения контуров...........................216 3.4.2. Операторы выделения контуров в IMAQ Vision........222 3.5. Математическая морфология Серра (ММ)...................228 3.5.1. Теоретические основы математической морфологии......229 3.5.2. Операции математической морфологии в IMAQ Vision....239 ▼ 4 Методы анализа изображений...................................251 4.1. Выделение и анализ связных областей....................251 4.1.1. Выделение связных областей на бинарных изображениях.251 4.1.2. Методы сегментации полутоновых изображений........256 4.1.3. Геометрическое описание выделенных областей.......261 4.1.4. Выделение и анализ связных областей в IMAQ Vision...265 4.2. Выделение геометрических примитивов....................280 4.2.1. Методы выделения геометрических примитивов на основе преобразования Хафа......................................280 4.2.2. Выделение геометрических примитивов в IMAQ Vision.285 4.3. Обнаружение объектов, заданных эталонами...............296 4.3.1. Методы обнаружения объектов, заданных эталонами.....296 4.3.2. Функции привязки эталонов в IMAQ Vision...........302 4.4. Измерения на изображениях..............................306
6 Обработка и анализ цифровых изображений с примерами 4.4.1. функции геометрических измерений в IMAQ Vision.......306 4.4.2. функции яркостных измерений в IMAQ Vision............311 4.5. Считывание символьной информации......................312 4.5.1. Задача оптического распознавания символов (OCR)......312 4.5.2. Считывание штриховых кодов........................323 4.5.3. Считывание информации технических индикаторов.....332 4.6. Служебные функции пакета IMAQ Vision..................333 4.6.1. Ручные геометрические измерения и построения......333 4.6.2. Работа с растровым изображением и областями интереса.343 ▼ 5 Цифровая фотограмметрия и бесконтактные измерения..............347 5.1. Методы цифровой фотограмметрии........................347 5.1.1. Фотограмметрический метод бесконтактных трехмерных измерений................................................347 5.1.2. Математическая модель камеры......................348 5.1.3. Калибровка видеокамер.............................350 5.1.4. Внешнее ориентирование камер......................351 5.1.5. Решение задачи стереосоответствия при построении модели поверхности. Структурированный подсвет...................352 5.1.6. Приведение координат точек снимков к нормальному случаю съемки. Определение элементов взаимного ориентирования по внешнему..............................................354 5.1.7. Вычисление пространственных координат точек поверхности..............................................355 5.2. Фотограмметрический комплекс для бесконтактных измерений на базе LabVIEW и PXI............................356 5.2.1. Аппаратное обеспечение комплекса..................356 5.2.2. Программное обеспечение комплекса.................360 ▼ 6 Compact Vision System - новая промышленная платформа для систем технического зрения..............................369 6.1. Compact Vision System (CVS)...........................368 6.1.1. Технические характеристики CVS....................368 6.1.2. Подключение и настройка CVS.......................369
Содержание 7 6.1.3. Создание приложения для CVS.......................374 6.2. Пример приложения: фотограмметрический комплекс на базе CVS................................................377 6.2.1. Аппаратное обеспечение комплекса..................377 6.2.2. Программное обеспечение комплекса.................378 6.2.3. Пример сканирования детали........................388 ▼ 7 Примеры практических систем машинного зрения.................391 7.1. Автоматизация измерений и технический контроль........391 7.1.1. Система автоматического выделения и фильтрации следа частиц...................................................391 7.1.2. Система автоматизированного бесконтактного измерения объема круглых лесоматериалов............................392 7.1.3. Система определения гранулометрического состава рудной массы (разработка ИИТ и ООО «НВП Центр-ЭСТАгео»).........394 7.1.4. Система автоматического измерения угла схождения сварного шва.............................................395 7.1.5. Система автоматического распознавания и подсчета некондиционных кристаллов на круглой пластине............396 7.1.6. Система компенсации геометрических искажений и бесшовной сшивки изображений, получаемых от многокамерных систем видеоввода.......................397 7.1.7. Система автоматизированного контроля качества внутренней поверхности труб.....................398 7.2. Зрение роботов........................................399 7.2.1. Область применения: автомобильные системы.........399 7.2.2. Область применения: мобильные роботы..............401 7.2.3. Система обнаружения препятствий на дороге перед движущимся транспортным средством........................404 7.2.4. Система автоматической привязки телефрагментов к ортофотоизображению....................................404 7.3. Видеонаблюдение.......................................405 7.3.1. Область применения: видеонаблюдение...............405 7.3.2. Система обнаружения и сопровождения движущихся объектов по признаку их движения.........................406
8 Обработка и анализ цифровых изображений с примерами 7.3.3. Система стереообнаружения движения в зоне видеонаблюдения............................................411 7.3.4. Система считывания регистрационных номеров автомобилей................................................412 7.3.5. Система считывания номеров железнодорожных вагонов и цистерн..................................................413 7.4. Биометрия...............................................414 7.4.1. Область применения: биометрия.......................414 7.4.2. Система обнаружения и распознавания лиц.............421 7.4.3. Система трехмерной реконструкции и формирования строго фронтального изображения лица человека..............423 7.4.4. Система автоматического выделения человеческого лица и слежения за его чертами..................................425 7.4.5. Система распознавания жестов руки человека..........426 7.4.6. Система для биомеханических исследований на основе высокоскоростной стереосъемки движений человека............426 7.4.7. Система слежения за положением головы и направлением взгляда ребенка............................................428 7.5. Обработка документов, распознавание текста и штриховых кодов........................................................429 7.5.1. Система автоматического поиска и считывания штриховых кодов......................................................429 7.5.2. Система автоматического распознавания машиночитаемых документов.................................................430 7.5.3. Система считывания номеров денежных банкнот.........431 7.5.4. Система оценки подлинности денежных банкнот.........432 7.5.5. Система для оценки ветхости денежных банкнот........433 7.6. Медицинские приложения..................................434 7.6.1. Проекты в области анализа и обработки медицинских изображений................................................434 7.6.2. Системы для компьютерного анализа томографических изображений................................................435 7.6.3. Система компьютерного анализа томографических изображений для диагностики воспалительных заболеваний пазух и полости носа (синуитов)..................................436 7.6.4. Система компьютерного анализа томографических изображений для оценки степени ожирения у мужчин...........436
Содержание 9 7.6.5. Система компьютерного анализа медицинской рентгенографической информации для ранней диагностики остеопороза.............................................438 7.6.6. Автоматизированное рабочее место врача-рентгенолога.438 7.6.7. Система телемедицины в области радиологических обследований............................................440 7.6.8. Модуль управления данными медицинского обследования на основе технологии DICOM..............................441 Список литературы...........................................442 Литература по машинному зрению..............................443 Литература по машинному зрению на русском языке.........443 Литература по машинному зрению на английском языке......445 Литература по LabVIEW и Nl Vision...........................452 Литература по LabVIEW и Nl Vision на русском языке.........452 Литература по LabVIEW и Nl Vision на английском языке......453 Предметный указатель........................................454
Настоящая книга написана и издана при поддержке академического гранта фир- мы National Instruments. Первоначально она задумывалась как русский аналог за- мечательного англоязычного пособия [184] (Klinger Т. Image processing with LabVIEW and IMAQ. Vision), однако в ходе работы исходный замысел претерпел существенные изменения, и теперь книга представляет собой не только практи- ческое пособие по построению приложений машинного зрения в среде LabVIEW с использованием библиотеки IMAQ. Vision, но и полный учебный курс по тематике машинного зрения и цифровой обработки изображений. В теоретических разде- лах рассматриваются основные аспекты получения, хранения, обработки и анали- за цифровых изображений, а также автоматического выделения и распознавания на изображениях различного рода объектов. В практических разделах описывае- мые методы подробно иллюстрируются примерами программ и схем обработки, созданных в LabVIEW на базе IMAQ. Vision. Впервые на русском языке дается подробное описание новой промышленной платформы для систем технического зрения Compact Vision System (Nl CVS), методов и приемов работы с ней. Поми- мо учебных и методических примеров, книга также содержит краткое описание значительного количества практических приложений. Книга имеет следующую структуру. В главе 1 обзорно рассматриваются основные темы книги. Вводятся основные понятия, связанные с проблематикой машинного зрения. Рассматриваются основ- ные задачи машинного зрения, уровни анализа изображения, методы машинного зрения, место машинного зрения в ряду сопряженных технических дисциплин, ос- новные требования к алгоритмам машинного зрения. Происходит первое знакомство со специализированными программными средствами LabVIEW, Nl Vision и Vision Assistant, при помощи которых далее будет происходить изучение и рассмотрение на примерах различных процедур обработки и анализа изображений. Глава 2 посвящена растровым цифровым изображениям. Рассматривается представление изображений как двумерных массивов данных. Описаны алгебра- ические операции над изображениями. Обсуждается физическая природа изобра- жений, в том числе - изображения различных диапазонов длин волн и изображе- ния различной физической природы. Описаны различные типы программных структур изображений, определяемых различным типом пикселя. Сделан крат- кий обзор устройств, используемых для оцифровки и ввода изображений в компь-
Введение 11 ютер. Обсуждаются геометрия изображения, цифровые и аналоговые устройства ввода, пространственное разрешение источников изображения. Описаны со- временные форматы хранения и передачи цифровых изображений. Кратко рас- смотрена также связанная с этим проблема сжатия цифровых изображений. В заключении главы рассматриваются вопросы, связанные с вводом, хранением и передачей уже не отдельных кадров, а протяженных во времени цифровых видео- последовательностей. Рассмотрены: скорость съемки, проблема «смаза» изоб- ражения, выбор экспозиции, выбор камеры, проблемы освещенности и выбор подсветки. Описаны устройства для съемки быстропротекающих процессов. В заключении раздела кратко описаны современные форматы хранения и переда- чи цифровых видеопоследовательностей. Глава 3 посвящена методам обработки изображений. При этом под обработкой изображений «в узком смысле» понимается такая «низкоуровневая» обработка изображения, результатом которой также является растровое изображение или другой растровый объект (например, одномерный массив). В разделе 3.1 описаны гистограмма изображения, гистограммная обработка, бинаризация и многомо- дальная гистограммная сегментация цифровых изображений, адаптивные мето- ды определения порогов бинаризации. Рассмотрены также профили и проекции изображений на оси координат. В разделе 3.2 рассмотрены нелинейные методы помеховой фильтрации изображений, а также выделение мало- и среднеразмер- ных объектов. Описана задача фильтрации изображений от шума. Рассмотрены следующие процедуры оконной фильтрации изображения: логическая фильтра- ция помех, бинарная медианная фильтрация, бинарная ранговая фильтрация, взвешенные ранговые фильтры, нелинейная фильтрация полутоновых изображе- ний, ранговая оконная фильтрация. Рассматривается также задача выделения объектов интереса и метод нормализации фона. Раздел 3.3 посвящен линейной фильтрации изображений. Рассматриваются: линейная фильтрация в простран- ственной области, преобразование Фурье, линейная фильтрация в частотной об- ласти, связь линейной фильтрации в частотной и пространственных областях. В разделе 3.4 описаны методы выделения контуров (краев) на полутоновых изоб- ражениях. Рассмотрены различные дискретные операторы вычисления произ- водных, операторы вычисления векторов градиентов, оператор Марра, оператор Кани. Раздел 3.5 посвящен описанию математической морфологии Серра. Изла- гаются теоретические основы математической морфологии. Описаны морфоло- гические операции на бинарных изображениях и их обобщение на случай полуто- нового изображения. Приводятся алгоритмы морфологического выделение «черт» и объектов (областей) на изображениях. Глава 4 посвящена методам анализа изображений. При этом под «анализом изображений в узком смысле» понимается такая «средне-» или «высокоуровне- вая» обработка изображения, результатом которой является уже не растровое изображение, а какой-либо векторный объект (список объектов) или семантиче- ская информация, выражаемая в текстовом или любом другом символьном виде. В разделе 4.1 рассмотрены методы выделения и анализа связных областей. Опи- саны основные методы выделения связных областей на бинарных изображениях. Рассматриваются также алгоритмы сегментации полутоновых изображений.
12 Обработка и анализ цифровых изображений с примерами Приводится список наиболее распространенных систем признаков, используе- мых для яркостно-геометрического описания выделенных областей. Раздел 4.2 посвящен методам выделения геометрических примитивов. Описано преобразо- вание Хафа для поиска прямых линий, преобразование Хафа для поиска окруж- ностей, рассмотрены различные стратегии анализа аккумулятора Хафа при поис- ке геометрических примитивов. Далее описаны реализованные в системе NI Vision эвристические процедуры поиска и выделения прямых линий, окружно- стей, а также линий, близких к прямым, и линий, близких к окружностям. Раз- дел 4.3 посвящен рассмотрению методов обнаружения на изображении объектов, заданных эталонными изображениями (образцами). Описаны методы корреля- ционного обнаружения, морфологический подход к сравнению изображений =>. П. Пытьева, методы согласованной фильтрации, обобщенное преобразование Хафа, функции привязки эталонов в NI Vision. В разделе 4.4 рассматриваются проблемы калибровки датчиков и последующих метрических измерений на изобра- жениях. Описаны общие методы калибровки изображений, а также процедуры ка- либровки изображений, доступные в IMAQ Vision. Рассмотрены также функции гео- метрических и яркостных измерений на изображениях, поддерживаемые NI Vision. Раздел 4.5 посвящен методам считывания символьной информации. Рассмотрена за- дача оптического распознавания символов (OCR), структура современных систем OCR и различные методы распознавания текстовых символов. Рассмотрена также задача обнаружения и считывания штриховых кодов на изображениях. Описаны раз- личные типы штриховых кодов, а также поддерживаемые системой NI Vision специа- лизированные методы считывания информации аналоговых и цифровых техниче- ских индикаторов. Раздел 4.6 содержит описание служебных функций NI Vision, позволяющих осуществлять ручные геометрические измерения и построения, а так- же работу с растровым изображением и областями интереса. Глава 5 посвящена цифровой фотограмметрии и бесконтактным измерениям. В разделе 5.1 описаны теоретические основы фотограмметрических измерений. Рассмотрены: математическая модель камеры, калибровка видеокамер, внешнее ориентирование камер, решение задачи стереосоответствия при построении мо- дели поверхности, формирование структурированного подсвета, приведение ко- ординат точек снимков к нормальному случаю съемки, определение элементов взаимного ориентирования по внешнему, вычисление пространственных коорди- нат точек поверхности, ортотрансформирование цифрового снимка. В разделе 5.2 описан фотограмметрический комплекс для бесконтактных измерений на базе LabVIEW и промышленного компьютера PXI. Глава 6 посвящена описанию новой промышленной платформы для систем технического зрения Compact Vision System (CVS) фирмы National Instruments. В разделе 6.1 описаны технические характеристики CVS, подключение и настрой- ка CVS, а также алгоритм создания приложений для CVS. В разделе 6.2 приводит- ся пример приложения для данной вычислительной системы: фотограмметриче- ский комплекс на базе CVS. В главе 7 рассматриваются многочисленные примеры практических систем машинного и компьютерного зрения, разработанных в последние годы в лабора- ториях компьютерного зрения ГосНИИ Авиационных систем и ЗАО «Институт
Введение 13 информационных технологий». Некоторые из этих систем были созданы с ис- пользованием средств LabVIEW и IMAQ Vision, другие - с использованием иных программных средств. В контексте данной главы принципиально то, что во всех описанных примерах практических приложений решались достаточно типовые задачи машинного и компьютерного зрения, а также то, что технические характе- ристики описанных прикладных систем являются типовыми и удовлетворитель- ными на современном этапе развития технологии, программных и аппаратных средств машинного зрения. Примеры приложений сгруппированы по следующим крупным тематическим блокам: автоматизация измерений и технический конт- роль; машинное зрение, видеонаблюдение и биометрия; обработка документов, распознавание текста и штриховых кодов; медицинские приложения. Данная книга появилась в результате совместных усилий большого коллекти- ва авторов, представленных ниже: • Д.т.н., чл.-корр. РАН, проф. Желтовым С. Ю. подготовлены теоретические разделы главы 1 и список литературы по тематике машинного зрения. • К.т.н., с.н.с. Визильтером Ю. В. написаны введение и основные теоретиче- ские разделы глав 2, 3, 4, 7. • Князем В. А. написаны теоретические разделы главы 5. • Ходаревым А. Н. написан ряд разделов, посвященных работе с платформой NI Vision, в частности разделы 6.1, 6.2, раздел 1.4 и ряд примеров использо- вания функций IMAQ Vision в главах 2, 3, 4. • Моржиным А. В. описан ряд примеров использования функций IMAQ Vision в главах 2, 3, 4. • Максимовым А. А. написан раздел 5.2. • Каратеевым С. Л. написан ряд параграфов раздела 3.3. • К.ф-м.н. Ортюковым С. И. представлен обзор штриховых кодов в разделе 4.5. • К.т.н. Морзеевым Ю.В. написан обзор биометрических методов в разделе 7.2. • Раздел 1.2 подготовлен к.т.н., доц. АлтГУ А. Я. Сурановым. • Раздел 1.3 подготовлен сотрудником представительства фирмы National Instruments в России В. Гурьевым. • Большую помощь в создании книги в целом оказали сотрудники предста- вительства фирмы National Instruments в России во главе с А. Спиридоно- вым, а впоследствии - сП. Сепояном. • В создании и описании практических приложений, описанных в главе 7, принял участие большой коллектив сотрудников ГосНИИ Авиационных систем (ГосНИИАС) и ЗАО «Институт информационных технологий». • На протяжение 2003-2006 годов материалы, вошедшие впоследствии в со- став данной книги, широко использовались в качестве курсов лекций, учеб- ных и методических пособий в учебном процессе базовой кафедры №539 при ГосНИИАС «Авиационно-космические системы обработки информации и управления» Московского государственного института радиотехники, электроники и автоматики (МИРЭА) под руководством заведующего ка- федры, д.т.н., чл.-корр. РАН, Себрякова Г. Г. Авторы выражают глубокую признательность и благодарность всем, кто помо- гал им в работе над этой книгой.
Машинное зрение, LabVIEW и NI Vision 1.1. Проблематика машинного зрения В последние годы цифровая обработка и цифровой анализ изображений находят все большее применение в различных областях науки и техники, таких как интел- лектуальные робототехнические комплексы, системы промышленного контроля, системы управления движущимися аппаратами, обработка данных дистанцион- ного зондирования, биомедицинские исследования, новые технологии обработки документов и множество других. Далее мы будем использовать обобщающий тер- мин «машинное зрение» (Machine vision) как понятие, наиболее полно объемлю- щее круг инженерных технологий, методов и алгоритмов, связанных с задачей интерпретации сцены наблюдения по ее двумерным проекциям (изображениям), а также как практическое использование результатов этой интерпретации. Проблематика машинного зрения столь привлекательна для современных ис- следователей по той причине, что аппаратные возможности, предоставляемые в данной области последними достижениями электроники и вычислительной тех- ники, достигли такого уровня, что они уже во многом приближаются к «техниче- ским характеристикам» человека. Разрешение многих сенсоров для получения видеоинформации практически соответствует числу элементов сетчатки глаза че- ловека, а возможности ЭВМ и специальных процессоров близки к характеристи- кам «вычислительных мощностей», используемых для обработки изображений в мозгу. Со своей стороны, биомеханика вплотную подошла к разработке слож- ных механических манипуляторов, достаточных для имитации моторной деятель- ности человека по управлению различными техническими системами. И таким образом на пути к осуществлению заветной фантастической мечты будущего - созданию сложных автономных робототехнических комплексов, «интеллекту- альных машин», функционирующих в реальном масштабе времени, - стоит необ- ходимость решения большей частью лишь одной принципиальной задачи - разра-
Проблематика машинного зрения 15 ботки методов и алгоритмов «понимания» изображений. Однако именно эта зада- ча во многих случаях оказывается и наиболее трудной. 1.1.1. Задачи машинного зрения Удивительная сложность проблемы «понимания изображений» может быть про- иллюстрирована тем обстоятельством, что ее интеллектуальная (алгоритмиче- ская) составляющая оказалась более трудным «орешком», чем традиционные за- дачи типа компьютерной игры в шашки или шахматы, которые долгие годы служили полем приложения методов «искусственного интеллекта». Компьютер, на равных играющий в шахматы с чемпионами мира, уже создан, а компьютерной программы, «понимающей» любую видимую сцену, пока нет. Более того, созда- ние такой программы в перспективе ближайших десятилетий даже не предвидит- ся научным сообществом. Это связано, по-видимому, со сложностью основного предмета, находящегося в центре внимания данной дисциплины, а именно - дву- мерного изображения. Скорее правилом, чем исключением, является отсутствие у информационного семантического содержания изображения какой-либо «причинной» или динами- ческой модели формирования, в том смысле, что это информационное семанти- ческое содержание возникает не под действием каких-либо физических законов, описывающихся математическими уравнениями. Информационное наполнение изображения проявляется в виде бесконечного разнообразия яркостно-геомет- рических структур, модели порождения которых могут просто отсутствовать. Особенно сложной задачей является «понимание» объектов, присутствующих в сцене наблюдения. Обнаружение и идентификация многих типов таких объектов, например зданий и дорог на аэрофотоснимках, превратились даже в отдельные направления исследований. Так, только проблеме выделения зданий на изобра- жениях были посвящены в последние годы несколько крупных международных конференций, поставивших лишь ряд новых проблем в дополнение к существую- щим [72, 107, 171]. Таким образом, следует признать, что общая теория «понима- ния изображений» за последние 30-40 лет еще не вышла из юношеского возраста, и то ее состояние, которое может быть зафиксировано сегодня, - это сочетание ряда нерешенных к настоящему моменту теоретических задач, с одной стороны, и большого числа идей и подходов, далеких от окончательного вида хорошо разра- ботанной теории, - с другой. В то же время для решения многих практически важных задач машинного зре- ния общая проблема «понимания изображений» может быть редуцирована к го- раздо более простой и ясной проблеме обнаружения и распознавания или изме- рения по одному или нескольким изображениям объектов, удовлетворяющих некоторому заранее известному модельному описанию. Теория машинного зре- ния предлагает целый ряд различных модельных описаний наблюдаемых объек- тов, которые могут быть использованы для их обнаружения и измерения. В лите- ратуре описан широкий спектр таких моделей - от простейших признаковых описаний до высоко-специализированных и изощренных структурных моделей.
16 Обзор основных тем книги Однако общий метод составления работоспособных моделей по вышеупомяну- тым причинам отсутствует. Отсюда следует, что разработка и использование моделей, пригодных для эффективного решения задачи обнаружения соответ- ствующих объектов, в значительной степени остается на грани науки и искусст- ва, то есть требует особого «know-how» или, другими словами, знания предмет- ной области, отражающего многолетний опыт исследований по решению частных задач. Решение задачи автоматического выделения сложных объектов открывает пе- ред системами «машинного зрения» огромное число потенциальных областей применения, таких как промышленная инспекция и контроль качества, робото- техника, навигация и транспортировка, медицина и биомеханика, инженерный труд, автоматизация проектирования и множество других. При этом сама задача обнаружения объектов является, безусловно, базовой, но частной технологиче- ской задачей по отношению ко всему комплексу основных целевых задач, кото- рые в общих чертах могут быть сформулированы следующим образом: • обнаружение объектов и изменений в сцене наблюдения; • высокоточные измерения элементов сцены; • слежение за объектами; • самоориентация и самопозиционирование; • реконструкция поверхностей и обнаружение трехмерных структур; • описание сцены и идентификация объектов; • организация зрительной обратной связи при работе управляемых устройств, манипуляторов или мобильных роботов в изменчивой среде. 1.1.2. Уровни и методы машинного зрения На протяжении десяти-пятнадцати последних лет в алгоритмическом аспекте последовательность действий по обработке изображения принято рассматривать в согласии с так называемой модульной парадигмой [18]. Эта парадигма, предло- женная Д. Марром на основе длительного изучения механизмов зрительного вос- приятия человека, утверждает, что обработка изображений должна опираться на несколько последовательных уровней восходящей информационной линии: от «иконического» представления объектов (растровое изображение, неструктури- рованная информация) - к их символическому представлению (векторные и ат- рибутивные данные в структурированной форме, реляционные структуры и т. п.). Исходя из этого, в области машинного зрения принято выделять следующие ос- новные этапы обработки данных: • предобработка изображений; • сегментация', • выделение геометрической структуры; • определение относительной структуры и семантики. Связанные с этими этапами уровни обработки обычно называются соответ- ственно: обработка нижнего уровня, среднего уровня, высокого уровня. В то вре- мя как алгоритмы обработки нижнего уровня (фильтрация простых шумов, гис-
Проблематика машинного зрения 17 тограммная обработка) могут рассматриваться как хорошо проработанные и де- тально изученные, алгоритмы среднего уровня (сегментация) продолжают сегод- ня оставаться центральным полем приложения инженерных и исследовательских усилий. За последние годы значительный прогресс был достигнут по отношению к проблемам сопоставления точек и фрагментов изображений (matching) [89, 153], выделения признаков внутри малых фрагментов [85, 126,137], высокой точ- ности ЗЭ-позиционирования точек [88, 91], что подразумевает соответствующее моделирование и калибровку датчиков и их комбинаций, выделение простых яр- костно-геометрических структур типа «точка», «край», «пятно», «прямая линия», «угол» [49, 50, 117, 126, 149]. Методы обработки высокого уровня, относящиеся собственно к «пониманию изображений», находятся еще в начальной фазе развития и по-прежнему пред- ставляют собой «вызов» для сообщества исследователей в области компьютерно- го зрения и искусственного интеллекта. Безусловно, перспектива создания буду- щих поколений «интеллектуальных машин» в основном зависит от дальнейшей разработки именно этого круга алгоритмов. В настоящее время известно несколько основных алгоритмических подходов и математических формализмов, используемых при разработке практических сис- тем анализа изображений. Это гистограммные преобразования, анализ проекций, линейная и нелинейная фильтрация изображений, яркостная и текстурная сег- ментация, корреляционное обнаружение и согласованная фильтрация, морфоло- гический подход Ю. П. Пытьева, математическая морфология Серра, метод «нор- мализации фона», преобразование Хафа, структурно-лингвистический подход и ряд других. Большинство этих методов будут рассмотрены в данной книге. Значительный вклад в разработку методов и алгоритмов обработки изображе- ний и машинного зрения внесли работы Ярославского М. П., Бакута П. А., Злоби- на В. К., Баклицкого В. К., Лабунца В. Г., Левшина В. Л., Пытьева Ю. П., Серра, Р. Харалика, Е. Дэвиса, У. Гренандера, К. Ту и др. За последние десятилетия со- здано множество успешных систем машинного зрения, в которых в тех или иных сочетаниях реализованы упомянутые подходы и парадигмы. Однако единого ма- тематического формализма и единой общепризнанной методики разработки алго- ритмов анализа изображений по-прежнему не существует, и, следовательно, на- ука об обработке изображений все еще находится на одной из начальных стадий своего развития, переживая период бурного роста, чреватый возможностью появ- ления в любой момент новых, самых неожиданных и революционных методик и теорий. 1.1.3. Сопряженные технические дисциплины Наряду с термином «машинное зрение» в литературе часто употребляются такие понятия, как зрение роботов (robot vision), компьютерное зрение (computer vision), обработка изображений (image processing), понимание изображений (image under- standing). Рассмотрим взаимоотношения этих понятий, с тем чтобы установить смысл терминов, которые будут использоваться здесь в дальнейшем.
18 Обзор основных тем книги Компьютерное зрение представляет собой научную дисциплину, изучающую теорию и базовые алгоритмы анализа изображений и сцен. Машинное зрение следует рассматривать как гораздо более комплексную и тех- нологическую область научных и инженерных знаний, охватывающую все про- блемы разработки практических систем: выбор схем освещения исследуемой сце- ны, выбор характеристик датчиков, их количества и геометрии расположения, вопросы калибровки и ориентирования, выбор или разработка оборудования для оцифровки и процессорной обработки, разработка собственно алгоритмов и их компьютерная реализация - то есть весь круг сопутствующих задач. Зрение роботов мы предлагаем трактовать как более узкую область техноло- гий машинного зрения, а именно ту их часть, которая обеспечивает функциониро- вание систем машинного зрения в условиях жестких временных ограничений. К этому понятию, безусловно, относятся проблемы разработки основанных на изображениях информационных систем, входящих в состав систем управления сложными динамическими объектами (самолет, автомобиль, системы контроля технических и технологических процессов на производстве), так как необходи- мость формирования обратных связей по результатам обработки входных изобра- жений в системах управления, очевидно, требует их быстрого анализа в реальном масштабе времени. Традиционный термин «обработка изображений» чаще употребляется в пос- ледние годы не как обозначение научной дисциплины, а как указатель на пред- метную область. Наметилась также тенденция использования этого термина для обозначения обработки нижнего уровня, когда результатом обработки изображе- ния снова является изображение. В то же время термин «понимание изображе- ний» употребляется для обработки верхнего уровня, часто в контексте примене- ния методов искусственного интеллекта [42, 52]. Машинное зрение тесно связано с целым рядом смежных дисциплин. Это - уже упоминавшиеся ранее компьютерное зрение, искусственный интеллект, а также распознавание образов (pattern recognition) и цифровая фотограмметрия (digital photogrammetry). Цифровая фотограмметрия, бурно развивающаяся в последние годы дисцип- лина, пришла на смену аналитической фотограмметрии. В то время как клас- сическая аналитическая фотограмметрия изучала в основном метрические со- отношения между точками снимков и реальной сцены, современная цифровая фотограмметрия, особенно так называемая close-range (не очень удачный перевод «короткобазисная», но другого русскоязычного термина пока нет) ставит самые сложные задачи анализа и ЗЭ-описания сцены по видеоданным оптических сен- соров. В широком смысле многие ведущие западные ученые в настоящее время используют термины digital close-range photogrammetry и machine vision практи- чески как синонимы. В узком смысле считается, что цифровая фотограмметрия концентрируется прежде всего не на вопросах «понимания» сцены или обнаруже- ния объектов, а на вопросах высокоточного измерения различных ее элементов и реконструкции форм трехмерных поверхностей с использованием стерео и мно- гокамерной съемки, а также специального структурированного подсвета.
Проблематика машинного зрения 19 1.1.4. Требования к алгоритмам машинного зрения Приступая к изучению предмета «машинное зрение», необходимо помнить о том, что это, прежде всего, инженерная прикладная дисциплина. Всякая прикладная техни- ческая дисциплина отличается от фундаментальной теоретической дисциплины на- личием конкретных практических ограничений, налагаемых на развиваемые в ее рамках методы, и на порождаемые ею инструменты решения практических задач. Рассмотрим требования к методам и алгоритмам машинного зрения на примере наиболее специфической группы алгоритмов - алгоритмов обнаружения объектов на изображениях. При этом будем рассматривать три основных типа требований: • робастность; • точность; • вычислительная реализуемость. Робастность Разрабатываемые нами алгоритмы, решающие прикладные задачи машинного зрения, должны работать на реальных изображениях. В то же время каждый, кто на практике пытался конструировать алгоритмы обработки реальных изображе- ний, хорошо знает, насколько изменчивы и не формализуемы могут быть факто- ры, влияющие на процесс их обработки и анализа. Вот только основные из этих факторов: • помехи и «шум» - имеют десятки видов источников возникновения, к числу которых можно отнести несовершенство сенсоров приемо-передающей ап- паратуры и аппаратуры оцифровки изображений, трудные условия съемки, недостаток освещения и ряд других; • сложный текстурированный фон, на котором должно происходить обнару- жение объектов, например обнаружение штриховой наклейки на схожей с ней по структуре газетной странице и т. п.; • эффекты загораживания (заслонения) одних объектов другими объектами, как правило, не определенной заранее формы, например - облако на космо- фотоснимке и т. п., загораживающие помехи; • искажающие оптические эффекты в виде различных расфокусировок, дис- торсий объективов, ракурсных искажений и др.; • эффекты резкой смены освещения, блики, тени, особенно в динамически ме- няющихся сценах; • разнообразие и изменчивость самих объектов - переменная структура (как у текстовых строк, автомобильных номеров или штриховых кодов), воз- можные дефекты, временные изменения формы (сгибание-разгибание ко- нечностей, движение механических частей машин), вегетационные циклы для растительности и т. п.; • эффекты изменения среды между сенсорами и объектами наблюдения - за- дымление, атмосферные осадки, пыль, искусственные помехи и многое другое;
20 Обзор основных тем книги • несинхронность регистрации и обработки банных в динамических задачах, связанная с ограничениями быстродействия компьютерных средств хране- ния и анализа изображений - особенно критична для промышленных при- ложений с заданным временем реакции на событие. Сюда же можно отнес- ти также сбои в компьютерных программах обработки. Даже беглый анализ приведенных факторов легко установит практическую невозможность их полного формального математического описания - вероятно- стного, радиометрического или геометрического. Отсутствие формализованного описания ключевых факторов, вносящих нео- пределенность в процесс обработки, приводит к тому, что, в отличие от многих других областей обработки сигналов, говорить о существовании единственного оптимального алгоритма для решения той или иной задачи обработки изображе- ний практически невозможно. Так, например, только для задачи сегментации гра- фики и текста на цифровых изображениях документов придуманы сотни принци- пиально различных алгоритмов. Представим себе, что существует несколько алгоритмов, достигающих примерно одинаковых результатов на «идеальных» изображениях. Тогда возникает естественный вопрос, как сравнить эти алгорит- мы по качеству их работы. При разработке реальных алгоритмов в настоящее вре- мя стандарт «де-факто» состоит в проверке эффективности работы сконструиро- ванных алгоритмов на больших выборках реальных данных или изображениях, содержащих, по возможности, все неприятные ситуации. Такие алгоритмы, кото- рые обладают устойчивостью к значительным искажениям и меняющимся факто- рам, принято называть устойчивыми, или робастными. Робастность следует счи- тать первым основным практическим требованием при разработке алгоритмов машинного зрения. Точность Второе важнейшее свойство, которым должны, как правило, обладать алгоритмы обнаружения объектов на изображениях, можно определить как точную локали- зацию объектов, подлежащих обнаружению, или контуров объектов, подлежащих измерению. Это означает, что необходимо не просто выделить объект, но и точно указать в системе координат изображения (или сцены) его положение и размеры в каком-либо смысле. Несколько неясное толкование «локализации», данное выше, связано с тем, что по сравнению со своей эталонной моделью объект может быть заметно искажен геометрически, причем аналитическая модель искажения может отсутствовать. Характерные примеры - штриховой код, находящийся на смятой упаковке, пятно на коже и т. п. В этих случаях локализация объекта явля- ется нетривиальной задачей. В более простой ситуации, при аналитически задан- ной с точностью до параметров геометрии искажений, под точной локализацией можно понимать знание о положении какой-либо характерной точки объекта и параметрах геометрии искажения (поворот, аффинные коэффициенты, изгибы и др.). При этом встречающиеся случаи ошибок локализации целесообразно раз- делить на две группы - нормальные и аномальные ошибки.
Проблематика машинного зрения 21 Нормальная ошибка - это правильная локализация объекта с некоторой пози- ционной или параметрической неточностью, характеризуемой количественными оценками. Для объектов, характеризуемых габаритными размерами, большими чем ЗхЗ-^5х5, элементов изображения, позиционные нормальные ошибки могут быть значительно меньше размера элемента изображения, уменьшаясь с величи- ной объекта. В этом случае принято говорить о субпиксельной локализации, или субпиксельных измерениях. Это особенно важно для задач стереообнаружения; так, при малых параллаксах ЗЭ-объектов субпиксельная привязка самым суще- ственным образом определяет точность измерения их пространственного поло- жения. К аномальным ошибкам следует отнести ситуацию перепутывания объектов или возникновение артефактов, что связано с фатальными количественными ошибками позиционирования или просто ложным обнаружением. Требования по исключению или ограничению уровня аномальных ошибок составляют очень важную часть требований к алгоритмам обнаружения. Заметим также, что требования по точности предъявляются и к алгоритмам обработки изображений низкого уровня. Например, во многих измерительных задачах фильтры, устраняющие помехи, не должны при этом существенно изме- нять видимое положение контуров объекта. Требование «сохранения краев» или, в более общем виде, сохранения неизменными измеряемых характеристик полез- ного сигнала является принципиальным требованием «по точности», предъявля- емым в машинном зрении к алгоритмам нижнего уровня, поскольку, если данные были «испорчены» уже на нижнем уровне обработки, то на более высоких уров- нях анализа никакие самые совершенные математические методы помочь не смо- гут, и задача в целом не будет решена с необходимой точностью. Вычислительная реализуемость Несмотря на колоссальный путь, который прошла в целом вычислительная тех- ника за последние декады двадцатого и первые годы двадцать первого веков, не- смотря на создание обширной специализированной процессорной базы для обра- ботки изображений, в основной массе приложений, особенно промышленных приложений реального времени, характеристики вычислителей и их свойства все еще далеки от желаемых. Важное отличие, присущее процедурам обработки и анализа изображений по сравнению с задачами распознавания или интерпретации уже сегментированного образа, заключается в том, что обнаружение и измерение в практических задачах всегда связано с процедурой поиска объекта. Именно реализация процедуры по- иска объекта связана с угрозой лавинообразного роста потребного числа вычисле- ний. Проиллюстрируем это на примере простой задачи поиска объекта на основе сравнения с растровым эталоном или шаблоном (template). Если построить ка- кой-либо функционал соответствия между объектом размером МхМ и фрагмен- том МхМ из изображения .VxtV, то простой перебор фрагментов требует количе- ства вычислений не менее чем М2х№ операций, что составляет, например,
22 Обзор основных тем книги 10 миллиардов операций при размере объекта 50x50, а изображения - 2000x2000 эле- ментов. Даже принимая во внимание значительное увеличение возможностей со- временных компьютеров, такие объемы вычислений занимают секунды машин- ного времени, что далеко выходит за пределы требований систем обнаружения реального времени, предназначенных для таких задач, как навигация и наведение, инспекционный контроль, обработка машиночитаемых документов и т. п. Более того, реальные задачи обработки визуальной информации изобилуют дополнительными степенями свободы, когда искомая яркостно-геометрическая структура на изображении может иметь не только произвольные положение, уг- ловую ориентацию и масштаб, но и подвергаться разным преобразованиям, не только аффинным или проективным, но и гораздо более сложным, таким как раз- личные «резиновые» модели или «коробление» (warping - искажение, напомина- ющее смятую бумагу). Все это многократно увеличивает потребное для перебора время расчетов и требует применения качественно новых идей по организации процесса анализа изображения. Оценивая размер изображения, предназначенного для обработки, например, как 1000 на 1000 элементов, что не является чем-то необычным для современных видеодатчиков (можно вспомнить, что бытовые цифровые фотоаппараты и даже мобильные телефоны давно перешли отметку 2 мегапикселя в ПЗС матрице), мы получим даже для простейших операций характерную оценку количества потреб- ных вычислений порядка нескольких гигабайтов операций на кадр. Причем при- ложениям реального времени необходимо выполнять эти вычисления в темпе кадровой развертки, что приводит к оценке потребного быстродействия около 50 Gflop/sec. Сами по себе эти оценки не являются запредельными для мощных современных компьютеров, однако следует учесть, что основные приложения ма- шинного зрения находятся в тех областях, где массогабаритные и стоимостные характеристики конструируемых устройств по определению ограничены и долж- ны быть весьма невелики. Таким образом, вычислительная реализуемость алгоритмов машинного зре- ния по-прежнему относится к числу наиболее важных факторов, которые необхо- димо учитывать при их разработке. Для более углубленного знакомства с методами и алгоритмами машинного зрения мы рекомендуем список литературы, приведенный в конце данной книги. 1.1.5. Роль специальных программных средств в разработке приложений машинного зрения Как мы уже отмечали выше, единого математического формализма и единой об- щепризнанной методики разработки алгоритмов в области машинного зрения пока не существует, и вряд ли они будут разработаны в ближайшие десятилетия. Это, с одной стороны, является серьезной проблемой, затрудняющей и замед- ляющей разработку новых приложений и практических систем машинного зре- ния, а с другой стороны, делает сам процесс разработки алгоритмических и про-
Проблематика машинного зрения 23 граммных средств для систем машинного зрения подобным увлекательной игре в кубики, причем задача разработчика в этой игре - комбинируя те или иные готовые алгоритмические блоки, добиться решения поставленной технической задачи. Разработка систем анализа и обработки цифровых изображений обязательно включает в себя следующие этапы: • предварительное исследование свойств типовых изображений; • анализ применимости известных методов обработки изображений в данной конкретной задаче; • разработка новых алгоритмов; • первичная программная реализация новых алгоритмов и качественная про- верка их эффективности; • окончательная программная реализация алгоритмов. Выполнение всех этих операций связано с непосредственным использованием вычислительной техники. Причем в связи с тем, что в настоящее время наиболь- шее распространение получили персональные компьютеры, именно они, как пра- вило, являются основой рабочего места разработчика алгоритмического обес- печения даже в тех случаях, когда окончательная программная реализация алгоритмов предполагается на базе других вычислительных устройств. Таким об- разом, необходимым условием работы как отдельного разработчика, так и коллек- тива разработчиков в данной области является использование некоторой единой программной среды, реализованной на ПЭВМ. При этом разработчику необходи- мо иметь под рукой готовый инструментарий известных и практически полезных методов анализа и обработки изображений, а также соответствующую среду раз- работки, позволяющую максимально быстро реализовывать те или иные комби- нации алгоритмов и визуализировать результаты их работы. Среди ныне суще- ствующих программных средств подобного рода одним из наилучших является среда визуального программирования LabVIEW с библиотекой компонент обра- ботки и анализа изображений IMAQ Vision фирмы National Instruments (США). В настоящей книге все излагаемые теоретические положения и описываемые методы машинного зрения будут иллюстрироваться примерами программ и схем обработки, созданных в LabVIEW на базе компонент IMAQ Vision. Целью подоб- ного «смешанного» изложения являются: • создание общего теоретического фундамента в области анализа и обработ- ки изображений, знакомство с базовыми математическими методами и ал- горитмическими процедурами, позволяющее в дальнейшем осуществлять самостоятельную разработку новых алгоритмических и программных мо- дулей для оригинальных систем машинного зрения; • выработка навыка самостоятельного практического анализа изображений и программирования в среде LabVIEW с использованием IMAQ Vision, по- зволяющего (при условии параллельного выполнения описанных упраж- нений и примеров) после знакомства с данным учебным курсом непосред- ственно на практике осуществлять быструю полноценную разработку прототипов различных систем машинного зрения.
24 Обзор основных тем книги 1.2. Знакомство с LabVIEW История развития технологии виртуальных приборов (ВП) насчитывает уже около двух десятилетий и связана в основном с компанией National Instruments, которая выпускает оборудование и ряд программных пакетов, поддерживающих технологию ВП, среди которых ключевую роль играет среда графического про- граммирования LabVIEW. В августе 2006 г. вышла юбилейная версия этого про- дукта - LabVIEW 8.20. Что же представляет собой среда LabVIEW и разрабаты- ваемые с ее помощью виртуальные приборы? Слово «виртуальные» в этом словосочетании означает не «эфемерность» при- боров, а кардинальное отличие принципов построения их интерфейсных частей и системы обработки информации. Базой для такого прибора служит универ- сальный или специализированный компьютер. Поэтому со стороны пользователя взаимодействие с лицевой панелью прибора осуществляется через экран компью- тера и его штатные периферийные устройства - клавиатуру и мышь. Хотя вирту- альные приборы могут быть и чисто модельными, но их мощь в полной мере про- является при решении задач измерения параметров реальных объектов или процессов. В этом случае для получения измерительной информации использу- ются как встроенные платы или выносные блоки, так и стандартные интерфейсы компьютера и каналы связи. Большая часть логики обработки измерительной информации реализуется на компьютере программно. При этом сама программа в соответствии с парадигмой графического программирования выглядит как набор функциональных узлов, соединенных проводниками для передачи данных. Источниками данных для про- граммы могут служить узлы (nodes) подпрограмм (подприборов) сбора данных встроенных плат или терминалы (terminals) элементов управления на лицевой панели, а приемниками - терминалы индикаторов, подприборы (SubVI) вывода данных или их сохранения в файлах. Такая структура программы позволяет реа- лизовать модель потока банных (dataflow model) для обработки данных, когда данные «втекают» в программу через перечисленные узлы, обрабатываются и «вытекают» из нее на узлы индикации, записи в файл или передачи по сети. При этом потоки, не связанные между собой общими данными, обрабатываются па- раллельно. Эта модель в корне отличается от модели потока управления (control flow model), реализуемой в большинстве текстовых языков программирования. В LabVIEW для создания интерфейса пользователя служит окно лицевой па- нели (Front Panel) - рис. 1.2.1, а программный код размещается в окне блок-диаг- раммы (Block Diagram) - рис. 1.2.2. На этих рисунках приведена лицевая панель и блок-диаграмма модифицированного ВП Color Distance Example, служащего для измерения цветового расстояния между двумя точками изображения, указан- ными оператором. ВП взят из библиотеки примеров NI Example Finder, которая насчитывает несколько тысяч таких примеров. Доступ к библиотеке: Help => Find Examples. Очевидно, что виртуальный прибор, управляющий работой платы и получаю- щий от нее данные, более чем реален, поскольку позволяет получать реальные ре-
Знакомство с LabVIEW 25 Дэчзнстрацисг-ное изображение I C:\Program Hlef'.Uaccrd tnrtnjrrerKsSVexarTplesMEPnilmaQes'i'lotar cutes.pa Рис. 1.2.1. Вид лицевой панели ВП Color Distance Example Дв>м=р-Ы' цветовой те^тогьник Цветовое оасстояьме tgc о (eOEL’a’b*): Рис. 1.2.2. Вид блок-диаграммы ВП Color Distance Example зультаты измерений с заданными метрологическими характеристиками. Одним из главных преимуществ такого прибора является его гибкость. Алгоритмы сбора и обработки данных, так же как и вид лицевой панели, могут быть изменены в любой момент, в том числе и в процессе измерений. Таким образом, имея, напри- мер, плату сбора данных и среду LabVIEW, можно реализовать на компьютере са- мые разнообразные измерительные приборы: осциллографы, вольтметры, часто- томеры, измерители частотных характеристик или нелинейных искажений.
26 Обзор основных тем книги Вторая особенность - высокая производительность разработки виртуальных приборов. В LabVIEW она поддерживается множеством средств и инструментов, но в большей мере - самим принципом графического программирования, когда функциональные узлы, обеспечивающие выполнение алгоритма обработки ин- формации, выбираются из палитры Functions Palette (Функции) - рис. 1.2.3, пе- реносятся на блок-диаграмму и соединяются проводниками (wires), по которым передаются данные. Все это делается несколькими щелчками мыши. Таким же образом из палитры Controls Palette (Элементы управления) - рис. 1.2.4 - выби- раются и устанавливаются на лицевой панели элементы управления и индикато- ры. При этом на блок-диаграмме появляются соответствующие терминалы (terminals). Все операции, необходимые для установки, соединения, редактирова- ния функциональных узлов или элементов лицевой панели осуществляются с по- мощью палитры Tools Palette (Инструменты) - рис. 1.2.5. В табл. 1.2.1 приведены краткие пояснения по наиболее употребительным инструментам палитры. Таблица 1.2.1. Инструменты палитры Tools Palette (Инструменты) Инструмент Operate Value (Управление, «палец») используется для измене- ния значений элементов управления или ввода текста. При работе со строковыми элементами управления вид инструмента изменя- ется на следующий: )( Ш Инструмент Position/Size/Select (Перемещение, «стрелка») служит для выбора, перемещения или изменения размеров объектов. Для изменения размеров используются подвижные прямоугольные элементы, появляющиеся в зависимости от допустимого направления изменения в центре сторон или на углах контура объекта при установке инструмента Перемещение внутри этого контура Инструмент Edit Text (Редактирование текста, «буква») используется для ।— ввода и редактирования текста, а также для создания свободных меток. При создании текстовых элементов вид инструмента изменяется: |%Д "^7 Инструмент Connect Wire (Соединение, «катушка») применяется для соедине- --- ния объектов на блок-диаграмме. Он также используется для условного (невидимого) подключения элементов управления и индикаторов лицевой панели к терминалам соединительной панели ВП Для настройки параметров установленных узлов или элементов широко приме- няются их контекстные меню (pull-down menu), вызываемые щелчком правой кнопки мыши (ПКМ) по изображению узла или элемента. Аналогичным образом с помощью щелчка ПКМ по окну лицевой панели или блок-диаграммы можно вы- звать временное представление соответствующих палитр. Для закрытия вызван- ных палитр достаточно нажать левую кнопку мыши (Л КМ) в поле окна Л П или БД. Помимо перечисленных выше специализированных средств среды LabVIEW, при создании, отладке, исполнении, сохранении и распространении ВП использу- ются такие «стандартные» средства, как полоса главного меню в верхней части окна ВП и полоса инструментальной панели. Вид этих полос в окне лицевой па- нели и в окне блок-диаграммы показан на рис. 1.2.6 и 1.2.7.
Знакомство с LabVIEW 27 Как видно из этих рисунков, состав пунктов главного меню обоих окон совпа- дает, а состав иконок инструментальных панелей частично отличается. Назначе- ние пунктов главного меню кратко описано в табл. 1.2.2, а функций наиболее важ- ных кнопок инструментальных панелей - в табл. 1.2.3. Таблица 1.2.2. Пункты главного меню File (Файл) Edit (Правка) View (Вид) Operate (Управление) Tools (Инструменты) Window (Окно) Help (Справка) Используется для открытия новых или существующих ВП (проектов), сохранения и вывода на печать ВП, а также для обращения к их свойствам Применяется для редактирования панелей ВП, поиска объектов и удаления неисправных проводников с блок-диаграммы, создания подприборов и установления значений элементов по умолчанию Используется для вывода доступных палитр, списка ошибок, иерархии ВП и взаимосвязей между ВП и подприборами, работы с проводником классов Project (Проект) Позволяет работать с проектом: создавать новый, открывать или сохранять существующий, добавлять элементы, получать информацию о файлах или устанавливать свойства проекта Запускает и прерывает выполнение ВП, осуществляет пошаговое исполнение, соединение с удаленной панелью и изменение других опций ВП Служит для запуска программы анализа измерений и автоматизации (МАХ), поиска драйверов приборов, управления библиотеками ВП, управления соединением с удаленными панелями, публикации панелей ВП в Web, профилирования ВП и для выполнения ряда прикладных функций Используется для отображения окон и палитр LabVIEW Служит для получения информации об элементах и функциях LabVIEW Таблица 1.2.3. Функции кнопок инструментальной панели а ф ¥ щ II ¥ s "S Кнопка Run(Запуск) работоспособного ВП Вид кнопки Run (Запуск) при наличии ошибок в блок-диаграмме ВП Вид кнопки Run (Запуск) ВП в процессе выполнения Вид кнопки Run (Запуск) в процессе выполнения подприбора Кнопка Run Continuously (Непрерывный запуск) вызывает непрерывный запуск ВП до момента нажатия кнопки Stop (Стоп) или Abort (Прервать) Кнопка Abort Execution (Прервать) вызывает остановку выполняющегося ВП Кнопка Pause (Пауза) временно останавливает выполнение ВП Кнопка Highlight Execution (Подсветка выполнения) вызывает режим анима- ционного показа процесса передачи данных по блок-диаграмме и отображе- ния значений данных на выходе узлов и терминалов Кнопка Retain (Do Not Retain) Wire Values (Сохранять (He сохранять) значе- ния провода) позволяет сохранить последнее значение, переданное по проводу, и просмотреть его после окончания выполнения при установке Probe Data (Пробник данных)
28 Обзор основных тем книги Таблица 1.2.3. Функции кнопок инструментальной панели (продолжение) Кнопки Start Single Stepping (Начало пошагового выполнения) и Step Over (Шаг через) вызывают пошаговое выполнение ВП [□£ Кнопка Step Out (Выход из пошагового выполнения) завершает пошаговое выполнение ВП Палитра функций, как видно из рис. 1.2.3, имеет иерархическую структуру, в которой подпалитры функций на верхнем уровне объединены в группы. Состав и порядок расположения групп в палитре может быть оперативно изменен. Па- литра функций включает такие группы, как Programming (Программирование), Mathematics (Математика), Signal Processing (Обработка сигнала), Instrument I/O (Связь с приборами), Data Communication (Обмен данными), Connectivity (Средства взаимодействия) и Express (Экспресс). Группа подпалитр функций Программирование (раскрыта на рис. 1.2.3) явля- ется наиболее содержательной и играет ключевую роль при разработке широкого круга ВП. Она содержит следующие подпалитры (в порядке слева направо и сверху вниз): Structures (Структуры), Array (Массив), Cluster & Variant (Клас- тер и Переменная), Numeric (Числовые), Boolean (Логические), String (Строко- вые), Comparison (Сравнения), Timing (Установление времени), Dialog & User Interface (Диалог и интерфейс пользователя), File I/O (Ввод/вывод файлов), Рис. 1.2.3. Палитра Функции Рис. 1.2.4. Палитра Элементы управления Рис. 1.2.5. Палитра Инструменты
Знакомство с LabVIEW 29 Waveform (Осциллограмма), Application Control (Управление приложением), Synchronization (Синхронизация), Graphics & Sound (Графики и звук) и Report Generation (Создание отчета). Более подробную информацию о назначении функций и ВП, входящих в па- литру функций, можно найти в справочнике [181]. Несмотря на то что в нем при- ведено описание функций для версии LabVIEW 7, большая часть его содержимо- го сохраняет актуальность, поскольку часть функций в новой версии осталась без изменений, а для другой части изменился только дизайн иконки. В ближайшее время планируется выход справочника по функциям новой версии LabVIEW. Каждый функциональный узел, выбираемый из палитры и устанавливаемый на блок-диаграмме, может представлять собой элементарную функцию, подпри- бор, Экспресс-ВП, Структуру, Узел свойств, Узел методов, Узел вызова по ссыл- ке или Узел вызова библиотечной функции. Иконка элементарной функции, подприбора или иконка самого ВП, находя- щаяся в правом верхнем углу окна (рис. 1.2.6 и 1.2.7), выполняет две функции. С одной стороны, ее изображение помогает опознать и выбрать необходимый функциональный узел, с другой стороны, соединительная панель (connector рапе) иконки несет информацию о конфигурации входов/выходов этого узла. Переход к просмотру соединительной панели элементарной функции или под- прибора осуществляется с помощью контекстного меню Visible Items => Termi- nals (Видимые элементы => Терминалы). Соединительную панель самого ВП можно просмотреть с помощью пункта Show Connector (Показать соединительную панель) контекстного меню иконки. Рис. 1.2.6. Вид полосы главного меню и инструментальной панели в окне лицевой панели Рис. 1.2.7. Вид полосы главного меню и инструментальной панели в окне блок-диаграммы
30 Обзор основных тем книги Рис. 1.2.8. Изображения иконки подприбора и ее соединительной панели В качестве примера на рис. 1.2.8 приведены изображения иконки подприбора Write То Spreadsheet File (Записать в файл табличного фор- мата) и ее соединительной панели. Подприборы служат мощным средством разработки иерархических ВП. Встроенные подприборы реализуют функции высокого уровня. LabVIEW предо- ставляет удобные средства для оперативного создания собственных подприборов. Для этого достаточно очертить инструментом Перемещение («Стрелка») фраг- мент кода, подлежащий преобразованию в подприбор, и обратиться к меню Edit => Create SubVI (Правка => Создать подприбор). После преобразования в под- прибор LabVIEW автоматически создает соединительную панель, исходя из ко- личества и типа его входных и выходных терминалов. Пользователю остается только создать оригинальное изображение иконки и сохранить подприбор на дис- ке. При сохранении подприбора в папке (\User.lib) он будет доступен в подпалит- ре User Libraries (Библиотеки пользователя) (рис. 1.2.3) палитры функций. При сохранении в любом другом месте его можно извлечь с помощью подпалитры Select а VI... (Выбрать ВП...). Еще одним средством ускорения разработки ВП служат Экспресс-ВП (ЭВП). В палитре функций они размещены в отдельной подпалитре Express, часть из них в соответствии с функциональностью может входить в состав других подпалитр. ЭВП представляют собой особые подприборы, конфигурируемые с помощью спе- циального диалогового окна, то есть они позволяют в диалоговом режиме устано- вить параметры исполнения и тут же просмотреть результаты на выходе. В зави- симости от конфигурации ЭВП изменяется вид иконки и конфигурация входов/ выходов. На рис. 1.2.9 показана схема возможного подключения ЭВП Spectral Measurements (Спектральные измерения), а на рис. 1.2.10 диалоговое окно конфигурирования этого ЭВП. Рис. 1.2.9. Блок-диаграмма возможного подключения Экспресс-ВП Spectral Measurements (Спектральные измерения)
Знакомство с LabVIEW 31 S> Configure Spectral Measurements Измерение спектра О Величина (пиковая) Результат © Величина (СКЗ) © Линейный О Спектр мощности О ДБ О Спектральная плотность мощности Окно □ Усреднение Режим О Векторное ©СКЗ О Пиковых значений Взвешивание Число ©Линейное усреднений О Экспоненциальное 2 Создавать спектр ©Для каждой итерации О Только при выполнении усреднения Фаза 0 Развертка фазы [7] Преобразовать в градусы Входной сигнал, обработанный окном Просмотр амплитудной характеристики Просмотр фазовой характеристики 2000- 0- -2000- -4000- | -6000- -8000- 0 100 200 300 400 500 Частота Рис. 1.2.10. Вид диалогового окна конфигурирования Экспресс-ВП Важную роль в создании кода ВП играют узлы, расположенные в подпалитре Структуры (рис. 1.2.11). В данной подпалитре представлены следующие структу- ры: For Loop (Цикл с фиксированным числом итераций) 1, While Loop (Цикл по условию) 2, Timed Structures (Временной синхронизации) 3, Case Structure (Вариант) 4, Event Structure (Событие) 5, узел MathScript Node 6, Flat Sequence Structure (Открытая последовательность) 7, Stacked Sequence Structure (Стековая последовательность) 8, Formula Node (узел Формула) 9, Diagram Disable Structure (Структура отключения диаграммы) 10, Conditional Disable Structure (Структура отключения по условию) 11, Feedback Node (узел Обратная связь) 12, Shared Variable (Переменная общего доступа) 13, Local (Локальная переменная) 14 и Global (Глобальная пере- менная) 15. При помещении структур, представленных в виде рамки на блок-диаграмме, необходимо модифицированным указателем мыши очертить на ней прямоуголь- ник, охватывающий существующий код или ограничивающий место для будуще- го кода, который должен выполняться в данной структуре. Применение некото- рых структур было показано ранее на рис. 1.2.2.
32 Обзор основных тем книги ИН- Рис. 1.2. 11. Структуры LabVIEW 1. Инициализировать свойство Прозрачность [дает Прозрачность ВП" VI >FP: RunT ransparently > FP:Transparency [Прозрачность ВП| 2, Ввести новое значение Прозрачности ВП ° -S VI Q ?! Vi ?i ||NewVal |—>FP:Transparency Рис. 1.2.12. Блок-диаграмма ВП TransparentVI в в Л а Следующий набор узлов, упомянутых выше - Property Node (Узел свойства) и Invoke Node (Узел метода), позволяет реализовать в LabVIEW методологию объектно-ориентированного программирования, когда программный объект опи- сывается набором свойств и методов (а также событий). Программными объекта- ми в LabVIEW могут быть как объекты самой среды LabVIEW, доступные через технологию VI Server (Сервер ВП), так и объекты, доступные через технологии ActiveX, .NET, DataSocket, IMAQImage, Sequrity, SharedVariable и VISA Сервер ВП позволяет использовать в программе методы и свойства таких объектов, как LabVIEW (Приложение), ВП, Project (Проект), Projectitem (Элемент проекта), Variable (Переменная) и Generic (Общие объекты). Выбор перечисленных выше классов объектов, самих объектов и их методов и свойств возможен как из кон- текстного меню узлов, так и из строки главного меню View => Class Browser (Вид => Обозреватель классов). На рис. 1.2.12 приведена блок-диаграмма ВП Trans- parentVI из библиотеки примеров Nl Example Finder, в котором с помощью свой- ства Front Panel Window:Transparency производится регулировка прозрачности лицевой панели. Call By Reference Node (Узел вызова по ссылке) служит для динамического вызова локального или удаленного ВП по его ссылке (reference). При этом ссылка ВП должна быть строгого типа (Strictly Typed). Строгость ссылки означает одно- значное соответствие соединительных панелей вызываемого ВП и используемого при создании ссылки. В отличие от статического вызова подприбора вызов по ссылке загружает ВП в память только при открытии ссылки и, соответственно, выгружает из памяти при ее закрытии. В нижней части функции находится область, в которой отображается соедини- тельная панель вызываемого ВП. К терминалам этой панели, так же как и к терми- налам подприбора, могут быть подключены элементы управления и индикаторы. Пример использования функции вызова по ссылке приведен на рис. 1.2.13. Он также взят из набора примеров Nl Example Finder (Фрагмент ВП Dynamic Load Example).
Знакомство с LabVIEW 33 Рис. 1.2.13. Пример использования функции Узел вызова по ссылке Call Library Function Node (Узел вызова библиотечной функции) применя- ется для вызова процедур, написанных на других языках и оформленных в виде внешних динамически подключаемых библиотек (DLL). Первоначально функ- ция не имеет параметров и возвращает тип void. Настройка атрибутов функции производится с помощью одноименного диалогового окна, вызываемого двойным щелчком ЛКМ на иконке функции или выбором пункта Configure (Конфигури- ровать) в контекстном меню функции. Более подробное описание методики на- стройки данной функции также можно найти в справочнике [181]. На рис. 1.2.14 приведена блок-диаграмма модифицированного ВП hostname из набора приме- ров, в котором функция Call Library Function применяется для получения с помо- щью средств системы имени компьютера, на котором выполняется LabVIEW. Эта функция (Call Library Function) вызывает DLL, которая использует Windows NT API для получения имени компьютера. Затем она с помошцю строковой функции копирует имя в строку LabVIEW. | Исходный текст программы для DLL, загруженной в узел Call Library Function] <* включить extcode.h, который содержит прототипы функций LabVIEW 7 include <extcode.h> Wnclude <stdio.h> Wnclude <windows.h> BOOL WiNAPI DIIMain (HANDLE hDLL, DWORD dwReason, LPVOID IpReserved) { return TRUE; } Рис. 1.2.14. Блок-диаграмма модифицированного ВП hostname
34 Обзор основных тем книги Для обработки больших наборов данных, к числу которых относятся, в частно- сти, и изображения в LabVIEW, широко применяется такая структура данных, как массивы. Массив LabVIEW - это набор индексированных данных одного типа. Он может иметь любую размерность и содержать до 231 элементов на раз- мерность. Элементом массива может быть любой тип данных за исключением массива, таблицы или графика. Доступ к элементам осуществляется с помощью индексов. Значения индексов лежат в диапазоне от 0 до N- 1, где N количество элементов массива. В LabVIEW массивы могут быть созданы как вручную на лицевой панели или на панели блок-диаграммы, так и программно. На лицевой панели могут быть со- зданы массивы элементов управления или индикаторов, на панели блок-диаграм- мы - массивы констант. Программно массивы создаются с помощью структур и соответствующих функций. Для формирования массивов на лицевой панели необходимо разместить на ней шаблон массива (array shell) из подпалитры Array (Массив) палитры эле- ментов управления (рис. 1.2.15 и 1.2.16). При этом терминал массива имеет чер- ный цвет и отображает пустые скобки. В окно отображения элемента может быть помещен объект данных - элемент управления или индикатор в соответствии с типом формируемого массива за исключением типов, перечисленных выше. По- мещение объекта сопровождается мерцанием оболочки, а его фиксация в окне приводит к присвоению терминалу массива цвета, типа и надписи, соответствую- щих помещенному объекту. После задания типа массива он может использовать- ся для ввода или вывода данных. Аналогичным образом создается массив констант на блок-диаграмме. Для со- здания массива констант необходимо разместить на диаграмме шаблон массива констант (Array Constant) из палитры Array (Массив) и поместить в него кон- станту необходимого типа. В табл. 1.2.4 на рис. 1.2.15-1.2.24 показаны виды массивов различного типа на лицевой панели и соответствующих терминалов на блок-диаграмме: массив чис- ловых элементов управления (рис. 1.2.17,1.2.18), массив логических индикаторов (рис. 1.2.19, 1.2.20), массив элементов управления строкового типа (рис. 1.2.21, 1.2.22) и двумерный массив индикаторов целых чисел (рис. 1.2.23, 1.2.24). Для программного формирования и обработки массивов используются рассмот- ренные выше структуры For Loop (Цикл с фиксированным числом итераций) и While Loop (Цикл по условию), имеющие в своем составе индексную переменную i. Если элементы массива формируются в структуре цикла с фиксированным числом итераций, то их преобразование в массив происходит в терминале вывода данных, находящемся по умолчанию в режиме Enable Indexing (Включить индек- сирование) - рис. 1.2.25. В этом режиме терминал вывода данных представляет пустотелый двойной квадрат. Формирование массива сопровождается изменени- ем толщины провода с данными после его выхода из структуры. Выключение ре- жима индексирования осуществляется с помощью пункта Disable Indexing (От- ключить индексирование) контекстного меню терминала. При этом из структуры будет выводиться только последний элемент.
Знакомство с LabVIEW 35 Таблица 1.2.4. Виды массивов различных типов данных На лицевой панели На блок-диаграмме пустой массив |пустой массив| ч 9 \ |[ И Рис. 1.2.16. Шаблон индикатор окно индекса отображени я элементов пустого массива Рис. 1.2.15. Шаблон пустого массива одномерный массив числовых з лементо в управления одномерный массив числовых з лементо в управления Рис. 1.2. 17. Шаблон массива Рис. 1.2.18. Шаблон массива числовых элементов управления числовых элементов управления масси в ло гических индикаторов Рис. 1.2. 19. Шаблон массива логических индикаторов массив логических индикаторов ЕнЕ Рис. 1.2.20. Шаблон массива логических индикаторов массив строковых элементов управления масси в строковых элементов управления первый в; торой Рис. 1.2.22. Шаблон массива строковых элементов управления Рис. 1.2.21. Шаблон массива строковых элементов управления д в умерный масси в число в ых индикаторо в •^° ?J5 1 5 0 у з— !д^~ Рис. 1.2.24. Шс Рис. 1.2.23. Шаблон двумерного массива числе числовых индикаторов двумерный массив числовых индикаторов |[»м ► зблон двуме )вых индика рного массива торов
36 Обзор основных тем книги Рис. 1.2.25. Варианты ввода и вывода массивов в структуре цикла с фиксированным числом итераций Описанный режим автоматического индексирования и аккумулирования мас- сивов на границе цикла путем добавления одного нового элемента в каждом по- вторении цикла называется автоиндексированием {auto-indexing). При вводе массива в структуру цикла терминал ввода данных по умолчанию также находится в состоянии Включить индексирование (рис. 1.2.25). В этом режи- ме терминал передает в цикл по одному элементу в каждую итерацию. В этом слу- чае структура автоматически определяет размерность массива, и нет необходимо- сти задавать значение терминала числа итераций. При подаче на вход нескольких массивов разной длины структура настраивается на самый короткий массив. То же самое происходит и при одновременно подключенном терминале числа итераций. Если точку входа перевести в состояние Отключить индексирование, массив будет вводиться в цикл целиком. При этом, естественно, способность автоиндек- сирования теряется, и значение числа циклов должно быть задано. На рис. 1.2.25 видно, что при выводе одномерного массива из цикла в режиме автоиндексирования он преобразуется в двумерный массив. Массив такой же раз- мерности может быть создан на основе скалярных переменных при использовании структуры из внутреннего и внешнего циклов. Увеличение размерности массива, созданного оператором на передней панели или в блок-диаграмме, может быть вы- Controls х Search | View ▼ Modern I- Graph ► System ► Classic ► Express ► .NET & ActiveX Select a Control... полнено с помощью пункта Add Dimension (Добавить размерность) контекстного меню элемента управления/ отображения индекса массива. Такое же действие может быть выполнено и инструментом перемещения. В структуре Цикл по условию ситуация с индекса- цией противоположная, то есть по умолчанию термина- лы ввода и вывода данных находятся в состоянии От- ключить индексирование. Если с функциональной диаграммы перенести вни- мание на лицевую панель, а точнее - на палитру эле- ментов управления и индикаторов (см. рис. 1.2.4), то можно отметить, что наиболее сложными для освоения и настройки являются графические индикаторы из подпалитры Graph (рис. 1.2.26). Они служат для ото- бражения больших наборов данных, являющихся, как Рис. 1.2.26. Вид подпалитры Графики
Знакомство с LabVIEW 37 правило, сигналами или изображениями. В табл. 1.2.5 приведен перечень графи- ческих индикаторов, находящихся в двух верхних строках подпалитры, а в табл. 1.2.6 - перечень трехмерных индикаторов из третьего ряда с краткими пояснени- ями. Иконка, находящаяся в левом нижнем углу, открывает доступ к подпалитре Controls (Элементы управления), из числа ее элементов ниже рассмотрен только так называемый Picture (Рисунок). Таблица 1.2.5. Перечень графических индикаторов д Развертка сигнала (Waveform Chart) - графический индикатор, имитирующий работу самописца. Поступающие данные нумеруются по оси абсцисс целыми — числами. Поскольку индикатор запоминает всю подаваемую на него информацию в виде отдельных чисел, он устанавливается внутри структур Цикл с фиксирован- ным числом итераций и Цикл по условию. Индикатор может быть многолучевым и многоэкранным. Для отображения двух и более наборов данных от разных источников необходимо объединить их в кластер с помощью функции Bundle (Объединить). Стирание информации производится с помощью строки Data Operations — Clear Chart (Операции с данными — Очистить развертку) контек- стного меню графика График сигнала (Waveform Graph) - графический индикатор, имитирующий °£~** работу осциллографа. Он принимает данные в виде массива чисел и отображает их с равномерным шагом. Для отображения двух и более массивов данных они должны быть объединены в двумерный массив с помощью функции Build Array (Сформировать массив). Для отображения графика с заданной начальной точки и с заданным шагом предусмотрено формирование кластера из трех элементов с помощью функции Bundle (Объединить), на верхний вход которой подается начальное смещение, а на средний - шаг отображения Я Двухкоординатный график (XY Graph) - графический индикатор, позволяющий отображать функциональные зависимости у = f(x). Для отображения на данном индикаторе массива точек с произвольными координатами по осям необходимо сформировать массив кластеров или объединить два массива координат X и Y в кластер. С целью отображения двух и более графиков необходимо использовать функцию Build Array (Сформировать массив) для формирования массива кластеров Экспресс-ВП Двухкоординатный график (XY Graph) Развертка интенсивности (Intensity Chart) и График интенсивности (Intensity Graph) служат для отображения двумерных массивов данных в виде графиков интенсивности такой же размерности. В исходном состоянии на Шкале интен- 5У“сивностей (Ramp) отображается 3 цвета - черный, соответствующий нижней половине диапазона, синий, соответствующий верхней половине диапазона, и белый, соответствующий превышению диапазона. Однако при включении режима Interpolate Color (Интерполировать цвет) в шкале интенсивностей градации интенсивности при переходе от черного к белому становятся плавными. При желании изменить палитру цветов необходимо сформировать Таблицу цветов (Color Table), то есть рассчитать массив цифровых значений цветов, которые будут соответствовать градациям величины данных, и подключить таблицу к Узлу свойств графического индикатора (Property Node) с установлен- ным свойством Color Table (Таблица цветов)
38 Обзор основных тем книги Таблица 1.2.5. Перечень графических индикаторов (продолжение) г рафик цифрового сигнала (Digital Waveform Graph) служит для отображения массива целых чисел в виде диаграмм логических сигналов, соответствующих двоичным разрядам чисел. Для работы индикатора необходимо сформировать кластер, содержащий начальное значение, шаг, отображаемые данные и число портов г'"“" ГРаФик комбинированного сигнала (Mixed-Signal Graph) отличается тем, что на него можно одновременно подавать самые разные типы сигналов, объединив их в кластер. Сюда могут входить массив, кластер, цифровой или аналоговый сигнал. Еще одна особенность этого индикатора состоит в том, что Панель редактирования графика реализована в нем в виде элемента управления Дерево Все перечисленные выше графические индикаторы имеют в меню настройки более обширный раздел Visible Items (Видимые элементы) и дополнительные пун- кты, связанные с настройкой осей. Так, в частности, в состав меню Видимые эле- менты этих индикаторов входят следующие разделы (рис. 1.2.27): Label (Ярлык), Caption (Заголовок), Plot Legend (Панель редактирования графика), Scale Le- gend (Панель редактирования масштаба по осям), Graph Palette (Палитра эле- ментов управления графиком), Cursor Legend (Панель редактирования курсора), Scrollbar (Линейка прокрутки), X Scale (Масштаб по X ), Y Scale (Масштаб по Y). Рис. 1.2.27. Вид графика сигнала с панелями и атрибутами
Знакомство с LabVIEW 39 Меню Видимые элементы графического индикатора Развертка сигнала отли- чается тем, что на месте строки Панель редактирования курсора находится стро- ка Цифровой индикатор. Панель редактирования графика может перестраиваться по размеру в верти- кальном направлении для настройки параметров набора графиков. Панель ре- дактирования графика имеет свое контекстное меню, которое позволяет настраи- вать тип графиков, их цвет, ширину и тип линии, тип точек и вид их соединения. Панель редактирования шкалы позволяет фиксировать или сбрасывать в ис- ходное состояние масштаб по осям, установленный пользователем с помощью од- ного из инструментов, входящих в состав палитры элементов управления графи- ком. Помимо этого, она позволяет настраивать параметры осей: формат, точность, характер расположения меток, видимость оси и подписи, цвет сетки. Эти и ряд других параметров могут быть также установлены и из контекстного меню осей индикатора. В состав палитры Графики входят также трехмерные графики. Установка та- ких графиков на лицевой панели сопровождается появлением на блок-диаграмме связки из ссылки (Refnum) на элемент управления ActiveX CWGraph3D и соот- ветствующего ВП (табл. 1.2.6). Настройка графиков производится с помощью диалогового окна Свойства: CWGraph3D Control, вызываемого с помощью строки CWGraph3D => Свой- ства... контекстного меню графика. Особым графическим элементом для ввода и вывода растровых изображений служит Рисунок (Picture). Для подготовки таких изображений используются многочисленные функции из подпалитр Picture Plots Vis (ВП рисунков графи- ков), Picture Functions Vis (ВП функций рисунков) и Graphics Formats Vis (ВП графических форматов), находящихся, в свою очередь, в подпалитре Graphics & Sound (Графики и звук) рис. 1.2.3. Помимо изучения функциональных элементов и инструментария среды LabVIEW, рассмотренных выше, для эффективной разработки ВП необходимо освоить технологию программирования. В этом плане целесообразно использо- вать следующие возможности и учитывать ряд рекомендаций: • создание ВП рекомендуют начинать с размещения элементов управления и индикаторов на лицевой панели. После установки этих элементов может быть произведена их настройка - указаны Ярлыки (Labels) или Заголовки (Captions), изменен Шрифт (Font), Размер (Size), Стиль (Style), Вырав- нивание (Justify) и Цвет (Color); • элементы лицевой панели или узлы блок-диаграммы могут быть выделены инструментом перемещения и перенесены в другое место, сгруппированы и заблокированы, удалены, вырезаны, скопированы и вставлены. Их размеры и цвета также могут быть изменены (для тех элементов, которые допускают такое изменение); • для соединения терминалов проводниками следует подвести инструмент соединения «катушка» к первому терминалу, сделать щелчок по нему после начала мерцания, подвести ко второму терминалу и также щелкнуть по
40 Обзор основных тем книги Таблица 1.2.6. Перечень трехмерных графиков Графический индикатор 3D Surface Graph (График 30-поверхности) - 1 рис. 1.2.28 - предназначен для отображения двумерных данных в виде поверх- ности на трехмерном графике График ЗР-поверхности ректор х| ректор у| ^□мер графика (1)1 |l>- Рис. 1.2.28. Гсафический индикатор 3D Surface Graph (Гоафик ЗО-поверхности; Графический индикатор 3D Parametric Graph (Параметрический ЗО-график) - рис. 1.2.29 - отображает данные с помощью трех двумерных массивов, характеризующих проекции графика на плоскости х, у и z Матрица z] ► ^-юмер графикаИЗИ Рис. 1.2.29. Гсафический индикатор 3D Parametric Graph (Параметрический ЗО-график) Графический индикатор 3D Curve Graph (график 30-кривой) - рис. 1.2.30 - используется для отображения данных в виде пространственной кривой Г рафик ректор х| ► ректор у| [Toi ► Выходной график зЗ] ^-юмер графика (1)] 1ЕШ4 Рис. 1.2.30. Гсафический индикатор 3D Curve Graph (Гоафик ЗО-кривой)
Знакомство с LabVIEW 41 нему после начала мерцания. Таким же образом производится соединение с существующим проводником. LabVIEW предоставляет возможность ав- томатического соединения при достаточном сближении двух терминалов и установке соответствующей опции в настройках; • терминалы элементов управления и индикаторов на блок-диаграмме в за- висимости от типа имеют свой цвет: числовые - синий или оранжевый, ло- гические - зеленый, строковые - розовый, пути к файлам на диске - цвета морской волны и т. п. Проводники, подключенные к этим терминалам, как правило, имеют такой же цвет (если на рамке терминала не происходит пре- образование типа). В этом проявляется одно из условий согласования типов переменных. Прочие аспекты согласования включают толщину про- водников, связанную с размерностью передаваемых данных (скаляр, одно- мерный или многомерный массив) и их стиль. При подключении провод- ников к терминалам узлов блок-диаграммы также должно соблюдаться согласование типов. Терминалы узлов полиморфных ВП или функций адаптируются к типу подключаемых проводников (данных); • следует учитывать, что данные, поданные на входы функций и подприбо- ров, могут быть обязательные, рекомендуемые и необязательные. В окне контекстной помощи обязательные входы показываются жирным шриф- том, рекомендуемые - простым текстом, а необязательные - окрашены в серый цвет; • если соединение выполняется с ошибкой, то появляется поврежденный (broken) проводник в виде черной пунктирной линии, а кнопка запуска программы показана разорванной, и программа не будет выполняться. Для просмотра списка возможных ошибок можно нажать кнопку запуска, а для удаления всех поврежденных проводников - воспользоваться комбинаци- ей «горячих» клавиш Ctrl+B; • чтобы проводник мог неоднократно изменять направление во время соеди- нения, необходимо зафиксировать точку поворота щелчком мыши. Без щелчка направление проводника изменяется на 90° только один раз; • выделение сегмента провода (одиночного отрезка, расположенного го- ризонтально или вертикально) производится однократным щелчком по проводу, выделение ответвления (отрезка провода между узлом или тер- миналом до пересечения с другими проводами) - двойным щелчком и вы- деление всего провода - тройным щелчком; • с помощью контекстного меню входного или выходного терминала функ- ции или узла блок-диаграммы к ним могут быть подключены соответствен- но: на вход - элементы управления или константы или на выход - инди- каторы; • с помощью строки Insert (Вставить) контекстного меню провода в его раз- рыв может быть вставлена выбранная функция; • выбор строки Заменить (Replace) контекстного меню любого элемента ли- цевой панели или блок-диаграммы позволяет произвести замену выбран- ного ВП;
42 Обзор основных тем книги • нежелательное действие может быть отменено комбинацией «горячих» кла- виш Ctrl+Z или с помощью вызова строки меню Edit => Undo (Правка => Отменить). Новые возможности, введенные в LabVIEW 8, связаны с поддержкой програм- мирования распределенных систем на базе разнородных платформ: настольных компьютеров, систем реального времени, ПЛИС, КПК, встроенных микропро- цессоров и сигнальных процессоров. Программирование перечисленных устройств обеспечивается с помощью соответствующих обновленных модулей: LabVIEW Real-Time Module, LabVIEW FPGA Module, LabVIEW PDA Module. Для хранения исходных кодов и настроек всех узлов распределенной системы служит новая оболочка управления проектами - LabVIEW 8 Project (рис. 1.2.31). Рис. 1.2.31. Вид окна проекта Проект также поддерживает коллективную разработку больших приложений за счет включения интегрированных средств управления исходными текстами (Visual SourceSafe, Perforce, Rational ClearCase, PVCS, MKS и CVS) и Библиотек проектов (Project Libraries), содержащих исходные коды в виде модульных уни- фицированных функций, которые можно многократно вызывать из различных подсистем. Проект позволяет создавать загружаемые модули программ в виде ав- тономного приложения (Stand-Alone Application) или динамически подключае-
Знакомство с LabVIEW 43 мой библиотеки (DLL), а также zip-файлы или дистрибутив с исходными кодами (Source Distribution). Таким образом, простая и дружественная пользователю оболочка проекта LabVIEW позволяет наблюдать, редактировать, загружать, вы- полнять и отлаживать программный код, работающий на любом узле системы. Для упрощения передачи данных между различными вычислительными плат- формами служит Переменная общего доступа LabVIEW 8 (LabVIEW Shared Variable), предоставляющая единый, гибкий и открытый коммуникационный протокол. Переменная общего доступа объединяет функциональность существующих технологий передачи данных, таких как DataSocket, и позволяет передавать теку- щие данные между различными ВП проекта или по сети, при этом источниками или приемниками данных могут быть элементы лицевой панели или блок-диа- граммы. Переменная общего доступа создается в окне проекта, как правило, в составе библиотеки проекта, с помощью контекстного меню узла этой библиотеки. На- стройка параметров переменной производится в диалоговом окне Shared Variable Properties (Свойства переменной общего доступа), которое позволяет выбрать Тип данных (Data Туре), Тип переменной (Variable Туре), использование и пара- метры буфера, а также параметры подключения к источнику. Тип переменной может быть установлен как Единичный процесс (Single-Process) для обмена дан- ными между ВП локального компьютера или как Публикуемая в сети (Network- Published) для обмена по сети. Переменная общего доступа с публикацией в сети производит обмен данными между ВП, удаленными компьютерами и приборами с помощью Механизма общей переменной (Shared Variable Engine). Этот меха- низм использует протокол передачи данных NI Издатель-Подписчик (Publish- Subscriber-Protocol PSP). Для связи элементов блок-диаграммы ВП с общей переменной ее иконка мо- жет быть перенесена из окна проекта или установлена из подпалитры Структуры. Связь элементов лицевой панели с общей переменной также может устанавли- ваться с помощью переноса иконки переменной из окна проекта на лицевую панель или путем конфигурирования свойств этих элементов (раздел Data Binding). Модули и инструменты LabVIEW, устанавливаемые пользователем, могут до- бавить типы, опции конфигурации и ограничения переменной общего доступа. Среди других нововведений LabVIEW 8 следует отметить элемент XControl (рис. 1.2.31), Разделительные полосы (Splitter Burs), Аннотации графиков (Graph Annotations), возможность экспорта упрощенных изображений графиков, рисун- ков и таблиц, пользовательские контекстные меню объектов лицевой панели, дос- тупные во время работы программы (Custom Run-Time Shortcut Menu). Среди наиболее интересных функций обработки сигнала, анализа и математики можно отметить следующие: реализация двумерных функций цифровой обработки сиг- нала (преобразования Фурье, свертки, авто- и кросскорреляции) для действи- тельных и комплексных данных, введение подпалитры функций преобразования координат, новые типы окон, реализация непрерывных и дискретных распределе- ний вероятностей. В подпалитре функций аппроксимации введены новые линей-
44 Обзор основных тем книги ные параметрические модели, реализованы устойчивые алгоритмы сглаживания и новые инструменты оценки качества аппроксимации. Таким образом, все рассмотренное выше богатство функциональных возмож- ностей и рабочего инструментария среды LabVIEW позволяет успешно решать практически любую задачу научных исследований, проектирования новых уст- ройств или автоматизации их производства. 1.3. Знакомство с Nl Vision Наряду с универсальными средствами разработки компьютерных измерительно- контрольных систем, такими как графическая среда программирования LabVIEW и модульная аппаратная платформа PXI, National Instruments предлагает также широкий спектр специализированных программных библиотек и аппаратных мо- дулей. Одной из специализированных аппаратно-программных технологий Na- tional Instruments является платформа машинного зрения (Nl Vision), состоящая из технологии сбора (чаще говорят - захвата) изображения IMAQ (IMage AcQui- sion) и программной технологии его обработки и анализа. Аппаратная часть технологии IMAQ включает в себя модули захвата изобра- жения с практически всех распространенных источников видеосигналов - анало- говых и цифровых видеокамер различных стандартов и конфигураций. Эти моду- ли разработаны таким образом, что большей частью их функций можно управлять программно, что значительно упрощает ввод изображения с самых разнообраз- ных видеопреобразователей. По этой причине с помощью IMAQ вы можете рабо- тать как с изображениями любого спектрального диапазона (от рентгеновского до инфракрасного), с разной скоростью ввода - от единичных «снимков» до десят- ков тысяч кадров в секунду, с различной глубиной оцифровки (от 8 до 32 разря- дов). Интерфейсы IMAQ также предлагают программируемые средства синх- ронизации видеоввода с иными дискретными или аналоговыми процессами в исследуемой или управляемой системе. 1.3.1. Платформа Nl Vision: захват, обработка и анализ изображений в LabVIEW Совокупность программных средств National Instruments IMAQ Vision (по сути, в комплексе не имеющая мировых аналогов) состоит из функций высокого уров- ня для всех средств разработки - LabVIEW, LabWindows/CVI, C/C++ и Visual Basic.NET. Первая группа этих функций позволяет максимально просто и эффек- тивно управлять всеми устройствами IMAQ и обеспечивает их синхронизацию с иными аппаратными узлами системы. Вторая, существенно более широкая группа программных функций, предназначена для обработки и анализа уже вве- денного изображения, в том числе в реальном масштабе времени. Она может рабо- тать с изображениями в черно-белом (двоичном), градиентном (оттенки серого) и полноцветном форматах. Например, функции обработки изображений обеспечи-
Знакомство с Nl Vision 45 вают различные геометрические преобразования, фильтрацию, взвешивание, коррекцию, построение распределений, калибровку. Функции анализа еще более разнообразны и включают в себя поиск и выделение краев объектов, определение геометрических параметров (размеры, углы наклона, сечения, площади) объек- тов, различные методы статистического и морфологического анализа примени- тельно к изображениям, поиск и распознавание объектов по маскам, а также клас- сификацию объектов. Особые функции упрощают считывание и распознавание символов, штрихкодов, а также показаний стрелочных и цифровых индикаторов. Следует отметить, что в каждой новой версии библиотеки IMAQ Vision появля- ются новые, расширенные функции анализа изображений и машинного зрения. В последних версиях IMAQ Vision все большее внимание стало уделяться анали- зу «объемных» ЗВ-изображений. Области применений платформы технического зрения традиционно очень многообразны. Это промышленный контроль качества, робототехника и слеже- ние за технологическим процессом, диагностика в машиностроении, электронной промышленности и строительстве, системы безопасности, метрологический конт- роль, научные исследования, а также многие другие. Можно с уверенностью ска- зать, что применение машинного зрения National Instruments в основном зависит от фантазии разработчиков. 1.3.2. Функции Nl Vision Все функции Nl Vision доступны для визуального программирования в LabVIEW при помощи специальных наборов иконок, называемых палитрами. Палитры LabVIEW имеют большое число уровней вложенности, поэтому для простоты указания уровня мы будем далее говорить, что палитры самого верхнего уровня представляют группы методов, далее каждая группа содержит собственно палит- ры, а в каждой палитре уже находятся отдельные инструменты или функции. Об- щая структура групп, палитр и функций Nl Vision представлена ниже в табл. 1.3.1. В ней также указано, в каких разделах данной книги рассматривается та или иная функция. Некоторые палитры приводятся не полностью - упоминаются только те функции, которые рассмотрены в данной книге. Таблица 1.3.1. Палитры и функции Nl Vision Палитры и функции Смысл операций Упоминание в книге Группа Vision Utilities Палитра Pixel Manipulation IMAQ GetPixelValue IMAQ GetRowCol IMAQ GetPixelLine IMAQ ImageToArray IMAQ SetPixelValue IMAQ SetRowCol IMAQ SetPixelLine IMAQ ArrayTolmage Служебные функции: Раздел. 4.6 управление растровыми изображениями и графическими примитивами на них
46 Обзор основных тем книги Таблица 1.3.1. Палитры и функции NI Vision (продолжение) Палитры и функции Смысл операций Упоминание в книге MAQ Filllmage МАО Draw I МАО Draw Text Палитра Calibration Функции калибровки Раздел 4.4 МАО Learn Calibration Template изображений для работы IMAQ Set Simple Calibration с метрической точностью IMAQ Set Calibration Info и пространственным IMAQ Get Calibration Info разрешением IMAQ Convert Real World to Pixel IMAQ Convert Pixel to Real World MAQ Correct Calibrated Image MAQ Read Image Aid Vision Info IMAQ Write Image Aid Vision Info Группа Image Processing Палитра Processing IMAQ UserLookup Функции гистограммной Раздел 3.1 IMAQ MathLookup обработки Раздел 3.1 IMAQ Equalize Эквализация яркости Раздел 3.1 MAQ BCGIookup IMAQ Threshold Пороговая сегментация Раздел 3.1 IMAQ MultiThreshold Мультипороговая сегментация Раздел 3.1 IMAQ Label Разметка связных областей Раздел 4.1 IMAQ Inverse Инвертирование яркости Раздел 3.1 IMAQ AitoBThreshold Адаптивный порог Раздел 3.1 IMAQ AitoMThreshold Мультипороговая сегментация Раздел 3.1 MAQ MagicWand Палитра Filters Фильтрация изображений IMAQ GetKernel в пространственной области: Раздел 3.3 IMAQ BuildKernel Создание маски фильтра Раздел 3.3 IMAQ Convolute Линейная свертка с маской Раздел 3.3 IMAQ Correlate Корреляция Раздел 3.3 MAQ LowPass Фильтр низких частот Раздел 3.3 IMAQ NthOrder Ранговый нелинейный фильтр Раздел 3.2 IMAQ EdgeDetection Выделение контуров Раздел 3.4 MAQ CannyEdgeDetection Оператор Кани Раздел 3.4 Палитра Morphology MAQ Distance Вычисление расстояний Раздел 4.1 IMAQ FillHall Заполнение «дырок» Раздел 3.5 IMAQ RejectBorder Удаление краевых областей Раздел 4.1 IMAQ RemoveParticle Удаление областей Раздел 4.1 IMAQ Morphology Бинарная морфология Раздел 3.5 IMAQ GreyMorphology Полутоновая морфология Раздел 3.5 MAQ Segmentation Сегментация Раздел 4.1 MAQ Danielsson Разметка толщин Раздел 4.1 MAQ FindCircles Обнаружение кругов Раздел 4.2 MAQ ConvexHull Выпуклая оболочка Раздел 3.5 MAQ Skeleton Скелетизация (утончение) Раздел 3.5
Знакомство с Nl Vision 47 Таблица 1.3.1. Палитры и функции Nl Vision (продолжение) Палитры и функции Смысл операций Упоминание в книге IMAQ Separation Разбиение Раздел 4.1 IMAQ ParticleFilter 2 Палитра Analysis Фильтрация областей Раздел 4.1 IMAQ Histograph Гистограмма Раздел 3.1 IMAQ Histogram Гистограмма Раздел 3.1 IMAQ Quantify Функции сбора статистики по Раздел 4.1 IMAQ Centroid областям Раздел 4.1 IMAQ LineProfile IMAQ ROIProfile Профиль изображения Раздел 3.1 IMAQ LinearAverages IMAQ Particle Analysis Report Сбор линейных проекций Раздел 3.1 IMAQ Particle Analysis Палитра Color Processing Анализ областей Раздел 4.1 IMAQ ColorBCGLookup Гистограммная обработка Раздел 3.1 IMAQ ColorEqualize Эквализация Раздел 3.1 IMAQ ColorHistogram Гистограмма Раздел 3.1 IMAQ ColorHistograph Гистограмма Раздел 3.1 IMAQ ColorLearn Функции привязки эталонов Раздел 4.3 IMAQ ColorMatch Функции привязки эталонов Раздел 4.3 IMAQ ColorThresinoid Пороговая сегментация Раздел 3.1 IMAQ ColorUserLookup Гистограммная обработка Раздел 3.1 Палитра Operators IMAQ Absolute Difference IMAQ Add IMAQ And IMAQ Compare IMAQ Divide IMAQ LogDiff IMAQ Mask IMAQ Modulo IMAQ MulDiv IMAQ Multiply IMAQ Or IMAQ Subtract IMAQ Xor Палитра Frequency Domain IMAQ ArrayToCompleximage IMAQ ArrayToComplexPlane IMAQ ComplexAdd Алгебраические операции над изображениями Раздел 2.1 IMAQ ComplexAttenuate Сглаживание Раздел 3.3 IMAQ ComplexConjugate IMAQ ComplexDivide Сопряженное изображение Раздел 3.3 IMAQ ComplexFIipFrequency IMAQ CompleximageToArray IMAQ ComplexMultiply IMAQ ComplexPlaneToArray IMAQ ComplexPlaneTolmage Транспонирование между стандартным и оптическим отображением Раздел 3.3
48 Обзор основных тем книги Таблица 1.3.1. Палитры и функции Nl Vision (продолжение) Палитры и функции Смысл операций Упоминание в книге IMAQ ComplexSubtract MAQ ComplexTruncate Частотный срез Раздел 3.3 IMAQ FFT Преобразование Фурье Раздел 3.3 MAQ ImageToComplexPlane IMAQ InverseFFT Обратное преобразование Фурье Раздел 3.3 Группа Machine Vision Палитра Coordinate System Определение систем координат IMAQ Find CoordSys (2 Reefs) связанных с примитивами на IMAQ Find CoordSys (Pattern) 2 изображении MAQ Find CoordSys (Reef) Палитра Count Aid Measure Objects Анализ областей Раздел 4.1 IMAQ Count Objects Палитра Measure Intensities Функции яркостных измерений Раздел 4.4 IMAQ Light Meter (Point) IMAQ Light Meter (Line) IMAQ Light Meter (Rectangle) Палитра Measure Distances Функции СП-измерений Раздел 4.4 IMAQ Clamp Horizontal Max IMAQ Clamp Horizontal Min IMAQ Clamp Vertical Max IMAQ Clamp Vertical Min Палитра Locate Edges Выделение геометрических Раздел 4.2 IMAQ Find Vertical Edge примитивов IMAQ Find Horizontal Edge IMAQ Find Circular Edge MAQ Find Concentric Edge Палитра Find Patterns Функции привязки эталонов Раздел 4.3 IMAQ Find Pattern 2 Палитра Searching and Matching IMAQ Setup Learn Pattern 2 IMAQ Learn Pattern 2 IMAQ Setup Match Pattern 2 IMAQ Match Pattern 2 IMAQ Setup Learn Color Pattern IMAQ Learn Color Pattern IMAQ Setup Match Color Pattern IMAQ Match Color Pattern MAQ Read Image Aid Vision Info IMAQ Write Image Aid Vision Info MAQ Shape Match Tool Палитра Pattern Matching Advanced Функции привязки эталонов Раздел 4.3 MAQ Advanced Setup Learn Pattern 2 IMAQ Advanced Setup Match Pattern 2 IMAQ Refine Matches
Знакомство с NI Vision 49 Таблица 1.3.1. Палитры и функции NI Vision (продолжение) Палитры и функции Смысл операций Упоминание в книге Палитра Caliper IMAQ Simple Edge Поиск краев вдоль профиля Раздел 3.1 IMAQ Edge Tool Поиск краев вдоль профиля Раздел 3.1 IMAQ Peak-Valley Detector Поиск минимумов и максимумов Раздел 3.1 IMAQ CaliperTool вдоль профиля Поиск попарно расположенных Раздел 4.4 IMAQ Line Gauge краев Определение расстояния Раздел 4.4 IMAQ Rake между краями Выделение линий, близких Раздел 4.2 IMAQ Spoke к прямым Выделение линий, близких Раздел 4.2 IMAQ Concentric Rake к окружностям Раздел 4.2 IMAQ Interpolate 1D IMAQ Rotation Detect Угол поворота изображений Раздел 4.3 Палитра Aialytic Geometry IMAQ Point Distances относительно друг друга Расстояние между точками Раздел 4.6 IMAQ Get Angles Определение углов Раздел 4.6 IMAQ Fit Line Поиск аппроксимирующей Раздел 4.2 IMAQ Lines Intersection прямой Поиск точки пересечения Раздел 4.6 IMAQ Perpendicular Line прямых и угла между ними Построение перпендикуляра Раздел 4.6 IMAQ Bisecting Line из точки на прямую Построение биссектрисы Раздел 4.6 IMAQ Mid Line Построение прямой, делящей Раздел 4.6 IMAQ Polygon Area пополам перпендикуляр из точки на заданную прямую и параллельную ей Определение площади Раздел 4.4 IMAQ Fit Circle 2 многоугольника, образованного заданными точками Поиск аппроксимирующей Раздел 4.2 IMAQ Fit Ellipse 2 окружности Поиск аппроксимирующего Раздел 4.2 IMAQ GetPointsOnEine IMAQ GetPointsOnContour IMAQ Build CoordSys (Points) Палитра Instrument Readers IMAQ Get ECD ROI IMAQ Read LCD эллипса Считывание показаний Раздел 4.5 IMAQ Read Single Digit IMAQ Get Meter цифровых индикаторов
50 Обзор основных тем книги Таблица 1.3.1. Палитры и функции Nl Vision (продолжение) Палитры и функции Смысл операций Упоминание в книге IMAQ Read Meter IMAQ Get Meter 2 Считывание показаний аналоговых индикаторов Раздел 4.5 IMAQ Read Barcode Считывание штриховых кодов Раздел 4.5 Палитра Select Region of Interest IMAQ Select Annulus IMAQ Select Line IMAQ Select Point IMAQ Select Rectangle Группа «Text Reading (OCR)» Функции построения области интереса Раздел 4.6 1.4. Знакомство с Vision Assistant Если вы ранее не были знакомы с алгоритмическим программированием, возмож- но, даже визуальное программирование в среде LabVIEW покажется вам на пер- вых порах слишком сложным. В этом случае, прежде чем приступать к решению какой-либо задачи непосредственно в LabVIEW, стоит ознакомиться с таким об- легченным программным пакетом, как Vision Assistant. Среда Vision Assistant яв- ляется простым и удобным средством, при помощи которого можно быстро осу- ществить любые необходимые действия над исходным изображением. Рассмотрим типовой сеанс работы с Vision Assistant на примере одного из по- ставляемых вместе с пакетом демонстрационных проектов. 1.4.1. Начало работы с Vision Assistant Запустите Vision Assistant. Выберите опцию Solution Wizard, чтобы открыть демонстрационный проект (рис. 1.4.1). Выберите демонстрационный проект. Рассмотрим, например, проект Culture Analysis (рис. 1.4.2). Данный проект де- монстрирует выделение и визуализацию границ клеток. Нажмите кнопку Load Solution для того, чтобы открыть проект, - рис. 1.4.3. (Если откроется окно подсказки, его можно закрыть.) Рассмотрим содержимое передней панели программы Vision Assistant после загрузки проекта. Обрабатываемое изображение располагается в центре экрана. Оно будет изме- няться по мере того, как над изображением будут осуществляться те или иные действия. Внизу экрана справа располагается окно, в котором путем выбора пик- тограмм операций «пишется» сценарий обработки исходного изображения. В левой нижней части экрана располагается инструментарий - набор палитр виртуальных инструментов, при помощи которых, собственно, и производится обработка изоб- ражения. Все инструменты сгруппированы по нескольким палитрам, в зависимо- сти от их функциональности. Чтобы использовать тот или иной инструмент из
Знакомство с Vision Assistant 51 Рис. 1.4.1. Загрузка Vision Assistant V' Solution Wizard AUtunmL*.*? hiietox Irspac.W SowiHuj Jncacton fi al Rfis «HpectiMi М*>/аЛлГС Ьо-0О-|Ис*аж* ГЦЬгСШГЖЮЛ Cdor ftenci kKpwtwm Wood Fl3»“»:edtcjc L' etp» Г э> Inspo^xm Т<кй* СйкоЬгжюг [r>»p«rtior> Pivbe’i CJut Andren i DeriM* *>9 to of ea:h ct<r a cliMto’ ci g«A Sepor-Mo die ouj*w rio *• rr&nH aeii •rd тл*^ »-r r*$ Lu j Caes -T»a the a > j* »d iпэре I HW I [ Lcod^-ixx' ] I Cl~ I Рис. 1.4.2. Выбор демонстрационного проекта палитры, необходимо выбрать левой кнопкой мыши пиктограмму данного инст- румента, настроить его параметры в открывшемся диалоговом окне и нажать кнопку ОК в этом диалоговом окне. Изображение выбранного инструмента доба- вится к списку выполняемых процедур в окне Script (Сценарий). Примечание. Не все инструменты из палитры можно использовать по- добным образом. Например, инструмент Measure [iM позволяет произвес- ти измерения на изображении, но не может быть добавлен в окно Script, так как не является «обработкой» и не изменяет изображение.
52 Обзор основных тем книги Рис. 1.4.3. Внешний вид Vision Assistant с загруженным проектом 1.4.2. Пример работы в Vision Assistant Вернемся к загруженному демонстрационному проекту. Напомним, что данный проект демонстрирует выделение и визуализацию границ клеток. В этом примере выполнение задачи происходит за 11 последовательных шагов-операций. В начале работы вы находитесь на нулевом шаге - «загрузка исходного изоб- ражения». Нажмите кнопку с> для того, чтобы перейти на следующий шаг. Вы также можете щелкнуть мышкой по любому из инструментов, расположенных в окне Script, для того чтобы перейти к этому инструменту и увидеть результаты его работы. Дважды щелкнув мышью по пиктограмме любого инструмента, нахо- дящегося в окне Script, можно открыть список его параметров. Рассмотрим шаги сценария более подробно (табл. 1.4.1). Алгоритмы выполне- ния каждой из упомянутых в данном примере операций будут описаны в следую- щих главах книги. Здесь же нам важно ознакомиться именно с Vision Assistant как с первичным инструментом для построения и отработки различных модульных (состоящих из нескольких этапов) процедур. Таким образом, на завершающем этапе обработки выделенные границы облас- тей оказались «наложены» на исходное изображение. Задача выполнена. При этом на каждом шаге работы алгоритма мы могли видеть текущий результат обра- ботки, что очень удобно с методической и учебной точек зрения.
Знакомство с Vision Assistant 53 Таблица 1.4.1. Последовательность этапов обработки изображения в проекте Culture Analysis Шаг Пиктограмма Содержание обработки Результат обработки Add Сору (1)1 Буферизация исходного изображения. Созданная копия будет подвергаться обработке, в то время как исходное изображение останется неизменным. *На каждом шаге нажимайте кнопку », чтобы перейти на следующий шаг • Рис. 1.4.4. Исходное изображение Smoothing • Median 2 Сглаживание изображения при помощи медианного фильтра. Эта операция устраняет шум, присутствующий на исходном изображении. *Обратите внимание, что изображение в главном окне изменилось • Рис. 1.4.5. Результат сглаживания 3 Smoothing • Median 2 Увеличение контрастности границ клеток Рис. 1.4.6. Увеличение контрастности границ клеток
54 Обзор основных тем книги Таблица 1.4.1. Последовательность этапов обработки изображения в проекте Culture Alalysis (продолжение) Шаг Пиктограмма Содержание обработки 4 ~| Г~~ Бинаризация изображения Результат обработки Т hreshold 1 5 Invert Binary Image 1 Инвертирование бинарного изображения. *Красный цвет на рисунке соответствует 1, черный - О Рис. 1.4.7. Инвертированное бинарное изображение 0J Remove small objects 1 Отсев ложных малоразмерных областей, возникших после бинаризации Рис. 1.4.8. Результат фильрации малоразмерных объектов 0J Separate objects 1 Разделение «слипшихся» областей Рис. 1.4.9. Разбиение областей
Знакомство с Vision Assistant 55 Таблица 1.4.1. Последовательность этапов обработки изображения в проекте Culture Alalysis (продолжение) Шаг Пиктограмма Содержание обработки Результат обработки Label objects 1 Разметка связных областей. *Каждая область оказывается помеченной своим цветом Рис. 1.4.10. Разметка связных областей Gradient Out 1 Морфологическое выделение контуров частиц Рис. 1.4.11. Морфологическое выделение контуров объектов 10 Multiply Constant 1 Умножение на 255. Бинарное изображение принимает диапазон полутонового Рис. 1.4.12. Приведение бинарного изображения к полутоновому 11 Add Buffer 1 Сложение с изображением, сохраненным в буфере Рис. 1.4.13. Результат сложения с исходным изображением
56 Обзор основных тем книги 1.4.3. Экспорт проекта в LabVIEW Как мы только что убедились, Vision Assistant позволяет достаточно быстро и лег- ко пробовать различные методы обработки, а также просматривать результаты работы тех или иных фильтров и функций на изображениях различного типа. Однако вести реальную разработку приложений машинного зрения в Vision Assistant сложно - разве что на самых первых этапах проектирования системы. Для продолжения работы над проектом National Instruments предоставляет воз- можность экспортировать готовый проект Vision Assistant в LabVIEW. Для этого в пункте меню Tools необходимо выбрать пункт Create LabVIEW VI (рис. 1.4.14). После выбора пути и имени файла, в который будет сохранен проект (рис. 1.4.15), необходимо нажать кнопку Finish. В результате будет создан соответствующий виртуальный инструмент (VI) - рис. 1.4.16. При этом на блок-диаграмме в LabVIEW будут располагаться вирту- альные инструменты, аналогичные тем, которые были использованы в Vision Assistant. Рис. 1.4.15. Выбор пути для сохранения проекта
Знакомство с Vision Assistant 57 Рис. 1.4.16. Часть блок-диаграммы созданного виртуального инструмента Следует отметить, что возможности IMAQ. Vision в LabVIEW намного превос- ходят те, что заложены в Vision Assistant. Однако использовать их эффективно вы сможете лишь со временем, изучив их досконально. Поэтому на этапе обучения есть смысл начинать создание проекта обработки и анализа изображения именно в Vision Assistant. Инструменты IMAQ. Vision в LabVIEW располагаются в палитре Nl Measu- rements (рис. 1.4.17). Рис. 1.4.17. Расположение палитры IMAQ Vision
58 Обзор основных тем книги В заключение еще раз отметим, что преимуществом Vision Assistant является быстрота разработки каркаса вашей будущей программы. В нем можно изучать работу фильтров и других процедур анализа и обработки изображений при раз- личных их входных параметрах, отрабатывать последовательность действий для достижения конечного результата. После окончания исследований полученные наработки могут быть, естественно, экспортированы в LabVIEW. Таким образом, Vision Assistant действительно может стать ценным помощни- ком при изучении данного курса и даже на первых этапах разработки реальных проектов в области машинного зрения.
Цифровые изображения 2.1. Растровое изображение 2.1.1. Изображение как двумерный массив данных Когда мы смотрим на двумерное изображение какой-либо трехмерной сцены (на картине, фотографии, экране монитора), нам кажется, что там непосредственно присутствуют все те предметы, которые мы могли бы увидеть, если бы непосред- ственно наблюдали ту же сцену в жизни. Между тем все, что нам на самом деле дано в двумерном изображении, - это видимое поле, представляющее собой лишь некоторую функцию распределения яркости или цвета на двумерной плоскости: f(x,y), где .г и у - декартовы координаты, описывающие плоскость изображения. Более того, если приблизиться вплотную к экрану компьютерного монитора, можно увидеть, что изображение на экране на самом деле не гладкое и непре- рывное, а представляет собой дискретную «мозаику», состоящую из отдельных цветных прямоугольников, расположенных в виде регулярной прямоугольной матрицы. Это и есть цифровое изображение. С математической точки зрения цифровое изображение представляет собой двумерную матрицу /т[.г,г/] размера (DimXxDimY), где .г - целое число от 0 до DimX- 1, описывающее номер элемента в строке матрицы, у - целое число от 0 до DimY - 1, описывающее номер строки матрицы, в которой расположен данный элемент. При этом сам элемент цифрово- го изображения (ячейка прямоугольной матрицы) носит название пиксель (pixel, picture element). В простейшем случае каждый пиксель 1т|л,//1 имеет скалярное целочисленное значение, пропорциональное значению функции распределения яркости /(.г,у) в данной точке плоскости. На рис. 2.1.1 слева показано изображение женского лица, представленное как изображение, а справа показан увеличенный фрагмент изображения того же лица (правый глаз), где для каждого элемента изображения указано соответствующее
60 Цифровые изображения Рис. 2.1.1. Цифровое изображение как двумерная матрица интенсивностей числовое значение пикселя. Светлым элементам изображения соответствуют большие значения матрицы, темным - меньшие значения. Никакой другой ин- формации цифровое изображение не содержит. Начиная изучать машинное зрение, необходимо четко представлять себе, что в компьютере в качестве цифрового изображения хранится только и исключи- тельно двумерный массив чисел того или иного формата. Любые другие данные, которые мы хотели бы из изображения извлечь (фигуры, линии, объекты, разме- ры, содержание изображенного текста и т. д. и т. п.) - могут быть получены лишь в результате применения ряда процедур обработки и анализа изображения, кото- рые мы должны либо сами запрограммировать, либо использовать готовые про- цедуры, имеющиеся в известных пакетах программ для анализа изображений (та- ких как IMAQ. Vision). При этом для решения простых задач компьютерного зрения готовые средства наверняка найдутся в стандартных библиотеках проце- дур обработки изображений, для решения задач посложнее необходимо будет скомбинировать те или иные готовые процедуры, а для многих вполне «обыден- ных» задач, которые «биологическое» зрение человека, казалось бы, решает легко и играючи, компьютерное машинное зрение до сих пор решений не имеет и все еще продолжает их искать. Ведь используя свое естественное зрение, человек лег- ко ориентируется в любой обстановке, узнает предметы, выбирает путь, управля- ет автомобилем и многое, многое другое. Почему же компьютер, получающий изображение от видеокамеры, всего этого не может? Может быть, дело в строении человеческого глаза? На самом деле человеческий глаз, как и видеокамера, всего лишь формирует «видимое поле», аналогичное цифровому изображению. При этом оптическая си- стема, состоящая из зрачка и хрусталика, проецирует двумерное изображение на сетчатку глаза, где фоточувствительные клетки («палочки» и «колбочки») преоб- разуют полученное изображение в нервные импульсы. И только после этого сложный механизм обработки полученной информации, функционирующий в соответствующем отделе нашего мозга, интерпретирует эти импульсы как по- нятное нам изображение видимой сцены. Таким образом, и у человека функцию «видения» выполняет не один только глаз, но система «глаз + мозг» («сенсор + компьютер»). Именно встроенные в мозг алгоритмы обработки информации по- зволяют человеку понимать то, что он видит. Роль этих встроенных алгоритмов можно пояснить на следующем примере.
Растровое изображение 61 Когда в середине XX века хирурги-офтальмологи научились делать операции на хрусталике глаза, у многих слепых от рождения людей появилась техническая возможность прозреть. То есть после такой операции у человека, доселе слепого (свет просто не проходил через хрусталик), изображение на сетчатке начинало формироваться, и соответствующие сигналы начинали поступать в мозг совер- шенно так же, как это происходит у здоровых людей. К сожалению, в данном слу- чае «увидеть свет» не означало «начать видеть». Как показала дальнейшая исто- рия, большинство «технически прозревших» взрослых пациентов так никогда и не смогли достичь в области зрения более существенных результатов, чем распоз- навание простых геометрических фигур - и даже это требовало от них серьезных сознательных усилий. Узнавание же людей по лицам и ориентирование в про- странстве так и остались для них непосильными задачами. Дело в том, что те встроенные механизмы «автоматического» зрительного анализа, которые разви- ваются у людей в раннем детстве, у этих пациентов не были своевременно разви- ты, и они оказались в положении компьютера, имеющего устройство для ввода изображения, но не имеющего необходимого программного обеспечения для его анализа. Для того чтобы окончательно убедиться в сложности стоящей перед нами зада- чи анализа изображения, представляющего собой двумерный массив числовых дан- ных, попробуем поставить себя на место компьютерной программы, имеющей дело с абстрактными числами. Для этого мысленно изменим модальность восприятия изображения - переведем его из визуальной области в тактильную. Представим двумерный массив значений интенсивности как шахматную доску, размер которой равен размеру изображения (DimXxDimY), а в центр каждой клетки воткнут стол- бик, высота которого пропорциональна значению соответствующего пикселя изоб- ражения. Иными словами, рассмотрим двумерное изображение как некую услов- ную трехмерную поверхность. На рис. 2.1.2 слева фрагмент женского лица показан как изображение, а справа изображен как псевдотрехмерный рельеф. Рис. 2.1.2. Цифровое изображение как псевдотрехмерный рельеф Теперь представьте себе, что вы должны, не глядя на изображение, ощупать соответствующий ему «рельеф» и постараться определить, что именно этот «ре- льеф» изображает - дом, собаку или человеческий глаз? Как показывают экспе- рименты, средний человек не в состоянии справиться с подобной задачей. Даже распознавание простейших геометрических фигур в подобном «рельефном»
62 Цифровые изображения представлении будет связано со значительными усилиями и потребует сознатель- ной выработки специального навыка, стратегии и алгоритмов ощупывания. Тако- ва, несмотря на кажущуюся простоту объекта «цифровое изображение», истин- ная сложность задач компьютерного и машинного зрения. 2.1.2. Алгебраические операции над изображениями Казалось бы, мы только начали знакомство с изображением как с семантической сущностью и компьютерным типом данных. Однако уже на этом этапе мы можем рассмотреть первые операции цифровой обработки, которые могут применяться к изображениям в компьютере. Рассмотрим для начала алгебраические операции, которые осуществляются над цифровыми изображениями как над растровыми объектами (двумерными матрицами) в целом. Это так называемые операции попиксельного сравнения изображений. Здесь предполагается, что мы имеем два цифровых изображения !т\ и 1т2 одного типа и одного размераDimXxDimY. В этом случае мы можем осу- ществить над находящимися в одинаковых позициях этих изображений пикселя- ми 1т1[х,у] и 1т2[х,у] соответственно любые арифметические или логические операции, которые в принципе могут быть осуществлены над двумя числами. Мы можем найти их сумму: 1тЗ[х,у] = 1т1[х,у] + 1т2[х,у], для всехх = O..DimX - 1,у = O..DimY- 1; или разность: Im3[x,y] = 1т1[х,у] - 1т2[х,у], для всехх = O..DimX - 1,у = O..DimY- 1; или побитовое ИЛИ: 1тЗ[х,у] = Iml[x,y] OR 1т2[х,у], для всех х = O..DimX - 1,у = O..DimY- 1; ит. д. Изображение 1тЗ того же типа и размера, сформированное в результате при- менения такой попиксельной операции, мы будем называть соответственно сум- мой или разностью, или «побитовым ИЛИ» исходных изображений 1ml и /m2. Все алгебраические операции, с одной стороны, крайне просты, а с другой - весьма полезны в процессе анализа изображения. Поэтому именно с них мы нач- нем свое знакомство с обработкой изображений в системе LabVIEW с использо- ванием средств IMAQ Vision. Функции IMAQ: Палитра Operators Палитра Operators содержит функции, реализующие попиксельные алгебраичес- кие операции над растровыми изображениями как двумерными массивами дан- ных. Далее для краткости условимся называть подобные действия над всем изоб- ражением в целом аналогично названию операции, которая осуществляется над каждым его пикселем, то есть будем говорить о «сложении изображений», «разно- сти изображений», «умножении изображений» и т. п. Список таких алгебраиче- ских операций, реализованных в палитре Operators, перечислен ниже в табл. 2.1.1.
Растровое изображение 63 Таблица 2.1.1. Функции палитры Operators N Название функции Операция над пикселями Смысл операции 1 IMAQ Absolute Difference /тЗ[х,у] = abs(/m1 [х, у] - /m2 [х, у]) Модуль разности 2 IMAQ Add /тЗ[х,у] = /т1 [х, у] + /m2 [х, у] Сумма 3 IMAQ Aid /тЗ[х,у] = /ml [х,у] and /m2 [х, у] Побитовое логическое И 4 IMAQ Compare /тЗ[х,у] = ор(/т1 [х,у] > /m2 [х, у]) Сравнение изображений. Если условие справедливо, приме- няется операция ор, выбран- ная из списка 5 IMAQ Divide /тЗ[х,у] = /т1 [х,у] / /m2 [х, у] Деление 6 IMAQ LogDiff ***(см. описание ниже) Логическая побитовая разность 7 IMAQ Mask /тЗ[х,у] = /т1 [х,у] and (/т2[х,у] > 0) «Маскирование»: в выходное изображение передаются только те пиксели исходного, которые соответствуют ненулевым пикселям изобра- жения-маски 8 IMAQ Modulo /тЗ[х,у] = /ml [х,у] mod Im2[x,y] Остаток целочисленного деления 9 IMAQMulDiv /m3 [х, у] = (/ml [х,у] х Const) / /m2[х,у] Умножение на константу и деление на изображение 10 IMAQ Multiply /тЗ[х,у] = /т1 [х,у] х 1т2[х,у] Произведение 11 IMAQ Or /тЗ[х,у] = /т1 [х,у] or 1т2[х,у] Побитовое логическое ИЛИ 12 IMAQ Subtract /тЗ[х,у] = /т1 [х,у] - 1т2[х,у] Разность 13 IMAQ Xor /тЗ[х,у] = /т1 [х,у] хог 1т2[х,у] Побитовое логическое исключающее ИЛИ Рассмотрим подробнее каждую из этих операций, сопровождая примеры их работы примерами схем обработки изображений, собранных в среде LabVIEW. Функция IMAQ: Absolute Difference Функция Absolute Difference (рис. 2.1.3) осуществляет попиксельное вычитание изображений. Результат операции берется по модулю. Constant Image Src А Image Dst Image Src В error in (no error] Image Dst Out error out Рис. 2.1.3. Функция IMAQ Absolute Difference Пример работы данной функции представлен на рис. 2.1.4. Блок-диаграмма соответствующей схемы обработки представлена на рис. 2.1.5.
64 Цифровые изображения Рис. 2.1.4. Результат работы функции Absolute Difference Рис. 2.1.5. Блок-диаграмма Функция IMAQ: Add Функция Add (рис. 2.1.6) позволяет производить попиксельное сложение интен- сивности двух изображений или же добавлять определенную константу к интен- сивности исходного изображения. В упражнении, результаты которого представлены на рис. 2.1.7, складываются два 8-битных изображения. Если сумма интенсивностей пикселей оказывается
Растровое изображение 65 Constant Image Src А ***°***ГГ; Image Src В error in Ino error] ’ Image Dst Out error 0Uf Рис. 2. 1.6. Функция IMAQ Add больше 255, она устанавливается равной 255, чтобы не происходило переполне- ние байта выходного изображения, которое также является 8-битным. Если 8-битное изображение складывается с 16-битным, то результат функции становится 16-битным. Если 8-битное изображение прибавляется к цветному изображению в формате RGB, то оно добавляется к каждой из трех плоскостей. Результирующее изобра- жение в таком случае будет также иметь формат RGB. Пример сложения двух изображений представлен на рис. 2.1.7. Блок-диаграм- ма соответствующей схемы обработки представлена на рис. 2.1.8. Рис. 2.1.7. Результат операции Add Функция IMAQ: And Функция And (рис. 2.1.9) позволяет осуществить логическую операцию И между двумя входными изображениями или изображением и константой. В табл. 2.1.2 сведена истинность для данного оператора. Таблица 2.1.2. Таблица истинности логической операции И А В A AND В TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE При этом логические операции можно проводить не только над булевыми пе- ременными, но и над целыми числами. Логические операции над целыми числами осуществляются побитово, то есть для каждого бита отдельно. В данном примере
66 Цифровые изображения Рис. 2.1.8. Блок-диаграмма And/Nand (And) Image Src А Image Dst Image Src В error in (no error) Constant Image Dst Out error out Рис. 2. 1.9. Функция IMAQ Aid побитовая операция И применяется к 8-битным полутоновым изображениям. При этом совпадающие единичные биты пикселей дают единичные биты резуль- тирующего пикселя, все остальные сочетания значений бит дают нулевое значе- ние выходного бита. Результат операции И для двух изображений представлен на рис. 2.1.10. Блок- диаграмма представлена на рис. 2.1.11. Функция IMAQ: Compare Функция Compare (рис. 2.1.12) позволяет попиксельно сравнить два изображе- ния или изображение и константу.
Растровое изображение 67 Рис. 2.1.10. Результат работы функции Aid Рис. 2.1.11. Блок-диаграмма При этом результирующее изображение формируется в зависимости от ре- зультата операции сравнения. Так, например, если выбрана операция clear if < (очистить, если меньше), пиксель (х,у) результирующего изображения устанав- ливается в 0, если соответствующий пиксель изображения Image Src А(х,у) будет иметь меньшую интенсивность, чем пиксель изображения Image Src В(х,у). Если же Image Src А(х,у) имеет большую либо равную интенсивность по сравнению с Image Src В(х,у), пиксель выходного изображения принимает значение Image
68 Цифровые изображения Operator Image Src А Image Dst‘ Image Src В error in [no error] ° Constant В === Image Dst Out error out Рис. 2.1.12. Функция IMAQ Compare Src (х,у). Иными словами, в результате этой операции с исходного изображения Image Src А(х,у) оказываются «стерты» (обнулены) все пиксели, значения кото- рых меньше, чем значения соответствующих пикселей Image Src В(х,у). Список операций «сравнения» изображений, реализованных в данной функции: • установить среднюю интенсивность; • установить минимальную интенсивность; • установить максимальную интенсивность; • очистить, если <; • очистить, если < или =; • очистить, если =; • очистить, если >; • очистить, если > или =. Результат действия функции Compare при выбранном режиме сравнения «ус- тановить среднюю интенсивность» представлен на рис. 2.1.13. Соответствующая блок-диаграмма представлена на рис 2.1.14. Рис. 2.1.13. Результат функции Compare при использовании операции «установить среднюю интенсивность» Функция IMAQ: LogDiff Функция LogDiff (рис. 2.1.15) производит логическую операцию, которая в пик- селях исходного изображения Image Src А оставляет единичными только те биты, которые отсутствуют в соответствующих пикселях изображения Image Src В. Результат действия этой функции показан на рис. 2.1.16. Блок-диаграмма представлена на рис. 2.1.17.
Растровое изображение 69 Рис. 2. 1. 14. Блок-диаграмма Constant-------1 Image Src А г*--. Image Dst Out Image Dst „ Image Src В - l~error out error in Ino error] Рис. 2.1.15. Функция IMAQ LogDiff Рис. 2.1.16. Результат функции LogDiff
70 Цифровые изображения Рис. 2. 1. 17. Блок-диаграмма Функция IMAQ: Modulo Функция Modulo (рис. 2.1.18) делит изображение Image Src А на изображение Ima- ge Src В (или на константу) нацело и находит остаток от этого деления (рис. 2.1.19). Если, например, пиксель Image Src А(х,у) = 100, а соответствующий ему пик- сель Image Src В(х,у) = 30, то результат целочисленного деления Image Src А(х,у) mod Image Src B(x,y) будет иметь интенсивность 10 градаций серого (так как 100 = 30x3+ 10). Блок-диаграмма соответствующей схемы обработки представлена на рис. 2.1.20. Constant Image Src A Image Src В error in |no error] 0 ” I mage Dst Out error out Рис. 2.1.18. Функция IMAQ Modulo
Растровое изображение 71 Рис 2.1.19. Результат операции Modulo Рис. 2.1.20. Блок-диаграмма Функция IMAQ: MulDiv Функция MulDiv (рис. 2.1.21) производит умножение изображения Image Src А на заданную константу, а затем делит на изображение Image Src В. Данная функция автоматически производит преобразование типов для изоб- ражений, необходимое для того, чтобы при умножении не была потеряна инфор- мация при отсечении по верхней границе диапазона. Пример операции MulDiv представлен на рис. 2.1.22, блок-диаграмма соответ- ствующей схемы обработки - на рис. 2.1.23.
72 Цифровые изображения Constant image oic м I i mage и si uut Image Dst Image Src В error in [no error] 0 =™ error out Рис. 2.1.21. Функция IMAQ MulDiv Рис. 2.1.22. Результат операции MulDiv Рис. 2.1.23. Блок-диаграмма
Растровое изображение 73 Функция IMAQ: Or Функция Or (рис. 2.1.24) позволяет произвести попиксельную побитовую опера- цию ИЛИ над двумя изображениями или изображением и константой. □ r/'Nor [Or] Image Src A Image Dst Image Src В error in (no error] Image Dst Out error out Рис. 2. 1.24. Функция IMAQ Or В табл. 2.1.3 приведена истинность для операции ИЛИ. Таблица 2.1.3. Таблица истинности логической операции ИЛИ А В A OR В TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE Результат применения данной функции к двум полутоновым изображениям представлен на рис. 2.1.2, блок-диаграмма соответствующей схемы обработки - на рис. 2.1.26. Рис. 2.1.25. Результат операции Or Функция IMAQ: Subtract Функция IMAQSubtract (рис. 2.1.27) позволяет вычесть из одного изображения другое или константу (рис. 2.1.28). Если результат вычитания меньше нуля, соответствующий пиксель выходного изображения устанавливается равным 0 - с тем, чтобы выходное изображение со- хранило формат «байт без знака».
74 Цифровые изображения Рис. 2.1.26. Блок-диаграмма Image Src В error in Ino error] Constant Image Src A Image Dst Out error out Рис. 2.1.27. Функция IMAQ Subtract Рис. 2.1.28. Результат операции Subtract
Виды изображений 75 Функция IMAQ: Хог Функция IMAQ Хог (рис. 2.1.29) позволяет произвести логическую операцию Исключающее ИЛИ над двумя изображениями или изображением и константой. Хог/Хпог (Хог) Image Src А Image Dst Image Src В error in (no error) Constant Image Dst Out error out Рис. 2.1.29. Функция IMAQ Xor Истинность для операции Исключающее ИЛИ приведена в табл. 2.1.4. Таблица 2.1.4. Таблица истинности логической операции Исключающее ИЛИ А В AXOR В TRUE TRUE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE Пример работы оператора Xor представлен на рис. 2.1.30. Ненулевые значения имеют те биты пикселей выходного изображения, для которых соответствующие значения битов пикселей входных изображений совпали. Рис. 2.1.30. Результат операции Хог 2.2. Виды изображений Рассмотрим теперь различные виды цифровых изображений, с которыми прихо- дится сталкиваться на практике.
76 Цифровые изображения 2.2.1. Физическая природа изображений С физической точки зрения большинство изображений, с которыми приходится сталкиваться на практике, представляют собой зарегистрированное некоторым специальным датчиком (сенсором) двумерное распределение интенсивности электромагнитного излучения, отраженного объектом регистрации или прошед- шего сквозь него. Помимо электромагнитного излучения, часто встречающимися источниками изображений являются акустические и ультразвуковые волны, электронные пучки (в области электронной микроскопии), а также различные двумерные поля дальностей и скоростей, формируемые на основе анализа электро- магнитных сигналов, но не содержащие непосредственно значения электромагнит- ных характеристик. В последние годы в области нанотехнологий возник новый интересный тип измерительных устройств - контактные микроскопы с молеку- лярным и даже атомарным разрешением. Они также являются источниками дву- мерных информационных «измерительных» полей. Изображения различных диапазонов длин волн В пределах электромагнитного спектра, в свою очередь, также выделяются от- дельные диапазоны длин волн, в каждом из которых изображения имеют свои физические особенности и соответственно используются в различных областях применения. В табл. 2.2.1 приведено условное разбиение электромагнитных волн на диапазоны. Следует иметь в виду, что такое деление является достаточно не- четким и приблизительным. Многие диапазоны существенно перекрываются, и уверенно говорить о принадлежности данного вида излучения к данному диапа- зону можно лишь вдали от его границ. Таблица 2.2.1. Диапазоны длин волн электромагнитного излучения Тип излучения Длина волны (м) Энергия фотона (эВ) Т 10'12 106 Г амма-излучение 10'11 ю5 Рентгеновское Ю-10 ю4 излучение 10'9 103 Ультрафиолетовое 10'8 ю2 излучение 10'7 101 Видимый свет 10'6 1 Инфракрасное 10'5 10'1 излучение 10'4 10-2 10'3 10'3 Микроволновое 10-2 10'4 излучение (СВЧ) 10'1 10'5 1 10'6 101 10'7 Радиоволны ю2 10'8 1 103 10'9
Виды изображений 77 Как известно из квантовой механики, электромагнитные волны имеют двой- ственное описание в виде потока частиц - квантов излучения (фотонов). При этом энергия фотона соответствует длине волны так, как это показано в табл. 2.2.1. По- скольку в большинстве современных устройств регистрация электромагнитного излучения с целью получения изображений основана на том, что фотоны, попада- ющие на приемник изображения, своей энергией выбивают электроны, количе- ство которых и определяет снимаемый с регистрирующего элемента заряд, полез- но представлять себе энергетические характеристики фотонов для различных длин волн. Исторически наибольшее значение для человека имеет диапазон длин волн, включающий видимый свет и прилегающие к нему области. Этот участок спектра более подробно представлен в табл. 2.2.2. Таблица 2.2.2. Характеристики волн видимой части спектра и прилегающих к ним областей Тип излучения Длина волны (м) Частота (х1014 Гц) Ближнее инфракрасное излучение 1,0x10'6 3,0 Красный свет максимальной длины волны 7,6х10'7 3,9 в видимой области Оранжевый свет 6,1 х10'7 4,9 Желтый свет 5,9х10'7 5,1 Зеленый свет 5,4х10'7 5,6 Голубой свет 4,6х10'7 6,5 Синий свет минимальной длины волны 4,0х10'7 7,5 в видимой области Ближнее ультрафиолетовое излучение 3,0х10'7 10 Рассмотрим теперь очень коротко, какие типы изображений различной физи- ческой природы используются в различных практических областях применения. Изображения, полученные с помощью гамма-излучения, используются в ос- новном в медицинской радиологии и астрономических наблюдениях. Рентгеновские изображения используются в медицине, системах промышлен- ного технического контроля и различных системах обеспечения безопасности. В медицине активно используются два вида рентгеновских изображений: • традиционные рентгенограммы, являющиеся проекцией рентгеновского излучения, прошедшего сквозь тело пациента, на которых хорошо видно со- стояние и расположение костей скелета, суставов и внутренних органов че- ловека; • томографические изображения, представляющие собой набор простран- ственных «срезов» человеческого тела, характеризующийся гораздо более высокой четкостью и точностью локализации различных органов и образо- ваний (о том, как формируются томограммы, см. следующий раздел). В промышленности рентгеновские изображения используются в системах не- разрушающего контроля для определения скрытых дефектов различных деталей
78 Цифровые изображения и изделий. В системах безопасности рентгеновские изображения используются в качестве детекторов различных металлических и других предметов при входном или выходном контроле в различных местах массового прохода людей и провоза товаров, например в аэропортах, на вокзалах, в проходных предприятий и т. п. Цифровые рентгеновские изображения формируются двумя основными спо- собами: • путем оцифровки традиционных рентгеновских пленок, • путем непосредственной регистрации светового излучения, порождаемого специальными рентгеновскими экранами, переводящими рентгеновское из- лучение в световое. Ультрафиолетовые изображения используются в производственном контроле, микроскопии, лазерной технике, медицинских и астрономических наблюдениях. Инфракрасный диапазон, в свою очередь, обычно разбивают на два поддиапа- зона: тепловой ИК-оиапазон и ближний ИК. ИК-изображения, полученные в тепловом диапазоне (8-14 мкм), позволяют непосредственно пересчитывать интенсивность элементов изображения в значе- ния температуры наблюдаемых поверхностей. Холодные объекты на таких изоб- ражениях предстают более темными, а теплые объекты - яркими, а горячие - «светящимися» (так как они нагревают и воздух рядом с собой). Такие изображе- ния используются в самых различных областях применения: • в системах промышленного и экологического мониторинга, выявляющих утечки тепла в различных технических устройствах, сетях теплотрасс и т. п.; • в системах военного назначения для наведения на «горячие» объекты воен- ной техники, например двигатели, факелы ракет и т. п.; • в биометрических системах, например в системах автоматического контро- ля доступа на основе термограмм человеческого лица, представляющих со- бой уникальные изображения, которые чрезвычайно сложно подделать в отличие от обычных фотографий в видимом диапазоне; • а также в множестве других областей и приложений. Для получения изображений в глубоком ИК-диапазоне используются специ- альные устройства - тепловизоры. Долгие годы развитие тепловизионных систем сдерживалось большими габаритами тепловизоров, их большой стоимостью и не- удобством эксплуатации, связанным с необходимостью использовать для охлаж- дения регистрирующих матриц жидкого азота. В последние десятилетия в этом направлении произошел существенный прогресс. Созданы достаточно портатив- ные и экономичные системы тепловидения, не требующие охлаждения жидким азотом и при этом обеспечивающие необходимое качество тепловизионных изоб- ражений. Изображения, полученные в ближнем ИК-диапазоне, по большинству своих характеристик схожи с изображениями видимого диапазона, однако съемка в ближнем ИК позволяет снимать ночью, когда света для обычной видеосъемки недостаточно. Таким образом, существенной областью применения изображений ближнего ИК является ночное видение. Другой областью применения ИК систем является невидимая ИК-подсветка. Здесь принципиальным моментом является
Виды изображений 79 то, что большинство современных видеокамер для технического зрения «видят» в ближнем ИК-диапазоне так же хорошо, как и в видимом. В то же время человек не в состоянии видеть изображения в ИК-диапазоне. Таким образом, системы технического зрения в ИК-диапазоне могут специально подсвечивать те или иные элементы сцены незаметно для человека, не создавая для него дискомфорта и во- обще никак не проявляя своего присутствия. Во многих системах ночного видения (например, в системах видеонаблюдения охранного назначения) используются ИК-прожекторы, увеличивающие общую ИК-освещенность сцены наблюдения. В технических измерительных системах на производстве, где зачастую требуется специальным образом подсветить часть детали (например, контролируемый про- филь поверхности), такая структурированная подсветка также часто осуществ- ляется в ближнем ИК-диапазоне. С теми же свойствами «невидимости» для чело- веческого глаза связано и использование специально нанесенных ИК-элементов (а также и У Ф-элементов) в системах контроля подлинности денежных банкнот и других ценных бумаг. Изображения видимого диапазона используются практически во всех облас- тях машинного зрения, поскольку это тот диапазон регистрации изображений, в котором полученные изображения выглядят наиболее привычно и естественно для человеческого глаза. Следует отметить, что в течение первых десятилетий развития компьютерного зрения цифровые изображения рассматривались ис- ключительно как полутоновые (halftone), то есть содержащие не цветные элемен- ты, а квантованные градации серого (gray levels) - от черного до белого. В после- дние годы, с появлением высококачественных экономичных цветных цифровых фотоаппаратов и видеокамер цифровое изображение по умолчанию все чаще рас- сматривается как цветное, имеющее в каждом пикселе три цветовые компоненты. Как известно, любой произвольный цвет может быть получен путем смешения (линейного суммирования с различными весами) трех различных чистых цветов. Традиционное представление цветных изображений в компьютере основано на цветовой тройке RGB (red, green, blue - красный, синий, зеленый). На этапе ана- лиза цветных изображений часто осуществляется переход к другим цветовым пространствам, например HSI (цвет, насыщенность, интенсивность). Более под- робно об этом будет рассказано в отдельном разделе, посвященном обработке цветных изображений. Микроволновые изображения применяются в области радиолокации. Излуча- тель радиолокатора постоянно (вариант - импульсно) испускает электромагнит- ное излучение, отражение которого от различных объектов затем регистрирует антенна радиолокатора. В связи с тем что антенна радиолокатора - сложный ра- диотехнический прибор, мало похожий на матрицу традиционного приемника изображения, радиолокационные изображения имеют более сложную и необыч- ную геометрию, которая, впрочем, может быть преобразована в традиционную путем специальной математической обработки. Радиолокационные изображения характеризуются, как правило, высоким контрастом и могут служить для быстро- го автоматического выделения объектов, присутствующих в поле зрения радио- локационной системы. В то же время особенностью радиолокационного изобра-
80 Цифровые изображения жения реальной сцены является отсутствие на нем объектов, слабо отражающих волны микроволнового диапазона. Существенным достоинством радиолокацион- ных изображений является то, что они могут быть получены на больших расстоя- ниях, на которых четкость оптической съемки теряется из-за рассеяния света в атмосфере. Более того, микроволновое излучение способно проникать даже сквозь облака, растительный покров, лед и сухой песок. Все это делает микровол- новую съемку чрезвычайно привлекательной для применений в военной области, а также в области глобального мониторинга Земли из космоса и с авиационных носителей. Радиоволновые изображения преимущественно используются в медицине и ас- трономии. Достаточно сказать о том, что наиболее современный метод получения медицинских томографических изображений высокого разрешения - ЯМР(ядер- ный магнитный резонанс) основан на регистрации радиоволновых сигналов кле- ток человеческого тела, помещенных в сильное магнитное поле и возбуждаемых короткими волновыми импульсами в радиодиапазоне. Изображения различной физической природы Акустические изображения активно используются в геологии, промышленности и медицине. Ультразвуковые изображения применяются во множестве областей промышленности и техники, но наиболее известно их применение в медицине - для получения внутриматочных изображений человеческого плода в утробе мате- ри, а также для быстрой инспекции патологий различных внутренних органов че- ловека. Следует отметить, что медицинское ультразвуковое изображение содер- жит не просто интенсивность отраженного ультразвукового сигнала, а еще и дальность до отражающей поверхности, вычисленную на основе расчета скорости распространения ультразвукового сигнала в человеческих тканях. Двумерные поля дальностей формируются на основе анализа электромагнит- ных сигналов, испускаемых и принимаемых по локационной схеме. В качестве таких дальнометрических систем в последние годы все чаще используются лазер- ные локаторы, позволяющие осуществлять оптическое сканирование трехмерных поверхностей с больших расстояний (до десятков километров), обеспечивая при этом максимально возможное разрешение. Так же как и в случае ультразвуковых картин, дальнометрический локатор сканирует поверхность, испуская серии ко- ротких волновых импульсов, отражения которых от поверхности объекта регист- рируются приемником локатора, после чего рассчитывается время прохождения импульса до объекта и обратно, откуда окончательно определяется дальность до точки поверхности объекта. Получаемое изображение называется в таком случае картой глубин и содержит непосредственные значения расстояний от локатора до точек поверхности объекта - то есть непосредственно измеренный трехмерный рельеф данной поверхности. Двумерные поля дальностей находят широкое при- менение в области картографии, дистанционного зондирования Земли, техниче- ских измерений и технического контроля в промышленности и многих других об- ластях.
Виды изображений 81 Двумерные поля скоростей формируются аналогичным образом - за счет излу- чения и приема волновых импульсов. Однако пиксели таких изображений содер- жат уже не значения расстояний до соответствующих точек, а значения скоростей движения этих точек отражающей поверхности. Вычисление скоростных харак- теристик осуществляется за счет анализа доплеровского сдвига отраженного сиг- нала. В таком случае говорят, что локационное изображение имеет смысл карты скоростей, а локатор работает в режиме СДЦ (селекции движущихся целей). Дву- мерные поля скоростей используются в системах различного назначения преиму- щественно в целях выделения движущихся объектов. В заключение данного краткого обзора изображений различной физической природы необходимо отметить, что многие современные системы зрения основа- ны не на анализе изображений одного типа, а на комплексировании (fusion) дву- мерных данных, получаемых в различных диапазонах длин волн, а также данных, получаемых от устройств, основанных на различных физических принципах. В частности, в области исследований Земли из космоса стандартом стала мульти- спектральная съемка (съемка земной поверхности одновременно в нескольких диапазонах видимого света и ближнего ИК). Получаемые в результате многозо- нальные изображения, каждый пиксель которых имеет целый вектор значений, полученных в близких, но отличающихся спектральных диапазонах, позволяют с высокой надежностью автоматически выделять на этих изображениях области растительности разного вида, различные типы почв и т. д., и т. п. В последние годы речь идет уже не о многозональной, а о гиперспектральной съемке, при которой задействуются уже не несколько, а десятки и даже сотни близко расположенных узких волновых диапазонов. С другой стороны, комбинирование источников изображений различной физической природы позволяет удачно «поделить» меж- ду ними функции единой системы машинного зрения. Например, робототехни- ческая система, объединяющая установленные на единой платформе телекамеру высокого разрешения, тепловизор и локатор в режиме СДЦ, имеет возможность быстро автоматически выделить в поле зрения только теплые движущиеся объек- ты, после чего внимательнее рассмотреть и проанализировать их форму и харак- теристики на детальном изображении видимого диапазона. 2.2.2. Тип пикселя Рассмотрим теперь растровое цифровое изображение как чистую структуру дан- ных, абстрагировавшись от всего, что было изложено выше и касалось физиче- ских особенностей и способов их получения. Поскольку с геометрической (и про- граммной) точки зрения структура любого изображения совершенно стандартна и представляет собой регулярный двумерный массив (матрицу) пикселей, раз- личные типы изображений могут порождаться только оригинальным типом дан- ных, представляющим пиксель. В табл. 2.2.3 сведены основные варианты структур двумерных растровых дан- ных различного типа.
82 Цифровые изображения Таблица 2.2.3. Изображения с различным типом пикселя Тип пикселя Емкость (в битах) Яркостное разрешение (диапазон значений) Семантический смысл Bit (Boolean) 1 [0,1] Бинарное изображение: 0 - «фон», 1 - «объект» Byte (char, shortint) 8 [0...255], [-128...127] Полутоновое изображение стандартного яркостного разреше- ния - со знаком и без знака Integer 10, 12, 16 [О...21О-1], [-29...29-1], Полутоновое изображение (word, int) [0...212-1], [—211.. .211 — 1 ], [0...216—1 ], [-215...215-1] повышенного яркостного разреше- ния - со знаком и без знака. Меточные изображения Long 32, 64 [0...232-1], [-231 ...231-1 ], Полутоновое изображение (double word, long int) [О...264-1 ], [-263...263-1] высокого яркостного разрешения - со знаком и без знака RGB (TColorRef) 24, 32 [{0,0,0}...{255,255,255}] [{0,0,0,0}... {255,255,255,255}] Цветное изображение. Разреше- ние 8 бит на цветовой канал. С выравниванием и без Real (fixed, float, double) **(зависит от реализации) Действительнозначное изображе- ние. Результат обработки Complex **(зависит от реализации) Комплексное изображение. Результат перехода в частотную область Vector (array of...) **(зависит от реализации) Векторное изображение. Многозо- нальные и гиперспектральные данные. Результаты комплексиро- вания. Результаты вычисления множественных признаков По типу данных изображения делятся на битовые (булевские, логические), байтовые (со знаком и без знака), целочисленные (со знаком и без знака), дей- ствительные (с фиксированной и плавающей точкой), цветные (специальный тип данных) и векторные (пиксель представляет собой массив или список численных значений). В семантическом плане об этих типах изображений можно вкратце сказать следующее: • Бинарные изображения (битовые, булевские, логические). О обозначает пиксель«фона», 1 - пиксель «объекта», «символа» (или наоборот - зави- сит от знака контраста «объект/фон»). В качестве исходного бинарное изображение формирует только один тип устройств ввода - оптический сканер в режиме сканирования текстовых документов. В качестве проме- жуточных и окончательных результатов обработки изображения такого типа широко используются в задачах обнаружения объектов, задачах мор- фометрических измерений, системах автоматического считывания текста и штриховых кодов.
Виды изображений 83 • Полутоновые изображения стандартного разрешения (байтовые без знака). На сегодня разрешение 8 бит (диапазон значений [0...255] - 256 градаций серого) - фактический стандарт для систем видеоввода, способных рабо- тать в реальном времени, - фреймграбберов и цифровых видеокамер для технического зрения и систем видеонаблюдения. Это самый распростра- ненный формат входных полутоновых данных. Соответственно в том же формате представляются и результаты фильтрации полутоновых изобра- жений. Системный тип данных TBitmap поддерживается операционной си- стемой Windows как часть графического интерфейса на системном уровне. • Результаты обработки полутоновых изображений, в которых возможны отрицательные значения пикселей (байтовые со знаком). Короткое целое со знаком используется для представления промежуточных результатов обра- ботки в целях экономии используемого объема памяти. Длинное целое со знаком стандартной и двойной длины используется при реализации всех возможных целочисленных операций над изображениями (например, накоп- ления разнообразных сумм и разностей) в случае, если нет необходимости в специальном ограничении потребных объемов памяти. Действительные значения пикселей используются при реализации различных нецелочислен- ных операций и преобразований над изображениями. В случае если требует- ся ограничить объем задействованной памяти или увеличить быстродей- ствие алгоритмов, вместо представлений с плавающей точкой используются представления действительных чисел с фиксированной точкой. • Полутоновые изображения повышенного разрешения (целочисленные без знака). Используются в тех случаях, когда диапазон в 256 градаций серого не позволяет отразить все богатство исходной информации, предоставляе- мое датчиком в силу его физической природы. Таким образом оцифровыва- ются, в частности, медицинские рентгеновские и томографические изобра- жения, а также астрономические и технические изображения, полученные в результате длительных экспозиций. Многие специализированные меди- цинские и технические устройства формируют на выходе изображения с яркостным разрешением в 10 или 12 бит, однако в компьютерных систе- мах обработки такие данные удобно дополнять до «целого слова» в 16 бит, с которым проще и быстрее оперируют современные 16-, 32- и 64-битные вычислительные архитектуры. • Меточные изображения (целочисленные без знака стандартной или двой- ной длины). Используются при автоматическом выделении связных облас- тей и объектов. Каждый пиксель такого изображения помечен номером об- ласти, которой он принадлежит. Байтовые изображения здесь не подходят, так как в них можно закодировать только 255 различных областей, а на изображениях высокого разрешения их могут оказаться десятки и даже сотни тысяч. • Двумерные частотные характеристики - комплексные изображения, со- стоящие из действительной и мнимой части. Формируются в результате двумерного преобразования Фурье, быстрого преобразования Фурье
84 Цифровые изображения (БПФ), двумерного косинусного преобразования (ДКП) и т. п. преобразо- ваний изображения из пространственной области в частотную. На про- граммном уровне, как правило, реализуются не как двумерный массив ком- плексных чисел (двухкомпонентных векторов), а как пара двумерных массивов (изображений), один из которых представляет действительную часть образа, а второй - мнимую. • Цветные изображения - специальный тип данных, запись формата TcolorRef= {Red, Green, Blue}. Разрешение по каждому из каналов - 8 бит. С целью вы- равнивания до «целого слова» 32-битной архитектуры часто дополняется еще одним 8-битным компонентом: TColorRef32 = {Red, Green, Blue, Reser- ved}. Цветное изображение - системный тип данных. Он поддерживается всеми устройствами ввода цветовых изображений. Кроме того, стандарт- ный тип данных TRGBBitmap поддерживается операционной системой Windows как часть графического интерфейса на системном уровне. • Многозональные и гиперспектральные изображения - векторные, пиксель представляет собой массив целочисленных значений. Формируются специ- альными устройствами ввода. Используются для попиксельной классифи- кации и сегментации изображений. На программном уровне, как правило, реализуются не как двумерный массив векторов, а как набор двумерных изображений, каждое из которых соответствует одной зональной или спек- тральной компоненте. • Признаковые изображения - скалярные или векторные, пиксель представ- ляет собой скаляр, массив или список действительных значений. Представ- ляют собой результат признакового анализа изображений. Используются для попиксельной классификации и сегментации изображений. На про- граммном уровне, как правило, реализуются не как двумерный массив век- торов, а как набор двумерных изображений, каждое из которых соответ- ствует одному типу признаков. 2.3. Устройства оцифровки и ввода изображений В самом общем виде для получения электронного изображения могут использо- ваться: • одиночный чувствительный элемент; • одномерная линейка чувствительных элементов; • двумерная матрица чувствительных элементов. 2.3.1. Линейки и матрицы, сканеры и камеры Простейшим фоточувствительным электронным элементом является всем извес- тный фотодиод. Он строится на базе полупроводника (например, кремния) и со- здает выходное напряжение, пропорциональное освещенности его открытой по- верхности. Если перед воспринимающей поверхностью фотодиода установить фильтр, пропускающий волны только определенного диапазона, можно получить
Устройства оцифровки и ввода изображений 85 приемник изображения, чувствительный в заданном диапазоне электромагнитно- го спектра. На основе пары фотодиод-светодиод (светоизлучающий элемент) построены широко применяемые в технике детекторы пересечения, позволяющие опреде- лить, пересек ли какой-нибудь непрозрачный объект прямую линию, соединяю- щую источник и приемник света. Такие детекторы стоят, например, в турникетах на входе в московское метро. Однако для того чтобы при помощи одиночного фотодиода получить изобра- жение, необходимо, во-первых, создать оптическую систему, проецирующую изображение определенных участков видимой сцены на поверхность фотоприем- ника, а во-вторых, организовать сканирование изображения сцены за счет переме- щения фотоприемника относительно регистрируемой сцены. В самом деле, оди- ночный фоточувствительный элемент без оптической системы способен лишь зарегистрировать уровень освещенности своей поверхности. При этом свет, пада- ющий на его поверхность, приходит со всех сторон в результате излучения многих источников, отражения от множества различных поверхностей и, кроме того, рас- сеяния в воздухе. Нельзя сказать, что зарегистрированный на фотоэлементе уро- вень освещенности относится к какому-либо конкретному участку поверхности или объекту сцены. Для того чтобы такое соответствие можно было установить, необходимо использовать, например, систему линз, называемую также объективом, которая сфокусирует и передаст на поверхность фотоприемника лучи, приходящие строго с выбранного направления и с определенного диапазона расстояний (опре- деляемого фокусным расстоянием объектива). Если фотоэлемент расположен за объективом, то действительно можно говорить о том, что зарегистрированное им значение освещенности соответствует определенному пространственному лучу, проходящему через точку фокуса (пересечения лучей) объектива. Осталось толь- ко организовать «сканирование» - то есть перемещение регистрирующего луча по сцене, чтобы появилась возможность заполнить двумерную матрицу интенсив- ностей и получить, таким образом, цифровое изображение наблюдаемой сцены. В первых исторических системах регистрации изображений съем изображения осуществлялся за счет механического сканирования, то есть перемещения фото- элемента (или сканируемого объекта относительно фотоэлемента) вправо-влево, вверх-вниз. Впоследствии были разработаны более современные схемы оптико- механического сканирования (нашедшие основное применение в лазерных систе- мах), в которых движется не фотоприемник, а сам луч, отклоняемый управляе- мым зеркалом, входящим в состав оптической системы. Следующим распространенным типом приемников изображения являются оптические сканеры, основанные на использовании одномерных линеек фоточув- ствительных элементов. К ним, в частности, относятся хорошо известные план- шетные сканеры, предназначенные для оцифровки бумажных документов. В та- ких системах сканируемый документ помещается на неподвижное плоское основание, а затем над ним (или под ним - в зависимости от конструкции скане- ра) медленно «проезжает» параллельно перемещающаяся сканирующая линейка фоточувствительных элементов, которая «строка за строкой» (или «столбец за
86 Цифровые изображения столбцом») снимает и сохраняет в памяти цифровое изображение документа. Пе- ремещение сканирующей линейки осуществляется за счет работы шагового элек- трического двигателя. За каждый шаг линейка смещается на очень небольшую величину сдвига, так как между соседними линиями изображения не может боль- шого расстояния. Возможна и обратная схема сканирования (реализованная, например, в ряде копировальных аппаратов), когда линейка фотоприемников покоится, а в движе- ние приводится кассета со сканируемым документом. Но и в этом случае меха- ническое движение документа относительно линейки должно быть достаточно медленным и прецизионно равномерным, иначе полученное изображение будет иметь низкое разрешение и серьезные геометрические искажения в направлении сканирования. Указанная проблема ограничивает применение оптических сканеров на базе сканирующих линеек в тех областях, где требуется не постепенное сканирование, а быстрая мгновенная съемка видоизменяющихся динамических сцен. Однако это не означает, что область применения линейных приемников изображения ог- раничена только областью сканирования документов. Напротив, линейные каме- ры парадоксальным образом находят применение именно в тех областях техники, где требуется максимально быстрая регистрация изображений высокого разреше- ния. Речь идет о так называемых системах «естественного сканирования» изобра- жений за счет движения объектов съемки. Представьте себе, например, задачу по- лучения высококачественного изображения быстро движущейся конвейерной ленты, на которой расположены подлежащие автоматической инспекции или ав- томатической сортировке детали. Допустим, необходимое разрешение съемки по одной из координат - 1024 элемента. Конечно, мы могли бы попробовать исполь- зовать двумерную матрицу размером 1024x1024 элемента, но при попытке пере- дать в компьютер снятые этой матрицей мегабайтные (используется также термин мегапиксельные) изображения в темпе, согласованном по скорости с движением ленты конвейера, мы обнаружим, что пропускная способность канала передачи цифровых данных (да и характеристики скорости съемки, обеспечиваемые циф- ровой камерой высокого разрешения) не позволит нам это сделать. Между тем, установив над конвейером линейную камеру, передающую лишь одну строку из 1024 значений пикселей за один такт, мы легко сможем обеспечить необходимые скорость и качество съемки. Сканирование же (то есть развертка изображения во времени в направлении, перпендикулярном линейке фотоэлементов) будет осу- ществляться за счет движения самой конвейерной ленты. Аналогичным образом, на базе линейной камеры можно построить, например, систему контроля качества покрытия автомобильных дорог, осуществляющую сканирование дороги под ав- томобилем-лабораторией, оборудованным такой камерой, за счет движения само- го автомобиля. Самолет, с постоянной скоростью летящий над сканируемой мест- ностью, также позволяет сформировать изображение местности при помощи линейной камеры. Наконец, искусственный спутник, предназначенный для дис- танционного зондирования Земли из космоса, также может сканировать земную поверхность за счет собственного перемещения по орбите.
Устройства оцифровки и ввода изображений 87 И тем не менее в подавляющем большинстве современных систем техническо- го и машинного зрения используются двумерные приемники изображений. Их дос- тоинство заключается в универсальности. Они не имеют ограничения на скорость или направление изменения содержания наблюдаемой сцены, поскольку регист- рация содержимого всех пикселей двумерного изображения происходит в таких системах одновременно. Наиболее распространенным в настоящее время типом двумерных приемников изображений являются CCD-матрицы (ПЗС-матрицы, «приборы с зарядовой связью»), В отличие от фотодиодов, выходной сигнал чув- ствительных элементов такой матрицы пропорционален не текущей освещеннос- ти поверхности элемента, а интегралу энергии излучения, попавшего на элемент за все время экспозиции (то есть за время, пока элемент был открыт). Это позволя- ет, как и в аналоговой фотографии, управлять чувствительностью элементов пу- тем установки времени экспозиции, использовать накопление сигнала и другие подобные приемы. В настоящее время CCD-матрицы выпускаются производи- телями в виде готовых микросхем, которые производители камер и сканеров могут непосредственно устанавливать в свои устройства. Именно CCD-матри- цы служат приемниками изображения как в современных бытовых фото- и видеокамерах, так и в видеокамерах для технического зрения, применяемых в самых ответственных промышленных приложениях. Заметим также, что в со- временных линейных камерах также используются не линейки фотодиодов, а CCD-линейки. 2.3.2. Геометрия изображения Естественно, конструкция приемника изображения и способ организации скани- рования напрямую влияет на его внутреннюю геометрию. Наиболее распространенной является центральная проективная геометрия снимка, характерная для фотоаппаратов и видеокамер с матричными приемника- ми и объективами на базе сферических линз. Геометрия таких изображений будет подробно рассмотрена в главе 5. Другим типом внутренней геометрии является осевая проективная геометрия, характерная для устройств со щелевым сканированием. Встречаются и еще более сложные случаи внутренней геометрии съемки. На- пример, цилиндрическая геометрия некоторых космических фотоаппаратов, про- ецирующих изображение не на плоскость, а на цилиндрическую поверхность. Геометрия радиолокационной съемки определяется устройством антенны и мо- жет быть весьма сложной и нелинейной. Геометрия изображения, полученного от лазерного локатора, определяется алгоритмом развертки управляющей зеркаль- ной системы. Во всех случаях, если перед нами стоит задача измерения и контроля каких- либо элементов сцены или взаимной геометрической привязки элементов изобра- жений различных типов, помимо заранее известной общей геометрической моде- ли приемников изображений подобного типа, мы должны также с максимально возможной точностью знать значения всех параметров этой модели применитель-
88 Цифровые изображения но к данному конкретному экземпляру приемника. Дело в том, что никакие техни- ческие изделия не являются идеальными. Поэтому, приобретая у производителя объектив для видеокамеры с заявленным фокусным расстоянием, например, 12 мм, мы не можем быть уверены, что фокусное расстояние данного объектива действительно ровно 12 мм, а не 12,1 или 11,9. Другие параметры геометрии съем- ки (например, положение центра снимка, через который проходит оптическая ось съемки) также требуют оценки и уточнения до того, как мы сможем использовать геометрическую информацию, полученную от данной камеры в измерительных целях. Более того, на практике ни одна сферическая линза не является в точности сферической. Любой объектив имеет так называемые дисторсии, то есть искаже- ния, отклонения от идеальной геометрии. Аналогичным образом и движение ли- нейки оптического сканера никогда не является идеально параллельным, плав- ным и равномерным. В связи с этим и сканерное изображение имеет не только оптическую геометрию сканирующей системы, но и свои дисторсии и искажения внутренней геометрии изображения. Отсюда вытекает необходимость проведения математической калибровки и компенсации дисторсий для любых практически используемых в технических си- стемах камер и сканеров. Процедуры такой калибровки для камер с центральной проективной геометрией будут также рассмотрены в главе 5. К сожалению, опти- ческие системы многих дешевых бытовых устройств ввода изображений столь несовершенны, что даже математическая калибровка не в состоянии придать им метрические свойства. Это относится, в частности, к большинству USB-камер и цифровых камер, встроенных в сотовые телефоны. 2.3.3. Цифровые и аналоговые устройства Говоря о существенных характеристиках приемников изображений, необходимо упомянуть о том, что выходной сигнал устройства, непосредственно регистриру- ющего изображение, может быть цифровым или аналоговым. Аналоговый видеосигнал формируется аналоговыми видеокамерами или ви- деомагнитофонами. Как правило, в этом плане вы можете столкнуться со стандар- тными видеосигналами в формате PAL, SECAM или NTSC. Для того чтобы ввести аналоговый видеосигнал в компьютер в виде цифрового изображения или после- довательности цифровых изображений, необходимо использовать специальное дополнительное оборудование - устройство видеоввода, или фреймграббер. Фреймграббер представляет собой аналогово-цифровой преобразователь и одно- временно декодер формата изображения, который позволяет непосредственно подключить на вход видеосигнал от аналоговой камеры, телевизионной антенны или видеомагнитофона, после чего данные в цифровом формате начинают посту- пать в компьютер по шине данных (например, по шине PCI, если это встроенная плата видеоввода с PCI-разъемом) либо через один из внешних портов, если это внешний фреймграббер, выполненный в виде отдельного устройства. В современ- ных технических системах, как правило, используются встроенные фреймграббе- ры, обеспечивающие более высокую скорость передачи данных. Большинство со-
Устройства оцифровки и ввода изображений 89 временных фреймграбберов позволяют осуществлять оцифровку аналоговых сигналов всех стандартных типов, однако контроль за тем, чтобы выбранные па- раметры оцифровки соответствовали характеристикам оцифровываемого сигна- ла, в большинстве случаев ложится на пользователя. Цифровые камеры, цифровые фотоаппараты и цифровые сканеры сразу фор- мируют изображение в цифровом виде таким образом, что оно может быть введе- но в компьютер через тот или другой стандартный канал для ввода цифровых дан- ных. Еще несколько лет назад для цифрового обмена данными большинство устройств использовали такие порты: последовательный порт (serialport), парал- лельный порт (parallel port) и порт RS-232/464. Это были достаточно «узкие» ка- налы, существенно ограничивавшие скорость передачи цифровых видеоданных. Практически о передаче по ним видеоданных в реальном масштабе времени не могло быть и речи. На сегодня наиболее распространенным интерфейсом, исполь- зуемым в бытовых устройствах видеоввода, является Universal Serial Bus (USB). Первая версия этого порта обеспечивала невысокую пропускную способность ка- нала, в связи с чем для промышленных приложений в основном использовались другие специализированные порты/протоколы: IEEE 1394 (FireWire) и Camera Link. Однако новый стандарт USB-2 вплотную приблизил технологию USB к по- требностям профессиональных разработчиков, в результате чего стали появлять- ся и профессиональные промышленные системы, ориентированные на ввод по USB-каналу. Таким образом, в настоящее время в промышленных системах тех- нического зрения могут использоваться все три упомянутых цифровых канала ввода. Выбор конкретного канала определяется на этапе проектирования системы в зависимости от особенностей каждой конкретной задачи. 2.3.4. Пространственное разрешение Важной характеристикой любого устройства ввода изображения является его разрешение. Различают яркостное разрешение (о котором речь, в частности, пой- дет в следующем разделе) и пространственное разрешение. В свою очередь о про- странственном разрешении говорят в двух основных смыслах - как о собственной характеристике устройства ввода и как о характеристике съемки данным устрой- ством реального объектного пространства (пространства сцены). Собственное разрешение камеры или сканера - это количество элементов изображения на кадр, которое данное устройство может обеспечить. О собственном разрешении аналоговых видеокамер обычно говорят в терминах телевизионных линий (ТВЛ). При этом считается, что разрешение ниже 200 ТВЛ является «низким», разрешение порядка 400-500 ТВЛ - «среднее», а разрешение в 600-800 ТВЛ и выше - «высокое». Собственное разрешение цифрового фотоаппарата оценивается в мегапиксе- лях (Мпикс) - количестве пикселей цветного изображения максимального разме- ра, которое в состоянии сформировать данный фотоаппарат. На сегодняшний день разрешение ниже 1 Мпикс считается «низким», разрешение порядка 3-5 Мпикс - «средним», а разрешение выше 10 Мпикс - «высоким».
90 Цифровые изображения Собственное разрешение цифровых видеокамер и фреймграбберов определя- ется размером выходного изображения в пикселях. Разрешение ниже 320x200 считается «низким», разрешение порядка 640x4806576x768 считается «средним», а разрешение более 1024x1024 - «высоким». Собственное разрешение оптического сканера на основе сканирующей линей- ки характеризуется количеством элементов линейки. Следует сразу заметить, что качественные оценки «низкого» или «высокого» разрешения по ходу развития современной техники постоянно подвергаются пе- ресмотру в сторону увеличения пороговых значений. Лишь несколько лет назад стандарт VGA 640x480 считался эталоном «высокого» разрешения. Поэтому дан- ные качественные градации можно использовать только в качестве самых при- близительных ориентиров. На практике при выборе оборудования видеоввода для построения той или иной аппаратно-программной системы машинного зре- ния выбор типа камеры или сканера осуществляется, как правило, на основе тре- бований не к собственному, а к внешнему пространственному разрешению. Внешнее пространственное разрешение по своему смыслу характеризует раз- мер мельчайших деталей реальной сцены, которые можно различить на изобра- жении. Традиционно для характеристики пространственного разрешения аналоговых телевизионных систем применялся критерий количества пар различимых линий. Имеется в виду следующий тестовый эксперимент. Пусть имеется тестовое изоб- ражение (таблица, test field), состоящее из вертикальных линий шириной IV, раз- деленных промежутками толщиной также IV. В такой таблице ширина пары близ- ко расположенных линий будет 2W, и на некоторой единице длины разместится соответственно 1/2IVтаких пар линий. В этом смысле говорят, что данное устрой- ство обеспечивает, например, 100 различимых пар линий на миллиметр объектно- го пространства. Для цифровых фотоаппаратов, цифровых видеокамер и фреймграбберов удоб- нее использовать такую характеристику внешнего разрешения, как цена пикселя, или пиксельное разрешение. Допустим, собственное разрешение камеры по гори- зонтали составляет 640 пикселей. Пусть при этом производится съемка некото- рой области объектного пространства, горизонтальный размер которой составляет (на стандартной дальности съемки) порядка 6,4 м. Тогда внешнее пространствен- ное разрешение одного пикселя в горизонтальном направлении составит соответ- ственно 6,4м / 640 = 0,01м = 1см. Для оптических сканеров, предназначенных для сканирования документов, исторически утвердилась такая характеристика внешнего разрешения, как DPI (dots per inch) - количество отсканированных точек на дюйм расстояния. Если внешнее разрешение камер и фотоаппаратов нельзя охарактеризовать как заведо- мо низкое или высокое, поскольку такая оценка зависит от оптики (при замене объектива на объектив с другим фокусным расстоянием внешнее разрешение сис- темы сразу изменяется) и требований данной конкретной задачи (большая или меньшая точность измерений нам нужна), то для сканерной характеристики DPI такие качественные оценки существуют. Они связаны с требованиями систем ав-
Устройства оцифровки и ввода изображений 91 тематического распознавания текстов, а также с требованиями издательских сис- тем к растровым изображениям, отсканированным для печати. Считается, что разрешение ниже 300 dpi - это «низкое» разрешение, порядка 600 dpi - «нормаль- ное», или «среднее», разрешение, а свыше 1200 dpi - «высокое» разрешение. Час- то производители оптических сканеров указывают для своих продуктов сразу две характеристики разрешения - «физическое» и «математическое» разрешения, причем «математическое» разрешение как минимум в два раза выше физического. Это объясняется тем, что в аппаратное или программное обеспечение сканера за- шивается алгоритм межпиксельной интерполяции изображения, позволяющий создавать иллюзию более высокого разрешения, чем физически позволяет дости- гать количество элементов сканирующей линейки. На самом деле при выборе ска- нера для вашей конкретной задачи всегда следует опираться только на указанное «физическое» разрешение устройства. Маленькое методическое замечание в заключение раздела о разрешении. По- чему и в каком смысле размер цифрового изображения является мерой его разре- шения, если мы не знаем и не можем знать заранее, каково будет внешнее раз- решение, полученное в дальнейшем «на местности»? Видимо, дело в том, что, опираясь на знание размера изображения (DimXxDimY), мы все-таки можем ап- риори сказать, что разрешение на местности составит соответственно LX / DimX и LY/DimY, где (LXxLY) - размер поля зрения камеры в объектном пространстве. То есть разрешение цифрового изображения в пикселях обусловливает макси- мально возможное внешнее разрешение в относительных единицах - долях мак- симального размера регистрируемого объекта. 2.3.5. Программное обеспечение Последним существенным компонентом системы ввода, позволяющим пользова- телю получить доступ к изображению и его пикселям в цифровом виде непосред- ственно в своей программе анализа и обработки изображений, является соответ- ствующее программное обеспечение, поставляемое разработчиками устройств ввода или программных пакетов для работы с изображениями. В состав такого ПО обычно входят: • драйвер - специальная библиотека для связи с устройством «на низком уровне»; • библиотека стандартных функций «высокого уровня» для организации простого и удобного интерфейса с драйвером. Как правило, драйверы устройств ввода (камер, сканеров и фреймграбберов) поставляют их производители, и они сразу входят в стандартный комплект по- ставки. Обратите внимание на то, что для каждой операционной системы требует- ся специальный тип драйвера, совместимый именно с данной ОС. Практически все современные системы видеоввода подключаются к персональным компьюте- рам как устройства типа plug-and-play. То есть после физического подключения устройства и (если необходимо) перезагрузки компьютера операционная система должна самостоятельно определить факт наличия нового устройства и сама ин-
99 Цифровые изображения сталлировать необходимые для данного устройства драйверы. Если нужного драйвера под рукой все-таки не оказалось (обычно это происходит в тех случаях, когда оборудование было выпущено раньше, чем данная операционная система), его почти всегда можно бесплатно скачать с Web-сайта производителя. Для самостоятельного программирования блока видеоввода в системах компь- ютерного зрения и общения на «высоком уровне» с современными устройствами видеоввода под операционной системой Windows существуют стандартные про- токолы обмена данными. В частности, для потокового видеоввода с видеокамер и фреймграбберов используется протокол Video for Windows (VFW), а для взаимо- действия с оптическими сканерами - так называемый протокол TWAIN. Среда LabVIEW имеет собственное средство для установки любых периферийных уст- ройств и непосредственной работы с ними - Hardware Navigator. Если вы исполь- зуете для разработки своих систем программную среду LabVIEW, вам, безусловно, стоит забыть о протоколах общего характера и взаимодействовать с устройствами ввода изображений (а также и со всеми другими периферийными устройствами) только средствами LabVIEW. При построении программно-аппаратных систем в LabVIEW это намного удобнее, быстрее и эффективнее. 2.4. Форматы хранения и передачи цифровых изображений В предыдущем разделе мы говорили о том, что с точки зрения абстрактной струк- туры данных все изображения представляют собой регулярные двумерные мас- сивы и различаются только типом пикселя. В то же время всем известно, что в настоящее время в мире широко используется несколько десятков различных форматов файлов для хранения и передачи растровых цифровых изображений. Чем же объясняется такое разнообразие файлового представления достаточно универсальной структуры данных? Здесь можно выделить следующие три основ- ные причины использования различных форматов: • разнообразие сопроводительной информации. В самом деле, кроме непос- редственно самого массива пикселей, в файле изображения необходимо хранить еще как минимум размеры DimXи DimY, а также описание структу- ры пикселя с указанием его типа и битности. Обычно такая информация хранится в самом начале файла изображения, до массива данных. Однако этим далеко не исчерпывается вся сопроводительная информация, кото- рую может оказаться полезным хранить вместе с изображением. Важно знать, например, пространственное разрешение изображения, если оно из- вестно (для сканерных изображений разрешение dpi известно всегда). Если цветное изображение сохраняется не в форме RGB, а в виде байтовых кодов соответствующих цветов (что было основным приемом работы с цветом на заре персональной техники), то вместе с массивом пикселей нужно в обяза- тельном порядке хранить и таблицу их цветовой кодировки и т. д. и т. п. Таким образом, в различных задачах, различных устройствах ввода и в раз-
Форматы хранения и передачи цифровых изображений 93 личных предметных областях возникала необходимость хранить в заголов- ке растрового изображения различные типы дополнительных данных; • использование процедур сжатия данных. Цифровое изображение, особенно полученное на оптическом сканере с высоким разрешением, занимает мно- го места на диске и в памяти компьютера. По той же причине оно медленно передается по различным сетям компьютерной коммуникации. Для многих практических приложений - прежде всего для систем архивирования дан- ных - задача уменьшения объема цифровых изображений стоит очень остро. Различные процедуры сжатия данных традиционно реализуются в отдель- ных программных средствах - архиваторах, которые позволяют сжимать любые компьютерные файлы, вне зависимости от их содержания. В то же время многие разработчики систем для работы с изображениями стремятся встроить возможность упаковки данных непосредственно в формат файла изображения. Отчасти это связано с тем, что так удобнее пользоваться фай- лами изображений, не вызывая внешних архиваторов. Отчасти - с тем, что изображение, как пространственно распределенный тип данных, обладает некоторой дополнительной специфической избыточностью по отношению к любым произвольным числовым или текстовым данным, что позволяет, по идее, строить специализированные алгоритмы сжатия изображений, бо- лее эффективные по сравнению с алгоритмами общего назначения; • исторические причины. Различные фирмы-разработчики ПО и устройств ввода для работы с изображениями, выпустившие некогда собственные форматы хранения и передачи изображений, старались в дальнейшем под- держивать и распространять именно этот формат данных. Наиболее распространенными на сегодняшний день являются следующие форматы цифровых изображений: BMP, PCX, TIFF, GIF, JPEG. Основные харак- теристики этих форматов приведены в табл. 2.4.1. Таблица 2.4.1. Файловые форматы цифровых изображений Фор- мат Макс, число бит/пиксель Макс, число Макс, размер Метод сжатия Хранение нескольких изображений цветов изображения, пиксель BMP 24 16”777”216 65535x65535 -, RLE* — PCX 24 16”777”216 65535x65535 RLE - GIF 8 256 65”535х65535 LZW + TIFF 24 16”777”216 всего 4”294”967”295 -, LZW, RLE, др7 : + JPEG 24 16”777”216 65535x65535 JPEG - Изображение может храниться в неупакованном виде Как видно, одной из важных характеристик формата цифрового изображения является применяемый в данном формате метод сжатия. Поэтому прежде чем рассмотреть сами форматы файлов, вспомним основные моменты, связанные со сжатием цифровых данных.
94 Цифровые изображения 2.4.1. Методы сжатия цифровых изображений Методы сжатия данных делятся на две основные группы: сжатие без потерь и сжатие с потерями информации. Сжатие цифровой информации без потерь ши- роко используется во всех областях, где необходимо архивировать текстовые дан- ные и компьютерные программы в виде исполняемых кодов. В этом случае любые потери информации при упаковке-распаковке данных могут привести к потере или искажению части содержания текста или потере работоспособности распако- ванной программы. Поэтому методы сжатия «с потерями» используются в основ- ном в области записи и хранения цифровых мультимедийных данных: изображе- ний, а также аудио- и видеозаписей. В этом случае с определенной потерей точности оцифровки можно смириться, если она будет незаметна или слабо за- метна для воспринимающего видео- или аудиоданные человека. Сжатие без потерь основано на том, что всякие цифровые данные, рассмот- ренные как последовательность (поток) бит информационно избыточны. Это по- зволяет ставить вопрос о сжатии данных в классической постановке, подразу- мевая под «сжатием» передачу того же количества информации с помощью последовательностей бит меньшей длины. Для этого используются специальные алгоритмы сжатия, уменьшающие избыточность. Эффект сжатия оценивают ко- эффициентом сжатия: К = п / q, где п — число минимально необходимых символов для передачи сообщения (практически это число символов на выходе эталонного алгоритма сжатия); q — число символов в исходном сообщении. При двоичном кодировании п равно энт- ропии источника информации. Среди простых алгоритмов сжатия без потерь наиболее известными являются алгоритмы кодирования цепочек (Run Length Encoding, RLE). В них все последова- тельные цепочки одинаковых символов заменяются парами значений {повторяю- щийся символ, длина цепочки}. Трудно представить себе реальный текст, в котором буквы часто пппппппп повторялись бы подряд. Однако на цифровых изображениях вполне могут встречаться значительные области равной яркости. Поэтому данный метод достаточно эффективен при передаче растровых изображений (особенно со- зданных искусственно в графических редакторах), но малополезен при передаче текста. К методам сжатия без потерь относят также методы разностного кодирова- ния, основанные на том, что разности амплитуд последовательных отсчетов, как правило, представляются меньшим числом разрядов, чем сами амплитуды. Статистические методы сжатия можно проиллюстрировать на примере извес- тного метода Хаффмана. Идея этого метода заключается в том, что часто повторя- ющиеся символы следует кодировать более короткими цепочками битов, чем сим- волы, которые встречаются реже. Для этого строится двоичное дерево, листья которого соответствуют кодируемым символам, а код символа представляется последовательностью значений ребер, ведущих от корня к листу (все они прини- мают соответственно значения 0 или 1). При этом листья символов с высокой ве-
Форматы хранения и передачи цифровых изображений 95 роятностью появления располагаются ближе к корню, чем листья маловероятных символов. Очевидный недостаток данного метода заключается в необходимости заранее знать вероятности присутствия различных символов. Если они неизвест- ны априори, то для сжатия методом Хаффмана требуются два прохода по изобра- жению: на первом проходе собирается гистограмма изображения (подсчитывают- ся вероятности появления каждого возможного значения пикселей), на втором проходе производится собственно кодирование. Этот недостаток устраняется в однопроходных алгоритмах адаптивного сжатия, в которых для кодирования используется не гистограмма всего объема кодируемых данных, а только по- следних N просмотренных пикселей. Обобщением этого метода является метод, основанный на словаре сжатия дан- ных. В таких алгоритмах происходит выделение и запоминание в специальном словаре уже не отдельных символов, а повторяющихся цепочек символов, кото- рые соответственно кодируются цепочками меньшей длины. В настоящее время наиболее распространенным алгоритмом сжатия без потерь является алгоритм LZW, предложенный Лемпелем (Lempel), Зивом (Ziv) и Уэлчем (Welch). Идея этого метода заключается в следующем. Предположим, у нас имеется словарь, хранящий строки символов (значений яркости). Запишем в первые 256 ячеек простейшие «строки», состоящие из одного символа, номер которого равен номе- ру ячейки. Далее алгоритм просматривает входной поток байт, разбивая его на подстроки и добавляя новые ячейки в конец словаря. Пусть из входного потока прочитаны несколько последовательных символов, составляющих строку 5. Най- дем в текущем словаре строку t, являющуюся самым длинным «префиксом» стро- ки 5. Под «префиксом» здесь понимается строка, полностью совпадающая с пер- выми символами данной строки, если отсчитывать их «слева». Допустим, самый длинный префикс, включающий максимальное количество символов, совпадаю- щих с первыми символами данной строки, найден в ячейке с номером п. В этом случае мы выводим число п в выходной поток, перемещаем указатель входного потока на длину строки t вперед и добавляем в словарь новую ячейку, содержа- щую строку t + с, где с - символ анализируемой строки s, следующий сразу после префикса t. Таким образом, данный алгоритм преобразует поток символов на вхо- де в поток индексов ячеек словаря на выходе. При размере словаря, например, в 4096 ячеек можно передавать 12 бит на каждый индекс. Каждая распознанная цепочка символов добавляет в словарь одну ячейку. Любая ячейка словаря, кроме самых первых, содержащих одиночные символы, хранит копию некоторой другой ячейки, к которой в конец приписан один символ. При переполнении словаря упа- ковщик может либо прекратить его заполнение, либо очистить словарь (полнос- тью или частично). Данный алгоритм отличают высокая скорость работы - как при упаковке, так и при распаковке данных, умеренные требования к объему па- мяти и простые аппаратная и программная реализации. Он используется во мно- гих форматах хранения цифровых изображений. Сжатие с потерями основано на том, что перед кодированием данные предва- рительно подготавливаются (фильтруются) таким образом, что сжатие отфильт- рованных данных описанными выше методами становится существенно более
96 Цифровые изображения эффективным, нежели сжатие самих исходных данных. Идею такого преобразо- вания легко понять на следующем примере. Пусть имеется некоторое полутоно- вое изображение «естественной» сцены, включающее большие области приблизи- тельно однородной яркости. В таких областях различия значений интенсивности соседних пикселей различаются лишь на несколько градаций серого, что суще- ственно меньше, чем перепады яркости на границах областей. Если мы попробуем непосредственно применить к таким изображениям, например, алгоритм RLE, то он будет совершенно неэффективен, так как средняя длина цепочек в точности оди- наковых значений яркости вдоль строк изображения будет 1-2 пикселя, что не даст никакого выигрыша при кодировании таких данных «длинами цепочек». В то же время, с точки зрения особенностей зрительного восприятия человека, незначи- тельными флуктуациями яркости вполне можно пренебречь. Допустим, мы сумели отфильтровать эти малые отклонения каким-либо алгоритмом помеховой фильтра- ции изображений (алгоритмы помеховой фильтрации будут рассмотрены в разделах 3.3 и 3.4 данной книги). В результате такой обработки «гладкость» изображения в однородных областях существенно повысится, и как следствие эффективность сжатия изображения даже таким простым алгоритмом, как RLE, сразу увеличится в несколько раз. В качестве примера современного алгоритма эффективного сжа- тия с потерями ниже будет рассмотрен алгоритм сжатия JPEG. Заметим, что из приведенного примера сразу становится видна и основная проблема, связанная с потерями информации при применении сжатия в системах машинного зрения. С одной стороны, чем более мощное сглаживание изображе- ния мы применяем на первом этапе, тем более эффективным будет его последую- щее кодирование. С другой стороны, чем мощнее алгоритмы сглаживания, тем выше вероятность того, что вместе с шумом и незначительными флуктуациями с изображения будут также удалены и полезные детали, окажутся искаженными контуры, может быть потеряна информация, обеспечивающая точность распозна- вания и измерения объектов и т. п. Причем в технических задачах машинного зре- ния требования к качеству анализируемых изображений, как правило, существен- но выше, чем в задачах визуального представления информации человеку (например, при записи и воспроизведении видеофильмов). Таким образом, важно помнить, что, выбирая метод и параметры сжатия (то есть формат хранения фай- ла изображения), нужно искать компромисс между желаемой степенью сжатия данных, которая определяется располагаемыми объемами свободной памяти но- сителя информации (диска, оперативной памяти, карты памяти и т. п.), и необхо- димым качеством изображения, которое определяется техническими требования- ми к работе создаваемой системы машинного зрения. Теперь рассмотрим вкратце каждый из ранее упомянутых форматов цифро- вых изображений. 2.4.2. Формат BMP Формат BMP (битовый массив, BitMaP) - это системный формат операционной системы Windows. В Windows API (наборе функций ядра системы) предусмотре-
Форматы хранения и передачи цифровых изображений 97 ны готовые средства для его загрузки, сохранения, отображения и выполнения других стандартных операций по работе с изображениями. В простейшем вариан- те файл BMP содержит классическую неупакованную структуру цифрового изоб- ражения, представленного в виде двумерного массива пикселей, которому пред- послана некоторая «шапка» (header), содержащая размеры массива и другую служебную информацию. Таким образом, в отличие от форматов, использующих сжатие, загрузив файл в формате BMP, вы сразу получаете доступ к пикселям по их координатам (х,у) и можете непосредственно приступать к его обработке и ана- лизу. Эти два фактора (простая структура и системная поддержка ОС Windows) делают данный формат крайне привлекательным для использования его в прак- тических задачах на начальных этапах изучения машинного зрения. На примере файла BMP удобно рассмотреть типовую структуру заголовка файла цифрового изображения. Для простейшего варианта формата BMP она имеет следующий вид (ниже при описании программных структур используется нотация языка программирования С, смысл полей данных ясен из комментариев). Сначала размещается структура BITMAPFILEHEADER, описывающая общую структуру файла: BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER { word bfType; //тип файла dword bfSize; //размер файла в 32-битных словах dword word bfReservedl; //в общем случае не используется word bfReserved2; // в общем случае не используется dword bfOffbits; //смещение начала данных двумерного //заголовка в байтах массива Непосредственно за ней располагается структура BITMAPINFO, содержа- щая информацию о массиве пикселей. Она делится на две части: структуру BITMAPINFOHEADER, описывающую размеры и цветовой формат массива изоб- ражения, и массив структур RGBQUAD, определяющий цветовую палитру изобра- жения, если оно не является полутоновым. typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1 ] ; typedef struct tagBITMAPINFOHEADER { dword biSize; //число байт, занимаемых структурой BITMAPINFOHEADER dword biWidth; //ширина изображения в пикселях (DimX) dword biHeight;//высота изображения в пикселях (DimY) word biPlanes; //число битовых плоскостей устройства word biBitCount; //число битов на пиксель
98 Цифровые изображения dword biCompression; dword biSize Image; dword biXPelsPerMeter; //тип сжатия (смотри ниже) //размер изображения в байтах //горизонтальное разрешение устройства, //пиксель/м dword biYPelPerMeter; сель/м dword biClrUsed; dword biClrImportant; } BITMAPINFOHEADER; //вертикальное разрешение устройства, пик- //число используемых цветов //число «важных» цветов Рассмотрим более подробно некоторые поля данной структуры. biSize - размер структуры. Его полезно знать, чтобы при считывании файла можно было сразу перейти к следующему элементу (таблице цветов). biBitCount - этим полем определяется число цветов или градаций серого, содержащихся в пикселе изображения. В зависимости от способа кодирования, может принимать значения: • 1 - монохромное (бинарное) изображение. Каждый бит в массиве данных кодирует один пиксель; • 4 - изображение имеет не более 16 цветов или градаций серого. Соответ- ственно и массив bmiColors (таблица цветов) имеет до 16 элементов. Цвет каждого пикселя определяется по таблице цветов при помощи четырехбит- ного индекса; • 8 - изображение имеет 256 цветов или градаций серого. Таблица цветов имеет 256 элементов. Каждый байт массива данных определяет значение одного пикселя. Наиболее распространенный формат для записи и обра- ботки полутоновых изображений', • 24 - изображение допускает 224 цветов. Таблица цветов пуста, а цвет пиксе- лей определяется пакетами из трех байтов {RGB}, непосредственно храня- щимися в массиве изображения и описывающими цветовые интенсивности соответственно красной, зеленой и голубой составляющей цвета пикселя. biCompression - тип сжатия. Может принимать значения: • ВI_RGB - сжатие отсутствует; • BI_RLE8 - сжатие для формата 8 бит на пиксель; • BI_RLE4 - сжатие для формата 4 бита на пиксель. biXPelsPerMeter и biYPelsPerMeter - пространственное разрешение изоб- ражения, определяемое свойствами устройства ввода и режимом сканирования. Далее в файле располагается собственно массив изображения. Он хранится последовательно по строкам, причем первой строкой считается нижняя строка изображения (начало координат находится в левом нижнем углу изображения). Заметим также, что в файлах BMP длина строк изображения выравнена таким образом, чтобы быть кратной четырем байтам (32 бита, dword). Это сделано для удобства оперирования с изображениями в 32-битной архитектуре. Не все файлы BMP имеют такую структуру. В частности, в некоторых вариан- тах формата изображение может сжиматься посредством алгоритма RLE. В Windows
Форматы хранения и передачи цифровых изображений 99 также допускается работа с BMP-файлами формата OS/2, в которых используют- ся иные форматы информационного заголовка растрового массива и таблицы цветов. 2.4.3. Формат PCX Формат PCX - исторически первый стандарт представления растровой графики на персональных компьютерах IBM PC. Этот формат изначально применялся в программе Paintbrush фирмы ZSoft и впоследствии был преобразован фирмой Microsoft в Windows Paintbrush. Формат PCX удобен для хранения искусствен- ных изображений, в которых присутствуют значительные области однородных цветов, и плохо приспособлен для хранения «естественных» изображений, полу- ченных различными устройствами ввода. В связи с этим область применения дан- ного формата в последние годы сокращается, хотя файлы в формате PCX по-пре- жнему во множестве можно встретить в различных многолетних архивах цифровых изображений. Файлы формата PCX содержат следующие три основных блока: • заголовок PCX; • данные растрового массива; • факультативную таблицу цветов. Заголовок PCX имеет размер 128 байт и содержит несколько полей, в том чис- ле - размеры изображения и количество бит, кодирующих информацию о цвете каждого пикселя. Растровый массив изображения сжимается с помощью алгорит- ма сжатия RLE. Факультативная таблица цветов содержит 256 значений цветов RGB, определяющих цвета изображения. Такая структура связана с тем, что фор- мат PCX был изначально разработан с расчетом на существовавшие в то время адаптеры CGA- и EGA-дисплеев, поддерживавшие малое количество цветов на экране персонального компьютера. В дальнейшем формат был модифицирован для использования с более современными адаптерами VGA и даже TRUE COLOR (RGB). Соответственно кодирование цвета в современных версиях PCX может производиться с глубиной 1, 4, 8 или 24 бит на пиксель. 2.4.4. Формат GIF Разработанный компанией CompuServe формат GIF {Graphics Interchange Format, произносится «джиф») был задуман как формат межплатформенного обмена гра- фическими данными. Предназначенный для пересылки файл не может иметь большого объема, поэтому в формате GIF пиксель изображения не кодируется количеством бит более 8. Кроме того, этот формат использует рассмотренный выше алгоритм сжатия данных LZW. Еще одной важной особенностью данного формата является то, что формат GIF позволяет сохранять в одном файле два и более изображений. Существует даже понятие «анимированный GIF»: один из режимов визуализации файла формата GIF предполагает последовательное ото- бражение хранящихся в файле картинок, что создает эффект короткого мульт-
100 Цифровые изображения фильма. Такие файлы нашли широкое применение в мультимедийных интернет- приложениях. Конкретная структура файла GIF зависит от версии GIF-спецификации, кото- рой соответствует файл. Независимо от номера версии, файл GIF начинается с заголовка длиной 13 байт. Заголовок содержит специальную «подпись», кото- рая идентифицирует этот файл в качестве файла GIF, номер версии формата GIF и другую служебную информацию. Если файл содержит одно изображение, то сразу после заголовка, как правило, располагается таблица цветов. Если в файле хранится несколько изображений, то вместо общей таблицы цветов каждое изоб- ражение сопровождается своей локальной таблицей цветов. Вслед за заголовком и общей таблицей цветов размещается изображение, которое может быть первым из нескольких располагаемых подряд изображений. Каждое следующее изобра- жение состоит из 10-байтового заголовка изображения, локальной таблицы цве- тов и массива растровых данных, которые сжимаются с помощью алгоритма LZ W. Файлы формата GIF89a могут также содержать следующие факультативные блоки расширения с дополнительной информацией о каждом изображении: • блоки управления графикой, которые описывают, как изображение должно выводиться на экран (например, накладывается ли оно на предыдущее изображение подобно диапозитиву или просто заменяет его); • текстовые блоки, содержащие текст, отображаемый вместе с графикой; • блоки комментариев, содержащие текстовые комментарии в коде ASCII; • блоки информации прикладных программ, в которых хранится информа- ция, принадлежащая создавшей и использующей этот файл прикладной программе. Блоки расширения могут находиться практически в любом месте файла после общей таблицы цветов. В настоящее время формат GIF широко распространен благодаря своей отно- сительной компактности и возможностям «анимации» с использованием текста. Однако в области обработки и анализа изображений эти достоинства не играют определяющей роли. 2.4.5. Формат TIFF Формат TIFF (Tagged Image File Format, формат файлов изображения, снабжен- ных «тегами», то есть метками-дескрипторами) был изначально создан для хране- ния изображений и серий изображений, оцифрованных с помощью оптических сканеров. По структуре это один из самых сложных и многовариантных форматов хранения изображений. Файлы формата TIFF имеют расширение .tiff или .tif. Каждый файл начинается заголовком изображения (Image File Header, IFH). Важнейший элемент этого заголовка - каталог файлов изображений (Image File Directory, IFD), служащий указателем на информативные структуры данных. IFD представляет собой таблицу для идентификации одной или нескольких пор- ций данных переменной длины, называемых тегами. Теги, в свою очередь, хранят информацию об изображениях. В спецификации TIFF определено более 70 раз-
Форматы хранения и передачи цифровых изображений 101 личных типов тегов. Тег одного типа хранит информацию о ширине изображения в пикселях, другого - информацию о его высоте; тег третьего типа указывает на таблицу цветов, тег четвертого типа содержит сами данные растрового массива, и т. д. Такой формат на самом деле представляет собой достаточно гибкое и про- странное описание изображения, написанное на специальном языке, основу кото- рого составляют слова-теги, а синтаксис определяется стандартом TIFF. Этот «язык» может легко и естественно расширяться путем добавления новых типов тегов. Файл TIFF может содержать несколько изображений, каждому из которых сопутствуют собственный IFD и набор тегов. Растровые данные в каждом из изображений могут сжиматься с использованием любого из нескольких методов, в число которых входят RLE, LZW и несколько других. Сложность и гибкость данного формата является, с одной стороны, его досто- инством, с другой - порождает целый ряд проблем. Основная из них связана с совместимостью. Во-первых, формат столь обширен и трудоемок в реализации, что лишь немногие пакеты, работающие с изображениями, обеспечивают возмож- ность правильного считывания всех существующих модификаций файлов TIFF. Если же в одной программе реализовано одно подмножество формата, а в другой - другое, то велика вероятность того, что файл, сохраненный в одном пакете, не будет корректно прочитан в другом. Во-вторых, предусмотренная для разработчиков оригинального прикладного ПО возможность создавать свои специализированные расширения формата TIFF, добавляя новые теги, чревата тем, что изображения, со- зданные такими системами будут неверно или не полностью считываться стандарт- ными пакетами, игнорирующими неизвестные им новые теги. Тем не менее, несмотря на существование указанных проблем, формат TIFF стал «де-факто» стандартом в области хранения и передачи сканерных изображе- ний. Он также активно используется и в области создания приложений машинно- го зрения. 2.4.6. Формат JPEG Формат JPEG был создан в результате работы объединенной группы экспертов в области фотографии JPEG (Joint Photographic Experts Group). Он был задуман и разработан как новый международный стандарт сжатия цветных изображений. Группа JPEG взяла на себя задачу разработки общеупотребительного стандарта сжатия с тем, чтобы удовлетворить нуждам большинства возможных устройств и приложений, которые испытывают необходимость в сжатии изображений с высо- кими степенями сжатия. Эта задача была блестяще решена, и в настоящее время формат JPEG является основным стандартом ввода, хранения и передачи изобра- жений, получаемых от цифровых фотоаппаратов, бытовых видеокамер, web-ка- мер и множества других бытовых и специализированных устройств. При этом формат JPEG действительно одновременно обеспечивает хорошее визуальное ка- чество изображений и высокую степень сжатия данных за счет использования специального алгоритма сжатия, относящегося к классу алгоритмов сжатия с по- терями информации.
102 Цифровые изображения Формат JPEG - достаточно сложный и гибкий формат. Он обеспечивает воз- можность сжатия/восстановления изображений в следующих четырех различ- ных режимах работы: • последовательное кодирование - каждая компонента изображения кодиру- ется за один проход слева-направо, сверху-вниз; • постепенное кодирование - изображение кодируется за несколько проходов для приложений, где время передачи велико и наблюдатель предпочитает следить за тем, как изображение восстанавливается за несколько проходов от грубого к точному; • кодирование без потерь - изображение кодируется так, чтобы гарантирова- лось точное восстановление значения каждого отсчета изображения (даже если результатом будет малый коэффициент сжатия по сравнению с режи- мами с потерей информации); • иерархическое кодирование - изображение кодируется с несколькими зна- чениями разрешения, так что варианты с низким разрешением могут быть доступными для просмотра без необходимости восстанавливать изображе- ние с полным разрешением. Для каждого режима определен один или несколько кодеков. Слово кодек означа- ет здесь «кодер/декодер». Кодеки для разных режимов отличаются точностью, с ко- торой они могут работать с отсчетами изображения, и методом энтропийного ко- дирования, которые используют. Базовый последовательный кодек, основанный на дискретном косинусном преобразовании (ДКП), является богатым и сложным мето- дом сжатия, который является вполне достаточным для многих приложений. Кроме того, чтобы удовлетворить требованиям режима работы без потерь, группа JPEG выбрала простой прогнозирующий метод, никак не связанный с ДКП-обработкой. JPEG-сжатие на основе ДКП Рассмотрим алгоритм сжатия серого полутонового изображения. Вначале изоб- ражение разбивается на квадратные блоки размером 8x8 пикселей. Алгоритм сжатия каждого блока 8x8 включает следующие три основных шага: • дискретное косинусное преобразование; • квантование полученных значений; • сжатие без потерь полученных квантованных данных. Дискретное косинусное преобразование определяется следующей математичес- кой формулой: 1 7 7 E(w,o) = -С(м)С(о)^ /(х, г/)соз[-^(2х + 1)м]соз[-^(2г/ + 1)о] 4 х=0 .//=() ДКП связано с дискретным преобразованием Фурье (ДПФ). Значения коэф- фициентов ДКП можно рассматривать как относительные величины вкладов двумерных пространственных частот, содержащихся в исходном 8x8 = 64-точеч- ном входном сигнале. Так как обычно значения отсчетов изменяются очень мед- ленно при переходе от одной точки изображения к другой, в типичном 8x8 блоке
Форматы хранения и передачи цифровых изображений 103 исходного изображения большая часть пространственных частот имеет нулевую или близкую к нулевой амплитуду и не требует кодирования. На втором этапе каждый из 64 коэффициентов полученной матрицы ДКП еди- нообразно квантуется в соответствии с 64-элементной таблицей квантования, ко- торая должна быть задана как характеристика кодера. Квантование предназначено для того, чтобы добиться дополнительного сжатия путем представления коэффи- циентов ДКП с точностью не большей, чем необходимо для достижения требуемого качества изображения. Иначе говоря, целью этого шага обработки является осво- бождение изображения от информации, которая не является визуально значимой. Завершающий этап алгоритма JPEG-сжатия полутонового изображения пред- ставляет собой сжатие без потерь полученных квантованных данных. При этом первый (нулевой) коэффициент ДКП кодируется по разностной схеме сжатия, а остальные 63 коэффициента ДКП блока кодируются по схеме Хаффмана. Сжатие цветного изображения этим методом можно приближенно предста- вить себе как сжатие нескольких полутоновых изображений, которые сжимаются либо по отдельности, либо с чередованием 8x8 блоков каждого из них. При сжатии описанным методом потери информации происходят на втором шаге процесса. Чем большие пороговые значения указаны в матрице квантования, тем больше отбрасывается информации из изображения и тем более плотно сжи- мается изображение. Проблема состоит в том, что более высокие значения кванто- вания приводят к худшему качеству изображения. Поэтому при формировании изображения JPEG пользователь может устанавливать показатель качества, ве- личина которого «управляет» значениями матрицы квантования. Оптимальные показатели качества, обеспечивающие лучший баланс между коэффициентом сжатия и качеством изображения, различны для разных изображений и обычно устанавливаются в каждом конкретном практическом случае экспериментально. Е1а рис. 2.4.1-2.4.4 представлен пример сжатия цифрового изображения чело- веческого лица. Е1а рис. 2.4.1 показано стандартное тестовое полутоновое изобра- жение размера 256x256 (256 градаций серого). Его исходный размер в неупако- ванном формате BMP - 66614 байт. Е1а рис. 2.4.2 показан результат его сжатия в формате JPEG с параметром «качества» 95% (размер файла - 30703 байт). Е1а рис. 2.4.3 показан результат сжатия в формате JPEG с параметром «качества» 20% (размер файла - 4617 байт). Е1арис. 2.4.4 показана попиксельная разность изобра- жений рис. 2.4.1 ирис. 2.4.3. Е1а последнем изображении хорошо видны высокоча- стотные элементы информации, «потерянные» в ходе сжатия. Эксперименты, аналогичные данному примеру, позволяют сделать вывод о том, что при коэффициентах сжатия порядка 15-25 раз - визуальное качество как по- лутоновых, так и цветных изображений практически полностью сохраняется. Происходит незначительная потеря контурной (высокочастотной) информации, которая, однако, не снижает возможности как зрительного, так и автоматического опознавания человеческого лица по изображению. Согласно данным, приводимым в литературе, для цветных изображений с уме- ренно сложными сценами все ДКП-режимы работы обычно дают следующие уровни качества изображений для указанных диапазонов сжатия:
104 Цифровые изображения Рис. 2.4.2. Результат сжатия с параметром «качества» 95% Рис. 2.4.1. Тестовое полутоновое изображение Рис. 2.4.3. Результат сжатия с параметром «качества» 20% Рис. 2.4.4. Попиксельная разность изображений на рис. 2.4.3 и рис. 2.4.1 • 0,25-0,5 бит/пиксель - качество в диапазоне от удовлетворительного до хорошего (достаточно для некоторых Интернет-приложений); • 0,5-0,75 бит/пиксель - качество в диапазоне от хорошего до очень хороше- го (достаточно для многих приложений); • 0,75-1,5 бит/пиксель - отличное качество (достаточно для большинства приложений); • 1,5-2,0 бит/пиксель - зрительно неотличимо от оригинала (достаточно для самых критичных приложений).
Форматы хранения и передачи цифровых изображений 105 Эти уровни являются лишь примерными - качество и сжатие могут значительно изменяться в соответствии с характеристиками изображения и содержанием сцены. Алгоритм JPEG-сжатия без потерь Для решения данной задачи группа JPEG выбрала простой прогнозирующий ме- тод, совершенно не связанный с ДКП-обработкой, описанной выше. Суть его зак- лючается в том, что предиктор комбинирует до трех значений соседних отсчетов (А, В и С) для выработки прогноза для отсчета X. Затем этот прогноз вычитается из действительного значения отсчета X, и разность кодируется без потерь одним из двух методов энтропийного кодирования: методом Хаффмана или методом арифметического кодирования. Кодеры без потерь обычно дают сжатие примерно в 2 раза для цветных изобра- жений со сценами умеренной сложности. В заключение еще раз необходимо заметить, что визуально приемлемое каче- ство изображений, сохраненных в формате JPEG, может оказаться принципиаль- но недостаточным при попытке использовать их в системах технического зрения. Особенно важно учитывать этот момент при выборе средств цифровой съемки или оцифровки изображений. Так, например, в настоящее время большинство ус- тройств, передающих цифровое видео по каналу USB, используют встроенное на аппаратном уровне JPEG-сжатие. Начиная работу с такими устройствами, необ- ходимо сразу протестировать получаемые изображения на предмет возможных искажений, потерь и артефактов, возникающих в процессе кодирования/декоди- рования. Если эксперименты показывают, что качество входных изображений не- достаточно для решения поставленной технической задачи, необходимо выбрать другую систему видеоввода, лучше всего - обладающую большим разрешением и не использующую сжатие с потерями на аппаратном уровне. 2.4.7. Формат DICOM Завершая обзор форматов хранения и передачи цифровых изображений, рассмот- рим один специализированный формат, получивший распространение и являю- щийся стандартом передачи данных только в одной, но крайне важной области - медицине. DICOM (Digital Imaging and Communications in Medicine) является стандартом, определяющим форматы хранения и передачи различными медицинскими уст- ройствами и программными приложениями цифровых изображений и информа- ции, необходимой для их диагностической интерпретации. Информационная мо- дель стандарта DICOM представляет собой объектно-ориентированную модель, ключевыми элементами которой являются: «информационные объекты» - абст- рактное описание реальных объектов, используемых для представления меди- цинской информации, и «команды» (сервисы), которые могут выполняться над этими объектами. Комбинация информационного объекта и сервисов образует SOP-класс (Service-Object Pair Class), предоставляющий интерфейс взаимодей- ствия DICOM-устройств и приложений.
106 Цифровые изображения Для обеспечения совместимости на уровне интерпретации данных (атрибутов информационных объектов) стандарт определяет набор правил (синтаксисов) коди- рования. Атрибут кодируется «элементом данных» - структурой, содержащей тег (числовое имя) атрибута, его тип (зависит от поддерживаемого синтаксиса), размер в байтах и значение. Элементы данных объединяются в смысловые группы, упорядо- чиваются по возрастанию тегов и в рамках экземпляра информационного объекта могут использоваться не более одного раза. С целью оптимизации доступа к отдель- ным атрибутам может добавляться стандартный элемент «размер группы в байтах». Синтаксис кодирования задает структуру элемента данных, порядок следования байтов при записи данных: обратный - «младший-старший», прямой - «старший- младший» (Little Endian, Big Endian), а также формат компрессии изображений. Для хранения информации на диске и ее передачи на съемных носителях стан- дарт DICOM определяет формат файла DICOM. Формат DICOM обеспечивает хранение цифровых изображений, текстовой информации, а также видео- и аудиопоследовательностей. Файл DICOM состоит из информационного заголов- ка (File Meta Information) и следующего за ним блока данных (экземпляра SOP- класса). Заголовок включает в себя сегмент служебной информации (128 байт), четырехбайтовый идентификационный префикс «DICM» и группу элементов, содержащих информацию об уникальных идентификаторах SOP-класса, его эк- земпляра, приложения, записавшего данный файл, и поддерживаемого синтакси- са кодировки. После информационного заголовка следует блок данных. Файл DICOM может содержать только один блок данных, то есть один экземпляр SOP- класса. Зато стандарт DICOM предоставляет механизм формирования групп DICOM-файлов и сервисы для управления этими группами. В части сетевого обмена данными стандарт DICOM вводит сервис верхнего уровня DIMSE (DICOM Message Service Element), определяющий набор прото- колов, синтаксис и семантику команд. На нижнем уровне стандарт поддерживает стек протоколов передачи данных, удовлетворяющих спецификации ISO/OSI, TCP/IP и стек протокола с выделенным соединением. DIMSE-сервис предостав- ляет два типа команд: команды выполнения и команды уведомления. Информа- ция передается в виде DICOM-сообщений, состоящих из команды и данных. Ко- манды кодируются набором «командных элементов», представляющих собой структуры со следующими полями: тег, размер в байтах, значение. Командные элементы передаются в порядке возрастания тегов, первыми идут младшие байты (Little Endian). Данные в сообщении кодируются элементом данных, исходя из поддерживаемого синтаксиса. Процесс обмена сообщениями начинается с этапа установления ассоциации, смысл которого состоит в согласовании типов переда- ваемых данных и синтаксиса их передачи. В случае успешного выполнения дан- ного этапа осуществляются передача команд выполнения или уведомления со- гласно протоколам DIMSE-сервиса и завершение сеанса передачи. Аналогичные специальные форматы и протоколы передачи данных суще- ствуют и во многих других практических областях человеческой деятельности, хотя общей тенденцией все-таки является унификация стандартов хранения и передачи изображений в тех универсальных форматах, которые мы рассматри- вали ранее.
Цифровые видеопоследовательности 107 2.5. Цифровые видеопоследовательности До сих пор мы говорили о цифровом изображении как об одномоментном фото- графическом кадре или документе, переведенном в цифровую форму. Соответ- ственно и задачу его ввода, оцифровки, хранения и передачи мы рассматривали применительно к одному статическому кадру. Между тем, в большинстве совре- менных задач видеонаблюдения, технического зрения, управления мобильными объектами и т. п. одно единственное статическое изображение еще не позволяет получить всю необходимую информацию о составе и характеристиках наблюдае- мой динамически меняющейся сцены. Задачи анализа собственного движения, выделения движущихся объектов сцены, контроля осуществляемых технических манипуляций и другие требуют регистрации и анализа уже не одиночного цифро- вого изображения, а достаточно длительной цифровой видеопоследовательности. Начнем с процедуры регистрации видеопоследовательностей. Попутно нам придется немного затронуть и общие особенности съемки динамических сцен. 2.5.1. Скорость съемки Стандартной скоростью ввода последовательностей изображений в области ви- деосъемки является скорость порядка 25-30 кадров в секунду. Такая скорость захвата/показа кадров была экспериментально установлена еще во времена зарождения кинематографа в начале двадцатого века. В силу особенностей устройства зрительной системы человека именно такое количество - 24 сменя- ющихся кадра в секунду - необходимо для того, чтобы вместо мелькающих от- дельных картинок человек увидел якобы плавно и непрерывно меняющееся изображение. Так в кино- и видеозаписи создается эффект «живого» изображе- ния. Поэтому большинство устройств регистрации видеоизображений, предназ- наченных для последующего визуального просмотра, - бытовых видеокамер, ка- мер систем видеонаблюдения и т. п. - продолжают выпускаться именно с такой частотой смены кадров. Существует, однако, и множество технических задач, в которых стандартная скорость съемки кадров, ориентированная на визуальное восприятие, ни в коей степени не является оптимальной. Примеры такой «замедленной» и «ускорен- ной» съемки были известны задолго до того, как на повестку дня встали проблемы ввода и обработки изображений в цифровом формате. Так, замедленный повтор голевых моментов спортивных состязаний действительно осуществляется путем медленной прокрутки видеопоследовательности, снятой с обычной скоростью, а вот замедленное движение в кинофильмах или научно-популярных фильмах, де- монстрирующих невидимые глазу детали движений человека, различных живот- ных и быстроизменяющихся природных явлений, требуют сначала осуществить ускоренную съемку (причем скорость съемки может быть увеличена в несколько раз или даже несколько сотен раз), а затем - показ снятого видеоматериала со ско- ростью 25 кадров в секунду. С другой стороны, при регистрации медленно проте- кающих процессов применяется замедленная либо прореженная съемка с по-
108 Цифровые изображения следующей демонстрацией отснятого материала со «стандартной» скоростью. Разница этих двух приемов киносъемки заключается в следующем. Замедленная съемка предполагает, что общее время съемки увеличивается за счет увеличения времени экспозиции каждого кадра. Увеличение времени экспо- зиции требуется в тех случаях, когда количество света, приходящее от объекта съемки за 1/25 с, недостаточно для того, чтобы оставить на кинопленке или чув- ствительном элементе матрицы видеокамеры достаточно яркий и контрастный след. Примером такого рода является съемка астрономических объектов слабой светимости. Чем слабее «светит» регистрируемый объект, тем больше должна быть экспозиция, чтобы мы могли зарегистрировать необходимое количество пришедших от него фотонов. Иногда экспозицию приходится увеличивать до та- кой степени, что начинает сказываться относительное движение объекта за время наблюдения, и звезды начинают выглядеть на таких снимках как «черточки», со- ответствующие участкам траекторий небесных тел, связанных с суточным враще- нием Земли. Это типичное явление динамического «смаза» изображения, которое мы еще рассмотрим чуть позже. Прореженная съемка - это такая разновидность видеомонтажа, при которой сама съемка ведется с обычной скоростью и обычными значениями экспозиции, но впоследствии видеопоследовательность прореживается с определенным ша- гом (каждый второй кадр, каждый десятый, один кадр в секунду, в минуту, в час, в день и т. д.). При этом изображение объекта съемки выглядит привычно и есте- ственно (поскольку каждый отдельный кадр ничем не отличается от любого кадра обычной видеосъемки), но изображение в целом движется быстрее, чем в жизни. Таким образом, например, создаются фильмы, демонстрирующие «ускоренный» рост растений, «быстрое» строительство зданий, «быстрое» изменение земных ландшафтов, движение ледников и т. п. 2.5.2. «Смаз» изображения Рассмотрим теперь уже упомянутую выше проблему динамического смаза изоб- ражений. Мы говорили о том, что смаз возникает при видеорегистрации объектов с большими экспозициями. Однако понятие «большая экспозиция» здесь относи- тельно - смаз возникает и при съемке со стандартной скоростью съемки, если объект относительно камеры движется быстрее определенного значения скоро- сти. Это достаточно типичная проблема съемки динамически меняющихся сцен, характерная для всех видов регистрирующих устройств, вне зависимости от того, используют ли они в качестве приемника изображения кино- и фотопленку или электронные устройства, аналоговые или цифровые. Дело в том, что если за время экспозиции объект успевает переместиться в пространстве (а образ объекта - со- ответственно в плоскости изображения) на заметное расстояние, то фотопленка или матрица видеоприемника успеет за это время накопить световые сигналы, испущенные или отраженные объектом в разных его положениях. Представьте себе, что мы специально «суммируем» несколько последовательных кадров ви- деозаписи в одном кадре. При этом, разумеется, изображение объекта окажется
Цифровые видеопоследовательности 109 «размазанным», лишенным четких контуров. Это и есть причина возникновения динамического смаза при видеосъемке. С точки зрения решения любых технических задач машинного зрения динами- ческий смаз является эффектом вредным, он «портит» изображение, делая его нерезким, мешает выделять и распознавать объекты, осуществлять измерения и считывать информацию. В современной обработке изображений существуют раз- личные математические методы реконструкции изображений, позволяющие час- тично или даже полностью восстанавливать резкость смазанного изображения, однако такая фильтрация практически никогда не может быть произведена в ре- альном масштабе времени. Таким образом, единственный практический способ избавиться от смаза заключается в том, чтобы правильно организовать ви- деосъемку, исключив условия возникновения смаза. 2.5.3. Этапы проектирования системы видеосъемки В процессе проектирования системы видеосъемки динамических сцен, помимо обеспечения необходимого пространственного разрешения, необходимо обратить внимание на следующие технические аспекты. Выбор экспозиции Прежде всего необходимо оценить минимально необходимое время экспозиции, ис- ходя из оценки ожидаемой скорости движения объекта съемки. Для этого, с уче- том требуемого пространственного разрешения, скорость движения объекта в пространстве пересчитывается в скорость движения его образа в пикселях в плоскости изображения. Отсюда легко определить время экспозиции, за кото- рое образ объекта сдвинется не более чем на 1 пиксель. Это и есть минимально необходимое время экспозиции в данной задаче. Выбор камеры Следующим этапом является выбор аппаратуры для видеорегистрации. Допус- тимые времена экспозиции являются паспортными данными видеокамер - как цифровых, так и аналоговых. Если минимально необходимое время экспозиции попадает в диапазон указанных в паспорте камеры вариантов экспозиции, данная камера в принципе может быть использована при создании программно-аппарат- ного комплекса для решения данной задачи. Здесь, однако, необходимо обратить внимание на еще одну паспортную характеристику камеры, а именно - тип развертки. Современные камеры могут иметь один из двух типов развертки - прогрессивный и чересстрочный. Прогрессивный тип развертки означает, что ка- мера действительно один раз за 1/25 с формирует одно изображение размера (DimXxDimY) с заданными параметрами экспозиции. Чересстрочный тип развер- тки означает, что данная камера за то же самое время на самом деле формирует не один кадр, а два полукадра размером (DimXxDimY/2), которые затем передаются в компьютер или на фреймграббер как целый «псевдокадр» размера (DimXxDimY).
110 Цифровые изображения При этом четные строки псевдокадра составляют строки первого полукадра, а не- четные строки - строки второго полукадра (в связи с чем такой режим съемки и получил название «чересстрочный»). При съемке быстро движущихся объектов, даже если время экспозиции подобрано правильно, на чересстрочных изображени- ях можно наблюдать визуальный эффект «чересстрочного смаза», когда кажется, что на изображении находится не одно изображение объекта, а два его разномомен- тных «призрака», иногда пересекающихся между собой и накладывающихся на фон видимой сцены. Иногда двух различных изображений на чересстрочном снимке не наблюдается, и лишь контуры объекта кажутся немного смазанными. Но при более близком рассмотрении обнаруживается так называемый «эффект гребенки», связанный с тем, что контуры объектов в разных полукадрах имеют все же несколько отличное положение, и в результате контур объекта на суммар- ном псевдокадре имеет вид «расчески» с выступающими зубьями. Такой эффект чересстрочного смаза также является помехой для дальнейшей обработки и ана- лиза изображения. Поэтому следует либо выбирать камеры с прогрессивной раз- верткой, либо в самом начале анализа изображения разбивать введенный кадр на два полукадра и далее работать с ними как с независимыми изображениями. Дос- тоинством такого подхода является то, что вы получаете видеопоследователь- ность с удвоенной скоростью съемки (не 25 кадров, а 50 полукадров в секунду). Во многих задачах технического контроля удвоенная скорость съемки, получае- мая без удорожания системы на обычных видеокамерах, является предпочтитель- ной и позволяет улучшить качество работы системы в целом. В то же время недо- статком работы по полукадрам является то, что при этом вдвое снижается пространственное разрешение по вертикали (ведь число строк полукадра вдвое ниже по сравнению с целым кадром). Во-первых, этого разрешения может не хва- тить для того, чтобы обеспечить требуемую точность измерения объектов, во вто- рых, даже если точности хватит, изображение становится геометрически анизот- ропным и имеет разный масштаб по вертикальной и горизонтальной осям, о чем все время придется помнить в ходе написания отладки алгоритмов геометриче- ского анализа полукадров. Освещенность и подсветка Наконец, последним этапом формирования схемы съемки динамической сцены является анализ условий освещенности и, если необходимо, выбор устройств до- полнительной подсветки. Действительно, мы ранее говорили о том, что выбранное время экспозиции определяется, с одной стороны, скоростью движения объекта (чем быстрее движется объект, тем меньше должно быть время экспозиции), а с другой стороны - количеством фотонов, которое успевает попасть на видео- приемник (чем слабее поток света, тем дольше должно быть время экспозиции). Как видно, одно требование противоречит другому в ситуации, когда объект дви- жется быстро и в то же время слабо освещен. В случае близко расположенных объектов (от сантиметров до десятков метров дальности) естественным выходом из этого противоречия становится использование дополнительной технической подсветки. Подсветка увеличивает уровень освещенности объекта до необходи-
Цифровые видеопоследовательности 111 мого для качественной регистрации при данном времени экспозиции. В качестве дополнительного источника освещения в системах машинного зрения обычно ис- пользуются имеющиеся в продаже готовые устройства технической подсветки - прожекторы. В случае если система технического зрения требует использовать подсветку, а работающим рядом людям такая подсветка могла бы помешать, ис- пользуется инфракрасная подсветка (ИК-прожекторы). Такая подсветка невиди- ма для человека и в то же время ближний ИК-диапазон хорошо регистрируется практически всеми черно-белыми камерами для технического зрения и видеонаб- людения. Внимание! Современные цветные камеры имеют специальный фильтр, отсекающий свет ИК-диапазона (чтобы он не искажал красную составля- ющую цветного спектра). Поэтому не следует использовать ИК-прожек- торы с цветными камерами. Если ваша задача требует цветной съемки, используйте подсветку в видимом диапазоне. Во многих задачах, помимо общего уровня освещенности, к устройствам под- светки также предъявляются и другие дополнительные требования - к однород- ности освещения, его геометрии и т. д. Это обусловливает использование в таких системах различного рода специальных устройств подсветки. Например, при съемке металлических, стеклянных, полированных и других бликующих поверх- ностей часто предъявляется требование создания однородной безбликовой под- светки. В таких задачах, как считывание штриховых кодов, используется специ- альная лазерная линейная подсветка. В фотограмметрических системах для трехмерного сканирования и бесконтактного измерения деталей и других объек- тов используется специальная структурированная подсветка. Вопросы, связан- ные со структурированной подсветкой, будут подробно рассмотрены в главе 5 данной книги. 2.5.4. Быстрая съемка и съемка быстропротекающих процессов Когда мы говорили о скорости съемки, то упоминали уже «ускоренную съемку». При этом подразумевалось, что: • время съемки не ограничено; • скорость съемки может быть увеличена в разы по сравнению со стандарт- ными системами. Современные цифровые камеры обеспечивают возможность подобной быст- рой съемки с параметрами порядка 100-150 кадров в секунду при разрешении кад- ра порядка 640x480 пикселей. Достижение более высоких скоростей съемки мо- жет быть осуществлено только за счет уменьшения разрешения кадра, либо за счет перехода к использованию линейных камер (об их достоинствах и недостат- ках мы уже писали выше). Основным ограничителем здесь служит пропусканная способность цифровых каналов передачи данных в реальном времени. Аналогич- ным образом пропускная способность каналов ввода ограничивает и возможность
112 Цифровые изображения увеличения разрешения для видеосистем, работающих с «обычной» скоростью съемки. Съемка с параметрами порядка (1300x1000 пикселей) х 30 кадров/с счи- тается на сегодня наилучшим вариантом в смысле пространственного разреше- ния в реальном времени. Все это касалось быстрой, но непрерывной съемки движущихся объектов и динамических процессов. Между тем, существует целый класс объектов интереса, для которых характерны так называемые «быстропротекающие» процессы. Про- цесс можно считать быстропротекающим, если от начала до конца данного про- цесса проходит не более нескольких секунд или даже долей секунд. К таким про- цессам относятся всевозможные процессы взрывов, выстрелов, разрушения материалов, сгорания топлива и т. п. Для видеорегистрации таких процессов со- здан специальный класс устройств, которые позволяют осуществлять съемку в высоком пространственном разрешении со скоростями порядка 500,1000 и даже 2000 кадров в секунду. При этом, поскольку ни один современный канал передачи данных не позволил бы передать все эти данные в реальном времени по ходу реги- страции, зарегистрированные кадры сохраняются в самой видеосистеме, а затем, после окончания процесса, «перекачиваются» в компьютер для дальнейшего хра- нения и обработки. Типичные на сегодня времена регистрации в таких системах: до 3 с в режиме (1300x1000 пикселей) х 1000 кадров/с; до 10 с в режиме (800x600 пикселей) х 500 кадров/с. Экспозиции, применяемые в таких системах, являются уже не просто малыми, а сверхмалыми. Поэтому здесь еще более важно при орга- низации съемки оценивать уровень освещенности объекта съемки и при необхо- димости использовать специальные устройства дополнительной подсветки. Наконец, существуют системы видеорегистрации изображений, временной интервал между которыми составляет наносекунды (10 10 с). Такие наносекунд- ные системы в настоящее время выдают даже не «фильм», а всего лишь несколько (3-6) последовательных кадров, на которых регистрируются последовательные фазы сверхбыстропротекающих процессов, видеорегистрация которых в принци- пе была невозможна. Использование подобных устройств только начинается и, несомненно, позволит в будущем расширить сферу применения методов машин- ного зрения на новые интересные группы прикладных задач в области нанотехно- логий. 2.5.5. Форматы хранения и передачи цифровых видеопоследовательностей Для хранения и передачи последовательностей цифровых изображений исполь- зуются либо последовательности файлов изображений стандартных форматов (BMP, GIF, JPEG), либо специальные форматы хранения видеоданных, в которых последовательные кадры кодируются специальным образом, отличным от коди- рования статических кадров. Системы, сохраняющие последовательность кадров как последовательность (папку, директорию) обычных статических изображений, обладают тем очевид-
Цифровые видеопоследовательности 113 ным преимуществом, что полученные изображения могут быть легко прочитаны, загружены и проанализированы любым из стандартных пакетов для работы с изображениями. Однако существует и ряд причин, делающих такой способ хра- нения и передачи менее предпочтительным по сравнению с использованием спе- циализированных форматов цифровых видеоданных: • Избыточность 1. Каждое изображение последовательности хранится вмес- те с собственным заголовком, содержащим тип, размеры, палитру и т. п. При небольшом размере изображения (например, 160x120 или 320x200) служебная информация может занимать до 10% объема файла. Между тем, очевидно, что для всех кадров видеопоследовательности этот заголовок можно было бы записать всего лишь один раз и дальше хранить только сами растровые данные. • Избыточность 2. Известно, что в медленно меняющихся сценах разность любых двух последовательных кадров содержит значительно меньше информации, чем сам исходный кадр. Следовательно, применение разно- стных схем сжатия видеоданных, учитывающих их последовательное рас- положение кадров, позволяет достичь существенно больших степеней сжа- тия видеопотока, чем раздельное сжатие каждого кадра. Это особенно принципиально в задачах передачи цифровых видеоданных. • Существуют дополнительные (например, временные) параметры ви- деосъемки, которые не сводятся только к параметрам каждого из изображе- ний. Следовательно, для видеопоследовательности в целом все равно при- ходится хранить некий специальный заголовок - в виде отдельного файла либо в виде заголовка единого файла видеопоследовательности, записан- ной в специальном формате. • В мультимедийных приложениях (запись видеофильмов, клипов и т. п.), помимо хранения видеоданных, требуется также осуществлять и парал- лельную синхронную запись звуковых дорожек, а иногда и некоторых до- полнительных данных - текстовых и цифровых меток и т. п. Все это требует создания специальных единых форматов для хранения и передачи разно- родных цифровых данных, имеющих временную протяженность. На первый взгляд, может показаться, что это чисто мультимедийное требование, кото- рое не может встретиться в системах технического зрения. Однако, как мы уже говорили ранее, комплексирование данных, приходящих из самых раз- ных источников, - одна из основных тенденций в современных информа- ционно-управляющих системах. В практической производственной задаче нам вполне может понадобиться осуществлять параллельную запись не толь- ко изображений от нескольких камер, но также и от нескольких микрофонов, нескольких электрических, тензометрических, акустических и т. п. датчиков. Весь этот массив информации крайне неудобно затем анализировать, если запись ведется в разные, никак не связанные друг с другом, файлы. Исходя из приведенных соображений, для записи, хранения и передачи циф- ровых видеоданных был создан ряд специальных файловых форматов. Наиболее распространенными из них на сегодня являются формат AVI и формат MPEG.
114 Цифровые изображения Формат AVI Универсальный формат AVI. Вероятно, самым распространенным форматом для хранения видеоинформации является сегодня формат AVI. Компания Microsoft впервые выпустила пакет Video for Windows для операционной системы Windows 3.1 в ноябре 1992 года, и с тех пор формат AVI (Audio Video Interleave) является основным для хранения видео в операционных системах семейства Windows. Из других подобных универсальных форматов компьютерного видео наиболее изве- стен формат QuickTime MOV фирмы Apple. Основное отличие универсального формата AVI от потоковых форматов типа MPEG или таких специализированных разновидностей, как MP4 (MPEG Video Layer 4), заключается в том, что «стандартных» AVI-файлов практически не суще- ствует. AVI-файл - это «контейнер», который содержит общее описание содержимо- го в стандартизованном виде. Видео- и аудиопотоки, которые содержатся в AVI-фай- ле, могут использовать любую комбинацию кодеков. Эти кодеки устанавливаются и регистрируются в операционной системе независимо друг от друга, а программы ко- дирования хранятся в отдельных DLL-файлах. При этом помимо стандартных коде- ков могут использоваться и нестандартные кодеки. AVI может содержать много раз- личных видов компрессии в любых сочетаниях (например, DivX для видео и WMA для аудио). Работать с AVI-файлом можно только в том случае, если необходимый кодек доступен для кодирования/декодирования на данном компьютере. Впрочем, если информация о кодеке содержится в AVI-файле, и вы имеете доступ в Интернет, программа-плейер может сама обратиться на сайт Microsoft или другой компании, скачать необходимый кодек и установить его в системе. Воспроизведением AVI-файлов в ОС Windows управляет универсальная среда компании Windows Multimedia System, состоящая из интерфейса высокого уров- ня - MCI (Media Control Interface) или MCI API (Application Programming Inter- face) - и низкоуровневых MCI-драйверов. Структура AVI файла. Формат AVI {Audio Video Interleave, чередующиеся аудио и видео) позволяет одновременно хранить изображение и звук. При воспро- изведении видеопоток и дорожки звукового канала (waveform audio, или WAV) ана- лизируются, разделяются и обрабатываются драйверами различных устройств. Простые аудио- и видеопотоки могут содержаться в WAV или AVI файле без како- го-либо сжатия (компрессии). Простейший WAV имеет стандартный заголовок типа PCM (Pulse Coded Modu- lation) и содержит аудиоданные, обычно несжатые, полученные 8- или 16-разряд- ным сэмплированием аналогового звука. Однако так же, как и в AVI, в WAV-файле может содержаться звуковая информация со сжатием, а также прописываться ин- формация о необходимом для воспроизведения кодеке. Структура AVI-формата является вариантом формата RIFF (Resource Inter- change File Format), разработанного компаниями IBM и Microsoft для обмена мультимедийными данными. Файлы этого формата имеют вложенную блочную структуру, то есть состоят из блоков (chunks), которые, в свою очередь, могут со- держать другие вложенные блоки. Основной RIFF-блок содержит идентифика- тор формата «avi», который указывает на тип файла.
Цифровые видеопоследовательности 115 В соответствии с общей структурой RIFF-типа, AVI-файл должен иметь сле- дующий вид: RIFF «AVI» //четырехбуквенный идентификатор файла (в RIFF-формате) LIST «hdrl» //список заголовков блоков, определяющих форматы потоков LIST «movi» // блоки данных (потоков) AVI-файла «idxl» //необязательный блок, определяющий размещение блоков данных //внутри AVI-файла В соответствии с этой структурой AVI-файл имеет, по крайней мере, два обяза- тельных блока: заголовок и данные, которые, в свою очередь, могут содержать не- сколько подблоков. Первый блок будет содержать общую информацию о видео- ролике: разрешение кадров и их частоту, формат аудио и т. д. Сначала в заголовке для записи длины потока отводилось 32 байт, поскольку в файловой системе FAT 16 максимальный раздел диска не мог превышать 2 Гбайт, поэтому и максималь- ный кусок видео, который можно было записывать в AVI-файле, не мог превы- шать 2 Гбайт (с учетом знака переменной размера). С появлением файловых сис- тем FAT 32 и NTFS верхняя граница размера раздела значительно отодвинулась. Список «hdrl» может состоять из подсписков: LIST «hdrl» //список заголовков блоков, определяющих форматы потоков «avih» //главный заголовок AVI-файла LIST «strl» «strh» //заголовок потока «strf» //формат потока «strd» //дополнительный заголовок данных Список «movi», в свою очередь, состоит из подблоков: LIST «movi» //блоки данных (потоков) AVI-файла SubChunk | LIST «гес» //подблок | список записей «##wb» (размер блока 4 байта) (data) //звуковые данные (блок) «##dc» (размер блока 4 байта) (data) //видеоданные (блок) «##db» (размер блока 4 байта) (data) //видеоданные (блок) Таким образом, подблок данных организован в виде последовательности запи- сей, каждая из которых состоит из одного кадра видео и соответствующего звуко- вого сопровождения. Первоначально ##бс-блок был предназначен для хранения сжатого изображения, а ##бЪ-блок - для несжатого DIB (Device Independent Bitmap). Но фактически они оба могут содержать сжатые данные. Одним из недостатков формата AVI является то, что аудио- и видеофрагменты не содержат никаких меток времени или индексов кадра. В простейшем случае каждому кадру видео соответствует фрагмент звукового сопровождения, но дале- ко не все AVI-файлы строятся по этой простой схеме. Недостаток, заключающий-
116 Цифровые изображения ся в отсутствии временных меток, был устранен в расширении AVI-формата - OpenDML AVI (поддержанном затем в системах DirectShow и в ActiveMovie). Цветовые палитры. Видеоданные в AVI-формате могут быть подготовлены и сохранены в различных цветовых пространствах, которые можно условно разде- лить по глубине цвета: • 8-битная черно-белая палитра (256 градаций серого); • 8-битная RGB-палитра (256 цветов); • 9-битная палитра YUV9; • 12-битная YUV (4:1:1); • 16-битная YUV2 (4:2:2); • 16-битная RGB (5 бит для красного, 6 - для зеленого и 5 - для синего); • 24-битная RGB (стандартная RGB-палитра); • 32-битная RGB (с альфа-каналом). 32-битная палитра по цветовой информативности аналогична 24-битной, старший байт служит для определения атрибута прозрачности. Видеокодеки. Запись видео и аудио в AVI-формате может производиться как без сжатия, так и со сжатием (компрессией). Причем компрессия может быть как без потерь информации, так и с потерями. Существует много различных техноло- гий сжатия, используемых компьютерными кодеками, совместимыми с форматом AVI. В настоящее время наиболее популярны кодеки, основанные на различных вариациях дискретного косинусного преобразования (смотри выше описание ал- горитма JPEG) и алгоритмах сжатия межкадровой разности (кодеки типа Н.261, Н.263, MPEG 1, MPEG 2, MPEG 4 и другие). Начиная с Video for Windows 1.1е, в системе Windows по умолчанию устанавлива- ется несколько стандартных кодеков: Intel Indeo; Microsoft Video 1 (формат работает только с 8- и 16-битным цветом); Microsoft RLE (Run Length Encoding), который ис- пользует только 8-битный цвет; Cinepak (пришедший с платформы Macintosh вместе с QuickTime). Впоследствии к ним добавились полноцветные кодеки, которые воз- никли вместе с платами для захвата и монтажа видео на компьютере: Motion JPEG; Editable MPEG, который использует только 1-кадры. Есть и достаточно редкие, ком- мерческие кодеки, которые были созданы для специального использования. В последние годы к стандартным кодекам прибавились кодеки так называемой новой волны, порожденные новыми технологиями анализа движения. Такие коде- ки способны выделять на изображении движущиеся и неподвижные части в от- дельные объекты и применять к ним раздельные методы сжатия, что позволяет добиться значительного улучшения визуального восприятия при том же или даже меньшем объеме потока данных. Идея подобного кодирования заключается в том, что чем быстрее движение объекта в поле кадра, тем выше может быть коэффици- ент компрессии для его отображения. Формат MPEG Формат MPEG (Moving Pictures Experts Group) - наиболее распространенный на сегодня формат записи и передачи цифровых видеоданных в бытовых видеосис- темах (камерах и фотоаппаратах), Интернете и системах видеонаблюдения. Он
Цифровые видеопоследовательности 117 использует эффективные алгоритмы сжатия межкадровой разности. Кроме того, этот формат позволяет записывать несколько синхронных потоков цифровых данных от различных источников видео, аудио и другой информации. Все форматы сжатия семейства MPEG (MPEG 1, MPEG 2, MPEG 4, MPEG 7) используют высокую избыточность информации в изображениях, разделенных ма- лым интервалом времени. Между двумя соседними кадрами обычно изменяется толь- ко малая часть сцены. Е1апример, происходит плавное смещение небольшого объекта на фоне фиксированного заднего плана. В этом случае полная информация о сцене может сохраняться выборочно - только для опорных изображений. Для остальных кадров достаточно передавать разностную информацию: о положении объекта, на- правлении и величине его смещения, новых элементах фона, открывающихся за объектом по мере его движения. Причем эти разности можно формировать не только по сравнению с предыдущими изображениями, но и с последующими (поскольку именно в них, по мере движения объекта, открывается ранее скрытая часть фона). Форматы сжатия семейства MPEG сокращают объем закодированной инфор- мации за счет использования следующих основных эффектов: • устраняется временная избыточность видео (учитывается только разно- стная информация); • устраняется пространственная избыточность изображений путем подавле- ния мелких деталей сцены; • устраняется часть информации о цветности; • повышается информационная плотность результирующего цифрового по- тока путем выбора оптимального математического кода для его описания. Форматы MPEG сжимают только опорные кадры - 1-кадры (Intra frame, внут- ренний кадр). В промежутки между ними включаются кадры, содержащие только изменения между двумя соседними 1-кадрами - так называемые Р-кадры (Pre- dicted frame, прогнозируемый кадр). Для того чтобы сократить потери информа- ции между 1-кадром и Р-кадром, вводятся так называемые В-кадры (Bidirectional frame, двунаправленный кадр). В них содержится информация, которая берется из предшествующего и последующего кадров. Типичная последовательность кадров выглядит следующим образом: IBBPBBIBBPBBIBB... Соответственно, последо- вательность кадров в соответствии с их номерами будет воспроизводиться в сле- дующем порядке: 1423765... Рассмотрим теперь различные модификации формата MPEG. Форматы MPEG 1 и MPEG 2. В качестве начального шага обработки изобра- жения форматы сжатия MPEG 1 и MPEG 2 разбивают опорные кадры на несколько равных блоков, над которыми затем производится дискетное косинусное преоб- разование (ДКП). По сравнению с MPEG 1, формат сжатия MPEG 2 обеспечива- ет лучшее разрешение изображения при более высокой скорости передачи видео данных за счет использования новых алгоритмов сжатия и удаления избыточной информации, а также кодирования выходного потока данных. Кроме того, формат сжатия MPEG 2 дает возможность выбора уровня сжатия за счет точности кван- тования. Для видеозаписи с разрешением 352x288 пикселей формат сжатия MPEG 1 обеспечивает скорость передачи 1,2-3 Мбит/с, a MPEG 2 - до 4 Мбит/с.
118 Цифровые изображения Формат MPEG 4 использует технологию так называемого фрактального сжа- тия изображений. Фрактальное сжатие подразумевает выделение из изображе- ния контуров и текстур объектов. Контуры представляются в виде так называе- мых сплайнов (специальных полиномиальных функций) и кодируются опорными точками. Текстуры могут быть представлены в качестве коэффициентов про- странственного частотного преобразования (например, дискретного косинусного или вейвлет-преобразования). Диапазон скоростей передачи данных, который поддерживает формат сжатия видеоизображений MPEG 4, гораздо шире, чем в MPEG 1 и MPEG 2. Формат сжатия видеоизображений MPEG 4 поддерживает широкий набор стандартов и значений скорости передачи данных. MPEG 4 включает методы прогрессивного и чересстрочного сканирования и поддерживает произвольные значения простран- ственного разрешения и скорости передачи данных в диапазоне от 5 Кбит/с до 10 Мбит/с. В MPEG 4 усовершенствован алгоритм сжатия, качество и эффектив- ность которого повышены при всех поддерживаемых значениях скорости переда- чи данных. Форматы MPEG 7. В октябре 1996 года группа MPEG приступила к разработ- ке формата сжатия MPEG 7, призванного определить универсальные механизмы описания аудио- и видеоинформации. Этот формат получил название Multimedia Content Description Interface. В отличие от предыдущих форматов сжатия семей- ства MPEG, MPEG 7 описывает информацию, представленную в любой форме (в том числе в аналоговой) и не зависит от среды передачи данных. Как и его пред- шественники, формат сжатия MPEG 7 генерирует масштабируемую информа- цию в рамках одного описания. Формат сжатия MPEG 7 использует многоуровневую структуру описания аудио- и видеоинформации. Е1а высшем уровне прописываются свойства файла, такие как название, имя создателя, дата создания и т. д. Е1а следующем уровне описания формат сжатия MPEG 7 указывает особенности сжимаемой аудио- или видеоинформации - цвет, текстуру, тон или скорость. Одной из отличительных особенностей MPEG 7 является его способность к определению типа сжимаемой информации. Если это аудио- или видеофайл, то он сначала сжимается с помо- щью алгоритмов MPEG 1, MPEG 2, MPEG 4, а затем описывается при помощи MPEG 7. Такая гибкость в выборе методов сжатия значительно снижает объем информации и ускоряет процесс сжатия. Основное преимущество формата сжа- тия MPEG 7 над его предшественниками состоит в применении уникальных деск- рипторов и схем описания, которые, помимо всего прочего, делают возможным автоматическое выделение информации как по общим, так и по семантическим признакам, связанным с восприятием информации человеком. Процедура занесе- ния в каталог и поиска данных находятся вне сферы рассмотрения этого формата сжатия.
Методы обработки изображений Данная глава посвящена методам обработки изображений. При этом под обработ- кой изображений в узком смысле понимается такая «низкоуровневая» обработка изображения, результатом которой также является растровое изображение или другой растровый объект (например, одномерный массив). 3.1. Гистограмма и гистограммная обработка. Бинаризация и сегментация. Профили и проекции В главе 2 было подробно показано, что, несмотря на все возможное богатство се- мантического, физического и любого другого содержания изображения, само это содержание определяется, в конце концов, только лишь распределением интен- сивности некоторого сигнала по двумерной дискретной плоскости (или набором таких распределений, если изображение имеет несколько таких «цветовых», «ди- апазонных», «признаковых» или других плоскостей»). При этом каждый пиксель исходного цифрового изображения характеризуется тремя, вообще говоря, незави- симыми величинами - {.г, у, I}, где пара целочисленных значений (.г, у) описывает геометрическое положение данного пикселя в плоскости изображения, а величина I характеризует его яркость, или интенсивность, в данной точке плоскости. В соот- ветствии с этим принято различать в изображении его яркостную и геометричес- кую составляющие. Эти составляющие в принципе могут изменяться независимо друг от друга. Допустим, мы на протяжении некоторого времени наблюдаем через окно какую- нибудь статическую внешнюю сцену при неизменных условиях освещенности, а затем условия освещенности неожиданно меняются. Скажем, солнце зашло за тучу или, наоборот, вышло из-за облака. При этом мы увидим, что, хотя яркость
120 Методы обработки изображений (среднее значение интенсивности сигнала) и контраст изображения (размах зна- чений между минимальной и максимальной наблюдаемой яркостью) изменились, геометрическая форма изображения (то есть положение видимых контуров объек- тов и областей различной яркости) осталась неизменной. Возможна и обратная си- туация, когда яркостные характеристики изображения в среднем не меняются, не- смотря на то что явно наблюдаются изменения формы - например, движение каких-либо частей изображения относительно остальных его частей. Отсюда выте- кает идея возможного раздельного анализа яркости и геометрии изображения. Та- кое разделение не только облегчает разработчику логический анализ задачи, но и понижает «порядок» изображения как предмета обработки с третьего ({х, у, I}) до второго ({х, у}) и первого ({/}) соответственно, что, в свою очередь, позволяет эконо- мить время вычислений и требуемый для решения задачи объем памяти. Особенную привлекательность этой идее на ранних этапах развития обработ- ки изображений придавало то, что анализ двумерных полей был сравнительно новой и неизведанной задачей, в то время как в области обработки одномерных функций и сигналов у математиков и специалистов в других областях знания был уже накоплен значительный опыт. Следовательно, выделив из изображения ка- кой-либо характеризующий его одномерный сигнал, можно было применить для его обработки и анализа большое количество уже существующих готовых инстру- ментов. Кроме того, как уже говорилось, обработка одномерных сигналов требует существенно меньшей затраты вычислительных ресурсов, что было крайне важно в те времена, когда вычислительная техника еще не была так мощна и совершен- на, как сегодня. Да и сегодня актуальность экономии вычислительных ресурсов сохраняется во всех тех задачах, которые должны решаться системами машинно- го зрения в реальном масштабе времени. Итак, яркостная составляющая изображения действительно характеризуется одномерным массивом гистограммы (частоты встречаемости на изображениях пикселей одинаковой яркости). Однако геометрические характеристики изобра- жения ({х, у}) по-прежнему требуют для своего описания двумерных данных. Ес- тественно предположить, что первые исследователи изображений старались и в этой области найти такие характеристики, которые описывали бы двумерную геометрию изображения при помощи некоторых одномерных массивов. И такие полезные способы описания действительно были найдены. Это так называемые «профили» и «проекции» изображения. Профилем изображения вдоль некоторой линии называется функция интенсивности изображения, распределенного вдоль данной линии (прорезки). Проекцией изображения на некоторую ось (направле- ние) называется интеграл (сумма) интенсивности пикселей изображения, взятый в направлении, перпендикулярном данной оси. Итак, в данной главе мы будем рассматривать основные способы обработки и анализа изображений путем сведения двумерных задач к одномерным', построение и анализ гистограмм, гистограммную обработку изображений, а также построе- ние и использование профилей и проекций изображения. Еще одно предварительное замечание, прежде чем мы начнем непосредствен- но разбираться с различными видами и способами обработки и анализа изображе-
Гистограмма и гистограммная обработка. Бинаризация и сегментация 121 ний. Любая информация об изображении (а также и любая процедура его обра- ботки) может носить глобальный или локальный характер. Глобальной считается информация или обработка, относящаяся ко всему изображению в целом. Локаль- ной считается информация (или обработка), относящаяся (применяемая) к некото- рой его выделенной области (фрагменту изображения, некоторой линии, опреде- ленному множеству точек и т. д. и т. п.). Соответственно, необходимо помнить, что и гистограммы, и профили, и проекции, рассматриваемые ниже, могут относиться как к изображению в целом, так и к определенным его локальным областям. 3 .1.1. Гистограмма и гистограммная обработка изображений Гистограмма характеризует частоту встречаемости на изображении пикселей одинаковой яркости. Для 8-битного полутонового изображения гистограмма яркости представляет собой одномерный целочисленный массив из 256 элементов: Hist: ID-array [0..255] of unsigned long (32-bit integer). Элементы гистограммы Hist[i] содержат целые значения, равные количеству пикселей изображения, яркость которых равна значению i. Визуально гистограм- ма обычно отображается как обычный график одномерной функции (см. ниже рис. 3.1.3, 3.1.4). Гистограмма позволяет оценить и необходимым образом изме- нить яркость изображения, его контраст, площадь изображения, которую занима- ют светлые, темные и другие яркостные элементы, и, наконец, определить, где на плоскости изображения находятся отдельные области (объекты), соответствую- щие тем или иным диапазонам значений яркости. Яркостными преобразованиями изображения называются преобразования двумерных функций яркости, описываемые простой формулой: Гт’(х,у) = f(Im(x,у У). Здесь/(*) - функция отображения яркости, которая никак не зависит от поло- жения пикселя (х,у). Простейшим случаем яркостных преобразований изображе- ния являются линейные преобразования яркости, в которых функция отображе- ния яркости имеет вид: /(/) = ах 1+Ъ, где а - коэффициент, определяющий изменение контраста изображения, Ъ - ко- эффициент, определяющий изменение средней яркости изображения, I - соб- ственно яркость в текущей точке изображения 1т(х,у). Такие линейные преобразования яркости называют также фотографическими, так как при традиционной фотосъемке их можно устанавливать при помощи из- менения характеристик выдержки и диафрагмы объектива. Возможны и другие функции отображения яркости. Яркостные преобразования цифровых изображений часто называют гистог- раммными, так как при этом, во-первых, изменяется гистограмма изображения,
122 Методы обработки изображений во-вторых, вид функции преобразования (параметры преобразования) часто оп- ределяются адаптивно, на основании ранее собранной гистограммы исходного изображения. В случае дискретных цифровых изображений функция отображения яркости принимает вид так называемой таблицы отображения яркости LUT (Look-Up- Table, просмотровой таблицы). Гистограммная обработка изображения при помо- щи таблицы отображения яркости осуществляется следующим образом: h/i\i,j\ = LUT[Im[i,j]], где lm\i,j\ - пиксель изображения с координатами (/,/), L UT-целочисленный мас- сив размера 256 элементов для 8-битного изображения или длиной 65 536 элемен- тов для 16-битного изображения. Далее без принципиальной потери общности будем рассматривать гистог- раммную обработку на примере 8-битных полутоновых изображений. При этом LUTможет задаваться: • произвольной таблицей отображения, формируемой пользователем непос- редственно; • некоторой математической функцией, выбранной из заданного набора фун- кций; • адаптивно по гистограмме данного анализируемого изображения. Пользовательские таблицы отображения позволяют выполнять следующие типовые операции: • ручное вырезание определенных диапазонов яркости; • ручное вырезание битовых плоскостей; • ручную бинаризацию изображения по одному или двум порогам; • ручную сегментацию изображения на несколько яркостных диапазонов. Стандартные математические функции, используемые для формирования LUT, как правило, выделяются из следующего типового набора: • линейное преобразование - Linear; • логарифмическая функция - Log; • экспонента - Ехр; • квадратичная функция - Square; • квадратный корень - Square root; • степенная функция - Power X; • обратная степенная функция - Power 1 /X. Известным частным случаем стандартной обработки изображений является инвертирование яркости, определяемое зависимостью вида LUT[i\ = 255 - i. В результате инвертирования изображения получается его негатив. При этом темные области становятся светлыми, и наоборот. Другое широко используемое преобразование - степенной закон вида LUT[i\ = r(iy, где г - коэффициент контраста, у - степень преобразования.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 123 Такие преобразования известны в области аналогового телевидения как про- цедура гамма-коррекции. Легко увидеть, что, изменяя параметр у, мы можем полу- чать LUTразличного типа. При у = 1 преобразование будет линейным, при у < 1 предпочтение будет отдаваться более светлым цветам (на них придется большая часть диапазона), при у > 1 предпочтение будет отдаваться более темным цветам. Такие преобразования часто используются для «выравнивания» яркости изобра- жений, получаемых на электронно-лучевых трубках (ЭЛТ). Рассмотрим теперь простейший способ адаптивной (то есть не наперед задан- ной, а зависящей от данного конкретного изображения) гистограммной обработ- ки. Начнем с линейной адаптивной процедуры, называемой яркостной нормали- зацией изображения и описываемой следующей математической зависимостью: LUT[i] = 255 X (i — min(Hist(Im))) / (max(Hist(Im)) — min(Hist(Im))). Данное преобразование равномерно «растягивает» диапазон яркостей [min(Hist(Im)), max(Hist(Im))], присутствующих на исходном изображении 1т, на максимально возможный диапазон [0, 255]. Это способствует максимально возможному улучшению контраста изображения без потери каких-либо различий элементов яркости исходного изображения. Другой популярной процедурой адаптивной гистограммной обработки изоб- ражения является эквализация изображения. Эквализация также отображает реальный яркостной диапазон данного изображения (от минимального до макси- мального значения интенсивности) на диапазон [0, 255]. При этом обеспечивает- ся «выравнивание» числа пикселей изображения, имеющих различные значения яркости. Математическая форма данного преобразования имеет вид LUT[z] = 255 х (SUM(Hist(Im),l,z) / SUM(Hist(Im),1,255), где SUM(Hist(Im),£,z) обозначает сумму значений гистограммы изображения Im от ячейки с номером k до ячейки с номером г включительно. В тех случаях, когда в диапазоне [min(Hist(Im)), max(Hist(Im))] более или менее равномерно присут- ствуют все градации, визуальный эффект от эквализации изображения трудно отличить от его нормализации. Однако в случае, когда значительная часть града- ций яркости отсутствует, эквализация позволяет более равномерно использовать диапазон [0, 255] для более контрастного отображения присутствующих на изоб- ражении градаций. Визуально это выглядит как «проявление» большего количе- ства ранее незаметных на изображении деталей и контуров. В заключение этого краткого введения в гистограммную обработку и анализ изображений необходимо отметить, что наиболее общей смысловой единицей анализа гистограммы является мода. Это понятие, позаимствованное из матема- тической статистики, означает максимум, или «горб», графика гистограммы. Если гистограмма имеет одну моду, такая гистограмма называется унимодальной и свидетельствует о яркостной однородности изображения. Бимодальная гисто- грамма с двумя явно наблюдающимися модами, разделенными заметной «впади- ной», скорее всего, означает, что данное изображение содержит заметно отличаю- щиеся друг от друга «светлую» и «темную» области, часто называемые «фоном» и «объектом» или «фоном» и «символом». Разделение этих областей порогом, опре- деляемым по гистограмме, называется адаптивной бинаризацией изображения.
124 Методы обработки изображений Наконец, если на гистограмме наблюдается несколько мод, такая гистограмма на- зывается мультимодальной, и ее анализ осуществляется более сложными методами. Рассмотрим теперь, как гистограммные преобразования яркости реализуются в среде Nl Vision. Функция IMAQ: Histograph Виртуальный прибор IMAQ Histograph (рис. 3.1.1) осуществляет построение и визуализацию гистограммы изображения. Number of Classes I Histogram Graph Mean Value Image Image Mask = j-— Interval Range™®8“ error in fno error] IS □ ОI Ci II Lidl LI UCYIdllUn error out Рис. 3.1.1. Функция IMAQ Histograph Входными параметрами IMAQHistograph являются: • исходное изображение Image; • область интереса Image Mask, которую можно вырезать с помощью VI (виртуального прибора) IMAQ ROIToMask; • диапазон яркостей Interval Range, внутри которого производится сбор гис- тограммы; • число ячеек гистограммы - Number of Classes. По умолчанию равно 256; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ Histograph возвращает: • график гистограммы - Histogram Graph; • среднее значение яркости в гистограмме - Mean Value; • CKO Standard Deviation; • Сообщение об ошибках error out, возникающих в результате работы IMAQ Histograph. Функция IMAQ: Histogram ВП IMAQ Histogram (рис. 3.1.2) выдает отчет о гистограмме изображения. Number of Classes---------1 Image Histogram Report Image Mask^j"™ n Interval Range™® I—®— error out error in fno error] Рис. 3.1.2. Функция IMAQ Histogram
Гистограмма и гистограммная обработка. Бинаризация и сегментация 125 В качестве входных параметров IMAQ Histogram принимает: • исходное изображение Image; • область интереса Image Mask, которую можно вырезать с помощью вирту- ального прибора IMAQ ROIToMask; • диапазон яркостей Interval Range, внутри которого производится сбор гис- тограммы; • число ячеек гистограммы - Number of Classes. По умолчанию равно 256; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. В выходном кластере Histogram Report содержатся: • массив элементов гистограммы - histogram; • информация о минимальном, максимальном значениях яркости в гистог- рамме Minimal Value, Maximal Value; • начальное (стартовое) значение яркости, начиная с которого строится гис- тограмма, Starting Value; • шаг между ячейками гистограммы - Interval Width; • среднее значение яркости в гистограмме - Mean Value; • CKO Standard Deviation; • число всех пикселей, которые участвуют в сборе гистограммы, - Area (pixels). Также на выходе IMAQ Histogram формируются сообщения об ошибках error out, возникающих в результате работы IMAQ Histogram. Рассмотрим пример использования функций IMAQ Histograph и IMAQ Histogram. На рис. 3.1.3 показана лицевая панель (Frontal Panel) учебного прило- жения в режиме сбора гистограммы по всему изображению, а на рис. 3.1.4 - по выделенному фрагменту изображения. После запуска программы следует загру- зить изображение при помощи элемента Path и при необходимости выделить ин- тересующий фрагмент изображения. В Histogram Graph выводится гистограмма. В таблице Histogram Report отражены численные характеристики гистограммы. Выход из программы осуществляется по нажатии кнопки Stop. При построении блок-диаграммы (рис. 3.1.5 и 3.1.6 соответственно) использо- вана так называемая структура управления событиями (Event Structure), в первом фрейме которой (рис. 3.1.5) указаны загрузка изображения (IMAQReadFile), вы- резка фрагмента (IMAQ ROIToMask), построение гистограммы (IMAQ Histo- graph и Histogram Graph) и выдача статистики (IMAQ Histogram и Histogram Report). Выход из программы происходит по нажатии кнопки Stop (рис. 3.1.6). Все изображения, созданные IMAQ Create, выгружаются из памяти ВП IMAQ Dispose. Функция IMAQ: UserLookup ВП IMAQMathLookup и IMAQUserLookup осуществляют гистограммную обра- ботку изображения, преобразовывая каждый пиксель с помощью таблицы ото- бражения яркости - LUT (Look-Up-Table).
126 Методы обработки изображений Рис. 3.1.3. Сбор гистограммы по всему изображению Рис. 3.1.4. Сбор гистограммы по выделенному фрагменту изображения
Гистограмма и гистограммная обработка. Бинаризация и сегментация 127 Рис. 3.1.5. Основной фрейм блок-диаграммы Рис. 3.1.6. Выход из программы
128 Методы обработки изображений IMAQUserLookup осуществляет преобразования согласно таблице, заданной пользователем, а IMAQ MathLookup использует для преобразования заранее за- данные алгебраические функции (линейную, логарифмическую, экспоненциаль- ную и различные степенные). Входными параметрами для IMAQ UserLookup являются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; • таблица отображения яркости пикселей изображения - Lookup Table; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQUserLookup формируется изображение Image Dst Out, кото- рое записывается в Image Dst, если Image Dst подано на вход. В противном слу- чае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ UserLookup формируется сообщение об ошибках error out, возникающих в результате работы IMAQUserLookup. Функция IMAQ: MathLookup На вход IMAQ MathLookup (рис. 3.1.7) подаются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; • диапазон яркостей, подвергающихся преобразованиям, - Range; • функции, использующиеся для преобразований, - Operator; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Рис. 3.1.7. Функция IMAQ MathLookUp Преобразования Operator могут иметь следующий вид: • линейное преобразование - Linear; • логарифмическая функция - Log; • экспонента - Ехр; • квадратичная функция - Square;
Гистограмма и гистограммная обработка. Бинаризация и сегментация 129 • квадратный корень - Square root; • степенная функция - Power X; • обратная степенная функция - Power 1 /X; • X Value - показатель степени для степенной (Power X) и обратной степен- ной (Power 1/Х) функций. На выходе IMAQ MathLookup, как и IMAQ UserLookup, формирует изобра- жение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ MathLookup формируется сообщение об ошибках error out, возникающих в результате работы IMAQ MathLookup. Пример использования ВП IMAQ MathLookup и IMAQ UserLookup приво- дится на рис. 3.1.8 и 3.1.9. На лицевой панели (рис. 3.1.8 и рис. 3.1.9) на группе закладок слева (Tab Control Left) расположены исходное изображение (закладка Source Img), загру- жаемое элементом управления Path, и графическое представление таблицы Lookup Table (закладка Lookup Table). На закладках справа (Tab Control Right) находятся обработанные (выходные) изображения. На закладке Dest Img (User LUT) расположено изображение, полученное IMAQUserLookup. Это же изобра- жение находится на Dest Img (User LUT) на закладке слева (Tab Control Left) для удобства сравнения результатов. На закладке Dest Img (Math LUT) находит- ся изображение, обработанное IMAQMathLookup. Под закладками в правой части лицевой панели находятся X Value - окно вво- да параметра X для степенных функций и LUT Operator - переключатель выбора функций для преобразования Lookup Table. Рассмотрим блок-диаграмму для примера использования функций IMAQ MathLookup и IMAQ UserLookup. На рис. 3.1.10 показана схема фрагмента приложения, включающего загрузку изображения (IMAQ ReadFile), вырезку фрагмента (IMAQ ROIToMask) из ис- ходного изображения и вывод результатов работы IMAQ MathLookup и IMAQ UserLookup. Внутри специальной структуры выбора (Case Structure) находятся функции, формирующие LUT, которая подается на вход Lookup Table виртуального прибо- ра IMAQ UserLookup. В данном случае показано линейное преобразование LUT (Linear), о чем свидетельствует график на закладке Lookup Table (рис. 3.1.9). Ре- зультат обработки для каждого значения LUT Operator можно сравнивать на за- кладках Dest Img (User LUT) и Dest Img (Math LUT) - рис. 3.1.8 и 3.1.9. На рис. 3.1.11-3.1.16 показаны результаты применения различных функций преобразования. Результат применения логарифмического преобразования мож- но видеть на рис. 3.1.11. Результат применения экспоненциальной функции пока- зан на рис. 3.1.12. Результат выбора преобразования типа Square показан на рис. 3.1.13. Преобразование Square Root дает результаты, приведенные на рис. 3.1.14. Наконец, на рис. 3.1.15 представлен результат для Power X, а на рис. 3.1.16 - для Power 1/Х при Х=1.7. Выход из программы происходит по нажатии кнопки Stop на лицевой панели. Соответствующая ветвь блок-диаграммы показана на рис. 3.1.17.
130 Методы обработки изображений Рис. 3.1.8. Результат обработки изображения заданной пользователем ШТ Рис. 3.1.9. Гсафическое представление Lookup Table
Гистограмма и гистограммная обработка. Бинаризация и сегментация 131 Рис. 3.1.10. Основной фрейм блок-диаграммы Рис. 3.1. 11. Результат применения логарифмического преобразования
132 Методы обработки изображений Рис. 3.1.12. Результат применения экспоненциальной функции Рис. 3.1.13. Результат применения квадратичной функции
Гистограмма и гистограммная обработка. Бинаризация и сегментация 133 Рис. 3.1.14. Результат применения функции извлечения квадратного корня Рис. 3.1.15. Результат применения степенной функции
134 Методы обработки изображений Рис. 3.1.16. Результат применения обратной степенной функции Рис. 3.1.17. Выход из программы
Гистограмма и гистограммная обработка. Бинаризация и сегментация 135 Функция IMAQ Equalize IMAQ Equalize выполняет эквализацию изображения. Входными параметрами IMAQ Equalize являются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; • диапазон яркостей Range, внутри которого производится эквализация; • кластер гистограммы - Histogram Report, выдаваемый виртуальным при- бором IMAQ Histogram. Если кластер присоединен, то эквализация произ- водится по этой гистограмме. Использование Histogram Report может быть полезно, когда требуется эквализовать изображение, поданное на вход Image Src по гистограмме другого изображения; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ Equalize формируется изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ Equalize формируется сообщение об ошибках error out, возникающих в результате работы IMAQ Equalize. На рис.3.1.18 показан пример использования ВП IMAQ Equalize. Рис. 3.1.18. Лицевая панель примера использования ВП IMAQ Equalize
136 Методы обработки изображений На рис. 3.1.19 показана соответствующая блок-диаграмма в LabVIEW. Внутри фрейма структуры событий находятся загрузка изображения (IMAQ ReadFile), вырезка фрагмента (IMAQ ROIToMask), эквализация изображения (IMAQ Equalize) и построение гистограмм (IMAQHistograph) исходного и эквализован- ного изображений. Рис. 3.1.19. Основной фрейм блок-диаграммы Функция IMAQ: Inverse Функция IMAQ Inverse (рис. 3.1.20) инвертирует яркость изображения. На вход IMAQ Inverse подаются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ Inverse формирует изображение Image Dst Out, которое за- писывается в Image Dst, если Image Dst подано на вход. В противном случае ре- зультат Image Dst Out записывается в Image Src. Image Src Image Mask" Image Dst error in Ino error]' Image Dst Out error out Рис. 3.1.20. Функция IMAQ Inverse
Гистограмма и гистограммная обработка. Бинаризация и сегментация 137 Также на выходе IMAQ Inverse формируется сообщение об ошибках error out, возникающих в результате работы IMAQ Inverse. На рис. 3.1.21 показан пример использования ВП IMAQInverse. Рис. 3.1.21. Лицевая панель примера использования ВП IMAQ Inverse На рис. 3.1.22 показана соответствующая блок-диаграмма в LabVIEW. Она вклю- чает следующие блоки: загрузка изображения (IMAQReadFile), вырезка фрагмента (IMAQ ROIToMask), инвертирование изображения виртуальным прибором IMAQ Inverse, а также преобразованием Lookup Table и построение графика Lookup Table. 3 .1.2. Бинаризация полутоновых изображений В обработке изображений часто используется процедура «пороговой бинариза- ции» - разбиение изображения на две области, одна из которых содержит все пик- сели со значением ниже некоторого порога, а другая содержит все пиксели со зна- чением выше этого порога. 3 .1.3. Адаптивная бинаризация Алгоритмы адаптивной бинаризации изображений базируются на использовании локальной или глобальной гистограммы изображения. Подход, основанный на использовании гистограммы яркостей пикселей, является одним из самых извест- ных и, безусловно, наиболее простым.
138 Методы обработки изображений Рис. 3.1.22. Основной фрейм блок-диаграммы Оптимальная пороговая сегментация основана на приближении гистограммы изображения к некоторой кривой, используя весовые суммы двух или более веро- ятностей интенсивности с нормальным распределением. Тогда порог - это набор ближайших уровней яркости, соответствующих минимуму вероятности между максимумами двух или более нормальных распределений. Для определения оптимального порога бинаризации предложено большое ко- личество различных подходов. Наиболее удачным из них представляется подход Otsu, который предполагает не только определение оптимального порога бинари- зации, но и вычисление некоторого критерия бимодальности, то есть оценку того, действительно ли исследуемая гистограмма содержит именно две моды (два вы- раженных пика). Идея данного подхода заключается в следующем. Пусть изображение представляет собой двумерный массив IM размера XxY, причем его элементы (пиксели) принимают значения на отрезке [0..255]. Тогда гис- тограмма этого изображения представляет собой одномерный массив Hist[0..255], в каждой ячейке которого I I i s 1| z | содержится число пикселей изображения, имею- щих значение, равное г. Рассмотрим теперь «подгистограмму» Hist[k...Z], O.k, 1.255. Для любой такой подгистограммы (окна) [k,l] можно вычислить оценку матема- тического ожидания яркости пикселей .\l()(/z,Z) и оценку дисперсии DISP(/z,Z). Пусть дан порог t: 0.t.255. Тогда для данного порога t можно вычислить «критерий разделимости» SC вида: SC(t) = 1 - (DISP(0/) + DISP(t+1,255)) / DISP(0,255) (3.1.1)
Гистограмма и гистограммная обработка. Бинаризация и сегментация 139 : распределение : объектов распределение фона оптимальный Рис. 3.1.23. Уровни яркости гистограммы аппроксимируются двумя нормальными распределениями: (а) функции распределения объекта и фона (б) соответствующие гистограммы и оптимальный порог Критерий SC(O всегда принимает значение на отрезке [0,1], причем значение его тем больше, чем лучше разделимость яркостного распределения на два класса относительно порога t. Алгоритм Otsu предполагает вычисление SC(r) для всех t.[0..255], после чего оптимальный порог Otsu определяется как Т = argmax SC(t), Л[0..255] (3.1.2). Этот алгоритм имеет ясный статистический смысл и, как показывает практи- ка, является эффективным и устойчивым способом определения адаптивного по- рога для бинаризации бимодальных изображений. Функции IMAQ: Threshold, AutoBThreshold Операция Threshold (порог) производит бинаризацию исходного изображения, исходя из заданных значений минимального и/или максимального порогов. Пос- ле этого значение каждого пикселя изображения становится равно 0 («фон») или 1 («объект»), как показано на рис. 3.1.25. Keep/R eplace Value (Replace) Image Src .........error out Image Dst Out error in (no error] Replace Value Рис. 3.1.24. Функция IMAQ Threshold
140 Методы обработки изображений В этом упражнении также используется функция (IMAQAutoBThreshold), £ позволяющая автоматически определять пороги бинаризации. Рис. 3.1.25. Результат операции Threshold Рис. 3.1.26. Блок-диаграмма
Гистограмма и гистограммная обработка. Бинаризация и сегментация 141 3 .1.4. Сегментация многомодальных изображений Специально разработанный для данного класса задач метод статистического вы- деления мод позволяет оценивать количество и степень выраженности мод гис- тограммы, опираясь на соответствующий график статистической производной (функции локальной разделимости). Рис. 3.1.27. Пример автоматического разделения мод на гистограмме по максимумам функции локальной разделимости Функции IMAQ: MultiThreshold, AutoMThreshold ВП MultiThreshold F*F| и AutoMThreshold F? позволяют автоматически опреде- лять границы мод гистограммы и осуществлять мультипороговую гистограмм- ную сегментацию в LabVIEW. 3 .1.5. Обработка цветных изображений В главе 2 мы уже писали о том, что цветные цифровые изображения представляют собой совокупность трех цветовых плоскостей, каждая из которых характеризует одну независимую составляющую цвета, представленную в том же формате, что и обычное 8-битное полутоновое изображение. Следовательно, все описанные про- цедуры обработки полутоновых изображений в яркостной области могут быть обобщены и на случай обработки цветных изображений. Специфика же здесь свя- зана прежде всего с различными цветовыми моделями, позволяющими по-разно- му работать с разными цветовыми и другими составляющими изображения. Назначение цветовой модели - дать средства описания цвета в пределах неко- торого цветового охвата. Наиболее часто в компьютерном зрении используются модели RGB, CMY, YUV, YCbCr, HSV. Цветовая модель RGB RGB (Red, Green, Blue - красный, зеленый, синий) - аппаратно-ориентированная модель, используемая в дисплеях для аддитивного формирования оттенков само-
142 Методы обработки изображений светящихся объектов (пикселей экрана). Система координат RGB - куб с нача- лом отсчета (0,0,0), соответствующим черному цвету (рис. 3.1.28). Максимальное значение RGB - (255,255,255) соответствует белому цвету. В модели RGB не раз- делены яркостная и оттеночная компоненты цвета, здесь легко указать яркости для одного из основных цветов, но затруднительно указать оттенок с требуемым цветовым тоном (например, телесным) и насыщенностью. Рис. 3.1.28. Цветовая модель RGB Цветовая модель HSV Цветовая модель HSV (Hue, Saturation, Value - цветовой тон, насыщенность, мера яркости) - модель, ориентированная на человека и обеспечивающая воз- можность явного задания требуемого оттенка цвета. Среди прочих используемых в настоящее время моделей, эта модель отражает физические свойства цвета и наиболее точно соответствует способу восприятия цвета человеческим глазом. Оттенок цвета (//) ассоциируется в человеческом сознании с обусловленностью окраски предмета определенным типом пигмента, краски, красителя. Составляю- щая Н - это длина световой волны, отраженной или прошедшей через объект. Данная составляющая является объективной и отражает физическую сущность цвета. Насыщенность (5) характеризует степень, силу, уровень выражения оттен- ка цвета. Этот атрибут в человеческом сознании связан с количеством (концентра- цией) пигмента, краски, красителя. Насыщенность позволяет оценить, насколько «глубоким» и «чистым» является данный цвет, то есть как он отличается от ахрома- тического. Она определяет соотношение серого цвета и выбранного оттенка и вы- ражается в долях от 0 (серый) до 1 (полностью насыщенный). Мера яркости (V) характеризует относительную освещенность или затемненность цвета (интенсив- ность цвета), поэтому она измеряется в диапазоне от 0 (черный) до 1 (белый). При увеличении яркости цвет становится более светлым (белым). Составляющая V яв- ляется нелинейной, что близко соответствует восприятию человеком светлых и темных цветов. Две последние составляющие являются субъективно определяемы- ми, так как отражают психологические особенности восприятия цвета.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 143 Подпространство, определяемое данной моделью, соответствует проекции цветового пространства на главную диагональ RGB-куба в направлении от белого к черному и являет собой перевернутый шестигранный конус (рис. 3.1.29). По вертикальной оси конуса задается V- мера яркости. Значению V= 0 соответству- ет вершина конуса, значению V= 1 - основание конуса; цвета при этом наиболее интенсивны. Цветовой тон Н задается углом, отсчитываемым вокруг вертикаль- ной оси. В частности, 0° - чистый красный цвет (Red), 60° - желтый (Yellow), 120° - зеленый (Green), 180° - голубой (Cyan), 240° - синий (Blue), 300° - пурпурный (Magenta), то есть дополнительные цвета расположены друг против друга (отли- чаются на 180°). Насыщенность S определяет, насколько близок цвет к «чистому» пигменту и меняется от 0 на вертикальной оси V до 1 на боковых гранях шести- гранного конуса. Точка V= 0, в которой находится вершина конуса, соответствует черному цвету. Значение 5 при этом может быть любым в диапазоне 0-1. Точка с координатами V= 1,5=0- центр основания конуса, соответствует белому цве- ту. Промежуточные значения координаты Vпри 5 = 0, то есть на оси конуса, соот- ветствуют серым цветам. Если 5 = 0, то значение оттенка Н считается неопреде- ленным. Цветовая модель HSV может быть получена из модели RGB следующим образом: = arccos Л1 |[(R-G) + (R-B)] J(R-G)2 + (R-B)(G-B)
144 Методы обработки изображений Я = |Я1; i/B<G [360°-Л1; ifB>G’ max(R,G,B)-min(R,G,B) max(R,G,B) _ max(R,G,B) “ 255 ' Данное преобразование является нелинейным, что затрудняет его практи- ческое использование. Аппроксимация преобразования линейными зависимо- стями существенно упрощает алгоритм перевода из RGB в HSV и обеспечивает высокую вычислительную эффективность. Цветовая модель HSV является наи- более удобным представлением цветных изображений для их цветовой сегмен- тации. Цветовая модель YUV Остановимся также на цветовом пространстве YUV, которое широко применяет- ся в телевещании и, соответственно, пришло на компьютер вместе с MPEG-фор- матом. Дело в том, что глаз человека наиболее чувствителен к яркости изображе- ния и несколько менее - к цветности. Если аддитивные составляющие RGB-сигнала представить в виде яркости (У) и двух различных составляющих сигнала цветности ([/и V) по следующим фор- мулам: Y = 0,299 R + 0,587 G + 0,114 В, U= 0,493 (В - У), V = 0,877 (R- У), то U в таком соотношении выражает различия между синей и желтой составляю- щими цветного изображения, а V- между красной и зеленой компонентами цвет- ного изображения. Известно, что глаз человека легче различает градации яркости и оттенки зеленого, поэтому U и V можно отображать с меньшей точностью, что способно существенно уменьшить количество информации, сохраняемой при сжатии. Таким образом, используя особенности человеческого зрения, еще до того, как будет применяться компрессия данных, мы можем получить выигрыш только за счет перехода к другому цветовому пространству. Поэтому, когда гово- рят, например, что сжатие в MPEG осуществляется с коэффициентом 100:1 и бо- лее, часто забывают, что часть информации была «потеряна» уже при переходе к другому цветовому пространству. Формат кодирования YUV 4:1:1 отличается от 4:2:2 способом дискретизации сигнала, которая вычисляется для конкретного канала как произведение базовой частоты цифрового кодирования на соответствующий коэффициент: например, на 4 отсчета для канала У берется по одному отсчету для каждого из цветоразност- ных каналов.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 145 Цветовая сегментация изображения Цветовая сегментация обычно производится по предварительно построенной моде- ли распределения цвета искомого объекта в цветовом пространстве HS V. На приме- ре задачи сегментации рассмотрим работу процедуры подобного рода на изображе- нии лица человека на основе цветовых характеристик человеческой кожи. Построение модели рассматривается как задача поиска группы кластеров, со- ответствующих оттенкам кожи. Структура и параметры модели формируются путем обработки изображений участков кожи, выделенных вручную. Распределе- ние, отражающее соотношение параметров цвета Н и S, получено в данном приме- ре в результате обработки порядка 900 изображений фрагментов кожи размерами 3x3 пикселя (рис. 3.1.30). Рис. 3.1.30. Взаимное соотношение компонент Н и S на изображениях кожи Аналогичным образом получено распределение, отражающее соотношение па- раметров цвета Н и V (рис. 3.1.31). Как видно, «трубки» распределений (H,S) и (H,V), характеризующие оттенки кожи, являются достаточно компактными в цветовом пространстве и составляют группу первичных признаков на этапе построения модели. «Трубки» распределе- ний (H,S) и (H,V) могут быть разделены на подобласти, образующие группы кла- стеров (компактных множеств точек). На этапе сегментации каждому пикселю изображения ставится в соответствие вектор параметров цвета (H,S,V) и прове- ряется принадлежность параметров цвета к одному из кластеров модели кожи.
146 Методы обработки изображений Рис. 3.1.31. Взаимное соотношение компонентН и 1/ на изображениях кожи Область изображения кожи формируется из пикселей, параметры которых вошли в один из кластеров. На рис. 3.1.32-3.1.34 приведены результаты работы алгорит- ма цветовой пиксельной сегментации лиц с различными оттенками кожи. Рис. 3.1.32. Пример цветовой пиксельной сегментации кожи После того как на изображении выделены пиксели, цвет которых соответству- ет оттенкам кожи, производится слияние выделенных пикселей в систему класте- ров по мере близости их местоположения. Далее производится комплексная про-
Гистограмма и гистограммная обработка. Бинаризация и сегментация 147 Рис. 3.1.33. Пример цветовой пиксельной сегментации кожи Рис. 3.1.34. Пример цветовой пиксельной сегментации кожи верка кластеров для выявления кластеров, действительно являющихся лицами. Правило, которому должен отвечать фрагмент изображения, на котором при- сутствует лицо, достаточно очевидно: лицо обычно должно быть симметрично от- носительно вертикальной оси. На рис. 3.1.35 показан пример работы алгоритма обнаружения лиц на цветных изображениях. Фрагменты изображения с обнару- женными лицами выделены рамкой. Функция IMAQ: ColorHistogram ВП IMAQColorHistogram (рис. 3.1.36) дает отчет о гистограмме цветного изобра- жения. В качестве входных параметров IMAQ ColorHistogram принимает: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • число ячеек гистограммы - Number of Classes, по умолчанию равно 256;
148 Методы обработки изображений Рис. 3.1.35. Пример работы алгоритма обнаружения лиц error in fno error] Color Mode Image Src Red or Hue Histogram Graph Green or Sat Histogram Graph Blue or Luma or Vai or Inte... error out Рис. 3.1.36. Функция IMAQ ColorHistogram • цветовую модель Color Mode; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ ColorHistogram возвращает для каждой из трех цветовых плоскостей: Red or Hue or X or L*, Green or Sat or Y or a*, Blue or Luma or Vai or Inten or Z or b*, соответственно, следующие численные характеристики гистог- раммы Histogram Report: • массив гистограммы Histogram; • информацию о минимальном, максимальном значениях яркости в гистог- рамме Minimal Value, Maximal Value; • начальное (стартовое) значение яркости, начиная с которого строится гис- тограмма, Starting Value; • шаг между ячейками гистограммы - Interval Width; • среднее значение яркости в гистограмме - Mean Value; • CKO Standard Deviation; • число всех пикселей, участвующих в сборе гистограммы, - Area (pixels). Также на выходе IMAQ ColorHistogram формируются сообщения об ошибках error out, возникающих в результате работы IMAQ ColorHistogram.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 149 Функция IMAQ: ColorHistograph IMAQ ColorHistograph (рис. 3.1.37) осуществляет построение и визуализацию гистограммы цветного изображения. Color Mode Image Src Image Mask Number of Classes error in (no error) CIE Lab White Reference Red or Hue or X or L* Histo,.. Blue or Luma or Vai or Inte... error out Рис. 3.1.37. Функция IMAQ ColorHistograph Входными параметрами IMAQ ColorHistograph являются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • число ячеек гистограммы - Number of Classes, по умолчанию равно 256; • цветовая модель Color Mode; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ ColorHistograph формируются: • график гистограммы - Histogram Graph для каждой из трех цветовых плос- костей: Red or Hue, Green or Sat, Blue or Luma or Vai or Inten, соответ- ственно; • сообщение об ошибках error out, возникающих в результате работы IMAQ ColorHistograph. Рис. 3.1.38 и 3.1.39 демонстрируют пример использования ВП IMAQ Color- Histograph и IMAQColorHistogram. На закладке Source Image можно задать интересующий фрагмент исходного изображения, по которому будет собрана гистограмма. На закладки Red Hue Hist, Green Sat Hist, Blue Luma Hist выводятся графики гистограмм для соответству- ющих цветовых плоскостей. В Hist Report представлены численные характерис- тики гистограммы. На рис. 3.1.40 показана блок-диаграмма для данного упражнения. ВП IMAQ ReadFile загружает изображение, IMAQ ROIToMask позволяет выделить фраг- менты изображения, IMAQ ColorHistograph производит построение гистограм- мы и ее визуализацию на графике, a IMAQ ColorHistogram выдает статистику по гистограмме. Функция IMAQ: ColorThreshold IMAQ ColorThreshold (рис. 3.1.41) производит пороговую бинаризацию по каж- дой из трех цветовых плоскостей.
150 Методы обработки изображений Рис. 3.1.38. Гистограмма цветовой плоскости Red or Hue В качестве входных параметров IMAQColorThreshold принимает: • исходное изображение Image Src; • шаблон выходного 8-битного изображения Image Dst; • массивы Red or Hue Range, Green or Sat Range, Blue or Luma or Vai or Inten Range, содержащие по два значения порога бинаризации для каждой из соответствующих цветовых плоскостей: Low Value - нижнее значение порога (по умолчанию равно нулю) и Upper value - верхнее значение поро- га (по умолчанию равно 255); • цветовую модель Color Mode; • Replace Value - значение яркости, которое присваивается пикселям, лежа- щим внутри границ порогов (по умолчанию равно единице); • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ ColorThreshold возвращает: • изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записыва- ется в Image Src;
Гистограмма и гистограммная обработка. Бинаризация и сегментация 151 Рис. 3.1.39. Численные характеристики гистограммы • сообщение об ошибках error out, возникающих в результате работы IMAQ ColorThreshold. На рис. 3.1.42 показан пример использования ВП IMAQ ColorThreshold. Значения порогов для каждой цветовой плоскости можно установить переме- щением ползунков либо задать с клавиатуры в соответствующих окнах ввода. Цветовая модель изображения выбирается из списка Color Mode. Соответствующая блок-диаграмма представлена на рис. 3.1.43. Она состоит из двух ВП: загрузки изображения (IMAQ ReadFile) и пороговой бинаризации (IMAQ ColorThreshold). 3.1.6. Профиль вдоль линии и анализ профиля Профилем изображения вдоль некоторой линии называется функция интенсив- ности изображения, распределенного вдоль данной линии (прорезки). Простейшим случаем профиля являются профиль строки изображения'. Profile у[.г] = /«/|.г,//|, где У- номер строки изображения 1т, и профиль столбца изображения'.
152 Методы обработки изображений Рис. 3.1.40. Основной фрейм блок-диаграммы Replace Value — Color Mode — Image Src Image Dst Red or Hue Range™ error in (no error] Green or Sat Range ™ Blue or Luma or Vai or Inte... ™ Image Dst Out error out Рис. 3.1.41. Функция IMAQ ColorThreshold Profile v|//1 = /m[.r,r/], где X - номер столбца. В общем случае может рассматриваться профиль изображения вдоль любой прямой, ломаной или кривой линии, пересекающей изображение.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 153 Рис. 3.1.42. Лицевая панель примера использования ВП IMAQ ColorThreshold После того как массив профиля изображения вдоль заданной линии сформи- рован, его анализ осуществляется стандартными средствами и позволяет автома- тически выделять различного рода особые точки функции профиля, соответству- ющие контурам изображения, пересекаемым данной линией. На рис. 3.1.44 показан пример профиля изображения штрихового кода, взято- го вдоль прямой линии, пересекающей штриховой код в продольном направле- нии. Поскольку метод кодирования сигнала в штриховых кодах как раз и заклю- чается в определенной последовательности чередования штрихов и пробелов различной ширины, данный профиль изображения содержит всю необходимую информацию для того, чтобы считать штриховой код. На профиле хорошо замет- ны «толстые» и «тонкие» штрихи кода, а также положение начала и конца штри- ховой последовательности (границы объекта).
154 Методы обработки изображений Рис. 3.1.43. Основной фрейм блок-диаграммы Рис. 3.1.44. Пример профиля изображения штрихового кода
Гистограмма и гистограммная обработка. Бинаризация и сегментация 155 Функция IMAQ: LineProfile Функция LineProfile (рис. 3.1.45) осуществляет выборку значений интенсивнос- ти пикселей изображения вдоль заданной линии и выдает их в формате, совмести- мом с элементом управления Waveform Graph. Keep/R eplace Value [Replace] Image Src error in (no error] Image Dst Out error out Replace Value Рис. 3.1.45. Функция IMAQ LineProfile Эта функция также вычисляет следующие статистические параметры анали- зируемого профиля: • минимальную интенсивность; • максимальную интенсивность; • среднюю интенсивность; • стандартное отклонение; • число точек в профиле. Координаты анализируемой линии задаются массивом из четырех элементов: X У X У мин’ мин’ макс’ макс' Результаты упражнения на построение профиля представлены на рис. 3.1.46. Обратите внимание на блок-диаграмму (рис. 3.1.47). В данном примере, помимо необходимых ВП (LoadFile, LineProfile), используются функции, позволяющие добавлять графическую информацию на уже существующее изображение (палит- ра Overlay) и выводить изображение в отдельном окне - WinDraw. Рис. 3.1.46. Профиль линии на изображении
156 Методы обработки изображений Рис. 3. 1.47. Блок-диаграмма Функция IMAQ: Simple Edge Данная функция (рис. 3.1.48) позволяет обнаруживать перепады яркости изобра- жения вдоль заданной линии (прямой, кривой или ломаной). Threshold Parameters Image Src Pixel Coordinates Process error in (no error] Edges Coordinates Number of Edges error out Sub-Pixel Accuracy Рис. 3.1.48. Функция IMAQ Simple Edge На вход функции, помимо исходного изображения и массива координат узло- вых точек линии профиля, также подаются параметры бинаризации (пороги). «Краевыми» считаются точки, в которых собранный вдоль указанной линии про- филь яркости пересекает заданные пороговые значения (рис. 3.1.49). Функция позволяет определять координаты краевых точек с субпиксельной точностью и возвращает следующие значения: • число найденных краевых точек; • массив координат найденных краевых точек. Функция IMAQ: Edge Tool Входными параметрами данной функции (рис. 3.1.51), в отличие от предыдущей, являются параметры локального перепада яркости границ, а не глобальные поро- ги бинаризации.
Гистограмма и гистограммная обработка. Бинаризация и сегментация 157 Рис. 3.1.49. Результат операции Simple Edge Рис. 3.1.50. Блок-диаграмма Например, мы можем выбрать краевые точки, характеризующиеся определен- ным перепадом значений интенсивности по сравнению с соседними точками, либо краевые точки с определенной «крутизной» перепада яркости. Данная фун- кция также позволяет определять координаты краевых точек с субпиксельной точностью до 1/12 пикселя. На выходе возвращаются:
158 Методы обработки изображений Edge Paidmeleis Image Pisel Coordinates И " cage information ZZ.'^Edge Coordinates '— Number of Edges error out error in (no error] Process Рис. 3.1.51. Функция IMAQ Edge Tool • координаты краевых точек; • значения контраста (перепада) интенсивности в этих точках; • полярность перепада (переход из темной области в светлую кодируется «1», из светлой в темную «-!»). Рис. 3.1.52. Результат операции Edge Tool Функция IMAQ: Peak- Valley Detector Данная функция (рис. 3.1.54) позволяет определять положения «пиков» (локаль- ных максимумов) или «впадин» (локальных минимумов) в одномерном растро- вом массиве (например, профиле яркости, проекции или гистограмме). В качестве входных параметров отбора выделяемых экстремумов можно за- дать ограничения на минимальную амплитуду и ширину сигнала. На рис. 3.1.55 представлены яркостной профиль линии и два выделенных на нем пика. Выходными параметрами функции являются: • число найденных пиков; • положения выделенных пиков;
Гистограмма и гистограммная обработка. Бинаризация и сегментация 159 • амплитуды выделенных пиков; • вторая производная входного растрового массива. Рис. 3.1.53. Блок-диаграмма Pixel Array Locations Threshold .— Width —' [“ error in (no error] Peaks/Valleys T ZT1- Amplitudes 2nd Derivatives *=“ error out Number found Рис. 3.1.54. Функция IMAQ Peak-Valley Detector Рис. 3.1.55. Результат операции Peak-Valley Detection
160 Методы обработки изображений Рис. 3.1.56. Блок-диаграмма 3.1.7. Проекция и анализ проекции Проекцией изображения на некоторую ось (направление) называется интеграл (сумма) интенсивности пикселей изображения, взятый в направлении, перпенди- кулярном данной оси. Простейшим случаем проекции двумерного изображения являются: • вертикальная проекция на ось X, представляющая собой сумму интенсив- ностей пикселей, подсчитанную по столбцам изображения'. ProjY[.r] = SUM(/m[.r,z/], у = О..ВйпУ-1); • горизонтальная проекция на ось Y, представляющая собой сумму интенсив- ностей пикселей, подсчитанную по строкам изображения'. Projy[z/] = SUM(/m[.r,i/],.r = O..DimX-l). В общем случае может рассматриваться проекция изображения на любую про- извольную ось. Пусть направление оси задано единичным вектором с координа- тами (е,,^). Тогда проекция изображения на ось Е будет определяться следующим выражением: Proj, |/1 = SUM(/m[.r,z/]: .rxey + ухеу = /). После того как массив проекции сформирован, его анализ осуществляется стандартными средствами и позволяет автоматически выделять различные осо- бые точки функции проекции, соответствующие вертикальным или горизонталь- ным контурам различных объектов, присутствующих на изображении. Следует отметить, что свойства, выделяемые с помощью анализа профиля изображения, носят локальный характер и характеризуют только ту линию изображения, вдоль которой берется профиль, и ее небольшую окрестность. В то же время свойства, выделяемые путем анализа проекции всего изображения или какой-либо его об- ласти, носят глобальный характер и относятся ко всему изображению (всей ана-
Гистограмма и гистограммная обработка. Бинаризация и сегментация 161 лизируемой области) в целом. В частности, если на изображении наблюдается не- сколько контрастных объектов, то в проекции будут наблюдаться особенности функции (перепады или экстремумы функции проекции), соответствующие по- ложению каждого из наблюдаемых объектов. На рис. 3.1.57 показан пример вертикальной проекции изображения машино- читаемого документа (визы). Хорошо заметно, что две машиночитаемые тексто- вые строки дают два существенных экстремума на расположенном справа от изображения графике его горизонтальной проекции. Такие характерные элемен- ты проекции могут быть использованы, например, для быстрого обнаружения и сегментации на изображении текстовых строк в системах автоматического рас- познавания текста. Рис. 3.1.57. Пример проекции изображения машиночитаемого документа Функция IMAQ: Linear Averages Данная функция (рис. 3.1.58) позволяет получать вертикальную и горизон- тальную проекции, нормированные соответственно на высоту и ширину изобра- жения (рис. 3.1.59), иными словами: • средние значения по столбцам - X Axis Averages; • средние значения по строкам - Y Axis Averages; а также две производные характеристики: • сумму средних по столбцам и строкам - X+Y Axis Averages; • разность средних по столбцам и строкам - X-Y Axis Averages. Блок-диаграмма примера использования функции IMAQ LinearAverages представлена на рис. 3.1.60. Image Src Optional Rectangle error in [no error] XAxis Averages Y Axis Averages X + Y Axis Averages X - Y Axis Averages error out Рис. 3.1.58. Функция IMAQ LinearAverages
162 Методы обработки изображений Рис. 3.1.59. Результат операции Linear Averages Рис. 3.1.60. Блок-диаграмма
Фильтрация изображений. Ранговая нелинейная фильтрация 163 3.2. Фильтрация изображений. Ранговая нелинейная фильтрация. Выделение объектов 3.2.1. Задача фильтрации изображений Зашумление изображения. Модели шумов Выше мы уже писали о том, что под задачей «фильтрации изображений» в широ- ком смысле иногда понимают любые процедуры обработки изображений, при ко- торых на вход процедуры подается (одно) растровое изображение, и на выходе также формируется растровое изображение. Такие процедуры типа «один растро- вый вход, один растровый выход» называют фильтрами. Однако чаще под «фильтрацией» в более узком смысле понимают так называе- мую помеховую фильтрацию, или фильтрацию изображений от «шума». При этом неявно предполагается, что первоначально где-то существовало некое «исходное» идеально чистое (незашумленное) изображение, из которого затем путем зашумле- ния (определенного вида искажения), было получено то реальное изображение, ко- торое мы наблюдаем. Задача помеховой фильтрации, таким образом, сводится к тому, чтобы путем некоторой обработки наблюдаемого реального изображения как можно лучше «очистить его от шума», то есть получить изображение, наиболее близкое по своим характеристикам к исходному «незашумленному» изображению. На самом деле необходимо понимать, что «зашумление» - это всего лишь очень упрощенная идеализированная модель возникновения искажений в цифро- вых изображениях реальных объектов. Вообще же говоря, искажения изображе- ния, получаемого путем видеосъемки реального трехмерного объекта в природ- ной обстановке, могут носить весьма сложный характер, зависящий от условий съемки (освещенность, туман, блики, тени, дождь, снег и т. п.), характеристик опти- ческой системы (дисторсии, расфокусировки, замутненность линз и зеркал и т. п.), характеристик электронной регистрирующей аппаратуры, характеристик канала передачи, характеристик устройств оцифровки и еще многих и многих факторов. Приближенные к реальности математические модели формирования цифровых изображений содержат сотни сложных нелинейных уравнений и множество таб- личных поправок. При этом закон формирования значения яркости каждого пик- селя изображения, как правило, не является независимым от формирования со- седних пикселей, яркостные параметры изображения зависят от геометрических, и т. д. При попытке математически «скорректировать» подобную сложную мо- дель регистрации изображения говорят уже не о фильтрации от шума, а о рестав- рации, или реконструкции, изображений. К сожалению, методы реставрации изображений слишком сложны в вычисли- тельном смысле, чтобы на практике использоваться в системах машинного зре- ния, работающих в реальном масштабе времени. Кроме того, они требуют точного знания математической модели и всех параметров системы видеорегистрации, что на практике также практически невозможно. Поэтому в реальных системах машинного зрения, как правило, используются более простые, но тем не менее достаточно эффективные процедуры помеховой фильтрации, разработанные для
164 Методы обработки изображений борьбы с гораздо более простыми искажениями в виде независимого зашумления пикселей изображения. Наиболее общей моделью независимого зашумления пикселей является шум замещения. Пусть дано исходное («незашумленное») полутоновое изображение 1т, каждый пиксель которого может принимать значения в диапазоне [О../МАХ-1]. Общая модель шума замещения предполагает, что после зашумления каждый пиксель изображения, имевший ранее некотрое значение яркости I, либо с некото- рой известной вероятностью р(1) это значение сохранит, либо данное значение яркости будет случайным образом замещено с вероятностью q(I,J) некоторым другим значением яркости J из того же конечного дискретного диапазона [О../МАХ-1]. Как видно, для описания такой общей модели случайного замещения нам потре- буется задать таблицу переходных вероятностей размера (/МАХ)2, что составляет весьма значительное количество в случае обычного 8-битового полутонового изображения (размер таблицы - 256x256 элементов). Такое описание явно явля- ется некомпактным и поэтому редко используется на практике для полутоновых изображений. В то же время для бинарных изображений, в которых /МАХ = 2, такое описание является наиболее удобным, простым и естественным. Чуть ниже мы еще рассмотрим модель шума замещения на бинарных изображениях - так назы- ваемую модель шума «соль и перец». Для полутоновых изображений, как правило, рассматривают другую, более частную модель зашумления - аддитивный шум. Такая модель предполагает, что зашумленное изображение порождается по следующему закону: hn'\x.y\ = Im\x,y] + R(x.y). где 1т’\х,у] - пиксель зашумленного изображения, hn\x.y\ - пиксель исходного изображения, a R(x,y) - случайная аддитивная шумовая компонента. Кроме того, в большинстве приложений зависимость шума от координат пикселя считается несущественной. И наконец, исходя из известного в статистике закона больших чисел, закон распределения аддитивной шумовой компоненты предпочитают опи- сывать удобным параметрическим семейством нормальных или гауссовских рас- пределений с нулевым средним. Таким образом, гауссовский аддитивный шум описывается следующим выражением: hn'\x.y\ = Im\x,y] + N(Q,<5), где N(a,<y) - нормальное распределение, а - математическое ожидание нормально распределенного сигнала, <7 - средний квадрат отклонения (СКО) нормально распределенной величины. Именно такая модель зашумления чаще всего рас- сматривается в задачах фильтрации полутоновых изображений. На рис. 3.2.2-3.2.8 показаны примеры искусственного зашумления исходного полутонового изображения лейкоцитов (рис. 3.2.1) специально сгенерированным аддитивным гауссовским шумом с различными значениями СКО. Как видно, чем больше параметр зашумления <7, тем более искаженным выглядит изображение. При больших значениях (7 (рис. 3.2.7, 3.2.8) даже человеческий глаз уже с трудом различает общие очертания крупноразмерных объектов изображения (в данном случае - лейкоцитов), более мелкие и менее контрастные объекты становятся практически неразличимыми.
Фильтрация изображений. Ранговая нелинейная фильтрация 165 Рис. 3.2.1. Исходное полутоновое изображение, о = О Рис. 3.2.2. Зашумление полутонового изображения аддитивным гауссовским шумом, о = 20 Рис. 3.2.3. Зашумление полутонового изображе- ния аддитивным гауссов- ским шумом, о = 40 Рис. 3.2.4. Зашумление полутонового изображе- ния аддитивным гауссов- ским шумом, о = 60 Рис. 3.2.5. Зашумление полутонового изображе- ния аддитивным гауссов- ским шумом, о = 80 Рис. 3.2.6. Зашумление полутонового изображе- ния аддитивным гауссов ским шумом, о = 100 Рис. 3.2.7. Зашумление полутонового изображе- ния аддитивным гауссов- ским шумом, о = 200 Рис. 3.2.8. Зашумление полутонового изображе- ния аддитивным гауссов- ским шумом, о = 300
166 Методы обработки изображений В следующих разделах мы будем иметь в виду этот пример, рассматривая раз- личные методы фильтрации цифровых изображений. Оконная фильтрация изображений в пространственной области Исходя из поставленной выше задачи восстановления исходных значений ярко- сти незашумленного изображения, а также из того, что шумовая компонента каж- дого пикселя является заранее неизвестной случайной величиной, следует, что для решения данной задачи необходимо использовать ту или иную процедуру статистического оценивания. Это может быть Байесовское оценивание, оценива- ние по методу наибольшего правдоподобия или любой другой метод, известный из курса математической статистики. Однако все эти методы требуют использо- вать для оценки искомой величины не одно единственное измерение (ведь оно также может быть зашумлено), а большую или меньшую статистическую выбор- ку, всегда включающую несколько отсчетов, характеризующих данную величину. В связи с этим и основная идея помеховой фильтрации изображений заключается в том, что для оценки исходного значения каждого пикселя изображения исполь- зуется не только значение самого данного пикселя (как в ранее рассмотренных градационных преобразованиях), но и значения еще нескольких близких к нему пикселей, попадающих в так называемое «окно» или апертуру фильтра. При этом «близость» пикселей к оцениваемому понимается в буквальном геометрическом смысле. Наиболее простыми для вычислительной реализации являются традиционно используемые прямоугольные окна (апертуры) фильтрации, определяемые про- стым условием типа «все пиксели данного окна отстоят от тестируемого цент- рального пикселя на более чем на WinX/2 по горизонатали и WinY/2 по вертикали», где WinX и WinY - горизонтальный и вертикальный размер окна фильтрации со- ответственно. Возможны и другие, более сложные способы формирования окон фильтрации круглой, треугольной или любой другой произвольной формы. Типовая процедура оконной фильтрации предполагает, что окно фильтрации последовательно движется по входному изображению (например, алгоритм может обходить изображение «в порядке чтения»: сверху вниз по строкам, слева направо в каждой строке), при этом в каждом положении окна происходит анализ всех пикселей, принадлежащих в данный момент окну, и на основе такого анализа цен- тральному пикселю окна на выходном изображении присваивается то или иное финальное значение. Сформированное таким образом выходное изображение также называется результатом фильтрации. Процедуры оконной фильтрации могут различаться: • размером и формой окна (апертуры); • типом собираемых в окне локальных статистик; • способом принятия решения на основе собранных статистик. В любом случае речь идет об использовании для оценивания значения цент- рального пикселя апертуры информации о значениях его соседей по изображе- нию. В статистическом смысле это означает, что мы неявно опираемся на предпо- ложение о том, что на исходном незашумленном изображении значения яркостей
Фильтрация изображений. Ранговая нелинейная фильтрация 167 всех этих соседних пикселей были одинаковыми или очень близкими, и наблюда- емые различия в их яркостях на зашумленном изображении определяются только присутствием шумовой компоненты, которую и необходимо исключить. Между тем, как мы уже видели, исследуя профили изображения, содержательное изобра- жение вовсе не представляет собой одну сплошную «плоскость». В тех областях, которые визуально кажутся нам областями одинаковой или медленно меняющей- ся яркости, значения соседних пикселей действительно различаются незна- чительно. В то же время на границах таких областей наблюдаются порой весьма резкие перепады яркости - разница значений составляет от десятков до сотен гра- даций интенсивности даже между непосредственно соседствующими пикселями. Таким образом, мы видим, что на границах однородных областей оконные фильт- ры не могут работать эффективно, напротив, здесь они с большой вероятностью будут ошибаться, что визуально приведет к эффекту искажения формы контуров. Более того, если на исходном изображении присутствуют контрастные объекты (области), размер которых существенно меньше размера окна фильтрации, фильтр может просто «не заметить» такой объект, отфильтровать его как шум, что приведет к исчезновению мелкоразмерных объектов на результирующем выход- ном изображении. Казалось бы, из предыдущих рассуждений вытекает необходимость работать с небольшими по размеру апертурами фильтров. Ведь чем меньше окно фильтра, тем меньшее число точек контура будет им «задето», и тем больше будет число точек, расположенных на «плато» однородных областей, для которых предполо- жение о равной яркости всех пикселей в окружающей их области будет справед- ливо. Однако интуитивно понятно, что чем сильнее присутствующий на изобра- жении шум (чем противоречивее и «лживее» в среднем свидетельства точек об их яркости), тем большее количество пикселей приходится опрашивать, чтобы до- биться необходимой степени уверенности в ответе. То есть апертуры большего размера обладают большей способностью к подавлению шумовой компоненты, для чего в принципе и создается помеховый фильтр. Таким образом, конструируя и исследуя оконные процедуры фильтрации изображений, мы всегда должны оценивать наблюдаемое качество фильтрации по двум следующим основным позициям: • способности фильтра удалять (отфильтровывать) с изображения шум; • способности фильтра сохранять на изображении мелкоразмерные детали и форму контуров. С точки зрения последующего анализа изображения идеальным был бы такой помеховый фильтр, который мог бы полностью отфильтровывать шум, не иска- жая при этом формы контуров. К сожалению, эти требования противоречивы, по- этому в различных методах фильтрации мы имеем дело лишь с различными вари- антами компромисса между ними. Выбор конкретного помехового фильтра для реализации в практической системе машинного зрения определяется тем, какое из требований является более важным в данной конкретной задаче, а также огра- ничениями, налагаемыми на систему архитектурой и скоростью имеющихся вы- числительных средств.
168 Методы обработки изображений Перейдем теперь к рассмотрению конкретных алгоритмов оконной фильтра- ции изображений. Поскольку принципиальный смысл основных процедур филь- трации проще почувствовать на примере фильтрации бинарных изображений, мы начнем с изучения простейших бинарных фильтров. 3.2.2. Фильтрация бинарных изображений Модель шума «соль и перец» Выше мы уже говорили о том, что для бинарных изображений наиболее удобной и со- ответствующей природе изображения является модель шума замещения типа «соль и перец». Под шумом Salt-and-Pepper (соль и перец) на бинарном изображении понима- ют замещение 1 на 0 с вероятностью (1—р) и замещение 0 на 1 с вероятностью (1—q). Переходные вероятности для такого бинарного шума представлены в табл. 3.2.1. Таблица 3.2.1. Переходные вероятности для бинарного шума «соль и перец» Im[х,у] —> I m ’ [х, у] lm[x,y] = 1 !т[х,у] = О I т ’ [х,у] = 1 Р (1 -Q) lm’[x,y] = О (1 - Р) q На рис. 3.2.10-3.2.16 показаны примеры искусственного зашумления исходно- го бинарного изображения лейкоцитов (рис. 3.2.9) специально сгенерированным шумом «соль и перец». Как видно, чем больше параметры зашумления (1-р) и (1-q), тем более искаженным выглядит изображение. При больших вероятностях заме- щения человеческий глаз уже с трудом различает общие очертания объектов изображения (рис. 3.2.15, 3.2.16). Рис. 3.2.11. Зашумление бинарного изображения шумом «соль и перец», о =40 Рис. 3.2.9. Исходное изображение, о = О Рис. 3.2.10. Зашумление бинарного изображения шумом «соль и перец», о=20 Структура оконного фильтра Введем ряд определений, позволяющих формально описать процедуру оконной фильтрации бинарного изображения.
Фильтрация изображений. Ранговая нелинейная фильтрация 169 Рис. 3.2.12. Зашумление бинарного изображения шумом «соль и перец», о = 60 Рис. 3.2.13. Зашумление бинарного изображения шумом «соль и перец», о =80 Рис. 3.2.14. Зашумление бинарного изображения шумом «соль и перец», о = 100 Рис. 3.2.15. Зашумление бинарного изображения шумом «соль и перец», о =200 Рис. 3.2.16. Зашумление бинарного изображения шумом «соль и перец», о =300 Входное изображение - массив Ixk элементов х;у (z = 1,/; / = 1,k), каждый из кото- рых соответствует некоторой точке (пикселю) изображения и принимает значе- ния .г,= {1,0}. __ _____ Выходное изображение - массив Ixk элементов у^(1 = 1,1; j = l,k), каждый из ко- торых соответствует некоторой точке (пикселю) изображения и принимает значе- ния ijt] = {1,0}. ППР - правило принятия решения - правило, по которому принимается реше- ние о значении элемента выходного изображения (/ = 1,1; j = 1,/г). Апертура или окрестность точки (пикселя) - множество пикселей изображе- ния, расположенное некоторым образом относительно базового пикселя. Базовым называется пиксель, для которого применяется ППР. Положение апертуры на изображении определяется координатами базового пикселя аперту- ры. Базовый пиксель может находиться и не в геометрическом центре апертуры. Апертура определяется как массив dxc элементов Q,y (z = l,d; j = l,c), каждый из ко-
170 Методы обработки изображений торых соответствует точке (пикселю) апретуры и принимает значения Ц? = {0,1,2,...}. Также при определении апертуры указываются координаты базового пикселя апертуры (горизонтальная координата G 1,</; вертикальная координата G 1,с) от- носительно элемента апертуры с координатами (г = 1;у = 1) (левый верхний угол массива <ixc). Значение элемента апертуры, равное 0, показывает, что данный пик- сель не включен в апертуру, а равное 1, - что данный пиксель включен в апертуру. Число элементов или размер апертуры обозначается п: 7 = 1 7=1 Число единиц обозначается k,. Число нулей обозначается k0. Апертура может иметь любую произвольную конфигурацию, например 1 0 1 Qo=0 1 0. 1 0 1 Рассмотрим теперь, используя введенную терминологию, различные методы оконной фильтрации бинарных изображений. Логическая фильтрация помех Назовем проколотой окрестность, в которой базовый пиксель не учитывается при сборе статистики. В табл. 3.2.2 приведен пример проколотой окрестности 3x3. Таблица 3.2.2. Прошлая окрестность апертуры 3x3 (-1,-1) (0,-1) (1,-1) (-1,0) (0, 0) (1,0) (-1,-1) (0,-1) (1,-1) Проколотая окрестность 3x3 содержит 8 пикселей, влияющих на принятие ре- шения. При логической фильтрации помех решение принимается после опроса проколотой окрестности 61^ для каждого пикселя у^ следующим образом: 1, если все пиксели в равны 1 у у =10, если все пиксели в £1^ равны 0. в остальных случаях Смысл этого выражения заключается в том, что если все соседние с централь- ным пиксели голосуют в пользу 0, центральный пиксель устанавливается в 0. Если все соседние пиксели голосуют в пользу 1, центральный пиксель устанавли- вается в 1. Если соседи не голосуют единогласно, центральный пиксель остается без изменений.
Фильтрация изображений. Ранговая нелинейная фильтрация 171 Такая фильтрация хорошо справляется с редкими одиночными (изолирован- ными) пикселями-артефактами (как на рис. 3.2.10), но при более интенсивных шумах данный алгоритм оказывается практически бесполезен, так как изолиро- ванные белые и черные шумовые точки встречаются все реже. Для таких случаев требуется более мощное решающее правило. Бинарная медианная фильтрация Медианный фильтр действует следующим образом. Пусть выбрана некоторая (чаще всего не проколотая) апертура Q^, содержащая нечетное число п элементов. После опроса апертуры получаем {.г1,...„г”} - последовательность из п штук нулей и единиц. ППР для бинарной медианы заключается в том, что мы упорядочиваем элементы последовательности {.г1,...„г”}, ставя сначала нули, а потом единицы и в качестве значения выхода выбираем «средний по номеру» элемент упорядо- ченной последовательности {.г1,.. то есть значение, стоящее на в упорядоченном списке значений входных пикселей. Для бинарного медианного фильтра мы получаем следующее ППР: 1, если в апертуре Q; больше единиц, чем нулей У ij ~ ‘ 0, если в апертуре больше нулей, чем единиц На рис. 3.2.17-3.2.22 приводятся примеры фильтрации бинарного изображе- ния с различными степенями зашумления медианным фильтром с размером окна 3x3. Как видно, данный фильтр хорошо справляется со слабой и средней степе- нью зашумления (рис. 3.2.17-3.2.20), однако при дальнейшем увеличении мощ- ности шума фильтр с апертурой 3x3 начинает ошибаться (рис. 3.2.21 и 3.2.22). Для подавления более интенсивных шумов необходимо использовать медиан- ный фильтр с большими размерами окна фильтрации. На рис. 3.2.24-3.2.28 при- водятся примеры медианной фильтрации с различными размерами апертуры. Рис. 3.2. 17. Слабая степень зашумления исходного изображения Рис. 3.2.18. Результат ф/. /льтрац/. и.•/ /. 1зображен1. /я медианой (med) 3x3 Рис. 3.2.19. Средняя степень зашумления исходного изображения
172 Методы обработки изображений Рис. 3.2.20. Результат ф/. шьтрац/. и.•/ /. 1зображен1. /я med 3x3 Рис. 3.2.21. Сильная степень зашумления исходного изображения Рис. 3.2.22. Результат ф/. шьтрац/. и.711зображен1 /я med 3x3 Рис. 3.2.23. Высокая степень зашумления исходного изображения Рис. 3.2.24. Результат фильтрации изображения медианой (med) 5x5 Рис. 3.2.25. Результат фильтрации изображения med 7x7 Рис. 3.2.26. Результат фильтрации изображения med 9x9 Рис. 3.2.27. Результат ф/. шьтрац/. и.711зображен1 /я med 15x15 Рис. 3.2.28. Результат ф/. шьтрац/. и.711зображен1 /я med 31x31
Фильтрация изображений. Ранговая нелинейная фильтрация 173 Как видно из рис. 3.2.24-3.2.26, с увеличением размера окна растет способ- ность медианного фильтра подавлять шумовые точки. Однако при слишком боль- ших размерах апертуры очертания объектов оказываются слишком сильно иска- женными (рис. 3.2.27 и 3.2.28). Поэтому в каждом конкретном случае фильтры необходимо настраивать в зависимости от наблюдаемой степени искажений, ха- рактерных размеров наблюдаемых объектов. Рассмотрим еще раз медиану как правило принятия решения в бинарном окон- ном фильтре, действующем на изображении в присутствии шума «соль и перец». Легко заметить, что такое правило принятия решения соответствует максимуму апостериорной вероятности в том случае, если Р = q > 0,5. Действительно, если в среднем инвертирование белых и черных элементов происходит с равной вероятностью (но не более 1/2), то в апертуре будет наблю- даться в среднем больше тех элементов, каких там и было больше до зашумления. Однако это не обязательно так, если вероятность перехода 0—>1 больше вероятно- сти перехода 1—>0, или наоборот. В этом случае «средняя» ранговая оценка может оказаться неоптимальной. Бинарная ранговая фильтрация Правило принятия решения для рангового, или процентильного, фильтра имеет вид, аналогичный ППР для медианного фильтра. 1, если число единиц в апертуре Qj;-: k, >k; У а = 1 0, если число нулей в апертуре Qj;- :&0 >и + 1-£; где k = const - задаваемое значение, причем 0 < k < п. Процентильные фильтры обозначаются Легко заметить, что медианный фильтр есть частный случай процентильного . (и + 1) — при k = ---- . UX I 2 J В свете приведенных выше рассуждений ясно, что фильтрацию с более «низ- кими» рангами, чем медиана, следует применять в том случае, если вероятность перехода 1—>0 существенно больше вероятности перехода 0—>1. С более «высоки- ми» рангами следует работать в том случае, если вероятность перехода 0—>1 суще- ственно больше вероятности перехода 1—>0. Предельным случаем такого «асим- метричного» шума является униполярный шум с параметрами (р = 1) или (q = 1). В этих случаях оптимальная ранговая фильтрация принимает вид максимального или минимального фильтра соответственно. Взвешенные ранговые фильтры Как уже говорилось выше, использование процентильных фильтров для подавле- ния помех основано на предположении о том, что объекты (однородные области)
174 Методы обработки изображений на исходном изображении настолько велики, что число положений апертуры £2^, в которых она целиком (всеми пикселями) попадает на объект или также целиком на фон, намного больше числа «переходных состояний» (рис. 3.2.29). Если это предположение не выполняется (например, сцена имеет вид «шах- матной доски» (рис. 3.2.30), то процентильная фильтрация приведет лишь к уси- лению помех (увеличению числа ошибок на сцене). Это связано с тем, что, под- считывая число единиц и нулей в апертуре, мы как бы заранее предполагаем, что на исходной сцене (в не искаженном состоянии) все соседние пиксели в подав- ляющем большинстве случаев имели одинаковые значения. И поэтому число еди- ниц воспринимается как число свидетельств в пользу предположения, что ба- зовый пиксель до зашумления имел значение 1, а число нулей - как число свидетельств, что его значение было 0. Пусть, однако, нам известен только мини- мальный размер объектов и минимальное расстояние между ними. Повысить ус- тойчивость фильтрации можно, придав более близким точкам окрестности боль- шее влияние на окончательный результат, чем дальним. Это можно осуществить при помощи матрицы весов. При этом значения каждого пикселя апертуры хи при подсчете модифицированного числа единиц k, умножается на определенный вес: К = где qu - весовые коэффициенты элементов апертуры (целые числа). Модифицированный размер апертуры для взвешенного фильтра теперь имеет вид: п= ППР (k/n)„ для взвешенного процентильного фильтра практически эквива- лентно прежнему с учетом новых значений k, и п. Приведем два возможных при- мера весовых матриц (3.2.1) и (3.2.2). 0 0 10 0 0 2 4 2 0 1 4 8 2 1, 0 2 4 2 0 0 0 10 0 (3.2.1) Рис. 3.2.29. Положение фильтра относительно объекта 1 О 1 о о 1 о 1 |1 О 1J 0__£0 о 1 о 1~~о~~Г7 1 0 1 |0 1 <0|. 0 10 10 1 10 10 0 10 1 10 10 10 10 0 10 1 10 10 Состояние всегда переходное Рис. 3.2.30. «Переходные состояния» фильтра на сцене вида «шахаматная доска»
Фильтрация изображений. Ранговая нелинейная фильтрация 175 1 0 1 О 1 0. (3.2.2) 1 О 1 (3.2.1) реализует описанный выше принцип «штрафа за удаление». Общий размер апертуры в этом случае равен п = 36. (3.2.2) является весовой матрицей типа «маска» (матрица весов состоит из нулей и единиц). Данная маска с п = 5 позволяет фильтровать даже сцены типа «шахматная доска» (см. рис. 3.2.30). 3.2.3. Нелинейная фильтрация полутоновых изображений Алгоритмы нелинейной оконной фильтрации полутоновых изображений делятся на две большие группы: нелинейные ранговые и морфологические фильтры. Ран- говая фильтрация рассматривается в данном разделе. Морфологические фильт- ры будут подробно описаны в разделе 3.5. Ранговая оконная фильтрация Нелинейная ранговая фильтрация является непосредственным обобщением би- нарной ранговой фильтрации и опирается на понятие порядковой статистики. Вокруг каждого элемента изображения выбирается окрестность, входящие в нее элементы изображения упорядочиваются по возрастанию яркости. Ранговый фильтр порядка г (1 < г < N, где N - число отсчетов в окрестности) выбирает из полученного ряда элемент с номером г и присваивает его значение исходному эле- менту изображения. Когда число Мнечетное и r= [М/2] + 1,то фильтр называется медианным. Медианный фильтр имеет важное значение в обработке изображений вследствие высокой робастности, то есть нечувствительности результатов филь- трации к плотности распределения (первого порядка) шумовой компоненты. Это связано с тем, что медианный фильтр на апертуре (2М + 1) х (2М + 1) эффективно подавляет локальные области с линейным размером менее М. Рассмотрим примеры ранговой полутоновой фильтрации по аналогии с тем, как ранее были рассмотрены примеры ранговой бинарной фильтрации. Изобра- жения зашумлены гауссовским аддитивным шумом (см. рис. 3.2.2-3.2.8). На рис. 3.2.31-3.2.36 приводятся примеры фильтрации полутонового изобра- жения с различными степенями зашумления медианным фильтром с размером окна 3x3. Как видно, данный фильтр хорошо справляется со слабой и средней сте- пенью зашумления (рис. 3.2.31-3.2.34), однако при дальнейшем увеличении мощ- ности шума фильтр с апертурой 3x3 начинает ошибаться (рис. 3.2.35 и 3.2.36). Для подавления более интенсивных шумов необходимо использовать медиан- ный фильтр с большими размерами окна фильтрации. На рис. 3.2.37-3.2.42 при- водятся примеры медианной фильтрации с различными размерами апертуры. Как видно из рис. 3.2.38-3.2.40, с увеличением размера окна растет способ- ность медианного фильтра подавлять шумовую компоненту. Однако при слиш-
176 Методы обработки изображений Рис. 3.2.31. Слабая степень зашумления исходного изображения Рис. 3.2.32. Результат фильтрации медианой (med) 3x3 Рис. 3.2.33. Средняя степень зашумления исходного изображения Рис. 3.2.34. Результат фильтрации med 3x3 Рис. 3.2.35. Сильная степень зашумления исходного изображения Рис. 3.2.36. Результат фильтрации med 3x3 Рис. 3.2.37. Зашумленное изображение Рис. 3.2.38. Результат медианной фильтрации med апертуры 5x5 Рис. 3.2.39. Результат медианной фильтрации med 7x7 ком больших размерах апертуры (рис. 3.2.41 и 3.2.42), как и в случае бинарной фильтрации, очертания объектов оказываются слишком сильно искаженными. Кроме того, меньшие по размеру объекты оказываются полностью удаленными
Фильтрация изображений. Ранговая нелинейная фильтрация 177 Рис. 3.2.40. Результат медианной фильтрации med 9x9 Рис. 3.2.41. Результат медианной фильтрации med 15x15 Рис. 3.2.42. Результат медианной фильтрации med 31x31 с изображения. Поэтому в каждом конкретном случае фильтры необходимо на- страивать в зависимости от наблюдаемой степени искажений характерных разме- ров наблюдаемых объектов. Наряду с медианными фильтрами широко применяется метод минимаксной фильтрации, использующей для обработки значения минимального и максималь- ного элементов вариационного ряда, построенного из отсчетов окна фильтра. При наличии униполярного импульсного шума, характеризующегося либо положи- тельными, либо отрицательными выбросами из среднего уровня фоновой состав- ляющей, медианный фильтр может оказаться недостаточно надежным, когда плотность шума высока и более половины пикселей окна обработки составляют выбросы одинаковой полярности. Очевидный выход из этой ситуации - исполь- зовать элемент минимального ранга для выбросов положительной полярности и элемент максимального ранга для выбросов отрицательной полярности. В этом случае шумовые импульсы удаляются даже при очень сильном уровне засоренно- сти. В то же время отдельное применение минимального и максимального фильт- ра во многом аналогично действию операции эрозии и дилатации, которые будут рассматриваться дальше и приводят к искажению формы сигнала объекта. Поэто- му с целью сохранения формы полезного сигнала целесообразна последователь- ная схема минимальной фильтрации, состоящая из двух проходов по изображе- нию и обработки сначала минимальным (максимальным), а затем максимальным (минимальным) рангом локальной статистики. Такая схема увеличивает эффек- тивность фильтрации также и в случае биполярного импульсного шума. Опти- мальная последовательность, в которой следует выбирать минимальную (макси- мальную) процедуру, определяется характеристиками входного изображения: если неискаженное изображение состоит из ярких объектов на темном фоне, то правильная последовательность - min-max. Обратная процедура справедлива для негативного изображения. Сравнение минимальной фильтрации с медианной может вестись в двух на- правлениях: эффективности результатов фильтрации и требуемых вычислитель- ных затрат. При удалении шума минимаксный фильтр требует меньших размеров
178 Методы обработки изображений апертур фильтра, чем медианный, но зато выполняет обработку в два прохода (ме- дианный - за один). Однако сложность построения ранговой статистики растет сверхлинейно с размером апертуры, ввиду этого минимальный фильтр в вычисли- тельном аспекте представляется более предпочтительным. Учитывая, что при орга- низации процедуры фоновой нормализации удаление сигнала от объекта требует для минимального фильтра меньших размеров апертуры, чем для медианного (при- мерно вдвое), данный тип фильтра может обеспечить большую надежность норма- лизации при одних и тех же вычислительных затратах или меньшую вычислитель- ную нагрузку при одинаковом уровне надежности. Недостаток минимального фильтра проявляется при обработке биполярного импульсного шума, где он не дает какого-либо выигрыша по сравнению с медианным фильтром, и, кроме того, проце- дура нормализации фона остается недостаточно эффективной вследствие того, что ранговая обработка хотя и в меньшей степени, чем линейная, но все же искажает яркостно-геометрические свойства фона при больших размерах апертуры. Имеется значительное число обобщений и модификаций процедур нелиней- ной ранговой обработки. Введем необходимые понятия для их краткого описания: • (у) ~ координаты текущего пикселя на изображении; • fy G (О, Q-1) - дискретное значение яркости в точке (у); • Q- число уровней яркости; • S-окрестность элемента (у) - заданное определенным образом множество элементов изображения, окружающих «центральный» элемент (у) - фор- ма апертуры. Примеры типичных 5-окрестностей: квадрат, прямоугольник, крест, окружность и т. п.; • М-окрестность - подмножество элементов 5-окрестности, обладающих ка- ким-либо нужным свойством, например подмножеством отсчетов, превы- шающих заданный порог, и др.; • 7V-число элементов М-окрестности; • 4г(г) ~ г-я порядковая статистика по М-окрестности; • MEAN(wz) =-----среднее арифметическое значение элементов М- окрестности; • Мl:D(m) = /т х (г- |W + 1 / 2]) - медиана элементов М-окрестности. Наиболее важные типы М-окрестности: • KSN-окрестность, состоит из k элементов, ближайших по какой-либо мет- рике на растре к заданному элементу; • KNV-окрестность из k ближайших соседей к данному элементу по значе- нию сигнала; • EV-окрестность и ER-окрестность: EV(/) = 4 - ео <4 + Ео}; ERGO = {/Ж ^(4) -E^k< + rr}, гДе rn(f) - ранг элементов/в вариационном ряду М-окрестности. Введем простую модель импульсного шума замещения в виде Е = Д5!7 + (1-50хЛ,
Фильтрация изображений. Ранговая нелинейная фильтрация 179 где - случайная величина, принимающая значения 0 или 1 с вероятностью/? и характеризующая наличие (3 = 0) или отсутствие (3=1) сбоя сигнала. Можно показать, что для этой модели шума строгая постановка задачи опти- мального сглаживания по методу максимального правдоподобия приводит к ите- ративной процедуре фильтрации вида f+1> = MEAN(EV(f )) или f+1> = MED(EV(f)) в зависимости от выбора статистики сигнала (гауссовская или лапласовская). С точки зрения задачи подавления шума без потери формы сигнала критерии оптимальности можно определить следующим образом: ранговым алгоритмам, использующим EV-окрестности, соответствует критерий максимального подав- ления шума при уровне смаза, не превышающем заданного, а ранговым алгорит- мам, использующим KNV-окрестность, - критерий минимума смаза при задан- ном уровне подавления шума. Возможность выбора KNV-окрестности позволяет учесть априорную информацию о геометрических размерах деталей изображе- ния, которые необходимо сохранить; в свою очередь, выбор EV-окрестности по- зволяет учитывать априорную информацию о дисперсии шума, который должен быть устранен. К числу нелинейных ранговых фильтров относятся многие известные алго- ритмы, в частности сигма-фильтр'. /v = mean(ev(/?», где Ео = 1,5(7, (7 - параметр СКО локальной статистики окна обработки, и сигма- медианный фильтр: /v = MED(EV(^)), причем, вообще говоря, отсечение отсчетов для усреднения может происходить на любом уровне значимости а: Ео = Ш7. Таким образом, эти формулы охватывают случай a-у сеченных фильтров. Эффективной разновидностью ранговых алгоритмов сглаживания является так называемый SNN-алгоритм. В этом алгоритме может быть применена любая схема сигма-фильтрации. Однако выбор М-окрестности обработки ведется исхо- дя из геометрических соображений таким способом, что усредняемые отсчеты не могли в силу геометрических свойств апертуры находиться по разные стороны от границы возможного перепада яркости (края). Заканчивая краткий обзор методов нелинейной ранговой фильтрации, можно сделать следующие выводы. Этот класс алгоритмов имеет высокую способность к подавлению шумовой компоненты, устойчив к различным видам шумов, допус- кает параллельную обработку информации и быстрые алгоритмы реализации. Функция IMAQ: NthOrder В качестве входных параметров функция ранговой фильтрации IMAQ NthOrder (рис. 3.2.43) принимает:
180 Методы обработки изображений • исходное изображение Image Src; • область интереса Image Mask; • шаблон выходного изображения Image Dst; • Size & Order - размер окна фильтрации и порядковый номер элемента мас- ки соответственно; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Size & Order it.....'""Е Image Src Image Mask Image Dst Out Image Dst О error out error in fno error] Рис. 3.2.43. Функция IMAQ NthOrder На выход IMAQ NthOrder выдает изображение Image Dst Out, которое запи- сывается в Image Dst, если Image Dst подано на вход. В противном случае резуль- тат Image Dst Out записывается в Image Src. Также на выходе IMAQ NthOrder формируется сообщение об ошибках error out, возникающих в результате работы. На рис. 3.2.44 показан пример применения к изображению функции IMAQ NthOrder с параметрами Size = 5x5, Order = 8 (ранг 8/25). В данном примере ранг ниже медианы (13/25), что приводит к подавлению на изображении локальных светлых областей небольшого размера. На рис. 3.2.45 показан первый фрейм соответствующей данному примеру блок-диаграммы LabVIEW. Внутри первого фрейма структуры событий реализо- ваны загрузка исходного изображения (IMAQ ReadFile), вырезка фрагмента (IMAQ ROIToMask), а также установка свойств (Property Node) для координат маски (Mask) и порядкового номера элемента (Order), передающихся на вход IMAQ NthOrder. Второй фрейм структуры событий является вспомогательным. В нем устанавливаются ограничения на размеры маски и величину массива Order соответственно. 3.2.4. Задача выделения объектов интереса Традиционные схемы обнаружения мелко- и среднеразмерных объектов на изоб- ражениях заключались в проведении первоначальной яркостной сегментации анализируемого изображения с целью установления «области интереса», ограни- чивающей объект изображения, а затем в использовании различных признаковых описаний формы объекта для соотнесения найденных значений признаков с их эталонными значениями. Различные системы подобных признаков будут рас- смотрены нами позднее. К сожалению, при усложнении состава сцены, условий наблюдения и увеличе- нии шумовой компоненты для таких методов наблюдается существенный рост
Фильтрация изображений. Ранговая нелинейная фильтрация 181 Рис. 3.2.44. Результат выполнения ранговой фильтрации вероятности аномальных ошибок обнаружения. Особенно это относится к про- стым схемам яркостной сегментации по порогу, которые обычно использовались при обнаружении области интереса или «носителя» объекта. Однако использова- ние методов нелинейной фильтрации непосредственно на этапе сегментации изображения позволяет разительно повысить эффективность процедур выделе- ния мелко- и среднеразмерных объектов на цифровых изображениях. Метод нормализации фона Метод нормализации фона был разработан для обнаружения малоразмер- ных объектов в составе сложных сцен и в присутствии интенсивных шумов. Он основан на использовании селектирующих свойств нелинейных оконных фильтров. Как уже упоминалось выше, медианный фильтр с апертурой (2М+1)х(2М+1) эффективно подавляет локальные области с линейным размером менее М. Таким образом, возникает чрезвычайно важная практическая возможность комбиниро- ванной обработки при обнаружении малых площадных объектов, заключающаяся
182 Методы обработки изображений Рис. 3.2.45. Основной фрейм блок-диаграммы в устранении как импульсного шума, так и неоднородного фона за счет примене- ния сочетания медианных фильтров разного размера апертуры (рис. 3.2.46). На первом шаге здесь применяется обработка фильтром малой апертуры (ЗхЗ-^5х5) для устранения импульсного шума. Затем осуществляется обработка фильтром большой размерности (до 35x35), оставляющая на изображении только фон и подавляющая полезный сигнал от объекта. На завершающем этапе произ- водится вычитание из изображения, полученного на первом шаге, карты фона, полученной на втором шаге. Таким образом, окончательное обнаружение объекта сводится к хорошо изученным процедурам сегментации по яркости. Данный при- ем получил в теории название нормализации фона и позволяет обеспечить обнару- жение сигнала от объекта даже при очень малых соотношениях сигнал/шум (<1), однако его практическое применение сдерживается необходимостью достижения высокой производительности вычислительной техники, так как требуемый объем операций растет пропорционально квадрату размера апертуры. Как видно из примера на рис. 3.2.47-3.2.49, в зависимости от того, какую по- следовательность фильтров мы выберем, метод нормализации фона может выде- лять объекты «положительного» или «отрицательного» контраста. Классическая процедура нормализации фона, являясь эффективным методом обнаружения простых объектов по признакам размера, может быть развита и уси- лена за счет применения морфологических (ММ Серра) методов обработки, кото- рые позволяют строить обнаружение объектов также по априорным данным об их яркостно-геометрической структуре (модели). Процедуры математической мор- фологии Серра будут также рассмотрены в разделе 3.5.
Фильтрация изображений. Ранговая нелинейная фильтрация 183 Рис. 3.2.47. Исходное изображение Рис. 3.2.48. Результат нормализации фона с параметрами (3,3,31,31) Рис. 3.2.49. Результат нормализации фона с параметрами (31,31,3,3)
184 Методы обработки изображений 3.3. Линейная фильтрация изображений. Линейная фильтрация в пространственной области. Преобразование Фурье. Линейная фильтрация в частотной области 3.3.1. Линейная фильтрация изображений. Линейная фильтрация в пространственной области Линейная оконная фильтрация изображений в пространственной области заклю- чается в вычислении линейной комбинации значений яркости пикселей в окне фильтрации с коэффициентами матрицы весов фильтра, называемой также мас- кой, или ядром, линейного фильтра. Рассмотрим вычисление такой линейной комбинации на примере окна фильт- рации размером 3x3. При этом маска фильтра представляется матрицей вида: Mask[-1,-1] Mask[0,-l] Maskf-1,0] Mask[0,0] Maskf-1,1] Mask[0,l] а соответствующий фрагмент изображения с центральным пикселем 1ш(х,г/), к которому на текущем шаге применяется данный фильтр, имеет вид: 1ш[х-1,г/-1] 1т[х,г/-1] 1т[х-1,г/] 1т|.г,//| 1т[х-1,г/+1] 1т[х,г/+1] Результат линейной фильтрации для данного окна (для данного центрального пикселя) описывается следующей простой формулой: 1т’[х,г/] = 2;2(1т[х+г,г/+у]хМазк[х+г,г/+у]), i = -/zWinX.../zWinX, )=-№У...ЖтУ, (3.3.1), где AWinX = [WinX/2], hWinY = [Winy/2] - полуширина и полувысота окна фильтрации соответственно (в данном случае обе величины равны 1). Результат применения операции (3.3.1) ко всем пикселям изображения I m(.v,//) называется сверткой изображения Im с маской Mask. Maskfl,-1] Mask[l,0] Maskfl,1], I m|.v+1,// 1 | Imfx+l,//] Im[x+l,z/+l]. Скользящее среднее в окне Простейшим видом линейной оконной фильтрации в пространственной области является скользящее среднее в окне. Результатом такой фильтрации является зна- чение математического ожидания, вычисленное по всем пикселям окна. Матема- тически это эквивалентно свертке с маской, все элементы которой равны 1/и, где п - число элементов маски. Например, маска скользящего среднего размера 3x3 имеет вид:
Линейная фильтрация изображений. Преобразование Фурье 185 1 1 1 1 1 Рассмотрим пример фильтрации зашумленного полутонового изображения фильтром «скользящее среднее». Изображения зашумлены гауссовским аддитив- ным шумом (см. рис. 3.2.2-3.2.8). На рис. 3.3.1-3.3.6 приводятся примеры фильтрации полутонового изображе- ния с различными степенями зашумления средним фильтром с размером окна 3x3. Как видно из примера, фильтр «скользящее среднее» обладает меньшей спо- собностью к подавлению шумовой компоненты по сравнению с ранее рассмотрен- ным медианным фильтром 3x3. Рассмотрим скользящее среднее с большими размерами окна фильтрации. На рис. 3.2.23-3.2.28 приводится пример медианной фильтрации с различными раз- мерами апертуры. Рис. 3.3.1. Слабая степень зашумления исходного изображения Рис. 3.3.2. Результат фильтрации средним (avr) 3x3 Рис. 3.3.3. Средняя степень зашумления исходного изображения Рис. 3.3.4. Результат фильтрации avr 3x3 Рис. 3.3.5. Сильная степень зашумления исходного изображения Рис. 3.3.6. Результат фильтрации avr 3x3
186 Методы обработки изображений Как видно из рис. 3.3.7-3.3.12, с увеличением размера окна растет способность медианного фильтра подавлять шумовую компоненту. Однако при этом нараста- ет и эффект кажущейся «расфокусировки» изображения (рис. 3.3.11 и 3.3.12) за счет размытия краев видимых объектов. Этого специфически присущего линей- ным фильтрам эффекта размытия мы также не наблюдали в случае нелинейной ранговой фильтрации. Рис. 3.3.7. Зашумленное изображение Рис. 3.3.8. Результат средней линейной фильтрации avr 5x5 Рис. 3.3.9. Результат средней линейной фильтрации avr 7x7 Рис. 3.3.10. Результат средней фильтрации avr 9x9 ии avr 3x3 Рис. 3.3.11. Результат средней линейной фильтрации avr 15x15 Рис. 3.3.12. Результат средней линейной фильтрации avr 31x31 Гауссовская фильтрация В предыдущем разделе мы рассмотрели «вырожденный» случай линейной фильт- рации с однородной маской. Между тем сама идея свертки изображения с весовой матрицей аналогична ранее рассмотренной идее введения весовой матрицы во взвешенных процентильных фильтрах. Повысить устойчивость результатов фильт- рации на краях областей можно, если придать более близким точкам окрестности большее влияние на окончательный результат, чем дальним. Примером реализа- ции этой идеи для окна размером 3x3 является следующая маска:
Линейная фильтрация изображений. Преобразование Фурье 187 1 16 2 1 4 2 2 1 1 Такая маска называется гауссовской, соответственно и использующий ее ли- нейный фильтр также называется гауссовским. Используя дискретные приближе- ния двумерной гауссовской функции, можно получить и другие гауссовские ядра большего размера. Обратите внимание на то, что сглаживающие, или фильтрую- щие, маски линейных фильтров должны иметь сумму всех элементов равную 1. Данное условие нормировки гарантирует адекватный отклик фильтра на постоян- ный сигнал (постоянное изображение I 1 = const). На рис. 3.3.13-3.3.15 приведен пример гауссовской линейной фильтрации за- шумленного изображения. Рис. 3.3.13. Зашумленное изображение Рис. 3.3.14. Результат гауссовской линейной фильтрации gauss 5x5 Рис. 3.3.15. Результат гауссовской линейной фильтрации gauss 3x3 Функция IMAQ: Convolute Функция IMAQ Convolute (рис. 3.3.16) осуществляет линейную фильтрацию (свертку) изображения в пространственной области с любой произвольно задан- ной маской. В качестве входных параметров IMAQ Convolute принимает: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; Divider (kernel sum] Image Src Image Mask Image Dst error in (no error] Kernel gj “Image Dst Out -3— error out Рис. 3.3.16. Функция IMAQ Convolute
188 Методы обработки изображений • шаблон выходного изображения Image Dst; • маску линейного фильтра Kernel, с которой производится свертка изобра- жения; • Divider (kernel sum) - сумму всех значений ячеек маски Kernel (служит для нормировки выходного значения фильтра); • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Выходными параметрами IMAQ Convolute являются: • изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записыва- ется в Image Src; • сообщение об ошибках error out, возникающих в результате работы IMAQ Convolute. На рис. 3.3.17 и 3.3.18 приводится пример использования функции IMAQ Convolute. На лицевой панели приложения (рис. 3.3.18) в группе закладок слева (Tab Control Left) находятся исходное изображение Source Image, загружаемое с помощью элемента управления Path, а также маски фильтров Kernels и изобра- жение Destination Image, являющееся результатом фильтрации (свертки исход- ного изображения с текущей маской, заданной на закладке Kernels). В группу зак- ладок справа (Tab Control Right) входят изображение Destination Image и копия исходного изображения Source Image для удобства сравнения результатов. В данном примере процедура фильтрации может применяться не только ко всему исходному изображению целиком, но и к какому-либо его фрагменту. Фрагмент исходного выражения вырезается с помощью набора инструментов, находящихся слева от Source Image, помещенного на Tab Control Left. В правой нижней части лицевой панели находится окно Divider, в котором отображается сумма коэффи- циентов маски Manual kernel. Выход из программы осуществляется нажатием кнопки Stop. В правом верхнем углу закладки Kernels на Tab Control Left находится пере- ключатель Kernel (рис. 3.3.17). Его положение определяет, осуществляется ли фильтрация одной из заранее заданных масок (переключатель в положении Predefined) или пользователь конструирует фильтр самостоятельно (переключа- тель в положении Manual). В этом случае появляется возможность непосред- ственно в окне редактировать коэффициенты маски Manual kernel. Размер маски задается в поле Kernel Size. На рис. 3.3.17 показана маска фильтра Гаусса 5x5. Нажатие кнопки Apply this kernel вызывает обработку исходного изображения этой маской. Результат соот- ветствующего сглаживания изображения показан на рис. 3.3.18. На рис. 3.3.19-3.3.22 показаны фрагменты блок-диаграммы LabVIEW для данного примера использования функции IMAQConvolute. Внутри первого фрейма Структуры событий (рис. 3.3.19) находятся ВП за- грузки изображения (IMAQReadFile), вырезки фрагмента (IMAQROIToMask), свертки с маской (IMAQ Convolute), а также отображение исходного и обрабо- танного изображений (Source Image и Destination Image, соответственно).
Линейная фильтрация изображений. Преобразование Фурье 189 Рис. 3.3.17. Маска фильтра Гаусса 5x5 Структура выбора (Case Structure) характеризует положение переключателя Kernel. Когда Kernel находится в положении Predefined (фрейм True в Струк- туре выбора), на вход IMAQ Convolute поступают маски Predefined kernel (рис. 3.3.19) из стандартного набора. Второй фрейм Структуры выбора (рис. 3.3.20) демонстрирует процесс подго- товки маски (Manual kernel), сконструированной пользователем (Kernel переве- ден в положение Manual). В данном примере маска Manual kernel создана «вруч- ную». Но можно эту же маску создать, используя ВП IMAQBuildKemel. На рис. 3.3.21 и 3.3.22 проиллюстрирован процесс построения масок фильтров. Можно создать маску автоматически с помощью IMAQ GetKernel (рис. 3.3.21), который создает маску Predefined kernel по заданным параметрам, - семейству фильтров (Kernel Family), размерам маски (Kernel Size) и виду конкретной мас- ки (Kernel Number).
190 Методы обработки изображений Рис. 3.3.18. Сглаживание изображения маской фильтра Гаусса 5x5 Рис. 3.3.22 демонстрирует процессы создания маски, сконструированной пользователем, и суммирования коэффициентов маски для окна Divider. Функция IMAQ: LowPass Данная функция (рис. 3.3.23) реализует сглаживающий низкочастотный фильтр в пространственной области. На вход IMAQ LowPass подаются: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; • Size & Tolerance - размеры маски и величина (выражена в процентах) от- клонения центрального пикселя от среднего в маске; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQ LowPass формирует изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записывается в Image Src.
Линейная фильтрация изображений. Преобразование Фурье 191 Рис. 3.3.19. Пример использования заранее заданной маски Predefined kernel Рис. 3.3.20. Пример использования маски, сконструированной пользователем
192 Методы обработки изображений Рис. 3.3.21. Построение масок фильтров с помощью ВП IMAQ GetKernel Также на выходе IMAQ LowPass формируется сообщение об ошибках error out, возникающих в результате работы. На рис. 3.3.24 приводится пример использования виртуального прибора IMAQ LowPass. В данном примере на лицевой панели содержимое групп закла- док слева (Tab Control Left) и справа (Tab Control Right) полностью дублирует друг друга. На закладках находятся исходное изображение Source Image, загру- жаемое с помощью элемента управления Path, а также изображение Destination Image, демонстрирующее результат обработки. Размер маски фильтра устанавли- вается соответствующими элементами управления в группе Mask. На рис. 3.3.25 представлена соответствующая блок-диаграмма для примера использования функции IMAQLowPass. 3.3.2. Преобразование Фурье. Линейная фильтрация в частотной области Линейная фильтрация изображений может осуществляться как в пространствен- ной, так и в частотной области. При этом считается, что «низким» пространствен- ным частотам соответствует основное содержание изображения - фон и крупно- размерные объекты, а «высоким» пространственным частотам - мелкоразмерные объекты, мелкие детали крупных форм и шумовая компонента.
Линейная фильтрация изображений. Преобразование Фурье 193 Рис. 3.3.22. Создание маски, сконструированной пользователем Size & Тolerance...... Image Src Image Mask Image Dst “ error in Ino error] Image Dst Out error out Рис. 3.3.23. Функция IMAQ LowPass Традиционно для перехода в область пространственных частот используются методы, основанные на преобразовании Фурье. В последние годы все большее применение находят также методы, основанные на вейвлет-преобразовании (wavelet-transform ). Преобразование Фурье Преобразование Фурье позволяет представить практически любую функцию или набор данных в виде комбинации таких тригонометрических функций, как синус и косинус, что позволяет выявить периодические компоненты в данных и оценить их вклад в структуру исходных данных или форму функции. Традиционно разли- чаются три основные формы преобразования Фурье: интегральное преобразова- ние Фурье, ряды Фурье и дискретное преобразование Фурье.
194 Методы обработки изображений Рис. 3.3.24. Пример использования ВП IMAQ LowPass Интегральное преобразование Фурье переводит вещественную функцию в па- ру вещественных функций или одну комплексную функцию в другую. Вещественную функцию /(л) можно разложить по ортогональной системе тригонометрических функций, то есть представить в виде: F(x) = j4(<B)cos(2n<B.r)4<B - jB(<B)sin(2n<B.r)4<B, о о где А(<п) и В(<п) называются интегральными косинус- и синус-преобразованиями: +СО +СО А(со) = 2 ji;(.r)cos(2mB.r)(Z.r;B(ci)) = 2 (.v)sin(2nco.v)<7.v. Ряд Фурье представляет периодическую функцию /(л), заданную на интерва- ле [а,Ь] в виде бесконечного ряда по синусам и косинусам. То есть периодической функции F(.r) ставится в соответствие бесконечная последовательность коэффи- циентов Фурье.
Линейная фильтрация изображений. Преобразование Фурье 195 Рис. 3.3.25. Основной фрейм блок-диаграммы 2 n=t (2пхп cos --- I b-a sin| п=1 2пхп b-a + гдеАп=—^— h(x)cos[^^]dx;B„ = -?— |f(x)sin[^^Lx. b-a J [b-a ) b-a J [b-a ) a a Дискретное преобразование Фурье переводит конечную последовательность вещественных чисел в конечную последовательность коэффициентов Фурье. Пусть {.у}о«лч ~ последовательность вещественных чисел, например отсчеты яркости пикселей по строке изображения. Эту последовательность можно пред- ставить в виде комбинации конечных сумм вида: 2mi i<k<N/2. Основное отличие между тремя формами преобразования Фурье заключается в том, что если интегральное преобразование Фурье определено по всей области
196 Методы обработки изображений определения функции F(x), то ряд и дискретное преобразование Фурье определе- ны только на дискретном множестве точек, бесконечном для ряда Фурье и конеч- ном для дискретного преобразования. Как видно из определений преобразования Фурье, наибольший интерес для систем цифровой обработки сигналов представляет дискретное преобразование Фурье. Данные, получаемые с цифровых носителей или источников информации, представляют собой упорядоченные наборы чисел, записанные в виде векторов или матриц. Обычно принимается, что входные данные для дискретного преобразования представляют собой равномерную выборку с шагом А, при этом величина T=N& называется длиной записи, или основным периодом. Основная частота равна 1/Т. Таким образом, в дискретном преобразовании Фурье производится разложение входных данных по частотам, которые являются целым кратным основной часто- ты. Максимальная частота, определяемая размерностью входных данных, равна 1 /2А и называется частотой Найквиста. Учет частоты Найквиста имеет большое значение при использовании дискретного преобразования. Если входные данные имеют периодические составляющие с частотами, превышающими частоту Найк- виста, то при вычислении дискретного преобразования Фурье произойдет подме- на высокочастотных данных более низкой частотой, что может привести к ошиб- кам при интерпретации результатов дискретного преобразования. Важным инструментом анализа данных является также энергетический спектр. Мощность сигнала на частоте щ определяется следующим образом: Р(со) = |(Л(со)2+В(со)2). Эту величину часто называют энергией сигнала на частоте (й. Согласно теореме Парсеваля общая энергия входного сигнала равна сумме энергий по всем часто- там: Д'-I W/2 z=0 г=0 График зависимости мощности от частоты называется энергетическим спект- ром, или спектром мощности. Энергетический спектр позволяет выявлять скры- тые периодичности входных данных и оценивать вклад определенных частотных компонент в структуру исходных данных. Комплексное представление преобразования Фуръе Кроме тригонометрической формы записи дискретного преобразования Фурье широко используется комплексное представление. Комплексная форма записи преобразования Фурье широко используется в многомерном анализе и в частно- сти при обработке изображений. Переход из тригонометрической в комплексную форму осуществляется на ос- новании формулы Эйлера:
Линейная фильтрация изображений. Преобразование Фурье 197 e’at = coscot + 7 sin cot, j = V-l. Если входная последовательность представляет собой N комплексных чисел, то ее дискретное преобразование Фурье будет иметь вид: ДМ -iTtjmn Gm=^^xne N . п=1 а обратное преобразование: ;V-1 2-itjmn п=1 Если входная последовательность представляет собой массив вещественных чи- сел, то для нее существует как комплексное, так и синусно-косинусное дискретное преобразование. Взаимосвязь этих представлений выражается следующим образом: а0= Go, Gk = (ak-jbk)/2, 1 < k< N/2, остальные N/2 значений преобразования являются комплексно сопряженными и не несут дополнительной информации. Поэтому график спектра мощности диск- ретного преобразования Фурье симметричен относительно N/2. Быстрое преобразование Фуръе Простейший способ вычисления дискретного преобразования Фурье (ДПФ) - прямое суммирование, оно приводит к N операциям на каждый коэффициент. Всего коэффициентов N, так что общая сложность О(№). Такой подход не пред- ставляет практического интереса, так как существуют гораздо более эффектив- ные способы вычисления ДПФ, называемые быстрым преобразованием Фурье (БПФ), имеющее сложность O(N\og(N)). БПФ применяется только к последова- тельностям, имеющим длину (число элементов), кратную степени 2. Е1аиболее общий принцип, заложенный в алгоритм БПФ, заключается в разбиении входной последовательности на две последовательности половинной длины. Первая пос- ледовательность заполняется данными с четными номерами, а вторая - с нечет- ными. Это дает возможность вычисления коэффициентов ДПФ через два преоб- разования размерностью N/2. 2щ W/2-1 Л/2-1 Обозначим ат =е т , тогда Gm = J>2„S/2 + IX+1S/2S- п=\ п=\ Для т < N/2 тогда можно записать Gm = Gevert(m) + G0(l([{m')®n^. Учитывая, что элементы ДПФ с индексом большим, чем N/2, являются комплексно сопряженны- ми к элементам с индексами, меньшими N/2, можно записать Gm+N/2 = Gez.en(m)- -Gf^dijn)^. Таким образом, можно вычислить БПФ длиной N, используя два ДПФ длиной N/2. Полный алгоритм БПФ заключается в рекурсивном выполне- нии вышеописанной процедуры, начиная с объединения одиночных элементов в пары, затем в четверки и так до конца.
198 Методы обработки изображений Двумерное преобразование Фуръе Дискретное преобразование Фурье для двумерного массива чисел размера (MxN) определяется следующим образом: а обратное преобразование: U=1 7Р=1 В случае обработки изображений компоненты двумерного преобразования Фурье называют пространственными частотами. Важным свойством двумерного преобразования Фурье является возможность его вычисления с использованием процедуры одномерного БПФ: Здесь выражение в квадратных скобках есть одномерное преобразование стро- ки матрицы данных, которое может быть выполнено с одномерным БПФ. Таким образом, для получения двумерного преобразования Фурье нужно сначала вы- числить одномерные преобразования строк, записать результаты в исходную мат- рицу и вычислить одномерные преобразования для столбцов полученной матри- цы. При вычислении двумерного преобразования Фурье низкие частоты будут сосредоточены в углах матрицы, что не очень удобно для дальнейшей обработки полученной информации. Для перевода получения представления двумерного преобразования Фурье, в котором низкие частоты сосредоточены в центре матри- цы, можно выполнить простую процедуру, заключающуюся в умножении исход- ных данных на ( 1 Свертка с использованием преобразования Фуръе Свертка функций s(t) и r(t) определяется как 4-00 js(r)r(t-т)йД. На практике приходится иметь дело с дискретной сверткой, в которой непре- рывные функции заменяются наборами значений в узлах равномерной сетки (обычно берется целочисленная сетка): р (r*s)f = ^si-krk- k=-N
Линейная фильтрация изображений. Преобразование Фурье 199 Здесь -.Уи Р определяют диапазон, за пределами которого r(t) = 0. При вычислении свертки с помощью преобразования Фурье используется свой- ство преобразования Фурье, согласно которому произведение образов функций в частотной области эквивалентно свертке этих функций во временной области. Для вычисления сверки необходимо преобразовать исходные данные в частот- ную область, то есть вычислить их преобразование Фурье, перемножить резуль- таты преобразования и выполнить обратное преобразование Фурье, восстановив исходное представление. Единственная тонкость в работе алгоритма связана с тем, что в случае дискрет- ного преобразования Фурье (в отличие от непрерывного) происходит свертка двух периодических функций, то есть наши наборы значений задают именно пе- риоды этих функций, а не просто значения на каком-то отдельном участке оси. То есть алгоритм считает, что за точкой xN идет не ноль, а точка х0, и т. д. по кругу. Поэтому, чтобы свертка корректно считалась, необходимо приписать к сигналу достаточно длинную последовательность нулей. Фильтрация изображений в частотной области Линейные методы фильтрации относятся к числу хорошо структурированных методов, для которых разработаны эффективные вычислительные схемы, осно- ванные на быстрых алгоритмах свертки и спектральном анализе. В общем виде линейные алгоритмы фильтрации выполняют преобразование вида: f(x,y) = Я/(^-х,г|-г/)К(^,г|)^г|, где К(фг|) - ядро линейного преобразования. При дискретном представлении сигнала интеграл в данной формуле вырожда- ется во взвешенную сумму отсчетов исходного изображения в пределах некото- рой апертуры. При этом выбор ядра К(фг|) в соответствии с тем или иным крите- рием оптимальности может привести к ряду полезных свойств (гауссовское сглаживание при регуляризации задачи численного дифференцирования изобра- жения и др.). Е1аиболее эффективно линейные методы обработки реализуются в частотной области. Использование Фурье-образа изображения для выполнения операций фильтра- ции обусловлено прежде всего более высокой производительностью таких опера- ций. Как правило, выполнение прямого и обратного двумерного преобразования Фурье и умножение на коэффициенты Фурье-образа фильтра занимает меньше времени, чем выполнение двумерной свертки исходного изображения. Алгоритмы фильтрации в частотной области основываются на теореме о свер- тке. В двумерном случае преобразование свертки выглядит следующим образом: G(u,v) = H(u,v)F(u,v), где G - Фурье-образ результата свертки, Н - Фурье-образ фильтра, a F- Фурье- образ исходного изображения. То есть в частотной области двумерная свертка за- меняется поэлементным перемножением образов исходного изображения и соот- ветствующего фильтра.
200 Методы обработки изображений Для выполнения свертки необходимо выполнить следующие действия: 1. Умножить элементы исходного изображения на (-1)”+и для центрирования Фурье-образа. 2. Вычислить F(w,c), используя БПФ. 3. Умножить F(u,v) на функцию фильтра H(u,v). 4. Вычислить обратное преобразование Фурье. 5. Умножить вещественную часть обратного преобразования на ( 1 Как правило, фильтры описываются вещественными функциями, в этом слу- чае каждый компонент Н умножается на соответствующие элементы действи- тельной и мнимой части Фурье-образа изображения. Если исходная функция f(x,y) и фильтр Нне комплексные, то результат сверткиg(x,у) также должен быть вещественной функцией. Однако на практике обратное преобразование содержит паразитную мнимую составляющую, которую надо отбросить. Связь между функцией фильтра в частотной и пространственной области можно определить, используя теорему о свертке: Ф[/(х,г/)*/г(х,г/)] = Е(и,»)Я(и,»), Ф|/(х,г/)/г(х,г/)] = F(w,c)*H(w,c). Свертка функции с импульсной функцией может быть представлена следую- щим образом: М N X 2/0, у)^х -xa,y-ya) = s(xa,ya ) Х = ()у = () Фурье-преобразование импульсной функции: А/ Го/UX л М -2тгл +—— 4 т=0 1 Пусть f(x,y) = 8(х,у), тогда свертка f(x,y)*h(x,y) = j^h(x,y), Ф[5(х,г/)*/г(х,г/)] = Ф[5(х,г/)]Л(м,о) = -^-Л(и,о). Из этих выражений видно, что функции фильтра в частотной и пространствен- ной областях взаимосвязаны через преобразование Фурье. Для данной функции фильтра в частотной области всегда можно найти соответствующий фильтр в пространственной области, применив обратное преобразование Фурье. То же верно и для обратного случая. Используя данную взаимосвязь, можно определить процедуру синтеза пространственных фильтров: 1. Определяем требуемые характеристики (форму) фильтра в частотной об- ласти. 2. Выполняем обратное преобразование Фурье. 3. Полученный фильтр можно использовать как маску для пространственной свертки, при этом размеры маски можно уменьшить по сравнению с разме- рами исходного фильтра.
Линейная фильтрация изображений. Преобразование Фурье 201 Идеальный фильтр низких частот H(u,v) имеет вид: H(u,v) = 1, если D(u,v) < Do, H(u,v) = 0, если D(u,v) i Do, JZ X 2 Z X 2 Г MY Г ЛГ lw-—I + lo-—I ~ расстояние от центра частотной плоскости. После свертки с этим фильтром на результирующем изображении появляются паразитные искажения в виде полутоновых ложных границ. Идеальный высокочастотный фильтр получается путем инверсии идеального низкочастотного фильтра: /z(w,c) = 1 - Я(и,о). Здесь происходит полное подавление низкочастотных компонент при сохра- нении высокочастотных. Однако, как и в случае идеального низкочастотного фильтра, его применение чревато появлением существенных искажений. Для синтеза фильтров с минимальными искажениями используются различ- ные подходы. Одним из них является синтез фильтров на основе экспоненты. Та- кие фильтры привносят минимальные искажения в результирующее изображе- ние и удобны для синтеза в частотной области. Широко используемым при обработке изображений является семейство филь- тров на основании вещественной функции Гаусса. Низкочастотный гауссовский фильтр имеет вид: /г(х) = -У^лстЛе 2(-п| > и Н(и) = Ае 2°2. Чем уже профиль фильтра в частотной области (чем больше ст), тем он шире в пространственной. Высокочастотный гауссовский фильтр имеет вид: А(х) = д/Ъст,/1е 2f7n',j2 -л&йВе~2(,ЮвХ)2, и1 Н(и) = Ае А -Be в. В двумерном случае низкочастотный фильтр Гаусса выглядит следующим об- разом: О2(и,г) ‘2D^ H(u,v) = e 0 . Высокочастотный гауссовский фильтр имеет вид: 02(»,г) H(u,v) = l-e 0 . Рассмотрим пример фильтрации изображения (см. рис. 3.2.1) в частотной об- ласти (рис. 3.3.26-3.3.31). Заметим, что частотная фильтрация изображения мо-
202 Методы обработки изображений Рис. 3.3.27. Высокочас- тотная фильтрация с параметрами (10,10) Рис. 3.3.26. Низкочас- тотная фильтрация с параметрами (10,10) Рис. 3.3.28. Низкочас- тотная фильтрация с параметрами (50,50) Рис. 3.3.29. Высокочас- тотная фильтрация с параметрами (50,50) Рис. 3.3.30. Высокочас- тотная фильтрация с параметрами (100,100) Рис. 3.3.31. Высокочас- тотная фильтрация с параметрами (200,200) жет иметь смысл как сглаживания {низкочастотная фильтрация), так и выделе- ния контуров и мелкоразмерных объектов {высокочастотная фильтрация). Как видно из рис. 3.3.26, 3.3.28 по мере нарастания «мощности» фильтрации в низкочастотной составляющей изображения все сильнее проявляется эффект «кажущейся расфокусировки», или размытия изображения. В то же время в вы- сокочастотную составляющую, где вначале наблюдаются лишь контуры объек- тов, постепенно переходит большая часть информационного содержания изобра- жения (рис. 3.3.27, 3.3.29-3.3.31). Рассмотрим теперь поведение высокочастотных и низкочастотных фильтров (рис. 3.3.32-3.3.37) в присутствии аддитивного гауссовского шума на изображе- нии (см. рис. 3 3.7). Как видно из рис. 3.3.32-3.3.34, свойства низкочастотных фильтров по подавле- нию аддитивной случайной помехи аналогичны свойствам ранее рассмотренных ли- нейных фильтров - при достаточной мощности фильтра помехи подавляются, одна- ко платой за это является сильное размытие контуров и «расфокусировка» всего
Линейная фильтрация изображений. Преобразование Фурье 203 Рис. 3.3.33. Высокочас- тотная фильтрация с параметрами (10,10) Рис. 3.3.32. Низкочас- тотная фильтрация с параметрами (10,10) Рис. 3.3.34. Низкочас- тотная фильтрация с параметрами (50,50) Рис. 3.3.35. Высокочас- тотная фильтрация с параметрами (50,50) Рис. 3.3.36. Высокочас- тотная фильтрация с параметрами (100,100) Рис. 3.3.37. Высокочас- тотная фильтрация с параметрами (200,200) изображения. Высокочастотная составляющая зашумленного изображения переста- ет быть информативной, так как помимо контурной и объектовой информации там теперь также полностью присутствует и шумовая компонента (рис. 3.3.36 и 3.3.37). Применение частотных методов наиболее целесообразно в случае, когда извест- ны статистическая модель шумового процесса или/и оптическая передаточная функция канала передачи изображения. Учесть такие априорные данные удобно, выбрав в качестве восстанавливающего фильтра обобщенный управляемый (па- раметрами ст и ц) фильтр следующего вида: f(№1,®2) = 1 Р(й'У®2) ЬР(®’1.®2)|2 +а|й(®1>®’2)|2 где 0<ст<1, 0<ц<1- назначаемые параметры фильтра, P(w1,w2) - передаточная функция системы, Qfw^wO) - стабилизатор фильтра, согласованный с энергети- ческим спектром фона.
204 Методы обработки изображений Выбор параметров ст = 1, ц = О приводит к чисто инверсной фильтрации, ст = ц = = 1 - к винеровской фильтрации, что позволяет получить изображение, близкое к истинному в смысле минимума СКО при условии, что спектры плотности мощ- ности изображения и его шумовой компоненты априорно известны. Для даль- нейшего улучшения эффекта сглаживания в алгоритм линейной (винеровской) фильтрации вводят адаптацию, основанную на оценке локальных статистик: ма- тематического ожидания М[(Р)] и дисперсии <т(Р). Этот алгоритм эффективно фильтрует засоренные однородные поверхности (области) фона. Однако при по- падании в скользящее окно обработки неоднородных участков фона импульсная характеристика фильтра сужается ввиду резкого изменения локальных статис- тик, и эти неоднородности (контуры, пятна) передаются практически без расфо- кусировки, свойственной неадаптивным методам линейной фильтрации. К достоинствам методов линейной фильтрации следует отнести их ясный фи- зический смысл и простоту анализа результатов. Однако при резком ухудшении соотношения «сигнал/шум» при возможных вариантах площадного зашумления и наличии высокоамплитудного импульсного шума линейные методы предвари- тельной обработки могут оказаться недостаточными. В этой ситуации значитель- но более мощными оказываются нелинейные методы. 3.3.3. Вейвлет-анализ Вейвлет-анализ в отличие от Фурье-анализа опирается на специальные «малые волны» (вейвлеты), ограниченные во времени (в случае изображений - в про- странстве). Это позволяет в вейвлет-представлении сразу иметь и частотную и пространственную информацию. Вейвлет-анализ предназначен, прежде всего, для одновременного анализа изображения в нескольких масштабах, который по- лучил название кратномасштабного анализа. Пирамида изображений Исторически первой структурой для анализа изображений в различных масшта- бах являлась так называемая пирамида изображений. Изображение сцены может быть представлено в различных пространственных масштабах. При этом крупные детали сцены лучше видны на изображениях с мел- ким (грубым) разрешением. Мелкие детали сцены проявляются только на изобра- жениях с высоким разрешением. Информативность участков изображения также зависит от разрешения. Изображение, представленное в нескольких масштабах, в дальнейшем называется пирамидой. Использование пирамидальной структуры данных в алгоритмах обработки изображений имеет две основные цели: • сокращение времени обработки изображений; • определение более точных начальных приближений для обработки нижних уровней по результатам обработки верхних уровней. Принцип построения пирамиды изображений показан на рис. 3.3.38.
Линейная фильтрация изображений. Преобразование Фурье 205 Рис. 3.3.38. Принцип построения пирамиды изображений Пирамида изображений представляет собой последовательность N изображе- ний, причем каждое последующее изображение получается из предыдущего пу- тем прореживания в два раза. Если позволяют вычислительное ресурсы, то для подавления высокочастот- ных шумов при прореживании рекомендуется перед прореживанием использо- вать низкочастотную линейную фильтрацию. В качестве ядра линейного фильтра обычно выбирают функцию Гаусса. В этом случае пирамида называется гауссо- вой. Согласно теореме Котельникова сжатие в гауссовой пирамиде происходит с минимальной потерей информации. Изображение fN(x,y) представляет собой уменьшенную копию исходного изображения]\(х,у). Размер пикселя изображения уровня Nравен „ oN-l. Pn= 2 • Для координат пикселей изображений двух произвольных уровней пирамиды с номерами пит справедливы следующие соотношения: 2”~Ч = 2^уп = 2~-'уп. Помимо гауссовых пирамид изображений часто рассматриваются также пира- миды лапласианов. Для построения такой пирамиды выполняется следующая опе- рация: на каждом уровне гауссовой пирамиды выше нулевого текущее изображение увеличивается в два раза по каждой координате (при этом его размер становится равен размеру изображения на предыдущем уровне пирамиды), после чего вычис- ляется его разность с предыдущим уровнем. Получившийся результат также представляет собой пирамиду изображений, эквивалентную результату примене- ния оператора Лапласа соответствующего масштаба (см. описание оператора Лапласа ниже в разделе 3.4). Вейвлет-преобразование Вейвлет-преобразование - это математический инструмент для иерархической декомпозиции функций. С помощью вейвлетов функции представляются как
206 Методы обработки изображений композиция грубой низкочастотной аппроксимации и уточняющих компонент (деталей), представляющих отсутствующие в аппроксимации элементы графика функции. Вне зависимости от вида функции (изображение, кривая, поверхность) вейвлет представляет функцию как иерархию уровней отображения с различной точностью детализации. В процедурах предобработки изображений вейвлет-пре- образование используется для уменьшения уровня шумов, анализа текстур, выде- ления контуров объектов и сжатия изображений. Для одномерного случая любая произвольная интегрируемая функция может быть представлена в виде линейной комбинации ортогональных функций: /(*) = ^<¥Р;(х), где ф - базисная функция, q - весовые коэффициенты. Коэффициенты этого представления определяются из соотношения 1 '2 =Т—iiT 1/(х)ф«(х)^> где 11 <р„ 112 = 1<Рп(t)dt есть квадрат нормы, или энергия базисной функции ф(£). Такое представление называется обобщенным рядом Фурье. Обобщенный ряд Фурье при заданной системе базисных функций и конечном числе слагаемых N обеспечивает наилучший синтез по критерию минимума среднеквадратической ошибки. Так как базисные функции в разложении фиксированы, то вся информа- ция о функции f(x) содержится в весовых коэффициентах. В своей простейшей форме базисные функции могут быть представлены как смещенные вдоль пространственной или временной оси единичные импульсные функции. Такое отображение дает представление о локальных (пространствен- ных или временных) параметрах функции. Если в качестве базисной функции выбрана синусоида, то получается известное преобразование Фурье - дающее информацию о поведении частотных (спектральных) компонент функции f(x). Однако во многих приложениях, включая обработку изображений, необходимо одновременно иметь информацию и о пространственных и спектральных харак- теристиках функции f(x). Вейвлет-преобразование сигнала - это его представление в виде обобщенного ряда Фурье или интеграла Фурье по системе базисных функций, локализованных как в пространственной, так и в частотной областях. Примером такой базисной функции может служить вейвлет Хаара, который определяется выражением 1, при 0 <£<1/2, ф(£) = -1, при 1/2 < t < 1, О, при t < 0,t > 1. Графически вейвлет Хаара изображен на рис. 3.3.39.
Линейная фильтрация изображений. Преобразование Фурье 207 Однако пространственные (временные) и частотные характеристики не могут быть од- новременно измерены со сколь угодно высо- кой точностью. Точность измерения простран- ственных характеристик Д.г и частотных характеристик Aft) ограничена снизу неравен- ством Гейзенберга: 1 ЛгАю > —. 2 Рассмотрим процесс разложения сигнала /;(/) в системе базисных функций Хаара. Пер- вая базисная функция, в отличие от всех последующих, представляет собой пря- мую линию. В случае нормированного базиса {<р„(0} свертка первой базисной функции с исходным сигналом будет определять его среднее значение. По- следующие базисные функции разложения Хаара представляют собой масштаби- руемые по степени 2, сдвинутые «ступеньки», представленные выше на рис. 3.3.39. Таким образом, система базисных функций Хаара в дискретном пространстве должна задаваться двумя параметрами: сдвига и частоты (масштаба): Ф«/,(О = -^Ф ---- - V а ) где а - масштаб базисной функции; b - сдвиг. В дискретном случае параметр масштаба а = 2т, где т - любое целое положи- тельное число, параметр сдвига b = k2™. Таким образом, все множество базисных функций можно записать как фт/ЛО = -г^ф(2“"'«-^)- а/2"' Ниже, на рис. 3.3.40, представлен вид базисных функций Хаара для различных масштабов. В результате разложения исходный сигнал точно описывается коэффициента- ми вейвлет-преобразования Хаара. Для вейвлет-преобразования, так же как и для ДПФ, существует алгоритм быстрого преобразования. Рассмотрим преобразование Хаара. Из рис. 3.3.40 вид- но, что функции с малым масштабным коэффициентом а используют те же отсче- ты сигнала для вычисления коэффициентов, что и функции с большим масштаб- ным коэффициентом. При этом операция суммирования одних и тех же отсчетов повторяется неоднократно. Следовательно, для уменьшения объема вычислений целесообразно вычислять вейвлет-преобразование с самого малого масштабного коэффициента. В результате получаем вейвлет-коэффициенты, представляющие собой средние значения С u = (.у + -C+i)/2 и разности
208 Методы обработки изображений Ф1.0 Рис. 3.3.40. Вид базисных функций Хаара для различных масштабов Су = (.г, - .г,+1)/2. Для коэффициентов Су, = (.у + ,у+1)/2 повторяем данную процедуру. При этом усреднение коэффициентов (Cu + Cli+11)/2 будет соответствовать усреднению четырех отсчетов сигнала, но при этом расходуется одна операция умножения и одна операция сложения. Процесс разложения повторяется до тех пор, пока не будут вычислены все коэффициенты спектра. Двумерное вейвлет-преобразование строится по тому же принципу, что и дву- мерное преобразование Фурье, то есть сначала вычисляются одномерные преоб- разования строк и по полученной матрице коэффициентов вычисляются вейвлет- преобразования столбцов. На рис. 3.3.41 представлено исходное изображение, а на рис. 3.3.42 - четыре компоненты вейвлет-образа. Размер каждой компоненты в два раза меньше соот- ветствующего линейного размера исходного изображения. Возможности вейвлет-преобразований по локализации частотно-простран- ственных особенностей исходного сигнала используются для алгоритмов подав- ления шумов и сжатия. При этом производится подавление малых коэффициен- тов разложения, что позволяет восстанавливать сигналы с высокой степенью подобия к исходному сигналу, однако при этом уменьшается влияние слабых шу- мовых сигналов и снижается объем информации, необходимый для представле- ния сигнала. На основании вейвлет-преобразования разработан самый современ- ный на сегодня стандарт сжатия изображений JPEG2000. Функции IMAQ: палитра Frequency Domain Палитра Frequency Domain содержит следующие функции, необходимые для ра- боты с изображениями в частотной области:
Линейная фильтрация изображений. Преобразование Фурье 209 Рис. 3.3.41. Исходное изображение Рис. 3.3.42. Пример двумерного вейвлет-преобразования Хаара • IMAQArrayToComplexImage; • IMAQArrayToComplexPlane; • IMAQComplexAdd; • IMAQComplexAttenuate; • IMAQ ComplexConjugate; • IMAQComplexDivide; • IMAQComplexFlipFrequency; • IMAQ ComplexImageTo Array; • IMAQComplexMultiply; • IMAQ ComplexPlaneTo Array; • IMAQComplexPlaneToImage; • IMAQComplexSubtract; • IMAQComplexTruncate; • IMAQFFT; • IMAQImageToComplexPlane; • IMAQInverseFFT. Функция IMAQ: FFT Функция IMAQ FFT (рис. 3.3.43) вычисляет быстрое преобразование Фурье (БПФ) для заданного изображения. Так как БФП работает с комплексными числами, исходное изображение необ- ходимо предварительно преобразовать в комплексную форму. Делается это при помощи ВП IMAQImageToComplexPlane - В данном случае исходное изоб-
210 Методы обработки изображений Image Src Image Dst error in I'no error] Image Dst Out error out r 0 Рис. 3.3.43. Функция IMAQ FFT ражение помещается в действительную часть комплексного изображения. Исход- ное изображение и его Фурье-образ представлены на рис. 3.3.44. Соответствующая блок-диаграмма LabVIEW представлена на рис. 3.3.45. Рис. 3.3.44. Исходное изображение и его Фурье-образ Функция IMAQ: InverseFFT Функция IMAQ InverseFFT (рис. 3.3.46) реализует обратное преобразование Фурье. Она позволяет восстановить исходное изображение по его Фурье-образу. Функция IMAQ: Complex Attenuate Функция IMAQ ComplexAttenuate (рис. 3.3.47) реализует частотный фильтр. Амплитуда каждой частоты умножается на коэффициент C(J}= 111 ах--для /max — /о фильтра высоких частот (low-pass filter) и на С(/) =-для фильтра низких /max — /о частот (high-pass filter). На рис. 3.3.48 показаны: исходное изображение (вверху слева), его Фурье-об- раз (вверху справа), преобразованный Фурье-образ с наложенным на него линей- ным фильтром высоких частот (внизу справа) и восстановленное сглаженное изображение с отфильтрованными высокими частотами. На восстановленном изображении наблюдается эффект «размытия» контуров. Блок-диаграмма данного упражнения представлена на рис. 3.3.49.
Линейная фильтрация изображений. Преобразование Фурье 211 Рис. 3.3.45. Блок-диаграмма Image Src Image Dst error in (no error] L ^'1 "Image Dst Out 0 error out Рис. 3.3.46. Функция IMAQ InverseFFT Image Src Image Dst ^',7.7.. Low pass/High pass (Low pass]..: error in (no error] । Image Dst Out error out Рис. 3.3.47. Функция IMAQ ComplexAttentuate Для обратного преобразования комплексного изображения в действительное используется ВП IMAQ ComplexPlaneToImage. Данный ВП позволяет преобра- зовать в изображение в действительной области действительную часть, мнимую часть, амплитуду или фазу изображения в комплексной области.
212 Методы обработки изображений Рис. 3.3.48. Фильтр высоких частот: исходное изображение: его Фурье-образ (вверху справа): Фурье-образ с наложенным на него линейным фильтром высоких частот (внизу справа): восстановленное изображение (внизу слева) Функция IMAQ: ComplexConjugate Функция ComplexConjugate (рис. 3.3.50) позволяет построить изображение, комплексно-сопряженное заданному. Результат операции представлен на рис 3.3.51. Соответствующая блок-диаг- рамма показана на рис 3.3.52.
Линейная фильтрация изображений. Преобразование Фурье 213 Рис. 3.3.49. Блок-диаграмма Image Src Image Dst error in |no error] L g 'Image Dst Out 0 1 error out Рис. 3.3.50. Функция IMAQ Complexconjugate Рис. 3.3.51. Результат операции Complexconjugate
214 Методы обработки изображений Рис. 3.3.52. Блок-диаграмма Функция IMAQ: ComplexFlipFrequency Данная функция (рис. 3.3.53) транспонирует частотные компоненты комплексно- го изображения. В частности, после данной операции низкие частоты будут пред- ставлены не в центре Фурье-образа, а «по углам». На рис. 3.3.54 показаны: исходный Фурье-образ (слева), результат операции FlipFrequency (справа). Соответствующая блок-диаграмма представлена на рис. 3.3.55. Функция IMAQ: ComplexTruncate Данная функция (рис. 3.3.56) позволяет непосредственно вырезать (удалять) из спектра изображения заданный диапазон частот. Для этого необходимо указать, Image Src 1 Image Dst error in [no error] -=S“ о ““““Image Dst Out error out Рис. 3.3.53. Функция IMAQ ComplexFlipFrequency
Линейная фильтрация изображений. Преобразование Фурье 215 Рис. 3.3.54. Результат транспонирования какие именно частоты (высокие или низкие) и на сколько процентов (от общего числа) необходимо вырезать. На рис. 3.3.57 показаны: Фурье-образ, после удаления 5% низких частот и вос- становленное по нему изображение. Блок-диаграмма данного упражнения показана на рис. 3.3.58. Следует отметить, что в LabVIEW с комплексными изображениями можно производить такие же арифметические операции, как и с действительными. Для этого используются такие функции, как IMAQ Complex Add Щ, IMAQ Complex Subtract Щ, IMAQ Complex Multiply [E7] и IMAQ Complex Divide Щ. При работе в комплексной области также используются служебные функции, преобразую- щие комплексное изображение в массив IMAQ ComplexImageToArray Щ и IMAQ
216 Методы обработки изображений ComplexFlipFrequency exercise.vi Block Diagram Рис. 3.3.55. Блок-диаграмма Low pass/High pass [Low pass] Image Src Image Dst error in (no error) T runcation Frequency % Image Dst Out error out Рис. 3.3.56. Функция IMAQ ComplexTruncate ComplexPlaneToArray а массив в изображение IMAQ Array ToComplexImage |^°| и IMAQ ArrayToComplexPlane 3.4. Выделение контуров на полутоновых изображениях 3.4.1. Задача выделения контуров Рассмотрим задачу выделения краев на изображении. Пусть полутоновое изобра- жение представляет собой двумерную функцию яркости (интенсивности сигна-
Выделение контуров на полутоновых изображениях 217 Рис. 3.3.57. Пример операции ComplexTruncate ла) f(x,у), определенную на ограниченной прямоугольной области X, называемой «кадром». Традиционно рассматриваются две модели «края»: «ступенька» и «из- лом». «Ступенька» предполагает скачкообразное изменение яркости вдоль неко- торого контура на изображении. Точки контура типа «ступенька» являются, таким образом, точками разрыва для функции /(.г,у). Край типа «излом» - это совокупность точек разрыва первой производной функции f(x,y). Если же счи- тать, что функция яркости непрерывна и два раза непрерывно дифференцируема во всех своих точках, то «ступенчатым» краевым точкам соответствуют точки смены знака второй производной (максимума первой производной), а «излом- ным» краевым точкам - точки смены знака первой производной (локальные мак- симумы яркостной функции).
218 Методы обработки изображений Е> ComplexTruncate exercise.vi Block Diagram Рис. 3.3.58. Блок-диаграмма Операторы вычисления производных Задачу поиска контурных точек действительно удобно решать в терминах произ- водных. Однако при этом необходимо иметь в виду следующие два существенных замечания. Во-первых, говоря о взятии производных двумерной функции, мы го- ворим о целой совокупности разнообразных операторов. Под первой произ- водной может пониматься как вектор-градиент, характеризуемый амплитудой и направлением, так и различные производные по направлению, определяемые только одним значением. Под второй производной также могут подразумеваться различные двумерные дифференциальные операторы. Во-вторых, задача вычис- ления производных на дискретном зашумленном изображении является, вообще говоря, некорректной (по Адамару). Как показано в работах школы академика Тихонова, эту задачу можно сделать корректной при помощи регуляризации, то есть путем наложения на функцию /(.г, у) и ее производные дополнительных усло- вий. В практическом плане это означает, что прежде, чем взять производную, изображение необходимо отфильтровать (сгладить) тем или иным способом. Наиболее простым методом выделения края, не основанным на дифференциро- вании, является метод «сенсорных пар». Суть этого метода обнаружения «ступен- чатого» края состоит в непосредственной оценке величины перепада яркости для
Выделение контуров на полутоновых изображениях 219 кусочно-постоянной модели изображения. Для этого в каждой точке изображения рассматриваются пары прилегающих «сенсорных полей» прямоугольной формы, граница между которыми проходит через исследуемый пиксель. Оцениваются сред- ние значения яркости для каждого сенсорного поля отдельно, и модуль разности между ними характеризует интенсивность перепада яркости в данной точке в на- правлении, перпендикулярном границе сенсорных полей. На области постоянной яркости будет зафиксирован нулевой перепад, а в точках контура - максимальный (если ориентация сенсорной пары соответствует ориентации контура в этих точках). Хотя для теоретического обоснования метода нет необходимости в предположении о дифференцируемости функции яркости, легко заметить, что вычисляемое значение в некотором смысле является аналогом производной по направлению. Поэтому оператор «сенсорная пара», вычисляющий в каждой точке перепад яркости для конкретной ориентации сенсорных полей, не является инвариантным к повороту. Поэтому на практике всегда используется набор из нескольких (как правило, ше- сти) различным образом ориентированных сенсорных пар. После обработки изображения полным набором сенсорных пар каждая точка характеризуется ори- ентацией сенсорной пары, для которой было вычислено максимальное значение перепада яркости, и величиной этого максимального перепада. Таким образом, применение набора сенсорных пар дает результат, аналогичный градиенту (в форме «угол-амплитуда»), причем ориентация определяется достаточно гру- бо, выбором одного из нескольких фиксированных направлений. Из методов обнаружения края при помощи различных дифференциальных операторов на сегодняшний день наиболее широко используются следующие опе- раторы: Робертса (Roberts), Собела (Sobel), Марра (Marr) и Кани (Саппу). Операторы вычисления векторов градиентов Операторы Робертса и Собела непосредственно вычисляют значения компонент вектора-градиента для каждой точки изображения путем свертки (см. раздел 3.3. «Линейная фильтрация изображений») локальной окрестности точки с малораз- мерными масками: (3.4.1) для оператора Робертса и (3.4.2) для оператора Собела. Практические исследования показывают, что оператор Робертса (рис. 3.4.1 и 3.4.2) не является в достаточной мере помехозащищенным, оператор же Собела (рис. 3.4.3-3.4.6) обеспечивает вполне удовлетворительные результаты при обра- ботке реальных изображений.
220 Методы обработки изображений Рис. 3.4.1. Оператор Робертса: результат свертки с маской М Рис. 3.4.2. Оператор Робертса: результат свертки с маской Мо Рис. 3.4.3. Оператор Собела: вертикальные контуры (маска Мх) Рис. 3.4.4. Оператор Собела: горизонтальные контуры (маска Му) Рис. 3.4.5. Оператор Собела: амплитуда градиента Рис. 3.4.6. Оператор Собела: поле направлений градиента Непосредственным результатом применения оператора Собела является век- тор-градиент (g^gg), не являющийся инвариантным к повороту изображения. Од- нако он может быть приведен к виду (А,ф), где А = y/g'i+gyl Ф = arctgCg/g,.). (3.4.3) Величина А не зависит от угла разворота, а величина ф для любых одноимен- ных точек двух изображений, развернутых друг относительно друга на угол <7ф, будет отличаться только на константу <7ф. Так же, как в методе «сенсорных пар», величина А характеризует интенсивность перепада яркости в точке; величина ф - направление нормали к контуру в точке. Доказано, что точность углового разре- шения для приведенных масок размера (3x3) составляет примерно 4°. Известны маски размера (5x5), при помощи которых достигается еще большее угловое раз- решение. Учитывая, что вычисление ф на практике реализуется табличным спосо- бом, можно сделать вывод, что оператор Собела эффективнее в вычислительном плане и обеспечивает большую точность, чем метод «сенсорных пар», являясь при этом действительно инвариантным к поворотам изображения.
Выделение контуров на полутоновых изображениях 221 Операторы Марра и Лапласа Рассмотрим операторы выделения краев, основанные на вычислении симметрич- ных круговых производных. Простейшим оператором такого рода является оператор Лапласа. Оператор Лапласа {лапласиан) 3x3 имеет маску следующего вида: - 1 -1 -1 - 1 8 -1. - 1 -1 -1 Такую маску можно интерпретировать как сумму разностей центрального эле- мента с каждым из 8 его ближайших соседей. Таким образом, в равной степени учи- тываются возможные перепады яркости во всех направлениях (рис. 3.4.7 и 3.4.8). Рис. 3.4.7. Пример работы оператора Лапласа: лапласиан 3x3 Рис. 3.4.8. Пример работы оператора Лапласа: лапласиан 5x5 Оператор Марра выделения краев «ступенчатого» типа основан на поиске то- чек пересечения нуля второй пространственной производной f(x,y). Для этого используется оператор Лапласа V2, где V - оператор Гамильтона (Э/Э.г,Э/Эу), при- мененный после сглаживания изображения гауссовским линейным фильтром с симметричной маской G(o,.v,//), или непосредственно осуществляется свертка с маской C2G(cy,.r,z/). Этот фильтр известен также как РГР-фильтр (разность гаус- совских распределений), так как форма маски V’G(cr) хорошо аппроксимируется разностью гауссовских масок (G(cr1) - G(cr2)) с соотношением (с^/сь) = 1,7. В ра- боте показано, что РГР-фильтр является также хорошим приближением точного решения задачи регуляризации для оператора Лапласа при наложенном на /(.г, у) условии минимума среднего квадрата второй производной. Оператор Марра является инвариантным к повороту, если носителем его мас- ки является круговая область. Этот оператор не вычисляет в явном виде направ- ления нормали к контуру. В то же время для определения множества контурных точек нет необходимости вводить искусственный порог (по модулю градиента), как в градиентных методах, они определяются непосредственно как точки пересе- чения нулевого уровня на отфильтрованном изображении. Еще одним удобным
222 Методы обработки изображений свойством оператора Марра является то, что получающиеся контуры не имеют разрывов. Возможна масштабная настройка алгоритма путем выбора значения параметра ст. Как видно на рис. 3.4.9-3.4.12, по мере увеличения значения параметра ст опе- ратор Марра выделяет все более и более крупные элементы изображения. При этом формируемые данным оператором контуры продолжают сохранять харак- терную замкнутую форму. Рис. 3.4.9. Исходное изображение Рис. 3.4. 10. Пример работы оператора Марра (с> = 1,0) Рис. 3.4.11. Пример работы оператора Марра (о = 2,0) 3.4.2. Операторы выделения контуров в IMAQ Vision Функция IMAQ: EdgeDetection Функция IMAQ EdgeDetection позволяет выделять или подчеркивать края (рис. 3.4.13). На вход IMAQ EdgeDetection принимает: • исходное изображение Image Src; • область интереса Image Mask, которую можно вырезать с помощью IMAQ ROIToMask; • шаблон выходного изображения Image Dst; Рис. 3.4.12. Пример работы оператора опера- тора Марра (о = 3,0) Threshold Value Image Dst Out .==*= error out error in [no error) Method Рис. 3.4.13. Функция IMAQ EdgeDetection
Выделение контуров на полутоновых изображениях 223 • яркостной порог Threshold Value, отсекающий пиксели с низким значени- ем яркости; • Method метод выделения контуров; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Параметр Method позволяет выбирать из следующих вариантов (операторов): • дифференциальный оператор (Differentiation); • градиентный оператор (Gradient); • оператор Превитта; • оператор Робертса; • сигма-фильтр; • оператор Собела. На выходе IMAQ EdgeDetection возвращает изображение Image Dst Out, ко- торое записывается в Image Dst, если Image Dst подано на вход. В противном слу- чае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ EdgeDetection формируется сообщение об ошибках error out, возникающих в результате работы. На рис. 3.4.14 показан пример использования ВП IMAQ EdgeDetection. Рис. 3.4.14. Лицевая панель примера использования ВП IMAQ EdgeDetection
224 Методы обработки изображений На лицевой панели приложения находятся две одинаковые группы закладок: сле- ва- Tab Control Left и справа- Tab Control Right. На закладках находятся: исходное Source Image, загружаемое с помощью элемента управления Path, а также изображе- ние Destination Image, демонстрирующее результат обработки. Метод выделения контуров можно выбрать из выпадающего списка Method (рис. 3.4.14). На рис. 3.4.15 показан фрагмент соответствующей блок-диаграммы для при- мера использования IMAQ EdgeDetection. Функция IMAQ: Convolute. Оператор Лапласа Фильтр Лапласа, в отличие от градиентных фильтров, осуществляет выделение кра- ев вне зависимости от направления (маска Predifined kernel на рис. 3.4.16-3.4.19). Если сумма коэффициентов маски равна нулю, фильтр Лапласа осуществляет собственно выделение контуров (рис. 3.4.16 и 3.4.17). Если сумма коэффициентов маски положительна, то результат выделения контуров накладывается на исходное изображение (рис. 3.4.18 и 3.4.19). Функция IMAQ: Convolute. Оператор Собела Аналогичным образом можно продемонстрировать и работу оператора Собела (рис. 3.4.20), а также оператора подчеркивания контуров на базе оператора Собе- ла (рис. 3.4.21).
Выделение контуров на полутоновых изображениях 225 Рис. 3.4.16. Пример выделения краев фильтром Лапласа. Сумма коэффициентов маски равно нулю Рис. 3.4.17. Пример выделения краев фильтром Лапласа. Сумма коэффициентов маски равно нулю
226 Методы обработки изображений Рис. 3.4.18. Пример выделения краев фильтром Лапласа. Сумма коэффициентов маски положительна Рис. 3.4.19. Пример выделения краев фильтром Лапласа. Сумма коэффициентов маски положительна
Выделение контуров на полутоновых изображениях 227 Рис. 3.4.20. Пример выделения краев оператором Собела Рис. 3.4.21. Пример подчеркивания краев на базе оператора Собела
228 Методы обработки изображений Блок-диаграмма функции IMAQ Convolute рассмотрена в разделе 3.3.1 (см. рис. 3.3.19-3.3.21). Функция IMAQ: СаппуEdgeDetection Данная функция (рис. 3.4.22) реализует выделение контуров оператором Кани. Image Src Image Dst1^™ Filter Parameters error in fno error] a Image Dst Out == error out Рис. 3.4.22. Функция IMAQ CannyEdgeDetection Входными параметрами IMAQ CannyEdgeDetection являются: • исходное изображение Image Src; • шаблон выходного изображения Image Dst; • параметры фильтра (Filter Parameters); • Method - метод выделения контуров; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQCannyEdgeDetection возвращает: • изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записыва- ется в Image Src; • сообщение об ошибках error out, возникающих в результате работы IMAQ CannyEdgeDetection. На рис. 3.4.23 показан пример использования виртуального прибора IMAQ CannyEdgeDetection. В группе Filter Parameters имеется возможность устано- вить размер маски (WindowSize), пороги (HThresh и LThres) и Sigma. На рис. 3.4.24 показана соответствующая блок-диаграмма для примера ис- пользования IMAQ CannyEdgeDetection. 3.5. Математическая морфология Серра (ММ) Математическая морфология Серра позволяет осуществлять обработку изобра- жений с учетом формы и размера имеющихся на изображении областей. Морфо- логические операторы Серра позволяют: выделять или удалять на изображениях мелко- и среднеразмерные объекты заданной формы и размера, а также фильтро- вать (сглаживать) форму крупноразмерных объектов. Рассмотрим математический формализм морфологии Серра, основанный на понятиях теории множеств.
Математическая морфология Серра (ММ) 229 Рис. 3.4.23. Лицевая панель примера использования ВП IMAQ CannyEdgeDetection 3.5.1. Теоретические основы математической морфологии Основные понятия математической морфологии Серра Пусть дано евклидово пространство EN, на множестве объектов (подмножеств) которого введены отношения включения (с), объединения (и) и пересечения (п). Рассмотрим некоторое преобразование T: EN —> (оператор Т). Оператор Т называется увеличивающим (increasing), если (Хс У)^>(Ч'(Х)сЧ'( У)), X, YUP. то есть оператор сохраняет отношение принадлежности.
230 Методы обработки изображений Рис. 3.4.24. Основной фрейм блок-диаграммы Оператор Т называется дилатацией (расширением'), если T(Mr,) = MP(.r,), \ix,^EN, то есть оператор сохраняет объединение. Аналогично оператор, сохраняющий пересечение, называется эрозией (сжа- тием), если T(nx,) = n(T(x,)), \/xtcoEN. Оператор называется экстенсивным, если Т(Х)оХ и антиэкстенсивным, если Т(Х)сХ. При рассмотрении последовательного применения операторов вводятся по- нятия: • усиливающий оператор ('Т'('Т'(А'))о'Т'(А')); • ослабляющий оператор ('Т'('Т'(А'))с'Т'(А')); • равносильный оператор (T(T(X)) = Т(Х)). Морфологическими фильтрами называется множество операторов, являю- щихся одновременно равносильными и увеличивающими [6]. Морфологические операции на бинарных изображениях Определим трансляцию множества А<дЕ по zg Е как преобразование Аг = {у\ ае A, y=a=z}.
Математическая морфология Серра (ММ) 231 Пусть даны А,В<Мй Операция А®В = {а=Ь\ ас А, ЬеВ} = U{Ba} = U{Ab} (3.5.1) называется сложением Минковского. Операция АцВ = {z\ BZ^A} = U{AZ} (3.5.2) называется вычитанием Минковского. Множество В будем в дальнейшем называть структурирующим элементом В. Так как операции, определяемые этими выражениями, удовлетворяют требовани- ям сохранения соответственно объединения и пересечения бинарных образов, то они называются также дилатацией (расширением) и эрозией (сжатием) изобра- жения X структурирующим элементом В (по структурирующему элементу В) и являются базовыми операциями ММ. Эти операции являются двойственными по отношению друг к другу в том смысле что: XyB = (Xc®Bv)c, где Xе- дополнение кХ, Bv= {-b\ ЬеВ}. Следовательно, все положения или теоремы, доказанные относительно одной из операций, автоматически могут быть представлены в двойственной форме от- носительно другой операции. Фундаментальный результат, полученный Матероном (теорема Матерона), состоит в том, что любой увеличивающий оператор Т, инвариантный относитель- но трансляции, может быть представлен в виде объединения эрозий: Т(Х)= и<х(-Ж (3.5.3) liekm где k()¥) - ядро Ч'(Х), то есть такое множество структурирующих элементов В, что 'Н(Л) содержит начало координат. Этот результат также имеет двойственную форму: Т(Х)= Г|(Х(+)В), (3.5.4) Ве/;(Т*) где Т*(Х) = (Т(М)/. Именно в силу теоремы Матерона эрозия и дилатация являются базовыми операциями ММ, то есть любой морфологический фильтр может быть представ- лен в виде объединения эрозий или пересечения дилатаций. Введем, наконец, операции открытия и закрытия, часто используемые в мор- фологии. Операция Х-В = (ХцВ)®В (3.5.5) называется открытием X по В и имеет ясный физический смысл: Х-Вс = U{BZ\ BzqX}. Этот оператор является антиэкстенсивным и увеличивающим. Закрытием X по В называется Х-В = (Х®В)цВ. (3.5.6) Этот оператор является экстенсивным и увеличивающим.
232 Методы обработки изображений Рис. 3.5.1. Изображение с «дефектами» типа «дырок» и «выступов» Кроме того, оба этих оператора явля- ются равносильными, а следовательно, открытие и закрытие - это два простей- ших морфологических фильтра. Примеры работы морфологических операторов Рассмотрим геометрический смысл опе- раторов математической морфологии на примере обработки искусственного изоб- ражения (рис. 3.5.1), на котором пред- ставлен прямоугольный объект, имею- щий «дефекты формы» типа внутренних «дырок» и внешних «выступов». Попробуем морфологическими средствами уда- лить эти дефекты формы объекта. Поскольку объект имеет прямоугольную форму, будем использовать структу- рирующий элемент также прямоугольной формы. Габаритные размеры структу- рирующего элемента должны быть не меньше, чем характерный «поперечный» размер (минимальная хорда) дефектов формы, подлежащих удалению. Начнем с удаления внешних «выступов» формы. Для этого используется про- цедура открытия. На первом этапе этой процедуры выполняется операция сжатия (эрозии) объекта, которая удаляет («съедает») внешние «выступы» формы. Од- нако внешний размер объекта при этом уменьшается, а внутренние дефекты, на- против, увеличиваются в размерах, в связи с чем после сжатия необходимо выпол- нить расширение (дилатацию) объекта с тем же структурирующим элементом. В результате выполнения всей операции открытия в целом внешние размеры и форма объекта оказываются восстановлеными, но внутренние дефекты формы сохраняются (рис. 3.5.2 и 3.5.3). Рис. 3.5.2. Результат сжатия (эрозии) объекта Рис. 3.5.3. Результат открытия объекта (удаление внешних «выступов» формы)
Математическая морфология Серра (ММ) 233 Рассмотрим теперь морфологическую технику удаления внутренних дефектов формы («дырок»). Для этого используется процедура закрытия. На первом этапе этой процедуры выполняется операция расширения (дилатации) объекта, которая удаляет («заращивает») внутренние «дыры» и «каналы». Однако внешний размер объекта при этом увеличивается, внешние дефекты также увеличиваются в разме- рах, в связи с чем после расширения необходимо выполнить сжатие (эрозию) объекта с тем же структурирующим элементом. В результате выполнения всей опе- рации закрытия в целом размеры и внутренняя целостность объекта оказываются восстановлеными, но внешние дефекты формы сохраняются (рис. 3.5.4 и 3.5.5). Рис. 3.5.4. Результат расширения (дилатация) объекта Рис. 3.5.5. Результат закрытия объекта (удаление внутренних «дырок» формы) Для того чтобы устранить и внешние и внутренние дефекты формы в данном примере, необходимо сначала применить к исходному изображению (рис. 3.5.1) открытие, а затем к результату открытия - закрытие с тем же прямоугольным структурирующим элементом (рис. 3.5.6 и 3.5.7). Рис. 3.5.7. Результат закрытия после открытия (полное восстановление формы)
234 Методы обработки изображений Как видно из примера (рис. 3.5.6 и 3.5.7), последовательная комбинация от- крытия и закрытия обеспечила полное восстановление формы исходной геомет- рической фигуры. В заключение данного раздела рассмотрим особенности морфологической фильтрации изображений с круглым (дисковым) структурирующим элементом. На рис. 3.5.8-3.5.10 приведен результат открытия прямоугольного объекта круг- лым структурирующим элементом. Результат сравнения (вычитания) изображе- ний показывает, что после открытия форма объекта была специфическим образом искажена - углы прямоугольника оказались скругленными с радиусом закругле- ния, равным радиусу структурирующего элемента. Рис. 3.5.10. Разность изображений представлять как кривую, полученную мента по внутренней (внешней) границ Рис. 3.5.9. Результат открытия (фильтрация с круглой маской: эффект округления углов) Данный эффект естественным обра- зом следует из геометрического смысла операции открытия: результат открытия представляет собой объединение всех структурирующих элементов, целиком по- мещающихся внутри исходного объекта. Легко увидеть, что именно в углы прямоу- гольника дисковый структурирующий элемент никак не может поместиться це- ликом. В силу этого границу объекта пос- ле открытия (закрытия) иногда удобно путем «качения» структурирующего эле- е исходного объекта. Морфологические операции на полутоновых изображениях Естественный интерес представляет расширение основных операций и результа- тов морфологии на случай, когда изображение рассматривается как функция /: F-^>E, где а /задает интенсивность изображения на F (для случая двумер-
Математическая морфология Серра (ММ) 235 ных изображений Е<дЕ2). Для обобщения операций морфологии на этот случай обычно вводят следующие понятия [7]. Тенью f называется множество U(f)<zFx.E, определяемое как U(f) = {(.t,//)g FxE\y<f(x)}. (3.5.7) Поверхностью множества AciFxE называется множество Т(А): F-^E, определя- емое в каждой точке как Т[Л](.г) = max(//|(.v,//)G,l|. (3.5.8) Связь между этими понятиями очевидна: = f. Геометрическое представление те- ни функции и поверхности представ- лено на рис. 3.5.11. Теперь для интенсивного изобра- жения легко определить понятия ос- новных морфологических операций. Пусть EK^-^f'. F^E, k: К-^Е. Тотда'.дилатацией f по k называется Рис. 3.5.11. «Тень» функции и поверхность «тени» f®k= T\U(f)®bU(k)], (3.5.9) эрозией f по k называется fyik= T[U(_f)WbU(k)], (3.5.10) где Ф4 и 1|Г4 есть обычные бинарные операции над U(f),U(k)cEK. Другой способ вычисления эрозии и дилатации задается выражениями: f®k(x) = max{f(x-z)+k(z)}, АгЕ К и (x-z)e F, fyik(x) = m i и (/(.v+z) /г(г)АгЕ К и (x+z)e F. Геометрическое представление эрозии и проиллюстрировано на рис. 3.5.12 и 3.5.13. (3.5.11) (3.5.12) дилатации функции и поверхности Рис. 3.5.12. Полутоновая морфологическая эрозия Рис. 3.5.13. Полутоновая морфологическая дилатация Для полутоновых изображений существует аналог теоремы Матерона о пред- ставлении морфологических операторов в виде объединения эрозий. Кроме того, результаты здесь также могут быть представлены в двойственной форме, так как:
236 Методы обработки изображений -(Ж) = (-/М~, где k~(x) = k(x),J\\ik = -((-f)®k~). Выражения для операций открытия и закрытия для полутонового случая пол- ностью эквивалентны формулам (3.5.5) и (3.5.6): f°k=(f\yk)®k, (3.5.13) f'k=(_f®k)yk (3.5.14) с учетом всех предыдущих выражений. Морфологическое выделение черт и объектов Выделение мелкоразмерных объектов, границ и характерных точек на изображе- нии является одной из главных областей применения ММ. В частности, характер- ными элементами являются «Т»-, «У»- и «АУ»-соединения (на полутоновых изоб- ражениях), острые пики и глубокие впадины «рельефа изображения», мысы и «заливы», ступенчатые разрывы поверхности и т. д. Определим морфологическую границу Хт для множества Хкак разность расши- рения и сжатия X по сферическому структурирующему элементу By Хт = (Х®ВГ) - (ХуВг). (3.5.15) С топологической точки зрения, мы получим множество точек, окрестности которых пересекаются как с объектом X, так и с фоном (дополнением) Xе. Введем категории точек морфологической границы: • гладкой поверхностью называется связное множество точек в Хт, которые имеют двумерную окрестность в Хт, то есть в каждой из этих точек сущест- вует непрерывная нормаль к поверхности; • сингулярной кривой называется кривая СсХт, представляющая собой связ- ное множество точек, имеющих одномерную окрестность на Хпу • точки границы Хт, не принадлежащие ни гладкой поверхности, ни сингу- лярной кривой, называются сингулярными точками. Примером сингуляр- ных точек могут служить «Т»-, «У»- и «W»-y3nbi. Детектор (3.5.15) обеспечивает хорошее обнаружение узлов и ступенчатых разрывов поверхности полутонового изображения. Однако для обнаружения пи- ков, впадин и острых углов необходим дру- гой алгоритм. Элементарные геометрические сообра- жения показывают, что операции расши- рения и сжатия позволяют обнаруживать пики и острые углы. Механизм обнаружения прост. Как уже отмечалось ранее, расшире- ние X дисковым (сферическим) структури- рующим элементом можно рассматривать как объединение всех дисков (сфер), вписан- ных в изображение, а сжатие можно рассмат- ривать как расширение по фону Xе. Из рис. 3.5.14 видно, что в точке острого угла раз- Рис. 3.5. 14. Принцип морфологического обнаружения острых углов на бинарных изображениях p(cosec 0-1)
Математическая морфология Серра (ММ) 237 ность между расширенным и сжатым изображением будет максимальна. Поэтому детектор острых углов можно определить как разность между открытием X и зак- рытием X: gXm = X-В Х-В. (3.5.16) Структурирующий элемент, используемый для выделения черт, не обязан быть «сферическим» в точном смысле этого слова, поскольку масштаб изображе- ния по яркостной оси никак не связан с его геометрическим масштабом. Однако легко показать, что операции выделения черт при помощи ММ являются инвари- антными к поворотам в том и только том случае, когда структурирующий элемент имеет форму тела вращения вокруг оси, проходящей через точку с координатами (0,0). Поскольку результат применения морфологических операторов зависит только от формы структурирующего элемента, вращение изображения относи- тельно структурирующего элемента эквивалентно повороту на такой же угол (в обратном направлении) структурирующего элемента относительно изображе- ния. Тогда условием инвариантности операторов к повороту является эквивалент- ность структурирующего элемента самому себе при повороте относительно точки (0,0) на любой угол. Это выполняется только в том случае, когда структурирую- щий элемент имеет форму тела вращения. Габаритные размеры такого структурирующего элемента (диаметр носителя и высота) определяют масштаб «черт», выделяемых по описанной выше схеме. Математическая морфология и ее основные операции создают новую базу для применения метода нормализации фона (см. раздел 3.3). В этом случае использу- ются два структурирующих элемента В1 и В2. Элемент В1 конструируется таким образом, чтобы «подходить» даже к самым маленьким размерам объекта на изоб- ражении и в тоже время отсекать импульсный шум, элемент В2 имеет большие размеры апертуры и в состоянии подавить любой, даже самый большой по геомет- рическим размерам отклик объекта. Алгоритм нормализации фона выглядит в этом случае следующим образом: X = ((X ° ВО «ВО ° В2х(Х" BJ’Bj (3.5.17) Для выбора класса и конкретной реализации алгоритмов предварительной об- работки, а также исследования их оптимальных параметров необходимо проведе- ние математического моделирования с учетом характеристик модельной и реаль- ной фоновой обстановки. Таким образом, в задачах инвариантного обнаружения на изображении границ, характерных точек и других черт, а также малоразмерных объектов в сложной шу- мовой обстановке могут применяться алгоритмы, основанные на использовании операторов математической морфологии со структурирующими элементами в форме тел вращения. Возможна масштабная настройка таких алгоритмов путем изменения размера структурирующих элементов. Морфологический спектр В различных областях, связанных с передачей и обработкой сигналов, нашли ши- рокое применение спектральные подходы, основанные на преобразовании Фурье
238 Методы обработки изображений (см. раздел 3.2). В работах П. Марагоса сделана попытка по аналогии с преобразо- ванием Фурье ввести представления изображения в виде форморазмерного спек- тра, вычисляемого при помощи операций морфологии. Интересна также непос- редственная связь введенных спектров с операцией скелетизации изображения, давно и плодотворно используемой как в ММ, так и в других методах преобразо- вания и распознавания изображений. Рассмотрим с самых общих позиций преобразование Фурье. Оно содержит два этапа: • умножение одномерного сигнала 5(Т) на комплексную синусоиду • измерение площади под этим модифицированным сигналом Л’(/)е Можно считать ей"1'* некоторым «пробным образом», зависящим от частотного параметра и выделяющим некоторую информацию (спектральный состав) из сигнала путем: модуляции; измерения преобразованного сигнала. Причем соб- ственной спектральной характеристикой «пробного образа» является импульс на соответствующей частоте Ж Проведем аналогию с заменой: • 5(f) —> X - двумерный образ; • ейт* —> В„ - двумерный пробный элемент; • —> п - размерный (масштабный) параметр; • модуляция —> морфологическая фильтрация ч с использованием структу- рирующего элемента Вп размером п. Далее для простоты будем рассматривать непрерывный бинарный случай, хотя все вводимые понятия распространены на дискретный бинарный и непре- рывный полутоновый случаи. Введем понятие размера множества В (заметим, что это понятие отличается от понятия размера, приведенного ранее). Пусть на плос- кости R2 дано некоторое выпуклое множество В, размер которого считается еди- ничным. Тогда множество гВ, имеющее относительно В размер г (re R), определя- ется как гВ = {rB.be В}, г>0. (3.5.18) Очевидно, форма гВ повторяет форму В. Рассмотрим компактное (связное) бинарное изображение X с R2. Определим образовый спектр (pattern spectrum) множества X относительно выпуклого множества ИсРг как функцию: ос / -dA(X°rB) PS,.(г,В) =---------г > О, dr dA{X°rB) PS,.(-г,В) = — -----г > О, dr (3.5.20) где А(Х) - площадь X и выражения (3.5.19) и (3.5.20) задают спектр соответственно на по- ложительной и отрицательной частях оси г. Пусть гВ есть rD-диск радиуса г. Убедимся в том, что спектральной характеристикой rD является импульс в точке г (как спектром ей"1'* (3.5.19) Рис. 3.5.15. Последовательные этапы морфологической обработки при построении морфологического спектра с круглым структурирую- щим элементом
Математическая морфология Серра (ММ) 239 является импульс в точке W) . В самом деле, так какХ= rD - компактный диск, то существует максимальное р > 0, такое, что X ° гВ = 0 \/г > р. При 0 < г < р имеем X о rB = X. Следовательно, функция А(Х о гВ) является ступенчатой и ее произ- водная имеет один 3-импульс в точке г = р. Физический смысл спектра легко по- нять, если учесть, что X °rB= ^JrB (см. выше). Это означает, что А(Х ° гВ) есть 1-ВеХ мера содержания X относительно гВ. Морфологический спектр содержит наряду с другими четыре основных вида информации об образе X: • неровность (шероховатость) поверхности относительно В, которой соот- ветствует нижняя часть спектра (г - мало); • существование длинных мысов или больших выступающих частей границы, содержащих SB, показывает наличие изолированных импульсов при г = 5; • В-формность (В-образие) X, то есть максимальная степень содержания В в X может быть измерена с помощью PSr(p,B)/A(x); • отрицательная часть г-оси демонстрирует наличие больших импульсов, если существует значительная вогнутость (впадины или дыры) в X. 3.5.2. Операции математической морфологии в IMAQ Vision Функция IMAQ: Morphology Данный ВП (рис. 3.5.16) реализует большой набор различных морфологических операций. Squarefl-lexa (Square) . Image Src Image Dst Operation error in (no error) Structuring Element Number of iterations (1) Image Dst Out Morph Рис. 3.5.16. Функция IMAQ Morphology На вход IMAQ Morphology подаются: • исходное изображение Image Src; • шаблон выходного изображения Image Dst; • переключатель выбора формы маски (квадратная/шестиугольная) - Square/Hexa (Square); • тип морфологической операции; • структурирующий элемент Structuring Element; • число итераций Number of iterations (1), использующееся для эрозии и ди- латации;
240 Методы обработки изображений • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Параметр «тип морфологической операции» предоставляет выбор из следую- щих процедур морфологической обработки: • медиана AutoM; • закрытие Close; • дилатация Dilate; • эрозия Erode; • морфологическое выделение контуров Gradient; • морфологическое выделение контуров внешних Gradient out; • морфологическое выделение контуров внутренних Gradient in; • хит-мисс трансформ (морфологическая нормализация фона) Hit miss; • открытие Open; • цикл семи последовательных операций закрытия-открытия PClose; • цикл семи последовательных операций открытия-закрытия РОреп; • утолщение Thick; • утончение Thin. На выходе IMAQ Morphology возвращает изображение Image Dst Out, кото- рое записывается в Image Dst, если Image Dst подано на вход. В противном слу- чае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ Morphology формируется сообщение об ошибках error out, возникающих в результате работы. На лицевой панели примера использования ВП IMAQMorphology (рис. 3.5.17) в группе закладок слева (Tab Control Left) находятся: исходное изображение Source Image, загружаемое с помощью элемента управления Path, параметры мор- фологических фильтров Controls и изображение Dest Img (Binary), являющееся результатом бинаризации исходного изображения по порогу Range. Окно Re- place Value устанавливает новое значение яркости для пикселей исходного изоб- ражения, яркость которых превышает заданный порог Range. В группу закладок справа (Tab Control Right) входят изображение Dest Img (Morphology), являю- щееся результатом морфологической фильтрации, и копия исходного изображе- ния Source Image для удобства сравнения результатов. Выход из программы осу- ществляется нажатием кнопки Stop. На закладке Controls (рис. 3.5.17) расположены: • переключатель выбора формы маски - Square/Hexa (Square); • маска структурирующего элемента Structuring Element, размер которой мож- но выбрать из Structuring Element Size (от 3x3 до 7x7). Создать структури- рующий элемент можно самостоятельно, редактируя содержимое маски. По завершению редактирования следует нажать кнопку Apply Structuring Element. При этом исходное изображение будет обработано выбранным морфологическим фильтром, использующим заданный структурирующий элемент; • окно ввода количества итераций Number of iterations (1); • меню выбора морфологических фильтров.
Математическая морфология Серра (ММ) 241 Рис. 3.5.17. Лицевая панель примера использования ВП IMAQ Morphology. Результат двукратной дилатации В данном примере на закладке Dest Img (Morphology) (Tab Control Right) находится изображение, полученное в результате двух итераций дилатации квад- ратным структурирующим элементом 5x5. Приведенные далее примеры обработки (рис. 3.5.18 и 3.5.19) были выполнены с использованием квадратного структурирующего элемента размером 5x5, пока- занного на рис. 3.5.17. На рис. 3.5.20 и 3.5.21 представлены результаты открытия Open и закрытия Close. На рис. 3.5.22 и 3.5.23 представлены результаты циклов семи последователь- ных операций открытия-закрытия РОреп и закрытия-открытия PClose. На рис. 3.5.24-3.5.26 показаны результаты операций Gradient, Gradient out, Gradient in соответственно, а на рис 3.5.27 - результат операции Hit miss. На рис. 3.5.28 и 3.5.29 представлены результаты операций утолщения Thick и утончения Thin, выполненные маской 3x3. Для операции утолщения маска запол- нялась нулями с единицей в качестве центрального элемента маски, а для утонче- ния - единицами с нулем в центре маски. На рис. 3.5.30 представлена соответствующая блок-диаграмма для примера использования IMAQ Morphology. Внутри первого фрейма Структуры событий находятся: загрузка исходного изображения (IMAQ ReadFile), бинаризация (IMAQThreshold), виртуальный прибор IMAQ Morphology, а также эквализация результирующего изображения IMAQEqualize.
242 Методы обработки изображений Рис. 3.5.18. Результат двукратной эрозии Рис. 3.5.19. Результат обработки медианой МоМ
Математическая морфология Серра (ММ) 243 Рис. 3.5.20. Результат открытия Open Рис. 3.5.21. Результат закрытия Close
244 Методы обработки изображений Рис. 3.5.22. Результат циклов семи последовательных операций открытия-закрытия РОреп Рис. 3.5.23. Результат циклов семи последовательных операций закрытия- открытия Pclose
Математическая морфология Серра (ММ) 245 Рис. 3.5.24. Результат операций Gradient Рис. 3.5.25. Результат операций Gradient out
246 Методы обработки изображений Рис. 3.5.26. Результат операций Gradient in Рис. 3.5.27. Результат применения функции Hit miss
Математическая морфология Серра (ММ) 247 Рис. 3.5.28. Результат применения функции Thick Рис. 3.5.29. Результат применения функции Thin
248 Методы обработки изображений Рис. 3.5.30. Основной фрейм блок-диаграммы Функция IMAQ: GrayMorphology Данная функция (рис. 3.5.31) реализует операторы полутоновой математической морфологии. В качестве входных параметров IMAQ GrayMorphology принимает: • исходное изображение Image Src; • шаблон выходного изображения Image Dst; • переключатель выбора формы маски (квадратная/шестиугольная) - Square/Hexa (Square); • тип морфологической операции; • структурирующий элемент Structuring Element; SquareflTexa (Square) Image Src Image Dst Operation error in (no error) Structuring Element Number of iterations (1) Рис. 3.5.31. ФункцияIMAQ GrayMorphology
Математическая морфология Серра (ММ) 249 • число итераций Number of iterations (1), использующееся для эрозии и ди- латации; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. Тип морфологической операции в данном случае может обозначать: • медиану AutoM; • закрытие Close; • дилатацию Dilate; • эрозию Erode; • открытие Open; • цикл семи последовательных операций закрытия-открытия PClose; • цикл семи последовательных операций открытия-закрытия РОреп. На выходе IMAQ GrayMorphology возвращает изображение Image Dst Out, которое записывается в Image Dst, если Image Dst подано на вход. В противном случае результат Image Dst Out записывается в Image Src. Также на выходе IMAQ GrayMorphology формируется сообщение об ошибках error out, возникаю- щих в результате работы. На рис. 3.5.32 и 3.5.33 приводятся примеры работы ВП IMAQGrayMorphology. Блок-диаграмма для примера использования ВП IMAQ GrayMorphology (рис. 3.5.34) в целом аналогична ранее рассмотренной блок-диаграмме для приме- ра использования ВП IMAQMorphology. Рис. 3.5.32. Результат двукратной полутоновой дилатации изображения структурирующим элементом 5x5
250 Методы обработки изображений Рис. 3.5.33. Результат двукратной полутоновой эрозии изображения структурирующим элементом 5x5 Рис. 3.5.34. Основной фрейм блок-диаграммы
Методы анализа изображений 4.1. Выделение и анализ связных областей В основе многих сложных процедур анализа изображения лежит выделение связ- ных областей или связных контуров, выполняемое на первом этапе анализа изоб- ражения. Связная область изображения - это, с одной стороны, тип объекта, все еще очень близко связанный с растровым изображением (связная область может быть представлена не только векторным списком, но и соответствующей бинар- ной растровой «маской»), и в то же время - это уже некая самостоятельная семан- тическая единица, позволяющая вести дальнейший геометрический, логический, топологический и любой другой анализ изображения. В данном разделе будут рассмотрены методы выделения связных областей на бинарных и полутоновых изображениях, а также системы яркостно-геометричес- ких признаков, используемых для описания областей изображения. 4.1.1. Выделение связных областей на бинарных изображениях Соседство и связность на цифровых изображениях Понятия «соседства» и «связности» тесно связаны с естественной топологией и геометрией дискретного цифрового изображения. Как мы уже отмечали ранее, каждый пиксель изображения с координатами (.г,у) имеет восемь соседей, то есть примыкающих к нему {граничащих с ним) ближайших пикселей, составляющих прямоугольную окрестность 3x3 (табл. 4.1.1).
252 Методы анализа изображений Таблица 4.1.1. Прямоугольная окрестность 3x3 (х,у-1) (Х+1.У-1) (х-1, у) (х.у) (х+1, у) (х.у+1) (х+1, у+1) При этом четыре пикселя (соседи по горизонтали и вертикали) являются бо- лее близкими соседями и находятся от центрального пикселя окрестности на рас- стоянии 1. Еще четыре пикселя (соседи по диагонали) являются менее близкими соседями и находятся от центрального пикселя окрестности на расстоянии л/2. Соответственно в обработке изображений рассматриваются два вида соседства и два соответствующих им вида связности: • соседство «по кресту» и 4-связность; • соседство «по квадрату» и 8-связность. Чаще используется отношение 8-связности, при котором считается, что на прямоугольной решетке каждая точка изображения имеет восемь соседей. Связной областью изображения считается такая его область (множество то- чек), в которой: • все точки области имеют одинаковое значение (яркости или любого друго- го рассматриваемого признака); • между любыми двумя точками, принадлежащими данной области, суще- ствует непрерывный путь, состоящий из точек, также принадлежащих дан- ной области и являющихся при этом «соседями» в смысле заданного отно- шения соседства (8- или 4-связности). В случае анализа бинарного изображения первое условие означает, что рас- сматриваются отдельные связные области, из которых состоит «объект» или «фон». Ниже мы также будем рассматривать задачу сегментации полутоновых изображений, в результате которой изображение разбивается на несколько непе- ресекающихся связных областей. В этом случае связность областей понимается в чисто геометрическом (топологическом), а не яркостном смысле. Рассмотрим теперь два наиболее популярных алгоритма выделения связных областей на бинарных изображениях. Метод «лесного пожара» Идея метода «выжигания области» или «метода лесного пожара» заключается в том, что область «поджигается» в одной точке, после чего каждая «подожжен- ная» точка, в свою очередь, «поджигает» всех своих соседей, имеющих ту же яр- кость. Уже «сгоревшие» точки вторично не «поджигаются». Таким образом, со- гласно определению связной области, в конце концов все точки связной области окажутся вовлеченными в этот процесс. Рассмотрим программно-алгоритмиче- скую реализацию этой идеи. Пусть дано изображение IM размера DimXxDimY и меточное изображение LAB такого же размера. Массив переменного размера RegionList содержит списки (массивы) точек, принадлежащих областям. Переменная RegionListSize содержит
Выделение и анализ связных областей 253 текущий размер массива RegionList. Используется стек точек PSTACK (на стек кладутся координаты каждой новой «подожженной» точки с тем, чтобы в буду- щем, будучи снятой со стека, она «подожгла», то есть положила бы на стек коор- динаты всех своих подходящих соседей). Стековый алгоритм прослеживания связных областей: Обнулить массив LAB; RegionListSize:=0; for J=0 to DIMY—1 do for 1=0 to DIMX—1 do if (LAB[I,J]=0) then begin Увеличить RegionListSize; LAB[I,J]:=RegionListSize; POINT:=(I,J); CURRENT:=IM[I,J]; Добавить точку(RegionList[RegionListSize],POINT); Поместить в стек(PSTACK,POINT); while (PSTACK не пуст) do begin POINT : =Достать_из_стека (PSTACK) ; for K:=POINT.X—1 to POINT.X+l do for L:=POINT.Y—1 to POINT.Y+l do if (IM[K,L]=CURRENT)and(LAB[K,L]=0) then begin LAB[K,L]:=RegionListSize; POINT:=(K,L); Добавить точку (RegionList[RegionListSize],POINT); Поместить в стек(PSTACK,POINT); end; end; end; После завершения процедуры «выжигания» список RegionList содержит пото- чечное описание всех связных областей изображения IM, а на меточном изобра- жении LAB каждая точка изображения помечена номером соответствующей об- ласти в списке RegionList. Двухпроходный алгоритм выделения связных областей Данный алгоритм также предназначен для выделения 4-связанных или 8-связан- ных областей. Идея его заключается в том, что единицей просмотра изображения является уже не отдельный пиксель, а связный отрезок строки (сегмент). При этом на первом проходе по изображению вновь обнаруженный связный сегмент помеча- ется либо новой оригинальной меткой - если он ни одним пикселем не касается какого-либо уже помеченного сегмента в предыдущей по ходу анализа строке, либо меткой той области, которой принадлежит граничащий с ним отрезок предыдущей строки. Такой алгоритм построчного просмотра изображения обеспечивает суще- ственно более высокое быстродействие по сравнению с описанным выше «стеко- вым» алгоритмом, однако в процессе пометки сегментов могут возникать так назы- ваемые коллизии, или «столкновения», меток. Это происходит в том случае, если
254 Методы анализа изображений отрезок граничит одновременно с несколькими сегментами предыдущей строки, причем эти сегменты принадлежат разным областям (случай V-образных и У-об- разных фигур). Для устранения таких коллизий используется второй проход по изображению. На втором проходе повторно размечаются те области, для которых на первом проходе были обнаружены коллизии и занесены в специальную таблицу эквивалентности пары индексов областей, подлежащих объединению. Рассмотрим алгоритмическую реализацию этого метода более подробно. Первый проход. Просматриваем содержимое изображения R столбец за столб- цом и присваиваем ненулевое значение v каждому ненулевому пикселю R(i,j). Ве- личина v выбирается в соответствии с номерами соседних пикселей, где свойство соседства показано на рисунке (соседи вне изображения R не рассматриваются). 1. Если все соседи - пиксели фона (со значением пикселя равным нулю), R(i,j) присваивается новый (на данный момент), неиспользованный номер. 2. Если имеется в точности один соседний пиксель с ненулевым номером, присваиваем этот номер пикселю R(i,j). 3. Если имеется больше, чем один ненулевой пиксель среди соседей, присваи- ваем номер любого одного из уже пронумерованных пикселей. Если номера любых соседей различаются (столкновение номеров), храним номера пары как равные. Равные пары храним в отдельной структуре данных (в таблице эквивалентности). Второй проход. Все пиксели области пронумерованы в течение первого прохо- да, но некоторые области имеют пиксели с различными номерами (в результате «столкновения» номеров). Все изображение просматриваем снова и перенумеро- вываем пиксели, используя информацию таблицы эквивалентности. Данный алгоритм единообразно реализуется и в случае 4-, и в случае 8-связно- сти. Различия заключаются только в способе формирования маски опроса соседей (рис. 4.1.1). Поскольку оба описанных метода опираются на одно и то же определение связ- ной области, результаты их работы будут, естественно, одинаковы. Пример размет- ки связных областей на бинарном изображении показан на рис. 4.1.3 и 4.1.4. На меточном изображении все пиксели каждой связной области исходного изобра- жения помечены одним и тем же значением - уникальным индексом (номером) данной области. слева - в случае 4-связности, в центре - в случае 8-связности, справа - случай «столкновения» номеров
Выделение и анализ связных областей 255 00000000000000 0 0 0 0 0 0 0 fTo .1111 1 1 0 0 0 0 1 П о 0 1 1 DJ [ 0 l|ojoi ( 0 0 0 0 1 ( 0|1 1 1 1 111111110 О О О О j. 1 1 1111110 о1ГП 0 0 1]_0] 1 |tjo 1 1 0 00000000000000 (а) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 2 0 0 3 Го} сГ 0 5 5 51,2 2 0 0 3 JP4Q □ DOOS OD 0 0 0 0 4 d □ 66^5 5 г|2 2 2 2 4 ^0 0 0 0 0 Ф 5 5 2 о|т7} 0 0^0 2 2 2 24 2002Д0 О О О О О О О О О ООООО (6) О О О О О О О О О О О О DO О 111 oj tf О 1Ьр2 О О О О О 0 2 О 0|2 2 2 2 2 2 О □ О О D с|~21 р|о 0 р-'о 2 4 р|2 2 2 2 2 2 2 2 2 2 2 2 0 О О О 0 | 2 2 2 2 2 2 2 2 0 о[з~3~Ь 0 0 2] 0(2]0 О 00000000000000 Рис. 4.1.2. Нахождение объектов в случае 8-связности: (а), (б), (в) - шаги алгоритма. Таблица эквивалентности после шага (б): 2-5, 5-5, 2-4 Рис. 4.1.4. Размеченные связные области на бинарном изображении Рис. 4.1.3. Исходное бинарное изображение
256 Методы анализа изображений 4.1.2. Методы сегментации полутоновых изображений Целью сегментации изображения в «широком смысле» является разбиение изоб- ражения на семантические области, которые имеют строгую корреляцию с объек- тами или областями наблюдаемой трехмерной сцены. В более узком смысле под сегментацией полутонового изображения понимают задачу разбиения плоскости кадра на ряд связных непересекающихся областей, каждая из которых обладает некоторой внутренней однородностью того или иного вида (например, однород- ной яркостью пикселей). Дадим формальное определение. Пусть вся область кадра обозначается как R. Тогда сегментацией изображения называется процесс разбиения R на такую совокупность связных областей {RJ, г=1..п, что для них выполняются следующие основные условия: (a) R = U Riti= 1..и, (б) Rii^Rj = 0, Vz *j, (в) Pred(R,) = TRUE, z=l...zz, (г) Pred(7?ju = FALSE, VzVj, (4.1.1) где Pred(R) - булевский предикат однородности области в некотором заданном смысле. Первое условие данного выражения утверждает, что области разбиения цели- ком покрывают кадр изображения. Второе условие описывает тот факт, что обла- сти разбиения попарно не пересекаются. Третье условие требует, чтобы каждая область разбиения была однородной областью изображения в заданном смысле (например, в смысле максимально допустимой разницы значений яркости состав- ляющих ее пикселей). Наконец, четвертое условие требует, чтобы попарное объе- динение любых двух областей данного разбиения не удовлетворяло тому же усло- вию однородности. В самом деле, если объединение областей также является однородной областью, то эти две области на самом деле являются единой облас- тью, что и следует отразить в разбиении. Рассмотрим теперь основные методы сегментации изображений, используе- мые в современном машинном зрении. Пороговая и мультипороговая сегментация Пороговая сегментация изображения по уровням яркости - простейший вид сег- ментации изображения. Этот метод основан на том, что многие объекты или обла- сти изображения характеризуются постоянной отражательной способностью или поглощением света на их поверхности. Отличительной чертой пороговой сегмен- тации являются вычислительная эффективность и возможность использования в системах реального масштаба времени. Пороговая сегментация выполняется следующим образом: g(y) = 1, для/(у) >= Г, (4.1.2) gOV) = 0, для/(у) < Г,
Выделение и анализ связных областей 257 где £(/,7) - элемент результирующего бинарного изображения, /(/J) - элемент ис- ходного изображения. Успех пороговой сегментации зависит от способа выбора порога. В разделе 3.1 мы рассматривали методы адаптивного выбора порога как функции глобальной или локальной гистограммы изображения. Существуют следующие основные виды пороговой сегментации. Диапазонная пороговая сегментация. Сегмент изображения с уровнями яркостей из заданного диапазона D считается «областью», или «фоном», в противном случае: g(7J) = 1, для/(у)сД (4.1.3) g(z,7) = 0 в противном случае. Мультипороговая сегментация. Используется в том случае, если исходное изображение обладает не бимодальной, а мультимодальной гистограммой. В этом случае результирующее изображение не является бинарным: g(7J) = 1, для/(/,7)6 (4.1.4) g(/,y) = 2, для/(г,))е D2, g(z,J) = 3, для/(ф')еВ3, g(/,y) = n, для/(у)еЦ„ g(z,7) = 0, в противном случае. Адаптивная мультипороговая сегментация также рассматривалась ранее в разделе 3.1. На рис. 4.1.5-4.1.8 приводятся примеры такой сегментации. Методы слияния, разбиения и слияния/разбиения областей Слияние областей. Условия (4.1.1) фактически определяет некий итеративный алгоритм слияния областей, начинающийся с минимальных областей размером Рис. 4. 1.5. Исходное изображение Рис. 4.1.6. Адаптивная мультипороговая сегментация изображения по гисто- грамме (три диапазона яркости)
258 Методы анализа изображений Рис. 4.1.7. Исходное изображение Рис. 4.1.8. Адаптивная мульти пороговая сегментация изображения по гистограм- ме (пять диапазонов яркости) в один пиксель, которые затем в повторяющихся циклах опроса изображения «сливаются» (объединяются) с соседними областями, если для объединенной об- ласти выполняется условие Pred(R;) = TRUE. Условием останова такого алгорит- ма слияния служит выполнение всех четырех условий выражения. Это означает, что достигнут такой шаг процесса, на котором больше нельзя найти ни одной пары областей, которые можно было бы подвергнуть слиянию. Описанный выше метод приводит к качественным результатам сегментации. Основным его недостатком является то, что такая сегментация, начинающаяся с уровня отдельных пикселей, как правило, требует для своего осуществления зна- чительного количества времени. Причем большая часть времени тратится именно на начальных этапах работы алгоритма, когда размеры объединяемых областей малы, а количество вариантов объединения - велико. В связи с этим соблазнитель- ной является идея начать итеративный процесс анализа списка областей с некото- рого обоснованного начального приближения, которое сразу давало бы существен- но меньшее количество кандидатов. В качестве такого начального приближения могут выбираться, например, результаты выделения контуров оператором Марра (контуры оператора Марра всегда замкнуты, следовательно, как раз задают разбие- ние кадра на непересекающиеся области). Однако такая предварительная сегмента- ция {пресегментация) не гарантирует, что для всех предварительно выделенных областей будут выполняться условия Pred(R;) = TRUE (ведь выделение предвари- тельных областей происходило не на базе Prcd( /(), а по другим критериям). В этом случае неудовлетворительные области вновь приходится подвергать разбиению. Таким образом, мы приходим к следующему алгоритму сегментации. Алгоритм 1. Слияние областей (общая структура): 1. Осуществить пресегментацию изображения на «стартовые» области ка- ким-либо неитеративным (однократным) методом.
Выделение и анализ связных областей 259 2. Определить критерий слияния двух соседних областей. 3. Итеративно находить и объединять все пары соседних областей, удовлетво- ряющие критерию слияния. 4. Если на очередном шаге ни одной пары кандидатов на объединение не най- дено - остановиться и выйти из алгоритма. Различные методы слияния отличаются способом начальной сегментации изображения и критериями слияния. Итоговый результат слияния областей, как правило, существенно зависит от порядка опроса изображения. Разбиение областей - метод сегментации, противоположный слиянию. Разби- ение начинают с представления всего изображения как простой области, которая не всегда соответствует условию однородности. В процессе сегментации текущие области изображения последовательно расщепляются в соответствии с заданны- ми условиями однородности. Методы слияния и разбиения областей далеко не всегда приводят к одним и тем же результатам сегментации, даже если в них ис- пользуется один и тот критерий однородности. Слияние/разбиение областей. В большинстве случаев используется комбина- ция методов слияния и разделения. При этом часто используют пирамидальное представление изображения и области-квадранты. При этом элементы квадроде- рева областей соответствуют уровням пирамиды изображений. Процессы слия- ния и разбиения областей идут поочередно на каждой итерации. Если какая-либо область на каком-либо пирамидальном уровне неоднородна, она разделяется на четыре подобласти. Е1апротив, если на каком-либо уровне пирамиды наблюдают- ся четыре соседние области с приблизительно одинаковой величиной однородно- сти, они сливаются в простую область на более высоком уровне пирамиды. Процесс такой сегментации может быть понят как конструирование сегменти- рованного дерева квадрантов, где каждый лист узла представляет собой однород- ную область. Разделение и слияние соответствует удалению или построению частей сегментируемого дерева квадрантов. Методы слияния/разбиения, как правило, хранят информацию о соседних областях в виде соседствующих графов (или дру- гих подобных структур данных). Описанное дерево сегментации легко реализуемо программно. Алгоритм 2. Слияние/разбиение (рис. 4.1.9): 1. Провести начальную сегментацию областей, определить критерий одно- родности и пирамиду структуры данных. 2. Если какая-либо область R в пирамиде структуры данных неоднородна (Pred(R)=EALSE), разделяем ее на четыре дочерние области. Если любые четыре области, имеющие одинаковых родителей, могут быть слиты в про- стую однородную область, слияние областей осуществляется. Если нет больше областей, которые могли бы быть разделены или слиты на данном шаге, переходим к шагу (3). 3. Если имеются какие-либо две соседние области R. Rj (даже если они принадлежат различным уровням пирамиды или не имеют одних и тех же родителей), которые могут быть слиты в однородную область, объ- единяем их.
260 Методы анализа изображений Рис. 4. 1.9. Разделение и слияние в иерархической структуре данных Рис. 4.1.10. Сегментация с помощью дерева квадрантов 4. Производим слияние малых областей с самой большой подобной соседней областью; если необходимо, устраняем области с размерами менее задан- ных. На рис. 4.1.10 показана схема сегментации изображения при помощи дерева квадрантов. На рис. 4.1.11-4.1.16 приводятся примеры сегментации изображений методом слияния и методом слияния/разбиения. Как видно из приведенных примеров, ре- зультаты сегментации различными методами не всегда совпадают.
Выделение и анализ связных областей 261 Рис. 4.1.11. Исходное изображение Рис. 4.1.12. Результат сегментации изображения методом слияния Рис. 4.1.13. Результат сегментации изображения методом слияния/разбиения Рис. 4.1.14. Исходное изображение 4.1.3. Геометрическое описание выделенных областей В задачах распознавания образов для классификации и селекции выделенных об- ластей часто используются интегральные геометрические признаки. Обычно эти признаки задаются эвристически и характеризуют форму образа. К ним относят- ся следующие основные эвристики'.
262 Методы анализа изображений Рис. 4.1.16. Результат сегментации изображения методом слияния/разбиения Рис. 4.1.15. Результат сегментации изображения методом слияния • площадь образа; • положение центра тяжести образа; • положение центра тяжести образа, рассматриваемого как бинарный; • периметр образа; • отношение квадрата периметра к площади образа; • формат; • компактность; • периметр и площадь описанного прямоугольника минимальной площади; • отношение площади описанного прямоугольника к площади образа; • отношение квадрата периметра описанного прямоугольника к его площади; • формат описанного прямоугольника; • относительные длина и ширина образа. Площадь S считается как число ненулевых элементов образа. Координаты центра тяжести образа рассчитываются через статические мо- менты: ^B(x,y)xdx \BC.y}ydy y)dxdy что для бинарной матрицы имеет вид: а для полутонового изображения:
Выделение и анализ связных областей 263 ^хВ(х,г/) ^\уВ(х,у) v __о_________. „ __о__________ №' ’ У с\ X-' ^В(х,г/) ^В(х,г/) Q Q Периметр образа равен сумме модулей элементарных векторов контура, со- единяющих два соседних элемента (по 8-связности). Л1 N к=\ k=NM где Р и р - элементарные векторы, ориентированные соответственно по сетке и под углом 45°. Для вычисления значения признака F{формата) по контурным точкам образа строится матрица рассеяния где5р(? = У у (х- хс) (.У] ~ J/,,)7 и находятся собственные числа этой матрицы: /еГп /еГп л 3’2() + 502 l(S2n +S02)2 г-2 1 2 V 4 11 Очевидно, что Х12 - действительные положительные числа (X может обра- щаться в 0, если образ представляет собой прямую линию). Формат рассчитывается по формуле (для ’кфк^)'. Р^. Компактность рассчитывается по формуле: 2=—^—, su-s где 5- площадь образа, 5„ - площадь описанного прямоугольника, ориентирован- ного как эквивалентный эллипс. Для определения ориентации находятся собственные векторы матрицы рас- сеяния: |52()—X; 5ц (X |_Q у ЗД 502 Чтобы найти величины сторон описанного прямоугольника, ориентированного по собственным векторам, достаточно определить проекции образа на эти векто- ры. Величина проекции контурной точки образа на один из собственных векторов (пусть соответствующий Л2) определяется по формуле:
264 Методы анализа изображений Подставляя значения собственных векторов, получаем: 1 ; К у-^-^2. й < I Jxx I Периметр и площадь минимального описанного прямоугольника рассчитывают- ся по следующим формулам: Р3 = 2 х (Д + Г2); 5„ = Д х Т2, где Д и Т2 - стороны описанного прямоугольника. Отношение площади описанного прямоугольника к площади образа рассчитыва- ется по формуле: Отношение квадрата периметра описанного прямоугольника к его площади рассчитывается по формуле: Формат описанного прямоугольника'. Относительные длина и ширина'. Другой группой геометрических признаков являются моменты. "Др = ^В(х,у)хаур, о где Q - образ в декартовой системе координат (х,у); В(х,у) - значение функции интенсивности (х,у). Для дискретного изображения имеем Специальными приемами удается получить величины, инвариантные к сме- щению, изменению размера и повороту изображения: • моменты, инвариантные к смещению'. V-Pq -X<)P(yj -Ус)4 В(Х,У), где хс, ус - координаты центра тяжести образа;
Выделение и анализ связных областей 265 • моменты, инвариантные к изменению масштаба'. "т V' 2>у i+j=p+q Действительно, при изменении масштаба в к раз значение всех централь- ных моментов изменится в кр+ч+2 раз. Но так как все моменты имеютр + q = = const, то величина Г| не изменится. • моменты, инвариантные к повороту. Ml = т| 02 + Г] 20; М2 = а\ + 4Г11Р Af3 = я2 + ас. Мц = aj + ар, М5 = a2a3(al - За23) + ау15(3а1 - а3); М6 = с?1(с?з — а5) + 4г|11<73а'5; ^-4^-зС^"5 Збгз) ^'2^'бС^'З где а, = г|20 — Лог- а2 = Лзо ~ Зг|12; а3 = т|30 + т|12; ац = Зт|21 — т|03; а3 = т|21 — г|03. Используются также и другие системы признаков. 4.1.4. Выделение и анализ связных областей в IMAQ Vision Функции выделения областей В терминах IMAQ Vision связная область называется «частицей» (particle). Опе- рация типа Threshold (см. главу 3) производит бинаризацию исходного изобра- жения, исходя из заданных значений минимального и максимального порогов. После этого значения пикселей становятся равными 0 - «фон» или 1 - «объект». Далее любой пиксель или группа примыкающих друг к другу ненулевых пиксе- лей, окруженная фоном, может быть выделена в качестве отдельной связной об- ласти при помощи следующей операции. Функция IMAQ: Label Функция IMAQ Label (разметка) - рис. 4.1.17 - осуществляет разметку связных областей уникальными идентификаторами, едиными для каждой области. При этом каждый пиксель данной связной области на выходном изображении содер- жит индекс (номер) данной области. Например, на рис. 4.1.19 слева видно, что каждый изолированный объект (связная область) приобрел свой уникальный Image Src* "ДУ ft™™" Image Dst Out rijj, - Number of Particles Connectivity 4/8 (8)....‘ error in fno error] Рис. 4.1.17. Функция IMAQ Label
266 Методы анализа изображений «цвет». При этом на 8-битном выходном изображении может быть промаркирова- но не более 255 объектов, на 16-битном - не более 65535 связных областей. Функцию IMAQSegmentation Функцию IMAQ Segmentation (сегментация) - рис. 4.1.18 - применяют после функции IMAQ Label для того, чтобы определить области фона, «прилежащие» (наиболее близкие) к каждому из объектов. Данная функция осуществляет итеративное расширение областей (Dilate, см рис. 4.1.19 справа) до тех пор, пока не будет заполнено все «пустое» пространство фона. Блок-диаграмма приложения, демонстрирующего использование функций IMAQ Label и IMAQSegmentation, представлена на рис. 4.1.20. Функции анализа и селекции областей Ниже описан ряд операций анализа связных областей, доступных в IMAQ Vision. Функция IMAQ: Count Objects Функция IMAQ Count Objects (подсчет объектов) - рис. 4.1.21 - позволяет не только найти количество объектов (связных областей) на изображении, но также осуществить их первичный отбор по нескольким простейшим параметрам. Image Src Image Dst error in I'no error] -Image Dst Out error out Рис. 4.1.18. Функция IMAQ Segmentation Рис. 4.1.19. Пример применения функций IMAQ Label (слева) и IMAQ Segmentation (справа)
Выделение и анализ связных областей 267 Рис. 4.1.20. Блок-диаграмма примера, использующего функции IMAQ Label и IMAQ Segmentation Settings = Image Search fleet [entire image] “6 Coordinate Systemu error in [no error] “IT 14; * • “““ь" Objects ““Image Out L Number of Objects Coordinate System (duplicate] error out Рис. 4.1.21. Функция IMAQ Count Objects В качестве параметров селекции объектов данной функции можно задавать такие параметры, как минимальная и максимальная площадь, порог бинаризации, знак контраста (являются объекты темными или светлыми) и некоторые другие. Данная функция также позволяет осуществить визуализацию результатов поиска путем наложения на исходное изображение дополнительных графических эле- ментов (рис. 4.1.22). Данная функция может вычислять следующие параметры объектов: • положение центра масс; • координаты описывающей рамки;
268 Методы анализа изображений Рис. 4.1.22. Пример использования функции IMAQ Count Objects Рис. 4.1.23. Блок-диаграмма примера применения ВП IMAQ Count Objects • площадь; • ориентацию (направление главной оси); • формат (отношение сторон описывающего прямоугольника); • число связных полостей («дырок») в объекте.
Выделение и анализ связных областей 269 Функция IMAQ: RejectBorder Функция IMAQRejectBorder (рис. 4.1.24) позволяет удалять с изображения час- тицы, соприкасающиеся с его границами. На рис. 4.1.25 представлен пример работы этой функции. Блок-диаграмма данного примера представлена на рис. 4.1.26. Connectivity 4/8 (8) Image Dst Image Src == x ..Image Dst Out Image Dst°J^" m _ „ гI-JH— error out Рис. 4. 1.24. Функция IMAQ RejectBorder Рис. 4.1.25. Пример работы функции IMAQ RejectBorder Показаны: исходное изображение (слева), бинаризованное изображение (в центре), изображение после фильтрации краевых частиц (справа) Функции IMAQ: Distance и Danielsson Функции IMAQ Distance и IMAQ Danielsson (определение расстояния) - рис. 4.1.27 - и IMAQDanielsson (рис. 4.1.28) позволяют определять расстояние от каждой точки объекта до фона. У функции IMAQ Distance имеется входной параметр, который определяет, со сколькими соседними пикселями взаимодействует рассматриваемый. Возможные варианты 4 (square) и 6 (hexa). Для демонстрации результатов работы данных фун- кций в качестве исходного изображения был взят круг. Исходное изображение
270 Методы анализа изображений Рис. 4.1.26. Блок-диаграмма примера фильтрации краевых частиц Square/Hexa (Square) Image Src Image Dst error in (no error) = g) [ “Image Dst Out —1== еиог out Рис. 4.1.27. Функция IMAQ Distance Image Src Image Dst error in (no error) Image Dst Out error out Рис. 4.1.28. Функция IMAQ Danielsson Рис. 4.1.29. Результаты операций Distance square. Distance hexa и выполнения IMAQ Danielsson
Выделение и анализ связных областей 271 было бинаризовано и затем обработано ВП IMAQ Distance и IMAQ Danielsson. Результат представлен на рис. 4.1.29. Как видно, более точные результаты здесь дает функция IMAQ Danielsson. Именно ее рекомендуется использовать практи- чески во всех случаях, когда необходимо применение функций подобного рода. На рис. 4.1.30 приведена блок-диаграмма данного примера. Рис. 4.1.30. Блок-диаграмма примера использования функций IMAQ Distance и IMAQ Danielsson Connectivity 4/8 (8) Image Src ——— Image Dst Out *- Number oF Particles 1111 dуC UbL riJJJJJJ Selection Values °™ error in (no error) “I Ш 2 Ьш error out Рис. 4.1.31. Функция IMAQ Particle Filter2
272 Методы анализа изображений Функция IMAQ: Particle Filter 2 Функция IMAQ Particle Filter 2 (фильтр частиц) позволяет выделять частицы согласно заданным критериям. Для того чтобы отсеять (или, наоборот, выбрать) соответствующие объекты, необходимо задать диапазон значений какого-либо се- лектирующего параметра или набора параметров. Например, используя функцию IMAQCount Objects 2 (см. рис. 4.1.21), можно удалить группу карандашей, лежащих друг на друге (диапазон допустимых значе- ний площади областей - от 0 до 2000 пикселей). Результат удаления представлен на рис. 4.1.32, а блок-диаграмма - на рис. 4.1.33. Рис. 4.1.32. Результат применения функции IMAQ Particle Filter 2 Функция IMAQy.Partic.le Analysis Функция IMAQ Particle Analysis (анализ частиц) - рис. 4.1.34 - позволяет вы- числять широкий набор параметров объекта. Продолжим рассмотрение уже знакомого изображения карандашей (см. рис. 4.1.22). В предыдущих упражнениях, промаркировав связные области, мы убедились, что на данном изображении существует некоторое количество изоли- рованных точек, «отдельных» частей карандашей, целый изолированный каран- даш и «слитная» группа карандашей. Для того чтобы рассортировать все эти объекты, можно воспользоваться ВП IMAQParticle Analysis. Определим, напри- мер, координаты центра масс каждого объекта, а также их площади. На основе полученных данных (рис. 4.1.35), легко определить, где располагается группа ка- рандашей (первая строка, площадь - 7093), где изолированный карандаш (третья снизу строка, площадь - 1407), а где небольшие объекты малой площади, не име- ющие практического значения.
Выделение и анализ связных областей 273 Рис. 4.1.33. Блок-диаграмма примера для IMAQ Particle Filter 2 Connectivity 4/8 (8) Image Pixel Measurements Real-World Measurements error in (no error) — Number of Particles — Image Out (duplicate) Particle Measurements (Pixels) Particle Measurements (Real... “error out — Calibration Valid Рис. 4.1.34. Функция IMAQ Particle Analysis Данная функция позволяет определять параметры объекта как в пикселях, так и в калиброванных метрических единицах. Ниже приводятся некоторые парамет- ры объектов, которые можно найти при помощи данной функции: • Х-координата центра масс; • У-координата центра масс; • Х-координата левого верхнего пикселя; • У-координата левого верхнего пикселя; • Хмпн ограничивающего прямоугольника;
274 Методы анализа изображений Рис. 4.1.35. Таблица измерений параметров объектов • Умпн ограничивающего прямоугольника; • Хмакс ограничивающего прямоугольника; • УМакс ограничивающего прямоугольника; • площадь объекта; • площадь полостей объекта; • периметр; • количество полостей объекта; • ориентация; • главная ось эквивалентного эллипса; • малая ось эквивалентного эллипса; • диагональ; • удлинение и др. Блок-диаграмма данного примера представлена на рис. 4.1.36. Функции сбора статистик по областям Функция IMAQ: Quantify Функция IMAQ Quantify (измерения) - рис. 4.1.37 - определяет следующий на- бор параметров заданной области изображения:
Выделение и анализ связных областей 275 Рис. 4.1.36. Блок-диаграмма примера измерений (IMAQ Particle Analysis) — Global Report ““““““^Region Reports ” "B“ error out Image —— Image Mask * ® error in |no error] ------- Рис. 4.1.37. Функция IMAQ Quantify • среднее значение яркости; • дисперсия; • информация о минимальном и максимальном значениях яркости; • площадь области в калиброванных единицах; • площадь области в пикселях; • процентное отношение площади области, в которой проводились измере- ния, к общей площади изображения. В качестве входного параметра функция может принимать либо одну область изображения, заданную указателем мыши, либо, если присоединено меточное изображение (IMAQ Label), несколько областей (до 255), для которых будет про- изводиться расчет статистических параметров. В упражнении, блок-диаграмма которого приведена на рис. 4.1.40, рассматри- вается только одна область, причем ее задание производится интерактивным спо- собом при помощи функции IMAQ Select Rectangle (выбрать прямоугольник). Данная функция находится в палитре Machine Vision => Select Region of Interest. Окно выбора области интереса показано на рис. 4.1.38. Результат работы функ- ции IMAQ Quantify для данной области представлен на рис. 4.1.39, а блок-диа- грамма - на рис. 4.1.40. Функция IMAQ: Centroid Функция IMAQ Centroid (центр тяжести) - рис. 4.1.41 - позволяет определить «центр масс» заданной области изображения.
276 Методы анализа изображений Рис. 4.1.38. Выбор рабочей области Рис. 4.1.39. Отчет, выданный ВП IMAQ Quantify
Выделение и анализ связных областей 277 Рис. 4.1.40. Блок-диаграмма приложения, демонстрирующего возможности функции IMAQ Quantify Image Image Mask error in |no error] .......Centroid error out Рис. 4.1.41. Функция IMAQ Centroid Приведенный на рис. 4.1.43 пример использования данной функции по струк- туре сходен с предыдущим. Здесь используется следующий характерный прием. Поскольку одиночную точку сложно рассмотреть на полутоновом изображении (рис. 4.1.42), для визуализации найденного центра масс в данном примере вместо функции Overlay Point (наложить точку) используется функция Overlay Oval (наложить овал). В качестве входного параметра данная функция требует кластер из четырех элементов, задающий границы прямоугольника, в который будет впи- сан овал. Так как ситуация, когда из одной точки с целью лучшей визуализации необходимо сделать прямоугольник или квадрат, встречается довольно часто, ло- гично для этой цели создать отдельный ВП. Как раз такую функцию и выполняет ВП V. Функция анализа связных контурных сегментов ФункцияIMAQ: GetPointsOnContour Функция IMAQGetPointsOnContour (рис. 4.1.44) позволяет определить количе- ство наблюдаемых сегментов связных контуров и найти координаты составляю- щих их пикселей.
278 Методы анализа изображений Рис. 4.1.42. Пример применения IMAQ Centroid Рис. 4.1.43. Блок-диаграмма примера, использующего функцию IMAQ Centroid
Выделение и анализ связных областей 279 Image (Edge Image) error in (no error) === [w] Segment Information '-Number of Segments l!= error out Рис. 4.1.44. Функция IMAQ GetPointsOnContour На вход данной функции следует подавать контурное изображение, которое в рамках Nl Vision может быть получено, например, при помощи функции IMAQ EdgeDetection (см. раздел 3.4.2). IMAQ GetPointsOnContour позволяет определить: • количество контуров на изображении; • является ли найденный контур замкнутым; • вес контура (сумму интенсивностей всех составляющих его пикселей); • информацию о каждом контурном пикселе. Информация о каждом контурном пикселе включает в себя: • координаты контура; • коэффициент криволинейности в данной точке сплайна третьего порядка, построенного на точках данного контура; • расстояние от пикселя до сплайна. Пример работы данной функции представлен на рис. 4.1.45, блок-диаграмма - на рис. 4.1.46. В данном упражнении из соображения большей наглядности на вход функции ВП IMAQGetPointsOnContour подается бинаризованное контур- ное изображение. Рис. 4.1.45. Исходное изображение (слева), контурное изображение (в центре) и результат работы функции IMAQ GetPointsOnContour (справа)
280 Методы анализа изображений Рис. 4.1.46. Блок-диаграмма примера, демонстрирующего использование IMAQ GetPointsOnContour 4.2. Выделение геометрических примитивов 4 .2.1. Методы выделения геометрических примитивов на основе преобразования Хафа Одним из наиболее эффективных методов поиска аналитически заданных прими- тивов является на сегодня группа методов, основанных на идее преобразования Хафа (Hough). Основная идея преобразования Хафа сходна с идеей хорошо знакомого нам по курсу школьной геометрии метода «общих геометрических мест». Вспомним, на- пример, задачу построения треугольника по трем его заданным сторонам. При этом вначале произвольным образом строится одна сторона треугольника, а затем проводятся две окружности с радиусами, равными длине соответственно второй и третьей сторон треугольника и центрами, совпадающими с концами первой пост- роенной стороны. Эти окружности являются «геометрическим местом точек», в которых могли бы заканчиваться искомые стороны треугольника. Для всех то- чек левой окружности выполняется условие «расстояние от центра равно длине второй стороны». Для всех точек правой окружности выполняется условие «рас- стояние от центра равно длине третьей стороны». Там, где окружности пересека- ются, выполняются оба условия: таким образом, это и есть искомая третья верши- на треугольника - «общее геометрическое место». Обобщая эту методику геометрического построения, можно сказать, что было осуществлено «голосование» в пользу возможного положения вершины, в голо-
Выделение геометрических примитивов 281 совании участвовали две точки (концы первого отрезка), и в результате процеду- ры голосования победила та точка, которая набрала максимум голосов (в данном случае - два, в отличие от остальных точек плоскости, получивших 0 или 1 голос). При этом форма «голосующей кривой» для каждой точки определялась нашими априорными знаниями о геометрических характеристиках искомого объекта (в данном случае - заданной длиной сторон треугольника). Рассмотрим теперь, как эта идея может быть реализована в случае, когда тре- буется найти тот или иной геометрический примитив, заданный аналитическим уравнением, и при этом на изображении имеется не две и не три, а значительное количество голосующих контурных точек. Преобразование Хафа для поиска прямых Классическое преобразование Хафа предназначено для выделения на бинарном изображении прямых линий. Оно основывается на использовании пространства параметров, в котором и производится поиск прямых. Наиболее распространены следующие параметрические уравнения прямых: Y=kX+b; (4.2.1) Xcos(O) + Tsin(0) = р. (4.2.2) Однако, поскольку прямые на плоскости характеризуются двумя параметра- ми, пространство параметров всегда будет иметь размерность два. Классическое преобразование Хафа использует параметры (р,0) уравнения (4.2.2). Пусть контурное изображение рассматривается как множество точек (х,у) в исходном пространстве Е = (X,Y). Множество прямых, проходящих через каж- дую точку (х,у) может быть изображено как множество точек (р,0) в пространстве {р,0}. Функция отображения точки в пространстве Хафа называется «функцией отклика». Идея преобразования Хафа состоит в том, что для каждой точки пространства параметров суммируется количество голосов, поданных за нее, то есть число то- чек исходного пространства, порождающих отклики в пространстве параметров, проходящих через данную точку (р,0). Здесь используется тот факт, что любые две синусоиды в пространстве параметров пересекутся в точке (р,0) только тогда, когда порождающие их точки в исходном пространстве лежат на прямой, описы- ваемой уравнением Xcos(0) + l'sin(O) = р с параметрами (р,0). Введенная таким образом функция Л(р,0) называется аккумуляторной функцией, причем абсолют- ное значение ее в точке (р,0) равно числу точек контурного препарата, лежащих на соответствующей прямой в исходном пространстве изображения. В том случае, когда на изображении представлено т прямых, аккумуляторная функция Л(р,0) будет иметь ровно т локальных максимумов в точках, соответ- ствующих имеющимся прямым. Таким образом, для обнаружения прямых на ис- ходном изображении достаточно найти все значительные локальные максимумы аккумуляторной функции.
282 Методы анализа изображений Рис. 4.2.1. Процедура голосования преобразования Хафа Как правило, Л(р,0) вычисляется не для каждой точки пространства парамет- ров, а для каждой «ячейки аккумулятора», то есть некоторой прямоугольной об- ласти, на которые разбивается пространство параметров, и размер которых огра- ничивает точность вычислений половинным значением дискреты разбиения по каждому из параметров. Инвариантность преобразования Хафа к сдвигу, масштабированию и поворо- ту вытекает непосредственно из определения. Более того, поскольку прямые ли- нии при любых проективных преобразованиях трехмерного пространства всегда переходят только в прямые линии (в вырожденном случае - в точки), преобразо- вание Хафа позволяет обнаруживать линеаменты инвариантно не только к аф- финным преобразованиям плоскости, но и к группе проективных преобразований в пространстве. Это дает возможность использовать преобразование Хафа для робастного детектирования трехмерных объектов, контуры которых полностью или частично описываются линеаментами. Легко убедиться, что в смысле результата преобразование Хафа эквивалентно интегрированию контурного изображения вдоль всех возможных прямых. Это обусловливает его фильтрующие свойства и определяет высокую степень помехо- защищенности. Это замечание в полной мере относится и к обобщенному преоб- разованию Хафа (GHT), которое будет описано в следующем подразделе. Эффективность преобразования Хафа, по сравнению с согласованной фильт- рацией, связана с двумя основными факторами: • удачный выбор параметров. Здесь использован тот факт, что при проектив- ных преобразованиях прямая всегда переходит в прямую. В связи с этим сформировано пространство параметров низкой размерности (Dim = 2); • однократное использование входной информации. Каждый пиксель изоб- ражения опрашивается только один раз. При этом дальнейшие вычисления производятся только для пикселей, несущих полезную информацию (в дан- ном случае - контурных). Отсюда непосредственно следует, что вычисли- тельная эффективность преобразования Хафа тем выше, чем меньше число пикселей, несущих полезную информацию, по сравнению с площадью изображения. Это обусловливает, в частности, преимущественное исполь-
Выделение геометрических примитивов 283 зование этого метода при анализе контурных препаратов, а также - точеч- ных паттернов. На рис. 4.2.3 приводится пример анализа преобразования Хафа в задаче выде- ления штрихового кода. Здесь интересно то, что предметом поиска является уже не изолированный максимум пространства Хафа, соответствующий отдельной линии (например, линия 3 на рис. 4.2.2). Прямоугольному штриховому коду в пространстве Хафа соответствует определенное «плато», обнаружив границы которого, можно определить границы штрихового кода на изображении (линии 1 и 2 на рис. 4.2.2). Рис. 4.2.2. Исходное изображение штрихового кода Рис. 4.2.3. Пример анализа преобразования Хафа в задаче поиска штрихового кода. Аккумулятор Хафа Преобразование Хафа для поиска окружностей Описанный в предыдущем разделе алгоритм преобразования Хафа будет рабо- тать совершенно аналогично не только при любом другом выборе параметров прямых, но и будучи примененным к обнаружению любой другой кривой, описы- ваемой на плоскости некоторым числом параметров, что повлияет лишь на содер- жание и размерность пространства параметров. Например, при поиске окружностей заданного радиуса R мы можем считать, что имеем дело с двухпараметрическим семейством кривых (.г - ,г0)" + (г/ - уф)~ = 1\. и производить поиск максимума аккумуляторной функции А (.г, у) в пространстве параметров (.г,у). Заметим, что пространство параметров в этом случае практи- чески совпадает с исходным (.г,у). Рассмотрим сначала алгоритм обнаружения окружностей заданного радиуса, не использующий ориентацию нормали в контурных точках. Очевидно, что набор центров всех возможных окружностей радиуса R, проходящих через заданную точку, образует окружность радиуса R вокруг этой точки. Таким образом, функ- ция отклика для поиска окружностей известного размера представляет собой ок-
284 Методы анализа изображений ружность такого же размера с центром в голосующей точке. Максимум аккумуля- тора соответствует положению центра окружности на изображении. Опишем теперь алгоритм обнаружения окружностей заданного радиуса, ис- пользующий ориентацию нормали в голосующих контурных точках. Первым шагом процесса является обнаружение пикселей края, окружающих периметр объекта. Для каждого краевого пикселя используется положение и ориентация контура с целью оценки центра кругового объекта радиуса R путем движения на расстояние R от краевого пикселя в направлении его нормали. Если эту операцию повторять для каждого краевого пикселя, будет найдено множество положений предполагаемых точек центра, которое может быть усреднено для определения точного местонахождения центра. Эти процессы могут выполняться в простран- стве изображения или в некотором абстрактном параметрическом пространстве, которое локально конгруэнтно пространству изображения, посредством чего эко- номится память и объем вычислений. Если радиус окружности является неизвестным или переменным, необходимо включить R в качестве дополнительной переменной в параметрическое простран- ство: тогда процедура поиска пика должна определить радиус, так же как и поло- жение центра, путем рассмотрения изменений вдоль третьего измерения парамет- рического пространства. Если размер обнаруженной окружности нас не интересует и требуется обнару- жить только ее центр, то можно обойтись и без увеличения размерности простран- ства параметров. Пусть для каждого возможного направления на «центр» контур- ная точка голосует не точкой на расстоянии R, а лучом в этом направлении. Таким образом, окажутся задействованными все возможные положения «центра» при любом масштабе объекта, и это позволит искать окружности независимо от их ра- диуса. Е1а втором этапе, после обнаружения потенциальных центров окружности, можно повторно обратиться к изображению и уточнить радиус окружностей с центрами в найденных точках. Разработаны также эффективные модификации преобразования Хафа для вы- деления эллипсов и других известных видов аналитических кривых. Анализ аккумулятора при поиске геометрических примитивов Обычно используются два основных метода анализа пространства параметров. Первый метод заключается в непосредственном поиске фиксированного числа локальных максимумов (одного глобального максимума) в пространстве пара- метров. При этом возможны различные способы отыскания таких максимумов. Второй метод предполагает пороговую сегментацию аккумуляторной функ- ции (или ее проекций, как в методе латеральных гистограмм) и последующий ана- лиз связных областей пространства параметров. Очевидно, что оба эти подхода в некотором смысле эквивалентны, так как, выбирая порог равным значению ми- нимального локального максимума, мы получим при помощи второго метода то же, что и при использовании первого. Однако остается проблема оптимального выбора порога для конкретного изображения.
Выделение геометрических примитивов 285 Кроме того, очевидно, что короткие линии (отрезки кривых) дадут относи- тельно низкие пики аккумуляторной функции по сравнению с длинными. Поэто- му они будут обнаружены лишь в том случае, когда «априори» (до постройки по- рога) известно, что они присутствуют на изображении. Рассмотрим способ анализа аккумуляторной функции, исключающий поня- тие порога из рассмотрения. Основная идея этого метода заключается в том, что на каждом этапе анализа ведется поиск одного глобального максимума аккумуля- торной функции, после чего из всех ячеек аккумулятора вычитаются «вклады» всех тех точек исходного изображения, которые принадлежат кривой, соответ- ствующей обнаруженному максимуму, и вновь повторяют поиск. Практические результаты применения этого метода свидетельствует о его большей, по сравне- нию со стандартными методами, чувствительности к небольшим отрезкам (вы- боркам) и в то же время - о высокой робастности и устойчивости по отношению к шуму. Когда речь идет о сложных объектах, то преобразование Хафа и различные его модификации применяются на этапе выделения черт, после чего производится «сборка» возможных объектов, исходя из их структурного описания. Такой под- ход называется «иерархическим анализом». 4 .2.2. Выделение геометрических примитивов в IMAQ Vision Выделение прямых линий Функции IMAQ: Find Vertical Edge и Find Horizontal Edge Ранее мы уже познакомились с двумя функциями, позволяющими определять границы в профиле линии (IMAQSimple Edge и IMAQEdge Tool). Но на практи- ке чаще бывает необходимо определить границы объекта на всем его протяжении. Для этого в Nl Vision используется ВП IMAQ Find Vertical Edge (найти верти- кальную границу) - рис. 4.2.4. Также существует функция IMAQ Find Horizontal Edge Jc, (найти горизон- тальную границу). Поиск вертикальной (горизонтальной) границы осуществля- ется построением набора горизонтальных (вертикальных) отрезков в заданной области с определением в каждом из них граничных точек (точек перепада ярко- сти), аналогично тому, как это делается в IMAQEdge Tool. После этого по найден- Settings Edge Coordinates ' L I mage 0 ut Image < Rectangle ““ + Coordinate System — error in (no error) Coordinate System (duplicate) error out Straightness Рис. 4.2.4. Функция IMAQ Find Vertical Edge
286 Методы анализа изображений Рис. 4.2.5. Результат работы примера, использующего ВП IMAQ Find Vertical Edge ному набору «граничных» точек строится единая пря- мая линия, которая и считается искомой границей. На входе функции необходимо указать прямоу- гольную область (рис. 4.2.5), в которой должен про- изводиться поиск границы. Можно также задать па- раметры искомой границы: контрастность, ширину фильтра (количество точек окрестности, по которым ищется граница), крутизну, а также интервал между соседними параллельными отрезками, используемы- ми для обнаружения границы. На выходе функция выдает: • массив координат точек, лежащих вдоль гра- ницы; • начальную и конечную точки найденной прямой; • оценку прямолинейности границы. Рис. 4.2.6. Блок-диаграмма примера применения функции IMAQ Find Vertical Edge Функция IMAQ: Fit Line Функция IMAQ Fit Line (рис. 4.2.7) позволяет аппроксимировать заданный на- бор точек прямой линией. При этом можно задавать следующие ограничения: • Pixel Radius - наибольшее возможное отклонение точки от прямой; • Minimum Score - нормированный параметр, оценивающий насколько хоро- шо по набору точек можно провести прямую; • Maximum Iterations - максимальное число итераций.
Выделение геометрических примитивов 287 Points Minimum Score Pixel Radius error in (no error] Maximum Iterations ........Line Equation Line Segment ..... Residual H ;...Valid Fit? error out Indexes of Points Used Рис. 4.2.7. Функция IMAQ Fit Line При этом данная функция строит прямую не по всем точкам, а только по тем, которые удовлетворяют указанным параметрам. На выходе ВП IMAQ Fit Line можно получить: • коэффициенты уравнения аппроксимирующей прямой; • начальную и конечную точки найденной прямой; • СКО заданного набора точек от найденной прямой. Так как процесс аппроксимации является многошаговым, на входе функции необходимо задать максимальное число итераций, после которого процесс будет прекращен. Если за это количество шагов прямая, удовлетворяющая заданным условиям, так и не будет найдена, то значение Valid Fit на выходе будет равно FALSE. В случае успеха на выход функции также выдается массив номеров точек, по которым была построена прямая. На рисунке 4.2.8 представлен пример работы данной функции. Зеленым обо- значены неиспользованные точки, красным - использованные. Исходный набор точек (рис. 4.2.9) можно получить с помощью функции IMAQ Rake, описанной ниже. Рис. 4.2.8. Пример работы функции IMAQ Fit Line
288 Методы анализа изображений Рис. 4.2.9. Блок диаграмма примера, демонстрирующего использование ВП IMAQ Fit Line Выделение окружностей и эллипсов Функция IMAQ: Find Circular Edge Функция IMAQ Find Circular Edge (определение границы окружности) - рис. 4.2.10 - позволяет найти на изображении край круглого объекта. Ее парамет- ры сходны с параметрами предыдущей функции. Image Circle or Annulus Coordinate System error in (no error) Image Out Coordinate System (duplicate) error out Roundness Рис. 4.2.10. Функция IMAQ Find Circular Edge Для вызова данной функции необходимо также задать параметры окружности или сектора (части окружности), в которых будет производиться поиск границы. Выходными значениями функции являются: • массив координат граничных точек; • центр найденной окружности; • радиус найденной окружности; • оценка отклонения найденного контура от идеальной окружности. Пример работы функции представлен на рис. 4.2.11. Блок-диаграмма соответ- ствующего упражнения приводится на рис. 4.2.12.
Выделение геометрических примитивов 289 Рис. 4.2.11. Пример определения границы окружности функцией IMAQ Find Circular Edge Рис. 4.2.12. Блок-диаграмма примера, демонстрирующего возможности IMAQ Find Circular Edge Помимо описанных выше ВП, выполняющих поиск прямолинейных и круговых границ, суще- ствует также ВП IMAQFind Concentric Edge отличающийся способом построения опорных линий: в этой функции в качестве опорных ли- ний для поиска точек перепада яркости исполь- зуются концентрические окружности. Функция IMAQ: Find Circles Функция IMAQFind Circles (рис. 4.2.13) позволяет найти окружности на изобра- жении. Image Src Image Dst Min Radius error in (no error] Max Radius Image Dst Out L- Nb Circles I™Circles Data error out Рис. 4.2.13. Функция IMAQ Find Circles В качестве входных параметров этой функции можно задать минимальный и максимальный радиусы искомых окружностей. На выходе функция, помимо чис- ла найденных окружностей, возвращает их координаты центров и радиусы. На рис. 4.2.14 представлен результат работы ВП IMAQ Find Circles. Соответ- ствующая блок-диаграмма приведена на рис. 4.2.15.
290 Методы анализа изображений Рис. 4.2.14. Поиск окружностей с использованием функции IMAQ Find Circles Рис. 4.2.15. Блок-диаграмма примера, использующего IMAQ Find Circles Функция IMAQ: Fit Circle 2 Функция IMAQ Fit Circle 2 (рис. 4.2.16) позволяет аппроксимировать заданный набор точек окружностью. При этом определяются следующие параметры окружности: • координаты центра; • радиус; • периметр; • площадь • оценка отклонения полученной окружности от идеальной.
Выделение геометрических примитивов 291 Pixel Radius Radial Points Minimum Score Maximum Iterations error in (no error) Reject Outliers (FALSE) Indexes of Points Used Circle Measurements Valid Fit error out Residual Рис. 4.2.16. Функция IMAQ Fit Circle 2 Принцип действия данной функции сходен с принципом действия рассмотренного ранее ВП IMAQ Fit Line. При этом имеется возможность принудительного использования всех входных точек при построении окружности. Для этого в поле Reject Outliers (отклонить точки, лежа- щие вне заданных границ) необходимо устано- вить значение FALSE. На рис. 4.2.17 зеленым цветом обозначены точки из исходного набора Radial Points, не ле- жащие на полученной окружности, но внесшие свой вклад в ее построение (входное значение Reject Outliers - FALSE). Красным цветом вы- делены точки, использованные для построения окружности. В выходной массив Indexes of Points Used передаются порядковые номера (индексы) этих точек из входного массива Ra- dial Points. Новый массив координат точек, вы- деленных красным, построен с помощью ВП Index Array (рис. 4.2.18). Рис. 4.2.17. Построение окружности функцией IMAQ Fit Circle 2 Выделение линий, близких к эллипсу Функция IMAQ: Fit Ellipse 2 Помимо IMAQ Fit Line и IMAQ Fit Circle 2 в палитре инструментов IMAQ есть функция Fit Ellipse 2 (рис. 4.2.19), которая позволяет аппроксимировать набор точек эллипсом. Ее входные параметры идентичны IMAQ Fit Circle 2, а выходные отличаются только тем, что вместо радиуса функция IMAQ Ellipse 2 выдает координаты нача- ла и конца большой и малой осей аппроксимирующего эллипса. Выделение линий, близких к прямым Функция IMAQ: Rake Функция IMAQRake (грабли, гребенка) - рис. 4.2.20 - позволяет найти гранич- ные точки в заданной с помощью ROI Descriptor вертикальной области изобра- жения.
292 Методы анализа изображений Рис. 4.2.18. Блок-диаграмма примера, демонстрирующего работу функции IMAQ Fit Circle 2 Pixel Radius Radial Points Minimum Score Maximum Iterations error in (no error) Reject Outliers (FALSE) ---------Indexes of Points Used 1 Ellipse Measurements “=j 1...Valid Fit error out Residual Рис. 4.2. 19. Функция IMAQ Ellipse 2 SubPixel Information Edge Parameters Image RO I Descriptor Step Size Scan Direction error in (no error) Process All Edges Line Coordinates error out Lines with Edges Рис. 4.2.20. Функция IMAQ Rake При этом границы объекта ищутся на некотором наборе отрезков горизонтальных или вертикальных параллельных опорных линий, проведенных через данную об- ласть с шагом (в пикселях), заданным во входном терминале Step Size (рис. 4.2.22). Функция Rake позволяет задавать в поле Scan Detection одно из четырех направ- лений поиска (слева направо или справа налево, или сверху вниз, или снизу вверх),
Выделение геометрических примитивов 293 а в поле Process - тип поиска (определяется либо только первый перепад яркости в направлении поиска, либо первый и последний, либо осуществляется поиск всех границ) - рис. 4.2.21. Также возможно получать координаты только последней най- денной границы. Для этого на вход ВП в поле Process (тип поиска) нужно подать значение Get All Edges (поиск всех границ), а на выходе снимать значения только с терминала Last Edges (последний найденный перепад яркости). На выходе функ- ции формируются списки координат границ (First Edges, Last Edges, All Edges) и опорных линий (Line Coordinates), а также массив, содержащий номера опорных линий, на которых были найдены границы (Lines with Edges). Рис. 4.2.21. Поиск граничных точек с помощью ВП IMAQ Rake Выделение линий, близких к окружностям Функция IMAQ: Concentric Rake ВП IMAQConcentric Rake (рис. 4.2.23) полностью аналогичен ВП IMAQRake за исключением того, что опорные линии строятся не как параллельные линии в за- данной прямоугольной области, а как концентрические окружности в заданном круговом секторе. Результат выполнения функции IMAQ Concentric Rake представлен на рис. 4.2.24, а блок-диаграмма к данному примеру приведена на рис. 4.2.25. Функция IMAQ: Spoke Функция IMAQSpoke (колесная спица) - рис. 4.2.26 - позволяет найти границы вдоль радиальных линий, проведенных в заданной кольцевой области на изобра- жении.
294 Методы анализа изображений Рис. 4.2.22. Блок-диаграмма примера для функции IMAQ Rake SubPixel Information Edge Parameters Image ROI Descriptor Step Size Scan Direction error in (no error) First Edges Last Edges All Edges Lines Radius error out Process Lines With Edges Рис. 4.2.23. Функция IMAQ Concentric Rake Рис. 4.2.24. Пример использования функции IMAQ Concentric Rake
Выделение геометрических примитивов 295 Рис. 4.2.25. Блок-диаграмма приложения, демонстрирующего использование функций IMAQ Concentric Flake SubPixel Information Edge Parameters Step Size Scan Direction error in [no error] Process All Edges Line Coordinates error out Lines with Edges Рис. 4.2.26. Функция IMAQ Spoke Принцип действия данного ВП в целом анало- гичен ВП IMAQ Concentric Rake (рис. 4.2.27), однако, отличается тем, что опорные линии яв- ляются радиусами (что отражено в названии ВП IMAQ Spoke) заданного кольца или сектора кольца. Величина угла на входном терминале Step Size определяет частоту проведенных ради- альных опорных линий. Направление поиска Риа щ22д Пример применения границ вдоль опорных линий (к центру или от операции IMAQ Spoke центра заданной кольцевой области) указывает- ся в поле Scan Direction. Блок-диаграмма, иллюстрирующую работу IMAQ Spoke, представлена на рис. 4.2.28.
296 Методы анализа изображений Рис. 4.2.28. Блок-диаграмма примера применения функции IMAQ Spoke 4.3. Обнаружение объектов, заданных эталонами 4.3.1. Методы обнаружения объектов, заданных эталонами В этой группе методов предполагается, что для каждого класса объектов известно одно или несколько эталонных изображений. На основе этой информации необ- ходимо классифицировать каждое вновь предъявляемое изображение. Корреляционное обнаружение Традиционная техника сравнения изображения с эталоном основывается на рас- смотрении изображений как двумерных функций яркости (дискретных двумер- ных матриц интенсивности). При этом измеряется либо расстояние между изоб- ражениями, либо мера их близости. Как правило, для вычисления расстояний между изображениями использует- ся следующая формула: p(/.g) = .(-Ч)еА' (4.3.1) где f(x,y), - функции интенсивности Х-апертуры зоны поиска; величина ае [1,°°] определяет характеристики используемой метрики. Очевидно, что при а = 2, это выражение описывает обычное евклидово расстояние между изображе- ниями, понимаемыми как векторы, принадлежащие пространству L2(x,y) на поле зрения Х-функций с интегрируемым квадратом.
Обнаружение объектов, заданных эталонами 297 Пусть дано п эталонных изображений {gj, i = каждое из которых соответ- ствует г-му классу. Отнесение вновь предъявляемого фрагмента изображения f к некоторому классу j может осуществляться, например, по методу минимального расстояния до соответствующего эталона: ; = argmin(p(/,g;)). (4.3.2) I Этот простейший метод имеет два основных недостатка: • критерий обнаружения зависит от линейных размеров эталона и изображе- ния; • критерий обнаружения не инвариантен даже к простейшим фотографичес- ким преобразованиям яркости вида f’ = af+ b. Более приемлемым поэтому является использование корреляционной метри- ки, а именно - нормированного коэффициента корреляции. f^(g(x,y)-g° ) k(f,g) = -=(x’y),EX _ , (4.3.3) V(x,//)eX V(x,?/)eX где f, g° - средние значения интенсивности для изображений соответственно /ng Нормированный коэффициент корреляции обладает следующими хорошо из- вестными свойствами. • -1 < &(/g) < 1, V/g; • W,g) = О <=> (g = af + b; a>Q, V b); • (k(f,g) = -l)^(g=af+b;a<Q,\/b). Последний случай, как правило, называют «обратным контрастом». Пусть, как и ранее, дано н эталонных изображений {gj, i = 1,..,и, каждое из кото- рых соответствует г-му классу. Обнаружение фрагмента изображения/по методу максимальной корреляционной связи осуществляется тогда по закону: ; = argmax(^(/,gi)). (4.3.4) г После этого, на основании полученного значения максимальной корреляции, может проверяться достоверность детектирования. Если ktj.gy > kmin, то обнару- жение признается достоверным. В противном случае объект считается нераспоз- нанным. Теоретическим обоснованием применения корреляционного метода обнаружения является его строгая оптимальность для обнаружения детермини- рованного сигнала в белом шуме с гауссовым распределением яркостей [9]. Важные недостатки корреляционных схем обнаружения проявляются в при- сутствии радиометрических (яркостных) и особенно геометрических искажений текущего изображения по сравнению с эталонными. Е1аблюдается быстрое умень- шение корреляционной связи при ракурсных искажениях. Особенно критичными являются повороты изображений.
298 Методы анализа изображений Морфологический подход Ю. П. Пытъева Дальнейшим развитием идей корреляционного обнаружения с использованием эталонов является морфологический проекционный подход, предложенный Ю. П. Пытьевым [62]. Суть его заключается в следующем. Пусть изображения являются элементами гильбертова пространства изобра- жений /е Z2, гДе х - поле зрения. Тогда можно говорить о норме изображения |[/|| и расстоянии между изображениями, равном |[/\-/2||> гДе норма понимается как ||/||2 = ^f\x,y)dxdy. (4.3.5) х Далее, пусть задано некоторое выпуклое и замкнутое подмножество изображе- ний ZeZ2. Тогда любому изображению /е£2 может быть поставлено в соответ- ствие такое изображение/mineZ, что IL/min -/II = min{llg -/ll,geZ[. (4.3.6) Легко убедиться, что такое отображение »(/)/—>Z всегда будет проектором в том (алгебраическом) смысле, что »(»(/)) = »(/). Поэтому можно также обозна- чить /min = Prz(f), то есть «/min есть проекция /на Z». Используя введенное понятие проекции, можно определить численную меру близости изображения g к множеству изображений Z, а именно K(g.Z) {морфоло- гический коэффициент корреляции), аналогичную обычной корреляционной мере близости двух изображений: K(g,Z) = \\Prz(g)\\ / 1И Легко убедиться, что морфологический коэффициент корреляции обладает следующими свойствами: 1 . О < K(J,Z) < 1, fE Ц, Ze Ц. 2 . (K(f,Z) = 1) <=> (/eZ). Преимущества морфологического коэффициента корреляции связаны с воз- можностью более полного учета условий регистрации изображений. Пусть про- цесс регистрации изображения описывается при помощи некоторого преобразо- вания tE Т эталонного изображения g(x,y)El,2, где Т - некоторая группа преобразований. Определим форму изображения g как Z = {g’ = t(g), tE Т}. Тогда при помощи Kj(J,g) = K(J,Z) можно сравнивать изображение с эталоном инвари- антно к любым преобразованиям типа Т. Рассмотрим, например, общую модель яркостных преобразований изображе- ния. Пусть эталонное изображение/является двумерной функцией интенсивнос- ти вида /(х-г/) = ^(аг ххХх-г/))>Х = иЛг-, (4.3.7) гДе Xi - индикаторная функция г-й области разбиения кадра, то есть [О, {х,ц)~ё Ai Хг(х,г/) = ( ' , а, - уровень яркости г-й области. [1, (х,г/)еД-
Обнаружение объектов, заданных эталонами 299 Множество изображений «той же формы» имеет вид: 2=- /"(x,y) = £(VZiM)’ (4.3.8) Тогда проекционное преобразование можно считать параметрическим вида b. = b(at), где i = 0,...,С-1, С - количество уровней яркости на изображении. Для любого изображения g(x,y) проекция Pr^g) определяется тогда набором параметров b вида ]]ё(т.г/)Х;(х,г/)Дгс/г/ bt =-i—, г = 1,...,С-1. (4.3.9) Вычисление этих параметров не сопряжено с трудностями и сколько-нибудь значительными вычислительными затратами. После вычисления проекции изоб- ражения g на форму эталона /коэффициент морфологической корреляции K(g,f) вычисляется непосредственно. По аналогии с обычным корреляционным обнаружением, морфологическое обнаружение изображения /по принципу максимума корреляционного коэффи- циента осуществляется по правилу: ; = argmax(Kr(/,g,)). (4.3.10) I После этого, на основании полученного значения максимальной корреляции, может проверяться достоверность классификации. Если KgJ.g,) > 7Cmin, то обнаружение признается достоверным. В противном случае объект считается нераспознанным. Теперь можно проанализировать соотношение между обычной нормирован- ной взаимно корреляционной функцией ku и коэффициентом морфологической корреляции km *"'Ж' <4'ЗЛ1) *.,=И (4.342) Геометрическую разницу между этими двумя величинами иллюстрирует рис. 4.3.1, где обозначено а = arccos ku, |3 = arccos k,u. При этом связь между коэффициентами корреляции имеет вид: km > \ku\. Значительный интерес представляет случай, когда морфологическая и обыч- ная корреляции совпадают: kn,= /„|.
300 Методы анализа изображений Рис. 4.3.1. Геометрическая интерпретация нормированной взаимно корреляционной функции ku и коэффициента морфологической корреляции km Условия равенства морфологической и обычной корреляции имеют вид: (V'X;) = ac., (4.3.13) Ц; где a - свободный параметр. Условия (4.3.13) имеют весьма строгий характер, означая, что для совпадения морфологической и обычной корреляционных функций необходимо, чтобы сред- ние значения яркости функций/и V совпадали с точностью до постоянного мно- жителя по всем областям разбиения поля зрения. Рассмотрим двухградационное эталонное изображение/, состоящее из объек- та с яркостью с, и площадью ц2 на фоне яркости q и площади и пусть изображе- ние п есть изображение того же объекта, но сдвинутое в некотором направлении - рис. 4.3.2. Математическое исследование показывает, что при центрированной величине функций V и f в двухградационном случае морфологическая и обычная корреляци- онная функции идентичны. Следует отметить, что, обладая высокой устойчивостью к радиометрическим преобразованиям и зашумлениям, морфологические алгоритмы обнаружения (по Пытьеву), не обеспечивают в то же время необходимой робастности при геомет- рических искажениях. Кроме того, морфологический подход к обнаружению порождает и еще одну, новую трудность - необходимость параллельного анализа так называемой ин- формативности изображения. Дело в том, что однородное поле зрения идеально коррелирует с любым объектом, и чтобы использовать морфологический корре- лятор адекватно, нужно следить, чтобы «информативность» сравниваемых изоб- ражений была достаточной, то есть чтобы их яркостно-геометрические свойства были достаточно богатыми. По этим же причинам уровень аномальных ошибок
Обнаружение объектов, заданных эталонами 301 морфологического коррелятора может превосходить соответствующие показате- ли обычных корреляционных алгоритмов. Согласованная фильтрация Если изображение рассматривается не как полутоновое, а как бинарное, то в этом случае эталонное обнаружение объектов сводится к процедуре согласованной фильтрации. Согласованная фильтрация представляет собой разновидность оконной филь- трации. При этом создается окно, совпадающее по форме с искомым объектом, назначается центральный пиксель окна (reference point), после чего производится проход окном по входному изображению. В каждом возможном положении окна подсчитывается число ненулевых элементов окна. Если это число больше некото- рого порога (ранга), то принимается решение об обнаружении объекта в этой точ- ке, и в центральный пиксель текущего окна на выходном изображении (предвари- тельно обнуленном) выставляется значение 1. Иногда при этом еще проверяется то условие, что в «окаймлении» согласованного окна число единиц не превышает некоторого порога («согласованная фильтрация с окаймлением»). Обобщенное преобразование Хафа В предыдущей главе было описано преобразование Хафа, которое позволяет быс- тро и устойчиво обнаруживать графические примитивы, описываемые аналити- ческими уравнениями: прямые линии, окружности, эллипсы и т. п. Позднее метод голосования контурных точек в пространство параметров был обобщен и на слу- чай кривых, не описываемых в аналитической форме [82]. В такой наиболее об- щей форме он получил наименование обобщенного преобразования Хафа (GEIT). Попробуем обобщить изложенную ранее схему обнаружения окружностей извес- тного радиуса, использующую информацию об ориентации вектора-градиента в кон- турных точках, на случай обнаружения объектов произвольной формы (рис. 4.3.3). В этом случае существенно то, что расстояние R от текущего пикселя границы больше не константа, а является функцией R(Q) от угла краевой ориентации 0; и угол направления на центр <р от краевого пикселя больше не равен 0, а является Рис. 4.3.3. Идея обобщенного преобразования Хафа
302 Методы анализа изображений функцией ср(0). Мы можем переписать это в форме R = R(R(9),<p(f))), или, еще про- ще, как R(&). В дополнение, в общем случае «центр» должен заново интерпретиро- ваться как условная точка локализации L. Выбор точки локализации L не является единственным и может регулировать ошибки. В общем случае следует ожидать, что положение точки локализации рядом с центром тяжести периметра объекта минимизирует ошибки, обусловленные неточностью оценки ориентации края. Для определения простых форм, включая форму круга, функция Д(0) может быть описана аналитически. Однако для большинства форм это невозможно. Ballard показал, что подход еще остается жизнеспособным, так как для запомина- ния информации о форме можно использовать просмотровые таблицы (look-up- table), содержащие дискретные значения Д(0) для различных значений углов. Из данного описания GHT непосредственно следует, что оно является инвариант- ным к вращению. Таким образом, преобразование Хафа, GHT и их различные модификации обеспечивают инвариантное обнаружение геометрических примитивов и объек- тов на изображении с высокой степенью помехозащищенности и значительной точностью определения параметров местоположения и ориентации. Существен- ным ограничением применимости этой группы методов является то, что опи- санные алгоритмы обнаруживают не сами полутоновые объекты, а их контуры. Поэтому объекты, не имеющие четко выраженного контура, не могут быть под- вергнуты детектированию с использованием GHT. 4.3.2. Функции привязки эталонов в IMAQ Vision Функция IMAQ: Shape Match Tool Данный инструмент (рис. 4.3.4) позволяет находить предметы на изображении по их известным очертаниям. Scale Invariance? (Yes) Tolerance Image Src Image Template ^5= n Image Dst error in [no error) Image Dst Out Number of Matches Shape Report error out Connectivity 4/8 (8) Рис. 4.3.4. Функция IMAQ Shape Match Tool На вход данной функции, помимо исходного изображения, подается также би- нарное эталонное изображение искомого предмета. Важной особенностью IMAQ Shape Match Tool является то, что он способен находить на изображении объекты, схожие по очертаниям с эталонными, но при этом отличающиеся от них по масш- табу (более крупные или более мелкие) - рис. 4.3.5. Блок-диаграмма данного ВП представлена на рис. 4.3.6.
Обнаружение объектов, заданных эталонами 303 Рис. 4.3.5. Пример работы функции IMAQ Shape Match Tool Показаны: исходное изображение (вверху слева), эталон (вверху справа), найденные объекты (внизу) Функция IMAQ: Rotation Detect Функция IMAQRotation Detect (обнаружить вращение) - рис. 4.3.7 - позволяет определить угол, на который было повернуто изображение или его часть. В качестве входных параметров данной функции задаются опорные координа- ты центра области, которая в дальнейшем будет поворачиваться, координаты цен- тра области, внутри которой будет производиться определение угла поворота, ра-
304 Методы анализа изображений Рис.4.3.6. Блок-диаграмма примера использования ВП IMAQ Shape Match Tool Reference Center..... Image 2 Center ===== Reference Image = Radius error in (no error) Angle (rad] Angle (deg) Precision (degrees) Рис. 4.3.7. Функция IMAQ Rotation Detect диус области поиска и два изображения: опорное (исходное) и текущее (обраба- тываемое). Также необходимо указать точность, с которой определяется угол по- ворота. В примере, показанном на рис. 4.3.8, в качестве центра области поворота и цен- тра области поиска используются координаты центров соответствующих изобра- жений. Тестируемое изображение было предварительно повернуто на 90° по часо- вой стрелке (то есть 270° против часовой стрелки). Функция IMAQ Rotation Detect определила угол поворота в 270.25°, что говорит о достаточной точности вычислений. Блок-диаграмма примера приведена на рис. 4.3.9.
Обнаружение объектов, заданных эталонами 305 Рис.4.3.8. Фрагмент лицевой панели упражнения для функции IMAQ Rotation Detect Рис. 4.3.9. Блок-диаграмма приложения, демонстрирующего применение IMAQ Rotation Detect
306 Методы анализа изображений 4.4. Измерения на изображениях 4.4.1. Функции геометрических измерений в IMAQ Vision Функции Ю-измерений Функция IMAQ: Caliper Tool Функция IMAQ Caliper Tool (штангенциркуль) - рис. 4.4.1 - позволяет найти парные границы на изображении, а также определить их параметры: • контраст начальной и конечной границ; • координаты границ; • расстояние между границами. Edge Parameters Image Image ~ Caliper Report Pixel Coordinates , ^Edge Coordinates SubPixel Information ™®||..I—j ।—Number of Edge Pairs error out error in (по error) Caliper Parameters Рис. 4.4.1. Функция IMAQ Caliper Tool Одним из параметров поиска является тип границ в паре. Так, например, можно задать, что первая граница должна являться «темной» (то есть переход должен осуществляться от более темного к более светлому тону), а вторая - «светлой» (от более светлого к более темному). Всего можно выбрать пять вари- антов искомых пар: • светлая-темная; • темная-светлая; • светлая-светлая; • темная-темная; • любая-любая. Необходимо учитывать, что если при поиске границ, например, типа «темная- светлая» на изображении присутствуют, скажем, три четких границы (допустим, «темная» и далее две «светлых»), то функция Caliper сможет определить только наличие двух пар границ (пары 1-2 и 1-3 соответственно). Если в той же ситуа- ции выбрать параметр поиска «светлая-светлая», то будет найдена одна пара гра- ниц: 2-3. Пример работы функции IMAQ Caliper Tool представлен на рис. 4.4.2, блок- диаграмма - на рис. 4.4.3.
Измерения на изображениях 307 Рис. 4.4.2. Пример применения функции IMAQ Caliper Tool Рис. 4.4.3. Блок-диаграмма применения ВП IMAQ Caliper Tool Функция IMAQ: Line Gauge Функция IMAQ Line Gauge (рис. 4.4.4) позволяет измерять расстояния между гра- ницами на изображении с высокой степенью точности (вплоть до 1/12 пикселя). Измерения производятся на заданной линии. Пользователь может выбрать один из следующих режимов измерений:
308 Методы анализа изображений SubPixel Information™™™ 1 mage Line Coordinates -1 g™™ “1 A N Distances Edge Parameters 1 H Measurement Type —' error in [no error] Offset Дпау™™== New Reference™™™™ 1—f™” error out Рис. 4.4.4. Функция IMAQ Line Gauge • граница-граница; • точка-граница; • граница-точка; • точка-точка. Границы (перепады яркости на заданном отрезке) находятся данной функци- ей автоматически, причем если выбран режим 1, то используются первая и после- дняя из них. Под точками подразумеваются начало и конец линии. Рисунок 4.4.5 демонстрирует результат выполнения ВП IMAQ Line Gauge, блок-диаграмма представлена на рис. 4.4.6. Рис. 4.4.5. Пример использования функции IMAQ Line Gauge Функции 2О-измерений Функция IMAQ: Clamp Horizontal Max Функция IMAQ Clamp Horizontal Max (рис. 4.4.7), находящаяся в палитре Machine Vision => Measure Distances, позволяет определить горизонтальные раз- меры (толщину) изображения.
Измерения на изображениях 309 Рис. 4.4.6. Блок-диаграмма примера для функции IMAQ Line Gauge Image Coordinate System error in (no error) Image Out Coordinate System (duplicate) error out Рис. 4.4.7. Функция IMAQ Clamp Horizontal Max В качестве входных параметров данная функция получает прямоугольную об- ласть интереса, в которой должно производиться измерение. Можно также задать набор параметров функции определения границ, сходный с параметрами функ- ций типа IMAQ Find Edge. На рис. 4.4.8 продемонстрированы результаты обра- ботки ВП IMAQ Clamp Horizontal Мах на примере изображения бутылки. Блок-диаграмма примера показана на рис. 4.4.9. Аналогичным образом проводятся измерения в функциях IMAQ Clamp Horizontal Min, IMAQ Clamp Vertical Max и IMAQ Clamp Vertical Min. Функция IMAQ: Polygon Area Функция IMAQPolygon Area (рис. 4.4.10) позволяет определить площадь многоугольника, образованного заданным массивом точек. При этом количество то- чек во входном массиве Vertex Points должно быть не менее трех. Рис. 4.4.8. Результат работы примера, использующего функцию IMAQ Clamp Horizontal Max
310 Методы анализа изображений Рис. 4.4.9. Блок-диаграмма приложения, демонстрирующего использование ВП IMAQ Clamp Horizontal Max Vertei Points «иииииииа error in (no error) Area error out Рис. 4.4.10. Функция IMAQ Polygon Area Пример вычисления площади функцией IMAQ Polygon Area представлен на рис. 4.4.11, блок-диаграмма - на рис. 4.4.12. Рис. 4.4.11. Результат выполнения ВП IMAQ Polygon Area
Измерения на изображениях 311 Рис. 4.4.12. Блок-диаграмма примера для IMAQ Polygon Area 4.4.2. Функции яркостных измерений в IMAQ Vision Функция IMAQ: Light Meter (Rectangle) Функция IMAQ Light Meter (Rectangle) - рис. 4.4.13 - выполняет измерения яркости пикселей в выбранной прямоугольной области интереса. Show Search Area i r “““Histogram о Rectangle «rr ^=j'^"Gray Level Intensities Coordinate System Л f 'Coordinate System (duplicate) error in (no error) ==S error out Рис. 4.4.13. Функция IMAQ Light Meter (Rectangle) Входными параметрами ВП IMAQLight Meter (Rectangle) являются: • исходное изображение Image; • область интереса Rectangle; • система координат Coordinate System, связанная с областью интереса Rectangle; • параметр Show Search Area, определяющий, показывать ли прямоуголь- ник, обрамляющий выделенную область интереса; • сообщение об ошибках error in (no error), полученных с выхода других вир- туальных приборов. На выходе IMAQLight Meter (Rectangle) возвращает: • изображение Image Out, являющееся копией входного изображения Image; • гистограмму Histogram, собранную по области интереса Rectangle; • результаты измерений Gray Level Intensities, включающие в себя: - Mean Intensity - среднее значение яркости в области интереса; Standard Deviation CKO яркости в области интереса;
312 Методы анализа изображений - Starting Value - минимальное значение яркости в области интереса; - Maximum Intensity - максимальное значение яркости в области интереса; • систему координат Coordinate System (duplicate) - копию системы коор- динат, поданной на вход; • сообщение об ошибках error out, возникающих в результате работы IMAQ Light Meter (Rectangle). На рис. 4.4.14 представлена лицевая панель примера, демонстрирующего воз- можности функции IMAQLight Meter (Rectangle), соответствующая блок-диаг- рамма - на рис. 4.4.15. Рис. 4.4.14. Построение гистограммы по области интереса изображения, выполненное ВП IMAQ Light Meter (Rectangle) Аналогичным образом работают функции яркостных измерений IMAQ Light Meter (Point) и IMAQLight Meter (Line), отличающиеся только способом выбо- ра области измерений. 4.5. Считывание символьной информации 4.5.1. Задача оптического распознавания символов (OCR) Задача распознавания текстовой информации при переводе печатного и рукопис- ного текста в электронную форму является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедре-
Считывание символьной информации 313 Рис. 4.4.15. Блок-диаграмма приложения, демонстрирующего использование функций IMAQ IMAQ Light Meter (Rectangle) ние безбумажных технологий. Вместе с тем эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Даже человек, читающий рукописный текст в отрыве от контекста, делает в сред- нем около 4% ошибок. Между тем, в наиболее ответственных приложениях OCR необходимо обеспечивать более высокую надежность распознавания (свыше 98- 99%) даже при плохом качестве печати и оцифровки исходного текста. В последние десятилетия, благодаря использованию современных достиже- ний компьютерных технологий, были развиты новые методы обработки изобра- жений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как, например, FineReader, которые удовлетворяют основным требованиям систем автоматизации докумен- тооборота. Тем не менее создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследова- ний в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача. Типовые проблемы, связанные с распознаванием символов Имеется ряд существенных проблем, связанных с распознаванием рукописных и печатных символов. Наиболее важные из них следующие:
314 Методы анализа изображений • разнообразие форм начертания символов; • искажение изображений символов; • вариации размеров и масштаба символов. Каждый отдельный символ может быть написан различными стандартными шрифтами, например Times, Gothic, Elite, Courier, Orator, а также - множеством нестандартных шрифтов, используемых в различных предметных областях. При этом различные символы могут обладать сходными очертаниями. Е1апример, «U» и «V», «S» и «5», «Z» и «2», «G» и «6». Искажения цифровых изображений текстовых символов могут быть вызваны: • шумами печати, в частности непропечаткой (разрывами слитных черт сим- волов), «слипанием» соседних символов, пятнами и ложными точками на фоне вблизи символов и т. п.; • смещением символов или частей символов относительно их ожидаемого положения в строке; • изменением наклона символов; • искажением формы символа за счет оцифровки изображения с «грубым» дискретом; • эффектами освещения (тени, блики и т. п.) при съемке видеокамерой. Существенным является и влияние исходного масштаба печати. В принятой терминологии масштаб 10, 12 или 17 означает, что в дюйме строки помещаются 10, 12 или 17 символов. При этом, например, символы масштаба 10 обычно круп- нее и шире символа масштаба 12. Система оптического распознавания текста (OCR), должна выделять на циф- ровом изображении текстовые области, выделять в них отдельные строки, затем - отдельные символы, распознавать эти символы и при этом быть нечувствитель- ной (устойчивой) по отношению к способу верстки, расстоянию между строками и другим параметрам печати. Структура систем оптического распознавания текстов Системы OCR состоят из следующих основных блоков, предполагающих аппа- ратную или программную реализацию: • блок сегментации (локализации и выделения) элементов текста; • блок предобработки изображения; • блок выделения признаков; • блок распознавания символов; • блок постобработки результатов распознавания. Эти алгоритмические блоки соответствуют последовательным шагам обработ- ки и анализа изображений. Сначала осуществляется выделение текстовых областей, строк и разбиение связных текстовых строк на отдельные знакоместа, каждое из которых соответ- ствует одному текстовому символу. После разбиения (а иногда до или в процессе разбиения), символы, представ- ленные в виде двумерных матриц пикселей, подвергаются сглаживанию, фильт-
Считывание символьной информации 315 рации с целью устранения шумов, нормализации размера, а также другим преоб- разованиям с целью выделения образующих элементов или численных призна- ков, используемых впоследствии для их распознавания. Распознавание символов происходит в процессе сравнения выделенных ха- рактерных признаков с эталонными наборами и структурами признаков, форми- руемыми и запоминаемыми в процессе обучения системы на эталонных и/или ре- альных примерах текстовых символов. На завершающем этапе смысловая или контекстная информация может быть использована как для разрешения неопределенностей, возникающих при распоз- навании отдельных символов, обладающих идентичными размерами, так и для корректировки ошибочно считанных слов и даже фраз в целом. Методы предобработки и сегментации изображений текстовых символов Предобработка является важным этапом в процессе распознавания символов и позволяет производить сглаживание, нормализацию, сегментацию и аппроксима- цию отрезков линий. Под сглаживанием в данном случае понимается большая группа процедур обра- ботки изображений, многие из которых были рассмотрены в главе 3 данной книги. В частности, широко используются морфологические операторы заполнения и утончения. Заполнение устраняет небольшие разрывы и пробелы. Утончение пред- ставляет собой процесс уменьшения толщины линии, в которой на каждом шаге области размером в несколько пикселей ставится в соответствие только один пик- сель «утонченной линии». Морфологический способ реализации подобных опера- ций на базе операторов расширения и сжатия Серра был описан в разделе 3.5. Рассмотрим также один специальный алгоритм бинарной фильтрации изобра- жений текстовых символов, получивший название стирание бахромы. Под «бах- ромой» здесь понимаются неровности границ символа, которые мешают, во-пер- вых, правильно определить его размеры, а во-вторых, искажают образ символа и мешают его дальнейшему распознаванию по контурному признаку. Суть алгоритма заключается в последовательном стирании крайних элемен- тов. Пусть в качестве апертуры фильтра выбрана окрестность второго порядка размером 3x3. Введем понятие крайнего верхнего пикселя. Крайним верхним пикселем будем называть такой пиксель Х^, в апертуре 3x3 которого наблюдаются следующие сочетания: 0 0 0 0 0 0 0 0 0 а)0 1 о, б)о 1 о, в)0 1 о, 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 г) 0 1 о, д)0 1 о, е) 0 1 0. 1 1 0 0 1 1 1 1 1 Здесь 0 обозначает элемент фона, 1 - элемент символа.
316 Методы анализа изображений С помощью поворота матриц (а)-(е) на 90°, 180° и 270° мы получим определение соответственно крайнего левого, крайнего нижнего и крайнего правого пикселей. При фильтрации, имеющей целью стирание бахромы, все определенные таким образом краевые пиксели стираются. Стираются также изолированные пиксели, не имеющие соседних пикселей символа в апертуре 3x3: ООО ж) 0 1 0. ООО Остальные (пиксели, не являющиеся крайними или изолированными) пере- носятся на отфильтрованное изображение без изменения. По аналогии с описанным стиранием бахромы из единиц можно ввести стира- ние бахромы из нулей. При этом «краевые нули», апертуры которых соответству- ют матрицам (а)-(ж) с заменой единиц на нули и нулей на единицы, также «сти- раются», то есть замещаются единицами. Наконец, можно определить алгоритм комбинированного стирания бахромы'. по единицам (по символу) и по нулям (по фону) одновременно. Помимо предоб- работки изображений в системах OCR, комбинированное стирание бахромы мо- жет быть использовано также и в других системах машинного зрения с целью по- давления помех на бинарных изображениях без искажения контуров объектов. Геометрическая нормализация изображений документов подразумевает ис- пользование алгоритмов, устраняющих наклоны и перекосы отдельных симво- лов, слов или строк, а также включает в себя процедуры, осуществляющие норма- лизацию символов по высоте и ширине после соответствующей их обработки. Процедуры сегментации осуществляют разбиение изображения документа на отдельные области. Как правило, прежде всего необходимо отделить печатный текст от графики и рукописных пометок. Далее большинство алгоритмов опти- ческого распознавания разделяют текст на символы и распознают их по отдельно- сти. Это простое решение действительно наиболее эффективно, если только сим- волы текста не перекрывают друг друга. Слияние символов может быть вызвано типом шрифта, которым был набран текст, плохим разрешением печатающего ус- тройства или высоким уровнем яркости, выбранным для восстановления разор- ванных символов. Дополнительное разбиение текстовых областей и строк на слова целесообраз- но в том случае, если слово является состоятельным объектом, в соответствии с которым выполняется распознавание текста. Подобный подход, при котором единицей распознавания является не отдельный символ, а целое слово, сложно реализовывать из-за большого числа элементов, подлежащих запоминанию и рас- познаванию, но он может быть полезен и весьма эффективен в конкретных част- ных случаях, когда набор слов в кодовом словаре существенно ограничен по усло- вию задачи. Под аппроксимацией отрезков линий понимают составление графа описания символа в виде набора вершин и прямых ребер, которые непосредственно аппрок- симируют цепочки пикселей исходного изображения. Данная аппроксимация
Считывание символьной информации 317 осуществляется для уменьшения объема данных и может использоваться при рас- познавании, основанном на выделении признаков, описывающих геометрию и то- пологию изображения. Признаки символов, используемые для автоматического распознавания текста Считается, что выделение признаков является одной из наиболее трудных и важ- ных задач в распознавании образов. Для распознавания символов может быть ис- пользовано большое количество различных систем признаков. Проблема заклю- чается в том, чтобы выделить именно те признаки, которые позволят эффективно отличать один класс символов от всех остальных в данной конкретной задаче. Ниже описан ряд основных методов распознавания символов и соответствую- щих им типов признаков, вычисляемых на основе цифрового изображения. Сопоставление изображений и шаблонов. Эта группа методов основана на непосредственном сравнении изображений тестового и эталонного символов. При этом вычисляется степень сходства между образом и каждым из эталонов. Классификация тестируемого изображения символа происходит по методу бли- жайшего соседа. Ранее мы уже рассматривали методы сравнения изображений в разделе 4.3, а именно - методы корреляции и согласованной фильтрации изоб- ражений. С практической точки зрения эти методы легко реализовать, и многие коммер- ческие системы OCR используют именно их. Однако при «лобовой» реализации корреляционных методов даже небольшое темное пятнышко, попавшее на вне- шний контур символа, может существенно повлиять на результат распознавания. Поэтому для достижения хорошего качества распознавания в системах, использу- ющих сопоставление шаблонов, применяются другие, специальные способы срав- нения изображений. Одна из основных модификаций алгоритма сравнения шаблонов использует представление шаблонов в виде набора логических правил. Например, символ 000000000 ОООааЪЪООО OOaeeffbOO OaeOOOOfbO OaeOiiOfbO OaeOiiOfbO OaeOOOOfbO OcgOOOOhdO OcgOjjOhdO OcgOjjOhdO OcgOOOOhdO OOcgghhdOO OOOccddOOO 000000000
318 Методы анализа изображений может быть распознан как «ноль», если: (не менее 5 символов «а» являются «1» или не менее 4 символов «е» = «1») И (не менее 5 символов «Ъ» являются «1» или не менее 4 символов «f> = «1») И (не менее 5 символов «с» являются «1» или не менее 4 символов «g> = «1») И (не менее 5 символов «d> являются «1» или не менее 4 символов «И» = «1») И (по крайней мере, 3 символа «i> являются «О») И (по крайней мере, 3 символа «j> являются «О»). Статистические характеристики. В данной группе методов выделение при- знаков осуществляется на основе анализа различных статистических распределе- ний точек. Наиболее известные методики этой группы используют вычисление мо- ментов и подсчет пересечений. Моменты различных порядков с успехом используются в самых различных об- ластях машинного зрения в качестве дескрипторов формы выделенных областей и объектов (см. раздел 4.1). В случае распознавания текстовых символов, в каче- стве набора признаков используют значения моментов совокупности «черных» точек относительно некоторого выбранного центра. Наиболее общеупотреби- тельными в приложениях такого рода являются построчные, центральные и нор- мированные моменты. Для цифрового изображения, хранящегося в двумерном массиве, построчные моменты являются функциями координат каждой точки изображения следующе- го вида: mpq = х=0 г/=0 r]\ep,q = 0,1,...,°°; Л/ и Л'являются размерами изображения по горизонтали и верти- кали; f(x,y) является яркостью пикселя в точке (х,у) на изображении. Центральные моменты являются функцией расстояния точки от центра тяже- сти символа: тРЧ = х=0 у=П где х и у «с чертой» - координаты центра тяжести. Нормированные центральные моменты получаются в результате деления цен- тральных моментов на моменты нулевого порядка. Следует отметить, что строковые моменты, как правило, обеспечивают более низкий уровень распознавания. Центральные и нормированные моменты более предпочтительны вследствие их большей инвариантности к преобразованиям изображений. В методе пересечений признаки формируются путем подсчета того, сколько раз и каким образом произошло пересечение изображения символа с выбранными прямыми, проводимыми под определенными углами. Этот метод часто использу- ется в коммерческих системах благодаря тому, что он инвариантен к дисторсии и небольшим стилистическим вариациям написания символов, а также обладает
Считывание символьной информации 319 достаточно высокой скоростью и не требует высоких вычислительных затрат. На рис. 4.5.1 показано эталонное изображение символа R, система секущих прямых, а также вектор расстояний до эталонных векторов. На рис. 4.5.2 представлен при- мер реального изображения символа R. Цветом также помечена строка, соответ- ствующая ближайшему соседу. М1Ш1И»ке: U.UI* Рис. 4.5.2. Реальное изображение символаR Рис. 4.5.1. Эталонное изображение символаR Метод зон предполагает разделение площади рамки, объемлющей символ, на области и последующее использование плотностей точек в различных областях в качестве набора характерных признаков. На рис. 4.5.3 показано эталонное изоб- ражение символа R, а на рис. 4.5.4 - реальное изображение символа R, полученное путем сканирования изображения документа. На обоих изображениях приводят- ся разбиение на зоны, пиксельные веса каждой зоны, а также вектор расстояний до эталонных векторов эталонных символов. Цветом помечена строка, соответ- ствующая найденному ближайшему соседу. Рис. 4.5.4. Реальное изображение символа R: К = 0.387 Рис. 4.5.3. Эталонное изображение символаR
320 Методы анализа изображений В методе матриц смежности в качестве признаков рассматриваются частоты совместной встречаемости «черных» и «белых» элементов в различных геометри- ческих комбинациях. Метод характеристических мест (characteristic-loci) ис- пользует в качестве признака число раз, которое вертикальный и горизонтальный векторы пересекают отрезки линий для каждой светлой точки в области фона символа. Существует также множество других методов данной группы. Интегральные преобразования. Среди современных технологий распознава- ния, основанных на преобразованиях, выделяются методы, использующие Фу- рье-дескрипторы символов, а также частотные дескрипторы границ. Преимущества методов, использующих преобразования Фурье-Меллина, свя- заны с тем, что они обладают инвариантностью к масштабированию, вращению и сдвигу символа. Основной недостаток этих методов заключается в нечувстви- тельности к резким скачкам яркости на границах: к примеру, по спектру про- странственных частот сложно отличить символ «О» от символа «Q» и т. п. В то же время при фильтрации шума на границах символа это свойство может оказаться полезным. Анализ структурных составляющих. Структурные признаки обычно исполь- зуются для выделения общей структуры образа. Они описывают геометрические и топологические свойства символа. Проще всего представить идею структурного распознавания символа текста применительно к задаче автоматического считыва- ния почтовых индексов. В таких «трафаретных» шрифтах положение каждого возможного отрезка-штриха заранее известно, и один символ отличается от дру- гого не менее чем наличием или отсутствием целого штриха. Аналогичная задача возникает и в случае контроля простых жидкокристаллических индикаторов (см. ниже описание функции IMAQ OCR Read LCD). В таких системах выделение структурных составляющих сводится к анализу элементов заранее известного трафарета (набора отрезков, подлежащих обнаружению). В системах структурного распознавания более сложных шрифтов часто ис- пользуемыми признаками также являются штрихи, применяемые для определе- ния следующих характерных особенностей изображения: концевых точек, точек пересечения отрезков, замкнутых циклов, а также их положения относительно рамки, объемлющей символ. Рассмотрим, например, следующий способ струк- турного описания символа. Пусть матрица, содержащая утонченный символ, раз- делена на девять прямоугольных областей (в виде сетки 33), каждой из которых присвоен буквенный код от «А» до «I». Символ рассматривается как набор штри- хов. При этом штрих, соединяющий некоторые две точки в начертании символа, может являться линией (L) или кривой (С). Штрих считается отрезком (дугой) кривой, если его точки удовлетворяют следующему выражению: \ 2 , > 2 \ 1(2 Ь ABS | -----------------------1> 0.69, п ^\tXj +byl + с.
Считывание символьной информации 321 в противном случае считается, что это прямолинейный отрезок. В данной формуле (хру,) является точкой, принадлежащей штриху; ах + by + с = 0 - уравнение пря- мой, проходящей через концы штриха, коэффициент 0.69 получен опытным пу- тем. Далее символ может быть описан набором своих отрезков и дуг. Например, запись {«ALC», «ACD»} означает наличие прямой, проходящей из области «А» в область «С», и кривой, проходящей из области «А» в область «D» соответственно. Основное достоинство структурных методов распознавания определяется их устойчивостью к сдвигу, масштабированию и повороту символа на небольшой угол, а также - к возможным дисторсиям и различным стилевым вариациям и не- большим искажениям шрифтов. Классификация символов В существующих системах OCR используются разнообразные алгоритмы класси- фикации, то есть отнесения признаков к различным классам. Они существенно различаются в зависимости от принятых наборов признаков и применяемой по отношению к ним стратегии классификации. Для признаковой классификации символов необходимо, в первую очередь, сформировать набор эталонных векторов признаков по каждому из распознавае- мых символов. Для этого на стадии обучения оператор или разработчик вводит в систему OCR большое количество образцов начертания символов, сопровож- даемых указанием значения символа. Для каждого образца система выделяет признаки и сохраняет их в виде соответствующего вектора признаков. Набор век- торов признаков, описывающих символ, называется классом, или кластером. В процессе эксплуатации системы OCR может появиться необходимость рас- ширить сформированную ранее базу знаний. В связи с этим некоторые системы обладают возможностью дообучения в реальном режиме времени. Задачей собственно процедуры классификации, шш. распознавания, выполняе- мой в момент предъявления системе тестового изображения символа, является определение того, к какому из ранее сформированных классов принадлежит век- тор признаков, полученный для данного символа. Алгоритмы классификации ос- нованы на определении степени близости набора признаков рассматриваемого символа к каждому из классов. Правдоподобие получаемого результата зависит от выбранной метрики пространства признаков. Наиболее известной метрикой признакового пространства является традиционное евклидово расстояние: и=Rx-^)2, I ‘=i где Fjj - z-й признак из у-го эталонного вектора; F\ - z-й признак тестируемого изоб- ражения символа. При классификации по методу ближайшего соседа символ будет отнесен к классу, вектор признаков которого наиболее близок к вектору признаков тести- руемого символа. Следует учитывать, что затраты на вычисления в таких систе- мах возрастают с увеличением количества используемых признаков и классов.
322 Методы анализа изображений Одна из методик, позволяющих улучшить метрику сходства, основана на ста- тистическом анализе эталонного набора признаков. При этом в процессе класси- фикации более надежным признакам отдается больший приоритет: I г'=1 где Wj - вес г-го признака. Другая методика классификации, требующая знания априорной информации о вероятностной модели текста, основана на использовании формулы Байеса. Из правила Байеса следует, что рассматриваемый вектор признаков принадлежит классу «у», если отношение правдоподобия X больше, чем отношение априорной вероятности класса j к априорной вероятности класса i. Постобработка результатов распознавания В ответственных системах OCR качество распознавания, получаемое при распоз- навании отдельных символов, не считается достаточным. В таких системах необ- ходимо использовать также контекстную информацию. Использование контекст- ной информации позволяет не только находить ошибки, но и исправлять их. Существует большое количество приложений OCR, использующих глобальные и локальные позиционные диаграммы, триграммы, п-граммы, словари и различные сочетания всех этих методов. Рассмотрим два подхода к решению этой задачи: сло- варь и набор бинарных матриц, аппроксимирующих структуру словаря. Доказано, что словарные методы являются одними из наиболее эффективных при определении и исправлении ошибок классификации отдельных символов. При этом после распознавания всех символов некоторого слова словарь просмат- ривается в поисках этого слова с учетом того, что оно, возможно, содержит ошиб- ку. Если слово найдено в словаре, это не говорит об отсутствии ошибок. Ошибка может превратить одно слово, находящееся в словаре, в другое, также входящее в словарь. Такая ошибка не может быть обнаружена без использования смысло- вой контекстной информации: только она может подтвердить правильность напи- сания. Если слово в словаре отсутствует, считается, что в слове допущена ошибка распознавания. Для исправления ошибки прибегают к замене такого слова на наиболее похожее слово из словаря. Исправление не производится, если в словаре найдено несколько подходящих кандидатур для замены. В этом случае интерфейс некоторых систем позволяет показать слово пользователю и предложить различ- ные варианты решения, например исправить ошибку, игнорировать ее и продол- жать работу или внести это слово в словарь. Главный недостаток в использовании словаря заключается в том, что операции поиска и сравнения, применяющиеся для исправления ошибок, требуют значительных вычислительных затрат, возрас- тающих с увеличением объема словаря. Некоторые разработчики с целью преодоления трудностей, связанных с ис- пользованием словаря, пытаются выделять информацию о структуре слова из са- мого слова. Такая информация говорит о степени правдоподобия п-граммов (сим-
Считывание символьной информации 323 вольных последовательностей, например пар или троек букв) в тексте. V-граммы также могут быть глобально позиционированными, локально позиционирован- ными или вообще непозиционированными. Например, степень достоверности не- позиционированной пары букв может быть представлена в виде бинарной матри- цы, элемент которой равен 1, тогда и только тогда, когда соответствующая пара букв имеется в некотором слове, входящем в словарь. Позиционная бинарная ди- аграмма Г),. является бинарной матрицей, определяющей, какая из пар букв имеет ненулевую вероятность возникновения в позиции Набор всех позиционных диаграмм включает бинарные матрицы для каждой пары положений. Рассмотрим теперь реализацию средств оптического распознавания символов в пакете IMAQ Vision. Функция IMAQ: OCR Read Text Функция IMAQ OCR Read Text (рис. 4.5.5) распознает текст на изображении в заданной пользователем области. ROI Descriptor IMAQ OCR Session Image error in (no error) IMAQ OCR Session (dup) Image (dup) IMAQ OCR Read Text Рис. 4.5.5. Функция IMAQ OCR Read Text На этапе обучения, необходимо создать базу данных, в которой хранятся эта- лонные изображения символов (букв и цифр) и соответствующие этим эталонам символьные значения. Обучение системы OCR можно произвести как в LabVIEW при помощи ВП IMAQTrain Щ, так и в Vision Assistant (что зачастую существен- но удобнее и быстрее). Читатели могут самостоятельно изучить простой пример, прилагаемый к паке- ту OCR. Для этого необходимо набрать «ост» (без кавычек) в поле поиска приме- ров (Help => Find Examples) и выбрать «OCR Example.vi». Лицевая панель этого ВП представлена на рис. 4.5.6. 4.5.2. Считывание штриховых кодов Задача обнаружения и считывания штриховых кодов на изображениях Штриховые коды - самый распространенный на сегодняшний день тип символь- ных идентификаторов товаров и других предметов, предназначенных для автома- тического считывания. Автоматически считываемые идентификаторы необходимы для эффективного функционирования систем автоматизированного складского учета, автоматизированных систем, используемых в торговле, автоматизирован-
324 Методы анализа изображений Рис.4.5.6. Внешний видлицевой панели ВП OCR Example, vi ных систем контроля и инспекции на производстве. Вы, несомненно, неоднократ- но сталкивались со считывателями штриховых кодов в магазинах и супермарке- тах, где специализированные лазерные считыватели у касс успешно считывают штриховые коды EAN, используемые в торговле для идентификации товаров. Та- кие считыватели с лазерной подсветкой, по сути, анализируют не изображение, а линейный профиль вдоль одной подсвеченной линии (подобный пример мы рассматривали в разделе 3.2). Однако и в торговле и на производстве в последние годы все чаще используются не только линейные считыватели, но и двумерные считыватели на основе CCD-матриц, а также программное обеспечение для офис- ных и промышленных компьютеров, изображения в которые вводятся при помо- щи сканеров и видеокамер. Эта тенденция определяется следующими основными причинами: • штриховые коды в настоящее время бывают не только традиционного ли- нейного типа (прямоугольная область, заполненная вертикальными чер- ными и белыми штрихами различной толщины). В последние десятилетия получили широкое распространение и так называемые двумерные коды, которые позволяют на той же площади разместить существенно больше информации, причем информация в них распределена таким образом, что ее нельзя прочитать, просканировав только одну линию (см. ниже описание нескольких основных типов двумерных кодов). Например, микросхемы на компьютерном производстве в настоящее время, как правило, помечают
Считывание символьной информации 325 двумерным штриховым кодом Data Matrix. Для считывания двумерных ко- дов необходимы считыватели, получающие и анализирующие двумерные изображения; • даже в случае использования одномерных штриховых кодов, из-за различ- ного вида помех и искажений (загрязнение, затирание штрихов, изгиб и ко- робление поверхности, на которую нанесен штриховой код, наличие бликов и т. п.), линейный считыватель далеко не всегда в состоянии быстро и каче- ственно считать информацию, поскольку на линии сканирования могут оказаться помехи. В то же время двумерный считыватель может в анало- гичных условиях решить эту задачу за счет комплексирования информа- ции по всей площади кода, а не только по одной линии. Поэтому вероят- ность считывания у двумерных сканеров выше; • в автоматизированных системах, включающих человека, попадание скани- рующей линии на штриховой код обеспечивает оператор (например, кассир в супермаркете). В полностью автоматических системах (например, при считывании штриховых кодов на изделиях, движущихся по конвейеру) возникает задача автоматического обнаружения заранее неизвестного мес- тоположения штрихового кода, его размера, типа и ориентации (угла на- клона). Эта задача также может быть решена только средствами анализа двумерного изображения. Пакет IMAQ Vision, как и многие другие библиотеки, содержит готовые сред- ства считывания штриховых кодов. Маловероятно, что вам придется самостоя- тельно разрабатывать алгоритмы такого типа. Однако, возможно, вам придется в будущем проектировать комплексные системы технического зрения, и в вашем ведении окажется задача автоматического контроля в целом - начиная от выбора типа штрихового кода и способа его нанесения на контролируемый объект и заканчивая выбором способа его считывания и включением в систему соответ- ствующего аппаратного и программного обеспечения. Вам придется искать комп- ромисс между объемом кодируемой информации, вероятностью устойчивого счи- тывания и стоимостью системы. В этом случае вам пригодится наш краткий обзор типов существующих штриховых кодов, приводимый ниже в данном разделе. Одномерные штриховые коды В настоящее время существует около 200 видов штриховых символик линейных, или одномерных, кодов. Самыми популярными штриховыми кодами являются следующие: Codabar; «interleaved 2 of 5»; код 39; код 93; код 128; UPC-E; EAN-8; EAN-13. Рассмотрим штриховые коды, получившие наиболее широкое распространение. Штриховой код Codabar - дискретный, семиэлементный штриховой код, со- держащий цифры 0...9, знаки «+», «-», «:», «/», «.», знак доллара и четыре строба СТАРТ/СТОП. Буквы штрихового кода Codabar ограничены слева и справа. Изображение буквы состоит из четырех штрихов и трех пробелов. В специальных знаках три широких штриха, а в стробах СТАРТ/СТОП - два широких пробела и один широкий штрих (рис. 4.5.7).
326 Методы анализа изображений а$12345Ь Рис. 4.5.7. Штриховой код Codabar Штриховой код «2 of 5». Буквы кода, обозначающие цифры от 0 до 9, содер- жат пять штрихов, два из которых широкие, а три - узкие. Пятый штрих изобра- жения буквы - дополнительный для контроля по четности. Помимо цифр данный код имеет стробы СТАРТ и СТОП, в изображении которых используются всего три штриха, два из них - широкие. Существует разновидность кода «2 of 5», в которой используется прямое и инвертированное изображение буквы. Про- странство между штрихами заполняется разновеликими пробелами, которые так- же являются носителями информации. Такой код получил название «interleaved 2 of 5». Буквы, находящиеся на нечетных позициях, представляются штрихами, а на четных позициях - пробелами. Код «2 of 5» является дискретным и самопроверяющимся, то есть одиночные ошибки считывания обнаруживаются автоматически. Недостатком кода «2 of 5» является относительно низкая плотность штрихов и пробелов и отсутствие воз- можности кодирования алфавитной информации (рис. 4.5.8). Этот код за рубе- жом используется для сортировки и учета товаров и изделий на складах, нумера- ции авиабилетов и т. п. 1234567890123456 7890 Рис. 4.5.8. Штриховой код «2 of 5» Штриховой код 39. Наименование данного кода связано со структурой изоб- ражения букв «3 из 9», где три элемента буквы (два штриха и один пробел) из девяти являются широкими, а остальные шесть - узкими. Каждая буква кода 39 представлена пятью штрихами и четырьмя пробелами. По сравнению с кодом «2 of 5» число вариантов изображения букв увеличивается в четыре раза и позво- ляет отобразить 40 различных букв. Предусмотрены четыре дополнительных зна- ка ($, », +, %). Код 39 является дискретным, контролируемым. Достоинством этого кода (рис. 4.5.9) является его очень высокая надежность, которая может быть увеличена добавлением в символ контрольной буквы. Этот код широко ис- пользуется в больницах, библиотеках, государственных учреждениях, на произ- водстве.
Считывание символьной информации 327 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII * С О D Е Рис. 4.5.9. Штриховой код 39 Штриховой код 128 обеспечивает возможность кодирования 128 различных букв. Код 128 принадлежит к той же группе, что и рассматриваемые далее коды EAN и UPC. В коде 128 первый элемент изображаемой буквы представляется штрихом, а последний - пробелом. Код 128 является непрерывным и неконтроли- руемым кодом (рис. 4.5.10). Предусматривается кодирование 107 различных букв (21 букв в резерве). IIIIIIIIIIIIIIIIIIIIIIIIIIIIII CODE 128 Рис. 4.5. 10. Штриховой код 128 Штриховые коды UPC и EAN получили наиболее широкое распространение для кодирования товаров в производстве и торговле. Первый из них представляет стандарт кодирования, принятый в США, второй - в Европе. Сходство кодов UPC и EAN заключается в том, что в них используется для кодирования один и тот же набор букв: цифры от 0 до 9 и пять вспомогательных символов. Изображе- ние буквы содержит два штриха и два пробела. Длина буквы, отображающей циф- ру, равна 7 модулям. Вспомогательные буквы имеют три типоразмера 3, 5 и 6 мо- дулей (рис. 4.5.11). Обычно снизу штрихового кода печатается его цифровое значение для визуального контроля. Значение тринадцатой позиции символа оп- ределяется последовательностью сочетаний букв четного и нечетного паритетов, расположенных в левой части. Наибольшее распространение в торговле за рубе- жом получили тринадцати- и восьмиразрядные коды EAN. Эти штриховые коды относятся к непрерывным контролируемым кодам. 4820000 190534 Рис. 4.5.11. Символ штрихового кода PAN
328 Методы анализа изображений Символики сокращенной размерности (Reduced Space Symbology или RSS) - относительно новое семейство линейных штриховых кодов, характеризующее- ся малыми размерами штрихового кода (рис. 4.5.12-4.5.15) по сравнению с кода- ми EAN/UPC. Код RSS предназначен специально для совместного использова- ния с так называемыми композитными штриховыми кодами. Разработка RSS и композитной символики вызвана необходимостью маркировки малоразмерных объектов, на которые штриховой код EAN/UPC стандартного размера нанести затруднительно, а иногда и вовсе невозможно. Рис. 4.5.12. Штриховой код сокращенной размерности - PSS-14 Рис. 4.5.13. Штриховой код сокращенной размерности - сложенный RSS-14 Рис. 4.5. 12. Штриховой код сокращенной размерности - усеченныйRSS-14 Рис. 4.5. 13. Штриховой код сокращенной размерности - расширенный RSS-14 Двумерные штриховые коды Линейные штриховые коды были созданы и традиционно использовались как ма- шинно-читаемые идентификаторы на изделиях. При этом каждая этикетка содер- жала уникальный серийный номер, закодированный в виде черных и белых полос, который служил ключом в базе данных, содержащей более детальную ин- формацию. Но вскоре выяснилось, что многие пользователи нуждаются в более емких штриховых кодах, самостоятельно исполняющих роль портативной базы данных, а не только ключа в ней. Двумерный код (или 2D-ko6) - наиболее общее наименование для всего этого класса символик. Названия стековая символика (stacked symbology) или многорядный код (multi-row code) более точно отражают сущность серии кодов, в которых данные кодируются в виде нескольких строчек обычных одномерных штриховых кодов. Название матричный код (Matrix code) применяется для обозначения двумерных кодов, основанных на расположении черных элементов внутри матрицы. Каждый черный элемент имеет одинаковый размер, а позиция элемента кодирует данные. Линейный штриховой код имеет «вертикальную избыточность», означающую, что одна и та же информация повторяется по вертикали. Вертикальная избыточ-
Считывание символьной информации 329 ность позволяет штриховому коду, имеющему дефекты печати (например, пятна или просветы), сохранять читаемость. Двумерный код содержит информацию как по горизонтали, так и по вертикали. Поскольку оба направления содержат инфор- мацию, теряется возможность использования вертикальной избыточности (за- метим, что в двумерных стековых кодах присутствует небольшая вертикальная избыточность). Борьба с ошибками в двумерных кодах обеспечивается за счет ис- пользования специальных контрольных сумм, позволяющих гарантировать дос- товерность вводимой информации. Как правило, борьба с ошибками основывает- ся на применении кода Рида-Соломона. Первоначально двумерные коды разрабатывались для приложений, не даю- щих места, достаточного для размещения обычного штрихкодового идентифика- тора. Первым применением для таких символов стали упаковки лекарственных препаратов в здравоохранении. Эти упаковки малы по размерам и имеют мало места для размещения штрихового кода. Электронная промышленность также проявила интерес к кодам высокой плотности и двумерным кодам в связи с уменьшением размеров элементов и изделий. Позднее возможность кодирова- ния портативной базы данных сделала двумерные символики привлекательными для приложений, в которых минимизация размера кода не является основным требованием. Просто во многих случаях работнику гораздо удобнее непосред- ственно считать двумерный штриховой код с помощью портативного устройства, чем дозваниваться до компьютера, расположенного в офисе. На сегодня разработано более 20 различных символик двумерных штриховых кодов, которые отличаются формой и структурой символов, формой и возможны- ми цветами элементов, методами упаковки информации в символах, методами и степенью защиты информации от искажений изображений кодов на носителях. Ниже описаны два наиболее популярных типа двумерных кодов: стековая симво- лика PDF417 и матричная символика Datamatrix. Стековый код PDF417 Стековая символика PDF417 была введена в 1991 году фирмой Symbol Technolo- gies. PDF происходит от сокращения Portable Data File (портативный файл дан- ных), каждая буква символа состоит из 17 модулей, каждый из которых содержит 4 штриха и пробела (отсюда номер 417). Штриховой код открыт для общего пользования. Пример символа стекового кода PDF417 изображен на рис. 4.5.16. Рис. 4.5.16. Символ штрихового кода PDF417
330 Методы анализа изображений Каждый символ кода PDF417 содержит стартовую и стоповую группы штри- хов, увеличивающие надежность считывания штрихового кода. Он кодирует до 1850 буквенно-цифровых или 2710 цифровых знаков. Высокая емкость данных позволяет кодировать всю необходимую информацию о человеке, продукте, доку- менте или упаковке. Символику PDF417 рекомендуется использовать в транспорт- ной и автомобильной промышленностях, на транспортных этикетках и таможен- ных документах. PDF417 может кодировать не только текстовые, но и бинарные данные, поэтому им возможно закодировать все, что можно оцифровывать, вклю- чая цветные фотографии и отпечатки пальцев. Поэтому PDF417 используется также в системах идентификации личности. Матричный код Data Matrix Код Data Matrix от фирмы CiMatrix представляет собой двумерный код, разрабо- танный для размещения большого объема информации на ограниченной площади поверхности. Матричный код составляется из темных и светлых ячеек, которые могут быть квадратными (большинство современных матричных кодов), шести- угольными (MaxiCode) или круглыми (как в точечном коде) по форме. Данные кодируются в двоичной форме (обычно темная ячейка соответствует двоичной единице; а светлая ячейка - двоичному нулю), а схема декодирования использует технологии обнаружения и коррекции ошибки для создания избыточности. Мат- ричные коды масштабируются, и их теоретическая информационная емкость в один бит на ячейку дает им большую плотность данных, чем у стековых кодов. Например, символ кода Data Matrix с размером ячейки (Х-размер) в 10 mil (0,25 мм) может закодировать максимум 2000 знаков, занимая около 8 кв.см, по сравнению с 25 кв. см для тех же данных у символа PDF417 с тем же самым Х-размером. Данный штриховой код может масштабироваться от 1-mil плотности до четыр- надцатидюймовой площади и имеет теоретическую максимальную плотность до 500 миллионов символов на дюйм. На практике плотность, конечно, ограничива- ется разрешающей способностью печатающих устройств и сканеров. Код Data Matrix имеет фиксированную степень защиты от ошибок для каждого размера символа кода. Поскольку информация кодируется абсолютной позицией элемен- та внутри кода, то есть позицией относительно границ кода, код не так чувствите- лен к дефектам печати, как традиционный штриховой код. Схема кодирования имеет высокий уровень избыточности, данные рассредоточены внутри символа. Это позволяет сохранять читаемость кода при его частичном повреждении или потере части кода. Каждый код имеет измерительные линейки, которые выглядят как сплошная линия по одному краю символа и равномерно расположенные квад- ратные точки одинакового размера по другому краю. Эти линейки используются для определения ориентации и плотности кода. Существуют две основные версии данной символики. Одна использует свер- точное кодирование для коррекции ошибок, которое использовалось в первых версиях кода Data Matrix, эта версия описывается как ЕСС 000-140. Вторая вер- сия описывается как ЕСС 200 и использует коды Рида-Соломона для коррекции
Считывание символьной информации 331 ошибок. Символы версии ЕСС 000-140 всегда имеют не- четное количество модулей по каждой стороне квадрата. Символы версии ЕСС 200 всегда содержат четное число элементов по каждой из сторон. Максимальная емкость символа ЕСС 200 (рис. 4.5.17) составляет 3116 цифр или 2335 букв в символе, состоящем из 144 модулей. Наиболее популярными применениями для Data Matrix является маркировка небольших предметов, таких как электронные элементы и печатные платы электронных приборов. Эти приложения используют способность Data Matrix разместить примерно 50 символов в коде размером 3 мм и тот факт, что код может быть прочитан при 20% кон- трастности печати. Код читается ПЗС-камерой или ПЗС- сканером. Рис. 4.5.17. Символ штрихового кода Data Matrix версии ЕСС 200 Функция IMAQ: Read Barcode Функция IMAQ Read Barcode (рис. 4.5.18) позволяет распознавать штриховые коды на изображении. Strinq image Illlllll ROI Descriptor . Barcode Туре —' 8“ ь- Extra Info В ’— Checksum(s) error in (no error) Validate error out Рис. 4.5.18. Функция IMAQ Read Barcode В качестве входного параметра нужно указать тип штрихкода. IMAQ Vision позволяет считывать следующие типы штриховых кодов: • Codabar; • Code 39; • Code 93; • Code 128; • EAN 8; • EAN 13; • Interleaved 2 of 5; • MSI; • UPCA Стандартный пример приложения, иллюстрирующего считывание штрихо- вых кодов (рис. 4.5.19), можно найти, набрав слово «Barcodes» в поле поиска при- меров и выбрав «Read Barcode.vi». В составе IMAQ Vision имеются также специальные ВП, позволяющие считы- вать двумерные штриховые коды Data Matrix и PDF417.
332 Методы анализа изображений Рис. 4.5.19. Пример «Read Barcode, vi» 4.5.3. Считывание информации технических индикаторов Считывание показаний аналоговых индикаторов Функция IMAQ: Read Meter Функция IMAQ Read Meter (рис. 4.5.20) позволяет визуально считывать показа- ния с аналогового индикатора прибора. Для этого требуется указать координаты основания стрелки и массив коорди- нат дуги, которую описывает перемещение стрелки по шкале прибора. Для того чтобы было удобнее указывать эти параметры, можно использовать функции
Служебные функции пакета IMAQ Vision 333 Needle color Image Needle Base Arc Points™ error in Ino error] “J Percentage of scale Ь- Point error out Рис. 4.5.20. Функция IMAQ Read Meter IMAQ Get Meter ИЛИ IMAQ Get Meter 2. Они отличаются тем, что первая функ- ция производит калибровку по трем указанным пользователем точкам - основа- нию стрелки, началу и концу дуги, описанной свободным концом стрелки на шка- ле прибора, а вторая - по двум линиям, которые являются крайними заданными положениями стрелки на шкале. Пример приложения, использующего данную функцию (рис. 4.5.21), можно найти, набрав «meter» в окне поиска примеров и выбрав пример «Meter Example.vi». Считывание показаний цифровых индикаторов Функция IMAQ: Read LCD Данный ВП (рис. 4.5.22) позволяет визуально считывать показания цифрового индикатора и выдавать их в числовом виде. Пользователь может указать, является ли экран наблюдаемого прибора жид- кокристаллическим (темные цифры на светлом фоне) или диодным (светлые цифры на темном фоне). Также задаются область поиска, порог бинаризации и флаги наличия знакового сегмента и десятичного разделителя. Здесь мы также рекомендуем ознакомиться с примером использования данной функции, который поставляется вместе с IMAQ Vision. Войдите в Help => Find Examples, перейдите к закладке Search ив поле поиска введите «LCD», после чего загрузите пример «LCD Example.vi» (рис. 4.5.23). Помимо рассмотренного, в палитре IMAO имеются еще два ВП для считыва- ния показаний с цифровых индикаторов: IMAQ Get LCD ROI |™|, позволяющий определять области, в которых содержатся цифры, и IMAQ Read Single Digit Щ, позволяющий считать и распознать одну значащую цифру в заданной области интереса. 4.6. Служебные функции пакета IMAQ Vision 4.6.1. Ручные геометрические измерения и построения Функция IMAQ: Point Distances Функция IMAQ Point Distances (рис. 4.6.1) позволяет определить расстояния между соседними парами точек.
334 Методы анализа изображений Рис. 4.5.21. Пример «MeterExample.vi» LCD/LED [LCD] Imoge j inn ROI Descriptor д Threshold Search Sign error in (no error] Output string Output value Segments status error out Search Decimal Separator Рис. 4.5.22. Функция IMAQ Read LCD
Служебные функции пакета IMAQ Vision 335 Рис. 4.5.23. Пример «LCD Example, vi» Distances error in (no error) till error out Рис. 4.6.1. Функция IMAQ Point Distances На вход функции подается массив из N точек. Функция находит расстояние между первой и второй точками, второй и третьей, ... (ДГ-1)-ой и ДГ-ой точками и формирует из этих значений выходной массив (рис. 4.6.2). В упражнении, показанном на рис. 4.6.2 и 4.6.3, используется свойство области интереса ROI (region of interest), содержащееся в Property Node (узле свойств) для элемента отображения Image Original. Напомним, что практически для каж- дого элемента управления/отображения в Labview можно создать Property Node - структуру, содержащую полную информацию о данном элементе, например о
336 Методы анализа изображений его положении на экране, текущем значении, названии и т. д. Таким образом, в ROI содержится информация о выбранных областях интереса. В данном случае ими являются три точки, установленные на этапе создания примера. Далее коор- динаты этих точек преобразуются в массив кластеров и используются в качестве входных параметров функции Point Distances. В данном примере на экран выво- дятся линии, соединяющие эти точки и расстояния между ними. Рис. 4.6.2. Пример использования функции IMAQ Point Distances Рис. 4.6.3. Блок-диаграмма приложения, демонстрирующего применение ВП IMAQ Point Distances Функция IMAQ: Get Angles Функция IMAQGet Angles (рис. 4.6.4) позволяет определить углы между линия- ми, заданными тремя или четырьмя точками.
Служебные функции пакета IMAQ Vision 337 Use Vertex (No] Vertex дц—- error in (no error] IQ Angles (deg] Angles (rad) error out Рис. 4.6.4. Функция IMAQ Get Angles Рисунок 4.6.5 демонстрирует способ задания прямых. Если необходимо ис- пользовать четыре точки, то из них просто создается массив и подается на вход данной функции (в поле Points). Если же требуется измерить углы между прямы- ми с общей вершиной, то координаты этой вершины подаются на вход в качестве параметра Vertex. Также указывается, что данный параметр должен быть исполь- зован (в поле Use Vertex необходимо установить TRUE). В данном примере определяется угол между двумя прямыми с общей верши- ной (рис. 4.6.6 и 4.6.7). Рис. 4.6.5. Определение углов по четырем (слева) и трем (справа) точкам Функция IMAQ: Lines Intersection Функция IMAQLines Intersection (рис. 4.6.8) позволяет найти координаты точки пересечения двух прямых (рис. 4.6.9) и угол между ними. Выходной параметр Angle (угол) отсчитывается от прямой Line 1 к прямой Line 2 против часовой стрелки. Блок-диаграмма данного упражнения представлена на рис. 4.6.10. Функция IMAQ: Perpendicular Line Функция IMAQ Perpendicular Line (рис. 4.6.11) позволяет построить перпенди- куляр к данной прямой из заданной точки и определить его длину (рис. 4.6.12). Соответствующая блок-диаграмма представлена на рис. 4.6.13.
338 Методы анализа изображений Рис. 4.6.6. Результат выполнения функции IMAQ GetAigles Рис. 4.6.7. Основная блок-диаграмма примера для ВП IMAQ Get Angles (сверху), блок-диаграмма вспомогательного ВП (снизу)
Служебные функции пакета IMAQ Vision 339 Line 1 J \ Line 2 J -g error in [no error] —— Intersection Point Angle error out Рис. 4.6.8. Функция IMAQ Lines Intersection Рис. 4.6.9. Пример применения функций IMAQ Lines Intersection Рис. 4.6.10. Блок-диаграмма примера, использующего функции IMAQ Lines Intersection
340 Методы анализа изображений Line Point error in [no error] 0 Perpendicular Line Distance . ==чш еиог ou[ Рис. 4.6.11. Функция IMAQ Perpendicular Line Рис. 4.6.12. Пример работы функции IMAQ Perpendicular Line Рис. 4.6.13. Блок-диаграмма примера для функции IMAQ Perpendicular Line Функция IMAQ: Bisecting Line Функция IMAQ Bisecting Line (рис. 4.6.14) позволяет найти прямую, являющуюся биссектрисой угла, образованного двумя заданными прямыми линиями (рис. 4.6.15). Блок-диаграмма данного примера показана на рис. 4.6.16.
Служебные функции пакета IMAQ Vision 341 Line 1 |__V “Bisecting Line Line 2 “S “ __________ error in [no error] ==““l——--error out Рис. 4.6.14. Функция IMAQ Bisecting Line Рис. 4.6.15. Результат применения IMAQ Bisecting Line Рис. 4.6.16. Блок-диаграмма приложения, демонстрирующего использование функций IMAQ Bisecting Line
342 Методы анализа изображений Функция IMAQ: Mid Line Функция IMAQ Mid Line (рис. 4.6.17) позволяет найти прямую, параллельную заданной и делящую пополам перпендикуляр, опущенный на заданную прямую из заданной точки (рис. 4.6.18). Блок-диаграмма соответствующего приложения помещена на рис. 4.6.19. — LIIIC Point “fr error in (no error] If DbbCUUr ILJ 1_1Г1С == error out Рис. 4.6.17. Функция IMAQ Mid Line Рис. 4.6.18. Результат работы примера, использующего ВП IMAQ Mid Line Рис. 4.6.19. Блок-диаграмма применения функции IMAQ Mid Line
Служебные функции пакета IMAQ Vision 343 4.6.2. Работа с растровым изображением и областями интереса Функция IMAQ: GetRowCol Функция IMAQGetRowCol (рис. 4.6.20) позволяет сформировать массив, содер- жащий интенсивности пикселей, находящихся в выбранной строке или столбце изображения. В зависимости от формата изображения будет заполнен один из трех выход- ных массивов данного ВП. Например, если изображение 8-битное, только массив Pixels (U8) будет содержать значения (рис. 4.6.21), остальные два массива будут пустыми. Image ______' Number -1 ,.. Row / Column (Row).; Г“- error in (no error) Pixels (U8) Pixels (116) Pixels (Float) error out Рис. 4.6.20. Функция IMAQ GetRowCol Рис. 4.6.21. Блок-диаграмма примера использования BPI IMAQ GetRowCol Функция IMAQ: ImageToArray Функция IMAQImageToArray (рис. 4.6.22) позволяет преобразовать все изобра- жение или его часть из формата IMAQ Vision в двумерный массив. Выходные массивы заполняются точно так же, как в IMAQ GetRowCol.
344 Методы анализа изображений Image == Optional Rectangle error in (no error] О Image Pixels (U8) 'Image Pixels (116) Image Pixels (Float] === error out Рис. 4.6.22. Функция IMAQ ImageToArray Помимо описанных, имеются еще две функции: IMAQ GetPixelValue Ш 11 IMAQ GetPixelLine |~^|, позволяющие преобразовывать значения яркости конк- ретного пикселя и пикселей, принадлежащих заданной линии, соответственно из формата изображения IMAQb числовой. В палитре IMAQ также имеется набор инструментов, позволяющих делать об- ратное преобразование. Функция IMAQ: SetPixelLine Функция IMAQ SetPixelLine (рис. 4.6.23) изменяет значения интенсивности пикселей, лежащих на заданной линии изображения. Функция IMAQSetPixelLine позволяет рисовать линию, непосредственно из- меняя пиксели изображения (рис. 4.6.24). Line Cooidinates-------1 Image Ir-itvl 'Image Out Pixels Line [U 8) -1.— Pixels Line (116) —1 iH——error out error in (no error] —J Pixels Line (Float] Рис. 4.6.23. Функция IMAQ SetPixelLine В отличие от IMAQ SetPixelLine ВП IMAQ Overlay Line, как и все функции палитры Overlay, работают в отдельном слое изображения, называемом overlay, который является практически независимым от растрового слоя, содержащего значения пикселей. Overlay можно копировать из одного изображения в другое, модифицировать, стирать, но при этом само изображение остается неизменным. Этот слой также можно и смешать с изображением при помощи функции IMAQ Merge Overlay. Только в этом случае содержание изображения изменится. Помимо описанных двух слоев, на изображении в системе NI Vision может присутствовать и третий. Он представляет собой область интереса, отмеченную так называемыми «графическими объектами». Графические объекты - это такие элементы на изображении, положение и размеры которых можно интерактивно изменять при помощи мыши. Например, на рис. 4.6.25 на изображении выделено две области интереса. На левый из них в момент захвата данного скриншота был наведен курсор мыши, в результате чего данный графический объект стал «актив-
Служебные функции пакета IMAQ Vision 345 Рис. 4.6.24. Пример работы функции IMAQ SetPixelLine Рис. 4.6.25. Изображение с выделенными областями интереса
346 Методы анализа изображений ным>>, что подчеркивается соответствующей дополнительной графикой, позволя- ющей пользователю изменять его свойства. Слой графических объектов также является независимым от изображения. С ним можно производить те же манипуляции, что и со слоем наложений (overlay). Другие функции палитры Pixel Manipulation Vis позволяют «залить» изобра- жение определенным цветом (функция IMAQ Filllmage Щ), нарисовать на нем какую-либо геометрическую фигуру (IMAQ Draw |°о]) или написать текст (IMAQ Draw Text |°^). Существуют также функции, присваивающие значения яркости пикселю (IMAQ SetPixelValue Щ), столбцу или строке пикселей (IMAQ SetRowCol |^]) либо всему изображению (IMAQ ArrayToImage Щ).
Цифровая фотограмметрия и бесконтактные измерения 5.1. Методы цифровой фотограмметрии 5.1.1. Фотограмметрический метод бесконтактных трехмерных измерений Развитие современной вычислительной техники и средств получения цифровых изображений обеспечило надежный фундамент для создания бесконтактных сис- тем трехмерных измерений, основанных на фотограмметрическом подходе, позволяющем определять пространственные координаты объекта по его разнора- курсным изображениям (фотографиям). В настоящее время фотограмметриче- ские методы широко используются для построения карт и моделей местности по аэро- и космическим снимкам. Снимки архитектурных сооружений используют- ся для измерения необходимых пространственных размеров зданий. Фотограм- метрические методы применяются в судостроении (внутренние и внешние обме- ры элементов корабля), медицине, микроизмерениях и многих других областях. Развитие фотограмметрии от появления фотографии как средства получения изображений до недавнего времени шло, главным образом, по линии решения за- дач, возникающих при проведении наземных съемок и аэрофотосъемок для целей картографирования. Использование фотограмметрии для измерений близко рас- положенных объектов (инженерной фотограмметрии) ограничивалось необходи- мостью использования дорогостоящей и низко производительной аналоговой из- мерительной техники (стереокомпараторов, стереометров, стереопланиграфов). Однако распространение высокопроизводительной вычислительной техники, с одной стороны, и совершенствование средств получения цифровых изображе- ний, с другой стороны, обусловили необходимые предпосылки для появления вы- сокоэффективных цифровых аппаратно-программных комплексов для практи-
348 Цифровая фотограмметрия и бесконтактные измерения ческой инженерной фотограмметрии. В последние десятилетия стало возможным применять методы машинного зрения для решения задач бесконтактных измере- ний и создания трехмерных компьютерных моделей объектов сложной формы и тем самым обеспечивать высокую точность и высокую степень автоматизации из- мерений в промышленности и на производстве. Основными задачами, которые требуется решить при определении трехмер- ных координат точек объекта фотограмметрическими методами, являются сле- дующие. • Выбор конфигурации съемки. Качество измерений существенно зависит от выбранных масштаба съемки, расположения съемочных камер, собствен- ной формы объекта, а также от ограничений, налагаемых условиями съем- ки. Поэтому для обеспечения требуемых показателей качества модели в каждом конкретном случае необходимо для заданного класса объектов ре- шать задачу выбора количества, параметров и расположения камер. • Задача калибровки. Под задачей калибровки понимаются определение адекватной математической модели съемки (геометрии получения изобра- жения) и оценка параметров данной модели. • Задача стереоотождествления. Проблема стереоотождествления заключа- ется в идентификации на разноракурсных (стерео) снимках соответствую- щих двумерных изображений одной и той же заданной трехмерной точки поверхности объекта и высокоточном измерении ее координат на этих изображениях. • Задача расчета трехмерных координат точек объекта сложной формы. Стереосистема машинного зрения может определить трехмерные коорди- наты тех точек объекта, которые одновременно видны обеими камерами. Поэтому даже для не очень сложных поверхностей по стереопаре изобра- жений может быть восстановлена лишь частичная модель (фрагмент) объекта. Рассмотрим далее основные элементы фотограмметрического решения задач трехмерных бесконтактных измерений. 5.1.2. Математическая модель камеры В традиционных фото- и видеокамерах, используемых в технических системах, снимок формируется по закону центрального проектирования, когда точка сним- ка получается как точка пересечения прямой, проходящей через центр проекции (точку съемки) и точку объекта, с плоскостью снимка. Для описания геометрической модели камеры вводятся две системы координат: • Пиксельная система координат цифрового снимка {о^рс^уу^ф) имеет начало координат в левом верхнем углу оцифрованного изображения. Начало ко- ординат выбирается таким образом, что левый верхний пиксель изображе- ния имеет координаты (0,0). Ось направлена вправо вдоль строк изображения, а ось opfcz/pfc - вниз. Единицей измерения координат в этой си- стеме является пиксель.
Методы цифровой фотограмметрии 349 В этой системе координат измеряются координаты точек оцифрованного изображения. • Пространственная система координат цифрового снимка (Sxyz) имеет на- чало координат в центре проектирования. Отрицательное направление оси Sz совпадает с главной осью съемочной камеры. Оси Sx и Sy лежат в плоско- сти снимка и образуют вместе с осью Sz правую систему координат. Ось Sx параллельна оси opixxpix пиксельной системы координат, а ось Sy параллель- на оси opixypix пиксельной системы координат и направлена в противополож- ную сторону. При рассмотрении модели камеры считается, что плоскость снимка лежит впе- реди центра проектирования, поэтому любая точка снимка в этой системе имеет координаты (х, у, -f). Величина /равняется расстоянию от центра проектирова- ния до плоскости снимка и всегда считается положительной. В этой системе координат записываются координаты точки снимка в условиях коллинеарности и при вычислении пространственных координат точек объекта. Рассмотрим связи между пиксельной и пространственной Sxyz систе- мами координат снимка. Пусть (Xpfc,//pfc) - пиксельные координаты точки снимка. Тогда переход к искаженным координатам точки снимка осуществляется по фор- мулам: ха = т.х (xpix - bx), Уа = тух (Ъу - ур1Х), где тх, ту - размер элемента дискретизации изображения, Ь„ Ъу - пиксельные ко- ординаты главной точки снимка. Нелинейные искажения изображения вводятся в виде: Ах = ау/„ + х/а/ + а/ + a3r6) + + 2х2) + layxyp, Аг/ = «оН, + ya(af + а/ + а/) + а^г1 + 2г/2) + Ixpxj^, где г2 = хо2 + г/2. Преобразование пиксельных координат точки снимка осуществляется следу- ющим образом: • пиксельные координаты xpfc, z/pfc преобразуются к искаженным координатам •Ха,Уа’ • вычисляются нелинейные искажения Ах, Аг/ для данной точки; • вычисляются истинные координаты х, у точки снимка путем прибавления к рассчитанным искаженным координатам соответствующих нелинейных искажений: х = хо + Ах, У=Уа + ^У. При решении задачи вычисления координат точки снимка, соответствующей данной точке поверхности, необходимо по истинным координатам (х,г/) вычис- лить пиксельные координаты (xpix,ypix) точки снимка. В дальнейшем все геометри- ческие соотношения записываются для истинных координат снимка (х,г/), связь которых с пиксельными координатами приведена выше.
350 Цифровая фотограмметрия и бесконтактные измерения Положение снимка относительно выбранной фотограмметрической системы координат, в которой измеряются пространственные координаты точек объекта, определяется вектором координат точки съемки XOjf и матрицей вращения Af, ко- торая является функцией трех углов последовательных поворотов системы коор- динат. В рассматриваемом методе используется последовательность поворотов, при- нятая в аэросъемке (а, <п, к): • первый поворот вокруг оси - OY фотограмметрической системы координат; • второй - вокруг новой оси ОХ; • третий - вокруг оси OZ системы координат, связанной с камерой. Элементы матрицы вращения находятся из следующих соотношений: ап = cosa х cask - sina х sincn х si п/е: а12 = coscn х si n/e: ai3 = sina x cask + cosa x sincn x si n/e: a21 = -cosa x si n/e - sina x sincn x cosk\ a22 = coscn x cos/e: a23 = -sina x si n/e + cosa x sincn x cask; a31 = -sina x coscn; a32 = -sincn; a33 = cosax coscn. Отсюда: a = -arctg(a31 / a33); ft) = -arcsin(a32); k = arctg(a12 / a22). При решении фотограмметрических задач используются условия коллинеар- ности (нахождения на одной прямой) для точки съемки, точки объекта и точки снимка следующего вида: ех = dx + d.,x / /; ея = dy + d2y / f, (dxd\ где dy =Af(X-X{)f ). j В приведенных условиях невязки ех и еу измеряются в предметном простран- стве, в плоскости, параллельной плоскости снимка. 5.1.3. Калибровка видеокамер Рассмотрим удобный с практической точки зрения метод калибровки, который заключается в следующем: • изготавливается специальное калибровочное поле (плоский стенд) со спе- циально помеченными точками, координаты которых заранее известны с высокой степенью точности;
Методы цифровой фотограмметрии 351 • производится съемка большого числа разноракурсных снимков калибро- вочного поля; • на каждом снимке измеряются координаты всех видимых точек калибро- вочного поля; • для каждой точки каждого снимка записываются условия коллинеарности центра проектирования, точки снимка с учетом искажений и точки калиб- ровочного поля; • по методу наименьших квадратов находятся значения оцениваемых пара- метров (в которые включаются и параметры камеры) соответствующих ми- нимуму суммы квадратов невязок условий коллинеарности. При проведении калибровки в вектор оцениваемых параметров включаются плановые координаты определяемых точек калибровочного поля, элементы внеш- него ориентирования всех снимков, а также элементы внутреннего ориентирова- ния и параметры нелинейных искажений всех камер комплекса. Наиболее трудоемкой ручной операцией при использовании данного подхо- да к калибровке является измерение большого количества координат опорных точек калибровочного поля на множестве разноракурсных изображений. Пусть калибровочное поле содержит 49 точек, видимых с двух камер на 15 снимках, полученных каждой камерой; тогда для проведения калибровки необходимо с высокой точностью определить координаты 1470 точек. Поэтому в задачах ближней фотограмметрии для применения подобного метода калибровки не- обходимо решить вопрос автоматической идентификации точек снимков, что достигается применением в качестве опорных точек специальных кодирован- ных меток, подлежащих автоматическому распознаванию (декодированию). При этом к алгоритму распознавания и структуре меток предъявляются два сле- дующих основных требования: • возможность определения координат центров меток с субпиксельной точ- ностью; • высокая надежность декодирования номера метки. 5.1.4. Внешнее ориентирование камер Необходимым этапом при построении фотограмметрического измерительного комплекса является определение элементов внешнего ориентирования камер. В результате выполнения процедуры внешнего ориентирования не только опре- деляется взаимное расположение камер, но и фиксируется фотограмметрическая система координат комплекса. Для проведения внешнего ориентирования используется то же калибровочное поле, что и в операции калибровки. Процедура внешнего ориентирования состоит из следующих этапов: • установка калибровочного поля в исходное положение, определяющее фо- тограмметрическую систему координат (в дальнейшем элементы внешнего ориентирования снимков будут определяться относительно именно этой системы);
352 Цифровая фотограмметрия и бесконтактные измерения • получение снимков калибровочного поля в этом положении всеми камера- ми комплекса; • установка калибровочного поля в несколько дополнительных положений (при проведении ориентирования измерительного комплекса калибровоч- ное поле устанавливается в два дополнительных положения вблизи ближ- ней и дальней границы рабочей области комплекса соответственно); • получение снимков калибровочного поля в дополнительных положениях всеми камерами комплекса; • распознавание кодированных меток на всех полученных снимках; • вычисление элементов внешнего ориентирования по методу наименьших квадратов при условии минимума невязок условий коллинеарности вида: е, = d, + d.% / /; ex = dy + dy / f, где = А/ (Лот (X + ХОт) - Хо f), где Ап(а„ km) и АЦ, - соответственно матрица вращения и вектор сдвига калибровочного поля в дополнительных положениях. При проведении внешнего ориентирования в вектор оцениваемых параметров входят элементы внешнего ориентирования всех камер комплекса и параметры, определяющие положение калибровочного поля в дополнительных положениях. 5.1.5. Решение задачи стереосоответствия при построении модели поверхности. Структурированный подсвет После того как в результате проведенных операций калибровки и ориентирова- ния геометрическая модель стереосъемки стала известна нам со всеми своими па- раметрами, мы в принципе готовы к решению задачи реконструкции трехмерных координат точек снимаемой поверхности. При этом для того чтобы вычислить трехмерные координаты любой точки поверхности, необходимо лишь определить положение ее проекции на снимках всех камер, используемых в измерительном комплексе. Иными словами, нам необходимо установить соответствие каждой интересующей нас точки на изображении, полученном от одной камеры системы, ее же изображениям на снимках, полученных от других камер системы. Конечно, в лабораторных условиях оператор измерительного комплекса в состоянии ука- зать такие соответствующие точки разных снимков вручную, но в современных измерительных системах, используемых для реконструкции трехмерной формы объекта, необходимо измерять за короткие промежутки времени тысячи и даже сотни тысяч точек. Поэтому возникает задача автоматического определения соот- ветствующих точек на изображениях от нескольких камер, называемая также за- дачей установления стереосоответствия.
Методы цифровой фотограмметрии 353 Как было описано выше, в случае калибровочного поля в решении этой задачи нам помогает обнаружение специальных меток, имеющих уникальные номера. После распознавания меток точки с номером 1 считаются соответствующими на всех снимках, также точки с номерами 2,3 и т. д. Однако на реальных изображени- ях, например, земной поверхности, получаемых при аэрофотосъемке, никаких специальных меток нет. Задача установления стереосоответствия в таком случае может решаться только путем математического (например, корреляционного) со- поставления окрестностей соответствующих точек, которые должны выглядеть достаточно «похожими» с учетом разницы в ракурсе съемки. Поэтому в приложе- ниях так называемой «дальней» фотограмметрии задача определения стереосоот- ветствия точек является ключевой задачей стереореконструкции и сопряжена с целым рядом проблем, ошибок и специфических трудностей, связанных с не- однозначностью результатов анализа изображения, особенно в малоинформатив- ных областях, лишенных характерной контрастной текстуры, способствующей надежному отождествлению соответствующих и различению несоответствую- щих точек поверхности. К счастью, в приложениях инженерной фотограмметрии, в условиях работы на небольших дальностях с объектами небольшого размера (до единиц метров), мы имеем возможность искусственно создавать такую специальную текстуру на исследуемой поверхности за счет специального структурированного подсвета. Такой подсвет может осуществляться одной или несколькими линиями, регуляр- ной решеткой, множеством точек или каким-либо еще способом. Важно лишь, чтобы соответствующее программное обеспечение позволяло использовать диф- ференциацию точек изображения, создаваемую структурированным подсветом, для решения задачи стереоотождествления. В случае если количество подсве- ченных на одной стереопаре точек недостаточно для построения полной модели поверхности, используют ряд последовательных стереопар одного и того же объекта, причем от снимка к снимку элементы структурированного подсвета пе- ремещаются по поверхности - за счет движения источника подсвета относитель- но неподвижного объекта либо за счет движения самого объекта (например, на конвейере или специальном поворотном устройстве). В таком случае говорят о фотограмметрическом «сканировании» поверхности объекта. Рассмотрим простейший вариант «линейного» структурированного подсвета, при котором исходными данными для построения модели поверхности являются пиксельные координаты подсвеченных одной кодированной вертикальной лини- ей точек снимков всех камер. В случае двух камер для получения пространственных координат соответст- вующих точек необходимо решить задачу идентификации точки профиля правой камеры, соответствующей данной точке левой камеры. По координатам соответ- ствующих точек можно найти пространственные координаты точки в фотограм- метрической системе координат. Задача нахождения соответствующей точки на правом профиле может быть решена путем приведения координат точек снимка к нормальному случаю съемки в базисной системе координат (см. ниже). При этом ординаты соответствующих
354 Цифровая фотограмметрия и бесконтактные измерения точек будут равны. Поэтому каждой точке левого снимка будет соответствовать точка правого снимка с равной ей ординатой. Абсцисса соответствующей точки находится линейной интерполяцией между ближайшими узлами ломаной. 5.1.6. Приведение координат точек снимков к нормальному случаю съемки. Определение элементов взаимного ориентирования по внешнему Для решения этой задачи используется базисная система координат, которая вво- дится принятым в аэросъемке способом. Ось X этой системы направлена по бази- су фотографирования (от левого снимка к правому), а направление остальных осей выбирается таким образом, чтобы угол <й при переходе от базисной системы координат к системе координат левого снимка в последовательности поворотов (а, <й, к) был равен нулю. Пусть Bg = Ху2 - Ход - вектор координат базиса в фотограмметрической систе- ме координат. Тогда /J = AjBg - вектор координат базиса в системе координат, связанной с левой камерой. Обозначив координаты вектора В, через (bx,by,bz), можно записать выражения для углов последовательных поворотов системы координат левого снимка отно- сительно базисной системы, которые могут быть получены следующим образом. Координаты вектора базиса в системе координат снимка определяются из со- отношений: '«11 «21 ч«31 «12 «22 «32 '«1? «21 ' ч«31 ) На основании формул для элементов матрицы через углы последовательных поворотов при <й = 0 можно записать: an = cosa х cosk\ a2i = -cosa x si n/< a3i = -sina. Тогда . | br | a = -arcsm -гф- ; И (й = 0; k = -arctg(^ / bx). По полученным значениям углов может быть вычислена матрица перехода от базисной системы координат к системе координат АЬ1, связанной с левой ка- мерой.
Методы цифровой фотограмметрии 355 После этого матрица перехода от базисной системы координат к системе, свя- занной с правой камерой, может быть найдена путем последовательного перехода от базисной к фотограмметрической системе координат с матрицей Agb и последу- ющего перехода к системе координат правого снимка с матрицей Ag2 по формуле: Аьх= AgiAgb, где Agb = AfMgi ~ матрица перехода от фотограмметрической системы координат к базисной, получаемая последовательными переходами от фотограмметрической системы координат к системе координат левого снимка с матрицей Ag1 и перехода от системы координат, связанной с левым снимком к базисной с матрицей ATbi. Пересчет координат точек первого исходного снимка осуществляется по сле- дующим формулам: ^г/1 =41 (х Д' *| Ух / dx\ . ^ЬХ /1 > > «г! / dyX Уъ\ ~~)Х “г1 Для второго снимка пересчет осуществляется по аналогичным формулам: Преобразование координат точек снимков в базисную систему можно выпол- нить для любого значения фокусного расстояния преобразованных координат. В данном случае оба снимка приводятся к фокусному расстоянию левого снимка. Равенство фокусных расстояний приведенных снимков необходимо для выпол- нения искомого условия равенства ординат соответствующих точек. 5.1.7. Вычисление пространственных координат точек поверхности После решения задачи стереосоответствия путем приведения координат точек к нормальному случаю съемки пространственные координаты каждой интересую- щей нас точки Xg трехмерной поверхности объекта вычисляются по формулам:
356 Цифровая фотограмметрия и бесконтактные измерения 'х Y |«| xbl ~ xh'2 Уь\ с Л “Хо/1 У Таким образом, задача стереореконструкции трехмерной поверхности объек- та, сканируемой линейным структурированным подсветом, с математической точки зрения оказывается полностью решенной. 5.2. Фотограмметрический комплекс для бесконтактных измерений на базе LabVIEW и PXI Рассмотрим в качестве примера практического приложения в области бесконтак- тных трехмерных измерений фотограмметрический комплекс, реализованный на базе LabVIEW и промышленного компьютера PXI производства фирмы National Instruments (США). Поскольку это пример построения практической системы машинного зрения, мы будем уделять внимание не только построению программ- ного обеспечения и задействованным функциям LabVIEW, но и характеристикам аппаратного обеспечения, также определяющим финальные параметры системы в целом. 5.2.1. Аппаратное обеспечение комплекса Рассматриваемый фотограмметрический комплекс для бесконтактных измере- ний включает следующие аппаратные компоненты: • промышленный компьютер PXI-1002; • плату захвата видеосигнала (фреймграббер); • коммутатор входного видеосигнала; • ПК-управляемый источник структурированного подсвета на базе устрой- ства позиционирования и лазерного источника структурированного света; • две CCD-видеокамеры. Промышленный компьютер Промышленный компьютер (рис. 5.2.1) отличается от обычного офисного ПК на базе аналогичного процессора возможностью беспрерывной круглосуточной ра- боты в условиях реального промышленного производства, характеризующихся
Фотограмметрический комплекс для бесконтактных измерений 357 Рис. 5.2.1. Внешний вид компьютера PXI-1002 повышенной влажностью, вибрацией, ударами, запыленностью и другими вред- ными факторами и воздействиями. Спецификация компьютера PXI-1002 представлена в табл. 5.2.1. Таблица 5.2.1. Спецификация промышленного компьютера Промышленный компьютер PXI-1OO2 Процессор: Intel Pentium III 1200 MHz Тип и объем оперативной памяти: SDRAM 128 MB Чипсет: Intel Видеосистема: Встроенная, 8 MB Котроллеры периферийных устройств: COMx2, LPT, GRIB, USBx2 Плата захвата видеоисигнала: NI PXI-1409 Питание: 222 V Рабочая температура: (-3O ':'C) - (+100 ':'C) Габаритные размеры: 250x210x170 мм Масса: 5 кг Производитель: National Instruments Плата захвата видеосигнала Плата видеозахвата PXI NI-1409 обеспечивает ввод в компьютер монохромных изображений с четырех камер. Основные технические характеристики платы ви- деозахвата PXI NI-1409 приведены в табл. 5.2.2.
358 Цифровая фотограмметрия и бесконтактные измерения Таблица 5.2.2. Основные технические характеристики платы видеозахвата Монохромная плата захвата NI-1409 Количество подключаемых камер Объем памяти на борту Глубина оцифровки видеосигнала Скорость оцифровки видеосигнала Триггеры - 8 каналов Синхронизация - 6 каналов До четырех камер 16 МВ 8, 10 бит 60 кадров/с 8 триггерных каналов 4 триггера Коммутатор входного видеосигнала Для подключения к плате захвата нескольких камер, а также реализации некото- рых других аппаратных возможностей фреймграббера (таких, например, как триггеры), используется коммутатор (рис. 5.2.2). Рис. 5.2.2. Коммутатор входного видеосигнала Коммутатор обеспечивает возможность поочередного подключения к плате видеозахвата до восьми видеокамер. Видеокамеры В данном измерительном комплексе используется две CCD-камеры типа PULNiX TM-260NIR. Внешний вид камеры показан на рис. 5.2.3. Основные технические характеристики камер приведены в табл. 5.2.3. Таблица 5.2.3. Основные характеристики камеры PULNiX TM-260NIR У/Г ПЗС-камера, CCIR (TM-260NIR), с повышенной чувствительностью в ближней ИК-области спектра Разрешение: 752x582 (CCIR) Размер пикселя: 8,6x8,3 мкм (CCIR) Сканирование: 2:1 Синхронизация: внутренняя/внешняя
Фотограмметрический комплекс для бесконтактных измерений 359 Рис. 5.2.3. Видеокамера PULNiXTM-260NIR Таблица 5.2.3. Основные характеристики камеры PULNiXTM-260NIR (продолжение) 1/2” ПЗС-камера, CCIR (TM-260NIR), с повышенной чувствительностью в ближней ИК-области спектра Отношение сигнал/шум: Чувствительность: AGO (АРУ): Г амма-коррекция: Электронный затвор: Крепление объектива: Питание: Рабочая температура: Допустимые вибрации: Габаритные размеры: Масса: Производитель: > 50 дБ (AGO выкл.) 0,5 лк, Р=1,4 вкл./выкл., ручной контроль 0,45 или 1,0 ручной до 1/29000 C-mount 12В, 190 мА (-1O':'C)-(+5O':'C) 7g (10-2000 Гц), удар 70g 44x44x62,3 мм 157 г PULNiX Источник структурированного света Структурированный подсвет измеряемого объекта обеспечивается лазерным ис- точником структурированного света Lasiris™ SNF Laser. Данный источник струк- турированного света (ИСС) обладает равномерным распределением интенсивно- сти в проецируемых шаблонах, варьируемой длиной волны излучения и выходной мощностью, защитой от перегрева, перегрузок электропитания и поставляется в исполнении, защищенном от ударов и вибрации. Внешний вид лазерного источ- ника структурированного света представлен на рис. 5.2.4. В рассматриваемом измерительном комплексе используется источник SNF- 501-660-35, генерирующий на выходе одну вертикальную линию. Основные тех- нические характеристики лазерного источника приведены в табл. 5.2.4.
360 Цифровая фотограмметрия и бесконтактные измерения Рис. 5.2.4. Лазерный источник структурированного света Таблица 5.2.4. Основные технические характеристики лазерного источника света Лазерный источник структурированного света SNF-501-660-35 Выходная мощность: Длина волны: Угол расходимости: Диапазон рабочих температур: Размеры: Вес: 35 мВт 669 нм 20 (-10 °C)-(+48 °C) 019x69 мм 65 г Для автоматизации процесса измерений лазерный источник структурирован- ного света установлен на устройстве позиционирования, управляемом от персо- нального компьютера (рис. 5.2.5). Устройство позиционирования управляется через внешний контроллер, име- ющий параллельный интерфейс с персональным компьютером. Внешний вид контроллера представлен на рис. 5.2.6. 5.2.2. Программное обеспечение комплекса Программное обеспечение системы бесконтактных фотограмметрических изме- рений включает модуль калибровки системы (calibr.vi) и модуль множественных трехмерных измерений (scaner3d.vi). Модуль калибровки служит для определе- ния параметров ориентирования камер, что обеспечивает заданную точность из- мерений координат. Модуль сканирования служит для проведения в автомати- ческом режиме сеанса измерений точек поверхности объекта, одновременно видимых с обеих камер.
Фотограмметрический комплекс для бесконтактных измерений 361 Рис. 5.2.5. Лазерный источник и Рис. 5.2.6. Контроллер устройство позиционирования устройства позиционирования Модуль калибровки Калибровка заключается в определении внешних и внутренних параметров ориенти- рования камеры (см. раздел 5.1). Для проведения калибровки используется специаль- ная калибровочная пластина с расположенными на ней изображениями кодированных меток. На изображении пластины, полученном каждой из камер, распознавание ме- ток происходит автоматически, с вычислением координат центра метки и ее номера. Данная процедура производится для обеих камер при различных положениях калиб- ровочной пластины. Всего таких положений 15. На основе полученных данных, а так- же известных (заранее измеренных вручную с высокой точностью) координат меток на самой пластине вычисляются параметры ориентирования камер. Внешний вид модуля, предназначенного для проведения процедуры калиб- ровки, показан на рис. 5.2.7. На данной форме расположены следующие элементы: • список индикаторов, каждый из которых во включенном состоянии инфор- мирует, что для соответствующего положения пластины пара изображений была получена; • переключатель NumStep, позволяющий выбрать, для какого положения пластины будет производиться съемка; • кнопка Snap, предназначенная для захвата пары изображений после того, как было выбрано соответствующее положение калибровочной пластины; • три закладки - Help, Left camera и Right camera; на первой расположено схематичное изображение, показывающее, в какое положение необходимо
362 Цифровая фотограмметрия и бесконтактные измерения Рис. 5.2.7. Экранная форма проведения процедуры калибровки Рис. 5.2.8. Изображение калибровочного поля
Фотограмметрический комплекс для бесконтактных измерений 363 установить калибровочную пластину, на остальных двух расположены со- ответственно изображения, полученные с левой и правой камеры при дан- ном положении калибровочной пластины (рис. 5.2.8); • кнопка Finish, при нажатии на которую происходит обработка всех полу- ченных снимков и определение параметров ориентирования. Рис. 5.2.9 показывает фрагмент диаграммы LabVIEW, описывающей процесс калибровки камер. Рис. 5.2.9. Фрагмент диаграммы, описывающей процесс калибровки камер Результаты калибровки сохраняются в файлах заданного формата, которые впоследствии используются модулем сканирования в процессе расчетов. На рис. 5.2.10 показан диалог, отображающий качество результатов калиб- ровки. Модуль сканирования В описываемой системе реконструкция поверхности объекта реализуется на ос- нове подсветки лазером в виде вертикальной линии. Особенностью данного ис- точника подсвета является высокая яркость, позволяющая проводить процесс
364 Цифровая фотограмметрия и бесконтактные измерения Рис. 5.2. 10. Диалог результатов калибровки сканирования при достаточном уровне внешней освещенности (по меньшей мере, при дневной комнатной освещенности). Устройство, генерирующее лазерный подсвет, размещается на поворотном шаговом двигателе. В процессе сканирова- ния лазерный луч пробегает по всей поверхности объекта. В каждом положении луча происходит съемка объекта с двух камер. На основе двух полученных изоб- ражений освещенного профиля объекта восстанавливается сам пространствен- ный профиль. Внешний вид модуля, реализующего процесс сканирования, представлен на рис. 5.2.11. На форме, показанной на рисунке, расположены следующие элементы: • две закладки для левой и правой камеры, на каждой из которых расположе- ны: элемент для установки порогового значения яркости для определения сканирующей линии на изображении и само изображение объекта; • кнопки MoveLineBack и MoveLineForward для установки сканирующего лазерного луча в начальное положение; • элемент ScanStep для установки шага сканирования в единичных переме- щениях шагового двигателя; • кнопка Start для начала и остановки процесса сканирования. При запуске модуля последовательно появляются две специальные формы с изображением объекта для выбора прямоугольной области сканирования для левой и правой камеры. Перед началом сканирования задается пороговое значение и устанавливается начальное положение сканирующей линии, а также устанавливается требуемый шаг сканирования. Чем меньше шаг сканирования, тем больше требуется для него времени, но тем более детальной получается модель. Результаты изменения пара- метров сразу отображаются в окне (рис. 5.2.12).
Фотограмметрический комплекс для бесконтактных измерений 365 Рис. 5.2.11. Экранная форма процесса сканирования Рис. 5.2.12. Результат выделения структурированного подсвета на текущем шаге сканирования
366 Цифровая фотограмметрия и бесконтактные измерения Фрагмент диаграммы, реализующий процесс настройки параметров и отобра- жения внесенных изменений, показан на рис. 5.2.13. Рис. 5.2.13. Фрагмент диаграммы, реализующий процесс настройки параметров После завершения всех подготовительных операций нажимается кнопка Start, и начинается процесс сканирования. Перемещение линии отображается в окне формы. За каждый шаг сканирования с камер снимаются два изображения. На каждом изображении производится выделение линии. Линия представлена в виде массива двумерных точек. Полученные координаты точек сохраняются в памяти для последующей обработки. Фрагмент диаграммы, реализующей процесс сканирования и отображения его на форме приложения, показан на рис. 5.2.14. Процесс сканирования завершается оператором, для чего необходимо «от- жать» кнопку Start. Далее для каждой пары линий, полученных ранее по их дву- мерным координатам, используя известные заранее параметры ориентирования камер, вычисляется соответствующий им трехмерный профиль объекта. Множе- ство таких профилей образуют поверхность объекта, состоящую из множества точек. Данное облако точек подвергается процедуре триангуляции. Полученный
Фотограмметрический комплекс для бесконтактных измерений 367 Рис. 5.2.14. Фрагмент диаграммы, реализующей процесс сканирования в результате работы системы отсканирован- ный трехмерный объект (поверхность) бу- дет представлен в виде трехмерной нерегу- лярной сетки, состоящей из соединенных между собой соседних треугольников. Пример результата работы комплекса показан на рис. 5.2.15. Рис. 5.2.15. Результат работы модуля сканирования
Compact Vision System - новая промышленная платформа для систем технического зрения 6.1. Compact Vision System (CVS) До сих пор мы рассматривали системы технического зрения, реализуемые в ос- новном на базе компьютеров общего назначения. Однако на практике при построе- нии промышленных систем машинного зрения часто возникает необходимость в использовании специализированных вычислительных устройств, обладающих небольшими размерами, созданных специально для анализа и обработки изобра- жений и способных работать в непосредственной близости от промышленных объектов в условиях воздействия различного рода вредных факторов. В данной главе мы рассмотрим одно из наиболее современных устройств такого рода. Устройство Compact Vision System (CVS) фирмы National Instruments (NI) представляет собой малогабаритное многоцелевое автономное устройство для захвата и обработки до трех каналов видеоизображений в реальном времени. CVS может быть использована в таких областях как робототехника, промышленный контроль, автоматизация и т. д. Плюсом этой системы является и то, что в ней нет каких-либо движущихся частей, а в корпусе нет технологических отверстий, бла- годаря чему ее можно устанавливать на предприятиях с повышенным содержани- ем влаги и/или пыли в воздухе. Эта система также выдерживает вибрацию и пере- грузки до 50 g. 6.1.1. Технические характеристики CVS Система СVS по сути является компьютером и обладает такими его компонента- ми, как процессор, ПЗУ, ОЗУ. На ее борту также есть плата для захвата изображе- ний и контроллер для вывода изображения на внешний монитор. На данный момент CVS выпускается в трех вариантах, отличающихся в основном быстро- действием (табл. 6.1.1).
Compact Vision System (CVS) 369 Таблица 6.1.1. Технические характеристики CVS- 145х Модель CVS-1454 CVS-1455 CVS-1456 Быстродействие 833 MIPS* 1436 MIPS* 1623 MIPS* Энергонезависимая память ОЗУ Цифровые вводы/выводы Количество камер Разрешение Частота захвата кадров 32 29 доЗ до 2000x2000 до 100 1 /с 128 256 *MIPS - миллионы инструкций в секунду Помимо цифровых вводов/выводов для общения с внешним миром у CVS есть последовательный COM-порт и разъем Ethernet (рис. 6.1.1), по которому осуще- ствляется настройка системы, обновление ее программного обеспечения и доступ к файловой системе. Триггеры Порты Цифровые IEEE 1394 вводы/еыводы Разъем порт Перелкгчаггели Ethernet Видео выход Рис. 6.1.1. Передняя панель CVS 6.1.2. Подключение и настройка CVS Рассмотрим последовательность действий по первичному подключению и на- стройке CVS. CVS представляет собой компактное автономное устройство, не имеющее клавиатуры, мыши и других средств ввода информации. Поэтому на- стройка CVS и загрузка в него рабочего программного обеспечения осуществля- ется при помощи внешнего компьютера, подключенного к CVS по сети. Однако необходимо помнить, что и CVS является по своей сути компьютером, а не пери- ферическим устройством. Поэтому для подключения его к сетевому концентрато- ру (hub) необходим обычный восьмижильный Ethernet-кабель, а для подключе- ния к другому ПК напрямую - кабель-«кроссовер». Приступим к работе с CVS. Подключите CVS к сети. Удобно также сразу под- ключить к устройству внешний монитор. Так вы гораздо проще сможете ориенти-
370 Compact Vision System - новая промышленная платформа роваться в процессах, происходящих на CVS (выключен/загружается/готов к ра- боте). Итак, подключите внешний монитор и включите питание системы. Для дальнейшей настройки нам потребуется утилита MAX (Measurement and Automation eXplorer), которая входит в комплект поставки CVS. При этом прежде всего следует установить сетевой контакт между тем внешним компьютером, на котором запускается утилита МАХ, и устройством CVS. МАХ может автомати- чески определить наличие CVS в сети, но для этого необходимо, чтобы у системы IP-адрес был 0.0.0.0 (значение по умолчанию) или же система была в той же под- сети, что и ПК, на котором запущена МАХ. Если вы подключили внешний мони- тор, то IP-адрес CVS можно увидеть в момент загрузки. Если он отличен от выше оговоренных, его необходимо сбросить (в том случае если в дальнейшем вы хоти- те воспользоваться автоматическим поиском). Сделать это можно следующим образом. Переведите переключатель с названием IP reset (расположен на пере- дней панели CVS) во включенное положение и нажмите кнопку reset (располо- жена на передней панели CVS) или выключите, а затем включите питание систе- мы. Дождитесь загрузки, после чего не забудьте перевести переключатель в исходное положение. После данной процедуры IP-адрес CVS установлен в 0.0.0.0. Вернемся к утилите МАХ. В окне Configuration выберите пункт Remote Systems (цифра 1, рис. 6.1.2) и нажмите кнопку Refresh (2, рис. 6.1.2). Через неко- торое время CVS будет обнаружена. Войдите в меню системы (3, рис. 6.1.2). Вве- дите ее название и сконфигурируйте сетевые параметры в соответствии с пара- метрами вашей сети (4, рис. 6.1.2) и, главное, присвойте системе уникальный IP-адрес. Для того чтобы параметры вступили в силу, необходимо нажать кнопку Apply (Применить) - (5, рис. 6.1.2), азатем Reboot (Перезагрузка) - (6, рис. 6.1.2). Для того чтобы проконтролировать правильность конфигурирования пара- метров CVS, вы, например, можете просмотреть содержимое ее постоянной па- мяти при помощи браузера (например, Internet Explorer) по FTP-протоколу. Для этого в браузере в графе «путь» достаточно набрать ftp://cvs.address/, где cvs.address - IP-адрес, заданный вами на предыдущем шаге (например, 192.168.36.253). Также вы можете проверить работоспособность камер. Подключите их к CVS. Далее выберите одну из подключенных камер (1, рис. 6.1.3). Вы также можете сконфигурировать параметры камеры (например, яркость, контрастность и т. д.) и настроить параметры захвата (например, разрешение, частота захвата и т. д.) в соответствующих меню - Acquisition Parameters и Camera Attributes (2, рис. 6.1.3). Далее воспользуйтесь кнопкой Grab (захват) для получения изображения с каме- ры в непрерывном режиме (3, рис. 6.1.3). Можно также использовать кнопку Snap для захвата одного изображения. Текущее изображение можно сохранить, вос- пользовавшись кнопкой Save Image (4, рис. 6.1.3). После этого необходимо установить на CVS программное обеспечение, с тем чтобы вы могли запускать на ней ваши приложения. Обратимся вновь к утилите МАХ. Выберите пункт меню Software (1, рис. 6.1.4) и раскройте его. Вы увидите список ПО, установленного на CVS (2, рис. 6.1.4). Если система новая, то, скорее всего, никакого ПО на ней не установлено. Для
Compact Vision System (CVS) 371 cvsITT Measurement Q Automation Explorer Ek EJt fciew 1оЛ Configirdtioci / Reboot ^jLock Refresh Apply) $3 My System ♦ Q L «vices and Interfaces * Й Software £3 Remote •vs>ern< - rt *«:3 . Lj Devces end Interfaces ♦ о Software Devce Icerlr calm Model №1450 Senes Se-elNj-ter OCCZlbST MAC Address 00902f0a5cc4 System State Corrected Rterrtg Commert fceondl Г" Password-protect Resets IP Settings Г fitter) «Hets from DHCP server <• fidi the IP settngs SjggestVaues J ToCe‘ajl ipjd**s»- 4ч । jst I» 3« iss Ь*И*“«* A 255 2S5 а». 0 \ И*»«Г '.I 152 168 X 1 j CHS sew [195.222 183 1/ Ц4( цм i TCP/IP lah wC^arcee Ctfiane' $«ягф I Рис. 6. 1.2. Внешний вид утилиты MAX: 1 - пункт меню Удаленные Системы, 2 - кнопка Обновить, 3 - вход в меню CVS, 4 - установка параметров, 5 - кнопка Применить, 6 - кнопка Перезагрузка Рис. 6.1.3. Захват изображения при помощи утилиты МАХ
372 Compact Vision System - новая промышленная платформа ‘Л. Software Measurement & Automation Explorer Ft 'Jt Vtr? fodi Цар Configuration 9 My System ♦ i£j ?evces and interfaces . £| Software - 9 Remote System» S l|j| cvsUT 4 Cl Device^ ar^ Interfaces MkabVJEW Real-Tme 7.1 .2 j| NI-VI5A Server 3.1 \ й NI-VEA3.1 I'drt NI-1394 External Drive Support 1.2.0 1 jg Nl-SerielRT 2.5-2 NI-RIOR7 1,1.0 j1 'jg NI-1MAQ Server 1 .4.0 jg Nl IMAQ for IEEE 13И RT 1ЛЗ W Nl 1450 RT 1.1.0 A DaU5x«j« for LabVIEW be^nme 4.2 Instel Softwre > 3 Software What is Software? The Software category allows LabVIEW Real-Time target What do you want to d< :: View my software infoi To expand the Software и Install Software To install software to yo toobar. Рис. 6.1.4. Установка программного обеспечения на CVS с помощью утилиты МАХ: 1 - пункт меню программное обеспечение, 2 - установленные компоненты, 3 - кнопка Установить ПО. того чтобы установить необходимые компоненты, нажмите кнопку Install Soft- ware (Установить ПО). В появившемся диалоговом окне необходимо выбрать из списка то ПО, кото- рое будет установлено на CVS (1, рис. 6.1.5). Заметим, что для того, чтобы необхо- димый вам компонент присутствовал в списке, его сначала нужно установить на ПК, с которого впоследствии будет производиться его установка на CVS. Так как одновременно на ПК может присутствовать несколько версий одного программ- ного продукта (например, LabVIEW RT 7.0 и LabVIEW 7.1), то необходимо вы- брать ту версию, которая будет загружена в CVS (2, рис. 6.1.5). Процесс загрузки компонент протекает следующим образом. Сначала CVS пе- резагружается, чтобы подготовиться к приему нового ПО. Затем происходит не- посредственное копирование/установка выбранных компонент (рис. 6.1.6). И на- конец, CVS перезагружается для того, чтобы изменения вступили в силу. Для запуска приложений по захвату и обработке изображений вам понадобят- ся как минимум четыре следующих компоненты: LabVIEW Real-Time, IMAQ. Vision RT, NI-IMAQ for IEEE 1394 RT, Nl 1450 RT. Всегда старайтесь использо- вать самые новые версии компонент, так как они обладают большей устойчивос- тью и работоспособностью. Обновления можно регулярно загружать с сайта ком- пании National Instruments - www.ni.com.
Compact Vision System (CVS) 373 Рис. 6.1.5. Выбор компонент для установки на CVS Рис. 6.1.6. Процесс загрузки компонент в CVS
374 Compact Vision System - новая промышленная платформа 6.1.3. Создание приложения для CVS Теперь, когда система Compact Vision System подключена, настроена и готова к работе, можно непосредственно приступить к написанию программ, исполняе- мых на CVS. Еще раз обратите внимание на то, что для программирования и за- грузки программ для CVS используется внешний компьютер, подключаемый к устройству по сети, но после завершения программирования внешний компьютер может быть отключен, и созданные приложения будут далее выполняться непос- редственно на CVS в автономном режиме. Программирование CVS осуществляется на LabVIEW. При загрузке LabVIEW на экране используемого для программирования внешнего ПК появляется окно, подобное представленному ниже (рис. 6.1.7). При этом важно, чтобы значки, обве- денные на рисунке, присутствовали и у вас. Первый из них - часы (1, рис. 6.1.7) - свидетельствует о том, что на данном компьютере установлено дополнение к LabVIEW - LabVIEW RT (Real Time). Оно позволяет создавать программы для систем реального времени, одной из которых является CVS. Второй значок - ка- мера (2, рис. 6.1.7) - свидетельствует о том, что на данном компьютере установле- но дополнение IMAQ. Vision - набор драйверов для работы с камерами, а также набор виртуальных приборов для работы с изображениями. Рис. 6.1.7. Окно загрузки LabVIEW: 1 - на ПК установлен LabVIEW Real Time, 2 -на ПК установлен IMAQ Vision
Compact Vision System (CVS) 375 В стартовом окне (рис. 6.1.8) необходимо выбрать платформу, для которой разрабатывается данное приложение. Заметим, что, во-первых, возможность дан- ного выбора появляется только после установки LabVIEW RT, во-вторых, вы можете разрабатывать приложение на одной платформе (например, на ПК под управлением Windows), а затем запускать на другой (например, на CVS по управ- лением PharLap), и, в-третьих, вы всегда сможете изменить выбранную платфор- му: либо закрыв проект и выбрав ее в стартовом окне, либо зайдя в пункт меню Operate и выбрав Switch Execution Target. Заметим также, что для того, чтобы у вас появилась возможность выбора различных платформ, необходимо сначала сконфигурировать соответствующие ресурсы при помощи утилиты МАХ. В на- шем случае идентификатором ресурса (CVS) служит IP-адрес системы, который был задан чуть ранее. Также можно не выбирать ранее сконфигурированные ре- сурсы, а задать адрес системы напрямую, но сконфигурированными ресурсами пользоваться удобнее. Рис. 6.1.8. Выбор платформы, на которой будет исполняться созданный код Создадим теперь простейшую программу, которая захватывает один кадр и выводит его на внешний монитор (рис. 6.1.9), и запустим ее на CVS. Так как программа разрабатывалась на ПК, а выполняться она будет на уда- ленной системе, вначале ее код будет автоматически загружен в оперативную па- мять CVS (рис. 6.1.10). Заметим, что при этом загружается не только сама про- грамма, но и функции, необходимые для ее выполнения. В связи с этим загрузка приложения может занять некоторое время, даже несмотря на то, что сама про-
376 Compact Vision System - новая промышленная платформа Инициализация изображения Вывод изображения на внешний монитор Рис. 6. 1.9. Программа для захвата изображения и вывода его на внешний монитор IE Downloading... Vis Downloaded 5et Bold Text.vi (7.73 К) л Format Message String.vi (8.72 K) Convert property node Font to graphics Font.vi (3.33 K) Get Text Rect.vi (8.98 K) Longest Line Length in Pixels.vi (7.36 K) Three Button Dialog COREM (70.24 K) ______________________________XJ Download Progress I............-..................................................... ] Free Memory: 94926 К of 127611 К Total (74%) I | Pause when download completes I Abort Рис. 6.1.10. Загрузка кода в оперативную память CVS грамма очень простая. По завершении загрузки программа сразу же начнет вы- полняться. Данная программа должна выполнить следующие действия: захватить один кадр с первой камеры и вывести его на монитор. Для того чтобы захватить следующий кадр, необходимо запустить эту программу еще раз. Попробуем модифицировать нашу программу таким образом, чтобы захват изображения происходил в непрерывном режиме (рис. 6.1.11). Теперь изображе- ние, получаемое с первой камеры, будет захватываться и выводиться на монитор до тех пор, пока на интерфейсной панели внешнего ПК не будет нажата кнопка Stop. Обратите внимание на то, что, хотя программа в данный момент выполняет- ся на CVS, LabVIEW поддерживает связь с системой таким образом, что интер- фейс пользователя на внешнем ПК сохраняет работоспособность. Следует также помнить, что до сих пор программа записана только в оператив- ной памяти CVS (и, разумеется, на ПК). Таким образом, при выходе из LabVIEW или при перезагрузке CVS данная программа будет потеряна. Для того чтобы из-
Пример приложения: фотограмметрический комплекс на базе CVS 377 Рис. 6.1.11. Программа для захвата изображения и вывода его на внешний монитор в непрерывном режиме бежать сбоя в работе при выходе из LabVIEW, можно воспользоваться опцией Exit without closing LabVIEW RT Engine Vis в пункте меню File или же опцией Switch Execution Target в пункте меню Operate. Но даже в этих случаях програм- ма будет работать только до первой перезагрузки системы. Чтобы созданное вами приложение сохранилось в постоянной памяти CVS, необходимо его откомпилировать. Для этого войдите в пункт меню File и выбери- те опцию Build Application or Shared Library (DLL). В качестве главного вирту- ального прибора выберите главный ВП вашего приложения и скомпилируйте его. При этом ваш проект будет помещен в исполняемый файл и скопирован на CVS. Теперь после перезагрузки данное приложение будет запускаться на CVS автома- тически. 6.2. Пример приложения: фотограмметрический комплекс на базе CVS Рассмотрим в качестве примера разработки практической системы технического зрения на базе Compact Vision System, вариант фотограмметрического измери- тельного комплекса, функционально подобного комплексу, описанному ранее в главе 5. 6.2.1. Аппаратное обеспечение комплекса Общая схема описываемой системы бесконтактных измерений на базе CVS фир- мы National Instruments представлена на рис. 6.2.1. Система включает: • блок CVS NI-1454; • две камеры BASLER A601I; • вращательный позиционер NANOTEC; • контроллер шагового двигателя;
378 Compact Vision System - новая промышленная платформа Вращательный позиционер Лазер Контроллер шагового двигателя Левая камера Блоки питания Compact Vision System (CVS) Рис. 6.2.1. Схема системы бесконтактных измерений на базе CVS фирмы NI • лазер; • блоки питания. В связи с тем что CVS представляет собой автономный блок, осуществляющий выполнение заданной программы в независимом режиме, программное обеспече- ние системы на базе CVS состоит из ряда блоков, расположенных как на CVS, так и на host-компьютере. Программные средства для данной конфигурации аппаратных средств систе- мы бесконтактных измерений включают следующие блоки: • программный модуль управления CVS; • интерфейсный модуль связи с CVS; • модуль обработки данных, получаемых от CVS. 6.2.2. Программное обеспечение комплекса Программное обеспечение (ПО) рассматриваемого ЗВ-сканера состоит из двух частей: • интерфейса пользователя с интегрированным блоком управления шаговым двигателем; • приложения, загруженного в постоянную память CVS, осуществляющего захват, обработку и передачу изображения. Обмен данными между этими частями ПО осуществляется при помощи техно- логии Data Socket фирмы National Instruments. Приложение для ПК Интерфейсная часть приложения, запускаемая на ПК (рис. 6.2.2), позволяет: • проверять работоспособность комплекса в целом; • изменять параметры сканирования - точность, диапазон и др.; • восстанавливать начальное положение вращательного устройства позици- онирования (позиционера) при каких-либо сбоях; • производить сканирование объекта и визуализировать его модель;
Пример приложения: фотограмметрический комплекс на базе CVS 379 Рис. 6.2.2. Внешний вид интерфейса пользователя • захватывать изображение и сохранять его в файл (например, чтобы исполь- зовать его в дальнейшем при калибровке системы). Данная программа состоит из двух практически независимых частей - сетевой и пользовательской. Сетевая часть программы обеспечивает взаимодействие с CVS. Пользовательская часть позволяет управлять позиционером и обеспечива- ет общую координацию действий пользователя и системы в целом. Сетевая часть приложения (см. блок-диаграмму на рис. 6.2.3) находится в ре- жиме ожидания команды, поступающей с CVS, а затем обрабатывает ее. Для каж- дой возможной команды предусмотрена своя ветвь обработки. Список команд, поступающих от CVS, представлен ниже: • cvs ok - система CVS включена и функционирует нормально; • restarting - CVS перезагружается (не используется); • one shot - команда к приему изображения с левой и правой камер; • move - команда к началу движения сканирующей линии в следующую точку; • data - информация после завершения сканирования. Пользовательская часть ПО реализует взаимодействие между пользователем и CVS. При помощи пользовательского интерфейса задаются моменты начала и окончания сканирования, устанавливается точность, определяется диапазон ска- нирования, текущее изображение сохраняется в файл, происходит управление перемещением позиционера (рис. 6.2.4) и т. п.
380 Compact Vision System - новая промышленная платформа Рис. 6.2.3. Блок-диаграмма сетевой части интерфейсного приложения Рис. 6.2.4. Фрагмент диаграммы, отвечающий за перемещение позиционера на заданный угол Программный модуль CVS Программный модуль CVS позволяет принимать/передавать данные через Ethernet (по DataSocket), захватывать изображение и производить его обработку. Структура данной программы базируется на так называемой «машине состоя- ний» (State Machine). Машина состояний отличается от обычной структуры вы- бора (Case) только тем, что при обработке каждого состояния есть возможность указать, какое состояние необходимо обрабатывать на следующей итерации. Структура программы представлена на рис. 6.2.5. Первым важным элементом (1)
Пример приложения: фотограмметрический комплекс на базе CVS 381 является проверка наличия соединения с ПК. Вторым важным элементом (2) яв- ляется проверка наличия команды, сгенерированной на предыдущей итерации. Если команда не поступила (то есть система на данный момент свободна), исполь- зуется третий важный элемент (3) - прием команд из ПК. Далее, в зависимости от команды, реализуется определенное состояние State Machine (4). Рис. 6.2.5. Блок-диаграмма фрагмента программы CVS: 1 - проверка наличия подключения: 2 - проверка наличия команды с предыдущей итерации: 3 - проверка наличия команды от ПК: 4 - структура машины состояний (State Machine) Возможные состояния State Machine в данной системе: • nothing - в случае если сканирование не запущено, система не выполняет никаких действий; если сканирование запущено, система захватывает изоб- ражения с обеих камер и обрабатывает их; • Background - захват изображений с обеих камер, сохранение для дальней- шего использования и передача изображений в ПК; • QneShot - захват изображений с обеих камер и передача в ПК; • Average - установка числа кадров, по которым будет проводиться усредне- ние захваченных изображений (целесообразно использовать для камер с плохими шумовыми характеристиками);
382 Compact Vision System - новая промышленная платформа • CheckCVS - передача в ПК команды «CVS Ок», означающей, что система находится в готовности; • Accuracy - указание количества точек, на которое разбивается весь диапа- зон сканирования; • Bright - установка параметров камер (brightness, shutter, gain) для наблю- дения области сканирования пользователем и передачи изображений в ПК; • Dark - установка параметров камер (brightness, shutter, gain) для обработки и передачи изображений в ПК (рис. 6.2.6); • ScanFrom - установка начальной границы области сканирования; • ScanTo - установка конечной границы области сканирования; • Mode - выбор режима сканирования; • Clear Error - сброс флага ошибки; • Stop - остановка сканирования; • DS send - отправка команд на ПК; • Moved - подготовка системы к захвату и обработке изображения. (Данную команду ПК присылает после того, как вращательный позиционер переме- щается в очередную точку.) Рис. 6.2.6. Захваченное изображение в двух режимах: Bright (слева) и Dark (справа) Е1а этапе обработки изображения используется следующая схема выделения ярких вертикальных линий (рис. 6.2.7). Исходное изображение бинаризуется. После этого определяются области, в которых располагаются связные яркие --- исходная линия □ область интереса --- центральная линия Рис. 6.2.7. Нахождение ярких точек
Пример приложения: фотограмметрический комплекс на базе CVS 383 объекты («частицы»). Для каждой из этих областей построчно определяется са- мая яркая точка строки и точки вокруг нее, чья интенсивность составляет не ме- нее 80% от яркости данной максимальной точки. И наконец, производится расчет центра масс оставшегося отрезка, в результате которого формируется оценка по- ложения сканирующей линии в данной строке. Программная реализация приложения для CVS Приложение, запускаемое на CVS, состоит из трех «фреймов». В первом фрейме (рис. 6.2.8) происходит инициализация переменных (установка их значений в на- чальное положение). Также в этом фрейме производится удаление внутреннего содержимого файлов данных. Рис. 6.2.8. Фрагмент первого фрейма программы CVS В этом фрейме также производится настройка изображения, передаваемого на внешний монитор (настраиваются следующие параметры: частота обновления экрана, разрешение, глубина цвета) и на рабочий монитор во время отладки про- граммы (рис. 6.2.9). Во втором фрейме (рис. 6.2.10) располагается основной программный код. Вначале производится инициализация и настройка камер с помощью ВП InitCameras.vi - рис. 6.2.11 - и ВП ConfigBaslerCamera.vi - рис. 6.2.12. Настройка камер подразумевает установку их рабочего разрешения и начало не- прерывного захвата изображений. ВП Initlmages.vi Ej5;i позволяет произвести инициализацию и настройку изображений (рис. 6.2.13).
384 Compact Vision System - новая промышленная платформа Рис. 6.2.9. Настройка формата изображения, передаваемого на внешний монитор (слева) и на рабочий монитор (справа) Рис. 6.2.10. Фрагмент второго фрейма программы CVS Рис. 6.2.11. Блок-диаграмма ВП InitCameras.vi
Пример приложения: фотограмметрический комплекс на базе CVS 385 Рис. 6.2.12. Блок-диаграмма ВП ConfigBaslerCameravi Рис. 6.2.13. Блок-диаграмма ВП Initlmages.vi Вначале также производится установка соединения с сервером DataSocket (рис. 6.2.14) по адресам обмена данными. В данном случае используются два адре- са: 3dscanerMainRead (по этому адресу программа на ПК считывает данные, а программа CVS записывает) и 3dscanerMainWrite (по этому адресу программа на ПК записывает данные, а программа CVS считывает). Рис. 6.2.14. Установка соединения с серверов DataSocket
386 Compact Vision System - новая промышленная платформа Рассмотрим следующий фрагмент блок-диаграммы первого фрейма данной программы (рис. 6.2.15). Вначале происходит проверка наличия команды с пре- дыдущей итерации (например, на ней произошел захват фрейма, тогда на теку- щую итерацию поступит команда DSsend). Если команда не поступила (то есть программе на текущей итерации не требуется ничего делать), то выполняется проверка поступления команд с ПК. Если команда поступила, то обрабатывается строка, выделяется команда и ее аргументы, после чего происходит выполнение. Если команда не поступила, то на текущей итерации не будет выполняться ника- ких действий (если только не был запущен процесс сканирования - в этом случае на текущей итерации будет произведен захват очередной пары изображений и их обработка). Рис. 6.2.15. Фрагмент блок-диаграммы первого фрейма программы CVS Виртуальный прибор ReverseBytesAtSNG Данный ВП переводит каж- дый элемент массива типа single (4-байтовое число с плавающей точкой) в строку, изменяет порядок байтов на обратный и создает массив таких строк (рис. 6.2.16). Использование этого ВП необходимо в связи с тем, что представление числа в LabVIEW отличается от представления числа в динамической библиотеке, ис- пользуемой в данном примере для построения трехмерного изображения поверх- ности по опорным точкам. Виртуальный инструмент Advanced Line Detection 3.vi производит поиск яр- ких линий и определение их координат. Принцип его работы кратко описан выше. Рис. 6.2.16. Блок-диаграмма ВП ReverseBytesAtSNG
Пример приложения: фотограмметрический комплекс на базе CVS 387 Как следует из описания, одним из этапов работы является бинаризация, поэтому, чтобы исходное изображение сохранилось, результат этой операции надо скопи- ровать в отдельное изображение. Обычно инициализация изображений произво- дится в начале программы. Однако, так как это изображение используется только в данном ВП, то, чтобы не устанавливать связи через всю программу, инициализа- ция вспомогательного изображения «ALD binary» производится при первом за- пуске данного ВП (рис. 6.2.17). При первом запуске также инициализируется изображение «ALD 8bit», которое необходимо для накопления и усреднения изображений при работе с низкокачественными камерами (Web-камеры и другие источники изображений). Рис. 6.2.17. Фрагмент блок-диаграммы «Advanced Line Detection 3.vi» На первом этапе производится бинаризация изображения и обнаружение границ ярких линий. Затем изображение переводится в двумерный массив (рис. 6.2.18). Далее выполняется следующая последовательность действий. Выбирается часть строки двумерного массива, лежащая внутри границ, определенных на предыдущем шаге. Находится максимальное значение в выбранной области и выбирается подо- бласть вокруг нее, в которой лежат значения, превышающие 80% порог от макси- мального (рис. 6.2.19). Далее, пользуясь методом определения центра масс, ищется субпиксельное положение центральной точки (данное значение не является целым числом). Найденное значение добавляется в массив координат X ярких точек. Коор- динаты Y ярких точек находятся автоматически при выделении определенной строки из массива. Координата Y равна номеру обрабатываемой строки. Наконец, формируется выходной массив кластеров, содержащих XY-коорди- наты ярких точек (рис. 6.2.20).
388 Compact Vision System - новая промышленная платформа Рис. 6.2.18. Фрагмент блок-диаграммы «Advanced Line Detection 3.vi» Рис. 6.2.19. Фрагмент блок-диаграммы «Advanced Line Detection 3. vi» 6.2.3. Пример сканирования детали В качестве примера объекта, подлежащего сканированию, используем деталь характерной выпуклой формы (подобные детали используются в процессе изго- товления элементов обшивки самолета). Вид сканируемой детали показан на (рис. 6.2.21).
Пример приложения: фотограмметрический комплекс на базе CVS 389 Рис. 6.2.20. Фрагмент блок-диаграммы Advanced Line Detection 3. vi Сканирование проводилось описанным выше фотограмметрическим комплек- сом на базе CVS в условиях дневного освещения. Результаты сканирования пред- ставлены на рис. 6.2.22. На изображении видно, что трехмерная форма объекта была реконструирована с достаточно высоким качеством. Точность измерений в данном примере составила порядка 0,1 мм при рабочей области сканирования XxY мм. Рис. 6.2.21. Сканируемая деталь Рис. 6.2.22. Результаты сканирования тестовой детали
Примеры практических систем машинного зрения В предыдущих главах были описаны основные математические и алгоритмичес- кие подходы, используемые в настоящее время в области машинного зрения. Мы также рассмотрели те готовые программные средства для разработки систем об- работки и анализа изображений, которые имеются в среде LabVIEW и пакете IMAQ. Vision фирмы National Instruments. Описанные методы и средства LabVIEW позволяют среднему разработчику самостоятельно создавать эффективные про- тотипы практически любых систем машинного зрения. Однако, прежде чем мы сможем считать данный курс обработки и анализа изображений завершенным, читателю необходимо еще составить себе хотя бы общее представление о том, ка- кие конкретные практические задачи призваны и способны решать современные системы технического зрения, какие характеристики по точности, надежности и быстродействию они должны и могут при этом обеспечивать. С этой целью в дан- ной главе представлен ряд примеров практических систем машинного и компью- терного зрения, разработанных в последние годы в лабораториях компьютерного зрения ФГУП ГосНИИ Авиационных систем и ЗАО «Институт информацион- ных технологий». Некоторые из этих систем были созданы с использованием средств LabVIEW и IMAQ. Vision, другие - с использованием иных программных средств. В контексте данной главы принципиально лишь то, что во всех описан- ных ниже примерах практических приложений решались достаточно типовые за- дачи машинного и компьютерного зрения, а также то, что технические характери- стики описанных ниже систем являются типовыми и удовлетворительными на современном этапе развития технологии, а также программных и аппаратных средств машинного зрения. Примеры практических приложений сгруппированы по следующим крупным тематическим блокам: • автоматизация измерений и технический контроль; • машинное зрение, видеонаблюдение и биометрия;
Автоматизация измерений и технический контроль 391 • обработка документов, распознавание текста и штриховых кодов; • медицинские приложения. 7.1. Автоматизация измерений и технический контроль 7.1.1. Система автоматического выделения и фильтрации следа частиц Задача выделения треков частиц - одна из первых классических задач обработки изображений. В частности, в свое время именно эта задача породила исследования по выделению прямолинейных объектов на изображениях, а также инициировала разработку ряда структурно-лингвистических методов распознавания образов. В данном случае речь идет не об анализе изображений траекторий физических частиц атомного или субатомного уровня, а об исследовании картины массового истечения горячих частиц макроуровня в специальном физическом эксперимен- те. При этом, хотя регистрация изображений движущихся горячих частиц произ- водится при помощи скоростной видеосъемки, за время экспозиции видеокамеры частицы все равно успевают пройти значительное расстояние, в результате чего их образы на цифровом изображении представляют собой размытые прямолиней- ные отрезки. По длине получившегося отрезка-следа можно судить о скорости, по его толщине - о размере, а по яркости - о температуре соответствующей частицы. Специфика анализа изображений в данной задаче связана с тем, что, во-первых, среди множества прямолинейных объектов необходимо выделять только те от- резки, которые удовлетворяют ряду условий (находятся в фокусе камеры и не пе- ресекаются с другими треками), во-вторых, измерения параметров треков необхо- димо производить с субпиксельной точностью, поскольку разница в толщине треков порядка нескольких десятых долей пикселя в данном случае соответствует различным типоразмерам частиц в объектном пространстве. Разработанная система компьютерного зрения позволила автоматизировать процесс обработки и анализа 12-битных цифровых изображений следа частиц, полученных скоростной фотосъемкой. Система обеспечивает надежное выделение следа частиц с субпиксельной точ- ностью и их фильтрацию согласно следующим параметрам: • минимальная и максимальная длина следа частицы; • максимальная интенсивность по длине следа; • поперечный размер следа частицы с учетом угла следа; • угол наклона следа частицы относительно границ изображения. Частицы с пересекающимся следом или частицы на границах изображения от- фильтровываются. Система также содержит универсальное средство анализа цифровых изобра- жений, позволяющее строить гистограмму, проекции и профили изображения, применять к изображению как стандартные, так и произвольные LUT-преобразо-
392 Примеры практических систем машинного зрения вания, отображать значения интенсивности изображения в виде трехмерной по- верхности и т. д. На рис. 7.1.1 и 7.1.2 показаны результаты обработки. Цветом помечены выде- ленные треки частиц, удовлетворяющие заданным параметрам. Рис. 7.1.1. Результаты обработки частиц Рис. 7. 72. Результаты обработки частиц 7.1.2. Система автоматизированного бесконтактного измерения объема круглых лесоматериалов Задача измерения объема лесо- и пиломатериалов является одной из чрезвычайно актуальных задач в области лесозаготовки и деревообрабатывающей области в целом. К качеству и составу поставляемых лесоматериалов в мире предъявля- ются достаточно высокие требования, что определяет необходимость контроля объема и параметров поставляемых партий лесоматериалов на всех этапах их про-
Автоматизация измерений и технический контроль 393 изводства и транспортировки - от заготовки до непосредственной поставки по- требителю. При этом наиболее распространенные на сегодняшний день ручные методы измерений (при этом измеряются габаритные размеры связки древесины, после чего объем связки определяется по табличным формулам) обеспечивают результаты с погрешностью до 25-30%. Бесконтактные методы измерения объе- ма лесоматериалов методами машинного зрения и цифровой фотограмметрии по- зволяют обеспечить точность измерения объема связки порядка 3-5%, что дает несомненный и существенный экономический эффект. Разработанный аппаратно-программный комплекс предназначен для проведе- ния дистанционных измерений параметров пачки древесины на основе стерео- метрической съемки. Состав комплекса: • персональный компьютер; • плата захвата и оцифровки изображений; • две цифровые видеокамеры высокого разрешения; • специальное программное обеспечение. Функции комплекса: • просмотр видеоизображения с левой и правой камеры на мониторе ПК; • захват и оцифровка видеоизображений и сохранение их в файлы; • проведение измерений трехмерных размеров объекта в ручном режиме; • поиск границ среза ствола и расчет его площади в полуавтоматическом ре- жиме; • поиск всех срезов стволов в пачке, расчет их площадей в автоматическом режиме; • поиск границ пачки древесины, расчет ее площади в автоматическом режиме. Характеристики комплекса: • точность измерения линейных размеров отдельных торцов стволов - 1%; • время получения и обработки одной стереопары в автоматическом режи- ме - 0,5 мин; • вероятность автоматического выделения каждого отдельного торца ство- ла - 0,95. Рисунки 7.1.3-7.1.5 демонстрируют работу системы бесконтактного измере- ния круглых лесоматериалов. На рис. 7.1.3 показан внешний вид пачки древеси- ны, на рис. 7.1.4 - исходная стереопара, а результаты анализа трансформирован- ного изображения - на рис. 7.1.5. Рис. 7. 1.3. Пачка древесины Рис. 7.1.5. Резуль- таты анализа Рис. 7.1.4. Исходная стереопара
394 Примеры практических систем машинного зрения 7.1.3. Система определения гранулометрического состава рудной массы (разработка ИИТ и ООО «НВП Центр-ЭСТАгео») Задача определения гранулометрического состава тех или иных сыпучих матери- алов (рудной породы, земли, продуктов химического производства) также явля- ется весьма востребованной задачей в области технического контроля в горнодо- бывающих, перерабатывающих, химических и других областях промышленности. С математической точки зрения задача гранулометрии сводится к анализу изоб- ражений гранулированного (разбитого на отдельные комки или гранулы) мате- риала с целью оценки процентного содержания в данном материале гранул раз- личного размера и/или формы либо поиска и отделения частиц специфической формы и размера. При построении промышленных гранулометрических систем следует учитывать, что реальные условия эксплуатации таких систем технического зрения зачастую бывают связаны с запыленностью, вибрацией и другими вредны- ми факторами, влияющими на аппаратные составляющие аппаратно-программ- ных комплексов, а также на точность практически осуществимых измерений. Широко распространены также лабораторные варианты гранулометрических си- стем (прежде всего - на базе микроскопической съемки), создание которых не сталкивается с описанными проблемами, но, в свою очередь, имеет собственную специфику, связанную прежде всего с правильным подбором подсвета. Созданный в ИИТ программно-аппаратный комплекс предназначен для опре- деления гранулометрического состава руды, подаваемой на горно-обогати- тельную фабрику. Спецификой предложенного решения является использование стереоинформации. По стереопаре изображений с высокой точностью восстанав- ливается наблюдаемая трехмерная поверхность рудной массы, после чего к полу- ченной цифровой модели применяется ряд специальных процедур структурного анализа изображений (рис. 7.1.6-7.1.9). Для структурированной поверхности вы- полняется автоматическая оценка размеров выделенных гранул, исследуется их распределение по размеру, строится гистограмма распределения. Рис. 7.1.6. Исходная стереопара
Автоматизация измерений и технический контроль 395 Рис. 7.1.7. Модель поверхности рудной массы Рис. 7.1.8. Анализ изображений Рис. 7.1.9. Структурированная поверхность Все процессы обработки полностью автоматизированы. Надежность и точ- ность результата, получаемого по данной методике, значительно превышает ана- логичные показатели, получаемые на основе единичного изображения. 7.1.4. Система автоматического измерения угла схождения сварного шва Данный пример демонстрирует одну из типовых задач визуального технического контроля, предполагающую автоматическое измерение некоторого контролируе- мого технического или технологического параметра по цифровым изображениям с целью организации обратной связи с контролируемым технологическим про- цессом. По результатам измерений компьютер формирует команды исполни- тельному устройству, которое воздействует на объект измерений, и за счет такой обратной связи система технического зрения обеспечивает нахождение измеряе- мого параметра в заданном диапазоне значений. При сварке труб из листового материала возникает проблема определения ка- чества сварного шва методами неразрушающего контроля. Одним из параметров,
396 Примеры практических систем машинного зрения Рис. 7.1. 10. Изображение сварного шва с выделенными краевыми элементами и линиями, по которым производится оценка угла схождения влияющих на качество сварного шва, является так называемый угол схождения. Было предложено кон- тролировать угол схождения сварного шва путем анализа изображений этого угла, получаемых непос- редственно в ходе сварке. В описываемой системе решалась задача автоматиче- ского обнаружения краев листа и определения величины угла схождения этих краев (рис. 7.1.10). Разработанная система позволила обеспечить автоматическое измерение и контроль границ угла схождения с субпиксельной точностью. 7.1.5. Система автоматического распознавания и подсчета некондиционных кристаллов на круглой пластине Еще один пример системы технологического контроля. Задача возникла в облас- ти изготовления кристаллов для электронной промышленности. Технологиче- ский процесс изготовления кристаллов устроен таким образом, что на определен- ной стадии обработки круглой пластины, включающей в себя кристаллы, все некондиционные кристаллы оказываются помеченными («закапанными»), и тре- буется составить соответствующую карту пластины, на которой были бы точно помечены закапанные и незакапанные кристаллы. Задача решается средствами машинного зрения. Специфика задачи связана с тем, что пластина имеет зеркаль- ную отражающую поверхность, и это вызывает значительные проблемы в форми- ровании однородного безбликового подсвета, необходимого для получения каче- ственного изображения пластины с кристаллами. Разработанный программно-аппаратный комплекс предназначен для внедре- ния в производстве электронных микросхем в качестве экспресс-методики под- тверждения соответствия изготавливаемой продукции требованиям специфика- ции, а также повышения достоверности работы маркировочных автоматов при разбраковке кристаллов на пластине. Состав комплекса: • персональный компьютер; • цифровая система видеоввода VS-CTT-285-2001; • светоизолирующий тубус со встроенной системой подсветки. Функции системы: • ввод оператором уникальных данных пластины; • ввод с видеокамеры цифрового изображения пластины; • автоматическое распознавание закапанных кристаллов на круглой плас- тине и их отображение цветом на экране для визуального контроля опе- ратора;
Автоматизация измерений и технический контроль 397 Рис. 7.1.11. Результат автоматического определения границ кристаллов • автоматическое формирование карты кристаллов на пластине с присвоением им номеров и характе- ристик (целый/нецелый, закапанный/незакапан- ный), визуализация характеристик цветом, сохра- нение краткого/полного отчетов. Пример результата работы системы приводится на рис. 7.1.11. Показан резуль- тат автоматического определения границ кристаллов, некондиционные кристал- лы помечены точками. 7.1.6. Система компенсации геометрических искажений и бесшовной сшивки изображений, получаемых от многокамерных систем видеоввода Данный пример демонстрирует типичную проблему, возникающую в системах технического зрения. Как мы знаем, необходимое разрешение системы видео- ввода определяется двумя противоречивыми требованиями: с одной стороны - масштабом съемки, необходимым для того, чтобы контролируемые детали были доступны для измерения с требуемой точностью, с другой стороны - размером рабочей области системы (габаритами объекта измерений), которая должна целиком помещаться в формируемое изображение. При этом в случае, когда раз- меры измеряемого объекта достаточно велики, а технологические условия пред- полагают высокую точность измерений, данное противоречие зачастую оказы- вается практически неразрешимым для существующих технических камер приемлемого ценового диапазона. Одно из возможных решений данной пробле- мы следующее: если необходимого разрешения и одновременно охвата области интереса невозможно достичь, используя одну видеокамеру, это можно сделать, используя одновременно несколько камер (набор или даже матрицу камер). Однако задача сшивки «мозаичного» изображения из фрагментов, снятых с не- скольких камер, является не такой простой задачей в связи с тем, что геометрия и яркость каждого снимка немного отличаются, и объективы камер всегда вно- сят дополнительные искажения (дисторсию), существенно изменяющие конту- ры изображений, особенно по краям снимка. Поэтому для решения задач сшив- ки многокамерных изображений используются специальные математические методы. В данном приложении - специально разработанное программное обеспечение для системы бесшовной сшивки изображений, получаемых от многокамерных си- стем видеоввода. Система позволяет компенсировать геометрические искажения и высокоточно сшивать в единое панорамное изображение до 16 изображений от разных видеокамер.
398 Примеры практических систем машинного зрения Функции системы: • калибровка и ориентирование видеокамер системы; • ввод в ПК изображений от всех видеокамер системы; • формирование обзорного (уменьшенного) сшитого изображения для нави- гации; • исправление геометрии снимков (внесение поправок на дисторсию объек- тивов); • сшивка панорамного изображения; • коррекция «краевых эффектов» сшивки изображений; • формирование, визуализация и сохранение детального сшитого изображения. Характеристики системы: • количество камер - от 4 до 16 (матрица камер от 2x2 до 4x4); • захват полутонового цифрового изображения с 8- или 12-разрядной оциф- ровкой; • размер изображения от одной камеры - 576x768 пикселей; • время формирования обзорного снимка - не более 3 с; • время формирования детального сшитого снимка - не более 20 с; • сшивка изображений осуществляется без видимых артефактов; • экспорт изображений в формате TIFF, BMP. 7.1.7. Система автоматизированного контроля качества внутренней поверхности труб Данный пример демонстрирует построение системы технического зрения, осуще- ствляющей сканирование контролируемой поверхности специальной движущейся камерой. В данной системе также используется «линейный» структурированный подсвет, позволяющий анализировать линейные профили («срезы») исследуемой поверхности с целью восстановления ее трехмерной формы без использования стереоинформации. Состав системы: • цифровая система видеоввода типа VS-CTT-075-2001; • источник структурированного подсвета; • автономное колесное устройство для сканирующего перемещения по внут- ренней поверхности трубы с платформой для крепления видеокамеры («колесный сканер»); • управляющий ПК. Схема сканирования поверхности. В процессе сканирования внутренней по- верхности трубы колесный сканер с закрепленными на нем видеокамерой и ис- точником подсвета последовательно перемещается по поверхности трубы таким образом, что при его спиралевидном движении (одновременно по окружности и вглубь трубы) поле зрения камеры «заметает» всю поверхность трубы. При этом на каждом кадре, соответствующем данному положению сканера, регистрируется один профиль поверхности трубы, представляющий собой результат линейной
Зрение роботов 399 структурированной подсветки этой поверхности. Путем последующего анализа формы каждого снятого профиля определяются наличие и размеры дефектов по- верхности, которые данный профиль пересекает. В итоге за счет геометрической сшивки данных, полученных от отдельных профилей, формируется финальная карта выделенных на поверхности дефектов. Настраиваемые параметры системы: • пороговый уровень минимальных регистрируемых дефектов (длина, шири- на, глубина); • величина шага сканирования по образующей; • диаметр и длина контролируемого изделия; • скорость сканирования. Характеристики системы: • погрешность оценки глубины дефектов - не более 0,1-0,15 мм; • погрешность оценки площади дефектов - не более 15%; • погрешность оценки ширины и протяженности дефектов - не более 20%. 7.2. Зрение роботов Под «роботом» в наиболее широком смысле в настоящее время понимают любое автономное мобильное техническое устройство, способное самостоятельно пере- мещаться, ориентироваться в пространстве и выполнять определенные действия в автоматическом или автоматизированном режиме. Мобильные роботы могут двигаться по поверхности земли, в водной или воздушной среде, представлять со- бой роботизированные транспортные средства или человекоподобные устрой- ства, в любом случае возникает задача получения и анализа визуальной информа- ции об окружающем мире, на основе которой затем формируется автоматическое управление исполнительными органами робота. Решением этой задачи занимает- ся дисциплина под названием «зрение роботов». Она является одной из извест- ных областей приложения методов и средств машинного зрения. В данном разделе мы кратко рассмотрим две современные технологии техни- ческого зрения, связанные с роботами: интеллектуальные системы автомобильно- го базирования и зрение мобильных роботов. 7.2.1. Область применения: автомобильные системы Технология автоматического визуального анализа дорожной ситуации для ин- теллектуальных систем управления автоматизированными наземными транспор- тными средствами должна включать следующие характерные элементы: • комплексное использование датчиков различного типа (ТВ, ИК, мм-радар, лазерный дальномер и др.), а также стереоинформации; • автоматическую реконструкцию поверхности дороги и других значимых элементов трехмерной сцены наблюдения в реальном времени; • автоматическое самоориентирование и самопозиционирование транспорт- ного средства относительно дороги;
400 Примеры практических систем машинного зрения • автоматическое выделение препятствий в зоне движения транспортного средства; • автоматическое слежение за поведением других участников движения; • оценку сценариев развития событий, выдачу сигналов «тревоги» (для авто- матизированных систем) либо формирование критериев управления (для автоматических систем); • формирование «тревожных» сообщений водителю в случае реализации не- благоприятных или нестандартных сценариев развития событий в зоне ви- деонаблюдения; • программно-аппаратные средства для реализации методов и алгоритмов сбора и обработки видеоинформации. Целевые области применения такой технологии: • создание автоматизированных транспортных средств повышенной безопас- ности; • создание автономных транспортных средств боевого и двойного назначения; • создание автономных транспортных средств для работы в агрессивных сре- дах и другой обстановке, угрожающей жизни человека. Ведущие компании мира и военные ведомства технологически развитых стран ведут активные работы в данном направлении, предполагающем как гражданс- кие, так и военные области применения. Рассмотрим несколько примеров харак- терных разработок такого типа. Компания General Motors разрабатывает систему автоматического управле- ния транспортными средствами, которая должна дебютировать на легковом авто- мобиле Opel Vectra модельного ряда 2008 года. Автопилот можно будет использо- вать в условиях плотного движения на скоростях до 100 км/ч. При этом система, получившая название Traffic Assist, сможет функционировать в полностью авто- матическом режиме, не требуя выполнения каких-либо действий со стороны во- дителя. Комплекс Traffic Assist состоит из лазерных датчиков и видеокамер, информация с которых поступает на анализ в бортовой компьютер. Автопилот сможет распознавать дорожную разметку, препятствия и определять положение других участников дорожного движения. В зависимости от текущей ситуации компьютер будет отдавать команды двигателю, приводу рулевого колеса или тор- мозной системе. Компании Volvo и Ford объявили о планах оснащения своих автомобилей но- вой интеллектуальной системой, эффективно предотвращающей аварийные си- туации, причина которых - усталость, ослабление внимания, сон водителя. Ис- пользуется «активная» система, которая предусматривает переход автомобиля на автоматическое управление при отклонении от запрограммированных парамет- ров. Компания Infiniti также планирует начать установку специальных «антисон- ных» систем в свои автомобили. Система состоит из видеокамеры, сенсора скоро- сти и сигнального устройства. Ее основная задача - предупреждать нечаянное смещение автомобиля с полосы движения. Компания Toyota сообщила о завершении работ над новым эксперименталь- ным автомобилем ASV-2 («Advanced Safety Vehicle»), который оснащен девятью
Зрение роботов 401 различными системами безопасности, позволяющими избежать аварийных си- туаций. Одна из систем следит за расстоянием до различных объектов перед авто- мобилем. И если она обнаруживает препятствие в опасной близости от автомоби- ля, подаются звуковой и световой сигналы. Если же водитель не реагирует на подаваемые сигналы, система начинает тормозить автоматически. Кроме того, ав- томобиль оборудован системой, следящей за объектами справа от водителя, на «слепой стороне». Система подает сигнал, если автомобиль приближается слиш- ком близко к объекту правой стороной. Также отслеживается состояние дорожно- го покрытия: влажность, покрытие, обледенение. Алюминиевый робот с тремя ногами и тремя руками был испытан в Германии в качестве водителя автомобиля. Робот Klaus был создан компанией Volkswagen AG, местным технологическим колледжем и группой Robert Bosch. Klaus оснащен тремя лазерными сканерами, стереокамерой, системой видео и спутниковой нави- гации, а также радаром, соединенным с компьютером. В США под эгидой ряда военных программ проводятся автомобильные гонки по бездорожью между беспилотными автоматическими автомобилями под назва- нием «Большой вызов». Участники гонки автономно преодолевают 340 километ- ров пустыни. Задачи по самостоятельной прокладке маршрута полностью ложатся на управляющие компьютерные системы. Типичным участником гонки является авторобот, созданный в университете Карнеги-Меллона (США). Авторобот «Пес- чаная буря» (Sandstorm) сконструирован на основе внедорожника Hummer. Од- ной из наиболее сложных проблем для автороботов является преодоление пре- пятствий. Система GPS держит автомобиль на правильном курсе с точностью до одного метра, но она не способна предупредить его о ямах или камнях. Поэтому помимо GPS робот оснащен специальными сенсорами, позволяющими опреде- лять препятствия. Лазерные радары «прощупывают» местность перед машиной и передают данные в центральный бортовой компьютер на базе четырех процессо- ров Intel Itanium 2. Помимо этого, с двух видеокамер поступает стереоизображе- ние. Система использует специально написанное ПО. Кроме компьютера на базе Itanium, на автомобиле установлены еще четыре системы, каждая с двумя процес- сорами Intel Хеоп, на которых работают такие приложения, как доступ к картам и другой информации, контроль состояния автомобиля и управление им. 7.2.2. Область применения: мобильные роботы Технология создания систем машинного зрения для автономных робототехничес- ких систем должна включать следующие характерные элементы: • использование стерео- и многокамерных систем зрения; • использование трехмерных моделей объектов и окружающей обстановки; • автоматическую реконструкцию элементов трехмерной сцены наблюдения в реальном времени; • автоматическое самоориентирование и самопозиционирование транспорт- ного средства относительно известной или неизвестной сцены наблюдения; • автоматическое выделение препятствий в зоне движения робота;
402 Примеры практических систем машинного зрения • автоматическое распознавание целевых объектов сцены, формирование управления роботом, нацеленного на приближение к целевым объектам, их захват, использование или перемещение; • считывание автоматических идентификаторов (цифробуквенных либо штриховых), нанесенных на целевые объекты, выполнение сценариев рабо- ты, связанных с целевыми объектами указанного типа; • автоматическое слежение за поведением других движущихся объектов сцены; • автоматические опознавание людей, распознавание и выполнение команд, подаваемых жестами; • оценку сценариев развития событий, формирование соответствующего ин- теллектуального управления; • программно-аппаратные средства для реализации методов и алгоритмов сбора и обработки видеоинформации. Целевые области применения данной технологии: • создание интеллектуальных робототехнических систем для работы на со- временных производственных технологических линиях; • создание автономных мобильных роботов для осуществления погрузочно- разгрузочных и других складских работ; • создание автономных мобильных роботов для работы в сфере обеспечения безопасности, сфере обслуживания и различных производственных сферах в общении и кооперации с человеком; • создание автономных мобильных роботов для работы в агрессивных средах и другой обстановке, угрожающей жизни человека. Эксперты по робототехнике предсказывают резкий рост рынка мобильных ро- ботов в течение ближайших 3-5 лет. Фундаментом грядущего расцвета рынка роботов станут прорывные достижения в области машинного зрения и в техноло- гиях автоматического управления манипуляторами, а также снижение цен на ин- теллектуальные аппараты. Пока основными покупателями подобных устройств считаются промышленные и военные компании, но уже в конце текущего десяти- летия основной доход будет поступать от массового покупателя. Рассмотрим несколько примеров современных разработок в области мобиль- ной робототехники. В университете Карнеги-Меллон (США) завершена работа над стереоскопи- ческой системой зрения роботов, которая позволит машинам ориентироваться в любых помещениях. Система состоит из двух цифровых камер и встроенной в компьютерный мозг робота ЗЭ-матрицы. Расстояние до объектов определяется геометрически по разнице смещения их изображений, полученных каждой из ка- мер. Разработки в области стереоскопического зрения роботов также активно ведут компании Tyzx, Point Grey Research и Videre Design. Другой современный метод компьютерного зрения использует лазерные искатели, измеряющие рас- стояние до объектов по времени возврата отраженного света. Фирма Evolution Robotics предложила технологию, которая позволяет роботу ориентироваться в окружающей среде при помощи колесных датчиков и Web-ка- меры. Это оборудование стоит менее $50, а не $5000, как другие существующие
Зрение роботов 403 системы навигации роботов, основанные на лазерных дальномерах. Система, на- зываемая «системой одновременной визуальной локализации и позиционирова- ния (visual simultaneous localization and mapping, VS LAM), составляет карту окре- стностей по расстоянию и направлению движения колес робота, а также по объектам, распознаваемым посредством камеры и программного обеспечения. Впоследствии робот ориентируется по этим данным. При первом путешествии по помещению система «обучается», а затем корректирует карту в соответствии с из- менениями в расстановке предметов. Значительны современные достижения в области практического внедрения мобильных роботов. Робот HelpMate с конструкцией R2-D2, поставляемый про- изводителем медицинского оборудования Pyxis, разносит пробы крови, лекарства и еду по коридорам более чем сотни клиник. Matsushita Electric Works работает над собственным медицинским роботом-курьером и планирует начать его постав- ки. Продаются роботы-пылесосы. Honda и Sony создали роботов-гуманоидов. У ходячего робота Sony SDR-4X ростом 58,5 см 38 суставов, в его голову встроены стереокамеры. Во время движения он избегает препятствий и может различать голоса и песни. Японский производитель Kawada представил разработанного им робота-гума- ноида, который предназначен для работы на производстве. Робот HRP-2P (что означает Humanoid Robotics Project-2 Prototype) работает под управлением ART- Linux. HRP-2 Р повторяет фигуру человека, и его конечности имеют те же степени свободы, что и человеческие руки и ноги. Производством роботов занимаются та- кие компании, как iRobot и ActivMedia Robotics. Общепризнанными мировыми лидерами в области разработки и производства коммерческих мобильных роботов являются Япония и США. Применительно к использованию робототехники в военных целях и в чрезвы- чайных ситуациях приоритетное значение имеют пригодность к эксплуатации в жестких и экстремальных условиях и способность обеспечить защиту обслужи- вающего персонала. Для выполнения вышеуказанных задач спецподразделения имеют следующие основные группы мобильных роботов: • мобильный робототехнический комплекс - универсальные наземные робо- ты, предназначенные для действий на объектах транспорта, промышленно- сти, городской инфраструктуры и т. д., на открытой слабопересеченной ме- стности; • специальные робототехнические комплексы - роботы, способные переме- щаться по вертикальным и наклонным поверхностям промышленных объ- ектов и транспортных средств, а также в трубопроводах и узких местах; • малогабаритный дистанционно пилотируемый летательный аппарат (МД ПЛА) — воздушный робот для проведения разведки на открытой мест- ности, сильно пересеченной местности, в горах, в городе. Большинство используемых в этой области мобильных роботов на сегодняш- ний день не являются полностью автономными интеллектуальными системами, однако процент таких устройств по сравнению с телеуправляемыми системами постоянно растет.
404 Примеры практических систем машинного зрения 7.2.3. Система обнаружения препятствий на дороге перед движущимся транспортным средством Применительно к задаче автоматического управления движением транспортного средства в ГосНИИАС разработана система обнаружения препятствий на скорос- тных автомобильных дорогах. Система основана на анализе цифровых стерео- изображений, получаемых при помощи двух CCD-видеокамер. Реконструкция трехмерной формы поверхности дороги, самопозиционирование автомобиля и обнаружение препятствий осуществляются внутри собственной полосы движе- ния автомобиля в масштабе реального времени. Система обеспечивает устойчи- вое обнаружение различных типов препятствий на расстоянии до 100 м. Разрабо- тан также вариант системы, использующий комплексирование визуальной стереоинформации и данных автомобильного радара. На рис. 7.2.1 показаны результаты выделения собственной полосы движения и препятствий, наблюдаемых на дороге в различных условиях освещенности и раз- личных дорожных ситуациях. Рис. 7.2.1. Примеры работы системы обнаружения препятствий на дорогах 7.2А. Система автоматической привязки телефрагментов к ортофотоизображению Данная система может быть рассмотрена как пример задачи, решаемой в рамках информационного обеспечения автономного летательного аппарата. Система осуществляет привязку фрагментов цифровых телевизионных изоб- ражений местности к системе геодезических координат путем автоматической идентификации их с соответствующими фрагментами ортоплана местности. Ориентирование и масштаб исходных фрагментов могут быть произвольными. Ортоплан местности создается предварительно путем трансформирования и сшивки блока аэрофотоснимков. Для идентификации фрагментов разработан уникальный алгоритм стереоотождествления, позволяющий сравнивать изобра- жения разной геометрии.
Видеонаблюдение 405 Рис. 7.2.2. Пример автоматической привязки фрагментов: слева - исходное изображение, справа вверху - исходный фрагмент-эталон, справа внизу - идентифицированный фрагмент ортоплана 7.3. Видеонаблюдение 7.3.1. Область применения: видеонаблюдение Автоматические и автоматизированные системы видеонаблюдения являются од- ной из ключевых составляющих современных комплексных систем безопасности. Задача видеонаблюдения подразумевает визуальный контроль заданной области пространства при помощи одной или нескольких видеокамер, позволяющий со- хранять и просматривать цифровые видеоданные, а также постоянно оценивать состояние контролируемой территории, выделяя так называемые охранные собы- тия, заключающиеся в тех или иных изменениях наблюдаемой обстановки. Современная система видеонаблюдения аккумулирует в себе значительное количество различных технологий компьютерного зрения, включая как собствен- но технологии видеонаблюдения, так и технологии OCR (см. раздел 4.5) и биомет- рические технологии, о которых речь пойдет ниже, и ряд других. Таким образом, технология интеллектуального видеонаблюдения должна включать следующие основные элементы и программно-алгоритмические модули: • визуальные датчики различного типа (ТВ, ИК и др.) для дистанционного видеонаблюдения;
406 Примеры практических систем машинного зрения • средства распределенного сбора информации, сжатия, обработки и переда- чи цифровой видеоинформации по локальным и глобальным сетям в реаль- ном времени; • автоматическое выделение объектов интереса (люди, транспортные сред- ства, другие объекты); • автоматическое слежение за движущимися объектами в зоне наблюдения; • биометрическое распознавание персонала, биометрический контроль дос- тупа в критические зоны объекта наблюдения; • автоматическую идентификацию транспортных средств, грузов и оборудо- вания на основе распознавания идентификационных меток (регистрацион- ных номеров, штриховых кодов, других технологических маркировок); • методы оценки сценариев поведения наблюдаемых объектов и групп объектов; • формирование «тревожных» сообщений оператору в случае реализации не- благоприятных или нестандартных сценариев развития событий в зоне ви- деонаблюдения; • программно-аппаратные средства для реализации методов и алгоритмов сбора и обработки видеоинформации. Рассмотрим ряд примеров создания систем видеонаблюдения и их элементов. 7.3.2. Система обнаружения и сопровождения движущихся объектов по признаку их движения Система, описанная в данном примере, относится к большому классу задач, объ- единяемых термином «анализ движения». Анализ движения в самом общем виде подразумевает сравнение ряда последовательных (во времени) цифровых изобра- жений сцены наблюдения с целью регистрации различного рода изменений, в ча- стности - определение факта движения в заданных областях наблюдения (про- стейшие детекторы движения), выделение движущихся объектов и слежение за ними (интеллектуальные детекторы движения), обнаружение момента возник- новения новых или исчезновения ранее наблюдавшихся объектов (детекторы ос- тавленных предметов) и т. п. В алгоритмическом плане большинство систем ана- лиза движения используют либо корреляционное слежение за объектами сцены, либо метод «анализа оптических потоков». Существуют также и другие специфи- ческие методы анализа движения, описание которых находится за рамками дан- ной книги, посвященной в основном методам анализа статических изображений, а не динамических видеопоследовательностей. Разработанная в И ИТ система предназначена для автоматического выделения и сопровождения малоразмерных объектов по признаку их движения на изобра- жениях, получаемых с подвижной видеокамеры. Система, реализованная на базе персонального компьютера, осуществляет ввод с видеокамеры, визуализацию и обработку цифровых изображений движущихся сцен в реальном времени. Система производит оценку и компенсацию общего сдвига изображения сцены, происходящего за счет собственного относительного
Видеонаблюдение 407 движения приемника изображения, а также выделение движущихся малоразмер- ных объектов по признаку их движения и одновременное сопровождение движе- ния нескольких обнаруженных объектов. На рис. 7.3.1 показаны: слева - кадр видеопоследовательности с выделенными движущимися объектами; справа - стадии выделения движущихся объектов. Рис. 7.3.1. Выделение движущихся объектов сцены наблюдения Также в системе реализован режим слежения за одним объектом, выбираемым оператором вручную (рис. 7.3.2). В случае если видеокамера снабжена сервопри- водом, позволяющим перемещать оптическую ось камеры, может быть задейство- ван режим физического сопровождения наблюдаемого объекта (система управля- ет приводом таким образом, чтобы выделенный объект в процессе движения все время находился в центре кадра). Интеллектуальный детектор движения Данная система предназначена для автоматического выделения и сопровождения крупноразмерных объектов (сравнимых по габаритам с размерами самого кадра) по признаку их движения на изображениях, получаемых с неподвижной видеока-
408 Примеры практических систем машинного зрения Рис. 7.3.2. Режим слежения за указанным объектом меры. Этот пример демонстрирует реализацию принципов метода анализа опти- ческих потоков, основная идея которого заключается в следующем. Движение объектов перед камерой или движение камеры в неподвижной окру- жающей обстановке приводят к соответствующим изменениям в изображении. Эти изменения можно использовать для восстановления относительного движе- ния, а также формы движущихся объектов. Кажущееся движение яркостной кар- тинки, наблюдаемое при движении камеры относительно изображаемых объ- ектов, называется оптическим потоком. Оптический поток является полезным понятием даже при условии деформации наблюдаемых поверхностей, а в частном случае движения твердого тела оптический поток строго определен. Определим поле движения, приписав каждой точке изображения вектор скоро- сти. В некоторый выбранный момент времени точка Pi на изображении соответ- ствует некоторой точке Ро на поверхности объекта. Эти две точки связаны уравне- ниями проектирования (см. главу 5). Когда точка объекта Ро перемещается относительно камеры со скоростью г0, это порождает движение it соответствую- щей точки изображения Р;. За время АГ точка Ро перемещается на расстояние v0&t, а ее изображение Р; - на расстояние еДР В идеале оптический поток соответству- ет определенному ранее полю движения, однако это не всегда так. Зеркальные от-
Видеонаблюдение 409 ражения, вращающиеся объекты и тени дают другие примеры, когда оптический поток не совпадает с полем движения. Но доступен только оптический поток, по- этому приходится исходить из предположения, что в обычном случае он не слиш- ком сильно отличается от поля движения. Это позволяет оценивать относитель- ное движение, исходя из изменения изображения во времени. В литературе предложено множество различных методов вычисления оптичес- кого потока. Особенность данной системы, разработанной в И ИТ, заключается том, что для оценки оптического потока используются не столько дифференциальные, сколько интегральные методы. После вычисления оптического потока осуществля- ется формирование гипотез о положении и размерах движущихся объектов. Пример работы детектора движения можно видеть на рис. 7.3.3. Детектор оставленных предметов Еще один пример модуля «анализа движения» для систем видеонаблюдения. Де- тектор оставленных предметов подразумевает регистрацию момента возникнове- Рис. 7.3.3. Оптический поток с последующей сегментацией движущихся объектов
410 Примеры практических систем машинного зрения ния новых или исчезновения ранее наблюдавшихся объектов сцены наблюдения. При этом специфика задачи заключается в том, что, хотя одновременно в сцене наблюдения может присутствовать множество движущихся и неподвижных со- ставляющих, данный детектор должен выделять лишь те объекты, которые ранее находились в движении, а затем стабилизировали свое положение на заданный промежуток времени, либо наоборот - находились в покое, после чего пришли в движение (рис. 7.3.4). Функции системы: • обнаружение новых объектов сцены наблюдения; • обнаружение пропавших объектов сцены наблюдения; • регистрация новой сцены наблюдения; • контроль отсутствия сдвигов камеры относительно сцены наблюдения. Параметры работы системы: • список областей интереса, в которых происходит регистрация новых и про- павших объектов сцены наблюдения; • список областей игнорирования, в которых не происходит регистрация но- вых и пропавших объектов сцены; • минимальные допустимые размеры регистрируемых объектов (высота, ши- рина, площадь); • максимальные допустимые размеры регистрируемых объектов (высота, ширина, площадь); • период времени стабилизации положения объекта, по истечении которого объект считается не движущимся, а новым стабильным объектом сцены на- блюдения. Список формируемых «охранных событий»: • «обнаружен новый объект»; • «обнаружен пропавший объект»; • «камера сдвинута либо сцена наблюдения внезапно изменилась». Входные данные: • видеопоследовательность изображений с разрешением 8/16/24/32 бит (последовательность файлов JPEG либо поток формата AVI); • минимальный размер кадра: 320x240; • максимальный размер кадра: 768x576. Выходные данные: • сигналы об «охранных событиях»; • список объемлющих прямоугольников для вновь обнаруженных новых объектов; • список объемлющих прямоугольников для вновь обнаруженных пропав- ших объектов. Производительность системы: • обработка 4 независимых видеоканалов с частотой 25 кадров в секунду на одном ПК; • обработка 16 независимых видеоканалов с частотой 6 кадров в секунду на одном ПК.
Видеонаблюдение 411 Рис. 7.3.4. Детектирование оставленного предмета: вверху - выделенные «новые» элементы изображения в момент движения, внизу - обнаружение оставленного предмета по истечении заданного времени стабилизации изображения Показатели производительности определены для видеопотока кадров разме- ром 320x240 на ПК типа IBM PC PentiumIV-3,2. 7.3.3. Система стереообнаружения движения в зоне видеонаблюдения В современных системах видеонаблюдения задача анализа движения, как прави- ло, рассматривается как задача, решаемая на базе информации, получаемой от од- ной видеокамеры. Однако такие системы анализа движения имеют ряд очевид- ных недостатков: они регистрируют движение теней, световых пятен (например, от автомобильных фар), движение изображений на телевизионных мониторах и т. п. артефакты, в то время как с точки зрения обеспечения безопасности необхо- димо регистрировать лишь движение реальных трехмерных объектов заданного размера в заданной трехмерной области наблюдения. Использование стереоин- формации позволяет преодолеть указанные недостатки стандартных детекторов движения. В ИИТ разработан прототип системы стереообнаружения нарушителей в кон- тролируемой зоне видеонаблюдения (рис. 7.3.5). Принцип действия системы ос- нован на применении оригинального метода дифференциального ортофото, ис-
412 Примеры практических систем машинного зрения Рис. 7.3.5. Пример обнаружения нарушителя пользуемого также в проекте «Система обнаружения препятствий на дорогах» (см. выше). Состав системы: • стереосистема из двух CCD-камер; • IBM-совместимый персональный компьютер, оборудованный платой одно- временного захвата двух цифровых изображений; • специализированное программное обеспечение. Функции системы: • однократная трехмерная реконструкция тестового пространства/помеще- ния (в момент включения); • обнаружение новых/неизвестных (не входящих в трехмерную модель) объектов (в реальном масштабе времени в режиме охранного видеонаблю- дения); • определение дальности и характеристик движения выделенных объектов (в реальном масштабе времени); • оценка размера и характера движения обнаруженных объектов с целью се- лекции людей-нарушителей от других возможных типов объектов (в реаль- ном масштабе времени). Характеристики системы: • размер контролируемой рабочей области - 10x10x5 м; • устойчивость работы системы относительно следующих типов помех: - движущиеся тени и пятна света на неподвижных поверхностях; - движущиеся мелкие животные; - движение на экранах мониторов, телевизоров и т. п. объектах в поле зрения; - вибрации здания; - движущиеся объекты за пределами контролируемой зоны/помещения, наблюдаемые через дверь, окно и т. п. 7.3.4. Система считывания регистрационных номеров автомобилей Как уже говорилось выше, одной из функций комплексных систем видеонаблю- дения является считывание идентификационных меток объектов, прежде всего - номеров транспортных средств, пересекающих зону наблюдения.
Видеонаблюдение 413 Одним из типовых приложений такого рода является разработанная в ИИТ система выделения и распознавания номерных знаков автомашин в потоке на ав- томагистрали (рис. 7.3.6). Система считывания автономеров реализована на базе системы видеонаблюдения «Интеллект» фирмы ITV и внедрена на ряде зарубеж- ных автомобильных трасс. Рис. 7.3.6. Примеры считывания иностранных автомобильных номеров Функции системы: • регистрация появления автомобиля (подсчет автомобилей); • выделение номерного знака; • распознавание символов номерного знака; • сохранение распознанного номера в базе данных. Характеристики: • обработка до 4 видеоканалов 320x240 на одном процессоре в реальном мас- штабе времени; • максимально допустимая скорость автомобилей 120 км/ч; • вероятность распознавания при скорости движения до 80 км/ч: - день - до 85%; - ночь - до 80%. • ширина зоны контроля при фронтальном размещении камеры - 3 м; • допустимый угол наклона изображения номера - до 15°; • освещенность в зоне контроля - не менее 50 люкс. 7.3.5. Система считывания номеров железнодорожных вагонов и цистерн Задача выделения и распознавания номеров железнодорожных вагонов и цистерн не менее актуальна, особенно для России с ее развитой сетью железных дорог и большими объемами грузовых перевозок, в том числе - связанных с экспортом и импортом сырья. Функции системы: • регистрация появления вагона или цистерны; • выделение номерного знака; • распознавание символов номерного знака; • сохранение распознанного номера в базе данных.
414 Примеры практических систем машинного зрения Характеристики: • обработка до 4 видеоканалов 320x240 на одном процессоре в реальном мас- штабе времени; • максимально допустимая скорость вагонов и цистерн - до 20 км/ч (на под- ходе к станции); • вероятность распознавания - до 90%; • ширина зоны контроля при съемке сбоку перпендикулярно стенке вагона - 6 м; • допустимый угол наклона изображения номера - до 5°; • освещенность в зоне контроля - не менее 50 люкс. Система считывания номеров железнодорожных вагонов и цистерн (рис. 7.3.7) также реализована на базе системы видеонаблюдения «Интеллект» фирмы ITV (www.itvgroup.ru). Рис. 7.3.7. Примеры считывания номеров железнодорожных вагонов и цистерн 7.4. Биометрия 7.4.1. Область применения: биометрия В последние годы во всем мире наблюдается все возрастающий интерес к методам распознавания и идентификации личности. Основные пути и способы решения этих задач лежат в области разработки биометрических систем. В биометриче- ских системах для распознавания человека используется совокупность биометри- ческих характеристик, основанных на биологических особенностях человеческо- го тела. В качестве таких биометрических характеристик могут выступать: голос, почерк, отпечатки пальцев, геометрия кисти руки, рисунок сетчатки или радуж- ной оболочки глаза, лицо и ДНК. Биометрическая защита более эффективна в сравнении с такими методами, как использование паролей, PIN-кодов, смарт-карт, жетонов (tokens) или техно- логии PKI (инфраструктура открытых ключей), поскольку биометрия позволяет идентифицировать именно конкретного человека, а не устройство. Традицион- ные методы защиты не исключают возможности потери или кражи информации, вследствие чего она становится доступной незаконным пользователям. Уникаль- ный биометрический идентификатор, каковым является, например, отпечаток пальца или изображение лица, служит ключом, который невозможно потерять.
Биометрия 415 Биометрическая система безопасности позволяет отказаться от парольной защи- ты либо служит для ее усиления. Одной из основных причин, которые существенно повысили значимость авто- матической обработки и анализа биометрической информации, явилось повыше- ние требований к функциональным возможностям автоматических систем безопас- ности, расположенных в общественных местах (вокзалы, аэропорты, супермаркеты и т. п.), связанных с необходимостью в реальном времени выполнять необходимые действия по установлению личности присутствующих на контролируемой терри- тории людей, причем, зачастую скрытно, то есть не только бесконтактно (дистанци- онно), но и без специального сотрудничества (специального предъявления биомет- рических признаков) со стороны идентифицируемых персон. В настоящее время существует множество методов биометрической аутенти- фикации, которые делятся на две основные группы - статические и динамические методы. Статические методы биометрической аутентификации основываются на фи- зиологической (статической) характеристике человека, то есть уникальной ха- рактеристике, данной ему от рождения и неотъемлемой от него. К этой группе от- носятся следующие методы аутентификации: • по отпечатку пальца. В основе этого метода лежит уникальность для каж- дого человека рисунка папиллярных узоров на пальцах. Отпечаток пальца, полученный с помощью специального сканера, преобразуется в цифровой код (свертку) и сравнивается с ранее введенным эталоном. Данная техно- логия является самой распространенной по сравнению с другими методами биометрической аутентификации; • по форме ладони. Данный метод построен на геометрии кисти руки. С помо- щью специального устройства, состоящего из камеры и нескольких подсве- чивающих диодов (включаясь по очереди, они дают разные проекции ладо- ни), строится трехмерный образ кисти руки, по которому формируется свертка и распознается человек; • по расположению вен на лицевой стороне ладони. С помощь инфракрасной камеры считывается рисунок вен на лицевой стороне ладони или кисти руки, полученная картинка обрабатывается, и по схеме расположения вен формируется цифровая свертка; • по сетчатке глаза. Вернее, это способ идентификации по рисунку крове- носных сосудов глазного дна. Для того чтобы этот рисунок стал виден - че- ловеку нужно посмотреть на удаленную световую точку, и таким образом подсвеченное глазное дно сканируется специальной камерой; • по радужной оболочке глаза. Рисунок радужной оболочки глаза также явля- ется уникальной характеристикой человека, причем для ее сканирования достаточно портативной камеры со специализированный программным обеспечением, позволяющим захватывать изображение части лица, из кото- рого выделяется изображение глаза, из которого, в свою очередь, выделяет- ся рисунок радужной оболочки, по которому строится цифровой код для идентификации человека;
416 Примеры практических систем машинного зрения • по изображению или форме лица. В данном методе идентификации строится двумерный или трехмерный образ лица человека. На лице выделяются кон- туры бровей, глаз, носа, губ и т. д., вычисляется расстояние между ними и строится не просто образ, а еще множество его вариантов на случаи поворо- та лица, наклона, изменения выражения. Количество образов варьируется в зависимости от целей использования данного способа (для аутентифика- ции, верификации, удаленного поиска на больших территориях и т. д.); • по термограмме лица. В основе данного способа аутентификации лежит уникальность распределения на лице артерий, снабжающих кровью кожу, которые выделяют тепло. Для получения термограммы используются спе- циальные камеры инфракрасного диапазона. В отличие от предыдущего этот метод позволяет различать даже близнецов; • по ДНК. Преимущества данного способы очевидны, однако используемые в настоящее время методы получения и обработки ДНК работают настоль- ко долго, что такие системы используются только для специализированных экспертиз; • другие методы. Существуют еще такие уникальные способы - как иденти- фикация по подногтевому слою кожи, по объему указанных для сканирова- ния пальцев, форме уха, запаху тела и т. д. Как видно, большинство биометрических технологий данной группы связано с анализом изображений и реализуется теми или иными методами компьютерно- го зрения. Динамические методы биометрической аутентификации основываются на по- веденческой (динамической) характеристике человека, то есть построены на осо- бенностях, характерных для подсознательных движений в процессе воспроизве- дения какого-либо действия. Методы аутентификации этой группы: • по рукописному почерку. Как правило, для этого вида идентификации чело- века используется его роспись (иногда написание кодового слова). Цифро- вой код идентификации формируется, в зависимости от необходимой сте- пени защиты и наличия оборудования (графический планшет, экран карманного компьютера Palm и т. д.), двумя способами: - по самой росписи, то есть для идентификации используется просто сте- пень совпадения двух картинок; - по росписи и динамическим характеристикам написания, то есть для идентификации строится свертка, в которую входит информация о фор- ме подписи, временных характеристиках нанесения росписи и статисти- ческих характеристиках динамики нажима на поверхность; • по клавиатурному почерку. Метод в целом аналогичен вышеописанному, но вместо росписи используется некое кодовое слово (когда для этого ис- пользуется личный пароль пользователя, такую аутентификацию называ- ют двухфакторной) и не нужно никакого специального оборудования, кроме стандартной клавиатуры. Основной характеристикой, по которой строится свертка для идентификации, является динамика набора кодово- го слова;
Биометрия 417 • по голосу. Одна из старейших технологий, в настоящее время ее развитие ускорилось, так как предполагается ее широкое использование в построе- нии «интеллектуальных зданий». Существует достаточно много способов построения кода идентификации по голосу, как правило, это различные со- четания частотных и статистических характеристик голоса; • другие методы. Для данной группы методов также описаны только самые распространенные методы, существуют еще такие уникальные способы, как идентификация по движению губ при воспроизведении кодового слова, по динамике поворота ключа в дверном замке и т. д. Существующие биометрические системы В настоящее время на рынке предлагается ряд готовых систем и технологий био- метрической идентификации и аутентификации личности. Например, в области распознавания лиц одними из наиболее продвинутых ре- шений являются следующие. • Система ZN-Face компании ZN Vision Technologies AG - сочетает в себе но- вейшие компьютерные разработки с системой контроля доступа, основан- ной на автоматическом распознавании лиц. ZN-камера делает снимок чело- века, стоящего на рубеже контроля, и проверяет его в считанные доли секунды. Специально разработанный модуль оптического фильтра и функ- ция контроля за живым лицом предотвращает любую попытку обмана пу- тем применения фотографий или масок. • Компьютеризованная база фотоданных ZN-Phantomas - может автомати- чески сравнивать и идентифицировать лица. Для сравнения годится фото- графия, фоторобот, рисунок или кадр, полученный при видеосъемке. ZN- Phantomas проводит поиск среди сохраненных в памяти изображений, используя систему распознавания лиц, созданную по образу работы чело- веческого мозга на базе технологии органического видения. Скорость рабо- ты системы позволяет просматривать 10 тыс. изображений за три минуты. Система может работать со всеми SQL-базами данных, использующими ODBC-протокол (Oracle, Sybase SQL, DB2, Informix). • Система FacelT компании Identix Inc - осуществляет распознавание людей при попадании изображения лица в поле зрения видеокамеры высокого разрешения. Разработки фирмы финансируются госдепартаментом США. Данная система проходит апробацию в аэропортах США. В прессе появля- лись сообщения, что результаты тестирования нельзя назвать удовлетвори- тельными, однако контракт с фирмой продолжен и теперь акцент переносит- ся на идентификацию по фотографиям. Госдепартамент США собирается обязать гостей США иметь фото установленного образца, дабы облегчить распознавательным программам работу. • Из систем, разработанных в России и СНГ, можно рассмотреть продукцию фирмы Asia-Software. Фирма предлагает FRS SDK - комплект разработчи- ка, предназначенный для построения информационно-поисковых систем,
418 Примеры практических систем машинного зрения связанных с распознаванием лиц, и ряд систем идентификации по изобра- жениям лиц. Система базируется на алгоритмах распознавания и сравне- ния изображений. Основой этих алгоритмов является модифицированный метод анализа принципиальных компонент, заключающийся в вычисле- нии максимально декореллированных коэффициентов, характеризующих входные образы человеческих лиц. На вход системы подается оцифрован- ное видеоизображение. Специальные алгоритмы определяют наличие изображения лица человека, выделяют его, определяют точное расположе- ние зрачков, производят позиционирование и масштабирование. После этого происходит автоматическое кодирование выделенного изображения лица человека с целью определения основных характерных признаков. Раз- мер полученного массива признаков составляет примерно 300 байт, что по- зволяет строить идентификационные системы даже на однокристальных ЭВМ. Характеристики биометрических систем Показателями надежности биометрических систем могут служить вероятности ошибок первого и второго рода. Ошибки первого рода определяют вероятность ложного отказа (FRR - False Rejection Rate) и возникают при отказе в доступе легальному пользователю системы. Ошибки же второго рода показывают вероят- ность ложного допуска (FAR - False Acceptance Rate) и появляются при предос- тавлении доступа постороннему лицу. FRR и FAR связаны обратной зависимо- стью. Современные биометрические системы имеют очень большой разброс этих характеристик. Биометрическую систему также можно характеризовать уровнем равной веро- ятности ошибок первого и второго рода (EER - Equal Error Rates) - точкой, в ко- торой вероятность ошибки первого рода равна вероятности ошибки второго рода. На основании EER можно делать выводы об относительных достоинствах и недо- статках разных биометрических методов. Чем ниже уровень EER, тем выше каче- ство системы. Еще один параметр, влияющий на выбор и установку биометрической систе- мы, - пропускная способность. Она характеризует время, которое требуется чело- веку для взаимодействия с данным биометрическим устройством. Сортировать и сравнивать описанные выше биометрические методы по пока- заниям ошибок первого рода очень сложно, так как они сильно разнятся для од- них и тех же методов из-за сильной зависимости от оборудования, на котором они реализованы. По показателям ошибок второго рода общая сортировка методов биометриче- ской аутентификации выглядит так (от лучших к худшим): • ДНК; • радужная оболочка глаза, сетчатка глаза; • отпечаток пальца, термография лица, форма ладони; • форма лица, расположение вен на кисти руки и ладони;
Биометрия 419 • подпись; • клавиатурный почерк; • голос. Отсюда становится видно, что, с одной стороны, статические методы иденти- фикации существенно лучше динамических, а с другой - существенно дороже. Текущее состояние технологии и перспективы дальнейших разработок В настоящий момент общее состояние биометрических технологий в мире еще нельзя признать удовлетворительным. Скорее можно говорить о биометрии как о быстро развивающейся области исследований и приложений, в которой еще не удалось достичь требуемых показателей. Целый ряд серьезных проверок, прове- денных в последнее время, показал недостаточную надежность таких систем. Например, полицейское управление города Тампа, штат Флорида (США), после двух лет эксплуатации деинсталлировало за бесполезностью программное обеспечение опознания лиц, работавшее совместно с камерами наружного наблю- дения. Сеть таких камер позволяла вести надзор за публикой в городском парке развлечений Айбор-сити. Предполагалось, что техника в комплекте с программой для сканирования/опознания лиц, подсоединенной к базе из 30 тысяч известных правонарушителей и сбежавших из дома детей, повысит эффективность работы полиции. Однако за два года система не дала ни одного успешного результата, будь то автоматическое опознание разыскиваемых или арест подозреваемых. Программное обеспечение было предоставлено компанией Identix, одним из веду- щих в США поставщиков биометрических технологий опознания по лицу и отпе- чаткам пальцев. Известен отчет японского криптографа Цутомо Мацумото, скомпромети- ровавшего более десятка систем опознания пользователя по отпечатку пальца. Недавно аналогичное обширное исследование было предпринято немецким ком- пьютерным журналом «c’t>. Выводы экспертов однозначны: биометрические сис- темы для потребительского рынка пока не достигли того уровня, когда их можно рассматривать в качестве реальной альтернативы традиционным паролям. Так, систему опознания лиц FaceVACS-Logon немецкой фирмы Cognitec удается ввес- ти в заблуждение, просто предъявив фотографию зарегистрированного пользова- теля. Для обмана более изощренного ПО, анализирующего характерные призна- ки живого человека (мимические движения лица), может быть успешно применен экран ноутбука, на котором демонстрируется видеоклип с записью лица. Не- сколько сложнее обмануть систему Authenticam ВМ-ЕТ100 фирмы Panasonic для опознания радужной оболочки глаза, поскольку здесь инфракрасные датчики ре- агируют не только на характерный узор изображения радужки, но и на иную глу- бину расположения зрачка. Однако, если проделать небольшое отверстие на мес- те зрачка в фотоснимке глаза, куда при опознании заглядывает другой человек, систему удается обмануть. Что же касается систем опознания пользователя по отпечатку пальца с помощью емкостного сенсора на мышке или клавиатуре, то здесь самым распространенным способом обмана является повторное «оживле-
420 Примеры практических систем машинного зрения ние» уже имеющегося отпечатка, оставленного зарегистрированным пользовате- лем. Для «реанимации» остаточного отпечатка иногда бывает достаточно просто подышать на сенсор, либо приложить к нему тонкий полиэтиленовый пакет, на- полненный водой. Подобные трюки, в частности, весьма удачно опробованы на мышках ID Mouse фирмы Siemens, оснащенных емкостным сенсором FingerTIP производства Infineon. Наконец, «искусственный палец», отлитый в парафиновой форме из силикона, позволил исследователям одолеть все шесть протестирован- ных дактилоскопических систем. Однако, несмотря на общую негативную оценку современного состояния био- метрических систем идентификации личности, во всем мире наблюдается тенден- ция к развитию исследований и разработок в области биометрии. При этом одной из основных тенденций последнего времени является постепенный перенос при- оритетов с контактных на бесконтактные методы биометрического распознавания. Для создания таких биометрических систем нового поколения необходимо ре- шить ряд специфических проблем, пока еще не имеющих адекватного решения. Первая группа проблем связана с тем, что системы скрытного наблюдения с целью обеспечения безопасности должны работать в условиях естественного по- ведения человека, не предъявляющего специально свое лицо и не произносящего заранее известные ключевые фразы. В этом случае еще до решения задачи распоз- навания необходимо решить задачу обнаружения (определения местоположения, выделения человека в группе), да и сама задача распознавания лица и голоса в неконтролируемых условиях становится существенно сложнее. Вторая группа существующих здесь проблем связана с тем, что в случае задачи обеспечения безо- пасности (в отличие от задачи обеспечения контроля доступа) нет возможности опереться на сотрудничество идентифицируемой персоны и на этапе обучения. При этом для обучения приходится использовать имеющиеся фрагментарные и разнородные аудио- и видеоматериалы самого различного качества и происхож- дения. Это еще более усложняет задачу обучения биометрической системы. Нако- нец, третья группа проблем связана с тем, что получаемые (с учетом перечислен- ных проблем) вероятности правильного распознавания и ложного обнаружения заданной персоны в естественной обстановке только по лицу или только по голо- су оказываются существенно ниже показателей, требуемых для удовлетворитель- ного функционирования ответственных систем обеспечения безопасности и конт- роля доступа. С этим связана необходимость использовать комплексирование результатов биометрического распознавания, полученного от разных источников информации. Именно с решением указанных проблем могут быть связаны существенные прорывы в области биометрических технологий в ближайшие годы. Биометрия в широком и узком смысле Таким образом, биометрические технологии идентификации представляют собой быстро развивающееся научно-техническое направление, в результатах которого остро нуждаются такие области применения, как системы охраны и контроля до-
Биометрия 421 ступа, системы паспортного и визового контроля, системы предупреждения пре- ступлений и идентификации преступников, системы контроля доступа, системы учета и сбора статистики посетителей, системы идентификации удаленных поль- зователей и пользователей Интернета, верификации кредитных карточек, крими- налистической экспертизы, контроля времени посещения на предприятиях и т. д. Помимо описанных биометрических технологий аутентификации, область «биометрии в широком смысле» включает также ряд приложений, связанных с выделением и измерением различных биологических характеристик человечес- кого тела, жестов, движений и т. п., предназначенных не для персональной иден- тификации, а для использования в спортивных, медицинских, телекоммуникаци- онных, развлекательных и других целях. Рассмотрим теперь несколько примеров биометрических приложений, встре- чающихся на практике. 7.4.2. Система обнаружения и распознавания лиц В ИИТ разработана технология обнаружения и распознавания лиц по двумерным изображениям, включающая три основных модуля: • детектирование (обнаружение) лиц; • индексация (кодирование и последующий быстрый поиск лиц в базе); • идентификация лиц. Модули применяются последовательно. Выделенные на текущем кадре изоб- ражения лиц поступают в систему индексации, которая в ответ указывает задан- ное количество «кандидатов» из хранящейся базы изображений лиц, наиболее похожих на текущее изображение. После этого процедура идентификации обра- батывает изображения лиц найденных кандидатов с целью их точного распозна- вания. Такой подход позволяет осуществлять полнофункциональную работу с «живым» видеопотоком с целью выделения и распознавания лиц по значитель- ным объемам банков изображений в режиме, близком к режиму реального масш- таба времени. Рисунок 7.4.1 демонстрирует составляющие представленной технологии обна- ружения и распознавания лиц. Показаны: текущее видеоизображение (слева вверху), результат выделения лица (справа вверху); результат поиска в индекси- рованной базе изображений лиц (второй ряд изображений - найденные «канди- даты», среди которых могут быть и ложные); результат окончательной идентифи- кации лица (третий ряд изображений - показаны только «кандидаты», успешно прошедшие идентификацию). Рассмотрим теперь несколько подробнее характеристики перечисленных про- граммных модулей. Модуль обнаружения лиц Представляет собой библиотеку, включающую набор функций, позволяющих ре- шать задачи обнаружения лиц, определения их положения на цифровом изобра- жении, а также межкадрового прослеживания наблюдаемых лиц в реальном мае-
422 Примеры практических систем машинного зрения Рис. 7.4.1. Система обнаружения и распознавания лиц штабе времени. Процедура обнаружения лица выделяет человеческое лицо на черно-белых или цветных изображениях во фронтальной или околофронтальной проекции и возвращает координаты объемлющих прямоугольников для всех об- наруженных лиц. Процедура слежения за лицами позволяет накапливать и сохра- нять в системе информацию о лице человека (последовательность изображений лица с различными ракурсами и выражениями) до тех пор, пока лицо не выйдет из зоны наблюдения или не отвернется от камеры. Данное решение может быть использовано как удобное и гибкое средство по созданию различных клиент-ориентированных биометрических систем. Важной особенностью системы является возможность записи «фильмов», включающих последовательность изображений одного и того же лица, что обеспе- чивает более гибкое формирование охранных событий по «входам» и «выходам» одного и того же лица. Модуль индексации лиц в базе Представляет собой библиотеку, позволяющую индексировать наборы цифровых изображений (паттернов) и затем производить последующий высокоскоростной поиск среди них «наиболее схожих» изображений. Данный продукт можно исполь- зовать как для организации сервисов поиска изображений, так и для создания сне-
Биометрия 423 диализированных приложений в области биометрических систем, охранных сис- тем, систем обработки мультимедийной информации и архивов изображений. Характеристики модуля: • скорость индексации: до 10 тыс. изображений/с; • скорость поиска: до 10 млн изображений/с (Intel Pentium-IV-2GHz); • максимальный объем базы: 1 млн записей; • размер одной записи: от 100 до 600 байт. Модуль распознавания лиц Система распознавания лица представляет собой программно-алгоритмический комплекс, решающий задачи верификации и идентификации пользователя на ос- нове сравнительного анализа предъявляемого лица. Процедура верификации предусматривает сравнение предъявляемого лица с выбранным лицом, храня- щимся в текущей базе данных. Процедура идентификации предусматривает про- верку принадлежности предъявляемого лица ко всей базе данных лиц или заранее оговоренной ее части. Библиотека включает в себя набор алгоритмов автоматической верификации и идентификации лиц, обеспечивающих биометрическое распознавание пользо- вателя с вероятностью до 95%. Наличие интерфейса настраиваемых параметров работы алгоритмов, спектр методов распознавания лиц, эффективные алгоритмы предобработки, возможность оптимизации решения под аппаратные требования заказчика и многое другое позволяют использовать данное решение как удобное и гибкое средство по созданию клиент-ориентированных биометрических систем. В настоящее время описанные технологии реализованы в виде коммерческих продуктов (программных модулей), которые продвигаются на рынке российской фирмой ITV www.itvgroup.ru, одним из ведущих разработчиков интегрированных систем безопасности и видеонаблюдения. Перечисленные программные модули интегрированы в систему видеонаблюдения «Интеллект» фирмы ITV, имеются внедрения описанных модулей на нескольких крупных объектах в России. 7.4.3. Система трехмерной реконструкции и формирования строго фронтального изображения лица человека Описанные в предыдущем разделе биометрические технологии являются тради- ционными технологиями в том смысле, что для биометрического распознавания лица используется его двумерное изображение. Подобные традиционные системы имеют уже упоминавшееся очевидное достоинство, связанное с возможностью дис- танционного бесконтактного скрытого наблюдения. Однако достижимые на сегод- няшний день вероятности распознавания в таких системах существенно ниже, чем в биометрических системах, основанных, например, на считывании радужной оболочки глаза или сравнении отпечатков пальцев.
424 Примеры практических систем машинного зрения Одним из основных способов повышения вероятности распознавания лиц яв- ляется трехмерная съемка и последующая реконструкция произвольных ракурс- ных изображений лица. Рассмотрим также разработанный в ИИТ программно-аппаратный комплекс для трехмерной реконструкции и получения строго фронтального изображения лица человека (рис. 7.4.2). Комплекс предназначен для «мгновенной» трехмерной съемки лица. Высокоточная трехмерная реконструкция лица осуществляется фо- тограмметрическим методом на основе стереоизображений, полученных в ближ- нем ИК-диапазоне при помощи специального структурированного подсвета. При построении строго фронтального изображения лица используется блок автомати- ческого или полуавтоматического определения основных черт лица (глаза, нос, рот), по результатам работы которого осуществляется необходимый простран- ственный разворот текстурированной модели лица (рис. 7.4.3). Основные функции системы: • реконструкция трехмерной модели лица; • формирование строго фронтального изображения лица на основе его око- лофронтального изображения. Рис. 7.4.2. Внешний вид комплекса для трехмерной съемки лиц (без кожуха) Рис. 7.4.3. Пример трехмерной реконструкции модели лица и искусственно сгенерированного изображения того же лица
Биометрия 425 Состав системы: • четыре видеокамеры; • источник структурированного ИК-подсвета; • компьютер; • фреймграбберы; • специализированное ПО. Параметры работы системы: • точность реконструкции 3D модели лица - 0.2 мм; • точность разворота лица к фронтальному положению - 10°. • Время обработки - не более 2 с от момента съемки до выдачи результата. 7.4.4. Система автоматического выделения человеческого лица и слежения за его чертами Данная система связана с телекоммуникационными приложениями и решает за- дачу автоматического обнаружения лица и его характерных крупных элементов (глаз, рта, бровей, носа), а также слежения за этими объектами и их последующей передачи по сети и отображения в реальном масштабе времени на персональном компьютере типа IBM PC. В качестве устройства ввода используется web-камера, обеспечивающая входной поток данных в формате RGB (24 бит) со скоростью не менее 10 кадров в секунду. Размер входных изображений: 320x240 пикселей. Лицо пользователя расположено анфас к камере и не закрыто никакими другими предметами (объектами). Допускаются повороты и наклоны лица в пределах ±10°. Условия освещенности - обычные офисные. Результаты выделения границ бровей, носа и рта аппроксимируются сплайнами по нескольким характерным точкам. Результаты обнаружения глаз характеризуются флагом «глаз открыт/ закрыт», а также центрами и радиусами соответствующих окружностей. На рис. 7.4.4 поверх исходных изображений человеческих лиц показана выде- ленная информация о лице и его чертах, представленная в виде векторных графи- ческих элементов для передачи по сетям или дальнейшей визуализации вирту- альных персонажей средствами машинной графики в реальном времени. Рис. 7А А. Примеры автоматического выделения лица и черт лица
426 Примеры практических систем машинного зрения 7.4.5. Система распознавания жестов руки человека Распознавание жестов представляет собой обширную область приложений ком- пьютерного зрения. Под «жестами» в широком смысле понимаются любые дви- жения человеческого тела. В узком смысле обычно подразумеваются некоторые характерные движения рук человека, имеющие в определенной предметной обла- сти какие-либо определенные семантические значения. Распознавание жестов может использоваться для построения различного рода человекомашинных ин- терфейсов, управления различными техническими средствами и системами вир- туальной реальности. В качестве простого примера можно рассмотреть систему распознавания жес- тов руки человека по изображениям от черно-белой видеокамеры низкого разре- шения (рис. 7.4.5). Система не требует предварительного обучения и устойчиво различает до 10 различных жестов. Рис. 7.4.5. Простой пример системы распознавания жестов 7.4.6. Система для биомеханических исследований на основе высокоскоростной стереосъемки движений человека Системы для биомеханических исследований, предназначенные для регистрации и анализа характеристик движений человека, в определенном смысле также явля- ются системами «распознавания жестов», однако основной упор здесь делается на измерительных аспектах системы - требуется с высокой точностью реконструи- ровать траектории движения различных частей человеческого тела. Рассмотрим аппаратно-программный комплекс для биомеханических иссле- дований на базе синхронизированных высокоскоростных камер VS-FAST (от 100 до 500 кадров/с) и связанных в локальную сеть персональных компьютеров со специализированным программным обеспечением для накопления, анализа и графического представления биомеханической информации (рис. 7.4.6). Комп- лекс предназначен для проведения исследований деятельности спортсменов раз- личных видов спорта, требующих регистрации и анализа быстро протекающих процессов (проведение борцовских приемов, ударов, работа со спортивными сна- рядами и тренажерами и т. п.).
Биометрия 427 Рис. 7.4.6. Интерфейс системы для биомеханических исследований Основные функции комплекса: • регистрация и ввод видеоряда скоростной съемки от одной, двух или трех цифровых камер FS-FAST; • калибровка и ориентирование видеокамер; • автоматическое и полуавтоматическое выделение и межкадровое слежение за положением отражающих меток («маркеров»), закрепленных на теле спортсмена в стандартных точках тела; • формирование непрерывных траекторий движения маркеров в объектном пространстве; • параллельное визуальное воспроизведение видеоряда (последовательнос- ти цифровых изображений) и векторной модели движения маркеров; • расчет характеристик движения (координаты, величина перемещения, зна- чения вектора скорости и ускорения, угловые скорости и ускорения) на ос- новании двумерной (плоской) модели движения для маркеров, звеньев, групп звеньев, общего центра масс и центра масс выделенных элементов тела спортсмена в плоскости, параллельной плоскости кадра (для одной камеры); • расчет характеристик движения (координаты, величина перемещения, зна- чения вектора скорости и ускорения, угловые скорости и ускорения) на ос- новании трехмерной (объемной) модели движения для маркеров, звеньев, групп звеньев, общего центра масс и центра масс выделенных элементов тела спортсмена; • отображение временных и фазовых графиков изменения расчетных ве- личин; • сохранение регистрируемых последовательностей изображений и данных расчетов, а также дополнительной информации о проведении эксперимен- та (идентификационные, физиологические и др. данные о спортсмене, от-
428 Примеры практических систем машинного зрения дельные медицинские показатели, регистрируемые в ходе эксперимента) с целью дальнейшего использования для проведения статистических и дру- гих исследований. 7.4.7. Система слежения за положением головы и направлением взгляда ребенка Задача слежения за направлением взгляда человека имеет ряд важных практиче- ских приложений, в частности - в области бесконтактного управления компью- терами и другими человеко-машинными системами, в системах виртуальной ре- альности, где направление взгляда определяет область пространства, которую требуется сгенерировать и отобразить средствами визуализации, в системах конт- роля направления взгляда водителя транспортного средства (для предотвраще- ния засыпания за рулем или выявления аномального поведения водителя) и ряде других областей. Рассмотрим систему слежения за положением головы и направлением взгляда ребенка по видеорегистрациям (рис. 7.4.7). Данная система предназначена для проведения экспериментальных работ в области медицины, физиологии и психо- логии. Входные данные системы: • цифровые видеопоследовательности в формате AVI; • размер кадра не менее 640x480 пикселей. Рис. 7А.7. Примеры работы системы
Обработка документов, распознавание текста и штриховых кодов 429 В результате обработки на каждом кадре оцениваются: • положение головы; • положение глаз; • угол наклона головы; • состояние глаз («открыт/закрыт» для каждого глаза); • оценка направления взгляда (только для открытых глаз). Характеристики работы системы: • точность определения положения «лобного» маркера - 1 пиксель; • точность определения положения центров глаз - 1 пиксель; • точность определения угла наклона головы - 1°; • вероятность правильного определения состояния глаз - 0,95; • точность оценки положения зрачка (для открытых глаз) - 1-2 пикселя; • время обработки на один фрейм 640x480 пикселей - 0,25 с (IBM PC Pen- tiumIII-900). 7.5. Обработка документов, распознавание текста и штриховых кодов Методы выделения и распознавания символьной информации (текстовых симво- лов и штриховых кодов) были подробно описаны в разделе 4.5. Выше мы уже сталкивались с задачами считывания символьной информации в области видео- наблюдения при идентификации транспортных средств (автомобилей, вагонов и цистерн). В данном разделе мы рассмотрим несколько практических систем, ра- ботающих в области анализа изображений документов и также использующих эти технологии. 7.5.1. Система автоматического поиска и считывания штриховых кодов Система предназначена для использования в автоматизированных системах складского контроля, автоматической сортировки и регистрации товаров, посы- лок и т. п. приложений. Изображение объекта с нанесенным штриховым кодом регистрируется видео- камерой и вводится в персональный компьютер. В ходе анализа полученного цифрового изображения все имеющиеся штриховые коды обнаруживаются и счи- тываются (рис. 7.5.1). Рис. 7.5.1. Примеры выделения и считывания штриховых кодов в сложных условиях
430 Примеры практических систем машинного зрения Система обеспечивает следующие характеристики: • считываются все основные кодировки одномерных штриховых кодов (2 из 5, ITF, EAN-13, Code 39, Code 128, Codabar), а также двумерных кодов - PDF, OR Code и Data Matrix; • обнаруживаются и считываются все штриховые коды в поле зрения каме- ры, независимо от их размера, положения, ориентации и геометрических свойств поверхности, на которую они нанесены; • допускается частичное загрязнение и затирание штриховых кодов, а также целлофановое покрытие объекта поверх кодов; • штриховые коды распознаются на любом сложном структурированном фоне. 7.5.2. Система автоматического распознавания ма- шиночитаемых документов Данная система анализа растровых изображений обеспечивает высокую степень надежности распознавания и считывания в системах автоматизированной обработ- ки машиночитаемых документов. Подобными машиночитаемыми зонами снабже- ны паспортные, визовые и т. п. документы повышенной важности (рис. 7.5.2). Ря«ърот1 Rcmunrflun SyMcm Рис. 7.5.2. Пример выделения и считывания машиночитаемой информации на изображении паспортного документа
Обработка документов, распознавание текста и штриховых кодов 431 Функции системы: • автоматический поиск и выделение машиночитаемых зон на изображениях; • автоматическое разбиение выделенных машиночитаемых строк на знако- места, соответствующие отдельным символам; • распознавание буквенно-цифровых символов; • контроль и коррекция считанной последовательности символов с учетом структуры машиночитаемой зоны. Характеристики системы: • выделение машиночитаемых зон осуществляется независимо от их размеров, положения и параметров угловой ориентации документа на изображении; • устойчивое распознавание машиночитаемых символов при низком разре- шении (170-200 точек на дюйм); • возможность обучения системы различным типам машиночитаемых шриф- тов при разработке специализированных приложений. 7.5.3. Система считывания номеров денежных банкнот Система автоматически определяет тип банкноты (валюта и номинал), считывает номер банкноты и ведет базу данных номеров с привязкой к образу банкноты (рис. 7.5.3). В качестве исходных данных используется цифровое изображение банк- ноты с пространственным разрешением 200 dpi и яркостным разрешением 8 бит. I i.iiiu.iuiii .ши........................................................................ rod? utsKni LW-crs Рис. 7.5.3. Результаты распознавания номера банкноты
432 Примеры практических систем машинного зрения 7.5.4. Система оценки подлинности денежных банкнот Следующие два примера не используют технологии считывания символьной ин- формации, однако также связаны с анализом изображений документов. Исходными данными для оценки подлинности денежных банкнот в данном случае являются цифровые изображения банкнот в видимом и ИК-диапазоне. Осуществляются распознавание типов банкнот в видимом диапазоне и контроль подлинности банкнот путем сравнения их цифрового изображения в видимом и ИК-диапазоне (рис. 7.5.4). Рис. 7.5.4. Изображения банкноты в видимом и ИК-диапазонах, а также элементы, используемые для распознавания номинала банкноты Подсистема обучения позволяет создавать и редактировать структуры, описы- вающие образ банкноты. Эта подсистема ведет базу данных эталонных образов банкнот (с возможностью редактирования, удаления и создания новых элементов на основе информации, получаемой со сканера), оценивает значения ошибок рас- познавания для всех элементов базы в числовом и графическом виде. Подсистема распознавания производит распознавание сканированного образа банкноты на основании базы данных, полученной при помощи обучающей про-
Обработка документов, распознавание текста и штриховых кодов 433 граммы. Данная система обеспечивает распознавание при объеме базы известных образов до 30 элементов. 7.5.5. Система для оценки ветхости денежных банкнот Система осуществляет анализ следующих основных характеристик изображения банкноты: • яркостной контраст элементов банкноты; • наличие бликов от склеек (скотч); • наличие загнутых углов; • наличие надрывов и прорезов банкноты; • наличие на поверхности банкноты пятен масла или краски; • наличие дырок и проколов. Система осуществляет вычисление следующих основных числовых характе- ристик ветхости банкноты: • показатели яркостного контраста (абсолютный и относительный); • суммарная площадь бликов от склеек (скотч) (мм2); • площади загнутых углов; Рис. 7.5.5. Пример анализа банкноты
434 Примеры практических систем машинного зрения • длина и ширина обнаруженных надрывов и прорезов банкноты (мм); • суммарные площади пятен масла или краски (мм2); • суммарные площади обнаруженных дырок и проколов (мм2). По результатам анализа перечисленных характеристик принимается решение об отбраковке ветхих банкнот. 7.6. Медицинские приложения 7.6.1. Проекты в области анализа и обработки медицинских изображений Коллектив лаборатории компьютерного зрения ИИТ имеет пятнадцатилетний опыт работы в области создания медицинских приложений. За это время был осу- ществлен ряд проектов по разработке систем анализа изображений различного типа (рентгеновских, томографических, а также монокулярных и стереоскопиче- ских видео изображений) в различных отраслях медицинской диагностики. В 1990-1991 гг. по заказу офтальмологического центра академика С. Н. Федо- рова (МНТЦ «Микрохирургия глаза») была разработана кератометрическая сис- тема на основе CCD-камеры. В 1995-1998 гг. при участии главного рентгенолога ВВС РФ д.м.н. профессора А. Ю. Васильева была проведена серия научно-исследовательских работ по созда- нию автоматизированных комплексов медицинской диагностики в области ком- пьютерной томографии и рентгенографии. Были разработаны следующие про- граммные комплексы: • система компьютерного анализа томографических изображений для улуч- шения диагностики воспалительных заболеваний пазух и полости носа (си- нуитов); • система компьютерного анализа рентгеновских и томографических изобра- жений для улучшения диагностики очагового и инфильтративного тубер- кулеза легких; • система компьютерного анализа медицинской рентгенографической ин- формации в задаче ранней диагностики остеопороза; • система компьютерного анализа томографических изображений для оцен- ки степени ожирения у мужчин. В 1995-1999 гг. велись работы по созданию системы восстановления и измере- ния трехмерной формы зубов человека по стереоизображениям видимого диапа- зона (в помощь врачу-дантисту). В 2001-2005 гг. по заказу компании MTL Ltd. был создан ряд программных приложений, предназначенных для хранения, передачи, обработки и анализа ме- дицинских радиологических изображений различных типов, а также система ав- томатизированной компьютерной диагностики в области маммологии. Кроме того, проводился ряд исследований в области анализа микроскопических изображений, результаты которых также могут быть использованы при разработке различных систем медицинского назначения (например, цитологических).
Медицинские приложения 435 7.6.2. Системы для компьютерного анализа томографических изображений При создании систем анализа томографических изображений общего назначения основной акцент делался на разработку процедур автоматической и полуавтома- тической сегментации изображений на основе денситометрической информации. Реализованная схема алгоритма сегментации включает: • первичную гистограммную сегментацию методом статистического выделе- ния мод; • формирование связных областей с заданными характеристиками методом слияния/разбиения. Специально разработанный для данного класса задач метод статистического выделения мод позволяет оценивать количество и степень выраженности мод ги- стограммы (рис. 7.6.1), опираясь на соответствующий график статистической производной. Рис. 7.6.1. Пример автоматического разделения мод на гистограмме по максимумам функции локальной разделимости Метод слияния/разбиения связных областей использует полученную на пер- вом этапе разметку пикселей изображения в качестве стартового приближения, после чего происходит процесс итеративной релаксации с целью минимизации заданной энергетической функции. Алгоритм сегментации может быть использо- ван как в автоматическом, так и в полуавтоматическом режиме. В этом случае врач-оператор может инициализировать процесс сегментации интересующих его объектов путем указания соответствующих «затравочных» точек.
436 Примеры практических систем машинного зрения В общем случае, после сегментации или полуавтоматического выделения объектов интереса производится морфометрический анализ и классификация объектов или групп объектов в пространстве яркостно-геометрических призна- ков. В конкретных приложениях реализуются также дополнительные режимы для полуавтоматического измерения специфических параметров объектов. 7.6.3. Система компьютерного анализа томографических изображений для диагностики воспалительных заболеваний пазух и полости носа (синуитов) Разработана система компьютерного анализа томографических изображений в интересах диагностики воспалительных заболеваний пазух и полости носа (си- нуитов). Для того чтобы обеспечить врачу-оператору возможность максимально гиб- кой настройки системы анализа изображения, был использован оригинальный фреймовый интерфейс, позволяющий создавать или модифицировать схему ана- лиза средствами визуального программирования непосредственно в ходе сеанса обработки каждого снимка. На рис. 7.6.2 показан интерфейс системы, включающий фреймовую схему об- работки томографического изображения пазух и полости носа вместе с результа- тами анализа данного конкретного изображения. 7.6.4. Система компьютерного анализа томографических изображений для оценки степени ожирения у мужчин Разработана система компьютерного анализа томографических изображений для оценки степени ожирения у мужчин. При разработке системы была предложена оригинальная схема сегментации изображения, учитывающая «концентрическое» строение томографического ска- на тела человека в районе пупка. Этот метод позволил полностью автоматизиро- вать функцию сегментации и измерения элементов жировых отложений всех заданных типов. После выделения областей, соответствующих различным эле- ментам жировых отложений (рис. 7.6.3), вычисляются количественные показате- ли, определяющие тип, степень ожирения и прогноз возможности похудения для данного пациента.
Медицинские приложения 437 File Segmentation Window Help ~ Frame Manager hero... Рис. 7.6.2. Интерфейс системы компьютерного анализа томографических изображений для диагностики синуитов Video ! Obj \ Attr ID Perim Square Weight X WeightY Per/Squ Format j Object 1 4 139.24 739 18 25 26.23 12.20 Object 2 4 213.66 1488 29 37 30.68 18.10 d I ±T Пдск _У|текдще... | 5 ЕЕ-одяш ,C‘medic t:-: Microsof...| M.!' DISCo ... Рис. 7.6.3. Пример томографического скана и результат его сегментации системой оценки степени ожирения
438 Примеры практических систем машинного зрения 7.6.5. Система компьютерного анализа медицинской рентгенографической информации для ранней диагностики остеопороза Разработана система компьютерного анализа медицинской рентгенографической информации для ранней диагностики остеопороза. В системе реализован ряд спе- циальных алгоритмов структурного анализа рентгеновских изображений, вклю- чая прослеживание трабекулярных линий, выделение концевых и узловых точек, а также сбор различного рода статистической информации о длинах, толщинах и направлениях трабекул. В ходе разработки произведен всесторонний статисти- ческий анализ результатов исследования изображений, включающий процедуры кластерного анализа в пространстве признаков, процедуры оценки наличия вза- имных регрессионных зависимостей различных подгрупп признаков (в том чис- ле - по кластерам), а также оценку параметров регрессионных зависимостей в аналитической форме. На основе сформированных врачами экспертных оценок определена диагностическая значимость каждого из реализованных признаков. Разработано пользовательское программное обеспечение, предназначенное для оснащения автоматизированного рабочего места (АРМ) - рис. 7.6.4 - врача-диаг- носта, проводящего исследования по диагностике остеопороза. При разработке АРМ была обеспечена возможность накопления результатов обследований в кли- нической базе данных для проведения повторного статистического анализа с це- лью дообучения диагностической экспертной системы. 7.6.6. Автоматизированное рабочее место врача-рентгенолога Автоматизированное рабочее место врача-рентгенолога представляет собой ком- плексное решение в области ввода, обработки, анализа, передачи и хранения ме- дицинских радиологических данных. Состав системы: • один или несколько ПК типа IBM PC (в зависимости от числа клиентских мест); • специальное медицинское оборудование для получения изображений; • программный модуль для управления медицинским рентгенологическим оборудованием; • программный модуль для работы с базой данных (БД); • программный модуль для анализа и обработки цифровых изображений (Viewer). Функции модуля управления оборудованием: • оцифровка рентгеновских снимков при помощи планшетного сканера вы- сокого разрешения; • ввод изображений (в том числе в режиме «живого видео») и управление настройками различных специализированных источников медицинских
Медицинские приложения 439 Рис. 7.6.4. Интерфейс комплекса диагностики остеопороза радиологических изображений (конкретные функции модуля зависят от вида конкретного рентгенологического оборудования). Функции модуля БД: • ведение нормативно-справочной информации (классификаторов, справоч- ников); • ввод данных о пациенте в БД; • просмотр данных о пациенте из БД; • поиск данных о пациенте в БД; • формирование отчетов; • запись данных обследования пациента на CD; • архивирование части данных на CD и последующее их считывание; • ограничение доступа и разграничение прав пользователей. Функции модуля Viewer. • загрузка снимков в форматах TIFF, BMP, DICOM 3.0; • сохранение снимков в форматах TIFF, BMP, DICOM 3.0; • масштабирование изображения; • изменение контраста и яркости изображения; • вывод на экран одновременно нескольких изображений;
440 Примеры практических систем машинного зрения • инвертирование изображения (негатив/позитив); • измерение расстояния между точками на снимке, выделение и расчет пло- щадей; • разворот изображения на угол, кратный 90°, зеркальное отображение; • вырезка фрагмента изображения; • просмотр значений интенсивности элементов изображения; • нанесение на изображение графических элементов с возможностью измере- ния длин, расстояний и углов между ними; • пометка контуров областей и других криволинейных объектов на изобра- жениях с возможностью измерения длин контуров, площадей выделенных областей, а также средней интенсивности изображения по выделенным об- ластям; • наложение на изображение информации о пациенте; • добавление меток с комментариями. Дополнительные функции обработки и анализа изображений модуля Viewer: • построение профилей яркости, апертур, проекций и гистограмм изобра- жений; • фильтрация изображений в пространственной и частотной областях; • сравнение изображений; • расширенный набор функций обработки и анализа изображений в версии Viewer Pro. 7.6.7. Система телемедицины в области радиологических обследований Система «Телемедицина» предназначена для обеспечения удаленной сетевой компьютерной диагностики заболеваний на основе анализа цифровых радиологи- ческих снимков органов и тканей пациента. Система представляет собой распре- деленную систему, функционирующую в сети Интернет и объединяющую в рамках единого информационного пространства подсистемы автоматизации нескольких лечебно-профилактических учреждений (ЛПУ), единого консультационно-диа- гностического центра (КДЦ) и центра обработки данных (ЦОД). Система включает следующие основные программные компоненты: • АРМ - автоматизированное рабочее место диагностического обследования пациентов, которое устанавливается в ЛПУ и КДЦ и используется для вво- да, анализа и сохранения в цифровом виде результатов медицинского рент- геновского обследования пациентов, формирования врачебных заключе- ний и диагнозов по результатам обследований, а также для решения ряда других задач по автоматизации деятельности врачей и лаборантов; • ЛПУ-клиент - модуль расширения для рабочего места АРМ, который уста- навливается в ЛПУ и используется сотрудниками ЛПУ для формирования и отправки в ЦОД заявок на получение квалифицированных заключений по обследованиям пациентов, проведенных в ЛПУ;
Медицинские приложения 441 • КД Ц-клиент - модуль расширения для рабочего места АРМ, который уста- навливается в КДЦ и используется врачами КДЦ для работы с заявками, поступившими из ЛПУ в ЦОД; • ЦОД-клиент - автоматизированное рабочее место администратора ЦОД, которое устанавливается в ЦОД и используется для включения в единую информационную сеть и удаленного конфигурирования подсистем автома- тизации ЛПУ и КДЦ. Доступ к данным на серверах СУБД, установленных в ЛПУ, КДЦ и ЦОД, осу- ществляется в режиме удаленного доступа через защищенные каналы сети Ин- тернет. 7.6.8. Модуль управления данными медицинского обследования на основе технологии DICOM В области медицины именно стандарт DICOM определяет используемые форма- ты хранения и протоколы передачи двумерных данных, отличающиеся от стан- дартов и форматов работы с изображениями, принятых в других областях (см. раздел 2.5). Разработанный модуль предназначен для считывания, сохранения и сетевой пе- редачи данных медицинского обследования с использованием технологии DICOM. Модуль может встраиваться в медицинские приложения различного назначения. В состав модуля входят: • модуль работы с файлами медицинских изображений формата DICOM 3.0; • модуль поддержки сервисов сетевой передачи данных на основе техноло- гии DICOM. Функции модуля: • загрузка и визуализация текстовых данных медицинского обследования; • загрузка и визуализация 8- и 16-битных цифровых изображений, либо се- рий цифровых изображений; • загрузка и наложение на изображение графических и текстовых данных (overlays); • сохранение текстовых данных медицинского обследования; • сохранение одного или серии цифровых изображений обследования; • сохранение графической и текстовой информации, наносимой пользовате- лем на изображения обследования. Входные данные: • данные медицинского обследования; • внешние файлы формата DICOM 3.0, отвечающие стандартным специфи- кациям сервис-класса хранения данных DICOM (Media Storage Standard Sop Classes); • запросы в формате DICOM, поступающие от внешних приложений, на вы- полнение сервисов сетевой передачи данных спецификации Storage Service Class.
442 Примеры практических систем машинного зрения Выходные данные: • файлы формата DICOM 3.0, формируемые по данным медицинского обсле- дования и отвечающие одной из стандартных спецификаций сервис-класса хранения данных DICOM (Media Storage Standard Sop Classes); • запросы в формате DICOM, посылаемые внешним приложениям, на вы- полнение сервисов сетевой передачи данных спецификации Storage Service Class; • запросы в формате DICOM, посылаемые внешним приложениям, на вы- полнение сервисов сетевой передачи и печати данных спецификации Print Management Service Class. Поддерживаемые сервисы DICOM: • сервис ACSE (Association Control Service Element); • сервисы спецификации Storage Service Class в режиме Service Class Provider (SCP); • сервисы спецификации Storage Service Class в режиме Service Class User (SCU); • сервисы спецификации Print Management Service Class в режиме Service Class User (SCU). Описанный DICOM-модуль является составной частью программного обес- печения системы Д ИАРМ-МТ фирмы MTL, представляющей комплексное реше- ние в области ввода, обработки, анализа, передачи и хранения медицинских ра- диологических данных.
литературы аааааааааааааааааааааа Литература по машинному зрению Литература по машинному зрению на русском языке В список включены базовые источники на русском языке, полезные для самостоя- тельного ознакомления с областью машинного зрения и ее отдельными раздела- ми. 1. Айзерман М. А., Браверман Э. М., Розоноэр Л. И. Теоретические основы метода потенциальных функций в задачах обучения автоматическому разделе- нию входных ситуаций на классы. // Автоматика и телемеханика. - 1964. Т. XXII. - №6.-С. 81-88. 2. Анисимов Б. В., Курганов В. Д„ Злобин В. К. Распознавание и цифровая об- работка изображений. - М.: Высшая школа, 1983. - 295 с. 3. Белоглазов И. Н., Тарасенко В. П. Корреляционно-экстремальные системы. - М.: Сов. Радио, 1974. - 392 с. 4. Бонгард М. М. Проблема узнавания. - М.: Наука, 1967. - 98 с. 5. Бутаков Е. А., Островский В. И., Фадеев И. Л. Обработка изображений на ЭВМ. - М.: Радио связь, 1987 - 250 с. 6. Василенко Г. И., Цыбулькин Л. М. Голографические распознающие устрой- ства. - М.: Радио и связь, 1985 - 312 с. 7. Васильев В. И. Распознающие системы: Справочник. - Киев: Наукова дум- ка, 1983 - 424 с. 8. Визильтер Ю. В., Желтов С. Ю., Степанов А. А. Новые методы обработки изображений. - НЗНТ, Серия: Авиационные системы / ГосНИИАС. - 1992. - №4.-С, 21. 9. Виттих В. А., Сергеев В. В., Сойфер В. А. Обработка изображений в автома- тизированных системах научных исследований. - М.: Наука, 1982. - 216 с. 10. Гонсалес Р„ ВУДС Р„ Цифровая обработка изображений. - М.: Техносфе- ра, 2005. - 1072 с. 11. Горелик А. Г., Скрипкин В. А. Методы распознавания. - М.: Высшая шко- ла, 1984. - 208 с.
444 Список литературы 12. Горелик А. Г., Гуревич И. Б., Скрипкин В. А. Современное состояние и про- блемы распознавания. - М.: Радио и связь, 1985. - 160 с. 13. Дуда Р., Харт П. Распознавание образов и анализ сцен: Пер. с ант. - М.: Мир, 1976. - 511 с. 14. Журавлев Ю. И., Гуревич И. Б. Распознавание образов и распознавание изображений: Распознавание, классификация, прогноз. Математические методы и их применение // Ежегодник. - М.: Наука, 1989. - Вып. 2. - С. 302. 15. Красовский А. А., Белоглазов И. Н., Чигин Г. П. Теория корреляционно- экстремальных навигационных систем. - М.: Наука, 1979. - 448 с. 16. Кучеренко К.И., Очин Е.Ф. Двумерные медианные фильтры для обработ- ки изображений // Зарубежная радиоэлектроника. - 1986. - № 6. - С. 50-61. 17. Лобанов. Фотограмметрия. - М.: Недра, 1984. - 552 с. 18. Марр Д. Зрение. Информационный подход к изучению представления и обработки зрительных образов. - М.: Радио и связь, 1987. - 400 с. 19. Павлидис Т. Алгоритмы машинной графики и обработки изображений: Пер. с анг. - М.: Радио и связь, 1986. - 400 с. 20. Прэтт У. Цифровая обработка изображений: Пер. с анг. - М.: Мир, 1982. - 1 кн. - 525 с. - 2 кн. - 474 с. 21. Пытьев Ю. П. Морфологический анализ изображений. // Доклад АН СССР, 1983. - Т. 269. - № 5. - С. 1061-1064. 22. Пытьев Ю. П. Задачи морфологического анализа изображений //Сб. «Ма- тематические методы исследования природных ресурсов Земли из Космоса.» - М.: Наука, 1984. - С. 41-83. 23. Рабиндер Л., Гоулд Б. Теория и применение цифровой обработки сигнала. - М.: Мир, 1978. - 379 с. 24. Розенфельд А. Распознавание и обработка изображений с помощью вычис- лительных машин: Пер. с анг. - М.: Мир, 1972. - 230 с. 25. Русын Б. П. Структурно-лингвистические методы распознавания изобра- жений в реальном времени. - Киев: Наукова думка, 1986. - 128 с. 26. Тихонов А. Н. Теория восстановления сигналов. - М.: Наука, 1983. - 225 с. 27. Ту Дж., Гонсалес Р. Принципы распознавания образов. - М.: Мир, 1978. - 411 с. 28. Фу К. Структурные методы в распознавании образов. - М.: Мир, 1977. - 320 с. 29. Хорн Б. К. Зрение роботов. - М.: Мир, 1989. - 487 с. 30. Хуанг Т. С. Обработка изображения и цифровая фильтрация. - М.: Мир, 1979. - 274 с. 31. Цыпкин Я. 3. Адаптация и обучение в автоматических системах. - М.: На- ука, 1968. - 390 с. 32. Ярославский Л. П. Введение в цифровую обработку изображений. - М.: Сов. Радио, 1979. - 312 с. 33. Ярославский Л .П. Цифровая обработка сигналов в оптике и голографии: Введение в цифровую оптику. - М.: Радио и связь, 1987. - 296 с.
Литература по машинному зрению 445 Литература по машинному зрению на английском языке В расширенный список литературы на английском языке включены как базовые источники, так и отдельные ключевые публикации, полезные для углубленного самостоятельного изучения отдельных разделов машинного зрения. 34. Ackerman Е High precision digital image correlation. // IPSUS. - 1984. - № 9. 35. Akey M. L. and Mitchell O. R. Detection and sub-pixel location of objects in digitized aerial imagery. // Proc. 7th Int. Conf, on Pattern Recogn. Montreal (30July - 2August). - 1984. - Pp. 411-414. 36. Aloimonos J. Y, Weiss I. and Bandyopadhyay A Active vision. // Int J.Compu- ter Vision. - 1988. - № 1. - Pp. 681-688. 37. Ayache N. and Faugeras O. D. HYPER. A new approach for the recognition and positioning of two-dimensional objects. // IEEE Trans. Pattern Anal. Mach. Intell. - 1986.-№ 8(1).-Pp. 44-54. 38. Ballard D. H. Generalizing the Hough transform to detect arbitrary shapes. // Pattern Recognition. - 1981. - № 13(2). - Pp. 111-122. 39. Ballard D. H., and Brown С. M. Computer Vision. // Prentice-Hall, Englewood Cliffs, Newjersey. - 1982. 40. Barnard S. T. and Thompson W. B. Disparity analysis of images. // IEEE Trans. Pattern Anal. Mach. Intell. - 1980. - № 2(4). - Pp. 333-340. 41. Batchelor B. G., Hill D. A. and Hodgson D. C. Automated Visual Inspection. IFS (Publications) Ltd. // Bedford, UK/North-Holland, Amsterdam. - 1985. 42. Bender E. A Mathematical Methods in Artificial Intelligence. // IEEE Comput. Society Press, Los Alamitos, California. - 1996. - P. 636. 43. Besl P. J. and Jain R. C. Three-dimensional object recognition. // Comput. Sur- veys. -1984. - № 17. - Pp. 75-145. 44. Bovik A C., Huang T. S. and Munson D. C. The effect of median filtering on edge estimation and detection. // IEEE Trans. Pattern Anal. Mach. Intell. - 1987. - № 9. - Pp.181-194. 45. Brady J. M. and Wang H. Vision for mobile robots. // Phil Trans R. Soc. (London). - 1992. - 337. - Pp. 341-350. 46. Brooks R. A Model-based three-dimensional interpretations of two-dimensio- nal images. // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1983. - № 5(2). - Pp. 140-149. 47. Brown D. C. Close range camera calibration. // Photogrammetric Engineering. - August 1971. - № 37(8). - Pp. 855-866. 48. Brown С. M. Inherent bias and noise in the Hough transform. // IEEE Trans. Pattern Anal. Mach. Intell. - 1983. -№ 5. - Pp. 493-505. 49. Burns J., Hanson A, Riseman E. Extracting straight lines. // IEEE Trans. On Patt. Analysis and Machine Intel. - 1986. - Vol.8.- №4. 50. Canny. J. A computational approach to edge detection. // IEEE Trans. Pattern Anal. Mach. Intell. - 1986. - № 8. - Pp. 679-698.
446 Список литературы 51. Chakravarty and Freeman H. Characteristic views as a basis for three- dimensional object recognition. // Proc. Soc. Photo-opt. Instrum. Eng. Conf. Robot Vision. - 1982. - 336. - Pp. 37-45. 52. Charniak E. and McDermott D. Introduction to Artificial Intelligence. // Addison Wesley, Reading, MA. - 1985. 53. Crowley J. L., Bobet P. and Schmid C. Auto-calibration by direct observation of objects.//Image Vision Comput. - 1993. - № 11(2). - Pp. 67-81. 54. Davies E. R. Corner detection using the generalised Hough transform. Proc. 2nd Int. Conf, jn Image Processing and Its Applications. // IEEE Conf. Publ. - (24- 26 June) 1986. - № 265. - Pp. 175-179. 55. Davies E. R. A new parametrisation of the straight line and its application for the optimal detection of objects with straight edges. Davies. // Pattern Recogn. - 1987d. №6. - Pp. 9-14. 56. Davies E. R. The performance of the generalised Hough transform: concavities, ambiguities and positional accuracy // Proceedings of the 3rd Alvey Vision Conference, Cambridge. - 15-17 September 1987h. - Pp. 327-333. 57. Davies E. R. Improved localisation in a generalised Hough scheme for the detection of straight edges. // Image Vision Comput. - 1987j. -№ 5. - Pp.279-286. 58. Davies E. R. Application of the generalised Hough transform to corner detection. // IEEE Proc. - 1988a. - 135, Pp. 49-54. 59. Davies E. R. A modified Hough scheme for general circle location. // Pattern Recogn. - 1988b. - № 7. - Pp. 34-37. 60. Davies E. R. Machine Vision: Theory, Algorithms, Practicalities. // Academic Press. 2-nd Edition, San Diego. - 1997. - P. 750. 61. Davies E. R. Locating objects from their point features using an optimised Hough- like accumulation technique. // Pattern Recogn. -1992d. - № 13(2). - Pp.113-121. 62. Davies E. R. Computationally efficient Hough transform for 2-D object location. // Proc. 4-th British Machine Vision Assoc. Conf. - Univ, of Surrey (21- 23 September). - 1993b. - Vol. 1. - Pp. 259-268. 63. Deans S. R. Hough transform from the Radom transform. // IEEE Trans. Pat- tern Anal. Mach. Intell. - 1981. № 3. - Pp. 185-188. 64. Dickmanns E. D. and Graefe V. Applications of dynamic monocular machine vision. // Machine Vision and Applications. - 1988. - №. 1. - Pp. 241-261. 65. Dickmanns E. D. and Graefe V. Dynamic monocular machine vision. // Machine Vision and Applications. - 1988. - № 1. - Pp. 223-240. 66. Dickmanns E. D. and Mysliwetz B. D. Recursive 3-D road and relative ego-state recognition. // IEEE Trans. Pattern Anal. Mach. Intell. - 1992. - № 14. - Pp. 199-213. 67. Duda R. O. and Hart P. E. Use of the Hough transformation to detect lines and curves in pictures. // Comm. ACM 15, 11-15. 1972. - Pp. 11-15. 68. Ellis T. J., Abbood A and Brillault B. Ellipse detection and matching with uncertainty. // Image Vision Comput. - 1992. - № 10(5). - Pp. 271-276. 69. Faugeras O., Luong T. and Maybank S. Camera selfcalibration: Theory and experiments. // Proceedings of the 2nd European Conference on Computer Vision, Springer-Verlag. - 1992. - Pp. 321-334.
Литература по машинному зрению 447 70. Faugeras О. Three-dimensional Computer Vision - a Geometric Viewpoint. // MIT Press, Cambridge, MA. - 1993. 71. Forstner W. and Pertl A. Photogrammetric standart methods and digital image matching techniques for high precision surface measurements. // Pattern Recognition in Practice II, 57-72. - Elsevier Science Publishers. - 1986. - Pp. 57-72. 72. Forstner W. Mid-level vision processes for automatic building extraction, Automatic Extraction of Man-Made Objects from Aerial and Space Images. // Birk- hauser Verlag, Basel. - 1995. 73. Fua P. Combining stereo and monocular information to compute dense depth maps that preserve depth discontinuuities. // Proceedings of the 12th Intern. Joint Conf.on Artificial Intell. - 1991. - Pp. 1292-1298. 74. Gavrila D. M. and Groen F. C. A 3D object recognition from 2-D images using geometric hashing. // Pattern Recogn. Lett. - 1992. - № 13(4). - Pp. 263-278. 75. Gemand D. Stochastic model for boundary detection. // Image Vision Comput. - 1987.-№ 5(2).-Pp. 61-65. 76. Geman S. and Geman D. Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images. // IEEE Trans. Pattern Analysis and Machine Intelli- gence. - 1984. - № 6. - Pp. 721-741. 77. Gerig G. and Klein F. Fast contour identification through efficient Hough transform and simplified interpretation strategy. // Proc. 8th Int. Conf, on Pattern Re- cogn. - Paris (27-31 October) - 1986. - Pp. 498-500. 78. Godbole S. and Amin A Mathematical morphology for edge overlap detection for medical images. // Real-Time Imaging. - 1995. - № 1(3). - Pp. 191-201. 79. Golub G. H., Ch. F. Van Loan. Matrix computations. // John Hopkins Uni- versity Press. - 1983. 80. Gonzalez R. and Wintz P. Digital Image Processing (2nd edition). // Addison- Wesley, Reading, MA - 1987. 81. Gonzalez R. and Woods R. Digital Image Processing (editors). // Addison- Wesley. - 1992. 82. O’Gorman L. and Kastruri R. Document Image Analysis. // IEEE Computer Society Press, Los Alamitos, California. - 1995. 83. Grimson W. E. L. Recognition of object families using parameterised models. // Proc. First Int’l. Conf. Computer Vision. - 1987. - Pp. 93-101. 84. Grimson W. E. L. On the recognition of parameterised 2-D objects. // The International Journal of Computer Vision. - 1989. - № 2(4). - Pp. 353-372. 85. Grimson W. E. L. Object Recognition by Computer: The Role of Geometric Constraints. // MIT Press. - 1990. 86. Grimson W. E. L. and Huttenlocher D. P. On the sensitivity of the Hough transform for object recognition. // IEEE Trans. Pattern Anal. Mach. Intell. - 1990, - № 12(3). - Pp. 255-274. 87. Grosso E., Sandini G. and Tistarelli M. 3-D object recognition using stereo and moti- on. // IEEE Trans. Systems, Man, and Cybernetics. - 1989. - № 19(6). - Pp. 1465-1476. 88. Gruen A, Baltsavias E. Adaptive least squares correlation with geometrical constraints. // SPIE. - 1985. - Vol. 595.
448 Список литературы 89. Gruen A., Baltsavias Е. Geometrically constrained multiphoto matching. // PERS. - 1988. - Vol№5. 90. EIu M. K. Visual pattern recognition by moment invariants. // IRE Trans. Information Theory. - 1962. - Vol. IT-8. - February. 91. Haralick R. M. and Chu Y. H. Solving camera parameters from the perspective projection of a parameterized curve. // Pattern Recogn. Lett. - 1984. - № 17(6). - Pp. 637-695. 92. Haralick R. M. and Joo H. 2D-3D pose estimation. // Proc. 9th Int. Conf, on Pattern Recogn. Rome, Italy. - (14-17 November). - 1988. - Pp. 385-391. 93. Haralick R. M. and Shapiro L. G. Image segmentation techniques. // Computer Vision, Graphics and Image Processing. - 1985. - № 29(1). - Pp. 100-132. 94. Haralick R. M. and Shapiro L. G. Machine vision. // Addison-Wesley. - 1991. 95. Haralick R. M. and Shapiro L. G. Computer and Robot Vision. // Addison- Wesley, Reading, Massachusetts. - 1992. 96. Haralick R. M., Chu Y. H., Watson L. T. and Shapiro L. G. Matching wire frame objects from their two dimensional perspective projections. // Pattern Recogn. Lett. - 1984. - № 17(6). - Pp. 607-619. 97. Haralick R. M., Stenberg S. R. and Zhuang X. Image analysis using mathema- tical morphology. // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1987. Vol. 9. - № 4. - Pp. 532-550. 98. Harris C. G. Determination of ego-motion from matched points. // Proceedings of the 3rd Alvey Conference. - 1987. - Pp. 189-192. 99. Horaud R. New methods for matching 3-D objects with single perspective views. // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1987. - № 9. - Pp. 401-412. 100. Horn В. К .P. and Brooks M. J. (eds.). Shape from Shading. // MIT Press, Cambridge, MA - 1989. 101. Hough P.V.C. Methods and Means for Recognizing Complex Patterns. - U.S., Patent 3069654, 1962. 102. Huang T. S. (ed). Image Sequence Processing and Dynamic Scence Analysis. // Springer-Verlag, New York. - 1983. 103. Huang T. S., Bruckstein A M., Holt R. J. andNetravali A. N. Uniqueness of 3-D pose under weak perspective: a geometrical proof. // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1995. - № 17(12). - Pp. 1220-1221. 104. Huber P. J. Robust Statistics. // Wiley, New York. - 1981. 105. Hueckel M. A local visual operator which recognizes edges and lines. // Journal of the association of Computing Machinery. - 1973. - № 20. - Pp. 634-646. 106. Huertas A. and G. Medioni. Detection of intensity changes with subpixel accu- racy using laplacian-gaussian masks. // IEEE Trans. Pattern Analysis and Machine Intelligence. - September 1983. - № 8(5). - Pp. 651-664. 107. Huertas A, Nevatia R. Detecting buildings in aerial images.// Computer Visi- on, Graphics and image processing. - 1988. 108. Hummel R. A. and Zucker S. W. On the foundations of relaxation labelling processes. // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1983. - № 5. - Pp. 267-287.
Литература по машинному зрению 449 109. Huttenlocher D. Р, Klanderman G. A. and Rucklidge W. J. Comparing images using the Hausdorff distance. // IEEE Trans. Pattern Analysis and Machine Intelli- gence. - 1993. - № 15(9). - Pp. 850-863. 110. Illingworth J. and Kittier J. The adaptive Hough transform. // IEEE Trans. Pattern Anal. Mach. Intell. - 1987. - Vol. 9. - Pp. 690-698. 111. Illingworth J. and Kittier J. A survey of the Hough transform. // Comput. Vision Graph. Image Process. - 1988. - Vol. 44. - Pp. 87-116. 112. Jain A K. Fundamentals of Digital Image Processing. // Prentice-Hall Inter- national Editions. - 1989. 113. Jolion J.-M. and Rosenfeld A. Cluster detection in background noise. // Pattern Recogn. Lett. - 1989. - № 22(5). - Pp. 603-607. 114. Kasturi R. and Jain R. C. Computer Vision: Advances and Applications. // IEEE Computer Society Press, Las Alamitos, California. - 1991. 115. Kim D. Y, Kim J. J., Meer P, Mintz D. and Rosenfeld A Robust computer vision: a least median of squares based approach. // Proc. DARPA Image Understan- ding Workshop, Palo Alto, CA. - ((23-26 May). - 1989. - Pp. 1117-1134. 116. Kiryati N. and Bruckstein A M. Antialiasing the Hough transform. // Comput. Vision Graph. Image Process.: Graph. Models Image Process. - 1991. - № 53. - Pp. 213-222. 117. Kitchen L. and Rosenfeld A Gray-level corner detection. // Pattern Recogn. Lett. - 1982. - № 1. - Pp. 95-102. 118. Koller, Weber J., Huang T, Malik J., Ogasawara G., Rao B. and Russell S. Towards robus automatic traffic scene analysis in real-time. // Proc. 12th Int. Conf, on Pattern Recogn. Jerusalem (9-13October). - 1994. - Vol. 1. - Pp. 126-131. 119. Leavers VF. and Boyce J. F. The Radom transform and its application to shape parametrization in machine vision. // Image Vision Comput. - 1987. - № 5. 120. Levine M. D. Vision in man and machine. // McGraw-Hill. - 1985. 121. Li H. and Lavin M. A. Fast Hough transform based on bin tree data structure. // Proc. Conf. Comput. Vision and Pattern Recogn. Miami Beach, Florida. - 1986. - Pp. 640-642. 122. Lowe. Perceptual Organization and Visual Recognition. // Kluwer Academic Publishers. - 1985. 123. Lutton and Martinez. P. A genetic algorithm for the detection of 2-D geometric primitives in images. // Proc. 12th Int. Conf, on Pattern Recogn. - Jerusalem (9-13 October). - 1994. - Vol. 1. - Pp. 526-528. 124. Lutton, Maotre H. and Lopez-Krahe J. Contribution to the determination of vanishing points using Hough transform. // IEEE Trans. Pattern Anal. Mach. Intell. - 1994. - № 16(4). - Pp. 430-438. 125. Malik J., Weber J., Luong Q.-T. and Koller D. Smart cars and smartroads. // Proc. 6-th British Machine Vision Assoc. Conf. - Birmingham (11-14 September). - 1995. - Pp. 367-381. 126. Marr D., Hildreth E. Theory of edge detection. // Proc. R. Soc. (London). - 1980. - B207. - Pp. 187-217. 127. Marr D. and Poggio T. Cooperative computation of stereo disparity. // Science. - 1976. - № 194. - Pp. 283-287. 128. Matheron. Random Setsand Integral Geometry.//John Wiley & Sons. - 1975.
450 Список литературы 129. Mclvor М. Edge detection in dynamic vision. // Proc. 4-th Alvey Vision Conf. - Manchester (31August - 2 September). - 1988. - Pp. 141-145. 130. Medioni and Ram Nevatia. Segment-based stereo matching. // Computer Vision, Graphics and Image Processing. - 1985. - № 31. - Pp. 2-18. 131. Meer P, Mintz D. and Rosenfeld A Least median of squares based robust ana- lysis of image structure. // Proc. DARPA Image Understanding Workshop. - Pitts- burgh, Pennsylvania (11-13 September). - 1990. - Pp. 231-259. 132. Meer P, Mintz D., Rosenfeld A. and Kim D. Y. Robust regression methods for computer vision: a review. // Int. J. Comput.Vision. - 1991. - № 6(1). - Pp. 59-70. 133. Merlin P. M. and Farber D. J. A parallel mechanism for detecting curves in pictures. // IEEE Trans. Comput. - 1975. - № 28. - Pp. 96-98. 134. Minsky M. L. and Papert S. A. // MIT Press, Cambridge, MA - 1969. 135. Moravec H. P. Towards automatic visual obstacle avoidance. // Proceedings of the International Joint Conference on Artifical Intelligence. -1977. - № 584. 136. Moravec H. P. Obstacle avoidance and navigation in the real world by a seeing robot rover. // Stanford Artif. Intell. Lab. Memo ALM-340. - 1980. 137. Mumford D. The problem of robust shape descriptors. // Proc. First Int’l. Conf. Computer Vision. - 1987. - Pp. 602-606. 138. Mundy J. L. and Zisserman A (eds). Geometric Invariance in Computer Visi- on. // MIT Press, Cambridge, MA - 1992. 139. Nevatia R. Machine perception. // Prentice-Hall. - 1982. 140. Newman T. S. and Jain A K. A survey of automated visual inspection. // Computer Vision Image Understanding. - 1995. - № 61(2). - Pp. 231-262. 141. Otsu N. A threshold selection method from gray-level histograms. // IEEE Trans. Systems, Man and Cybernetics. - 1979. - Vol. SMC-9.-№16. 142. Overington and Greenway P. Practical first-difference edge detection with subpixel accuracy. // Image Vision Comput. - 1987. - № 5. - Pp. 217-224. 143. Postaire J.G. and Touzani A Mode boundary detection by cluster analysis. // Pattern Recogn. - 1989. - № 22(5). - Pp. 477-489. 144. Princen J., Yuen H. K., Illingworth J. and Kittier J. Properties of the adaptive Hough transform. // Proc. 6th Scand. Conf, on Image Analysis. - Oulu, Finland (19- 22June). - 1989. - Pp. 613-620. 145. Rosenfeld A and Как A. C. Digital Picture Processing. // Academic Press, New York, second edition. - 1982. - Two volumes. 146. Rousseeuw P. J. and Leroy A. M. Robust Regression and Outlier Detection. // Wiley, New York. - 1987. 147. Schalkoff R. J. Digital Image Processing and Computer Vision.//Wiley, New York. - 1989. 148. Schneiderman H., Nashman M., Wavering A J. and Lumia R. Vision-based robotic convoy driving. // Machine Vision and Applications. - 1995. - № 8(6). - Pp. 359-364. 149. Seeger U. and Seeger R. Fast corner detection in grey-level images. // Pattern Recogn. Lett. - 1994. - № 15(7). - Pp. 669-675. 150. Ser P.-К. and Siu W.-C. Novel detection of conics using 2-D Hough planes. // IEEE Proc. Vision Image Signal Process. - 1995. - № 142(5). - Pp. 262-270.
Литература по машинному зрению 451 151. Serra J. Image Analysis and Mathematical Morphology. // Academic Press. - 1982. 152. Serra J. Introduction to mathematical morphology. // Computer Vision, Graphics and Image Processing. - 1986. - Vol.35.-№3. 153. Schenk, Automatic Generation of DEM“s, Digital Photogrammetry: An Addentum to the Manual of Photogrammetry. // American Society for Photogram- metry & Remote Sensing. - 1996. 154. Shirai Y. Three-dimensional Computer Vision. // Springer-Verlag, Berlin. - 1987. 155. Silberberg T.M., Davis L. and Harwood D. An iterative Hough procedure for three-dimensional object recognition. // Pattern Recogn. Lett. - 1984. - № 17. - Pp. 621-629. 156. Sklansky J. On the Hough technique for curve detection. // IEEE Trans. Comput. - 1978. - № 27. - Pp. 923-926. 157. Stein F. and Medioni G. Structural indexing: Efficient 3-D object recognition. // IEEE Trans. Pattern Anal. Mach. Intell. - 1992. - № 14(2). - Pp. 125-145. 158. Stephens R. S. Probabilistic approach to the Hough transform. // Image Vision Comput. - 1991. - № 9(1). - Pp. 66-71. 159. Stockman G. C. and Agrawala A K. Equivalence of Hough curve detection to template matching. // Comm. ACM. - 1977. - № 20. - Pp. 820-822. 160. THOMAS RISSE. Hough Transform for line Recognition: Complexity of Evidence Accumulation and Cluster Detection. // Computer Vision, Graphics, and Image Processing. - 1989. - № 46. - Pp. 327-345. 161. Torre V. and Poggio T. On edge detection. // IEEE Trans. Pattern Anal. Mach. Intell. - 1986. - № 8(2). - Pp. 147-163. 162. Tsai R. Y. An efficient and accurate camera calibration technique for 3-D machine vision. // Proceedings CVPR“86. IEEE. - 1986. - Pp. 364-374. 163. Weska J. S. A survey of threshold selection techniques. // Comput. Graph. Image Process. - 1978. - № 7. - Pp. 259-265. 164. Wong R. Y, Hall E. L. Scene matching with invariant moments. // Computer graphics and image processing. - 1978. - Vol. 8. 165. Xu and Oja E. Randomized Hough transform (RHT): basic mechanisms, algorithms and computationnal complexities. // Computer Vision Graph. Image Process: Image Understanding. - 1993. - № 57. - Pp. 131-154. 166. Yang J. and Li X. Boundary detection using mathematical morphology. // Pattern Recogn. Lett. - 1995. - № 16(12). - Pp. 1277-1286. 167. Yakimovsky A Y. Boundary and object detection in real world images. // Journal of the Association of Computing Machinery. - 1976. - № 23. - Pp. 599-618. 168. Yuen H. K., Illingworth J. and Kittier J. Ellipse detection using the Hough transform. // Proc. 4-th Alvey Vision Conf. - Manchester (31 August-2 September). - 1988. - Pp. 167-174. 169. Zheltov S. Yu., vizilter yu. v, stepanov A. A. Shape analysis using Pytiev morphologic paradigm and its use in machine vision. // SPIE Proceedings. - 1994. - Vol. 2350.
452 Список литературы 170. mottle v. v, kopilov A. v, blinov A b., Zheltov S. Yu. Quasi-statistical approach to the problem of stereo image matching. // SPIE Proceedings. - 1994. -Vol. 2363. 171. Zheltov S. Yu., blochinov Yu. B., stepanov A. A., sibiryakov A. V. Computer 3-D Site Model Generation Based On Aerial Images. // SPIE Proceedings. - 1997. - Vol.3084. 172. Zheltov S. Yu., sibiryakov А. V. Adaptive subpixel Cross-Correlation in a Point Correspondence Problem/Optical 3D Measurement Techniques. // Zurich. - 29 IX - 2 X 1997. 173. vizilter yu. v, Zheltov S. Yu., morzeev yu. v. Image segmentation using the original histogram based multithreshold preseg-mentation. // European Symposium on Aerospace Remote Sensing, Institute of Electrical Engineers (IEE). - London. United Kingdom 22-26X 1997. -Vol. 3217. 174. Zheltov S. Yu., sibiryakov А. V Using An Image Preliminary Segmentation For Adaptive Subpixel Correlation. // The 8-th International Conference on Computer Graphics and Visualizationics. Conference Proceedings. - Moscow. - 7-11.09.1998. 175. Zheltov S. Yu., Knyaz V A., Glasov V N. Method for 3-D urban objects reconstruction based on combined digital videogrammetry - laser rangefinder technique.//Proceedings of 2nd International Workshop on Urban Multi-Media/3-D Mapping. - Tokyo. - 30 IX - 2 X 1999. - Pp. 189-193. 176. Zheltov S. Yu., Knyaz V A. Photogrammetric method of virtual model generation for complex 3-D objects. // Proceedings of International Conference on Computer Graphics. Graphicon’99. - Moscow. - 26 VIII - 1IX 1999. - Pp. 182-186. 177. vizilter yu. v, Zheltov S. Yu., lukin A. A. Development of OCR system for portable passport and visa reader. // SPIE Proceedings. - 1999. - Vol. 3651. 178. Zheltov S. Yu., Knyaz V A Approach to Accurate Photorealistic Model Generation for Complex 3-D Objects. // International Archives of Photogrammetry and Remote Sensing. - Amsterdam. - 2000. - Vol. XXXIII. - Part B5/1. - Pp. 428-433. 179. Zheltov S. Yu., Knyaz V. A, Stepanyants D. G. Automated photogrammet- ric system for photorealistic skull 3-D reconstruction: Videometrics and Optical Methods for 3-D Shape Measurements. // Proceeding of SPIE. - 2001. - Vol. 4309. - Pp. 336-345. 180. Zuniga O. A and Haralick R. M. Corner detection using the facet model. // Proc. IEEE Comput. Vision Pattern Recogn. Conf. - 1983. - Pp. 30-37. Литература no LabVIEW и NI Vision Литература no LabVIEWи NI Vision на русском языке 181. Суранов А. Я. LabVIEW 7: Справочник по функциям. - М.: ДМК Пресс, 2005.- 512 с. 182. Батоврин В. К., Бессонов А. С., Мошкин В. В. LabVIEW: Практикум по основам измерительных технологий: Учебное пособие для вузов. - М.: ДМК Пресс, 2005. - 208 с.
Литература no LabVIEW и Nl Vision 453 183. Бутырин П. А. и др. Автоматизация физических исследований и экспери- мента: компьтерные измерения и виртуальные приборы на основе LabVIEW 7 // Под ред. Бутырина П. А. - М.: ДМК Пресс, 2005. - 264 с. Литература по LabVIEWи Nl Vision на английском языке 184. Klinger Т. Image processing with LabVIEW and IMAQ Vision. - Prentice Hall, 2003.-319 p. 185. LabVIEW user manual. Part number 323427A-01. - National Instruments, 2003. 186. LabVIEW measurements manual. Part number 322661B-01. - National Instruments, 2003. 187. LabVIEW help. Part Number 370117D-01. - National Instruments, 2004. 188. Nl IMAQuser manual. Part number 370160D-01. - National Instruments, 2004. 189. Nl IMAQ Vision concept manual. Part number 322916B-01. - National Instruments, 2003. 190. Nl IMAQ Vision for LabVIEW user manual. Part number 323917B-01. - National Instruments, 2003. 191. Nl IMAQ function reference help. Part Number 370161C-01. - National Instruments, 2004. 192. Nl IMAQ Vision Assistant tutorial. Part Number 322228D-01. - National Instruments, 2003.
указатель аааааааааааааааааааааа А-В-С Audio Video Interleave. См. Формат: AVI AVI. См. Формат: AVI BitMaP. См. Формат: BMP Block Diagram (термин LabVIEW). См. Блок-диаграмма (термин LabVIEW) BMP. См. Формат: BMP CCD-матрпца. См. ПЗС-матрпца Close-range photogrammetry. См. Фотограмметрия Compact Vision System (термин LabVIEW). См. Промышленная платформа Compact Vision System (термин LabVIEW) Connector pane (термин LabVIEW). См. Панель (термин LabVIEW): соединительная Control flow model. См. Поток: управления CVS (термин LabVIEW). См. Промышленная платформа Compact Vision System (термин LabVIEW) D Dataflow model. См. Поток: данных DICOM, 441. См. Формат: DICOM Digital Imaging and Communications in Medicine. См. Формат: DICOM Digital photogrammetry. См. Фотограмметрия: цифровая Dots per inch. Cm. DPI DPI, 90 F-G-H FireWire. См. Протокол: FireWire Front Panel (термин LabVIEW). См. Панель (термин LabVIEW): лицевая GHT. См. Преобразование Хафа: обобщенное GIF. См. Формат: GIF Graphics Interchange Format. См. Формат: GIF HSV. См. Изображения: цветовая модель: HSV l-J-L IEEE 1394. См. Протокол: IEEE 1394 IMage AcQuision. См. Технология захвата изображения IMAQ (термин LabVIEW) IMAQ. См. Технология захвата изображения IMAQ (термин LabVIEW) IMAQ Vision. См. Технология захвата изображения IMAQ (термин LabVIEW) Joint Photographic Experts Group. См. Формат: JPEG JPEG. См. Формат: JPEG LabVIEW, 24 Look-Up-Table, 122 LUT. Cm. Look-Up-Table LZW. См. Алгоритм сжатия данных: LZW M-N-0 Machine vision. См. Зрение: машинное Matching, 17 Matrix code. См. Штриховой код: двумерный: матричный Moving Pictures Experts Group. См. Формат: MPEG MPEG. См. Формат: MPEG Multi-row code. См. Штриховой код: двумерный: многорядный National Instruments (термин LabVIEW), 24, 44 Nl Vision. См. Платформа (термин LabVIEW): машинного зрения Nl Vision Node (термин LabVIEW). См. Узел (термин LabVIEW) OCR. См. Распознавание: символов оптическое p Palette (термин LabVIEW) Controls, 26 Functions, 26 Tools, 26 Parallel port. См. Порт: параллельный Pattern recognition. См. Распознавание: образов PCX. См. Формат: PCX Pixel. См. Пиксель Plug-and-play, 91 Pull-down menu (термин LabVIEW). См. Меню: контекстное
Предметный указатель 455 PXI (термин LabVIEW). См. Промышленный компьютер PXI (термин LabVIEW) PXI. См. Платформа (термин LabVIEW): аппаратная PXI R-S-T RGB. См. Изображения: цветовая модель: RGB RLE. См. Алгоритм сжатия данных: RLE Run Length Encoding. См. Алгоритм сжатия данных: RLE Serial port. См. Порт: последовательный SubVI (термин LabVIEW). См. Подприбор (термин LabVIEW) Tagged Image File Format. См. Формат: TIFF Terminal (термин LabVIEW). См. Терминал (термин LabVIEW) Tif. См. Формат: TIFF TIFF. См. Формат: TIFF TWAIN. См. Протокол: TWAIN U-V-W-Y Universal Serial Bus. См. Порт: USB USB. См. Порт: USB VFW. См. Протокол: Video for Windows Video for Windows. См. Протокол: Video for Windows Vision Assistant (термин LabVIEW), 50 Warping. См. Коробление Wire (термин LabVIEW). См. Проводник (термин LabVIEW) YUV. См. Изображения: цветовая модель: YUV A Автоиндексирование массива, 36 Автоматизация измерений, 391 Адаптивная бинаризация изображения. См. Изображения: бинаризация: адаптивная Адаптивная гистограммная обработка. См. Обработка: гистограммная адаптивная Аддитивный шум. См. Шум: аддитивный Аккумуляторная функция. См. Функция: аккумуляторная Акустическое изображение. См. Изображение: акустическое Алгебраическая операция. См. Операция: алгебраическая Алгоритм сжатия данных LZW, 95 RLE, 94 Анализ движения, 406 иерархический,285 изображения. См. Изображения: анализ оптических потоков, 408 Аналитическая фотограмметрия. См. Фотограмметрия: аналитическая Аналоговая видеокамера. См. Видеокамера: аналоговая Аналоговый видеосигнал. См. Видеосигнал: аналоговый Аномальная ошибка. См. Ошибка: аномальная Апертура, 169 фильтра. См. Фильтра: апертура Аппаратная платформа PXI. См. Платформа (термин LabVIEW): аппаратная PXI Аппроксимация отрезков линий, 316 Архиватор. См. Процедура сжатия данных Б Базовый пиксель. См. Пиксель: базовый Безбликовая подсветка. См. Подсвет: безбликовый Бесконтактные измерения. См. Измерения: бесконтактные Бесконтактные трехмерные измерения. См. Измерения: трехмерные: бесконтактные Бимодальная гистограмма. См. Гистограмма: бимодальная Бинаризация изображения по критерию Otsu. См. Изображения: бинаризация: по критерию Otsu Бинарное изображение. См. Изображение: бинарное Бинарный медианный фильтр. См. Фильтр: медианный: бинарный Биометрическая система. См. Система: биометрическая Биометрические характеристики. См. Биометрический идентификатор Биометрический идентификатор, 414 Биометрия, 414, 421 Биомеханические исследования, 426 Битовое изображение. См. Изображение: бинарное Ближний ИК-диапазон. См. ИК-диапазон: ближний Блок-диаграмма (термин LabVIEW), 24 БПФ. См. Фурье: преобразование: быстрое Булевское изображение. См. Изображение: бинарное Быстрая съемка. См. Съемка: ускоренная Быстрое преобразование Фурье. См. Фурье: преобразование: быстрое Быстропротекающий процесс, 111 В Вейвлет Хаара, 206 Вейвлет-анализ, 204 Вейвлет-преобразование, 205 Взаимное ориентирование. См. Ориентирование: взаимное Видеокамера аналоговая, 88, 89 линейная, 86 цифровая, 89 Видеокодек. См. Кодек Видеонаблюдение, 405, 411 Видеопоследовательность. См. Цифровая: видеопоследовательность
456 Обработка и анализ цифровых изображений с примерами Видеосигнал аналоговый, 88 цифровой, 88 Видимое поле, 59 Виртуальный прибор (термин LabVIEW), 24 Внешнее ориентирование камер. См. Ориентирование: внешнее ВП (термин LabVIEW). См. Виртуальный прибор (термин LabVIEW) Входное изображение. См. Изображение: входное Выделение контуров на изображении, 216 Высокочастотная фильтрация. См. Фильтрация: высокочастотная Высокочастотный гауссовский фильтр. См. Фильтр: гауссовский: высокочастотный Выходное изображение. См. Изображение: выходное Вычитание изображений. См. Изображений: разность Вычитание Минковского. См. Операция: вычитание Минковского Г Гамма-излучение, 77 Гамма-коррекция, 123 Гауссовая пирамида изображений. См. Изображения: пирамида: гауссовая Гауссовский высокочастотный фильтр. См. Фильтр: гауссовский: высокочастотный Гауссовский низкочастотный фильтр. См. Фильтр: гауссовский: низкочастотный Гауссовский фильтр. См. Фильтр: гауссовский Геометрическая модель камеры. См. Математическая модель камеры Геометрическая нормализация изображения. См. Изображения: нормализация: геометрическая Геометрические измерения на изображении. См. Измерения: на изображении: геометрические Геометрия изображения. См. Изображения: геометрия снимка осевая проективная, 87 центральная проективная, 87 цилиндрическая, 87 Гиперспектральная съемка. См. Съемка: гиперспектральная Гиперспектральное изображение. См. Изображение: гиперспектральное Гистограмма бимодальная, 123 изображения. См. Изображения: гистограмма мультимодальная, 124 унимодальная, 123 Гистограммные преобразования изображения. См. Изображения: яркостные преобразования Гладкая поверхность. См. Поверхность гладкая Глобальная обработка изображения. См. Изображения: обработка: глобальная Глобальная переменная. См. Переменная (термин LabVIEW): глобальная Гранулометрия, 394 д Дальнометрический локатор. См. Локатор: лазерный Двумерное изображение. См. Изображение: двумерное поле дальностей. См. Поле: дальностей двумерное скоростей. См. Поле: скоростей двумерное Двумерное преобразование Фурье. См. Фурье: преобразование: двумерное Двумерный приемник изображений. См. ПЗС-матрица Двумерный штриховой код. См. Штриховой код: двумерный Детектор движения интеллектуальный, 406, 408 простейший, 406 оставленных предметов, 406, 410 пересечений, 85 Диапазон длин волн, 76 Диапазонная пороговая сегментация изображения. См. Изображения: сегментация: пороговая диапазонная Дилатация. См. Операция: дилатации Дискретное косинусное преобразование. См. Преобразование: дискретное косинусное Дискретное преобразование Фурье. См. Фурье: преобразование: дискретное Дистанционные измерения. См. Измерения: бесконтактные Дисторсия, 88 ДКП. См. Преобразование: дискретное косинусное ДПФ. См. Фурье: преобразование: дискретное Драйвер, 91 3 Закон центрального проектирования, 348 Зрение компьютерное, 18, 390 машинное, 15, 18, 19, 390 роботов, 18, 399 Замедленная съемка. См. Съемка: замедленная Идеальный высокочастотный фильтр. См. Фильтр: идеальный: высокочастотный Идеальный фильтр низких частот. См. Фильтр: идеальный: низкочастотный Иерархический анализ. См. Анализ: иерархический Иерархическое кодирование. См. Кодирование информации: иерархическое Излучатель, 79
Предметный указатель 457 Измерения на изображении геометрические, 306 яркостные, 311 Измерения трехмерные бесконтактные, 348, 392 Изображение эталонное, 298 Изображение, 81 акустическое, 80 бинарное, 82 битовое. См. Изображение: бинарное булевское. См. Изображение: бинарное входное, 169 выходное, 169 гиперспектральное, 84 двумерное, 59 инфракрасное, 78 комплексное, 83 логическое. См. Изображение: бинарное меточное, 83 микроволновое. См. Изображение: радиолокационное многозональное, 81, 84 полутоновое, 79, 83 повышенного разрешения, 83 признаковое, 84 радиоволновое, 80 радиолокационное, 79 растровое, 59 рентгеновское, 77, 438 тепловизионное, 78 томографическое, 77, 435 ультразвуковое, 80 ультрафиолетовое, 78 фронтальное, 424 цветное, 84, 141 цифровое, 59 Изображений операция попиксельного сравнения, 62 разность, 62 сумма, 62 сшивка бесшовная, 397 умножение, 71 Изображения анализ, 11,61 бинаризация адаптивная, 123, 137 по критерию Otsu, 138 пороговая, 137 геометрия, 87 гистограмма, 121 инвертирование яркости, 122 контраст, 120 нормализация, 123 геометрическая, 316 обработка, И, 18, 119 глобальная, 121 локальная, 121 пирамида, 204 гауссовая, 205 лапласианов, 205 понимание, 18 предобработка, 16, 315 проекция, 120, 160 профиль, 120 профиль вдоль линии, 151 размытие, 202 реконструкция, 108 свертка, 184 сглаживание, 315 сегментация, 16, 138, 141, 255, 316 мультипороговая, 256 пороговая, 256 пороговая диапазонная, 257 цветовая, 145 сканирование, 85 механическое, 85 оптико-механическое, 85 смаз, 108 трехмерная реконструкция, 424 фильтрация, 163 в частотной области, 199 линейная, 184, 192 логическая, 170 помеховая, 163, 166 цветовая модель HSV, 142 RGB, 141 YUV, 144 эквализация, 123 яркостные преобразования, 121 яркость, 119 Измерения субпиксельные. См. Локализация: субпиксельная Изолированный пиксель. См. Пиксель: изолированный ИК-изображение. См. Изображение: инфракрасное ИК-подсветка. См. Подсвет: инфракрасный ИК-диапазон ближний, 78 тепловой, 78 Инвертирование яркости. См. Изображения: инвертирование яркости Индикатор (термин LabVIEW), 26 Инженерная фотограмметрия. См. Фотограмметрия: инженерная Инструментальная панель. См. Панель (термин LabVIEW): инструментальная Интегральное преобразование Фурье. См. Фурье: преобразование: интегральное Интеллектуальный детектор движения. См. Детектор: движения: интеллектуальный Инфракрасное изображение. См. Изображение: инфракрасное Инфракрасный диапазон. См. Е1К-диапазон Инфракрасный подсвет. См. Подсвет: инфракрасный Искусственный интеллект, 18 к Калибровка камер, 88, 348, 350, 361 Карта глубин, 80 скоростей, 81
458 Обработка и анализ цифровых изображений с примерами Квант излучения. См. Фотон Кодек, 102, 116 Кодирование информации без потерь. См. Сжатие цифровой информации: без потерь иерархическое, 102 последовательное, 102 постепенное, 102 Комбинированное стирание бахромы. См. Операция: стирание бахромы: комбинированное Компактность образа. См. Образа: компактность Комплексирование, 81 Комплексное изображение. См. Изображение: комплексное Комплексное представление преобразования Фурье. См. Фурье: преобразования комплексное представление Компьютерное зрение. См. Зрение: компьютерное Контекстное меню (термин LabVIEW). См. Меню: контекстное Контраст изображения. См. Изображения: контраст Конфигурация съемки, 348 Коробление, 22 Корреляционное обнаружение. См. Метод: обнаружения: корреляционный Корреляционное слежение, 406 Корреляционный метод обнаружения. См. Метод: обнаружения: корреляционный Коэффициент корреляции морфологический, 298 нормированный, 297 Коэффициент сжатия, 93 Краевой пиксель. См. Пиксель: краевой л Лазерный локатор. См. локатор: лазерный Лапласианов пирамида. См. Изображения: пирамида: лапласианов Линейная камера. См. Видеокамера: линейная Линейная подсветка. См. Подсвет: линейный Линейная фильтрация изображения. См. Изображения: фильтрация: линейная Линейный штриховой код. См. Штриховой код: линейный Лицевая панель (термин LabVIEW). См. Панель (термин LabVIEW): лицевая Логическая операция. См. Операция: логическая Логическая фильтрация. См. Изображения: фильтрация: логическая Логическое изображение. См. Изображение: бинарное Локализация субпиксельная, 21 точная, 20 Локальная обработка изображения. См. Изображения: обработка: локальная Локальная переменная. См. Переменная (термин LabVIEW): локальная Локатор дальнометрический. См. Локатор: лазерный лазерный, 80 Маска фильтра. См. Фильтра: маска Массив, 34 Математическая модель камеры, 349 Математическая морфология Серра. См. Морфология Серра математическая Матрица весов, 174 Матричный код. См. Штриховой код: двумерный: матричный Машинное зрение. См. Зрение: машинное Медиана. См. Фильтр: медианный Медианный фильтр. См. Фильтр: медианный Меню контекстное (термин LabVIEW), 26 Метод зон, 319 «лесного пожара», 252 матрицы смежности, 320 нормализации фона, 181 обнаружения корреляционный, 297 пересечений, 318 фотограмметрический бесконтактных трехмерных измерений, 347 характеристических мест, 320 Меточное изображение. См. Изображение: меточное Механическое сканирование изображения. См. Изображения: сканирование: механическое Микроволновое изображение. См. Изображение: радиолокационное Минимаксная фильтрация. См. Фильтрация: минимаксная Многозональное изображение. См. Изображение: многозональное Многорядный код. См. Штриховой код: двумерный: многорядный Мода гистограммы, 123 Модульная парадигма. См. Парадигма: модульная Момент инвариантный к изменению масштаба, 264 к повороту, 264 к смещению, 264 построчный, 318 центральный, 318 нормированный, 318 Морфологическая граница, 235 Морфологическая операция на бинарных изображениях. См. Операция: морфологическая: на бинарных изображениях на полутоновых изображениях. См. Операция: морфологическая: на полутоновых изображениях Морфологический коэффициент корреляции. См. Коэффициент: корреляции: морфологический
Предметный указатель 459 Морфологический оператор заполнения. См. Оператор: морфологический: заполнения Морфологический оператор утончения. См. Оператор: морфологический: утончения Морфологический подход Ю. П. Пытьева, 298 Морфологический спектр. См. Спектр: морфологический Морфология Серра математическая, 228 Мультимодальная гистограмма. См. Гистограмма: мультимодальная Мультипороговая сегментация изображения. См. Изображения: сегментация: мультипороговая Мультиспектральная съемка. См. Съемка: мультиспектральная Несинхронность регистрации и обработки данных, 20 Низкочастотная фильтрация. См. Фильтрация: низкочастотная Низкочастотный гауссовский фильтр. См. Фильтр: гауссовский: низкочастотный Нормализация изображения. См. Изображения: нормализация Нормализация фона. См. Метод: нормализации фона Нормальная ошибка. См. Ошибка: нормальная Нормированный коэффициент корреляции. См. Коэффициент: корреляции: нормированный Нормированный центральный момент. См. Момент: центральный: нормированный Ночное видение, 78 о Областей разбиение, 259 слияние, 257 Область связная, 252 Обнаружение препятствий, 404 штрихового кода. См. Штриховой код: обнаружение Обобщенное преобразование Хафа. См. Преобразование Хафа: обобщенное Обобщенный ряд Фурье. См. Фурье: ряд: обобщенный Обработка гистограммная адаптивная, 123 Образа компактность, 263 ориентация, 263 периметр, 262 площадь, 261 формат, 262 центр тяжести, 261 Образовый спектр. См. Спектр: образовый Объектно-ориентированное программирование. См. Программирование: объектно-ориентированное Обработка изображений. См. Изображения: обработка Объекты, разнообразие и изменчивость, 19 Одномерный штриховой код. См. Штриховой код: одномерный Окрестность пикселя. См. Апертура проколотая, 170 точки. См. Апертура Оператор вычисления векторов градиентов, 219 вычисления производных, 218 Лапласа, 221 Марра, 221 Робертса, 219 Собела, 219 Оператор морфологический заполнения, 315 утончения, 315 Операция алгебраическая, 62 вычитание Минковского, 231 дилатации, 230, 232, 234 закрытия, 231, 232 логическая, 65 морфологическая на бинарных изображениях, 230 на полутоновых изображениях, 234 открытия, 231, 232 побитовая, 65 попиксельного сравнения изображений. См. Изображений: операция попиксельного сравнения расширения. См. Операция: дилатации сжатия. См. Операция: эрозии сложение Минковского, 231 стирание бахромы, 315 комбинированное, 316 эрозии, 230, 232, 234 Оптико-механическое сканирование изображения. См. Изображения: сканирование: оптико-механическое Оптическая система. См. Система: оптическая Оптический поток. См. Поток: оптический Оптический сканер. См. Сканер: оптический Оптический эффект. См. Эффект: оптический искажающий Ориентация образа. См. Образа: ориентация Ориентирование взаимное, 354 внешнее, 351 Ортоплан, 405 Ортофотоизображение, 404 Освещенность объекта. См. Подсвет Осевая проективная геометрия снимка. См. Геометрия: снимка: осевая проективная Ошибка аномальная, 21 нормальная, 21 п Палитра, 45 Панель (термин LabVIEW) инструментальная, 27
460 Обработка и анализ цифровых изображений с примерами лицевая, 24 соединительная, 29 Парадигма модульная, 16 Параллельный порт. См. Порт: параллельный Переменная (термин LabVIEW) глобальная, 31 локальная, 31 общего доступа, 31, 43 Периметр образа. См. Образа: периметр ПЗС-матрица, 87 Пиксель, 59 базовый, 169 изолированный, 316 краевой, 316 крайний верхний,315 левый, 316 нижний, 316 правый, 316 Пиксельная система координат. См. Система координат: пиксельная Пиксельное разрешение. См. Разрешение: пиксельное Пирамида изображений. См. Изображения: пирамида Пирамида лапласианов. См. Изображения: пирамида: лапласианов Планшетный сканер. См. Сканер: оптический Платформа (термин LabVIEW) аппаратная PXI, 44 машинного зрения (Nl Vision), 44 Площадь образа. См. Образа: площадь ПО. См. Программное обеспечение Побитовая операция. См. Операция: побитовая Поверхность гладкая, 236 Подприбор (термин LabVIEW), 24, 30 Подсвет безбликовый, 111 инфракрасный, 78 линейный, 111 структурированный, 79, 111, 353, 359 Поле дальностей двумерное, 80 движения, 408 скоростей двумерное, 81 Полукадр, 109 Полутоновое изображение. См. Изображение: полутоновое Помеха загораживающая, 19 Помеховая фильтрация. См. Изображения: фильтрация: помеховая Понимание изображений. См. Изображения: понимание Попиксельная операция. См. Изображений: операция попиксельного сравнения Пороговая бинаризация изображения. См. Изображения: бинаризация: пороговая Пороговая сегментация изображения. См. Изображения: сегментация: пороговая Порт USB, 89 параллельный, 89 последовательный, 89 Последовательное кодирование. См. Кодирование информации: последовательное Последовательный порт. См. Порт: последовательный Постепенное кодирование. См. Кодирование информации: постепенное Постобработка результатов распознавания, 322 Построчный момент. См. Момент: построчный Поток данных, 24 оптический, 408 управления, 24 ППР. См. Правило принятия решения Правило принятия решения, 169 Предобработка изображения. См. Изображения: предобработка Преобразование дискретное косинусное, 102 Фурье. См. Фурье: преобразование Фурье быстрое. См. Фурье: преобразование: быстрое Фурье двумерное. См. Фурье: преобразование: двумерное Фурье дискретное. См. Фурье: преобразование: дискретное Фурье интегральное. См. Фурье: преобразование: интегральное Хафа, 281 обобщенное, 301 Пресегментация, 258 Признаковое изображение. См. Изображение: признаковое Проводник (термин LabVIEW), 26 Программирование объектно-ориентированное, 32 Программное обеспечение, 91, 360, 374, 378 Прогрессивная развертка. См. Развертка: прогрессивная Проекция изображения. См. Изображения: проекция Проколотая окрестность. См. Окрестность: проколотая Промышленная платформа Compact Vision System (термин LabVIEW), 368 Промышленный компьютер PXI (термин LabVIEW), 357 Прореженная съемка. См. Съемка: прореженная Просмотровая таблица. См. Look-Up-Table Пространственная система координат. См. Система координат: пространственная Пространственное разрешение. См. Разрешение: изображения: пространственное Протокол FireWire, 89 IEEE 1394,89 TWAIN, 92 Video for Windows, 92
Предметный указатель 461 Профиль вдоль линии. См. Изображения: профиль вдоль линии Профиль изображения. См. Изображения: профиль Процедура сжатия данных, 93 Процентильный фильтр. См. Фильтр: ранговый Псевдотрехмерный рельеф, 61 р Радиоволновое изображение. См. Изображение: радиоволновое Радиолокационное изображение. См. Изображение: радиолокационное Разбиение областей. См. Областей: разбиение Развертка прогрессивная, 109 чересстрочная, 109 Размытие изображения. См. Изображения: размытие Разность изображений. См. Изображений: разность Разрешение в относительных единицах, 91 видеокамеры собственное, 89 изображения пространственное, 90 яркостное, 89 пиксельное, 90 Ранговый фильтр. См. Фильтр: ранговый Распознавание образов, 18 Распознавание символов оптическое, 312 Растровое изображение. См. Изображение: растровое Расчет трехмерных координат точек объекта, 348 Реконструкция изображения. См. Изображения: реконструкция Рентгеновское изображение. См. Изображение: рентгеновское Рентгенограмма, 77 Робастность, 19, 20, 175 Робот, 399 Ряд Фурье. См. Фурье: ряд обобщенный. Свертка изображения. См. Изображения: свертка функций, 198 Светодиод, 85 Связная область. См. Область: связная Сглаживание изображения. См. Изображения: сглаживание Сегментация изображения. См. Изображения: сегментация Сжатие цифровой информации без потерь, 92 с потерями, 95, 101 Сингулярная кривая, 236 точка, 236 Система биометрическая, 414 видеоввода, 397 видеонаблюдения, 405 компьютерного зрения, 390 координат пиксельная, 348 пространственная, 349 машинного зрения, 390 обнаружения препятствий, 404 оптическая, 85 тепловизионная, 78 Сканер оптический, 85 планшетный. См. Сканер: оптический цифровой, 89 Сканирование изображения. См. Изображения: сканирование Сканирование поверхности, 364 Скользящее среднее. См. Фильтр: скользящее среднее в окне Слияние областей. См. Областей: слияние Сложение изображений. См. Изображений: сумма Сложение Минковского. См. Операция: сложение Минковского Смаз изображения. См. Изображения: смаз Собственное разрешение видеокамеры. См. Разрешение: видеокамеры собственное Согласованная фильтрация. См. Фильтрация: согласованная Соединительная панель (термин LabVIEW). См. Панель (термин LabVIEW): соединительная Спектр морфологический, 239 мощности. См. Спектр: энергетический образовый, 238 энергетический, 196 Ссылка строгого типа, 32 Стереоизображение, 404 Стереообнаружение движения, 412 Стереоотождествление, 348 Стереосоответствие,352 Стирание бахромы. См. Операция: стирание бахромы Структура яркостно-геометрическая, 15 Структурированный подсвет. См. Подсвет: структурированный Структурирующий элемент, 231, 236 Субпиксельная локализация. См. Локализация: субпиксельная Субпиксельные измерения. См. Локализация: субпиксельная Сумма изображений. См. Изображений: сумма Считывание штриховых кодов. См. Штриховой код: считывание Сшивка изображений. См. Изображений: сшивка бесшовная Съемка быстрая. См. Съемка: ускоренная гиперспектральная, 81
462 Обработка и анализ цифровых изображений с примерами замедленная, 107 мультиспектральная, 81 прореженная, 108 ускоренная, 107, 111 т Таблица отображения яркости. См. Look-Up-Table просмотровая. См. Look-Up-Table Текстурированный фон, 19 Тепловизионная система. См. Система: тепловизионная Тепловизионное изображение. См. Изображение: тепловизионное Тепловизор, 78 Тепловой ИК-диапазон. См. ИК-диапазон: тепловой Термограмма, 78 Технология захвата изображения IMAQ (термин LabVIEW), 44 Томографическое изображение. См. Изображение: томографическое Точная локализация. См. Локализация: точная Терминал (термин LabVIEW), 24 Точность. См. Локализация: точная Трехмерная реконструкция. См. Изображения: трехмерная реконструкция У Узел (термин LabVIEW), 24 Ультразвуковое изображение. См. Изображение: ультразвуковое Ультрафиолетовое изображение. См. Изображение: ультрафиолетовое Умножение изображений. См. Изображений: умножение Унимодальная гистограмма. См. Гистограмма: унимодальная Униполярный импульсный шум. См. Шум: униполярный: импульсный Униполярный шум. См. Шум: униполярный Ускоренная съемка. См. Съемка: ускоренная Устройство видеоввода. См. Фреймграббер Ф Фильтр, 84, 163 гауссовский, 187 высокочастотный, 201 низкочастотный, 201 идеальный высокочастотный, 201 низкочастотный, 201 медианный, 171, 173 бинарный, 171 процентильный. См. Фильтр: ранговый ранговый, 173, 175 скользящее среднее в окне, 184 Фильтра апертура, 166 маска, 184 ядро. См. Фильтра: маска Фильтрация высокочастотная, 202 изображения. См. Изображения: фильтрация изображения в частотной области. См. Изображения: фильтрация: в частотной области минимаксная, 177 низкочастотная, 202 Фильтрация согласованная, 301 с окаймлением, 301 Формат AVI, ИЗ BMP, 96 DICOM, 105 GIF, 99 JPEG, 101 MPEG, 116 PCX, 99 TIFF, 100 образа. См. Образа: формат Фотограмметрический измерительный комплекс на базе Compact Vision System, 377 Фотограмметрический метод бесконтактных трехмерных измерений. См. Метод: фотограмметрический бесконтактных трехмерных измерений Фотограмметрическое «сканирование» поверхности, 353 Фотограмметрия аналитическая, 18 инженерная, 347 цифровая, 18, 347 Фотодиод, 84 Фотон, 77 Фреймграббер, 88 Фронтальное изображение. См. Изображение: фронтальное Функция распределения цвета. См. Функция: распределения яркости, 59 Функция аккумуляторная, 281 отклика, 281 Фурье преобразование, 193 быстрое, 197 двумерное, 198 дискретное, 195 интегральное, 194 преобразования комплексное представление, 196 ряд, 194 обобщенный, 206 Цветное изображение. См. Изображение: цветное Цветовая компонента, 79 Цветовая модель изображения. См. Изображения: цветовая модель
Предметный указатель 463 Цветовая сегментация изображения. См. Изображения: цветовая сегментация Центр снимка, 88 Центр тяжести образа. См. Образа: центр тяжести Центральная проективная геометрия снимка. См. Геометрия: снимка: центральная проективная Центральный момент. См. Момент: центральный Цилиндрическая геометрия снимка. См. Геометрия: снимка: цилиндрическая Цифровая видеокамера. См. Видеокамера: цифровая видеопоследовательность, 107 фотограмметрия. См. Фотограмметрия: цифровая Цифровое изображение. См. Изображение: цифровое Цифровой видеосигнал. См. Сканер: цифровой ч Частота Найквиста, 196 Чересстрочная развертка. См. Развертка: чересстрочная ш Штриховой код, 429 двумерный, 328 матричный, 328 многорядный, 328 линейный, 325 обнаружение, 324 одномерный. См. Штриховой код: линейный считывание, 325 Шум, 19 аддитивный, 164 замещения, 164 униполярный, 173 импульсный, 177 э Эквализация изображения. См. Изображения: эквализация Экспозиция, 87, 107, 109 Элемент управления (термин LabVIEW), 26 Энергетический спектр. См. Спектр: энергетический Энергия сигнала, 196 Эрозия. См. Операция: эрозии Эталонное изображение. См. Изображение: эталонное Эффект загораживания, 19 заслонения. См. Эффект: загораживания изменения среды, 19 оптический искажающий, 19 резкой смены освещения, 19 Ядерный магнитный резонанс, 80 Ядро фильтра. См. Фильтра: маска Яркостно-геометрическая структура. См. Структура: яркостно-геометрическая Яркостное разрешение. См. Разрешение: изображения: яркостное Яркостные измерения на изображении. См. Измерения: на изображении: яркостные Яркостные преобразования изображения. См. Изображения: яркостные преобразования Яркость изображения. См. Изображения: яркость
Книги издательства «ДМК Пресс» можно заказать в торгово-изда- тельском холдинге «АЛЬЯНС-КНИГА» наложенным платежом, вы- слав открытку или письмо по почтовому адресу: 123242, Москва, а/я 20 или по электронному адресу: orders@abook.ru. При оформлении заказа следует указать адрес (полностью), по ко- торому должны быть высланы книги; фамилию, имя и отчество полу- чателя. Желательно также указать свой телефон и электронный адрес. Эти книги вы можете заказать и в Internet-магазине: www.alians- kniga.ru. Оптовые закупки: тел. (495) 258-91-94, 258-91-95; электронный ад- рес books@alians-kniga.ru. Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н., Моржин А. В. Обработка и анализ цифровых изображений с примерами на LabVIEW IMAQ Vision + DVD Главный редактор Мовчан Д. А. dm@dmk-press.ru Литературный редактор Кикава Л. В. Верстка Чаннова А. А Дизайн обложки Мовчан А. Г. Подписано в печать 24.12.2007. Формат 70x100 У16. Гарнитура «Петербург». Печать офсетная. Усл. печ. л. 43,5. Тираж 1000 экз.