автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Программное обеспечение систем технического зрения на базе IBM-совместимых персональных компьютеров
Текст работы Богуславский, Андрей Александрович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Ь 1 , * у'
/ л* . л
Ордена Ленина Институт прикладной математики им. М. В. Келдыша Российской Академии Наук
На правах рукописи
Богуславский Андрей Александрович
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ ТЕХНИЧЕСКОГО ЗРЕНИЯ НА БАЗЕ ЮМ-СОВМЕСТИМЫХ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ.
Специальность: 05.13.11 - Математическое и программное обеспечение
вычислительных машин, комплексов, систем и сетей.
Диссертация на соискание ученой степени кандидата физико-математических наук
Научный руководитель д.ф.-м.н. Сергей Михайлович Соколов
Москва 1998 г.
Оглавление.
ВВЕДЕНИЕ..................................................................................................................4
ГЛАВА 1. ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ.....................19
1.1. Основные задачи СТЗ....................................................................................19
1.2. Назначение ГИП.............................................................................................21
1.3. Режимы функционирования программного обеспечения СТЗ............26
1.4. Архитектура программного обеспечения СТЗ........................................29
1.5. Структура подсистемы ГИП........................................................................32
1.6. Графическая библиотека нижнего уровня...............................................34
1.7. Библиотека классов ГИП.............................................................................36
1.8. Классы интерфейсных элементов СТЗ......................................................39
1.9. Интерфейсные элементы для представлен™ поля зрения СТЗ...........43
1.10. Интерфейсные элементы для настройки алгоритма обработки изображений..................................................................................................53
ГЛАВА 2. ОБЕСПЕЧЕНИЕ ОБРАБОТКИ ИЗОБРАЖЕНИЙ........................58
2.1. Назначение подсистемы обработки изображений.................................58
2.2. Описание изображения.................................................................................62
2.3.Признаки изображения...................................................................................68
2.4. Оболочки алгоритмов................................................................................... 73
2.5. Алгоритмы выделения элементарных признаков..................................77
2.6. Визуализация изображений и гистограмм..............................................78
2.7. Проектирование алгоритма обработки изображений СТЗ....................85
2.8. Обработка ошибок и отладка ПрО СТЗ......................................................95
ГЛАВА 3. РАБОТА С АППАРАТУРОЙ И ХРАНЕНИЕ ДАННЫХ............100
3.1. Структура аппаратного обеспечения СТЗ..............................................100
3.2. Подсистема интерфейса с аппаратурой................................................105
3.3. Взаимодействие с устройством ввода зрительной информации.....107
3.4. Работа с таймером.......................................................................................111
3.5. Использование последовательного порта............................................112
3.6. Подсистема хранения данных.................................................................116
3.7. Хранение параметров объектов ПрО СТЗ...............................................117
3.8. Форматы изображений................................................................................118
3.9. Хранение результатов работы СТЗ...........................................................119
3.10. Дополнительная обработка результатов работы СТЗ........................121
ЗАКЛЮЧЕНИЕ.......................................................................................................127
СПИСОК ЛИТЕРАТУРЫ..................................................................................... 129
ПРИЛОЖЕНИЕ......................................................................................................136
Таблица 1. Прикладные СТЗ, разработанные в процессе выполнения
диссертации....................................................................................136
Классы библиотеки ГИП....................................................................................138
Макет СТЗ с одним полем зрения....................................................................174
Введение.
Среди проблем, возникающих при разработке прикладных и научно-исследовательских автоматизированных комплексов, выделяется круг задач, связанных с обработкой зрительной информации в реальном времени. Подобные задачи возникают в автоматизации контроля, управлении промышленными установками, информационных системах мобильных роботов. Необходимость функционирования систем технического зрения (СТЗ) в режиме реального времени оказывает существенное влияние на выбор аппаратного и программного обеспечения (ПрО) для реализации этих систем. В ряде СТЗ используются рабочие станции с операционными системами (ОС) реального времени, а также специализированные вычислительные машины и процессоры для обработки зрительной информации. Высокая стоимость СТЗ на базе подобного аппаратного обеспечения затрудняет их использование в небольших прикладных и исследовательских комплексах.
Один из способов расширения сферы применения СТЗ заключается в использовании широко распространенного аппаратного и программного обеспечения - в первую очередь, на базе персональных компьютеров (ПК). Исследование возможностей использования персональных компьютеров в составе СТЗ является актуальным, поскольку данное решение позволяет сократить стоимость системы в 10-15 раз по сравнению с применением специализированного оборудования [28, 31].
С начала 80-х гг. развитие ПК сопровождается увеличением вычислительной мощности и графических возможностей. Возможности применения IBM-совместимых ПК для построения СТЗ значительно расширились с появлением процессора Intel 80386 и графического видеоадаптера VGA [31].
На основе анализа ряда работ по робототехнике [43, 45-54, 56, 58, 59, 63, 65, 66, 70-73] за последние 3 года можно заключить, что сфера применения ПК в составе СТЗ постепенно расширяется и уже в настоящее время подобное решение является равноправным наряду с использованием рабочих
станций. В рассмотренных работах СТЗ применяются для детектирования движения [48], слежения за движущимися объектами [46, 47, 53, 58, 63, 72], навигации подвижных аппаратов [50, 52, 54, 56, 59, 71], в инспекционных целях [49] и в комплексах роботов-манипуляторов [45, 70].
При анализе большого объема зрительных данных, сравнимого с полным кадром телевизионного сигнала, вычислительных возможностей ни ПК, ни рабочих станций для выполнения обработки в реальном времени пока недостаточно [49, 50, 65, 72]. В качестве основных путей для повышения быстродействия обработки зрительных данных в СТЗ можно выделить: использование априорной информации для обнаружения объекта на изображении [58, 65]; анализ отдельных фрагментов изображения поля зрения; применение прогноза положения образов объектов на изображении при обработке последовательности кадров телевизионного сигнала [46]; обработка отдельных полей кадра [58].
При выполнении работы использовались результаты исследований по машинному зрению и системам технического зрения, проводившихся в ИПМ РАН начиная с 1974 г. [10, 19, 20-22, 34, 35].
В качестве объекта исследования в данной диссертации выбрано ПрО СТЗ на базе IBM-совместимых ПК. Вычислительная мощность подобных ЭВМ в сочетании с рационально разработанным алгоритмическим обеспечением позволяет организовать обработку зрительной информации в реальном времени, а графические возможности ПК - реализовать дружественный пользователю графический интерфейс (ГИП).
На ПК операционные системы реального времени [9, 47, 63] не являются широко распространенными. Из доступных ОС была выбрана MS-DOS, обеспечивающая удобный доступ к аппаратному обеспечению. Поскольку для применения ПК в качестве базового в СТЗ необходимы средства обеспечения режима реального времени и, вместе с тем, ГИП, актуальной задачей является разработка и реализация соответствующей архитектуры ПрО СТЗ.
Базовым языком для разработки ПрО СТЗ выбран Си++. В [31] был проведен сравнительный анализ языков программирования применительно к задачам СТЗ. В качестве преимуществ языка Си были указаны компактность, быстрота исполнения, удобство работы с аппаратурой. Как недостатки отмечались сложности редактирования и отсутствие диалогового режима. В настоящее время в средствах разработки на базе Си++ имеются интегрированные среды разработки [14], в существенной степени устраняющие указанные недостатки. Объектно-ориентированный язык Си++ [3, 36] содержит более развитые по сравнению с языком Си средства абстракции данных и объектно-ориентированного программирования, значительно упрощающие разработку графического пользователя и обеспечивающие повторное использование компонент ПрО.
Целью данной работы является изучение возможностей использования IBM-совместимых ПК в составе СТЗ. Актуальной задачей является разработка архитектуры СТЗ и набора повторно используемых компонент ПрО, позволяющих реализовать конкретную СТЗ коллективом из 2-3 человек в течение 2-4 месяцев.
Конкретными задачами диссертации являлись:
1) разработка структуры аппаратного и программного обеспечения СТЗ реального времени на базе IBM-совместимых ПК;
2) разработка графического интерфейса пользователя применительно к задачам СТЗ;
3) реализация повторно используемых компонент ПрО СТЗ.
Основными результатами, полученными в данной работе, являются
следующие:
1) разработана архитектура ПрО СТЗ, обеспечивающая в среде однозадачной ОС MS-DOS сочетание графического интерфейса пользователя и функционирование в режиме реального времени;
2) на основе объектно-ориентированного подхода разработаны повторно используемые компоненты ПрО СТЗ;
3) с применением разработанного ПрО реализованы 8 СТЗ для решения важных народно-хозяйственных и научно-исследовательских задач;
4) разработана информационная система для хранения и дополнительной обработки данных, полученных в результате работы СТЗ.
Существенное практическое значение имеют разработанные в процессе выполнения диссертации прикладные СТЗ (см. таблицу 1 в приложении). В этих СТЗ получение данных о трехмерных объектах выполняется на основе анализа двумерных черно-белых изображений с учетом априорных данных (или данных, получаемых СТЗ в процессе работы из других источников) о расположении объектов относительно телевизионной камеры. Общей чертой разработанных СТЗ является требование практически непрерывного сбора и анализа зрительных данных в режиме реального времени. Примерами подобных СТЗ являются СТЗ для анализа объектов инфраструктуры железной дороги. Одна из них, СТЗ в составе передвижной лаборатории комплексной диагностики (ПЛКД), выполняет определение расположения контактного провода (в плане и по высоте относительно оси пути) в процессе движения по железнодорожному перегону. Эти измерения необходимы для обеспечения безопасности движения. Человек не может выполнять подобные измерения (минимальные требования к частоте измерений - 4 измерения в секунду). Существующие контактные методы позволяют выполнять измерения только с использованием пантографа вагона лаборатории. СТЗ при решении данной задачи позволяет выполнять измерения с требуемой частотой и использовать пантограф локомотива, что невозможно в случае контактных методов.
Важное практическое значение имеют СТЗ в составе систем "глаз-рука". В настоящее время возможность и целесообразность использования роботов в различных областях человеческой деятельности связаны с необходимостью повышения их уровня автоматизма при выполнении работ в заранее неопределенных или, точнее, не доопределенных условиях. В ИПМ РАН ведутся исследования, направленные на разработку системы управления ро-
ботом для решения большого класса задач манипулирования с объектами, совершающими заранее неизвестное движение в операционном пространстве робота. В разработанных системах "глаз-рука" применяются динамические модели движения объектов манипулирования (ими являются прямолинейный стержень, подвешенный за концы на двух нитях; теннисный мяч, подвешенный в операционном пространстве робота; два теннисных мяча, подвешенных в различных точках операционного пространства робота), позволяющие прогнозировать будущее относительное положение объекта манипулирования в трехмерном операционном пространстве манипулятора на основе двумерных наблюдений текущего относительного положения. В этих системах "глаз-рука" основная задача СТЗ состоит в получении в режиме реального времени данных, необходимых для определения параметров движения объектов манипулирования. С учетом априорных данных о форме и размерах объектов на обрабатываемых изображениях, а также прогноза положения объектов удалось обеспечить обработку 25 кадров в секунду.
Диссертация состоит из введения, трех глав, заключения и приложения. Первая глава посвящена описанию графического интерфейса пользователя СТЗ. Компоненты ПрО СТЗ по функциональному назначению были разделены на 4 группы, или, подсистемы: ТИП, обработка изображений, интерфейс с аппаратурой и хранение данных. Компоненты ТИП в ПрО СТЗ занимают центральное место, поскольку в них реализуется логика режимов работы СТЗ.
Для того, чтобы в СТЗ на базе ПК в среде MS-DOS применить ТИП и, вместе с тем, обеспечить функционирование системы в режиме реального времени, в архитектуре ПрО предусмотрено два режима работы СТЗ - ручной и автоматический.
ПрО СТЗ ручного режима строится на основе архитектуры, управляемой событиями. В ручном режиме ПрО СТЗ пользователь может выполнять следующие действия:
- тестировать и настраивать аппаратное обеспечение СТЗ;
- выполнять алгоритмы обработки изображений;
- просматривать результаты работы СТЗ, полученные в автоматическом режиме.
Функционирование ПрО СТЗ в реальном времени обеспечивается во втором режиме СТЗ - автоматическом. Автоматический режим позволяет СТЗ обрабатывать зрительные данные без участия пользователя. Накопленные данные затем предъявляются пользователю в ручном режиме для анализа.
Алгоритм автоматического режима СТЗ является циклом, оптимизированным в расчете на функционирование в реальном времени. В этом режиме возможности воздействия пользователя на СТЗ сведены к минимуму. Интерфейс пользователя в этом режиме выполняет две основных функции:
- отображение данных о текущем состоянии СТЗ;
- обеспечение переключения в ручной режим.
ПрО ГИП состоит из отдельных компонент - классов и функций-утилит, не принадлежащих ни одному из классов. Компоненты ПрО подсистемы ГИП по функциональному назначению можно разделить на 4 уровня иерархии: логика режимов ПрО СТЗ; интерфейсные элементы, специфичные для СТЗ; стандартные интерфейсные элементы; графические примитивы. Компоненты каждого уровня используются в реализации компонент более высокого уровня.
К первому, нижнему уровню, относятся компоненты, выполняющие непосредственный вывод графической информации на экран ПК. Практически любая подобная операция сводится к работе с отдельными пикселами -присвоить заданному пикселу цвет или узнать цвет заданного пиксела. Однако работа на уровне отдельно взятых пикселов затруднительна для программиста и неэффективна с точки зрения быстродействия ПрО. Поэтому в большинстве графических библиотек функций, поставляемых вместе с языками высокого уровня или отдельно, предусмотрены средства для работы с графи-
ческими примитивами: линиями, двумерными областями, шрифтами, изображениями (прямоугольными матрицами пикселов).
ПрО первого уровня будем называть графической библиотекой нижнего уровня. Она используется более высокоуровневыми компонентами ГИП для вывода графической информации на экран ПК.
Ко второму уровню иерархии относятся классы, реализующие стандартные интерфейсные элементы ГИП, такие, как кнопки, списки, полосы прокрутки, строки ввода и т.д. У этих элементов общий механизм отображения и реакции на сообщения от пользователя. Общие свойства вынесены в абстрактный базовый класс "Интерфейсный элемент" - TView. Все интерфейсные элементы являются классами, наследуемыми от TView. На данном уровне находятся также классы для построения из объектов TView более сложных интерфейсных элементов - групп, в частности, диалоговых окон. В ПрО СТЗ компоненты стандартных интерфейсных элементов построены на базе объектов библиотеки Turbo Vision.
К третьему уровню относятся классы интерфейсных элементов, специфичных для ГИП СТЗ - "Поле зрения", "Объект в поле зрения". Они также являются производными класса TView.
Самый верхний уровень иерархии занимают классы, реализующие логику режимов работы ПрО СТЗ. Основным классом этого уровня является класс "Прикладная программа". Программа конкретной СТЗ представляет собой объект класса, наследуемого от класса "Прикладная программа". Режимы ПрО СТЗ реализуются в виде совокупности функций этого класса. Класс "Прикладная программа" унаследован от класса "Группа интерфейсных элементов". Унаследованные от класса "Группа интерфейсных элементов" методы используются в классе "Прикладная программа" для управления интерфейсными элементами и диспетчеризации событий в ручном режиме СТЗ.
Главным интерфейсным элементом ГИП СТЗ является элемент "Поле зрения". Он служит контейнером элементов настройки алгоритма обработки изображений. Эти элементы предназначены для интерактивной настройки та-
ких параметров, как область поиска, направление поиска, характерные размеры объектов на изображении. Параметры настройки алгоритм
-
Похожие работы
- Автоматизированные системы учета и контроля геофизических работ в нефтяной и газовой промышленности
- Математические модели и методы повышения эффективности функционирования кластера компьютеров в центрах обработки данных
- Математическое обеспечение систем сбора, обработки и представления данных экспериментов физики высоких энергий на базе персональных компьютеров
- Математическое и программное обеспечение микропроцессорной системы управления потенциально опасными объектами
- Повышение надежности и производительности программируемых логических контроллеров
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность