(57)【要約】【課題】平面上に立体物が置かれているか否かを正確に判別することができる立体物検知装置を提供する。【解決手段】立体物検知装置１００は、該立体物検知装置１００から被写体までの測距データを含む距離画像を生成し、測距データに基づいて第１の基準測距データを生成し、測距データ及び第１の基準測距データを比較した結果に基づいて平面１０１上の立体物を検知する。【選択図】図４
2019087022.tif 000002
【特許請求の範囲】
【請求項１】
平面を含む被写体を撮像して前記平面上の立体物を検知する立体物検知装置であって、
前記立体物検知装置から前記被写体までの測距データを含む距離画像を取得する距離画像取得手段と、
前記測距データに基づいて前記距離画像の基準測距データを生成する基準測距データ生成手段と、
前記測距データ及び前記基準測距データを比較した結果に基づいて前記平面上の立体物を検知する検知手段とを備えることを特徴とする立体物検知装置。
【請求項２】
前記距離画像を複数の分割領域に分割する分割手段と、
各前記分割領域を抽出する抽出手段とを更に備え、
前記基準測距データ生成手段は、前記測距データに基づいて各前記分割領域の基準測距データを生成し、
前記検知手段は、各前記分割領域の測距データ及び各前記分割領域の基準測距データを比較した結果に基づいて前記平面上の立体物を検知することを特徴とする請求項１記載の立体物検知装置。
【請求項３】
前記分割領域は複数の画素で構成され、
前記分割領域において、前記測距データ及び前記基準測距データの差を前記画素単位で算出する算出手段を更に備え、
前記検知手段は、各前記画素の差の合計値が予め設定された閾値より大きい分割領域を前記平面上の立体物として検知し、前記合計値が前記閾値以下である分割領域を前記平面上の立体物として検知しないことを特徴とする請求項２記載の立体物検知装置。
【請求項４】
前記距離画像における仮想立体物領域を特定する仮想立体物領域特定手段を更に備え、
前記基準測距データ生成手段は、前記測距データに基づいて各前記仮想立体物領域の基準測距データを生成し、
前記検知手段は、各前記仮想立体物領域の測距データ及び各前記仮想立体物領域の基準測距データを比較した結果に基づいて前記平面上の立体物を検知することを特徴とする請求項１記載の立体物検知装置。
【請求項５】
前記仮想立体物領域は複数の画素で構成され、
前記仮想立体物領域において、前記測距データ及び前記基準測距データの差を前記画素単位で算出する算出手段を更に備え、
前記検知手段は、各前記画素の差の合計値が予め設定された閾値より大きい仮想立体物領域を前記平面上の立体物として検知し、前記合計値が前記閾値以下である仮想立体物領域を前記平面上の立体物として検知しないことを特徴とする請求項４記載の立体物検知装置。
【請求項６】
前記測距データと異なる測距タイミングの他の測距データを含む基準画像が取得され、
前記他の測距データは、前記立体物検知装置から前記平面までの測距値であり、
前記仮想立体物領域は、前記距離画像において前記測距データが前記他の基準測距データより小さい領域であることを特徴とする請求項５記載の立体物検知装置。
【請求項７】
前記仮想立体物領域を拡張する拡張手段を更に備え、
前記拡張された仮想立体物領域は、前記距離画像において前記測距データが前記他の基準測距データより小さい領域以外の領域を含むことを特徴とする請求項６記載の立体物検知装置。
【請求項８】
前記基準測距データは、最小二乗法を用いて前記測距データを近似したデータであることを特徴とする請求項１乃至７のいずれか１項に記載の立体物検知装置。
【請求項９】
平面を含む被写体を撮像して前記平面上の立体物を検知する立体物検知装置の制御方法であって、
前記立体物検知装置から前記被写体までの測距データを含む距離画像を取得する距離画像取得ステップと、
前記測距データに基づいて前記距離画像の基準測距データを生成する基準測距データ生成ステップと、
前記測距データ及び前記基準測距データを比較した結果に基づいて前記平面上の立体物を検知する検知ステップとを有することを特徴とする立体物検知装置の制御方法。
【請求項１０】
平面を含む被写体を撮像して前記平面上の立体物を検知する立体物検知装置の制御方法をコンピュータに実行させるプログラムであって、
前記立体物検知装置の制御方法は、
前記立体物検知装置から前記被写体までの測距データを含む距離画像を取得する距離画像取得ステップと、
前記測距データに基づいて前記距離画像の基準測距データを生成する基準測距データ生成ステップと、
前記測距データ及び前記基準測距データを比較した結果に基づいて前記平面上の立体物を検知する検知ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物検知装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
被写体までの距離を測定する距離画像センサを備える立体物検知装置が知られている。立体物検知装置は、距離画像センサを用いて机等の平面を撮像し、撮像して得られた画像に基づいて平面上に立体物が置かれているか否かを判別する判別処理を行う（例えば、特許文献１参照）。立体物検知装置では、立体物検知装置の起動時等に予め撮像された画像から得られた上記平面までの測距結果に基づいて基準距離が設定される。立体物検知装置は、例えば、撮像して得られた画像において基準距離より近い測距結果となる被写体を立体物として検知し、検知結果に基づいて平面上に立体物が置かれていると判別する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１２８９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の立体物検知装置では、平面上に立体物が置かれているか否かを正確に判別することができない場合がある。立体物検知装置では、該立体物検知装置の起動時の測距結果に基づいて基準距離が設定されるが、距離画像センサの性能上、距離画像センサから出力される測距結果は測距タイミングに応じて変動することがある。このため、従来の立体物検知装置は、判別処理を実行するタイミングに適した基準距離を設定することができず、平面上に立体物が置かれているか否かを正確に判別することができない。
【０００５】
本発明の目的は、平面上に立体物が置かれているか否かを正確に判別することができる立体物検知装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の立体物検知装置は、平面を含む被写体を撮像して前記平面上の立体物を検知する立体物検知装置であって、前記立体物検知装置から前記被写体までの測距データを含む距離画像を取得する距離画像取得手段と、前記測距データに基づいて前記距離画像の基準測距データを生成する基準測距データ生成手段と、前記測距データ及び前記基準測距データを比較した結果に基づいて前記平面上の立体物を検知する検知手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、平面上に立体物が置かれているか否かを正確に判別することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る立体物検知装置の外観図である。
【図２】図１の立体物検知装置のハードウェア構成を概略的に示すブロック図である。
【図３】図１の立体物検知装置の機能構成を概略的に示すブロック図である。
【図４】図１の立体物検知装置によって実行されるユーザ操作検知処理の手順を示すフローチャートである。
【図５】図１の立体物検知装置によって生成される距離画像を説明するためのである。
【図６】図４のステップＳ１０５の判定を説明するための図である。
【図７】図４のステップＳ１０６の判定を説明するための図である。
【図８】図４のステップＳ１０８の処理を説明するための図である。
【図９】図３の立体物検知装置の機能構成の変形例を示すブロック図である。
【図１０】図４のユーザ操作検知処理の変形例の手順を示すフローチャートである。
【図１１】図１０の処理を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１０】
図１は、本発明の実施の形態に係る立体物検知装置１００の外観図である。なお、本実施の形態では、３次元空間内の位置情報を定義する世界座標系が用いられ、図１のｘ軸、ｙ軸、ｚ軸は世界座標系の座標軸を示す。
【００１１】
図１において、立体物検知装置１００は距離画像センサ１０５及びプロジェクタ１０６を備える。
【００１２】
立体物検知装置１００はプロジェクタ１０６から平面１０１に画像、例えば、ＵＩ画像１０２を投影する。ユーザは自身の手１０３によって平面１０１に投影されたＵＩ画像１０２に対してタップ操作等のユーザ操作を行う。タップ操作は、ユーザがＵＩ画像１０２における各アイテム、例えば、アイテム１０４に指先を接触させる、若しくは近接させる操作（以下、「タッチ」という。）を行い、その後、タッチしたアイテム１０４から指先を離す操作である。ユーザはタップ操作を行ってＵＩ画像１０２における各アイテムを選択可能である。本実施の形態では、ユーザがタッチした位置を検知するタッチセンサ等を平面１０１に設けず、立体物検知装置１００は距離画像センサ１０５から取得した距離画像に基づいて平面１０１上の立体物である手１０３を検知し、また、ユーザ操作を認識する。距離画像は複数の画素で構成され、各画素には距離画像センサ１０５のレンズ中心から被写体までの測距データが設定される。ユーザがアイテム１０４に対してタップ操作を行った場合、立体物検知装置１００はアイテム１０４の色を変化させる。また、ユーザが画像切り替えを指示するアイテム（不図示）に対してタップ操作を行った場合、立体物検知装置１００は平面１０１に投影されるＵＩ画像１０２を他の画像に切り替える。
【００１３】
距離画像センサ１０５は、平面１０１上を撮像可能な位置、例えば、平面１０１の上方に設置される。なお、本実施の形態では、距離画像センサ１０５は平面１０１を上方から眺めた画像が得られる位置に設置されていれば良い。例えば、平面１０１の上方にミラー（不図示）を設置し、ミラーを介して平面１０１上を撮像可能な位置に距離画像センサ１０５を設置しても良い。距離画像センサ１０５は、該距離画像センサ１０５から出力したレーザ光が被写体に反射して戻ってくるまでの時間差（位相差）に基づいて上記被写体までの距離を計測するＴＯＦ方式のセンサであり、予め設定された所定の間隔で平面１０１を撮像する。距離画像センサ１０５は、撮像した画像に基づいて距離画像センサ１０５から被写体までの距離を測定し、測距データを含む距離画像を生成し、上記距離画像を立体物検知装置１００に出力する。距離画像センサ１０５は、距離画像を生成するための撮像を行う際に、環境光や平面１０１上の投影への影響が小さい赤外光を用いる方式、又は視差方式等を利用する。
【００１４】
プロジェクタ１０６は平面１０１にＵＩ画像１０２等を投影可能な位置、例えば、平面１０１の上方に設置される。なお、本実施の形態では、プロジェクタ１０６が平面１０１の上方以外の位置に設置されても良い。平面１０１の上方以外の位置に設置されたプロジェクタ１０６はミラー（不図示）等を利用して投影光を反射させて平面１０１上にＵＩ画像１０２等を投影する。
【００１５】
図２は、図１の立体物検知装置１００のハードウェア構成を概略的に示すブロック図である。
【００１６】
図２において、立体物検知装置１００は、図１の距離画像センサ１０５及びプロジェクタ１０６の他に、制御部２００を備える。制御部２００は距離画像センサ１０５及びプロジェクタ１０６と接続されている。また、制御部２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、及び記憶装置２０４を備える。ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、及び記憶装置２０４はシステムバス２０５を介して互いに接続されている。
【００１７】
制御部２００は立体物検知装置１００全体を制御する。ＣＰＵ２０１はＲＯＭ２０２や記憶装置２０４に格納されたＯＳやプログラムを実行して、各処理の演算や論理判定等を行う。ＲＯＭ２０２はＣＰＵ２０１によって実行されるプログラムや各データを格納する。ＲＡＭ２０３はＣＰＵ２０１の作業領域として、また、各データの一時格納領域として用いられる。記憶装置２０４は、ハードディスクドライブやＵＳＢメモリ等の外部記憶装置であり、プログラムやデータを格納する。
【００１８】
図３は、図１の立体物検知装置１００の機能構成を概略的に示すブロック図である。
【００１９】
図３において、立体物検知装置１００は、距離画像取得部３０１、分割部３０２、近似平面計算部３０３、補間部３０４、基準画像取得部３０５、指先検出部３０６、座標変換部３０７、認識部３０８、及び表示制御部３０９の各機能部を備える。上述した各機能部の処理は、ＣＰＵ２０１がＲＯＭ２０２や記憶装置２０４に格納されたプログラムを実行することによって行われる。
【００２０】
距離画像取得部３０１は予め設定された所定の間隔で距離画像センサ１０５から距離画像を取得し、取得した距離画像をＲＡＭ２０３に記憶する。分割部３０２は距離画像を所定の大きさの複数の分割領域に分割する。近似平面計算部３０３は距離画像に含まれる測距データに基づいて第１の基準測距データを分割領域毎に生成する。第１の基準測距データは、各分割領域の測距データを近似したデータであり、立体物の検知処理における基準距離として用いられる。すなわち、第１の基準測距データは上記測距データと同じ測距タイミングの基準測距データである。また、近似平面計算部３０３は各分割領域における測距データ及び第１の基準測距データの差を算出する。さらに、近似平面計算部３０３は上記差に基づいて各分割領域が立体物の輪郭部に相当する立体物輪郭領域であるか否かを判定する。近似平面計算部３０３は立体物輪郭領域であると判定された複数の分割領域で囲まれた領域を立体物領域として特定する。
【００２１】
基準画像取得部３０５は基準画像を取得する。基準画像は平面１０１に物体等が置かれていない状態の距離画像であり、立体物検知装置１００から平面１０１までの測距値である第２の基準測距データを含む。基準画像は、例えば、工場出荷時に記憶装置２０４に予め格納され、また、平面１０１に物体が置かれていない立体物検知装置１００の起動時に撮像して得られた画像に基づいて生成される。すなわち、第２の基準測距データは上記測距データと異なる測距タイミングの基準測距データである。
【００２２】
補間部３０４は近似平面計算部３０３によって特定された立体物領域に対し後述する補間処理を施す。例えば、補間部３０４は特定された立体物領域のうち、立体物輪郭領域以外の領域を補間する。指先検出部３０６は補間処理を施した立体物領域（以下、「補間後立体物領域」という。）からユーザの指先位置を特定する。本実施の形態では、補間部３０４は、例えば、補間後立体物領域のうち距離画像の外周から最も遠い画素の座標を指先位置として特定する。
【００２３】
座標変換部３０７は上記指先位置を世界座標系に変換する。本実施の形態では、距離画像センサ１０５のレンズ特性及び世界座標系の並進・回転移動パラメータを用いることにより、距離画像における指先位置の座標を世界座標に変換する。認識部３０８は変換した指先位置の座標の軌跡に基づいてユーザ操作を認識する。表示制御部３０９は、ＲＯＭ２０２や記憶装置２０４に記憶された情報を用いて、投影する画像、例えば、ＵＩ画像１０２を生成し、上記ＵＩ画像１０２を平面１０１に投影する。
【００２４】
図４は、図１の立体物検知装置によって実行されるユーザ操作検知処理の手順を示すフローチャートである。
【００２５】
図４の処理は、ＣＰＵ２０１がＲＯＭ２０２や記憶装置２０４に格納されたプログラムを実行することによって行われ、ＣＰＵ２０１が距離画像センサ１０５から距離画像を取得した際に実行される。図４の処理は、距離画像センサ１０５から距離画像を取得する毎に実行され、距離画像センサ１０５から距離画像を取得する周期は、距離画像センサ１０５の撮像映像のフレームレートと一致する。図４の処理では、ユーザ操作の一例として、タップ操作を検知する処理について説明する。
【００２６】
図４において、まず、ＣＰＵ２０１は距離画像センサ１０５から図５（ａ）の距離画像５００を取得する（ステップＳ１０１）（距離画像取得手段）。距離画像５００は平面１０１を示す平面領域５０１及びユーザの手を示す手領域５０２を含む。次いで、ＣＰＵ２０１は取得した距離画像５００を図５（ｂ）に示すように、所定の大きさの複数の分割領域に分割する。分割領域の大きさはユーザによって設定される、若しくは距離画像センサ１０５の傾き等に応じてＣＰＵ２０１によって動的に調整される。次いで、ＣＰＵ２０１は距離画像５００を構成する複数の分割領域の中から一の分割領域を抽出する（ステップＳ１０２）（抽出手段）。次いで、ＣＰＵ２０１は最小二乗法を用いて一の分割領域の測距データを近似した第１の基準測距データを生成する（ステップＳ１０３）（基準測距データ生成手段）。ステップＳ１０３では、例えば、ＣＰＵ２０１は、平面領域の一部である図５（ｂ）の分割領域５０３を抽出すると、分割領域５０３の図６（ａ）の測距データ６０１を近似して、近似平面特性を有する図６（ｂ）の第１の基準測距データ６０２を生成する。次いで、ＣＰＵ２０１は一の分割領域における測距データ及び第１の基準測距データを比較し、比較した結果が予め設定された所定の閾値以下であるか否かを判別する（ステップＳ１０４）。具体的に、ＣＰＵ２０１は、一の分割領域における測距データ及び第１の基準測距データの差を画素単位で算出し、各画素の算出結果の合計値が上記所定の閾値以下であるか否かを判別する。
【００２７】
ステップＳ１０４の判別の結果、比較した結果が所定の閾値以下であるとき、ＣＰＵ２０１は、一の分割領域を立体物輪郭領域ではないと判定する（ステップＳ１０５）。例えば、分割領域５０３において、測距データ６０１における或るｘ座標のｙｚ特性を図６（ｃ）で示し、第１の基準測距データ６０２における図６（ｃ）と同じｘ座標のｙｚ特性を図６（ｄ）で示す。分割領域５０３は平面領域５０１の一部であり、測距データ６０１の特性の変化量が比較的小さいので、例えば、測距データ６０１及び第１の基準測距データ６０２の同じｘ座標のｙｚ特性を比較しても図６（ｅ）に示すように、この差は小さく、また、各画素の算出結果の合計値が所定の閾値以下となる。本実施の形態では、測距データの特性の変化量が比較的小さい分割領域が立体物輪郭領域ではないと判定される。その後、ＣＰＵ２０１はステップＳ１０７の処理を行う。
【００２８】
ステップＳ１０４の判別の結果、比較した結果が所定の閾値より大きいとき、ＣＰＵ２０１は、一の分割領域を立体物輪郭領域であると判定する（ステップＳ１０６）。例えば、平面領域５０１及び手領域５０２の境界を含む図５（ｂ）の分割領域５０４において、図７（ａ）の測距データ７０１における或るｘ座標のｙｚ特性を図７（ｃ）で示し、図７（ｂ）の第１の基準測距データ７０２における図７（ｃ）と同じｘ座標のｙｚ特性を図７（ｄ）で示す。分割領域５０４では、測距データ７０１における一部、具体的に、平面領域５０１及び手領域５０２の境界に相当する特性の変化量が大きい。このため、例えば、測距データ７０１及び第１の基準測距データ７０２の同じｘ座標のｙｚ特性を比較した際、図７（ｅ）に示すように、測距データ７０１及び第１の基準測距データ７０２の差が大きく、各画素の算出結果の合計値が所定の閾値より大きくなる。本実施の形態では、測距データにおける一部の特性の変化量が大きい分割領域が立体物輪郭領域であると判定される。次いで、ＣＰＵ２０１は距離画像５００における全ての分割領域の判定を完了したか否かを判別する（ステップＳ１０７）。
【００２９】
ステップＳ１０７の判別の結果、距離画像５００における何れかの分割領域の判定を完了しないとき、ＣＰＵ２０１はステップＳ１０３の処理に戻る。一方、ステップＳ１０７の判別の結果、距離画像５００における全ての分割領域の判定を完了したとき、ＣＰＵ２０１はステップＳ１０６において立体物輪郭領域と判定された複数の分割領域で囲まれた領域の補間処理を行う（ステップＳ１０８）。本実施の形態では、ＣＰＵ２０１は、測距データ及び第１の基準測距データを比較することで、立体物輪郭領域、例えば、図８（ａ）の分割領域８０１を特定可能であるが、立体物に相当する分割領域であっても測距データ６０１の特性の変化量が比較的小さい分割領域、例えば、図８（ａ）の分割領域８０２を特定することができない。これに対し、本実施の形態では、ＣＰＵ２０１は図８（ｂ）に示すように、分割領域８０２も分割領域に含まれるように補間する。ＣＰＵ２０１は立体物輪郭領域及び補間した領域を含む立体物領域を特定する。これにより、立体物検知装置１００は平面１０１上の立体物であるユーザの手１０３を検知する。次いで、ＣＰＵ２０１は立体物領域８０１における指先位置を特定し（ステップＳ１０９）、上記指先位置を示す座標を世界座標系に変換する（ステップＳ１１０）。次いで、ＣＰＵ２０１は上記指先位置の軌跡に基づいてタップ操作が行われたか否かを判別する（ステップＳ１１１）。ステップＳ１１１では、指先及び平面１０１の距離が所定の距離に近付いてから離れるまでの時間が所定の時間以下であり、且つ指先が平面１０１の水平方向へ移動した量が所定の量以下である場合のみ、ＣＰＵ２０１はタップ操作が行われたと判別する。一方、それ以外の場合、ＣＰＵ２０１はタップ操作が行われないと判別する。なお、ＣＰＵ２０１は、距離画像センサ１０５が撮像した一つの画像だけでなく、連続で撮像した複数の画像から特定された指先位置の軌跡に基づいてステップＳ１１１の処理を行っても良い。
【００３０】
ステップＳ１１１の判別の結果、タップ操作が行われたとき、ＣＰＵ２０１は、上記タップ操作がＵＩ画像１０２におけるアイテム１０４に対するタップ操作であるか否かを判別する（ステップＳ１１２）。
【００３１】
ステップＳ１１２の判別の結果、上記タップ操作がＵＩ画像１０２におけるアイテム１０４に対するタップ操作であるとき、ＣＰＵ２０１は内容を変更したＵＩ画像１０２を平面１０１に投影する（ステップＳ１１３）。例えば、ＣＰＵ２０１はアイテム１０４の色を変更したＵＩ画像１０２を平面１０１に投影する。また、ＣＰＵ２０１はアイテム１０４を点滅させたＵＩ画像１０２を平面１０１に投影する。その後、ＣＰＵ２０１は本処理を終了する。
【００３２】
ステップＳ１１１の判別の結果、タップ操作が行われないとき、又はステップＳ１１２の判別の結果、上記タップ操作がアイテム１０４に対するタップ操作でないとき、ＣＰＵ２０１は本処理を終了する。
【００３３】
上述した図４の処理によれば、測距データに基づいて第１の基準測距データが生成され、距離画像５００に含まれる測距データ及び第１の基準測距データを比較した結果に基づいて平面１０１上の立体物が検知される。すなわち、測距データと同じ測距タイミングの第１の基準測距データが立体物の検知処理における基準距離として設定される。これにより、距離画像センサ１０５から出力される測距データが測距タイミングに応じて変動しても、上記測距データに適した基準距離を設定することができ、平面１０１上に立体物が置かれているか否かを正確に判別することができる。
【００３４】
また、上述した図４の処理では、各分割領域の測距データ及び各分割領域の第１の基準測距データを比較した結果に基づいて平面１０１上の立体物が検知される。これにより、立体物の検知処理の処理対象である測距データを分割して立体物の検知処理における処理負荷を軽減することができる。
【００３５】
さらに、上述した図４の処理では、各画素の差の合計値が所定の閾値より大きい分割領域が平面１０１上の立体物として検知され、上記合計値が所定の閾値以下である分割領域が平面１０１上の立体物として検知されない。これにより、距離画像５００における平面５０１及び手領域５０２等のように測距データにおける一部の特性の変化量が大きい立体物の輪郭部を検知することができ、検知結果に基づいて平面１０１上に立体物が置かれているか否かを判別することができる。
【００３６】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、図示しない可視光センサや赤外センサを平面１０１の上方に設置してもよい。撮像された画像中の肌色領域を可視光センサを用いて抽出することで、立体物領域の検知精度を向上することができる。
【００３７】
また、上述した実施の形態では、肌色領域を抽出する場合、プロジェクタ１０６が投影するＵＩ画像１０２の色調や光量を制限することが好ましい。
【００３８】
さらに、上述した実施の形態では、プロジェクタ１０６の投影周期と可視光センサの撮像周期とを同期させ、ユーザが視認できないレベルで高速に投影及び撮像を交互に行っても良い。これにより、投影光の影響を受けずに肌色領域を抽出することができる。
【００３９】
上述した実施の形態では、距離画像センサ１０５は、被写体までの距離を計測可能なパターン光投影方式のセンサ、赤外光センサ、又はステレオカメラであっても良い。
【００４０】
上述した実施の形態では、平面１０１上において検知される立体物はユーザの手に限られず、ユーザ操作を行うためのスタイラスやロボットアーム等であっても良い。
【００４１】
また、上述した実施の形態では、平面１０１は地面に対して水平な机上に限られず、地面に対して垂直なスクリーン上やホワイトボード上であっても良い。
【００４２】
上述した実施の形態では、距離画像５００における一部の領域に対してのみ、ステップＳ１０３〜Ｓ１０６に相当する処理を行っても良い。
【００４３】
図９は、図３の立体物検知装置１００の機能構成の変形例を示すブロック図である。
【００４４】
図９において、立体物検知装置１００は、図１の距離画像取得部３０１、近似平面計算部３０３、基準画像取得部３０５、指先検出部３０６、座標変換部３０７、認識部３０８、及び表示制御部３０９の他に、仮想立体物領域特定部９０１、仮想立体物領域拡張部９０２の各機能部を備える。上述した各機能部の処理は、ＣＰＵ２０１がＲＯＭ２０２や記憶装置２０４に格納されたプログラムを実行することによって行われる。
【００４５】
仮想立体物領域特定部９０１は距離画像５００における仮想立体物領域を特定する。本実施の形態では、距離画像５００の測距データ及び基準画像に含まれる第２の基準測距データの差を画素単位で算出し、例えば、測距データが第２の基準測距データより小さい画素を抽出し、抽出した画素が隣接する領域を仮想立体物領域と特定する。仮想立体物領域拡張部９０２は、測距データが第２の基準測距データより小さい画素以外の画素であって且つ仮想立体物領域周辺の画素を所定の数仮想立体物領域に加えることで上記仮想立体物領域を拡張する。
【００４６】
図１０は、図４のユーザ操作検知処理の変形例の手順を示すフローチャートである。
【００４７】
図１０の処理も、ＣＰＵ２０１がＲＯＭ２０２や記憶装置２０４に格納されたプログラムを実行することによって行われ、ＣＰＵ２０１が距離画像センサ１０５から距離画像を取得した際に実行される。図１０の処理でも、ユーザ操作の一例として、タップ操作を検知する処理について説明する。
【００４８】
図１０において、ＣＰＵ２０１はステップＳ１０１の処理を行う。次いで、ＣＰＵ２０１は距離画像５００及び基準画像を比較して仮想立体物領域を特定し（ステップＳ２０１）（仮想立体物領域特定手段）、仮想立体物領域を拡張する（ステップＳ２０２）。例えば、ステップＳ２０１において図１１（ａ）の仮想立体物領域１１０１、１１０２が特定された場合、ＣＰＵ２０１はステップＳ２０２において仮想立体物領域１１０１、１１０２をそれぞれ拡張する。例えば、ＣＰＵ２０１は、測距データが第２の基準測距データより小さい画素以外の画素であって且つ仮想立体物領域１１０１周辺の画素を所定の数仮想立体物領域１１０１に加えることで図１１（ｂ）のように仮想立体物領域１１０１を拡張する。ＣＰＵ２０１は仮想立体物領域１１０２に対しても同様の処理を行う。次いで、ＣＰＵ２０１は、最小二乗法を用いて、拡張仮想立体物領域の測距データを近似して第１の基準測距データを生成する（ステップＳ２０３）。次いで、ＣＰＵ２０１は拡張仮想立体物領域における測距データ及び第１の基準測距データを比較し、比較した結果が所定の閾値以下であるか否かを判別する（ステップＳ２０４）。具体的に、ＣＰＵ２０１は、拡張仮想立体物領域における測距データ及び第１の基準測距データの差を画素単位で算出し、各画素の算出結果の合計値が所定の閾値以下であるか否かを判別する。
【００４９】
ステップＳ２０４の判別の結果、比較した結果が所定の閾値以下であるとき、ＣＰＵ２０１は、拡張仮想立体物領域を立体物領域ではないと判定し（ステップＳ２０５）、後述するステップＳ２０７の処理を行う。一方、ステップＳ２０４の判別の結果、比較した結果が所定の閾値より大きいとき、ＣＰＵ２０１は、拡張仮想立体物領域を立体物領域であると判定する（ステップＳ２０６）。ここで、例えば、仮想立体物領域１１０１が平面１０１に投影されたＵＩ画像１０２を指し示すユーザの手領域であるとする。また、仮想立体物領域１１０２が平面１０１に立体物が置かれていないにも関わらず、仮想立体物領域として検出された領域であるとする。このとき、実際に平面１０１上にユーザの手が存在する仮想立体物領域１１０１において測距データ及び第１の基準測距データを比較した結果は、所定の閾値より大きくなり、仮想立体物領域１１０１は立体物領域であると判定される。一方、実際には平面１０１に立体物が存在しない仮想立体物領域１１０２において測距データ及び第１の基準測距データを比較した結果は、所定の閾値以下となり、仮想立体物領域１１０２は立体物領域でないと判定される。このようにして、本実施の形態では、仮想立体物領域１１０１、１１０２のうち、図１１（ｃ）に示すように、仮想立体物領域１１０１のみが立体物領域として特定され、上記立体物領域が平面１０１上の立体物として検知される。次いで、ＣＰＵ２０１は全ての仮想立体物領域の判定を完了したか否かを判別する（ステップＳ２０７）。
【００５０】
ステップＳ２０７の判別の結果、何れかの仮想立体物領域の判定を完了しないとき、ＣＰＵ２０１はステップＳ２０３の処理に戻る。一方、ステップＳ２０７の判別の結果、全ての仮想立体物領域の判定を完了したとき、ＣＰＵ２０１はステップＳ１０９以降の処理を行う。
【００５１】
上述した図１０の処理では、距離画像５００における各仮想立体物領域の測距データ及び各仮想立体物領域の第１の基準測距データを比較した結果に基づいて平面１０１上の立体物が検知される。すなわち、距離画像５００の一部の領域に対してのみ立体物の検知処理が行われる。これにより、距離画像５００における全ての領域に対して立体物の検知処理を行う場合より立体物の検知処理における処理負荷を軽減することができる。
【００５２】
また、上述した図１０の処理では、仮想立体物領域において、測距データ及び第１の基準測距データの差が画素単位で算出され、各画素の差の合計値が所定の閾値より大きい仮想立体物領域が平面１０１上の立体物として検知される。また、上記合計値が上記閾値以下である仮想立体物領域が平面１０１上の立体物として検知されない。これにより、仮想立体物領域として特定された領域が実際に立体物領域であるか否かを判別して平面１０１上に立体物が置かれているか否かを正確に判別することができる。
【００５３】
上述した図１０の処理では、仮想立体物領域は距離画像５００において測距データが第２の基準測距データより小さい領域である。すなわち、仮想立体物領域は平面１０１に立体物が置かれていると想定される領域である。これにより、平面１０１に立体物が置かれていると想定される領域のみに立体物の検知処理を行うことができ、もって、立体物の検知処理を効率的に行うことができる。
【００５４】
また、上述した図１０の処理では、拡張仮想立体物領域は、距離画像５００において測距データが第２の基準測距データより小さい領域以外の領域を含む。すなわち、拡張仮想立体物領域には平面１０１を撮像した画素と立体物を撮像した画素の両方が含まれる。これにより、平面１０１に立体物が置かれていた場合の各仮想立体物領域の測距データ及び各仮想立体物領域の第１の基準測距データの差をより顕著にして立体物を検知し易くすることができる。
【００５５】
上述した図１０の処理では、ステップＳ１０９以降の処理を行う際、そのままのサイズの立体物領域ではなく、ステップＳ２０２の処理において拡張した分を元に戻したサイズの立体物領域を用いても良い。
【００５６】
また、上述した図１０の処理では、距離画像５００の測距データ及び基準画像に含まれる第２の基準測距データの差を画素単位で算出し、差が所定の閾値以上である画素を抽出し、抽出した画素が隣接する領域を仮想立体物領域として特定しても良い。
【００５７】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
１００  立体物検知装置
１０１  平面
１０３  手
５００  距離画像
５０３、５０４  分割領域
６０１、７０１  測距データ
６０２、７０２  第１の基準測距データ
１１０１、１１０２  仮想立体物領域
【図１】
2019087022.tif 000003
【図２】
2019087022.tif 000004
【図３】
2019087022.tif 000005
【図４】
2019087022.tif 000006
【図５】
2019087022.tif 000007
【図６】
2019087022.tif 000008
【図７】
2019087022.tif 000009
【図８】
2019087022.tif 000010
【図９】
2019087022.tif 000011
【図１０】
2019087022.tif 000012
【図１１】
2019087022.tif 000013