which can be different shapes, brightness, and located on complex background. The article proposes a technique for confident detection of spots and points of laser illumination, as well as their centers) on a complex background including when the background objects move relative to the sensors of the stereo system. Computed coordinates of the center of the spots of the illumination makes it possible to estimate the distance to objects with a different error than this do the stereo algorithm, and also to increase the information content of the untextured areas of the image.
Key words: laser illumination points, stereo system, distance measurement, detection of illumination spots, spots on complex background.
Baranchikov Alexey Ivanovich, doctor of technical sciences, professor, [email protected], Russia, Ryazan, Ryazan State Radio Engineering University,
Muratov Evgeny Rashitovich, candidate of technical sciences, docent, myratov_er@mail. ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Ustyukov Dmitry Igorevich, assistante, Ustukov. mail@yandex. ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Nikiforov Michail Borisovich, candidate of technical sciences, docent, nikiforov. m. b@evm. rsreu. ru, Russia, Ryazan, Ryazan State Radio Engineering University
УДК 004.932
МОДИФИКАЦИЯ ВАРИАЦИОННОГО МЕТОДА ВЫЧИСЛЕНИЯ ОПТИЧЕСКОГО ПОТОКА ДЛЯ РЕАЛИЗАЦИИ НА ПЛИС
П.В. Беляков, Е.В. Ларкин, М.Б. Никифоров
Рассматривается вариационный метод вычисления оптического потока, основанный на минимизации функционала оптического потока и предлагается схема его аппаратной реализации на ПЛИС в реальном масштабе времени и с приемлемой затратой вычислительных ресурсов.
Ключевые слова: оптический поток, вариационный метод.
Вычисление оптического потока является одной из ключевых проблем в компьютерном зрении и используется для выделения объектов, сегментации, компрессии видео, 3Б-реконструкции, технического зрения роботов [1, 2]. Оптический поток - это изображение видимого движения, представляющее собой сдвиг каждой точки между двумя изображениями. По сути, он представляет собой поле скоростей (т.к. сдвиг эквивалентен мгновенной скорости) и для каждой точки первого изображения 11(х, у) находится такой сдвиг (йх, йу), чтобы исходной точке соответствовала точка на втором изображении 12 (х + йх, у + йу) [3].
19
Современные ПЛИС обладают большими логическими ресурсами и высокой производительностью для реализации широкого класса задач технического зрения [4]. Возможность применения ПЛИС для гибкой и быстрой разработки под специализированное применение является неоспоримым преимуществом по сравнению с применением процессоров общего назначения и графических процессоров в задачах обработки видеоизображений в реальном времени.
Применение языка аппаратного дизайна Уеп^ позволяет совмещать эффективную реализацию алгоритмов и скорость разработки. 1. Вариационный метод вычисления оптического потока Одной из наиболее точной, но вместе с тем наиболее вычислительно сложной является постановка задачи вычисления оптического потока в вариационной формулировке и ее решение через минимизацию функционала [5], описываемого выражением
Е (и, V) = | (у(( I (х + w) -1 (х))2 + ^I (х + w) - VI (х)|2) + а
+ ау(| Vu|2 2))Дх, (1)
т
где а - область изображения; х = (х, у, t) -координаты пикселя в плоско-
т
сти кадра; t - номер кадра в последовательности; w = (и, V, t) - искомый вектор оптического потока; у - функция отклонения яркости I, градиента яркости VI и вектора оптического потока (и, V) от постоянных значений.
Функционал описывает предположение о том, что яркость пикселей сохраняется, а поле смещений гладкая функция. Тогда у является функцией штрафа за отклонение от предположений сохранения яркости и глад-
т
кости поля. Градиент V = (Э и, Э V) описывает то, насколько сильно меняется поле при переходе от точки к точке. Чем меньше его значение, тем согласованнее двигаются точки изображения. Коэффициент а описывает то, насколько важно требование гладкости полученного поля.
Локальный минимум функционала оптического потока должен удовлетворять уравнениям Эйлера - Лагранжа
У(I? + Г(4 + ^ )) • (V* + r(IxxIxz + IxyIyz )) - (2)
- а • с1п(у' (|Vu\2 + VI2)Чи) = 0, у'^2 + У^Ха + ^ )) • (ЬЬ + Г(IyyIyz + IxyIxz )) -
- а • ' (|Vu\2 +1 Vv|2^) = 0.
Здесь введены обозначения IX =Э XI (х + w), ^ =Э у! (х + w), ^ = I (х + w) -1 (х), ^х =Э XXI (х + w),
^у =Э xyI (х + w ), ^ =Э у (х + w), Ixz =Э xI (х + ^ -Э xI (х),
Iyz = ЭyI(x + w) -Э I(x), |Vu|2 =
uv + u
У-
|Vv|2 =
vv + v
ux =
Эv Эv
ЭХ' vy=-
Эи Эи —, uy = —, vx , Э^ Эу Эх у Эу
Заметим, что выражение, содержащее z, является разностью, аппроксимирующей частную производную по t.
Уравнения нелинейные, и их линеаризация приводит к системе линейных алгебраических уравнений (СЛАУ), которые могут быть численно решены итерационным методом ослабления Гаусса - Зейделя (методом релаксации SOR - Successive-Over Relaxation), обладающим повышенной сходимостью.
Дискретизируем и запишем в матричном виде уравнения Эйлера -Лагранжа (2). Для этого введем обозначения
1V = (Ix, Iy, Iz)T, S =1V1V, S =1 Vx1 vx +1 Vy1 vy.
Тогда итерационное выражение для решения линейной системы уравнений Эйлера - Лагранжа в матричном виде будет иметь вид
'duk,1,m+1
Л (л Л,l,m^sk,l,m ^ V
dv
k, l, m+1
M
11
M
12
M J1, mM k21,m V 12 22
ru
k, l, m
rv
k, l, m
(3)
где
M11 = yDi) ' S11i + ryDi У ■ T11i +
+ a I I
n=x, yjeNn (i)
(Уi)k J+ (ySj)k J 2(hj)2
M22 = yDi) ■ S22i + 7(¥Di У ■ T22i +
+ a I I
n=x, yj^Nn (i)
(y)k ,l ,m + у)k ,l ,m 2(hj )2
M
k,l,m ✓ ,' \k,l,m c,k \k,l,m ^k
= yDi) ■ S12i + gyDi) " ■ T12i,
12
„,,k,l,m /' \k,l, m r<k . \k,l,m rpk .
™ =-(WDi) ■ S13i + r(WDi) ■ T13i +
+ I I
n=x, y jeNn (i)
+ I I
n=x, yjeN+ (i)
(У )k,l,m + (VSj )k,l,m ukj + dukj l,m+1
2
(hj )2
(WSi )k Jm + У )k ,lm uJ + dujl m+1 - uj
2
(hj )2
rvk•m = -(yDi)k•m • S^ + y)k•l■m • ^jli +
_ _ (y)k•m + (y)k•m vk + dvkm+1 - vk
+ z z 2 íuk\2
и=x .У-еЖ- (i) (hn )
+ _ _ y )k •'•m + (y )k •'• "vk + dvk,/•"+1 - vk
xyjeN+ (i) 2 (hn )2
n=
где (i, j) - координаты пикселя для которого ищется вектор смещения в
плоскости кадра; индексы k51, m означают итерации линеаризации соот-
i
ветствующих слагаемых; y/^- производная функции отклонения яркости; i
ys - производная функции гладкости вектора потока;
N+ = {j е Nn (i) | j > i} означает пиксели которые только будут обработаны в текущей итерации вычисления SOR^ а N— = {j е Nn (i) | j < г} которые были вычислены на предыдущей итерации; h - шаг сетки дискретизации численного решения уравнения (3).
Неизвестные uk+1 = uk + duk и vk+1 = vk + dvk разделяются на решения от предыдущей итерации uk • vk и неизвестные приращения duk • dvk. [6].
Итерационный метод SOR решения линейного уравнения Ax = b имеет вид
A = L + D + U • xk+1 = (D + wL) _1(wb - (wU + (w-1) D) xk )• (4)
k+1 k где x - значение на текущей итерации; x - значение на текущей итерации; w - коэффициент определяющий скорость сходимости метода SOR.
Окончательно выражение (3) для итерационного вычисления смещения вектора оптического потока с учетом (4) примет вид
duk ^^ = (1 - w)dvf+
+w
х yk1 (uj+duk1 +1) + z yw (^k+dufhm) - x ys)
jeN- (i)_jeN+ (i)_jeN- (i )u jeN+ (i)
X yys)^+^alL (((/x) k )2+((ixy) k )2+((ixx )k )2)
jeN- (i)u jeN+ (i) a
(5)
((/x) k ((/y) k dk1" + c/z) k)+y((/xx) k ((/xy) k )dv^m + ^) k)+^) k ((/yy )k )dv^m + (/yZ) k)»
-w-"-^Tl-
z (yS)+(yd) • (((/x)k)2 + ((/xyik)2 + ((/xxik)2)
jeN-(,)ujeN+(,) a
аналогичное выражение будет для dvk • +1
i 22
к,1,т+\ 1 к,1,т+\
где йи^^'' \аур"'""' ~ - искомыеприращения вектора оптического потока
вычисляемые итерационно для линеаризации исходных дифференциальных уравнений (2).
2. Анализ алгоритма вычисления оптического потока вариационным методом для аппаратной реализации на ПЛИС
Разработанная схема алгоритма аппаратной реализации вычисления оптического потока представлена на рис. \ и состоит из следующих этапов, исполняемых во внешнем и внутреннем циклах итерационного вычисления
[7].
Рис. 1. Схема алгоритма вычисления оптического
потока
На этапе построения разномасштабной пирамиды изображений выполняется построение пирамид исходных изображений с одновременным сглаживанием масштабируемых изображений для подавления шума.
На этапе вычисления первых и вторых производных исходных изображений происходит вычисление пространственных производных изображений (1Х, 1у, IХХ, 1Ху, 1уу, 1г, 1Х2, 1у2) как компонент функционала
оптического потока.
На этапе вычисления производных вектора оптического потока происходит вычисление скорости изменения (градиента) вектора оптического потока по направлениям (иХ, и у, уХ, Уу), вычисление производных
функций отклонения от постоянных значений у для яркостной и векторной составляющей функционала оптического потока.
23
На этапах построения тензоров изменения яркости и градиента (J11, J12, J13, J22, J23) и построения тензоров движения оптического потока (dx2, dxy, dy2, dtdx, dtdy) происходит формирование матриц линейного уравнения (5) вида Ax = b для вычисления неизвестного смещения оптического потока.
Этап итерационного решения СЛАУ (5) методом последовательного ослабления Гаусса - Зейделя (метод релаксации SOR).
3. Оптимизация вычисления оптического потока для аппаратной реализации
На рис. 2 изображена разработанная функциональная схема параллельного вычисления производных и построения тензоров оптического потока. Процессы не зависимы по данным и могут быть вычислены независимо. Схема отражает возможность конвейерной организации последовательных этапов вычисления производных и построения тензоров вплоть до этапа итерационного решения СЛАУ SOR.
Рис. 2. Функциональная схема аппаратной реализации алгоритма вычисления оптического потока
Для возможности параллельной аппаратной реализации модуля решения СЛАУ применяется представленная на рис. 3 модификация метода релаксации SOR - метод релаксации "красное-черное" SOR-Red Black (SOR-RB), при котором устраняется зависимость по данным.
Последовательная схема вычисления (SOR, рис. 3 слева) приводит к зависимости по данным, когда для вычисления значения в нечетной позиции, например 7 (красный элемент), требуются обновленные в текущей итерации значения двух соседних элементов 2, 6 (красные элементы) и сохраненные с предыдущей итерации значения двух соседних элементов 8,12 (черные элементы). В схеме параллельного вычислительного процесса
24
(8ОЯ-ЯВ, рис. 3 справа) в текущей итерации для обновления значения в четной позиции, например, 4 (красный элемент) требуются значения четырех соседних элементов 11, 13, 14, 16 (черные элементы) вычисленных на предыдущей итерации. Таким образом, реализуется независимость по данным за счет двухпроходной конвейерной реализации, когда сначала обновляются, например, все красные элементы, а затем все черные [8].
Рис. 3. Избавление от зависимости по данным в методе SOR
Разработанные аппаратные модули вычисления оптического потока допускают параллельную и конвейерную аппаратную реализацию, что отображено на рис. 4.
Рис. 4. Функциональная схема аппаратной организации последовательности вычисления оптического потока
Библиотеки элементов современных ПЛИС позволяют относительно быстро реализовать вычисления в формате с плавающей точкой.
25
Помимо аппаратной оптимизации вычислительного ядра оптического потока, требуется организация работы с внешней памятью [9]. Для итерационного вычисления оптического потока на используемой в данной работе архитектуре SoC Zynq [10] предлагается двойная буферизация памяти, которая представлена на рис. 5.
Рис. 5. Организация двойной буферизации памяти для вычисления
оптического потока
HP0, HP2 - специализированные высокопроизводительные порты доступа к DDR - памяти системы на кристалле SoC Zynq фирмы Xilinx (HP-high performance port), позволяющие производить обмен данными (входные изображения ¡1, ¡2 и вектор оптического потока u, v с приращениями du, dv) посредством прямого доступа к памяти VDMA (Video Direct Memory Access).
Выводы. В работе предложена реализации вариационного метода вычисления оптического потока на ПЛИС, что позволяет использовать его аппаратную реализацию как ускоритель вычисления оптического потока в различных задачах машинного зрения. Компромисс между затратами ресурсов ПЛИС и производительностью позволяет гибко и быстро модифицировать предложенную схему под конкретное применение, что позволяет отказаться от использования дорогостоящих БИС.
Список литературы
1. С.И. Елесина, М.Б. Никифоров, А. А. Логинов, Л.Н. Костяшкин. Совмещение изображений в корреляционно-экстремальных навигационных системах: монография под / ред. Л.Н. Костяшкина, М.Б. Никифорова. М.: Радиотехника, 2015. 208 с.
2. Ларкин Е.В. Моделирование процесса дистанционного управления роботом // Известия Тульского государственного университета. Технические науки. 2016. Вып. 12. Ч. 4. С. 202-214.
3. Абдухаликов А.А., Беляков П.В., Никифоров М.Б. Реализация на ПЛИС алгоритма поиска ключевых точек на изображении // Международная научно-техническая и научно-методическая конференция «Современные технологии в науке и образовании». 2016. С. 103-108.
4. Обработка изображений в авиационных системах технического зрения / под ред. Л.Н. Костяшкина, М.Б. Никифорова. М.: ФИЗМАТЛИТ, 2016. С. 28-32.
5. High Accuracy Optical Flow Estimation Based on Theory for Warping / T. Brox, A. Bruhn, N. Papenberg, and J. Wieckert // in Proc. European Conf. Computer Vision. 2004. Vol. 4. P. 25-36.
6. Brun A., Wieckert J., Lucas C. Schnorr / Combining Local and Global Optic Flow Methods // J. Computer Vision. 2005. Vol. 61. P. 211-231.
7. Using C to implement high-efficient computation of dense optical flow on FPGA-accelerated heterogeneous platforms. // IEEE 14 International Conference on Field-Programmable Technology (FPT), 2014.
8. Evans D.J. Parallel s.o.r. iterative methods. Parallel Computing, 1984.
P. 3-18.
9. Новиков А.И., Муратов Е.Р., Логинов А. А., Никифоров М.Б. Сокращение вычислительной сложности совмещения изображений в авиационных системах технического зрения // Международный междисциплинарный научный журнал «Динамика сложных систем». 2015. №1. Т. 9. С. 33-40.
10. Официальный сайт Xilinx Zynq-7000 SoC [Электронный ресурс]. URL: http://www.xilinx.com/products/ silicondevices/ .soc/zynq-7000/index.htm (дата обращения: 10.08.2018).
Беляков Павел Викторович, аспирант, [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет,
Ларкин Евгений Васильевич, д-р техн. наук, профессор, зав. кафедрой, larkin. e. v@tsu. tula. ru, Россия, Тула, Тульский государственный университет,
Никифоров Михаил Борисович, канд. техн. наук, доцент, nikiforov.m. [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет
VARIOTIONAL OPTICAL FLOW METHOD MODIFICATION FOR FPGA IMPLEMENTATION
P. V. Belyakov, E. V. Larkin, M.B. Nikiforov 27
The questions of variational optical flow (OF) method based on functional minimization are considered. OF optimization for suitable hardware FPGA implementation for real time execution is proposed.
Key words: optical flow, variational method.
Belyakov Pavel Viktorovich, postgraduate, pvbelarambler.ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Larkin Evgeniy Vasil'evich, doctor of technical sciences, professor, head of chair, evlarkin@,mail. ru , Russia, Tula, Tula State University,
Nikiforov Michail Borisovich, candidate of technical sciences, docent, nikifo-rov. m. b@evm. rsreu. ru, Russia, Ryazan, Ryazan State Radio Engineering University
УДК 519.837
О ДИСКРЕТНОМ ПОДХОДЕ К МОДЕЛИРОВАНИЮ ПАРНЫХ ЭСТАФЕТ
Е.В. Ларкин, А.Н. Привалов
Показано, что существующий подход к моделированию эстафет малопригоден к реализации на ЭВМ, поскольку рекурсивная процедура расчета суммы штрафа включают операции вычисления корреляционных интегралов и интеграла определения вероятностей по взвешенной плотности распределения времени пребывания в соответствующих функциональных состояниях. Предлагается преобразование исходной модели в дискретную с определением параметров эстафеты с жестким расписанием по альтернативным маршрутам. Разработан метод дискретизации плотности распределения и алгоритм расчета суммы штрафа по дискретной модели. Полученные результаты подтверждаются контрольным примером.
Ключевые слова: эстафета, полумарковский процесс, плотность распределения, дискретизация, жесткое расписание, альтернативный маршрут.
1. Введение. Эстафеты, как корпоративно-конкурентные игры, объективно существуют в различных областях человеческой деятельности: экономике, обороне, спорте, политике и т.п. [1, 2, 3, 4]. Корпоративный аспект эстафет выражается в том, что в соревновании участвуют команды, каждая из которых состоит из множества участников, объединенных общей целью, пройти дистанцию с возможно меньшими штрафными санкциями. Конкурентный аспект заключается в следующем [5, 6, 7]: эстафета развивается в реальном физическом времени; дистанция каждой команды разбивается на этапы, по одному на каждого участника команды;