Jak to udělat rozpoznávání gest akcelerometry

hlasů
19

Mým cílem je ocenit jednoduchých gest z akcelerometrů namontovaných na slunné místo. Gesto může být tak jednoduché, jak rotační zařízení nebo pohyb nástroje v několika různých pohybů. Přístroj má v současné době pouze zrychlení, ale uvažujeme o přidání gyroskopy, pokud by usnadnilo / přesnější.

Má někdo doporučení pro to, jak to udělat? Veškeré dostupné knihovny v Javě? Ukázkové projekty, doporučil bych vyzkoušet? Papíry doporučujete?

Slunce spot je platforma Java, který vám pomůže provádět rychlé prototypy systémů. Je naprogramován pomocí jazyka Java a může předávat příkazy zpět do základnové stanice připojené k počítači. Pokud je potřeba vysvětlit, jak hardware funguje více zanechat komentář.

Položena 13/10/2008 v 21:48
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
21

Akcelerometry se registrace konstantní gravitační zrychlení, plus zrychlení zařízení se podrobí uživatelem, plus šum.

Budete potřebovat, aby dolní propust vzorky zbavit stejně irelevantní hluku, jak je to možné. Nejhorší hluku bude obecně vyšší frekvencí než možné zrychlení lidské vyvolané.

Uvědomujeme si, že když je zařízení není urychlen uživatelem, jediná síla je v důsledku gravitace, a proto si můžete odvodit svůj postoj ve vesmíru. Kromě toho, pokud je celkový zrychlení ve velkém rozsahu od 1 g, musí být vzhledem k uživateli urychlující zařízení; odečtením poslední známou odhad gravitace, můžete zhruba odhadnout, jakým směrem a podle toho, jak moc je uživatel zrychluje zařízení, a tak získat data můžete začít tak, aby odpovídala na seznamu známých gest.

S jedinou tříosý akcelerometr, můžete zjistit aktuální výšku and roll, a také zrychlení zařízení v přímém směru. Integrace zrychlení minus gravitace vám odhad aktuální rychlost, ale tento odhad bude rychle odloučit od reality kvůli hluku; budete muset dělat předpoklady o chování uživatele před / mezi / v průběhu gest, a vést je prostřednictvím svého uživatelského rozhraní, aby body, kde se zařízení není zrychlené a můžete obnovit své odhady a spolehlivě odhadnout směr gravitace. znovu integrovat najít polohu, je nepravděpodobné, že by poskytnout použitelné výsledky v průběhu jakéhokoliv užitečného dobu vůbec.

Pokud se mají dva tříosý měřiče zrychlení v určité vzdálenosti od sebe, nebo jeden a některé gyroskopy, lze také detekovat otáčení zařízení (srovnáním zrychlení vektorů, nebo z gyroskopu přímo); integrující moment hybnosti během několika sekund vám dá odhad aktuálního zatáčení vzhledem k, že když jste začali integrovat, ale zase to bude unášet ven pravda rychle.

Odpovězeno 13/10/2008 v 22:17
zdroj uživatelem

hlasů
1

Přidání bodu Moonshadow je asi museli resetovat základní úroveň pro gravitaci a rotaci ...

Ledaže se očekává, že přístroj mít stabilní chvíle odpočinku (kde jediná síla působící na něj, je gravitace) pro resetování jeho základní měření, váš systém bude nakonec vyvine ekvivalent závrať.

Odpovězeno 21/10/2008 v 23:46
zdroj uživatelem

hlasů
5

To, co ještě nebylo zmíněno, je skutečná rozpoznávání gest. To je to nejtěžší. Poté, co jste vyčistit svá data (low-pass filtrován, normalizuje, etc), máte stále většinu práce udělat.

Podívejte se na Hidden Markov modely. To se zdá být nejvíce populární přístup, ale jejich použití není triviální. Tam je obvykle předzpracování krok. První dělá STFT a shlukování výsledného vektoru do slovníku, krmení, že do HMM. Podívejte se na jahmm Google Code pro java lib.

Odpovězeno 02/07/2009 v 04:39
zdroj uživatelem

hlasů
7

Vzhledem k tomu, nikdo se zdá, že zmíněné stávající knihovny, jak je požadováno OP, tady je:

http://www.wiigee.org/

určen pro použití s Wiimote, wiigee je založen implementace open-source Java pro vzorů založené na akcelerometru četby. Dosahuje toho pomocí Hidden Markov modely [1].

To byl zřejmě zvyklý na velký efekt společností, trn Technologies, a že jsem zde zmínil o své zkušenosti: http://www.thorntech.com/2013/07/mobile-device-3d-accelerometer-based-gesture-recognition /

Nebo můžete zvážit FastDTW ( https://code.google.com/p/fastdtw/ ). To je méně přesné než běžné DTW [2], ale také výpočetně levnější, což je velký problém, pokud jde o vestavěných systémů nebo mobilních zařízeních.

[1] https://en.wikipedia.org/wiki/Hidden_Markov_model
[2] https://en.wikipedia.org/wiki/Dynamic_time_warping

EDIT: OP je uvedeno v jednom z komentářů, které on dokončil svůj projekt, s 90% přesnost v terénu a současně výpočetní sub-milisekund pomocí variantu $ 1 Recognizer . On také se zmíní, že rotace nebyla kritéria ve svém projektu.

Odpovězeno 02/11/2014 v 11:45
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more