Содержание к диссертации
Введение
ГЛАВА I. Программное обеспечение комплекса 17
1.1. Архитектура программного обеспечения . 18
1.2. Редактирование текстовой информации (EDIT) . 26
1.3. Средства отладки программ (DEBUG) . ЗІ
1.4. Поддержка диалогового режима (DIALOG) . 33
1.5. Программное обеспечение устройств семейства "Зенит" 36
1.6. База данных цифровых изображений 48
1.7. Коммуникационные средства УМСО 54
1.8. Программное обеспечение полутоновых дисплеев 58
1.9. Выводы 63
ГЛАВА II . Специализированные вычислители 65
2.1. Программное обеспечение корреляционного спецпроцессора 66
2.2. Программный вычислитель геометрических преобразований 68
2.3. Морфологический процессор 70
2.4. Выводы 86
ГЛАВА III. Прикладные программные комплексы 88
3.1. Геометрическое совмещение изображений . 89
3.2. Автоматизированный комплекс определения параллаксов звезд 108
3.3. Отслеживание изображений спектрограммСолнца 115
3.4. Выводы 118
Заключение 121
Жтература 123
Приложение 132
- Архитектура программного обеспечения
- Программное обеспечение устройств семейства "Зенит"
- Морфологический процессор
- Геометрическое совмещение изображений
Введение к работе
Обработка информации, представленной в виде изображений, в настоящее время получила широкое распространение в научных исследованиях, промышленности, медицине, а также в некоторых других областях деятельности, где имеют дело с фотографиями. Это связано с возможностью регистрации при помощи специальной аппаратуры больших объемов информации (десятки и сотни Гбайт) с высокой точностью. Примерами могут служить анализ изображений, полученных электронными микроскопами, классификация и подсчет объектов, деятельность, связанная с неразрушающим контролем в производстве, комплексная диагностика в медицине, цифровая передача изображений с космических средств, коррекция получаемых таким "образом изображений, исследования Земли и других небесных объектов из космоса, составление карт по аэрофотоснимкам и т.п. Интенсивное развитие космических средств регистрации изображений в большом объеме поставляющих оперативные данные о процессах и явлениях, происходящих на Земле, а также возрастающая потребность основных отраслей промышленности в получении своевременной и объективной информации о событиях на Земле и в космосе являются настоятельными факторами создания систем обработки изображений.
Цифровая обработка изображений в настоящее время является самостоятельной быстроразвивающейся областью науки и техники /I/. За последнее десятилетие область применения цифровой обработки изображений значительно расширилась за счет повышения производительности ЭВМ и технических средств обработки. Цифровые системы обработки по гибкости и точности не имеют себе равных, а по быстродействию приближаются к аналоговым. Основная сложность для средств и методов обработки прежде всего заключается в необходимости обработки сверхбольших объемов информации с высоким разрешением. Решение данной проблемы заключается в создании комплексной автоматизации ввода, обработки, хранения, визуализации и вывода изображений, т.е. в создании автоматизированных систем цифровой обработки изображений (АСОИз). Их создание позволит сократить разрыв между эффективными методами получения изображений и рутинными, ручными способами их обработки.
В настоящее время за рубежом и в нашей стране созданы ряд АСОИз, предназначенных для научно-исследовательских целей /2/. Разработка суперЭВМ типа CRAI1 или SiCAR-100 /3/, выполняющих сотни миллионов арифметических операций в секунду (во многом обусловленная широким производством быстродействующей микроэлектроники), позволила снабжать ими уже десять лет назад крупные наземные комплексы приема и обработки спутниковой информации. Такие уникальные характеристики достигаются и на мини-ЭВМ, снабженных различными специализированными процессорами. Например, система "PR0PAL-2n (Франция) с управляющей мини-ЭВМ MUERA-15 снабжена спецпроцессором, имеющим 2048 процессорных элементов (для распараллеливания операций) и достигающим производительности в несколько сотен миллионов операций в секунду, или система "PICAP" (Швеция) /4/ со спецпроцессором фильтрации "]?1Р", достигающим производительности 10 основных опер./с. Имеются также серийно выпускаемые системы обработки изображений, например, "Система-101", "Система-500", "Система-70" фирмы I S (International Imaging Systems), США или IBAS (inter- - б - active Image Analysis System) фирмы OPTON, ФРГ /5/. Системы снабжаются такими устройствами ввода-вывода изображений, как широкоизвестные "POTOMATION", "COLORSCAN" фирмы Оптроникс,
США. Близким аналогом "Системы-500" фирмы I S является отечественная система "ТЕЛЕКОМ" с управлением от мини-ЭВМ "Элек-троники-79" и включающая дисплейный процессор "Нейрон Н852" -аналог "Системы-70". (Специализированный дисплейный процессор. Меркулов А.Н. и др. - Техника средств связи. Сер. Техника телевидения, 1984, вып. 3.)
В качестве эксплуатируемых систем видеообработки можно привести систему обработки изображений в Лаборатории реактивного движения (Jet Propulsion Laboratory) Калифорнийского технологического института /6/, систему интерактивной обработки изображений Инженерно-топографических лабораторий Армии США /7/. В нашей стране хорошо известны, например, следующие действующие системы. Специализированная диалоговая система обработки изображений, созданная в Институте проблем передачи информации АН СССР, предназначена как для решения практических задач, так и для постановки научных экспериментов /8/. Здесь проводятся исследования методов кодирования, улучшения и препарирования изображений, эксперименты в области обработки волновых полей, цифровой голографии и восстановления интерферограмм и практические работы по обработке космических снимков, синтезу фильтров для оптических систем обработки изображений и т.д. /9-14/. Центр обработки геоинформации Вычислительного центра Сибирского отделения АН СССР предназначен /15/ для проведения фундаментальных исследований в области развития математических методов обработки видеоинформации, для обеспечения работ по исследованию геологического строения земной поверхности, для решения системных вопросов создания наземных комплексов обработки спутниковой информации и для эксплуатации аппаратно-программных средств обработки видеоинформации в интересах НИИ СО АН СССР и других ведомств /16-24/. Институтом космических исследований АН СССР проводятся исследования в области изучения природных ресурсов Земли с помощью средств космической техники. (Многозональные аэрокосмические съемки Земли. - М., Наука, 1981.) Здесь, в частности, разработан Самостоятельный Видео-Информационный Терминал (СВИТ) - АСОИз, предназначенная для использования её рядовыми потребителями в различных отраслях народного хозяйства (СВИТ / Чесалин А.С. и др. - М.: изд. ИКИ АН СССР, препринт № 721). Проблемами, связанными с обработкой изображений, занимаются также в Госцентре "Природа", ГосНИИЦИПРе и других организациях страны.
В общем случае под цифровой обработкой изображений понимается /25/ преобразование двумерных функций, заданных на дискретной решетке, с целью улучшения качества, восстановления изображений и выделения количественной информации об объектах и явлениях. Двумерность исходной информации и ограничение на время получения конечных результатов анализа выдвигают ряд требований к функциональным возможностям АСОИз : наличие в системе функционально полного набора программно-аппаратных компонент ввода-вывода, хранения, обработки и оперативной визуализации изображений; оперативность представления изображений цифровыми массивами в локальной памяти системы - видеобуфере; высокая скорость выполнения операций над изображениями; наличие интерактивного режима в процессе обработки, необходимого как для ис- пользования эвристических алгоритмов, так и для использования интеллекта и опыта человека.
Для выполнения этих требований необходимы современные ЭВМ, оснащенные большим объемом оперативной памяти и дисковых носителей (сотни Мбайт). Кроме этого необходимо иметь: устройства ввода-вывода и визуализации полутоновых изображений широкого класса; видеобуфера, объемом до десятков Мбайт; спецпроцессоры, реализующие типовые преобразования изображений, а также разрабатывать специализированное математическое обеспечение, ориентированное на законченный цикл обработки изображений. В целях повышения эффективности АСОИз за счет использования спецпроцессоров очень важно предварительно разрабатывать программные вычислители, моделируемые на ЭВМ для выявления и отработки типовых, операций и алгоритмов, которые затем будут воплощены аппаратно.
Одно из основных требований к гибким многофункциональным АСОИз - наличие программно-аппаратных компонент ввода, перекрывающих по своим характеристикам весь диапазон возможных представлений исходной информации, а в зависимости от условий их конкретного применения - дифференциация этих компонент на уникальные прецизионные и массовые со средним разрешением. Исследования в этой области проводятся в Институте автоматики и электрометрии (ИАиЭ) СО АН СССР свыше 10 лет. В результате созданы аппаратура и программное обеспечение устройств ввода изображений видимого диапазона, характеристики и функциональные возможности (точность, скорость ввода, метод доступа, рабочее поле и т.п.) которых соответствуют потребностям, возникающим при решении весьма широкого класса задач. Примерами являются "Зенит-2", "Зенит-К" и "Ромб".
Другим существенным требованием к АСОИз является наличие программно-аппаратных компонент оперативной визуализации и вывода полутоновых изображений. Развитые дисплейные системы, позволяющие работать в интерактивном режиме с большими массивами видеоданных, необходимы как при выполнении эвристических алгоритмов, так и для промежуточной визуализации при отладке самих алгоритмов обработки изображений. Результаты анализа помимо численных и статистических характеристик, как правило, также представляют собой изображения (графические или полутоновые), подлежащие документированию.
С учетом перечисленных требований в ИАиЭ СО АН СССР создана АСОИз (рис. I) - комплекс цифровой обработки изображений (КЦОИ) /26-32/. Его основу составляет прецизионное устройство ввода и обработки изображений "Зенит-2" и его аппаратное окружение, управляемые мини-ЭВМ ЕС-І0І0 (рис. 2). Устройство "Зенит-2", разработанное в ИАиЭ, состоит из сканирующей системы с произвольным позиционированием луча электронно-лучевой трубки и плоского стола с подвижной кареткой и производит 8-разрядную оцифровку оптической плотности в диапазоне 0 - 2D изображения о размером до 420x420 мм с точностью, позиционирования I мкм и с аппаратным временем считывания в одной точке 10 мкс. Прямой доступ к элементам изображения позволяет проводить прецизионную обработку изображений с использованием гибких алгоритмов, обращающихся к изображению как к специализированной внешней "памяти", объемом до нескольких Гбайт : в подходящих случаях отпадает необходимость в предварительной записи изображения на внешний носитель (требующей значительного времени и порой неоправданных размеров дисковой памяти или магнитных лент), и, - 10 -Минишина ЕС-І0І0
ЭВМ EC-IOIO
НМД ЕС-5060
НМД ЕС-5052
0М0 СМ-5300
Магистраль КАМАК устройство корреля- анало- черно-белые, цветные морфоло-пподя и циоиимй гопый полутоновые растровые гичоский обработки спсцпро- ШМІІ дисплеи с автономной спецпро-изображений цессор дисплей памятью на кадр цессор
Магистраль УМСО
ЭВМ М-4030 геометрический программнмй вычислитель
Планшет КАРАТ на ЭВМ ЕС-І0І0
Рис. I. Комплекс цифровой обработки изображений -II--
Рис. 2* Ввд комплекса
Рис. 7. Отслеживание береговой линии (белые точки) кроме этого, в процессе обработки существенно сокращаются вре:-. менные затраты на поиск значимой информации на внешнем носителе. Ярким примером может служить обработка астронегативов, где процент полезной информации (отношение площадей изображений звезд и пластинки) очень низок и требуется предельная точность измерений. КЦОИ содержит полутоновые растровые дисплеи, специализированные процессоры, а через унифицированную магистральную систему обмена данными (УМСО) связь с фотопостроителем, графопостроителем и другими ЭВМ.
В целях повышения производительности на комплексе создан морфологический процессор (сначала смоделированный программно). Математическая морфология возникла /34,35/ в 1964 году в исследованиях Ж.Матерона и Дж. Серра. В период с 1964 по 1968 годов были созданы теоретические понятия (преобразование сравнения, эрозия, пополнение, булевские модели) и первый прототип текстурного анализатора. Идеи, касающиеся либо теории, либо практики предлагались и в других местах (см., например, /36/), однако только в Фонтенбло (Франция) сознательно и координированно осуществлялось их совместное развитие. Именно здесь проблема анализа пространственных геометрических объектов привела Мате-рона и его сотрудников по центру математической морфологии при высшей национальной горной школе к параллельному развитию надлежащей вычислительной техники и согласованной с ней вероятностно-статистической теории. Математическая морфология опирается на несколько общих принципов, раскрывает структуру объектов как множеств в евклидовом пространстве и выполняет широкий класс операций над изображениями. Морфологические методы используются в структурном анализе материалов (оценки минералов в место- - ІЗ - рождениях, микротрещинах в металлах), классификации объектов по форме (изучение гистологии мозга, определение раковых клеток в мазках, распознавание рукописей), статистическом анализе точечных полей (динамика развития леса) и т.д. Необходимость конструирования устройств, легко осуществляющих морфологические операции, появилась в ранних работах Серра. Это должен был быть эквивалент ЭВМ для геометрии, где основные алгебраические операции заменены на преобразование сравнения и его производные. Серия таких устройств была создана в 70-е годы и издается фирмой LEISZ под названием текстурных анализаторов. Конспект-лекций Серра, вышедший в 1981 году, послужил методологической основой созданию в ИАиЭ в том же году программной реализации морфологического спецпроцессора.
Главная трудность организации оперативной, т.е. критичной ко времени обработки изображений на АСОИз, состоит в том, что использование для этих целей традиционных структур, базирующихся на высокопроизводительных универсальных ЭВМ, является малоэффективным: слишком велик объем перерабатываемой информации для заданного отрезка времени. В то же время многочисленные характерные операции над изображениями могут быть поручены специализированным арифметическим процессорам, способным обеспечить резкое увеличение скорости вычислений по сравнению с ЭВМ. Локальные операции над изображениями характеризуются тем, что результат преобразования элемента в данной точке зависит от оптической плотности как в ней, так и в некоторой её окрестности. В настоящее время на практике наиболее широко применяются линейные локальные преобразования, предназначенные для решения задач цифровой фильтрации изображения, поиска корреляции эле- ментов изображения и т.п. В созданном в ИАиЭ корреляционном спецпроцессоре достигнута производительность ~> 2 млн. опер./с.
Одна из основных проблем создания АСОИз - разработка математического обеспечения, позволяющего эффективно использовать возможности, заложенные в аппаратуре. Цель диссертационной работы - исследование принципов организации программного обеспечения АСОИз для создания конкретных проблемно-ориентированных комплексов прикладных программ.
Научная новизна. I. Предложена архитектура программного обеспечения КЦОИ, реализующая рациональное взаимодействие компонент комплекса и предоставляющая: эффективные средства разработки прикладных программ, диалоговый режим работы, тестирование и диагностику аппаратуры комплекса.
Предложен принцип программной поддержки режима прямого доступа к элементам изображения, позволяющий прикладным программам работать с изображением как с двумерным массивом объемом в несколько Гбайт, что устраняет необходимость предварительной перезаписи изображений.
Предложена техника программной реализации морфологического процессора, который позволил применять на практике методы математической морфологии.
Предложено новое решение задачи автоматизированной обработки астронегативов, не только устранившее процесс ручного измерения, но и повысившее точность и существенно сократившее время измерений.
Автору принадлежит: обоснование архитектуры, организация составных компонент и создание программного обеспечения КЦОИ на базе устройства "Зенит-2" и его аппаратного окружения; раз- работка и реализация на ЭВМ морфологического и геометрического специализированных вычислителей; создание программного обеспечения к аппаратным корреляционному и морфологическому спецпроцессорам. В разработке специализированного математического обеспечения проблемно-ориентированных комплексов программ автор являлся ответственным исполнителем работ по созданию астрономического комплекса для определения параллаксов звезд и отслеживания спектральных линий Солнца, выполненных совместно с Главной астрономической обсерваторией (ГАО) АН СССР, и по совместному анализу аэрокосмических снимков и данных геолого-геофизической разведки Широтного Приобья, выполненных совместно с Западно-Сибирским научно-исследовательским геологоразведочным нефтяным институтом, г. Тюмень.
Материалы работы докладывались автором на трех всесоюзных и трех международных конференциях. По теме диссертационной работы опубликовано II печатных работ.
На защиту выносятся: принципы организации архитектуры программного обеспечения КЦОИ и реализация его программных компонент; методика программной реализации морфологического процессора, выполняющего все основные операции математической морфологии; метод решения задачи автоматизированной обработки астронегативов.
В первой главе приведено описание архитектуры программного обеспечения КЦОИ и реализации его программных компонент. Вторая глава посвящена математическому обеспечению корреляционного и морфологического спецпроцессоров и программному геометрическому вычислителю. В третьей главе приводится решение трех конкретных задач: геометрическое совмещение двух изображений, определение параллаксов звезд и отслеживание изображений спектрограмм Солнца. Заключение содержит основные результаты работы. Приложение состоит из копий актов о внедрении программного обеспечения.
Архитектура программного обеспечения
Архитектура математического обеспечения ЩОИ имеет иерархическую трехуровневую структуру. Базовые программные модули нижнего уровня (системное программное обеспечение), написанные, как правило, на языке ассемблера или на языке среднего уровня PER-10 , занимаются обработкой операций ввода-вывода либо простейшими (с минимальными вычислениями) операциями обработки информации. Некоторые из них оформлены в виде хандлеров нестандартных внешних устройств монитора дисковой операционной системы, другие подгружаются в исполняемую программу из библиотек при сборке.
Программные модули среднего уровня (специализированное программное обеспечение), обычно написанные на языке Фортран и осуществляющие предварительную обработку поступающих данных, выполнены в виде законченных функциональных операций, использующих модули нижнего уровня.
Программные модули нижнего и среднего уровней предназначе - 19 ны для создания проблемных комплексов открытого типа (с целью расширения и модификации их компонент). Эти прикладные программы работают, как правило, в диалоговом режиме и реализуют конкретный алгоритм обработки изображений. В состав прикладных программ входят также диагностические мониторные системы, предназначенные для настройки и отладки различных блоков управления устройства "Зенит-2", спецпроцессоров и пр. Среди них имеется множество сервисных программ, осуществляющих многочисленные операции ввода-вывода, получение различных геометрических, статистических и других параметров с изображений и т.п.
Хранение и сборка. Подготовку и редактирование текстовой информации полностью осуществляет текстовый редактор (см. 1.2). Тексты программ хранятся в файлах (символьного типа) системы управления файлами жз-ю, физически располагаемых либо на мини-дисках с фиксированными головками ЕС-5060 (2 х 0,8 Мбайт), либо на дисках со сменными пакетами ЕС-5052 (4 х 7,5 Мбайт). В целях систематизации и удобства пользования все системные программы (программы штатного математического обеспечения именуются стандартными) написаны таким образом, что имя текстового модуля совпадает с именем первой секции (если это ассемблерный модуль или модуль, написанный на РШ-Ю) либо с именем первой подпрограммы (если это фортрановский модуль). После трансляции символьной программы, содержащей, вообще говоря, несколько секций или подпрограмм, получается объектный модуль, имеющий имя, совпадающее с именем первой секции или подпрограммы, и помещается в одну из библиотек дисковой операционной системы ( Sb для специализированных модулей среднего уровня, иь - для системных модулей нижнего уровня). При помощи системной программы вів имя объектного модуля впоследствии может быть изменено, но не могут быть изменены имена самих секций или подпрограмм ... Вызов одиночных секций не представляет затруднений при сборке исполняемых программ редактором связей. Если же объектный модуль содержит несколько секций,и из основной программы вызываются только секции, отличные от первой, то редактор связей не сможет найти их в библиотеках. Чтобы избежать такие реальные ситуации, в описываемых модулях первая секция служит для подгрузки всего модуля и содержит либо операции фиксирования переменных (см. ниже) и инициирования переменных и аппаратуры, либо просто возврат в вызывающий модуль. Вызов инициирующей секции достаточно производить один раз (в начале программы). Если исполняемая программа имеет оверлейную структуру» то вызов подобных секций нужно помещать в ствол программы (однократный вызов) или в начало одной из параллельных ветвей (автоматический многократный вызов при очередной загрузке ветви в оперативную память).
Для увеличения объема основных зон системного мини-диска -ЕР (исполняемые программы), si и иь написаны системные программы записи (SAVE) и считывания (RESTOR) модулей на сменные пакеты дисков в двоичный файл системы" ЖЗ-Ю.
Фиксирование переменных. Поясним термин "фиксирование переменных", широко используемый в описываемом программном обеспечении. Очень часто во внутреннем цикле исполняемой фортран-программы стоит вызов ассемблерной подпрограммы с параметрами. В том случае, когда время исполнения всего цикла вместе с подпрограммой сравнимо со временем, затрачиваемым на передачу па - 21 раметров, а не превышает его значительно, или этот цикл является основным циклом, на который тратится общее время исполнения программы, возникает идея "вынести за цикл" процедуру передачи параметров. Одним из стандартных решений в таком случае является обращение к общему блоку (COMMON) . Еще больший эффект дает фиксирование переменных. Для этого из подпрограммы передача параметров выносится в инициирующую секцию данного ассемблерного модуля (т.е. в вызове инициирующей секции модуля указываются имена переменных, массивов для входных и выходных данных, с которыми будет работать подпрограмма), а вызов самой подпрограммы будет без параметров. Входные данные присваиваются до вызова, а результат перед возвратом, так же как при работе с общим блоком. Инициирующая секция может быть одной на все имеющиеся в модуле секции, или модуль может быть логически разделен на несколько частей, каждая из которых будет начинаться с локального сегмента данных (U)S) со своей инициирующей секцией и содержать несколько локальных программных сегментов (LPS) - подпрограмм, имеющих один и тот же LDS , в котором и будут находиться общие переменные.
Программное обеспечение устройств семейства "Зенит"
Аппаратура управления прецизионным устройством .ввода и обработки изображений "Зенит-2" /45/ содержит интерфейс ЕС-І0І0 и два КАМАК-крейта с контроллерами. В одном крейте размещено управление подвижной кареткой. Занимая 22 позиции, оно состоит из двух комплектов модулей адаптера, управления электродвигателями и абсолютными координатами. Другой крейт в II позициях содержит 8 модулей управления сканирующей системой (сканером). Сюда входят АЦП, аналоговое запоминающее устройство, 3 генератора точек, 2 генератора векторов и модуль цифровой коррекции сканера. (Аппаратура управления устройством "Зенит-К" отличается КАМАК-модулями системы перемещения каретки и занимает 20 позиций). Система ввода, обработки и вывода изображений КЦОИ (см. рис. I) содержит также аппаратуру связи со специализированными устройствами общего пользования (см. УМСО п. 1.7). и.с другими ЭВМ, аппаратуру визуализации изображений (см. полутоновые дисплеи п. 1.8) и спецпроцессоры (гл. II). Устройства "Зенит" сочетают в себе электромагнитное управление положением светового луча ЭДТ с (оптико-)электромеханической системой перемещения каретки с закрепленным в ней изображением. Сканер на ЭЛТ высокого разрешения с цифровым управлением от ЭВМ /46/ обеспечивает позиционирование луча в любую из 4096x4096 точек в произвольном направлении и 8-разрядную оцифровку оптической плотности в диапазоне 0-2D за 10 мкс на точку. Размер минимального шага в плоскости изображения (от 0,75 мкм до 3 мкм) и размер всего "окна" сканера (от 3x3 шг до 12x12 мм) зависит от кратности сменных линз. Таким образом обеспечивается прямой доступ к фрагменту изображения. Прямой доступ ко всему изображению обеспечивает для "Зенита-2" электромеханический привод с оптическим лазерным измерителем перемещения, позволяющий осуществлять движение каретки в произвольном направлении, а также производить отсчет её координат с дискретностью 0,32 мкм. Размер изображения может достигать 420x420 мм2. Дискрет перемещения электромеханического привода "Зенита-К" равен I мкм, а максимальный размер обрабатываемого изображения 50x50 мм .
Объединение сканера и системы перемещения в логическое целое при помощи описываемого программного обеспечения образует три главных достоинства этих прецизионных устройств: прямой доступ к произвольной точке всего изображения, высокое разрешение на больших размерах и высокая скорость обработки..........
Системы координат устройства "Зенит-2" можно представить следующим образом (рис. 4). Несмотря на то, что перемещается подвижная каретка (ПК), а не сканер, удобнее иметь дело с системой координат, связанной с изображением, закрепленным в кассете подвижной каретки. Пусть (xSt i/0 ) - произвольная точка в системе координат плоскости изображения сканера (Xs Ys), тогда связь с системой координат подвижной каретки (X,, У, ) будет выражена следующим образом: xt= яе0 + sfS ; г/г-Уд+st-ys. (І) где {Х у Ч$) кооРДинаты этой точки в системе (X$f Y$) , (OCQ7 у ) - координаты начала отсчета системы координат сканера, si - коэффициент преобразования единиц измерения сканера в единицы измерения ПК. Разумеется, описанное представление идеализировано. Криволинейность направляющих подвижной каретки составляет + 2 мкм на всей длине, а их неортогональность 3 10 рад /47/. Неортогональность в практических задачах не учитывается, а криволинейность учитывается в задачах, требующих предельную точность вычислений. Рис. 4. Система координат устройства "Зенит-2" На перемещение луча ЭЛТ действуют многочисленные факторы, искажающие соответствие между заданными и реальными координатами светового пятна в плоскости изображения. (Это.искажение проекционной оптики, дисторсии ... электронно-оптической системы, погрешности генераторов отклоняющих токов, нестабильность питающих напряжений и т.д. /46/). Таким образом, система координат скана.также искажена. Систематическая составляющая этих координатных ошибок хорошо описывается /48/ аппроксимирующими полиномами
Морфологический процессор
Большинство технологий анализа изображений обращаются, по крайней мере частично, к цифровым средствам как для хранения, так и для работы с ними. Таким образом, анализируемое изображение может быть конечным числом величин, которые регулярно представлены в пространстве. Они могут соответствовать точкам дискретного шаблона в виде вершин прямоугольной решетки или соприкасающихся элементов мозаики. В этом смысле возникают проблемы создания цифровой морфологии и адаптации на нее евклидовой морфологии. Для перехода к цифровым методам не достаточно заменить пространственную фигуру мозаикой точек. Математическая морфология определяет описанные понятия, а также понятия поворотов, растяжения, расстояния, непрерывности и т.п. на мозаике, в частности на прямоугольной и на гексагональной. Моделирование морфологического процессора на ЕС-І0І0. В 1981 году был разработан и реализован программный специализированный процессор, названный морфологическим /62/. Методологической основой процессора послужили принципы математической морфологии, изложенные в /61/. Формат данных. Для цифрового представления изображений была выбрана гексагональная мозаика. В этом случае каждая точка (кроме граничных) имеет шесть соседей (рис. 14). Программное обеспечение устройств семейства "Зенит" позволяет осуществлять такой ввод изображений. В общем случае гексагональное поле получается из изображения, разложенного по строкам: из первой строки берутся только четные точки, следующая строка пропускается, из третьей берутся только нечетные, четвертая, пропускается, из пятой - снова четные точки и т.д. Для обеспечения правильного "гексагонального соседства" в рабочем бу - 76 фере последовательные строки отличаются друг от друга сдвигом (рис. 15).
Процессор работает с бинарными изображениями, которые получаются из полутоновых заданием порогового уровня яркости. Процессор имеет основной рабочий буфер, состоящий из 8 бинарных плоскостей размером 128x128 точек. Морфологические операции производятся над содержимым этих плоскостей, и результат помещается также в одну из этих бинарных плоскостей. В одном байте рабочего буфера хранятся биты различных плоскостей с одинаковыми координатами. Одна и та же операция производится над каждой точкой исходной плоскости. Значение морфологической операции в этой центральной точке, зависящее от содержимого ("О" или "I") в ней и в её шести ближайших соседях, помещается в соответствующую точку результирующей плоскости.
Структурным элементом является множество, состоящее из центральной точки и 6 её соседей, которые могут принимать значения "О", "I" или "произвольно", т.е. "О" или "I". "Произвольное" значение в точке, которое обозначается "+", введено с тем, чтобы иметь возможность объединять несколько структурных элементов в единое целое. Некоторые структурные элементы могут быть повернуты на 1-5 позиций по часовой стрелке относи - 77 тельно их исходного положения, остальные при повороте будут иметь те же значения (рис. 16). Каждый структурный элемент имеет свое дополнение, в котором "О" заменяется на n-jnf иці на "О", а точки, имеющие значение "+", остаются без "изменения.
Таким образом общее число 2 =128 структурных элементов сводится к минимуму. Голеем (M.J.E.Golay) /63/ был впервые введен "Голеевский алфавит" (рис". 17) - класс всесторонне исследованных структурных элементов с б соседями на гексагональной решетке. Для определенности элементы названы отдельными буквами или символами. В программном обеспечении обращение к структурным элементам происходит по этим наименованиям.
Структурная организация процессора. Для выполнения морфологической операции в оперативной памяти имеется три очередных строки исходной плоскости и одна результирующая. В зависимости от четности центральной строки формируется та или иная конфигурация структурного элемента (рис. 15), с которым производится сравнение очередной семерки точек. Процессор работает в режиме последовательной построчной обработки бинарной плоскости. Основная морфологическая операция (I) - сравнение - заклю чается в пошаговом просмотре и сравнении точек (вместе с б со седями) исходной плоскости с заданным структурным элементом. Если очередная семерка точек совпадает по значению со струк турным элементом (когда точке приписано значение "произвольно", она считается совпадающей со сравниваемой точкой независимо от того, какое значение той приписано), то в точку результиру ющей плоскости, имеющую те же координаты, что и центральная точ ка сравниваемой семерки исходной плоскости, помещается »»1M , в противном случае - "О". . ". В процессоре реализованы следующие основные логические операции, производимые над содержимым бинарных плоскостей: логическое "и" - объединение множеств, логическое "или" - пересечение множеств, логическое исключающее "или", логическое дополнение и логическое вычитание. Кроме этого имеются следующие вспомогательные операции: "чистка" - заполнение всей плоскости "О" или "1". "окаймление" - занесение "О" или n-jn во все граничные точки; вычисление "площади" - подсчет Количества точек со значением "1" j поиск первой единицы при последовательном просмотре плоскости - результирующая плоскость будет содержать одну и1н, остальные "О". При помощи операции сечения по порогу (thresh) заданием порогового уровня из полутонового изображения получается бинарное.
Геометрическое совмещение изображений
Здесь будут рассмотрены некоторые аспекты задачи совмещения снимков, возникающей в самых различных областях обработки изображений. Пусть, например, имеется два снимка одного и того же участка местности, полученные с отклонением точки съемки или двумя различными датчиками. Требуется таким образом преобразовать один из снимков, чтобы произошло покоординатное совмещение элементов изображения. Преобразование касается масштабов и поворота элементов снимков, неодинаковых вследствии разноудаленно сти точки съемки.
Задача разделяется на два этапа. Первый этап сводится к поиску одноименных фрагментов на снимках. По найденным парам одноименных фрагментов вычисляются коэффициенты требуемого преобразования. Здесь будет описано специализированное математическое обеспечение, при помощи корреляционного спецпроцессора осуществляющее поиск одноименных фрагментов по принципу максимума корреляции. В том случае, когда такой поиск на данной паре снимков не дает хороших результатов из-за большого угла поворота или невозможен в принципе, используется ручной поиск при помощи уже описанной (п. 1.8) программы M0NITC . (Невозможно использовать спецпроцессор, например, в задаче совмещения двух изображений, одно из которых представлено в виде топографической карты двухградационным изображением /67/. После вывода снимка и карты на дисплеи оператор световыми маркерами отыскивает одноименные точки.)
Второй этап заключается в процедуре геометрического преобразования одного снимка к другому (привязка) на основе имеющихся пар точек. Программный геометрический вычислитель позволяет осуществлять как аффинное, так и нелинейное преобразование снимка при помощи полиномов Чебышева до 5 степени. Оба снимка заданы на дискретной решетке (256x256 или 1024x1024 точек), т.е. элементы изображения имеют целочисленные координаты. Предположим, что мы хотим изображение F(X,U) преобразовать к изображению Т( У)) Прямое преобразование дискретной решетки ]?-+- Т не используется потому, что на результирующем изображении будут образовываться пустоты. Поэтому используется обратное преобразование в том смысле, что для каждой дискретной точки результирующего изображения Т отыскивается точка в исходном изображении F . Поскольку её координаты не будут целочисленными, а значит не известна яркость в ней, то возникает проблема аппроксимации её значения. В зависимости от требований к качеству результирующего изображения и ко времени счета можно воспользоваться одной из следующих интерполяционных функций: ступенчатой (по ближайшей точке целочисленной решетки), билинейной (приближение по 4 ближайшим точкам решетки, биквадратичной и бикубической (по 9 и 16 точкам).
Постановка задачи первого этапа. Поиск одноименных фрагментов можно представить как сопоставление с эталоном /I/, когда фиксированный информативный фрагмент одного изображения Т (эталон) сравнивается последовательным скольжением по всему другому изображению F или по его части ("окну"). Если сходство между неизвестным фрагментом и эталоном достаточно велико, то этот фрагмент будет считаться соответствующим эталонному фрагменту. Поскольку полное совпадение эталона с фрагментом изображения в точке ( тп, п ) невозможно, то в качестве меры различия берется среднеквадратичная ошибка, определяемая как частное (энергия эталона) не зависит от координат ( 7п,п) и постоянно. Первое слагаемое (энергия фрагмента) при изменении координат в пределах окна обычно меняется довольно медленно. Делимое - взаимная корреляция изображения и эталона. При совпадении изображения и эталона она должна быть велика, что приводит к малым значениям ошибки D( mtn) Однако величина взаимной корреляции не всегда адекватно отражает отличие изображения от эталона, так как энергия фрагмента зависит от значения координат и может меняться значительно. По этой причине пронормируем ошибку на энергию фрагмента. Опустим единицу, оставшуюся от первого слагаемого. Искомый фрагмент может отличаться от эталона средней яркостью, поэтому будем рассматривать приведенные яркости (за вычетом среднего значения). Извлекая квадратный корень из абсолютной величины оставшегося выражения, получим