新しい管理機胜Intel RealSenseずGestureWorks Fusion





マりスは、30幎以䞊にわたっおパ゜コンの制埡に広く䜿甚されおいたす。 マりスやキヌボヌドのないコンピュヌタヌのある䞖界を想像するのは難しいように思えたすが、コンピュヌタヌシステムず察話するための技術は垞に進化しおいたす。 消費者は、より盎感的な衚珟方法でシステムずアプリケヌションを制埡する自由が必芁です。 幞いなこずに、この抂念の実装は簡単になりたした。消費者レベルのパ゜コンがあれば十分です。 ゞェスチャヌコントロヌルはゲヌムの分野で非垞に集䞭的に開発されおおり、Intel RealSenseテクノロゞヌはこの方向の䞻芁な開発の1぀です。 デスクトップPCでのゞェスチャ制埡の統合は時間の問題でした。



この䟋では、アメリカの䌁業Ideumの゜リュヌションGestureWorks Fusionプログラムず、マルチモヌド入力を䜿甚しお、ゞェスチャヌず音声コマンドを解釈できる匷力で盎感的なシステムを䜜成する方法に぀いお説明したす。 Ideum開発者がIntel RealSense SDKず新しいカヌ゜ルモヌドを䜿甚しお、キヌボヌドずマりス甚に蚭蚈された埓来のアプリケヌションず迅速か぀䟿利にやり取りできるようにする方法を瀺したす。 さらに、この蚘事では、デザむナヌず開発者が盎面する問題に぀いお説明し、IntelずIdeumテクノロゞヌの組み合わせを䜿甚しおこれらの問題を解決する方法に぀いお説明したす。



GestureWorks Fusionの玹介



GestureWorks Fusionは、 Intel RealSense SR300カメラを䜿甚しお、ゞェスチャヌや音声コマンドなどのマルチモヌド入力を受信するアプリケヌションです。 この゜フトりェア補品の初期バヌゞョンでは、ナヌザヌはYouTube *などのストリヌミングビデオを再生するWebサむトの操䜜を盎感的に制埡できたす。 ナヌザヌは、埓来のグラフィカルナヌザヌむンタヌフェむスコントロヌルを䜿甚しお、マりス、キヌボヌド、画面に觊れるこずなくビデオを再生、䞀時停止、巻き戻しできたす。 盎接的なフィヌドバックのおかげで、このシステムは䜿いやすく、マスタヌするのに非垞に䟿利です。









GestureWorks Fusionを䜿甚するず、システムにIntel RealSense SR300カメラが搭茉されおいる堎合、盎感的な音声コマンドずゞェスチャヌを䜿甚しおYouTubeなどのストリヌミングビデオWebサむトを制埡できたす。



Intel RealSense SR300カメラは、Intel RealSense F200カメラを改良したもので、か぀おは2次元画像ず深床を撮圱するためのモゞュヌルが組み蟌たれた最初で最もコンパクトなカメラの1぀でした。 F200ず同様に、Intel RealSense SR300カメラは、1080pの解像床で高解像床のカラヌ画像を撮圱し、より長い範囲で高床な3次元撮圱機胜を䜿甚できたす。 このカメラは、マむクず䞀緒に、顔や顔の認識だけでなく、頭ず手を远跡するための理想的な゜リュヌションです。 「Intel RealSense SR300カメラの利点は、このすべおを同時に、非垞に迅速か぀非垞に高い信頌性で実行できるこずです」ず、IdeumのCTOおよびGestureWorksのチヌムリヌダヌであるPaul Lacey氏は説明したす。



GestureWorks Fusion゜リュヌションは、2぀の既存のIdeum補品であるGestureWorks CoreずGestureWorks Gameplay 3の機胜ずベストプラクティスに䟝存しおいたす。 ナヌザヌは、独自のタッチコントロヌルを䜜成したり、他のナヌザヌず共有したり、コミュニティが䜜成したコントロヌルをアップロヌドしたりできたす。



GestureWorks Coreは、頭郚ず腕のゞェスチャヌの完党な3次元分析を提䟛し、マルチタッチ入力ず音声察話をサポヌトするマルチモヌド察話システムです。 GestureWorks Core SDKは、300以䞊の既補のゞェスチャヌを提䟛し、C ++、C、Java *、Python *などの最も䞀般的なプログラミング蚀語をサポヌトしたす。



圓初、GestureWorks Fusionは、Microsoft Windows 10を実行するGoogle Chrome *およびMicrosoft Internet Explorer *で動䜜するように蚭蚈されおいたした。GestureWorksFusionは、Intel RealSenseカメラを搭茉したすべおのシステムで動䜜するず想定されおいたす。 同瀟はたた、ゲヌム、オフィスアプリケヌション、プレれンテヌションプログラムなどの幅広いアプリケヌションで動䜜できるようにシステムを開発する予定です。



問題ず解決策



Ideumのスペシャリストは、特に新芏ナヌザヌ向けに、GestureWorks゜リュヌションを盎感的で䜿いやすいものにするためにいく぀かの問題に遭遇したした。 開発者は、公共の建物甚にマルチタッチテヌブルず壁パネルを䜜成した経隓があり、機噚が期埅どおりに機胜しない堎合、ナヌザヌがむラむラするこずを知っおいたした。 この経隓に基づいお、蚭蚈者はゞェスチャヌをできるだけシンプルにし、最も身近な動䜜に焊点を合わせるこずにしたした。









GestureWorks * Fusionは、アプリケヌションのナヌザヌむンタヌフェむスに盎接関連する簡単なゞェスチャセットを䜿甚したす。 埓来のむンタヌフェむスやタッチむンタヌフェむスを䜿甚せずに、人気のある既存のアプリケヌションにアクセスできたす。



オペレヌティングシステムずブラりザの制限により、次の䞀連の問題が発生したした。 そのため、最新のWebブラりザヌはマルチモヌド入力甚に最適化されおいたせん。 このため、たずえばナヌザヌの入力フォヌカス、぀たりナヌザヌが察話する画面䞊の堎所を刀断するこずは困難です。 たた、これにより、むンタヌフェむスの異なるセグメント間でのスムヌズな移動が劚げられ、Webサむト間を切り替えるこずもできたす。 同時に、単にスクロヌルずクリックを拒吊するこずは䞍可胜であるこずが明らかになりたした。これらの操䜜はデスクトップの基本であり、ほずんどすべおの最新のアプリケヌションで䜿甚されおいたす。



さらに、このタむプのむンタヌフェヌスでは、ゞェスチャヌを䜿甚しお制埡を盎感的に有効たたは無効にする機胜が重芁です。 人は、どのゞェスチャヌが意味があり、どのような状況にあるかを盎感的に理解したす。 アプリケヌションは、人ずは異なり、ゞェスチャヌを分析するためにコンテキストが必芁です。 GestureWorks Fusionでは、カメラの芖野内で手を䞊げるだけで、ゞェスチャコントロヌルむンタヌフェむスをオンにするこずができたす。 手がカメラの芖野から倖れるず、ゞェスチャヌむンタヌフェむスが消えたす。 このアプロヌチは、ホバヌに远加情報を衚瀺するこずに䌌おいたす。



マルチモヌド入力自䜓は、Ideumプログラムのアヌキテクチャず実装に圱響を䞎えた特定のプログラミングの問題に関連付けられおいたす。 たずえば、Ideumアプリケヌションでは、各ゞェスチャヌに察しお音声コマンドが提䟛されおおり、競合が発生する可胜性がありたす。 「マルチモヌド入力を成功させるには、慎重に蚭蚈する必芁がありたす」ず、レむシヌは説明したす。



応答時間も同様に重芁な芁玠であるこずが刀明し、マりスずキヌボヌドに蚭定されおいる既存の暙準に察応する必芁がありたすそうしないず、入力を絶えず調敎しなければならないナヌザヌのすべおの操䜜の耇雑さが増したす。 これは、応答時間が30ミリ秒以䞋、理想的には6ミリ秒であるこずを意味したす。 この指暙レむシヌは「人間ずコンピュヌタヌの盞互䜜甚の聖杯」ず呌んでいたす。



最埌に、Ideum開発者はカスタマむズの問題に盎面しおいたす。 GestureWorks Fusionアプリケヌションでは、構成の倧郚分は暗黙的に「舞台裏」で実行されたす。 「システムは自動的に適応および倉曎され、補品を䜿甚するに぀れお埐々に䜿いやすさが向䞊したす」ずレむシヌは説明したす。



Intel RealSense SDKの䜿甚



開発者は、Intel RealSense SDKを介しおIntel RealSense SR300カメラの機胜にアクセスできたす。IntelRealSense SDKは、パタヌン怜出および認識アルゎリズムの広範なラむブラリの暙準むンタヌフェむスです。 これらのアルゎリズムには、顔認識、ゞェスチャおよび音声認識、テキスト読み䞊げ凊理などの倚くの䟿利な機胜が含たれおいたす。



システムは、開発者が盞互䜜甚のさたざたな偎面に集䞭できる䞀連のモゞュヌルに分割されたす。 SenseManagerむンタヌフェむスなどの䞀郚のコンポヌネントは、顔や腕の远跡などの䞀般的な機胜の調敎を提䟛し、I / Oや凊理制埡などのマルチモヌド制埡パむプラむンを制埡したす。 キャプチャおよび画像むンタヌフェむスなどの他の芁玠を䜿甚するず、開発者はカメラのパフォヌマンスを監芖し、キャプチャした画像を操䜜できたす。 HandModule、FaceModule、およびAudioSourceむンタヌフェむスは、顔ず腕の远跡、およびオヌディオ入力ぞのアクセスを提䟛したす。



Intel RealSense SDKは、さたざたなスタむルずコヌド蚘述技術をサポヌトするこずにより、統合を簡玠化したす。 シェルは、いく぀かの䞀般的なプログラミング蚀語、プラットフォヌムおよびゲヌム゚ンゞン、C ++、C、Unity *、Processing、およびJava甚に提䟛されおいたす。 Intel RealSense SDKは、JavaScriptアプリケヌションの限定的なブラりザサポヌトも提䟛したす。 Intel RealSense SDKは、人間ずコンピュヌタヌの盞互䜜甚のための耇雑なアルゎリズムの実装を簡玠化したす。 このパッケヌゞのおかげで、開発者はゞェスチャヌ認識や音声認識アルゎリズムのコヌドを曞くのではなく、ナヌザヌの利䟿性の向䞊に集䞭できたす。



「むンテルの゜リュヌションのおかげで、開発コストが倧幅に削枛されたした」ず、レむシヌ氏は蚀いたす。 「Intelテクノロゞヌは䜜業の重芁な郚分を担っおいたす。ゞェスチャヌの入力ず認識を保蚌するため、開発者のタスクが倧幅に簡玠化され、人間ずコンピュヌタヌの盞互䜜甚に関する新しいプロゞェクトに自信を持っお取り組むこずができたす。」



゜リュヌションに取り組む



GestureWorks Fusionを䜜成する際、Ideumの開発者は倚くの新しい手法を適甚したした。 たずえば、ナヌザヌの焊点を決定する問題を考えおください。 この問題を解決するために、Intel RealSense SDK 2016 R1 for Windowsで最初に登堎した新しいカヌ゜ルモヌドを䜿甚するこずにしたした。 カヌ゜ルモヌドでは、手の党䜓的な䜍眮に䞀臎する単䞀のポむントをすばやく正確に远跡できたす。 これにより、システムは、クリック、手のひらの開閉、任意の方向の回転などのゞェスチャの小さなセットをサポヌトできたす。 カヌ゜ルモヌドでは、ナヌザヌのフォヌカスの問題が解決されたす。システムは、マりス入力ず同じ方法でゞェスチャヌによる入力を解釈したす。









開発者は、Intel RealSense SDKの組み蟌みカヌ゜ルモヌドを䜿甚しお、マりスクリックなどの䞀般的なデスクトップ管理アクションを簡単にシミュレヌトできたす。



これらのゞェスチャヌを䜿甚するず、ナヌザヌは、キヌボヌド、マりス、画面に觊れるこずなく、アプリケヌションを高い粟床ず信頌性でナビゲヌトし、「重量で」操䜜を制埡できたす。 カヌ゜ルモヌドは他の領域で圹立ちたす。 「ずりわけ、誰もが同じようにゞェスチャヌするわけではないこずがわかりたした」ず、レむシヌは蚀いたした。 カヌ゜ルモヌドを䜿甚するず、類䌌したゞェスチャを同じコンテキストに䞀臎させるこずができ、党䜓的な信頌性が向䞊したす。



たた、開発者は、カヌ゜ルモヌドを既存のプロトタむプに導入する単玔さを匷調したした。これにより、わずか数時間でGestureWorks Fusionの新しいバヌゞョンをリリヌスできたした。ほんの数行のコヌドを远加するだけで枈みたした。 たずえば、GestureWorksでは、次のコヌドフラグメントに瀺すように、カヌ゜ルモヌドを䜿甚しお、ポむンタヌの画像の座暙を取埗し、マりスむベントを合成したす。



// Get the cursor image coordinates PXCMPoint3DF32 position = HandModule.cursor.QueryCursorPointImage(); // Synthesize a mouse movement mouse_event ( 0x0001, // MOUSEEVENTF_MOVE (uint)(position.x previousPosition.x), // dx (uint)(position.y previousPosition.y), // dy 0, // dwData flags empty 0 // dwExtraInfo flags empty }; ... // Import for calls to unmanaged WIN32 API [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, int dwExtraInfo);
      
      





その埌、暙準のWindows APIを䜿甚しお、フォヌカスがどのりィンドりにあるかをすばやく刀断できたす。



 // Get the handle of the window with focus IntPtr activeWindow = GetForegroundWindow(); // Create a WINDOWINFO structure object WINDOWINFO info = new WINDOWINFO(); GetWindowInfo(activeWindow, ref info); // Get the actiive window text to compare with pre-configured controllers StringBuilder builder = new StringBuilder(256); GetWindowText(activeWindow, builder, 256); ... // Import for calls to unmanaged WIN32 API [DllImport("user32.dll")] static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll")] static extern int GetWindowText(IntPtr hWnd, StringBuilder builder, int count);
      
      





カヌ゜ルモヌドでは、远跡は腕党䜓の远跡の2倍の速さですが、消費電力は半分になりたす。 「䜿いやすさずは、可胜な限り最も予枬可胜な方法で期埅される結果を生成するこずです」ずレむシヌは説明したす。 -ゞェスチャで非垞に高いレベルの自信に達した堎合、これにより、ナヌザヌむンタラクションの他の領域の仕䞊げに集䞭できたす。 たた、開発コストを削枛し、より少ないリ゜ヌスでより重芁な結果を達成するこずができたす。」



マルチモヌド入力をサポヌトするために、GestureWorksはMicrosoft Speech Recognition APIMicrosoft SAPIを䜿甚したす。これには、郚分仮説など、Intel RealSense SDKにはないコンポヌネントが含たれおいたす。 これにより、次のコヌドフラグメントに瀺すように、各ゞェスチャヌに察応する音声コマンドを付随させるこずができたす。



 IspRecognizer* recognizer; ISpRecoContext* context; // Initialize SAPI and set the grammar ... // Create the recognition context recognizer>CreateRecoContext(&context); // Create flags for the hypothesis and recognition events ULONGLONG recognition_event = SPFEI(SPEI_RECOGNITION) | SPFEI(SPEI_HYPOTHESIS); // Inform SAPI about the events to which we want to subscribe context>SetInterest(recognition_event, recognition_event); // Begin voice recognition <recognition code 
>
      
      





䞊列化は、ナヌザヌの意図を認識するために䜿甚されたす。これにより、1秒あたり60フレヌムの速床でほが同時に察話し、フィヌドバックを提䟛できたす。 「マルチスレッド凊理を効率的に䜿甚するこずで、応答時間を短瞮できたした」ず、レむシヌは蚀いたす。 「マルチスレッドにより機胜が拡匵され、結果を達成するこずができたしたが、その実珟可胜性は確信できたせんでしたが、䜎レベルの遅延を維持しおいたした。」



Ideum開発者は、ゞェスチャマヌクアップ蚀語GMLず呌ばれる高床なXML構成スクリプトを開発するこずで、ゞェスチャベヌスの察話をより完党に蚘述および圢匏化するこずも詊みたした。 GMLを䜿甚するず、人ずコンピュヌタヌ間の盞互䜜甚の問題を解決するために䜿甚できる完党なゞェスチャヌラむブラリを䜜成できたした。 これにより、開発者は、モヌショントラッキングずマルチタッチコントロヌルの入力範囲が数千皮類に及ぶため、ゞェスチャ認識アルゎリズムの過床の耇雑さを回避するこずができたした。



「Intel RealSenseカメラずのマルチモヌドむンタラクションの圱響は、䞀蚀で説明できたす。コンテキスト」ずLacey氏は蚀いたす。 「人間ずコンピュヌタヌの盞互䜜甚の根本的に新しい可胜性を開く、新しいレベルのコンテキストを認識する機䌚を埗たした。」



さらなるアクション



Ideum開発者は、GestureWorks Fusionの開発、3次元ゞェスチャを䜿甚しお仮想オブゞェクトを管理するオフィススむヌト、グラフィックアプリケヌション、コンピュヌタヌ支揎蚭蚈システムなどの远加アプリケヌションのサポヌトを远加する予定です。 GestureWorksは、Intel RealSenseテクノロゞヌをサポヌトするタブレット、ホヌム゚ンタヌテむンメントシステム、さらには自動車、さらには他のテクノロゞヌで、埓来のデスクトップPCやラップトップずは非垞に異なる゜リュヌションで動䜜したす。



将来的には、仮想珟実、拡匵珟実、耇合珟実の゜リュヌションを含む他のシステム。 これは、新しい盞互䜜甚モデルによりナヌザヌが独自のスペヌスを䜜成できるIoTテクノロゞヌにも適甚されたす。



「GestureWorks Fusionの開発䞭に、今日の環境で察話する新しい方法を発芋するこずができたした」ずレむシヌは説明したす。 「しかし、環境に関係なく、ゞェスチャずスピヌチを䜿甚しおデバむスを単玔に制埡し、コンピュヌタヌのような埓来の方法でデバむスを制埡する必芁がなくおも、必芁なアクションのシヌケンスを遞択できたす。」



資源



Intel RealSenseテクノロゞヌの䜿甚を開始するには、Intel Developer Zoneにアクセスしおください。

GestureWorksの開発者であるIdeumの詳现をご芧ください 。

Intel RealSense SDKをダりンロヌドしたす。



All Articles