Научная статья на тему 'Выделение объекта в потоке изображений с помощью вейвлет-преобразования'

Выделение объекта в потоке изображений с помощью вейвлет-преобразования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
323
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИЗОБРАЖЕНИЕ / ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЕ / ОПЕРАТОР ДЛЯ ВЫДЕЛЕНИЯ ГРАНИЦЫ / СВЕРТКА / ВЗАИМНАЯ КОРРЕЛЯЦИЯ / IMAQE / WAVELET TRANSFORMATION / EDQE DETECTION / CONVOLUTION / CROSSCORRELATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Нгуен Ван Шон

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Нгуен Ван Шон

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TRACKING THE OBJECT IN THE VIDEO-STREAM BY WAVELET-TRANSFORMATI ON

The problem of trackinq an object in the imaqe stream usinq a wavelet transform is considered. A technique is developed to isolate a qiven area in the video-stream usinq a wavelet transform. The operator has been developed in diqital form to extract the edqes of the i maqe. The software for tracki nq the obj ect on video-stream is realized.

Текст научной работы на тему «Выделение объекта в потоке изображений с помощью вейвлет-преобразования»

УДК 621.383

ВЫДЕЛЕНИЕ ОБЪЕКТА В ПОТОКЕ ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ

В.Ш. Нгуен

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

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

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

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

Вейвлет-преобразование функции_Дх) имеет вид [2, 3, 4, 6]:

1 ^ ( Х _ Ь ^

ж ,у(аь )=7та ^ у(х )¥ _Лх, (1)

а

где а - масштаб, а > 0; Ь - сдвиг; —^ - коэффициент нормирования;

л/а

1

У

'х _ Ь^

а

- оконная функция, которая является ядром преобразования;

Ж у у (а, Ь) - результат преобразования.

Оконная функция у(х) при нулевом сдвиге (т.е. Ь = 0) и единичном масштабе (т.е. а = 1) представляет собой материнский вейвлет, который должен удовлетворять следующим условиям [2, 5]:

оо

2

| у(х)ах = 0; | у(х) йх = 1.

(2)

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

( 2 ^

йт ехр

Ьт (х ) = к т ( 1)т

х

2

йх

т

(3)

где т = 1, 2, 3,...; кт - коэффициент пропорциональности для выполнения условия (2).

Рассмотрим случай выделения границы, когда функция /х) имеет вид смещенной функции Хевисайда:

[1 если х > хо; [0 если х<хо, где хо - положение границы на оси х.

Вейвлет-преобразование функции /1(х) с материнским вейвлетом семейства Гаусса имеет вид:

1 7 _ . ^ (х-Ь_Л

Тт

Жх)=

*А,От (a,Ь)

I /1(х).°п

1

I Ьт

V а

(х -Ъ\ Гг (

ах =л/ а Ь

йх =

хо

V

а

Тт-1

/

хо - Ь

V

а

(4)

Результат преобразования (4) показывает, что вейвлет-преобразование сигнала типа «границы» с вейвлетом От (х) является

функцией От-1

х - Ь

а

, умноженной на

у/а . Из

всех вейвлетов на основа-

нии производных функции Гаусса ни одной функции не является одномо-довой функцией, кроме самого Гауссиана. Следовательно, для наилучшего выделения сигнала/1(х) необходимо применить Wave-вейвлетa (т = 1) среди семейств От (х). При этом максимальное значение сигнала W/ (а, Ь)

всегда достигается в точке Ь = хо, т.е. в момент самого скачка для любого значения масштаба а. График функции W/ (а, Ь) для хо = 1о приведен на

рис. 1. На графике видно, точки (а; 1о) для всех масштабах а являются локальными максимумами.

Для функции/2(х) при т = 1 аналогично можно получить:

'хо -ЬЛ

(a, Ь)=-4а.Оо

42

а

оо

сю

сю

сю

сю

где: /2( х)

0 если х > хц; [1 если х < хц.

Отсюда, при использовании С\(х) для выделения границ функции типа /2( х) то в момент скачка наблюдается локальный минимум при всех масштабах. В результате для получения общего способа представления границ необходимо взять значение функции Ж/ ^ (а,Ь) по ее модулю.

Ь

15

х0=10

0

/С! аЬ)

2

4

Рис. 1. Вейвлет-преобразование сигнала «граница»

Из приведенных случаев можно делать вывод: положение границ функции не зависит от масштаба. Следовательно, при выделении границ можно выбрать наиболее удобное значение масштаба, а именно а = 1.

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

Методика 1. Выделение границ изображения /х, у).

1) Определение «границ» по оси Ох, называемых «вертикальными границами» с помощью вейвлет-преобразования

Ж/ Ах (Ьх, У)= ^ /(х, У)С1 (х - Ьх ух,

(5)

где Ж, С (Ьх, у) - вейвлет-преобразование функции /(х, у) с использова-

7 ,С1х

нием материнского вейвлета С}х = С\ (х) при единичном масштабе.

5

1

3

СЮ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

— оо

2) Определение «границ» по оси Оу, называемых «горизонтальными границами» с помощью вейвлет-преобразования

¥

Ж/С1 (х, Ьу )= I/(х, у)С1 (у - Ьу )йу, (6)

где Ж/ с (х, Ьу) - вейвлет-преобразование функции /(х, у) с использованием материнского вейвлета С1 у = С1( у) при единичном масштабе.

3) Для каждой точки с координатами (х, у) оформить следующую функцию по формуле

/ьу ) =

0 если ЖгС (х, у )< ТН или Ж,С (х, у )< ТН;

/ ,С1х I ,С1у

1

;-^ (7)

Ж г С (х, у )Г + Ж, С (х, у) I в остальных случаях,

/,С1х ' \ /,С1у

где /1 (х, у) - изображение, содержащее границы изображения /х, у); ТН -заданный порог, 0 < ТН < 1. 4) Конец.

В частном случае для изображения

[1 если (х, у) е М; [0 если (х, у) £ М,

где М - область (х > 3 п у > 1)и(х > 2 п у > 2)и((х — 3)2 +(у — 2)2 < 1), порог ТН = 1, можно получить изображение (х, у) (рис. 2).

Вышеприведенная методика позволяет выделять отдельные точки на изображении, обладающие заданными свойствами. При выделении объекта в потоке изображений приняты следующие обозначения: /(х, у) - изображение в момент съемки 1к, к = 0, 1, 2,...; (х, у) - участок изображения

с образом объекта в момент съемки 1к.

Пусть в момент ^ оператор задает участок изображения с образом

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

Методика 2. Выделение объекта на основе заданного участка (х, у) в потоке изображений /к(х, у) с использованием материнского вейвлета С1.

1) Получить образ объекта с заданного участка /00 (х, у) как эталонное изображение:

/о0 (х, * ) =

(8)

/0 (x, *) если х^п < х < xmax и У^ < * < *max; 0 во всех остальных случаях,

где xmin = тЧха0,2х10 - хй0); xmax = ^^хй0,2х10 - хй0) ;

*min = min(*а0,20 - *а0); *max = ^^УйоД0 - Уй0).

4 3 2

0

2 а

3 4 х

4 3

2 1 -

0

1

2

3 4 Ьх

Ь*

4 3

2 1

0

4

3

2 1

0

1

(х,Ьу)

2 б

3 4 х

2

3 4 х

в г

Рис. 2. Выделение границ изображения/3(х,у)

2) Выделить границы изображения /00(х, *) по методике 1, в результате получается изображение (х, у).

3) Формировать изображения /о^ (х,у), которое является изображением /о^ (х, у) в разных масштабах:

45

1

1

1

/0 (X, У) = & {-, £

V а а )

4) Инициализация и цикл. Для к = 1, 2, 3, ... выполнить шаги 5 - 10.

5) Выделить границы изображения /к (х, у) по методике 1, в результате получается изображение /кь (х, у).

6) Вычисление взаимной корреляции двух функций /оь (х, у) и

/кЬ (х, У) в разных масштабах а:

¥ ¥

ка (х, у)= I I /0Ь (X, У)./кЬ (х + X, у + у)^у, (9)

— ¥ —¥

где Ка (х, у) - взаимная корреляция при масштабе а.

7) Найти точку Ма (хк, ук), координаты и масштаб которой опрела | 0к'

деляются максимальному значению функции К0к (х, у) по трем аргумен-

там (а, х, у):

Ма0 (хк, ук) = агд тах К? (х, у). (10)

8) Определить центр Тк и вершину Бк образа с объектом:

Тк(х(к, у(к) =

^ + 2 х 0 — Xdо\, + 2|уГ 0 — уй о'Л

хк +-, ук +

Бк(Чк, Уdk) =(хк, ук).

а0 а0

9) Выдача результата: нарисовать на изображении /к (х, у) прямоугольник с центром Тк (хй, Уtk) и вершиной Бк (хс1к, Уdk).

10) Проверка на прерывание программы по команде оператора. Если да, переходит на шаг 11.

11) Конец.

Для компьютерной реализации программного обеспечения по предложенным методикам необходимо выделить 2 наиболее большие задачи: вычисление вейвлет-преобразования по формулам (5, 6) и вычисление взаимной корреляции по формуле (9). Для вычисления формулы (5) необходимо отмечать, что она может преобразоваться в виде:

¥

,а1х (ьх, у )=— I/(х, у)а1 (ьх — х К = — / (Ьх, у) * ох(Ьх), —¥

где * - операция свертки функций.

Свертку дискретных функций можно вычислить [6, 8]. Отсюда следует, что для вычисления формулы (5) в дискретном случае необходимо аппроксимировать ядро G1. При размерах 5x1 пикселей «цифровое ядро» (т1х имеет вид:

С1х = (^(—2) 61(—1) 61(0) 61(1) 61(2))« «(— 0,305 — 0,684 0 0,684 0,305).

Для получения вычислительной скорости высшие коэффициенты в скобках округляются до целых чисел в соответствующей шкале:

Ах = (— 4 — 9 0 9 4). (11)

Аналогично можно получить 01у:

Ау = 0ХхТ = (— 4 — 9 0 9 4)Т, (12)

Т

где С\х - транспонированная матрица, полученная из матрицы Ах.

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

Шаг 1: вычисление свертки /(х, у) с С1х по формуле:

2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

/в1х (х, у) = I Ах (х)/(х + я, у), (13)

я=—2

где /(-2, у) = /(-1, у) = /(С, у)= /(С + 1, у) = 0; х = 0, 1, 2,., С - 1; у = 0, 1, 2,., Я - 1.

Шаг 2: вычисление свертки /(х, у) с С1у по формуле:

2

/аи (х, у) = I А у (у) / (х, у + я), (14)

я=—2

где/х, -2) = /х, -1) = /(х, Я) = /(х, Я + 1) = 0.

Шаг 3: вычисление яркости изображения /1 (х, у) для каждой пиксели по формуле:

fL (x,У) =

0 если fGlx (x, y) < Th или fGly (x, y) < Th

fG1x (x, У)f +[fG1y (x, У)

2 в остальных случаях.

(15)

Для реализации взаимной корреляции цифровых изображений по формуле (9) лучший способ является методом с использованием преобразования Фурье, так как размер заданного участка f° (x, y) существенно

превышает 30x30 пикселей. Подробное решение можно посмотреть в работе [7].

Вышеприведенные методики реализованы в виде программного обеспечения, сформированного в среде программирования Visual С++. Результат обработки показан на рис. 3.

Результаты экспериментов на изображениях с разными условиями показали что, время поиска заданного участка зависит от многих фактов: разрешение изображения, размер заданного участка, диапазон и шаг изменения масштаба а, заданный порог Th и вычислительная скорость ЭВМ. Для компьютера Core i5-2400 (одно ядро использовалось), оперативная память 4 Гб, разрешение изображения 1012х570 пикселей, размер заданного участка 112х116 пикселей, значения масштабов (0,8; 0,9; 1,0; ...; 1,6),

47

порог ТН = 0,3, время поиска в среднем равно 0,35 с. При указанных условиях, но с разрешением 200х200 пикселей и размером заданного участка 64х64 пикселей время поиска в среднем равно 23 мс. Точность выделения во всех тестах равна 100%.

б

Рис. 3. Результат обработки изображения: а - исходное изображение; б - результирующее изображение

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

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

1. Визильтер Ю.В. Обработка и анализ изображений в задачах машинного зрения: Курс лекций и практических занятий / Ю. В. Визильтер и др. М.: Физматкнига, 2010. 672 с.

2. Добеши И. Десять лекций по вейвлетам. Ижевск: НИЦ Регулярная и хаотическая динамика, 2001. 464 с.

3. Дьяконов В.П. Вейвлеты. От теории к практике. М.: СОЛОН-Пресс, 2010. 400 с.

4. Чуи К. Введение в вэйвлеты. М.: Мир, 2001. 412 с.

5. Астафьева Н.М. Вейвлет-анализ: основы теории и примеры применения // Успехи физических наук, 1996. Т. 166. № 11. С. 1145-1170.

6. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2012. 1104 с.

7. Нгуен В.Ш. Оптимальный метод для корреляционного сопоставления изображений // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ, 2017. Вып. 9. С. 153-158.

8. Kaehler A. Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library / A. Kaehler, G. Bradski. USA: O'Reilly Media, 2017. 1018 p.

Нгуен Ван Шон, асп., sugusl05@yandex.ru, Россия, Тула, Тульский государственный университет.

TRACKING THE OBJECT IN THE VIDEO-STREAM BY WAVELET-TRANSFORMATION

V.S. Nguyen

The problem of tracking an object in the image stream using a wavelet transform is considered. A technique is developed to isolate a given area in the video-stream using a wavelet transform. The operator has been developed in digital form to extract the edges of the image. The software for tracking the object on video-stream is realized.

Key words: image, wavelet transformation, edge detection, convolution, cross-correlation.

Nguyen Van Son, postgraduate, sugusl 05@yandex. ru, Russia, Tula, Tula State University

i Надоели баннеры? Вы всегда можете отключить рекламу.