(57)【要約】【課題】画像間の対応点を、計算コストを抑えつつ、高精度かつ高密度に求めることが可能な情報処理装置を提供すること。【解決手段】本発明は、同一の被写体を異なる視点から撮像することで得られる第１の単視点画像および第２の単視点画像を取得する取得手段と、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対し、画像内の特定の構造を検出するためのフィルタを適用する処理を、フィルタを変えて段階的に行うことで、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対する複数の特徴量マップを作成する作成手段と、前記作成した複数の特徴量マップに基づき、前記第１の単視点画像と前記第２の単視点画像との対応点を探索する探索手段とを有し、前記作成手段が各段階で適用するフィルタは、互いに異なる複数のフィルタであることを特徴とする情報処理装置である。【選択図】図３
2018010359.tif 000002
【特許請求の範囲】
【請求項１】
同一の被写体を異なる視点から撮像することで得られる第１の単視点画像および第２の単視点画像を取得する取得手段と、
前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対し、画像内の特定の構造を検出するためのフィルタを適用する処理を、フィルタを変えて段階的に行うことで、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対する複数の特徴量マップを作成する作成手段と、
前記作成した複数の特徴量マップに基づき、前記第１の単視点画像と前記第２の単視点画像との対応点を探索する探索手段と
を有し、
前記作成手段が各段階で適用するフィルタは、互いに異なる複数のフィルタであることを特徴とする情報処理装置。
【請求項２】
前記探索手段による探索結果に基づく視差マップを出力する出力手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記探索手段は、
前記第１の単視点画像に対する複数の特徴量マップに基づき、前記第１の単視点画像の注目画素位置における第１の特徴量ベクトルを導出し、
前記第２の単視点画像に対する複数の特徴量マップに基づき、前記第２の単視点画像の探索範囲における画素位置ごとに第２の特徴量ベクトルを導出し、
前記第１の特徴量ベクトルと第２の特徴量ベクトルとの類似度を、前記探索範囲における画素位置ごとに導出し、
前記導出した類似度の中で最も高い類似度となる画素位置を、前記注目画素位置に対応する前記第２の単視点画像の画素位置とする
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記探索手段は、前記注目画素位置の近傍における対応点探索の結果に基づき、前記探索範囲を変化させることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の単視点画像および前記第２の単視点画像は、同一のサイズの画像データであり、
前記特徴量マップは、特徴量を画素値として有するビットマップ形式のデータであり、前記第１の単視点画像と同一のサイズを有する
ことを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記作成手段が前記フィルタを適用する処理を段階的に行う際、フィルタを適用するたびに非線形変換を実行する実行手段をさらに有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記第１の単視点画像および前記第２の単視点画像に基づき、前記複数のフィルタを作成する作成手段をさらに有することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
同一の被写体を異なる視点から撮像することで得られる第１の単視点画像および第２の単視点画像を取得するステップと、
前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対し、画像内の特定の構造を検出するためのフィルタを適用する処理を、フィルタを変えて段階的に行うことで、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対する複数の特徴量マップを作成するステップと、
前記作成した複数の特徴量マップに基づき、前記第１の単視点画像と前記第２の単視点画像との対応点を探索するステップと
を有し、
前記作成するステップにおいて各段階で適用されるフィルタは、互いに異なる複数のフィルタであることを特徴とする情報処理方法。
【請求項９】
コンピュータに、請求項８に記載の方法を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異視点画像間で対応点を探索するための技術に関する。
【背景技術】
【０００２】
同一の被写体を異なる視点から見た場合の複数の画像（多視点画像）を用いて、被写体の距離や形状に関する情報を取得する技術がある。また、多視点画像を用いて、カメラの位置および姿勢を推定する技術がある。さらに、パノラマ画像の作成やノイズ低減、超解像などの目的で複数の画像を合成する技術がある。これらの技術において、複数の画像間で対応する点（対応点）を探索することが必須である。
【０００３】
特許文献１は、ニューラルネットワークを用いて２つの入力画像間の対応点を探索する方法を開示している。特許文献１では、２つの入力画像の各々を複数の矩形領域に分割し、該分割した矩形領域の夫々について特徴量ベクトルを算出し、該算出した特徴量ベクトルに基づき、第１の入力画像の矩形領域に対応する第２の入力画像の矩形領域を探索する処理を反復する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０５５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、２つの入力画像の各々について、分割された矩形領域ごとの特徴量ベクトルを算出する際、入力画像毎にニューラルネットワークを用いた学習を行うため、計算コストが大きい。また、分割された矩形領域単位で対応点を探索するため、対応点の密度が低い。対応点の密度が低ければ、対応点のマッチング精度も必然的に低下する。対応点の密度を高くするためには、入力画像をより細かく分割した上で、ニューラルネットワークを用いた学習による特徴量生成を反復する必要があり、ただでさえ大きい計算コストがさらに増大する。このように特許文献１には、入力画像間の対応点を、計算コストを抑えつつ、高精度かつ高密度に求めることが難しいという課題がある。
【０００６】
そこで本発明は、画像間の対応点を、計算コストを抑えつつ、高精度かつ高密度に求めることが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、同一の被写体を異なる視点から撮像することで得られる第１の単視点画像および第２の単視点画像を取得する取得手段と、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対し、画像内の特定の構造を検出するためのフィルタを適用する処理を、フィルタを変えて段階的に行うことで、前記第１の単視点画像と前記第２の単視点画像とのそれぞれに対する複数の特徴量マップを作成する作成手段と、前記作成した複数の特徴量マップに基づき、前記第１の単視点画像と前記第２の単視点画像との対応点を探索する探索手段とを有し、前記作成手段が各段階で適用するフィルタは、互いに異なる複数のフィルタであることを特徴とする情報処理装置である。
【発明の効果】
【０００８】
本発明によれば、画像間の対応点を、計算コストを抑えつつ、高精度かつ高密度に求めることが可能である。
【図面の簡単な説明】
【０００９】
【図１】実施例１における情報処理装置のハードウェア構成を示すブロック図
【図２】実施例１における情報処理装置の機能構成を示すブロック図
【図３】実施例１における情報処理装置による処理の流れを示すフローチャート
【図４】特徴量生成部の機能構成を示すブロック図
【図５】特徴量生成部による処理の流れを示すフローチャート
【図６】特徴量生成部の機能構成を示すブロック図
【図７】特徴量生成部による処理の流れを示すフローチャート
【図８】実施例１で用いる入力画像を示す図
【図９】実施例１で用いるフィルタを示す図
【図１０】視差推定の結果を示す図
【図１１】実施例２における情報処理装置の機能構成を示すブロック図
【図１２】実施例２における情報処理装置による処理の流れを示すフローチャート
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の好適な実施形態を例示的に説明する。但し、以下に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【００１１】
［実施例１］
本実施例では、多視点画像（複数枚の画像）から視差マップを作成する場合について述べる。多視点画像を取得するためのカメラとして、１台のカメラで被写体を同時に撮像することで多視点画像を取得可能なカメラ（プレノプティックカメラや多眼カメラなど）や、適切に設置された複数台のカメラを用いてよい。また、１台のカメラを移動させながら被写体を撮像することで多視点画像を取得してもよい。なお、以降では、多視点画像に含まれる各視点の画像を単視点画像と呼ぶ。
【００１２】
＜情報処理装置の構成について＞
以下、実施例１における情報処理装置の構成について説明する。図１は、実施例１における情報処理装置のハードウェア構成の一例を示すブロック図である。実施例１における情報処理装置１００（以下、処理装置１００と略記する）は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、二次記憶装置１０４、入力インターフェース（以下、インターフェースをＩＦと略記する）１０５、及び出力ＩＦ１０６から構成される。これらの構成要素はシステムバス１０７によって相互に接続されている。また、処理装置１００は、入力ＩＦ１０５を介して外部記憶装置１０８および操作部１１０に接続されており、出力ＩＦ１０６を介して外部記憶装置１０８および表示装置１０９に接続されている。
【００１３】
ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納されたプログラムを実行し、システムバス１０７を介して処理装置１００の各構成要素を統括的に制御する。これにより、後述する様々な処理が実行される。二次記憶装置１０４は、処理装置１００で取り扱われる種々のデータを記憶するための装置であり、本実施例ではＨＤＤが用いられる。ＣＰＵ１０１は、システムバス１０７を介して二次記憶装置１０４へのデータの書き込みおよび二次記憶装置１０４に記憶されたデータの読出しを行う。なお、二次記憶装置１０４としてＨＤＤの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶装置を用いることが可能である。
【００１４】
入力ＩＦ１０５は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスＩＦを含み、外部装置から処理装置１００へのデータや命令等の入力は、入力ＩＦ１０５を介して行われる。具体的に処理装置１００は、入力ＩＦ１０５を介して、外部記憶装置１０８からデータを取得する。なお、外部記憶装置１０８として例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどを用いることが可能である。また、処理装置１００は、入力ＩＦ１０５を介して、ユーザが操作部１１０を用いて入力した命令を取得する。操作部１１０はユーザの指示を処理装置１００に入力するための装置であり、例えばマウスやキーボードなどを含む。
【００１５】
出力ＩＦ１０６には、入力ＩＦ１０５と同様のＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースの他に、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力端子も含まれる。処理装置１００から外部装置へのデータ等の出力は、出力ＩＦ１０６を介して行われる。処理装置１００は、出力ＩＦ１０６を介して表示装置１０９（液晶ディスプレイなど）に、処理された画像などを出力することで、画像の表示を行う。なお、処理装置１００の構成要素は上述した物の他にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１６】
＜情報処理装置によって実行される処理の概要について＞
以下、本実施例における処理装置１００によって実行される、多視点画像に基づき視差マップを作成する処理（以下、本処理）の概要について説明する。
【００１７】
まず、ＣＰＵ１０１は、外部記憶装置１０８からフィルタ（データ）を読み出す。このフィルタは本処理に先立ち取得されたものであり、処理対象となる多視点画像とは別の訓練画像を用いて予め学習されたものであってもよい。用いる訓練画像は、処理対象となる多視点画像の被写体と同一または類似の被写体や該多視点画像のシーンと同一または類似のシーンを撮像した画像であることが望ましい。フィルタの学習方法の第１の具体例としては、次の方法が存在する。即ち、訓練画像から多数の部分画像を抽出し、該抽出した部分画像の各々に対する共分散行列を生成した上で、これらの共分散行列の平均（平均共分散行列）を算出する。そして、この平均共分散行列に対し、特異値分解による主成分分析、または、固有値解析を行うことによりフィルタを得る方法である。第２の具体例としては、公知の畳み込みニューラルネットワークの学習アルゴリズムを用いて訓練画像からフィルタを学習する方法が存在する。ただし、フィルタの学習方法は、これらの具体例に限定されない。また、フィルタとして、訓練画像を用いて学習されるものの他に、処理対象の画像や解析的に与えられる関数（例えば、離散コサイン変換基底）を用いてもよい。
【００１８】
次に、式（１）に示すように、多視点画像に含まれる単視点画像の各々に複数の第１のフィルタを畳み込み（適用し）、第１の特徴量マップを得る。なお本明細書では、単視点画像に１次的に畳み込まれるフィルタを第１のフィルタと呼び、第１のフィルタは複数存在する。
【００１９】
【数１】
2018010359.tif 000003
【００２０】
式（１）において、Ｆ1i（ｘ，ｙ）は、ｉ番目の第１のフィルタの座標（ｘ，ｙ）における係数を表す。また、Ｉk（ｘ，ｙ）は、ｋ番目の単視点画像の座標（ｘ，ｙ）における画素値を表す。また、Ｔik（ｘ，ｙ）は、ｋ番目の単視点画像にｉ番目の第１のフィルタを畳み込んで得られる第１の特徴量マップの座標（ｘ，ｙ）における画素値を表す。なお、単視点画像の画素値とは、輝度、色差（即ちＹＵＶ、Ｌａｂなどの色空間における輝度以外の成分）、カラーチャンネル（例えばＲＧＢ）などの値である。
【００２１】
フィルタを入力画像に畳み込むことで、単視点画像内の特定の構造を検出できる。例えば、水平方向に勾配を有し垂直方向に一様な値の分布を有するソーベルフィルタを入力画像に畳み込むと、入力画像に含まれる垂直なエッジの位置において、出力画像（特徴量マップ）の画素値は大きい値をとる。このように、特徴量マップは、畳み込まれたフィルタに対応する構造の空間的分布を表す。
【００２２】
次に、式（２）に示すように、第１の特徴量マップに第２のフィルタを畳み込み、第２の特徴量マップを得る。なお本明細書では、単視点画像に２次的に（即ち、第１のフィルタに次いで）畳み込まれるフィルタを第２のフィルタと呼び、第２のフィルタは複数存在する。
【００２３】
【数２】
2018010359.tif 000004
【００２４】
式（２）において、Ｆ2j（ｘ，ｙ）は、ｊ番目の第２のフィルタの座標（ｘ，ｙ）における係数を表す。また、Ｏijk（ｘ，ｙ）は、第２の特徴量マップの座標（ｘ，ｙ）における画素値を表す。
【００２５】
なお、得られた特徴量マップに対し、非線形変換を施してもよい。非線形変換は、画像に含まれるエッジを強調し画素間の差を増幅することにより、対応点の探索精度を向上する目的で施される。非線形変換としては、統計フィルタ処理、および、閾値処理や非線形関数による画素ごとの値の変換などが挙げられる。以降では、特に断らない限り非線形変換を施さない場合について説明する。
【００２６】
また上述の例では、各単視点画像に第１のフィルタおよび第２のフィルタを畳み込むことで、最終的に第２の特徴量マップを取得しているが、最終的に取得する特徴量マップは第２の特徴量マップに限定されない。つまり、第ｎ（ｎは自然数）の特徴量マップに対し第ｎ＋１のフィルタを畳み込み第ｎ＋１の特徴量マップを得るという上述と同様の処理を任意の回数実行し、得られた第ｎ＋１の特徴量マップを最終的に取得する特徴量マップとしてもよい。フィルタを畳む込む回数は１回でも良いが、該回数を増やすことで、画像が有するより複雑な構造を抽出できるようになる。
【００２７】
本技術分野で使用される一般的な特徴量としては、ＳＩＦＴ（Ｓｃａｌｅ―Ｉｎｖａｒｉａｎｔ Ｆｅａｔｕｒｅ Ｔｒａｎｓｆｏｒｍ）をはじめとする様々な局所特徴量が知られている。これらの局所特徴量が算出される位置は、画像内の特定の条件を満たす位置に限定されるため、局所特徴量を用いて対応点を探索する場合、対応点の密度は画像の解像度（画素密度）に比べると非常に低い。一方で本発明では、原理的に全ての画素に対し特徴量を算出できるため、対応点の密度を画像の解像度と同一にすることができる。また、本発明はフィルタ処理だけで特徴量を算出できるため、１点あたりの特徴量の計算コストを非常に低くすることもできる。
【００２８】
本実施例では、処理装置１００は、第２の特徴量マップを取得した後、該取得した第２の特徴量マップに基づき単視点画像間の対応点を探索する。なお、以降では、ステレオカメラにより取得した２枚の単視点画像、即ち第１単視点画像Ｉ1と第２単視点画像Ｉ2とに基づき、視差マップを作成する場合を例にとり説明する。ここで、本実施例における視差マップとは、各画素位置に対応する視差値を画素値として有するビットマップ形式の画像データである。ステレオカメラは、被写体を複数の異なる方向から同時に撮像することにより、その奥行き方向の情報も取得できるカメラであり、ステレオカメラで取得した２枚の単視点画像について、各画像の水平方向は同一である。
【００２９】
単視点画像Ｉ1の座標（ｘ，ｙ）における視差を推定するために、まず単視点画像Ｉ1に対する第２の特徴量マップＯij1の座標（ｘ，ｙ）における値をｉおよびｊの順序に従い並べて特徴量ベクトルＶ1（ｘ，ｙ）を得る。例えば、特徴量ベクトルＶ1（ｘ，ｙ）を、Ｖ1（ｘ，ｙ）＝（Ｏ111（ｘ，ｙ），Ｏ121（ｘ，ｙ），Ｏ131（ｘ，ｙ），・・・）としてもよい。第１のフィルタがＭ個、第２のフィルタがＮ個である場合には、特徴量ベクトルＶ1（ｘ，ｙ）の次元はＭ×Ｎとなる。
【００３０】
次に、単視点画像Ｉ2に対する第２の特徴量マップＯij2の座標（ｘ’，ｙ’）における値をｉおよびｊの順序に従い並べて特徴量ベクトルＶ2（ｘ’，ｙ’）を得る。ここで、第２の特徴量マップＯij2の座標（ｘ’，ｙ’）における値を並べる順序は、特徴量ベクトルＶ1（ｘ，ｙ）を取得する際に、第２の特徴量マップＯij1の座標（ｘ，ｙ）における値を並べたｉおよびｊの順序と同一である。また、特徴量ベクトルＶ2（ｘ’，ｙ’）の取得は、座標（ｘ’，ｙ’）を変えて繰り返し行われる。ただし本実施例では、多視点画像をステレオカメラで取得しているので、このときの座標（ｘ’，ｙ’）の移動範囲を、単視点画像Ｉ2上の座標（ｘ，ｙ）を通る水平線上に限定できる。
【００３１】
次に、特徴量ベクトルＶ1（ｘ，ｙ）と特徴量ベクトルＶ2（ｘ’，ｙ’）との類似度を定量化して導出する。この類似度としては、一般に用いられる様々な距離（ユークリッド距離、マンハッタン距離、ハミング距離など）や、相互相関係数などが挙げられる。
【００３２】
次に、類似度が最大になる座標（ｘ’，ｙ’）を導出し、該導出した座標（ｘ’，ｙ’）と座標（ｘ，ｙ）との間の距離を推定視差値として出力する。前述の処理を単視点画像Ｉ1の全座標において実行することで、視差マップが得られる。
【００３３】
なお、上述の例では多視点画像をステレオカメラで取得する場合について説明したが、多視点画像の取得手段はステレオカメラに限定されない。多視点画像の取得手段がステレオカメラではない場合、座標（ｘ’，ｙ’）を移動しながら特徴量ベクトルＶ2（ｘ’，ｙ’）を取得するときに座標（ｘ’，ｙ’）の移動範囲を拡大して上述と同様の処理を行う。或いは、各単視点画像を取得した際に被写体を撮像したカメラの位置と姿勢とに関する情報が得られている場合、特徴量ベクトルＶ2（ｘ’，ｙ’）を取得する際に座標（ｘ’，ｙ’）の移動範囲を、この情報から一意に決定されるエピポーラ線上に限定できる。
【００３４】
＜情報処理装置によって実行される処理について＞
以下、本実施例における処理装置１００によって実行される具体的な処理について、図２および図３を用いて説明する。図２は、本実施例における処理装置１００の機能構成を示すブロック図である。図示するように、処理装置１００は、取得部２０１と、特徴量生成部２０２と、対応点探索部２０３と、出力部２０４とを有する。これらの構成要素は、処理装置１００のＣＰＵ１０１がＲＯＭ１０３内に格納された制御プログラムをＲＡＭ１０２に展開し、該展開したプログラムを実行することで、実現される。或いは、各構成要素に相当する専用の処理回路を備えるように処理装置１００を構成してもよい。
【００３５】
取得部２０１は、多視点画像を取得し、該取得した多視点画像を特徴量生成部２０２に出力する。本実施例では、取得部２０１は、被写体を第１の視点から見た場合の画像である第１単視点画像と、該被写体を第１の視点とは異なる第２の視点から見た場合の画像である第２単視点画像とを取得するものとする。第１単視点画像は、第１の視点から被写体を撮像することで取得され、第２単視点画像は、第２の視点から該被写体を撮像することで取得される。なお、第１単視点画像および第２単視点画像は、外部装置から入力されるデータであってもよいし、二次記憶装置１０４に記憶されているデータであってもよい。
【００３６】
特徴量生成部２０２は、予め取得されたフィルタを用いることで、第１単視点画像に基づき、第１単視点画像に対応する複数の特徴量マップを作成し、対応点探索部２０３に出力する。また、特徴量生成部２０２は、当該予め取得されたフィルタを用いることで、第２単視点画像に基づき、第２単視点画像に対応する複数の特徴量マップを作成し、対応点探索部２０３に出力する。
【００３７】
対応点探索部２０３は、第１単視点画像に対応する複数の特徴量マップおよび第２単視点画像に対応する複数の特徴量マップに基づき、第１単視点画像と第２単視点画像との間の対応点を探索する。
【００３８】
出力部２０４は、対応点探索部２０３による探索結果に基づき、第１単視点画像および第２単視点画像に対応する視差マップを出力する。
【００３９】
図３は、本実施例における処理装置１００によって実行される処理のフローチャートである。ステップＳ３０１において、取得部２０１は、入力インターフェース１０５を介して、または、二次記憶装置１０４から、処理対象の多視点画像を取得する。そして、取得部２０１は、該取得した多視点画像を特徴量生成部２０２に出力する。本実施例では、取得部２０１によって取得される多視点画像が２枚の単視点画像である場合を例にとり説明している。しかし、多視点画像に含まれる単視点画像の枚数は２枚に限定されず３枚以上であってもよい。多視点画像に含まれる単視点画像が３枚以上の場合には、単視点画像２枚の組を１つまたは複数作り、それぞれの組に対して以降の処理を行うことにより視差マップを作成する。なお、視差マップの形態はビットマップ形式の画像データに限定されず、画素位置と視差値との関係を規定するテーブル形式で出力してもよい。なお、１つの単視点画像に対して複数の視差マップが作成される場合は、それらを合成し、最終的に１つの視差マップを出力する。複数の視差マップを合成する手法として、座標毎に各視差マップの画素値の平均をとる手法や、座標毎に各視差マップの画素値を重み付け加算する手法を用いてよい。
【００４０】
ステップＳ３０２において、特徴量生成部２０２は、取得部２０１から入力された単視点画像の各々に対し、複数のフィルタを逐次的に畳み込むことで、単視点画像毎の複数の特徴量マップを作成する。以下では、このような処理を逐次的または段階的なフィルタ処理と呼ぶ。本ステップで用いるフィルタは、外部記憶装置１０８から読み出される。図４に、単視点画像に第１のフィルタと第２のフィルタとを逐次的に畳み込む場合における特徴量生成部２０２の機能ブロック図を示す。図４に示すように、特徴量生成部２０２は、各単視点画像に第１のフィルタを畳み込むフィルタ処理部２１１と、フィルタ処理部２１１の出力に第２のフィルタを畳み込むフィルタ処理部２１３とを有する。また図５に、図４に示す特徴量生成部２０２によって実行される処理のフローチャートを示す。図５に示すように、ステップＳ３１１において、フィルタ処理部２１１は、単視点画像に第１のフィルタを畳み込む（即ち、第１のフィルタ処理を実行する）。次いで、ステップＳ３１３において、フィルタ処理部２１３は、フィルタ処理部２１１の出力に第２のフィルタを畳み込む（即ち、第２のフィルタ処理を実行する）。なおここでは、第１のフィルタと第２のフィルタとを畳み込む場合について説明しているが、逐次的に畳み込むフィルタの数は２に限定されず３以上であってよい。例えば第３のフィルタをさらに畳み込む場合には、第２のフィルタ処理後に第３のフィルタ処理が追加的に実行される。
【００４１】
なお、フィルタ処理後に上述の非線形変換処理を実行してもよい。図６に、２段階のフィルタ処理に加えて非線形変換処理を実行する場合における特徴量生成部２０２の機能ブロック図を示す。また図７に、図６に示す特徴量生成部２０２によって実行される処理のフローチャートを示す。図７中のステップＳ３１２またはＳ３１４における非線形変換処理として、具体的には、ニューラルネットワークにおいて用いられるｔａｎｈ，ｓｉｇｍｏｉｄ、ＲｅＬＵなどの公知の変換処理を用いてもよい。
【００４２】
以下、図３の説明に戻る。ステップＳ３０３において、特徴量生成部２０２は、単視点画像の各々に対する複数の特徴量マップの作成が完了したか、即ち、第１のフィルタと第２のフィルタとの全ての組み合わせに対応する特徴量マップを、単視点画像の各々に対し作成したかを判定する。ステップＳ３０３の判定結果が真の場合、ステップＳ３０４に進む一方、該判定結果が偽の場合、ステップＳ３０２に戻る。
【００４３】
ステップＳ３０４において、対応点探索部２０３は、ステップＳ３０２で作成された特徴量マップに基づき、第１単視点画像と第２単視点画像との間で対応点を探索する。ここで、対応点探索部２０３は近傍位置の対応点探索結果に基づき、注目位置（注目画素位置）の対応点探索範囲を適応的に変化させてもよい。例えば、予め粗いサンプリング（低解像度）で視差マップを取得し、次にこのサンプリング位置の間の位置において視差値を算出（対応点を探索）する場合に、近傍位置の既に算出された視差値から候補値を決定し、その候補値の範囲内で視差値を算出する。別の例としては、サンプリング位置を走査し逐次的に視差値を算出する場合に、新しいサンプリング位置と近傍のサンプリング位置との視差値の中から、類似度が最も高いサンプリング位置における視差値を、注目位置の視差値として採用する方法が挙げられる。さらに別の例としては、マルコフ確率場に基づきコスト関数が最小になる視差値を算出する方法が挙げられる。
【００４４】
ステップＳ３０５において、出力部２０４は、対応点探索の結果を視差マップなどの形式に変換して出力する。
【００４５】
以上が、本実施例における単視点画像間の対応点を求める処理である。本実施例によれば、単視点画像間の視差推定において、各単視点画像が有する複雑な構造を効果的に抽出できるために、視差推定の精度が向上し、視差推定結果が安定化する。
【００４６】
＜本実施例の効果について＞
本実施例の効果を説明するため、以下に上述の処理を実際に行った例を示す。本例では、入力画像として、水平方向にのみ５画素の視差を有しかつ光軸が平行な２枚の画像を用いる。図８（ａ）および図８（ｂ）は、本例で用いる入力画像を示す。図８に示す２枚の入力画像は、人工的に作成された１対の視差画像であり、これらの画像は、同一の原画像に一様に視差を与え、さらに異なるぼけと輝度変調とを与えることで得られる。
【００４７】
図９（ａ）は、訓練画像として用意した多数の自然画像から５×５サイズの部分画像を８万枚抽出し、平均共分散行列を算出し、該算出した平均共分散行列に対する主成分分析により得られた８個の第１のフィルタを示す図である。また図９（ｂ）は、前記抽出した８万枚の部分画像に第１のフィルタ（８個）の各々を畳み込むことで部分画像を６４万枚取得し、平均共分散行列を算出し、該算出した平均共分散行列に対する主成分分析により得られた８個の第２のフィルタを示す図である。図示するように、いずれのフィルタもサイズは５×５サイズである。
【００４８】
本例では、視差推定の誤差として、畳み込みの誤差が発生する画像端部（上下左右における５画素幅の領域）を除く領域における真値との差の２乗平均を評価する。また、特徴量ベクトルの類似度にはユークリッド距離（差分２乗和）を用い、ブロックサイズは５×５サイズとする。
【００４９】
図１０の各図は、対応点探索結果の視差マップである。図１０に示す視差マップでは、各画素位置における推定視差値を階調表現により表している。図１０（ａ）は、画素値の差分２乗和に基づく従来のブロックマッチングにより導出される視差マップである。この視差マップを導出するために要する処理時間は０．４秒であり、視差推定値の誤差は８．２３画素である。図１０（ｂ）は、第１のフィルタのみを使用した場合に導出される視差マップである。この視差マップを導出するために要する処理時間は０．２秒であり、視差推定値の誤差は１．５６画素である。図１０（ｃ）は、第１のフィルタおよび第２のフィルタを使用した場合に導出される視差マップである。この視差マップを導出するために要する処理時間は１．８秒であり、視差推定値の誤差は０．１０画素である。このように、本実施例の方法に従って畳み込み回数を増やすことで、視差推定の精度が向上する。
【００５０】
入力画像によってはフィルタとブロックとのサイズをより大きくした方が視差推定の精度が向上する。上述の例では、フィルタとブロックとのサイズはともに５×５サイズだが、例えば１５×１５サイズのフィルタおよびブロックを用いて上述の処理を行ってもよい。この場合の視差マップを導出するために要する処理時間は、ブロックマッチングの場合は３．２秒、第１のフィルタのみを使用した場合は０．２秒、第１のフィルタおよび第２のフィルタを使用した場合は１．９秒である。このように、本実施例により、視差推定の精度向上のみならず処理の高速化も実現できる。この理由は以下のとおりである。つまり、ブロックマッチングの場合はブロックに含まれる画素数の次元（上の例では２２５（＝１５×１５）次元）のベクトルの比較によって対応点探索を行う。これに対し、本実施例ではフィルタ数の次元（上の例では８または６４次元）のベクトルの比較によって対応点探索を行っており、比較対象のベクトルの次元数が小さくて済むためである。このように本実施例では、計算コストはフィルタサイズではなくフィルタの個数に主に依存するため、画像によってフィルタサイズを変えても処理時間は略一定である。
【００５１】
さらに本実施例は、ロバスト性においても従来技術より優れており、画像の明るさが変更された場合であっても、入力画像間の対応点を精度良く求めることができる。
【００５２】
［実施例２］
実施例２では、処理対象の多視点画像に基づきフィルタを作成する場合について、図１１および図１２を用いて説明する。なお、実施例１と同一の内容については説明を省略する。
【００５３】
図１１は、本実施例における処理装置１００の機能構成を示すブロック図である。図示するように、処理装置１００は、取得部２０１と、特徴量生成部２０２と、対応点探索部２０３と、出力部２０４と、フィルタ作成部２０５とを有する。フィルタ作成部２０５は、多視点画像に基づきフィルタを作成する。
【００５４】
図１２は、本実施例における処理装置１００によって実行される処理のフローチャートである。ステップＳ１２０１において、取得部２０１は、入力インターフェース１０５を介して、または、二次記憶装置１０４から、処理対象の多視点画像を取得する。そして、取得部２０１は、該取得した多視点画像をフィルタ作成部２０５に出力する。
【００５５】
ステップＳ１２０２において、フィルタ作成部２０５は、取得部２０１から入力された多視点画像に基づき複数のフィルタを作成する。フィルタの作成方法は、実施例１で述べた方法と同様である。なお、入力された多視点画像以外の画像を併用してフィルタを作成してもよく、その場合にはフィルタ作成に用いる画像、算出済みの平均共分散行列、作成済みのフィルタなどを外部記憶装置１０８から読み出す。
【００５６】
ステップＳ１２０３において、特徴量生成部２０２は、取得部２０１によって取得された単視点画像の各々に対し、フィルタ作成部２０５が作成したフィルタを用いて逐次的（段階的）なフィルタ処理を行う。この処理によって、単視点画像の各々に対する特徴量マップが作成される。
【００５７】
ステップＳ１２０４において、特徴量生成部２０２は、単視点画像の各々に対する複数の特徴量マップの作成が完了したか、即ち、逐次的に畳み込むフィルタの全ての組み合わせに対応する特徴量マップを、単視点画像の各々に対し作成したかを判定する。ステップＳ１２０４の判定結果が真の場合、ステップＳ１２０５に進む一方、該判定結果が偽の場合、ステップＳ１２０３に戻る。
【００５８】
ステップＳ１２０５において、対応点探索部２０３は、ステップＳ１２０３で作成した特徴量マップに基づき、単視点画像間の対応点を探索する。
【００５９】
ステップＳ１２０６において、出力部２０４は、対応点探索の結果を視差マップなどの形式に変換して出力する。
【００６０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１００        情報処理装置
２０１        取得部
２０２        特徴量生成部
２０３        対応点探索部
【図１】
2018010359.tif 000005
【図２】
2018010359.tif 000006
【図３】
2018010359.tif 000007
【図４】
2018010359.tif 000008
【図５】
2018010359.tif 000009
【図６】
2018010359.tif 000010
【図７】
2018010359.tif 000011
【図８】
2018010359.tif 000012
【図９】
2018010359.tif 000013
【図１０】
2018010359.tif 000014
【図１１】
2018010359.tif 000015
【図１２】
2018010359.tif 000016