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

  • Богуславский, Андрей Александрович
  • кандидат физико-математических науккандидат физико-математических наук
  • 1998, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 184
Богуславский, Андрей Александрович. Программное обеспечение систем технического зрения на базе IBM-совместимых персональных компьютеров: дис. кандидат физико-математических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 1998. 184 с.

Оглавление диссертации кандидат физико-математических наук Богуславский, Андрей Александрович

ВВЕДЕНИЕ

ГЛАВА 1. ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

1.1. Основные задачи СТЗ

1.2. Назначение ГИП

1.3. Режимы функционирования программного обеспечения СТЗ

1.4. Архитектура программного обеспечения СТЗ

1.5. Структура подсистемы ГИП

1.6. Графическая библиотека нижнего уровня

1.7. Библиотека классов ГИП

1.8. Классы интерфейсных элементов СТЗ

1.9. Интерфейсные элементы для представлен™ поля зрения СТЗ

1.10. Интерфейсные элементы для настройки алгоритма обработки изображений

ГЛАВА 2. ОБЕСПЕЧЕНИЕ ОБРАБОТКИ ИЗОБРАЖЕНИЙ

2.1. Назначение подсистемы обработки изображений

2.2. Описание изображения

2.3.Признаки изображения

2.4. Оболочки алгоритмов

2.5. Алгоритмы выделения элементарных признаков

2.6. Визуализация изображений и гистограмм

2.7. Проектирование алгоритма обработки изображений СТЗ

2.8. Обработка ошибок и отладка ПрО СТЗ

ГЛАВА 3. РАБОТА С АППАРАТУРОЙ И ХРАНЕНИЕ ДАННЫХ

3.1. Структура аппаратного обеспечения СТЗ

3.2. Подсистема интерфейса с аппаратурой

3.3. Взаимодействие с устройством ввода зрительной информации

3.4. Работа с таймером

3.5. Использование последовательного порта

3.6. Подсистема хранения данных

3.7. Хранение параметров объектов ПрО СТЗ

3.8. Форматы изображений

3.9. Хранение результатов работы СТЗ

3.10. Дополнительная обработка результатов работы СТЗ

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ

Таблица 1. Прикладные СТЗ, разработанные в процессе выполнения

диссертации

Классы библиотеки ГИП

Макет СТЗ с одним полем зрения

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Программное обеспечение систем технического зрения на базе IBM-совместимых персональных компьютеров»

Введение.

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

Один из способов расширения сферы применения СТЗ заключается в использовании широко распространенного аппаратного и программного обеспечения - в первую очередь, на базе персональных компьютеров (ПК). Исследование возможностей использования персональных компьютеров в составе СТЗ является актуальным, поскольку данное решение позволяет сократить стоимость системы в 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.

Самый верхний уровень иерархии занимают классы, реализующие логику режимов работы ПрО СТЗ. Основным классом этого уровня является класс "Прикладная программа". Программа конкретной СТЗ представляет собой объект класса, наследуемого от класса "Прикладная программа". Режимы ПрО СТЗ реализуются в виде совокупности функций этого класса. Класс "Прикладная программа" унаследован от класса "Группа интерфейсных элементов". Унаследованные от класса "Группа интерфейсных элементов" методы используются в классе "Прикладная программа" для управления интерфейсными элементами и диспетчеризации событий в ручном режиме СТЗ.

Главным интерфейсным элементом ГИП СТЗ является элемент "Поле зрения". Он служит контейнером элементов настройки алгоритма обработки изображений. Эти элементы предназначены для интерактивной настройки та-

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

Во второй главе рассматриваются средства обеспечения обработки изображений в ПрО СТЗ.

Главной задачей компонент обработки изображений в ПрО СТЗ является обработка зрительных данных в реальном времени - извлечение из находящихся в памяти компьютера изображений информации о присутствующих на них объектах. В прикладных СТЗ, реализованных на основе описываемого ПрО (см. таблицу 1 в приложении), характеристики трехмерных объектов определяются по двумерным изображениям с учетом априорной информации (или информации, полученной СТЗ из других источников, например, других программ более крупного комплекса).

В основу рассматриваемых алгоритмов распознавания кладется априорная информация о характерных свойствах объекта, таких, как форма, размер, яркость, наиболее вероятное местоположение в поле зрения. Учет этих свойств позволяет сократить объем обрабатываемых зрительных данных и обеспечить функционирование СТЗ в режиме реального времени. Проектирование алгоритма обработки изображений является специфической задачей, решаемой индивидуально для каждой СТЗ. Например, в СТЗ в составе систем "глаз-рука" для обнаружения объектов известной формы (прямолинейный стержень, теннисный мяч) в процессе обработки последовательности телевизионных кадров выполняется прогноз местоположения объекта с помощью модели движения. Применение модели движения для прогнозирования местоположения объекта и учет априорно известных формы и размеров объекта позволило существенно сократить объем обрабатываемых зрительных данных (количество обрабатываемых пикселей составляет 40% от количества

пикселей в изображении объекта и 0,1% от количества пикселей в кадре) и обеспечить соблюдение масштаба реального времени.

В алгоритме обработки изображений конкретной СТЗ можно использовать ряд алгоритмов более низкого уровня, предназначенных для выделения элементарных признаков на изображении, способы выделения которых не зависят от индивидуальных свойств обнаруживаемых объектов. Примерами этих признаков являются перепады яркости и площади однородных областей. В подсистему обработки изображений для расчета подобных признаков включены низкоуровневые компоненты (структуры данных, классы и функции) программного обеспечения, предназначенные для использования в алгоритмах обработки изображений конкретных СТЗ. Характерной особенностью этих компонент является ориентация на функционирование в реальном времени.

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

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

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

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

1. класс, описывающий изображение - "Изображение";

2. классы, описывающие элементарные признаки и характеристики изображения - "Точка", "Прямая", "Гистограмма";,

3. классы-оболочки алгоритмов обработки изображений, представляющие абстракции действий;

4. классы для визуализации графических данных. Это особая группа классов, построенных на основе классов подсистемы ГИП. Они являются общими для этих двух подсистем. По структуре и свойствам они относятся к ГИП, а по смысловому содержанию - к данной подсистеме.

В третьей главе рассматривается интерфейс с аппаратурой и хранение данных в ПрО СТЗ.

Большая часть интерфейса прикладного программирования (Application Programming Interface, API), имеющегося в базовой для СТЗ операционной системе MS-DOS, относится к обслуживанию файловой системы и работе с дисковыми устройствами. Доступ к этим функциям MS-DOS ПрО СТЗ получает обычным для MS-DOS-программ образом, с помощью библиотек ввода/вывода языка Си++.

В подсистему интерфейса с аппаратурой входят компоненты ПрО, обеспечивающие взаимодействие ПрО СТЗ с устройством ввода зрительных данных (УВЗД), таймером и устройствами, подключаемыми к ПК посредством последовательных портов. Поддержка последних в API MS-DOS имеется, но для ПрО СТЗ она недостаточна, поскольку не обеспечивает асинхронную обработку данных с помощью прерываний и передачу данных со скоростями выше 9600 бод.

Из доступных в MS-DOS вариантов реализации драйверов устройств был выбран вариант встраивания драйверов в тело прикладной программы. В ПрО СТЗ у встраиваемых драйверов по сравнению с резидентными драйверами MS-DOS выделяются два основных преимущества: 1) обмен данными с устройством можно проконтролировать в интегрированной среде разработки ПрО и 2) встраиваемые драйверы требуют меньших объемов оперативной памяти.

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

Классы для большинства специфических устройств (например, видеомагнитофона с управлением через последовательный порт), подключаемых к СТЗ, создаются путем наследования класса последовательного порта и реализации в унаследованном классе конкретного протокола связи.

Общим свойством всех классов-драйверов устройств в ПрО СТЗ является наличие функции тестирования устройства, позволяющей установить наличие и работоспособность устройства.

Важную роль в ПрО СТЗ и в данной подсистеме занимает класс "Таймер", предназначенный для измерения промежутков времени с помощью микросхемы таймера ПК.

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

Часть данных, с которыми работают компоненты ПрО СТЗ, нуждаются в долговременном хранении. Можно выделить три основных группы подобных данных:

1) параметры объектов ПрО СТЗ (переменные экземпляров классов и глобальные переменные);

2) изображения;

3) результаты работы СТЗ.

Хранение параметров объектов необходимо для обеспечения устойчивости этих объектов. Большинство подобных объектов представляют драйверы аппаратных устройств и интерфейсные элементы. Их параметры могут быть изменены пользователем и должны сохраняться между сеансами работы СТЗ. Эти параметры являются числами и символьными строками. Они хранятся в текстовом файле в виде "параметр=значение". В ПрО СТЗ всем сохраняемым параметрам присваиваются уникальные имена. Текстовый формат файла позволяет выполнять ручную корректировку редко используемых параметров, которые недоступны оператору в ГИП СТЗ - например, в целях отладки СТЗ.

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

деомагнитофонной кассете. В качестве файлового формата выбран формат PCX. Для полутоновых изображений с 64 градациями яркости он обеспечивает (на примере реализованных СТЗ) в среднем сжатие 1,5:1. Время упаковки и записи одного кадра составляет порядка 100 мс. В случае использования видеомагнитофона на него параллельно с устройством ввода зрительных данных направляется видеосигнал и таким образом сохраняется последовательность изображений, обрабатываемых СТЗ. Необходимые для восстановления ошибочной ситуации данные в обоих вариантах хранения записываются в отдельный файл-журнал (например, в формате "имя файла - время обработки").

Непосредственными результатами работы СТЗ являются данные об объектах, присутствующих на обработанных изображениях. Часто СТЗ в автоматическом режиме функционируют в течение длительного времени (например, СТЗ в составе ПЛКД определяет расположение контактного провода в процессе движения ПЛКД по железнодорожному перегону). Хотя результаты обработки отдельного изображения обычно могут быть представлены в виде нескольких чисел (например, в СТЗ в составе ПЛКД используются три числа с плавающей точкой - место проведения измерений, величина отклонения контактного провода относительно оси пути по высоте и в плане), данные за весь сеанс измерений составляют достаточно большой массив (обычно порядка 10000 элементов). Для удобства восприятия человеком результатов, полученных в течение сеанса работы СТЗ, желательно их представление в табличной и графической форме с применением дополнительных функций обработки (фильтрация с учетом природы измеряемой величины и метода измерения, экстраполяция, интерполяция, расчет статистических характеристик и т.п.). Часто необходимо сравнивать результаты, полученные в различных сеансах измерений. Перечисленные задачи обработки данных требуют эффективных средств доступа к сохраненной информации, средств построения таблиц и графиков. Эти средства должны быть способны работать с массивами размером порядка 50000 измерений.

По этим причинам для хранения и обработки результатов работы СТЗ была разработана отдельная программа - информационно-справочная система (ИСС). Она функционирует в ОС Windows 95 и реализована в среде быстрой разработки приложений Borland Delphi 3.0.

Среда Borland Delphi 3.0 была выбрана в качестве инструмента разработки ИСС благодаря тому, что в ней есть подходящая компонента для работы с графиками - TeeChart, большой набор компонент для работы с базами данных и объектно-ориентированный язык программирования Object Pascal. Компонента TeeChart позволяет выполнять построения нескольких графиков, их масштабирование и пролистывание с помощью мыши, распечатку на принтере.

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

Во время работы СТЗ данные записываются в специальном формате, предназначенном для обмена с ИСС. Массив с измерениями одного типа за один сеанс работы сохраняется в отдельном файле. В заголовке файла присутствует уникальный код типа измерения. Данным записываются в формате "время-значение". Использование собственного формата позволяет уменьшить время записи в реальном времени по сравнению с сохранением в формате коммерческих СУБД (например, CodeBase или Paradox Engine) в 2-5 раз. Другими причинами отказа от библиотек для работы с форматами распространенных СУБД являются экономия оперативной памяти MS-DOS (для библиотеки CodeBase 4 требуется около 100 Кб, для Paradox Engine 2.0 - порядка 200 Кб) и неполная совместимость доступных библиотек для MS-DOS с форматами баз данных Delphi.

В ИСС результаты работы СТЗ импортируются и преобразуются в формат СУБД Paradox. При этом к данным может применяться фильтр, рассчитанный на соответствующий тип измерений.

В макете ИСС реализованы следующие операции:

- вычисление статистических характеристик указанных измерений и результатов сравнения двух измерений;

- сравнение данных измерений в графическом и табличном виде;

- печать отчетов и графиков.

В ИСС набор функций обработки измерений открыт для дополнения с учетом требований конкретной прикладной задачи. Сопровождение и развитие ИСС, модульность ПрО ИСС обеспечивается благодаря направленности среды Delphi на создание компонентного ПрО.

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

В приложении содержится таблица с основными характеристиками прикладных СТЗ, разработанных в процессе выполнения диссертации. Приведено описание классов библиотеки ГИП и описание реализации макета ПрО СТЗ с одним полем зрения. Макет СТЗ представляет собой структурный каркас ПрО, предназначенный для ускорения разработки СТЗ на базе описанных в данной работе компонент ПрО. Макет СТЗ использовался в процессе разработки прикладных СТЗ.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Богуславский, Андрей Александрович

Результаты работы докладывались на научном семинаре по робототехнике ИПМ РАН (май 1998 г.), на научном семинаре "Программирование" ИПМ РАН под руководством профессора М.Р. Шура-Буры (ноябрь 1998 г.), на Всероссийском семинаре под руководством академика Д.Е. Охоцимского "Механика и управление робототехническими системами с элементами искусственного интеллекта" (МГУ, ноябрь 1998) и опубликованы в работах [1, 4, 7, 32, 33,60,61,62, 68].

Заключение.

Основными результатами, полученными в работе, являются:

1. Разработана архитектура ПрО СТЗ для реализации СТЗ реального времени на базе IBM-совместимых ПК. Архитектура обеспечивает в среде однозадачной ОС MS-DOS сочетание графического интерфейса пользователя и функционирование в режиме реального времени.

2. Решены 8 важных народно-хозяйственных и научно-исследовательских задач (см. Приложение, таблица 1), главными из которых являются бесконтактное измерение положения контактного провода железной дороги и информационное обеспечение робота-манипулятора при взаимодействии с подвижными объектами. Разработан макет СТЗ, предназначенный для ускорения разработки СТЗ на базе описанных в работе компонент ПрО.

3. На основе анализа разработанных СТЗ с использованием объектно-ориентированного подхода выделены основные группы повторно используемых компонент ПрО СТЗ: графический интерфейс пользователя, обработка изображений, интерфейс с аппаратурой и хранение данных. Эти компоненты реализованы на языке Си++.

4. В среде Windows 95 разработана информационно-справочная система, обеспечивающая обработку результатов работы СТЗ с учетом требований конкретной прикладной задачи и представление этих результатов в виде, удобном для восприятия человеком-экспертом.

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

Список литературы диссертационного исследования кандидат физико-математических наук Богуславский, Андрей Александрович, 1998 год

Список литературы.

1. Автоматический захват подвижного объекта роботом-манипулятором. / Охоцимский Д. Е., Платонов А. К., Белоусов И. Р., Богуславский А. А., Боровин Г. К., Емельянов С. Н., Комаров M. М., Сазонов В. В., Соколов С. M. M., 1996.-23 с. (Препринт ИПМ им. М.В.Келдыша РАН; № 78).

2. Айвенс К. OS/2 Warp в вопросах и ответах: Пер. с англ. СПб.: BHV, 1996. 216 с.

3. Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ. М.: Конкорд, 1992. 519 с.

4. Графический интерфейс систем технического зрения на базе персональных компьютеров. / Богуславский А. А., Соколов С. M.. М., 1998. 23 с. (Препринт ИПМ им. М.В.Келдыша РАН; № 24).

5. Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976. 511с.

6. Инструментальные средства языка С для разработки баз данных // Журнал д-ра Добба. 1991, № 4. с. 28-31.

7. Интерфейс с аппаратным обеспечением и хранение данных в системах технического зрения на базе персональных компьютеров. / Богуславский А. А., Соколов С. M.. М., 1998. 23 с. (Препринт ИПМ им. М.В.Келдыша РАН; № 68).

8. Йодан Э. Структурное проектирование и конструирование программ: Пер. с англ. М.: Мир, 1979. 415 с.

9. Калядин A. Windows NT для встраиваемых приложений // Открытые системы. 1998, № 2. с. 15-19.

Ю.Камынин С. С. Работы по машинному видению / Под ред. Д.Е.Охоцимского. - М., 1988.- 222 с. (Препринт ИПМ им. М.В.Келдыша АН СССР).

П.Кинг A. Windows 95 изнутри: Пер. с англ. СПб: Питер, 1995. 512 с. 1987.

12.Комягин В. Б. 3D Studio. Трехмерная компьютерная мультипликация. М.: ЭКОМ, 1996.416 с.

13.Косарев. Н. Turbo Vision // Монитор. 1992, № 2. с. 15-20.

14.Кристиан К. Новое поколение компиляторов фирмы Borland // PC Magazine/Russian Edition. 1992, № 2. с. 9-11.

15.Линдли К. Практическая обработка изображений на языке Си: Пер. с англ. М.: Мир, 1996. 512 с.

16.Мартин Д. Программирования для вычислительных систем реального времени: Пер. с англ. М.: Наука, 1975. 360 с.

17.Матчо Д., Фолкнер Д. Delphi: Пер. с англ. М.: БИНОМ, 1995. 464 с.

18.Пилипенко О. П. Формат PCX. Графические образы в прикладных программах // Журнал д-ра Добба. 1991, № 4. с. 38-42.

19. Проблемы машинного видения в робототехнике / Под ред. Д.Е.Охоцимского. - М., 1981.- 245 с. (Препринт ИПМ им. М.В.Келдыша АН СССР).

20.Программное обеспечение системы технического зрения для автоматического контроля правильности функционирования индикаторов на жидких кристаллах / Д.Е.Охоцимский, Е.И.Кугушев, С.М.Соколов, А.С.Трескунов. М., 1989.-26 с. (Препринт ИПМ им. М.В.Келдыша АН СССР; № 69).

21. Программное обеспечение системы технического зрения. / Д.Е.Охоцимский, Е.И.Кугушев, С.С.Камынин. М., 1986. 26 с. (Препринт ИПМ им. М.В.Келдыша АН СССР; № 100).

22.Программное обеспечение системы технического зрения. Бинаризация полутоновых изображений. / Д.Е.Охоцимский, И.М.Бродская, С.С.Камынин, Е.И.Кугушев. М., 1987.-24 с. (Препринт ИПМ им. М.В.Келдыша АН СССР; № 195).

23.Проектирование пользовательского интерфейса на персональных компьютерах. Стандарт фирмы IBM. / Под ред. М.Дадашова. - Вильнюс: DBS, 1992. 186 с.

24.Просиз Д., Управление памятью в DOS 5: Пер. с англ. М.:Мир, 1994. 240 с.

25.Прэтт У. Цифровая обработка изображений: Пер. с англ. М.: Мир, 1982. Кн. 1.310 с. Кн. 2.790 с.

26.Розенфельд А. Распознавание и обработка изображений с помощью вычислительных машин. М.: Мир, 1972. 230 с.

27.Рязанцев О. ТВ на экране монитора // КомпьютерПресс. 1998, № 4. с.197-207.

28.СБИС для распознавания образов и обработки изображений. / Под ред. К. Фу; Пер. с англ.: под ред. В. А. Абрамова. М.: Мир, 1988. 248 с.

29. Сван Т. Программирование для Windows в Borland С++ : Пер. с англ. М.: БИНОМ, 1995. 480 с.

30. Сван Т. Программирование для Windows в Borland С++: Пер. с англ. М.: БИНОМ, 1995.480 с.

31.Системы технического зрения: Справочник / В.И. Сырямкин, B.C. Титов, Ю.Г. Якушенков и др. // Под общей редакцией В.И. Сырямкина, B.C. Титова. Томск: МГП "РАСКО", 1992. 367 с.

32.Соколов С. М., Богуславский А. А. Графический интеллектуальный интерфейс для информационной системы мобильного робота, функционирующего в супервизорном и автономном режимах: Тезисы докл. Всероссийской с участием стран СНГ конференции "Роботы для экстремальных сред". Санкт-Петербург, апрель 1996. с. 112-114.

33.Соколов С. М., Богуславский А. А. Графический интеллектуальный интерфейс для СТЗ, функционирующих в супервизорном и автономном режимах: Тезисы, докл. 2-й Всероссийской с участием стран СНГ конференции "Распознавание образов и анализ изображений: новые информационные технологии". Ульяновск, апрель 1995. с. 53-54.

34.Соколов С.М. Методы повышения эффективности систем компьютерного зрения. Диссертация в форме научного доклада на соискание ученой степени д.ф.-м.н. М., 1993, 52 с.

35.Соколов С.М. Система обработки фотометрической информации в комплексе интегрального робота. Диссертация на соискание ученой степени канд. физико-математических наук. М., 1980. 154 с.

36.Страуструп Б. Язык программирования С++: Пер. с англ. Киев: ДиаСофт, 1993. Ч. 1.264 с. 4.2. 290 с.

37.Трифонов С. Ресурсы, X Window и ООП // Открытые системы. 1994, лето. с.67-72.

38.Хендерсон К., Delphi 3 и системы клиент/сервер. Руководство разработчика. К., Диалектика, 1997, 736 с.

39.Шикин Е. В, Боресков А. В. Компьютерная графика. Динамика, реалистические изображения. М.: "Диалог-МИФИ", 1995. 288 с.

40.Янг С. Алгоритмические языки реального времени: конструирование и разработка: Пер. с англ. М.: Мир, 1985. 400 с.

41.Яншин В., Калинин Г. Обработка изображений на языке Си для IBM PC: Алгоритмы и программы. М.: Мир, 1994. 241 с.

42. Adobe Premiere 4.0. User Guide. Adobe Systems Inc., 1994. 321 p.

43 .Amat J., Codina J., Cufi X., Puigmal J. Vision Based Control of Underwater Vehicle for Long Duration Observations. // Proc. IEEE Intern. Conf on Advanced Robotics. Sant Feliu de Guixols, Catalonia, Spain, September 20-22, 1995. p. 273 -277.

44.Asche R. R. The Little Device Driver Writer. Microsoft Software Developer Network, 1994. 26 pg.

45.Casadei C., Fiorini P., Martelli S., Montanari M., Morri A. A PC-based Workstation for Robotic Discectomy. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.1001-1006.

46. Chung J., Yang H. Fast and Effective Multiple Moving Targets Tracking Method for Mobile Robot. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2645 - 2650.

47.Eklund M. W., Ravichandran G., Trivedi M. M., Marapane S. B. Adaptive Visual Tracking Algorithm and Real-Time Implementation. // Proc. IEEE Intern.

Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2657 -2662.

48.Elnagar A., Basu A. Robust Detection of Moving Objects by a Moving Observer on Planar Surfaces. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2347 - 2352.

49.Harris S., Davies B., Efstathiou J., Razban A., Leung D. Vision Based Feedback for a Robotic Cell. // Proc. IEEE Intern. Conf on Advanced Robotics. Sant Feliu de Guixols, Catalonia, Spain, September 20-22, 1995. p. 125 - 131.

50.Huber E., Kortenkamp D. Using Stereo Vision to Pursue Moving Agents with a Mobile Robot. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2340 - 2346.

51.Ioki M., Wakabayashi Y. Design and Preliminary Test Results of Advanced Space Tele-Robotics Testbed. // Proc. IEEE Intern. Conf on Advanced Robotics. Sant Feliu de Guixols, Catalonia, Spain, September 20-22, 1995. p. 317 -323.

52.Kiy K. I., Klimontovich A. V., Buivolov G. A. Vision-Based System for Road Following in Real Time. // Proc. IEEE Intern. Conf on Advanced Robotics. Sant Feliu de Guixols, Catalonia, Spain, September 20-22, 1995. p.l 15 - 124.

53.Kosaka A., Nakazawa G. Vision-Based Motion Tracking of Rigid Objects Using Prediction of Uncertainties. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27,1995. p. 2637 - 2644.

54.Kruse E., Wahl F. M. Camera-based Observation of Obstacle Motions to Derive Statistical Data for Mobile Robot Motion Planning. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p. 662-667.

55.MIL-Lite version 3.1. User Guide and Command Reference. Matrox Electronic Systems Ltd., 1996. 350 pg.

56.Mouaddib E., Pegard C. Localization Using Omnidirectional Vision. // Proc. IEEE Intern. Conf on Advanced Robotics. Sant Feliu de Guixols, Catalonia, Spain, September 20-22, 1995. p. 133 - 138.

57.Myler H., Weeks A. The Pocket Handbook of Imaging Processing Algorithms in C. New Jersey: PTR Prentice Hall, 1993. 303 pg.

58.Nakai H., Taniguchi Y., Uenohara M. et al. A Volleyball Playing Robot. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.1083-1089.

59.Natonek E. Fast range image segmentation for Servicing Robots. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p. 406-411.

60.0khotsimsky D. E., Platonov A. K., Belousov I. R., Boguslavsky A. A., Borovin G. K., Yemeljyanov S. N., Komarov M. M., Sazonov V. V., Sokolov S. M. Vision System for Automatic Capturing a Moving Object by the Robot Manipulator. // Proc. of the Intern, conf. on Intelligent Robots and Systems (IROS'97). Grenoble, France, Sept. 7-11, 1997. p.1073-1079.

61.0khotsimsky D. E., Platonov A. K., Belousov I. R., Boguslavsky A. A., Eme-lianov S. N., Sazonov V. V., Sokolov S. M. Real Time Hand-Eye System: Interaction with Moving Objects. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.1683-1688.

62.0khotsimsky D. E., Platonov A. K., Belousov I. R., Boguslavsky A. A., Eme-lianov S. N., Sazonov V. V., Sokolov S. M. Dynamic Model Approach for Automatic Robot Interaction with Fast Mobile Objects. // Proc. of the Workshop "Adaptive Robots & General System Logical Theory". Moscow-S.Petersburg, Brescia: Sensorika, 1998, 175p.,p.41 -46.

63.Park S. W., Lee C. S. Very Fast Visual Tracking Algorithm Using Scanlines. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 2127, 1995. p.2651 -2656.

64.Petzold C. Programming Windows. Redmond: Microsoft Press, 1990. 945 pg.

65.Saito H., Sugiura H., Yuta S. Development of Autonomous Dump Trucks System (HIVACS) in Heavy Construction sites. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2524 - 2529.

66.Sanz P.J., del Pobil A.P., Iñesta J.M., Recatalá G. Vision-Guided Grasping of Unknown Objects for Servicing Robots. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.3018-3025.

67.Schneider S.A., Chen V.W., Pardo-Castellote G. The ControlShell Component-Based Real-Time Programming System. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21 -27, 1995. p. 23 81 -23 88.

68.Sokolov S. M., Boguslavsky A. A. Real time vision systems based on PC. // Proc. 13th ISPE/IEE Intern. Conf. on CAD/CAM, Robotics & Factories of the Future'97. Universidad Technológica de Pereira, Columbia. 1997. p. 1167-1173.

69. Windows Interface Guidelines for Software Design. Redmond: Microsoft Press, 1995.475 pg.

70. Xiao D., Ghosh B.K., Xi N., Tarn TJ. Intelligent Robotic Manipulation with Hybrid Position/Force Control in an Uncalibrated Workspace. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.1671-1676.

71.Yagi Y., Sato K., Yachida M. Evaluating Effectivity of Map Generation by Tracking Vertical Edges in Omnidirectional Image Sequence. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p. 2334-2339.

72.Yamamoto S., Mae Y., Shirai Y., Miura J. Realtime Multiple Object Tracking Based on Optical Flows. // Proc. IEEE Intern. Conf. on Robotics and Automation. Nagoya, Japan, May 21-27, 1995. p.2328 -2333.

73.Yamane T., Shirai Y., Miura J. Person Tracking by Integrating Optical Flow and Uniform Brightness Regions. // Proc. IEEE Intern. Conf on Robotics & Automation. Leuven, Belgium. May 16-20, 1998. p.3267-3272.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.