OpenNI разпознаване на жестове на тялото?

Чудех се дали има начин OpenNI да разпознае движение като приклекване или тичане на място? И бихте ли могли да имате едновременно разпознаване на ръка, пръст и тяло?


person Trevor Rudolph    schedule 25.11.2012    source източник


Отговори (1)


Играх си с оценка на поза преди известно време, но това не е същото като разпознаването на жестове, което също включва време.

Препоръчвам ви да разгледате Dynamic Time Warping (DTW) като полезна техника. Разгледайте и проекта KineticSpace, който използва тази техника. Написано е на Processing (Java) и използва обвивка, но все още използва OpenNI под капака. кинектично пространство

Това би трябвало да ви помогне да тренирате приклякане и може би бягане. Относно втория ви въпрос: получавате разпознаване на тялото и проследяване на ръцете безплатно с OpenNI/Nite, но ще трябва да направите сами разпознаването на пръстите. Ето няколко случайни резултата, намерени в Google:

HTH

person George Profenza    schedule 25.11.2012
comment
Но ако този проект е кодиран в java, как човек би приложил техниките му за разпознаване в код на objective-c++? - person Trevor Rudolph; 26.11.2012
comment
Ако имате предвид частта Kinetic Space, по-голямата част от усилията вероятно ще отидат в пренасянето на DTW.pde (което съдържа изпълнението на DTW алго) и Data.pde (което съдържа частта за сериализиране на кода - запазване/зареждане на персонализирани жестове). По-голямата част от другия код се отнася до ключови събития и OpenNI събития (за откриване и проследяване на скелет/потребител) - които могат лесно да бъдат пренесени в C++, а приложението на основната част използва най-вече масиви с плаваща/интегрална стойност, които отново са тривиални за пренасяне. Използвал съм OpenNI и в c++ (самостоятелно и с OpenCV), но не съм използвал OpenNI с object-c++... - person George Profenza; 26.11.2012
comment
Ако планирате да използвате това и никога не сте използвали Processing преди, препоръчвам да го изтеглите и SimpleOpenNI също - изпълнение и проучване на проекта. Първоначално аз лично бих започнал да премахвам частите, от които не се нуждая, и накрая с най-простото парче код, който има DTW функционалността, от която се нуждая, след което бих продължил да пренасям клас по клас и да тествам всеки, след което да събера проста демонстрация, която използва класовете. Накрая бих интегрирал опростения/абстрахиран пренесен код с основния проект. - person George Profenza; 26.11.2012
comment
Ами goal-c++ е c++ с друга свързана библиотека, така че няма разлика - person Trevor Rudolph; 26.11.2012
comment
И кой иска да пренесе java на c++ два езика, които мразя, без обида, но c++ е много подобен на java, което не мога да понасям, няма ли друг проект, написан на c? - person Trevor Rudolph; 26.11.2012
comment
Попитахте, ако проектът е кодиран в java, как бихте внедрили в goal-c. Току-що предоставих прост проект, това е всичко, основното нещо, което трябва да вземете, е DTW алгоритъмът, който можете или да потърсите c реализация, или просто да кодирате свой собствен, като използвате обясненията/псевдо кода от wiki връзка. Напълно до това, което най-добре ви подхожда, разбира се :) - person George Profenza; 26.11.2012
comment
И къде споменах java? И двамата знаем, че openni има java бекенд, но никога не споменах java, споменах c езици и забравих обективната част, просто свързва допълнителна библиотека, без разлика - person Trevor Rudolph; 26.11.2012
comment
Разбрах за c++/objective c++, като те попитах. Вашият първоначален въпрос не споменава никакъв език и няма езиков таг, следователно предположих, че всъщност проблемът не е в езика, а в приличен алгоритъм :) - person George Profenza; 26.11.2012