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

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

Info

Publication number
JP6578737B2
JP6578737B2 JP2015102473A JP2015102473A JP6578737B2 JP 6578737 B2 JP6578737 B2 JP 6578737B2 JP 2015102473 A JP2015102473 A JP 2015102473A JP 2015102473 A JP2015102473 A JP 2015102473A JP 6578737 B2 JP6578737 B2 JP 6578737B2
Authority
JP
Japan
Prior art keywords
image
coordinates
coordinate
world
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015102473A
Other languages
English (en)
Other versions
JP2016218710A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015102473A priority Critical patent/JP6578737B2/ja
Publication of JP2016218710A publication Critical patent/JP2016218710A/ja
Application granted granted Critical
Publication of JP6578737B2 publication Critical patent/JP6578737B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、情報処理システム、情報処理装置、情報処理方法およびプログラムに関する。
指やペンといった座標指示体を用いて表示を行うための表示平面をタッチしたりなぞったりして、その軌跡を表示平面に表示させたりする表示システムが知られている。このような表示システムでは、表示平面に対する座標指示体の指示位置を、撮像装置を使用して取得した画像上の座標系(以下、イメージ座標系として参照する。)と、表示平面上での座標系(以下、世界座標系)を対応付けることが必要とされる。
この変換は、多くの場合、ホモグラフィー行列を使用して行われるが、このホモグラフィー行列の要素、(以下、外部変数として参照する。)を予め決定しておく必要がある。外部変数を算出する処理は、校正処理として参照され、一般には、イメージ座標と、世界座標との組を入力として与える。校正処理は、イメージ座標と、外部変数を用いて世界座標を計算し、座標が既知の世界座標を、イメージ座標に写像した時のイメージ座標系の誤差を最小にするように、外部変数の値を最適化する処理を含む。
この処理は、座標を決定するために用いられるセンサ装置(撮像装置)それぞれについて行われる。従来、タッチパネルを表示平面として使用する表示システムでは、多くの場合、1次元センサ装置を使うか、2次元センサ装置でも高さ方向の大きさを押さえるために、表示平面と、センサ光軸がほぼ一致するようにセンサ装置が取り付けられる。
また、センサ装置に対して奥行き方向の座標を正確に算出する目的で、最低でも2つのセンサ装置を使用し、複数のイメージ座標から、それらの光線の交点として世界座標が決定されている。
一方、情報処理システムの校正後、経時変化、気温差、湿度差などの理由によりセンサ装置の取り付け位置がずれると、校正の直後よりも実際の座標指示体の位置座標と、画像から算出された位置座標のずれ、すなわち誤差が大きくなる。この誤差を解消するためには、再度校正処理をし直す必要がある。
従来から再校正を行うタイミングを判断する技術は、種々提案されている。例えば、特開2001−282440号公報(特許文献1)には、感圧方式における経時変化による位置誤差の拡大を解消する技術が記載されている。
しかしながら、ペン先発光方式を採用する座標指示体の場合、センサ装置を使用しないため、座標の基準となる情報がセンサ装置から得られない。このため、上記のような要因で誤差が拡大したことを検出することができないという問題があった。
本発明は、座標の基準となる情報がセンサ装置から得られなくても、センサ装置の取り付け位置のずれによって位置誤差が拡大したことを検知して再校正処理を行うことを可能とする情報処理システム、情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
本発明によれば、
表示部に相対して3次元空間中の位置を指定するための座標指示手段と、
前記座標指示手段のイメージ画像を取得する少なくとも1の撮像手段と、
前記撮像手段の前記イメージ画像の位置座標を、前記表示部が置かれた3次元空間上の位置座標である世界座標に変換するための座標変換手段と、
前記座標変換手段を使用して前記イメージ画像中の前記座標指示手段の位置座標から世界座標を取得する世界座標計算手段と、
前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正を判定する再校正判定手段と
を備える情報処理システムが提供できる。
本発明によれば、座標の基準となる情報がセンサ装置から得られなくても、センサ装置の取り付け位置のずれによって位置誤差が拡大したことを検知して再校正処理を行うことが可能となる。
本発明が適用される情報処理システム100の概略的な実施形態を示す。 本明細書で使用する変数および用語の定義を説明する図。 本実施形態の好ましい座標入力方法を可能とする情報処理システム300の概略図。 本実施形態の制御部110の機能を提供する、情報処理装置400のハードウェア構成を示す図。 本実施形態の制御部110として機能する情報処理装置400の機能ブロック500を示す図。 本実施形態の変換行列計算部507の詳細な機能構成を示した図。 変換行列計算部307および世界座標計算部503が実行する処理のデータフローを示す図。 第1実施形態における再校正要否を判定するための概略的な光学的関係を示す図。 第1の実施形態における各直線の定式化の際の各位置ベクトルを示す図。 第1の実施形態の変形例で、Zworldの値を校正要否の判定に使用する光学的構成を示した図。 第2の実施形態における概略的な光学的関係を示す図。 (16)および(17)で与えられる光学的関係を示す図。 本実施形態の座標計算方法のフローチャート。 ステップS1309の校正処理のフローチャートを示す 第1実施形態における再校正判定パラメータを使用する場合のステップS1308の実体的判断処理のフローチャート。 第2の実施形態の再校正判定パラメータを使用する場合のステップS1308における実体的な判断処理のフローチャート。
以下、本発明を例示的な実施形態を使用して説明するが、本発明は、後述する実施形態に限定されるものではない。
<セクション1:システム構成>
図1は、本発明が適用される情報処理システム100の概略的な概念図示す。情報処理システム100は、制御部110と、ディスプレイ装置150と、カメラを含む複数のカメラ120、130とを含んでいる。制御部110は、本実施形態の情報処理装置がその機能を提供する。制御部110は、ディスプレイ装置150上でのユーザによる座標指示体140の動作をカメラ120、130からの画像情報を使用して解析する。その結果に応じて、ユーザの動作に対応した像を生成し、像表示制御を行ってディスプレイ装置150上に表示する。なお、図1に示すカメラの位置は、カメラの主点の位置をもって示している。
カメラ120、130は、ディスプレイ装置150に接触または近接した1で行われるユーザ動作を検出し、ユーザ動作がディスプレイ装置150上の座標(x,y,z)(以下、世界座標として参照する。)を、カメラ120、130が取得した画像情報から取得する。なお、図1には、以後の説明の便宜上、カメラ120、130が取得するイメージ画像中の位置座標を、それぞれ(x,y)、(x,y)として示す。
ここで、詳細な座標決定処理を説明するに先立ち、本明細書で使用する変数および用語の定義を、図2を参照して説明する。
○(ximage,yimage):イメージ座標であり、各カメラの画像面を表す。空間中の物体を撮影すると、この平面上に投影される。
○(Xcamera, Ycamera, Zcamera):カメラ座標であり光学中心Cを原点に持ち、イメージ座標のXimage軸、Yimage軸に平行に、Xcamera軸、Ycamera軸が定義される。3次元空間中で、カメラ光学系の内部座標軸である。カメラの数だけ、異なるカメラ座標が存在する。
○(Xworld,Yworld,Zworld):世界座標であり、説明する実施形態では、表示面の左上を原点とし、横方向をXworld軸、縦方向をYworld軸として定義する。なお、表示面は、Zworld=0面である。3次元空間中のカメラからは独立して、1つだけ存在する実空間を定義する座標軸である。
○外部変数:世界座標と、イメージ座標(カメラ座標)との対応関係を表すパラメータ行列であり、世界座標と、イメージ座標(カメラ座標)との間の座標変換を可能とし、校正処理において決定される座標変換行列、すなわちH行列に相当する。
図3は、本実施形態の好ましい座標入力方法を可能とする情報処理システムの機能ブロック300は、ディスプレイ装置のLCD、タッチパネルなどとして形成される表示部302を含む。さらに、機能ブロックは、表示部302の適切な位置、例えば角部に配置される複数のカメラ301と、演算部304とを含むことができる。カメラ301は、ユーザが保持する座標指示体303の特定の箇所、例えば先端部の位置をイメージ画像として取得する。
カメラ301が取得したイメージ画像は、CPU、メモリなどを備える演算部304に送られる。演算部304は、変換行列Hを使用して座標指示体303の示した位置の世界座標を決定する。決定された世界座標は、所定のビデオデータに変換された後、表示部302に送付されて、ディスプレイ装置により、表示部302上に表示される。
図3に示した実施形態は、少なくとも2以上のカメラ301を使用し、三角測量技術を使用して、世界座標(Xworld,Yworld,Zworld)を決定する場合に好ましく用いる事ができる。また、図3の情報処理システム300は、2つのカメラ301をそれぞれ独立して世界座標決定を行い、その平均を使用して世界座標を精度良く決定するためにも使用できる。
図4は、本実施形態の制御部110の機能を提供する、情報処理装置400のハードウェア構成を示す。情報処理装置400は、CPU401、ROM402、RAM403、キーボード404、マウス405を備えており、これらのハードウェア要素は、適切なバス(システムバスおよびバスブリッジ)により相互接続されている。CPU401は、RAM403に格納されたプログラムを読み出し、実行することにより、制御部110の機能を提供する。ROM402は、情報処理装置400の入出力機能を提供するためのBIOS(Basic Input Output System)を格納し、POST機能を提供し、CPU401との間の入出力を可能とする。
また、ROM402としては、随時書換え可能なROM、いわゆるEEPROMなども含んで構成することができる。このような随時書き換え可能なROMには、情報処理装置400が使用する個別的なデータやユーザデータを格納させておくことができる。キーボード404、マウス405は、情報処理装置400への入出力を可能とするものであり、例えばPCIバス・ブリッジを介したUSB(Universal Serial Bus)方式で、情報処理装置400に接続されている。
さらに情報処理装置400は、ハードディスク装置406、グラフィックス・ボード407、ネットワーク・カード408を備えている。ハードディスク装置406は、OS(オペレーティング・システム)、各種のデバイス・ドライバおよび各種のアプリケーション・プログラムを格納している。CPU401は、起動されると、ハードディスク装置406にアクセスして、OS、デバイス・ドライバ、各種アプリケーション・プログラムをRAMに読み込み、処理を実行する。グラフィックス・ボード407は、ディスプレイ装置150に対して出力を行うための処理を実行する処理部であり、グラフィックス・プロセッサを搭載することが好ましい。ネットワーク・カード408は、情報処理装置400をインターネット、LANといったネットワークに接続するため、OSI基本参照モデルの第1層から第4層の機能を提供する。情報処理装置400は、各種の外部接続機器との間の入出力を可能とするインタフェース(I/F)409を備えており、CD−ROM、MOその他の外部読取機器410による記録媒体411との間の相互通信を可能としている。
図5は、本実施形態の制御部110として機能する情報処理装置400の機能ブロック500を示す。情報処理装置400は、CPU401がプログラムを実行することにより、図5に示す各機能ブロックを情報処理装置400上に構成する。情報処理装置400の機能ブロック500は、画像処理部502と、校正点情報保持部506と、変換行列計算部507とを含んでいる。
画像処理部502は、カメラとしての機能を有する撮像装置、具体的にはカメラ501からの画像情報を取得して、座標指示体140などの画像特徴などを解析する。校正点情報保持部506は、ディスプレイ装置150の表示有効領域に設定した校正点の世界座標を格納し、カメラ501と、ディスプレイ装置150との間の相対的位置の校正を可能としている。
変換行列計算部507は、画像処理部502が取得した校正点に関する画像情報と、校正点情報とを使用して、カメラ501の撮像平面と、世界座標(ディスプレイ装置150上の有効領域)との間の変換行列を計算し、各座標系の間の座標変換を可能としている。変換行列計算部507は、生成した変換行列を、適切な記憶領域として実装される変換行列保持部508に格納する。
さらに情報処理装置400は、その機能ブロックとして、世界座標計算部503と、再校正判定部504と、表示データ生成部505と、表示制御部509とを含んでいる。世界座標計算部503は、画像処理部502の画像解析の結果および変換行列を使用して画像情報の注目点の世界座標を計算する。
再校正判定部504は、ユーザ指示、または設定されたタイマなどの満了に応答して、再校正の要否を判定する。再校正判定部504は、ユーザ指示またはタイマの満了に応答して、第1の実施形態では光学系の光軸のずれを計算することで、再校正の必要性を判断する。また第2の実施形態では計算した世界座標からイメージ平面上でのイメージ座標を逆計算することで、再校正が必要であるかを判定する。それ以外は、取得した世界座標をそのまま、表示データ処理部に渡し、ディスプレイ装置150上に、世界座標に対応したイメージを表示させる。なお、再校正の要否判断の詳細な処理については後述する。
表示データ生成部505は、生成した注目点の世界座標を使用してディスプレイ装置150上に表示させるべきデータを生成し、表示制御部509に例えばビデオデータとして送付する。表示制御部509は、当該データをディスプレイ装置150のLCDパネルとして構成される表示部510に表示させている。
以上の機能は、ユーザが座標指示体140で、ディスプレイ装置150にタッチするか否かによらず、画像解析により、ディスプレイ装置150上に画像を表示させることを可能としている。このことにより、本実施形態では、接触および非接触状態で位置の指定を可能とする態様に関わらず検出して、画像の表示制御を行うことが可能となる。
図6は、本実施形態の変換行列計算部507の詳細な機能構成を示した図である。なお、図6に示した実施形態では、2つのカメラを使用するものとして説明する。カメラ601、602は、各々が取得した画像情報を画像処理部603に送付する。画像処理部603は、カメラ601、602からの画像情報を受領して、説明する実施形態では、各画像情報を変換行列計算部606に送付する。
変換行列計算部606は、読み取り部606aおよび演算部606bを備えており、受領した各カメラ601、602の画像データを使用して世界座標中での位置誤差を最小とするようにして、同時に各カメラ601、602に対する変換行列を計算する。世界座標計算部605は、計算された変換行列を使用して世界座標を計算し、ディスプレイ装置150の表示部302の世界座標に対応する位置に像を表示させている。
<セクション2:世界座標とイメージ座標のモデル>
以下、本実施形態における世界座標とイメージ座標の関係を表すモデルについて説明する。3次元空間中のある点xを、世界座標系で表した時の座標(Xworld,Yworld,Zworld)、カメラ座標系で表した時の座標(Xcamera,Ycamera,Zcamera)と、その点をイメージ平面に投影したときのイメージ座標(ximage,yimage)の関係は、以下の式で表される。
式(1)のλは、世界座標系とイメージ座標系の単位の違いを吸収する比例定数である。ここで式(1)の3×4のパラメータ行列を、行列Pで表す。
行列Pは外部変数とも呼ばれる。Rは回転行列、tは並進行列と呼ばれる。それぞれの行列が、カメラ座標系に対する世界座標系の回転と並進を表している。逆に世界座標に対するカメラ座標の関係とみれば、行列Pは、カメラの世界座標上での配置、つまり光学中心Cの位置と回転角度(光軸方向とイメージ平面の回転角度)を表していると言える。行列Pの算出方法は、校正方法のセクションで説明する。
今回の課題について、座標算出時にはペン先が常にディスプレイ平面中にあるという前提を加えると、Zworld=0という制約が加えられる。これより、式1からZworldに関する項を除くと下記式3になる。
上式(3)の3×3のパラメータ行列は、定数倍しても比例定数λに吸収されるので、本実施形態では3行3列目の成分が1になるように正規化して扱う。
上式(4)の3×3のパラメータ行列を、H行列として参照する。
H行列と、P行列には以下のような関係がある。
<セクション3:校正処理>
以下、本実施形態における校正処理を概説する。校正処理とは、前セクションで説明した外部変数(行列H、行列P)を算出する処理になる。行列Hをまず算出し、行列Hから行列Pを算出する流れになる。
図7は、変換行列計算部307および世界座標計算部503が実行する処理のデータフローを示す。変換行列計算部507は、ボックス511でユーザ指示された校正点の画像情報を取得する。この画像情報は、ボックス512で画像解析され、指示された校正点の世界座標とカメラ画像の画像位置とが対応付けられる。ディスプレイ装置150この対応付けは、カメラの画像平面とディスプレイ装置150との間の対応付けは、各カーテシアン座標系の回転行列および各画像中心の並進ベクトルによって行われる。
この対応付けにより、変換行列H(ホモグラフィー行列)が計算される。なお、H行列の計算についてはより詳細に後述する。計算されたH行列は、周知のデータ・フォーマットとして、適切な記憶領域に格納される。世界座標計算部503は、ボックス771でユーザによる手書動作の画像情報を取得する。そして、ボックス772で画像情報中での座標指示体の先端の座標を取得する。その後、ボックス773で、画像情報中での座標を世界座標に写像することにより、ディスプレイ装置150上での像表示を可能とする。
また、図7には、変換行列計算部507の概略処理についても記載する。変換行列計算部507は、ボックス711でユーザが指示した校正点の情報を取得し、ボックス712で、指示された校正点のディスプレイ上の世界座標と画像情報中の画像位置(イメージ座標)を対応付ける。その後、得られた情報を使用して変換行列(H行列)を計算し、変換行列保持部508に読み出し可能な形式、具体的には配列変数として保存する。
以下、本実施形態における校正処理を概説する。2個のセンサで位置決定を行うものとし、センサ番号を添え字i(i=1,2)で表す。校正点は、予めn点得られているとし、点番号を添え字j(j=1,2,…,n)で表す。校正点について予め得られている世界座標を下記式(6)で示す。
の値は、校正点の世界座標として、校正点情報保持部506に格納されている。座標指示体140でユーザが校正点を指示した状態を、カメラで撮影し、画像を得て、その画像の画像特徴を、画像処理部502で処理して得た特徴点の画像中での座標、すなわち、イメージ座標を下記式(7)で示す。
このイメージ座標mijは、各校正点jおよび各カメラiごとに得られる。ここで、カメラiの変換行列Hを下記式(8)で定義する。
セクション1で述べたように、H行列は、H33が1になるように正規化して扱う。ここで、世界座標と、イメージ座標の組がn点得られている場合、式(1)を変形して以下のように書き下す。
H行列は、H11,i〜H32,iまで8未知数を有しているので、これらを決定するために、校正点は、平面座標として高々4点あれば、連立方程式から一意に決定できる。n>4の場合は、上記式(9)をAx=Bとし、目的ベクトルxを下記式(10)で算出することで、誤差和Σ|Ax=B|を最小化する解xを求めることができる。
さらに他の実施形態では、上記の解を初期値とし、目的に応じた評価関数を設定して、非線形最適化法(Levenberg-Marquardt法など)で探索的にH行列を算出する過程が設けられる。これをバンドル調整という。従来の一般的な手法では、再投影誤差の二乗和を評価関数とし、これを最小化するようにH行列の探索を行う。ここで再投影誤差とは、画像から得られたイメージ座標mijと、世界座標Mと行列Hから算出したイメージ座標mij′の距離を指す。
P行列は、算出したH行列をもとに(0036)で述べた関係式を用いて算出することができる。
<セクション3:世界座標算出方法>
本セクションでは、世界座標の算出方法と、再校正判定方法の組み合わせについて述べる。
<セクション3-1:中点法による世界座標算出方法と、光線の最小距離による再校正判定方法>
本実施形態では、中点法による世界座標算出方法と、光線の最小距離による再校正判定方法について述べる。なお、本実施形態の再校正判定方法は、中点法による世界座標算出方法と組み合わせると効率的に計算することができるが、他の世界座標算出方法と組み合わせることも可能である。
式(1)は、3次元世界座標空間中の直線を表しており、カメラ主点位置と、座標指示体140の注目点とを結ぶ直線(以下光線と呼ぶ)を世界座標系で表したものである。センサ1,2から、2組のイメージ座標、m=(ximage1,yimage12=(ximage2,yimage2が得られると、各イメージ座標に対して上記式(1)が適用されるので、光線に対応する1次関数が2つ得られる。
世界座標とイメージ座標が前述のモデルに従う場合、2直線は1点で交わるため、その交点を求めることにより世界座標を算出することができる。しかし、カメラの経時的な配置ずれなどで、実際のカメラの配置と、推定したカメラの配置(P行列として反映されている)にずれが生じると、2直線の位置誤差が大きくなり、2直線は1点で交差しなくなる。2直線が交差しない場合には、2直線の最短距離に対応する各直線上の点を算出し、その2点の中点をもって世界座標とする方法(中点法)がよく用いられる。
2直線の最短距離“l”(エル)が大きくなるほど、当初配置からの誤差が大きくなっている可能性が高い。よって、座標算出の際に2つの光線の最短距離を計算することで、再校正の要否を判断することができる。このずれが設定したしきい値l_thrよりも小さい場合、最短距離“l”の中点から世界座標を決定する(従来法における中点法に相当する)。しかしながら、最短距離“l”がl_thrよりも大きくなる場合には、変換行列Pを再校正することが好ましい。
図8に、第1実施形態における再校正要否を判定するための概略的な光学的関係を示す。図8は、ディスプレイ装置150を正面から見たときの光学的関係を示し、図8(b)は、ディスプレイ装置150の面に沿った方向から見たときの光線の関係を示す。図8では、カメラ120が位置ずれしたものとして説明する。カメラ120が位置ずれを起こすと、イメージ面820上のイメージ座標840が元のイメージ座標830の値からずれる。このため、カメラ120の主点と、イメージ座標とを通る1次関数は、本来の光線L3とは異なる光線L1を与える。
通常、カメラが位置ずれを生じる場合には、左右方向の他、上下方向にも位置ずれを生じるが、この状況を示したのが図8(b)である。本来、L1およびL2は、同一の世界座標Mで交差する。ところが、光線がずれると、図8(b)に示すように、世界座標Mの位置で交差せず距離“l”だけずれる。このため、第1の実施形態では、校正の要否判断を、2直線で与えられる光線L1およびL2の間の最短距離を使用して行う。
2つの光線L1、L2を、以下の通り、定式化する。なお、図9に下記定式化の際の各位置ベクトルを示す。
L1、L2の最短距離に対応するL1上の点とL2上の点とを結ぶベクトル“l(エル)”は、以下のように表せる。
ただし、s,sは、直交条件から、下記式(13)を満たす。
ここで、上記式(13)から、s,sを解くと、下記(14)が得られる。
上記式(14)で得られたs,sを式(12)に代入することにより、L1の点と、L2の点とを最短距離で結ぶベクトルが得られる。中点法では、このベクトルの中点を世界座標Mとして算出する。
また、このベクトルのノルムを求めることで、2直線の最短距離“l”を求めることができる。なお、L1、L2が平行な場合、解は一義的に定まらないため、世界座標を算出することはできない。
<セクション3-1の変形:|Zworld|による再校正判定方法>
第1の実施形態の変形例は、表示部510のディスプレイ平面に直交する座標Zの値であるZworldの値を、再校正の判定に直接使用する方法である。なお、本実施形態の再校正判定方法は、世界座標算出時にZworldも算出できる方法であれば、中点法に限らず組み合わせて使うことが可能である。本実施形態では、世界座標算出時にはペン先が常にディスプレイ平面中にあるという前提を加える。この時、モデルからの誤差がない場合は、算出した世界座標の高さZworldが0となるはずである。そのため、高さ|Zworld|が大きくなるほど、当初配置からの誤差が大きくなっている可能性が高いと推測できる。これより、|Zworld|が設定したしきい値Zworld_thrを超えることを、再校正の必要性の判断基準として使用することができる。
<セクション3-2:Zworld =0を前提にした世界座標算出方法と、再投影誤差による再校正判定方法>
第2の実施形態では、計算された世界座標から対応するカメラのイメージ座標を逆に計算し、実測されたイメージ座標との差を使用して再校正の判断を行う実施形態である。図11に第2の実施形態における概略的な光学的関係を示す。
本実施形態では、世界座標算出時にはペン先が常にディスプレイ平面中にある(Zworld =0)ことを前提にした世界座標算出方法と合わせて説明を行う。本世界座標算出方法と組み合わせると、本再校正判定処理を効率的に計算することができる。なお、他の世界座標算出方法(中点法など)でも、本実施形態の再校正判定方法を適用することは可能である。
特定のカメラi(iはカメラ番号)に関し、上記式(2)を行列形式から書き下すと、下記式(16)、(17)が得られる。
上記式(16)および(17)で与えられる光学的関係を図12に示す。図12(a)は、式(16)の与える光学的関係を示す。図12(a)のように、カメラ主点とイメージ平面上のximage=ximagej直線を含む平面(以下平面A)と、Zworld=0平面が交わる直線(以下直線A)をあらわしている。また、図12(b)は、式(17)の与える光学的関係を示す。式(17)は、カメラ主点とイメージ平面上のyimage=yimagej直線を含む平面(以下平面B)と、Zworld=0平面が交わる直線(以下直線B)を表している。
原理的には、Zworld=0という制約を加えると、1つのセンサで世界座標の算出を行うことができる。しかし、本実施形態では、ディスプレイの高さ方向のサイズを抑えるために、センサをディスプレイ平面(Zworld=0平面)にできるだけ近くなるように設置する。このため、平面Bは、Zworld=0平面とほぼ一致するので、yimageの測定誤差の影響を大きく受けやすく、直線Bの位置を精度良く求めることは困難である。これを図12の矢線Viewの方向からZworld=0に平行な方向から見たものとして示す。このため本実施形態では、2つのセンサからximageを使用する式(16)を2つ得て、この2つの直線Aの交点を求めることで、世界座標を算出する。
算出された世界座標M=(Xworld,Yworldを、各カメラi(iはカメラ番号)に再投影したイメージ座標をm′=(ximagei′,yimagei′)とする。具体的には、式(2)に世界座標Mを代入することで算出される。一方で各カメラiは、イメージ画像からすでにイメージ座標m=(ximagei,yimageiを得ている。
モデルからの誤差が無い場合は、m′と、mは、一致する。これらの2つのイメージ座標のずれ|m′−m|が大きいほど、モデルからの誤差が大きくなっている可能性が高いといえる。よって、|m′−m|が、設定したしきい値Δmthrを超えた場合に、再校正が必要であると判断することができる。
本実施形態で説明した世界座標算出方法では、m′のximagei′座標と、mのximagei座標は一致するため、|m′−m|=|yimagei′−yimagei|を計算するだけでよい。
図13は、本実施形態の座標計算方法のフローチャートを示す。図13の処理は、ステップS1300から開始し、ステップS1301で、ユーザがディスプレイ装置150に対して手書き動作を行う。ステップS1302で、カメラにより座標指示体140のイメージ画像を取得する。ステップS1303で、イメージ画像中の指示点のイメージ座標を取得し、ステップS1304で変換行列Hを読み出す。ステップS1305では、式(8)を適用して世界座標を計算する。
その後処理は、ステップS1306で現在再校正を行うタイミングであるか否かを判断する。再校正の判断タイミングは、(1)ユーザが入力開始前に明示的に再校正を指示する態様、または(2)情報処理システムが内部タイマなどにより計時しておく態様が想定できる。内部タイマを使用する態様では、設定された時間間隔を経過した時点で動作開始した場合、最初の入力時に自動的に再校正を開始する態様がある。なお、他の態様では、世界座標計算時に常時再校正判定パラメータを計算させることもできる。
ステップSで再校正判断タイミングではない(no)と判断された場合、ステップS1310で世界座標を基に表示データを生成する。その後、ステップS1311で表示制御部509が、表示部510にビデオデータを送り、ディスプレイ装置150に表示を行わせ、ステップS1312で当該指示に対する処理を終了する。
一方、再校正判断タイミングである(yes)と判断した場合、処理をステップS1307に分岐させ、再校正判定パラメータを計算する。この再校正判定パラメータは、第1の実施形態で説明した2直線L1、L2の最短距離またはZworld、若しくは世界座標から計算したm、m′の差である。ステップS1308では、再校正が必要と判断された場合(yes)、ステップS1309で校正処理を適用し、処理をステップS1312に分岐させ、校正処理を終了させる。このため、本実施形態では、入力中に世界座標を算出するための変換行列が修正されることなく、スムースな表示が可能となる。
図14には、ステップS1409の校正処理のフローチャートを示す。処理はステップS1400から開始し、ステップS1401でユーザが指定した校正点を含むイメージ画像をカメラにより取得する。ステップS1402で、取得したイメージ画像中の指示点のイメージ座標を取得する。その後、予め保存していた校正点の世界座標を読み出し、ステップS1404で構成行列Hを計算する。ステップS1405では、計算した変換行列Hの要素を読み出し可能な適切な形式、例えば配列形式やベクトル形式で記憶領域に格納し、ステップS1406で処理を終了する。
一方、ステップS1408で再校正不要と判断された場合(no)処理をステップS1412に分岐させ、再校正判断処理を続行させる。ここで、図14および図15を使用して、ステップS1408の再校正の要否判断の処理を詳細に説明する。
図15は、第1実施形態における再校正判定パラメータを使用する場合のステップS1408の実体的判断処理のフローチャートである。図15(a)は、2直線の最短距離を再校正判定パラメータとする場合の処理であり、図15(b)が、Zworldの値を再校正判定パラメータとする場合の処理である。以下、図15(a)の処理から説明する。ステップS1500でカメラの主点から延び、対応するカメラのイメージ座標を通過する各直線の間の最短距離“l”を計算する。ステップS1501では、計算した“l”が、しきい値l_thrを超えるか否かを判断する。計算した“l”が、しきい値l_thrを超える場合(yes)、処理をステップS1409に分岐させ、再校正処理を実行する。一方、計算した“l”が、しきい値l_thrを超えない場合(no)、処理をステップS1312に分岐させ、校正処理を終了させる。
また、図15(b)の処理では、ステップS1510で最短距離“l”ではなく、式(11)のZ(Zworld)を計算する。ステップS1511では、計算したZworldが、設定したしきい値Zworld_thrを超えるか否かを判断する。ステップS1511で、計算したZworldが、設定したしきい値Zworld_thrを超えると判断した場合(yes)、処理をステップS1309に分岐させ、校正処理を実行させる。一方、計算したZworldが、設定したしきい値Zworld_thrを超えないと判断した場合(no)、処理をステップS1212に分岐させ、校正処理を終了させる。
図16は、第2の実施形態の再校正判定パラメータを使用する場合のステップS1308における実体的な判断処理のフローチャートである。ステップS1600で算出した世界座標と、カメラi(iは、カメラを指定する番号である。)のH行列から、イメージ座標mi′を計算する。また、イメージ画像から得たイメージ座標をmiとする。ステップS1501では、|mi−mi′|が、Δm_thrを超えるか否かを判断する。計算した|mi−mi′|が、Δm_thrを超える場合(yes)、処理をステップS1309に分岐させ、再校正処理を実行する。一方、計算した|mi−mi′|が、Δm_thrを超えない場合(no)、処理をステップS1312に分岐させ、校正処理を終了させる。
その後、ステップS1602で、番号iが、カメラの台数Nを超えたか否かを判断し、番号iが、カメラの台数Nを超えた場合(yes)、処理をステップS1312に分岐させ、校正処理を終了させる。一方、ステップS1602で、番号iが、カメラの台数N未満の場合(no)ステップS1603で番号iをインクリメントし、次のカメラの校正の要否判断および校正を、ステップS1602の判断が肯定的な結果を返すまで反復させる。
以上、本実施形態によれば、センサ装置に代えてカメラなど撮像装置の取り付け位置のずれによって位置誤差が拡大したことを検知し、再校正を行うことを可能とする情報処理システム、校正方法およびプログラムを提供することが可能となる。
これまで本発明を、実施形態をもって説明してきたが、本発明は、実施形態に限定されず、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100 :情報処理システム
110 :制御部
120 :カメラ
130 :カメラ
140 :座標指示体
301 :カメラ
302 :表示部
303 :座標指示体
304 :演算部
307 :変換行列計算部
400 :情報処理装置
401 :CPU
402 :ROM
403 :RAM
404 :キーボード
405 :マウス
406 :ハードディスク装置
407 :ボード
408 :カード
410 :外部読取機器
411 :記録媒体
500 :機能ブロック
501 :カメラ
502 :画像処理部
503 :世界座標計算部
504 :再校正判定部
505 :表示データ生成部
506 :校正点情報保持部
507 :変換行列計算部
508 :変換行列保持部
509 :表示制御部
510 :表示部
特開2001−282440号公報

Claims (10)

  1. 表示部に相対して3次元空間中の位置を指定するための座標指示手段と、
    前記座標指示手段のイメージ画像を取得する少なくともの撮像手段と、
    前記撮像手段の前記イメージ画像の位置座標を、前記表示部が置かれた3次元空間上の位置座標である世界座標に変換するための座標変換手段と、
    前記座標変換手段を使用して前記イメージ画像中の前記座標指示手段の位置座標から世界座標を取得する世界座標計算手段と、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定する再校正判定手段と
    を備え
    前記再校正判定手段は、前記世界座標計算手段が計算した世界座標から当該世界座標が与えるイメージ座標を逆算し、前記撮像手段が取得した前記イメージ座標との差を使用して前記座標変換手段の再校正が必要であるかを判定する、
    情報処理システム。
  2. 前記座標変換手段は、前記指示点のイメージ座標および前記撮像手段の主点を含む2直線を使用して中点法により、前記世界座標を決定する、請求項1に記載の情報処理システム。
  3. 表示部に相対して3次元空間中の位置を指定するための座標指示手段と、
    前記座標指示手段のイメージ画像を取得する少なくとも2の撮像手段と、
    前記撮像手段の前記イメージ画像の位置座標を、前記表示部が置かれた3次元空間上の位置座標である世界座標に変換するための座標変換手段と、
    前記座標変換手段を使用して前記イメージ画像中の前記座標指示手段の位置座標から世界座標を取得する世界座標計算手段と、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定する再校正判定手段と
    を備え、
    前記再校正判定手段は、前記指示点のイメージ座標および前記撮像手段の主点を含む2直線の最短距離と、前記最短距離を与える世界座標における前記表示部に直交する軸の座標の値とを使用して前記座標変換手段の再校正が必要であるかを判定する、
    報処理システム。
  4. イメージ画像中の注目点の位置座標を、注目点が存在する3次元空間内の位置座標である世界座標に座標変換するための情報処理装置であって、
    表示部に相対して3次元空間中の位置を指定するための座標指示手段と、
    前記座標指示手段のイメージ画像を取得する少なくともの撮像手段と、
    前記撮像手段の前記イメージ画像中の位置座標を、前記表示部が置かれた3次元空間上の位置座標である世界座標に変換するための座標変換手段と、
    前記座標変換手段を使用して前記イメージ画像中の前記座標指示手段の位置座標から世界座標を取得する世界座標計算手段と、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定する再校正判定手段と
    を備え
    前記再校正判定手段は、前記世界座標計算手段が計算した世界座標から当該世界座標が与えるイメージ座標を逆算し、前記撮像手段が取得した前記イメージ座標との差を使用して前記座標変換手段の再校正が必要であるかを判定する、
    情報処理装置。
  5. 前記座標変換手段は、前記指示点のイメージ座標および前記撮像手段の主点を含む2直線を使用して中点法により、前記世界座標を決定する、請求項に記載の情報処理装置。
  6. イメージ画像中の注目点の位置座標を、注目点が存在する3次元空間内の位置座標である世界座標に座標変換するための情報処理装置であって、
    表示部に相対して3次元空間中の位置を指定するための座標指示手段と、
    前記座標指示手段のイメージ画像を取得する少なくとも2の撮像手段と、
    前記撮像手段の前記イメージ画像中の位置座標を、前記表示部が置かれた3次元空間上の位置座標である世界座標に変換するための座標変換手段と、
    前記座標変換手段を使用して前記イメージ画像中の前記座標指示手段の位置座標から世界座標を取得する世界座標計算手段と、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定する再校正判定手段と
    を備え、
    前記再校正判定手段は、前記指示点のイメージ座標および前記撮像手段の主点を含む2直線の最短距離と、前記最短距離を与える世界座標における前記表示部に直交する軸の座標の値とを使用して前記座標変換手段の再校正が必要であるかを判定する、
    報処理装置。
  7. 座標変換手段が、イメージ画像中の注目点の位置座標を、注目点が存在する3次元空間内の位置座標である世界座標に座標変換するための情報処理装置実行可能な方法であって、情報処理装置が、
    座標指示手段により表示部に相対して3次元空間中の位置を指定するステップと、
    前記座標指示手段のイメージ画像を少なくとも2の撮像手段より取得するステップと、
    前記撮像手段の前記イメージ画像中の位置座標から前記表示部が置かれた3次元空間上の位置座標である世界座標を取得するステップと、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定するステップと
    を実行し、
    前記再校正が必要であるかを判定するステップは、変換された世界座標から当該世界座標が与えるイメージ座標を逆算し、前記撮像手段が取得した前記イメージ座標との差を使用して前記座標変換手段の再校正が必要であるかを判定する、
    情報処理方法。
  8. 記指示点のイメージ座標および前記撮像手段の主点を含む2直線を使用して中点法により、前記世界座標を決定し、前記世界座標に変換するステップを実行する、請求項に記載の情報処理方法。
  9. 座標変換手段が、イメージ画像中の注目点の位置座標を、注目点が存在する3次元空間内の位置座標である世界座標に座標変換するための情報処理装置実行可能な方法であって、情報処理装置が、
    座標指示手段により表示部に相対して3次元空間中の位置を指定するステップと、
    前記座標指示手段のイメージ画像を少なくとも2の撮像手段より取得するステップと、
    前記撮像手段の前記イメージ画像中の位置座標から前記表示部が置かれた3次元空間上の位置座標である世界座標を取得するステップと、
    前記イメージ画像中の前記座標指示手段の指示点のイメージ座標を使用して、前記座標変換手段の再校正が必要であるかを判定するステップと
    を実行し、
    前記再校正が必要であるかを判定するステップは、前記指示点のイメージ座標および前記撮像手段の主点を含む2直線の最短距離と、前記最短距離を与える世界座標における前記表示部に直交する軸の座標の値とを使用して前記座標変換手段の再校正が必要であるかを判定する、
    報処理方法。
  10. 請求項のいずれか1項に記載の情報処理方法を、情報処理装置が実行するための装置実行可能なプログラム。
JP2015102473A 2015-05-20 2015-05-20 情報処理システム、情報処理装置、情報処理方法およびプログラム Active JP6578737B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015102473A JP6578737B2 (ja) 2015-05-20 2015-05-20 情報処理システム、情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015102473A JP6578737B2 (ja) 2015-05-20 2015-05-20 情報処理システム、情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016218710A JP2016218710A (ja) 2016-12-22
JP6578737B2 true JP6578737B2 (ja) 2019-09-25

Family

ID=57581079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015102473A Active JP6578737B2 (ja) 2015-05-20 2015-05-20 情報処理システム、情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6578737B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5416489B2 (ja) * 2009-06-17 2014-02-12 日本電信電話株式会社 三次元指先位置検出方法、三次元指先位置検出装置、およびプログラム
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration

Also Published As

Publication number Publication date
JP2016218710A (ja) 2016-12-22

Similar Documents

Publication Publication Date Title
US10497111B2 (en) Information processing apparatus and method of selecting viewpoint for measuring object, and measuring system
JP4820285B2 (ja) 自動位置合わせタッチシステムおよび方法
JP5132138B2 (ja) 位置姿勢計測方法、位置姿勢計測装置
US9971455B2 (en) Spatial coordinate identification device
US7640129B2 (en) Information processing apparatus and information processing method
JP6980639B2 (ja) 仮想スクリーンのパラメータ推定方法及び装置
US10310675B2 (en) User interface apparatus and control method
JP5802247B2 (ja) 情報処理装置
CN104423881A (zh) 信息处理装置及其控制方法
JP2003222509A (ja) 位置姿勢決定方法および装置並びに記憶媒体
US20120319945A1 (en) System and method for reporting data in a computer vision system
US9360966B2 (en) Method for generally continuously calibrating an interactive input system
US20230316677A1 (en) Methods, devices, apparatuses, and storage media for virtualization of input devices
US20140149062A1 (en) Sensor calibration
US20230288982A1 (en) Adaptive intelligent head-hand vr system and method
TW201617790A (zh) 投影機顯示區角落產生技術
TW201621454A (zh) 投影對準技術
US10146331B2 (en) Information processing system for transforming coordinates of a position designated by a pointer in a virtual image to world coordinates, information processing apparatus, and method of transforming coordinates
JP6578737B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP6878235B2 (ja) 映像表示システム
JP6898021B2 (ja) 操作入力装置、操作入力方法、及びプログラム
KR102460361B1 (ko) 캘리브레이션 시스템 및 방법
JP6643825B2 (ja) 装置及び方法
US20210201011A1 (en) Data processing method for multi-sensor fusion, positioning apparatus and virtual reality device
JP2016153996A (ja) 座標取得システム、ディスプレイ装置、座標取得方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

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: 20190730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190812

R151 Written notification of patent or utility model registration

Ref document number: 6578737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151