Построение векторного описания перекрывающихся кадров изображения

А.А. Дудкин, Д. А. Вершок

ПОСТРОЕНИЕ ВЕКТОРНОГО ОПИСАНИЯ ПЕРЕКРЫВАЮЩИХСЯ КАДРОВ ИЗОБРАЖЕНИЯ

Введение

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

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

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

Зона перекрытия соседних кадров

Рис. 1. Изображение фрагмента слоя металлизации ИС

Сшивка кадров растрового изображения

Сшивка кадров изображений основана на анализе информации в областях перекрытия соседних кадров и определении степени отличия перекрывающихся областей (используется функция расстояния) или их подобия (используются корреляционные функции) [3], при этом используются специальные преобразования для ускорения вычисления корреляции [4, 5].

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

Растровое изображение задано в виде матрицы [Ру] частично перекрывающихся кадров, I = 1...п, ] = 1...т . Пусть неориентированный граф О = (М,Я) задает отношение соседства кадров (такие кадры частично перекрываются), где N -множество вершин графа, поставленных в соответствие кадрам, а Я - множество ребер графа, задающих отношение соседства пары кадров. Для простоты будем рассматривать соседство лишь по вертикали и горизонтали. Тогда для матрицы

[Ру] размерности п х т имеем: N = (п, | / = 1...п, ] = 1...т } - множество вершин,

а Я = {гк | к = 1,2, ..., 2пт-т-п} - множество ребер.

Зададим и - размер перекрытия соседних кадров по горизонтали и вертикали соответственно, а также допустимое отклонение перекрытия по горизонтали Дк и по вертикали Ду.

Определим функцию, характеризующую «схожесть» (степень близости) двух кадров Р1 и Р2 в перекрываемых областях для разных положений (к,у) кадров относительно друг друга, как функцию расстояния ё(РьР2,к,у) в некоторой метрике: евклидовой либо угловой (корреляционная функция сходства), где к и у -смещения кадров изображений относительно заданных Бк и Бу по горизонтали и вертикали соответственно, -Дк < к < Дк, -Ду < у < Ду. Для удобства запишем с1(Р\, Р2, к, у) = й?(г„ к, у), где г1 - дуга графа О, определяющая соседство между кадрами Р1 и Р2.

Наилучшим совмещением двух кадров будем считать такое их расположение, при котором достигается минимум функции ё.

2тп-т-п

Пусть задана целевая функция g = ^ ё(г,-,к,у)^ш1п, характеризующая со-

1=1

вмещение всех кадров заданного изображения.

Задача заключается в нахождении такого расположения кадров, чтобы значение функции g было минимальным.

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

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

Алгоритм сшивки с использованием оценок четверок.

Базовым для алгоритма является алгоритм сшивки четверки кадров.

1. Устанавливаем начальное перекрытие кадров: сшиваемые кадры Р0, Р1, Р2, Р3 располагаются в координатах, обеспечивающих перекрытие, равное ^ и для соседних по горизонтали и по вертикали кадров соответственно.

2. Вычисляем значение функции ё и полагаем ё0рЛ равным этому значению, а координаты кадров Р1,Р2,Р3 относительно Р0 полагаем равными

к10рг=к20рг=кЪ0рг=0, у10рг=у20рг= у30рг =°.

3. Для каждого кадра Р1,Р2,Р3 последовательно рассматриваем все варианты сдвига кадра по горизонтали и вертикали на 1, и для каждого из положений вычисляем значение функции ё, фиксируем ё0р1: и соответствующие координаты к10р1: и у-юрь 1 = 1,2,3.

Повторяем шаг до тех пор, пока ё0р1: уменьшается и сдвиг по горизонтали и вертикали не превышает Дк и Ду соответственно.

4. Устанавливаем начальное перекрытие кадров (аналогично шагу 1).

5. Для каждого кадра Р1,Р2,Р3 последовательно выполняем все варианты сдвига кадров по горизонтали и вертикали на -1, для каждого из положений вычисляем значение функции ё , фиксируем ё0р1: и соответствующие координаты к10рг и у10рь 1 = 1,2,3.

Повторяем шаг до тех пор, пока ё0р1 уменьшается и общий сдвиг по горизонтали и вертикали не превышает Дк и Ду соответственно.

Разновидности алгоритмов сшивки четверками на всем множестве кадров различаются порядком выбора четверок и порядком фиксации кадров. Фиксация означает неподвижность кадров. Примеры, иллюстрирующие порядок комбинирования четверок, показаны на рисунках 2 и 3, где порядок указан цифрами. Порядок перебора четверок существенно влияет на качество склейки.

Рис. 2. Сшивш по горизттами с Рис. 3. Сшивка с добавлением

добавлением 2-х кадров з-х кадров

Алгоритм сшивки по схеме 2.

Определим дискретную функцию ^(х, у), которая определяет расстояние между текущим положением (х, у) ц-го кадра и наилучшим его положением по отношению к смежным кадрам при условии, что они жестко фиксированы:

где К- - количество кадров, смежных у-му кадру, (х, у) - текущие координаты

у-го кадра, (0р(Хк -, 0р(Ук-) - координаты у-го кадра, для которых функция

оценки совмещения ё между у-м кадром и к-м его соседом достигает минимума. Отметим, что К, равно числу ребер для вершины графа О, соответствующего уму кадру.

Определим оценочную функцию совмещения всех кадров изображения как

п,т

g = £ л -

•=1,-=1

Таким образом, имеем следующий алгоритм сшивки:

1. В начальном состоянии кадры располагаем в координатах, обеспечивающих перекрытие соседних изображений, равное Sh для горизонтальных перекрытий и Sv для вертикальных. Устанавливаем величину Err допустимой погрешности результата совмещения двух кадров (оцениваемого функцией f,).

2. Пока Vi, j max(f. j ) > Err, для каждого ij-го кадра осуществляем

сдвиг на вектор s^ ,, который определяется как относительное смещение

3. si, j =

k=1

иначе заканчиваем алгоритм.

Построение ОВО слоя с учетом КТО

Исходными данными для построения ОВО являются векторные описания кадров слоя, сформированные на этапе сшивки, абсолютные координаты кадров изображения слоя и КТО.

Требуется скорректировать векторные описания кадров и получить ОВО.

Алгоритм построения ОВО.

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

Шаг 2. Для добавленных векторных описаний контуров устанавливается атрибут "активный", указывающий на недавнее добавление в общее описание.

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

Шаг 4. Для выбранного кадра все содержащиеся векторные представления контуров корректируются (обрезаются по границе кадров) с учетом перехлеста соседних кадров. Пример показан на рис. 4. Для этих контуров устанавливается атрибут "активный2".

а)

б)

Рис. 4. Результат коррекции описания с учетом перехлеста кадров: а) векторные представления до коррекции;

б) векторные представления после коррекции

Шаг 5. Контуры, помеченные как "активный2" добавляются в ОВО путем их объединения с контурами, имеющими атрибут "активный". Результат показан на рис. 5а.

Шаг 6. Оставшиеся контуры кадра добавляются в ОВО путем их простого переноса. Результат показан на рис. 5б.

Шаг 7. Если общий набор кадров не пуст, то переходим на Шаг 2, иначе алгоритм заканчивает работу.

Установка атрибутов "активный" и "активный2" направлена на повышение скорости работы алгоритма. Такой подход позволяет не проводить полный перебор контуров в ОВО при их объединении с контурами добавляемого кадра, а вести поиск только среди контуров, расположенных в области перекрытия кадров.

На шаге 5 алгоритма выполняется также частичная проверка и коррекция объединяемых контуров на соответствие следующим нормам КТО:

- ширина проводника;

- расстояние между проводниками.

Г“1

I

а) б)

Рис. 5 Общее векторное описание: а) после объединения контуров; б) после переноса контуров

При реализации алгоритма возникает проблема объединения и дальнейшего представления областей, имеющих в себе вложенные структуры (рис. 6а). Так, область 1 описывается двумя контурами: внешним и внутренним.

В алгоритме предусмотрены два варианта представления таких областей. Первый вариант (показан на рис. 6б) описания предусматривает представление области 1 в виде одного контура. В этом случае внешний и внутренний контуры связываются "перемычкой". Во втором случае для представления этой области используются два контура, при этом имеет значение их пространственное положение. В результате во внутреннем векторном представлении для внутренних контуров появляется дополнительный признак.

3

2

_______________1_________________ ______________________________________

а) б)

Рис. 6. Представление областей, содержащих вложенные структуры: а) пример вложенной структуры; б) представление в виде одного контура.

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

В местах объединения контуров возможны возникновения "ступенек" (рис. 7), которые также обнаруживаются и могут быть устранены.

____________ступенька

Рис. 7. Пример "ступеньки ", возникающей в результате объединения контуров

Совмещение слоев с учетом КТО

Исходными данными являются векторное описания каждого слоя, координаты контактных площадок для каждого из совмещаемых слоев и КТО.

Требуется выполнить коррекцию векторного описания слоев с учетом КТО и сформированных абсолютных координат.

Совмещение осуществляется посредством сопоставления координат контактных площадок, связывающих проводники из совмещаемых слоев.

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

на этапе совмещения кадров слоя. Один из вариантов этого алгоритма предусматривает минимизацию функции ошибки только для выбранных кадров. В этом случае кадры для совмещения выбираются автоматически либо пользователем. Желательно выбирать удаленные друг от друга кадры, расположенные в различных частях слоя. Значения Ах и Ау выбираются исходя из неравенств

Ах < ^р-, Ау < ^р ,

2 2

где 8р - длина стороны контактной площадки.

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

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

- размер контактной площадки;

- размер контактного окна;

- расстояние между контактной площадкой и проводником;

- ширину проводника;

- расстояние между проводниками;

- расстояние от границы контактного окна до внешней границы контактной площадки.

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

где Do - старое положение контактной площадки;

Dn - уточненное положение контактной площадки.

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

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

На данном этапе выявляются также отсутствующие контактные площадки. Рассмотрим множество (Pj / i = 1,2,...,k }слоев, где слой i расположен над слоем i + 1. Множество КП слоя i, соединенных с КП слоев i - 1и i + 1 обозначим как Pjpred и Pisucc соответственно, Pi = Pipred и Pisucc , i = 1,...,k. Для слоя 1 имеем Pjpred = 0 и для слоя k - Pksucc = 0. Нарушение равенства Ptpred = Pbrcc or P^^ = PjSUCC свидетельствует о об отсутствии или наличии лишней КП.

Заключение

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. L. G. Brow. A survey of image registration techniques // ACM (Assoc. Comput. Mach.) Comput. Surv. 1992. № 24. P. 325-376.

2. Д.А. Вершок, А.А. Дудкин, А.Г. Калюта, А.М. Селиханович. Система цифровой обработки изображений слоев интегральных микросхем // Идентификация образов. Минск: Ин-т техн. кибернетики НАН Беларуси, 2001. № 2. С. 72-87.

3. Z. Zhang, R. Deriche, O. Faugeras and Q.-T. Luong. A Robust Technique for Matching Two Uncalibrated Images Through the Recovery of the Unknown Epipo-lar Geometry //Artificial Intelligence Journal. 1995.V.78. P. 87-119

4. William J. Chimitt, Jr., and Laurence G. Hassebrook. Scene recons ruction from partially overlapping images with use of composite // J. Opt. Soc. Am. 1999. № 16(9), P. 2124-2135.

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

2. 480 с.