JP6335695B2 - 情報処理装置、その制御方法、プログラム、及び記憶媒体 - Google Patents

情報処理装置、その制御方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP6335695B2
JP6335695B2 JP2014141805A JP2014141805A JP6335695B2 JP 6335695 B2 JP6335695 B2 JP 6335695B2 JP 2014141805 A JP2014141805 A JP 2014141805A JP 2014141805 A JP2014141805 A JP 2014141805A JP 6335695 B2 JP6335695 B2 JP 6335695B2
Authority
JP
Japan
Prior art keywords
region
flat plate
height
acquired
distance
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.)
Expired - Fee Related
Application number
JP2014141805A
Other languages
English (en)
Other versions
JP2016018458A5 (ja
JP2016018458A (ja
Inventor
勇樹 釜森
勇樹 釜森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014141805A priority Critical patent/JP6335695B2/ja
Priority to FR1556329A priority patent/FR3023629B1/fr
Priority to US14/792,420 priority patent/US10042426B2/en
Priority to DE102015110955.7A priority patent/DE102015110955A1/de
Priority to GB1512040.5A priority patent/GB2530150B/en
Publication of JP2016018458A publication Critical patent/JP2016018458A/ja
Publication of JP2016018458A5 publication Critical patent/JP2016018458A5/ja
Application granted granted Critical
Publication of JP6335695B2 publication Critical patent/JP6335695B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • 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
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • 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
    • G06F3/0426Digitisers, 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 tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • 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/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup

Landscapes

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

Description

本発明は、距離情報に基づいて背景に存在する物体とジェスチャ操作などに関わる移動物体とを識別する技術に関する。
ジェスチャによる入力が可能なユーザインタフェース(UI)によって、ホワイトボードやテーブルなどの平板に表示されたり、載置されたりしたオブジェクトに対する操作を行うシステムが提案されている。このようなシステムでは、平板に平行な二次元のうち、システムがジェスチャやタッチなどによる操作を認識可能な範囲である操作領域と、平板自体との大きさや形状の差が小さいことが望まれる。言いかえれば、平板のほぼ全域を操作可能であることが期待される。
上述したようなシステムでは、所定の平板の、平面部分に正対する形で、その平板を画角に収めた画像を撮像し、撮像した画像から平板上で移動する物体を検出することで、当該物体による操作を認識する場合が多い。固定された平板が背景に存在する領域では、公知の背景差分法によって、平板上に存在する物体の写る領域を抽出することは容易である。しかしながら、背景に平板が存在しない領域(平板がテーブルであれば、テーブルの周囲)は、平板上と比較して、背景に存在する物体の位置や数が不安定である。平板上の物体検出と同じように背景差分法を用いることが適切であるとは限らない。
特許文献1は、画像から物体を検出する処理において、所定の要因に応じて、部分領域毎に異なる物体検出手法を使い分けることを開示している。
特開2007−64894号公報
操作領域と所定の平板自体とに大きさや形状の差があるシステムでは、背景に平板が存在する領域(平板上)での物体検知と平板が存在しない領域での物体検知をいずれも行う必要がある。従来例では、1つの物体が、このような背景の条件の違いがある2つの領域に跨って存在する場合の物体検出について十分に考慮されていなかった。
本発明は、上記従来例に鑑みてなされたものであり、背景の条件の異なる複数の領域を含む空間上で、物体の認識を精度よく行うことを目的とする。
上記目的を達成するため、本発明にかかる情報処理装置は、各画素に、所定の平板を背景の一部に含む空間における位置情報が反映された入力画像を取得する画像取得手段と、前記画像取得手段によって取得された入力画像のうち、前記空間の背景に前記平板が存在する部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記平板に関する位置情報と、第1の基準とに基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出し、前記画像取得手段によって取得された入力画像のうち、前記空間の背景に前記平板が存在しない部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記第1の基準とは異なる第2の基準とに基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出する抽出手段を備える。
本発明によれば、背景の条件の異なる複数の領域を含む空間上で、物体の認識を精度よく行うことが可能となる。
情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図。 実施例1を適用するシステムの外観の一例を示す図。 実施例1のジェスチャ認識処理の一例を示すフローチャート。 従来技術によって、テーブル面より高い位置に存在する物体を検出する様子を示す概念図。 テーブルが存在する領域で物体領域を抽出する処理の一例を示すフローチャート。 テーブル面より高い位置に存在する物体を検出する様子を示す概念図。 テーブルが存在しない領域で物体領域を抽出する処理の一例を示すフローチャート。 テーブルが存在しない領域での処理に用いられる第2の高さ閾値を決定する処理の一例を示すフローチャート。 第2の高さ閾値補正処理に用いるパラメータの範囲を示す概念図。 第2の高さ閾値を補正する処理の概念図。 第2の高さ閾値を補正する処理の概念図。 第2の高さ閾値を補正する処理の概念図。 実施例2のジェスチャ認識処理の一例を示すフローチャート。 第2の高さ閾値を決定する処理の一例を示すフローチャート。 実施例2の第2の高さ閾値決定処理の一例を示すフローチャートを示す図。
以下、本発明に係る実施例の情報処理を、図面を参照して詳細に説明する。なお、実施例に記載する構成は例示であり、本発明の範囲をそれら構成に限定する趣旨のものではない。
<実施例1>
実施例1として、テーブル上に投影されたグラフィカルユーザインタフェース(GUI)に対してユーザがジェスチャ操作を行う、テーブルトップインタフェース(IF)システムに本発明を適用した例を説明する。従って、以下の実施例では、ジェスチャが行われる空間の背景に含まれる所定の平板を「テーブル」と表現するが、テーブルを、直立したスクリーンやホワイトボード等に置き換えて本発明を適用することも可能である。また、ここではテーブルやスクリーンやホワイトボードなどを「平板」として表現しているが、平板の平面に凹凸が無いものに限られない。ここで言う平板は、その平面が安定して静止状態にあると推定される固定サイズの物体の呼称である。
また、ユーザがジェスチャを行うために用いる物体(以下、操作物体)の一例としては、ユーザの手を挙げるが、その他の部位(指や足など)、あるいは、ユーザが把持する物体(例えばスタイラス)なども操作物体として利用可能である。
[ハードウェアの構成]
図1(a)は、実施例1に係る情報処理装置100のハードウェア構成の一例を示すブロック図である。
中央処理ユニット(CPU)101は、RAM103をワークメモリとして、ROM102や記憶装置104に格納されたOSやプログラムを実行し、システムバス106に接続された各構成を制御して、各種処理の演算や論理判断などを行う。CPU101が実行する処理には、後述するフローチャートに示すジェスチャ認識処理(ユーザが行うジェスチャをシステムが操作入力として認識する情報処理)が含まれる。OSおよび各処理プログラム等は記憶装置104に記憶されていてもよく、その場合は電源投入時に必要な情報がRAM103に適宜読み込まれる。記憶装置104は、ハードディスクドライブやネットワークやUSBなどの各種I/Fを介して接続される外部記憶装置などである。本実施例では、例えばテーブル上に投影されるデジタルデータや、キャリブレーションにより取得された座標変換パラメータ、予め撮像される背景画像が格納される。
距離画像センサ105は、ますCPU101の制御に従い、GUIが投影表示されるテーブルを背景の一部とし、さらにテーブルの周辺を含む空間(以下、テーブル周辺空間)を後述する方法で撮像して距離画像を取得する。そして、取得された距離画像を、システムバス106を介して情報処理装置100に入力する。撮像して得られた距離画像の各画素には、センサから被写体までの距離が反映される。ただし、距離画像センサ105は、テーブル周辺空間に操作物体が存在した場合、撮像された距離画像では、背景の一部であるテーブルの前景(テーブルよりも手前)に、操作物体が写り込むように設置される。本実施例では、距離画像の取得方法として、環境光やテーブル面の表示の影響が小さい赤外パターン投影方式を基に説明するが、用途に応じて視差方式や赤外光反射時間方式などを利用することも可能である。表示装置107は、GUIや各種情報などの画像を表示するためのディスプレイ、プロジェクタ等である。本実施形態では、液晶プロジェクタが表示装置107として用いられる。
なお、本実施例において、距離画像センサ105、表示装置107はそれぞれ情報処理装置100に入出力用のインタフェース108を介して接続された外部装置である。ただし、これらは情報処理装置100に一体化されていても構わない。
[機能構成]
図1(b)は、情報処理装置100の機能構成の一例を示すブロック図である。各機能部は、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、上記CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
画像取得部201は、距離画像センサ105から入力される距離画像を、入力画像として取得する。入力画像は、距離画像センサ105が、テーブル周辺空間を撮像した画像であって、各画素値には、距離画像センサ105から被写体までの距離情報が反映されている。本実施例では、距離画像センサ105は、テーブルを背景の一部に含む空間を撮像するように設置され、距離画像の画素値に含まれる距離情報は、テーブルの上面に交わる方向の位置情報に対応する。
高さ取得部202は、入力画像の画素の位置とその画素値に基づいて、テーブル周辺空間での物体の三次元位置情報を取得する。本実施例の高さ取得部202が取得可能な三次元位置情報には、少なくとも、テーブル面とテーブルの情報(テーブル面の前景)に存在する物体の高さ情報が含まれる。
境界取得部203は、入力画像から取得される三次元位置情報に基づいて、テーブル周辺空間のうち背景にテーブル面が存在する領域と、背景にテーブル面が存在しない領域との境界の位置を取得する。なお以下では、背景にテーブル面が存在する領域(テーブル上の空間に相当する範囲)を第1領域、背景にテーブル面が存在しない領域(テーブル周囲の空間に相当する範囲)を第2領域という。
閾値決定部204は、第2領域において、入力画像から、テーブルよりも高い位置に存在する物体が写る領域を抽出するために用いられる高さの閾値を決定する。本実施例では、第2領域に対する抽出処理に用いられる第2の高さ閾値は、世界座標系における高さで示され、入力画像の画素値の大きさから変換される高さと比較処理される。また閾値決定部204は、第1領域から抽出された物体領域が、2つの領域の境界に接する場合、第2の高さ閾値に対して補正を加える。
抽出部205は、第1領域及び第2領域のそれぞれから、異なる高さの基準に従ってテーブルよりも高い位置に存在する物体が写る物体領域を抽出する。本実施例では、第1領域では、テーブル面からの相対的な高さを基準とし、第1の高さ閾値による閾値処理によって物体領域を抽出する。第2領域では、入力画像の画素値の大きさから変換される高さ(世界座標系における高さ)を基準とし、第2の高さ閾値による閾値処理によって物体領域を抽出する。
認識部206は、第1領域から抽出された物体領域と第2領域から抽出された物体領域とを結合した物体領域の全体が、ユーザの手などの所定の操作物体であるかを判定した上で、操作物体によって行われるジェスチャ操作を認識する。本実施例では、操作物体によるテーブル面への接触は、タッチセンサを用いず操作物体の三次元位置情報に基づいて認識するため、タッチ操作もジェスチャ操作の一種であるとして扱う。
表示制御部207は、表示装置107によってテーブル面に表示させる表示画像を生成し、インタフェース108を介して出力する。本実施例では特に、認識部206によって認識された操作に対する応答を示す表示画像を、記憶装置104等に記憶されたデータに基づいて生成し、出力することで、ユーザ対して操作に対するフィードバックを明示する。
[システムの外観]
図2は、本実施例に係る情報処理装置100を適用可能なシステムの外観の一例を示す。テーブル301の上方には、表示装置107である液晶プロジェクタが備えられ、例えば、GUI画面302がテーブル301上に投影される。ユーザは手303等の操作物体を用いて、GUI画面302に含まれるGUI部品に接触するタッチ操作や、ジェスチャ操作を行う。図2のシステムにおいて、ジェスチャやタッチなどによる操作を認識可能な範囲である操作領域は、表示装置107による投影が可能なテーブル301上の範囲と一致するとする。表示装置107とテーブル301の位置関係はテーブル301の中心と表示装置107によって投影される表示画面の中心が一致し、テーブル301上面の9割以上の範囲に対して画像投影が可能であるように固定されている。なお、テーブル301上面への投影が可能であれば、表示装置107の筐体自体は、必ずしもテーブル301の上方に設置されていなくても構わない。
距離画像センサ105もまた上方に設置され、テーブル301を背景の一部とするテーブル周辺空間を撮像した距離画像を取得する。情報処理装置100は、取得される距離画像から手303を検出し、テーブル301周辺空間で行われたユーザのジェスチャを認識する。本実施例では、図2に示すように、x、y、zの座標軸を定義する。図2では、テーブル上面に平行な二次元がx、y平面となり、テーブル上面に直交し上方に伸びる方向がz軸の正方向となる。距離画像センサ105が撮像する距離画像の各画素には、センサから被写体までの距離に対応する画素値が記録される。本実施例では、図2に示したように、距離画像センサ105は、その画角にテーブル301を含むように固定されており、撮像される距離画像の被写体は、距離画像センサ105とテーブル301との間に存在する。従って、センサから被写体までの距離は、相対的に、テーブル301の表面から距離(高さ)を反映した情報であるとも解釈できる。ただし、図2では、距離画像センサ105はテーブル301に対して角度を持った上体で固定されているため、テーブル301面からの高さが一定な面上であっても、距離画像センサ105の撮像素子に対しては傾きを持つ。従って、本実施例では、距離画像センサ105が撮像した距離画像の各画素値が示す距離情報を、距離画像センサ105のレンズ特性およびテーブル301との相対位置関係に基づく座標変換を施すことで、xyz空間の座標をマッピングする。このような変換により、テーブル301を背景の一部に含む空間内の各点について、xyz座標を得ることができる。図2では、テーブル面からの高さ情報の基準となるz軸は、テーブル面に垂直であるとするが、テーブル面に交わる方向であれば、多少の傾きを有していてもかまわない。なお、距離画像センサ105もまた、z軸方向の距離情報を取得することが可能であれば、筐体が設置される位置は、テーブル301の上方に限らない。本実施例では、テーブル面は地面と平行するように設置されるため、テーブル面に垂直な方向の位置情報(z座標)を「高さ」とも表現するが、テーブルの向きによっては、必ずしも「高さ」が鉛直方向の位置を示すとは限らない。
本実施例では、予め距離画像センサ105とテーブル301の位置関係が設定された時点で、テーブルだけを撮像した距離画像を基本の背景画像として予め取得する。情報処理装置100は、基本の背景画像として得られた距離画像の情報を、記憶装置104に保持する。なお、基本の背景画像としては、情報処理装置100が起動される直後や、一定期間ごとなど、定期的に行われるとする。
また、本実施例では、テーブル301を、GUI画面302を表示する機能を備えるディスプレイ一体型のテーブルとすることも可能である。この他、テーブル301上に載置された物体の可視光画像を撮像する可視光カメラなどを含むシステムを構成することもできる。
図2に示すように、本実施例では、ユーザはテーブル301の周辺空間の外から、空間内に含まれるテーブルの上に手303を差し出すようにして操作を行う。従って、ユーザが、GUI画面のうちテーブルの縁に近い位置に表示されたGUIオブジェクトをタッチする場合等に、手303の一部が、テーブル301の縁よりも外側に存在する可能性が高い。この際、距離画像センサ105から見れば、ユーザの手は、テーブルの縁を跨ぐように存在する。本実施例では、テーブル周辺空間のうち背景にテーブルが存在する領域と存在しない領域とで、異なる高さの基準を用いてテーブルより上方に存在する物体が写る領域を抽出する。そして抽出された領域を統合することで2つの領域の境界を跨ぐように存在する物体の全体像を検出する。
[ジェスチャ認識処理]
図3は、本実施例において情報処理装置100が実行するジェスチャ認識処理の一例を示すフローチャートである。この処理は、情報処理装置の各機能部を構成するCPU101がROM102に記録されたプログラムをRAM103に展開して実行することで実現される。本実施例では、ジェスチャ操作を認識するアプリケーション等が実行されたことに応じて、距離画像センサ105による距離画像の撮像が開始され、所定時間毎に情報処理装置100に距離画像が入力される。撮像された距離画像が入力されたことに応じて図2のフローチャートの処理が開始される。
ステップS401では、閾値決定部204が、テーブルが存在しない領域(第2領域)での物体領域の検出処理(ステップS408)で用いる高さの閾値を決定する。ステップS401において第2領域での閾値を決定する処理の詳細を、図8(a)のフローチャートを用いて説明する。
ステップS901において、境界取得部203が、予め撮像された基本の背景画像の画素値情報を取得する。ステップS902では、境界取得部203によって、隣接する画素との画素値の差分が所定の値よりも大きい画素を検出する。画素値の差分が大きいことは、極端な高さの違いが生じていることを示すため、テーブルの縁部分に相当すると見なす。従って、隣接する画素との画素値の差分が、所定の値よりも大きい画素が連続する部分を、背景にテーブルが存在する領域と、テーブルが存在しない領域との境界として扱う。このとき境界として扱う画素は、テーブル上の範囲に含まれる方の画素(画素値が大きい方の画素)とする。ステップS903では、閾値決定部204が、領域の境界となる画素の画素値が変換された高さ情報に基づいて、平均高さを示す値を取得する。ステップS904において、閾値決定部204は、取得された平均の高さを、第2領域における高さの閾値とする。本実施例では、決定された閾値はRAM103に保持され、閾値処理を行う際に保持された値が参照される。
図2のフローチャートに戻り、ステップS402では、画像取得部201が、距離画像センサ105から入力された距離画像を、入力画像として取得する。
ステップS403では、抽出部205が、入力画像のうち、背景にテーブルが存在する領域(第1領域)において、テーブルよりも高い位置に存在する物体が写る領域を、物体領域として抽出する。物体が、テーブルよりも高い位置に存在するとは、該物体が、背景としてのテーブルの前景に存在することを意味する。本実施例では、背景にテーブルが存在する領域では、テーブルの表面からの相対的な高さ)を基準とする処理により、物体領域を検出する。具体的には、テーブルの表面からの相対的な高さが所定の閾値(第1の高さ閾値)よりも高い領域を、物体領域として抽出する。テーブルの高さと、物体の高さは同じシステムによって検出された情報であるため、その相対値を用いることにより、システムに生じる座標変換誤差やセンシング誤差の影響を抑えた検出が可能となる。ステップS403の処理の詳細は後述する。
ステップS404では、境界取得部203が、ステップS403において抽出された物体領域を含む、第1及び第2の2つの領域の境界の一部の座標を取得する。本実施例では、ユーザはテーブルの縁の外側から、テーブル上に手を差し込んで操作を行う。そのため、テーブル上に物体領域が検出された場合、テーブルの縁を跨ぐように物体が存在している可能性が高い。従って、第1領域から抽出された物体領域が、操作物体が映っている領域であれば、該物体領域には、ステップS902で検出した境界に属する部分が存在する。言い換えれば、ステップS902で検出した境界部分には、第1領域から抽出された物体領域の少なくとも一部が含まれる。一方、抽出された物体領域に、第1及び第2の2つの領域の境界に接する部分が存在しない場合、当該物体はユーザの手などの操作物体ではなく、テーブル上に何らかの物体が載置されたと推定される。この場合、抽出された物体領域を追跡してジェスチャ操作を認識する必要はないので、フローチャートの処理を終了する、あるいはステップS402に戻るなどの処理を行う。境界取得部203は、取得した境界の一部の情報をRAM103に保持する。なおステップS404では、ステップS403において抽出された第1領域内の物体領域のうちの第1及び第2の2つの領域の境界に属する部分を包含する所定のサイズの領域、あるいは所定の長さの直線(領域境界の接線)を取得してもよい。
ステップS405では、抽出部205が、入力画像のうち、テーブルが存在しない領域(第2領域)において、テーブルよりも高い位置に存在する物体が写る領域を、物体領域として抽出する。本実施例では、背景にテーブルが存在しない領域では、入力画像の画素値によって示される高さを基準とする処理により、物体領域を検出する。具体的には、ステップS401において決定された高さの閾値(第2の高さ閾値)による閾値処理に基づいて抽出を行う。ここで第2の高さ閾値は、テーブルが存在しない領域にも、テーブル上面が広がっていると仮定した場合の、仮想的なテーブル表面の高さに相当する。つまり、入力画像の画素値によって示される高さが、第2の高さ閾値に示される仮想的なテーブル面の高さよりも高い領域を、物体領域として抽出する。ただし、本実施例では、テーブルの縁の位置情報やテーブルの高さ情報には検出誤差があることを考慮し、第1及び第2の2つの領域の境界からのxy平面上の距離に応じて、閾値を補正した上で、閾値処理を行う。ステップS405の処理の詳細は後述する。
次に、ステップS406では、認識部206が、ステップS403及びステップS405において抽出された物体領域を結合した物体領域の全体を対象として、該領域に写る物体は、ユーザの手であるか否かを判定する。なお、操作物体として用いられる物体がユーザの手ではなく、スタイラス等の所定の物体である場合は、結合された物体領域が当該操作物体であるかを判定する。本実施例では、結合された物体領域の形状(大きさ、円形度、縦横比、凹凸性)や色情報が、予め設定された条件を満たす場合に、当該領域がユーザの手であると判定する。条件とは例えば、物体領域の形状と予め用意された形状モデルとのマッチング結果の尤度高いことや、物体領域が所定のアスペクト比の矩形に収まることである。また、入力画像と同じ範囲を撮像した可視光画像をさらに用いて、物体領域の各画素のRGB値の平均が「人の肌の色」として設定された範囲に含まれることを判定してもよい。物体はユーザの手であると判定された場合(ステップS406でYes)には、処理はステップS407に進む。物体はユーザの手ではないと判定された場合(ステップS406でNo)には、処理はステップS410に進む。
ステップS407では、認識部206が、結合された物体領域の形状に基づいて、ユーザの手が指さし姿勢であるか否かを判定する。本実施例では、予め用意された指さし姿勢の手のモデルとのマッチングを行い、その尤度に基づいて判定を行う。ユーザの手が指さし姿勢であると判定された場合(ステップS407でYes)には、処理はステップS408に進む。ユーザの手が指さし姿勢ではないと判定された場合(ステップS407でNo)には、処理はステップS409に進む。
ステップS408では、認識部206が、指さし姿勢の手によるタッチ操作を認識する。具体的には、物体領域のうち指先に相当する位置の高さ情報を取得し、指先の高さとテーブルの高さの差に基づいて、テーブル上面が指先によってタッチされたか否かを判定する。タッチされた場合には、タッチされた位置に表示されたオブジェクトに対応する処理を実行する。例えば、タッチされた位置に表示されたオブジェクトを選択状態としたり、オブジェクトに関連付けられたコマンドを実行したりする。表示制御部207は、認識された操作に対する応答を示す表示画像を生成し、表示装置107に出力する。なお、一定の待機時間の間に、テーブル上面が指先によってタッチされることがなければ、タッチ操作の認識は中止して次のステップに進む。
ステップS409では、認識部206が、物体領域の位置情報をRAM103に保持し、所定時間の間の履歴に基づいて、ユーザの手によって行われるジェスチャ操作を認識する。本実施例では、少なくとも、ユーザの手が操作領域内で特定の方向に振られるジェスチャ操作(スワイプ操作)が認識可能であるとする。スワイプ操作を認識するため、ステップS409では、物体領域の重心の位置情報を特定する。そして、RAM103などに情報を保持し、その時点までの重心の位置とその移動量を特徴量としたHMM(Hidden Markov Model)とのマッチングを行い、その尤度に基づいて認識を行う。表示制御部207は、認識されたスワイプ操作に対する応答を示す表示画像を生成し、表示装置107に出力する。
なお、本実施例のステップS406からステップS409のタッチやスワイプなどのジェスチャ認識は、このフローに沿うことに限るものではない。例えば、物体が手であるか否か(ステップS406)の判定結果や、手が指さし姿勢であるか否か(ステップS407)の判定結果によらず、タッチ操作の認識(ステップS408)やスワイプ操作の認識(ステップS409)を行っても構わない。また、さらに、手の高さや移動速度を示す情報等を用いて別のジェスチャ操作を認識することもできる。
ステップS409の処理が終了するか、ステップS406で、物体領域に写る物体がユーザの手でないと判定識別された場合、ステップS410において、CPU101が、距離画像センサ105からの距離画像の入力が終了したか否かを判定する。画像入力が終了した場合はジェスチャ認識処理を終了し、画像入力が継続している場合は処理をステップS402に戻し、新たな入力画像に対するジェスチャ認識処理を行う。
[第1領域での物体領域の抽出処理]
次に、ステップS403において実行される、入力画像のうちテーブルが存在する領域である第1領域において、テーブルよりも高い位置に存在する物体が写る領域を、物体領域として抽出する処理の詳細を説明する。
ここで、図4を参照し、テーブルの縁を跨ぐように存在するユーザの手を検出する処理を、従来技術に沿って行った場合に生じる課題を説明する。図4(a)〜(c)は、図2に示したシステムにおいて、テーブル301の周辺をyz平面に平行な断面で見た図である。図4において、手501は、指さし姿勢(人差し指だけを伸ばした片手の状態)で、テーブル301を差し示すユーザの手である。
従来、ユーザの手がテーブルの縁を跨ぐように存在することを考慮しなければ、テーブルの縁より内側か外側かに関わらず、入力画像のうち、テーブル301の上面の高さよりも高い高さ情報が得られた部分を、手領域として検出することが考えられる。図4(a)は、理想的な状態を示す図である。高さ502は、距離画像センサ105によって計測されたテーブル面の高さであり、ユーザの手501の全体が、高さ502よりも上に存在するため、正確に手を検出することが可能となっている。しかしながら実際には、距離画像センサ105の性能による距離計測の誤差や、キャリブレーションで取得した座標変換パラメータの誤差に起因して、距離画像から得た情報を座標情報に変換した結果には誤差が生じる。そのため、テーブル面の高さを正確に検出し、テーブル面を境界とした上下を精度よく分離する処理は困難となる。例えば、図4(b)は、検出されたテーブル面の高さが、真のテーブル高さよりも高い場合を示す。高さ504は、距離画像センサ105によって計測されたテーブル面の高さである。この場合、ユーザの手501の一部が、高さ504よりも低い位置にあると判定されるため、検出される物体領域に、欠損505が発生してしまう。また、図4(c)は、検出されたテーブル面の高さが、真のテーブル高さよりも低い場合を示す。高さ506は、距離画像センサ105によって計測されたテーブル面の高さである。この場合、テーブル自体の一部507が、高さ507より高い位置にあることから物体領域として抽出されてしまい、真の物体領域との区別が困難になる。
そこで本実施例では、入力画像の各画素を、背景にテーブルが存在する第1領域とテーブルが存在しない第2領域に区別し、第1領域においては、テーブル表面の高さとの相対的な高さの閾値処理に基づいて、テーブル上の物体領域を検出する。距離計測や座標変換の誤差は、物体領域とテーブル面の両方に含まれるため、相対的な高さを取得することで、その誤差による影響は抑えられる。
図5のフローチャートを参照し、ステップS403において実行される具体的な処理の流れを説明する。まず、ステップS601では、高さ取得部202が、入力画像のうち、第1領域に含まれる注目画素を選択する。本実施例では、予め撮像された基本の背景画像によって、テーブルの縁の位置が得られるので、当該縁を境界とする範囲の内側を第1領域として、注目画素を選択する。なお本実施例では、1画素ずつ注目画素を選択するものとするが、複数画素からなるブロック毎に選択し、画素値の平均値を当該ブロックの高さ情報として以降の処理を行うこともできる。
ステップS602では、高さ取得部202が、注目画素に相当する位置(xy座標で示される位置)における、テーブル面の高さを取得する。本実施例では、基本の背景画像として予め撮像された距離画像の情報から、注目画素に相当する位置における、テーブル面の高さを示す情報を取得する。なお、基本の背景画像として予め撮像された距離画像を用いる以外の方法で、テーブルの高さを取得することもできる。例えば、前フレームの入力画像との差分に基づきテーブル内の動きの有無を判別し、動きが無い場合にはテーブル内に物体が存在しないとみなして現入力画像からテーブル高さを再取得しておくことも可能である。この方法であれば、最新のテーブルの状態が、基本の背景画像を撮像した時と異なる場合にも有効である。
次に、ステップS603では、高さ取得部202が、注目画素の画素値が示す高さの、テーブル面からの相対高さを取得する。本実施例では、注目画素の値と取得されたテーブル高さの値との減算により求められる。ステップS604では、抽出部205が、取得された相対高さが、第1の高さ閾値以上であるか否かを判定する。第1の高さ閾値は、テーブルとユーザの手を区別するための適切な距離を示す値として予め設定された閾値である。取得された相対高さが第1の高さ閾値以上であると判定された場合(ステップS604でYes)、処理はステップS605に進む。取得された相対高さが第1の高さ閾値以上ではないと判定された場合(ステップS604でNo)、処理はステップS606に進む。ステップS605では、注目画素を、物体領域の一部として特定する。ステップS606では、高さ取得部202が、第1領域内の全ての画素について処理が終了したかを判定する。第1領域内の全ての画素について処理が終了していると判定された場合(ステップ706でYes)は、メインフローにリターンし、ステップS404以降の処理を実行する。第1領域内の全ての画素について処理が終了していないと判定された場合(ステップ706でNo)、ステップS601に戻り、未処理の画素を注目画素として選択して処理を繰り返す。なお図5のフローチャートでは、予め区分されている第1領域の画素から注目画素を選択し、第1領域の全ての画素について処理を繰り返すとしたが、入力画像の全ての画素を走査し、第1領域に含まれる画素かを判定する処理を加えても同じである。
なお本実施例では、第1領域に対する抽出処理に用いられる第1の高さ閾値は、テーブル面からの相対的な高さと比較される高さの閾値であって、予め決定された値を参照するとする。ただし、第1の高さ閾値に対しても、閾値決定部204が入力画像に基づく補正処理を行い、環境に適用した閾値を導出するとしても良い。
[第2領域での物体領域の抽出処理]
次に、ステップS405において実行される、テーブルが存在しない領域である距離画像の第2領域において、テーブルよりも高い位置に存在する物体が写る領域を、物体領域として抽出する処理の詳細を説明する。
ここで、図6を参照し、テーブルの縁を跨ぐように存在するユーザの手を、テーブルが存在する領域とテーブルが存在しない領域の2つの領域に分けて検出する場合に生じ得る状況の例を説明する。図6(a)〜(c)は、図2に示したシステムにおいて、テーブル301の周辺をyz平面に平行な断面で見た図である。図4と同様、手501は、指さし姿勢(人差し指だけを伸ばした片手の状態)で、テーブル301を差し示すユーザの手である。
テーブル上の第1領域では、テーブル面との相対高さの閾値処理を用いることで、物体領域の検出におけるノイズや欠損を抑制できるのは上述した通りである。図6(a)は、第1領域と第2領域の境界が正確に検出されている状態を示す図である。境界701は、基本の背景画像に基づいてステップS902で検出されるテーブルの縁であり、第1領域と第2領域の境界線である。高さ702は、ステップS401において設定された、第2領域での高さの閾値(第2の高さ閾値)である。ただし、基本の背景画像に基づく第1領域と第2領域の境界の検出においても、誤差が発生する場合がある。例えば、センシングの誤差により、テーブルの縁より外であるとみなされる画素に相当する位置おいても、実際にはテーブルが存在する場合が生じることがある。図6(b)は、テーブルの縁が実際よりもテーブルの内側であるように検出されている状況において、検出されたテーブル面の高さが、真のテーブル高さよりも低い場合を示す。この場合、第2領域に存在するテーブルの一部分が、高さ702よりも高い位置にあることから、物体領域として検出されてしまい、ノイズ801となる。yz平面では、ノイズ部分は、実際の手の直下に位置するため、物体領域として検出されるy座標は、図6(a)の理想的な場合と同じであるように見える。しかしながら、ノイズ801は、x軸方向にテーブル301の幅と同じだけの広がりがあるため、ノイズ801を含む物体領域の形状は、ユーザの手であると認識されず、操作の認識精度が低下する原因となる。一方、図6(c)は、テーブルの縁が実際よりもテーブルの内側であるように検出されている状況において、検出されたテーブル面の高さが、真のテーブル高さよりも高い場合を示す。この場合、手501のうち、高さ702よりも低い部分が、物体領域として検出されないので、欠損802が発生してしまう。欠損802の大きさや形状によっては、第1領域で検出された物体領域と、第2領域で検出された物体領域とが不連続となってしまい、手による操作の認識精度が低下する原因となり得る。
そこで、本実施例では、先に第1領域に対する処理で抽出された物体領域の、領域の境界部分での情報に基づいて、第2の高さ閾値の大きさを変更したり適用範囲を制限したりすることによって、物体領域のノイズや欠損の発生を抑える。
図7のフローチャートを参照して、ステップS405において実行される第2領域内の物体領域の検出処理の詳細な流れを説明する。
ステップS801では、高さ取得部202が、入力画像のうち、第2領域に含まれる注目画素を選択する。本実施例では、1画素ずつ注目画素を選択するものとするが、複数画素からなるブロック毎に選択し、画素値の平均値を当該ブロックの高さ情報として以降の処理を行うこともできる。ステップS802では、閾値決定部204が、注目画素に相当する位置(xy座標)と、ステップS404で検出された、第1領域で抽出された物体領域を含む、第1及び第2の2つの領域の境界の一部との距離を取得する。ここでは、y座標について最短距離を算出するとする。
ステップS803では、閾値決定部204が、ステップS802で取得された距離に応じて、ステップS401で決定された第2領域での高さの閾値(第2の高さ閾値)を補正する。なおこの処理の目的は、第1領域と第2領域の境界が不連続となってしまうことを防ぎ、かつ、実際にはユーザの手が存在し得ない位置でテーブルが検出されノイズとなることを防ぐことである。そこでステップS802で取得された距離が小さい、つまり境界の近傍に当たる領域では、高さの閾値を低くして、領域が不連続となることを防ぐ。一方、ステップS802で取得された距離が大きい、つまりユーザの手から遠い範囲では、高さの閾値を高くすることで、テーブル自体がノイズとして物体領域に含まれてしまうことを防ぐ。ステップS803の処理の詳細は後述する。
ステップS804では、高さ取得部202が、注目画素の画素値が示す高さを取得する。ステップS805において、抽出部205が、取得された高さが、第2の高さ閾値以上であるか否かを判定する。第2の高さ閾値は、ステップS803で補正された値である。高さが第2の高さ閾値以上であると判定された場合(ステップS805でYes)、処理はステップS806に進む。取得された高さが第2の高さ閾値以上ではないと判定された場合(ステップS805でNo)、処理はステップS807に進む。ステップS806では、抽出部205が、注目画素を、物体領域の一部として特定する。ステップS807では、第2領域内の全ての画素について処理が終了したかを判定する。第2領域内の全ての画素について処理が終了していると判定された場合(ステップ1007でYes)は、メインフローにリターンし、ステップS404以降の処理を実行する。第1領域内の全ての画素について処理が終了していないと判定された場合(ステップ1007でNo)、ステップS801に戻り、未処理の画素を注目画素として選択して処理を繰り返す。なお図7のフローチャートでは、予め区分されている第2領域の画素から注目画素を選択し、第2領域の全ての画素について処理を繰り返すとしたが、入力画像の全ての画素を走査し、第2領域に含まれる画素かを判定する処理を加えても同じである。
本実施例では、地面に対して平行するように設置されたテーブルを背景とする空間での処理を上げているため、第2領域では、画素値に示される高さが第2の高さ閾値より高い画素を、物体領域として特定する。しかし、背景に含まれる平板が地面に平行ではない場合は、画素値に示される位置情報(平板に交わる方向の位置情報)が、平板の表面よりも前景側(距離画像センサ105に近い側)の位置を示す画素を、物体領域として特定することになる。
[第2の高さ閾値の補正処理]
次に、図8(b)のフローチャート、及び図9〜12の概念図を参照して、ステップS803で実行される第2の高さ閾値を補正する処理を説明する。
図8(b)のフローチャートは、ステップS803で行われる処理の詳細を示す。ステップS1001では、CPU101が、ステップS802で取得された距離が、閾値Lより大きいか否かを判定する。距離がL未満である場合(ステップS1001でYes)、ステップS1002において、第2の高さ閾値に距離に比例する値H*(距離/L)を加える。一方、距離がL以上である場合(ステップS1001でNo)、ステップS1003で、第2の高さ閾値に値Hを加える。この結果、2つの領域の境界の近傍での第2の高さ閾値は、近傍よりも遠い範囲での第2の高さ閾値よりも低くなる。ここで、図9によって、閾値Lと値Hについて説明する。閾値Lはテーブルを指先でタッチする際の手先から手首までの水平距離1101を超えないように設定され、値Hはタッチ時の手首の高さ1102を超えないように設定される。この制限を超えて閾値Lや値Hを設定すると、第2の高さ閾値がタッチ時の指や手首の高さを上回り、抽出領域の欠損が発生しやすくなるためである。本実施例では、上記制限に基づく一例として、閾値L=80mm、値H=30mmと設定する。
次に、図10〜図12を参照して、第2閾値が補正される具体的な例を示す。図10〜図12は、図6(b)及び(c)と同様に、テーブルの縁が実際よりもテーブルの内側であるように検出されている状況を示す。各図の(a)は、yz平面での断面図である。各図の(b)は、テーブル301をz軸に沿って上から見た画像であって、距離画像センサ105によって撮像され、情報処理装置100に入力される入力画像に対応する。ただし、本実施例における実際の入力画像は、距離画像である。境界701の内部が第1領域、外部が第2領域であり、実際のテーブル301面よりも第1領域が小さいことが示されている。
本実施例は、図10(b)に示す画像1201に対応する距離画像が入力された場合、境界701の内側の第1領域においては、ユーザの指の一部が物体領域として抽出され、ステップS404においては、抽出された領域を含む境界701の一部が取得される。ここでは、接線1202が取得されたとする。図11は、接線1202からの距離に応じて、境界の近傍の範囲1203の中では、第2の高さ閾値が低く補正されることを示している。ここで破線1204は、補正された第2閾値を示す。図12(b)では、画像1201のうち、境界701の外側の第2領域において、物体領域として抽出される部分を黒塗りで示している。境界付近では高さの閾値が低く補正されているため物体領域に欠損は発生せず、テーブルの一部が破線1204で示された閾値よりも低い位置にあったとしても、物体領域として検出されてしまう範囲は、第1領域で先に抽出された物体領域の極近傍に限定される。従って、結合された物体領域の形状が大きく変形されることはなく、ノイズの発生が抑制されている。
[実施例1の変形例]
ステップS803の高さ閾値の補正処理は、図6(a)に示されたような、第1領域と第2領域の境界が正確に取得されている状況では省略可能である。例えば、境界を示す位置情報をユーザが直接入力したり、可視光画像でのエッジ検出処理等に基づいてテーブルの縁部分がより正確に検出されたりしたことで、第2領域にテーブル面が含まれる可能性が低い場合もある。補正を省略できる場合、第1領域ではテーブル面からの相対高さを基準とし、第2領域ではテーブルの縁の検出に基づく基準高さを用いる手法を使い分けることで、テーブルの縁を跨いで存在するユーザの手を精度よく検出することが可能となる。
また、実施例1では、テーブルが存在する領域で抽出された物体領域を含む、テーブルの縁に当たる境界からの距離に応じて、基づいて第2の高さ閾値を補正した。しかし、ステップS404の処理を省き、ステップS802では、領域の境界線と注目画素との最短距離を取得してもよい。
また、実施例1の第2の高さ閾値の補正処理によって補正された高さの閾値は、第2の領域では、実際のテーブル面よりも高く設定されるため、テーブル面の高さより上にある物体でも検出され難くなってしまう場合がある。従って、第1及び第2の領域の境界を跨いでいない物体を検出する場合には、補正前の第2の高さ閾値を適用するように処理を区別してもよい。よって、テーブルよりも外に存在する物体を検出する必要がある場合は、本変形例を代用または併用することにより、抽出性能を高めることが可能である。
また、実施例1では、ステップS406において、抽出された物体領域の形状(大きさ、円形度、縦横比、凹凸性)や色情報に基づいて抽出領域がユーザの手であるか否かを識別することで、操作物体以外の物体により操作が誤認識される可能性を低減している。ただし、テーブル内への侵入量に基づいて物体を識別することも可能である。例えば、第1領域で抽出された物体領域の面積を侵入量、第1及び第2領域で抽出された物体領域の総面積を大きさとみなして、それぞれが適正な範囲か否かを閾値判定することにより、不自然な物体領域を除去することが可能である。
また、実施例1は、テーブルトップIFに限らず、所定の平板を背景の一部とする空間を撮像した距離画像から、背景である前記所定の平板の前景に存在する物体が写る領域を抽出するシステムに適用可能である。
<実施例2>
次に、実施例1に対し、第1領域と第2領域のそれぞれでの閾値処理の結果に生じる乖離を低減する構成を加えた実施例2を説明する。実施例2に係る情報処理システムの外観、ハードウェア構成は、実施例1において図1及び図2を参照して説明したもの同様であるため、同一符号を付して詳細な説明を省略する。ただし実施例2の、機能構成において、実施例2の閾値決定部204は、第2の高さ閾値の複数の候補値を用意し、第1領域での物体領域の抽出結果との乖離が少ない閾値を選択する。
図13のフローチャートにより実施例2のジェスチャ認識処理を説明する。この処理は、情報処理装置の各機能部を構成するCPU101がROM102に記録されたプログラムをRAM103に展開して実行することで実現される。また、この処理は、距離画像センサ105によって撮像された距離画像が、画像取得部201に入力されたことに応じて起動される。また図15は、図13のフローチャートの各ステップの処理が行われた段階で抽出される物体領域の変遷の一例を示す図である。なお、図13において、図3のフローチャートと同じ番号を付したステップでは、図3と同じ処理を行うため詳細な説明を省略し、図3との相違点を説明する。
実施例2では、ステップS404において、第1領域内の物体領域が抽出されると、処理はステップS1301に進む。
ステップS1301では、閾値決定部204が、第2の高さ閾値が決定済みであるかを判定する。具体的には、既に決定した第2の高さ閾値の情報が、RAM103に保持されているかに基づいて判定を行う。第2の高さ閾値が決定済みでない、つまり未決定であれば(ステップS1301でNo)、ステップS1302で第2の高さ閾値を決定する。
ここで、CPU101の機能部である閾値決定部204が実行する第2の高さ閾値決定処理(S1302)の流れを、図14のフローチャート及び図15により説明する。まず、ステップS1401において、閾値決定部204は、第2の高さ閾値のN個の候補値Tn(n=0,...,N−1)を決定する。候補値Tnは、想定されるテーブル面の高さを基準とし、上下に幅を持たせて複数用意する。例えばステップS401と同様の処理により、基準となる高さを求め、その上下に所定の幅を持たせた高さを複数決定する。また例えば、距離画像センサ105とテーブル301の固定された位置関係に基づいて予め決定された候補値を、記憶装置104等から読み出すことによって決定してもよい。次に、各候補値Tnについて、ステップS1402からS1404の処理を繰り返し行う。ステップS1402では、画像中のテーブル内の画素を走査し、高さがTn以上である領域を抽出する。図15に示す例では、領域1502が抽出される。ステップS1403では、ステップS404において抽出された第1領域内の物体領域との差分を取得する。本実施例では、ここでは、排他的論理和をとる。図15の場合、第1領域内で抽出された物体領域1501と、ステップS1402で抽出された領域1502との差分1503が取得される。そしてステップS1404において、CPU101は、その画素数を取得する。上記の処理を、各Tn(n=0,...,N−1)について行った後、ステップS1405において、閾値決定部204は、差分画素数が最小となるTnを第2の高さ閾値として決定し、その情報をRAM103に保持する。図15では、ステップS1402からステップS1404の処理が繰り返される度に閾値の高さが低くなり、T2を用いた段階で取得された差分画素数が最小であったことが示されている。以上の第2の高さ閾値決定処理により、テーブル内外間の抽出基準の差が小さな閾値を得ることが可能となる。第2の高さ閾値が決定されたら、図14のフローチャートにリターンし、ステップ406以降の処理が実行される。
実施例2では、ステップS408においてタッチ操作を認識する処理の後、ステップS1303に進み、閾値決定部204が、タッチ操作が行われたか否かを判定する。タッチ操作が行われた場合(ステップS1303でYes)は、ステップS1304に進む。一方、ステップS408の処理の間に設けた一定の待機時間の間に、テーブル面がユーザの指先によってタッチされることがなければ、タッチ操作が行われなかったと判定し(ステップS1303でNo)、ステップS409に進む。ステップS1304では、閾値決定部204が、第2の高さ閾値を再び決定する。ステップS1304の第2の高さ閾値決定処理は、ステップS1302と同様、図14のフローチャートの従って実行される。ユーザがタッチ操作を行った時、ユーザの手はテーブル面に接触する高さに存在している。従って、タッチ操作が行われた時点で、テーブルの高さに対応する高さ閾値の決定処理を再度行うことで、より正確にテーブルと手を識別可能な高さ閾値を求めることが可能になる。ただし、タッチ操作が行われる度に閾値を再決定するのではなく、例えば、情報処理装置100の起動後初回のタッチ操作があった時に閾値を再決定する等、処理の機会を限定してもよい。このように、処理の機会を限定することで、CPU101の処理能力をタッチ操作への応答を優先して使うことができる。
また、実施例2もまた、テーブルトップIFに限らず、所定の平板を背景の一部とする空間を撮像した距離画像から、背景である前記所定の平板の前景に存在する物体が写る領域を抽出するシステムに適用可能である。
<その他の実施例>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 CPU
102 ROM
103 RAM
105 距離画像センサ
107 表示装置
201 画像取得部
202 高さ取得部
203 境界取得部
204 閾値決定部
205 抽出部
206 認識部
207 表示制御部

Claims (16)

  1. 情報処理装置であって、
    各画素に、所定の平板を背景の一部に含む空間における位置情報が反映されている入力画像を取得する画像取得手段と、
    前記画像取得手段によって取得された入力画像のうち、前記空間の、背景に前記平板が存在する部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記平板に関する位置情報と、第1の基準と、に基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出し、
    前記画像取得手段によって取得された入力画像のうち、前記空間の、背景に前記平板が存在しない部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記第1の基準とは異なる第2の基準とに基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出する抽出手段と、を備えることを特徴とする情報処理装置。
  2. 前記第1の基準は、前記取得された入力画像に反映された位置情報と、前記平板に関する位置情報とから取得される前記平板からの距離に関する基準であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記抽出手段は、前記取得された入力画像のうち、前記背景に前記平板が存在する部分に対応する領域からは、前記取得された入力画像に反映されている位置情報から取得された前記平板からの距離が前記第1の基準となる距離よりも大きい部分を、前記物体領域として抽出することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第2の基準とは、前記入力画像に反映された位置情報のうち、前記平板と交わる方向の軸に沿った位置情報に関する基準であって、前記抽出手段は、前記取得された入力画像のうち、前記背景に前記平板が存在しない部分に対応する領域からは、前記平板と交わる方向の軸に沿った位置情報が、前記平板の表面よりも前記前景側の位置を示す部分を、前記物体領域として抽出することを特徴とする請求項1乃至3何れか1項に記載の情報処理装置。
  5. 前記抽出手段によって抽出された前記物体領域を統合して得られる統合物体領域の全体の形状に基づいて、前記情報処理装置に対して入力される操作を認識する認識手段を更に備えることを特徴とする請求項1乃至4何れか1項に記載の情報処理装置。
  6. 前記認識手段は、前記統合物体領域の形状に基づいて、前記物体が指差し姿勢をとったユーザの手であると判定した場合、前記入力画像から取得される、前記ユーザの手の指先の位置情報に基づいて、前記ユーザの手の指先によって前記平板が接触されたことを認識し、前記物体領域に写る物体が指差し姿勢をとったユーザの手ではないと判定した場合、前記物体によって前記平板が接触されたことの認識を行わないことを特徴とする請求項5に記載の情報処理装置。
  7. 情報処理装置の制御方法であって、
    各画素に、所定の平板を背景の一部に含む空間における位置情報が反映されている入力画像を取得する画像取得工程と、
    前記画像取得工程で取得された入力画像のうち、前記空間の、背景に前記平板が存在する部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記平板に関する位置情報と、第1の基準と、に基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出し、
    前記画像取得工程で取得された入力画像のうち、前記空間の、背景に前記平板が存在しない部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記第1の基準とは異なる第2の基準とに基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出する抽出工程と、を備えることを特徴とする情報処理装置の制御方法。
  8. コンピュータを、
    各画素に、所定の平板を背景の一部に含む空間における位置情報が反映されている入力画像を取得する画像取得手段と、
    前記画像取得手段によって取得された入力画像のうち、前記空間の、背景に前記平板が存在する部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記平板に関する位置情報と、第1の基準と、に基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出し、
    前記画像取得手段によって取得された入力画像のうち、前記空間の、背景に前記平板が存在しない部分に対応する領域から、前記取得された入力画像に反映された位置情報と、前記第1の基準とは異なる第2の基準とに基づいて、前記平板よりも前景側に存在する物体に対応する物体領域を抽出する抽出手段と、として機能させるためのプログラム。
  9. 情報処理装置であって、
    テーブルが存在する空間における、高さ方向に対応する距離情報が画素値に反映された距離画像を取得する取得手段と、
    前記取得手段によって取得された距離画像のうち、背景に前記テーブルの上面が含まれる第1領域においては、前記テーブルの上面からの相対的な高さが第1の閾値よりも高いことが示される画素値を有する部分を、前記空間において、前記テーブルよりも上方に存在する物体に対応する物体領域として抽出し、前記取得手段によって取得された距離画像のうち、背景に前記テーブル面が含まれない第2領域においては、前記テーブルの上面の高さに基づいて設定される第2の閾値よりも高い高さを示す画素値を有する部分を、前記物体領域として抽出する抽出手段と、を備えることを特徴とする情報処理装置。
  10. 前記取得手段が予め取得した距離画像の画素値に基づいて取得される、前記テーブルの上面の高さに相当する値を、前記第2の閾値として決定する決定手段を更に備えることを特徴とする請求項9に記載の情報処理装置。
  11. 前記決定手段は、前記抽出手段によって前記第1領域から抽出された物体領域のうち、前記第1領域と前記第2領域との境界に含まれる部分からの距離に応じた値に、前記第2の閾値を補正することを特徴とする請求項10に記載の情報処理装置。
  12. 前記決定手段は、前記抽出手段によって前記第1領域から抽出された物体領域のうち、前記第1領域と前記第2領域との境界に含まれる部分の近傍に含まれる位置では、前記第2の閾値を、前記テーブルの上面の高さよりも低い高さに相当する値に補正し、前記第1領域と前記第2領域との境界に含まれる部分の近傍に含まれない位置では、前記第2の閾値を、前記テーブルの上面の高さよりも高い高さに相当する値に補正することを特徴とする請求項10に記載の情報処理装置。
  13. 前記決定手段は、前記取得手段が予め取得した距離画像の画素値に基づいて取得される、前記テーブルの上面の高さに基づいて、前記第2の閾値の値の複数の候補を決定し、前記第1領域から抽出された物体領域の大きさに基づいて、前記複数の候補のうち、前記第2領域における物体領域の抽出に用いる値を決定することを特徴とする請求項10に記載の情報処理装置。
  14. 前記第2の閾値の値を決定する第2決定手段を更に備え、前記第2決定手段は、前記抽出手段によって抽出された物体領域の一部から取得される高さ情報に基づいて、前記物体領域に写る物体が、前記テーブル面に接触したことが認識された時点で、前記第2の閾値の値を改めて決定することを特徴とする請求項9に記載の情報処理装置。
  15. 情報処理装置の制御方法であって、
    テーブルが存在する空間における、高さ方向に対応する距離情報が画素値に反映された距離画像を取得する取得工程と、
    前記取得工程で取得された距離画像のうち、背景に前記テーブルの上面が含まれる第1領域においては、前記テーブルの上面からの相対的な高さが第1の閾値よりも高いことが示される画素値を有する部分を、前記空間において、前記テーブルよりも上方に存在する物体に対応する物体領域として抽出し、前記取得工程で取得された距離画像のうち、背景に前記テーブル面が含まれない第2領域においては、前記テーブルの上面の高さに基づいて設定される第2の閾値よりも高い高さを示す画素値を有する部分を、前記物体領域として抽出する抽出工程と、を備えることを特徴とする情報処理装置の制御方法。
  16. コンピュータを、
    テーブルが存在する空間における、高さ方向に対応する距離情報が画素値に反映された距離画像を取得する取得手段と、
    前記取得手段によって取得された距離画像のうち、背景に前記テーブルの上面が含まれる第1領域においては、前記テーブルの上面からの相対的な高さが第1の閾値よりも高いことが示される画素値を有する部分を、前記空間において、前記テーブルよりも上方に存在する物体に対応する物体領域として抽出し、前記取得手段によって取得された距離画像のうち、背景に前記テーブル面が含まれない第2領域においては、前記テーブルの上面の高さに基づいて設定される第2の閾値よりも高い高さを示す画素値を有する部分を、前記物体領域として抽出する抽出手段と、として機能させるためのプログラム。
JP2014141805A 2014-07-09 2014-07-09 情報処理装置、その制御方法、プログラム、及び記憶媒体 Expired - Fee Related JP6335695B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014141805A JP6335695B2 (ja) 2014-07-09 2014-07-09 情報処理装置、その制御方法、プログラム、及び記憶媒体
FR1556329A FR3023629B1 (fr) 2014-07-09 2015-07-03 Appareil de traitement d'informations destine a detecter un objet a partir d'une image, procede destine a commander l'appareil, et support de stockage
US14/792,420 US10042426B2 (en) 2014-07-09 2015-07-06 Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium
DE102015110955.7A DE102015110955A1 (de) 2014-07-09 2015-07-07 Informationsverarbeitungsvorrichtung zum Erfassen eines Objekts von einem Bild, Verfahren zum Steuern der Vorrichtung und Speichermedien
GB1512040.5A GB2530150B (en) 2014-07-09 2015-07-09 Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014141805A JP6335695B2 (ja) 2014-07-09 2014-07-09 情報処理装置、その制御方法、プログラム、及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2016018458A JP2016018458A (ja) 2016-02-01
JP2016018458A5 JP2016018458A5 (ja) 2017-08-17
JP6335695B2 true JP6335695B2 (ja) 2018-05-30

Family

ID=54013720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014141805A Expired - Fee Related JP6335695B2 (ja) 2014-07-09 2014-07-09 情報処理装置、その制御方法、プログラム、及び記憶媒体

Country Status (5)

Country Link
US (1) US10042426B2 (ja)
JP (1) JP6335695B2 (ja)
DE (1) DE102015110955A1 (ja)
FR (1) FR3023629B1 (ja)
GB (1) GB2530150B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880267B2 (en) * 2015-09-04 2018-01-30 Microvision, Inc. Hybrid data acquisition in scanned beam display
US9858476B1 (en) * 2016-06-30 2018-01-02 Konica Minolta Laboratory U.S.A., Inc. Method for recognizing table, flowchart and text in document images
JP6814053B2 (ja) * 2017-01-19 2021-01-13 株式会社日立エルジーデータストレージ 物***置検出装置
DE102018205664A1 (de) * 2018-04-13 2019-10-17 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung zur Assistenz eines Insassen im Innenraum eines Kraftfahrzeugs
JP7241598B2 (ja) * 2019-04-26 2023-03-17 株式会社日立ハイテク 画像処理方法、画像処理装置及び画像処理システム
JP2021047757A (ja) * 2019-09-20 2021-03-25 キヤノン株式会社 画像処理装置、撮像装置、制御方法およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3834766B2 (ja) * 2000-04-03 2006-10-18 独立行政法人科学技術振興機構 マンマシーン・インターフェース・システム
JP4389602B2 (ja) * 2004-02-24 2009-12-24 パナソニック電工株式会社 物体検出装置、物体検出方法、プログラム
EP1851749B1 (en) * 2005-01-21 2012-03-28 Qualcomm Incorporated Motion-based tracking
JP2007064894A (ja) 2005-09-01 2007-03-15 Fujitsu Ten Ltd 物体検出装置、物体検出方法および物体検出プログラム
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US8589824B2 (en) * 2006-07-13 2013-11-19 Northrop Grumman Systems Corporation Gesture recognition interface system
US8180114B2 (en) * 2006-07-13 2012-05-15 Northrop Grumman Systems Corporation Gesture recognition interface system with vertical display
EP2050067A1 (en) * 2006-08-03 2009-04-22 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
GB2453675B (en) * 2006-10-10 2009-09-23 Promethean Ltd Pointing device specific applications/areas for interactive surface
CN101303634B (zh) * 2007-05-09 2012-05-23 鸿富锦精密工业(深圳)有限公司 便携式电子设备
US9377874B2 (en) * 2007-11-02 2016-06-28 Northrop Grumman Systems Corporation Gesture recognition light and video image projector
US8555207B2 (en) * 2008-02-27 2013-10-08 Qualcomm Incorporated Enhanced input using recognized gestures
US8624962B2 (en) * 2009-02-02 2014-01-07 Ydreams—Informatica, S.A. Ydreams Systems and methods for simulating three-dimensional virtual interactions from two-dimensional camera images
CN101872270B (zh) * 2009-04-25 2013-09-18 鸿富锦精密工业(深圳)有限公司 触控装置
US9498718B2 (en) * 2009-05-01 2016-11-22 Microsoft Technology Licensing, Llc Altering a view perspective within a display environment
US20100315413A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Surface Computer User Interaction
WO2010150201A1 (en) * 2009-06-25 2010-12-29 Koninklijke Philips Electronics N.V. Geture recognition using chroma- keying
JP5201096B2 (ja) * 2009-07-17 2013-06-05 大日本印刷株式会社 対話操作装置
US9262015B2 (en) * 2010-06-28 2016-02-16 Intel Corporation System for portable tangible interaction
WO2012020410A2 (en) * 2010-08-10 2012-02-16 Pointgrab Ltd. System and method for user interaction with projected content
FR2970797B1 (fr) * 2011-01-25 2013-12-20 Intui Sense Dispositif a commandes tactile et gestuelle et procede d'interpretation de la gestuelle associe
JP2013134549A (ja) * 2011-12-26 2013-07-08 Sharp Corp データ入力装置およびデータ入力方法
CN105723300B (zh) * 2013-09-24 2020-10-27 惠普发展公司,有限责任合伙企业 基于表示对象的图像确定分割边界
JP6326847B2 (ja) * 2014-02-14 2018-05-23 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム

Also Published As

Publication number Publication date
US20160011670A1 (en) 2016-01-14
GB201512040D0 (en) 2015-08-19
FR3023629B1 (fr) 2020-02-07
FR3023629A1 (fr) 2016-01-15
GB2530150A (en) 2016-03-16
US10042426B2 (en) 2018-08-07
JP2016018458A (ja) 2016-02-01
DE102015110955A1 (de) 2016-01-14
GB2530150B (en) 2017-01-18

Similar Documents

Publication Publication Date Title
JP6335695B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9756265B2 (en) Information processing apparatus recognizing certain object in captured image, and method for controlling the same
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US10310675B2 (en) User interface apparatus and control method
US10642422B2 (en) Information processing apparatus, control method for the information processing apparatus, and storage medium
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
US20120169671A1 (en) Multi-touch input apparatus and its interface method using data fusion of a single touch sensor pad and an imaging sensor
US9645735B2 (en) Information processing device and information processing method
WO2017029749A1 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US10747371B1 (en) Detection of finger press from live video stream
US10254893B2 (en) Operating apparatus, control method therefor, and storage medium storing program
JP2016091457A (ja) 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP6452369B2 (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
JP2015022624A (ja) 情報処理装置およびその制御方法、コンピュータプログラム、記憶媒体
JP2017084307A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP6555958B2 (ja) 情報処理装置、その制御方法、プログラム、および記憶媒体
JP6618301B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2018055685A (ja) 情報処理装置、その制御方法、プログラム、および記憶媒体
JP6898021B2 (ja) 操作入力装置、操作入力方法、及びプログラム
JP2018063555A (ja) 情報処理装置、情報処理方法及びプログラム
JP2016139396A (ja) ユーザーインターフェイス装置、方法およびプログラム
JP6570376B2 (ja) 情報処理装置、その制御方法、プログラム、記憶媒体
TWI522871B (zh) 光學觸控系統之物件影像之處理方法
JP2018181169A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
CN117492629A (zh) 指尖分类触控方法、指尖交互***、装置及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180501

R151 Written notification of patent or utility model registration

Ref document number: 6335695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees