11
Быстрый алгоритм оценки движения полным перебором, основанный на использовании быстрых алгоритмов преобразования Фурье Авторы: кандидат технических наук, доцент Омского государственного университета путей сообщения Альтман Евгений Анатольевич, аспирант Омского государственного университета путей сообщения Захаренко Елена Игоревна

Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

  • Upload
    aist

  • View
    89

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

Быстрый алгоритм оценки движения

полным перебором, основанный на

использовании быстрых алгоритмов

преобразования Фурье

Авторы:

кандидат технических наук,

доцент Омского государственного университета путей сообщения

Альтман Евгений Анатольевич,

аспирант Омского государственного университета путей сообщения

Захаренко Елена Игоревна

Page 2: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

2

Оценка движения

Рисунок 1– Схема работы алгоритма блочного сопоставления блоков (BМА)

Рисунок 2 – Оценка движения

методом полного перебора Рисунок 3 – Трехшаговый поиск (TTS)

Page 3: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

(4)

(2)

(1)

3

Суммарная квадратичная ошибка

(Sum of Square Difference – SSD)

Суммарная квадратичная ошибка (Sum of Square Difference – SSD):

1 12

0 0

( , ) ( ( , ) ( , )) ;h wN N

y x

SSD i j B x y S x i y j

где i, j – координаты вектора движения относительно текущего блока,

i ϵ (–Sw/2; Sw/2), j ϵ (–Sh/2; Sh/2);

x, y – координаты точки блока; Nw×Nh – размер блока; B – текущий блок;

S – ссылочный блок размером Sw×Sh, ω –коэффициент, регулирующий степень

возрастания функции.

1 12

0 0

3 ( , ),h wN N

y x

SSD S x i y j

1 1

0 0

2 ( , ) ( , );h wN N

y x

SSD B x y S x i y j

1 12

0 0

1 ( , );h wN N

y x

SSD B x y

(3)

Page 4: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

4

Быстрые методы вычисления корреляции

теорема о свертке

алгоритмы разложения

на несколько членов и

преобразования

быстрое преобразование Фурье (БПФ)

алгоритм Винограда

теоретико-числовое преобразование (ТЧП)

( ( ) ( ))out IDFT DFT x DFT y

Page 5: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

5

Сравнение методов вычисления корреляции

по теореме о свертке

Таблица 2. Вычислительная сложность алгоритмов SSD при S =2N=32

Таблица 1. Вычислительная сложность алгоритмов SSD при S=2N=16

Алгоритм

Вещественные

арифметические операции Всего

операций

Сложность

алгоритма,

% SSD2 SSD3

× + × +

SSD по прямой формуле, FS – – – – 196 352 100

SSD по прямой формуле, TSS – – – – 7 670 4

БПФ Винограда 13 860 69 120 1 426 2 115 86 521 44

БПФ Кули-Тьюки 17 920 78 336 1 426 2 115 99 797 51

Алгоритм

Вещественные

арифметические операции Всего

операций

Сложность

алгоритма,

% SSD2 SSD3

× + × +

SSD по прямой формуле, FS – – – – 12 224 100

SSD по прямой формуле, TSS – – – – 1 528 9

БПФ Винограда 1 845 7 290 330 483 9 948 81

БПФ Кули-Тьюки 2 560 14 592 330 483 17 965 147

Page 6: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

6

Сравнение методов вычисления корреляции

по теореме о свертке

Алгоритм Время, мс

БПФ Винограда 5,5

БПФ Кули-Тьюки 6,7

ТЧП Ферма 6,1

Таблица 3. Оценочное быстродействие алгоритмов

корреляции в Matlab при S=2N=16

Page 7: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

7

Алгоритмы вычисления двумерной корреляции

полный метод через одномерную свертку

разложение на 9 сверток разложение на 12 сверток

Page 8: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

8

Сравнение алгоритмов двумерной корреляции

Nx

Количество арифметических операций

2D Fast 9 convol 2D Fast 12

convol 2D Full

2D Fast через

1D Fast

2D Full через

1D Full

2 112 112 112 104 104

4 1 775 1 657 1 984 1 856 1 824

8 18 686 23 601 32 512 27 520 30 848

16 191 779 296 645 523 264 373 760 508 416

32 1 886 624 3 646 509 8 384 512 4 839 424 8 259 584

64 18 147 685 44 367 869 134 201 344 60 932 096 133 177 344

Таблица 4. Вычислительная сложность алгоритмов двумерной корреляции

сигнала x размером Nx×Nx и сигнала y размером Ny×Ny, Ny = 3Nx – 1

Page 9: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

9

Гибридный алгоритм вычисления корреляции

Таблица 5. Вычислительная сложность гибридного алгоритма двумерной

корреляции сигнала x размером Nx×Nx и сигнала y размером Ny×Ny,

Ny = 3Nx – 1

Nx

Количество

арифметическ

их операций

гибридного

алгоритма Самый быстрый

алгоритм

Количество

арифметических

операций самого

быстрого алгоритма

Вычислительная

сложность гибридного

алгоритма

относительно самого

быстрого, %

2 104 2D Full через 1D Full 104 100,0

4 1 585 2D Fast 12 convol 1 657 95,7

8 18 038 2D Fast 9 convol 18 686 96,5

16 185 947 2D Fast 9 convol 191 779 97,0

32 1 834 136 2D Fast 9 convol 1 886 624 97,2

64 17 675 293 2D Fast 9 convol 18 147 685 97,4

Page 10: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

10

Сравнение гибридного алгоритма с алгоритмом

вычисления свертки через БПФ Винограда

Nx

Гибридный

алгоритм БПФ

Винограда

Вычислительная сложность гибридного

алгоритма относительно алгоритма Винограда, %

2 26 216 12

4 460 560 82

8 5 737 9 135 63

16 62 310 82 980 75

32 636 667 344 547 185

64 6 296 472 2 486 272 253

Таблица 6. Сравнение по вычислительной сложности гибридного алгоритма с

алгоритмом вычисления свертки через БПФ Винограда для двумерного

сигнала x размером Nx×Nx и сигнала y размером Ny×Ny, Ny = 2Nx – 1

Page 11: Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным перебором, основанный

11

Вычислительная сложность оценки движения

с использование гибридного алгоритма

Размер

блока

Диапазон изменения вектора движения

равен размеру блока

превосходит размер

блока

в два раза

Быстродействие относительно полного перебора

по прямой формуле SSD, %

2×2 120,5 117,6

4×4 83,6 70,0

8×8 53,6 41,6

16×16 33,5 24,9

32×32 20,7 14,9

64×64 12,6 8,9

Таблица 7. Вычислительная сложность оценки движения

полным перебором с использованием гибридного алгоритма