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

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

Info

Publication number
JP2017037428A
JP2017037428A JP2015157614A JP2015157614A JP2017037428A JP 2017037428 A JP2017037428 A JP 2017037428A JP 2015157614 A JP2015157614 A JP 2015157614A JP 2015157614 A JP2015157614 A JP 2015157614A JP 2017037428 A JP2017037428 A JP 2017037428A
Authority
JP
Japan
Prior art keywords
image
information processing
data
area
target object
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
JP2015157614A
Other languages
English (en)
Inventor
泰輔 石黒
Taisuke Ishiguro
泰輔 石黒
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 JP2015157614A priority Critical patent/JP2017037428A/ja
Publication of JP2017037428A publication Critical patent/JP2017037428A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】精度良く物体を検知することが可能になる情報処理方法および情報処理装置、プログラムを提供する。
【解決手段】設定された領域の第1の距離データと第1のRGBデータとを第1の時間状態において取得する第1の取得手段と、設定された領域の第2の距離データを第1の時間状態以降の第2の時間状態において取得する第2の取得手段と、第1の距離データと第2の距離データとに差分がある差分領域において、第2の距離データを用いて対象物体と対象外物体とを識別する識別手段と、第1の時間状態以降の第2の時間状態において、対象物体が位置する領域を含む設定された領域の部分領域の第2のRGBデータを取得する第3の取得手段と、部分領域の第1のRGBデータと第2のRGBデータとの差分に基づいて、対象物体の位置と大きさとを検知する検知手段と、を備える。
【選択図】図3

Description

本発明は、撮像された画像に基づいて物体を検知する技術に関する。
カメラやセンサを用いて現実世界に存在する物体の位置と大きさを検出する技術(以降、物体検知技術と記載する)が知られている(特許文献1)。
カメラやセンサを使った物体検知技術として、物体が置かれていない状態の画像を予め撮影しておき、該画像と所定の時間間隔毎に撮影される画像とを比較し、比較結果に差分が生じている部分を物体として判断する手法が知られている。この手法では、比較結果の差分が連続して同じになる場合に、差分部分を物体として特定することで、物体の位置と大きさと併せて物体が静止していることを判断することができる。物体が静止していることを判断することが可能になるため、動いていない物体にのみ、なんらかの処理を実施したい場合に有効である。たとえば、動いていない物体のみを認識し、認識結果に応じて物体に対して情報を投影することなどが可能になる。
特開2013−190421号公報
しかしながら、1つのセンサだけで物体検知の精度が得られない場合には、精度の良い物体検知を行うことができなかった。
本発明は、上記の課題に鑑みてなされたものであり、精度の良い物体検知を行う情報処理装置を提供することを目的とする。また、その方法、及びプログラムを提供することを目的とする。
本発明に係る情報処理装置は以下の構成を備える。即ち、設定された領域の第1の距離データと第1のRGBデータとを第1の時間状態において取得する第1の取得手段と、前記設定された領域の第2の距離データを前記第1の時間状態以降の第2の時間状態において取得する第2の取得手段と、前記第1の距離データと前記第2の距離データとに差分がある差分領域において、前記第2の距離データを用いて対象物体と対象外物体とを識別する識別手段と、前記第1の時間状態以降の第2の時間状態において、前記対象物体が位置する領域を含む前記設定された領域の部分領域の第2のRGBデータを取得する第3の取得手段と、前記部分領域の前記第1のRGBデータと前記第2のRGBデータとの差分に基づいて、前記対象物体の位置と大きさとを検知する検知手段。
本発明によれば、精度良く物体を検知することが可能になる。
実施形態における情報処理システムの概念図である。 実施形態におけるハードウェア構成の一例を示すブロック図である。 実施形態における情報処理システムの構成を示すブロック図である。 実施形態における情報処理システム全体の流れを示すフローチャートである。 実施形態における機器キャリブレーション処理の流れを示すフローチャートである。 実施形態におけるキャリブレーション用ボードの一例である。 実施形態における物体検知の流れを示すフローチャートである。 実施形態におけるオブジェクト検知処理結果の一例である。 実施形態におけるマーカー認識処理の流れを示すフローチャートである。 実施形態におけるマーカー対応テーブルの一例である。 実施形態における投影データ対応テーブルの一例である。 実施形態におけるジェスチャー認識処理の流れを示すフローチャートである。 実施形態における投影更新データ対応テーブルの一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。 実施形態における投影画面の一例である。
以下、本発明の好適な実施形態について添付の図面を参照して詳細に説明する。
<実施形態1>
はじめに、図1(a)(b)(c)(d)を用いて本実施形態における情報処理装置の処理概要を説明する。本実施形態では、プロジェクタ、距離センサ、RGBカメラ、赤外カメラを備える情報処理装置101を用いる。情報処理装置101は、該装置が備える距離センサ、RGBカメラ、赤外カメラのいずれか1つ以上のセンサもしくはカメラを用いて、机102に置かれた現実世界の物体の位置と大きさ、物体の種別を取得する。本実施形態で置かれる物体は、半球体オブジェクト103、冊子104である。
情報処理装置101は半球体オブジェクト103および冊子104を認識すると、冊子104のページを認識する。ページ認識の結果に応じて、情報処理装置101が搭載するプロジェクタを用いて半球体オブジェクトに情報を投影する。詳細は、図4のステップS4090、S4100の説明にて後述する。冊子105は、3ページ目が開かれた状態である。冊子105が開かれて、冊子のページが3ページである場合、半球体オブジェクト103には地球の映像が投影される。
情報処理装置101は、操作者108によるジェスチャー操作を認識することができる。認識されたジェスチャー操作は、半球体オブジェクトに投影された情報への指示として解釈される。たとえば、半球体オブジェクト103の上の空間でスワイプ操作を行うと、球体の地球儀を回したように、地球の映像を回転させることが可能である。図1(d)の半球体オブジェクト103は回転された結果の映像である。なお、投影される地球地図の映像は、3次元データとして保持されており、半球体オブジェクトの形状に合わせて、映像の歪みが決められている。その他、半球体オブジェクトの立体形状を距離センサにより動的に測定し、計測された形状に合わせて3次元データの歪みを決めても良い。
また、半球体オブジェクト103にタッチ操作を行うことで、タッチされた地域や国家の関連情報を半球体オブジェクトの近傍に表示させることが可能である。関連情報109は、半球体オブジェクトにタッチすることで表示された関連情報の一例である。
以降、図2〜図25を用いて詳細に説明する。
図2は、図1にて説明した情報処理装置101のハードウェア構成の一例である。
CPU(Central Processing Unit)202は、各種処理のための演算や論理判断などを行い、バス201に接続された各種要素を制御する。
情報処理装置101には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、フローチャートにより後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。このメモリはROM(Read−Only Memory)203であっても良いし、外部記憶装置などからプログラムがロードされるRAM(Random Access Memory)204であっても良い。あるいは、これらの組合せで実現しても構わない。
記憶装置205は本実施形態に係るデータやプログラムを記憶しておくためのハードディスクなどの装置である。また、本実施形態では、投影用のコンテンツを保持しておくためにも利用される。なお、投影用のコンテンツを保持しておく装置としては、外部接続やネットワーク接続された不図示のデータ保持装置を用いても良い。ここで、外部記憶装置206は、たとえば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、たとえば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。
入力装置207は現実世界の情報をデジタルデータとして取り込むための装置である。本実施形態では、距離センサ、RGBカメラ、赤外カメラから構成される。
出力装置208は処理結果等を表示出力する表示手段としての装置である。出力装置208は、プロジェクタにより実現されており、投影用コンテンツを投影表示する。
インタフェース209は、情報の仲介を行う装置であり、このインタフェース209を介して外部装置とのデータのやり取りを行う。
図3は、本実施形態における情報処理装置101の機能構成を示すブロック図である。情報処理装置101は、撮影処理部301、物体検知部302、認識処理部303、投影処理部304から構成される。前述のように本装置は図2にて説明したハードウェアを備える。
撮影処理部301は、第一撮像部305、第二撮像部306、第三撮像部307から構成される。第一撮像部305は、現実世界の物体を撮像する距離センサである。第二撮像部306は、現実世界の物体を撮像するRGBカメラである。第三撮像部307は、現実世界の物体を撮像する赤外カメラである。
物体検知部302は、第一物体検知部308、検知精度判定部309、検知対象更新部310、第二物体検知部311から構成される。第一物体検知部308は第一撮像部305で得られた画像を用いて物体の検知処理を実施する。検知精度判定部309は、第一物体検知部308による物体検知結果の精度を判定する。検知対象更新部310は、第一物体検知部308の判定の結果、精度が悪いと判定された場合、第一物体検知部308の検知結果に基づき検知対象領域を限定する。第二物体検知部311は、第二撮像部306で得られた画像のうち、検知対象更新部310により限定された検知対象領域に対して、物体検知処理を実施する。物体検知部302が実施する物体検知処理の詳細は、図7にて説明する。
認識処理部303は、ジェスチャー認識部312、マーカー認識部313から構成される。ジェスチャー認識部312は、第一撮像部305から得られた距離情報を使ってジェスチャー認識処理を実施する。ジェスチャー認識処理の詳細は、図12にて説明する。マーカー認識部313は、第三撮像部307から得られた赤外画像を用いて、冊子に埋め込まれた不可視マーカーの認識を行う。マーカー認識処理の詳細は、図9にて説明する。
投影処理部304は、投影データ取得部314、投影データ更新部315、投影部316から構成される。投影データ取得部314は、認識処理部303の認識結果に応じて、図11にて後述する投影データ対応テーブルから投影すべきデータを取得する。投影データ更新部315は、認識処理部303の認識結果に応じて、投影データ取得部314にて取得された投影データを更新する。投影部316は、プロジェクタを用いて現実世界に対して投影データ更新部315により更新された投影データを投影する。投影データ更新処理の詳細は、図13にて説明する。
ブロック図が示す各機能は、図2のCPU202によって制御されている。
図4は、本実施形態における情報処理装置101が実現する全体の流れをフローチャートにより説明するものである。なお、本実施形態では、単一の装置(情報処理装置101)が以下に説明するフローチャートが示す処理を実現するが、その他、各機能を別々の複数の装置で実現しても良い。
ステップS4000は機器キャリブレーション処理である。機器キャリブレーションは、図1にて説明した情報処理装置101のキャリブレーションを実施する。前述したように情報処理装置101は、プロジェクタ、距離センサ、RGBカメラ、赤外カメラを備えている。各装置は、情報処理装置101における設置位置や撮像素子の大きさなどの影響により、取得できる現実世界の範囲や投影できる現実世界の範囲が異なる。本システムにおいて、現実世界の物体の位置や大きさを一元的に扱うことが可能になるように、各ハードウェアで取得される座標系を単一の論理座標系にマッピングする。本実施形態では、このマッピング処理をキャリブレーション処理と表現する。キャリブレーション処理を実施することで、本システムを利用するアプリケーションは、装置間の座標系の違いを意識する必要がなくなるという効果がある。キャリブレーション処理の詳細は図5を用いて後述する。
ステップS4010は初期画像撮影処理である。初期画像撮影処理では、距離センサおよびRGBカメラを用いてキャリブレーション後の状態を撮影する。撮影時は、撮影可能範囲に物体が置かれていない状態で撮影を行う。必要に応じて、物体を置いてはいけない旨をプロジェクタにより投影表示しても良い。撮影の結果、取得された画像はステップS4000にてマッピングされた単一の論理座標系に対応付けられて、不図示の画像DBに保持される。
ステップS4020は第一領域のオブジェクト検知処理である。第一領域のオブジェクト検知処理では、距離センサおよびRGBカメラを用いてオブジェクトの検知を実施する。システムのユーザがオブジェクトを置いたことを検知する。第一領域のオブジェクト検知処理は物体検知処理を用いて実現する。物体検知処理の詳細は図7を用いて後述する。オブジェクトが置かれるまでは、“冊子を置いてください”というメッセージが投影される。図14は、メッセージ表示結果の一例である。
ステップS4030は冊子認識処理である。冊子認識処理では、ステップS4020にて検知されたオブジェクトが冊子であるか判定を行う。冊子であると判定された場合は、ステップS4030へ移行する。冊子でないと判定された場合は、ステップS4020へ移行する。
冊子判定は、冊子に埋め込まれた不可視のマーカーを読み取ることで行う。本実施形態で使用する冊子には赤外光で可視化される不可視のマーカーを予め埋め込んでおく。赤外カメラによりステップS4020にて検知されたオブジェクトを撮像し、撮像された画像に対してマーカーの認識処理を行うことで実現する。マーカー認識処理の詳細は、図9を用いて後述する。
ステップS4040は第二領域のオブジェクト検知処理である。第二領域のオブジェクト検知処理では、距離センサおよびRGBカメラを用いてオブジェクトの検知を実施する。システムのユーザがオブジェクトを置いたことを検知する。第二領域のオブジェクト検知処理は、ステップS4020にて説明した第一領域のオブジェクトの検知処理と同様に、物体検知処理を実施する。物体検知処理の詳細は図7を用いて後述する。オブジェクトが置かれるまでは、“半球体を置いてください”というメッセージが投影される。図15は、メッセージ表示結果の一例である。
ステップS4050は半球体認識処理である。半球体認識処理では、ステップS4040にて検知されたオブジェクトが半球体であるか判定を行う。半球体であると判定された場合は、ステップS4050へ移行する。半球体ではないと判定された場合は、ステップS4040へ移行する。
半球体判定は、ステップS4040にて検知されたオブジェクトの形状を用いて行う。具体的には、オブジェクトの形状が円形である場合は半球体であると判定する。本実施形態ではオブジェクトの形状を用いて判定したが、異なる方法を用いることも可能である。たとえば、ステップS4030にて用いた不可視のマーカーを用いても良い。不可視のマーカーを半球体オブジェクトに予め埋め込んでおき、赤外カメラを使ってマーカーを検出しても半球体判定を実現できる。
ステップS4060は映像投影処理である。映像投影処理では、ステップS4040にて検知された半球体オブジェクトに対して、例えば地球の映像を投影する。投影する地球映像は、ステップS4030における冊子認識結果を用いて、映像データ対応テーブルを参照することで実現する。図11は、映像データ対応テーブルの一例である。ID1101は、不可視マーカーに紐づけられたIDである。投影データ1102は、ID1101に紐づけられた映像のデータが格納されているファイルパスである。ステップS4030にて認識した不可視マーカーのID1101に対応する映像データのファイルパスを参照し、映像データを取得する。図16は投影結果の一例である。映像データが半球体オブジェクト1601に投影されている。
ステップS4070はジェスチャー認識処理である。ジェスチャー認識処理では、距離情報を用いたジェスチャーの認識処理を実施する。ジェスチャー認識処理の詳細は、図12を用いて後述する。なお、ジェスチャー認識処理は異なるタイミングで実施してもよい。たとえば、ジェスチャー認識の結果は、イベントとしてアプリケーションに通知されるため、アプリケーション起動時から常にジェスチャー認識を動作させ、ジェスチャー認識の結果を用いない処理では、イベントを無視するように処理することもできる。
ステップS4080は映像更新処理である。映像更新処理では、半球体オブジェクトに投影されている映像を更新する。映像の更新は、ステップS4030における冊子認識結果およびステップS4070にて取得したジェスチャー認識の結果を用いて行う。具体的には、図13に示す投影更新データ対応テーブルを参照することで実現する。ID1301は、不可視マーカーに紐づけられたIDでありステップS4030における冊子認識の結果として取得されるデータである。ジェスチャー種別1302は、ステップS4070におけるジェスチャー認識の結果である。更新方法1303は、映像の更新方法である。ステップS4060において投影されている映像を更新方法1303に記載されている方法で更新する。たとえば、IDが“1”、ジェスチャー種別“空中スワイプ左”の場合、ステップS4060にて投影された映像が左回転した状態に更新される。図17は、図16の投影を更新した結果の一例である。半球体オブジェクト1701に投影されている映像が更新されていることがわかる。
ステップS4090はページ認識処理である。ページ認識処理では、ステップS4030において認識された冊子のページ認識を行う。ページ認識は冊子のページに埋め込まれた不可視マーカーを読み取ることで実現する。不可視マーカーの認識処理はステップS4030にて説明した方法と同様である。マーカー認識処理の詳細は、図9を用いて後述する。
ステップS4100は関連情報投影処理である。関連情報投影処理では、ステップS4090にて認識されたページに基づき、半球体オブジェクトに関連情報の映像を投影する。具体的には、ステップS4060にて説明した方法と同様に、図11に示す投影データ対応テーブルを参照して映像を特定する。すなわち、ページ認識結果(マーカー認識結果)に対応するIDから、IDに紐づけられた映像データを特定する。図18、図20、図24は関連情報投影結果の一例である。図18は、関連情報として地球映像と地球映像中でタッチジェスチャー操作が可能な箇所1801を表示している。タッチジェスチャーを受け付けたことに応じて映像を表示させることにより、冊子のテーマ1802(人口に関するテーマ)に合致する映像を半球体オブジェクトに投影することができる。同様に、図20では、冊子テーマである“水”に合わせた映像が半球体オブジェクトに投影されている。図24では、冊子テーマである“中身”に合わせた映像が半球体オブジェクトに投影されている。
ステップS4110はジェスチャー認識処理である。ジェスチャー認識処理は、ステップS4070にて説明した方法と同様の方法で実現する。ジェスチャー認識処理の詳細は、図12を用いて後述する。
ステップS4120は関連情報更新処理である。関連情報更新処理では、ステップS4110におけるジェスチャー認識の結果に応じて、関連情報として投影されている映像を更新する。更新処理は、ステップS4080にて説明した地球映像更新処理と同様である。具体的には、図13に示す投影更新データ対応テーブルを参照することで実現する。たとえば、ID“2”、ジェスチャー種別“半球体タッチ(日本)”の場合、更新方法としてタッチ位置に対応する詳細情報として映像データのファイルパスが特定される。図19は、更新結果の一例である。図18におけるジェスチャー操作箇所1801をタッチすると、ステップS4110の処理においてジェスチャー種別“半球体タッチ(日本)”が特定される。冊子テーマ“人口”のID“2”の場合、図18の更新結果の一例が図19になる。図21から図23は、冊子テーマ“水”の場合の更新結果の一例である。たとえば、冊子の特定領域をタッチ操作すると、図21に示す映像2101が投影される。本実施形態では関連情報を表示したのち、ステップS4130に移行するが、継続してジェスチャー認識と関連情報更新を繰り返してもよい。たとえば、図21に示された映像2101に従い、スワイプ右のジェスチャー操作を実施すると、さらに映像が更新され、図22に示す映像を投影してもよい。図22の例では、冊子テーマ“水”に合わせて、地球上の水のみを球体として表現した結果が映像2201として更新投影されている。さらに、この状態に対して、再度ジェスチャー操作が可能なことを示すUI2202が表示される。図23は図22に対してジェスチャー操作と関連情報更新を実施した場合の一例である。図22の映像2201に対して、図21と同様にスワイプ操作を受け付けることを示す情報が投影される。実際に、スワイプ右のジェスチャー操作をすると、図23に示す映像2301が投影される。図23の例は、冊子テーマ“水”に合わせて、地球上の水映像2201から淡水のみを球体として表現した映像2301が投影されている。
図25は異なる関連情報更新の例である。冊子テーマ“中身”に合わせて、ジェスチャー指示映像2501が投影され(図25(a))、ジェスチャー操作ピンチアウトを実施すると、図25(b)に示す地球の内部構造を示す映像2502が投影される。
ステップS4130は終了指示判定処理である。終了指示判定処理は、所定のジェスチャー操作もしくはキーボード入力が行われた場合、終了指示が行われたと判定する。終了指示が行われた場合、処理を終了する。終了指示が行われない場合、ステップS4090へ戻る。
なお、本実施形態では上述のフローにて情報処理システムの処理を説明したが、異なる処理フローを用いることも可能である。たとえば、半球体オブジェクト、冊子等のオブジェクト数が複数の場合も適用可能である。また、投影する映像を半球体オブジェクトとその近傍領域に限定せず、冊子やその他オブジェクトへ投影することも可能である。さらに、半球体オブジェクト以外のオブジェクトを用いても上記の処理フローは適用可能である。半球体オブジェクトや冊子オブジェクト以外のオブジェクトを用いる場合も、ステップS4020およびステップS4060で説明したオブジェクト検知処理が適用可能である。さらに、ステップS4030もしくはステップS4050において、使用するオブジェクトが認識できるよう不可視マーカーをオブジェクトに埋め込んでおくことで処理を適用できる。
続いて、図4におけるステップS4000の機器キャリブレーション処理の詳細について、図5を用いて処理フローを詳細に説明する。前述したように、本実施形態の情報処理装置はプロジェクタ、距離センサ、RGBカメラ、赤外カメラを備えている。これらの装置は、設置位置や撮像素子の大きさの違いなどの影響により、撮影もしくは投影できる実世界上の座標空間が異なる。キャリブレーション処理では、各装置で取得される座標系を単一の座標空間にマッピングする。単一の座標空間にマッピングすることで、本実施形態における情報処理装置を扱うアプリケーションは、装置間の座標系の違いを意識する必要がなくなる。
ステップS5000はボード撮影処理である。ボード撮影処理では、図6(a)に示すような格子状の模様が存在するボードをRGBカメラの撮像範囲およびプロジェクタの投影範囲に設置する。
ステップS5010は格子点指定処理である。格子点指定処理では、ステップS5000にて設置したボード上の格子点にマーカーを設定する。図6(b)はマーカーを設定したボードの一例である。ボードはプロジェクタの投影範囲に設置されているため、キャリブレーション実施者は、プロジェクタに投影されているマウスポインタ等のUI指示情報を参照・コントロールし、格子点を指示することで各格子点に対してマーカーを設定していくことができる。
ステップS5020はボード撮影処理である。ボード撮影処理は、ステップS5010にて指定した格子点がプロジェクタにより投影されている状態のボードをRGBカメラにより撮影する。
ステップS5030は機器パラメータ算出処理である。機器パラメータ算出処理では、既知の大きさをもつボードおよび格子模様の情報とステップS5010にて指定した格子点の情報を用いて機器内・外のパラメータを算出する。パラメータの算出処理は、既存の算出方法を用いる。たとえば、OpenCV(非特許文献1)などで用いられるZ.Zhangのキャリブレーション手法(非特許文献2)を使用することができる。Z.Zhangのキャリブレーション手法では、機器パラメータを取得することで機器固有の座標系を実世界の座標系へ変換するための数式が開示されている。
以上、説明したキャリブレーション処理を実施することで、本実施形態における情報処理装置を持つシステムは、機器からデータを取得した際に、機器固有の座標系から実世界の座標系へ変換することができる。
なお、本実施形態では、キャリブレーションボードに対して、格子点の指定をユーザが実施したが、異なる方法を用いることもできる。たとえば、格子模様をもつボードを撮影し、格子模様の特徴点を用いて格子点を特定したうえで、機器パラメータを算出することも可能である。
次に、図4におけるステップS4020およびステップS4040のオブジェクト検知処理について、図7を用いて処理フローを詳細に説明する。オブジェクト検知処理は、システムのユーザがオブジェクトを置いた際に、オブジェクトの位置と大きさを取得する処理である。オブジェクト検知を実施することで、オブジェクトの位置や数が動的に変化した場合も、オブジェクトに対して位置のずれが生じないように情報の投影が可能になる。
ステップS7000は距離情報を用いて生成した画像取得処理である。以降、距離情報を用いて生成した画像を距離画像とも記載する。距離画像取得処理では、情報処理装置が備える距離センサから得た距離情報を用いて距離画像を取得する。
ステップS7010は背景差分算出処理である。背景差分算出処理では、図4のステップS4010にて取得した距離画像の初期画像と、ステップS7000にて取得した距離画像を比較し、背景差分を算出する。具体的には、前記2種の画像を比較し、差分のある画素のみを有効にした画像を生成する。図8(a)の初期画像(第1の時間状態において取得された第1の距離データから生成された画像)とステップS7000の取得画像があった場合、差分領域の背景差分画像は図8(b)のようになる。ステップS7000における取得画像は、第1の時間状態以降の第2の時間状態において取得された第2の距離データから生成された画像である。
ステップS7020は手領域判別処理である。手領域判別処理では、ステップS7010にて算出した背景差分から人間の手(対象外物体)に相当する部分を特定する。人間の手領域を特定する処理には、既存の技術を用いることができる。たとえば、予め記録された手領域の画像特徴量(距離画像から得られる特徴量)と、背景差分の特徴量を比較し、特徴量が類似するものを手領域として特定することが可能である。
ステップS7030は物体領域識別処理である。物体領域識別処理では、ステップS7010にて算出された背景差分画像において、ステップS7020にて特定された手領域以外の領域を対象物体領域として識別する。図8(c)は特定された物体領域のみで構成される画像である。
ステップS7040は物体有無判定処理である。物体有無判定処理では、ステップS7030にて特定された物体領域が存在するか判定する。物体領域の判定には、図8(c)に示すような物体領域のみを含む画像を解析し、有効画素が存在するか確認する。有効画素が存在する場合は、物体領域が存在すると判定し、ステップS7050へ移行する。有効画素が存在しない場合は、物体領域が存在しないと判定し、ステップS7000へ移行する。
ステップS7050は精度判定処理である。精度判定処理では、ステップS7040にて存在すると判定された物体領域の検出精度を判定する。精度判定には、距離画像の解像度を用いる。単位面積に対する距離情報の分解能を計算したものが距離画像の解像度である。距離画像の解像度が所定の解像度よりも低い場合、精度が悪いと判定する。距離画像の解像度が所定の解像度よりも高い場合は、精度が良いと判定する。解像度が低い場合、物体の形状を正確にトレースすることが難しくなる。したがって、物体の位置や大きさが実物から乖離する可能性が生じる。検出された物体の位置や大きさと実物との間に差異が生じると、物体に対して正確な投影ができなくなってしまうが、本ステップの処理および本ステップ以降の処理を実施することで、当該問題を回避することが可能になる。距離情報だけでは、物体領域の検出精度が悪いので、本ステップ以降、他の情報を使って物体領域を検出する。ただし、本ステップまでで得られている情報を使って、物体がありそうな領域を絞り込んでから、他の情報を使って物体領域を検出する。
本実施形態では、距離画像の解像度を用いて精度判断を行ったが、異なる方法を用いても良い。たとえば、物体を予め撮影した画像とステップS7030にて取得された物体領域画像とを比較し、比較結果が所定の画素数以上ずれている場合は、精度が悪いと判定することも可能である。
ステップS7060は対象領域絞り込み処理である。対象領域絞り込み処理では、ステップS7030にて取得した物体領域画像を解析し、物体領域を含む外接矩形領域を算出する。外接矩形の算出には、既存の技術を用いる。図8(d)は、外接矩形の算出結果の一例を示す。矩形領域801が算出された外接矩形領域(部分領域)である。
ステップS7070はRGB画像取得処理である。RGB画像取得処理では、情報処理装置が備えるRGBカメラを用いてRGB画像(RGBデータから構成される)を取得する。
ステップS7080は背景差分算出処理である。背景差分算出処理は、ステップS7060にて絞り込まれた部分領域において実行する。図4のステップS4010にて取得したRGB画像の初期画像(第1のRGBデータから構成される)と、ステップS7070にて取得したRGB画像(第2のRGBデータから構成される)を比較する。そして、背景差分を算出する。背景差分の算出方法はステップS7010にて説明した方法と同様である。手以外の物体領域が存在する領域に絞って背景差分を実施することで、カメラの撮影範囲には手が存在しても、対象物体部分のみの背景差分を算出することが可能になる。距離画像に対してRGBカメラの解像度が高い場合、上述の処理によって、精度が高い背景差分を算出できる。図8(e)は、背景差分の算出処理の概要を示す図である。RGB画像には手領域が含まれるが、ステップS7060にて特定した領域のみに対して背景差分を求めているため、背景差分画像には手が含まれないことがわかる。
ステップS7060では、距離画像に対する領域を求めている。図4のステップS4020にて機器キャリブレーションを実施したため、距離画像およびRGB画像で共通の座標系を用いることができる。したがって、距離画像を用いて算出した絞り込み領域は、RGB画像の座標系へ適用可能である。
ステップS7090は物体領域特定処理である。物体領域特定処理では、ステップS7080にて算出した背景差分画像を用いて物体領域を特定する。具体的には、背景差分画像の有効画素群を物体領域として特定する。
本実施形態では、距離画像とRGB画像の二種類の画像を用いて物体領域を特定したが、異なる種類の画像を用いても良い。たとえば、一回目の撮影にはステレオカメラを用いて画像を撮影し、ステレオカメラにより取得された画像を使って、手領域を特定し、手以外の物体を検出する。ステレオカメラの解像度を使って精度を判定した上で、RGB画像を使った物体検知処理を実施することも可能である。
続いて、図4におけるステップS4030およびステップS4090において使用されるマーカー認識処理について、図9を用いて処理フローを詳細に説明する。マーカー認識処理は、システムのユーザが置いたオブジェクトの種類を判定するために用いられる。赤外光のみで可視化できるマーカーがオブジェクトに埋め込まれており、このマーカーを認識することでオブジェクトを特定することができる。赤外光のみで可視化できるため、通常の人間の目には不可視のマーカーとして存在する。したがって、冊子のようにレイアウトデザインが重要なコンテンツについても、デザインを損なわずにマーカーを埋め込むことができる。
ステップS9000は赤外画像取得処理である。赤外画像取得処理では、本実施形態における情報処理装置が備える赤外カメラを用いて赤外画像を撮影する。
ステップS9010はマーカー検出処理である。マーカー検出処理では、ステップS9000にて取得した赤外画像に対してマーカーの検出処理を実施する。マーカーの検出処理は既存のマーカー検出技術を用いる。赤外光では可視化されているため、通常のマーカー検出技術を用いることが可能である。たとえば、2次元コードの検出技術を用いて、当該処理を実現することができる。
ステップS9020はマーカー判定処理である。マーカー判定処理では、ステップS9010にて検出されたマーカーが存在するか判定する。マーカーが存在しない場合、ステップS9000へ移行する。マーカーが存在する場合は、ステップS9030へ移行する。
ステップS9030はマーカー認識処理である。マーカー認識処理では、ステップS9010にて検出されたマーカーに対して、IDを特定する。マーカーのIDを特定する処理は、ステップS9010におけるマーカー検出と同様に既存の処理を用いる。たとえば、2次元コードの認識もしくはデコード技術を用いて、マーカーからIDを特定することが可能である。マーカーのIDについては、マーカーのデザイン時にマーカーを一意に特定できるものをあらかじめ定義しておく。
ステップS9040はオブジェクト判定処理である。ステップS9030にて特定されたIDを用いてオブジェクトを判定する。具体的には、図10に示すマーカー対応テーブルを参照して、オブジェクトを判定する。ID1001はマーカーのIDを示す。オブジェクト1002はIDに対応するオブジェクトである。たとえば、IDが“1”の場合、オブジェクトは“冊子”であることが特定できる。
本実施形態では、マーカーを用いてオブジェクトを特定したが、異なる方法を用いてもよい。たとえば、画像検索の技術を使うことも可能である。予め特定しておきたいオブジェクトを撮影しておき、オブジェクトが置かれたのち撮影された画像と予め用意しておいた画像を比較する。比較結果が類似していれば、予め撮影したオブジェクトとして判定できる。また、オブジェクトの特定は、二次元コードのような可視のマーカーや物体認識技術を用いることでも可能である。さらに、3次元形状を取得できるセンサを追加して、3次元形状を用いたオブジェクトの特定方法を用いてもよい。予めオブジェクトの3次元形状を登録しておき、置かれたオブジェクトの3次元形状と比較することで、オブジェクトの特定が可能である。
続いて、図4におけるステップS4070およびステップS4110のジェスチャー認識処理について、図12を用いて処理フローを詳細に説明する。ジェスチャー認識処理を実施することで、本システムで使用されるオブジェクトに対して、プロジェクタによる映像を投影するとともに、オブジェクトに特別な装置を設置しなくとも映像に対する操作を実現することができる。
ステップS12000は距離画像取得処理である。距離画像取得処理では、本実施形態の情報処理装置が備える距離センサを用いて距離画像を撮影して取得する。本処理は、図7のステップS7000で説明した距離画像取得処理と同様の処理により実現する。
ステップS12010は手領域判別処理である。手領域判別処理では、ステップS12000で取得した距離画像から人間の手に相当する部分を特定する。人間の手領域を特定する処理は、既存の技術を用いることが可能である。たとえば、予め手領域の特徴を記録しておき、該特徴と比較することで手領域であるかを判定することができる。本処理は、図7のステップS7020にて説明した手領域判別処理と同様の処理により実現される。
ステップS12020は3D座標取得処理である。3D座標取得処理では、ステップS12010にて特定された手領域以外の領域の3D座標を取得する。3D座標は、ステップS12000にて取得した距離画像から、手領域を除いた領域について距離情報(以降、距離データとも記載する)を取得し、これらの距離情報から手領域以外の3D座標を特定する。
ステップS12030はタッチ面設定処理である。タッチ面設定処理では、ステップS12020にて取得された3D座標を用いて、タッチ面を設定する。タッチ面として設定された座標は、手領域によりタッチ操作として認識可能となる。このように、動的にタッチ面を設定することで、任意のオブジェクトが置かれた場合も、特殊な装置をオブジェクトに搭載することなくオブジェクトに対するタッチ操作が可能になる。動的なタッチ面設定がない場合は、予め規定した座標のみをタッチ面として使用することになる。たとえば、机上をタッチ面として設定しておくことになり、机上にオブジェクトが置かれた場合、オブジェクトに対してタッチ操作はできなくなる。
ステップS12040はジェスチャー認識処理である。ジェスチャー認識処理では、手領域の時系列変化を用いてジェスチャーの操作種別を特定する。ジェスチャーの操作種別の特定処理には既存の技術を用いることができる。たとえば、時系列パターンモデルを用いてジェスチャーの操作種別を特定する技術が知られている。図13におけるジェスチャー種別1302は当該処理により特定されるジェスチャー種別の一例である。
本実施形態では、ジェスチャー認識の方法として距離画像を用いたが、異なる情報を用いてジェスチャーを認識してもよい。たとえば、複数台のRGBカメラを用いてジェスチャー認識する方法が知られている。
以上、詳細に説明したように、二種類の物体検知手法を用いることで、システムのユーザがオブジェクトを置く際に動かしている手の影響を抑えたうえで、オブジェクトの位置と大きさを精度良く検出することが可能になる。
本実施形態において用いた情報処理装置のように、カメラとプロジェクタで構成されるシステムでは、キーボードやマウスのような明示的な指示機器を用いるのではなく、ユーザのジェスチャー操作により各種の指示を行う。このような場合、オブジェクトを置いたのち、すぐにジェスチャー操作が行えることが望まれるが、従来技術ではオブジェクトを置いたのち、カメラで撮影している領域から、一度手をフレームアウトさせなくてはならなかった。上述の方法であれば、手をカメラの撮影領域からフレームアウトさせなくてもジェスチャー操作を開始することが可能になり、ユーザの操作性を向上することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
301 撮影処理部
302 物体検知部
303 認識処理部
304 投影処理部
305 第一撮像部
306 第二撮像部
307 第三撮像部
308 第一物体検知部
309 検知精度判定部
310 検知対象更新部
311 第二物体検知部
312 ジェスチャー認識部
313 マーカー認識部
314 投影データ取得部
315 投影データ更新部
316 投影部

Claims (5)

  1. 設定された領域の第1の距離データと第1のRGBデータとを第1の時間状態において取得する第1の取得手段と、
    前記設定された領域の第2の距離データを前記第1の時間状態以降の第2の時間状態において取得する第2の取得手段と、
    前記第1の距離データと前記第2の距離データとに差分がある差分領域において、前記第2の距離データを用いて対象物体と対象外物体とを識別する識別手段と、
    前記第1の時間状態以降の第2の時間状態において、前記対象物体が位置する領域を含む前記設定された領域の部分領域の第2のRGBデータを取得する第3の取得手段と、
    前記部分領域の前記第1のRGBデータと前記第2のRGBデータとの差分に基づいて、前記対象物体の位置と大きさとを検知する検知手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記識別手段では、背景差分により前記対象物体と前記対象外物体とを識別することを特徴とする請求項1に記載の情報処理装置。
  3. 前記検知手段では、背景差分により前記対象物体と前記対象外物体とを識別することを特徴とする請求項1に記載の情報処理装置。
  4. 前記対象外物体は、手であることを特徴とする請求項1に記載の情報処理装置。
  5. 設定された領域の第1の距離データと第1のRGBデータとを第1の時間状態において取得する第1の取得工程と、
    前記設定された領域の第2の距離データを前記第1の時間状態以降の第2の時間状態において取得する第2の取得工程と、
    前記第1の距離データと前記第2の距離データとに差分がある差分領域において、前記第2の距離データを用いて対象物体と対象外物体とを識別する識別工程と、
    前記第1の時間状態以降の第2の時間状態において、前記対象物体が位置する領域を含む前記設定された領域の部分領域の第2のRGBデータを取得する第3の取得工程と、
    前記部分領域の前記第1のRGBデータと前記第2のRGBデータとの差分に基づいて、前記対象物体の位置と大きさとを検知する検知工程と、
    を備えることを特徴とする情報処理装置。
JP2015157614A 2015-08-07 2015-08-07 情報処理方法および情報処理装置、プログラム Pending JP2017037428A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015157614A JP2017037428A (ja) 2015-08-07 2015-08-07 情報処理方法および情報処理装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157614A JP2017037428A (ja) 2015-08-07 2015-08-07 情報処理方法および情報処理装置、プログラム

Publications (1)

Publication Number Publication Date
JP2017037428A true JP2017037428A (ja) 2017-02-16

Family

ID=58048191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157614A Pending JP2017037428A (ja) 2015-08-07 2015-08-07 情報処理方法および情報処理装置、プログラム

Country Status (1)

Country Link
JP (1) JP2017037428A (ja)

Similar Documents

Publication Publication Date Title
KR101575016B1 (ko) 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택
KR102529120B1 (ko) 영상을 획득하는 방법, 디바이스 및 기록매체
JP4820285B2 (ja) 自動位置合わせタッチシステムおよび方法
US9909854B2 (en) Image processing apparatus and image processing method
US10310675B2 (en) User interface apparatus and control method
US10324563B2 (en) Identifying a target touch region of a touch-sensitive surface based on an image
JP6639091B2 (ja) 表示制御装置及び表示制御方法
JP2015043154A5 (ja)
TW201346216A (zh) 虛擬尺
US10664090B2 (en) Touch region projection onto touch-sensitive surface
JP2014203174A (ja) 情報操作表示システム、表示プログラム、および、表示方法
JP2016091457A (ja) 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP2016099742A (ja) 情報処理装置、映像投影装置、情報処理方法及びプログラム
US10254893B2 (en) Operating apparatus, control method therefor, and storage medium storing program
JP2016103137A (ja) ユーザインタフェース装置、画像処理装置及び制御用プログラム
JP2015212897A5 (ja)
JP2011118466A (ja) 差分ノイズ置換装置、差分ノイズ置換方法、差分ノイズ置換プログラム、コンピュータ読み取り可能な記録媒体、および、差分ノイズ置換装置を備えた電子機器
JP2018124918A (ja) 画像処理装置、画像処理方法及びプログラム
JP6229554B2 (ja) 検出装置および検出方法
EP2975503A2 (en) Touch device and corresponding touch method
JP2017037428A (ja) 情報処理方法および情報処理装置、プログラム
JP6643825B2 (ja) 装置及び方法
JP6898021B2 (ja) 操作入力装置、操作入力方法、及びプログラム
JP2018049498A (ja) 画像処理装置、操作検出方法、コンピュータプログラム、及び記憶媒体
TWI506535B (zh) 電子裝置及顯示內容更新方法