(57)【要約】【課題】特殊な撮像光学系を不要にして、エッジ方向によらず、主要被写体に対して精度の高い距離情報を生成できるようにする。【解決手段】まず、リアルタイム映像として撮像素子１０２を介して生成された画像をメモリ１０６に保持しておき、視差が生じている状態で撮影指示を受けると、その撮影画像を基準画像とし、メモリ１０６に保持されている画像を参照画像候補群とする。そして、基準画像から主要被写体を選択し、エッジ方向を判別して、エッジ方向とは異なる方向に視差が生じている画像を参照画像候補群から選択し、参照画像とする。そして、この参照画像および基準画像から距離画像を生成する。【選択図】図１
2015022630.tif 000002
【特許請求の範囲】
【請求項１】
共通の主要被写体に対して互いに視差を有する複数の画像を取得する取得手段と、
前記主要被写体のエッジ方向を判別する判別手段と、
前記判別手段によって判別された前記主要被写体のエッジ方向とは異なる方向に視差を有する画像の組を前記取得手段によって取得された複数の画像から選択する選択手段と、
前記選択手段によって選択された画像の組を用いて前記主要被写体までの距離の情報を含む距離画像を生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記主要被写体に対して焦点を合わせる焦点調節手段をさらに有し、
前記取得手段は、前記焦点調節手段によって焦点が調節された主要被写体を含む画像を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像の組の中の１つの画像は、少なくとも前記取得手段によって取得された他の画像と比べて絞りが絞られて撮影された画像であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記選択手段は、前記判別手段によって判別された前記主要被写体のエッジ方向と垂直な方向に視差を有する画像の組を選択することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記判別手段によって判別されたエッジ方向とは異なる方向へ前記画像処理装置を移動させることを促す補助情報を生成して表示部に表示する表示制御手段と、
前記画像処理装置の移動する方向を検出する検出手段と、
をさらに有し、
前記表示部に表示された補助情報に従って前記画像処理装置が移動したことが前記検出手段によって検出された場合に、前記取得手段は、移動後に撮影された前記主要被写体を含む画像を取得することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
共通の主要被写体に対して互いに視差を有する複数の画像を取得する取得工程と、
前記主要被写体のエッジ方向を判別する判別工程と、
前記判別工程において判別された前記主要被写体のエッジ方向とは異なる方向に視差を有する画像の組を前記取得工程において取得された複数の画像から選択する選択工程と、
前記選択工程において選択された画像の組を用いて前記主要被写体までの距離の情報を含む距離画像を生成する生成工程と、
を有することを特徴とする画像処理方法。
【請求項７】
共通の主要被写体に対して互いに視差を有する複数の画像を取得する取得工程と、
前記主要被写体のエッジ方向を判別する判別工程と、
前記判別工程において判別された前記主要被写体のエッジ方向とは異なる方向に視差を有する画像の組を前記取得工程において取得された複数の画像から選択する選択工程と、
前記選択工程において選択された画像の組を用いて前記主要被写体までの距離の情報を含む距離画像を生成する生成工程と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、距離画像を生成するために用いて好適な画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータビジョン等の分野では撮影した画像から距離情報を得ることが求められている。例えば、特許文献１および非特許文献１には、視差を有した複数の画像から、相関を用いたステレオ対応点探索を行って距離情報を推定する技術が開示されている。特に特許文献１に記載の技術では、距離情報を精度よく推定するために、視差画像間の位相差をステレオ対応点探索で検出する際に、被写体のエッジ領域の影響を受けにくくしている。具体的には、画面内の位相差分布を生成する際、視差画像間の視差方向に沿ったエッジ領域を検出し、検出されたエッジ領域の方向とは異なる方向についてステレオ対応点探索を行う。そして、探索結果を単位領域ごとに採用して組み合わせることにより位相差分布を生成し、生成した位相差分布をもとに距離情報を推定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７１８５８号公報
【非特許文献】
【０００４】
【非特許文献１】Gary Bradski、Adrian Kaebler（著）、松田晃一（訳）、「詳解OpenCV」、オライリー・ジャパン、オーム社、２００９年８月、p．377-466
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の非特許文献１に開示された従来技術では、ステレオ対応点探索の探索方向は１次元方向（水平もしくは垂直）で同じ行を探索するという特徴がある。そのため、例えば水平方向に視差のついた画像を用いてステレオ対応点探索する場合に、水平方向のエッジ領域では相関が強い値をもつ領域を一義的に決めることができないため、対応点が定まらない。そのため、正確な距離情報を推定することが困難である。
【０００６】
これに対して、特許文献１に開示された従来技術では、距離情報を精度よく推定するために、被写体のエッジ領域の影響を受けにくくしている。ところが、画面内に存在する被写体のうち、主要被写体に対して距離情報を推定することを想定していない。さらに、特許文献１に記載の撮像装置は、撮像素子の複数の画素に対して１つのマイクロレンズが割り当てられた特殊な撮像光学系によって複数の視差画像を得る構成となっており、高価であるという問題がある。
【０００７】
本発明は前述の問題点に鑑み、特殊な撮像光学系を不要にして、エッジ方向によらず、主要被写体に対して精度の高い距離情報を生成できるようにすることを目的としている。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、共通の主要被写体に対して互いに視差を有する複数の画像を取得する取得手段と、前記主要被写体のエッジ方向を判別する判別手段と、前記判別手段によって判別された前記主要被写体のエッジ方向とは異なる方向に視差を有する画像の組を前記取得手段によって取得された複数の画像から選択する選択手段と、前記選択手段によって選択された画像の組を用いて前記主要被写体までの距離の情報を含む距離画像を生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、主要被写体に対して主要被写体のエッジ領域の影響を受けにくくすることができ、さらに特別な撮像光学系を不要にして、精度の高い距離画像を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置の内部構成例を示すブロック図である。
【図２】本発明の実施形態に係る信号処理回路の詳細な構成例を示すブロック図である。
【図３】本発明の第１の実施形態に係る画像処理装置により距離画像を生成する処理手順の一例を示すフローチャートである。
【図４】撮影指示により生成された基準画像の一例を示す図である。
【図５】撮影指示がなされる前に生成された参照画像候補群の一例を示す図である。
【図６】主要被写体のエッジ方向を判別する詳細な処理手順の一例を示すフローチャートである。
【図７】ＡＦ測距枠で主要被写体のエッジ方向を判別する処理を説明するための図である。
【図８】ブロックマッチングの方法を説明するための図である。
【図９】本発明の実施形態に係るステレオ方式距離画像生成回路の詳細な構成例を示すブロック図である。
【図１０】左右の視点が形成する撮像系をピンホールモデルで表現した図である。
【図１１】ホモグラフィの写像手順を説明するための図である。
【図１２】撮像された生画像をステレオ平行化された左右画像へ写像する手順を説明するための図である。
【図１３】ステレオ対応点探索で用いるブロックマッチング手法を説明するための図である。
【図１４】ステレオ方式距離画像を生成する詳細な処理手順の一例を示すフローチャートである。
【図１５】主要被写体ごとに生成した距離画像および合成後の距離画像の一例を示す図である。
【図１６】本発明の第２の実施形態に係る画像処理装置により距離画像を生成する処理手順の一例を示すフローチャートである。
【図１７】画像における被写体およびＡＦ測距枠の一例を示す図である。
【図１８】本体を移動させる旨の表示例を示す図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係る画像処理装置１００の内部構成例を示すブロック図である。以下、図１を参照しながら、本実施形態の画像処理装置１００について説明する。
図１において、結像光学系１０１はレンズや絞り等からなり、フォーカス調節や焦点距離調整を行う。撮像素子１０２は、光学像を電気信号に変換するＣＣＤ等の素子であり、Ａ／Ｄ変換回路１０３は撮像素子１０２からのアナログ画像信号をデジタル画像信号に変換する回路である。
【００１２】
信号処理回路１０４は、Ａ／Ｄ変換回路１０３から出力された画像信号に対して信号処理を施す回路であり、表示部１０９はＬＣＤ等の表示器であり、撮像素子１０２を介して生成された画像を表示する。ＡＦ評価値取得回路１０８は結像光学系１０１のオート・フォーカス（ＡＦ）調整用のＡＦ評価値を取得するための回路であり、メモリ制御回路１０５はメモリ（ＤＲＡＭ）１０６との間で画像信号の書き込みおよび読み出しを行う回路である。
【００１３】
操作部１１０はユーザからの指示を受け付ける操作部材などである。動作速度検出回路１１１はジャイロセンサー等からなり、画像処理装置１００の動いた方向および速度を検出する。また、システム制御回路１０７は、画像処理装置１００全体の動作を制御する回路である。
【００１４】
結像光学系１０１のフォーカス調整をいわゆるオート・フォーカスにより実現するには、一般によく知られている山登りコントラストＡＦの技術を利用する。つまり、結像光学系１０１を通過した被写体光束を撮像素子１０２で受光し、ＡＦ測距枠として指定した領域内で撮像出力のコントラスト（ＡＦ評価値）が極大となるようにフォーカス調整することによりオート・フォーカスを実現することができる。また、フォーカス調整された結像光学系１０１の焦点位置から、ＡＦ測距枠中の合焦された被写体までの距離Ｚを求めることができる。
【００１５】
図２は、図１に示した信号処理回路１０４の詳細な構成例を示すブロック図である。
図２において、入力画像２０１は撮像素子１０２を介して生成された画像信号であり、メモリ１０６からメモリ制御回路１０５を介して読み出された画像である。
【００１６】
ステレオペア画像選択回路２０２は、入力画像２０１の中から、距離画像を生成するのに適した組み合わせの画像を、参照画像２０３または基準画像２０４として選択する。以下、距離画像の生成に適した組み合わせの画像をステレオペア画像と呼ぶ。ステレオ方式距離画像生成回路２０５は、参照画像２０３および基準画像２０４を用いてステレオ方式距離画像２０６を生成する。このステレオ方式距離画像２０６は、基準画像２０４に対して視差を有している画像である。距離画像合成回路２０７は、ステレオ方式距離画像２０６が複数存在する場合にこれらの画像を合成して合成距離画像２０８を生成する。
【００１７】
図３は、本実施形態に係る画像処理装置１００により距離画像を生成する処理手順の一例を示すフローチャートである。なお、図３に示す各処理は、システム制御回路１０７による制御によって行われる。
まず、Ｓ３０１において、撮像素子１０２を介して生成された画像を、確認用のリアルタイム映像として表示部１０９に表示する。そして、表示部１０９に表示されている画像（フレーム）をメモリ１０６に保持する。なお、焦点位置は、Ｓ３０１の撮影前にあらかじめＡＦ評価値取得回路１０８によるコントラストＡＦで被写体に焦点調節しておくものとする。なお、メモリ１０６に保持してから所定時間が経過した画像については、メモリ１０６から削除するようにしてもよい。
【００１８】
そして、ユーザが操作部１１０を操作することにより撮影指示を受けるまで、画像の取得を継続する（Ｓ３０２）。なお、距離画像を生成する際に、画面全体にピントが合った状態（パンフォーカス）の画像を用いた方がステレオ対応点探索の精度が上がる。そのため、結像光学系１０１の絞りを撮像中に手ブレを生じない程度に絞るよう制御することが好ましい。撮影指示を受けた場合には、撮影により撮像素子１０２を介して静止画を生成し、その画像を基準画像として設定する（Ｓ３０３）。
【００１９】
図４は、図３のＳ３０３にて設定した基準画像の一例を示す図である。図４に示す基準画像には、横縞模様の被写体４０１、縦縞模様の被写体４０２および被写体４０５が存在しており、図４にはＡＦ測距枠４０３、４０４が示されている。ここで本実施形態では、ＡＦ動作で合焦した被写体４０１、４０２を主要被写体とする。主要被写体の設定方法は前記方法に限らず、ユーザが表示部１０９に表示された撮像画像を確認しながら操作部１１０を操作することによって設定した所望の被写体を主要被写体としてもよい。その際、設定した箇所にＡＦ測距枠も移動する。
【００２０】
ユーザにより撮影指示がなされるまでの間に、ユーザはフレーミング動作で画像処理装置１００の位置を移動させている。また、撮影指示がなされた後は画像処理装置１００の位置を確定させるため、Ｓ３０１にて取得した画像とＳ３０３で設定した基準画像との間にはユーザのフレーミング動作に応じた視差が発生している。図５には、図３のＳ３０１にて取得した共通する被写体の画像の例を示している。図５（ａ）および図５（ｂ）に示す例は、図４に示す基準画像に対して水平方向に視差がついている画像である。一方、図５（ｃ）および図５（ｄ）に示す例は、図４に示す基準画像に対して垂直方向に視差がついている画像である。以下、説明のため、Ｓ３０１にて取得した複数枚の画像を参照画像候補群と称す。
【００２１】
なお、フレーミングの方法としては、画像処理装置１００をユーザが手持ち状態で移動させてもよいし、画像処理装置１００の結像光学系１０１や撮像素子１０２に機械的に動きを与える構成としてもよい。さらに、メモリ１０６に記録された動画を、メモリ制御回路１０５を介して読み出し、フレーム単位で区切った画像を入力画像とし、ユーザが指定したフレームを基準画像として設定してもよい。
【００２２】
基準画像の設定が終了したら、信号処理回路１０４のステレオペア画像選択回路２０２により、主要被写体のエッジ方向判別（Ｓ３０４）と、ステレオペア画像の選択（Ｓ３０５）とが行われる。まず、Ｓ３０４の主要被写体のエッジ方向判別について説明する。
【００２３】
図６は、図３のＳ３０４における主要被写体のエッジ方向を判別する詳細な処理手順の一例を示すフローチャートである。
まず、Ｓ６０１において、エッジ抽出処理を行う。この処理では、図４のＡＦ測距枠４０３、４０４を処理対象領域として、水平方向に沿ったエッジを抽出する水平エッジ抽出と、垂直方向に沿ったエッジを抽出する垂直エッジ抽出とを行う。
【００２４】
例えば、図４のＡＦ測距枠４０３、４０４の領域に対して水平エッジ抽出を行った場合には、図７（ａ）に示すように水平エッジが抽出される。一方、図４のＡＦ測距枠４０３、４０４の領域に対して垂直エッジ抽出を行った場合には、図７（ｂ）に示すように垂直エッジが抽出される。なお、水平方向および垂直方向のエッジを抽出する方法としては、バンドパスフィルタなど既存のエッジ抽出方法を用いればよい。
【００２５】
次にＳ６０２において、Ｓ６０１で抽出した水平方向および垂直方向のエッジについて、方向ごとにエッジ量の積分値を算出する。そして、Ｓ６０３において、Ｓ６０２で算出した方向ごとのエッジ量の積分値を比較し、より値が大きい方向を主要被写体のエッジの方向と判別する。例えば、図７に示すように、ＡＦ測距枠４０３の領域は水平方向のエッジをもち、ＡＦ測距枠４０４は垂直方向のエッジをもつと判別する。そのため、図４の被写体４０１は水平方向のエッジをもち、被写体４０２は垂直方向のエッジをもつと判別することができる。本実施形態では、エッジを抽出する対象領域をＡＦ測距枠として説明したが、対象領域の設定方法は前記方法に限らず、被写体を抽出した主要被写体領域を対象領域としてもよい。
【００２６】
次に、図３のＳ３０５におけるステレオペア画像の選択処理について説明する。Ｓ３０５では、Ｓ３０４の主要被写体のエッジ方向判別結果に基づいて、主要被写体ごとに、ステレオ方式距離画像を生成するのに適した画像を参照画像候補群の中から少なくとも１枚選択する。具体的には、判別した主要被写体のエッジ方向とは異なる方向に視差がついた画像を選択する。
【００２７】
例えば、図４の被写体４０１は、Ｓ３０４の主要被写体のエッジ方向の判別により、水平方向のエッジをもつと判別される。そこで、図５に示す参照画像候補群のうち、ステレオペア画像として選択すべき画像は、垂直方向に視差を有する図５（ｃ）もしくは図５（ｄ）に示す画像となる。
【００２８】
さらに、撮像素子１０２から距離が離れた被写体であっても大きな視差量がつくようにするために、より視差のついた画像をステレオペア画像として選択する。例えば、図４の被写体４０１に対するステレオペア画像として、図５（ｃ）に示す画像が選択されることとなる。同様にして、図４の被写体４０２に対するステレオペア画像は、最も水平方向に視差を有する図５（ａ）に示す画像が選択される。以下、参照画像が１つであるものとして説明する。なお、視差量は、動作速度検出回路１１１より得た画像処理装置１００の移動量、基準画像と参照画像候補群とで算出した動きベクトル、および基準画像と参照画像候補群とにおいて後述する並進移動量を参照して得ることができる。並進移動量は、後述するステレオ平行化処理およびステレオ対応点の探索処理により算出される。以下、動きベクトルの算出方法について説明する。
【００２９】
動きベクトルの算出方法としては、ブロックマッチングや勾配法などが知られており、一般的には、ブロックマッチングがよく使用されている。ブロックマッチングとは、注目画像である参照画像と、当該参照画像の動きの元となる基準画像との間の２画像間の動きベクトルを、所定の大きさの矩形領域のブロックごとに、参照画像と基準画像との間での相関を算出することにより求める方法である。以下、図面を参照しながらブロックマッチングについて説明する。
【００３０】
図８は、ブロックマッチングの方法を説明するための図である。図８（ａ）に示すように、まず、ブロックマッチングの対象となる２枚のステレオペア画像のうちの１枚である基準画像を、水平方向の複数画素および垂直方向の複数ライン分からなる所定の大きさの矩形領域（ブロック）に分割する。そして、基準画像におけるこれらの複数のブロックを基準ブロックとする。
【００３１】
ブロックマッチングにおいては、図８（ｂ）に示すように、基準ブロックと相関性の高いブロックを、参照画像の中から探索する。以下、参照画像に設定される基準ブロックと同じ大きさのブロックを参照ブロックと呼ぶ。そして、基準ブロックに結像されている画像が、参照画像上の矩形領域である探索範囲に結像されている画像と最も近似する位置を探索する。なお、最も近似する位置とは、矩形領域の全画素に対してＳＡＤ演算を行った結果、最小となる位置である。また、ＳＡＤ値とは、差の絶対値の総和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）のことである。そして、探索によって求められた位置座標と、基準ブロックの座標との差分が動きベクトルとなる。
【００３２】
つまり、図４における被写体４０１を含む基準ブロックと相関性の高いブロックを図５（ｃ）に示す画像から探索することにより、被写体４０１の動きベクトルを算出することができる。このように動きベクトルを算出することによって視差量を算出し、主要被写体ごとにステレオペア画像のうちのもう１枚である参照画像を決定する。
【００３３】
次に、Ｓ３０６において、ステレオ方式距離画像生成回路２０５は、ステレオ方式距離画像を生成する。ここで、図２に示すステレオ方式距離画像生成回路２０５の詳細な構成について説明する。
【００３４】
図９は、ステレオ方式距離画像生成回路２０５の詳細な構成例を示すブロック図である。以下、本実施形態によるステレオ方式距離画像の生成方法について、非特許文献１に記載の方法を参照しながら説明する。非特許文献１に記載の方法では、以下の（１）〜（４）のステップによりステレオ方式距離画像を生成することができる。本実施形態では基本的にこの４つのステップに従ってステレオ方式距離画像が生成される。また、以下の説明では、基準画像２０４を左画像とし、参照画像２０３を右画像とする。
（１）左右の異なる視点で撮影された２つの画像（左画像および右画像）に対して、撮像レンズの歪み補正を行う（歪み補正）。
（２）左右の異なる視点間でカメラの角度と距離とを調整するために、左画像および右画像を写像する（ステレオ平行化）。
（３）左右のカメラのビューで同じ特徴を求めることにより、視差画像を生成する（ステレオ対応点探索）。
（４）左右のカメラの幾何学的な位置情報を用いて、視差画像を距離画像に変換する（３Ｄ再投影）。
【００３５】
（歪み補正）
図９において、ホモグラフィ推定回路９０１は、ステレオ平行化を行うためのホモグラフィを推定する。ホモグラフィを推定するためには、結像光学系１０１による歪みが補正された座標系を用いる必要がある。そこでホモグラフィ推定回路９０１は、まず基準画像２０４および参照画像２０３に対して歪み補正を行う。歪み補正の方法は、非特許文献１に記載の方法と同様であり、座標変換式は、以下の式（１）により表される。
【００３６】
【数１】
2015022630.tif 000003
【００３７】
ここで、座標（ｘ，ｙ）は歪みが生じている点の元の位置を表し、座標（ｘcorrected，ｙcorrected）は歪み補正により得られる新しい位置を表している。さらに、値ｒは歪みが生じている点の元の位置におけるレンズ中心からの距離を表し、値ｋ1、ｋ2、ｋ3はレンズの形状から決定される歪み補正係数を表している。なお、本実施形態では、歪み補正は半径方向の歪みのみを補正するものとしたが、それだけに限定されるものではなく、例えば円周方向の歪みも補正するように構成してもよい。
【００３８】
（ステレオ平行化）
続いて、ホモグラフィ推定回路９０１は、歪みが補正された座標系においてホモグラフィを推定する。ホモグラフィを推定する手法については非特許文献１に記載の方法と同様の方法により行うものとする。
【００３９】
図１０は、左右の視点が形成する撮像系をピンホールモデルで表現した図である。
図１０において、点Ｏlおよび点Ｏrは左右の視点の投影中心位置を示し、点Ｐは被写体の位置を示している。また、点ｐlおよび点ｐrは左右の視点の投影平面に投影される被写体の結像位置を示し、点ｅlおよび点ｅrは左右の視点におけるエピポールを示している。さらに直線ｐlｅlおよび直線ｐrｅrは左右の視点におけるエピポーラ線を示している。
【００４０】
エピポーラ拘束により、１つの画像内に特徴点が与えられると、もう１つの画像内で対応する点は対応するエピポーラ線上に存在する。このため、後述するステレオ対応点探索ではエピポーラ線に沿ってステレオ対応点を探索することになる。このとき、２つの画像でエピポーラ線を平行にして対応点の高さを合わせると、水平方向の１次元でステレオ対応点を探索することができ、２次元の場合よりも計算量が大幅に軽減され、信頼度の高い結果も得られる。そこで、この２つの画像でエピポーラ線を平行にして対応点の高さを合わせるステレオ平行化処理を行う。
【００４１】
ステレオ平行化処理を行う前に、さらに以下の（ａ）〜（ｅ）のステップの処理がホモグラフィ推定回路９０１により実施される。
（ａ）２つの画像で８点以上の特徴点の対応を求める。
（ｂ）８点以上の特徴点の対応から基礎行列Ｆを求める。
（ｃ）基礎行列Ｆからエピポールｅl、ｅrを求める。
（ｄ）エピポールｅrから右画像のステレオ平行化のためのホモグラフィＨrを推定する。
（ｅ）特徴点の対応、ホモグラフィＨr、およびエピポールｅlから左画像のステレオ平行化のためのホモグラフィＨlを推定する。
【００４２】
ステップ（ａ）の処理では、２つの画像間でブロックマッチング手法による２次元の対応点探索を行うことにより、必要な特徴点の対応を求める。この処理では、画素単位で対応点探索するステレオ対応点探索とは異なり、画像一面内で最低８点の対応を求めればよいので、２次元であっても計算量は少なく、結果の信頼度にも大きな影響はない。なお、ブロックマッチング手法の詳細については、後述するステレオ対応点探索と同様である。ただし、ステレオ対応点探索のブロックマッチング手法は１次元方向のみの探索であり、ここではその探索範囲を２次元方向に拡張したブロックマッチング手法を適用する。
【００４３】
次のステップ（ｂ）の処理では、８点の特徴点の対応から３×３行列の基礎行列Ｆを求める。以下、基礎行列Ｆの計算方法について説明する。まず、特徴点の座標は、前述した式（１）により歪み補正されたものを用いる。次に、以下の式（２）に示すエピポーラ方程式を用いる。
（ｐr）TＥｐl＝０      ・・・（２）
【００４４】
ここで、Ｅは、３×３行列の基本行列である。また３×３行列のカメラ内部行列Ｍを用いると、以下の式（３）により３次元物理座標ｐを投影平面の２次元ピクセル座標ｑに変換することができる。
ｑ＝Ｍｐ      ・・・（３）
【００４５】
また、カメラ内部行列Ｍを用いると、一般に以下の式（４）により基本行列Ｅを基礎行列Ｆに変換することができる。
Ｆ＝（Ｍr-1）TＥＭl-1      ・・・（４）
【００４６】
以上に示した式（２）から式（４）を用いると、基礎行列Ｆに関する以下の式（５）を導くことができる。
（ｑr）TＦｑl＝０      ・・・（５）
【００４７】
基礎行列Ｆは３×３行列であり、かつスカラの自由度を持つので、９個の行列要素のうちの８個が変数となる。このため、式（５）に左画像および右画像のｑlおよびｑrの対応を８点代入すれば、単なる連立１次方程式となり、この連立１次方程式を解くことによって基礎行列Ｆを求めることができる。なお、本実施形態では基礎行列Ｆを求めるのに左画像および右画像のｑlおよびｑrの対応を８点用いているが、例えば非特許文献１に開示されているように８点以上の対応を用いた最小二乗法によって基礎行列Ｆを推定してもよい。
【００４８】
ステップ（ｃ）の処理では、基礎行列Ｆからエピポールｅl、ｅrを求める。基礎行列Ｆとエピポールｅl、ｅrとの関係は、以下の式（６）および式（７）で表される。この式（６）および式（７）に基礎行列Ｆを代入することにより、エピポールｅl、ｅrを求めることができる。
Ｆｅl＝０      ・・・（６）
（ｅr）TＦ＝０      ・・・（７）
【００４９】
ステップ（ｄ）の処理では、まずエピポールｅrからホモグラフィＨrを推定する。図１１は、ホモグラフィＨl、Ｈrの写像手順を説明するための図である。図１１（ａ）には、右画像の投影平面におけるオブジェクトの結像イメージ、およびエピポールｅrのピクセル座標（ｘe，ｙe）を示している。まず、エピポールｅrをｘ軸上の（ｋ，０）に写像する回転行列Ｒ（以下の式（８）参照）を求める。
【００５０】
【数２】
2015022630.tif 000004
【００５１】
次に、前述の式（８）をエピポールｅrに適用すると、以下の式（９）のようになる。
【００５２】
【数３】
2015022630.tif 000005
【００５３】
図１１（ｂ）には、図１１（ａ）に示す結像イメージ対して回転行列Ｒを適用したピクセル座標系の例を示している。
【００５４】
次に、ｘ軸上に写像されたエピポール（ｋ，０）を無限遠点（±∞，０）に写像するホモグラフィＧを求める。つまり、以下の式（１０）によりホモグラフィＧを求める。
【００５５】
【数４】
2015022630.tif 000006
【００５６】
このようなホモグラフィＧは、すべてのエピポーラ線をｘ軸に対して平行な直線に写像する。図１１（ｃ）には、図１１（ｂ）に示す例に対してホモグラフィＧを適用したピクセル座標系の一例を示している。そのため、図１１（ｃ）におけるエピポーラ線はｘ軸に対して平行な直線に写像されている。以上のように前述した式（８）から式（１０）を用いて、ホモグラフィＨrは以下の式（１１）により算出される。
Ｈr＝ＧＲ      ・・・（１１）
【００５７】
ステップ（ｅ）の処理では、特徴点の対応、ホモグラフィＨr、およびエピポールｅlから、左画像をステレオ平行化するためのホモグラフィＨlを推定する。このようなホモグラフィＨlは、左画像のすべてのエピポーラ線をｘ軸に対して平行な直線に写像する。これにより、左右画像の対応するエピポーラ線の高さをそろえることができる。なお、図１１（ｄ）に示すように、左画像のすべてのエピポーラ線をｘ軸に対して平行な直線に写像するには、ステップ（ｄ）と同様の手順で実現することができる。また同様の手順で左画像に対して求められた行列を、ホモグラフィＧ'および回転行列Ｒ'とする。
【００５８】
左右画像の対応するエピポーラ線の高さをそろえるためには、左右画像間に存在する特徴点の対応において、特徴点間距離の総和が最小になるようなホモグラフィＫを推定することにより実現することができる。つまり、推定したいホモグラフィＨlは以下の式（１２）により算出される。
Ｈl＝ＫＧ'Ｒ'      ・・・（１２）
【００５９】
さらに、ホモグラフィＫを推定するために、以下の式（１３）を用いる。
【００６０】
【数５】
2015022630.tif 000007
【００６１】
なお、式（１３）のｄｄ（Ｈlｑli，Ｈrｑri）は、２つのピクセル座標間の距離自乗和を表している。また、（ｑli，ｑri）は特徴点の対応を表しており、ステップ（ａ）の処理で求めたものを用いればよい。
【００６２】
以上のステップ（ａ）〜（ｅ）の処理が行われると、次にステレオ平行化処理が行われる。図８の第１の逆写像処理回路９０２は、以上の手順で求められたホモグラフィＨrを用いて、右画像である参照画像２０３を逆写像処理によりステレオ平行化する。また、第２の逆写像処理回路９０３は、以上の手順で求められたホモグラフィＨlを用いて、左画像である基準画像２０４を逆写像処理によりステレオ平行化する。なお、逆写像処理の手法には非特許文献１に記載された方法を用いる。
【００６３】
図１２は、撮像された生画像を、ステレオ平行化された左右画像へ写像する手順を説明するための図である。
図１２に示すように、逆写像処理では、図１２（ｃ）に示すステレオ平行化された左画像および右画像内の各整数座標に対して、図１２（ｂ）に示す、歪んでいない画像内の座標を求める。そして、それらの座標を用いて図１２（ａ）に示す生画像内の小数点座標を参照する。つまり、この小数点座標を用いて生画像内で画素補間処理を行い、ステレオ平行化された画像内での画素値を求める。なお、図１２におけるDIST()は、前述の式（１）の座標（ｘcorrected，ｙcorrected）から座標（ｘ，ｙ）を求める式（１）の逆変換処理を示している。そして、最終的には図１２（ｄ）に示すように左画像および右画像が切り出される。
【００６４】
（ステレオ対応点探索）
ステレオ対応点探索回路９０４は、ステレオ平行化された左画像である基準画像２０４と右画像である参照画像２０３とから視差画像９０５を生成する回路である。この視差画像９０５を生成するために行われるステレオ対応点探索は、非特許文献１に記載の方法と同様である。
【００６５】
図１３は、ステレオ対応点探索で用いるブロックマッチング手法を説明するための図である。図１３に示すように、ブロックマッチングは、差分絶対値和（ＳＡＤ）ウィンドウを行方向にスライドすることにより行われる。これにより、左画像内でそれぞれの特徴に対して、右画像で対応する行から最もよくマッチするものを探索することができる。前述した処理により左画像および右画像はステレオ平行化されているため、各行がエピポーラ線になっており、右画像内でマッチングする場所は左画像内の同じ行に存在する。このため、探索方向は行方向だけに限定することができる。この方法により、例えば、左画像内のある特徴点の座標ｘlに対して、対応する右画像内の対応点の座標ｘrまでの距離ｄ＝（ｘl−ｘr）を、座標ｘlに対応する視差量として算出することができる。
【００６６】
なお、図１３に示す例は、基準画像２０４が左画像の場合を示しているが、基準画像が右画像である場合は、右画像内の特徴点を基準に視差量を計算する。つまり、右画像内のある特徴点の座標ｘrに対して、対応する左画像内の対応点の座標ｘlまでの距離ｄ＝（ｘl−ｘr）を、座標ｘrに対応する視差量とする。ステレオ対応点探索回路９０４は、以上のように各行において視差量を算出することによって視差画像９０５を生成する。
【００６７】
（３Ｄ再投影）
３Ｄ再投影回路９０６は、３Ｄ再投影により視差画像９０５からステレオ方式距離画像２０６を生成する回路である。３Ｄ再投影の方法は、非特許文献１に記載の方法と同様である。三角測量の手法により、合焦された被写体までの距離Ｚと視差量ｄとの関係は以下の式（１４）により表される。
Ｚ＝ｆＴ／ｄ      ・・・（１４）
【００６８】
ここでｆは撮像系の焦点距離を表し、Ｔは左右２つの視点の投影中心の距離（並進移動量）を表している。ステレオ方式距離画像２０６が生成されると、メモリ制御回路１０５を介してメモリ１０６に一時的に書き込まれる。以下、ステレオ方式距離画像２０６を生成する手順について説明する。
【００６９】
図１４は、図３のＳ３０６において、ステレオ方式距離画像生成回路２０５によりステレオ方式距離画像を生成する詳細な処理手順の一例を示すフローチャートである。
まず、基準画像２０４および参照画像２０３から視差画像９０５を生成する（Ｓ１４０１）。前述したように、視差画像９０５は、第１の逆写像処理回路９０２および第２の逆写像処理回路９０３でそれぞれステレオ平行化された左画像および右画像をステレオ対応点探索回路９０４で処理することにより生成される。
【００７０】
次に、ＡＦ測距枠でオート・フォーカスされた被写体までの距離Ｚ0と視差量ｄ0とから、投影中心の並進移動量Ｔを取得する（Ｓ１４０２）。式（１４）から、並進移動量Ｔ＝（Ｚ0ｄ0／ｆ）となる。被写体までの距離Ｚ0は、図３のＳ３０１の撮影前にあらかじめＡＦ評価値取得回路１０８によるコントラストＡＦにより算出されており、視差量ｄ0は、Ｓ１４０１で生成された視差画像９０５から抽出することができる。そして、視差画像９０５に対して画素ごとに式（１４）を適用することにより、ステレオ方式距離画像２０６を生成する（Ｓ１４０３）。
【００７１】
図３の説明に戻り、次のＳ３０７においては、ステレオ方式距離画像生成回路２０５は、すべての主要被写体に対してステレオ方式距離画像を生成したか否かを判定する。この判定の結果、すべての主要被写体に対して生成していない場合はＳ３０５に戻って処理を継続し、すべての主要被写体に対して生成している場合は次のＳ３０８に進む。
【００７２】
Ｓ３０８においては、距離画像合成回路２０７は、主要被写体ごとに生成したステレオ方式距離画像２０６を合成する。図１５（ａ）には、図４に示す画像および図５（ｃ）に示す画像をステレオペア画像とし、被写体４０１に対して距離画像を算出した結果を示す。同様に、図１５（ｂ）には、図４に示す画像および図５（ａ）に示す画像をステレオペア画像とし、被写体４０２に対して距離画像を算出した結果を示す。また、図１５（ｃ）には、合成距離画像として図１５（ａ）および図１５（ｂ）に示した結果を合成した距離画像を示す。
【００７３】
図１５（ａ）に示すステレオ方式距離画像は、垂直方向に視差が生じている参照画像をステレオペア画像としているため、被写体４０１に関しては精度が高い。これに対して、図１５（ｂ）に示すステレオ方式距離画像は、水平方向に視差が生じている参照画像をステレオペア画像としているため、被写体４０２に関しては精度が高い。一方、被写体４０５は主要被写体ではないが、式（１４）より被写体４０５までの距離も算出されている。したがって、図１５（ｃ）に示すように、主要被写体ごとに距離画像を合成しているので、画面内の主要被写体に対してより精度の高い合成距離画像を生成することができる。
【００７４】
本実施形態では、基準画像と参照画像との間の視差の方向と主要被写体のエッジの方向とが水平および垂直である場合について説明したが、この場合には限定されず、斜め方向に沿った処理にも適応可能である。以上のように本実施形態によれば、主要被写体のエッジの方向を判別し、視差の方向が異なる複数の参照画像候補群の中から、主要被写体のエッジ方向とは異なる方向に視差のついた画像をステレオペア画像として選択するようにした。これにより、ステレオ対応点探索における主要被写体のエッジ領域の影響を受けにくくすることができ、さらに特別な撮像光学系を不要にして、精度の高い距離画像を生成することができる。
【００７５】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。本実施形態に係る画像処理装置の構成は、図１、図２および図９に示した構成と同様であるため、説明は省略する。なお、本実施形態では、主要被写体のエッジ方向を判別して本体を移動させる旨を表示させるため、主要被写体を１つとし、距離画像の合成は行われないものとする。
【００７６】
図１６は、本実施形態に係る画像処理装置１００により距離画像を生成する処理手順の一例を示すフローチャートである。なお、図１６に示す各処理は、システム制御回路１０７による制御によって行われる。以下の説明では、ユーザの操作により被写体をフレーミングするために、撮像素子１０２を介して生成した画像を連続的に表示させる機能をＥＶＦ（Ｅｌｅｃｔｒｏｎｉｃ  Ｖｉｅｗ  Ｆｉｎｄｅｒ）と呼ぶ。また、ＥＶＦの表示または非表示の切り替えは、ユーザが操作部１１０を介して行うことができる。さらに、本実施形態では、ユーザに対して画像処理装置１００の移動する方向を示す撮影補助情報をＥＶＦ上に表示させた上で、距離画像を生成することができ、そのモードを「距離画像生成モード」と呼ぶこととする。
【００７７】
まず、Ｓ１６０１において、システム制御回路１０７は、ＥＶＦによる表示中か否かを判定する。この判定の結果、ＥＶＦによる表示中でない場合はＳ１６０２に進み、ＥＶＦによる表示中である場合はＳ１６０３に進む。
【００７８】
Ｓ１６０２においては、第１の実施形態と同様の手順により、ＥＶＦ上に撮影補助情報を表示しない状態で、ユーザがフレーミング動作中に生成した参照画像を用いて距離画像（合成距離画像２０８）を生成する。
【００７９】
一方、Ｓ１６０３においては、システム制御回路１０７は、距離画像生成モードに設定されているか否かを判定する。この判定の結果、距離画像生成モードに設定されていない場合はＳ１６０２に進み、距離画像生成モードに設定されている場合はＳ１６０４に進む。
【００８０】
Ｓ１６０４においては、第１の実施形態における図３のＳ３０４と同様の処理により主要被写体のエッジ方向を判別する。図１７は、本実施形態において得られる画像における被写体１７０１およびＡＦ測距枠１７０２の一例を示す図である。Ｓ１６０４の処理の結果、図１７において、被写体１７０１は水平方向のエッジをもつと判別される。
【００８１】
次に、Ｓ１６０５においは、Ｓ１６０４の処理結果に基づき、主要被写体のエッジ方向とは異なる方向に画像処理装置１００を移動させる旨の記載撮影補助情報としてＥＶＦ上に表示させる表示制御を行う。その様子を図１８に示す。
【００８２】
次に、Ｓ１６０６において、動作速度検出回路１１１の検出結果に基づいて、画像処理装置１００が撮影補助情報に従って移動されたか否かを判定する。この判定の結果、その方向に画像処理装置１００本体が移動されていない場合は、移動されるまでＳ１６０５の処理を継続し、ＥＶＦ上に撮影補助情報を表示したままにする。
【００８３】
一方、画像処理装置１００本体がその方向に移動された場合は、Ｓ１６０７において、画像処理装置１００の移動前の画像を基準画像に設定し、移動後の画像を参照画像に設定する。そして、第１の実施形態における図３のＳ３０６と同様の手順により距離画像を生成する。
【００８４】
以上のように本実施形態によれば、主要被写体のエッジ方向を判別し、画像処理装置を移動させる方向をＥＶＦ上に表示するようにした。これにより、主要被写体のエッジ方向とは異なる方向に視差のついた画像を効率よく取得することができる。そして、ステレオ対応点探索における主要被写体のエッジ領域の影響を受けにくくすることができ、さらに特別な撮像光学系を不要にして、精度の高い距離画像を生成することができる。
【００８５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８６】
１０２  撮像素子
１０４  信号処理回路
１０７  システム制御回路
【図１】
2015022630.tif 000008
【図２】
2015022630.tif 000009
【図３】
2015022630.tif 000010
【図４】
2015022630.tif 000011
【図５】
2015022630.tif 000012
【図６】
2015022630.tif 000013
【図７】
2015022630.tif 000014
【図８】
2015022630.tif 000015
【図９】
2015022630.tif 000016
【図１０】
2015022630.tif 000017
【図１１】
2015022630.tif 000018
【図１２】
2015022630.tif 000019
【図１３】
2015022630.tif 000020
【図１４】
2015022630.tif 000021
【図１５】
2015022630.tif 000022
【図１６】
2015022630.tif 000023
【図１７】
2015022630.tif 000024
【図１８】
2015022630.tif 000025