Линейные операторы с векторными масками в задачах цифровой обработки изображений
А.И. Новиков1, А.В. Пронькин1 1 Рязанский государственный радиотехнический университет имени В. Ф. Уткина, 390005, Рязань, ул. Гагарина, д. 59/1
Аннотация
В работе обосновывается целесообразность применения векторных масок для решения определенного круга задач цифровой обработки изображений. Основное преимущество векторных масок по сравнению с матричными масками заключается в сокращении вычислительной сложности алгоритмов при сохранении, а в некоторых задачах и в улучшении качественных показателей. В статье демонстрируются примеры применения векторных масок в задаче оценивания уровня дискретного белого шума в составе изображения и конструирования на этой основе корректно работающего сигма-фильтра, в задаче детектирования границ для получения сглаженных оценок частных производных, в задаче обнаружения прямых в составе контурного изображения. В работе используются результаты, полученные авторами в их более ранних публикациях.
Ключевые слова: линейные операторы, векторная маска, свертка, оценивание дисперсии шума, детектирование границ, контурное изображение, выделение прямых.
Цитирование: Новиков, А.И. Линейные операторы с векторными масками в задачах цифровой обработки изображений / А.И. Новиков, А.В. Пронькин // Компьютерная оптика. - 2023. -Т. 47, № 4. - С. 596-604. - DOI: 10.18287/2412-6179-CO-1241.
Citation: Novikov AI, Pronkin AV. Linear operators with vector masks in digital image processing problems. Computer Optics 2023; 47(4): 596-604. DOI: 10.18287/2412-6179-CO-1241.
Введение
Системы технического зрения (СТЗ) реального времени предполагают применение наиболее быстрых алгоритмов решения задач, стоящих перед конкретной СТЗ. Например, в бортовых СТЗ летательных аппаратов одновременно могут решаться несколько задач в рамках соответствующих подсистем. Это и задачи совмещения разнородных изображений, задачи обнаружения объектов и т.д. [1, 2]. В каждой подсистеме обработка изображений должна производиться с частотой 25 кадров в секунду. Аналогичные требования по скорости обработки видеоинформации предъявляются к системам видеонаблюдения. По этой причине разработка новых и модификация известных методов и алгоритмов решения задач как предварительной обработки изображений, так и задач высокого уровня являются актуальными. Одним из направлений сокращения вычислительных затрат на обработку изображений является применение линейных операторов (фильтров) с векторными масками для решения определенного круга задач. В настоящей работе рассматриваются три задачи, применение векторных масок в которых позволяет, во-первых, существенно сократить вычислительные затраты, и, во-вторых, обеспечить получение качественного результата на выходе. Первая задача - оценивание дисперсии дискретного белого шума в составе обрабатываемого изображения и модификация на этой основе сигма-фильтра. Вторая задача - получение корректной сглаженной оценки частных производных в задаче детектирования границ перепада яркостей. Третья
задача - обнаружение прямолинейных участков в составе контурных линий контурного изображения.
Применение матричных масок для фильтрации шума, детектирования границ перепада яркостей является общепринятым выбором [3, 4]. В задаче фильтрации дискретного белого шума с помощью линейного фильтра с матричной маской размером ^ + 1)*^ + 1) требуется ^ + 1)2 операций умножения. При применении для этих же целей векторной маски размером ^ + 1) требуется только ^ + 1) операций умножения. Естественно, что линейные фильтры с матричными масками обеспечивают более эффективное подавление шума. Эффективность подавления дискретного белого шума с помощью линейных фильтров зависит как от коэффициентов маски фильтра, так и от ее размеров. Чем больше размер маски, тем эффективнее подавление шума. Однако увеличение размеров маски приводит одновременно к увеличению размытия границ, что в некоторых задачах обработки изображений является нежелательным явлением. Разрешить это противоречие можно за счет использования нелинейных фильтров, позволяющих учитывать локальные особенности изображения в пределах матричной маски.
Нелинейные фильтры, в частности билатеральный фильтр и сигма-фильтр, позволяют учитывать локальные особенности изображения при правильной настройке параметров, входящих в состав этих фильтров [5, 6]. При этом для реальных СТЗ предпочтительно использование сигма-фильтра из-за его низкой вычислительной сложности. Препятствием к эффективному применению сигма-фильтра является необ-
ходимость правильной установки регулируемого параметра - порога отсечения А = то. Здесь о - оценка среднеквадратического отклонения (СКО) шума в составе изображения, т - задаваемый параметр (рекомендуемое значение 2). Задание корректного значения порога в сигма-фильтре за счет получения адекватной оценки уровня шума в составе изображения позволяет эффективно подавлять шум и при этом сохранять границы перепада яркости.
Для получения оценок частных производных в задаче детектирования границ перепада яркостей традиционно используются матричные маски Собеля, Превита и другие [3, 7, 8]. Однако, как показано в работе [9], не менее эффективные оценки частных производных в составе вектора градиента можно получать с помощью векторных масок специального вида. Коэффициенты маски являются оценками метода наименьших квадратов (МНК) коэффициента Ь в линейной модели у = а + Ьх с конечной памятью. Такая векторная маска обеспечивает получение сглаженных оценок частных производных. Как следствие, исключается предварительный этап сглаживания изображения, без которого не могут работать методы Собеля, Превитта и Кенни. А это, в свою очередь, позволяет сократить вычислительные затраты на детектирование границ.
Широко известный метод Хафа [10] обнаружения прямых на изображении и определения их параметров имеет достаточно большую вычислительную сложность [11]. Предложенный в [12] метод обнаружения прямых имеет линейную сложность О(п) относительно числа п пикселей в составе контурного изображения. В основе метода детектирования прямых в составе контурного изображения лежит оценка второй производной вдоль исследуемого контура. И в этом случае оценка производной второго порядка ищется с помощью векторной маски, весовые коэффициенты которой получены как МНК-оценки в полиномиальной модели второго порядка на промежутке конечной длины (модель сигнала с конечной памятью).
Ниже в теоретической части приводятся алгоритмы построения векторных масок для получения сглаженных оценок сигнала и его производных первого и второго порядка в каждой точке среза изображения по строке или по столбцу.
1. Теоретическая часть
При решении задач цифровой обработки с применением векторных масок часто целесообразно применять векторные маски, весовые коэффициенты в которых получены как МНК-оценки в рамках линейной или квадратичной модели с конечной памятью. Методы получения таких масок хорошо известны [1315]. Например, на отрезке малой длины (2к + 1) (5 - 9 пикселей) можно считать, что срез изображения по строке или столбцу адекватно описывается многочленом второй степени, то есть
/ (х) ~ а0 + а! (х - х0) + а2 (х - х0 )2, х ^ ^ х0 к, х0 + к |.
В (1) а0 = /(хэ), а: = Э/(х0)/Эх, а2 = (Э2/(х0) /Эх2) /2.
(1)
Как известно, оптимальную оценку вектора А = (а0, аь а2)Т в составе модели (1) можно найти с помощью метода наименьших квадратов [13]. Искомая оценка имеет следующий вид
А = (ТТ ТТ ТТ Р,
(2)
где
А = (а0, аь а2 )Т,
Р ((х> - к, /х0 - к+1,..., /хв ,..., /хв + к-1, /хв + к Т
(
ТТ =
1 1
-к -к +1
1
к -1
(к - 1Т2 ... 0 ... (к - 1Т2
1
к
к2
Легко устанавливается, что матрица ТТ Т в составе формулы (2) имеет вид
2к +1 ТТ Т =-Р,
где
Р
к (к + 1Т
V
а обратная к ней
0
к (к + 1Т 0
к (к + 1Т 0
к (к + 1Т(3к2 + 3к- 1Т
(ТТТТ =-
4к2 - 1Т(2к + 3Т
Я,
(3)
где
(3к2 + 3к - 1Т 0
(2к - 1Т(2к + 3Т
-5
к (к + 1Т 0
-5 0 15
к (к + 1Т
Формулу (2) можно переписать в следующем виде, более удобном для практического применения в задачах обработки сигналов с помощью векторных масок
(4)
' 4 ^ Г (Я0, Р Т
а1 = (чь Р Т
V (^р тТ
3
3
В (4) векторы qo, qь Ч2 являются элементами соответственно первой, второй и третьей строк матрицы
(тТ Т) ТТ ,
а выражения ^о, F), F), (q2, F) - скалярными произведениями (свертками) каждого из названных векторов с вектором F. Отметим, что каждый из векторов q0, ql, q2 образует векторную маску длины (2к + 1).
Произвольный столбец с номером /, /е{-к, -к+1, ..., -1, 0, 1,...к} матрицы ТТ имеет вид (1 //2)Т. Умножив первую (вторую или третью) строку матрицы (3) на данный вектор-столбец, получим формулу для вычисления коэффициентов с/, /=-k,-k+1,., 0,., к-1, k соответственно вектора qo (ql или q2). Так, весовые коэффициенты с/ вектора qo будут находиться по формуле
С/ =-
(4к2 - l)(2k + 3) / = -к, -k +1,...,0,..., k -1, k.
(3k2 + 3k -1 - 5 /2),
(5)
Векторные маски в виде вектора q0 можно использовать для получения оценки значения функции / в точке Х0 (/(Х0) = (qo, F)). В частности, для длин 5 (к = 2) и 7 (к = 3) из (5) получаем маски
1
^ =—(-3,12,17,12, - 3),
35 1
(6)
q0 = —(-2,3,6,7,6,3, - 2).
21
Вектор q1 можно использовать для получения МНК-оценки производной функции / в точке х0 (/(Х0) = ^1, F)). Весовые коэффициенты // вектора ql будут находиться по формуле
С/ =■
k (к +1)(2к +1)
/ = -k, -к +1,...,0,..., k -1, k.
(7)
В частности, для длин 5 (к = 2) и 7 (к = 3) из (7) получаем маски
q1 = — (-2, -1,0,1,2),
ч1 10 V
ql = ^ (-3, - 2, -1,0,1,2,3).
(8)
Вектор q2 можно использовать для получения МНК-оценки производной второго порядка функции / в точке Х0 (/'(Х00) = 2 ^2, F)). Весовые коэффициенты С/ вектора q2, как следует из (2) с учетом (3), будут находиться по формуле
15
С k(к +1)(4к2 -l)(2k + 3) / = -k, -к +1,...,0,..., k -1, k.
((/2 -k(к +1)),
(9)
В частности, для длин 5 (к = 2) и 7 (к = 3) из (9) получаем маски
q2=й (2, -1 -2, -1,2) 114 (10)
а2 = — (5,0, - 3, - 4, - 3,0,5). 42 84У '
2. Фильтрация шума
Перечисленные векторные маски, весовые коэффициенты в которых найдены как МНК-оценки в соответствующей модели с конечной памятью, не исключают применение при решении задач и более простых векторных масок с целочисленными весовыми коэффициентами. Например, для фильтрации дискретного белого шума можно использовать линейные фильтры с масками:
• равномерным распределением весовых коэффициентов
qo =
1
2k +1
(1,1,...,1),
V/ = -к,-к +1,...,0,...,k-1,k: с/ =
Гауссова маска
1
(11)
2k +1,
а0 =-1-(1, 2, 4,..., 2к-1, 2к,2к-1,...,4,2,1),
3 • 2к - 21 >>>>;>
(
V/ = -к,-к +1,...,0,...,к -1,к: Сj =
Л
(12)
3 • 2к - 2
Маски с целочисленными коэффициентами позволяют работать в целочисленной арифметике и, как следствие, обеспечивают определенный выигрыш во времени обработки одного кадра изображения. Полиномиальная (5), равномерная (11) и Гауссова (12) маски как маски линейных фильтров действуют на фрагмент изображения одинаково, не учитывая локальные особенности распределения яркостей в пределах фрагмента. Каждая из них, как и маски других линейных фильтров, обеспечивает определенный уровень подавления дискретного белого шума и одновременно размытие полезной составляющей изображения.
Для оценивания сглаживающих свойств линейных операторов удобно использовать коэффициенты, которые естественным образом вытекают из свойств линейных фильтров и дискретного белого шума. Приведем формальное описание этого подхода. Если - дискретная случайная величина такая, что
М И = 0, М [^] = 0, Б = ^..^
- ее реализация, /1, С2,•••> Ст, - весовые коэффициенты линейного фильтра (оператора), причем
т
Т С/ = 1,
/=1
а
Л = £ Чу % у
у=1
- результат фильтрации, то
т
в [л] = Iч у2 • в [%],
у=1
= < I Чу2 о%.
(13)
(14)
(15)
у=1
Преобразование (13) удобно записывать в операторной форме ^ = А [%], где А - оператор, осуществляющий отображение А: Ят ^ Я в соответствии с формулой (13). Коэффициент
У=, IЧу2
(16)
в составе формулы (15) является числовой характеристикой уровня шума в преобразованной (сглаженной) случайной последовательности {^к}. Он характеризует остаточный уровень шума в сглаженной последовательности относительно среднеквадратического отклонения о% в исходной случайной последовательности. Коэффициент у можно назвать коэффициентом остаточного уровня шума.
Обозначим линейный оператор с маской (11) - А1, с Гауссовой маской - А2, и полиномиальный оператор с весовыми коэффициентами маски (5) - Аз. Названные операторы являются центрально-симметричными. Для них т = 2к+1, а весовые коэффициенты удовлетворяют условию симметрии: Чу = Ч-у, у = 1, к . В этом случае формула (16) принимает следующий вид
У1 ,£ч;'
Легко проверить, что для линейного оператора А1 с равномерной маской (11) -
У =-
1
42к +1'
для Гауссова оператора А2 с маской (12) -1
У2 =
3 • 2к - 2
5 • 4к - 2
3 :
для полиномиального оператора А3 с маской (5) -
У3
= \[ч0 = ,
3 (3к2 + 3к - 1Т '(4к2 - 1Т(2к + 3Т.
Обоснуем формулы для коэффициентов у2 и 73.
Для этого необходимо вычислить суммы ^ .
у =-к
Поскольку для оператора А2:
Чу =
3 • 2к - 2
у = -к, к,
и в силу симметрии Чу = Ч-у для всех у = 1, к, то прямой подсчет дает следующий результат
I Чу2 =
у=-к
Значит,
У2 =
1
3 • 2к - 2
5 • 4к - 2
3 • 2к - 2
5 • 4к - 2
3
Для весовых коэффициентов маски полиномиального оператора А3 справедливо равенство
I Чу2 = Ч0.
[15]
у=-к
Тогда у3 = и из формулы (9) при у = 0 получаем искомый результат
У3 =.
3 (3к2 + 3к - 1Т
Щ4к2 - 1Т(2к + 3^
Например, для масок длины 5 операторов А1, А2, А3 соответственно значения коэффициента у будут следующими:
у1 „ 0,447, 5
У2
= —л/26 = 0,51,
10
17
У3 = =0,697. '3 4 35
Значит, операторы с масками = 1/5 (1, 1, 1, 1, 1), =1/10 (1, 2, 4, 2, 1), =1/35 (- 3, 12, 17, 12, - 3) снижают уровень шума на 55 %, 49 % и 30 % соответственно.
В случае аналогов операторов А1, А2, но уже с матричными масками размером (2к+1)*(2к+1), их весовые коэффициенты вычисляются по формулам
А1 : Чу =
1
(2к + 1Т
, V/, у = -к, к,
А2 : Ч'у = ■
(2к+1 + 2к -2 Т
, V/, у = -к, к.
В этом случае коэффициент У остаточного уровня шума вычисляется по формуле
У =
( к к II ч2 ,
V1=-к у=-к у
и будет равен: для оператора Ai -
_ i
Yi _ 2k + i'
для оператора A2 -5 • 4k - 2
У2 _
3•(З•2k -2)
Задача минимизации дисперсии Б остаточного шума, как следует из формулы (14), эквивалентна следующей задаче на классический условный экстремум
^ min '
q-k '...Л
Z qj
j _-k
tqj _ i.
j _-k
Легко показать с помощью метода неопределенных множителей Лагранжа, что ее решением является вектор
qo _
i
2k + i
(i'i'...'i)
длины 2к+1. Значит, линейный оператор А1 с равномерной маской обеспечивает наилучшее подавление дискретного Гауссова шума в классе линейных фильтров. Однако одновременно этот оператор в наибольшей степени размывает изображение. Наихудшее подавление шума из трех рассмотренных линейных операторов с векторными масками обеспечивает полиномиальный оператор А3. Но и размывает он изображение в наименьшей степени (среди названных трех операторов). Гауссов оператор А2 оказывается наилучшим из трех операторов по интегральному показателю эффективности: «подавление шума+сохранение границ».
Хорошим компромиссом между эффективностью подавления шума и сохранением при этом границ является применение нелинейных фильтров - сигма-фильтра и билатерального фильтра [5, 6]. Применение билатерального фильтра в СТЗ, работающих в реальном времени, затруднительно из-за высокой вычислительной сложности алгоритма. Сигма-фильтр имеет низкую вычислительную сложность. Однако эффективное подавление шума с сохранением границ с его помощью возможно лишь при условии установления адекватного значения порога отсечения А = дао. Для этого необходимо знать значение о СКО дискретного Гауссова шума в составе обрабатываемого изображения. Такая модификация сигма-фильтра, основанная на предварительном оценивании СКО о в составе обрабатываемого изображения, предложена в [16].
Для получения адекватной оценки СКО шума изображение разбивается на блоки заданного размера. В каждом блоке вычисляются выборочные дис-
персии изображения. Выбираются 5 блоков с минимальными дисперсиями. В каждом из пяти выбранных блоков, в свою очередь, выбираются несколько строк. К срезам изображения в этих строках применяется в скользящем режиме разностный оператор В = А3 (7) - А3 (5) с векторной маской. Здесь А3 (7) и А3 (5) - полиномиальные операторы с векторными масками (6) длин 7 и 5 соответственно. В условиях аддитивной модели изображения «сигнал+шум»:
Ij _ Uj + ^' i _ i'M, j _ i,N'
(i7)
оператор В будет удалять детерминированную низкочастотную компоненту и и одновременно преобразовывать (сглаживать) случайную составляющую так, что В£, = ^ и
БМ = (Х Р2]БИ = р2о2.
Отсюда получаем формулу для оценки СКО о^:
( ( к ллХ
о
Я [п]/| Z р;
Как показано в [16], эта формула может быть упрощена. В соответствии со свойством коэффициентов полиномиального фильтра
k
s _-k
Z Р2 _Po
искомая оценка о ^ принимает следующий вид оD[л]/ро .
В частности, для оператора B = A3 (7) - A3 (5) коэффициент Ро = i6/i05 и пот;ому оценка СКО будет иметь следующий вид о^ _ V¡05/4 ол.
Найденная оценка о^ СКО дискретного Гауссова шума в составе обрабатываемого изображения может быть использована теперь для формирования корректного значения порога отсечения А _ то^ в сигма-фильтре. Ошибки оценивания СКО шума рассмотренным методом находятся в пределах 2 - 5 %, что подтверждается многочисленными экспериментами, результаты которых приведены в работе [i6].
Усредненные результаты оценивания СКО шума на серии изображений подстилающей поверхности приведены в табл. i.
Табл. 1. Результаты оценивания СКО шума
СКО наложенного шума о^ Оценка о ^ СКО шума
i i,32
5 5,09
i0 9,98
i5 i4,89
20 i9,92
25 25,02
30 29,95
Отметим, задача оценивания дисперсии шума в составе обрабатываемого изображения решалась многими авторами. Исследовались разные подходы к решению данной задачи. В частности, простейшие медианные методы [17], блочные методы [18], методы, основанные на применении вейвлет-преобразования [19] и преобразования Фурье [20, 21].
Все названные методы оценивания дисперсии шума проигрывают описанному выше методу [16] по точности оценок дисперсии шума. Не уступает он этим методам и по вычислительной сложности.
3. Детектирование границ
Все известные детекторы границ градиентного типа используют матричные маски для получения оценок частных производных в составе градиента функции яркости изображения [3, 15]. Как показано в работе [9], применение векторной маски с весовыми коэффициентами, вычисляемыми по формуле (7), позволяет получать контурное изображение, не уступающее по основным характеристикам изображению, получаемому с помощью метода Кенни [22]. В общем виде искомая векторная маска длины (2к +1) имеет следующий вид:
3
k (k + i)(2k +1)
(-k,-k +1,...,-1,0,1,...,k-1,k). (18)
Множитель 3/(к (к+1) (2к+1)) в составе (18) можно опустить, поскольку (в соответствии с логикой градиентных методов) сравниваются между собой значения модулей градиентов в соседних пикселях. Поэтому рабочая маска имеет следующий вид
(-k, - k +1,..., -1,0,1,..., k - 1,k).
(19)
Эта маска обеспечивает нахождение оптимальной (в соответствии с критерием метода наименьших квадратов) оценки параметра Ь в рамках линейной I (х, У0) = а + Ьх + %х, %xeN (0, о2), хе[х,- - к; х, + к] и квадратичной (1) моделей среза изображения I (х, у) по строке у0 [15]. Поскольку
Э((х, yo)) Э(а + bx)
Эх
Эх
= b,
то при скольжении по строке у0 с такой маской получаются оценки частной производной Эх 1у0. Здесь уо отождествляется с у0, а х, - с /. Аналогично находятся оценки частных производных Эу 1у с помощью этой же маски (18), но уже при скольжении по столбцам.
Длину I = 2к+1 окна скольжения целесообразно выбирать равной 5 для изображений с низким уровнем шума и равной 7- 11 для зашумленных изображений. Поскольку оценки частных производных с маской (18) получаются «сглаженными», то отпадает необходимость в предварительном сглаживании (размытии) изображения. Соответственно сокращается вычислительная сложность алгоритма.
Общая схема алгоритма такова. На первом шаге в каждом пикселе вычисляются оценки модуля градиента и его направление. Для этого в скользящем режиме сначала проходятся строки изображения и вычисляются оценки частных производных Эх 1у. Затем проходятся столбцы и вычисляются оценки частных производных Эу у Вычисляются оценки модулей градиентов и их направления. Таким образом, на первом шаге алгоритма в каждом пикселе (1,у) изображения
ItJ, i = k +1, M - k, j = k +1, N - k,
вычисляются:
• оценки частных производных Эх 1у и Эу 1у с помощью маски (5);
• модуль градиента
|VIj| = ((Э Jj )2 + (Э yij )2
• направление а вектора градиента.
Множество всех возможных направлений вектора градиента сводится к 8 основным направлениям 0°, ± 45°, ± 90°, ± 135°, 180°. Отнесение направления вектора градиента в каждом пикселе к одному из указанных направлений производится по следующей схеме:
- если Эх I > 0, а |Эу I| < 0,414-Эх I, то а = 0°;
- если Эх I> 0, а 0,414-Эх I<|Эу I| < 2,414-Эх I, то
а = sign (ЭуI)-45°;
- если |ЭуI < 2,414-Эх I, то а = sign (Эх I)-90°;
- если Эх I< 0 и 0,414 |ЭхI\ <|Эу I| < 2,414-|Эх I|, то
а = sign (ЭуI)-135°.
В сравнениях использовано, что tg (22,5°) = 0,414, tg (67,5°) = 2,414.
На втором шаге алгоритма вводятся два порога, с помощью которых, как и в методе Кенни, все множество значений модулей градиентов разбивается на три подмножества
где
А =Н1:1VIImn <lVIj| ,
D2 ={|VIj|:A, <|VIj| <A2}, D3 ={|VIj| :A 2 <|VIj| <|VI| max } ,
|VI| max = mfl VIij I,
lVIl min=n;iijnl VIj I.
Значения модуля градиента, принадлежащие множеству В1, исключаются из числа вычислительных процедур на втором шаге алгоритма при поиске локальных максимумов модулей градиента. Это позволяет дополнительно сократить объем в^1числительн^1х операций в предлагаемом методе детектирования границ.
В методе Кенни сначала находится по гистограмме значение верхнего порога А2, а затем по нему -нижнего А1. Цель такого подхода - сохранить (обна-
ружить) все «сильные» линии. Недостаток подхода заключается в формировании избыточного числа (например, в задачах обработки аэрокосмических изображений подстилающей поверхности Земли) коротких неинформативных линий, которые затрудняют анализ сформированного контурного изображения. Эту особенность метода Кенни отмечали еще Гонсалес и Вудс [3]. В предложенном в [9] градиентном методе детектирования границ сначала находится по гистограмме значение нижнего порога, а затем по нему - верхнего порога. При этом значение нижнего порога подбирается так, чтобы число формируе-
мых коротких линий, образованных «слабыми» пикселями, было минимальным. Подробное изложение названного метода с описанием его программной реализации приведено в работе [23].
На рис. 1 и 2 демонстрируются отличия в сформированных в автоматическом режиме контурных изображениях по описанному методу и по методу Кенни. На рис. 1 приведены результаты детектирования изображения водных объектов в плоскости Земли, полученных с борта летательного аппарата, а на рис. 2 - результаты детектирования рентгеновского снимка кисти руки.
а) б)
Рис. 1. Исходное изображение (а), изображения границ: по предложенному методу (б), контурное изображение по методу Кенни (в)
а) б)
Рис. 2. Входное изображение «Кисть руки» (а), контуры, выделенные по предложенному методу (б),
контуры, выделенные по методу Кенни (в)
Можно отметить, что в обоих случаях контурные изображения, сформированные по предложенному методу, содержат существенно меньше коротких линий (в 2 - 6 раз), чем по методу Кенни. При этом время, затраченное на обработку изображений по предложенному методу, в 2,5 - 3 раза меньше, чем в методе Кенни.
4. Обнаружение прямых в составе контурного изображения
Наиболее известными методами выделения прямых линий на изображениях являются метод Хафа [10] и метод, основанный на преобразовании Радона [24]. Оба метода обеспечивают обнаружение прямых на изображении и оценивание их параметров. Однако каждый из них имеет высокую вычислительную сложность. Более простой в вычислительном отношении алгоритм, обеспечивающий удовлетворительное решение задачи обнаружения прямых на изображениях подстилающей поверхности Земли, можно построить на основе анализа оценок производной второго порядка вдоль контурной линии. На прямой производная второго порядка обращается в ноль. Поэтому близость оценок второй производной к нулю может быть использована для детектирования прямых на контурном изображении.
Изолированный контур можно рассматривать как упорядоченный набор {(х,у)} пар чисел (х,у) - координат пикселей контура. В свою очередь, упорядоченные списки значений {х,)) координаты х и значений {у,-)) координаты у можно рассматривать как
временные ряды. На прямолинейных участках обрабатываемого контура свертка любого фрагмента
{х,+1}
или
1=-к
временного ряда
{ у,-+11
{х, К
или
{у,- £
имеющего длину (2к +1), с одной из масок, получаемых из формулы (9) для заданной длины 2к+1 окна скольжения, должна принимать либо нулевое значение, либо периодически повторяющиеся наборы близких к нулю чисел.
Обозначим X = q2 • х, У = q2 • у - свертки вектора q2 с фрагментами х = {х,+1 )к и у ={уI+1 }к к длины
)к
' 1=-к " ^ ^ } 1=-к 2к+1 временных рядов {х} и {у} соответственно. В итоге алгоритм идентификации прямолинейных участков контура может быть описан в виде следующих шагов:
к
Шаг 1. В каждом пикселе (х, у) вычисляются значения сверток X = • х, и У = • у, а также значение статистики Я = (X 2 + У 2)1/2.
Шаг 2. Если на некотором наборе пикселей длины 2к+1 значения X = 0 и (или) У = 0 и при этом Я < 8, где 8 - заданное значение порога, то принимается решение о том, что анализируемый фрагмент контура в составе 2к+1 пикселей может принадлежать некото -рой прямой.
В пиксельном пространстве на прямых у = Ь, у = ± х + Ь значения статистик X, У и Я будут равны нулю. Однако на прямых у = ах + Ь, угловой коэффициент а которых не равен 0 или ±1, значения этих статистик могут отличаться от нуля. Поэтому для принятия решения о принадлежности анализируемого фрагмента контура к некоторой прямой вводится порог 8, с которым сравнивается значение статистики Я.
На рис. 3 представлен результат обнаружения прямых предлагаемым методом на изображении линии электропередач в лесном массиве.
Рис. 3. Входное изображение «Линия электропередач» (а), выделенные контуры (б), прямые линии, обнаруженные предложенным методом (в)
Заключение
Приведены способы получения векторных масок с заданными свойствами в виде оценок метода наименьших квадратов. Рассмотрены три группы задач, применение в которых линейных операторов (фильтров) с векторными масками позволяет, во-первых, существенно сократить вычислительные затраты и, во-вторых, получить решения задач, не уступающих по качеству известным аналогам.
В задаче оценивания дисперсии шума в составе реального изображения получены результаты, превосходящие известные аналоги и по вычислительной сложности, и по точности получаемых оценок. Предложенный детектор границ, основанный на вычислении оценок частных производных в составе вектора градиента как оптимальных оценок метода наименьших квадратов, позволил отказаться от предварительного сглаживания изображения, являющегося необходимым этапом в методе Кенни, и в результате позволил сократить по сравнению с этим методом вычислительные затраты в 3 раза. Для детектирова-
ния прямых в составе контурного изображения предложено использовать в скользящем режиме свертки векторных масок, реализующих получение оценок производной второго порядка, со связным множеством пикселей контура. Такой подход обеспечивает линейную сложность алгоритма относительно числа пикселей в составе контура.
References
[1] Kostyashkin LN, Nikiforov MB, eds. Image processing in aviation vision systems [In Russian]. Moscow: "Fizmatlil" Publisher; 2016.
[2] Alpatov BA, Babayan PV, Balashov OE, Stepashkin AI. Methods for automatic detection and tracking of objects [In Russian]. Moscow: "Radiotehnika" Publisher; 2008.
[3] Gonzalez RC, Woods RE. Digital image processing. Pearson; 2005.
[4] Soifer VA, Sergeev VV, Popov SB, Myasnikov VV. Theoretical foundations of digital image processing [In Russian]. Samara: Samara National Research University named after Academician S.P. Koroleva Publisher; 2000.
[5] Tomasi C. Manduchi R. Bilateral filtering for grey and color images. Sixth Int Conf on Computer Vision 1998: 839-846.
[6] Lee JS. Digital image smoothing and the sigma filter. Comput Graph Image Process 1983; 24(2): 255-269.
[7] Vizilter UV, Zheltov SU, Bondarenko AV. Image processing and analysis in machine vision problems [In Russian]. Moscow: "Fizmatkniga" Publisher; 2010.
[8] Schowengerdt RA. Remote sensing: Models and methods for image processing. Amsterdam: Elsevier Ink; 2006.
[9] Novikov AI, Pronkin AV. Detector of gradient type borders for understanding surface images [In Russian]. Vestnik RGRTU 2019; 68: 68-76. DOI: 10.21667/19954565-2019-68-2-68-76.
[10] Hough PV. Machine analysis of bubble chamber pictures. 2nd Int Conf on High Energy Accelerators and Instrumentation 1959: 554-558.
[11] Ershov EI, Terekhin AP, Karpenko SM, Nikolaev DP. On the exact estimation of inaccuracies in the line approximation in the fast hough transform algorithm [In Russian]. Information Technology and Systems 2015: An IITP RAS Interdisciplinary Conference & School 2015. 858-868.
[12] Novikov AI, Melnikova ES, Ustykov DI. Straight line detection method for images based on the proporties of curvature. 22th Int Conf on Digital Signal Processing and its Applications (DSPA) 2020: 1-4.
[13] Kendall MJ, Stewart A. Multivariate statistical analysis and time series [In Russian]. Moscow: "Nauka" Publisher; 1976.
[14] Anderson TW. The statistical analysis of time series. New York: John Wlley and Sons Inc; 1994.
[15] Novikov AI. The formation of operators with given properties to solve original image processing tasks. Pattern Recognition and Image Analysis 2015; 25: 230-236. DOI: 10.1134/S1054661815020194.
[16] Novikov AI, Pronkin AV. Methods for image noise level estimation. Computer Optics 2021; 45(5): 713-720. DOI: 10.18287/2412-6179-CO-894.
[17] Donoho DL. De-noising by soft-thresholding. IEEE Trans Inf Theory 1995; 41(3): 613-627.
[18] Olsen SI. Noise variance estimation in images. 8th Scandinavian Conference on Inage Analysis 1993.
[19] Ghazal M, Amer A, Ghrayeb A. Structure-oriented spatiotemporal video noise estimation. IEEE Int Conf on Acoustics Speech and Signal Processing 2006: 845-848.
[20] Lapshenkov EM. No reference estimation of noise level of digital image is based on harmonic analysis [In Russian]. Computer Optics 2012; 36(3): 439-447.
[21] Voskoboinikov UE, Krysov DA. Estimation of the noise measurement characteristics in the model "Signal + Noise" [In Russian]. Automatics and Software Enginery 2018; 3(25): 54-61.
[22] Canny J. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence 1986; 8: 679-698.
[23] Novikov AI, Pronkin AV. Method and program for detecting borders of brightness difference [In Russian]. Proc VI Int Conf on Information Technology and Nanotechnology (ITNT) 2020; 2: 111-119.
[24] Brady ML, Yong W. Fast parallel discrete approximation algorithms for the Radon transform. Proc fourth annual ACM Symposium on Parallel Algorithms and Architectures 1992: 91-99.
Сведения об авторах
Новиков Анатолий Иванович, д.т.н., доцент, профессор кафедры высшей математики и кафедры электронных вычислительных машин Рязанского государственного радиотехнического университета имени В.Ф. Уткина. Область научных интересов: численные методы линейной алгебры и обратных задач, математические методы цифровой обработки изображений. Orcid.org/0000-0002-8166-8234. E-mail: novikovanatoly@yandex.ru .
Пронькин Антон Викторович, аспирант кафедры электронных вычислительных машин Рязанского государственного радиотехнического университета имени В.Ф. Уткина. Область научных интересов: программирование, обработка и анализ изображений. 0rcid.org/0000-0003-2832-7462. E-mail: antoniopronkin@mail.ru .
ГРНТИ: 28.23.15
Поступила в редакцию 19 октября 2022 г. Окончательный вариант - 17 декабря 2022 г.
Linear operators with vector masks in digital image processing problems
A.I. Novikov1, A. V. Pronkin1 1 Ryazan State Radio Engineering University named after V.F. Utkin, 390005, Ryazan, Russia, Gagarina 59/1
Abstract
The paper shows that it is expedient to use vector masks for solving some types of digital image processing problems. The main advantage of vector masks compared to matrix masks is that they reduce the computational complexity of algorithms while maintaining, and in some problems even improving, quality indicators. The article demonstrates examples of the use of vector masks in the problem of estimating the level of discrete white noise in an image, forming a basis for constructing a correctly working sigma filter, which are used for obtaining smoothed partial derivative estimates in the problem of edge detection and detecting straight lines in a contour image. The work uses results obtained by the authors in their earlier publications.
Keywords: linear operators, vector mask, convolution, noise variance estimation, edge detection, contour image, line detection.
Citation: Novikov AI, Pronkin AV. Linear operators with vector masks in digital image processing problems. Computer Optics 2023; 47(4): 596-604. DOI: 10.18287/2412-6179-CO-1241.
Authors' information
Anatoly Ivanovich Novikov, Doctor of Technical Sciences, Associate Professor, Professor of Higher Mathematics and Electronic Computing Machines departments of the Ryazan State Radio Engineering University named after V.F. Utkin. Research interests: numerical methods of linear algebra and inverse problems, mathematical methods of digital image processing. Orcid.org/0000-0002-8166-8234. E-mail: novikovanatoly@yandex.ru .
Anton Viktorovich Pronkin, Postgraduate student of Electronic Computing Machines department of the Ryazan State Radio Engineering University named after V.F. Utkin. Research interests: programming, image processing and analysis. 0rcid.org/0000-0003-2832-7462. E-mail: antoniopronkin@mail.ru .
Received October 19, 2022. The final version - December 17, 2022.