Исследование алгоритма определения длины и ширины плоских объектов

Садыков С.С., Стародубов Д.Н. ИССЛЕДОВАНИЕ АЛГОРИТМА ОПРЕДЕЛЕНИЯ ДЛИНЫ И ШИРИНЫ ПЛОСКИХ ОБЪЕКТОВ

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

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

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

Примерами задач такого типа являются:

Определение размеров неметаллических включений в сталях при их анализе в соответствии с ГОСТ 1778-70 [1];

Определение длины графитовых включений при анализе структуры отливок из чугуна по ГОСТ 3 4 4 3-87 [2];

Определение длины и ширины дефектов сварных швов в процессе радиографического контроля.

Определение длины протяженных объектов (трещин, волосовин и т.д.) на снимках капиллярного контроля.

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

Сложность заключается в том, что в настоящее время не существует общепринятого способа определения длины и ширины объекта произвольной формы. Часто в качестве длины и ширины объекта используются величины его проекций на оси X и Y. Очевидно, что полученные таким образом характеристики зависят от угла наклона объекта к горизонтали, который заранее неизвестен. Существуют другие способы вычисления длины и ширины, инвариантные к повороту объекта [3], но большинство из них не соответствует общепринятым понятиям длины и ширины для объектов известной геометрической формы.

В [4] предложено следующее понятие: длиной Ь и шириной Щ дискретного объекта считаются длины

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

Рисунок 1 - Описанные вокруг объектов прямоугольники

Вычисление центра тяжести объекта по формуле (1):

1 т п 1 т п

X = о II • /

о = 1= О = 1 =

где 1,1 - текущие координаты элементов объекта; Б - площадь объекта (количество его точек);

1(1,1) - яркость элемента объекта, в бинарном случае = 1«

Поворот точек объекта вокруг его центра тяжести на угол а (а изменяется от 0° до 17 9°с шагом к) по формуле (2):

хн =(х -хц)• С08«-(Г -¥ц)• вта+ Xц

Ун = (У -Уц)• с°8«-(х -хц)• вта + Уц

где X, У - исходные координаты точки; Хи, Ун - новые координаты точки; Хц, Уц - координаты центра

тяжести объекта.

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

точка считается имеющей максимальную кривизну, если у нее в окрестности больше точек фона, чем точек объекта (рисунок 2, формула (3)).

Рисунок 2 - Точки максимальной кривизны плоского объекта

ЕЕ / (*+і, V+і )<5

-1 і=—1

Вычисление проекций объекта на оси X и Y по формуле (4). 1х = Х тах - Хтт +1

/ = V — V + 1

у атах атіп + 1

минимальная и мак-

где ^іп, ^max - минимальная и максимальная координаты объекта по X; Утіп, Утах симальная координаты объекта по Y.

В результате формируется множество Ь = ||/0х,/оу}, {І1Х,/\у},--, {/тх,^ту}} , в котором величины 1ІХ и Ііу

представляют собой длины сторон прямоугольника, описанного вокруг объекта при повороте его на угол іі ІкІ I (рисунок 3) .

а) б)

Рисунок 3 - Описанные вокруг объекта прямоугольники

Определение минимальной проекции на какую-либо ось, например X. Это будет ширина И объекта. Соответствующая ей проекция на другую ось ^) является длиной Ь объекта, а угол поворота а, при котором эти проекции были определены - углом наклона объекта к оси X.

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

Если к равен единице, то объект будет повернут 17 9 раз. При к = 3 объем вычислений сократится приблизительно в 3 раза (59 поворотов). Очевидно, что увеличение данного параметра приведет к погрешностям в вычислениях, которые могут оказаться неприемлемыми в условиях решаемой задачи.

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

Для проведения подобного эксперимента были созданы тестовые объекты, примеры которых приведены на рисунке 4. Всего в проведенном исследовании было обработано 12 0 тестовых объектов на 6 изображениях.

Рисунок 4 - Примеры тестовых объектов

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

Размеры тестовых объектов изменяются в пределах 10 0 - 4 0 0 пикселей. Для объектов меньшего размеры погрешности определения длины и ширины были бы менее заметны. Объекты большего размера нечасто встречаются в системах реального времени, т.к. снимки значительного разрешения потребуют намного больше времени на обработку и анализ.

Экспериментальное исследование проводилось для следующих значений параметра к: 1, 1.5, 2, 2.5,

3, 3.5, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20. Следует заметить, что разработанная для тестиро-

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

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

Ь + Ш

где Ь и Щ - реальные значения длины и ширины;

Ь' и Щ' - значения длины и ширины, найденные с помощью алгоритма.

Время работы алгоритма измерялось в тактах процессора с помощью высокоточного счетчика операционной системы И1п^"мз как разница количества тактов в начале и в конце выполнения алгоритма. Так как И1п^"мз - многозадачная ОС, во время работы алгоритмов могли выполняться системные задачи, затрачивающие часть ресурсов процессора. Но влияние таких задач на конечный результат не должно быть значительным, что позволяет судить о вычислительной сложности алгоритмов при различных параметрах к.

Численные результаты исследования для первых 10 объектов при значениях к 1, 3, 5, 9, 20 приведены в таблице 1.

_____Таблица 1 - Экспериментальные результаты__________________________________________________________________

№ объекта к=1 к=3 к=5 к=10 к=2 0

Б Т Б Т Б Т Б Т Б Т

1 0 1700226 0 852570 3,4 724824 9,83 655803 15,7 580662

2 0,34 25015716 0,34 8921484 0 2 6032718 0,08 3296376 0,09 2116908

3 0 17497305 0 6182946 0,38 4039938 1,62 2180529 4,04 1311570

4 0 36683235 0 13183029 2,11 8492085 5,96 4737384 9,3 3135339

5 0 21529971 0 7964802 0,86 5394573 1,15 3176181 10,67 2135556

6 0 17651025 0 6277230 1,27 3865518 5,42 2194290 8,42 1320597

7 0 15595677 0 5952366 3,41 4027734 9,86 2689560 15,8 1858167

8 0 3519198 0 2892285 3,41 2800593 9,86 2671866 15,8 2611170

9 0 47135367 0 17508087 2,64 12144735 7,55 6876432 11,9 4603356

10 0 40961142 0 14679468 2,99 9743733 8,58 6071535 13,6 4040370

Как видно из таблицы 1, при к = 3 погрешность измерения остается нулевой для всех приведенных объектов, кроме 2-го (который является кругом). При этом время вычислений уменьшено примерно в 2 -2.8 раз. При к = 5 появляется незначительное отклонение результатов (2 - 3 %), которое существенно возрастает при к равном 10 и 20.

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

Тр j

Жсрп =f±-100

ср n

Таблица 2 - Средние значения погрешностей и времени вычислений

K D АТСр k D АТ0р

1 0,023 100,00 7 1,424 47 9, 94

1,5 0,023 143,15 8 2,211 526,32

2 0,015 182,11 9 3,154 572,41

2,5 0,023 217,69 10 3,864 611,70

3 0,023 254,38 12 4,667 684,34

3,5 0,527 282,66 14 4,955 748,84

4 0,815 318,20 16 5,254 7 98, 17

5 1,134 372,85 18 6,862 851,54

6 1,224 426,84 20 8,083 910,61

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

Изменение погрешности

9.0

8.0 # 7,0

Э 4,0 — v

Л 3,0 —

& 2,0 -1,0 —

0,0 ♦ Ф ♦ »

1 1,5 2 2,5 3 3,5 4 5 6 7 8 9 10 12 14 16 18 20

к

Рисунок 5 - Зависимость погрешности вычислений от шага изменения угла поворота Изменение времени работы алгоритм«

0,80 -0,00-----

1 1,5 2 2,5 3 3,5 4 5 б 7 8 9 10 12 14 16 18 20

к

Рисунок 6 - Зависимость времени вычислений от шага изменения угла поворота

Как видно из таблицы 2 и рисунков 5 и 6, использование шага изменения угла поворота до 7° включительно дает погрешность в пределах 1,5 % и прирост производительности алгоритма почти в 5 раз. Если

же даже такая погрешность является значительной, то можно использовать значение к = 3, при котором

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

Литература

1. ГОСТ 177 8-7 0 Сталь. Металлографические методы определения неметаллических включений. - Введ. 1972-01-01. - М.: Изд-во стандартов, 2000. - 35 с.

2. ГОСТ 3 4 4 3-87 Отливки из чугуна с различной формой графита. Методы определения структуры. -

Введ. 1988-01-07. - М.: Изд-во стандартов, 2000. - 43 с.

3. Садыков, С.С. Алгоритмы определения длины и ширины дискретных площадных объектов / С.С. Сады-

ков, Д.Н. Стародубов // Автоматизация и современные технологии. - М.: Машиностроение, 2007. - № 10 -С. 8 - 12.

4. Розенфельд, А. Распознавание и обработка изображений с помощью вычислительных машин: Пер. с

англ. / А. Розенфельд. - М.: Мир, 1972. - 232 с.

5. Патент на полезную модель № 69284, МПК О 0 6 К 9/4 6. Устройство определения длины и ширины объекта / Стародубов Д.Н. - № 2 0 0713312 9/22 ; заявл. 03.09.2007 ; опубл. 10.12.2007, Бюл. № 34.