Применение пакета Matlab для определения поперечного сечения трубных заготовок прокатно-металлургического производства

2. Назаренко В.Г., Румянцев К.Е.. Телевизионный измеритель размеров трубного проката // Проблемы и перспективы развития современной телевизионной техники: Тезисы докладов МНИТИ 1993. - С.57-59.

3. Розенфельд А. Распознавание и обработка изображений с помощью вычислительных машин. - М.: Мир. 1972. - С.232.

4. Павлидис Т. Алгоритмы машинной графики и обработки изображения. - М.: Радио и связь. 1986. - С.398.

УДК (621.396.6+621.391):621.7

В.А.Зибров, К.Е.Румянцев

ПРИМЕНЕНИЕ ПАКЕТА MATLAB ДЛЯ ОПРЕДЕЛЕНИЯ ПОПЕРЕЧНОГО СЕЧЕНИЯ ТРУБНЫХ ЗАГОТОВОК ПРОКАТНО-МЕТАЛЛУРГИЧЕСКОГО

ПРОИЗВОДСТВА

Одним из наиболее перспективных методов бесконтактного контроля параметров объектов в металлургическом производстве является телевизионный метод, при котором изображение объекта регистрируется с помощью телевизионной камеры и передается для анализа в ЭВМ [1,2,3]. Для обработки изображения необходимо программное обеспечение, которое будет определять местоположение объекта измерения, выделять зону измерения и определять параметры объекта. В качестве программного обеспечения может применить пакет Matlab фирмы MathWorks - это одновременно и операционная среда и язык программирования.

Для решения задачи контроля параметров трубных заготовок можно применить пакеты прикладных программ для обработки изображений Image Processing Toolbox, в состав которого входят процедуры для вывода изображений на экран и захвата их с экрана, улучшения, фильтрации и анализа изображений, сегментации и морфологического анализа бинарных изображений, и Image Acquisition Toolbox, который позволяет подключать и настраивать оборудование, просматривать отдельные изображения и видео непосредственно в Matlab [4].

Рассмотрим возможности пакета Image Processing Toolbox для обработки изображения не нагретой трубной заготовки, снятое при помощи цифровой видеокамеры, с техническими параметрами: матрица ПЗС ZR932112MLC, ручная фокусировка, изображение 352x288 элементов разложения, 30 кадров в секунду. Объект освещен лампой дневного света, мощностью 150 Вт с расстояния 2 м. Диаметр трубы - 0,15 м, длина 0,4 м. Загрузка изображения осуществляется с помощью функции D=imread(File,fmt), которая считывает изображение из файла F и помещает его в массив D. Эта функция позволяет работать с файлами *.bmp, * .tiff, *.jpeg, *.pcx, *.hdf, *.png, *.xwd.

Далее проводится оценка параметров изображения: контрастность, соотношение сигнал/шум, резкость изображения.

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

j Li + Lj ’

и Lj - яркости элементов сюжетного изображения.

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

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

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

Для увеличения контрастности в MatLab имеется целая группа функций:

- *histeq - выравнивание гистограммы;

- *1ша4|^ - контрастирование с гамма-коррекцией;

- stretcЫim - поиск границ повышения контраста изображения;

- adapthisteq - выполнение контрастно ограниченной адаптивной эквализа-ции гистограммы;

- decorrstretch - применение декорреляционного растяжения многоканальных изображений.

Рис. 1. Пример работы функции Иііієд

Д-500 - -

4000 - -

. 4500 -

3400 - -

гзоо  •

гвдо - -

1»0 •

1000 - -

500 - -

^ 0 1111111111IIIIIIIIIII111 ^—1.11.111.11..|

250 о к ж ко

Рис. 2. Гистограммы изображений до и после обработки

Функция D=histeq(Is, И^аш) улучшает контраст изображения Іє с помощью преобразования значений пикселов исходного изображения таким образом, чтобы

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

1, гистограммы изображений на рис. 2.

Функция Id=imadjust(Is, [low high], [bottom top], gamma) создает полутоновое изображение Id путем контрастирования исходного полутонового изображения Is. Значения яркости в диапазоне [low high] преобразуются в значения яркости в диапазоне [bottom top]. Значения яркости, меньшие low, принимают значение bottom, а значения яркости, большие high, принимают значение top. С помощью показателя gamma можно дополнительно осуществлять преобразование, называемое гамма-коррекцией. Характеристики передачи уровней при различных значениях gamma представлены на рис. 3.

low thigh low thigh low thigh

Рис. 3. Характеристики передачи уровней при различных значениях gamma

На рис. 4 и 5 приведены результаты работы функции imadjust и гистограммы исходного и обработанного изображения соответственно.

Рис. 4. Пример работы функции imadjust

О 50 100 1» 209 250 О 50 <00 150 200 240

Рис. 5. Гистограммы изображений до и после обработки

Функция LOW_HIGH=stretchlim(I, TOL) возвращает пару значений яркостей, которые могут использоваться функцией imadjust для увеличения контраста изображения. Функция J=adapthisteq(I) улучшает контраст полутонового изображения I путем преобразования значений его элементов методом контрастно ограниченной адаптивной эквализации гистограммы (CLAHE). Метод CLAHE более эффективен при работе с небольшими локальными окрестностями изображений, чем с полными изображениями.

Функция S=decorrstretch(I) применяется для декорреляционного растяжения многоканального изображения I и возвращает результат в S. Функция при декор-реляционном растяжении использует информацию о контрасте. Преобразование контраста контролируется параметром tOl: TOL=[LOW_FRACT HIGH_FRACT], который определяет диапазон интенсивностей для локальных окрестностей изображения. Главной целью применения метода декоррелляционного растяжения является решение задачи улучшения качества визуального восприятия изображений.

В пакете Image Processing ToolBox имеются функции, реализующие различные методы фильтрации изображения, позволяющие оценить и уменьшить уровень шума на изображении, выделить границы изображения, подчеркнуть границы. Для оценки уровня зашумленности изображения и его уменьшения можно использовать функции: [Id, noise]=wiener2(Is, [m n]) и Id=wiener2(Is, [m n], noise). Обе функции формируют изображение Id из исходного, используя адаптивную Винеровскую фильтрацию. Первая в параметре noise возвращает мощность гаус-сового белого шума. Второй необходимо передавать мощность шума, испортившего изображение, которая должна быть известна априорно. Если это по каким-либо причинам невозможно, параметр можно опустить и мощность шума будет определяться автоматически. Параметры m и n задают размеры скользящего окна, в пределах которого оцениваются среднее и среднеквадратичное отклонение значений яркости. По умолчанию принимается равным 3х3.

Функция wiener2 использует алгоритм адаптивной винеровской фильтрации для подавления аддитивного гауссова белого шума. Данный алгоритм основан на статистических оценках фрагментов изображения в пределах скользящего окна [5,6]. Для всех положений скользящего окна с центральным пикселем и координатами (r, с) вычисляются: средние значения яркости JU ; дисперсия G. Данная формула применяется нерекурсивно для всех положений скользящего окна. Если мощность гауссова белого шума не задана, то она оценивается как среднее из всех

О.

Пример работы функции wiener2 приведен на рис. 6. В исходное изображение с помощью функции imnoise добавлен гауссов шум и далее произведена адаптивная винеровская фильтрация изображения с помощью функции wiener2. На рис.7 приведены гистограммы изображений.

Для фильтрации в MathLab имеются следующие функции:

- filter2 - двумерная линейная фильтрация;

- blkproc - обработка блоков изображения;

- nlfilter - обобщенный нелинейный фильтр;

- colfilt - оптимизированная операция фильтрации;

- ordfilt2 - ранговая фильтрация;

- medfilt2 - медианная фильтрация;

- roifilt2 - фильтрация областей интереса;

- filter2 - фильтрация двумерных и многомерных изображений.

Функция D=filter2(h, S) выполняет фильтрацию данных, заданных в двумерном массиве S, двумерным КИХ-фильтром, коэффициенты которого сведены в матрицу ^ называемую также маской фильтра.

шш?

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

О 50 100 150 200 250 0 50 100 150 200 250

Рис. 7. Диаграммы зашумленного и обработанного фильтром изображений

Функция D=blkproc(S, [m n], fun) формирует новое изображение D, пикселы которого являются результатом обработки функцией fun каждого из неперекры-вающихся блоков размера m x n исходного изображения S. Данная функция предназначена для обработки бинарных или полутоновых изображений. Исходное изображение S разбивается на неперекрывающиеся блоки m x n пикселей.

Функция D=nlfilter(S, [m n], fun) формирует новое изображение D, пикселы которого являются результатом обработки функцией fun пикселей исходного изображения S, соответствующих положению маски фильтра размера m x n. Операция применяется нерекурсивно для всех положений маски. При проведении вычислений исходное изображение временно дополняется n/2 столбцами нулевых пикселей справа и слева, и m/2 строками нулевых пикселей сверху и снизу.

Функция D=colfilt(S, [m n], block_type, fun) выполняет операции фильтрации, полностью аналогичные выполняемым функциям blkproc или nlfilter, но значительно быстрее. Она предназначена для обработки полутоновых и бинарных изображений. Увеличение скорости обработки достигается за счет того, что обработке подвергается вспомогательное изображение, в котором каждый столбец представляет собой фрагмент исходного изображения S, передаваемый в функцию fun. Такой подход позволяет существенно уменьшить количество операций по чтению и записи отдельных пикселей изображения. Кроме того, каждый столбец может обрабатываться независимо от соседних. Для преобразования исходного изображения во вспомогательное и обратно в функции colfilt используются соответственно функции im2col и col2im.

Режим работы функции colfilt определяется значением параметра block_type:

- ‘distinct’ - функция colfilt аналогична функции blkproc, параметрами [m n] задается размер неперекрывающихся блоков изображения;

- ‘sliding’ - функция colfilt аналогична функции nlfilter, параметрами [m n] задается размер маски фильтра.

Функция D=colfilt(S, [m n], block_type, fun, P1, P2, ...) позволяет передавать дополнительные параметры Р1, Р2 и так далее при вызове функции fun.

Функция D=ordfilt2(S, order, domain) создает полутоновое изображение D, каждый пиксел которого формируется следующим образом. Пикселы исходного полутонового изображения S, соответствующие ненулевым элементам маски фильтра domain, сортируются по возрастанию. Пикселу изображения D, соответствующему центральному элементу маски, присваивается значение с номером order в отсортированном множестве. Операция применяется нерекурсивно для всех положений маски. Фильтрацию такого вида называют порядковой или ранговой.

Функция D=medfilt2(S, [m n]) создает полутоновое изображение D, каждый пиксел которого формируется следующим образом. Пикселы исходного полутонового изображения S, соответствующие всем элементам маски фильтра размера m*n, составляют упорядоченную последовательность А. Пикселу D(r, с), где r и с -координаты текущего положения центрального элемента маски, присваивается значение медианы последовательности А. Операция применяется нерекурсивно для всех положений маски.

Функция Id=wiener2(Is, [m n], noise) формирует полутоновое изображение Id, которое является результатом адаптивной фильтрации Винера исходного полутонового изображения Is. Параметры m ип задают размеры скользящего окна, в пределах которого оцениваются среднее и среднеквадратичное отклонение значений яркости. Если при вызове функции параметры m и n опущены, то размер окна устанавливается равным 3.

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

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

Для этого можно использовать функцию BW=im2bw(I,level), которая проводит бинаризацию изображения I отсечением по порогу яркости Level.

Пример работы функции представлен на рис.9.

Рис. 9. Пример бинаризации изображения и выделения контуров объекта с помощью оператора Собела

Морфологический анализ в MathLab представлен следующей группой функций:

- bwboundaries - отслеживание локальных границ на бинарном изображении;

- bwmorph - морфологические операции над бинарным изображением;

- bwareaopen - открытие бинарных площадей (малых объектов);

- bwdist - определение периода преобразования бинарных объектов;

- bwfill - заполнение областей фона;

- bwhitmiss - бинарные hit-miss операции;

- bwlabeln - установка метки связанных элементов в многомерных бинарных изображениях;

- bwperim - выделение границ бинарных объектов;

- bwselect - выделение объектов;

- bwtraceboundary - отслеживание контуров бинарных изображений;

- bwulterode - предельная эрозия;

- bwunpack - распаковка бинарных изображений;

- conndef - отсутствие связности;

- dilate - наращение бинарного объекта;

- erode - эрозия бинарного объекта;

- imbothat - выполнение низкочастотной фильтрации;

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

- imclose - закрыть изображение;

- imdilate - расширение изображения;

- imerode - эрозия изображения;

- imextendedmax - максимальная длительность преобразований;

- imextendedmin - минимальная длительность преобразований;

- imfill - заполнение областей изображения;

- imhmax - H-максимальные преобразования;

- imhmin - H-минимальные преобразования;

- imimposemin - установка минимума;

- imopen - открыть изображение;

- imreconstruct - морфологическое восстановление изображений;

- imregionalmax - максимум области;

- imregionalmin - минимум области;

- imtophat - выполнение высокочастотной фильтрации.

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

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

1. Румянцев К.Е., Зибров В.А. Применение телевизионных датчиков для измерения параметров поперечного сечения труб в прокатно-металлургическом производстве // Труды Всероссийской НПК “Моделирование, программное обеспечение и наукоемкие технологии в металлургии”. - Новокузнецк, 2001.

- С. 164-167.

2. Румянцев К.Е., Зибров В.А. Применение алгоритмов контроля и измерения диаметров поперечного сечения труб в прокатно-металлургическом производстве // Электронный журнал “Исследовано в России”, 77, 2001. - С. 844-852, http://zhurnal.ape.relarn.ru/articles/2001/077.pdf

3. Зибров В.А., Румянцев К.Е. Применение телевизионных датчиков для измерения параметров поперечного сечения труб в прокатно-металлургическом производстве // XIII Всероссийская НТК с участием зарубежных специалистов "Датчик 2001": Тезисы докладов. - Крым, 2001. - С. 34-35

4. Дьяконов В., Абраменкова И. МЛТЬЛБ. Обработка сигналов и изображений. Специальный справочник. - Питер. 2002.

5. http://matlab.exponenta.ru

6. http://mathworks.com

УДК 621.039.5

И.А. Каляев, К.Е. Румянцев, В.В. Макеев, С.Л. Балабаев, В.В. Коробкин, Я.С. Коровин, А.П. Кухаренко, В.Г. Радецкий

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

В соответствии с мероприятиями, принятыми на всех атомных электрических станций (АЭС) с реакторами типа ВВЭР, во время планово-предупредительных ремонтов проводятся работы по определению разновысотности положения головок тепловыделяющих сборок (ТВС), измерению кривизны направляющих каналов ТВС, характеристик пружинных блоков ТВС и усилий перемещения поглощающих стержней системы управления и защиты (СУЗ) в направляющих каналах. Ежегодная проверка разновысотности положения головок ТВС осуществляется после загрузки активной зоны реактора в соответствии с требованиями «Рабочего технологического регламента безопасности эксплуатации энергоблока АЭС» эксплуатации энергоблока АЭС с целью определения степени искривления ТВС, которое при определенных значениях делает невозможным эксплуатацию активной зоны реактора.

В настоящее время операция по определению (замеру) разновысотности головок ТВС проводится ручным способом с использованием приспособления для измерения расстояния от головок ТВС до головного разъема реактора (рис. 1) и определения разновысотности характеристик пружинных блоков ТВС (рис. 2) [1].

Указанное приспособление после загрузки ТВС в реактор устанавливается на перегрузочную машину ядерного топлива. Машина перегрузочная (МП) переводится в ручной режим и приспособление опускается вниз до механического контакта с головкой ТВС (рис.1). Одновременно приспособление позволяет измерить высоту головок только семи ТВС из 163, находящихся в реакторе типа ВВЭР-1000. На эту операцию вместе с подготовкой уходит 24 часа.

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