Разработка алгоритмов и методики 3D - рендеринга в автоматизированных системах контроля изделий микроэлектроники тема диссертации и автореферата по ВАК РФ 05.13.06, кандидат наук Федоров Петр Алексеевич

  • Федоров Петр Алексеевич
  • кандидат науккандидат наук
  • 2016, ФГАОУ ВО  «Национальный исследовательский университет «Московский институт электронной техники»
  • Специальность ВАК РФ05.13.06
  • Количество страниц 158
Федоров Петр Алексеевич. Разработка алгоритмов и методики 3D - рендеринга в автоматизированных системах контроля изделий микроэлектроники: дис. кандидат наук: 05.13.06 - Автоматизация и управление технологическими процессами и производствами (по отраслям). ФГАОУ ВО  «Национальный исследовательский университет «Московский институт электронной техники». 2016. 158 с.

Оглавление диссертации кандидат наук Федоров Петр Алексеевич

Введение

Глава 1. Обзор современных методов и средств межоперационного контроля качества изделий микроэлектроники (МЭ) на базе автоматизированных систем контроля (АСК) в условиях автоматизированного производства

1.1. Особенности контроля и испытаний изделий МЭ в ходе технологического процесса для повышения выхода годных

1.2. Основные методы и средства получения данных для анализа и контроля изделий МЭ

1.2.1. Применение растровой электронной микроскопии для получения планарной и качественной информации

1.2.2. Применение атомно-силовой микроскопии для получения 3Б- информации

1.2.3.Применение вторичной ионнной микроскопии для получения псевдо 3Б-инофрмации

1.3. Постановка задачи диссертационного исследования

Выводы по главе

Глава 2. Формализованное представление непредвзятого 3D-рендеринга с целью повышения повышения достоверности анализа измерений при разбраковке изделий МЭ

2.1. Классификация алгоритмов рендеринга на основе геометрического представления объектов сцены

2.2. Физическая модель распространения света как основа формирования 3D-изображения

2.3. Математические основы повышения производительности непредвзятого 3D рендеринга с использовнием иерархии ограничивающих объемов

2.3.1. Смешанные структуры. Обновление ускоряющей структуры

2.3.2. Особенности использования архитектурных концепций в ходе построения и траверса ускоряющих структур

2.3.3. Дополнительные способы повышения производительности непредвзятого 3D рендеринга

2.3.4. Адаптивный подход к построению и траверсу ускоряющей структуры -"непредвзятый 3Б рендеринг без ускоряющей структуры"

2.4. Математическая оценка функции качества осушествления непредвзятого 3D-рендеринга

2

Выводы по главе

Глава 3. Исследование и разработка алгоритмов и методики непредвзятого 3D-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов

3.1. Разработка методики получения 3D-изображения изделий МЭ в ходе

технологического процесса

3.2 Особенности алгоритма трассировки лучей по методу Монте-Карло

3.3. Разработка модифицированного алгоритма трассировки лучей для получения 3D-

сцены на основе двумерного и одномерного сигналов

3.4 Разработка алгоритма формирования ускоряющей структуры для трассировки лучей

при получении 3D-сцены

Выводы по главе

Глава 4. Программная реализация разработанных методики и алгоритмов в виде комплекса программных средств (КПС)с использованием графического процессора многопоточной архитектуры

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

4.2. Разработка структурной схемы процесса межоперационного контроля при разбраковке изделий МЭ с применением методики 3Э-рендеринга

4.3. Разработка структуры КПС в составе АСК при технологическом процессе производства изделий МЭ

4.4. Экспериментальные исследования эффективности применения КПС на основе оценки

среднеквадратичного отклонения критических параметров изделий МЭ

Выводы по главе

ЗАКЛЮЧЕНИЕ

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

ПРИЛОЖЕНИЕ

ПРИЛОЖЕНИЕ

ПРИЛОЖЕНИЕ

Рекомендованный список диссертаций по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка алгоритмов и методики 3D - рендеринга в автоматизированных системах контроля изделий микроэлектроники»

Введение

Актуальность проблемы. Годовой оборот совокупного мирового производства интегральных схем составляет более $100 млрд., около $200 - 300 млн. (не менее 0.3 - 0.4% всех затрат производства) затрачивается ежегодно в развитых странах на проведение операций измерения размеров для последующей разбраковки продукции в условиях автоматизированного поточного производства на предприятиях микроэлектроники. Главной особенностью измерений объектов микро- и нанометрии является предельная малость измеряемых размеров и связанная с этим необходимость использования специализированной методики измерения (в основном, электронного микроскопа) в качестве инструмента сравнения. В этих случаях измеряется фактически не физический объект - элемент интегральной схемы - но лишь его увеличенное изображение. Последнее справедливо и для сканирующей электронной микроскопии (СЭМ), и для атомно -силовой микроскопии (АСМ), и для вторичной ионной микроскопия» (ВИМС).

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

Проблемы и методы измерений размеров в технологии микроэлектроники, методы фильтрации сигналов, сегментации изображений достаточно глубоко исследованы и широко представлены в современной научной литературе. Всесторонней проработкой этой тематики занимались как отечественные, так и зарубежные специалисты в области обработки сигналов и изображений: В.А. Абрамов, Ю.С. Андреев, Ю.М. Баяковский, А.А. Богуславский, В.П. Вежневец, Ю.И. Журавлев, М.Д. Казанов, В.Ф. Нестерук, В.Д. Колдаев, В.В. Сергеев, В.А. Сойфер, С.В. Яблонский, Л.П. Ярославский, Russel B, Zhang Y.J., R. Woods,P. Wiola, M. Johns, L. Davis, R. Gonzalez, W. Lyppel, Huang T.S., D. Prevytt, A. Rozenfeld, T. Павлидис, W. Pratte др. Однако, единого подхода к обработке разнотипных сигналов и их последующему совмещению, т.е. к осуществлению 3D-рендеринга до сих пор не существует.

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

Целью диссертационной работы является повышение достоверности и точности анализа результатов измерений изделий МЭ в процессе разбраковки на основе методик и алгоритмов 3D-рендеринга в автоматизированных системах контроля (АСК).

В соответствии с указанной целью в работе решаются следующие задачи:

- анализ современных методов и средств измерений критических параметров изделий МЭ в процессе межоперационного контроля качества с помощью АСК в условиях поточного производства;

- формализация проблемы осуществления непредвзятого 3D-рендеринга;

- разработка методики 3D-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов;

- разработка модифицированного алгоритма трассировки лучей для получения 3D-сцены на основе двумерного и одномерного сигналов;

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

- программная реализация разработанных методики и алгоритмов в виде комплекса программных средств (КПС) с использованием графического процессора (ГП) многопоточной архитектуры;

- проведение экспериментальных исследований эффективности применения КПС на основе оценки среднеквадратичного отклонения критических параметров изделий МЭ.

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

Научная новизна. Диссертационная работа представляет собой совокупность научно обоснованных технических разработок, направленных на повышения достоверности результатов измерений при разбраковке продукции в системах автоматизации технологического процесса производства изделий микроэлектроники на основе предложенных параллельного алгоритма и методики непредвзятого 3Б-рендеринга.

В процессе исследований получены следующие новые научные результаты.

1. На основе проведенного анализа современных методов и средств измерений критических размеров элементов микроэлектроники с помощью АСК в условиях автоматизированного производства в качестве способа повышения достоверности результатов измерений предложен способ совмещения одномерной и двумерной информации полученной по разным методикам измерений и ее последующая визуализация - 3Б-рендеринг.

2. Предложено формализованное представление задачи непредвзятого 3Б-рендеринга с целью повышения достоверности измерений.

3. Разработан модифицированный алгоритм трассировки лучей для получения 3Б-сцены на основе двумерного и одномерного сигналов.

4. Разработана методика непредвзятого 3Б-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов.

5. Разработан алгоритм формирования ускоряющей структуры для трассировки лучей при получении 3D-сцены.

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

Результаты работы подтверждены свидетельством об официальной регистрации программы для ЭВМ «Программа «REALTIME 3D-RENDER» для формирования 3D-изображения в процессе разбраковки изделий в рамках автоматизированной системы управления производством». Заявка в РОСПАТЕНТ № 2015661887 от 4.12.2015.

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

В результате применения разработанного в ходе исследований комплекса программных средств с использованием графического процессора многопоточной архитектуры эффективность анализа причин возникновения брака при производстве изделий МЭ возросла на 15%.

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

■ методика непредвзятого 3D-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов;

■ модифицированный алгоритм трассировки лучей для получения 3D-сцены на основе двумерного и одномерного сигналов;

■ алгоритм формирования ускоряющей структуры для трассировки лучей при получении 3D-сцены;

■ программная реализация разработанных методики и алгоритмов в виде комплекса программных средств с использованием ГП многопоточной архитектуры.

Практическая значимость подтверждена актами внедрения результатов диссертационной работы в АО «Научно производственное объединение измерительной техники» и в учебный процесс МИЭТ.

Личный вклад автора. Все основные результаты диссертационной работы получены автором лично, а именно:

1. Исследованы современные методы и средства измерений критических размеров элементов МЭ с помощью АСК в условиях автоматизированного производства.

2. Разработано формализованное представление проблемы осуществления непредвзятого 3Б-рендеринга с целью повышения достоверности измерений.

3. Разработан модифицированный алгоритм трассировки лучей для получения 3Б-сцены на основе двумерного и одномерного сигналов.

4. Разработана методика непредвзятого 3Б-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов.

5. Разработан алгоритм формирования ускоряющей структуры для трассировки лучей при получении 3Б-сцены.

6. Предложенные алгоритмы и методика реализованы в виде комплекса программных средств с использованием графического процессора многопоточной архитектуры.

Реализация полученных результатов. Диссертационная работа выполнялась в соответствии с планом научно-технических исследований кафедры "Информатика и программное обеспечение вычислительных систем» Национального исследовательского университета «МИЭТ», являлась составной частью исследовательских мероприятий в рамках НИОКР ГК 02.625.31.0059 08.04.2013.

Все работы по разработке и модификации алгоритмов и методики, а также программной реализации средств визуализации в составе АСК проводились под руководством или при непосредственном участии автора. Результаты диссертационной работы используются в учебном процессе кафедры "Информатика и программное обеспечение вычислительных систем» НИУ «МИЭТ» в материалах

курсов «Визуализация в научных исследованиях», «Компьютерные технологии в науке и образовании».

В результате проведенных исследований получены и выносятся на защиту следующие основные научные результаты:

1. Формализованное представление задачи непредвзятого 3D - рендеринга для автоматизированного контроля изделий МЭ с помощью АСК

2. Модифицированный алгоритм трассировки лучей для получения 3D-сцены на основе двумерного и одномерного сигналов.

3. Методика 3D-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов.

4. Алгоритм формирования ускоряющей структуры для трассировки лучей при получении 3D-сцены.

5. Программная реализация разработанных методики и алгоритмов в виде комплекса программных средств для АСК и результаты экспериментальных исследований эффективности применения КПС на основе оценки среднеквадратичного отклонения.

Апробация работы и публикации. Основные положения диссертации докладывались и обсуждались на следующих конференциях.

1. 14th International Conference on Ion Sources. -14th International Conference. - 12th -16th September 2011, Giardini Naxos, Italy.

2. VI-я Всероссийская научно-практическая конференция «Актуальные проблемы информатизации в науке, образовании и экономике - 2013» МИЭТ, Москва;

3. II Международная научно-практическая конференция "Информационные технологии естественных и математических наук" 10-12 августа 2015, г.Ростов-на-Дону".

4. ХК Международная научно-практическая конференция «Современные концепции научных исследований» Москва 30-31 октября 2015.

5. Международная научно-техническая конференция «Электроника-2015», Москва 19-20 ноября 2015г., МИЭТ.

По результатам исследований опубликовано 15 работ, из них 5 в изданиях, входящих в перечень ВАК.

Структура и объем работы. Диссертация состоит из введения, 4 глав, заключения, списка литературы и приложений, содержащих листинги программ и акты о внедрении результатов работы. Общий объем диссертационной работы 158 страницы машинописного текста, 3 таблицы и 47 рисунков.

Глава 1. Обзор современных методов и средств межоперационного контроля качества изделий микроэлектроники (МЭ) на базе автоматизированных систем контроля (АСК) в условиях автоматизированного производства

1.1. Особенности контроля и испытаний изделий МЭ в ходе технологического процесса для повышения выхода годных

В ходе технологического процесса (ТП) производства изделий МЭ для повышения выхода годных используются автоматизированные системы контроля, реализующие все виды контроля качества. АСК позволяют реализовать активный технологический контроль; оперативный поиск причин некондиционности объектов; оперативный сплошной контроль; значительное повышение надежности контрольных операций, особенно при большом их объеме; совместимость с другими производственными системами [1].

В решении проблемы обеспечения качества и надежности электронных устройств значительная роль отводится их контролю и испытаниям в процессе разработки, производства и эксплуатации. Контроль и испытания в сфере производства составляют 25% от всех работ, а затраты на эти процессы - 4.. .30% от всех затрат на изготовление изделий.

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

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

*

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

При отклонении контролируемых параметров и (или) характеристик от заданных показателей качества на величины, превышающие допуски, изделие признается некондиционным, т.е. несоответствующим требованиям ТД и КД.

На этапе производства осуществляют: входной контроль комплектующих и материалов; контроль технологических режимов производственных процессов (внутриоперационный контроль) и межоперационный контроль; мероприятия по выявлению причин некондиционности (брака) изделий (выходной контроль), параметрический и функциональный контроль на этапе регулировки электронных устройств, а также окончательную приемку, включая испытания изделий МЭ [2] (рис.1.1).

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

Мероприятия по выявлению причин некондиционности являются одними из важнейших; окончательная приемка и испытания изделий МЭ происходят в лаборатории типовых испытаний. При их проведении выявляется влияние климатических и механических воздействий на качество электронных устройств.

Как правило, на производстве имеется контрольно-измерительная лаборатория, осуществляющая проверку используемых средств контроля, а также оснастки и инструментов, проводит работы по обеспечению результатов контроля качества. Целью всех проводимых мероприятий является получение достоверных данных о фактической надежности МЭ изделия и выработка, в случае необходимости, мероприятий по ее повышению.

Классификацию разновидностей технического контроля можно проводить по целому ряду признаков: по методу и (или) способу реализации контроля; отношению к технологическому процессу; степени пригодности контролируемого объекта к дальнейшему использованию; степени охвата; характеру воздействия контроля на ход технологического процесса; периодичности контроля; степени

Рисунок 1.1. Виды контроля качества изделий МЭ

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

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

Геометрический контроль проводят с помощью замеров измерительными инструментами размеров и форм контролируемых объектов и сопоставления результатов контроля с чертежами или образцами (эталонами).

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

Г\ «-» ос»

Электрический контроль состоит из замеров сопротивлений, напряжений и других электрических параметров в соответствии с программой контроля (в КД или ТД); составления диаграмм контроля и сравнения их с заданными критериями качества. Данный вид контроля является основным для изделий МЭ; объем контрольных операций, а также выбор контролируемых параметров (наименований и количества) в большой степени определяются функциональной сложностью конструктивов и особенностями эксплуатации изделий.

Физико-химический контроль заключается в определении физических и химических свойств материалов (в том числе для технологических сред), используемых для изготовления конструктивов изделий МЭ.

Технологический контроль относится непосредственно к процессу изготовления изделий и состоянию технологического оборудования с целью

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

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

Рисунок 1.2. Структурная схема контрольно-измерительной системы; КО - контролируемый объект; ТК - телевизионная (передающая) камера; УОАС -устройство обработки и анализа сигналов; НП - нормирующий преобразователь; ИУ - измерительное устройство; ЛУ - логическое устройство сравнения сигналов; ЗУ - задающее (эталонные сигналы) устройство; РУ - регистрирующее устройство; ИсУ - исполнительное устройство (цепь обратной связи)

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

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

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

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

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

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

Похожие диссертационные работы по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК

Список литературы диссертационного исследования кандидат наук Федоров Петр Алексеевич, 2016 год

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

1. Дудкина И.М. Опыт применения новейших информационных технологий для повышения качества и эффективности наукоемкой продукции, «Эффективные технологические процессы в металлургии, машиностроении и станкоинструментальной промышленности». Материалы международной научно-практической конференции 5-7 сентября 2007 года. г.Ростов-на-Дону, с 237-239.

2. Посупонько Н.В., Лысенко В.Ф., Губенко О.А. Концепция повышения технико-экономической эффективности радиоэлектронных средств вооружений, Информационно-справочный журнал «ИНФОРМОСТ «Средства связи», 2001 - № 1 (14).

3. Бурлай И.В., Посупонько Н.В., Кондранин Е.А. Регуляризированный алгоритм идентификации параметров динамических систем, «Наука и технологии в промышленности» 2/2005, стр. 40-45, ООО «Русинтер».

4. Исакова А.И. Преимущества использования автоматизированных систем учета и анализа качества выпускаемой продукции /А.И. Исакова, Л.К. Чистякова // Труды X всеросс. науч.практ. конф. «Прогрессивные технологии и экономика в машиностроении», Юрга, 24-25 апр. 2003 г. -Томск: Изд-во Том. политехн. ун-та, 2003. - С. 272-275.

5. Новицкий Н.И. Управление качеством продукции: Учеб. пособие / Н.И. Новицкий, В.Н. Олексюк. // Мн.: Новое знание, 2001. - 238 с.

6. Волков В.А., Заводян А.В.Производство перспективных ЭВС. Ч.1. Учебное пособие. Объем в уч. изд.л. :10.00. Тираж 200 экз.

7. Щагин, А. В. Основы автоматизации технологических процессов : учеб. пособие для академического бакалавриата / А. В. Щагин, В. И. Демкин, В.Ю. Кононов, А. Б. Кабанова. // М. : Издательство Юрайт ; ИД Юрайт, 2014. — 163 с. — Профессиональное образование.

8. Wells O. C. Scanning Electron Microscopy //McGraw-Hill, New York (1974).

9. Гавриленко В., Новиков Ю., Раков А., Тодуа П. "Тест-объекты с прямоугольным и трапециевидным профилями рельефа для растровой электронной и атомно-силовой микроскопии", "Наноиндустрия" 4/2008, c. 2430.

10. Зеер* Г.М., Фоменко О.Ю., Ледяева О.Н. Применение сканирующей электронной микроскопии в решении актуальных проблем материаловедения Journal of Siberian Federal University. Chemistry 4 (2009 2) р. 287-293.

11. Whitaker, M. A. B. (1999). "The Bohr-Moseley synthesis and a simple model for atomic x-ray energies". European Journal of Physics 20 (3): 213-220. Bibcode:1999EJPh...20..213W. doi: 10.1088/0143-0807/20/3/312

12. Xu L., Zhou W. L., Frommen С., Baughman R. H., Zakhidov A. A., Malkinski L., Wang J. Q., and Wiley J. B., Chem. Commun., 2000 (2000) 997.

13. Растровая электронная микроскопия для нанотехнологий. Методы и применение [Электронный ресурс] / под ред. Жу У., Уанга Ж. Л.; пер. с англ. — Эл. изд. — М. : БИНОМ. Лаборатория знаний, 2013.— 582 с. : ил., [16] с. цв. вкл. ISBN 978-5-9963-2123-0

14. Миронов В. Л. Основы сканирующей зондовой микроскопии. /Учебное пособие для студентов старших курсов высших учебных заведени. РАН. Институт физики микроструктур. Нижний Новгород, 2004 г.114с.

15. Броудай И., Мерей Дж. Физические основы микротехнологии: Пер. с англ. // М.: Мир, 1985. - 496 с.

16. Immel, David S.; Cohen, Michael F. & Greenberg, Donald P. (1986), "A radiosity method for non-diffuse environments", Siggraph 1986: р. 133.

17. Федоров П.А. и др. Разработка детекторных модулей, включающих собственно детекторы на основе GaAs и умножители потока электронов на основе микро (нано) структурировнных алмазных пленок // Научная сессия МИФИ. - М., 2008. - Т. 8. - С. 104-105.

18. Gerasimenko N. N., Kulevoy T. V., Seleznev D. N., Fedorov P. А., Temirov A. A. et al. Rhenium ion beam for implantation into semiconductors //Rev. Sci. Instrum. 83, 02B913 (2012).

19. Kulevoy T.V., Gerasimenko N.N., Seleznev D.N., Fedorov P.A., Temirov A.A., Alyoshin M.E., Kraevsky S.V., Smirnov D.I. Germanium and rhenium ion beam for implantation into semiconductors. //14th International Conference on Ion Sources Abstracts, p. 85.

20. Федоров П.А. Проблема автоматизации процесса формирования силицидов рения методами ионной имплантации //6-я Всероссийская научно-

практическая конференция «Актуальные проблемы информатизации в науке, образовании и экономике - 2013» МИЭТ, Москва, с. 151.

21. Федоров П.А. «Повышение достоверности измерений при разбраковке изделий микроэлектроники на основе эффективного алгоритма трассировки лучей для получения 3d-сцены.» "Естественные и технические науки", №9 2015, стр. 123.

22. Федоров П.А. Применение методов 3d-рендеринга для повышения достоверности измерений в автоматизированных системах контроля» //CETERIS PARIBUS №4 - ноябрь 2015.

23. Kajiya, James T. (1986) The rendering equation // Siggraph 1986: 143, doi: 10.1145/15922.15902.

24. Wong S.-K., Cheng Y.-C., and Lii S.-Y. GPU Ray Tracing Based on Reduced Bounding Volume Hierarchies, in CGIV '12 Proceedings of the 2012 Ninth International Conference on Computer Graphics, Imaging and Visualization, Washington, DC, USA, 2012, pp. 1-6.

25. Bikker J. and Schijndel J. V. The Brigade Renderer: A Path Tracer for Real-Time Games //International Journal of Computer Games Technology, vol. Volume 2013, p. ArticleID 578269, 2013.

26. Afra A.T. Incoherent Ray Tracing withour Acceleration Structures // EUROGRAPHICS Proceedings, 2012.

27. Kleiman Y. Introduction to rendering techniques. Март, 2012. [Электронный ресурс]. URL: http ://www .cs.tau.ac.il/~dcor/Graphics/adv-slides/Intro duction%20to%20rendering%2 0techniques.pdf (дата обращения: Январь, 2013).

28. Kaufman A., Cohen D., and Yagel R., "Volume graphics," Computer, vol. 26, no. 7, pp. 51-64, Jul. 1993.

29. Laine S. and Karras T., "Efficient Sparse Voxel Octrees," in Visualization and Computer Graphics, IEEE Transactions, 2010, pp. 1048-1059.

30. Guo-jun M. and You-sai Z., "Hierarchical Octree and Sub-Volume Texture Block Projection for GPU Accelerated Ray Casting Volume Rendering," in Biomedical

Engineering and Computer Science (ICBECS), International Conference Proceedings, 2010, pp. 1-4.

31. Singer G. The History of the Modern Graphics Processors. Март, 2013. [Сайт]. URL: http://www.techspot.com/article/650-history-of-the-gpu/ (дата обращения: Апрель, 2013).

32. U. o. F. Computer Science Department. Advanced Computer Graphics. Path Tracing. 2011. [Электронный ресурс]. URL: http://cg.informatik.uni-freiburg.de/course_notes/graphics2_09_pathTracing.pdf (дата обращения: Февраль, 2013).

33. Федоров А.Р, Федоров П.А. «Восстановление 3D изоображения наноразмерных объектов на плоскости» Современные методы алгоритмизации и моделирования: сборник научных трудов / Под ред. Гагариной Л.Г. М: МИЭТ, 2015. - с. 122-128 .

34. C. team. What is ray tracing?. 2008. [Сайт]. URL: http://www. codermind. com/articles/Raytracer-in-C++-Introduction-What-is-ray-tracing.html (дата обращения: Февраль, 2013).

35. K. J. T., "The Rendering Equation," in Proceedings of the 13th annual conference on Computer graphics and interactive techniques, 1986.

36. Федоров А.Р., Федоров П.А. Разработка алгоритмов непредвзятого 3d рендеринга // Современные проблемы науки и образования. - 2014. - № 6; URL: www.science-education.ru/120-15578. (ВАК)

37. Аунг Ч.Х., Тант З.П., Федоров А.Р., Федоров П.А. Разработка алгоритмов обработки изображений интеллектуальными мобильными роботами на основе нечеткой логики и нейронных сетей // Современные проблемы науки и образования. - 2014. - № 6; URL: www.science-education.ru/120-15579.(ВАК)

38. Фролов В. и Фролов А. Ray Tracing. [Сайт]. URL: http://www.ray-tracing.com (дата обращения: Январь, 2013)

39. Walter B., Drettakis G., and Parker S., "Interactive Rendering using the Render Cache," in Rendering Techniques '99 (Proc. of the 10th Eurographics Workshop on Rendering), New York, NY, USA, 1999, pp. 235-246.

40. Bentley, J. L. (1975). "Multidimensional binary search trees used for associative searching". Communications of the ACM 18 (9): 509. doi:10.1145/361002.361007

41. Arvo J., Kirk D. Fast ray tracing by ray classification // ACM SIGGRAPH Computer Graphics 21, 4 - 1987.

42. Wald I. Realtime ray tracing and interactive global illumination // PhD thesis, Saarland University, 2004.

43. Horn D., Sugerman J., Houston M., Hanrahan P. Interactive kd-tree GPU raytracing // Proceedings of the symposium on Interactive 3D graphics and games on fast rendering. 2007. P. 167-174.

44. Ernst M., Greiner G. Early split clipping for bounding volume hierarchies // Proceedings of the IEEE Symposium on Interactive Ray Tracing. 2007. P. 73-78.

45. Wald I. On fast construction of SAH-based bounding volume hierarchies // Proceedings of the Eurographics Symposium on Interactive Ray Tracing. 2007. р. 33-40.

46. Федоров П.А., Федоров А.Р. «Предпосылки для разработки параллельного алгоритма и методики осуществления 3d рендеринга в автоматизированных Системах контроля изделий микроэлектроники», II Международная научно-практическая конференция "Информационные технологии естественных и математических наук" (г. Ростов-на-Дону)". / Сборник научных трудов по итогам международной научно-практической конференции (10 августа 2015г), стр. 14.

47. Боголепов Д.К., Сопин Д.П., Турлапов В.Е., Ульянов Д.Я. Построение SAH BVH деревьев для трассировки лучей на GPU в реальном времени // Высокопроизводительные параллельные вычисления на кластерных системах: Докл. XI Всерос. конф. Н. Новгород, 2-3 нояб. 2011. С. 301-306.

48. Wu Z., Zhao F., and Liu X., "SAH KD-tree construction on GPU," in HPG '11 Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics , New York, NY, USA, 2011, pp. 71-78.

49. Wald I., Boulos S., and Shriley P., "Ray tracing deformable scenes using dynamic bounding volume hierarchies," ACM Transactions on Graphics (TOG), vol. 26, no. 1, p. ArticleNo6, Jan. 2007.

50. Popov S., Georgiev I., Dimov R., and Slusallek P., "Object partitioning considered harmful: space subdivision for BVHs," in HPG '09 Proceedings of the Conference on High Performance Graphics 2009, New York, NY, USA, 2009, pp. 15-22.

51. Nigam R. and Narayanan P. J., "Hybrid ray tracing and path tracing of Bezier surfaces using a mixed hierarchy," in ICVGIP '12 Proceedings of the Eighth Indian Conference on Computer Vision, Graphics and Image Processing , New York, NY, USA, 2012, p. ArticleNo35.

52. Djeu P., et al., "Razor: An architecture for dynamic multiresolution ray tracing," ACM Transactions on Graphics (TOG) , vol. 30, no. 5, p. ArticleNo115, Oct. 2011.

53. Parker S. G., et al., "OptiX: a general purpose ray tracing engine," in SIGGRAPH '10 ACM SIGGRAPH 2010 papers , New York, NY, USA, 2010, p. ArticleNo66.

54. Aila T. and Laine S., "Understanding the efficiency of ray traversal on GPUs," in HPG '09 Proceedings of the Conference on High Performance , New York, NY, USA, 2009, pp. 145-149.

55. Yoon S.-E., Curtis S. and Manocha D., "Ray tracing dynamic scenes using selective restructuring," in EGSR'07 Proceedings of the 18th Eurographics conference on Rendering Techniques , Aire-la-Ville, Switzerland, Switzerland, 2007, pp. 73-84.

56. Hapala M., Davidovic T., Wald I., Havran V., and Slusallek P., "Efficient stack-less BVH traversal for ray tracing," in SCCG '11 Proceedings of the 27th Spring Conference on Computer Graphics , New York, NY, USA, 2011, pp. 7-12.

57. Гагарина Л.Г., Федоров П.А., Федоров А.Р. «Повышение эффективности методов 3D-рендеринга при анализе нарушений технологического процесса производства изделий микроэлектроники в составе автоматизированной системы контроля» Электроника-2015, МИЭТ, Москва, (19 ноября 2015), с. 104.

58. Зо Вин Хтет, Наинг Линн Аунг, Федоров П. А., Аунг Чжо Тун «Особенности контурной сегментации для последующего получения панорамных изображений», «НАУЧНОЕ ОБОЗРЕНИЕ» № 17 2015, с. 160.

59. Foley T. and Sugerman J., "KD-tree acceleration structures for a GPU raytracer," in HWWS '05 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware , New York, NY, USA, 2005, pp. 15-22.

60. Horn D. R., Sugerman J., Houston M., and Hanrahan P., "Interactive k-d tree GPU raytracing," in I3D '07 Proceedings of the 2007 symposium on Interactive 3D graphics and games, New York, NY, USA, 2007, pp. 167-174.

61. Wald I. and Havran V., "On building fast kd-Trees for Ray Tracing, and on doing that in O(NlogN)," in PROCEEDINGS OF THE 2006 IEEE SYMPOSIUM ON INTERACTIVE RAY TRACING, 2006.

62. Popov S., Gunther J., Seidel H.-P., and Slusallek P., "Stackless KD-Tree Traversal for High Performance GPU Ray Tracing," in Proc. of EUROGRAPHICS 2007, 2007.

63. Keller A., Wachter C., "Efficient ray tracing without acceleration data structure," High-Performance Graphics 2011 (Poster), 2011.

64. Mora B., "Naive ray-tracing: A divide-and-conquer approach," in ACM Transactions on Graphics 30, 2011, 117:1-117:12.

65. nVidia. nVidia Kepler Architecture. [Сайт]. URL: http://www.nvidia.com/object/nvidia-kepler.html (дата обращения: Февраль, 2013)

66. Иноземцева Н.Г., Перепёлкин Е.Е., Садовников Б.И. Оптимизация алгоритмов задач математической физики для графических процессоров. - М. Физический факультет МГУ М.В. Ломоносова, 2012.

67. Canny J.F. Finding edges and lines in images. / Master's thesis, MIT, Cambridge, USA, 1983.

68. Прэтт У. Цифровая обработка изображений. Кн.2./ М.: Мир, 1982. - 784 с.

69. Smith S.M., Brady J.M. SUSAN - a new approach to Low Level Image Processing.// DRA Technical Report TR95SMMS1b. - 1995. - 57 p.

70. Kaas M., Witkin A., Terzopoulos D. Snakes: Active Contour Models. // Int. Journal of Computer Vision. - 1987, N1, - pр. 312-331.

71. Oh B.M., Chen, M., Dorsey, J., Durand, F.: Image-based modeling and photo editing. In: Proc. of SIGGRAPH conference, ACM (2001).

72. Durand, F., Dorsey, J.: Fast bilateral filtering for the display of high-dynamic-range images. ACM Trans. on Graphics 21 (2002) Proc. of SIGGRAPH conference.

73. Eisemann, E., Durand, F.: Flash photography enhancement via intrinsic relighting. ACM Trans. on Graphics 23 (2004) Proc. of SIGGRAPH conference.

74. Petschnigg, G., Agrawala, M., Hoppe, H., Szeliski, R., Cohen, M., Toyama, K.: Digital photography with flash and no-flash image pairs. ACM Trans. on Graphics23 (2004) Proc. of SIGGRAPH conference.

75. Jones, T.R., Durand, F., Desbrun, M.: Non-iterative, feature-preserving mesh smoothing. ACM Trans. on Graphics 22 (2003) Proc. of SIGGRAPH conference.

76. Fleishman, S., Drori I., Cohen-Or, D.: Bilateral mesh denoising. ACM Trans. OnGraphics 22 (2003) Proc. of SIGGRAPH conference.

77. Wong, W.C.K., Chung, A.C.S., Yu, S.C.H.: Trilateral filtering for biomedical images. In: Proc. of International Symposium on Biomedical Imaging, IEEE (2004).

78. Tomasi C., Manduchi R.: Bilateral filtering for gray and color images. In: Proc.of International Conference on Computer Vision, IEEE (1998), рр. 839-846.

79. Assarsson U. TDA361 - Computer Graphics course. Pathtracer tutorial. 2013. [Электронный ресурс]. URL: http://www.cse.chalmers.se/edu/year/2013/course/TDA361/Pathtracer.zip (дата обращения: Апрель, 2013)

80. Marshner S. Path Tracing notes. Февраль, 2012 [Электронный ресурс]. URL: http://www.cs.cornell.edu/Courses/cs6630/2012sp/notes/07pathtr-notes.pdf (дата обращения: Март, 2013)

81. Фролов В., Фролов А. BVH. 2007. [Сайт]. URL: http://ray-tracing.ru/articles184.html (дата обращения: Февраль, 2013)

82. Дебелов В.А. Верификация алгоритмов фотореалистического рендеринга кристаллов / В.А. Дебелов, Д.С. Козлов // Труды XX Международной конференции по компьютерной графике и зрению ГрафиКон-2010, 20-24 сентября 2010. - Санкт-Петербург: СПбГУ. - 2010. - С. 238-245.

83. Farnsworth M., Erbacher R. F. Global Illumination: Efficient Renderer Design and Architecture // Proceedings of the International Conference on Geometric Modeling, Visualization & Graphics 2005, pp. 1691-1695.

84. Hachisuka Toshiya, Ogaki Shinji, Jensen Henrik Wann. Progressive photon mapping // ACM Trans. Graph. 2008.—dec. Vol. 27, no. 5. P. 130:1-130:8. URL: http://doi.acm.org/10.! 145/1409060.1409083.

85. Hachisuka Toshiya, Jensen Henrik Wann. Stochastic progressive photon mapping // ACM Trans. Graph. 2009.—dec. Vol. 28, no. 5. P. 141:1-141:8. URL: http://doi.acm.org/10.1145/1618452.1618487.

86. Hachisuka Toshiya, Jarosz Wojciech, Bouchard Guillaume et al. State of the art in photon density estimation // ACM SIGGRAPH 2012 Courses. SIGGRAPH '12. New York, NY, USA: ACM, 2012. P. 6:1-6:469. URL: http://doi.acm.org/10.1145/2343483.2343489.

87. AMD. The Compressonator. 2014. URL: http://developer.amd. com/tools-and-sdks/archive/legacy^n-gpu-tools/ the-compressonator/.

88. Nvidia. Nvidia IRAY FAQ. 2014. URL: http://area.autodesk.com/ blogs/shane/the_iray_faq.

89. Боголепов Д.К., Турлапов В.Е., Ульянов Д.Я. Об одной реализации трассировки путей для графического процессора. НГГУ им. Лобачевского, Нижний Новгород, Россия: Н. Новгород: Изд-во Нижегор. гос. ун-та, 2013. С. 42-46.

90. Georgiev Iliyan, K^riv'anek Jaroslav, Slusallek Philipp. Bidirectional light transport with vertex merging // SIGGRAPH Asia 2011 Sketches. SA '11. New York, NY, USA: ACM, 2011. P. 27:1-27:2. URL: http: //doi.acm.org/10.1145/2077378.2077412.

91. Veach Eric, Guibas Leonidas J. Metropolis light transport // Proceedings of the 24th annual conference on Computer graphics and interactive techniques. SIGGRAPH '97. New York, NY, USA: ACM Press/Addison-Wesley Publishing Co., 1997. P. 65-76. URL: http://dx.doi.org/10.1145/ 258734.258775.

92. Hachisuka Toshiya, Jensen Henrik Wann. Parallel progressive photon mapping on GPUs // ACM SIGGRAPH ASIA 2010 Sketches. SA '10. New York, NY, USA: ACM, 2010. P. 54:1-54:1. URL: http://doi.acm. org/10.1145/1899950.1900004.

93. Козлов Д. Модель взаимодействия света с прозрачными кристаллами для фотореалистического рендеринга: Кандидатская диссертация. Новосибирский национальный исследовательский государственный университет, Новосибирск, Россия: Новосибирск, 2014.

94. Федоров П. А. Особенности разработки алгоритмов 3D-рендеринга для графических процессоров, использующих технологию CUDA. XIX

Международная научно-практическая конференция «Современные концепции научных исследований» Москва 30-31 октября 2015. Европейский союз ученых. 10(19) 2015. Технические науки. С. 149-152.

95. Гагарина Л.Г., Федоров П. А. Анализ методов разбраковки на основе 3D-рендеринга в технологическом процессе производства изделий микроэлектроники. Известия вузов. ЭЛЕКТРОНИКА Том 21 №1 2016. с. 91- 93.

ПРИЛОЖЕНИЕ 1

Акт внедрения в учебный процесс.

«УТВЕРЖДАЮ» Проректор по учебной работе Национального исследовательского университета «МИЭТ», д.т.н., профессор

« »

¿_ И.Г. Игнатова 2016 г.

АКТ ВНЕДРЕНИЯ

результатов диссертационной работы Федорова Петра Алексеевича на тему

"РАЗРАБОТКА АЛГОРИТМОВ И МЕТОДИКИ 30-РЕНДЕРИНГА В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ КОНТРОЛЯ ИЗДЕЛИЙ МИКРОЭЛЕКТРОНИКИ" на соискание ученой степени кандидата технических наук по специальности 05.13.06 - Автоматизация и управление

технологическими процессами и производствами (в приборостроении)

Результаты диссертационной работы Федорова П.А., посвященной разработке алгоритмов и методики Зс1-рендеринга в автоматизированных системах контроля изделий микроэлектроники, а именно:

- методика непредвзятого 30-рендеринга с интеграцией ускоряющих структур для распараллеливания процессов;

- модифицированный алгоритм трассировки лучей для получения ЗБ-сцены на основе двумерного и одномерного сигналов;

- алгоритм формирования ускоряющей структуры для трассировки лучей при получении ЗО-сцены

используются в учебном процессе кафедры "Информатика и программное обеспечение вычислительных систем" федерального государственного автономного образовательного учреждения высшего образования «Национальный исследовательский университет «Московский институт электронной техники» в лекционных и практических занятиях по дисциплинам: «Визуализация в научных исследованиях», «Компьютерные технологии в науке и образовании».

Заведующий кафедрой ИПОВС, д.т.н., профессор

Л.Г Гагарина

Ученый секретарь кафедры ИПОВС, д.т.н., профессор

Е.М Портнов

ПРИЛОЖЕНИЕ 2

Акт внедрения на предприятии.

Российская Федерация, 141074. Московская область, г. Королев, ул. Пионерская, дом 2. Телефон: (495) 513-1078, факс: (495) 513-1449, E-mail: npoit@npoil.ru ОКПО 07515339, ОГРН 1095018006555, ИНН/КПП 5018139517/501801001

На №

АКТ

о практическом применении полученных результатов диссертационного исследования Федорова П.А. на тему «Разработка алгоритмов и методики 311-реидеринга в

автоматизированных системах контроля изделий микроэлектроники»

Настоящим актом удостоверяется, что специалистами АО "НПО ИТ" изучены теоретические разработки и апробированы практические рекомендации диссертационного исследования Федорова П.А. на тему: «Разработка алгоритмов и методики Зё-рендеринга в автоматизированных системах контроля изделий микроэлектроники» на соискание ученой степени кандидата технических наук по специальности 05.13.06 - «Автоматизация и управление технологическими процессами и производствами (в приборостроении)». Результаты диссертационного исследования обладают высокой актуальностью и представляют практический интерес для подразделений менеджмента качества, технологической службы и микроэлектронного производства предприятия.

Разработанный системный подход позволяет объединять информацию, получаемую при различных методиках измерения (в частности, РЭМ и рентгеновская спектроскопия). Формализованный аппарат визуализации, объединяющий геометрические параметры и качественный состав исследуемых образцов, позволяет повысить достоверность, точность и оперативность контроля и анализа причин отказа изделий микроэлектроники.

Ученый секретарь АО «НПО ИТ>;уК.Т.'н., (

член-корреспондент Российской //

niinnpvfuu ьттмлиаотыгы I/* I Тыгчn4/,rvr»/-»T/-/-\rv-v i- > Л 1/1 Г1ЛГ1

№ 002699

ПРИЛОЖЕНИЕ 3

Фрагменты кода разработанного КПС

1. Инициализация алгоритмов.

using System; using System.IO;

// todo - clean all casts in all files // todo - change loops into counting up when possible // todo - 80 character lines // todo - multithread option

// todo - remove all conditional ? - replace with if else

namespace MinLight {

class Program {

static string MODEL_FORMAT_ID = "#MiniLight"; static double SAVE_PERIOD = 180.0; // seconds

/// <summary>

/// Program start. Takes one command line parameter to get a filename /// </summary>

/// <param name="args"></param> /// <returns></returns>

static int Main(string[] args) {

int returnValue = -1;

// catch everything try

{

// check for help request

if ((args.Length == 0) || (args[0] == "-?") || (args[0] == "-help"))

{

Console.WriteLine(BANNER_MESSAGE);

Console.WriteLine(HELP_MESSAGE); }

else

{ // execute

int starttime, lastSaveTime;

starttime = lastSaveTime = Environment.TickCount;

bool showPNG = false; // default PPM if ((args.Length == 2) && (args[1].ToUpper() == "G"))

showPNG = true; Console.WriteLine(BANNER_MESSAGE);

// get file names

string modelFilePathname = args[0]; string imageFilePathname = Path.GetFileNameWithoutExtension(modelFilePathname);

if (showPNG == true)

imageFilePathname += ".png";

else

imageFilePathname += ".ppm";

// open model file StreamReader modelFile = File.OpenText(modelFilePathname);

// check model file format identifier at start of first line string formatId = modelFile.ReadLine(); if (MODEL_FORMAT_ID != formatId)

throw new Exception("Invalid model file");

// read frame iterations int iterations = (int)modelFile.ReadFloat();

// create top-level rendering objects with model file Image image = new Image(modelFile); Camera camera = new Camera(modelFile); Scene scene = new Scene(modelFile,

modelFile. Close();

Console.WriteLine("Rendering scene file " + Console.WriteLine("Output file will be " +

Random rand = new Random(); // todo - option to set

// do progressive refinement render loop for (int frameNo = 1; frameNo <= iterations; ++frameNo)

{

// render a frame

camera.GetFrame(scene, rand, image);

// display latest frame number Console.CursorLeft = 0; Console.Write("Iteration: {0} of {1}. Elapsed seconds {2}", frameNo, iterations, (Environment.TickCount-lastSaveTime)/1000);

camera.ViewPosition);

modelFilePathname); imageFilePathname);

seed?

// save image every three minutes, and at end if ((frameNo == iterations) ||

(Environment.TickCount - lastSaveTime > SAVE_PERIOD * 1000))

{

lastSaveTime = Environment.TickCount; image.SaveImage(imageFilePathname,

frameNo, showPNG);

if (frameNo == iterations)

Console.WriteLine("\nImage file

{0} saved", imageFilePathname);

}

}

Console.WriteLine("\nfinished in {0}

secs",(Environment.TickCount - starttime)/1000.0);

}

returnValue = 1; }

// print exception message

catch (Exception e) {

Console.WriteLine("\n*** execution failed: " + e.Message); }

return returnValue; }

"MiniLight is a minimal global illumination renderer.\n\n" + "usage:\n" +

" minilight modelFilePathName [g]\n\n" + " where optinal g denotes save as PNG, else saves as PPM\n"+ "The model text file format is:\n" + " #MiniLight\n" + " iterations\n" + " imagewidth imageheight\n" + " viewposition viewdirection viewangle\n" + " skyemission groundreflection\n" + " vertex0 vertexl vertex2 reflectivity emitivity\n" + " vertex0 vertexl vertex2 reflectivity emitivity\n" + " ...\n" + "\n" +

"-- where iterations and image values are ints, viewangle is a float,\n" + "and all other values are three parenthised floats. The file must end\n" + "with a newline. Eg.:\n" + " #MiniLight\n" +

" 100\n"+ " 200 150\n" + " (0 0.75 -2) (0 0 1) 45\n" + " (3626 5572 5802) (0.1 0.09 0.07)\n" +

" (0 0 0) (0 1 0) (1 1 0) (0.7 0.7 0.7) (0 0 0)\n"; }

}

2. Построение BVH-дерева.

using System;

using System.Collections.Generic; using System.Linq; using System.Text;

using OpenTK;

// TODO: handle merge/split when LEAF_OBJ_MAX > 1 and objects move // TODO: add sphere traversal

namespace SimpleScene.Util.ssBVH {

public enum Axis { X,Y,Z,

}

public interface SSBVHNodeAdaptor<GO> { ssBVH<GO> BVH { get; } void setBVH(ssBVH<GO> bvh); Vector3 objectpos(GO obj); float radius(GO obj);

void mapObjectToBVHLeaf(GO obj, ssBVHNode<GO> leaf); void unmapObject(GO obj); void checkMap(GO obj); ssBVHNode<GO> getLeaf(GO obj);

}

public class ssBVH<GO> {

public ssBVHNode<GO> rootBVH; public SSBVHNodeAdaptor<GO> nAda; public readonly int LEAF_OBJ_MAX; public int nodeCount = 0;

public HashSet<ssBVHNode<GO>> refitNodes = new HashSet<ssBVHNode<GO>>();

public delegate bool NodeTest(SSAABB box);

// internal functional traversal...

private void _traverse(ssBVHNode<GO> curNode, NodeTest hitTest, List<ssBVHNode<GO>> hitlist) {

if (curNode == null) { return; } if (hitTest(curNode.box)) { hitlist.Add(curNode); _traverse(curNode.left,hitTest,hitlist); _traverse(curNode.right,hitTest,hitlist);

}

}

// public interface to traversal..

public List<ssBVHNode<GO>> traverse(NodeTest hitTest) { var hits = new List<ssBVHNode<GO>>(); this._traverse(rootBVH,hitTest,hits); return hits;

}

// left in for compatibility..

public List<ssBVHNode<GO>> traverseRay(SSRay ray) { float tnear = 0f, tfar = 0f;

return traverse( box => OpenTKHelper.intersectRayAABox1(ray,box,ref tnear,

ref tfar) ); }

public List<ssBVHNode<GO>> traverse(SSRay ray) { float tnear = 0f, tfar = 0f;

return traverse( box => OpenTKHelper.intersectRayAABox1(ray,box,ref tnear,

ref tfar) ); }

public List<ssBVHNode<GO>> traverse(SSAABB volume) { return traverse( box => box.IntersectsAABB(volume) );

}

/// <summary>

/// Call this to batch-optimize any object-changes notified through /// ssBVHNode.refit_ObjectChanged(..). For example, in a game-loop, /// call this once per frame.

/// </summary>

public void optimize() {

if (LEAF_OBJ_MAX != 1) {

throw new Exception("In order to use optimize, you must set

LEAF_OBJ_MAX=1"); }

while (refitNodes.Count > 0) {

int maxdepth = refitNodes.Max( n => n.depth );

var sweepNodes = refitNodes.Where( n => n.depth == maxdepth ).ToList(); sweepNodes.ForEach( n => refitNodes.Remove(n) );

sweepNodes.ForEach( n => n.tryRotate(this) );

}

}

public void addObject(GO newOb) { SSAABB box =

SSAABB.FromSphere(nAda.objectpos(newOb),nAda.radius(newOb)); float boxSAH = rootBVH. SAH(ref box); rootBVH.addObject(nAda,newOb, ref box, boxSAH);

}

public void removeObject(GO newObj) { var leaf = nAda.getLeaf(newObj); leaf.removeObject(nAda,newObj);

}

public int countBVHNodes() {

return rootBVH.countBVHNodes();

}

/// <summary>

/// initializes a BVH with a given nodeAdaptor, and object list.

/// </summary>

/// <param name="nodeAdaptor"></param> /// <param name="objects"></param>

/// <param name-'LEAF_OBJ_MAX">WARNING! currently this must be 1 to use dynamic BVH updates</param>

public ssBVH(SSBVHNodeAdaptor<GO> nodeAdaptor, List<GO> objects, int LEAF_OBJ_MAX = 1) {

this.LEAF_OBJ_MAX = LEAF_OBJ_MAX;

nodeAdaptor.setBVH(this);

this.nAda = nodeAdaptor;

if (objects.Count > 0) {

rootBVH = new ssBVHNode<GO>(this,objects); } else {

rootBVH = new ssBVHNode<GO>(this);

rootBVH.gobjects = new List<GO>(); // it's a leaf, so give it an empty object

list

}

}

}

steps each

3. Трассировка лучей.

using System;

namespace MinLight {

class RayTracer {

/*

* Ray tracer for general light transport.<br/><br/>

*

* Traces a path with emitter sampling each step: A single chain of ray* advances from the eye into the scene with one sampling of emitters at

* node.<br/><br/>

*

* Constant.

*

* @invariants

* * pScene_m points to a Scene (is not 0)

*/

Scene scene;

public RayTracer(Scene scene) {

this.scene = scene; }

public Vector GetRadiance(Vector rayOrigin, Vector rayDirection, Random

random, Triangle lastHit) {

// intersect ray with scene Triangle pHitObject; Vector hitPosition;

scene.GetIntersection(rayOrigin, rayDirection, lastHit, out pHitObject, out hitPosition);

Vector radiance;

if (null != pHitObject) {

// make surface point of intersection SurfacePoint surfacePoint = new SurfacePoint(pHitObject,

hitPosition);

// local emission only for first-hit if (lastHit != null)

rayDirection, false);

surfacePoint, random);

reflectance

cos is

and 1/pi

radiance = Vector.ZERO;

else

radiance = surfacePoint.GetEmission(rayOrigin, -

// add emitter sample

radiance = radiance + SampleEmitters(rayDirection,

// add recursive reflection

//

// single hemisphere sample, ideal diffuse BRDF: // reflected = (inradiance * pi) * (cos(in) / pi * color) *

// -- reflectance magnitude is 'scaled' by the russian roulette,

// importance sampled (both done by SurfacePoint), and the pi

// cancel out Vector nextDirection; Vector color;

// check surface bounces ray, recurse

if (surfacePoint.GetNextDirection(random, -rayDirection, out

nextDirection, out color))

radiance = radiance + (color *

GetRadiance(surfacePoint.Position, nextDirection, random, surfacePoint.Item));

}

else // no hit: default/background scene emission

radiance = scene.GetDefaultEmission(-rayDirection);

return radiance; }

Vector SampleEmitters(Vector rayDirection, SurfacePoint surfacePoint, Random random)

{

Vector radiance;

// single emitter sample, ideal diffuse BRDF: // reflected = (emitivity * solidangle) * (emitterscount) * // (cos(emitdirection) / pi * reflectivity)

// -- SurfacePoint does the first and last parts (in separate methods)

// get position on an emitter Vector emitterPosition; Triangle emitter;

scene.GetEmitter(random, out emitterPosition, out emitter);

// check an emitter was found

if (null != emitter) {

// make direction to emit point Vector emitDirection = (emitterPosition -surfacePoint.Position).Unitize();

// send shadow ray Triangle hitObject; Vector hitPosition;

scene.GetIntersection(surfacePoint.Position, emitDirection, surfacePoint.Item, out hitObject, out hitPosition);

// if unshadowed, get inward emission value Vector emissionin = null; if ((null == hitObject) || (emitter == hitObject)) emissionin = new SurfacePoint(emitter, emitterPosition).GetEmission(surfacePoint.Position, -emitDirection, true);

else

emissionin = new Vector();

// get amount reflected by surface

radiance = surfacePoint.GetReflection(emitDirection,

emissionin * scene.GetEmittersCount(), -rayDirection);

}

else

radiance = new Vector();

return radiance; }

}

}

4. Получение поверхности.

using System;

namespace MinLight {

/*

* Surface point at a ray-object intersection.<br/><br/>

*

* All direction parameters are away from surface.<br/><br/>

*

* Constant.<br/><br/>

*

* @invariants

* * triangle points to a Triangle (is not null)

*/

class SurfacePoint {

public Triangle Item { get; set; } public Vector Position { get; set; }

public SurfacePoint(Triangle triangle, Vector position) {

this.Item = triangle;

this.Position = position; }

public Vector GetEmission(Vector toPosition, Vector outDirection, bool isSolidAngle)

{

Vector ray = toPosition - Position; float distance2 = ray.Dot(ray);

float cosArea = outDirection.Dot(Item.Normal) * Item.Area;

// clamp-out infinity float solidAngle = 1;

if (isSolidAngle) {

if (distance2 < 1e-6f)

distance2 = 1e-6f;

solidAngle = cosArea / distance2; }

// emit from front face of surface only if (cosArea > 0)

return Item.Emitivity * solidAngle;

return Vector.ZERO; }

public Vector GetReflection(Vector inDirection, Vector inRadiance, Vector

outDirection)

{

float inDot = inDirection.Dot(Item.Normal); float outDot = outDirection.Dot(Item.Normal);

// directions must be on same side of surface if ((inDot < 0.0f) A (outDot < 0.0f))

return Vector.ZERO; // ideal diffuse BRDF:

// radiance scaled by cosine, 1/pi, and reflectivity

return (inRadiance * Item.Reflectivity) * (float)(Math.Abs(inDot /

Math.PI));

}

public bool GetNextDirection(Random random, Vector inDirection, out

Vector outDirection, out Vector color) {

float reflectivityMean = Item.Reflectivity.Dot(Vector.ONE) / 3.0f;

// russian-roulette for reflectance magnitude

if (random.NextDouble() < reflectivityMean) {

color = Item.Reflectivity / reflectivityMean;

// cosine-weighted importance sample hemisphere

double _2pr1 = Math.PI * 2.0f * random.NextDouble(); double sr2 = Math.Sqrt(random.NextDouble());

// make coord frame coefficients (z in normal direction) float x = (float)(Math.Cos(_2pr1 ) * sr2); float y = (float)(Math.Sin(_2pr1) * sr2); float z = (float)(Math.Sqrt(1.0 - (sr2 * sr2)));

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