(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20240814BHJP
【FI】
G06T7/20 300A
(21)【出願番号】P 2022101126
(22)【出願日】2022-06-23
【審査請求日】2023-06-07
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】井上 聖
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2017-084319(JP,A)
【文献】特開2018-107642(JP,A)
【文献】特開2011-175347(JP,A)
【文献】特開2022-081808(JP,A)
【文献】特開2015-042241(JP,A)
【文献】米国特許出願公開第2014/0140613(US,A1)
【文献】中国特許出願公開第109272513(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
被写体を撮影して
色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出す
る処理部
を備え、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記処理部は、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する、
情報処理装置。
【請求項2】
前記処理部は、前記深度画像のうち前記第1領域に対応する画素の深度情報に基づいて前記第1深度条件を決定する、請求項
1に記載の情報処理装置。
【請求項3】
前記第2深度条件は、画素の深度が、前記第3領域に対応する画素の深度の代表値を含む所定範囲に入っていること、である、請求項
1に記載の情報処理装置。
【請求項4】
前記処理部は、前記深度画像のうち前記第3領域に対応する領域の大きさに基づいて前記所定範囲の幅を決定する、請求項
3に記載の情報処理装置。
【請求項5】
前記処理部は、前記重複範囲のうち、前記第3領域と、前記第4領域に対応する領域のうち前記第3領域と一繋がりである部分と、を含む領域を前記検出対象として検出する、
請求項
1に記載の情報処理装置。
【請求項6】
前記処理部は、
前記カラー画像のうち前記第3領域に対応する画素の色情報に基づいて第2色条件を決定し、
前記深度画像の前記第2領域のうち、前記カラー画像において画素の色情報が前記第2色条件を満たす領域と対応する第5領域を特定し、
前記重複範囲のうち、前記第3領域と、前記深度画像の前記第5領域に対応する領域と、を含む領域を前記検出対象として検出する、
請求項
1~5のいずれか一項に記載の情報処理装置。
【請求項7】
前記処理部は、前記重複範囲のうち、前記第3領域と、前記第5領域に対応する領域のうち前記第3領域と一繋がりである部分と、を含む領域を前記検出対象として検出する、
請求項
6に記載の情報処理装置。
【請求項8】
情報処理装置のコンピュータが実行する情報処理方法であって、
被写体を撮影して
色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少
なくとも一部である検出対象を検出する
検出工程を備え、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記検出工程では、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する、
情報処理方法。
【請求項9】
情報処理装置のコンピュータに、
被写体を撮影して
色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得する処理
と、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少
なくとも一部である検出対象を検出する
検出処理と、を実行させるプログラムであって、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記検出処理では、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、操作者のジェスチャーを検出し、検出されたジェスチャーに応じて機器の動作を制御する技術がある。この技術では、操作者の体のうちジェスチャーを行う特定の一部(例えば、手)を検出する必要がある。操作者の体の一部を検出する方法の一つとして、操作者を撮影した画像の色を解析する方法が知られている。例えば、特許文献1には、操作者を撮影した画像において、色相、彩度及び明度の各々について閾値処理を行うことで肌の色の領域を抽出し、抽出された領域を手の領域とみなす技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、画像における手などの検出対象の色は、照明の色や輝度、及び光源との位置関係による陰のでき方などによって変化するため、色相、彩度及び明度といった色を指定するパラメータの閾値を一律に定めた閾値処理では検出漏れが生じやすい。また、操作者の背景の色が検出対象の色となっている場合には、背景が検出対象として誤検出されてしまう。このように、画像の色情報のみでは検出対象を精度よく検出することができないという課題がある。
【0005】
この発明の目的は、より高精度に検出対象を検出することができる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理装置は、
被写体を撮影して色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する処理部を備え、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記処理部は、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する。
【0007】
上記課題を解決するため、本発明に係る情報処理方法は、
被写体を撮影して色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する検出工程を備え、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記検出工程では、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する。
【0008】
上記課題を解決するため、本発明に係るプログラムは、
情報処理装置のコンピュータに、
被写体を撮影して色情報を含むカラー画像と、深度情報を含む深度画像とを複数取得する処理と、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する検出処理と、を実行させるプログラムであって、
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記検出処理では、
前記カラー画像のうち、画素の色情報が前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を特定し、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する。
【発明の効果】
【0009】
本発明によれば、より高精度に検出対象を検出することができる。
【図面の簡単な説明】
【0010】
【
図1】情報処理システムの構成を示す模式図である。
【
図2】カラーカメラによるカラー画像の撮影範囲、及び深度カメラによる深度画像の撮影範囲を示す図である。
【
図3】情報処理装置の機能構成を示すブロック図である。
【
図4】機器制御処理の制御手順を示すフローチャートである。
【
図5】手検出処理の制御手順を示すフローチャートである。
【
図6】手検出処理における第1領域~第3領域の特定方法を説明する図である。
【
図7】手検出処理における第4領域の追加動作を説明する図である。
【
図8】手検出処理における第5領域の追加動作を説明する図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に基づいて説明する。
【0012】
<情報処理システムの概要>
図1は、本実施形態の情報処理システム1の構成を示す模式図である。
情報処理システム1は、情報処理装置10と、撮影装置20と、プロジェクタ80とを備える。情報処理装置10は、無線又は有線により撮影装置20及びプロジェクタ80と通信接続されており、撮影装置20及びプロジェクタ80との間で、制御信号や画像データ等のデータの送受信を行うことが可能となっている。
【0013】
情報処理システム1の情報処理装置10は、操作者70(被写体)が手71(検出対象)によって行うジェスチャーを検出し、検出したジェスチャーに応じてプロジェクタ80の動作(画像の投影動作や、各種設定を変更する動作等)を制御する。詳しくは、撮影装置20は、撮影装置20の正面に位置する操作者70を撮影して、撮影画像の画像データを情報処理装置10に送信する。情報処理装置10は、撮影装置20から受信した画像データを解析して、操作者70が、手71によって所定のジェスチャーを行ったか否かを判別する。情報処理装置10は、操作者70が、手71によって所定のジェスチャーを行ったと判別すると、制御信号をプロジェクタ80に送信し、検出したジェスチャーに応じた動作を行うようにプロジェクタ80を制御する。これにより、例えば、操作者70が手71を右側に動かすジェスチャーを行うことで、プロジェクタ80が投影している画像Imを次の画像Imに切り替え、手71を左側に動かすジェスチャーを行うことで、画像Imを1つ前の画像Imに切り替える、といった直感的な操作が可能となる。
【0014】
<情報処理システムの構成>
情報処理システム1の撮影装置20は、カラーカメラ30及び深度カメラ40を備える。
カラーカメラ30は、操作者70及びその背景を含む撮影範囲を撮影して、撮影範囲の二次元のカラー画像に係るカラー画像データ132(
図3参照)を生成する。カラー画像データ132の各画素は、色情報を含む。本実施形態では、色情報は、R(赤)、G(緑)、及びB(青)についての階調値の組み合わせである。カラーカメラ30は、例えば、画素ごとに、R、G、Bのカラーフィルタを透過した光の強度をそれぞれ検出する撮像素子(CCDセンサ又はCMOSセンサ等)を有し、これらの撮像素子の出力に基づいて1つの画素の色情報を生成する。ただし、カラーカメラ30の構成は、各画素の色情報を含むカラー画像データ132を生成可能なものであれば、上記の構成に限定されない。また、カラー画像データ132の色情報の表現形式はRGB系に限られない。
【0015】
深度カメラ40は、操作者70及びその背景を含む撮影範囲を撮影して、撮影範囲の深度情報を含む深度画像に係る深度画像データ133(
図3参照)を生成する。深度画像は、各画素が、操作者70及び背景の構造物(以下、「測距対象物」と記す)の奥行き(深度カメラ40から測距対象物までの距離)に係る深度情報を含む。深度カメラ40としては、例えば、TOF(Time Of Flight)方式で距離を検出するもの、又はステレオ方式で距離を検出するものなどを用いることができる。このうちTOF方式では、光源から照射された光が測距対象物で反射して深度カメラ40に戻ってくるまでの時間に基づいて測距対象物との距離を検出する。また、ステレオ方式では、異なる位置に設けられた2つのカメラで測距対象物を撮影し、各カメラによる撮影画像における測距対象物の位置の差分(視差)に基づいて、三角測量法の原理により測距対象物との距離を検出する。ただし、深度カメラ40による距離の検出方式は、TOF方式及びステレオ方式に限られない。
【0016】
撮影装置20のカラーカメラ30及び深度カメラ40は、撮影装置20の正面に位置する操作者70を所定のフレームレートで連続して撮影する。
図1に示す撮影装置20では、カラーカメラ30及び深度カメラ40が一体的に設けられているが、各カメラが操作者70を撮影可能であれば、この構成に限定されない。例えば、カラーカメラ30及び深度カメラ40が別個となっている構成であってもよい。
【0017】
図2は、カラーカメラ30によるカラー画像31の撮影範囲、及び深度カメラ40による深度画像41の撮影範囲を示す図である。
カラーカメラ30及び深度カメラ40は、撮影範囲(画角)が等しいことが好ましい。ただし、
図2に示すように、カラーカメラ30によるカラー画像31の撮影範囲と、深度カメラ40による深度画像41の撮影範囲とがずれていてもよく、撮影範囲が重複する部分(以下、「重複範囲51」と記す)を有していればよい。すなわち、カラーカメラ30及び深度カメラ40は、カラー画像31及び深度画像41の撮影範囲が重複する重複範囲51において操作者70を撮影可能となるように位置関係及び向きが定められていればよい。本実施形態では、カラー画像31及び深度画像41が、「被写体を撮影して得られた画像」に相当する。
【0018】
後述する手71の検出処理を可能とするために、重複範囲51において、カラー画像31の画素と、深度画像41の画素との対応付けがなされている。すなわち、重複範囲51において、カラー画像31の各画素に対応する深度画像41の画素を特定可能であり、深度画像41の各画素に対応するカラー画像31の画素を特定可能である。画素の対応付けは、同時に(撮影のフレーム周期以下のずれが生じている場合を含む)撮影されたカラー画像31及び深度画像41に基づいて、公知の画像解析技術により対応点を特定することにより行ってもよいし、カラーカメラ30及び深度カメラ40の位置関係及び向きに基づいて予め対応付けを行ってもよい。また、カラー画像31の1つの画素に対して深度画像41の2以上の画素が対応していてもよく、深度画像41の1つの画素に対してカラー画像31の2以上の画素が対応していてもよい。よって、カラーカメラ30及び深度カメラ40の解像度は、必ずしも一致していなくてもよい。
また、後述する第1マスク画像61~第5マスク画像65は、重複範囲51を含む大きさで生成される。
本実施形態では、カラー画像31及び深度画像41の撮影範囲が同一となるようにカラーカメラ30及び深度カメラ40の位置関係及び向きが調整されている場合を例に挙げて説明する。よって、カラー画像31及び深度画像41の全体が重複範囲51となっているものとする。また、カラーカメラ30及び深度カメラ40の解像度が同一であり、カラー画像31の画素と深度画像41の画素とが1対1に対応付けられているものとする。よって、本実施形態では、後述する第1マスク画像61~第5マスク画像65は、カラー画像31及び深度画像41と同一の解像度及び大きさの画像である。
【0019】
図3は、情報処理装置10の機能構成を示すブロック図である。
情報処理装置10は、CPU11(Central Processing Unit)と、RAM12(Random Access Memory)と、記憶部13と、操作部14と、表示部15と、通信部16と、バス17などを備える。情報処理装置10の各部は、バス17を介して接続されている。情報処理装置10は、本実施形態ではノートPCであるが、これに限られず、例えば据置型のPC、スマートフォン、又はタブレット型端末などであってもよい。
【0020】
CPU11は、記憶部13に記憶されているプログラム131を読み出して実行し、各種演算処理を行うことで、情報処理装置10の動作を制御するプロセッサである。CPU11は、「処理部」に相当する。なお、情報処理装置10は、複数のプロセッサ(複数のCPU等)を有していてもよく、本実施形態のCPU11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合には、複数のプロセッサが「処理部」に相当する。また、この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0021】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0022】
記憶部13は、コンピュータとしてのCPU11により読み取り可能な非一時的な記録媒体であり、プログラム131及び各種データを記憶する。記憶部13は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを含む。プログラム131は、コンピュータが読み取り可能なプログラムコードの形態で記憶部13に格納されている。記憶部13に記憶されるデータとしては、撮影装置20から受信したカラー画像データ132及び深度画像データ133、並びに、後述する手検出処理で生成される第1マスク画像61~第5マスク画像65に係るマスク画像データ134などがある。
【0023】
操作部14は、表示部15の表示画面に重ねられて設けられたタッチパネル、物理ボタン、マウスなどのポインティングデバイス、及びキーボードなどの入力装置のうち少なくとも1つを有し、入力装置に対する入力操作に応じた操作情報をCPU11に出力する。
【0024】
表示部15は、液晶ディスプレイなどの表示装置を備え、CPU11からの表示制御信号に従って表示装置において各種表示を行う。
【0025】
通信部16は、ネットワークカード又は通信モジュール等により構成され、撮影装置20及びプロジェクタ80との間で所定の通信規格に従ってデータの送受信を行う。
【0026】
図1に示すプロジェクタ80は、投影画像の画像データに応じた強度分布の投影光を高指向性で照射することにより、投影面に画像Imを投影(形成)する。詳しくは、プロジェクタ80は、光源と、当該光源から出力された光の強度分布を調整して光像を形成するデジタルマイクロミラー素子(DMD)等の表示素子と、表示素子が形成した光像を集光して画像Imとして投影する投影レンズ群などを備える。プロジェクタ80は、撮影装置20から送信される制御信号に従って、投影する画像Imを変更したり、投影態様に係る設定(明るさ、色合い等)を変更したりする。
【0027】
<情報処理システムの動作>
次に、情報処理システム1の動作について説明する。
情報処理装置10のCPU11は、或る期間に亘ってカラーカメラ30が撮影した複数のカラー画像31(カラー画像データ132)と、上記或る期間に亘って深度カメラ40が撮影した複数の深度画像41とを解析して、各画像に映っている操作者70が、手71(手首から先の部分)によって所定のジェスチャーを行ったか否かを判別する。CPU11は、操作者70の手71によってジェスチャーが行われたと判別すると、検出したジェスチャーに応じた動作をプロジェクタ80に行わせるための制御信号をプロジェクタ80に送信する。
【0028】
ここで、手71によるジェスチャーは、例えば、操作者70から見て手71を或る方向(右方向、左方向、下方向、及び上方向等)に動かしたり、所定の形状の軌跡(円形等)を描くように手71を動かしたりする動作などである。これらの各ジェスチャーには、プロジェクタ80の1つの動作が予め対応付けられている。例えば、手71を右方向に動かすジェスチャーに、投影されている画像Imを次の画像Imに切り替える動作を対応付け、手71を左方向に動かすジェスチャーに、投影されている画像Imを1つ前の画像Imに切り替える動作を対応付けてもよい。この場合には、手71を右方向/左方向に動かすジェスチャーを行うことで、投影画像を次の画像/前の画像に切り替えることができる。これらはジェスチャーとプロジェクタ80の動作との対応付けの一例であり、任意のジェスチャーに、プロジェクタ80の任意の動作を対応付けることができる。また、操作部14に対するユーザ操作に応じて、ジェスチャーとプロジェクタ80の動作との対応付けを変更したり、新たな対応付けを生成したりすることが可能であってもよい。
【0029】
このように操作者70の手71のジェスチャーによりプロジェクタ80を操作する場合には、撮影装置20が撮影した画像において手71を正確に検出することが重要となる。手71を正しく検出できなければ、ジェスチャーを正しく認識することができず、操作性が激しく低下するためである。
【0030】
従来、操作者70を撮影した画像の色を解析することで、画像に映っている手71を検出する方法が知られている。しかしながら、画像における手71の色は、照明の色や輝度、及び光源との位置関係による陰のでき方などによって変化するため、色情報のみを用いると検出漏れが生じやすい。また、操作者70の背景の色が手71の色に近い場合には、背景が手71として誤検出されてしまう。このように、画像の色情報のみでは手71を精度よく検出することができない。
【0031】
そこで、本実施形態の情報処理システム1では、カラー画像31に加えて深度画像41を用いることで、手71の検出精度を高めている。詳しくは、情報処理装置10のCPU11は、カラー画像31の画素の色情報を取得し、深度画像41の画素の深度情報を取得し、これらの色情報及び深度情報に基づいて、カラー画像31及び深度画像41に共通して含まれる、操作者70の手71を検出する。
【0032】
以下、
図4~
図8を参照して、情報処理装置10のCPU11が、操作者70のジェスチャーを検出してプロジェクタ80の動作を制御する動作について説明する。CPU11は、上記動作を実現するために、
図4に示す機器制御処理、及び
図5に示す手検出処理を実行する。
【0033】
図4は、機器制御処理の制御手順を示すフローチャートである。
機器制御処理は、例えば、情報処理装置10、撮影装置20及びプロジェクタ80の電源が投入され、プロジェクタ80を操作するためのジェスチャーの受け付けが開始された場合に実行される。
【0034】
機器制御処理が開始されると、CPU11は、撮影装置20に制御信号を送信して、カラーカメラ30及び深度カメラ40による撮影を開始させる(ステップS101)。撮影が開始されると、CPU11は、手検出処理を実行する(ステップS102)。
【0035】
図5は、手検出処理の制御手順を示すフローチャートである。
図6は、手検出処理における第1領域R1~第3領域R3の特定方法を説明する図である。
手検出処理が開始されると、CPU11は、カラーカメラ30により撮影されたカラー画像31のカラー画像データ132、及び、深度カメラ40により撮影された深度画像41の深度画像データ133を取得する(ステップS201)。
図6の上段左側に、操作者70を撮影したカラー画像31の例が示されている。
図6のカラー画像31では、操作者70の背景は省略されている。
図6の上段右側に、操作者70を撮影した深度画像41の例が示されている。
図6の深度画像41では、深度カメラ40から測距対象物までの距離が、濃度によって表されている。詳しくは、深度カメラ40から測距対象物までの距離が遠い画素ほど濃くなるように描かれている。
【0036】
CPU11は、カラー画像31及び深度画像41の重複範囲51において、カラー画像31の画素と、深度画像41の画素とを対応付ける(ステップS202)。ここでは、例えば、カラー画像31及び深度画像41に対して所定の画像解析処理を行って対応点を特定する方法などを用いることができる。ただし、カラーカメラ30及び深度カメラ40の位置関係及び向き等に基づいて予め画素の対応付けがなされている場合には、本ステップは省略することができる。本実施形態では、上述のとおり、カラー画像31及び深度画像41の解像度及び撮影範囲が同一であり(すなわち、カラー画像31及び深度画像41の全体が重複範囲51となっており)、予めカラー画像31及び深度画像41の画素が1対1に対応付けられているため、本ステップは省略される。
【0037】
CPU11は、カラー画像31の色情報を、RGB系からHSV系に変換する(ステップS203)。HSV系では、色相(H)、彩度(S)及び明度(V)の3つの成分で表される色空間において色が表される。HSV系を用いることで、肌の色を特定した閾値処理が容易になる。肌の色は、主に色相に反映されるためである。なお、HSV系以外の表色系に変換してもよい。また、本ステップを省略し、RGB系のままで以降の処理を実行してもよい。
【0038】
CPU11は、カラー画像31のうち、画素の色情報が、手71の色(肌の色)に係る第1色条件を満たす第1領域R1を特定する(ステップS204)。ここで、第1色条件は、画素の色情報が、HSV系において肌の色を含む第1色範囲に入っている場合に満たされる。第1色範囲は、色相、彩度及び明度の各上限値及び下限値(閾値)によって表され、機器制御処理の開始前に予め定められて記憶部13に記憶されている。なお、第1色範囲はユーザが任意に設定可能である。ステップS204では、CPU11は、カラー画像31の各画素に対し、当該画素の色情報により表される色(色相、彩度及び明度)が第1色範囲に入っているか否かを判別する閾値処理を実行する。そして、色情報により表される色が第1色範囲に入っている画素からなる領域を、第1領域R1として特定する。また、CPU11は、第1領域R1に対応する画素の画素値を「1」とし、第1領域R1以外の領域に対応する画素の画素値を「0」とした、2値の第1マスク画像61を生成する。第1マスク画像61は、重複範囲51に対応する大きさで生成され、その画像データは、記憶部13のマスク画像データ134に記憶される(後述する第2マスク画像62~第5マスク画像65についても同様)。
【0039】
図6の中段左側には、カラー画像31に基づいて生成された第1マスク画像61が示されている。
図6の第1マスク画像61では、画素値が「1」となっている画素が白色で表され、画素値が「0」となっている画素が黒色で表されている(後述する第2マスク画像62~第5マスク画像65についても同様)。第1マスク画像61では、カラー画像31において肌の色となっている顔及び手71の部分の画素値が「1」となる。また、顔及び手71以外の部分の画素値が「0」となる。
【0040】
図5のステップS204が終了すると、CPU11は、深度画像41のうち、画素の深度情報が、手71の奥行きに係る第1深度条件を満たす第2領域R2を特定する(ステップS205)。ここで、第2深度条件は、画素の深度情報により表される深度(深度カメラ40からの距離)が、予め定められた第1深度範囲に入っている場合に満たされる。第1深度範囲は、ジェスチャーを行う操作者70の手71が通常位置する深度範囲が含まれるように定められ、上限値及び下限値(閾値)によって表される。一例を挙げると、第1深度範囲は、深度カメラ40から50cm以上かつ1m以下といった値に設定することができる。第1深度範囲は、予め定められて記憶部13に記憶されている。なお、第1深度範囲はユーザが任意に設定可能である。ステップS204では、CPU11は、深度画像41の各画素に対し、当該画素の深度情報により表される深度が第1深度範囲に入っているか否かを判別する閾値処理を実行する。そして、深度情報により表される深度が第1深度範囲に入っている画素からなる領域を、第2領域R2として特定する。また、CPU11は、第2領域R2に対応する画素の画素値を「1」とし、第2領域R2以外の領域に対応する画素の画素値を「0」とした、2値の第2マスク画像62を生成する。第1マスク画像61の画素と第2マスク画像62の画素とは1対1に対応する。
【0041】
図6の中段右側には、深度画像41に基づいて生成された第2マスク画像62が示されている。
図6に示す第2マスク画像62では、深度画像41における手71のうち親指の部分を除いた一部、及び手首(服の袖の一部)の部分に相当する画素の画素値が「1」となっており、他の部分の画素の画素値が「0」となっている。
【0042】
なお、第1深度条件は、深度画像41のうち、ステップS204で特定された第1領域R1に対応する画素の深度情報に基づいてCPU11が決定してもよい。例えば、第1領域R1のうち最も面積の大きい領域を特定し、深度画像41のうち当該領域と対応する領域の深度の代表値(平均値又は中央値等)を中心とする所定幅の深度範囲を、第1深度範囲としてもよい。
【0043】
図5のステップS205が終了すると、CPU11は、第1領域R1及び第2領域R2のいずれにも重なる第3領域R3があるか否かを判別する(ステップS206)。すなわち、CPU11は、第1マスク画像61及び第2マスク画像62の対応する画素同士がいずれも「1」となっている領域があるか否かを判別する。第3領域R3があると判別された場合には(ステップS206で“YES”)、CPU11は、第3領域R3を表す第3マスク画像63を生成する(ステップS207)。
【0044】
図6の下段には、中段の第1マスク画像61及び第2マスク画像62に基づいて生成された第3マスク画像63が示されている。第3マスク画像63の各画素の画素値は、第1マスク画像61の対応する画素の画素値と、第2マスク画像62の対応する画素の画素値との論理積を取ったものに相当する。すなわち、第1マスク画像61及び第2マスク画像62において対応する画素がいずれも「1」である画素の画素値が「1」となっており、第1マスク画像61及び第2マスク画像62のうち少なくとも一方が「0」である画素の画素値が「0」となっている。よって、第3領域R3は、手71のうち親指に相当する部分を除いた一部に相当する。
この段階では、第3領域R3が、操作者70の手71に相当する領域(以下「手領域」と記す)として検出される。
【0045】
図5のステップS207が終了すると、CPU11は、モルフォロジー変換等の公知のノイズ除去処理により第3マスク画像63のノイズを除去する(ステップS208)。なお、上述の第1マスク画像61及び第2マスク画像62、並びに後述する第4マスク画像64及び第5マスク画像65に対しても同様のノイズ除去処理を行ってもよい。
【0046】
続くステップS209~S211では、CPU11は、カラー画像31(第1マスク画像61)の第1領域R1の中から、深度が、第3領域R3の深度に係る第2深度範囲に入っている第4領域R4を特定し、第4領域R4を手領域に追加(補完)する。
【0047】
詳しくは、まず、CPU11は、深度画像41のうち第3領域R3に対応する画素の深度情報に基づいて第2深度条件を決定する(ステップS209)。第2深度条件は、画素の深度が、第3領域R3に対応する画素の深度の代表値(例えば、平均値又は中央値)を含む第2深度範囲(所定範囲)に入っていること、とすることができる。例えば、第2深度範囲は、上記の代表値をDとして、D±dの範囲内とすることができる。ここで、値dは、例えば10cmとすることができる。大人の手71の大きさが20cm程度であるため、値dを10cmとすることで、第2深度範囲の幅(2d)を、大人の手71の大きさ程度とすることができ、手71が位置する範囲を適切にカバーすることができる。
【0048】
なお、第2深度範囲の幅(2d)を、深度画像41のうち第3領域R3に対応する領域の大きさ(例えば、最大幅)に基づいて決定してもよい。詳しくは、第3領域R3に対応する画素の深度の代表値と、深度画像41上で第3領域R3に対応する領域の大きさ(画素数)とから、第3領域R3の実際の大きさ(手71の大きさに相当)を導出し、導出された値を第2深度範囲の幅(2d)としてもよい。
【0049】
次に、CPU11は、第1領域R1に、深度が第2深度条件を満たす第4領域R4があるか否かを判別する(ステップS210)。詳しくは、CPU11は、カラー画像31(第1マスク画像61)の第1領域R1のうち、深度画像41において画素の深度情報が第2深度条件を満たす領域と対応する第4領域R4があるか否かを判別する。ここでは、CPU11は、カラー画像31の第1領域R1のうち或る画素について、対応する深度画像41の画素の深度が第2深度条件を満たす場合に、第1領域R1の上記或る画素が第4領域R4に属すると判別する。
【0050】
第1領域R1に第4領域R4があると判別された場合には(ステップS210で“YES”)、CPU11は、この時点における手領域(第3マスク画像63における第3領域R3)に第4領域R4を追加した第4マスク画像64を生成する(ステップS211)。
この段階では、重複範囲51(第4マスク画像64の範囲)のうち、第3領域R3及び第4領域R4を含む領域が、操作者70の手71に相当する領域(手領域)として検出される。
【0051】
図7は、手検出処理における第4領域R4の追加動作を説明する図である。
図7の左側の上段には深度画像41が示されており、深度画像41のうち第3領域R3に対応する画素の範囲にハッチングが付されている。上記のステップS209では、このハッチングが付された範囲内の画素の深度情報に基づいて第2深度条件が決定される。第2深度条件が決定されると、
図7の左側の下段に示す第1マスク画像61の第1領域R1のうち、対応する画素の深度が第2深度条件を満たす第4領域R4が抽出される。
図7の第1マスク画像61では、抽出された第4領域R4にハッチングが付されている。
図7に示す例では、第1領域R1のうち、第3領域R3と深度が近似する手71の領域が第4領域R4として抽出され、第3領域R3と深度が近似しない顔の領域は、第4領域R4として抽出されない。第4領域R4が抽出されると、
図7の右側の上段に示す第3マスク画像63の第3領域R3と、第1マスク画像61の第4領域R4との論理和に相当する第4マスク画像64(
図7の右側の下段の画像)が生成される。第4マスク画像64では、第3領域R3において欠けていた親指に相当する部分が第4領域R4から追加され、手領域が実際の手71の領域に近付いていることが分かる。
【0052】
図7では、第4領域R4の全体が、第3領域R3と重ねたときに第3領域R3と一繋がりとなっているが、第4領域R4に、第3領域R3と一繋がりとならない部分がある場合には、第4領域R4のうち第3領域R3と一繋がりとなる部分を手領域として追加してもよい。
また、
図7では、第4領域R4の全体が一繋がりとなっているが、第4領域R4が複数の領域に分かれている場合には、複数の領域のうち最も面積の大きい領域のみを第3領域R3に追加して手領域としてもよい。
【0053】
図5に戻り、ステップS211が終了した場合、又は、ステップS210において第4領域R4がないと判別された場合には(ステップS210で“NO”)、CPU11は、ステップS212~S214において、深度画像41(第2マスク画像62)の第2領域R2の中から、色が、第3領域R3の色に係る第2色範囲に入っている第5領域R5を特定し、第5領域R5を手領域に追加(補完)する。
【0054】
詳しくは、まず、CPU11は、カラー画像31のうち第3領域R3に対応する画素の色情報に基づいて第2色条件を決定する(ステップS212)。第2色条件は、画素の色が、第3領域R3に対応する画素の色の代表色を含む第2色範囲に入っていること、とすることができる。第2色範囲は、例えば、上記の代表色の色相をH、彩度をS、明度をVとして、色相がH±hの範囲内、再度がS±sの範囲内、明度がV±vの範囲内となる範囲とすることができる。値H、値S及び値Vは、それぞれ、第3領域R3に対応する画素の色相の代表値(平均値又は中央値等)、彩度の代表値(平均値又は中央値等)、及び明度の代表値(平均値又は中央値等)とすることができる。また、値h、値s及び値vは、人による手71の色のばらつき等に基づいて設定することができる。
【0055】
次に、CPU11は、第2領域R2に、色が第2色条件を満たす第5領域R5があるか否かを判別する(ステップS213)。詳しくは、CPU11は、深度画像41(第2マスク画像62)の第2領域R2のうち、カラー画像31において画素の色情報が第2色条件を満たす領域と対応する第5領域R5があるか否かを判別する。ここでは、CPU11は、深度画像41の第2領域R2のうち或る画素について、対応するカラー画像31の画素の色度が第2色条件を満たす場合に、第2領域R2の上記或る画素が第5領域R5に属すると判別する。
【0056】
第2領域R2に第5領域R5があると判別された場合には(ステップS213で“YES”)、CPU11は、この時点における手領域(第4マスク画像64が生成されている場合には、第4マスク画像64における第3領域R3及び第4領域R4、第4マスク画像64が生成されていない場合には、第3マスク画像63における第3領域R3)に第5領域R5を追加した第5マスク画像65を生成する(ステップS214)。
この段階では、重複範囲51(第5マスク画像65の範囲)のうち、第3領域R3、第4領域R4及び第5領域R5を含む領域(第4マスク画像64が生成されていない場合には、第3領域R3及び第5領域R5を含む領域)が、操作者70の手71に相当する領域(手領域)として検出される。
【0057】
図8は、手検出処理における第5領域R5の追加動作を説明する図である。
図8の左側の上段にはカラー画像31が示されており、カラー画像31のうち第3領域R3に対応する画素の範囲にハッチングが付されている。上記のステップS212では、このハッチングが付された範囲内の画素の色情報に基づいて第2色条件が決定される。第2色条件が決定されると、
図8の左側の下段に示す第2マスク画像62の第2領域R2のうち、対応する画素の色が第2色条件を満たす第5領域R5が抽出される。
図8の第2マスク画像62では、抽出された第5領域R5にハッチングが付されている。
図8に示す例では、第2領域R2のうち、第3領域R3と色が近似する手71の領域が第5領域R5として抽出され、第3領域R3と色が近似しない服の袖の領域は、第5領域R5として抽出されない。第5領域R5が抽出されると、
図8の右側の上段に示す第4マスク画像64の第3領域R3及び第4領域R4と、第2マスク画像62の第5領域R5との論理和に相当する第5マスク画像65(
図8の右側の下段の画像)が生成される。第5マスク画像65では、第3領域R3及び第4領域R4において欠けていた小指の外側に相当する部分が追加され、手領域が実際の手71の領域にさらに近付いていることが分かる。
【0058】
図8では、第5領域R5の全体が、第3領域R3及び第4領域R4と重ねたときに第3領域R3及び第4領域R4と一繋がりとなっているが、第5領域R5に、第3領域R3及び第4領域R4と一繋がりとならない部分がある場合には、第5領域R5のうち第3領域R3及び第4領域R4と一繋がりとなる部分を手領域として追加してもよい。
また、
図8では、第5領域R5の全体が一繋がりとなっているが、第5領域R5が複数の領域に分かれている場合には、複数の領域のうち最も面積の大きい領域のみを第3領域R3及び第4領域R4に追加して手領域としてもよい。
【0059】
なお、第4マスク画像64が生成されていない場合には、
図8において、第4マスク画像64に代えて第3マスク画像63が用いられる。この場合には、第3マスク画像63の第3領域R3と、第2マスク画像62の第5領域R5との論理和に相当する第5マスク画像65が生成される。また、第5領域R5に、第3領域R3と一繋がりとならない部分がある場合には、第5領域R5のうち第3領域R3と一繋がりとなる部分を手領域として追加してもよい。また、第5領域R5が複数の領域に分かれている場合には、複数の領域のうち最も面積の大きい領域のみを手領域に追加してもよい。
【0060】
図5のステップS214が終了した場合、ステップS206において第3領域R3がないと判別された場合には(ステップS206で“NO”)、又は、ステップS213において第5領域がないと判別された場合には(ステップS213で“NO”)、CPU11は、手検出処理を終了させ、処理を機器制御処理に戻す。
なお、ステップS209~S211の、第4領域R4を手領域に追加する処理、及び、ステップS212~S214の、第5領域R5を手領域に追加する処理のうち少なくとも一方を省略してもよい。
【0061】
図4に戻り、手検出処理(ステップS102)が終了すると、CPU11は、手領域を表すマスク画像(以下、「手領域マスク画像」と記す)が生成されたか否かを判別する(ステップS103)。ここで、手領域マスク画像は、第3マスク画像63~第5マスク画像65のうち、
図5の手検出処理において最後に生成されたものである。すなわち、手領域マスク画像は、ステップS214が実行されている場合には第5マスク画像65であり、ステップS211が実行され、ステップS214が実行されていない場合には第4マスク画像64であり、ステップS207が実行され、ステップS211及びステップS214が実行されていない場合には第3マスク画像63である。
【0062】
手領域マスク画像が生成されたと判別された場合には(ステップS103で“YES”)、CPU11は、異なるフレームに対応する複数の手領域マスク画像から操作者70の手71によるジェスチャーを検出したか否かを判別する(ステップS104)。ここで、複数の手領域マスク画像は、直近の所定数のフレーム期間に撮影されたカラー画像31及び深度画像41に基づいて生成された、上記所定数の手領域マスク画像である。なお、機器制御処理の開始後、ステップS102の手検出手段の実行回数が上記所定数に達していない場合には、ステップS104において“NO”に分岐することとしてもよい。
CPU11は、複数の手領域マスク画像にわたる手領域の移動軌跡が所定のジェスチャーの成立条件を満たしている場合に、複数の手領域マスク画像からジェスチャーを検出したと判別する。
【0063】
複数の手領域マスク画像からジェスチャーを検出したと判別された場合には(ステップS104で“YES”)、CPU11は、検出したジェスチャーに応じた動作を行わせるための制御信号を、プロジェクタ80に送信する(ステップS105)。当該制御信号を受信したプロジェクタ80は、制御信号に応じた動作を行う。
【0064】
ステップS105が終了した場合、ステップS103において手領域マスクが生成されていないと判別された場合(ステップS103で“NO”)、又は、ステップS104において複数の手領域マスク画像からジェスチャーが検出されないと判別された場合には(ステップS104で“NO”)、CPU11は、情報処理システム1におけるジェスチャーの受け付けを終了するか否かを判別する(ステップS106)。ここでは、CPU11は、例えば、情報処理装置10、撮影装置20又はプロジェクタ80の電源をオフする操作がなされている場合に、ジェスチャーの受け付けを終了すると判別する。
【0065】
ジェスチャーの受け付けを終了しないと判別された場合には(ステップS106で“NO”)、CPU11は、処理をステップS102に戻し、次のフレーム期間に撮影されたカラー画像31及び深度画像41に基づいて手71を検出するための手検出処理を実行する。ステップS102~S106のループ処理は、例えば、カラーカメラ30及び深度カメラ40による撮影のフレームレートで(すなわち、カラー画像31及び深度画像41が生成するたびに)繰り返し実行される。あるいは、ステップS102の手検出処理を撮影のフレームレートで繰り返し実行し、所定数のフレーム期間に1回の割合でステップS103~S106を実行してもよい。
ジェスチャーの受け付けを終了すると判別された場合には(ステップS106で“YES”)、CPU11は、機器制御処理を終了させる。
【0066】
<効果>
以上のように、本実施形態に係る情報処理装置10は、CPU11を備え、CPU11は、操作者70を撮影して得られたカラー画像31及び深度画像41における色情報及び操作者70の奥行きに係る深度情報を取得し、取得した色情報及び深度情報に基づいて、カラー画像31及び深度画像41に含まれる操作者70の少なくとも一部である検出対象としての手71を検出する。これにより、手71のうち色情報から検出することが難しい部分(例えば、陰になって暗い部分や、照明により色が変化した部分など)を、深度情報を用いて補完して検出することができる。また、背景に手71と同一色の部分があったとしても、深度情報を併用することにより、当該部分を手71と誤検出する不具合の発生を抑制することができる。よって、より高精度に手71を検出することができる。この結果、非接触かつ直感的な機器の操作を可能とするマンマシンインタフェースにおいて、精度の高いジェスチャー検出を実現できる。例えば、プロジェクタ80による画像Imの投影中に高精度なジェスチャー操作を受け付け可能とすることで、非接触操作が可能なディスプレイを実現することができる。
【0067】
また、操作者70を撮影して得られた画像は、複数の画像であり、当該複数の画像は、色情報を含むカラー画像31と、深度情報を含む深度画像41と、を含む。これによれば、カラーカメラ30により撮影されたカラー画像31と、深度カメラ40により撮影された深度画像41と、を用いて手71を検出することができる。
【0068】
また、カラー画像31の撮影範囲及び深度画像41の撮影範囲が重複する重複範囲51において、カラー画像31の画素と、深度画像41の画素とが対応付けられており、CPU11は、カラー画像31のうち、画素の色情報が、手71の色に係る第1色条件を満たす第1領域R1を特定し、深度画像41のうち、画素の深度情報が、手71の奥行きに係る第1深度条件を満たす第2領域R2を特定し、重複範囲51のうち、第1領域R1に対応する領域及び第2領域R2に対応する領域のいずれにも重なる第3領域R3を含む領域を手71として検出する。これにより、色情報に基づいて特定された第1領域R1に、手71の領域以外の、手71と色が近似する領域(顔等)が含まれていても、深度情報に基づいて特定された第2領域R2との重複部分を抽出することで、手71以外の領域を精度よく除外することができる。よって、より高精度に手71を検出することができる。
【0069】
また、CPU11は、深度画像41のうち第1領域R1に対応する画素の深度情報に基づいて第1深度条件を決定する。これにより、撮影時の手71の実際の深度を反映した第1深度条件に基づいて、より高精度に第2領域R2を特定することができる。
【0070】
また、CPU11は、深度画像41のうち第3領域R3に対応する画素の深度情報に基づいて第2深度条件を決定し、カラー画像31の第1領域R1のうち、深度画像41において画素の深度情報が第2深度条件を満たす領域と対応する第4領域R4を特定し、重複範囲51のうち、第3領域R3と、カラー画像31の第4領域R4に対応する領域と、を含む領域を手71として検出する。これによれば、手領域として抽出された第3領域R3の深度情報を用いることで、カラー画像31の第1領域R1のうち、手71の領域であって第3領域R3に含まれていない部分を高精度に補完して検出することができる。これにより、手71のうち色情報から検出することが難しい部分(例えば、陰になって暗い部分や、照明により色が変化した部分など)を補完して検出することができる。よって、より高精度に手71を検出することができる。
【0071】
また、第2深度条件は、画素の深度が、第3領域R3に対応する画素の深度の代表値を含む所定範囲に入っていること、である。このような第2深度条件を用いることで、手71を含む深度範囲をより高精度に特定することができる。
【0072】
また、CPU11は、深度画像41のうち第3領域R3に対応する領域の大きさに基づいて上記の所定範囲の幅を決定する。これにより、撮影された手71の大きさに応じて適切に第2深度条件を決定することができる。
【0073】
また、CPU11は、重複範囲51のうち、第3領域R3と、第4領域R4に対応する領域のうち第3領域R3と一繋がりである部分と、を含む領域を手71として検出する。これにより、第4領域R4のうち手71以外の領域をより確実に除外することができる。
【0074】
また、CPU11は、カラー画像31のうち第3領域R3に対応する画素の色情報に基づいて第2色条件を決定し、深度画像41の第2領域R2のうち、カラー画像31において画素の色情報が第2色条件を満たす領域と対応する第5領域R5を特定し、重複範囲51のうち、第3領域R3と、深度画像41の第5領域R5に対応する領域と、を含む領域を手71として検出する。これによれば、手領域として抽出された第3領域R3の色情報を用いることで、深度画像41の第2領域R2のうち、手71の領域であって第3領域R3に含まれていない部分を高精度に補完して検出することができる。よって、より高精度に手71を検出することができる。
【0075】
また、CPU11は、重複範囲51のうち、第3領域R3と、第5領域R5に対応する領域のうち第3領域R3と一繋がりである部分と、を含む領域を手71として検出する。これにより、第5領域R5のうち手71以外の領域をより確実に除外することができる。
【0076】
また、本実施形態に係る情報処理方法は、情報処理装置10のコンピュータとしてのCPU11が実行する情報処理方法であって、操作者70を撮影して得られたカラー画像31及び深度画像41における色情報及び操作者70の奥行きに係る深度情報を取得し、取得した色情報及び深度情報に基づいて、カラー画像31及び深度画像41に含まれる操作者70の少なくとも一部である検出対象としての手71を検出する。このような方法によれば、より高精度に手71を検出することができる。よって、非接触かつ直感的な機器の操作を可能とするマンマシンインタフェースにおいて、精度の高いジェスチャー検出を実現できる。
【0077】
また、本実施形態に係るプログラム131は、情報処理装置10のコンピュータとしてのCPU11に、操作者70を撮影して得られたカラー画像31及び深度画像41における色情報及び操作者70の奥行きに係る深度情報を取得する処理、取得した色情報及び深度情報に基づいて、カラー画像31及び深度画像41に含まれる操作者70の少なくとも一部である検出対象としての手71を検出する処理、を実行させる。このようなプログラム131に従ってCPU11に処理を行わせることで、より高精度に手71を検出することができる。よって、非接触かつ直感的な機器の操作を可能とするマンマシンインタフェースにおいて、精度の高いジェスチャー検出を実現できる。
【0078】
<その他>
なお、上記実施形態における記述は、本発明に係る情報処理装置、情報処理方法及びプログラムの一例であり、これに限定されるものではない。
例えば、上記実施形態では、情報処理装置10、撮影装置20、及びプロジェクタ80(ジェスチャーによる操作対象機器)が別個となっている例を用いて説明したが、この態様に限られない。
例えば、情報処理装置10と撮影装置20とが一体となっていてもよい。一例を挙げると、情報処理装置10の表示部15のベゼルに、撮影装置20のカラーカメラ30及び深度カメラ40が組み込まれていてもよい。
また、情報処理装置10と操作対象機器とが一体となっていてもよい。例えば、上記実施形態におけるプロジェクタ80に情報処理装置10の機能を組み込み、情報処理装置10が実行していた処理をプロジェクタ80の図示しないCPUが実行してもよい。この場合には、プロジェクタ80が「情報処理装置」に相当し、プロジェクタ80のCPUが「処理部」に相当する。
また、撮影装置20と操作対象機器とが一体となっていてもよい。例えば、上記実施形態におけるプロジェクタ80の筐体に、撮影装置20のカラーカメラ30及び深度カメラ40が組み込まれていてもよい。
また、情報処理装置10、撮影装置20及び操作対象機器が全て一体となっていてもよい。例えば、操作対象機器としての情報処理装置10の表示部15のベゼルにカラーカメラ30及び深度カメラ40が組み込まれた態様において、操作者70の手71のジェスチャーにより情報処理装置10の動作を制御してもよい。
【0079】
また、被写体として操作者70を例示し、被写体の少なくとも一部である検出対象として手71を例示したが、これらに限られない。例えば、検出対象は、操作者70の手71以外の部位(腕や頭等)であってもよく、これらの部位によりジェスチャーが行われてもよい。また、被写体の全体が検出対象であってもよい。
また、被写体は人に限られず、ロボットや動物等であってもよい。これらの場合にも、ロボットや動物等のうちジェスチャーを行う検出対象の色が予め定められていれば、上記実施形態の方法により検出対象を検出することができる。
【0080】
また、上記実施形態では、手領域マスク画像(第3マスク画像63~第5マスク画像65のいずれか)において画素値が「1」となっている領域を手71として検出したが、これに限られず、画素値が「1」となっている領域を少なくとも含む領域を手71として検出してもよい。例えば、公知の方法により手領域をさらに補完してもよい。
【0081】
また、上記実施形態では、「被写体を撮影して得られた画像」がカラー画像31及び深度画像41である例を用いて説明したが、これに限られない。例えば、1つの画像における各画素に色情報及び深度情報が含まれている場合には、「被写体を撮影して得られた画像」は、当該1つの画像であってもよい。
【0082】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部13のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0083】
また、上記実施形態における情報処理装置10、撮影装置20及びプロジェクタ80の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0084】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
被写体を撮影して得られた画像における色情報及び前記被写体の奥行きに係る深度情報を取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する、
処理部を備える情報処理装置。
<請求項2>
前記画像は、複数の画像であり、
前記複数の画像は、前記色情報を含むカラー画像と、前記深度情報を含む深度画像と、を含む、
請求項1に記載の情報処理装置。
<請求項3>
前記カラー画像の撮影範囲及び前記深度画像の撮影範囲が重複する重複範囲において、前記カラー画像の画素と、前記深度画像の画素とが対応付けられており、
前記処理部は、
前記カラー画像のうち、画素の色情報が、前記検出対象の色に係る第1色条件を満たす第1領域を特定し、
前記深度画像のうち、画素の深度情報が、前記検出対象の奥行きに係る第1深度条件を満たす第2領域を特定し、
前記重複範囲のうち、前記第1領域に対応する領域及び前記第2領域に対応する領域のいずれにも重なる第3領域を含む領域を前記検出対象として検出する、
請求項2に記載の情報処理装置。
<請求項4>
前記処理部は、前記深度画像のうち前記第1領域に対応する画素の深度情報に基づいて前記第1深度条件を決定する、請求項3に記載の情報処理装置。
<請求項5>
前記処理部は、
前記深度画像のうち前記第3領域に対応する画素の深度情報に基づいて第2深度条件を決定し、
前記カラー画像の前記第1領域のうち、前記深度画像において画素の深度情報が前記第2深度条件を満たす領域と対応する第4領域を特定し、
前記重複範囲のうち、前記第3領域と、前記カラー画像の前記第4領域に対応する領域と、を含む領域を前記検出対象として検出する、
請求項3に記載の情報処理装置。
<請求項6>
前記第2深度条件は、画素の深度が、前記第3領域に対応する画素の深度の代表値を含む所定範囲に入っていること、である、請求項5に記載の情報処理装置。
<請求項7>
前記処理部は、前記深度画像のうち前記第3領域に対応する領域の大きさに基づいて前記所定範囲の幅を決定する、請求項6に記載の情報処理装置。
<請求項8>
前記処理部は、前記重複範囲のうち、前記第3領域と、前記第4領域に対応する領域のうち前記第3領域と一繋がりである部分と、を含む領域を前記検出対象として検出する、請求項5に記載の情報処理装置。
<請求項9>
前記処理部は、
前記カラー画像のうち前記第3領域に対応する画素の色情報に基づいて第2色条件を決定し、
前記深度画像の前記第2領域のうち、前記カラー画像において画素の色情報が前記第2色条件を満たす領域と対応する第5領域を特定し、
前記重複範囲のうち、前記第3領域と、前記深度画像の前記第5領域に対応する領域と、を含む領域を前記検出対象として検出する、
請求項3~8のいずれか一項に記載の情報処理装置。
<請求項10>
前記処理部は、前記重複範囲のうち、前記第3領域と、前記第5領域に対応する領域のうち前記第3領域と一繋がりである部分と、を含む領域を前記検出対象として検出する、
請求項9に記載の情報処理装置。
<請求項11>
情報処理装置のコンピュータが実行する情報処理方法であって、
被写体を撮影して得られた画像における色情報及び前記被写体の奥行きに係る深度情報を取得し、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する、
情報処理方法。
<請求項12>
情報処理装置のコンピュータに、
被写体を撮影して得られた画像における色情報及び前記被写体の奥行きに係る深度情報を取得する処理、
取得した前記色情報及び前記深度情報に基づいて、前記画像に含まれる前記被写体の少なくとも一部である検出対象を検出する処理、
を実行させるプログラム。
【符号の説明】
【0085】
1 情報処理システム
10 情報処理装置
11 CPU(1以上の処理部)
12 RAM
13 記憶部
131 プログラム
132 カラー画像データ
133 深度画像データ
134 マスク画像データ
14 操作部
15 表示部
16 通信部
17 バス
20 撮影装置
30 カラーカメラ
31 カラー画像
40 深度カメラ
41 深度画像
51 重複範囲
61 第1マスク画像
62 第2マスク画像
63 第3マスク画像
64 第4マスク画像
65 第5マスク画像
70 操作者(撮影対象)
71 手(検出対象)
80 プロジェクタ
Im 画像