JP2020135587A - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP2020135587A
JP2020135587A JP2019030161A JP2019030161A JP2020135587A JP 2020135587 A JP2020135587 A JP 2020135587A JP 2019030161 A JP2019030161 A JP 2019030161A JP 2019030161 A JP2019030161 A JP 2019030161A JP 2020135587 A JP2020135587 A JP 2020135587A
Authority
JP
Japan
Prior art keywords
hand
arm
reference position
unit
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019030161A
Other languages
English (en)
Inventor
優伍 佐藤
Yugo Sato
優伍 佐藤
淳 入江
Atsushi Irie
淳 入江
健志 後藤
Kenji Goto
健志 後藤
純二 大塚
Junji Otsuka
純二 大塚
哲男 池田
Tetsuo Ikeda
哲男 池田
英佑 藤縄
Eisuke Fujinawa
英佑 藤縄
誠史 友永
Seishi Tomonaga
誠史 友永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2019030161A priority Critical patent/JP2020135587A/ja
Priority to PCT/JP2020/004765 priority patent/WO2020170851A1/ja
Priority to US17/430,789 priority patent/US11789543B2/en
Publication of JP2020135587A publication Critical patent/JP2020135587A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Image Analysis (AREA)

Abstract

【課題】複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングできるようにする。【解決手段】ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得し、画像よりユーザの左右の手と、それぞれの手に対応する腕とを検出し、一方の腕の根本の位置を基準位置に設定し、一方の腕が左手あるときは、操作面の外周に沿って最も近い隣接する腕の根本の位置を参照位置に設定し、基準位置の腕の手と、参照位置の腕の手とをペアリングする。情報処理システムに適用することができる。【選択図】図1

Description

本開示は、情報処理装置、および情報処理方法、並びにプログラムに関し、特に、複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングできるようにした情報処理装置、および情報処理方法、並びにプログラムに関する。
タッチパネルに対するタッチ操作や空間に手をかざすなどの手を用いたジェスチャにより、アプリケーションソフトウェア等に対する操作入力を受け付ける操作機器が提案されている。
ここで、ジェスチャによる操作入力を受け付けるような場合、複数の人数で操作しようとすると、どの手が誰のものであるのかを識別できなければならない。
そこで、例えば、車載装置の操作領域に対する腕の進入方向に基づいて、運転者の手であるか、助手席の搭乗者の手であるのかを判別する技術が提案されている(特許文献1参照)。
特許第4918872号公報
ところで、特許文献1の技術においては、識別する人物が、運転者と助手席の搭乗者の二人であることから、操作領域を左右に2分割することで、腕の進入方向に基づいて判別することが可能とされている。
しかしながら、車載装置以外の操作領域に対する操作入力である場合であって、2人以上を判別する必要があるときには、判別可能な人数については、操作領域に対する分割数に依存することになり、さらに、任意の方向からの腕の侵入には対応することができない。
本開示は、このような状況に鑑みてなされたものであり、特に、複数のユーザの手を用いた操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングするものである。
本開示の一側面の情報処理装置は、ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部とを備える情報処理装置である。
本開示の一側面の情報処理方法、およびプログラムは、情報処理装置に対応するものである。
本開示の一側面においては、ユーザの手を用いた操作入力を受け付ける操作面上の画像が取得され、前記画像より前記ユーザの左右の手と、前記手に対応する腕とが検出され、検出された前記画像内における前記ユーザ毎の左右の手がペアリングされる。
本開示の概要を説明する図である。 本開示の情報処理システムの構成例を説明する図である。 図2の情報処理システムの外観構成例を示す図である。 反時計回りペアリング処理を説明する図である。 時計回りペアリング処理を説明する図である。 基準位置と参照位置の手が左右同一である場合の反時計回りペアリング処理を説明する図である。 基準位置と参照位置の手が左右同一である場合の時計回りペアリング処理を説明する図である。 基準位置と参照位置との距離が所定の距離より離れたときのペアリング処理を説明する図である。 ペアリング処理において、左右の手の位置ではなく、腕の根本の位置を基準位置と参照位置に設定する理由を説明する図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定手法の概要を説明するための図である。 3次元位置推定手法の例について説明する。 3次元位置推定手法の例について説明する。 3次元位置推定手法の例について説明する。 本開示の実施の形態に係るジェスチャ認識について説明するための図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 図2の情報処理システムの情報処理を説明するフローチャートである。 図21のペアリング処理を説明するフローチャートである。 図22の反時計回りペアリング処理を説明するフローチャートである。 図23の時計回りペアリング処理を説明するフローチャートである。 図21のペアリング処理を説明するその他のフローチャートである。 汎用のパーソナルコンピュータの構成例を説明する図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.本開示の概要
2.本開示の実施の形態
3.ソフトウェアにより実行させる例
<<1.本開示の概要>>
本開示は、複数のユーザの手を用いた操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングするものである。
まず、本開示の概要について説明する。
例えば、図1で示されるような、タッチパネルとしての機能と、表示装置としての機能を備えたテーブルT、および、テーブルTと対向する位置に設置され、テーブルT上の画像を撮像する図示せぬカメラとからなる、情報処理システムを想定する。
図1の情報処理システムにおいては、例えば、カメラにより撮像される画像に基づいて、左右の手を用いた操作面であるテーブルTに対する操作入力をジェスチャとして認識し、認識されたジェスチャとしての操作入力に対応するコマンドを実行し、実行結果を出力する。
左右の手を用いた操作面であるテーブルTに対する操作入力とは、例えば、左右の手のうちの一方の手によるテーブルT上をタッチする指と、他方の掌の形状とに基づいたジェスチャにより表現されるものである。ここで、掌の形状とは、例えば、人差指を立てる、人差指と中指を立てる、または人差指と親指の腹を併せて輪を作る等の掌で形成できる形状である。
また、図1の情報処理システムは、複数のユーザの操作入力も受け付ける。複数のユーザからの操作入力を受け付ける場合、左右の手が、それぞれユーザ毎にペアとして認識され、ペアとなる左右の手の情報に基づいて、操作入力が受け付けられる。
このため、複数のユーザからの操作入力を受け付けるには、まず、複数の左右の手を、それぞれ適切にユーザ毎にペアリングする必要がある。
そこで、本開示の情報処理システムにおいては、まず、カメラが、テーブルT上の画像を撮像する。
次に、カメラにより撮像された画像に基づいて、テーブルTの端部に跨る腕(の領域)の根本の位置が検出される。すなわち、図1の場合、左手L1乃至L4、および右手R1乃至R4の腕の根本の位置が検出される。次に、腕の根本の位置が検出されると、検出された腕の根本の位置に対して端部となる領域の掌を検出し、親指の向きなどにより、左手および右手が検出される。
このように検出された左手および右手のうち、左手のいずれかに対応するテーブルTの端部に跨る腕の根本の位置が基準位置に設定される。図1の場合、例えば、左手L1の腕の根本の位置が基準位置BPに設定される。
次に、左手の腕が基準位置BPとして設定された場合、テーブルTの外周に沿って、反時計回り方向の隣であって、最も近い位置に存在する右手の腕の根本の位置が参照位置RPとして検索される。
そして、基準位置BPに設定された位置に根本が位置する腕の左手L1と、参照位置RPに設定された位置に根本が位置する腕の右手R1とがペアP1に設定される。
次に、参照位置RPに設定された位置に根本が位置する腕の反時計回りに隣であって、最も近い位置に存在する左手の腕の根本の位置が、新たな基準位置BPに設定される。
以降、図1の場合、左手L2の腕の根本の位置が、2番目の新たな基準位置BPに設定される。
そして、上述と同様の手法により、右手R2の腕の根本の位置が新たな基準位置BPに対する参照位置RFに設定されて、新たに参照位置RFに設定された位置に根本が位置する腕の右手R2と左手L2とがペアP2に設定される。
以下同様の処理が繰り返されて、左手L3と右手R3とがペアP3に設定され、左手L4と右手R4とがペアP4に設定される。
以上においては、左手の腕の根本の位置が基準位置BPに設定され、テーブルTの外周に対して反時計回りに隣であって、最も近い位置に存在する右手の腕の根本の位置を参照位置RPとして、基準位置BPと参照位置RPとのそれぞれの位置に、根本が位置する腕に属する左手と右手とをペアに設定する例について説明してきた。
同様に、右手の腕の根本の位置が基準位置BPに設定されるようにしてもよく、この場合、テーブルTの外周に対して時計回りに隣であって、最も近い位置に存在する左手の腕の根本の位置が参照位置RPとされるようにして、基準位置BPと参照位置RPとの腕に属する右手と左手がペアに設定されるようにしてもよい。
以上の処理により、複数のユーザの左右の手をペアリングさせることで、適切に同一の人物の左右の手をペアリングさせることが可能となる。
結果として、ペアリングされた左右の手のジェスチャに基づいて、複数のユーザの操作入力を受け付けることが可能となる。
<<2.本開示の実施の形態>>
<情報処理システムの構成例>
続いて、図面を参照しながら、本開示の実施の形態に係る情報処理システムの構成例について説明する。
図2は、本開示の実施の形態に係る情報処理システムの機能構成例を示す図である。
図2で示されるように、情報処理システム11は、入力部31、情報処理装置32、および出力部33を備える。
また、情報処理装置32は、手検出部51、ペアリング部52、3次元位置推定部53、フレーム数判定部54、相対速度/相対位置算出部55、ジェスチャ認識部56、コマンド実行部57および記憶部58を備える。
入力部31は、入力装置を含んで構成され、操作体(より具体的には、操作体の一部または全部の形状、動きなど)を、時間軸を含めてセンシングすることにより、操作入力を受け付ける。ここでいう操作体とは、例えば、ユーザの手(掌)と、対応する腕である。
より具体的には、入力部31は、例えば、画像センサ(カメラ)およびデプスセンサより構成される。
しかしながら、入力部31は、これらのセンサすべてを含んで構成されていなくてもよく、これらのセンサの少なくとも一つを含んで構成されていればよい。または、入力部31は、タッチセンサを含んでもよい。以下では、操作体の形状、動きなどが、画像センサによって取得される場合を主に想定する。しかしながら、これらの情報がどのセンサによって取得されるかは限定されない。
すなわち、入力部31は、例えば、画像センサを含む第1の入力部31と、タッチセンサを含む第2の入力部31とから構成されるようにしてもよい。
本実施の形態においては、左右の手の少なくともいずれかの形状や動きの変化、および、後述するテーブル71a(図3)対するタッチの有無等に基づいたジェスチャが操作体である左右の手による操作入力として受け付けられるものとする。
以下では、操作体である左右の手の少なくともいずれか一方の形状や、動きなどが、画像に基づいて認識され、画像センサやデプスセンサによって取得される場合を主に想定する。しかしながら、これらの情報がどのセンサによって取得されるかは限定されない。また、センシングされるものは画像に限らないため、タッチセンサによりテーブル71aに対してタッチされたか否かの情報がセンシングされるようにし、そのセンシング結果を用いるようにしてもよい。
なお、画像センサとしては、可視光カメラが用いられてもよいし、赤外線カメラが用いられてもよい。デプスセンサとしては、ステレオカメラが用いられてもよいし、TOF(Time Of Flight)センサが用いられてもよいし、Structured Light方式による距離画像センサが用いられてもよい。タッチセンサは、上方または下方から撮影を行うカメラであってもよいし、投影面に敷かれたタッチパネルであってもよい。
出力部33は、出力装置を含んで構成され、コマンド実行部57によって実行されるコマンドに従って情報を出力する。以下では、出力部33がプロジェクタを含んで構成され、プロジェクタが投影面に情報を投影することによって情報を出力する場合を主に想定する。
しかしながら、出力部33は、プロジェクタを含む場合に限定されない。例えば、出力部33は、タッチパネル式のディスプレイであってもよいし、LCD(Liquid Crystal Display)や、有機EL(Electro-Luminescence)ディスプレイなどであってもよい。
出力部33によって情報が出力される面は、表示面(投影面)に相当する。特に、出力装置としてプロジェクタが使用される場合には、表示面はプロジェクタによって情報が投影される投影面(例えば、テーブルの天面)に相当する。以下の説明においては、表示面として投影面が用いられる場合を主に想定するが、表示面は投影面に限定されない。また、プロジェクタによって情報が投影される領域は、テーブル面に限定されない。例えば、プロジェクタによって情報が投影される領域は、床面であってもよいし、壁面であってもよいし、物体などであってもよい。
情報処理装置32は、入力部31より入力されるセンシング結果に基づいて、処理を施し、処理結果を出力部33に出力する。
より具体的には、情報処理装置32は、例えば、プロセッサとメモリ等から構成されるパーソナルコンピュータなどから構成されるようにして、入力部31および出力部33が物理的に接続されて構成される。
また、情報処理装置32は、例えば、ネットワーク上に構成されるサーバやクラウドコンピューティングにより実現されてもよく、ネットワークを介して入力部31および出力部33と接続される構成とされてもよい。
尚、情報処理装置32の詳細については後に詳細に説明する。
<情報処理システムの外観構成例>
図3は、本開示の実施の形態に係る情報処理システム11の外観構成例を示す図である。図3に示されたように、情報処理システム11は、入力部31と出力部33とを含んで構成される。情報処理システム11は、テーブル71の天面に情報を表示し、テーブル71に表示した情報に対してユーザに操作をさせる。このように、テーブル71の天面に情報を表示する方式を「プロジェクション型」とも称する。
入力部31は、ユーザによる操作や、テーブル71に置かれている物体の形状や模様などを入力情報として受け付ける。図3に示された例では、入力部31が、テーブル71の上方に、天井から吊り下げられた状態で設けられている。このように、テーブル71の上方から情報を出力部33によって照射し、テーブル71の天面に情報を表示する方式を「上方プロジェクション型」とも称する。入力部31としては、1つのレンズでテーブル71を撮像するカメラが用いられてもよいし、2つのレンズでテーブル71を撮像して奥行き方向の情報を記録することが可能なステレオカメラが用いられてもよいし、ユーザが発する音声や環境音を収音するためのマイクロフォンが用いられてもよい。
入力部31として、1つのレンズでテーブル71を撮像するカメラが用いられる場合、情報処理システム11は、そのカメラが撮像した画像を解析することによって、テーブル71に置かれた物体やユーザの手のジェスチャを認識することができる。また、入力部31としてステレオカメラが用いられる場合、情報処理システム11は、ステレオカメラによって取得された深度情報に基づいて、テーブル71の上に置かれた物体(手など)やジェスチャの認識が可能になる。また、情報処理システム11は、深度情報に基づいて、テーブル71へのユーザの手の接触やテーブル71からの手の離脱の認識が可能である。
また、入力部31としてマイクロフォンが用いられる場合、そのマイクロフォンは特定の方向の音声を収音するためのマイクロフォンアレイが用いられ得る。入力部31としてマイクロフォンアレイが用いられる場合、情報処理システム11は、マイクロフォンアレイの収音方向を任意の方向に調整してもよい。
出力部33は、入力情報に応じて、テーブル71に情報を表示したり、音声を出力したりする。出力部33としては、プロジェクタやスピーカ等が用いられ得る。図3に示された例では、出力部33は、テーブル71の上方に、天井から吊り下げられた状態で設けられている。出力部33がプロジェクタで構成される場合、出力部33は、テーブル71の天面に情報を投影する。出力部33がスピーカで構成される場合、出力部33は、音声信号に基づいて音声を出力する。このとき、スピーカの数は1つであってもよく、複数であってもよい。出力部33が複数のスピーカで構成される場合、情報処理システム11は、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
また、本開示の実施の形態に係る情報処理システム11が、図3に示されたようなプロジェクション型の情報処理システム11である場合、出力部33には、照明機器が含まれていてもよい。出力部33に照明機器が含まれる場合、情報処理システム11は、入力部31によって受け付けられた入力情報の内容に基づいて、照明機器の点灯、消灯等の状態を制御してもよい。また、本開示の実施の形態に係る情報処理システム11が、図3に示されたような上方プロジェクション型の情報処理システム11である場合、テーブル71だけではなく、テーブル71の上に置かれた物体にも情報を表示することも可能である。
ユーザは、出力部33がテーブル71に表示する情報に対して、掌や指などを用いたジェスチャによって各種の操作入力を行うことができる。また、ユーザは、テーブル71に物体を置き、入力部31に物体を認識させることによって、情報処理システム11に、その物体に関する種々の処理を実行させることが可能である。
図2に戻って説明を続ける。続いて、情報処理装置32の構成例について説明する。情報処理装置32は、手検出部51、ペアリング部52、3次元位置推定部53、フレーム数判定部54、相対速度/相対位置算出部55、ジェスチャ認識部56およびコマンド実行部57を備える。これらのブロックは、例えば、1または複数のCPU(Central Processing Unit)などといった処理装置によって構成される。これらのブロックが、CPUなどといった処理装置によって構成される場合、かかる処理装置は電子回路によって構成されてよい。また、それぞれがネットワーク上に構成されるサーバにより実現されるようにしてもよいし、クラウドコンピューティングにより実現されてもよい。
手検出部51は、入力部31によって取得された入力情報に基づいて、腕を認識し、認識した腕の根本の位置と、その腕に繋がる操作体である手(掌および手首)の位置とを認識して検出し、入力情報と共に検出結果をペアリング部52に出力する。尚、ここでいう腕の根本の位置は、例えば、撮像された画像内におけるテーブル71の外周部と跨る位置に存在する腕の位置である。
ペアリング部52は、入力情報と手の検出結果に基づいて、同一のユーザの右手と左手をペアリングする。
ペアリング部52は、入力情報と手の検出結果に基づいて、左右の手と、その手に付帯する腕の根本の位置の情報を利用して同一ユーザの右手と左手とをペアリングする。
<左右の手のペアリングの方法(その1)>
より具体的には、例えば、入力情報として、図4の最左部で示されるようにテーブル71の天面上に、左手L1乃至L4、および右手R1乃至R4が映し出されている画像が用いられる場合について考える。
尚、図4の最左部においては、左手L1と右手R1、左手L2と右手R2、左手L3と右手R3、および左手L4と右手R4が、それぞれ同一のユーザの左右の手である。
従って、ペアリング部52は、左手L1と右手R1、左手L2と右手R2、左手L3と右手R3、および左手L4と右手R4をそれぞれ同一の人物の左手と右手のペアとしてペアリングする必要がある。
そこで、ペアリング部52は、左手L1乃至L4の手首に繋がる腕の根本の位置のいずれか、または、右手R1乃至R4の手首に繋がる腕の根本の位置のいずれかを基準位置BPに設定する。ここで、例えば、図4の最左部で示されるように、左手L1の腕の根本の位置が基準位置BPに設定されるものとする。
次に、左手の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周部に沿って反時計回り方向であって、基準位置BPから最も近い隣の位置に存在する腕の根本を検索し、検索された腕の根本の位置を参照位置RPに設定する。
そして、ペアリング部52は、基準位置BPと参照位置RPのそれぞれの腕の根本に繋がる手をペアに設定する。
すなわち、図4の最左部で示されるように、腕の根本の位置が基準位置BPとして設定された左手L1と、腕の根本の位置が参照位置RPとして設定された右手R1とがペアP1に設定される。以上の処理により、左手L1と右手R1とが同一人物の左右の手としてペアP1に設定される。
次に、ペアリング部52は、テーブル71の外周に沿って反時計回りに参照位置RPから最も近い位置に存在する腕の根本を検索し、検索された腕の根本の位置を、新たな基準位置BPに設定する。
すなわち、図4の左から2番目で示されるように、参照位置RPとなる右手R1の腕の位置からテーブル71の外周に沿って反時計回りに参照位置RPから最も近い位置に存在する腕の根本は、左手L2の腕の根本となるので、左手L2の腕の根本の位置が新たな基準位置BPに設定される。
次に、左手L2の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って反時計回りであって、基準位置BPから最も近い隣の位置に存在する腕の根本として、右手R2の腕の根本を検索し、検索された右手R2の腕の根本の位置を参照位置RPに設定する。
そして、図4の左から2番目で示されるように、腕の根本の位置が基準位置BPとして設定された左手L2と腕の根本の位置が参照位置RPとして設定された右手R2とがペアP2に設定される。
以降、同様の処理が繰り返されることにより、図4の右から2番目で示されるように、左手L3の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが右手R3の腕の根本の位置に設定される。これにより、左手L3と右手R3とがペアP3に設定される。
そして、図4の最右部で示されるように、左手L4の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが右手R4の腕の根本の位置に設定される。これにより、左手L4と右手R4とがペアP4に設定される。
すなわち、図4で示されるように、左手L1と右手R1とがペアP1に、左手L2と右手R2とがペアP2に、左手L3と右手R3とがペアP3に、左手L4と右手R4とがペアP4に、それぞれ設定される。尚、図4を参照して説明したペアリング処理を、以降においては、反時計回りペアリング処理とも称する。
<左右の手のペアリングの方法(その2)>
また、以上においては、左手の腕の根本の位置を基準位置BPに設定し、テーブル71の外周に沿って反時計回りに、最も近い位置に存在する右手の腕の根本の位置を参照位置RPとする例について説明してきたが、右手の腕の根本の位置を基準位置BPに設定し、テーブル71の外周に沿って時計回りに、最も近い隣の位置に存在する左手の腕の根本の位置を参照位置RPとするようにしてもよい。
すなわち、例えば、図5の最左部における右手R1の腕の根本の位置が基準位置BPに設定されるものとする。
次に、右手の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って時計回りに、基準位置BPから最も近い隣の位置に存在する手の腕の根本を検索し、検索された左手の手首の位置を参照位置RPに設定する。
そして、ペアリング部52は、基準位置BPと参照位置RPのそれぞれの腕に繋がる手をペアに設定する。
すなわち、図5の最左部で示されるように、腕の根本の位置が基準位置BPに設定された右手R1と、腕の根本の位置が参照位置RPに設定された左手R1とがペアP1に設定される。すなわち、以上の処理により、左手L1と右手R1とが同一人物の左右の手としてペアP1に設定される。
次に、ペアリング部52は、テーブル71の外周に沿って時計回りに参照位置RPから最も近い隣の位置に存在する腕の根本を検索し、検索された腕の根本の位置を、新たな基準位置BPに設定する。
すなわち、図5の左から2番目で示されるように、参照位置RPに設定された左手L1の腕の根本の位置からテーブル71の外周に沿って時計回りに参照位置RPから最も近い隣の位置に存在する腕の根本は、右手R4の腕の根本となるので、右手R4の腕の根本の位置が新たな基準位置BPに設定される。
次に、右手R4の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って時計回りであって、基準位置BPから最も近い隣の位置に存在する腕の根本として、左手L4の腕の根本を検索し、検索された左手L4の腕の根本の位置を参照位置RPに設定する。
そして、図5の左から2番目で示されるように、腕の根本の位置が基準位置BPに設定された右手R4と、腕の根本の位置が参照位置RPに設定された左手L4とがペアP4に設定される。
以降、同様の処理が繰り返されることにより、図5の右から2番目で示されるように、右手R3の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが、左手L3の腕の根本の位置に設定される。これにより、左手L3と右手R3とがペアP3に設定される。
そして、図5の最右部で示されるように、右手R2の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが左手L2の腕の根本の位置に設定される。これにより、左手L2と右手R2とがペアP2に設定される。
すなわち、図4と同様に、図5で示されるように、左手L1と右手R1とがペアP1に、左手L2と右手R2とがペアP2に、左手L3と右手R3とがペアP3に、左手L4と右手R4とがペアP4に、それぞれ設定される。尚、図5を参照して説明したペアリング処理を、以降においては、時計回りペアリング処理とも称する。
<左右の手のうちのいずれか一方の手のみが検出される場合(その1)>
以上においては、いずれのユーザにおいても、左右の手を操作面であるテーブル71の天面上に置かれている状態の例について説明してきたが、いずれか一方の手のみがテーブル71の天面上に置かれている状態であることも想定される。このようなときには、テーブル71の天面上に置かれている左右のいずれかの1つの手でペアがなされているものとみなす。
すなわち、左手の腕の根本の位置が基準位置BPとされる場合、図6の左部で示されるように、左手L1のみがテーブル71の天面上に置かれており、右手R1が置かれていないときには、基準位置BPとして左手L1の腕の位置が設定される。
ここでは、図4を参照して説明した、反時計回りペアリング処理となるので、基準位置BPから反時計回りの方向に最も近い隣の位置に、他のユーザの左手L2が存在するが、左手L1のユーザの右手R1が存在しないので、ペアを形成することができない。
このような場合には、腕の根本の位置が基準位置BPに設定されている左手L1と対になる右手が付近には存在しないものとみなして、左手L1のみで、ペアP1が形成されるようにする。
すなわち、この場合、左手L1のユーザは、左手L1のみをテーブル71の天面上に置いており、右手をテーブル71の天面上に置いていないものとみなす。
そして、図6の右部で示されるように、検索された左手L2の腕の位置が、新たな基準位置BPに設定される。
以降においては、上述した反時計回りペアリング処理と同様の処理により、基準位置BPからテーブル71の外周に沿って反時計回りに最も近い位置の右手R2の腕の位置が参照位置RPに設定され、左手L2と右手R2とがペアP2に設定される。
<左右の手のうちのいずれか一方の手のみが検出される場合(その2)>
また、右手の腕の根本の位置が基準位置BPとされる場合、図7の左部で示されるように、右手R1のみがテーブル71の天面上に置かれており、左手L1が置かれていないときには、基準位置BPとして右手R1の腕の位置が設定される。
ここでは、時計回りペアリング処理となるので、テーブル71の外周に沿って時計回りに、基準位置BPから最も近い位置には、他のユーザの右手R4が存在するが、右手R1のユーザの左手L1が存在しないので、ペアを形成することができない。
このような場合には、基準位置BPの腕の右手R1と対になる左手が付近には存在しないものとみなして、右手R1のみで、ペアP1が形成されるようにする。
すなわち、この場合、右手R1のユーザは、右手R1のみをテーブル71の天面上に置いており、左手をテーブル71の天面上に置いていないものとみなす。
そして、図7の右部で示されるように、検索された右手R4の腕の位置が、新たな基準位置BPに設定される。
以降においては、上述した時計回りペアリング処理と同様の処理により、基準位置BPからテーブル71の外周に沿って時計回りに最も近い位置の左手L4の腕の位置が参照位置RPに設定され、左手L4と右手R4とがペアP4に設定される。
<左右の手が所定の距離より離れて検出される場合>
以上においては、ユーザが、左右の手のいずれか一方のみがテーブル71の天面上に置かれている状態の例について説明してきたが、基準位置BPから参照位置RPが反時計回り、または、時計回りに最も近い位置に左右の手が検出されても、所定の距離よりも離れていれば、それぞれ異なるユーザの手であるものとみなすようにしてもよい。
例えば、反時計回りペアリング処理の場合、図8の左部で示されるように、左手L1の腕の根本の位置が、基準位置BPに設定され、テーブル71の外周に沿って反時計回りに最も近い位置に存在する右手R2の腕の根本の位置が参照位置RPとして検出されるものとする。
このとき、基準位置BPと参照位置RPとの距離Dが、所定の距離(例えば、人間が左右に腕を広げていることを想定したときの距離)よりも遠いときには、左手と右手のペアであっても、同一人物のペアであるとみなすことはできない。
そこで、このような場合については、基準位置BPの左手L1のユーザが、左手L1のみをテーブル71の天面上に置いており、参照位置RPの右手R2のユーザは、左手L1のユーザとは異なるユーザであって、右手R1のみをテーブル71の天面上に置いているものとみなす。
すなわち、このような場合については、図8の右部で示されるように、左手L1のみをペアP1’とみなし、右手R1のみをペアP2’とみなす。
尚、ここでは、左手の腕の根本を基準位置BPとする反時計回りペアリング処理の例について説明しているが、右手の腕の根本を基準位置とする時計回りペアリング処理においても同様である。
<基準位置と参照位置を腕の根本の位置とする理由>
以上において、左手および右手の位置を特定するための基準位置および参照位置が、いずれも腕の根本の位置とされる。
例えば、左手および右手(それぞれの掌)の位置が、テーブル71上の天面上に置かれる場合、図9の左部で示されるように、腕HLの先に存在する左手L1が図中の左側に位置し、腕HRの先に存在する右手R1が図中の右側に位置するときには、左手L1および右手R1の位置のみで左右の手の位置を確定させることができる。
ところが、図9の右部で示されるように、腕を交差させて、左手L1がテーブル71上で図中の右側に位置し、右手R1がテーブル71上で図中の左側に位置するような場合、上述した一連の処理で左手L1および右手R1の位置を基準とすると適切なペアリングができない。
しかしながら、腕HL,HRについては、腕を交差させても左右の腕の根本の位置関係に変化は生じない。画像認識においても、腕HLおよび腕HRと、左手L1および右手R1との位置関係については、認識することが可能である。
このため、本開示においては、腕HR,HLの根本の位置に基づいて、基準位置BPおよび参照位置RFが設定されるようにすることで、左手L1および右手R1が適切にペアリングされるようにしている。
以上においては、画像毎に検出される腕の根本の位置に基づいて、基準位置および参照位置に設定することで、ペアリングする例について説明してきたが、一度、ペアリングした右手、および左手、並びにそれぞれの腕の根本の位置については、連続して撮像される画像をトラッキング(追跡)することで、ペアとなる右手および左手によるジェスチャを認識するようにしてもよい。
ここで、図2の情報処理装置32の説明に戻る。
3次元位置推定部53は、入力部31によって取得された入力情報に基づいて、操作体の各点の例として、ユーザの身体の各点の3次元位置を推定する。ユーザの身体の各点は、ユーザの手の各点(例えば、指における所定の点、掌における所定の点など)、手首における所定の点(例えば、手首位置)、肘における所定の点(例えば、肘関節位置)などを含む。以下、3次元位置推定部53によって推定されるユーザの身体の各点の例として、ユーザの手の各点、手首位置および肘関節位置について説明する。しかしながら、ユーザの身体の各点は、肩における所定の点(例えば、肩関節位置)なども含むようにしてもよい。
<身体の各点の例>
図10乃至図12は、3次元位置推定部53によって3次元位置が推定されるユーザの身体の各点の例を示す図である。
図10乃至図12を参照すると、ユーザの身体の各点の例として、小指の先端位置P1、小指の関節位置P2、薬指の先端位置P3、薬指の関節位置P4、中指の先端位置P5、中指の関節位置P6、人さし指の先端位置P7、人さし指の関節位置P8、親指の先端位置P9、親指の先端から一つ目の関節位置P10、親指の先端から二つ目の関節位置P11、手首位置(小指側)P12、手首位置(親指側)P13、手の中心位置P14、肘関節位置P15、上腕の付け根位置P16が示されている。
本開示の実施の形態においては、3次元位置推定部53によって位置P1乃至P16すべてが原則として取得される場合を主に想定する。
しかしながら、3次元位置推定部53によって、位置P1乃至P16の一部のみが取得されてもよい。
また、入力部31とユーザとの位置関係によっては、位置P1乃至P16の一部が取得されない場合なども想定される。例えば、上腕の付け根位置P16が直接取得されない場合もあり得る。かかる場合であっても、肘関節位置P15と上腕の付け根位置P16との間のいずれかの位置が取得されれば、当該位置を上腕の付け根位置P16の代わりに用いることが可能である。
なお、手の中心位置P14は、5本の指それぞれの付け根と手首との間(すなわち、掌)における所定の位置であれば特に限定されない。例えば、手の中心位置P14は、複数点の重心位置であってもよい。また、手首位置(小指側)P12は、手首位置として得られる2つの位置のうち、より親指に近い位置であればよく、手首位置(親指側)P13は、手首位置として得られる2つの位置のうち、より小指に近い位置であればよい。手首位置(小指側)P12および手首位置(親指側)P13それぞれも、各位置の検出アルゴリズムなどに応じて適宜に変更されてよい。
次に、3次元位置推定部53により行われる3次元位置推定手法について説明する。図13は、3次元位置推定手法の概要を説明するための図である。ここでは、手の各点の3次元位置が推定される場合について主に説明する。
しかしながら、上記したように、手の各点以外の3次元位置も推定され得る。例えば、入力部31によって、手でコーヒーカップを掴む画像(画像IM1)が取得された場合を想定する。このとき、3次元位置推定部53によって、画像IM1に基づいて、特徴量が算出される。特徴量としては、CNN(Convolutional Neural Network)に基づく特徴量、HOG(Histograms of Oriented Gradients)特徴量、SIFT(Scale Invariant Feature Transform)に基づく特徴量を挙げることができる。
そして、3次元位置推定部53は、得られた特徴量に対して、検出、識別およびセグメンテーションなどといった所定のアルゴリズムを用いた解析を施すことによって、ユーザの手の各点の3次元位置を推定する。アルゴリズムとしては、上述したCNN、ブースティング(Boosting)、SVM(Support Vector Machine)、Graph Cut等を適用することができる。
そして、3次元位置推定部53は、解析結果に応じて、図13において参照符号AAで示すようにユーザの手の各点の3次元位置を検出することができる。また、3次元位置推定部53は、図13において参照符号BBで示すように手の位置や姿勢を検出することができる。なお、参照符号BBで示される図において、手に付された丸印は特徴点CPを示している。
さらに、3次元位置推定部53は、複数フレームの画像に対して上述した処理を行うことにより、図13において参照符号CC(CC1乃至CC4)に示すように、手の動きを認識することも可能である。参照符号CC1が付された手の動きは、手を水平方向に動かす例(Horizontal)を示している。参照符号CC2が付された手の動きは、手を垂直方向に動かす例(Vertical)を示している。参照符号CC3が付された手の動きは、手を右回り(時計回り)に動かす例(Clockwise)を示している。参照符号CC4が付された手の動きは、手を左回り(反時計回り)に動かす例(Counterclockwise)を示している。勿論、認識される手の動きは、例示したものに限定されることなく、様々な手の動きの認識が可能である。また、上述した処理は、例示されたアルゴリズムに基づくものではなく、公知の手法を適用することができる。
次に、図14乃至図16を参照して、3次元位置推定手法の例について説明する。図14に示すグラフの横軸は、入力画像の例を示している。図14に示す例では、3個の入力画像IM5、IM6及びIM7が示されている。図14に示すグラフの縦軸は、入力画像に対応する手の特徴点の座標(位置)である。座標は、(xt,yt,zt)(但し、tはフレーム番号)として示されている。また、例えば、xtは、xt=(xt0,xt1・・・xtn)(但し、nは特徴点の点数)で表される。即ち、xtは、各特徴点のx座標の集合を示している。各特徴点のyt,ztについても同様である。
3次元位置推定部53は、入力画像に対する手の特徴点の座標を学習することにより、図15に示すように、入力画像と手の各点の座標との相関関係を求めることができる。なお、図15に示す例では、入力画像と手の各点の座標との相関関係の例として、線形の相関関係が示されている。
しかしながら、入力画像と手の各点の座標との相関関係は、他の相関関係(例えば、非線形など)であってもよい。
3次元位置推定部53は、入力画像と手の各点の座標との相関関係を求めた後、図16に示すように、画像IM8が入力された場合には、当該相関関係に基づいて、画像IM8の手の座標位置を推定することができる。以上に説明した3次元位置推定手法を用いて、3次元位置推定部53によって、手の各点の位置が推定されるようにしてもよい。なお、ここでは入力画像に対する手の特徴点の座標が学習される場合を想定したが、学習前に入力画像から特徴量が抽出される場合には、特徴量に対する手の特徴点の座標が学習されてもよい。
図2に戻って説明を続ける。3次元位置推定部53は、推定した操作体の各点の3次元位置情報(上記では、ユーザの手の各点の3次元位置情報)を記憶部58に記憶させる。フレーム数判定部54は、所定のフレーム数に相当する3次元位置情報が3次元位置推定部53によって得られたか(すなわち、所定のフレーム数に相当する3次元位置情報が記憶部58に保存されたか)を判定する。所定のフレーム数は特に限定されず、2以上であればよい。
相対速度/相対位置算出部55は、フレーム数判定部54によって、所定のフレーム数に相当する3次元位置情報が得られたと判定されると、記憶部58によって記憶されている操作体の各点の3次元位置情報に基づいて、操作体の各点の絶対位置を算出する。
そして、相対速度/相対位置算出部55は、操作体の各点の絶対位置に基づいて、操作体の基準点に対する操作体の操作点の相対位置を算出する。なお、本明細書においては、相対位置が3次元ベクトルである場合を主に想定する。しかしながら、相対位置は2次元ベクトルであってもよいし、スカラであってもよい。
あるいは、相対速度/相対位置算出部55は、操作体の各点の3次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。そして、相対速度/相対位置算出部55は、各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。具体的に、操作点の相対速度を「V(操作点の相対速度)」とし、操作点の絶対速度を「V(操作点の絶対速度)」とし、基準点の絶対速度を「V(基準点の絶対速度)」とすると、V(操作点の相対速度)は、V(操作点の絶対速度)とV(基準点の絶対速度)とに基づいて、以下の式(1)に示すように算出される。
V(操作点の相対速度)=V(操作点の絶対速度)−V(基準点の絶対速度)…(1)
なお、本明細書においては、相対速度が3次元ベクトルである場合を主に想定する。しかしながら、相対位置は2次元ベクトルであってもよいし、スカラであってもよい。ジェスチャ認識部56は、相対速度/相対位置算出部55によって算出された操作体の基準点に対する操作点の相対位置または相対速度に基づいて、操作体のジェスチャを認識する。これによって、操作体によるジェスチャをより高精度に認識することが可能となる。
より具体的には、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度が閾値を上回る場合に、第1のジェスチャを認識する。一方、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度が閾値以下である場合に、第1のジェスチャとは異なる第2のジェスチャを認識する。なお、基準点に対する操作点の相対位置または相対速度が閾値と等しい場合には、第1のジェスチャが認識されてもよい。また、相対位置または相対速度がベクトル(2次元ベクトルまたは3次元ベクトル)である場合、閾値と比較される相対位置または相対速度は、ベクトルの長さに置き換えられればよい。
図17は、本開示の実施の形態に係るジェスチャ認識について説明するための図である。図17に示した例においても、ユーザがキー入力を行おうとし、入力キーを変更するために紙面の右方向に絶対速度V1で掌を移動させながら、キー入力を行うために掌に対する指先の相対速度V2で指先を下方向に移動させた場合を想定する。このとき、指先の絶対速度V12は、掌の絶対速度V1と掌に対する指先の相対速度V2とが合成された速度になってしまう。
しかしながら、本開示の実施の形態に係るジェスチャ認識では、入力キーの変更による速度成分が除外されてキー入力があったかが判定されるため、キー入力(操作体によるジェスチャ)を高精度に認識することが可能である。
なお、以下では、ジェスチャ認識部56が、操作体の基準点に対する操作点の相対速度に基づいて操作体のジェスチャを認識する場合を主に想定する。しかしながら、ジェスチャ認識部56は、操作体の基準点に対する操作点の相対位置および相対速度の少なくともいずれか一方に基づいて、操作体のジェスチャを認識すればよい。
コマンド実行部57は、ジェスチャ認識部56によって認識されたジェスチャに対応するコマンドを決定するコマンド決定部として機能し得る。また、コマンド実行部57は、決定したコマンドを実行する。ここで、コマンド実行部57によって実行されるコマンドの種類は限定されない。例えば、コマンド実行部57によって実行されるコマンドの種類は、情報処理装置32において実行されるアプリケーションに応じて適宜に変更されてよい。
<ペアリングした左右のジェスチャに対応するコマンドの例(その1)>
ペアリングした左右の手を用いたジェスチャに対応するコマンドの例としては、例えば、図18の上段で示されるように、左手で人差指のみを立てるジェスチャF1と、右手の人差指でテーブル71の天面上を当接してなぞるようなジェスチャF11の操作入力が受け付けられるときには、右手の人差指によりなぞった経路に沿って、筆のようなペンを用いた描画を表示するコマンドにしてもよい。
また、例えば、図18の下段で示されるように、左手で人差指と中指を立てるジェスチャF2と、右手の人差指でテーブル71の天面上を当接してなぞるようなジェスチャF12との操作入力が受け付けられるときには、右手の人差指によりなぞった経路に沿って、マーカのようなペンを用いた描画を表示するコマンドにしてもよい。
このとき、左手の指の曲げ具合により、ペンの太さや色、並びにペンの種類などをシームレスに変化するようにしてもよい。
<ジェスチャに対応するコマンドの例(その2)>
また、ペアリングした左右の手を用いたジェスチャにより、テキスト文字を入力するコマンドを実現してもよい。
より詳細には、左手の指で子音を指定して、右手の人差指のフリック操作により母音を指定して、母音と子音の組み合わせにより特定される文字を入力するようなコマンドを実現するようにしてもよい。
例えば、図19の左部で示されるように、左手L11をテーブル71の天面に伏せた状態で中指をテーブル71の天面にタッチしながら、右手R11の人差指を左方向にフリックするときには、左手により子音としての「ぱ行」が特定され、右手により母音としての「お」が特定されることで「ポ」という文字の入力が受け付けられるようにする。
また、図19の中央部で示されるように、左手L11を伏せた状態で薬指をテーブル71の天面にタッチしながら、右手R11の人差指を上方向にフリックするときには、左手により子音としての「な行」が特定され、右手により母音としての「い」が特定されることで「ニ」という文字の入力が受け付けられるようにする。
さらに、図19の右部で示されるように、左手L11の掌がテーブル71の天面に対して背面となるようにして、親指でテーブル71の天面をタッチしながら、右手R11の人差指を上方向にフリックするときには、左手により、促音・撥音・拗音・長音等の特殊音が特定され、右手により母音としての「長音」が特定されることで「−」という文字の入力が受け付けられるようにする。
そして、図19のジェスチャが図中の左から順番に連続的に操作入力として受け付けられることにより「ポニー」のテキスト文字の入力が受け付けられるようにしてもよい。
<ジェスチャに対応するコマンドの例(その3)>
また、ペアリングした左右の手を用いたジェスチャにより、画像を操作するコマンドを実現してもよい。
より詳細には、図20の左部で示されるように、ペアリングされている左手L21と右手R21とのそれぞれの人差指でテーブル71上に表示されている画像Pに当接しながら距離を変化させるようなジェスチャが操作入力として受け付けられるときには、相互の距離に応じて画像Pのサイズを拡大または縮小させて表示させるコマンドを実現してもよい。すなわち、左手L21と右手R21のそれぞれの指の距離が大きくなり、離れるほど、画像Pが拡大されるようにし、左手L21と右手R21のそれぞれの指の距離が小さくなり、近くなるほど、画像Pが縮小されるようにしてもよい。
また、右手R21のみで、人差指と親指とで画像Pに当接しながら、相互の距離を変化させるようなジェスチャが操作入力として受け付けられるときには、人差指と親指との距離に応じて画像Pのサイズを拡大または縮小させて表示させるコマンドを実現してもよい。
さらに、図20の右上部で示されるように、ペアリングされていない左手L31と右手R31とのそれぞれの人差指で、テーブル71上に表示されている画像Pに当接しながら、図20の左下部で示されるように、相互に離れるように変化させるようなジェスチャが操作入力として受け付けられるときには、相互の人差指のそれぞれの位置に、画像P,P’をコピーして、表示させるコマンドを実現してもよい。尚、図20の右上部の例では、左手L31と右手R31とを用いる例について説明してきたが、ペアリングされていない手でよいので、右手と右手や、左手と左手であってもよい。
また、画像に対する操作のみならず、システム操作に対するコマンドを実現するようにしてもよい。
例えば、ペアリングされている左右のいずれかの手の人差指と中指を所定時間よりも長くタッチする(以降、長タッチとも称する)ことでコピーを指示したり、人差指と薬指の長タッチでカット等のシステム操作を指示するコマンドを実現するようにしてもよい。
また、ペアリングされている左手をテーブル71の天面に当接して、右手の人差指でドラッグすることで、画面スクロールを指示したり、右手をテーブル71の天面に当接して、左手の人差指でドラッグすることで、ページジャンプを指示するコマンドを実現してもよい。
さらに、ペアリングされている左右の手を握り合わせることによりデータ保存を指示するコマンドを実現するようにしてもよい。
また、ペアリングされていない手同士が握り合わせている場合、握っている手が、左手同士、または、右手同士のいずれかであるときには、ユーザ同士のデータ交換を指示し、握っている手が、右手と左手であるときには、左手のユーザから右手のユーザに、または、左手のユーザから右手のユーザにデータ転送を指示するコマンドを実現するようにしてもよい。
さらに、ペアリングされていない手同士が握り合わせている場合、握っていない手が、同一の手形状であるとき(例えば、いずれの手も手を開いている、握っている等のとき)には、ユーザ同士のデータ交換を指示し、握っていない手が、異なる手形状であるときには、第1の手形状のユーザから第2の手形状のユーザにデータ転送を指示するコマンドを実現するようにしてもよい。
<3.情報処理システムによる情報処理>
次に、図21のフローチャートを参照して、本開示の実施の形態に係る情報処理システム11による情報処理について説明する。
ステップS11において、入力部31は、操作体の例としてのユーザの手を時間軸に沿って、例えば、カメラ等の画像センサにより撮像される(センシングされる)画像の入力(取得)を受け付ける。
ステップS12において、手検出部51は、入力部31によって得られた画像に基づいて、画像内における手の位置を検出する。より詳細には、手検出部51は、画像内における腕の領域を認識し、認識した腕の領域の端部において掌の領域を認識し、掌の領域における親指の向き等により右手または左手を認識し、それぞれの認識結果を画像内における手の位置として検出する。このとき、手検出部51は、検出した手のそれぞれについて、左手、または右手を認識するとともに、それぞれの腕の根本の位置を手の検出結果としてペアリング部52に出力する。
ステップS13において、ペアリング部52は、手の検出結果に基づいて、ペアリング処理を実行して、左右の手をそれぞれ同一人物の両手としてペアリングする。
尚、ペアリング処理の詳細については、図22乃至図24のフローチャートを参照して、後述する。
ステップS14において、3次元位置推定部53は、ペアリング処理により設定された右手および左手ペア(右手のみ、もしくは左手のみのペアを含む)のうち、未処理のペアのいずれかを処理対象のペアに設定する。
ステップS15において、3次元位置推定部53は、入力部31によって得られた画像内における、処理対象に設定されたペアとなる右手および左手について、それぞれの手の各点の3次元位置を推定する。なお、3次元位置推定部53によって3次元位置が推定される各点は、上記したように、ユーザの手の各点に限定されない。
ステップS16において、3次元位置推定部53は、処理対象に設定されたペアの右手および左手の3次元位置をペア毎に対応付けて記憶部58に保存する。
ステップS17において、3次元位置推定部53は、入力部31によって得られた画像内における、ペアリング処理により設定された右手および左手のペアのうち、未処理のペアが存在するか否かを判定する。
ステップS17において、未処理のペアが存在する場合、処理は、ステップS14に戻る。
すなわち、入力部31によって得られた画像内における、未処理の右手および左手のペアがなくなるまで、ステップS14乃至S17の処理が繰り返されて、それぞれの3次元位置情報が記憶部58にそれぞれ保存される。
そして、ステップS17において、入力部31によって得られた画像内における、未処理の右手および左手のペアが存在しないと判定された場合、処理は、ステップS18に進む。
ステップS18において、フレーム数判定部54は、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られたかを判定する。
ステップS18において、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られていないと判定された場合、処理は、ステップS11の処理に戻る。
一方、ステップS18において、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られたと判定された場合、処理は、ステップS19に進む。
ステップS19において、相対速度/相対位置算出部55は、記憶部58に記憶されているペアのうち、3次元位置情報についての処理が未処理のペアを処理対象のペアに設定する。
ステップS20において、相対速度/相対位置算出部55は、記憶部58によって記憶されているペアのうち、処理対象に設定されたペアの右手および左手のそれぞれの各点の3次元位置情報に基づいて、右手および左手のそれぞれの各点の絶対位置を算出する。
そして、相対速度/相対位置算出部55は、処理対象に設定されたペアの右手および左手のそれぞれの各点の絶対位置に基づいて、処理対象に設定されたペアの右手および左手の基準点に対する手の操作点の相対位置を算出する。
または、相対速度/相対位置算出部55は、処理対象に設定されたペアの右手および左手のそれぞれの各点の3次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。
そして、相対速度/相対位置算出部55は、各点の絶対速度に基づいて、処理対象に設定されたペアの右手および左手のそれぞれの手の基準点に対する手の操作点の相対速度を算出する。
ステップS21において、ジェスチャ認識部56は、相対速度/相対位置算出部55によって算出された操作体である、処理対象に設定されたペアの右手および左手のそれぞれの手の基準点に対する操作点の相対位置または相対速度に基づいて、手のジェスチャを認識する。
ステップS22において、相対速度/相対位置算出部55は、記憶部58に記憶されているペアのうち、3次元位置情報についての処理が未処理のペアが存在するか否かを判定する。
ステップS22において、記憶部58に記憶されているペアの3次元位置の情報のうち、3次元位置情報についての処理が未処理のペアが存在すると判定された場合、処理は、ステップS19に戻る。
すなわち、記憶部58に記憶されているペアの全てについて、ジェスチャが認識されるまで、ステップS19乃至S22の処理が繰り返される。
そして、全てのペアについて、ジェスチャが認識されて、ステップS22において、全てのペアについて、ジェスチャが認識されたと判定された場合、処理は、ステップS23に進む。
すなわち、ステップS19乃至S23の処理により、記憶部58に記憶されている全てのペアの右手および左手のそれぞれの手によるジェスチャをより高精度に認識することが可能となる。
より具体的には、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度に基づいて、例えば、上述した図18乃至図20を参照して説明したジェスチャ等を認識することが可能となる。
ステップS24において、コマンド実行部57は、ジェスチャ認識部56によって認識された全てのペアの右手および左手のそれぞれの手によるジェスチャに対応するコマンドを決定する。
そして、コマンド実行部57は、ジェスチャ認識部56によって認識された全てのペアの右手および左手のそれぞれの手によるジェスチャに対応するコマンドを実行する。
上記したように、コマンド実行部57によって実行されるコマンドの種類は、情報処理装置32において実行されるアプリケーションに応じて適宜に変更されてよい。
<ペアリング処理>
次に、図22のフローチャートを参照して、ペアリング処理について説明する。
ステップS41において、ペアリング部52は、入力部31によって得られた画像に基づいて、右手および左手を認識するとともに、それぞれの腕の根本の位置を検出する。
すなわち、ここでは、入力部31によって得られた画像内における右手および左手の位置情報と、右手および左手のそれぞれに繋がった腕の根本の位置がテーブル71上の画像の端部における位置情報が検出される。
ステップS42において、ペアリング部52は、検出結果において、左手が存在するか否かを判定する。
ステップS42において、1つでも左手が存在すると判定された場合、処理は、ステップS43に進む。
ステップS43において、ペアリング部52は、反時計回りペアリング処理を実行して、入力部31によって得られた画像内における、全ての左手および右手のペアを設定する。
尚、反時計回りペアリング処理については、図23のフローチャートを参照して、詳細を後述する。
一方、ステップS42において、左手が全く存在しないと判定された場合、処理は、ステップS44に進む。
ステップS44において、ペアリング部52は、時計回りペアリング処理を実行して、入力部31によって得られた画像内における、全ての左手および右手のペアを設定する。
尚、時計回りペアリング処理については、図24のフローチャートを参照して、詳細を後述する。
ステップS45において、ペアリング部52は、全てのペアについて、腕の根本の位置の間の距離を算出する。
ステップS46において、ペアリング部52は、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内であるか否かを判定する。尚、左手のみ、または、右手のみのペアについては、離れることがないので、所定の距離以内であるものとみなす。
ステップS46において、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内ではないと判定された場合、処理は、ステップS47に進む。
ステップS47において、ペアリング部52は、図8を参照して説明したように、腕の根本の位置の間の距離が所定の距離以内ではないペアの右手と左手については、それぞれ異なるペアとして分離して設定する。
尚、この場合、分離された右手、または左手は、いずれも単独になるが、単独の右手のみ、または左手のみでペアが設定されるものとする。
また、ステップS46において、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内であると判定された場合、ステップS47の処理はスキップされる。
以上の処理により、右手および左手がペアに設定されて、それぞれの腕の根本の距離が所定の距離以内ではないペアについては、左手のみ、および、右手のみが、それぞれ単独のペアとして設定される。
尚、左手がある場合とそうでない場合により、反時計回りペアリング処理と時計回りペアリング処理とが分けられる処理としているが、反時計回りペアリング処理は、基準位置として左手が用いられ、時計回りペアリング処理では、基準位置として右手が用いられるためである。したがって、図22のフローチャートの処理では、左手がない場合については、右手が存在することが前提とされるが、右手もない場合については、処理を終了させるようにしてもよい。また、反時計回りペアリング処理、および時計回りペアリング処理の両方が用いられてペアリングがなされているのは、ペアリングを高精度に行うためであり、全てのユーザが、左手および右手の両方をテーブル71の天面である操作面上に置いていることが想定されるような場合や、設定により、反時計回りペアリング処理、および時計回りペアリング処理のいずれか一方の処理のみでもよい。
<反時計回りペアリング処理>
次に、図23のフローチャートを参照して、反時計回りペアリング処理について説明する。
ステップS61において、ペアリング部52は、検出結果のうちの左手群のうちの任意の腕の根本の位置を基準位置に設定する。
ステップS62において、ペアリング部52は、現在の基準位置からテーブル71の外周に沿って、反時計回りに最も近い位置に存在する手の腕の根本の位置を参照位置に設定する。
ステップS63において、ペアリング部52は、参照位置に設定された腕の手が左手であるか否かを判定する。
ステップS63において、参照位置に設定された腕の手が左手ではないと判定された場合、すなわち、参照位置に設定された腕の手が右手であると判定された場合、処理は、ステップS64に進む。
ステップS64において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する右手および左手を、ペアに設定する。
一方、ステップS63において、参照位置に設定された腕の手が左手であると判定された場合、すなわち、参照位置に設定された腕の手も、基準位置に設定された腕の手もが左手であると判定された場合、処理は、ステップS65に進む。
ステップS65において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する2本の左手を、それぞれ左手のみの異なるペアに設定する。
ステップS66において、ペアリング部52は、ペアに設定された左手および右手の情報を取得する。
ステップS67において、ペアリング部52は、ペアリングされていない、未処理の左手があるか否かを判定する。
ステップS67において、未処理の左手があるとみなされた場合、処理は、ステップS68に進む。
ステップS68において、ペアリング部52は、左手群のうち、ペアリングされていない左手の腕の根本の位置を基準位置に設定し、処理は、ステップS62に戻る。
すなわち、未処理の左手がなくなるまで、ステップS62乃至S68の処理が繰り返されて、図4を参照して説明したように、順次、ペアが設定される。
そして、ステップS67において、全ての手がペアに設定されて、未処理の左手がないとみなされた場合、処理は、終了する。
以上の処理により、左手の腕の根本の位置が順次基準位置に設定され、テーブル71の外周方向に沿って、反時計回りに近い位置に存在する右手がペアに設定される処理が繰り返されて、ペアが設定される。
この際、左手の反時計回りに最も近い位置の隣に手が左手である場合には、それぞれが単独に異なる左手のみのペアに設定され、全ての手が、ペアに設定される。
<時計回りペアリング処理>
次に、図24のフローチャートを参照して、時計回りペアリング処理について説明する。
ステップS81において、ペアリング部52は、検出結果のうちの右手群のうちの任意の腕の根本の位置を基準位置に設定する。
ステップS82において、ペアリング部52は、現在の基準位置からテーブル71の外周に沿って、時計回りに最も近い位置に存在する手の腕の根本の位置を参照位置に設定する。
ステップS83において、ペアリング部52は、参照位置に設定された腕の手が右手であるか否かを判定する。
ステップS83において、参照位置に設定された腕の手が右手ではないと判定された場合、すなわち、参照位置に設定された腕の手が左手であると判定された場合、処理は、ステップS84に進む。
ステップS84において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する右手および左手を、ペアに設定する。
一方、ステップS83において、参照位置に設定された腕の手が右手であると判定された場合、すなわち、参照位置に設定された腕の手も、基準位置に設定された腕の手もいずれもが右手であると判定された場合、処理は、ステップS85に進む。
ステップS85において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する2本の右手を、それぞれ異なる右手のみの片手のペアに設定する。
ステップS86において、ペアリング部52は、ペアに設定された左手および右手の情報を取得する。
ステップS87において、ペアリング部52は、ペアリングされていない未処理の右手があるか否かを判定する。
ステップS87において、未処理の右手があるとみなされた場合、処理は、ステップS88に進む。
ステップS88において、ペアリング部52は、右手群のうち、ペアリングされていない右手の腕の根本の位置を基準位置に設定し、処理は、ステップS82に戻る。
すなわち、未処理の右手がなくなるまで、ステップS82乃至S88の処理が繰り返されて、図5を参照して説明したように、順次、ペアが設定される。
そして、ステップS87において、全ての手がペアに設定されて、未処理の右手がないとみなされた場合、処理は、終了する。
以上の処理により、右手の腕の根本の位置が順次基準位置に設定され、テーブル71の外周方向に沿って、時計回りに近い位置に存在する左手とがペアに設定される処理が繰り返されて、ペアが設定される。
この際、右手のテーブル71の外周に沿って時計回りの方向に最も近い位置の隣の手が右手である場合には、それぞれが単独に右手のみのペアに設定され、全ての手が、ペアに設定される。
以上の一連の処理により、複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングすることが可能となる。
<ペアリング処理のその他の例>
図22を参照して説明したペアリング処理においては、左手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定する例について説明してきたが、右手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定するようにしてもよい。
そこで、図25を参照して、右手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定するペアリング処理のその他の例について説明する。
尚、図25のフローチャートにおけるステップS101,S104,S103,S105乃至S107の処理は、図22のフローチャートにおけるステップS41,S43乃至S47の処理と同様であるので、その説明は省略する。
すなわち、ステップS102において、ペアリング部52は、検出結果において、右手が存在するか否かを判定する。
ステップS102において、1つでも右手が存在すると判定された場合、処理は、ステップS103に進み、時計回りペアリング処理を実行する。
一方、ステップS102において、右手が全く存在しないと判定された場合、処理は、ステップS104に進み、反時計回りペアリング処理を実行する。
尚、ペアリング処理は、図22の処理とするか図25の処理とするかを選択できるようにしてもよい。
<<3.ソフトウェアにより実行させる例>>
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
図26は、汎用のコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
尚、図26におけるCPU1001が、図2の情報処理装置32の機能を実現させる。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
尚、本開示は、以下のような構成も取ることができる。
<1> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
を備える情報処理装置。
<2> 前記ペアリング部は、前記手検出部により検出された手のいずれかを基準の手に設定し、前記基準の手の腕の根本の位置を基準位置に設定し、前記基準位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、腕の根本の位置を参照位置に設定し、前記腕の根本の位置が参照位置となる手と、前記腕の根本の位置が前記基準位置となる手とを同一のユーザの左右の手のペアとして設定する
<1>に記載の情報処理装置。
<3> 前記参照位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、前記腕の根本の位置を新たな基準位置に設定し、前記新たな基準位置に対する新たな参照位置を設定し、前記腕の根本の位置が前記新たな基準位置となる手と、前記腕の根本の位置が前記新たな参照位置となる手とを、新たな同一のユーザの左右の手のペアに設定し、以降同様の処理を繰り返すことにより、前記画像内における前記ユーザ毎の左右の手をペアリングする
<2>に記載の情報処理装置。
<4> 前記ペアリング部は、前記手検出部により検出されたいずれかの左手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、前記操作面の外周に沿って反時計回り方向であって、最も近い隣の、前記腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる左手と、前記腕の根本の位置が前記参照位置となる右手とを同一のユーザの左右の手のペアとして設定する
<2>に記載の情報処理装置。
<5> 前記ペアリング部は、前記手検出部により検出されたいずれかの右手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、操作面の外周に沿って時計回り方向であって、最も近い隣の、左手の腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる右手と、前記腕の根本の位置が前記参照位置となる左手とを同一のユーザの左右の手のペアとして設定する
<2>に記載の情報処理装置。
<6> 前記ペアリング部は、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とが、いずれも右手、または、左手である場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
<2>に記載の情報処理装置。
<7> 前記ペアリング部は、前記参照位置と、前記基準位置との距離が所定の距離よりも離れている場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
<2>に記載の情報処理装置。
<8> 前記所定の距離は、人間が両腕を広げた距離である
<7>に記載の情報処理装置。
<9> 前記ペアリング部によりペアとして設定された左手および右手のうちの少なくともいずれかのジェスチャを認識するジェスチャ認識部と、
前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを決定するコマンド決定部とをさらに含む
<1>乃至<8>のいずれかに記載の情報処理装置。
<10> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指の動きに応じた軌跡の情報、および、他方の手の掌の形状の情報を、前記ジェスチャとして認識する
<9>に記載の情報処理装置。
<11> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記掌の形状の情報に対応する筆記具による、前記軌跡の情報に対応した描画として表示させるコマンドに決定する
<10>に記載の情報処理装置。
<12> 前記筆記具は、筆、およびマーカのいずれかを含む
<11>に記載の情報処理装置。
<13> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指のうちの、操作面にタッチする指の情報、および、他方の手の指のフリック方向の情報を、前記ジェスチャとして認識する
<9>に記載の情報処理装置。
<14> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、操作面にタッチする指の情報に対応する子音と、前記フリック方向の情報に対応した母音とからなる文字の入力を受け付けるコマンドに決定する
<13>に記載の情報処理装置。
<15> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの少なくとも2本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
<9>に記載の情報処理装置。
<16> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記2本の指の距離に応じて、前記画像を拡大、または縮小して表示するコマンドに決定する
<15>に記載の情報処理装置。
<17> 前記ジェスチャ認識部は、異なるユーザの左手のみ、または、右手のみの前記ペアとして設定された、それぞれ前記ユーザが異なる、少なくとも1本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
<9>に記載の情報処理装置。
<18> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、それぞれ前記ユーザが異なる、少なくとも1本の指の軌道のそれぞれに前記画像をコピーして表示するコマンドに決定する
<17>に記載の情報処理装置。
<19> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得処理と、
前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出処理と、
前記手検出処理により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング処理と
を含む情報処理方法。
<20> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
してコンピュータを機能させるプログラム。
11 情報処理システム, 31 入力部, 32 情報処理装置, 33 出力部, 71 テーブル, 51 手検出部, 52 ペアリング部, 53 3次元位置推定部, 54 フレーム数判定部, 55 相対位置/相対速度算出部, 56 ジェスチャ認識部, 57 コマンド実行部, 58 記憶部

Claims (20)

  1. ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
    前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
    前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
    を備える情報処理装置。
  2. 前記ペアリング部は、前記手検出部により検出された手のいずれかを基準の手に設定し、前記基準の手の腕の根本の位置を基準位置に設定し、前記基準位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、腕の根本の位置を参照位置に設定し、前記腕の根本の位置が参照位置となる手と、前記腕の根本の位置が前記基準位置となる手とを同一のユーザの左右の手のペアとして設定する
    請求項1に記載の情報処理装置。
  3. 前記参照位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、前記腕の根本の位置を新たな基準位置に設定し、前記新たな基準位置に対する新たな参照位置を設定し、前記腕の根本の位置が前記新たな基準位置となる手と、前記腕の根本の位置が前記新たな参照位置となる手とを、新たな同一のユーザの左右の手のペアに設定し、以降同様の処理を繰り返すことにより、前記画像内における前記ユーザ毎の左右の手をペアリングする
    請求項2に記載の情報処理装置。
  4. 前記ペアリング部は、前記手検出部により検出されたいずれかの左手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、前記操作面の外周に沿って反時計回り方向であって、最も近い隣の、前記腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる左手と、前記腕の根本の位置が前記参照位置となる右手とを同一のユーザの左右の手のペアとして設定する
    請求項2に記載の情報処理装置。
  5. 前記ペアリング部は、前記手検出部により検出されたいずれかの右手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、操作面の外周に沿って時計回り方向であって、最も近い隣の、左手の腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる右手と、前記腕の根本の位置が前記参照位置となる左手とを同一のユーザの左右の手のペアとして設定する
    請求項2に記載の情報処理装置。
  6. 前記ペアリング部は、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とが、いずれも右手、または、左手である場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
    請求項2に記載の情報処理装置。
  7. 前記ペアリング部は、前記参照位置と、前記基準位置との距離が所定の距離よりも離れている場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
    請求項2に記載の情報処理装置。
  8. 前記所定の距離は、人間が両腕を広げた距離である
    請求項7に記載の情報処理装置。
  9. 前記ペアリング部によりペアとして設定された左手および右手のうちの少なくともいずれかのジェスチャを認識するジェスチャ認識部と、
    前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを決定するコマンド決定部とをさらに含む
    請求項1に記載の情報処理装置。
  10. 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指の動きに応じた軌跡の情報、および、他方の手の掌の形状の情報を、前記ジェスチャとして認識する
    請求項9に記載の情報処理装置。
  11. 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記掌の形状の情報に対応する筆記具による、前記軌跡の情報に対応した描画として表示させるコマンドに決定する
    請求項10に記載の情報処理装置。
  12. 前記筆記具は、筆、およびマーカのいずれかを含む
    請求項11に記載の情報処理装置。
  13. 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指のうちの、操作面にタッチする指の情報、および、他方の手の指のフリック方向の情報を、前記ジェスチャとして認識する
    請求項9に記載の情報処理装置。
  14. 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、操作面にタッチする指の情報に対応する子音と、前記フリック方向の情報に対応した母音とからなる文字の入力を受け付けるコマンドに決定する
    請求項13に記載の情報処理装置。
  15. 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの少なくとも2本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
    請求項9に記載の情報処理装置。
  16. 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記2本の指の距離に応じて、前記画像を拡大、または縮小して表示するコマンドに決定する
    請求項15に記載の情報処理装置。
  17. 前記ジェスチャ認識部は、異なるユーザの左手のみ、または、右手のみの前記ペアとして設定された、それぞれ前記ユーザが異なる、少なくとも1本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
    請求項9に記載の情報処理装置。
  18. 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、それぞれ前記ユーザが異なる、少なくとも1本の指の軌道のそれぞれに前記画像をコピーして表示するコマンドに決定する
    請求項17に記載の情報処理装置。
  19. ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得処理と、
    前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出処理と、
    前記手検出処理により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング処理と
    を含む情報処理方法。
  20. ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
    前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
    前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
    してコンピュータを機能させるプログラム。
JP2019030161A 2019-02-22 2019-02-22 情報処理装置、および情報処理方法、並びにプログラム Pending JP2020135587A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019030161A JP2020135587A (ja) 2019-02-22 2019-02-22 情報処理装置、および情報処理方法、並びにプログラム
PCT/JP2020/004765 WO2020170851A1 (ja) 2019-02-22 2020-02-07 情報処理装置、および情報処理方法、並びにプログラム
US17/430,789 US11789543B2 (en) 2019-02-22 2020-02-07 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019030161A JP2020135587A (ja) 2019-02-22 2019-02-22 情報処理装置、および情報処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2020135587A true JP2020135587A (ja) 2020-08-31

Family

ID=72145069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019030161A Pending JP2020135587A (ja) 2019-02-22 2019-02-22 情報処理装置、および情報処理方法、並びにプログラム

Country Status (3)

Country Link
US (1) US11789543B2 (ja)
JP (1) JP2020135587A (ja)
WO (1) WO2020170851A1 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
JP4918872B2 (ja) 2007-03-12 2012-04-18 株式会社エクォス・リサーチ 車載装置
JP5164675B2 (ja) 2008-06-04 2013-03-21 キヤノン株式会社 ユーザインターフェースの制御方法及び情報処理装置及びプログラム
US8432301B2 (en) * 2010-08-10 2013-04-30 Mckesson Financial Holdings Gesture-enabled keyboard and associated apparatus and computer-readable storage medium
CN104813258B (zh) 2012-11-22 2017-11-10 夏普株式会社 数据输入装置
JP2014115688A (ja) * 2012-12-06 2014-06-26 Sharp Corp 文字入力システムおよび文字入力方法
JP6452369B2 (ja) * 2014-09-29 2019-01-16 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP6373710B2 (ja) * 2014-10-03 2018-08-15 株式会社東芝 図形処理装置および図形処理プログラム
JP2017162126A (ja) * 2016-03-08 2017-09-14 キヤノン株式会社 入力システム、入力方法、制御用プログラム、及び記憶媒体

Also Published As

Publication number Publication date
US11789543B2 (en) 2023-10-17
US20220137712A1 (en) 2022-05-05
WO2020170851A1 (ja) 2020-08-27

Similar Documents

Publication Publication Date Title
Song et al. In-air gestures around unmodified mobile devices
US10019074B2 (en) Touchless input
EP3258423B1 (en) Handwriting recognition method and apparatus
JP6007497B2 (ja) 画像投影装置ならびに画像投影制御装置およびプログラム
KR101844390B1 (ko) 사용자 인터페이스 제어를 위한 시스템 및 기법
Matulic et al. Pensight: Enhanced interaction with a pen-top camera
US11886643B2 (en) Information processing apparatus and information processing method
WO2020170851A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
CN103984499A (zh) 一种动作指令控制方法及电子设备
US11054941B2 (en) Information processing system, information processing method, and program for correcting operation direction and operation amount
Habibi Detecting surface interactions via a wearable microphone to improve augmented reality text entry
WO2021075103A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7374413B2 (ja) 現実物体に対するクラスタリングの可視化システム、可視化制御装置、可視化方法および可視化制御用プログラム
US20230419733A1 (en) Devices and methods for single or multi-user gesture detection using computer vision
Stearns HandSight: A Touch-Based Wearable System to Increase Information Accessibility for People with Visual Impairments
Cherat Gesture Typing on Flat-Surfaced Objects
Lee et al. An interactive image clipping system using hand motion recognition
WO2017056658A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN114063778A (zh) 一种利用ar眼镜模拟图像的方法、装置、ar眼镜及介质
KR20200116195A (ko) 홀로그래피 영상을 이용하는 옷의 쇼핑 장치 및 방법
Chi et al. Electrical and Computer Engineering Carnegie Mellon University
KR20200115967A (ko) 홀로그래피 영상을 이용하는 옷의 쇼핑 장치 및 방법
Padliya Gesture Recognition and Recommendations
KR20180081330A (ko) 적외선 센서를 이용한 동작 인식 디지털 아트 생성 시스템 및 방법