Войти
ПрограммированиеФорумОбщее

Безмаркерная система захвата движения

#0
14:29, 13 мая 2014

Всем добрый день. Разрабатываю систему захвата движения человека по видео.
Изображение
Есть видеоряд. На первом кадре определяются узловые точки скелета (отдельной программой).
Затем, используя алгоритм Лукаса-Канаде, программа находит положения всех точек скелета на каждом последующем кадре, сравнивая с предыдущим и так далее.

Уточнение: метод Лукаса-Канаде работает с прямоугольными зонами "окнами". К примеру: берутся два кадра. На первом положение точки известно, на втором нет. Метод расчитан на то, что точка не может оказаться слишком далеко от ее предыдущего местоположения, значит ее поиск сводится к небольшой зоне.

Изображение

Проблема в том, что алгоритм работает правильно до того момента, пока точки не пропадают из видимости. То есть в момент, когда в кадре одна нога перекрывает другую, точка сбивается и начинает определяться неверно. Пожалуйста помогите с идеями как можно определять моменты перекрытия объектов и восстанавливать положения точек после появления объектов в кадре


#1
15:07, 13 мая 2014

Предсказание, Dead reckoning ?

#2
14:40, 18 мая 2014

о круто! а можно чуть поподробнее? в теории примерно понимаю, но как это применить

#3
15:49, 18 мая 2014

Megaboy
я просто предложил что можно было бы попробовать. Чисто теоретически.
Если рассматривать движение сустава как движение самолета сигнал которого временами пропадает, можно попробовать предсказывать его следующие координаты основываясь на последних полученных от него данных. Алгоритм предсказания связать с длинами костей, что позволило бы наверное следить за максимальной дистанцией экстраполяции и возможно даже определить начало движения сустава в обратную сторону.

#4
19:29, 18 мая 2014

radiantor
> начало движения сустава в обратную сторону.
Можно еще предсказывать в "обратную сторону" из будущего и находить пересечение.
У тебя скелет плоский или трехмерный строится? Если запилить трехмерный и => неизменяемая длина костей, то будет попроще предсказывать, и точность вырастет.

#5
21:24, 18 мая 2014

radiantor
идею вроде понял, спасибо.  А если, к примеру, человек остановится, ракурс будет сбоку, одна нога перекрывает другую и внезапно снова начинается движение. Получается нужно комбинировать предсказания с, возможно, копированием движений видимых частей попеременно? То есть запись движения будет происходить в стартовом режиме и в режиме предсказывания, звучит не очень практично
desss
> Если запилить трехмерный и => неизменяемая длина костей, то будет попроще предсказывать, и точность вырастет
по идее плоский, так как работаю с одноракурсным потоком, третья координата есть, но она фиктивна, сейчас цель анимировать 2D персонажа в adobe flash (такое требование препода), но по идее должно справляться с несложными анимациями в 3D

#6
22:43, 18 мая 2014

Megaboy
> человек остановится, ракурс будет сбоку, одна нога перекрывает другую и
> внезапно снова начинается движение. Получается нужно комбинировать предсказания
> с, возможно, копированием движений видимых частей попеременно?
Предсказание нужно лишь при пропадании сустава из трекинга. Но например, если нога пропала, значит она скрылась за другой ногой, тогда, при виде сбоку, можно считать что положение суставов обеих ног симметрично.

В безглючную работу безмаркерного захвата в чисто автоматическом режиме, да еще с разнообразными движениями, вериться с трудом.
Гораздо проще было бы автоматически расставить маркеры на суставы на всем протяжении видео, и дать пользователю возможность скорректировать их положение на выбранных кадрах, и затем уже делать экспорт.

Прошло более 6 месяцев
#7
0:20, 8 дек. 2014

а возможно как нибудь демо попробовать?

#8
8:41, 8 дек. 2014

RadianTOR
> Если рассматривать движение сустава как движение самолета сигнал которого
> временами пропадает, можно попробовать предсказывать его следующие координаты
> основываясь на последних полученных от него данных.

В практических задачах, обычно, для этого применяют фильтр Калмана http://habrahabr.ru/post/166693/

#9
19:39, 8 дек. 2014

ой видел я такое лет 10 назад - даже где-то программка лежит - чел пытался заработать, но потом не заладилось. Но у него было 2 камеры - работало сносно. Хм неужели в ГД ничего не развивалось с тех пор, раз такие восторги - я к тому, что идея стара как мир.

ЗЫ
Я не в гд поэтому не слежу - я уж думал такого навалом везде

#10
20:07, 8 дек. 2014

iPi Soft давно такое развивает. Но у них две+ камеры или 2 кинекта.
http://ipisoft.com/gallery/

выходит так себе все рано.

#11
21:04, 8 дек. 2014

FUNNY FACE

да тоже вспомнил их. Ручную корекцию во всех капчерах производят.

#12
11:53, 11 дек. 2014

Мне понравился трекинг в 3D MAX, приходится кликать каждый кадр, но если движение смазано или по другой причине точка соскочила, её можно подкорректировать вручную

ПрограммированиеФорумОбщее

Тема в архиве.