Диссертация (1143951), страница 27
Текст из файла (страница 27)
Системное ПО состоит из двух компонентов:1. Драйвер режима ядра, обеспечивающий взаимодействие устройства соперационной системой (ОС), считывание и буферизацию данных,передачу команд управления от прикладных программ.2. Библиотека пользователя, предоставляющая прикладным программампрограммный интерфейс для управления устройством и считыванияданных.Встроенное ПО контроллера реализовано на языке C, системное ПОкомпьютера также реализовано на языке C в рамках модели разработки драйверов167режима ядра ОС семейства Windows (Kernel-Mode Driver Framework, KMDF). Сцелью минимизации потерь данных, вызванных задержками при простое шиныUSB, при реализации считывания данных в драйвере применена технологияасинхронного непрерывного ввода (KMDF Continuous Reader).Следует отметить, что в современных операционных системах имеютсявстроенные программные средства для работы с устройствами ввода изображений,однако эти решения нацелены на работу с распространенными протоколами имоделями передачи данных, плохо приспособленными для нестандартныхрежимов работы разработанной подсистемы.Подсистема ввода изображений позволяет регулировать широкий спектрпараметров работы фотоприемника посредством записи заданных значений в егорегистры.
С точки зрения решаемой задачи, существенными особенностямисистемы являются возможность перестройки в реальном времени параметровсчитывания растра:• координаты считываемой области;• суммирование (биннинг) пикселей группами 2x2 или 4x4;• установка времени накопления в диапазоне 10 мкс – 1 сек;• регулировка цифрового и аналогового усиления в диапазоне 1-128 крат.Ограничение объема считываемых данных методами окна интереса ибиннинга пикселей, совместно с применением высокоскоростного интерфейсаUSB3 позволяет реализовать высокую частоту временной дискретизацииизображения.
При полнокадровом считывании (5МП) частота достигает 15Гц, апри ограничении области считывания 640x480 пикселей частота достигает 100Гц.Это позволяет наблюдать такие процессы, как вибрация образца и атмосфернаярефракция в печи дилатометра, и, кроме того, реализовать повышение отношениясигнал-шум путем цифрового накопления кадров.Помимо указанных выше функций, система позволяет считывать темновыестолбцы и строки вместе с каждым кадром видеопотока с целью обеспечениявозможности компенсации темного шума фотоприемника (темновые области168закрыты от света, но накопление и считывание сигнала для них осуществляетсятакже, как и для светочувствительного поля растра). Величина сигнала темновыхобластей позволяет оценить картину фактического температурно-зависимоготемнового поля фотоприемника, не требуя при этом дополнительного датчикатемпературы фотоприемника.
Описание алгоритма коррекции темнового поляфотоприемника приведено в следующем разделе.4.2.3.Прикладное программное обеспечение системыПрикладное ПО системы состоит из двух компонентов, выполненных в видедвух прикладных программ: программы регистрации данных и программыобработки данных. Прикладное ПО реализовано на языке C++ с использованиемтехнологии Qt. Приблизительный объем разработанного исходного кода программрегистрации и обработки составляет 17 и 30 тыс. строк соответственно.При реализации программы обработки данных использованы библиотеки соткрытым исходным кодом alglib и OpenCV, а также технология параллельныхвычислений OpenCL. Применение технологии OpenCL позволило задействоватьвозможности параллельной обработки данных, предоставляемых современнымицентральными и графическими процессорами. В частности, при реализацииалгоритма моделирования изображения, удалось сократить время вычислений в 35 раз по сравнению с последовательной реализацией вычислений на языке C++.При этом за счет использования технологии OpenCL суммарное время оценкиконтура образца удалость снизить в 2-3 раза по сравнению с последовательнойреализацией.Основные функции программы регистрации:• отображение видеопотока на дисплее компьютера;• регистрация видеопотока в специально разработанном формате;• просмотр ранее записанного видеопотока;• управление режимами работы подсистемы ввода изображений, выборобласти считывания растра фотоприемника;169• автоматическая регулировка усиления и времени накопления сигнала сцелью поддержания оптимального уровня сигнала и предотвращенияего насыщения;• цифровоеинтегрированиепоследовательностикадровдляформирования калибровочных данных фотоприемника.Обработка данных выполняется по зарегистрированным в процессе нагреваобразца файлам видеозаписей.
Специально разработанный формат записейпредусматривает регистрацию видеоданных синхронно с информацией о режимеработы фотоприемника (значение усиления, времени накопления, параметрысчитывания растра, данные темновых областей и др.). Формат поддерживает такжевозможность изменения размера и временного интервала кадров в реальномвремени, что затруднительно реализовать при использовании стандартныхформатов видеозаписи.Основные функции программы обработки:• предварительная обработка кадров путем применения калибровоктемнового тока, смещения нуля, неравномерности чувствительностиэлементов растра;• пространственное и временное цифровое интегрирование сигнала позаписанному видеоряду;• стандартныефункцииобработкиизображений(фильтрация,масштабирование, приближенное обнаружение краев и др.);• применение известных алгоритмов восстановления изображений пометодам Винера, Люси-Ричардсона, TV-регуляризации;• применение известных алгоритмов субпиксельной оценки краев;• оценка краев по разработанному методу двумерной аппроксимации;• генерация модельных данных разработанным методом фурье-синтеза.• визуализация результатов оценки краев;• оценка смещения изображения методом цифровой корреляции;170• оценка величины расширения образца по измеренным контурамразработанным алгоритмом.Программа обработки содержит встроенный интерпретатор текстовыхмакрокоманд, что позволяет реализовать гибкие сценарии обработки данных.Сценарии могут быть сформированы пользователем и выполнены в интерактивномрежиме, а также загружены из заранее подготовленного текстового файла.Предусмотрено выполнение сценариев из текстовых файлов по кнопкам панелименю программы.С целью повышения степени соответствия регистрируемого сигналачисленной модели двумерного аппроксимационного метода, в программуобработки интегрировано средство компенсации неравномерности характеристикэлементов растра фотоприемника: смещения нуля, величины темнового тока инеравномерности чувствительности.
Соответствующие калибровочные данныекаждого оптического канала хранятся на компьютере с установленным ПО.Задача оценки темнового поля осложнена тем, что часть света может попастьна темновые области и внести смещение в считываемый сигнал. С цельюполучения оценки, инвариантной к этому смещению, при обработке решаетсяоптимизационная задача по двум параметрам, один из которых – множителькалибровочных данных темнового поля, а второй – паразитное смещение сигнала.Данная задача имеет простое аналитическое решение, что позволяет проводитьуказанную предварительную обработку в реальном времени.Алгоритм предварительной обработки кадров видеоряда заключается вследующем:1. Из матрицы исходного кадра вычитается матрица смещения нуля.2.
ВычитаетсяоценкаматрицытемновогосигналаD΄.Оценкавычисляется на основе калибровочной матрицы темнового сигнала DCи фактического сигнала темновых строк DR:D = DС kˆ, kˆ = arg min ( k [D R + b] − D RCk ,b2),171где DRC – калибровочная матрица темновых строк, k – масштабирующийкоэффициент темнового сигнала, b имеет смысл паразитного смещениятемнового сигнала.3. Элементы растра, значение темнового сигнала которых превышает 3σD,где σD – стандартное отклонение темнового сигнала калибровочнойматрицы, интерполируются по 4-м соседним элементам. Таким образомосуществляетсякоррекциязначенийт.н.«горячихпикселей»фотоприемника, известных на момент калибровки неравномерноститемнового тока фотоприемника.4. Результирующая матрица шага 3 поэлементно перемножается сматрицей коррекции неравномерности чувствительности.5.
Результирующая матрица шага 4 подвергается нелинейной фильтрацииимпульсныхвыбросов.Процедурафильтрациизаключаетсявинтерполяции отсчетов сигнала, чье отклонение от среднего значения впределах окрестности 3x3 пикселя превышает 3 стандартныхотклонения. Данная процедура позволяет скорректировать значения«горячих пикселей», появившихся в процессе эксплуатации системы, ине учтенных в калибровочных матрицах.6. Осуществляется цифровой биннинг пикселей группами 4x4. Даннаяпроцедура направлена на компенсацию геометрического шума,специфичногопараметровдляиспользуемогосистемы,фотоприемника.результирующаячастотаСучетомдискретизациипревышает удвоенную предельную частоту приблизительно в 1.7 раза.Следует отметить, что на этапе предварительной обработки не используютсяраспространенные методы повышения отношения сигнал-шум на основесглаживающей фильтрации изображений, поскольку данные методы, как правило,приводят к потере информации и, учитывая общую концепцию двумерногоаппроксимационного метода, не требуются.
Предварительно обработанныеописанным способом кадры видеоряда для каждого измерения (для каждой172температуры образца) суммируются. Таким образом, дальнейшая работавыполняется с изображениями, усредненными по 100-1000 кадрам видеоряда.4.3. Измерение расширения образцов в системе ДОВ-1Методика расчета величины расширения4.3.1.Расчет величины расширения образца состоит из трех этапов:1. расчет векторов точек одного или нескольких контуров образца(выполняется отдельно для каждой температуры);2. определениетемпературы,смещенияконтуров(выполняетсякроменачальной,смещениедлякаждойрассчитываетсяотносительно начального контура);3.
расчетдлиныобразца,корректировкарезультатовпореперу(выполняется для каждого полученного на этапе 2 значения смещения).Расчет векторов точек контуров образца проводится следующим образом:1. В результате описанной выше предварительной обработки формируется наборизображений образца – по одному для каждого значения температуры.Изображения «холодного» образца, полученные при комнатной температуредалееназываютсяопорными,посколькурасширениеопределяетсяотносительно контуров на этих изображениях.2. Оператор загружает в программу обработки пакет изображений образца,выбирает опорные изображения и выделяет на них прямоугольные области, покоторым будет осуществляться измерение. Области указываются такимобразом, чтобы содержать наиболее четкие и устойчивые к нагреву участки краяобразца.Приэтомустойчивостькраевоцениваетсяпонесколькимизображениям нагретого образца.