УДК 004.932.2
Д. И. Пьянков
АЛГОРИТМЫ ПРОСТРАНСТВЕННО-ВРЕМЕННОЙ КОРРЕКЦИИ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЕЙ В ЗАДАЧАХ СТЕРЕОВИДЕНИЯ
Приведен метод пространственно-временной коррекции видеопоследовательностей в задачах стереовиде-ния. Рассмотрен алгоритм оценки движения и получения интерполяционных кадров в видеопоследовательностях. Приведен алгоритм совмещения видеопоследовательностей для построения стереовидеопоследовательности. Представлены результаты тестирования методов интерполяции и совмещения видеопоследовательностей.
Ключевые слова: видеопоследовательность, изображение, стереовидение, интерполяция.
На сегодняшний день стереосъемка становится все более популярной. Однако по сравнению со съемками в профессиональных студиях, в которых используется специализированное дорогостоящее оборудование, стереосъемка в домашних условиях затруднительна. Это обусловлено тем, что необходимо обеспечивать синхронную запись на несколько видеокамер одновременно. Бюджетный вариант видеокамер не позволяет достичь синхронной записи при частоте 24...30 кадров в секунду ввиду различных факторов: различного времени доступа к устройству хранения, несинхронного старта и т. д. Это обусловливает необходимость длительной обработки и коррекции двух видеопоследовательностей в видеоредакторах. Разработка алгоритмов пространственно-временной коррекции видеопоследовательностей позволяет решить эти проблемы.
Основой стереосъемки является подготовка двух подобных, но не идентичных видеопоследовательностей, полученных с двух точек съемки относительно объекта. В идеальном случае оси видеокамеры и объективов в этих двух положениях должны быть параллельны. При нормальной стереосъемке базис видеосъемки должен быть приблизительно равен расстоянию между центрами зрачков человеческого глаза (примерно 65 мм) [1]. При совмещении двух видеопоследовательностей, снятых с левой и правой видеокамер, получается стереовидеопоследовательность, которую можно преобразовать под метод просмотра: анаглиф, линейную поляризацию, метод затворных ЖК-панелей.
Рассмотрим общую схему метода пространственно-временной коррекции (рис. 1).
1. Осуществляется преображение каждой из видеопоследовательностей в УИУ-пространство. Преобразование связано с получением компоненты яркости У. Значения яркости пикселей используются для нахождения векторов движения.
2. Выбирается произвольным образом одна из видеопоследовательностей и осуществляется преобразование частоты кадров в ней на основе интерполяции (генерируется несколько кадров между двумя соседними кадрами этой последовательности).
3. Осуществляется совмещение текущего кадра базовой видеопоследовательности (которая не подвергалась процедуре преобразования частоты) с соответ-
ствующими полученными дополнительными кадрами преобразованной видеопоследовательности (интерполированные кадры).
4. Генерируется новая видеопоследовательность, полученная из текущего совмещенного кадра, полученного интерполяцией, путем добавления его в выходной поток.
5. Повторяется шаг 2 до тех пор, пока все кадры базовой видеопоследовательности не будут совмещены.
Это обеспечивает коррекцию одной видеопоследовательности в пространственной и временной области относительно другой (базовой) видеопоследовательности.
Получение интерполированных кадров. Пусть дана видеопоследовательность Ьт(г), /б{0, 1, 2, 3, ...}. Необходимо вставить между каждыми двумя кадрами определенное число кадров, заданное параметром п. Тогда видеопоследовательность £°и4(г) после преобразования частоты кадров будет представлена выражением
I (г)=| ^п^, 2 = п' *, 1 6 {0,1,2, 3,...},
°и‘( [£т(0, 2 = п ■ г +1, I 6 {1,2,3,..., п -1}, (1)
2 6 {0,1, 2,3,...}, п 6 {2,3,4...},
где п - параметр, определяющий, во сколько раз нужно увеличить частоту кадров; 2 - общее число кадров.
Получение интерполированных кадров производится по следующей общей схеме.
1. Рассматривается текущий кадр Щ) и следующий кадр Щ + 1) видеопоследовательности £т(0, /6{0, 1, 2, 3, ...}.
2. Производится оценка движения согласно выбранному алгоритму.
3. Вычисляется поле векторов движения.
4. Производится интерполяция между текущим кадром Щ) и следующим кадром Щ + 1).
5. Строятся интерполированные кадры.
Алгоритм оценки движения. Получение интерполированных кадров базируется на оценке движения в соседнем кадре относительно текущего кадра. Для оценки движения был выбран метод сопоставления блоков. Данный метод основан на поиске соответствия между блоками и позволяет с высокой вычислительной эффективностью получать поле векторов для блоков кадров.
Рис. І. Общая схема метода пространственно-временной коррекции видеопоследовательностей
Для его реализации под задачу получения стереовидеопоследовательности потребовалась модификация существующих методов. В традиционных методах поиска движения много времени уходит на вычисление смещений между кадрами. Предлагаемый метод основан на модификации метода полного перебора и метода поиска по шаблону.
Оценка движения производится по следующей общей схеме (рис. 2).
1. Рассматривается текущий кадр L(t) и следующий кадр L(t + 1).
2. Кадры L(t) и L(t + 1) разбиваются на равные блоки B(x, y), размер которых кратен двум и задается параметром s_block.
3. На кадре L(t + 1) находится сумма s значений яркости каждого пикселя данного блока B(x, y), определяемая выражением
s_block s_block
s = X Z B(Y(x, y)), (2)
x=0 y=0
где Y(x, y) - значение яркости пикселя (x, y).
4. Определяется, возможно ли движение между кадрами L(t) и L(t + 1) для данного блока B(x, y). Для этого вводится пороговое значение err, которое определяется следующим выражением:
err = (2552 - Yllm2) • s_block2 ,
(3)
где У11тб[0; 255] - параметр, обозначающий предельное значение яркости пикселя (х, у) блока В(х, у) размером 8_Ъ1°ск х з_Ь1оск. Чем больше У11т, тем меньше пороговое значение егг. Если У11т = 255, то егг = 0. Затем сумма 5 значений яркости пикселей данного блока В(х,у) сравнивается с порогом. Если 5 > егг, то движение в блоке ищется (переход к следующему шагу). Если 5 < егг, движение в блоке не ищется, возврат к шагу 3 (выбрав следующий блок).
Рис. 2. Общая схема оценки движения
5. Задается параметр, определяющий область поиска движения, называемый смещением shift. Данный параметр принимает значения shift(x), где x - число пикселей, на величину которых необходимо смещение.
6. На кадре L(t + І) определяются соседние блоки по диагонали, вертикали и горизонтали относительно рассматриваемого блока B(x, y) с кадра L(t), смещенные от этого блока на величину shift.
7. На кадре L(t + І) аналогично находятся суммы значений пикселей соседних блоков по диагонали, вертикали и горизонтали. Используя выражение (2), получают значения сумм блоков sn, пє{0, і, 2, 3, ..., 8}.
8. Для принятия решения о направлении вектора движения необходимо минимизировать функцию ошибки. Суммы значений пикселей блоков sn, пє{0, і, 2, 3, ..., 8} сравниваются поочередно с суммой s блока B(x, y) с помощью функции суммы квадратов разностей:
8
move = min( ^ (s - sn )2). (4)
n=0
Находится соседний блок, содержащий минимальное значение ошибки. Данный блок указывает направление вектора движения для блока B(x, y) на кадре L(t + І). Направление вектора движения для блока B(x, y) найдено.
9. На кадрах L(t) и L(t + 1) берется следующий блок. Повторяются шаги 4.7 до тех пор, пока все блоки не будут найдены. Таким образом будет получено поле движения векторов.
Данный алгоритм может быть модифицирован. Например, для уменьшения времени выполнения данного алгоритма можно не рассматривать диагональные соседние блоки, а рассматривать только четыре соседних пикселя, но тогда точность нахождения поля векторов движения изменится.
Алгоритм интерполяции кадров. После того как были найдены векторы движения, производится линейная интерполяция кадров поблочно по следующей схеме.
1. Рассматривается текущий кадр L(t) и следующий кадр L(t + І) видеопоследовательности Lin(t), tє{0, 1, 2, 3, ...} с найденным вектором движения move для блока B(x, y).
2. Пусть n - количество интерполированных кадров, которые необходимо вставить между кадрами L(t) и L(t + 1). Рассматривается каждый пиксель С1 блока B(x, y) на текущем кадре L(t) и каждый пиксель С2 блока B(x, y) на следующем кадре L(t + І).
Согласно направлению вектора движения на каждом интерполированном кадре, данный пиксель плавно изменяет свое значение каждой цветовой компоненты (Y, U, V) Сп. Для получения плавных интерполированных кадров используется выражение, представляющее собой линейную интерполяцию значений пикселей:
Cn = Cl + (C2 - Cl)• t, t є [0; 1], (5)
где C1 - значение цветовой компоненты Y пикселя (x, y) блока B(x, y) на текущем кадре L(t); C2 - значение цветовой компоненты Y пикселя (x, y) блока
В(х, у) на следующем кадре Щ + 1); Сп - значение цветовой компоненты У пикселя (х, у) блока В(х, у) на интерполированном кадре п; / - параметр, задающий линейное смещение пикселей на каждом интерполированном кадре. Параметр / вычисляется по формуле т
/ =----, т е {1,2,3,..., п}, (6)
п -1
где п - количество интерполированных кадров. Параметр /е[0; 1], что дает плавное смещение цветовых компонент для каждого интерполированного кадра.
3. Шаг 2 повторяется для цветовых компонент и, V.
4. На кадрах Ь(/) и Ь(/ + 1) берется следующий блок. Повторяются шаги 2.3 до тех пор, пока все блоки не будут интерполированы. Таким образом, будет получено п интерполированных кадров.
Алгоритм совмещения кадров. Заключается в сравнении кадра Ь(/), интерполированных кадров, полученных между кадрами Ь(/) и Ь(/ + 1) левой видеопоследовательности, с кадром Щ) правой видеопоследовательности. Находится интерполированный кадр, полученный между кадрами Ь(/) и Ь(/ + 1) левой видеопоследовательности, наиболее соответствующий кадру ^(/) правой видеопоследовательности.
Совмещение кадров производится по следующей общей схеме.
1. Рассматривается левая видеопоследовательность Ь с полученными п-интерполированными кадрами Ь(г), ге{2, 3, ..., п} между кадрами Ь(/) и Ь(/ + 1), кадр Ь(/) и правая видеопоследовательность с кадром ^(/);
2. Находится попиксельная межкадровая разность. Для этого кадр Ь(/) и каждый интерполированный кадр Ь(2), ге{2, 3, ..., п} сравнивается с кадром Я(/) с помощью функции, которая определяет пиковое отношение сигнала к шуму [2]. Р8№Я включает в себя среднеквадратическое отклонение и определяется следующим выражением:
Р8Ж( г) = 201о&о -ММХБ, (7)
где Р8МЯ(г), ге{2, 3, ..., п} - значение схожести между интерполированным кадром Ь(г) левой видеопоследовательности и кадром Я(/) правой видеопоследовательности; МАХе [0; 255] - максимальное значение, принимаемое пикселем изображения; М8Б - среднеквадратическое отклонение для каждой цветовой компоненты пикселя, вычисляемое по формуле
£ £((У2(х,у) - УДх,у))2)
М8Б = х=0у=0--------------------+
*-1 .ч (8)
£1 £((и2(х,у) -и2(х,у))2 + (У2(х,у) -Ц(х,у))2)
+ х=0 у=0
3
где * - высота кадра; . - ширина кадра; У2, и2, У2 -
значения цветовых компонент пикселя (х, у) на кадре К(() правой видеопоследовательности; Уь иь V -
значения цветовых компонент пикселя (х, у) на ин-
терполированном кадре Ь(г) левой видеопоследова-
тельности.
3. Аналогично вычисляются значения MSE и PSNR(L(t)) для текущего кадра L(t) левой видеопоследовательности L.
4. Среди вычисленных значений PSNR между интерполированным кадром L(z) (или текущим кадром L(t)) левой видеопоследовательности и кадром R(t) правой видеопоследовательности находится максимальное значение like по формуле
like = max(PSNR(z),PSNR(L(t))), z e{2,3,...,n}. (9)
Интерполированный кадр L(z) либо текущий кадр L(t), межкадровая разность с кадром R(t) правой видеопоследовательности которого является максимальной, и принимается за наилучший кадр.
5. Выбирается следующая пара кадров с левой видеопоследовательности и следующий кадр с правой
видеопоследовательности и повторяются шаги 2-3 до окончательного сравнения всех кадров.
После сравнения кадров полученные стереокадры соединяются. Получается стереовидеопоследовательность, содержащая синхронизированную пару видеопоследовательностей.
Экспериментальные исследования. Для тестирования предложенного метода использовались две видеопоследовательности: foreman, где происходит быстрое движение; container, где происходит медленное движение. Исследования производились по следующим параметрам: среднее PSNR интерполированных кадров каждой видеопоследовательности, время выполнения метода. Размер смещения для поиска соседних блоков был установлен в один пиксель. Результаты исследований представлены на рис. 3-5.
79,367 ■ psnr 1 ■ psnr 2
79,297
79,229 ■
79,159 75 79,147 M59 ■
79,095 1 79,095 II
— m 79,043 79,045
nm i к $ mi
у у у
/■ у
& # &
■Л
' у
«Г tT
«Г
ьГ
if ” ” ” ^ ~ “ tf”
Рис. 3. График PSNR для быстрой видеопоследовательности foreman
« и oj? W W № jp- W №' №
Рис. 4. График PSNR для медленной видеопоследовательности container
fo* <<r ^ to* *T fcS- . „<#• tr «Г
Рис. 5. График времени выполнения алгоритма интерполяции
Параметр PSNR показывает, насколько интерполированные кадры отличаются от текущего, и вычисляется в децибелах по логарифмической шкале. Максимальное значение - 120 децибел, когда кадры полностью одинаковы.
PSNR1 - среднее PSNR интерполированных кадров видеопоследовательности от текущего кадра к следующему. PSNR2 - среднее PSNR интерполированных кадров видеопоследовательности от следующего кадра к текущему. Графики PSNR представлены в логарифмической шкале. Для быстрой видеопоследовательности foreman параметр PSNR меньше, чем для медленной видеопоследовательности container. Это объясняется тем, что в быстрой видеопоследовательности за счет резкой смены кадров больше шума, чем в медленной видеопоследовательности.
Результаты тестирования быстрой видеопоследовательности показали, что при смещении между блоками в ширину блока на блоке 2 х 2 получается фактически пиксельный блок, и ошибки там почти нет (практически не находятся вектора движения). При размерах блока 4 х 4 уже начинает сказываться блоч-ность метода, поэтому и получается самый худший результат. Лучшая точность достигается при большом блоке 16 х 16, который уже попадает в области движения и интерполирует корректно. Для медленной видеопоследовательности при увеличении блока интерполированные кадры получаются наиболее точными, так как в такой видеопоследовательности вектора движения имеют большое значение по абсолютной величине [3].
Для обеих видеопоследовательностей время выполнения алгоритма интерполяции одинаково, так как их размеры одинаковы. При смещении между блоками в ширину блока время выполнения алгоритма
уменьшается при увеличении размера блока. При смещении между блоками в один пиксель время выполнения алгоритма увеличивается при увеличении размера блока, так как количество операций возрастает в разы. Уменьшить время работы алгоритма можно, используя адаптивный порог, учитывающий по-пиксельную межкадровую разность, чтобы интерполировать только те блоки, в которых эта разность отличается.
Предложенный метод позволяет строить интерполированные кадры в видеопоследовательностях, совмещать две видеопоследовательности для построения стереовидеопоследовательности. Это обеспечивает пространственно-временную коррекцию. Разработанные алгоритмы можно улучшить, используя различную область поиска движения с помощью моментов Зернике, что является предметом дальнейших исследований.
Библиографические ссылки
1. Вазенмиллер Е. А. Как снимать стереопары [Электронный ресурс] // СтереоАРТ. 2001. URL: http://stereoart.ru/pg.php?page=paperIp0006.html (дата обращения: 01.11.2010).
2. Ватолин Д. MSU Quality Measurement Tool: Информация о метриках [Электронный ресурс] // Сайт о сжатии. URL: http://www.compression.ru/video/quality_ measure/info.html (дата обращения: 01.11.2010).
3. Пьянков Д. И., Горошкин А. Н. Оценка движения для интерполяции кадров в задачах стереовиде-ния // Материалы 16 Междунар. науч.-техн. конф. «Проблемы передачи и обработки информации в сетях и системах телекоммуникаций». Рязань, 2010.
С. 151-152.
D. I. Piankov
ALGORITMS OF SPATIO-TEMPORAL CORRECTION OF VIDEO SEQUENCES
IN TASKS OF STEREO VISION
A method of spatio-temporal correction of video sequences, in tasks of stereo vision, is presented. The algorithm of motion estimation and creation of interpolation frames in video sequences is investigated. The algorithm of image registration for creation of stereo video sequences is presented. Results of interpolation methods testing and video sequences registration are introduced.
Keywords: video sequence, image, stereo vision, interpolation.
© nMHKOB fl. H., 2011
УДК 51-74:621
О. В. Репецкий, Буй Мань Кыонг
РАЗРАБОТКА МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ ДИНАМИКИ И ОЦЕНКИ УСТАЛОСТНОЙ
ПРОЧНОСТИ ЛОПАТОК ТУРБОМАШИН С УЧЕТОМ ГЕОМЕТРИЧЕСКОЙ НЕЛИНЕЙНОСТИ
Представлены результаты исследований математических моделей для задач динамики лопаток турбомашин с учетом изменения жесткости конструкции лопаток, обусловленной температурой и центробежными силами. Также представлены результаты расчета усталостной прочности лопаток турбомашин на основе разработанных математических моделей. Предложен комплекс рекомендаций по повышению усталостной прочности лопаток турбомашин с учетом вращения и неравномерного нагрева.
Ключевые слова: турбомашины, виброусталость, анализ усталостной прочности, математическое моделирование, численные методы, метод конечных элементов.
Известно, что лопатки турбомашин работают в тяжелых условиях, подвергаясь действию не только переменных аэродинамических нагрузок, но и высокой температуры и большой скорости вращения. Под влиянием этих факторов свойства материала и жесткость конструкции лопаток изменяются. Это приводит к изменениям начальных характеристик работы лопаток. Кроме этого, под действием переменных термомеханических нагрузок лопатки турбомашин часто разрушаются по усталостным причинам. В связи с этим разработка математических моделей для решения задач динамики и оценки долговечности лопаток турбомашин с учетом изменения жесткости конструкции лопаток от температуры и скорости вращения в соответствии с реальными условиями работы, а также обеспечение надежности работы лопаток турбомашин является актуальной проблемой.
В разработанной математической модели влияние температуры и скорости вращения на характеристики работы лопаток турбомашин учтено изменением параметров упругости материала в соответствии с температурой и изменением жесткости конструкции. Для учета изменения жесткости конструкции вследствие температуры и скорости вращения считается, что напряжения от температуры играют роль начальных напряжений конструкции и поэтому в общей матрице жесткости добавлена матрица геометрической жесткости [Ка ], обусловленная этими начальными напряжениями. При этом уравнение колебания лопаток
турбомашин с учетом геометрической нелинейности имеет вид
[М ] (5}+ [С ] {5} + ([К ] + [ Ка ]) {5} = «)}, (1)
где [М], [С] и [К] - матрицы масс, демпфирования и жесткости соответственно; {^} - вектор внешней
узловой нагрузки; {5}, {5} и {5} - векторы узловых
перемещений, скоростей и ускорений ансамбля конечных элементов.
Матрица геометрической жесткости выражается как [1; 2]
[ Ка ] = | [аТ ][ 5 ][а]^, (2)
V
где матрицы [5], [а] определяются следующими уравнениями для трехмерных и двухмерных элементов соответственно:
[S ] =
[G ] =
[ 1з
[ I ] <[I:] ^ [ 13
< [ I: ] [I3] < [ I:
[I: ] < [I3] °0г [ I:
д "
leg н^ ^ m m 1 0
[ N ]; [ I3] = 1 О О О 1
dz _
(3)