(57)【要約】【課題】カメラキャリブレーションにおいて、複数の撮像装置の位置姿勢を高精度に推定する。【解決手段】本発明の画像処理装置は、第１の撮像画像および第２の撮像画像に含まれるそれぞれのマーカを検出する検出手段と、３次元空間における実マーカの位置を示す座標を３次元マーカ座標としたとき、前記検出されたそれぞれのマーカに対応するそれぞれの３次元マーカ座標が略同一となる場合、前記検出されたそれぞれのマーカと、第１の撮像装置および第２の撮像装置それぞれの内部パラメータとに基づいて、前記第１の撮像装置および前記第２の撮像装置それぞれの位置姿勢を推定する推定手段と、を有し、前記第１の撮像装置および前記第２の撮像装置で撮像されるそれぞれの実マーカのサイズは、前記検出されたそれぞれのマーカのサイズが略同一となるようなサイズであることを特徴とする。【選択図】図１
2019086476.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像装置それぞれの位置姿勢を推定する画像処理装置であって、
前記複数の撮像装置のうち、第１の撮像装置で撮像された第１の撮像画像および第２の撮像装置で撮像された第２の撮像画像に含まれるそれぞれのマーカを検出する検出手段と、
３次元空間における実マーカの位置を示す座標を３次元マーカ座標としたとき、前記検出されたそれぞれのマーカに対応するそれぞれの３次元マーカ座標が略同一となる場合、前記検出されたそれぞれのマーカと、前記第１の撮像装置および前記第２の撮像装置それぞれの内部パラメータとに基づいて、前記第１の撮像装置および前記第２の撮像装置それぞれの位置姿勢を推定する推定手段と、を有し、
前記第１の撮像装置および前記第２の撮像装置で撮像されるそれぞれの実マーカのサイズは、前記検出されたそれぞれのマーカのサイズが略同一となるようなサイズである
ことを特徴とする画像処理装置。
【請求項２】
前記第１の撮像装置から前記第１の撮像装置で撮像される前記実マーカまでの距離が、前記第２の撮像装置から前記第２の撮像装置で撮像される前記実マーカまでの距離よりも長い場合、前記第１の撮像装置で撮像される前記実マーカのサイズは、前記第２の撮像装置で撮像される前記実マーカのサイズよりも大きいことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出されたそれぞれのマーカに対応付けられたそれぞれのマーカＩＤが異なっていても、前記検出されたそれぞれのマーカに対応するそれぞれの前記３次元マーカ座標が略同一となる場合、前記それぞれのマーカＩＤを同じマーカＩＤとしてマージするマージ手段をさらに有する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
撮像画像におけるマーカの位置を示す座標をマーカ座標としたとき、前記検出されたそれぞれのマーカに対応するそれぞれのマーカ座標と、前記検出されたそれぞれのマーカの特徴量マッチングの結果と、前記それぞれの内部パラメータと、に基づいて前記それぞれの３次元マーカ座標を導出する３次元マーカ座標導出手段をさらに有する
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記推定手段は、前記検出されたそれぞれのマーカに対応するマーカ信頼度に従って、前記導出されたそれぞれの３次元マーカ座標から前記それぞれのマーカ座標への再射影誤差が最小となるように、前記推定された位置姿勢と、前記導出された３次元マーカ座標とを調整することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記検出手段は、所定の閾値を用いて、前記第１の撮像画像および前記第２の撮像画像に含まれるそれぞれのマーカを検出するとともに、前記推定された位置姿勢と、前記導出されたそれぞれの３次元マーカ座標とに基づいて前記所定の閾値を更新することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記第１の撮像装置および前記第２の撮像装置それぞれの注視点位置と、前記推定された位置姿勢と、前記導出されたそれぞれの３次元マーカ座標と、前記それぞれの内部パラメータと、に基づいて前記それぞれのマーカのそれぞれのボケ量を導出するボケ量導出手段をさらに有し、
前記検出手段は、前記推定された位置姿勢と、前記導出されたそれぞれの３次元マーカ座標と、前記導出されたそれぞれのボケ量と、に基づいて前記所定の閾値を更新する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の撮像装置と前記第２の撮像装置とは、前記実マーカを介在させて対向する位置に設けられていることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記実マーカは板状のキャリブレーション用具に設けられており、前記キャリブレーション用具は、前記第１の撮像装置で撮像される前記実マーカが設けられる第１の面と、前記第２の撮像装置で撮像される前記実マーカが設けられる第２の面とを有することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記第１の面および前記第２の面には、サイズが異なる複数の前記実マーカがそれぞれ設けられることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記第１の撮像装置から前記第１の撮像装置で撮像される前記実マーカまでの距離が、前記第２の撮像装置から前記第２の撮像装置で撮像される前記実マーカまでの距離よりも長い場合、前記第２の面に設けられる前記実マーカの数は、前記第１の面に設けられる前記実マーカの数よりも多いことを特徴とする請求項９または１０に記載の画像処理装置。
【請求項１２】
前記第１の撮像装置および前記第２の撮像装置の少なくとも１つに隣接する第３の撮像装置と、前記第３の撮像装置と対向する前記キャリブレーション用具の面とのなす角度を対向角度としたとき、
前記対向角度が所定の角度よりも大きい場合、前記キャリブレーション用具の面には被認識可能角度が小さい実マーカが設けられ、前記対向角度が所定の角度よりも小さい場合、前記キャリブレーション用具の面には被認識可能角度が大きい実マーカが設けられる
ことを特徴とする請求項９から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
複数の撮像装置それぞれの位置姿勢を推定する画像処理方法であって、
前記複数の撮像装置のうち、第１の撮像装置で撮像された第１の撮像画像および第２の撮像装置で撮像された第２の撮像画像に含まれるそれぞれのマーカを検出する検出ステップと、
３次元空間における実マーカの位置を示す座標を３次元マーカ座標としたとき、前記検出されたそれぞれのマーカに対応するそれぞれの３次元マーカ座標が略同一となる場合、前記検出されたそれぞれのマーカと、前記第１の撮像装置および前記第２の撮像装置それぞれの内部パラメータとに基づいて、前記第１の撮像装置および前記第２の撮像装置それぞれの位置姿勢を推定する推定ステップと、を有し、
前記第１の撮像装置および前記第２の撮像装置で撮像されるそれぞれの実マーカのサイズは、前記検出されたそれぞれのマーカのサイズが略同一となるようなサイズである
ことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１から請求項１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１５】
キャリブレーション用具であって、
第１の撮像装置に撮像される第１の面と、
第２の撮像装置に撮像される第２の面と、を含み、
前記第１の面に設けられる実マーカのサイズと、前記第２の面に設けられる実マーカのサイズとが異なる
ことを特徴とするキャリブレーション用具。
【請求項１６】
前記第１の撮像装置が前記第１の面を撮像した画像を第１の撮像画像とし、
前記第２の撮像装置が前記第２の面を撮像した画像を第２の撮像画像としたとき、
前記第１の面および前記第２の面に設けられるそれぞれの実マーカのサイズは、前記第１の撮像画像および前記第２の撮像画像に含まれるそれぞれのマーカのサイズが略同一となるようなサイズである
ことを特徴とする請求項１５に記載のキャリブレーション用具。
【請求項１７】
前記第１の面または前記第２の面には、複数の実マーカが設けられる
ことを特徴とする請求項１５または１６に記載のキャリブレーション用具。
【請求項１８】
前記第１の面には、前記第２の面に設けられる実マーカより大きなサイズの実マーカが設けられ、前記第２の面に設けられる実マーカの数より少ない数の実マーカが設けられる
ことを特徴とする請求項１５から１７のいずれか１項に記載のキャリブレーション用具。
【請求項１９】
前記第１の面または前記第２の面に設けられる実マーカは、３次元形状を有する
ことを特徴とする請求項１５から１８のいずれか１項に記載のキャリブレーション用具。
【請求項２０】
前記第１の面または前記第２の面に設けられる実マーカは、丸、十字、チェッカーボードパターン、文字、図形、記号または所定のオブジェクトを少なくとも一部に有する
ことを特徴とする請求項１５から１８のいずれか１項に記載のキャリブレーション用具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点で撮像する複数の撮像装置のキャリブレーション技術に関する。
【背景技術】
【０００２】
複数の視点から被写体を撮像して得られた画像群から、任意の視点から視た画像（仮想視点画像）を生成する画像処理技術や、被写体の３次元形状を導出する画像処理技術が知られている。これらのような画像処理技術では、複数の視点で撮像する複数の撮像装置の位置姿勢情報（外部パラメータ）が正確であることが重要である。そのため、撮像装置のキャリブレーションを実施し、撮像装置の位置姿勢情報を求めることが一般的である。
【０００３】
特許文献１に記載の３次元計測システムによれば、角錐台形状の貫通穴をキャリブレーション用のマーカとして用い、対向する撮像装置でこの貫通穴を撮像することにより、撮像装置の位置姿勢を推定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１１２９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている技術を、例えば、競技場のような広い空間において、複数の視点に設置された複数の撮像装置のキャリブレーションを行う場合に適用する場合を考える。この場合、競技場に設置された対向する撮像装置が被写体を略同一のサイズで撮像可能な位置に、マーカが設けられたキャリブレーション用具を設置する必要がある。
【０００６】
しかしながら、キャリブレーション用具を設置する際に、競技場のフィールドを保全するために、少なくとも一部のフィールド内への立入が禁止される場合がある。このような場合、対向する撮像装置が被写体を略同一のサイズで撮像可能な位置にキャリブレーション用具を設置することができなくなる。
【０００７】
そうすると、キャリブレーション用具はフィールド外に設置せざるを得ず、一方の撮像装置からキャリブレーション用具上のマーカまでの距離と、他方の撮像装置からマーカまでの距離とが大きく異なってしまう。このような場合、例えば、特許文献１に記載の手法では、それぞれの撮像画像に含まれるマーカのサイズが大きく異なってしまうため、撮像装置の位置姿勢を高精度に推定することができなくなる。
【０００８】
本発明は上記課題に鑑みなされたものであり、複数の撮像装置の位置姿勢を高精度に推定することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、複数の撮像装置それぞれの位置姿勢を推定する画像処理装置であって、前記複数の撮像装置のうち、第１の撮像装置で撮像された第１の撮像画像および第２の撮像装置で撮像された第２の撮像画像に含まれるそれぞれのマーカを検出する検出手段と、３次元空間における実マーカの位置を示す座標を３次元マーカ座標としたとき、前記検出されたそれぞれのマーカに対応するそれぞれの３次元マーカ座標が略同一となる場合、前記検出されたそれぞれのマーカと、前記第１の撮像装置および前記第２の撮像装置それぞれの内部パラメータとに基づいて、前記第１の撮像装置および前記第２の撮像装置それぞれの位置姿勢を推定する推定手段と、を有し、前記第１の撮像装置および前記第２の撮像装置で撮像されるそれぞれの実マーカのサイズは、前記検出されたそれぞれのマーカのサイズが略同一となるようなサイズであることを特徴とする。
【発明の効果】
【００１０】
本発明の画像処理技術によれば、複数の撮像装置の位置姿勢推定を高精度に行うことができる、という効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は、実施形態１における撮像システムの構成例を示す模式図である。図１（ｂ）は、従来のキャリブレーションで用いられる実マーカ例を示す図である。
【図２】実施形態１における画像処理装置のハードウェア構成例を示す図である。
【図３】実施形態１における画像処理装置の機能構成例を示すブロック図である。
【図４】実施形態１におけるキャリブレーション手順例を示すフローチャートである。
【図５】実施形態１における撮像装置の位置姿勢の推定手順例を示すフローチャートである。
【図６】図６（ａ）は、実施形態１における撮像システムの構成例を示す模式図である。図６（ｂ）は、実施形態１における実マーカ例を示す図である。
【図７】実施形態１におけるマーカボードの別形態を示す図である。
【図８】実施形態２における画像処理装置の機能構成例を示すブロック図である。
【図９】実施形態２におけるキャリブレーション手順例を示すフローチャートである。
【図１０】図１０（ａ）は、実施形態２における撮像システムの構成例を示す模式図である。図１０（ｂ）は、実施形態２における実マーカ例を示す図である。
【図１１】実施形態３における画像処理装置の機能構成例を示すブロック図である。
【図１２】実施形態３におけるキャリブレーション手順例を示すフローチャートである。
【図１３】図１３（ａ）は、実施形態３における撮像システムの構成例を示す模式図である。図１３（ｂ）は、実施形態３における実マーカ例を示す図である。
【図１４】実施形態４における画像処理装置の機能構成例を示すブロック図である。
【図１５】実施形態４におけるキャリブレーション手順例を示すフローチャートである。
【図１６】図１６（ａ）は、実施形態４における撮像システムの構成例を示す模式図である。図１６（ｂ）は、実施形態４における実マーカ例を示す図である。
【発明を実施するための形態】
【００１２】
［実施形態１］
（撮像システムの構成）
図１（ａ）は、本実施形態における撮像システムの構成例を示す模式図である。  
本実施形態の撮像システム１００は、複数の撮像装置１０１ａ〜１０１ｊと、ＰＣ１０２と、表示装置１０３と、入力装置１０４ａ，１０４ｂとを有する。撮像装置１０１ａ〜１０１ｊは、略平面上に存在する被写体１０５ａ，１０５ｂを囲むように配置されており、複数の視点から被写体１０５ａ，１０５ｂを撮像する。被写体１０５ａは、例えば、撮像装置１０１ａ〜１０１ｊの撮影対象となる競技場で競技を行う選手や審判などの人物などの特定のオブジェクトであり得る。被写体１０５ｂは、競技で用いられるボールなどの特定のオブジェクトであり得る。画像処理装置であるＰＣ１０２には、表示装置１０３および入力装置１０４ａ，１０４ｂが接続されており、操作者は入力装置１０４ａ，１０４ｂを介して撮像条件などの設定を入力することができる。また、操作者は、複数の撮像装置１０１ａ〜１０１ｊが被写体１０５ａ，１０５ｂを撮像して得られた撮像画像の処理結果などを表示装置１０３で確認することができる。また、操作者は、撮像装置１０１ａ〜１０１ｊで撮像されたマーカボード１０６上のマーカを、ＰＣ１０２に認識させることによりカメラキャリブレーション（以下単に「キャリブレーション」とも記す）を行う。
【００１３】
なお、図１（ａ）に示す撮像システム１００の構成は一例に過ぎず、他の構成であってもよい。例えば、撮像システム１００は、さらに他の装置を有していてもよい、図１（ａ）に示す装置の一部を有さなくてもよい。また、撮像システム１００の撮像装置１０１の数は、図１（ａ）に示す数より多くても少なくてもよい。
【００１４】
図１（ｂ）は、キャリブレーションで用いられるマーカボード１０６の詳細例を示す図である。キャリブレーション用具であるマーカボード１０６は板状に形成されており、マーカボード１０６の表面１０６ａと、裏面１０６ｂとには、キャリブレーションターゲットであるマーカ１０７ａと、マーカ１０７ｂとがそれぞれ描かれている。なお、以下の説明において、説明の便宜のため、マーカボードに設けられているマーカを「実マーカ」と、撮像画像に含まれるマーカを単に「マーカ」と記す場合があるが、両者の相違点は撮像画像に含まれる像であるか否かであり、本質的な違いはない。図１（ｂ）に示される例では、表面１０６ａに描かれているマーカ１０７ａと、裏面１０６ｂに描かれているマーカ１０７ｂとは同じサイズである。なお、図１（ｂ）の説明において、「表面」「裏面」は便宜的なものであり、マーカボード１０６のいずれの面を表面または裏面にするかは、操作者が任意で決定することができる。これは、図２以降の説明においても同様である。
【００１５】
再び図１（ａ）に戻り、撮像画像１０８ａは、撮像装置１０１ａがマーカボードの表面１０６ａを撮像して得られた撮像画像であり、撮像画像１０８ｂは、撮像装置１０１ｂがマーカボードの裏面１０６ｂを撮像して得られた撮像画像である。撮像装置１０１ａと撮像装置１０１ｂとは、マーカボード１０６を介在させて対向する位置に設けられている。さらに、撮像装置１０１ａおよび１０１ｂからマーカボード１０６までの距離がそれぞれ異なる場合、撮像画像１０８ａに含まれるマーカ１０７ａと、撮像画像１０８ｂに含まれるマーカ１０７ｂとはサイズが大きく異なることになる。このように、マーカ検出条件によっては、撮像システム１００が撮像画像からマーカを検出することができない場合が発生する。そうすると、撮像システム１００は、撮像装置１０１ａ〜１０１ｊの位置姿勢を高精度に推定することができなくなる。
【００１６】
（画像処理装置のハードウェア構成）
図２は、本実施形態におけるＰＣ１０２のハードウェア構成例を示す図である。  
ＰＣ１０２は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、記憶部２０４と、入出力インターフェース（以下インターフェースは「Ｉ／Ｆ」と記す）２０５と、画像信号Ｉ／Ｆ２０６と、システムバス２０７とを有する。外部メモリ２０８は入出力Ｉ／Ｆ２０５に接続されている。表示装置１０３は画像信号Ｉ／Ｆ２０６に接続されている。
【００１７】
ＣＰＵ２０１は、ＰＣ１０２の各構成を統括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１の１次記憶領域およびワークエリアとして機能する。ＲＯＭ２０３には、ＰＣ１０２における各種画像処理を実行するプログラムなどが記憶される。ＣＰＵ２０１は、ＲＯＭ２０３に格納されたプログラムをＲＡＭ２０２にロードして実行することにより、後述の種々の画像処理を実現する。記憶部２０４は、画像処理の対象となる画像データや、画像処理で用いられるパラメータなどを記憶する。なお、記憶部２０４には、ＨＤＤ、光ディスクドライブ、フラッシュメモリなどを適用することができる。入出力Ｉ／Ｆ２０５は、例えばＵＳＢやＩＥＥＥ１３９４などのシリアルバスＩ／Ｆである。ＰＣ１０２は、この入出力Ｉ／Ｆ２０５を介して、外部メモリ２０８から画像処理の対象となる画像データなどを取得したり、画像処理を施した画像データを外部メモリ２０８に記憶することができる。なお、外部メモリ２０８には、ハードディスク、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどを適用することができる。画像信号Ｉ／Ｆ２０６は、例えばＤＶＩやＨＤＭＩなどの映像出力端子である。ＰＣ１０２は、この画像信号Ｉ／Ｆ２０６を介して、画像処理を施した画像データを表示装置１０３に出力することができる。なお、液晶ディスプレイなどの画像表示デバイスを表示装置１０３に適用することができる。ＰＣ１０２の構成要素は上記以外にも存在するが、本実施形態の主眼ではないため説明を省略する。
【００１８】
（画像処理装置の機能構成）
図３は、本実施形態におけるＰＣ１０２の機能構成例を示すブロック図である。  
図３に示される各ブロックの機能は、ＣＰＵ２０１が画像処理プログラムのプログラムコードをＲＡＭ２０２に読み出して実行することにより実現される。あるいはまた、図３におけるブロックの一部または全部の機能をＡＳＩＣや電子回路などのハードウェアで実現してもよい。これらは図３以降のブロック図においても同様である。  
入力部３０１は、入出力Ｉ／Ｆ２０５を介して複数視点画像データの入力を受け付けてＲＡＭ２０２に格納する。マーカ検出部３０３は、閾値記憶部３０２から読み出したマーカ検出閾値を用いて、複数視点画像に含まれるマーカを検出する。マーカＩＤマージ部３０５は、マーカボードの表面に描かれたマーカのマーカＩＤと、マーカボードの裏面に描かれたマーカのマーカＩＤとを設定値記憶部３０４から読み出し、これらマーカＩＤを同一のマーカＩＤにマージする。位置姿勢推定部３０７は、パラメータ記憶部３０６から撮像装置の内部パラメータを読み出す。そして、位置姿勢推定部３０７は、読み出した内部パラメータと、撮像画像ＩＤと、マーカＩＤと、マーカ座標とに基づいて、撮像装置の位置姿勢を推定する。
【００１９】
（撮像装置のキャリブレーション手順）
図４は、本実施形態における撮像装置のキャリブレーション手順例を示すフローチャートである。以下、図４のフローチャートを参照してキャリブレーション手順例について説明する。なお、図４に示されるフローチャートの処理は、ＣＰＵ２０１がＲＯＭ２０３に記憶されている画像処理プログラムのプログラムコードをＲＡＭ２０２に展開し実行することにより行われる。以下の各記号Ｓは、フローチャートにおけるステップであることを意味する。これらは図４以降のフローチャートについても同様である。
【００２０】
Ｓ４０１において、入力部３０１は、入出力Ｉ／Ｆ２０５を介して複数視点画像データの入力を受け付けてＲＡＭ２０２に格納する。ここで、複数視点画像データは、撮像装置１０１ａ〜１０１ｊによって同一の被写体が互いに異なる視点から撮像して得られた複数の撮像画像データである。本実施形態において、撮像視点は少なくとも２つであり、１つの撮像装置によって撮像される画像は少なくとも１枚であるものとする。もちろん、１つの撮像装置によって撮像される画像は複数枚であってもよい。なお、入力部３０１は、複数視点画像データを外部メモリ２０８から受け付けてもよいし、撮像装置１０１ａ〜１０１ｊから直接受け付けてもよい。また、複数視点画像データが表す複数視点画像に含まれるマーカは動かないものとする。これは、具体的には、撮像装置１０１ａ〜１０１ｊを高精度に同期させてマーカボードを動かすか、または、撮像装置１０１ａ〜１０１ｊを同期させることができない場合はマーカボードを固定させることを意味する。
【００２１】
Ｓ４０２において、マーカ検出部３０３は、閾値記憶部３０２から読み出したマーカ検出閾値に基づいて、複数視点画像に含まれるマーカと、該マーカに対応付けられたマーカＩＤとを検出する。マーカ検出部３０３は、複数視点画像のうち、マーカを検出する対象となる撮像画像のＩＤと、その撮像画像に含まれるマーカのＩＤと、撮像画像におけるマーカの位置を示す座標と、マーカ検出閾値と、マーカ信頼度とをＲＡＭ２０２に格納する。以下の説明において、説明の簡略化のため、撮像画像のＩＤは「撮像画像ＩＤ」と、マーカのＩＤは「マーカＩＤ」と、撮像画像（またはフレーム）におけるマーカの位置を示す座標は「マーカ座標」とそれぞれ記す。  
ここで、本実施形態のマーカ検出閾値は、例えば、２値画像における画素値を区画する所定の閾値や、検出対象となるマーカのサイズを区画する所定の閾値や、撮像画像におけるマーカの探索範囲を区画する所定の閾値などである。また、本実施形態のマーカ信頼度は、マーカ検出閾値と、マーカの検出結果とから求めることができる重み係数であって、あるマーカ検出閾値でのマーカを検出する確からしさを示す重み係数に相当する。なお、マーカ検出閾値は、マーカの形状またはマーカ検出方法に応じてマーカを検出する確からしさが異なるため、マーカの形状またはマーカ検出方法ごとに異なる信頼度を設定してもよい。  
また、マーカＩＤは、複数視点画像に含まれるマーカそれぞれに一意に付与される識別子であり、記憶部２０４などの記憶領域（以下単に「記憶領域」とも記す）に予め記憶されたマーカとパターンマッチングを行うことによって検出することができる。あるいはまた、マーカボード１０６が設置される位置が予め定められている場合、これらの位置とマーカＩＤとが対応付けられたデータベースを検索することにより、マーカＩＤが検出されてもよい。
【００２２】
図１（ｂ）に示される通り、本実施形態では、実マーカは平面に描かれた２重丸である例が示されるが、これに限られず十字、チェッカーボードパターン、ＡＲ(Augmented Reality)などの文字、図形、記号であってもよいし、これらを任意に組み合わせた形状であってもよい。また、実マーカは、丸、十字、チェッカーボードパターン、ＡＲ(Augmented Reality)などの文字、図形、記号を少なくとも一部に有していてよい。本実施形態では、例えば、マーカの形状が円や２重丸の場合は中心位置が、十字の場合は交差点の中心位置が、チェッカーボードパターンの場合は白黒の四角形の交差点位置がそれぞれマーカ座標として検出される。つまり、マーカ座標は、各マーカに含まれる特徴点が、撮像画像において点として認識される位置であればよい。
【００２３】
Ｓ４０３において、マーカＩＤマージ部３０５は、マーカボードの表面に描かれたマーカに対応付けられたマーカＩＤと、マーカボードの裏面に描かれたマーカに対応付けられたマーカＩＤとを設定値記憶部３０４から読み出す。そして、マーカＩＤマージ部３０５は、これらのマーカＩＤを同一のマーカＩＤにマージする。マージされたマーカＩＤはＲＡＭ２０２に記憶される。  
【００２４】
例えば、マーカボードの表面に描かれたマーカに対応付けられたマーカＩＤが「０００１」、マーカボードの裏面に描かれたマーカに対応付けられたマーカＩＤが「０００２」であった場合、これらのマーカＩＤがマージされて「０００１」となる。なお、マーカＩＤがマージされた後でも、後述の推定処理（Ｓ４０４）において用いられるマーカ検出閾値とマーカ信頼度とは、それぞれ元のマーカＩＤ「０００１」と「０００２」と対応付けられている値がそのまま用いられるものとする。
【００２５】
Ｓ４０４において、位置姿勢推定部３０７は、パラメータ記憶部３０６から撮像装置の内部パラメータを読み出す。そして、位置姿勢推定部３０７は、読み出した内部パラメータと、撮像画像ＩＤと、マーカＩＤと、マーカ座標とに基づいて、撮像装置の位置姿勢および３次元空間のワールド座標系における実マーカの３次元座標を推定する。撮像装置の位置姿勢の推定手順の詳細は後述する。なお、説明の簡略化のため、以後、３次元空間のワールド座標系における実マーカの３次元座標は、単に「３次元マーカ座標」と記す。
【００２６】
Ｓ４０５において、マーカ検出部３０３は、マーカの検出を終了するか否かを判定する。マーカの検出を終了する場合（Ｓ４０５：ＹＥＳ）、本フローチャートの処理を終了する。マーカの検出を終了しない場合（Ｓ４０５：ＮＯ）、Ｓ４０６に移行する。なお、終了判定は、Ｓ４０２〜Ｓ４０４が予め設定された回数実行されたか否かや、複数視点画像に含まれるマーカが全て検出されたかに基づいて行われる。
【００２７】
Ｓ４０６において、マーカ検出部３０３は、Ｓ４０４の推定結果に基づいてマーカ検出閾値を再設定する。Ｓ４０６でマーカ検出閾値が再設定されると再びＳ４０２に戻る。２回目以降にＳ４０２のマーカ検出処理が行われる場合、マーカ検出部３０３は、Ｓ４０６で再設定されたマーカ検出閾値に基づいてマーカを再度検出する。このようにマーカ検出閾値の設定を繰り返すことにより、撮像装置の位置姿勢を推定する精度を向上させることができる。
【００２８】
図５は、本実施形態における、撮像装置の位置姿勢の推定手順（Ｓ４０４）例を示すフローチャートである。以下、図５のフローチャートを参照して、本実施形態における、撮像装置の位置姿勢の推定手順例について説明する。
【００２９】
Ｓ５０１において、位置姿勢推定部３０７は、撮像装置１０１ａ〜１０１ｊが設置されているすべての視点のなかから、最初に位置姿勢を推定する対象となる２つの視点を選択する。より詳細には、Ｓ４０１で入力された複数視点画像データのなかから、選択した２つの視点で撮像された２つの撮像画像（以下「キーフレーム」と記す）が選択される。いずれをキーフレームとして選択するかは、予め設定されていてもよいし、最も多くのマーカを含むフレームが選択されてもよい。撮像装置の順序や位置関係が予め設定されている場合、このような設定情報を利用して、共通するマーカが含まれる撮像画像対がキーフレームとして選択されてもよい。
【００３０】
Ｓ５０２において、位置姿勢推定部３０７は、Ｓ５０１で選択したキーフレームに含まれるマーカの特徴量をマッチングし、この特徴量のマッチング結果からＦ行列を導出する。Ｆ行列は一般的に基礎行列とも称され、キーフレームにおけるそれぞれのマーカ座標を[x_0i,y_0i]，[x_1i,y_1i](i=1...N、Nはマーカの数)とした場合、以下の式（１）を満たす行列が相当する。
【００３１】
【数１】
2019086476.tif 000003
【００３２】
Ｆ行列を求めるためにはDLT(Direct Linear Transformation)による解法などを用いればよい。特徴量マッチングでは特徴点同士が誤ってマッチングされてしまう場合が多いため、RANSACやM推定のようなロバスト推定法を用いて特徴量マッチングにおける誤りを低減してもよい。
【００３３】
なお、特徴量マッチングにおける誤りを低減する場合、マーカ信頼度に従ってロバスト推定を行うとよい。例えばRANSACを用いる場合、信頼度の高いマーカがより高い頻度でサンプリングされるように設定されると、信頼度の高いマーカと整合しない特徴点を外れ値として削除しやすくなる。
【００３４】
あるいはまた、特徴量マッチングにおける誤りを低減するために、例えばM推定を用いる場合、各特徴点に重みα1i,α2iをかけて
【００３５】
【数２】
2019086476.tif 000004
【００３６】
とし、信頼度の高いマーカのαiを大きく、信頼度の低いマーカのαiを小さくして計算することにより、信頼度の高いマーカと整合性が取れない特徴点を外れ値として削除しやすくなる。
【００３７】
Ｓ５０３において、位置姿勢推定部３０７は、Ｓ５０２で導出したＦ行列から撮像装置の位置姿勢パラメータを導出する。具体的には、Ｆ行列の左右に撮像装置の内部パラメータ行列Ａ０，Ａ１の逆行列をそれぞれかけた値を特異値分解して、直交行列Ｕ，Ｖ，対角行列Σに分解して、以下の式（３）に示される通りにＲとｔとを求めればよい。
【００３８】
【数３】
2019086476.tif 000005
【００３９】
Ｒｚはキーフレームにそれぞれ対応する２パターンのいずれかであり、キーフレームにおけるマーカ座標に対応する３次元マーカ座標が、撮像装置の後ろ側（すなわち、被写体を撮像する方向と反対側）に位置しないようにＲｚを設定すればよい。なお、ここで導出されるＲとｔとは、キーフレームを撮像した１台目の撮像装置（以降「撮像装置０」と記す）の位置ｔ＿１を原点、姿勢Ｒ＿１を単位行列とした場合において、２台目の撮像装置（以降「撮像装置１」と記す）のｔ＿２とＲ＿２とに相当する。
【００４０】
Ｓ５０４において、位置姿勢推定部３０７は、既に導出された位置姿勢パラメータと、キーフレーム同士の特徴量マッチングの結果とに基づき、３次元マーカ座標を導出する。具体的には、キーフレームにおけるマーカ座標(x,y)に対して、３次元マーカ座標(X,Y,Z)は式（４）のように記述することができる。
【００４１】
【数４】
2019086476.tif 000006
【００４２】
ここで、撮像装置k(k=0,1)のi番目(i=1...N、Nは特徴量マッチングの数)の特徴点[x_ki,y_ki]に対応する３次元マーカ座標の集合[X_ki,Y_ki,Z_ki](以下「p_ki」と記す)は未知の変数s_kiを用いて式（５）のように記述することができる。
【００４３】
【数５】
2019086476.tif 000007
【００４４】
このとき、p_ki(k=0)とp_ki(k=1)との間のユークリッド距離が最短となるようなs_kiを求め、さらに式（６）を用いてp_kiの平均を取る。そうすると、マーカ座標（特徴量が検出された位置）[x_ki,y_ki](k=1,0)に対応する３次元マーカ座標[X_i,Y_i,Z_i]（以下「p_i」と記す）を求めることができる。
【００４５】
【数６】
2019086476.tif 000008
【００４６】
ここで、p_ki(k=0)とp_ki(k=1)との間のユークリッド距離が最短となるようなs_kiは、以下の式（７）を用いて求めることができる。
【００４７】
【数７】
2019086476.tif 000009
【００４８】
式（７）を用いて求めたs_1i,s_2iを式（４）に代入し、さらに式（５）から３次元マーカ座標p_iを求めることができる。なお、s_1i,s_2iの少なくともいずれか一方が負の値であると、この３次元マーカ座標p_iが撮像装置の後ろ側に位置することになってしまうので、このような値は外れ値として削除すればよい。このように、位置姿勢推定部３０７が行うＳ５０４，Ｓ５１０の処理は、本実施形態において３次元マーカ座標導出手段として機能する。
【００４９】
Ｓ５０５において、位置姿勢推定部３０７は、Ｓ５０３で導出した位置姿勢パラメータと、Ｓ５０４で導出した３次元マーカ座標とを、３次元マーカ座標からキーフレームにおけるマーカ座標への再射影誤差が最小になるように微調整する。この処理は一般的にバンドル調整とも呼ばれる。
【００５０】
具体的には、p_i(i=1,..,N)の再射影[x(R_k,t_k,p_i),y(R_k,t_k,p_i)]と、３次元マーカ座標[x_ki,y_ki]との誤差E(R_0,R_1,t_0,t_1,p_1,...,p_N)は、以下の式（８）によって記述することができる。
【００５１】
【数８】
2019086476.tif 000010
【００５２】
ここで、αkiは、撮像装置kのフレームにおけるi個目のマーカ（または特徴点）のマーカ座標の信頼度を示す。信頼度の高いマーカのαkiを大きく、信頼度の低いマーカのαkiを小さくすることにより、信頼度の高いマーカの誤差が極力小さくなるような解を求めることができる。
【００５３】
このとき、バンドル調整は、このEの値を最小化するようなR_0,R_1,t_0,t_1,p_1,...,p_Nを、非線形最適化手法を用いて求めることに相当する。非線形最適化手法にはLevenberg-Marquardt法などを用いればよい。なお、バンドル調整の際に、非線形最適化手法で収束したパラメータR_0,R_1,t_0,t_1はバンドル調整前とは異なっているため、もう一度外れ値の評価を行うことが望ましい。さらに、外れ値として判定した点の中にも更新したR_0,R_1,t_0,t_1では外れ値でない点があるかどうか評価して外れ値でない点は追加する処理を入れることが望ましい。このとき、点の削除や追加が行われた場合はもう一度バンドル調整を行い、パラメータR_0,R_1,t_0,t_1を更新するとよい。
【００５４】
Ｓ５０６において、位置姿勢推定部３０７は、全ての視点について処理が完了したか否かを判定する。全ての視点について処理が完了した場合（Ｓ５０６：ＹＥＳ）は再び図４のフローチャートに戻る。全ての視点について処理が完了していない場合（Ｓ５０６：ＮＯ）はＳ５０７に移行する。
【００５５】
Ｓ５０７において、位置姿勢推定部３０７は、位置姿勢推定が完了していない視点のなかから、位置姿勢を推定する対象となる視点を選択する。より詳細には、Ｓ４０１で入力された複数視点画像データのなかから、選択した視点で撮像された撮像画像（以下「追加フレーム」と記す）が選択される。なお、Ｓ５０７において２以上の追加フレームが選択されてもよい。いずれを追加フレームとして選択するかは、予め設定されていてもよいし、既に導出された３次元マーカ座標に対応するマーカ数が充分に多いフレームが追加フレームとして選択されてもよい。例えば、３次元マーカ座標に対応するマーカ数をＮ個とした場合、予め定められた割合（例えば６０％なら０．６Ｎ個）以上のマーカ数を含むフレームが選択されるようにしてもよい。撮像装置の順序や位置関係が予め設定されている場合、このような設定情報を利用して、撮像装置同士の位置関係が近く、かつ、多くのマーカを含むフレームが選択されるようにしてもよい。
【００５６】
Ｓ５０８において、位置姿勢推定部３０７は、既に導出された３次元マーカ座標と、Ｓ５０７で選択された追加フレームにおけるマーカ座標との対応関係を示す射影行列を導出する。具体的には、既に導出された３次元マーカ座標[X_i,Y_i,Z_i]をR_k,t_kで射影して得られたフレーム上の２次元座標と、追加フレームにおけるマーカ座標[x_ki,y_ki]との誤差が最小になるようにR_k,t_kを求めればよい。ここで、kは、Ｓ５０７で追加されたフレームに対応するインデックスである。再射影誤差Eは以下の式（９）のように記述することができる。
【００５７】
【数９】
2019086476.tif 000011
【００５８】
式（７）とは異なり、p_iはパラメータではなく固定値として取り扱われる。この解は解析的に求めることができ、
【００５９】
【数１０】
2019086476.tif 000012
【００６０】
となる行列Ｍに対して、  
【００６１】
【数１１】
2019086476.tif 000013
【００６２】
となるようなr_11〜r_33，t_1〜t_3が、式（８）を最小化するようなR_k=[r_ij]，t_k=[t_i]であり、これが射影行列に相当する。式（１０）を満たすr_11〜r_33,t_1〜t_3はＭ＾ＴＭの特異値分解を行い、最小の固有値に対応する固有ベクトルによってr_11〜r_33,t_1〜t_3を導出することができる。このような処理は一般的にPnP法と呼ばれる。３次元のワールド座標系から３次元座標の分布に従った座標系に変換してからPnP法を行うEPnPと呼ばれる手法を適応すると、高精度で高速に処理を行えることが知られている。なお、ここでも画像特徴点の誤対応の影響で大きな外れ値が含まれる場合があるため、PnP法でもRANSACやM推定のようなロバスト推定が行われることが望ましい。
【００６３】
このとき、Ｓ５０２と同様に、マーカ信頼度に応じたロバスト推定を行うとよい。例えば、RANSACを用いる場合、信頼度の高いマーカがより高い頻度でサンプリングされるように設定されると、信頼度の高いマーカと整合しない特徴点を外れ値として削除しやすくなる。
【００６４】
あるいはまた、特徴量マッチングにおける誤りを低減するために、例えばM推定を用いる場合、各特徴点に重みαkiをかけて
【００６５】
【数１２】
2019086476.tif 000014
【００６６】
とし、信頼度の高いマーカのαkiを大きく、信頼度の低いマーカのαkiを小さくして計算することにより、信頼度の高いマーカと整合性が取れない特徴点を外れ値として削除しやすくなる。
【００６７】
Ｓ５０９において、位置姿勢推定部３０７は、Ｓ５０８で導出した射影行列から撮像装置の位置姿勢パラメータを導出する。Ｓ５０８で導出したR_k=[r_ij]は、式（１０）に示される行列Ｍを導出する際に回転行列の制約がなかったため、一般的に回転行列の条件を満たしていない。そこで、R_k^TR_kが単位行列となるように制約付きの非線形最適化を行い、P=[r_ij][t_i]の特異値分解からR_kを求め、それを用いてt_kを導出すればよい。
【００６８】
Ｓ５１０において、位置姿勢推定部３０７は、Ｓ５０９で導出した位置姿勢パラメータと、追加フレームの特徴量マッチングの結果とに基づき、３次元マーカ座標を導出する。具体的には、Ｓ５０４で説明した式（６）を用いて、キーフレームにおけるマーカ座標[x_ki,y_ki](k=1,2)からi番目の３次元マーカ座標p_iを求めた処理と同様の処理を行えばよい。各フレームにおけるi番目のマーカ座標は[x_ki,y_ki](k=1,2,…,M)であり、撮像装置と３次元マーカ座標の推定位置とを結ぶ線は、式（５）のp_ki(k=1,2,…,M)となる。このとき、p_ki(k=0,1,…,M)間のユークリッド距離が最短となるようなs_ki(k=1,2,…,M)を求め、さらに式（１３）を用いてp_ki(k=0,1,…,M)の平均を取る。そうすると、マーカ座標[x_ki,y_ki](k=1,0,…,M)に対応する３次元マーカ座標p_i=[X_i,Y_i,Z_i]を求めることができる。
【００６９】
【数１３】
2019086476.tif 000015
【００７０】
式（４）に入力されるs_k1i〜s_kMi(k1,..,kMはＳ５０７で追加されたフレームに対応するインデックス)は式（５）をＭ視点に拡張して
【００７１】
【数１４】
2019086476.tif 000016
【００７２】
とすれば求めることができる。次いで、式（１４）を用いて求めたs_k1i〜s_kMiを式（４）に代入し、さらに式（５）から３次元マーカ座標p_iを求めることができる。なお、s_k1i〜s_kMiの少なくともいずれかが１つが負の値であると、この３次元マーカ座標p_iが撮像装置の後ろ側に位置することになってしまうので、このような値は外れ値として削除すればよい。あるいはまた、追加フレーム数が、その追加フレームを除外しても２以上存在する場合、その追加フレームに対応するs_k1i〜s_kMiを外れ値として削除し、残りの追加フレームに対応する値に基づいて３次元マーカ座標p_iを導出してもよい。
【００７３】
Ｓ５１１において、位置姿勢推定部３０７は、Ｓ５０９で導出した位置姿勢パラメータと、Ｓ５１０で導出した３次元マーカ座標とを、３次元マーカ座標から追加フレームにおけるマーカ座標への再射影誤差が最小になるように微調整する。Ｓ５１１の処理内容はＳ５０５と同じため説明を省略する。Ｓ５１１終了後は再びＳ５０６の判定処理に移行する。
【００７４】
（実施形態１のキャリブレーション手法による効果）
以下、本実施形態のキャリブレーション手法による効果について説明する。上述の通り、図１（ｂ）には、表面と裏面とにそれぞれ同じサイズのマーカ１０７ａ，１０７ｂが描かれているマーカボード１０６が示されている。そして、図１（ａ）に示される通り、撮像装置１０１ａと１０１ｂとが対向する位置に配置されており、撮像装置からマーカボードまでの距離がそれぞれ異なる場合、Ｓ４０１で入力される複数視点画像は撮像画像１０８ａ、１０８ｂの通りとなる。そうすると、撮像画像１０８ａに含まれるマーカ１０７ａのサイズと、撮像画像１０８ｂに含まれるマーカ１０７ｂのサイズとは大きく異なることになる。この結果、同じマーカ検出閾値に基づいて、マーカボード表面のマーカ１０７ａと、マーカボード裏面のマーカ１０７ｂとの双方を検出することが困難となる。
【００７５】
図６（ａ）は、本実施形態における撮像システムの構成例を示す模式図である。
図６（ａ）の撮像システムにおいて、マーカボード６０１以外の構成、例えば撮像装置１０１ａ〜１０１ｊの配置などは図１（ａ）と同じである。  
【００７６】
図６（ｂ）は、本実施形態のマーカボード６０１の例を示す図である。マーカボード６０１の表面６０１ａと裏面６０１ｂとには、キャリブレーションターゲットであるマーカ６０２ａとマーカ６０２ｂとがそれぞれ描かれている。図６（ｂ）に示される例では、マーカボード６０１の表面に描かれているマーカ６０２ａは、マーカボード１０６の裏面に描かれているマーカ６０２ｂのサイズよりも大きくなっている。
【００７７】
撮像装置１０１ａと１０１ｂとが対向する位置に配置されており、撮像装置１０１ａからマーカボードの表面６０１ａまでの距離が遠く、撮像装置１０１ｂからマーカボードの裏面６０１ｂまでの距離が短い場合、撮像画像は図６（ａ）の通りとなる。すなわち、撮像装置１０１ａがマーカボードの表面６０１ａを撮像した撮像画像６０３ａにおけるマーカのサイズと、撮像装置１０１ｂがマーカボードの裏面６０１ｂを撮像した撮像画像６０３ｂにおけるマーカのサイズとは、ほぼ同じサイズとなる。この結果、同じマーカ検出閾値に基づいて、マーカボード表面のマーカ６０２ａと、マーカボード裏面のマーカ６０２ｂとの双方を検出することが可能となる。
【００７８】
図６（ｂ）では、表面６０１ａと裏面６０１ｂとに異なるサイズのマーカがそれぞれ１つ描かれているマーカボード６０１の例が示されている。マーカボードはこの形態に限られず、例えば、マーカボード上に大きいサイズのマーカと小さいサイズのマーカとを混在させてもよい。図７は、マーカボードの別形態を示す図である。図７では、マーカボードの表面７０１ａに大きいサイズのマーカ７０２ａと小さいサイズのマーカ７０３ａとが混在しており、同様に、マーカボードの裏面７０１ｂにも大きいサイズのマーカ７０３ｂと小さいサイズのマーカ７０２ｂとが混在している。そして、大きいサイズのマーカ７０２ａに対応する反対面の位置には小さいサイズのマーカ７０２ｂが、小さいサイズのマーカ７０３ａに対応する反対面の位置には大きいサイズのマーカ７０３ｂが配置されている。本実施形態の撮像システム１００に図７に示されるマーカボードを適用した場合、マーカボードのいずれの面を撮像装置に向けても、少なくとも大きいサイズのマーカ７０２ａ、７０３ｂが認識される。そのため、裏表を意識せずにマーカボードを設置することができるというメリットがある。
【００７９】
以上説明した通り、本実施形態のキャリブレーション手法では、表面と裏面とでサイズが異なるマーカを有するマーカボードを用いて複数の撮像装置の位置姿勢が推定される。そのため、複数の撮像装置からマーカボードまでの距離がそれぞれ異なる場合であっても、複数の撮像装置に含まれるマーカのサイズを略同一にすることができるため、複数の撮像装置の位置姿勢を高精度に推定することができる。
【００８０】
［実施形態２］
実施形態１では、表面と裏面とに同数のマーカが描かれているマーカボードを用いてキャリブレーションを行う実施形態について説明した。しかしながら、小さいサイズのマーカが描かれている面には空白領域が多いため、マーカを追加する余地がある。そこで、本実施形態では、撮像装置からマーカボードまでの距離が近い面に多数の小さいマーカを、撮像装置からマーカボードまでの距離が遠い面に少数の大きいマーカが描かれているマーカボードを用いる実施形態について説明する。なお、実施形態１と共通する部分については説明を簡略化ないし省略し、以下では本実施形態に特有な点を中心に説明する。
【００８１】
図８は、本実施形態におけるＰＣ１０２の機能構成例を示すブロック図である。  
実施形態１と比較して、本実施形態におけるＰＣ１０２の機能構成は、マーカＩＤマージ部３０５に代えて、複数マーカＩＤマージ部８０１を有する点が相違する。複数マーカＩＤマージ部８０１による処理内容については後述する。
【００８２】
図９は、本実施形態における撮像装置のキャリブレーション手順例を示すフローチャートである。  
【００８３】
Ｓ９０１〜Ｓ９０２は、図４におけるＳ４０１〜Ｓ４０２と同じである。  
【００８４】
Ｓ９０３において、複数マーカＩＤマージ部８０１は、マーカボードの表面に描かれたマーカに対応付けられたマーカＩＤと、マーカボードの裏面に描かれたマーカに対応付けられたマーカＩＤとを設定値記憶部３０４から読み出す。そして、複数マーカＩＤマージ部８０１は、これらのマーカＩＤを同一のマーカＩＤにマージするとともに、実マーカサイズを設定する。マージされたマーカＩＤと、設定された実マーカサイズとはＲＡＭ２０２に記憶される。
【００８５】
ここで、図１０（ａ）（ｂ）を参照して、本実施形態の複数マーカＩＤのマージ処理の詳細について説明する。図１０（ｂ）では、本実施形態において、表面１００１ａと裏面１００１ｂとに描かれているマーカボード１００１の例が示されている。マーカボードの表面１００１ａにはマーカ１００２ａが、裏面１００１ｂにはマーカ１００２ｂがそれぞれ描かれている。マーカ１００２ａと１００２ｂとはそれぞれの面において同じ位置に配置されており、マーカ１００２ａのマーカＩＤと１００２ｂのマーカＩＤとは、同じマーカＩＤにマージされる。また、実マーカサイズは、例えば、図１０（ｂ）に示される通り、マーカ同士の間隔１００３，１００４が相当し、この設定された実マーカサイズがＲＡＭ２０２に記憶される。
【００８６】
Ｓ９０４において、位置姿勢推定部３０７は、内部パラメータと、撮像画像ＩＤと、マーカＩＤと、マーカ座標とに基づいて、撮像装置の位置姿勢を推定する。  
【００８７】
Ｓ９０４では、基本的にＳ４０４と同じ処理が行われる。ただし、本実施形態では、実マーカサイズが取得される。本実施形態では、マーカ１００２ｂに対応する３次元マーカ座標と、マーカ１００５に対応する３次元マーカ座標との間の距離が、縦の間隔１００３および横の間隔１００４それぞれに近くなるように推定処理が行われる。そのため、撮像装置の位置姿勢を推定する精度を向上させることができるという効果を見込める。  
【００８８】
Ｓ９０５〜Ｓ９０６は、図４におけるＳ４０５〜Ｓ４０６と同じである。
【００８９】
（実施形態２のキャリブレーション手法による効果）
以下、本実施形態のキャリブレーション手法による効果について説明する。  
上述の通り、図１０（ｂ）には、撮像装置１０１ｂからの距離が近い面に多数の小さいマーカが、撮像装置１０１ａからの距離が遠い面に少数の大きいマーカが描かれている、マーカボード１００１が示されている。そして、図１０（ａ）に示される通り、撮像装置１０１ａと１０１ｂとが対向する位置に配置されており、撮像装置からマーカボードまでの距離がそれぞれ異なる場合、Ｓ９０１で入力される複数視点画像は撮像画像１００６ａ、１００６ｂの通りとなる。すなわち、撮像画像１００６ａにおけるマーカ１００２ａのサイズと、撮像画像１００６ｂにおけるマーカ１００２ｂサイズとは、ほぼ同じサイズとなる。この結果、同じマーカ検出閾値に基づいて、マーカボード表面のマーカ１００２ａと、マーカボード裏面のマーカ１００２ｂとの双方を検出することが可能となる。
【００９０】
さらに、本実施形態の撮像システム１００は、マーカボード１００１の裏面１００１ｂに描かれているマーカ１００２ｂ以外の複数のマーカ１００５を認識することによるキャリブレーション手法も併用することができる。このような手法によれば、より効率的かつ高精度に、撮像装置の位置姿勢を推定することができる。
【００９１】
以上説明した通り、本実施形態のキャリブレーション手法では、撮像装置から近い面に多数の小さいマーカを有し、撮像装置から遠い面に少数の大きいマーカを有するマーカボードを用いて複数の撮像装置の位置姿勢が推定される。そのため、実施形態１の効果に加えて、マーカボードから近い位置に設けられている撮像装置は多数のマーカを認識することができるため、複数の撮像装置の位置姿勢を高精度に推定することができる。
【００９２】
［実施形態３］
実施形態１および２の撮像システム１００では、撮像装置が対向する離れた位置に配置され、同じ種類のマーカを認識していた。しかしながら、図１（ａ）の撮像システムのように、撮像装置１０１ａ〜１０１ｊがほぼ均等間隔で配置されている場合、マーカを良好に認識できない場合が発生する。具体的には、マーカボード１０６から遠い撮像装置１０１ａに隣接する撮像装置（撮像装置１０１ｃ）と、マーカボード１０６から近い撮像装置１０１ｂに隣接する撮像装置（撮像装置１０１ｉ）とでは、マーカボード１０６に対する角度が大きく異なる場合がある。以後、説明を簡略化するため、隣接する撮像装置と、当該隣接する撮像装置と対向するマーカボードの面とのなす角度を「対向角度」と記す。この場合、撮像装置１０１ｃで撮像装置１０１ａが認識するマーカを認識することができても、撮像装置１０１ｉで撮像装置１０１ｂが認識するマーカを認識することができない、といった状況が発生するおそれがある。  
【００９３】
そこで、本実施形態では、撮像装置との対向角度が小さいマーカボードの面に被認識可能角度が大きいマーカを、撮像装置との対向角度が大きいマーカボードの面に被認識可能角度が小さいマーカを有するマーカボードを用いる実施形態について説明する。なお、上述の実施形態と共通する部分については説明を簡略化ないし省略し、以下では本実施形態に特有な点を中心に説明する。
【００９４】
図１１は、本実施形態におけるＰＣ１０２の機能構成例を示すブロック図である。  
【００９５】
実施形態１と比較して、本実施形態におけるＰＣ１０２の機能構成は、マーカ検出部３０３に代えて、第１マーカ検出部１１０１と第２マーカ検出部１１０２とを有する点が相違する。第１マーカ検出部１１０１および第２マーカ検出部１１０２による処理内容については後述する。
【００９６】
図１２は、本実施形態における撮像装置のキャリブレーション手順例を示すフローチャートである。  
【００９７】
Ｓ１２０１は、図４におけるＳ４０１と同じである。  
【００９８】
Ｓ１２０２において、第１マーカ検出部１１０１は、閾値記憶部３０２から読み出した第１マーカ検出閾値に基づいて、複数視点画像に含まれるマーカを検出する。第１マーカ検出部１１０１は、複数視点画像のうち、撮像画像ＩＤと、マーカＩＤと、マーカ座標と、マーカ検出閾値と、マーカ信頼度とをＲＡＭ２０２に格納する。
【００９９】
Ｓ１２０３において、第２マーカ検出部１１０２は、閾値記憶部３０２から読み出した第２マーカ検出閾値に基づいて、複数視点画像に含まれるマーカを検出する。第２マーカ検出部１１０２は、複数視点画像のうち、撮像画像ＩＤと、マーカＩＤと、マーカ座標と、マーカ検出閾値と、マーカ信頼度とをＲＡＭ２０２に格納する。第１マーカ検出部１１０１と、第２マーカ検出部１１０２とによって検出されるそれぞれのマーカの種類の具体例については後述する。
【０１００】
Ｓ１２０４において、マーカＩＤマージ部３０５は、マーカボードの表面のマーカと、マーカボードの裏面のマーカとにそれぞれ対応付けられたマーカＩＤを設定値記憶部３０４から読み出す。そして、マーカＩＤマージ部３０５は、対応するマーカＩＤを同一のマーカＩＤとしてマージし、マージされたマーカＩＤはＲＡＭ２０２に記憶される。  
【０１０１】
Ｓ１２０５〜Ｓ１２０６は、図４におけるＳ４０４〜Ｓ４０５と同じである。
【０１０２】
Ｓ１２０７において、第１マーカ検出部１１０１と第２マーカ検出部１１０２とは、Ｓ１２０６で推定した撮像装置の位置姿勢に基づいてマーカ検出閾値を再設定する。Ｓ１２０７でマーカ検出閾値が再設定されると再びＳ１２０２に戻る。２回目以降にＳ１２０２のマーカ検出処理が行われる場合、第１マーカ検出部１１０１と第２マーカ検出部１１０２とは、Ｓ１２０７で再設定されたマーカ検出閾値に基づいてマーカを再度検出する。このようにマーカ検出閾値の設定を繰り返すことにより、撮像装置の位置姿勢を推定する精度を向上させることができる。なお、本実施形態ではマーカの種類ごとにマーカの誤検出率が異なる。そのため、第１マーカ検出部１１０１によって検出されるマーカを捕捉すべき撮像装置と、第２マーカ検出部１１０２によって検出されるマーカを捕捉すべき撮像装置とには、それぞれ異なるマーカ検出閾値が設定されることが望ましい。
【０１０３】
（実施形態３のキャリブレーション手法による効果）
以下、本実施形態のキャリブレーション手法による効果について説明する。
図１３（ａ）は、本実施形態における撮像システムの構成例を示す模式図である。
図１３（ａ）の撮像システムにおいて、マーカボード１３０１以外の構成、例えば撮像装置１０１ａ〜１０１ｊの配置などは図１（ａ）と同じである。
【０１０４】
図１３（ｂ）は、本実施形態のマーカボード１３０１の例を示す図である。マーカボード１３０１の表面１３０１ａには、キャリブレーションターゲットであるマーカ１３０２ａが描かれている。一方、マーカボード１３０１の裏面１３０１ｂには、３次元形状を有する球体状のマーカ１３０２ｂが配置されている。図１３（ｂ）には、被認識可能角度が小さいマーカ例として平面に描かれた２重丸のマーカ１３０２ａが、被認識可能角度が大きいマーカ例として球体状のマーカ１３０２ｂがそれぞれ示されている。しかしながら、被認識可能角度が異なるマーカの組み合わせは上記に限られず、例えば、被認識可能角度が小さいマーカとして平面に描かれたチェッカーボードを、被認識可能角度が大きいマーカとして平面に描かれた十字なども適用することができる。
【０１０５】
撮像装置１０１ａと１０１ｂとが対向する位置に配置されており、撮像装置１０１ａからマーカボードの表面１３０１ａまでの距離が遠く、撮像装置１０１ｂからマーカボードの裏面１３０１ｂまでの距離が短い場合、撮像画像は図１３（ａ）の通りとなる。図１３（ａ）には、撮像装置１０１ａがマーカボードの表面１３０１ａを撮像して得られた撮像画像１３０３ａが、撮像装置１０１ｂがマーカボードの裏面１３０１ｂを撮像して得られた撮像画像１３０３ｂが示されている。すなわち、撮像画像１３０３ａにおけるマーカ１３０２ａのサイズと、撮像画像１３０３ｂにおけるマーカ１３０２ｂのサイズとは、ほぼ同じサイズとなる。この結果、同じマーカ検出閾値に基づいて、マーカボード表面のマーカ１３０２ａと、マーカボード裏面のマーカ１３０２ｂとの双方を検出することが可能となる。
【０１０６】
また、図１３（ａ）には、撮像装置１０１ａに隣接する撮像装置１０１ｃが、マーカボードの表面１３０１ａを撮像して得られた撮像画像１３０４ａが示されている。同様に、撮像装置１０１ｂに隣接する撮像装置１０１ｉが、マーカボードの裏面１３０１ｂを撮像して得られた撮像画像１３０４ｂが示されている。さらに、球体状のマーカ１３０２ｂは被認識可能角度が大きいため、撮像装置１０１ｉがマーカボードの裏面１３０１ｂと浅い角度で対向している場合であっても、撮像装置１０１ｉはマーカを良好に撮像することができる。
【０１０７】
以上説明した通り、本実施形態では、撮像装置との対向角度が小さいマーカボードの面には被認識可能角度が大きいマーカを、撮像装置との対向角度が大きいマーカボードの面には被認識可能角度が大きいマーカを有するマーカボードを用いる。そのため、撮像装置のキャリブレーションにおいて、１つのマーカを認識可能な撮像装置の台数を増やすことができるため、複数の撮像装置の位置姿勢の推定を高度に行うことができる。なお、マーカボードの表面及び裏面の双方など、マーカボードの複数の面に被認識可能角度が大きい実マーカ、例えば、３次元形状を有する実マーカを設けてもよい。
【０１０８】
［実施形態４］
上述の実施形態では言及されなかったが、図１（ａ）に示される撮像装置１０１ａ〜１０１ｊにはそれぞれ被写界深度を有している。通常、撮像装置１０１ａ〜１０１ｊは被写体１０５に焦点を合わせているため、マーカと被写体とが大きく離れると、マーカが被写界深度から外れてボケが発生する場合がある。  
【０１０９】
そこで、本実施形態のキャリブレーション手法では、撮像画像に含まれるマーカのボケ量が導出され、撮像装置の位置姿勢の推定結果と、ボケ量の導出結果とから、マーカ検出閾値が再設定される。このため、撮像装置の位置姿勢の推定に必要なマーカの検出を良好に行うことができる。
【０１１０】
図１４は、本実施形態におけるＰＣ１０２の機能構成例を示すブロック図である。  
【０１１１】
本実施形態におけるＰＣ１０２の機能構成は、実施形態１の機能構成に加えて、ボケ量導出部１４０１を有する。ボケ量導出部１４０１による処理内容は後述する。
【０１１２】
図１５は、本実施形態における撮像装置のキャリブレーション手順例を示すフローチャートである。  
Ｓ１５０１〜Ｓ１５０５は、図４におけるＳ４０１〜Ｓ４０５と同じである。  
【０１１３】
Ｓ１５０６において、ボケ量導出部１４０１は、各撮像装置１０１ａ〜１０１ｊの注視点位置を取得する。そして、ボケ量導出部１４０１は、取得した注視点位置と、Ｓ１５０４で推定した撮像装置の位置姿勢および３次元マーカ座標と、パラメータ記憶部３０６から読み出した撮像装置の内部パラメータとに基づいて、各マーカのボケ量を導出する。各撮像装置１０１ａ〜１０１ｊの注視点位置は、入力Ｉ／Ｆ２０５を介して外部メモリ２０８から読み出される。  
【０１１４】
そして、ボケ量導出部１４０１は、一般的なレンズの光学的なボケの式である、式（１５）を用いてボケ量を導出することができる。fを焦点距離[mm]、FはF値、Lは注視点と撮像装置との距離の逆数[1/mm]、dが距離の逆数[1/mm]、widthが画像サイズ[pixel]、sensorwidth[mm]をセンササイズとすると、ガウシアンフィルタのボケ量σ[pixel]は、以下の式（１５）の通りに求めることができる。  
【０１１５】
【数１５】
2019086476.tif 000017
【０１１６】
なお、Lには、Ｓ１５０４で推定された撮像装置の位置姿勢と注視点位置とのユークリッド距離[mm]の逆数を適用することができる。dには、Ｓ１５０４で推定された３次元マーカ座標および撮像装置の位置姿勢のユークリッド距離[mm]の逆数を提供することができる。
【０１１７】
Ｓ１５０７において、マーカ検出部３０３は、Ｓ１５０４で推定した撮像装置の位置姿勢と、Ｓ１５０６で導出した各マーカのボケ量とに基づいてマーカ検出閾値を再設定する。Ｓ１５０７でマーカ検出閾値が再設定されると再びＳ１５０２に戻る。２回目以降にＳ１５０２のマーカ検出処理が行われる場合、マーカ検出部３０３は、Ｓ１５０７で再設定されたマーカ検出閾値に基づいてマーカを再度検出する。このようにマーカ検出閾値の設定を繰り返すことにより、撮像装置の位置姿勢を推定する精度を向上させることができる。例えば、ボケの発生によって、マーカの中心付近の黒濃度が１／２になる場合、マーカ検出閾値も１／２とすればよい。ただし、この場合は誤検出率も上昇してしまうため、このマーカ検出閾値に応じたマーカ信頼度が設定されることが望ましい。
【０１１８】
（実施形態４のキャリブレーション手法による効果）
以下、本実施形態のキャリブレーション手法による効果について説明する。
図１６（ａ）は、本実施形態における撮像システムの構成例を示す模式図である。
図１６（ａ）の撮像システムにおいて、マーカボード１６０１以外の構成、例えば撮像装置１０１ａ〜１０１ｊの配置などは図１（ａ）と同じである。  
【０１１９】
図１６（ｂ）は、本実施形態のマーカボード１６０１の例を示す図である。マーカボード１６０１の表面１６０１ａには、キャリブレーションターゲットであるマーカ１６０２ａが描かれており、マーカボード１６０１の裏面１６０１ｂには、キャリブレーションターゲットであるマーカ１６０２ｂが描かれている。実施形態１と同様に、マーカボード１６０１の表面に描かれているマーカ１６０２ａは、マーカボード１６０１の裏面に描かれているマーカ１６０２ｂのサイズよりも大きくなっている。撮像装置１０１ａと１０１ｂとが対向する位置に配置されており、撮像装置１０１ａからマーカボードの表面１６０１ａまでの距離が遠く、撮像装置１０１ｂからマーカボードの裏面１６０１ｂまでの距離が短い場合、撮像画像は図１６（ａ）の通りとなる。
【０１２０】
本実施形態のキャリブレーション手法によれば、撮像装置の被写界深度からマーカが外れることにより発生するボケの影響により、撮像画像に含まれるマーカがボケしまった場合であっても、マーカ検出閾値を調整することにより、マーカの検出が可能となる。  
【０１２１】
図１６（ａ）は、撮像装置１０１ａ，１０１ｂ，１０１ｃがそれぞれマーカ１６０２ａ，１６０２ｂを撮像して得られた撮像画像１６０３ａ，１６０３ｂ，１６０３ｃの一例を示す図である。これら撮像画像のうち、撮像画像１６０３ｂは、撮像画像におけるマーカ１６０２ｂにボケが発生してしまった様子を示している。このような場合、同じマーカ検出閾値に基づいて、マーカボード表面のマーカ１６０２ａと、マーカボード裏面のマーカ１６０２ｂとの双方を検出することが困難となる。
【０１２２】
しかしながら、本実施形態のキャリブレーション手法によれば、検出されたマーカ１６０２ａを用いて撮像装置の位置姿勢と３次元マーカ座標を推定し（Ｓ１５０４）、撮像画像１６０３ｂにおけるマーカ１６０２ｂのボケ量が導出される（Ｓ１５０６）。被写体（マーカ１６０２ｂ）のボケ量が分かれば、例えば、２値化された撮像画像１６０３ｂの画素値を区画する閾値をボケ量に応じて可変させることにより、マーカ１６０２ｂを良好に検出することができる。あるいはまた、例えば、濃度値を基準としてマーカを検出する場合、濃度値を区画する閾値をボケ量に応じて可変させることにより、マーカ１６０２ｂを良好に検出することができる。
【０１２３】
以上説明した通り、本実施形態のキャリブレーション手法によれば、撮像装置の注視点位置と、推定した撮像装置の位置姿勢および３次元マーカ座標と、撮像装置の内部パラメータとに基づいて、ボケ量を導出する。そして、この導出したボケ量に応じてマーカ検出閾値を調整することによって、撮像装置に含まれるマーカにボケが発生した場合であっても、マーカの検出を良好に行うことができる。
【０１２４】
（その他の実施形態）
上述の実施形態において、実マーカの形状は、図示した例に限定されない。例えば、実マーカは、丸、十字、チェッカーボードパターン、文字、図形、記号または所定のオブジェクトであってもよいし、これらを任意に組み合わせた形状であってもよい。また、実マーカは、丸、十字、チェッカーボードパターン、文字、図形、記号または所定のオブジェクトを少なくとも一部に有していてもよい。また、上述の実施形態において、マーカボードは、実マーカを表示する液晶ディスプレイなどの表示装置であってもよい。また、上述の実施形態において、マーカボードは、板状であることを例示したが、立方体または三角錐などの複数の面を有する形状であってもよい。また、マーカボードは、球であってもよい。
【０１２５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019086476.tif 000018
【図２】
2019086476.tif 000019
【図３】
2019086476.tif 000020
【図４】
2019086476.tif 000021
【図５】
2019086476.tif 000022
【図６】
2019086476.tif 000023
【図７】
2019086476.tif 000024
【図８】
2019086476.tif 000025
【図９】
2019086476.tif 000026
【図１０】
2019086476.tif 000027
【図１１】
2019086476.tif 000028
【図１２】
2019086476.tif 000029
【図１３】
2019086476.tif 000030
【図１４】
2019086476.tif 000031
【図１５】
2019086476.tif 000032
【図１６】
2019086476.tif 000033