УДК 519.2:621.39 А.Ю. Дрозин АЛГОРИТМ РАСЧЕТА

advertisement
ІНФОРМАТИКА, ЕЛЕКТРОНІКА, ЗВ'ЯЗОК
72
УДК 519.2:621.39
А.Ю. Дрозин
Севастопольский национальный технический университет
ул. Университетская 33, г. Севастополь, Украина, 99053
E-mail: dronzin@mail.ru
АЛГОРИТМ РАСЧЕТА КОРРЕЛЯЦИОННОЙ ФУНКЦИИ ДВУМЕРНОГО ПОЛЯ
МЕТОДОМ СЛУЧАЙНЫХ КООРДИНАТ
Описывается метод построения корреляционной функции двумерного поля, основанный на
случайном выборе пар корреляции. Разрабатывается алгоритм расчета корреляционной функции
применительно к исследованию характеристик кадров видеопоследовательности. Исследуются
вопросы определения и контроля точности расчета отсчетов корреляционной функции.
Ставятся вопросы дальнейшего развития предложенного метода.
Ключевые слова: видеопоследовательность, автокорреляционная функция, случайное
скалярное поле, случайные координаты, метод Монте-Карло.
Корреляционный анализ является одним из основных математических инструментов
информационно-статистического анализа процессов различной природы и структуры. Области его
применения чрезвычайно широки и разнообразны: статистика, психология, экономика, инженерные
задачи анализа временных рядов, случайных полей и многие другие.
Целью данной статьи является представление нового метод расчета корреляционной функции
двумерного случайного скалярного поля, разработка и описание алгоритма реализации метода.
Предлагается методика исследования точности расчетов. Приведены результаты экспериментальных
исследований точности для тестового поля.
Задача построения корреляционной функции двумерного поля, как известно, сводится к
построению корреляционных функций в различных пространственных направлениях. Предположим, что
необходимо определить пространственную корреляцию поля по какому-либо направлению. При этом
для каждого интервала корреляции следует усреднить некоторое количество пар отсчетов, отстоящих
друг от друга в заданном направлении на текущий интервал корреляции. Такую пару отсчетов
случайного поля будем называть корреляционной парой.
Опираясь на определение корреляционной функции [1], можно видеть, что каждый её отсчет
представляет собой усредненное значение, следовательно, нет необходимости производить вычисление
множества попарных произведений отсчетов (для каждого интервала корреляции соответственно)
исходного процесса в соответствии с каким-либо порядком или алгоритмом. То есть можно выдвинуть
предположение о том, что порядок выбора пар является несущественным и может производиться
случайным способом.
Основную идею предлагаемого метода можно сформулировать так: на каждом этапе алгоритма
выбирается случайная точка исследуемого поля путем генерации двух случайных координат. В
соответствии с текущим интервалом корреляции и исследуемым пространственным направлением
формируется пара случайной точке. Далее происходит накопление усредненного произведения заданного
количества корреляционных пар для всех рассчитываемых интервалов корреляции.
Следует различать абсолютное количество усредненных пар корреляции и относительное
значение от максимально возможного количества пар. Очевидно, что для различных интервалов
корреляции максимально возможное количество пар будет разным (будет уменьшаться с увеличением
интервала). Количество пар или их часть от максимально возможного количества может изменяться в
зависимости от необходимой точности. Этот вопрос будет рассмотрен ниже более подробно.
Представим предложенный метод в виде законченного алгоритма с учетом всех действий,
необходимых для обеспечения его работоспособности. Для этого введем некоторые предварительные
пояснения и обозначения.
Исследуемое случайное скалярное поле представлено в виде рабочей двумерной матрицы. Размер
матрицы фиксирован и представлен в виде пары значений (n,m), где n — максимальное число строк, а m
— максимальное число столбцов. Обозначим эту матрицу F(n,m).
Далее опишем вспомогательную матрицу P размером n на m. Матрица P(n,m) указывает,
использовались ли пары корреляции, образуемые каждой точки с точками, смещенными на текущий
интервал корреляции τ, при расчете отсчетов корреляционной функции. Например, элемент P(i,j), будет
показывать, использовались ли корреляционные пары точки F(i,j) рабочей матрицы с точками F(i,j-τ) и
F(i,j+τ), для корреляции по строкам, с точками F(i-τ,j) и F(i+τ,j), для корреляции по столбцам, с точками
F(i+τ,j-τ) и F(i-τ,j+τ), для одной и точками F(i-τ,j-τ) и F(i+τ,j+τ) для другой диагональных составляющих.
Каждый элемент матрицы P может принимать четыре ключевых значения — k1, k2, k3, k4. Рассмотрим
Вісник СевНТУ: зб. наук. пр. Вип. 114/2011. Серія: Інформатика, електроніка, зв'язок. — Севастополь, 2011.
ІНФОРМАТИКА, ЕЛЕКТРОНІКА, ЗВ'ЯЗОК
73
использование матрицы P в ходе выполнения алгоритма на примере расчета корреляции по строкам.
Если значение элемента матрицы P(i,j) = k1, то для текущего интервала корреляции τ не было
соответствующих корреляционных пар: F(i,j), F(i,j+τ) и F(i,j), F(i,j-τ). При P(i,j) = k2 пара F(i,j), F(i,j-τ)
уже рассматривалась, а пара F(i,j), F(i,j+τ) еще нет для текущего τ. Аналогично для P(i,j) = k3 пара F(i,j),
F(i,j+τ) уже рассматривалась, а пара F(i,j), F(i,j-τ) еще нет. Ситуация, когда P(i,j) = k4, говорит о том, что
обе эти пары были использованы. В таблице 1 представлены способы формирования корреляционной
пары заданной точке для различных пространственных направлений.
Таблица 1 — Зависимость возможных смещений от пространственного направления корреляции и
значения величины вспомогательной матрицы P
P(i,j)
k1
k2
k3
k4
Корреляция по
строкам
F(i,j-τ)
F(i,j+τ)
F(i,j-τ)
F(i,j+τ)
–
Корреляция по
столбцам
F(i-τ,j)
F(i+τ,j)
F(i-τ,j)
F(i+τ,j)
–
Диагональное
направление 1
F(i-τ,j-τ)
F(i+τ,j+τ)
F(i-τ,j-τ)
F(i+τ,j+τ)
–
Диагональное
направление 2
F(i+τ,j-τ)
F(i-τ,j+τ)
F(i+τ,j-τ)
F(i-τ,j+τ)
–
Следует отметить, что предложенному алгоритму присущи ограничения на координаты случайно
выбранной точки. Так на примере расчета корреляции по строкам можно сказать, что координаты точки
не могут содержать номера столбца меньшего чем текущий интервал корреляции, если далее последует
отрицательное смещение, а также номера столбца большего чем максимальный номер столбца
уменьшенным на текущий интервал корреляции, если далее последует положительное смещение. Иначе,
в результате координаты второй точки корреляционной пары будут содержать номер столбца, значение
которого приобретет либо отрицательное значение, либо значение, превышающее максимальный номер
столбцов в исходном кадре. Данные ограничения легко учитываются при реализации алгоритма.
Необходимо заполнить τ первых столбцов матрицы P ключевым значением k3, а τ последних столбцов
ключевым значением k2. Запретив тем самым для данных столбцов отрицательное и положительное
смещение соответственно.
Для обеспечения необходимой точности расчета отсчетов корреляционных функций
пространственных направлений необходимо, чтобы было усреднено определенное число
корреляционных пар. Введем переменную NN — число прогонов цикла, генерирующего случайную
точку. Каждый прогон может быть удачным, то есть была получена учтенная корреляционная пара, или
неудачным (либо точка принадлежит запрещенной области, либо точка уже участвовала в учтенных
корреляционных парах как с положительным смещением, так и с отрицательным смещением). Именно
значением величины NN и будет определяться количество корреляционных пар, участвующих в расчете
того или иного отсчета корреляционной функции. Методика выбора значения величины NN будет
рассмотрена в разделе, посвященном исследованию алгоритма.
В [2] показано, что основой исследования информационно-статистических характеристик
видеопоследовательностей является корреляционный анализ. Автокорреляционные функции каждого
кадра видеоизображения описывают структуру пространственных взаимосвязей и играют важную роль в
вопросе оптимальной дискретизации пикселей видеокадра. Основываясь на предложенном методе и
введенных пояснениях, опишем алгоритм, реализующий расчет корреляционных функций двумерных
случайных скалярных полей, генерируемых интенсивностями цветовых составляющих кадров
видеопоследовательности.
Словесное описание алгоритма можно представить в следующем виде:
1.1. Загрузить кадр видеоизображения в рабочее пространство.
1.2. Определить размеры кадра в пикселях (n,m).
1.3. Определить цветовую модель (RGB).
1.4. Сформировать исследуемое статическое скалярное поле A(n,m,c), где c — номер цветового
слоя.
1.5. Задать максимальный интервал корреляции τmax.
1.6. Задать максимальное количество пространственных направлений dmax.
2.1. Инициализировать значение величины номера текущего цветового слоя c = 1.
2.2. Инициализировать значение величины номера текущего пространственного направления d = 1.
2.3. Сформировать рабочую матрицу F(n,m,1) = A(n,m,c).
2.4. Центрировать матрицу F.
3.1. Инициализировать значение величины текущего интервала корреляции τ = 1.
3.2. Инициализировать вспомогательную матрицу P.
Вісник СевНТУ: зб. наук. пр. Вип. 114/2011. Серія: Інформатика, електроніка, зв'язок. — Севастополь, 2011
ІНФОРМАТИКА, ЕЛЕКТРОНІКА, ЗВ'ЯЗОК
74
3.3. Задать значение величины максимального количества прогонов для текущего интервала
корреляции NN.
3.4. Инициализировать значение величины номера текущей прогона N = 1.
3.5. Выбрать случайный пиксель из рабочей матрицы, присвоить его значение временной
переменной temp1 = F(i,j).
3.6. Провести анализ значения элемента вспомогательной матрицы P(i,j), а также значение
текущего пространственного направления d.
3.7. Сформировать смещение, и как следствие, координаты второго пикселя корреляционной
пары. (При генерации смещения учесть значения величин d и P(i,j)).
3.8. Осуществить проверку на ограничение координат второго пикселя.
3.9. Если координаты не удовлетворяют допустимым значениям, то необходимо отбросить данные
пиксели и перейти к пункту 4.1, иначе, перейти к пункту 3.10.
3.10. Изменить значение элемента вспомогательной матрицы P в соответствии со
сформированным в пункте 3.7 смещением.
3.11. Присвоить дополнительной переменной значение элемента рабочей матрицы в соответствии
со значением координат второго пикселя, полученных в пункте 3.7, temp2 = F(i',j').
3.12. Рассчитать произведения temp1*temp2, провести накопление значений и нормирование и
корреляционной функции для текущего интервала корреляции.
4.1. Увеличить значение текущего прогона на 1. N = N + 1.
4.2. Проверить, не превысило ли значение текущего прогона N максимального значения (N > NN)?
4.3. Если не превысило, то прейти к пункту 3.5 алгоритма, иначе, перейти к пункту 4.4.
4.4. Увеличить значение текущего интервала корреляции на 1. τ = τ + 1.
4.5. Проверить, не превысило ли значение текущего интервала корреляции τ максимального
значения (τ > τmax)?
4.6. Если не превысило, то перейти к пункту 3.1 алгоритма, иначе, перейти к пункту 4.7.
4.7. Сохранить значения корреляционной функции текущего пространственного измерения.
5.1. Увеличить текущее значение номера пространственного измерения на 1. d=d+1.
5.2. Проверить, не достигло ли значение номера пространственного измерения d максимального
значения (d>dmax)?
5.3. Если не превысило, то перейти к пункту 3.1, иначе, перейти к пункту 5.4.
5.4. Увеличить значение текущего цветового слоя на 1. с = с + 1.
5.5. Проверить, не превысило ли значение текущего цветового слоя максимального значения,
(c > 3)?
5.6. Если не превысило, то перейти к пункту 2.2 алгоритма, иначе, перейти к пункту 5.7.
5.7. Конец алгоритма.
Представленный алгоритм является полностью законченным и работоспособным, однако перед
применением его на практике необходимо провести исследования и определить значения некоторых
переменных.
Центральным вопросом алгоритма является вопрос о количестве пар корреляции, которые были
учтены в процессе расчета какого-либо отсчета корреляционной функции, для каждого интервала
корреляции. Очевидно, что максимальное количество возможных пар будет определяться выражениями:
Nmax = n*m - n*τ (для корреляции по строкам); Nmax = n*m - m*τ (для корреляции по столбцам);
Nmax = n*m - (n+m-τ)*τ (для корреляции в диагональных направлениях). В качестве критерия точности
расчетов используем относительное количество неиспользованных пар корреляции для различных
интервалов корреляции. Для обозначения процента неиспользованных пар корреляции введем величину
E. Расчет неиспользованных корреляционных пар является ресурсоемким процессом, а алгоритм должен
работать в режиме реального времени и, как следствие, иметь минимальное время выполнения.
Следовательно, целесообразным является оценить количество прогонов алгоритма предварительно,
исходя из требуемой точности расчета.
Оценим значение переменной NN, необходимое для достижения расчета отсчетов корреляционной
функции с заданной точностью. В таблице 2 представлены результаты исследований алгоритма при
расчете корреляции по строкам для тестовой матрицы размером 100 на 120 элементов. Значение
количества прогонов равно максимальному числу возможных пар, то есть NN = Nmax.
Таблица 2 — Зависимость процента неиспользованных пар E от интервала корреляции для NN = n*m - n*τ
τ
E
1
25,81
10
27,53
20
29,17
30
31,07
40
32,73
50
34,76
Из таблицы 2 видно, что процент неиспользованных пар зависит от интервала корреляции. Данная
ситуация является недопустимой, так как может привести к тому что различные отсчеты корреляционной
Вісник СевНТУ: зб. наук. пр. Вип. 114/2011. Серія: Інформатика, електроніка, зв'язок. — Севастополь, 2011.
ІНФОРМАТИКА, ЕЛЕКТРОНІКА, ЗВ'ЯЗОК
75
функции будут рассчитаны с различной точностью. Поэтому предлагается модифицировать формулу
оценки величины количества прогонов, введя дополнительный параметр w. Величина NN будет
рассчитываться как NN = n*m – w*n*τ. Результаты исследований для различных значений параметра w
приведены в таблице 3.
Таблица 3 — Зависимости процента неиспользованных пар E от значения параметра w
τ
1
10
20
30
40
w
0,9
25,53
26,99
28,62
30,28
30,53
0,8
25,63
26,92
27,79
28,5
28,99
0,7
25,51
26,46
26,83
27,44
27,36
0,6
25,85
25,85
26,45
26,49
25,84
0,5
25,17
26,02
25,87
24,92
24,25
0,4
25,41
25,64
24,68
23,77
23,02
0,3
25,66
24,88
24,29
23,26
21,81
0,2
24,52
24,57
23,43
21,62
20,30
0,1
25,47
24,30
22,77
21,18
19,10
50
32,44
30,20
27,20
26,54
23,71
21,76
20,28
18,73
17,27
Проанализировав результаты исследований, представленных в таблице 3, можно сделать вывод,
что из рассмотренных значений параметра w наиболее постоянная величина процента неиспользованных
пар корреляции достигается при w = 0,6. Примем формулу NN = n*m – 0,6*τ*n в качестве рабочей. Также
данные исследования показали, что даже если процент неиспользованных пар не зависит от интервала
корреляции, то сама величина значения процента неиспользованных пар является недопустимо высокой
и колеблется от 25 до 26 процентов.
Для исследования значения величины, NN необходимой для достижения заданной точности
расчета отсчетов корреляционной функции, введем специальный масштабирующий коэффициент koef. С
помощью которого будем изменять значение числа прогонов в выбранной формуле:
NN = koef*(n*m – 0,6*n*τ). Результаты исследований зависимости процента неиспользованных пар для
различных значений масштабирующего коэффициента приведены в таблицах 4, 5, 6.
Таблица 4 — Зависимости процента неиспользованных пар от значения масштабирующего
коэффициента (koef = 1÷6).
koef
E
1
26,07
2
5,39
3
1,01
4
0,18
5
0,035
6
0,0076
Таблица 5 — Зависимости процента неиспользованных пар от значения масштабирующего
коэффициента (koef = 1÷2).
koef
E
1
26,01
1,2
19,17
1,4
14,03
1,6
10,18
1,8
7,38
2
5,25
Таблица 6 — Зависимости процента неиспользованных пар от значения масштабирующего
коэффициента (koef = 2÷3).
koef
E
2
5,35
2,2
3,85
2,4
2,75
2,6
1,97
2,8
1,42
3
1,01
Основываясь на приведенных исследованиях, следует выбирать значение величины переменной
NN – количество прогонов алгоритма, если критерием выбрана точность расчета значений
корреляционной функции. В общем случае данная методика может быть использована для расчета по
всем пространственным направлениям для полей любого размера.
Предложенный метод расчета корреляционной функции двумерного скалярного поля отличается
простотой алгоритмизации, программой реализации, гибкостью изменения и контроля точности
расчетов. Помимо всего этого описанный метод позволяет решать такие задачи исследование
корреляционной функции, какие не могут быть решены классическим методом.
Во-первых, этот метод позволяет рассчитывать корреляционную функцию поля, представленного
областью, ограниченной сложной кривой. Такие задачи часто встречаются при необходимости провести
информационно-статистический анализ части изображения (анализ метеорологических снимков,
снимков из космоса).
При этом исходный алгоритм должен претерпеть некоторые изменения:
1. Дополнительные ограничения на координаты точек корреляционной пары. Обе точки
корреляционной пары должны принадлежать исследуемой области.
Вісник СевНТУ: зб. наук. пр. Вип. 114/2011. Серія: Інформатика, електроніка, зв'язок. — Севастополь, 2011
76
ІНФОРМАТИКА, ЕЛЕКТРОНІКА, ЗВ'ЯЗОК
2. Матрица P должна взять на себя функцию индикации принадлежности точки поля
исследуемой области. Необходимо присвоить всем элементам матрицы P ключевое значение k4. Тогда в
ходе выполнения алгоритма такая точка будет автоматически исключаться из рассмотрения.
Во-вторых, данный метод удобен при необходимости рассчитать корреляционную функцию
случайного поля с множеством пространственных направлений. Такая возможность достигается за счет
того что алгоритм позволяет произвольно выбирать точки образующие корреляционные пары.
Можно представить процесс формирования корреляционной пары следующим образом:
F(i,j),F(i+aτ,j+bτ) для положительного и F(i,j),F(i–aτ,j–bτ) для отрицательного смещения при расчете
корреляционных функций
пространственных направлений, смещенных на угол равный
α = 180° – arctg(a/b) относительно строк матрицы, представляющей двумерное случайное скалярное поле;
F(i,j),F(i+aτ,j–bτ) для положительного и F(i,j),F(i–aτ,j+bτ) для отрицательного смещения при расчете
корреляционных функций пространственных направлений, смещенных на угол равный α = arctg(a/b)
относительно строк матрицы, представляющей двумерное случайное скалярное поле.
Используя аналогичным образом множество различных смещений можно получить оценку
корреляционных функций множества пространственных направлений, что позволит получить гораздо
более точную поверхность корреляционной функции двумерного скалярного поля. Все корреляционные
функции, полученные в соответствии с данной методикой, требуют нормирования.
Рассмотрим случай формирования пары отсчетов вида: F(i,j),F(i–τ,j+2τ) для положительного и
F(i,j),F(i+τ,j–2τ) для отрицательного смещения. Получим корреляционную функцию пространственного
направления соответствующего углу наклона 26 градусов.
В соответствии с определением, данным в [3], можно утверждать, что рассмотренный метод
расчета корреляционной функции следует отнести к классу методов, именуемых методами Монте-Карло.
Перспективой развития данных исследований следует считать внедрение описанного алгоритма в
системы анализа характеристик видеопоследовательностей, сравнение результатов применения
классического и предложенного методов оценки корреляционной функции двумерного случайного
скалярного поля. В качестве развития данной работы также необходимо разработать подробные
алгоритмы применения метода случайных координат к описанным выше задачам: анализируемое поле
представлено областью, ограниченной сложной кривой и для построения двумерной корреляционной
функции с использованием корреляции в различных пространственных направлениях.
Библиографический список используемой литературы
Бендат Дж. Применения корреляционного и спектрального анализа / Дж. Бендат, А Пирсол; пер. с
англ. — М.: Мир, 1983. — 312 с.
2. Доценко С.В. Математическое описание видеопоследовательностей / С.В. Доценко,
А.Ю. Дрозин // Вестник СевНТУ. Сер. Информатика, электроника, связь: сб. науч. тр. — Севастополь,
2010. — Вып. 101. — С. 16–20.
3. Соболь И.М. Численные методы Монте-Карло / И.М. Соболь. — М.: Наука, 1973. — 312 с.
4. Голуб Дж. Матричные вычисления / Дж. Голуб, Ч.В. Лоун. — М.: Мир, 1999. — 548 с.
Поступила в редакцию 10.11.2010 г.
Дрозiн А.Ю. Алгоритм розрахунку кореляційної функції двовимірного поля методом випадкових
координат
Описано метод побудови кореляційної функції двовимірного поля, що заснований на випадковому
виборі пар кореляції. Розробляється алгоритм розрахунку кореляційної функції стосовно до дослідження
характеристик кадрів відеопослідовності. Досліджуються питання визначення та контролю точності
розрахунку відліків кореляційної функції. Ставляться питання подальшого розвитку запропонованого методу.
Ключові слова: відеопоследовательность, автокореляційна функція, випадкове скалярне поле,
випадкові координати, метод Монте-Карло.
Drozin A.Yu. An algorithm for calculating the correlation function of two-dimensional field by the
method of random coordinates
A method of constructing of correlation function of two-dimensional field, based on random correlation
pairs, is described. An algorithm of correlation function calculation in relation to video sequence characteristics
investigation is developed. Issues of definition and verification of accuracy of calculation accuracy of counts
correlation function are observed. Issues of further development of the proposed method are given.
Keywords: video series, autocorrelation function, random scalar field, random coordinates, the Monte
Carlo method.
Вісник СевНТУ: зб. наук. пр. Вип. 114/2011. Серія: Інформатика, електроніка, зв'язок. — Севастополь, 2011.
Download