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

Доклады БГУИР

2015 № 8

УДК 004.5; 621.38

АЛГОРИТМ УТОЧНЕНИЯ СОВМЕЩЕНИЯ КАДРОВ СЛОЯ ТОПОЛОГИИ СВЕРХБОЛЬШИХ ИНТЕГРАЛЬНЫХ СХЕМ В ПОЛНОЕ ИЗОБРАЖЕНИЕ

А.А. ВОРОНОВ, Е Е. МАРУШКО, Д.Ю. ПЕРЦЕВ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 28 октября 2015

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

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

Введение

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

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

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

Задача сшивки не является новой [1, 2]. Рассмотрим задачу сшивки изображения при следующих ограничениях. Кадры изображения имеют одинаковый масштаб и являются прямоугольными, каждая область перекрытия также является прямоугольной (рис. 1 ). Кадры получены одной камерой, но в разные моменты времени и/или при различном освещении. При этом имеются также искажения, обусловленные эффектом перспективы, нечеткой фокусировкой на границе кадра, разной высотой и присутствием тени, поворота.

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

по горизонтали

Рис. 1. Фрагмент слоя металлизации СБИС

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

Растровое изображение задано в виде матрицы [Рг-,частично перекрывающихся кадров, 1 = 1,..., п, ] = 1,..., т. Пусть неориентированный граф G = N R) задает отношение соседства кадров (такие кадры частично перекрываются), где N - множество вершин графа, поставленных в соответствие кадрам, а R - множество ребер графа, задающих отношение соседства пары кадров. Для простоты будем рассматривать соседство лишь по вертикали и горизонтали. Тогда для матрицы р размерности п х m имеем: N = {щ | 1 = 1, ..., п, ] = 1,..., т } - множество вершин, а R = {гк | к = 1, 2, ..., 2пт - т - п} - множество ребер.

Пусть кадр имеет размеры ахЬ. Зададим Зъ и «Я - размеры перекрытия соседних кадров по горизонтали и вертикали соответственно, а также допустимое отклонение перекрытия по горизонтали АН и по вертикали Лу. Положим, что АН < Зн, Лv< Зу, а > 2Лу + 23н, Ь > 2ЛН + 23*

Определим функцию совмещения, характеризующую «схожесть» (степень близости) двух кадров Р1 и Р2 в перекрываемых областях для разных положений кадров относительно друг друга как функцию расстояния Р1, Р2, Н, у) в некоторой метрике: евклидовой либо угловой (корреляционная функция сходства), где Н и V - смещения кадров изображений относительно заданных Зи и Зу по горизонтали и вертикали соответственно, -АН — Н — Л Н, -Лу — V— Лу. Для удобства запишем Р1, Р2, Н, V) = Н, V), где Гi - дуга графа G, определяющая соседство между кадрами Р1 и Р2.

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

g =

V d

1=1

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

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

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

перебор, которые обеспечивают существенное ускорение расчета и дают приемлемое качество сшивки.

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

Алгоритм сшивки по ключевым точкам

Алгоритм сшивки кадров слоя топологии ИС по ключевым точкам содержит два этапа:

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

2.Коррекция расположения кадров слоя.

Выделение первого этапа необходимо для оптимизации вычислений путем распараллеливания.

Первый этап содержит следующие шаги для всех ребер из R в области перекрытия двух кадров Pi и P2:

1) выполняется поиск ключевых точек и вычисление их дескрипторов;

2) выделяются соответствующие друг другу ключевые точки;

3) удаляются ложные ключевые точки;

4) вычисляется смещение кадра P2 относительно позиции кадра Pi;

5) вычисляется расстояние d для пары кадров;

6) вычисляется значение веса ребра как взвешенная сумма нормированного числа найденных ключевых точек и нормированной разности начального значения расстояния di и значения d2 после смещения.

Вес ребра из пункта 6 выполняет роль оценки качества найденного смещения для двух кадров. Для первого этапа были протестированы следующие алгоритмы поиска ключевых точек и описания дескрипторов: SIFT [3], SURF [4], ORB [5]. Также сравнение проводилось для метода скользящего просмотра. Тестирование проводилось на данных iWi696_Si_, размер кадра 640x480 пикселей, размер области перекрытия 46^28 б, общий размер данных 455 426 Кб. Результаты представлены в таблице. Как видно из таблицы алгоритм SIFT показал наименьшее число ошибок поиска ключевых точек для изображений ИС и высокую производительность.

На основе множества ребер R с соответствующими смещениями и весами осуществляется построение полного изображения слоя топологии ИС. Построение полного изображения представляет собой поиск маршрута по ребрам R, соединяющего все вершины N графа G c максимальным весом, по данному маршруту происходит сдвиг кадров по соответствующим ребрам смещениям. Поиск выполняется для четырех соседних кадров, последовательно по строкам. Пример приведен на рис. 3 и рис. 4.

Сравнение производительности и точности алгоритмов

Наименование алгоритма Время выполнения, с Верно определенные смещения, %

SIFT 47 96

SURF 52 79

ORB 45 76

Метод скользящего просмотра 22 72

Для четырех соседних кадров при формировании маршрута возможны три случая (см. рис. 2).

1. Фиксирован только начальный кадр и выполнятся поиск маршрута с максимальным весом для трех соседних кадров. Возникает один раз для первого кадра матрицы [Р15 ^ и его соседей.

2. Фиксированы два кадра, либо по горизонтали, либо по вертикали. Выполнятся поиск маршрута с максимальным весом для двух соседних кадров. Возникает для кадров первой строки и первого столбца матрицы [Ръ ^.

3. Фиксированы три кадра. Для оставшегося кадра в четверке выбирается один из двух ребер с максимальным весом. Возникает в остальных случаях.

Кадр определяется фиксированным, если до него уже найден путь.

Алгоритм состоит из следующих шагов.

1. Кадр с индексом (0,0) фиксируется по своим текущим координатам, то есть местоположение кадра определяется как найденное (кадр А на рис. 2).

2. Для соседних незафиксированных кадров в четверке (кадры В, С и D) строится маршрут корректировки с максимальным весом. Данная процедура включает следующие шаги:

а) сортировка ребер по весу;

б) формирование маршрута корректировки от фиксированного кадра в порядке уменьшения веса, таким образом, худшее ребро не участвует в маршруте;

в) последовательная корректировка координат и фиксирование кадров по маршруту;

г) если координаты последнего кадра в маршруте и координаты этого кадра, полученного смещением по худшему ребру, отличаются, то вносится дополнительно обратная корректировка для координат кадров в маршруте.

3. Вычисление переходит на следующий кадр в строке, то есть следующий кадр в строке занимает позицию кадра А в схеме на рис. 2.

4. Если достигнут конец строки - перейти на следующую строку.

5. Если не достигнут конец схемы - повторить п. 2.

Таким образом формируется полный маршрут объединения кадров в изображение ИС.

С 0,81 О

А 09 В

С 0,81 ^ 0,8 А

О

0,85

В

С

0,81

О

А

0,85

В

а б в

Рис. 2. Три случая при формировании маршрута, веса ребер приведены для наглядности. Длинная стрелка - маршрут, короткая - оценка по худшей паре, серый цвет кадра - кадр зафиксирован: а - только начальный кадр; б - два кадра; в - три кадра

Рис. 3. Пример карты оценок качества перекрытий, с полным маршрутом сшивки

Рис. 4. Результат коррекции расположения кадров и полный маршрут сшивки, жирным отмечены пути с дополнительной обратной корректировкой

Оптимизация алгоритма сшивки кадров слоя топологии СБИС

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

Оптимизация выполняется на основании следующих ограничений.

1. Поиск смещений кадров ведется только в области перекрытия данных кадров и небольшой окрестности области перекрытия (размер окрестности меньше размера области перекрытия).

2. Искомый шаблон не имеет искажений геометрических характеристик на изображениях кадров.

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

Шаблон для поиска Область поиска Область пересечения

Рис. 5. Схема расположения области поиска и шаблона поиска для двух кадров ИС

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

1. Вычисление максимума корреляции в области перекрытия двух кадров.

2. Если найден единственный максимум, то переход к пункту 6.

3. Выполняется поиск ключевых точек и вычисление их дескрипторов.

4. Выделяются соответствующие друг другу ключевые точки.

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

6. Вычисляются смещения и оценки качества для пар кадров.

Тестирование с использованием библиотеки openCV показало, что вычисление максимума корреляции выполняется в два раза быстрее, чем поиск ключевых точек и вычисление дескрипторов. При этом, в зависимости от входных данных, корректно единственный максимум определятся для 70-97 % пар кадров.

Реализация алгоритма сшивки кадров слоя топологии ИС

Алгоритм коррекции сшивки кадров реализован в модуле корректировки положения программного комплекса обработки и анализа изображений (ПК ОАИ). ПК ОАИ выполняет следующие задачи: получение полного изображения объектов слоя ИС из фрагментов и обеспечение последующего просмотра в интерактивном режиме всего видеоизображения с возможностью его масштабирования с помощью специализированного редактора; предварительную обработку изображений, выравнивание яркости; идентификацию на видеоизображении по указанию оператора областей определенного вида, а также областей из библиотеки, подлежащих идентификации объектов; автоматизированную подготовку библиотеки подлежащих идентификации областей; ввод полученной информации в САПР СБИС Cadence. Перечисленные задачи решаются в соответствующих программных модулях.

Основным модулем является ядро GUI (Graphic User Interface), реализующее редактор с возможностью масштабирования слоев ИС, и средства формирования библиотеки фрагментов для поиска, осуществляющие также вызов оставшихся модулей ПК ОАИ для выполнения идентификации.

При решении задачи идентификации задействованы основные модули: предобработки изображений (корректировки положения кадров, корректировки яркости) и поиска объекта или шаблона (рис. 6).

Рис. 6. Схема взаимодействия модулей ПК ОАИ

Каждый из модулей самостоятельно взаимодействует с файловой системой при загрузке необходимых для работы данных (рис. 6).

В модуле поиска шаблона (библиотечных элементов) на изображении поиск объектов осуществляется в интерактивном режиме по заданному шаблону на основе коэффициента корреляции, вычисляемого для матриц дистантного [6] преобразования. Дистантное преобразование снимка используется для снижения влияния неоднородности освещения и цветового шума, которые могут повлиять на значения коэффициента корреляции. Шаблоном является изображение фрагмента слоя ИС определенного элемента микросхемы, которому соответствует электрическая схема. Для больших объемов данных алгоритмы реализованы с использованием распараллеливания на центральном и графическом процессоре с использованием технологий ОрепМР, CUDA и/или Ореп^.

Модули разработаны на основе оригинальных алгоритмов [7] и библиотеки алгоритмов ОрепСУ, графический интерфейс разработан на базе кросс-платформенного инструментария Qt.

Заключение

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

CORRECTION ALGORITHM FOR COMBINATION FRAME OF LAYER TOPOLOGY OF VERY-LARGE-SCALE INTEGRATION

А.А. VORONOV, EE. MARUSHKO, D.U. PERTSEV

Abstract

Correction algorithms for combination frame of layer topology of integrated circuits layout objects and scheme to form a complete image layer without distortion. Results, that was described in this paper, has implementation in computer geometry, image analysis methods.

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

1. Quijada R., Raventos A., Tarres F. et. al // 11th International Multi-Conference on Systems, Signals & Devices (SSD). 2014. P. 1-4.

2. Jing N., Fan Y., Lingyi S. // Future Information and Communication Technologies for Ubiquitous HealthCare. 2013. P. 1-5.

3. Lowe D. // International Journal of Computer Vision. 2004. Vol. 60, Iss. 2. P. 91-110.

4. Bay H., Tuytelaars T., Gool L. // Computer Vision and Image Understanding (CVIU). Vol. 110, Iss. 3. P. 346-359.

5. Rublee E., Rabaud V., Konolige K. et. al // International Conference Computer Vision. 2011. P. 2564-2571.

6. ФурманЯ.А. Введение в контурный анализ: приложения к обработке изображений и сигналов. М., 2003.

7. Дудкин А.А., Садыхов Р.Х. Обработка изображений в проектировании и производстве интегральных схем. Минск, 2008.