Бесконтактные измерения характеристик движения объекта с использованием инфракрасных маркеров
Зейналов Р.Ш., Конушин А.С., Якубенко А.А. Лаборатория Компьютерной Графики и Мультимедиа, Факультет Вычислительной Математики и Кибернетики, Московский Государственный Университет им. М.В.Ломоносова
Рис. 1. Данные, фрагмент
Введение
Задача отслеживания (трекинга) объекта в пространстве встречается во многих прикладных задачах. При этом, как правило, требуется достаточно точная оценка характеристик движения, таких как линейные и угловые скорости и ускорения. Кроме того, для сбора информации можно использовать только бесконтактные устройства, такие как камеры. На сегодняшний день уже существует множество различных подходов к решению этой задачи. Решения отличаются как оборудованием, так и алгоритмами. В последнее время популярность стали получать методы компьютерного зрения, в которых в качестве устройств для сбора информации используются камеры. Известно, что при определённых условиях, зная координаты проекций точки на две камеры, параметры этих камер и их взаимное расположение, можно восстановить трёхмерные координаты точки, используя так называемую триангуляцию [1]. В случаях, когда точек много, возникает проблема восстановления соответствий проекций точек на разные камеры. Для получения этих соответствий, как правило, используются дескрипторы особых точек, например, SIFT и SURF [2]. Для того чтобы их использование было эффективным, нужно чтобы объект имел неоднородную окраску. В случаях, когда объект однородный, найти на нём особые точки и гарантировать высокую точность межвидовых соответствий не представляется возможным - будет слишком много похожих точек, которые будут ошибочно сопоставлены. Для решения проблемы однородного объекта можно использовать самоидентифицирующиеся маркеры [3] - достаточно большие плоские изображения, в которых закодирован некоторый уникальный идентификатор, которые легко и точно можно распознать при различных ориентациях маркера в пространстве относительно камеры. Однако этот способ не подходит в случаях, когда объект двигается достаточно быстро и/или на большом расстоянии от камеры, что приводит к тому, что такой маркер размывается (эффект motion-blur). Существует другой способ отслеживания объекта с помощью камер. Этот способ заключается в использовании инфракрасных маркеров совместно с камерами, которые снимают исключительно в инфракрасном диапазоне, что позволяет отслеживать перемещения отдельных точечных маркеров в пространстве (рис. 1). При этом, когда наблюдаемый объект двигается с достаточно большой скоростью, изображения маркеров, даже если и будут смазанными (рис. 2), это не сильно повлияет на распознавание маркеров и вычисление их координат на изображениях
Рис. 2. Размытие, фрагмент
камер. При этом проблема сопоставления точек решена алгоритмически использованием эпиполярных ограничений [4]. В этой работе предлагается новый метод измерения характеристик движения объекта.
Постановка задачи
Система состоит из двух камер и объекта с нанесёнными на него
инфракрасными маркерами (рис. 3). Задача распознавания маркеров и вычисления их координат на изображении в случае с ИК-маркерами в ИК-диапазоне тривиальна, поэтому останавливаться на ней не будем и будем считать, что эта задача решена. Вся задача делится на три этапа - калибровка системы, восстановление движения и вычисление характеристик движения.
Для того чтобы можно было восстанавливать координаты точек по координатам их проекций на разные камера, необходимо иметь внутренние и внешние калибровки камер - характеристики камер и их положения и ориентации в пространстве. Соответственно, первым этапом бесконтактных измерений является калибровка системы. Для этого используется калибровочный шаблон специального вида (рис. 4). Задача калибровки заключается в том, чтобы по известной геометрии шаблона и известным координатам проекций отдельных точек шаблона вычислить калибровку системы.
Задача второго этапа - при известных калибровках и проекциях точек объекта в разные моменты времени определить трёхмерные координаты этих точек, то есть, восстановить движение в пространстве для отдельных точек.
Наконец, задача третьего этапа - по известным координатам отдельных точек в каждый момент времени определить геометрию объекта при условии, что объект жёсткий, и вычислить характеристики движения этого объекта.
Подробно о каждом из этих этапов будет рассказано в соответствующем разделе.
Обзор существующих решений
Для отслеживания движущихся объектов на практике часто используются дескрипторы особых точек, такие как SIFT и SURF [2], которые позволяют найти особые точки на объекте [5]. Для отслеживания небольшого количества объектов на статической сцене иногда используется оптический поток для поиска движущихся объектов [5, 6, 7]. Для этого берутся соседние кадры, вычисляется их разность. Те регионы, в которых эта разность больше определённого порога, считаются регионами движения, то есть регионами, в которых движется объект интереса. Просматривая попарно все кадры последовательности, можно получить проекции траекторий движения объекта на камеры. В нашей задаче оптический поток бесполезен, так как при его использовании не будут найдены межвидовые соответствия маркеров.
В некоторых задачах трекинга требуется отслеживать перемещение объекта заранее известной формы [8]. В таких случаях нередко этот объект помечен маркерами, что позволяет эффективнее его отслеживать на изображениях. Когда форма отслеживаемого объекта известна, можно использовать свойства, связанные с
Object
*
Рис. 3. Схема системы
Рис. 4.
Калибровочный шаблон
расположением маркеров и легче отличать один маркер от другого. Это т.н. техника Motion Capture ([9, 10]).
Такие подходы не годятся для решения поставленной задачи, потому что форма отслеживаемого объекта заранее неизвестна и должна быть получена в процессе решения задачи.
Предложенный метод
Задача калибровки заключается в определении калибровки стереопары при известных проекциях точек шаблона и геометрии шаблона. Или, более формально:
Даны геометрия шаблона - упорядоченный набор трёхмерных координат точек Pj в системе координат шаблона (1) и координаты проекций точек на камеры (2).
CP = {р } j = 1..NCP (1)
Где NCP - количество точек в шаблоне.
CFc =({рУ } Mc,i), Mc,i = 0..1, i = 1..N, j = 1.. NCP, c = 1..2 (2)
Где M'1 - индикатор видимости шаблона на кадре i камеры c, N - общее количество кадров.
Требуется вычислить соответствие проекций точек точкам шаблона (3) и калибровки камер (4).
Cpf : CFC ® CP (3)
Cc = K; Dc; Rc; Tc), c = 1,2 (4)
Для вычисления соответствий (3) предлагается алгоритм распознавания шаблона. Для калибровки (4) используется DLT-алгоритм [11] для получения первого приближения и алгоритм Левенберга-Марквардта для получения оптимального значения калибровок.
Для восстановления трёхмерных координат отдельных точек объекта в каждый момент времени необходимо знать межкадровые и межвидовые соответствия проекций точек на камеры. Межкадровые соответствия - это соответствия проекций точек на разных кадрах одной камеры реальной точке в пространстве, межвидовые соответствия - соответствия проекций одной и той же точки в пространстве проекциям на разных камерах. Имея все эти соответствия можно восстановить трёхмерные координаты точек в пространстве, используя триангуляцию. Полученные трёхмерные координаты требуется уточнить. Для этого используется фильтр Калмана [12] для фильтрации траекторий отдельных точек и метод связок для минимизации суммарной ошибки репроекции.
Наконец, для вычисления характеристик движения объекта требуется иметь данные о положении его центра масс. Для того чтобы центр масс можно было вычислить, предполагается, что на объект действуют постоянные силы. В таком случае центр масс объекта совпадает с центром вращения объекта.
Алгоритм распознавания шаблона
Для распознавания шаблона сначала ищется пересечение основных линий шаблона (с удвоенной частотой маркеров) - две горизонтальные и одна вертикальная, которые вместе составляют крест в центре шаблона. Это пересечение ищется как крест, состоящий из пяти точек, наименее удалённых друг от друга. Пусть это будут точки Pc, Pright, Pieft, Ptop, Pbottom. После этого находятся линии креста - последовательно добавляются ближайшие точки. Затем ищутся точки, которые находятся в тех же строках/столбцах шаблона, что и точки, следующие за Pright, Pleft, Ptop, Pbottom. Назовём
- 53 -
эти точки Pi, P2, P3 и P4 начиная с правого верхнего квадранта шаблона по часовой стрелке. Затем берутся вторые точки на этих линиях и вычисляются томографии из прямоугольника с соотношением сторон 2 : 1 в четырёхугольники, одна сторона
« " __"ГЛ
которых лежит на вертикальной основной линии между точками, следующими за Ptop и Pbottom, а противоположная ей лежит между точками P1 и P2 (P3 и P4 соответственно для левой части шаблона). Используя гомографии, получаем следующие точки -сначала прогнозируем их положения, затем уточняем, пытаясь найти ближайшую точку на изображении, если она есть. После каждого такого шага гомографии уточняются. В результате получаем соответствия точек шаблона и точек на изображении. Если хотя бы один из них не выполнен, операция распознавания считается неуспешной.
Вычисление калибровки
Для вычисления калибровки используется метод связок (Bundle Adjustment, [13]), который использует алгоритм Левенберга-Марквардта [14] для вычисления оптимальных значений внутренней и внешней калибровки камеры. При этом минимизируется суммарная ошибка репроекций для каждой камеры отдельно (5) -сумма расстояний от известных проекций до проекций точек шаблона на имеющиеся камеры с учётом их характеристик, которые изменяются в процессе оптимизации. Для этого алгоритма требуется начальное приближение. Первое приближение находится с помощью метода DLT [11], который не является итерационным.
N NCP ¿=1 j=1
Cf (pj 12 ® min (5)
Вычисление межкадровых соответствий
На входе дана последовательность кадров, которые содержат наборы проекций точек - координат на изображении. Для одной и той же точки в пространстве нет соответствия между её проекциями на разных кадрах, в то время как для оценки траектории эти соответствия необходимы. Таким образом, требуется восстановить эти соответствия.
Проведённые эксперименты показывают, что для получения межкадровых соответствий
достаточно использование простого алгоритма, основанного на межкадровом смещении. Ситуации, в которых алгоритм может не сработать, на практике встречаются крайне редко, особенно при малом количестве маркеров.
Введём порог,
характеризующий величину
допустимого смещения проекции точки на изображении между соседними кадрами. Рассмотрим первый кадр последовательности. Каждой проекции, встречающейся на этом кадре, ставим в соответствие уникальный идентификатор - натуральное
Рис. 5. Первый кадр Рис. 6. Второй кадр
Рис. 7. Первый кадр Рис. 8. Второй кадр
число (рис. 7). Точки Рь Р2 и Р3 получают идентификаторы 1, 2 и 3 соответственно. Затем обрабатываем каждый следующий кадр одним и тем же способом: для каждой проекции на предыдущем кадре ищем ближайшую непомеченную проекцию на текущем кадре. Если расстояние между ними (в плоскости изображения) меньше порога - помечаем проекцию на новом кадре тем же идентификатором, что и на предыдущем кадре.
Каждую непомеченную проекцию на новом кадре помечаем новым уникальным идентификатором (рис. 6). Если в какой-то момент для проекции на предыдущем кадре не нашлось проекции на текущем кадре, значит, эта точка только что появилась (рис. 6) - точка Р4. Если для какой-то точки на предыдущем кадре не удалось найти точку на текущем кадре, значит, эта точка исчезла (рис. 7, 8) - точка Р2. Как было отмечено выше, такой алгоритм работает очень быстро, а ситуации, в которых результат работы может быть неверным, крайне маловероятны.
Вычисление межвидовых соответствий
Для вычисления межвидовых соответствий используются эпиполярные ограничения (6) [4], которые заключаются в том, что для точки в пространстве её проекция р на одной камере ограничивает положение проекции q той же самой точки
и и и | • • 1 и
на другой камере эпиполярной линией 1Ч, которая задаётся фундаментальной матрицей ¥, и наоборот (7).
Алгоритм делится на два слоя - вычисление возможных межвидовых соответствий для одной пары кадров и вычисление межвидовых соответствий для всей последовательности пар кадров. Возможные межвидовые соответствия для кадра вычисляются следующим образом: для каждой точки pj на каждой камере выбираются все точки на другой камере в окрестности соответствующей эпиполярной линии. Все пары вида <pj, ц_Ц> добавляются в список возможных соответствий для данной пары кадров. Указанные действия выполняются для всех пар кадров.
Из-за ошибок на отдельных кадрах могут получиться противоречащие между
собой множества возможных соответствий. Для того чтобы их избежать,
используется схема голосования. Пусть всего разных точек в последовательности
кадров одной камеры М1, второй камеры - М2. Введём матрицу МС, заполненную
1 2
нулями. Для каждого соответствия <pj, р1 > каждой пары кадров увеличим на
единицу элемент МС; I матрицы МС. В результате в каждом элементе матрицы будет
12
количество голосов за соответствие <р;, р1 >. Чтобы получить множество соответствий для всей последовательности пар кадров будем извлекать максимальный элемент из матрицы МС, пока в ней есть элементы, значение которых больше порога.
Некоторые точки могли пропасть из вида камер, затем снова появиться. При этом они будут восприняты как новые точки. Для решения этой проблемы рассматриваются отдельные фрагменты объекта, для которых можно построить общую систему координат. Такие фрагменты могут быть объединены, причём указанные выше точки будут совпадать с некоторой точностью. Для этого вводится порог для отождествления таких точек. Более подробно об этом написано в [15, 16].
дтГр = 0 (6)
Уточнение координат точек
Полученные координаты точек в пространстве в разные моменты времени требуют уточнения - траектории отдельных точек выглядят пилообразными, что говорит о том, что координаты точек меняются скачками. Но это значит, что на объект за конечный промежуток времени действует бесконечно большая сила. В поставленной задаче таких сил не может встречаться. Поэтому нужно сгладить траектории отдельных точек с условием постоянства силы (а значит и ускорения) на достаточно малых участках траектории. Получаем классическую линейную динамическую систему (8), известны измерения координат с некоторым шумом (9). Предположим, что шум имеет нормальное распределение (10). Для оценки истинных координат можно использовать фильтр Калмана [12].
Хг+1 = Хг + Хг '& ^
Хг+1 = Хг + Х ■&I (8)
Хг+1 = Хг
( y ^ Г X ^
y
+ d (9)
V Xy
v y i y
d ~ N(m S) (10)
По условию задачи объект жёсткий. А это означает, что координаты между любыми двумя его точками (например, маркерами) с течением времени не меняются (11). Однако вышеописанные вычисления этого не гарантируют, поэтому эти условия нужно учесть отдельно.
2
"i, j j2: р -j ° Const (11)
Для этого применяется метод связок [13], причём, в отличие от калибровки, координаты точек в пространстве не фиксируются (12). Здесь D(aj, PkJ - проекция точки Pk,i на камеру с параметрами aj, суммирование производится по всем камерам, Mkiij - индикатор видимости j-ой точки на i-ом кадре k-ой камеры, по всем кадрам.
K N M 2
SSSMk»-Ik-,-D(aj,I ®min (12)
к=1 г=1 ]=1
Вычисление характеристик
Характеристики движения объекта в пространстве, такие как линейные и угловые скорости и ускорения могут быть вычислены для разных точек объекта. Имеет смысл рассматривать эти характеристики относительно центра масс объекта. Однако вычислить центр масс объекта в условиях отсутствия дополнительных условий, характеризующих распределение массы объекта, проблематично. Поэтому вводится предположение о том, что силы, действующие на объект, постоянны на некоторых промежутках времени, каждый из которых рассматривается независимо. В таком случае центр масс совпадает с центром вращения объекта (пересечением осей вращения объекта). Координаты центр вращения объекта можно оценить, минимизируя суммарный момент вращения объекта (13), где г - радиус-вектор 1-ой точки объекта в системе координат объекта, V - касательная составляющая скорости объекта. Эта сумма минимизируется, что позволяет получить положение центра вращения в системе координат объекта.
N М
ЕЕк1 • V* (13)
к=1 г=1
Зная положение центра масс в системе координат объекта, можно вычислить характеристики движения объекта.
Тестирование
Тестирование производилось на реальных и синтетических данных. Однако эксперименты с реальными данными производить проблематично, поэтому такие эксперименты были проделаны в ограниченном объёме.
Для оценки алгоритмов поиска соответствий и реконструкции использовались метрики - ошибка репроекции и соотношение количества проекций точек, для которых удалось найти соответствия к общему числу проекций. В качестве тестовых данных были выбраны реальные данные, чистые синтетические данные и синтетические данные с шумом. Все данные содержали движение объекта с маркерами в пространстве, объединённое с его вращением. Тестирование показало, что ошибка репроекции не превышает 1 пикселя при наличии шума, а на чистых синтетических данных не превышает 0.2 пикселя. Процент использованных репроекций точек для реконструкции, в зависимости от последовательности и шума, находится в диапазоне примерно 60-70 % для данных с шумом и выше 80 % для чистых синтетических данных. Использовать все найденные проекции не получается потому, что очень часто маркеры видны на одной камере, в то время как на другой камере их не видно.
Для оценки статической погрешности был измерен объект с размером 20 см на расстоянии порядка 5 метров от обеих камер (калибровка системы осуществлялась с шаблоном на том же расстоянии от камер), вычисленное значение оказалось равно 20.09 см, что соответствует относительной погрешности измерений 0.45 % в данном эксперименте.
Для оценки качества алгоритмов вычисления характеристик были произведены комплексные эксперименты, которые заключались в вычислении величины ускорения свободного падения (с учётом сопротивления воздуха и без него). Для этого использовалась физическая модель, для которой было известно аналитическое решение. Полученные значения координат подставлялись в аналитическое уравнение для выбранной модели, что позволяло получить значения коэффициентов уравнений. Эти коэффициенты выражаются через ускорение свободного падения и коэффициент линейной части сопротивления воздуха. Например, для процесса свободного падения уравнения представлены формулами (14) и (15) - без учёта сопротивления воздуха и с учётом сопротивления воздуха.
д2 х
= (14)
д2х дх
т—Т = mg - та— (15) д^ д^
Заключение
В данной работе был предложен новый алгоритм отслеживания движения объекта в пространстве и вычисление характеристик его движения бесконтактным способом. При этом в качестве источника информации предложен объект с
инфракрасными маркерами, который наблюдается двумя камерами, которые снимают в инфракрасном диапазоне.
Для решения проблемы восстановления соответствий проекций точек предложен новый метод, основанный на использовании эпиполярных ограничений и схемы голосования для повышения устойчивости результатов.
Были проведены эксперименты, позволяющие оценить качество предложенных алгоритмов и точность измерений.
Литература
1. R. Hartley, P. Sturm, Triangulation, 1994
2. H. Bay, T. Tuytelaars, L. V. Gool, SURF: Speeded Up Robust Features, 2008, CVIU'08, Vol. 110, No. 3, pp. 346-359
3. M. Fiala, C. Shu, Self-identifying patterns for plane-based camera calibration, Machine Vision and Applications, 2008, vol. 19, no. 4, pp. 209-216
4. R. Hartley, A. Zisserman. Multiple view geometry in computer vision. Cambridge, UK, 2000. Cambridge University Press
5. A. Yilmaz, M. Shah, Contour-Based Object Tracking with Occlusion Handling in Video Acquired Using Mobile Cameras, 2004, IEEE TPAMI, vol. 26, pp. 1531-1536
6. Z. Khan, R. Herman, K. Wallen, T. Balch, An outdoor 3-D visual tracking system for the study of spatial navigation and memory in rhesus monkeys, 2005, Behavior Research Methods, vol. 37
7. S. Smith, Real-time motion segmentation and shape tracking, 1995, In Proc. 5th Int. Conf. on Computer Vision
8. M. Loaiza, A. Raposo, M. Gattass, A Novel Optical Tracking Algorithm for Point-Based Projective Invariant Marker Patterns, 2007
9. M. Weber, H. B. Amor, T. Alexander, Identifying Motion Capture Tracking Markers with Self-Organizing Maps, 2008, Virtual Reality Conference, VR'08. IEEE, pp. 297298
10. Y. Zhao, J. Westhues, P. Dietz, J. Barnwell, S. Nayar, M. Inami, M. Nol, V. Branzoi, E. Brans, Lighting Aware Motion Capture using Photosensing Markers and Multiplexed Illuminators, 2007, ACM TOG, Vol. 26, Issue 3, Article 36
11. H. Hatze, High-precision three-dimensional photogrammetric calibration and object space reconstruction using a modified DLT-approach. J. Biomech 21, 1988, 533-538.
12. G. Welch, G. Bishop, An Introduction to the Kalman Filter, 1995, Addison-Wesley ACM Press. Design 7.1 (2001) : 1-16
13. B. Triggs, Ph. Mclauchlan, R. Hartley, A. Fitzgibbo, "Bundle adjustment - a modern synthesis", Vision Algorithms: Theory and Practice, LNCS, Springer Verlag, 2000, pp. 298-375
14. Ranganathan, Ananth. "The Levenberg-Marquardt Algorithm 3 LM as a blend of Gradient descent and Gauss-Newton itera." Georgia Tech College of Computing, June 2004 : 1-5.
15. R. Zeynalov, A. Yakubenko, I. Tolkunov, A. Machikhin, Object Tracking Using Infrared Markers, In Proc. Graphicon, 2011, Moscow, pp. 263-266
16. R. Zeynalov, A. Yakubenko, A. Konushin, Infrared Marker Matching for Object Tracking in Stereo Setup, In Proc. Open German-Russian Workshop at Pattern Recognition and Image Understanding, 2011, Nizniy Novgorod, pp. 369-372