JP6655869B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6655869B2
JP6655869B2 JP2014208405A JP2014208405A JP6655869B2 JP 6655869 B2 JP6655869 B2 JP 6655869B2 JP 2014208405 A JP2014208405 A JP 2014208405A JP 2014208405 A JP2014208405 A JP 2014208405A JP 6655869 B2 JP6655869 B2 JP 6655869B2
Authority
JP
Japan
Prior art keywords
parallax
images
image
pixel
image 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.)
Expired - Fee Related
Application number
JP2014208405A
Other languages
English (en)
Other versions
JP2016081088A (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.)
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 JP2014208405A priority Critical patent/JP6655869B2/ja
Priority to US15/517,498 priority patent/US10332259B2/en
Priority to PCT/JP2015/004975 priority patent/WO2016056202A1/en
Publication of JP2016081088A publication Critical patent/JP2016081088A/ja
Application granted granted Critical
Publication of JP6655869B2 publication Critical patent/JP6655869B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/10Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument
    • G01C3/14Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument with binocular observation at a single point, e.g. stereoscopic type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10052Images from lightfield camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)

Description

本発明は、互いに異なる複数の視点から見た場合の複数の画像を示すデータを用いた画像処理に関する。
同一の被写体を互いに異なる複数の視点から見た場合の複数の画像を用いて被写体までの距離を推定し、推定した距離情報を画像処理に応用する技術がある。異なる視点に対応する複数の画像から距離情報を推定する方法としては、各画像間に生じた視差を利用する方法がある。ここで視差は、同じ被写体領域に対応する画像領域の位置の、各視点に対応する画像間でのずれを表わす。視差の大きさは被写体までの距離の大きさに依存するため、各画像間に生じた視差の大きさと、各視点間の距離等に基づいて、被写体までの距離を推定することが可能である。視差は、ブロックマッチング法などの方法を用いて、各視点の画像間で同じ被写体領域に対応する画像領域を検出することで求められる。
特許文献1には、視差推定の対象である画像にフィルタを作用させることで生成した、解像度の異なる複数の画像を用いて、ブロックマッチングにおける処理量の低減を行う技術が記載されている。特許文献1に記載の技術では、解像度の低い画像でのブロックマッチングの結果を用いて、解像度が高い画像でのブロックの探索範囲を限定してブロックマッチングを行うことで、解像度の高い視差情報が高速に得られる。また、特許文献2には、ブロックマッチングにおいてマッチング精度が低下しやすい、ブロック内の画素値変動が小さい領域(テクスチャレス領域)の視差値として、仮の視差値を挿入するか、周辺の視差値で補間した値を用いることが記載されている。
特許第4517449号 特許第5323222号
特許文献1に記載の技術では、解像度の低い画像におけるブロックマッチングの際に、距離の異なる複数の被写体が一つのブロック内に含まれる可能性が、解像度が高い画像を用いた場合に比べて高くなってしまう。このような、一つのブロック内に距離の異なる複数の被写体が含まれる領域(遠近混在領域)では、ブロック内の視差が一定ではないため、ブロックマッチングの精度が低下する。そのため、解像度の低い画像でのブロックマッチングの結果を用いて行われた、解像度が高い画像でのブロックマッチングにおいても、遠近混在領域におけるブロックマッチングの精度が低下してしまうという課題がある。また、特許文献2に記載の技術では、テクスチャレス領域で挿入又は補間された視差値が必ずしも実際の視差を反映した値ではないという課題がある。そこで本発明は、同一の被写体を互いに異なる複数の視点から見た場合の複数の画像の間の、視差の推定精度を向上させることを目的とする。
上記課題を解決するために、本発明の画像処理装置は、互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示す画像データを入力する入力手段と、前記複数の画像の間で第一のサイズのブロックマッチングを行うことによりことで、前記複数の画像間の視差の大きさを示す第一の情報を推定する推定手段と、前記第一のサイズとは異なる第二のサイズの画像領域同士を前記複数の画像の間で比較することによって視差が推定される、前記複数の画像中の画像領域を、前記推定手段により推定された前記第一の情報を用いて特定する特定手段とを有し、前記推定手段は、前記特定手段により特定された画像領域における前記複数の画像の間の視差の大きさを示す第二の情報を、前記複数の画像の間で前記第二のサイズの画像領域同士を比較することで更に推定し、
前記推定手段は、前記ブロックマッチングにおいて、比較されたブロックの組の間の類似度を示す評価値が最も高いブロックの組との評価値の差が所定の閾値以下であるブロックの組の数が、所定の数以上である場合には、前記評価値の差が所定の閾値以下である複数のブロックの組の中から1組を選択し、該選択された組に基づいて前記視差の大きさを示す情報を推定することを特徴とする。
本発明によれば、同一の被写体を互いに異なる複数の視点から見た場合の複数の画像の間の、視差の推定精度を向上させることができる。
画像処理装置の構成を示すブロック図。 撮像部の例を示す図。 実施例1の画像処理装置の構成を示すブロック図。 実施例1の距離導出処理の流れを示すフローチャート。 実施例1の階層別処理を説明する図。 実施例1の視差推定処理の流れを示すフローチャート。 実施例2のマッチング領域を説明する図。 ライトフィールドデータの例を示す図。 実施例3の視差推定処理の概念を説明する図。 実施例3の画像処理装置の構成を示すブロック図。 実施例3の距離導出処理の流れを示すフローチャート。 実施例3の視差推定処理の流れを示すフローチャート。
<実施例1>
本実施例では、ブロックマッチングにより推定された視差の信頼度に基づいて、ブロックマッチングの条件を変化させて再度ブロックマッチングを行うことにより、ブロックマッチングの精度を向上させる例について説明する。
まず、本実施例で行われる処理の原理について説明する。ブロックマッチング法では、比較対象となる画像領域を変更しながら、2枚の画像間で同じサイズの画像領域同士を比較し、マッチング度合いを表わす評価値が最大(最小)となる画像領域同士が、対応する画像領域として検出される。そして、検出された対応画像領域の画像中の位置の差が、その画像領域に対応する視差として導出される。
ブロックマッチングの精度は、マッチングに用いられるブロックの大きさ(サイズ)に大きく左右され、画像の特徴によって適切なブロックサイズは変化する。例えば、大きなブロックサイズを用いた場合では、ブロック内に遠近混在領域が含まれる可能性が上昇する。遠近混在領域では、ブロック内で被写体の像のずれ量が異なる部分が存在するため、視点の異なる画像において実質的に同じ画像領域を決定することができず、ブロックマッチングの精度が低下する。一方、小さなサイズのブロックを用いてブロックマッチングを行った場合には、テクスチャレス領域において、評価値にほとんど差のない画像領域が多数検出されてしまうために、間違った画像領域を対応画像領域として検出してしまう可能性が高くなってしまう。
そこで、本実施例のブロックマッチングでは、複数の異なるサイズのブロックを用いてそれぞれマッチングを行う階層型のブロックマッチングを採用する。例えば、階層1では、最も小さいサイズのブロックを用いてマッチングを行い、階層が増えるに従って、ブロックサイズを大きくしていく、といった要領である。そして、ある階層で視差の推定が上手くいかなかった領域については、他の階層での視差推定の結果を用いて視差の値を補うようにする。
本実施例では、視差の推定が上手くいかなかった領域、すなわちブロックマッチングが上手くいかなかった領域を、視差マップ(各画素位置に対応する視差の値を画素値として格納した画像データ)の平滑度に基づいて判定する。一般的に、視差の大きさは遠近混在領域以外では緩やかに変化するため、視差マップにおいて平滑度が低い領域は、視差推定が上手くいかなかった領域だと推定することができる。そこで、本実施例の視差推定処理では、周辺での視差マップの平滑度が小さい画素は、正しく視差推定が行われた領域に属する画素であると判定してその後の処理対象から外す。そして、周辺での視差マップの平滑度が大きい画素は、正しく視差推定が行われなかった領域に属する画素であると判定して、次の階層で再度視差を推定する。
上記の処理により、テクスチャレス領域および遠近混在領域の両方で、精度のよい視差マップを得ることが可能になる。なお、本実施例では、得られた視差値が正しいかどうかを調べる尺度として、周辺の視差値の平滑度を用いているが、各画素の視差値の信頼度を示す指標であれば他の指標を用いて処理を行ってもよい。例えば、画像データにおいて、ブロックマッチングで用いるブロック内にエッジ構造が含まれていない場合、間違った視差値が算出される可能性が上昇するので、ブロックマッチングで用いるブロック内のエッジ強度を信頼度の指標として用いるようにしてもよい。
以上が本実施例で行われる処理の概要である。以下、本実施例の具体的な構成について述べる。図1は、本実施例に係る画像処理装置の構成の一例を示す図である。画像処理装置100は、CPU101、RAM102、ROM103、二次記憶装置104、入力インターフェース105、出力インターフェース106、システムバス107を有する。そして、画像処理装置100は、入力インターフェース105および出力インターフェース106を介して、外部蓄積手段108と表示装置109と撮像部110とに接続されている。
CPU101は、以下に述べる各構成部を統括的に制御するプロセッサである。RAM102は、CPU101の主メモリ、ワークエリア等として機能するメモリであり、ROM103は、CPU101で実行される制御プログラム等を格納するメモリである。CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス107を介して後述する各部を統括的に制御することで、後述する様々な処理を実行する。
二次記憶装置104は、システムバス107を介してプログラムの実行に必要なデータの蓄積を行う記憶デバイスである。二次記憶装置104としてはHDDの他、光ディスクドライブやフラッシュメモリ等の、読み書き可能な種々の記憶デバイスを用いることができる。入力インターフェース105は、例えばUSBやIEEE1394等のシリアルバスインターフェースである。画像処理装置100は、この入力インターフェース105を介して、外部蓄積手段108(例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリなどの記憶媒体)からデータを取得する。また、画像処理装置100は、この入力インターフェース105を介して、撮像部110によって撮像された画像データを取得する。撮像部110は画像を撮像するカメラユニットである。撮像部110の構成の詳細については後述する。
出力インターフェース106としては、入力インターフェース105と同様のシリアルバスインターフェースの他に、DVIやHDMI(登録商標)等の映像出力端子を用いることができる。画像処理装置100は、この出力インターフェース106を介して、外部蓄積手段108にデータを送信したり、表示装置109(液晶ディスプレイなどの各種出力デバイス)に画像を表示したりする。なお、画像処理装置100の構成要素は上記以外にも存在するが、本発明の主眼ではないため説明を省略する。
次に、本実施例の撮像部110の構成について図2を用いて説明する。撮像部110は、同一の被写体を複数の視点から撮像した画像データを得ることができればよく、その構成としては例えば、図2(a)に示すように、複数のカメラユニットとしての構成をとることができる。筺体200には画像処理装置100が格納されており、筺体200の前面には、撮像部110として、カラー画像データを取得するカメラユニット202〜205が筺体前面と光軸を垂直にする形で二次元状に備えられている。このような構成のカメラは多眼カメラ又はカメラアレイなどと呼ばれる。ユーザが撮像ボタン201を押下すると、カメラユニット202〜205が被写体の光情報をセンサ(撮像素子)で受光する。そして、受光した信号がA/D変換され、複数のデジタルデータ(撮像画像データ)が同時に取得される。カメラユニット202〜205はそれぞれ異なる位置に配置されているため、それぞれ異なる視点から撮像した画像データを取得することができる。なお、ここでは多眼カメラの例としてカメラユニットを4個備えるカメラを提示したが、カメラユニットの数は4個に限定されず、異なる位置に複数のカメラユニットを備える構成である限り、視差のついた画像データを取得することが可能である。ただし、全てのカメラユニットが同一直線状に並ぶような配置ではない方が、視差推定のロバスト性の観点から有利である。
また、撮像部110としては図2(b)に示すような、メインレンズと撮像素子との間にマイクロレンズアレイを配置した撮像部(プレノプティックカメラ)を用いることもできる。マイクロレンズアレイ208は、複数の微小な凸レンズを2次元のアレイ状に並べたものである。メインレンズ206はズームレンズ、フォーカスレンズを概念的にまとめて1枚で表したものであり、そこから入射した光線210、211が、絞り207とマイクロレンズアレイ208を通過して撮像素子209に到達する。プレノプティックカメラではマイクロレンズアレイ208の働きにより、メインレンズ206の異なる領域を通過した光線を弁別することができる。例えば図2(b)の場合ではメインレンズ206の上半分を通過した光線210は画素213で受光され、下半分を通過した光線211は画素212で受光される。このように、メインレンズ206の異なる領域を通過した光線はそれぞれ撮像素子209の異なる画素に入射されるため、両者を弁別することができる。なお、メインレンズ206のどの領域を通過した光線が撮像素子209のどの画素に入射するかは、レンズの焦点距離やレンズ―センサ間距離などの撮影パラメータから求めることができる。例えば図2(b)では、メインレンズ206の上半分を通過した光線は、撮像素子209の“R”と記載された画素に入射し、メインレンズ206の下半分を通過した光線は撮像素子209の“L”と記載された画素に入射することが予め分かっている。このような場合では、“R”と記載された画素だけを抜き出して並べることで、メインレンズの上半分を視点とする画像を得ることができ、“L”と記載された画素だけを抜き出して並べることで、メインレンズの下半分を視点とする画像を得ることができる。上記で説明したように、プレノプティックカメラでは、得られた画像の各画素を並べ替えることで、複数の異なる視点から被写体を見た場合の画像を得ることができる。
次に、本実施例の画像処理装置100で行われる処理について述べる。図3は、画像処理装置100のブロック図であり、図4は画像処理装置100で行われる処理の流れを示すフローチャートである。画像処理装置100は、CPU101がRAM102をワークエリアとしてROM103に格納されたプログラムを実行することで、図1に示す各構成部を図3に示すブロックとして制御し、図4に示す処理を実行する。なお、全ての処理をCPU101が実行するのではなく、図3に示すブロックの一部又は全てとしての機能を有する専用の処理回路を用意し、その処理回路を用いて処理を行うようにしてもよい。以下、画像処理装置100で行われる処理の詳細について、図3と図4とを参照して説明する。
ステップS401では、取得部301が、撮像部110から入力された画像データを取得する。ここで取得される画像データは、多眼カメラにより撮像された、同一の被写体を複数の異なる視点から見た場合の画像データである多視点画像データである。取得部301は、取得した画像データを決定部302に出力する。
ステップS402では、決定部302が、取得部301から入力された画像データを取得し、視差推定に用いる基準画像と参照画像の決定を行う。ここで、基準画像とは視差推定の基準となる画像であり、ブロックマッチング処理では、基準画像の着目画素に対応する画素が参照画像から探索される。その結果、視差推定の結果として得られる視差マップは、基準画像の視点に対応する視差マップとなる。決定部302は、入力された画像データが示す複数の画像から、基準画像と参照画像をそれぞれ決定し、その結果を推定部303に出力する。
ステップS403では、推定部303が、フラグマップの初期化を行う。フラグマップとは、視差の推定を行う画素位置を示す2値の画像データであり、視差推定を行う画素位置には1、視差推定を行わない画素位置には0が入力される。最初の視差推定では全ての画素位置について視差推定が行われるため、フラグマップの全ての画素位置の値を1に更新する。なお、フラグマップの形式はこれに限られず、各画素位置が処理対象であるか否かを示すデータであればよい。また、本実施例において、フラグマップはRAM102に格納されているものとする。
ステップS404では、推定部303が、ブロックマッチングに用いるブロックサイズの初期化を行う。本実施例では、小さいブロックからブロックマッチングを始めて、徐々にブロックサイズを大きくしていくので、ここではブロックマッチングに用いるブロックサイズを、あらかじめ設定された最も小さいサイズに設定する。なお、本実施例では、一片を3画素とする正方形を最初のブロックマッチングに用いるブロックサイズとして設定する。
ステップS405では、推定部303が、フラグマップの値と設定されたブロックサイズとに基づいて視差推定の処理を行う。この処理の詳細については後述する。推定部303は、推定の結果生成された視差マップを算出部304に出力する。
ステップS406では、算出部304が、推定部303から入力された視差マップの、各画素位置における平滑度を示す評価値を算出する。ここでは、推定部303から入力された視差マップにおける、処理対象の画素を含む画像領域内の視差値の分散の大きさを評価値とする。すなわち、視差値の分散が大きいほど平滑度が低く、視差値の分散が小さいほど平滑度が高いことを意味する。なお、視差値の分散の大きさV(x,y)は以下の式で表わされる。
Figure 0006655869
ここで、l(x,y)は、視差マップの画素位置(x,y)における視差の値であり、Bは分散の算出に用いる視差マップの画像領域である。ここでは、処理対象の画素を中心とした5画素×5画素の正方領域を、分散の算出に用いる画像領域とする。算出部304は、推定部303から入力された視差マップが示す視差の値を式(1)に代入して、各画素位置における分散値Vdを算出し、算出した分散値をフラグ更新部305に出力する。
ステップS407では、フラグ更新部305が、算出部304から入力された分散値に基づいてRAM102に格納されたフラグマップの更新を行う。フラグ更新部305は、算出部304から入力された分散値が所定の閾値よりも小さい画素については、視差が正しく推定された画素であるとしてフラグマップの値を0に更新する。一方、算出部304から入力された分散値が所定の閾値よりも大きい画素については、視差が正しく推定されていない画素であるとして、フラグマップの値は1のままとする。なお、ここで分散の閾値は1[pixel]とする。フラグ更新部305は、フラグマップの更新が終了したら、フラグマップの更新が終了したことを示す信号を判定部306に出力する。なお、RAM102には、最新版のフラグマップの他に、更新前のフラグマップにおいて1が入力されていた画素数が保存されているものとする。
ステップS408では、判定部306が、ステップS407で更新されたフラグマップを参照し、フラグマップが収束したかどうかを判定する。ここで、判定部306は、最新のフラグマップで1が入力されている画素の数と、更新前のフラグマップにおいて1が入力されていた画素の数とを比較することで、フラグマップが収束したかどうかを判定する。図5を用いてフラグマップの収束の判定の原理を説明する。
図5は、ある階層kにおける視差マップとフラグマップとの関係を表した図である。図5(a)において、マップ501は、k番目の階層での視差推定の結果に基づいて更新された視差マップであり、画素の色が明るいほど視差が大きい(撮像部に近い)ことを示している。領域502は、視差の値にバラつきが発生しており、式(1)に従って視差値の分散を評価した結果、分散値が閾値を超えた領域である。図5(b)において、マップ503は、視差マップ501に基づいて更新されたフラグマップである。領域504は、領域502に対応する領域であり、画素に値1が格納されている。フラグマップ503において、領域504以外の領域には、画素に値0が格納されている。領域504に含まれる画素は、k+1番目の階層において、視差推定を行う対象の画素となる。図5(c)において、マップ505はk+1番目の階層における視差推定の結果に基づいて更新された視差マップであり、領域506は、式(1)に従って視差の分散を評価した結果、分散値が閾値を超えた領域である。k+1番目の階層における視差推定の結果、視差が上手く求まらなかった領域が減少していることが分かる。図5(d)において、マップ507は、視差マップ505に基づいて更新されたフラグマップであり、領域508は領域506に対応する領域である。領域508には、画素に値1が格納されている。
このように、視差推定を行う階層が上位に近づくに従って、視差が上手く求まらない領域、すなわち分散値が大きく、フラグマップにおいて1が入力される領域の大きさは減少していく。そこで、判定部306は、フラグマップにおいて1が入力された画素の数が、前の階層に対応するフラグマップからどれだけ減少しているかに基づいて、フラグマップの収束を判定する。具体的には、最新のフラグマップで1が入力されている画素の数と、1つ前の階層に対応するフラグマップで1が入力されている画素の数との差分絶対値を計算し、差分絶対値の大きさが閾値以下になった場合はフラグマップが収束したと判定する。なお、ここで算出した、最新のフラグマップで1が入力されている画素の数は、次の階層での判定の為にRAM102に記憶しておくものとする。フラグマップが収束したと判定された場合は、判定部306は視差マップを距離導出部308に出力し、ステップS410に進む。フラグマップが収束していないと判定された場合は、ステップS409に進む。なお、あらかじめ設定したイタレーション回数が終了したらフラグマップが収束したと判定するようにしてもよい。そのような構成では、視差推定の精度が落ちる場合があるが、一定以上に処理量が大きくなることを防ぐことができる。
ステップS409では、ブロック更新部307が、ブロックマッチングに用いるブロックサイズを更新し、ステップS404に戻る。本実施例では、k回目のイタレーション、すなわちk番目の階層において用いるブロックの大きさを、一辺の長さが(2+1)の正方形として設定するものとする。なお、各階層におけるブロックの大きさは上記のものに限られず。例えば、処理量が増大してもより精度の高いマッチングを行いたい場合には、一辺の長さが(2k+1)の正方形をブロックマッチングに用いるブロックとして設定してもよい。なお、この場合は、一辺の長さが(2+1)の正方形を用いる場合よりも、階層数を大きく設定することが望ましい。また、ブロックマッチングに用いるブロックは正方形に限られず、長方形や円形等の正方形とは異なる形状として設定してもよい。また、一番最初の視差推定で用いるブロックサイズを最大に設定し、イタレーション回数に従ってブロックを縮小していくようにしてもよいが、本実施例のように小さなブロックからイタレーション回数に従ってブロックを拡大する構成の方が望ましい。これは、最初に小さいブロックで計算を行った方が、遠近混在領域において間違った視差値が算出される可能性が低下するからである。また、本実施例では、画像の解像度を固定し、階層に応じてマッチングに用いるブロックサイズを変更したが、ブロックサイズを固定して、階層に応じてマッチングに用いる画像の解像度を変更するようにしてもよい。すなわち、一つのブロックに対応する被写体の範囲が各階層で異なるように設定されていれば同様の効果を得ることができる。
ステップS410では、距離導出部308が、判定部306から入力された視差マップと、撮像部110から入力された撮像パラメータとに基づいて、各画素位置に対応する被写体距離を示す距離マップを生成する。各画素位置に対応する距離d(x,y)[m]は以下の式で表わされる。
Figure 0006655869
ここで、αは撮像部110の画角であり、lは基準視点と参照視点の間の視点間距離[m]、lpixは画素位置(x,y)に対応する視差値[pixel]、ppixは視差が付いている方向における、各画像の総画素数である。距離導出部308は、撮像部110の撮像パラメータと視差マップとが示す値を式(2)に代入し、得られた距離マップを出力して処理を終了する。
以上が本実施例で行われる処理の流れである。次に、推定部303で行われる処理(ステップS405)の詳細について述べる。図6はステップS405の詳細を示すフローチャートである。
ステップS601では、推定部303が、RAM102に格納されたフラグマップを参照して、基準画像において視差推定を行う着目画素を決定する。各階層の視差推定においては、フラグマップで1が入力されている画素のうちから着目画素が選択される。本実施例では、各階層の視差推定のはじめには、フラグマップで1が入力されている画素のうち、最も左上の画素が着目画素として選択される。その後、着目画素に対応する視差が決定されるたびに、フラグマップで1が入力されている画素のうちから右下に向かって、それまでに着目画素として選択されていない画素が新たな着目画素として選択される。なお、着目画素の選択の順番はこれに限られず、どのような順番で着目画素を決定してもよい。
ステップ602では、推定部303が、参照画像において、着目画素と比較する参照画素を決定する。最初の参照画素としては、参照画像の最も左上の画素が選択される。その後、参照画素の評価値が算出されるたびに、右下に向かって、それまでに参照画素として選択されていない画素が新たな参照画素として選択される。参照画素の選択の順番はこれに限られない。なお、着目画素と対応する画素が存在しそうにない画像領域の画素はあらかじめ参照画素の候補から除外しておいてもよい。例えば、参照画像が基準画像よりも水平方向に右側の視点に対応する場合、被写体上の同じ点に対応する画素は、参照画像において基準画像よりも水平方向に右側に存在するはずである。そこで、参照画像において、着目画素の画素位置よりも水平方向に右側に存在する画素のみを参照画素の候補としてもよい。また、あらかじめ被写体が存在する距離の範囲が分かっている場合には、着目画素から大きく離れた位置に存在する画素は参照画素の候補から除外してもよい。
ステップS603では、推定部303が、着目画素と参照画素とを比較し、ブロックマッチングの評価値を計算する。本実施例では、比較対象のブロック間での画素値の分散の大きさを評価値として用いる。分散の計算に用いるブロックは、RAM102に格納されたブロックサイズが示す大きさを有する、着目画素および参照画素を中心とする正方形の領域とする。着目画素を中心とするブロックと、参照画素を中心とするブロック同士で画素値の分散が計算され、その分散が最も小さくなる組み合わせが、互いに対応するブロックの組として検出される。そして、そのブロックの組に対応する着目画素と参照画素の画素位置の差から、着目画素に対応する視差が導出される。
着目画素と参照画素の画素位置の水平方向の差をl、垂直方向の差をlとすると、着目画素の画素位置(x,y)、における評価値V(l、l、x、y)は以下の式で表わされる。なおここでは、簡単のため各視点の光軸は互いに平行であるとする。
Figure 0006655869
ここで、Bはマッチングに用いるブロックに含まれる画素の集合を示しており、|B|は領域Bに含まれる画素数を示している。また、I(x,y)は基準画像の画素位置(x,y)における画素値を、I(x,y)は参照画像の画素位置(x,y)における画素値を示している。推定部303は、式3を用いて導出した評価値を、RAM102に格納する。なお、ここで算出される評価値は式3に示す画素値の分散値に限られず、二つの画像領域の類似度合いを示す値であれば公知の様々なものが利用可能である。
ステップS604では、推定部303が、参照画像の全ての画素を参照したかどうかを判定する。参照画像の全ての画素が参照されたと判定された場合は、ステップS605に進む。参照画像の全ての画素が参照されていないと判定された場合は、ステップS602に戻り、新たな画素を参照画素として決定する。
ステップS605では、推定部303が、ステップS603で算出された全ての評価値を比較し、最も評価値が小さい画素に対応する視差値を、着目画素の視差値として決定する。着目画素の視差値としては、(l,l)を格納してもよいし、ベクトル(l,l)大きさを格納してもよい。
ステップS606では、推定部303が、基準画像の全ての画素について視差値が決定されたか否かを判定する。全ての画素について視差値が決定されたと判定された場合には、ステップS607に進む。全ての画素について視差値が決定されていないと判定された場合には、ステップS601に戻り、新たな画素を着目画素として決定する。ステップS607では、ステップS605で決定された視差値に基づいて、基準画像の各画素に対応する視差値を格納した視差マップを生成し、距離導出部308に出力して処理を終了する。
以上が、本実施例の画像処理装置100で行われる処理である。以上の処理によれば、同一の被写体を互いに異なる複数の視点から見た場合の複数の画像の間の視差を、高精度に推定することができる。なお、本実施例において、取得部301は、互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示す画像データを入力する入力手段として機能する。また、推定部303は、前記複数の画像同士を比較することで、前記複数の画像間の視差の大きさを示す情報を推定する推定手段として機能する。また、算出部304は、前記推定手段により推定された前記視差の大きさを示す情報の信頼度を示す評価値を導出する導出手段として機能する。また、フラグ更新部305は、前記導出手段により導出された前記評価値が示す信頼度が、所定の基準に達するかどうかを判定する判定手段として機能する。すなわち、算出部304とフラグ更新部305は、第一のサイズの画像領域同士の比較により推定された視差に基づいて、第二のサイズの画像領域同士の比較により視差を推定する画像領域を特定する特定手段として機能する。
<実施例2>
実施例1では、マッチングに用いる領域として、着目画素および参照画素を中心とする正方形の画像ブロックを用いる例について説明した。本実施例では、着目画素ごとにマッチングに用いる領域の形状や、視差マップの平滑度の計算領域を変える場合について説明する。図7は、本実施例におけるマッチング領域の決め方の概念を表した図である。正方形701は実施例1のブロックマッチングでも用いられた、着目画素を中心とする5×5画素の画像ブロックである。図7において、白色の画素は着目画素、灰色の画素は正方形701の中でマッチングに用いる領域を表している。黒色の画素は、正方形701に含まれる画素のうち、マッチングに用いる領域から除外された画素を表している。このように、本実施例では、ブロックマッチングに用いる画像ブロックの中から、マッチングに用いるのにふさわしくない画素を除外することで、マッチングの精度を高めている。
着目画素の座標を(x,y)、画像ブロック内の各画素の座標を(x、y)とすると、推定部303は、例えば以下の規則を満たす画素をマッチングに用いる画素として決定する。
Figure 0006655869
(x,y)は基準画像の画素位置(x,y)における輝度であり、τは適当な閾値である。式(4)は、着目画素と同じような輝度を有する画素は、似たような視差を有する可能性が高いという仮定に基づいている。つまり、式(4)に基づいてマッチング領域を決定することで、遠近混在領域においても、着目画素と異なる距離に存在する被写体の情報をマッチングに用いる可能性が低下するので、視差推定の精度が向上する。なお、より高精度に視差を求めたい場合には、(R,G,B)すべての値が式(4)を満たす画素をマッチング領域とするようにしてもよい。
なお、算出部304における視差マップの平滑度の算出においてもこの技術を応用することができる。すなわち、着目画素と輝度値や画素値の近い画素のみで平滑度を算出することで、遠近混在領域における平滑度がより正確に求められるようになる。
<実施例3>
実施例3では、テクスチャレス領域において間違った視差値が算出されてしまう可能性を低減する例について説明する。テクスチャレス領域においては、複数の視差値の候補の間で、評価値の差がほとんど見られないことがある。そのため、テクスチャレス領域では間違った視差が選択されてしまう可能性が高くなる。この性質の為に、算出された視差マップにおいて、テクスチャレス領域では視差値がばらつく。しかし、被写体の条件によっては、間違った視差を示しつつも平滑な領域が視差マップに一部表れてしまい、間違った視差が正しい視差であるとして判定されてしまう場合がある。本実施例の推定部303では、このような事象を回避するために以下の処理が行われる。
本実施例の推定部303は、マッチング度合いが最も高いとして判定された画像領域同士が示す視差(第一の視差候補)の評価値と、他の視差候補の評価値との差を考慮する。第一の視差候補との評価値の差が所定の閾値以下となる距離候補が、所定の数以上存在する場合には、第一の視差候補の信頼度が低いため、第一の視差候補が一定以上の広さの領域で視差として選択されてしまわないように、選択する視差候補を変更する。例えば、推定部303は、第一の視差候補をその画素に対応する視差として決定するのではなく、評価値の差が所定の閾値以下である複数の視差候補からランダムで選択した視差候補を、その画素に対応する視差として決定する。これは、ブロックマッチングで比較された組の中から1組を選択することと等価である。これにより、間違った視差を示す平滑な領域が視差マップに表れてしまい、間違った視差が正しい視差として決定されてしまうことが抑制される。この処理を行った場合のテクスチャレス領域では、視差マップの平滑度が低くなるので、マッチングに用いるブロックサイズを変更して再度視差の推定が行われる。すなわち、より適切なブロックサイズで視差推定が行われる可能性が向上する。
なお、複数の視差候補からの視差の選択は必ずしもランダムに行われる必要はなく、選択される視差の候補に偏りが生じないように選択するのであれば様々な選択方法を利用して良い。
<実施例4>
実施例1から実施例3では、異なる視点から見た場合の画像同士でブロックマッチングを行うことにより、各画像の間の視差を求める例について説明した。本実施例では、多視点画像データから生成されたライトフィールドデータを用いて、ライトフィールド空間(以下、ライトフィールドはLFと記載する)での処理により各画像の間の視差を求める例について説明する。
ここではまず、LFデータとLF空間の定義について説明する。LFデータは被写体からカメラに入射する光線の入射位置、入射方向および強度の情報を示すデータであり、一般には撮像面上で光線が入射する点の空間座標(x,y)および、光線の方向を示す方向座標(u,v)または(θ,φ)と、強度値Lとで表わされる。ここで(u,v)はxy平面に平行で所定の距離だけ離れたuv平面において光線が通過する点の空間座標であり、(θ,φ)は点(x,y)に入射する光線の角度を示す値である。LFデータの表現は上記に示したものに限られず、光線の入射位置、入射方向、および強度が定義されるパラメータを含んでいればどのような表現形式であってもよい。例えば、上記のような4次元空間における点の強度による表現ではなく、より一般化された7次元空間を用いた表現を採用してもよい。この7次元空間のデータは一般にプレノプティック関数と呼ばれ、3次元の空間座標、2次元の方向座標、時刻、波長を含んでいる。
本実施例で用いるLFデータはL(x,y,u,v)で表わされる4次元量であるが、以降の説明では説明の簡略化の為、断りがない限り1次元の空間座標および1次元の方向座標により表現されるLFデータの2次元断面を前提として説明する。一般にこのようなLFデータの断面はエピポーラ平面画像(Epipolar−Plane Image)と呼ばれることもあるが、以降では2次元のLFデータと呼ぶ。2次元のLFデータが有する性質やそれに対する以降で述べる処理は、そのまま本来の4次元のLFデータに対して当てはめることができる。また、LFデータは上記の形式で表現されていない場合に、例えば多眼カメラやプレノプティックカメラで取得した多視点画像データから生成することで取得してもよい。上記の説明において、(x,y)は各画像中の画素位置、(u,v)は各画像に対応する視点位置を示しているので、視差画像群の各画素の画素値に上記の対応関係に基づく座標を割り振れば、4次元量のLFデータL(x,y,u,v)に変換することができる。
図8に2次元のLF空間におけるLFデータの例を示す。ここで横軸は空間座標x、縦軸は方向座標uであり、各データの濃淡は強度値Lを示している。図8に示すように、光線の空間座標および方向座標で定義されるLF空間において、被写体上の同一の点に対応するデータ点は線分を形成する。これは、被写体上の同一の点から出射された光線は、空間座標と方向座標の間に同一の相関関係を有するためである。この線分9の傾きは、異なる視点から入射された光線がセンサ上でどれだけ異なる位置に入射するか、つまり、異なる視点から見た場合の複数の画像の間にどれだけの視差が生じるかを示している。そこで、本実施例では、LFデータがLF空間において示す線分の傾きを調べることにより視差を求める場合について説明する。
まず、本実施例でLFデータが示す線分の傾きを調べる方法の原理について述べる。本実施例では、着目画素を通過する直線の傾きを変化させながら、直線上の画素の画素値の分散を評価し、最も画素値の分散が小さい直線に対応する傾きを視差として出力する。しかし、テクスチャレス領域などの、同じ傾きをもつ直線が広い範囲にわたって存在する領域内では、複数の傾きでほぼ差の無い分散値が算出されてしまうため、視差推定の精度が低下してしまう。そこで、本実施例では、分散の評価に用いる直線に幅を持たせ、幅を持った直線が示す領域内に存在する画素の画素値の分散を評価することで、テクスチャレス領域においても正確な傾きを求められるようにする。本実施例では、この時に用いる直線の幅を階層ごとに切り替えることとする。これは、遠近混在領域においては幅の細い直線を用いて分散を求めた方が、テクスチャレス領域においては幅の太い直線を用いて分散を求めた方が高精度な視差推定が望めるからである。この原理を図9に示す。
図9において、データ901はLF空間におけるLFデータである。そして、領域902は分散の算出に用いる直線が示す領域であり幅903は分散の算出に用いる直線の幅を示している。また、領域904は遠近混在領域を、領域905はテクスチャレス領域を示している。図9に示すように、遠近混在領域においては、分散の算出に用いる直線の幅を太くすると、傾きの異なる直線が領域内に含まれる可能性が高くなってしまうため、傾き算出の精度が下がってしまう。一方、テクスチャレス領域においては、細い直線を用いて分散の算出を行うと、正しい傾きの近傍の複数の傾きで分散の違いがほとんどなくなってしまうため、正しい傾きを一意に決定できず、視差推定の精度が低下してしまう。上記の理由から、遠近混在領域においては幅の細い直線を用いて分散を求め、テクスチャレス領域においては幅の太い直線を用いて分散を求めた方が、高精度な視差推定を行うことができる。
以下、本実施例の画像処理装置100で行われる処理について説明する。なお、実施例1および実施例2と同様の処理については説明を省略する。図10は本実施例の画像処理装置100のブロック図であり、図10は画像処理装置100で行われる処理の流れを示すフローチャートである。画像処理装置100は、CPU101がRAM102をワークエリアとしてROM103に格納されたプログラムを実行することで、図1に示す各構成部を図10に示すブロックとして制御し、図11に示す処理を実行する。
以下、図10および図11を参照し、実施例1および実施例2との差について説明する。ステップS1101では、変換部1001が、取得部301から入力された画像データをLFデータに変換する。本実施例では、4次元のLFデータL(x,y,u,v)を用いることとするが、以下の説明では、簡単の為に2次元のLFデータを用いて処理の原理等の説明を行う。なお、LFデータの変換の際に、(x,y)には画像データが示す各画像中の画素位置を、Lはその画素位置における画素値を、(u,v)には各画素に対応する視点を示す座標を代入するものとする。変換部1001は、この変換により生成されたLFデータを推定部1002に出力し、ステップS403に進む。なお、本実施例ではこのステップで多視点画像データをLFデータに変換するが、変換されたLFデータを用いずに、二次記憶装置104に予め格納されたLFデータを読み込んで推定部1002に入力するようにしてもよい。
ステップS1102では、推定部303が、視差値の推定に用いる直線の幅を初期化する。本実施例では、細い直線から分散値の算出を始めて、徐々に用いる直線の幅を大きくしていくので、ここでは分散値の算出に用いる直線の幅を、あらかじめ設定された最も小さい値に設定する。なお、本実施例では、最初に用いる直線の幅を1画素として設定する。
ステップS1103では、推定部1002が、LFデータが示す線分の傾きに基づく視差推定処理を行う。ここで行う処理の詳細については後述する。
ステップS1104では、サイズ更新部1003が、視差値の推定に用いる直線の幅を更新し、ステップS1103に戻る。本実施例では、k回目のイタレーション、すなわちk番目の階層において用いる直線の幅を(2+1)画素として設定するものとする。なお、処理量が増大してもより精度の高いマッチングを行いたい場合には、(2k+1)画素を、k番目の階層において用いる直線の幅として設定してもよい。この時、(2+1)画素の幅の直線を用いる場合よりも、階層数を大きく設定することが望ましい。
以上が本実施例で行われる処理の流れである。次に、本実施例の推定部1002で行われる処理(ステップS1103)の詳細について図12を参照して説明する。なお、図6に示すステップS405の処理と同様の処理については説明を省略する。
ステップS1201では、推定部1002が着目画素の決定を行う。ここで決定する着目画素は、あらかじめ定められた(u,v)におけるxy平面上での画素である。これは、定められた(u,v)に対応する視点から見た画像中の画素を示している。2次元のLFデータでは、ある定められたuにおける座標xを決定することとなる。着目画素を決定する視点としては、全ての視点の中でより中央に近い視点を用いるのが望ましい。例えば、多視点画像データとして、u=1,2,3,4,5となる、等間隔に並んだ5視点に対応する画像を示すデータが入力されている場合には、u=3に対応するxy平面を用いるのが望ましい。これは、u=1やu=5といった端の視点で着目画素を決定した場合、LFデータの端部で視差が求まらない画素が出てきてしまう可能性があるためである。定められたxy平面上での着目画素の決定の仕方はステップS601と同様であるので、説明を省略する。
ステップS1202では、推定部1002が、分散の算出に用いる直線の傾きを決定する。着目画素が存在するxy平面のuをu=0、着目画素のx座標をx=xとすると、着目画素を通過する直線の式は、x=x+αuと表わされる。この直線上では、位置がuだけずれた視点においてαuだけ視差が付いていることになる。本実施例では、このαを直線の傾きとして変化させ、各着目画素に対応するαを、着目画素に対応する視差を示す値として視差マップに格納する。なお、このステップでは、あらかじめRAM102に格納された複数の傾き候補の中から、分散の算出に用いる傾き候補を推定部1002が選択するものとする。例えば、本実施例においては、画像間で視差が検出可能な最近接の被写体に対応する傾きから、無限遠の被写体に対応する傾きまでの間で、各傾きが示す直線の間の角度の差が等間隔になるように、256の傾き候補が設定されている。このステップでは、傾き候補の中から一つを選択すると、ステップS1203に進む。なお、選択した傾きについての評価値が計算され、またこのステップに戻ってきた場合は、傾き候補の中でまだ選択されていない候補を新たに選択するものとする。
ステップS1203では、推定部1002が、ステップS1202で決定された傾きの評価値を計算する。ここで計算される評価値は、直線に含まれるLFデータの強度値L(u,x)の分散であり、着目画素位置xにおける傾きαの直線の評価値V(α,x)は以下の式で表わされる。
Figure 0006655869
式(4)において、Δuは2次元のLFデータのu軸方向の幅であり、Δは評価値の算出に用いる直線のx軸方向の幅である。推定部1002は、各パラメータを式4に代入して求めた評価値をRAM102に格納し、ステップS1204に進む。
ステップS1204では、推定部1002が、全ての傾き候補について評価値が計算されたかどうかを判定する。全ての傾き候補について評価値が計算されたと判定された場合は、ステップS1205に進む。全ての傾き候補について評価値が計算されていないと判定された場合は、ステップS1202に戻り、新たな傾き候補の選択を行う。
ステップS1205では、推定部1002が、RAM102に格納された全ての傾き候補の評価値を比較し、最も評価値が小さくなる傾きαを、視差マップの着目画素における値として決定する。ステップS606とステップS607とで行われる処理は実施例1と同様であるため、説明を省略する。以上の処理によれば、より高精度な視差推定を行うことができる。
<その他の実施例>
本発明の実施形態は、上記の実施例に限られるものではなく、様々な実施形態をとることが可能である。例えば、第一の実施例では、多視点画像データが示す複数の画像のうち、選択した基準画像と参照画像のみを比較することで視差値の推定を行ったが、3枚以上の画像を用いて視差値の推定を行ってもよい。この場合は、視差値として各視点間の位置関係を示す単位ベクトルごとの被写体像の移動量が格納される。この場合の、マッチングに用いる評価値は以下の式で表わされる。
Figure 0006655869
式(6)において、Bはマッチングに用いるブロックに含まれる画素の集合を示しており、|B|は領域Bに含まれる画素数を示している。lは前述の、単位ベクトルごとの被写体像の移動量を示す視差値、(rxk,ryk)は、基準の視点から見た各視点の相対位置ベクトルを示しており、nはマッチングに用いる視点の総数を示している。
また、上記の実施例では、ブロックマッチング法を用いて視差の推定を行ったが、他の方法を用いて視差の推定を行ってもよい。例えば、基準画像から、各階層に応じたサイズのブロックを切り出し、そのブロックに対応する画像領域を、参照画像全体から位相限定相関法を使って導き出し、導き出した対応画像領域の位置から視差を推定するようにしてもよい。
また、上記の実施例では、視差マップの平滑度に基づいてフラグマップを更新し、フラグマップが収束するまで処理を行った結果生成された視差マップを用いて距離マップを生成したが、距離マップ生成処理の順番はこれに限られない。例えば、各階層で距離マップの導出までを行い、各階層で距離マップの平滑度に基づいてフラグマップを更新するようにしてもよい。なお、多視点画像データが示す各視点の間の視差は被写体の距離に依存するので、各画素位置に対応する被写体の距離を格納した距離マップも、視差の大きさを示す情報であると言える。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像処理装置
101 CPU
102 RAM
103 ROM
301 取得部
303 推定部
304 算出部
305 フラグ更新部

Claims (15)

  1. 互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示す画像データを入力する入力手段と、
    前記複数の画像の間で第一のサイズのブロックマッチングを行うことによりことで、前記複数の画像間の視差の大きさを示す第一の情報を推定する推定手段と、
    前記第一のサイズとは異なる第二のサイズの画像領域同士を前記複数の画像の間で比較することによって視差が推定される、前記複数の画像中の画像領域を、前記推定手段により推定された前記第一の情報を用いて特定する特定手段とを有し、
    前記推定手段は、前記特定手段により特定された画像領域における前記複数の画像の間の視差の大きさを示す第二の情報を、前記複数の画像の間で前記第二のサイズの画像領域同士を比較することで更に推定し、
    前記推定手段は、前記ブロックマッチングにおいて、比較されたブロックの組の間の類似度を示す評価値が最も高いブロックの組との評価値の差が所定の閾値以下であるブロックの組の数が、所定の数以上である場合には、前記評価値の差が所定の閾値以下である複数のブロックの組の中から1組を選択し、該選択された組に基づいて前記視差の大きさを示す情報を推定する
    ことを特徴とする画像処理装置。
  2. 前記特定手段は、
    前記推定手段により推定された前記第一の情報の信頼度を示す評価値を導出する導出手段と、
    前記導出手段により導出された前記評価値が示す信頼度が所定の基準に達するかどうかを判定する判定手段とを有し、
    前記判定手段により前記評価値が示す信頼度が所定の基準に達していないと判定された前記複数の画像中の画像領域を、前記第二のサイズの画像領域同士を前記複数の画像の間で比較することによって視差が推定される画像領域として特定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記視差の大きさを示す情報は、画像の各画素位置に対応する視差値を格納した視差マップであり、
    前記導出手段は、前記評価値を、前記複数の画像の間で前記第一のサイズの画像領域同士を比較することで推定された第一の視差マップの各画素位置について導出し、
    前記判定手段は、前記第一の視差マップの各画素位置について導出された前記評価値が示す信頼度が、前記所定の基準に達するかどうかを判定することを特徴とする請求項2に記載の画像処理装置。
  4. 前記導出手段は、前記第一の視差マップの各画素位置に格納された視差値の信頼度の評価値として、前記視差マップの、該画素を含む画像領域内の視差値の分散を導出し、
    前記判定手段は、前記導出手段により導出された前記分散が所定の閾値を超える場合に、該画素に格納された視差値の信頼度が前記所定の基準に達しないと判定することを特徴とする請求項3に記載の画像処理装置。
  5. 前記第一のサイズは、前記第二のサイズよりも小さいことを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
  6. 前記視差の大きさを示す情報は、前記被写体までの距離を示す情報であることを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
  7. 前記ブロックマッチングで用いられるブロックに含まれる各画素のうち、前記ブロックマッチングの基準となる着目画素との類似度合いが所定の基準を満たさない画素を、前記ブロックマッチングに用いる画素から除外する除外手段を更に有することを特徴とする請求項1に記載の画像処理装置。
  8. 前記除外手段は、前記着目画素との輝度値の差が所定の閾値を超える画素を、前記ブロックマッチングに用いる画素から除外することを特徴とする請求項に記載の画像処理装置。
  9. 前記除外手段は、前記着目画素との画素値の差が所定の閾値を超える画素を、前記ブロックマッチングに用いる画素から除外することを特徴とする請求項に記載の画像処理装置。
  10. 前記第1の情報は、画像の各画素位置に対応する視差値を格納した視差マップであり、
    前記特定手段は、前記視差マップにおいて視差値の平滑度が低い領域を前記第二の情報を推定する領域として特定することを特徴とする請求項1または2に記載の画像処理装置。
  11. 互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示すデータであって、前記被写体から撮像装置に入射する光線の、入射位置、入射方向および強度を示すデータである、ライトフィールドデータを入力する入力手段と、
    前記被写体から前記撮像装置に入射する光線の入射位置および方向により定義されるライトフィールド空間において前記ライトフィールドデータが示す線分と、互いに異なる傾きをもつ複数の第一の太さの直線とをマッチングすることで、前記複数の画像の間に生じる視差の大きさを示す第一の情報を推定する推定手段と、
    前記ライトフィールド空間において前記ライトフィールドデータが示す線分と、前記第一の太さとは異なる第二の太さの直線とをマッチングすることによって視差が推定される、前記複数の画像中の画像領域を、前記推定手段により推定された前記第一の情報に基づいて特定する特定手段とを有し、
    前記推定手段は、前記特定手段により特定された画像領域における前記複数の画像の間の視差の大きさを示す第二の情報を、前記ライトフィールド空間において前記ライトフィールドデータが示す線分と、前記第二の太さの直線とをマッチングすることで更に推定することを特徴とする画像処理装置。
  12. 前記第一の太さは、前記第二の太さよりも小さいことを特徴とする請求項1に記載の画像処理装置。
  13. コンピュータを請求項1乃至1のいずれか一項に記載の画像処理装置の各手段として機能させるプログラム。
  14. 互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示す画像データを入力する入力工程と、
    前記複数の画像の間で第一のサイズのブロックマッチングを行うことによりことで、前記複数の画像間の視差の大きさを示す第一の情報を推定する第一の推定工程と、
    前記第一のサイズとは異なる第二のサイズの画像領域同士を前記複数の画像の間で比較することによって視差が推定される、前記複数の画像中の画像領域を、前記第一の推定工程で推定された前記第一の情報を用いて特定する特定工程と、
    前記特定工程で特定された画像領域における前記複数の画像の間の視差の大きさを示す第二の情報を、前記複数の画像の間で前記第二のサイズの画像領域同士を比較することで更に推定する第二の推定工程とを含み、
    前記第一の推定工程は、前記ブロックマッチングにおいて、比較されたブロックの組の間の類似度を示す評価値が最も高いブロックの組との評価値の差が所定の閾値以下であるブロックの組の数が、所定の数以上である場合には、前記評価値の差が所定の閾値以下である複数のブロックの組の中から1組を選択し、該選択された組に基づいて前記視差の大きさを示す情報を推定することを特徴とする画像処理方法。
  15. 互いに異なる複数の視点から同一の被写体を見た場合の画像である複数の画像を示すデータであって、前記被写体から撮像装置に入射する光線の、入射位置、入射方向および強度を示すデータである、ライトフィールドデータを入力する入力工程と、
    前記被写体から前記撮像装置に入射する光線の入射位置および方向により定義されるライトフィールド空間において前記ライトフィールドデータが示す線分と、互いに異なる傾きをもつ複数の第一の太さの直線とをマッチングすることで、前記複数の画像の間に生じる視差の大きさを示す第一の情報を推定する推定工程と、
    前記ライトフィールド空間において前記ライトフィールドデータが示す線分と、前記第一の太さとは異なる第二の太さの直線とをマッチングすることによって視差が推定される、前記複数の画像中の画像領域を、前記推定工程で推定された前記第一の情報に基づいて特定する特定工程とを有し、
    前記推定工程は、前記特定工程で特定された画像領域における前記複数の画像の間の視差の大きさを示す第二の情報を、前記ライトフィールド空間において前記ライトフィールドデータが示す線分と、前記第二の太さの直線とをマッチングすることで更に推定する第二の推定工程とを含むことを特徴とする画像処理方法。
JP2014208405A 2014-10-09 2014-10-09 画像処理装置、画像処理方法及びプログラム Expired - Fee Related JP6655869B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014208405A JP6655869B2 (ja) 2014-10-09 2014-10-09 画像処理装置、画像処理方法及びプログラム
US15/517,498 US10332259B2 (en) 2014-10-09 2015-09-30 Image processing apparatus, image processing method, and program
PCT/JP2015/004975 WO2016056202A1 (en) 2014-10-09 2015-09-30 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014208405A JP6655869B2 (ja) 2014-10-09 2014-10-09 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016081088A JP2016081088A (ja) 2016-05-16
JP6655869B2 true JP6655869B2 (ja) 2020-03-04

Family

ID=55652839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014208405A Expired - Fee Related JP6655869B2 (ja) 2014-10-09 2014-10-09 画像処理装置、画像処理方法及びプログラム

Country Status (3)

Country Link
US (1) US10332259B2 (ja)
JP (1) JP6655869B2 (ja)
WO (1) WO2016056202A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019021591A1 (ja) * 2017-07-28 2019-01-31 ソニー株式会社 画像処理装置と画像処理方法とプログラムおよび画像処理システム
JP7371053B2 (ja) * 2021-03-29 2023-10-30 キヤノン株式会社 電子機器、移動体、撮像装置、および電子機器の制御方法、プログラム、記憶媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05256613A (ja) * 1992-03-13 1993-10-05 Matsushita Electric Ind Co Ltd ステレオ画像からの視差演算方法と装置並びに奥行き測定装置
JP4517449B2 (ja) * 2000-05-10 2010-08-04 株式会社豊田中央研究所 画像における相関演算方法
JP5447164B2 (ja) * 2010-05-07 2014-03-19 住友電気工業株式会社 移動体識別装置、コンピュータプログラム及び移動体識別方法
KR101810845B1 (ko) * 2011-05-26 2017-12-22 톰슨 라이센싱 스케일-독립적인 맵
WO2013054499A1 (ja) * 2011-10-11 2013-04-18 パナソニック株式会社 画像処理装置、撮像装置および画像処理方法
JP5323222B2 (ja) 2012-03-09 2013-10-23 株式会社東芝 画像処理装置、画像処理方法および画像処理プログラム
JP6188387B2 (ja) * 2012-04-17 2017-08-30 パナソニック株式会社 視差算出装置及び視差算出方法
JP2014016981A (ja) * 2012-06-15 2014-01-30 Ricoh Co Ltd 移動面認識装置、移動面認識方法及び移動面認識用プログラム
US9237326B2 (en) * 2012-06-27 2016-01-12 Imec Taiwan Co. Imaging system and method
JP2015146526A (ja) * 2014-02-03 2015-08-13 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP6565188B2 (ja) * 2014-02-28 2019-08-28 株式会社リコー 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
US9686463B2 (en) * 2015-03-10 2017-06-20 Qualcomm Incorporated Systems and methods for continuous auto focus (CAF)

Also Published As

Publication number Publication date
WO2016056202A1 (en) 2016-04-14
JP2016081088A (ja) 2016-05-16
US10332259B2 (en) 2019-06-25
US20170309028A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
US10699476B2 (en) Generating a merged, fused three-dimensional point cloud based on captured images of a scene
JP7043085B2 (ja) 視点から距離情報を取得するための装置及び方法
US8718326B2 (en) System and method for extracting three-dimensional coordinates
JP6363863B2 (ja) 情報処理装置および情報処理方法
JP2015035658A (ja) 画像処理装置、画像処理方法、および撮像装置
JP6566768B2 (ja) 情報処理装置、情報処理方法、プログラム
JP5951043B2 (ja) 画像計測装置
JPWO2012017650A1 (ja) 物体検出装置、物体検出方法及びプログラム
US9613425B2 (en) Three-dimensional measurement apparatus, three-dimensional measurement method and program
JP6396499B2 (ja) 三次元情報の規模測定
JP6411188B2 (ja) ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法
CN110443228B (zh) 一种行人匹配方法、装置、电子设备及存储介质
JP2001194126A (ja) 三次元形状計測装置および三次元形状計測方法、並びにプログラム提供媒体
EP3832600A1 (en) Image processing device and three-dimensional measuring system
JP6655869B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6395429B2 (ja) 画像処理装置、その制御方法及び記憶媒体
JP2018009927A (ja) 画像処理装置、画像処理方法及びプログラム
JP6305232B2 (ja) 情報処理装置、撮像装置、撮像システム、情報処理方法およびプログラム。
JP6602412B2 (ja) 情報処理装置及び方法、情報処理システム、ならびにプログラム。
US10949988B2 (en) Information processing apparatus, information processing method, and program
JP6351364B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2018059767A (ja) 画像処理装置、画像処理方法およびプログラム
JP2018032144A (ja) 画像処理装置、画像処理方法およびプログラム。
JP7195785B2 (ja) 3次元形状データを生成する装置、方法、及びプログラム
JP4351090B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200204

R151 Written notification of patent or utility model registration

Ref document number: 6655869

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees