УДК 621.391
АЛГОРИТМ ОЦЕНИВАНИЯ СДВИГА И ПОВОРОТА ИЗОБРАЖЕНИЙ НА ОСНОВЕ МЕТОДА НЕПОДВИЖНОЙ ТОЧКИ
© 2013 В.Р. Крашенинников, А.Д. Кадеев
Ульяновский государственный технический университет
Поступила в редакцию 26.09.2013
Предложен алгоритм оценивания межкадрового сдвига и поворота изображений, основанный на методе неподвижной точки. При этом использование проекций для определения центра симметрии значительно сокращает время работы. Данный алгоритм обладает высоким быстродействием, достаточной точностью и устойчивостью к помехам. Приведены результаты исследования эффективности алгоритма.
Ключевые слова: межкадровые геометрические искажения изображений, оценивание параметров, неподвижная точка, центр симметрии, проекции.
ВВЕДЕНИЕ
В связи с широким внедрением современных мобильных систем обработки видеоизображений (навигация, робототехника, видеорегистраторы на транспорте, системы глобального спутникового мониторинга и т.д.) весьма актуальной стала проблема обеспечения точного оценивания и компенсации межкадровых геометрических искажений последовательности изображений, связанных с пространственной нестабильностью мобильных видеокамер. Обычно эти геометрические искажения описываются моделью аффинных преобразований (сдвиг и поворот, реже изменение масштаба).
Таким образом, на первом этапе необходимо оценить вектор параметров геометрической трансформации (ГТ) текущего кадра относительно предыдущего. К настоящему времени разработано большое число подобных алгоритмов, которые могут быть использованы при решении конкретных прикладных задач, с учетом предъявляемых требований по точности, быстродействию и диапазону возможных значений оцениваемых параметров геометрической трансформации. Однако именно большой диапазон параметров резко сужает спектр алгоритмов, доступных для применения, и снижает их вычислительную эффективность. Поэтому большой интерес представляет разработка новых подходов и алгоритмов, имеющих достаточно большую рабочую зону и не требующих при этом значительных вычислительных затрат. Одним из таких перспектив-
Крашенинников Виктор Ростиславович, доктор технических наук, профессор, заведующий кафедрой «Прикладная математика и информатика». E-mail: kvr @ulstu.ru Кадеев Артём Дамирович, аспирант кафедры «Прикладная математика и информатика». E-mail: [email protected]
ных подходов является использование метода неподвижной точки (НТ) геометрического преобразования изображений [1, 2].
МЕТОД НЕПОДВИЖНОЙ ТОЧКИ
Будем для определённости рассматривать двумерные изображения. Обобщение этого метода также возможно и на изображения большей размерности. Пусть х(и, V) и у(I, у) - два изображения с известным видом ГТ (/, g) , связывающим координаты точек этих изображений:
и = /(I,]\а\ V = g(I,у а), (1)
где а - параметры, подлежащие оцениванию. Выполнив вспомогательное преобразование (Р, Ч) изображения у (I, у) , получим изображение г(I, ]) , связанное с х(и, V) преобразованием
и = / (Р(1, у X Ч(1, у) ;а) = Р(1, у ; а\
_ _ (2)
V = g(Р(1,у),Ч(1,у);а) = G(I,уа). v '
Предположим, что это преобразование имеет единственную НТ (и, V) :
и = Р (и, v;а), V = О (и, v;а). (3)
Если эту НТ удастся найти, то (3) превращается в систему уравнений относительно параметров а . Если ГТ имеет только два параметра (например, при параллельном сдвиге или при изменении масштаба и повороте относительно известной точки), то из системы (3) эти параметры определяются. Если же ГТ имеет более двух параметров, то выполняется K вспомогательных преобразований, находятся их НТ, составляется система уравнений
ик = Р(икV= Ст(икл;а),к=\-К (4)
из которой находятся оценки всех параметров «.
Основная трудность применения этого метода состоит в нахождении НТ. Необходимым условием неподвижности точки (u, V) , является
X (F (u, v;«), G (u, v;«)) = z(u, v). (5)
Но это условие не является достаточным, так как на изображении x(u, v) могут быть и другие точки со значением z(i, j) , а неподвижная -только одна из них. Поэтому для каждого конкретного вида ГТ нужно подобрать свои вспомогательные преобразования и найти признаки неподвижности точки.
ОЦЕНИВАНИЕ НЕБОЛЬШИХ УГЛОВ ПОВОРОТА
Рассмотрим следующий, часто встречающийся вид ГТ: поворот на угол а вокруг центра изображения и параллельный сдвиг на вектор (a, b ) . Оба изображения X (u, v) и y (i, j) заданы на целочисленной сетке. Для упрощения выкладок расположим начало координат (0, 0) в центре сетки. Таким образом, преобразование координат (i, j) изображения y(i, j) в координаты (u, v) изображения X(u, v) имеет вид:
u = a + (i cos a — j sin a), v = b + (i sina + j cosa). (6)
При этом координаты (u, v) могут оказаться дробными, поэтому для вычисления значений X (u, v) может потребоваться интерполяция сеточного изображения X(u, v) . По заданным изображениям x(u, v) и y (i, j) требуется оценить параметры ГТ (6). Возьмем в качестве вспомогательного преобразования (p, q) поворот изображения y (i, j) относительно его центра на угол л , тогда получится изображение z (i, j) = y (-i,—j). В преобразовании (6) этот поворот эквивалентен увеличению а на л, поэтому система (3) принимает вид: {u = a — (u cosa — v sina), v = b — (u sina + v cosa). (7)
Она имеет единственное решение
u = [a(1 + cos«) + b sina]/[(1 + cos«)2 + (sin«)2],
2 2 (8) v = [b(1 + cos«) — asina]/[(1 + cos«) + (sin») ].
При значениях параметра а ^ 0 из (8) получаем u ~ a/2,v ~ b/2, то есть
a ~ 2u, b ~ 2v. (9)
Таким образом, оценив положение (u, v) НТ преобразования изображения x(u, v) в изображение z(i, j) , мы из (9) оценим параметры сдвига (a, b) .
Перейдем теперь к нахождению НТ. Для этого рассмотрим изображение
Д(/,у) =| z(i,у) — х(",у) |. Значения изображений х(и, V) и z(и, V) в НТ (и, V) совпадают, поэтому Д(и, V) = 0 . Но могут быть и другие точки, в которых Д(и, V) = 0 просто из-за случайного совпадения значений х(", у) и z(/, у) . Пусть сначала в (6) а = 0, то-гда очевидно, что изображение Д (/, у) переходит само в себя при повороте на угол л вокруг НТ. То есть это изображение имеет цен-тральную симметрию относительно НТ (и, V), что продемонстрировано на рис.1. На этом рисунке изображение (б) смещено относительно изображения (а) на 10 пикселей влево и на 8 пикселей вниз. Изображение (в) есть изображение (б), повёрнутое на угол л вокруг центра. Изображение (г) есть разность Д(/, у) изображений (а) и (в), на нём перекрестье белых линий находится точка центральной симметрии.
В силу центральной симметрии разности
£(и, V; т, п) = Д(и + т, V+п)—Д(и—т, V—п) |= 0
при любых m и п. Однако снова могут быть и другие точки, в которых £(и, V; т, п) = 0 при некоторых значе-ниях m и п. Но маловеро-ятно, что £(и, V; т, п) = 0 сразу для многих значений m и п, если (", у) не является НТ. Поэтому значения статистики
г г
£(1, у) = Е у;m, п) (10)
т=0 п=—г
с большей вероятностью малы, когда точка (", у) находится вблизи НТ. Таким образом, за оценку координат НТ (и, V) можно принять координаты точки минимума (/, у) статистики (10).
Если условие а ~ 0 не выполняется, то изображение Д(/, у) не будет иметь центральной симметрии. В настоящей работе предлагается способ поиска НТ с помощью нескольких пробных поворотов изображения у (I, у) на углы (рк = к§ с шагом § , дающих изображения У к у) . При одном из этих поворотов пара изображений х(и, V) и ук (", у) будет иметь небольшой угол взаимного поворота, поэтому применение статистики (10) даёт уверенное определение НТ. При этом довольно большие значения § достаточны для получения грубой оценки, что экономит время по причине меньшего количества проб. Далее полученная оценка может уточняться дополнительными пробными поворотами с меньшим шагом.
БЫСТРЫЙ МЕТОД НАХОЖДЕНИЯ ЦЕНТРА СИММЕТРИИ
Нахождение НТ с помощью вычисление статистики (10) по множеству точек требует больших временных затрат. Для сокращения этих затрат предлагается следующий способ
б)
в) г)
Рис. 1. Точка центральной симметрии разности изображений
нахождения НТ по проекциям изображения Д(!, у) . При этом способе строится несколько проекций изображения Д(!, у) , например, горизонтальная и вертикальная (рис. 2), как сумма яркостей в каждом столбце или строке соответственно. Очевидно, что при наличии центральной симметрии на двумерном изображении, симметрия также будет и на двух его проекциях, на каждой из которых центр симметрии можно найти значительно быстрее в силу меньшей размерности.
Построение проекций изображения происходит за время, пропорциональное количеству пикселей изображения. Примерно такое же время требуется на нахождение центра симметрии по критерию максимума корреляции, которые дают две координаты искомой НТ. Таким образом, при отсутствии поворота в ГТ, время работы алгоритма пропорционально площади изображения ^И, что меньше временных затрат в методе, предложенном в [2], в А2 раз, где А - апертура статистики (10).
а) б) в)
Рис. 2. Нахождение точки центральной симметрии по двум проекциям
АНАЛИЗ ВЫЧИСЛИТЕЛЬНЫХ ЗАТРАТ И ТОЧНОСТИ АЛГОРИТМА
Для оценки эффективности предложенного алгоритма был проведен ряд экспериментов, в которых варьировалась величина аддитивного нормального шума на изображениях.
На рис. 3 показан график средней ошибки оценки смещения (в пикселях) в зависимости от отношения шум/сигнал (в СКО). При этом угол поворота экспериментальных изображений выбирался случайно с равномерным распределением на (—л/2; л/2), а смещения по обеим координатам - равномерно на (—30;30).
На рис. 4 показан график времени оценивания (мкс) смещения и поворота в зависимости от размера квадратного изображения (ширины и высоты в пикселах). При этом размеры варьиро-
вались от 128 до 1024 пикселов, а сдвиг выбирался равномерно случайно в соотношении размера изображения (—/;+/), где 1 равен 30% от размера изображения например по ширине. Большие сдвиги в процентном соотношении могут привести к недостаточной площади совпадающей части пары изображений и, следовательно, не позволят накопить достаточную статистику для нахождения симметрии. Как видно из этого графика, время работы, практически пропорционально площади изображения, что является оптимальной сложностью для подобных алгоритмов. Эксперименты проводились на обычном ПК, и, как видно по графику, при данных условиях в случае изображений размером до 256*256 возможна работа в реальном времени. При дальнейших оптимизациях данный алгоритм можно значительно ускорить в силу преобладания в нем простых групповых операций над пикселами.
Рис. 3. Зависимость точности оценивания смещения изображений от уровня шума
Рис. 4. Зависимость времени оценивания сдвига и поворота от размера (длина и ширина)
квадратного изображения
ЗАКЛЮЧЕНИЕ
Предложенный алгоритм оценивания межкадрового смещения и поворота изображений имеет высокую точность, обладает большой рабочей зоной и устойчив к шумам. Невысокие затраты по времени выполнения позволяют использовать его в системах реального времени.
Работа выполнена при поддержке РФФИ, грант 13-01-00320.
СПИСОК ЛИТЕРАТУРЫ
1. Крашенинников В.Р. Оценка параметров геометрической трансформации изображений методом неподвижной точки. Труды НТО РЭС им. А.С.Попова. Серия: Научная сессия, посвященная Дню радио. Выпуск LXIII. Москва, 2008. С. 381-383.
2. Крашенинников В.Р., Кадеев А.Д. Нахождение неподвижных точек преобразований координат при оценивании параметров геометрической трансформации изображений// Радиотехника, 2012. № 9. С. 68-71.
ALGORITHM FOR ESTIMATION OF IMAGES SHIFT AND ROTATION BASED ON FIXED POINT METHOD
© 2013 V.R. Krasheninnikov, A.D. Kadeev
Ulyanovsk State Technical University
Algorithm for estimation interframe shift and rotation of images based on fixed point method is proposed. The use of projections to determine the center of symmetry significantly reduces the processing time. This algorithm has high time efficiency, sufficient estimation precision and stable to noise. The results of studies of the effectiveness of the algorithm are described.
Key words: interframe geometrical deformations of images, estimating of parameters, fixed point, center of symmetry, projections.
Victor Krasheninnikov, Doctor of Technics, Professor, Head at the Applied Mathematics and Informatics Department. E-mail: [email protected]
Artem Kadeev, Graduate Student, E-mail: [email protected]