(57)【要約】【課題】より精度の高い距離算出を実現する。【解決手段】特徴点抽出部２１３が、第１撮像部１００Ａおよび第２撮像部１００Ｂで取得された画像の一方で特徴点を設定すると、テンプレート設定部２１４は、特徴点を含む基準テンプレートを、撮像画像のエッジ抽出画像上に設定する。基準テンプレート内の画像がエッジによって分断されている場合、テンプレート設定部２１４は、分断された領域のうち特徴点を含んでいない領域を基準テンプレートから削除し、削除した領域と同じ面積の領域を、分断された領域のうち特徴点が含まれている領域に、エッジを越えないように追加した変形テンプレートを設定する。距離算出部２１５は、基準テンプレートもしくは変形テンプレートのいずれかを用いて、他方の画像の他方に対するテンプレートマッチングをおこない、マッチングのとれた特徴点までの撮影距離を算出する。【選択図】図３
2010165248.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像間でテンプレートマッチングをおこなう画像処理装置において、
同一被写体について視差のある２以上の画像を取得する画像取得手段と、
前記画像取得手段が取得した画像の一方で特徴点を設定する特徴点設定手段と、
前記特徴点設定手段が設定した特徴点を含むテンプレートを基準テンプレートとして設定するテンプレート設定手段と、
前記テンプレート設定手段が設定した基準テンプレート内の画像が、エッジによって分断されているか否かを判別する画像判別手段と、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する変形テンプレート設定手段と、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう照合手段と、
前記照合手段によるテンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する距離算出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像から前記エッジを抽出したエッジ抽出画像を生成するエッジ抽出画像生成手段をさらに備え、
前記テンプレート設定手段は、該エッジ抽出画像生成手段が生成したエッジ抽出画像上で前記基準テンプレートを設定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変形テンプレート設定手段は、前記追加する領域を、前記エッジまでの距離および前記特徴点までの距離に基づいて決定する、
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記変形テンプレート設定手段は、前記変形テンプレートを用いた照合での相違度が閾値以上となる場合、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除した縮小テンプレートを設定する縮小テンプレート設定手段をさらに備え、
前記照合手段は、前記変形テンプレートを用いたテンプレートマッチングでマッチングがとれた位置に基づいて、前記縮小テンプレートを用いたテンプレートマッチングをおこなう、
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記照合手段は、前記縮小テンプレートを用いたテンプレートマッチングで複数のマッチングがとれた場合、前記変形テンプレートで照合された位置に最も近い位置でのマッチングを採用する、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記照合手段は、前記縮小テンプレートのサイズが基準値以下となる場合、当該特徴点を処理対象から除外する、
ことを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記画像取得手段は、光軸位置の異なる２以上の撮像手段を備える、
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
画像処理装置によって複数の画像間でテンプレートマッチングをおこなうための画像照合方法において、
同一被写体について視差のある２以上の画像を取得する画像取得ステップと、
前記画像取得ステップで取得された画像の一方で特徴点を設定する特徴点設定ステップと、
前記特徴点設定ステップで設定された特徴点を含むテンプレートを基準テンプレートとして設定するテンプレート設定ステップと、
前記テンプレート設定ステップで設定された基準テンプレート内の画像が、エッジによって分断されているか否かを判別する画像判別ステップと、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する変形テンプレート設定ステップと、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう照合ステップと、
前記照合ステップでのテンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する距離算出ステップと、
を含むことを特徴とする画像照合方法。
【請求項９】
複数の画像間でテンプレートマッチングをおこなう画像処理装置を制御するコンピュータに、
同一被写体について視差のある２以上の画像を取得する機能と、
前記取得された画像の一方で特徴点を設定する機能と、
前記設定された特徴点を含むテンプレートを基準テンプレートとして設定する機能と、
前記設定された基準テンプレート内の画像が、エッジによって分断されているか否かを判別する機能と、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する機能と、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう機能と、
前記テンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する機能と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像照合方法、および、プログラムに関し、特に、画像間のテンプレートマッチングに好適な画像処理装置、画像照合方法、および、プログラムに関する。
【背景技術】
【０００２】
撮像画像における被写体までの距離を測定する方法として、視差のある２以上の撮像画像で三角測量の原理を用いる方法が知られている。
【０００３】
この場合において、視差を求めるために、複数画像間でテンプレートマッチングをおこなうことが一般的である。テンプレートマッチングでは、一方の画像上のテンプレート領域を他方の画像上で走査し、相違度が最も小さい位置を探索することで視差を求める。
【０００４】
ここで、撮像画像において、被写体と背景との距離が大きく異なるような場合、被写体境界近傍では、被写体と背景間に距離があるため、２つの画像間で見え方が異なるオクルージョンが発生する。このような場合、オクルージョンの発生箇所近傍での距離算出精度が著しく低下するという問題がある。
【０００５】
このような問題を解消するため、通常のテンプレートマッチングをおこなった後に、距離変化の大きい箇所においてサイズの小さいテンプレートを使用したテンプレートマッチングをおこなう手法が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−０２１４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の手法は、マッチング対象領域が「距離の大きく変化する領域」や「エッジを含む領域」である場合にテンプレートサイズを小さくすることで、オクルージョンによる影響の解消を図るものであるが、テンプレートマッチングに用いるテンプレートのサイズが小さい場合、位置照合の精度は向上するものの、距離算出の精度が低下するという問題がある。
【０００８】
ここで、例えば、実写の撮像画像を用いた３Ｄモデリングをおこなう場合においては、距離算出精度が低いと正確なモデリングをおこなうことができない。よって、撮像画像における距離算出をより高い精度でおこなえる手法の確立が望まれる。
【０００９】
本発明は、上記実状に鑑みてなされたものであり、より精度の高い距離算出をおこなうことのできる画像処理装置、画像照合方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点にかかる画像処理装置は、
複数の画像間でテンプレートマッチングをおこなう画像処理装置において、
同一被写体について視差のある２以上の画像を取得する画像取得手段と、
前記画像取得手段が取得した画像の一方で特徴点を設定する特徴点設定手段と、
前記特徴点設定手段が設定した特徴点を含むテンプレートを基準テンプレートとして設定するテンプレート設定手段と、
前記テンプレート設定手段が設定した基準テンプレート内の画像が、エッジによって分断されているか否かを判別する画像判別手段と、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する変形テンプレート設定手段と、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう照合手段と、
前記照合手段によるテンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する距離算出手段と、
を備えることを特徴とする。
【００１１】
上記画像処理装置は、
前記画像から前記エッジを抽出したエッジ抽出画像を生成するエッジ抽出画像生成手段をさらに備えていることが望ましく、この場合、
前記テンプレート設定手段は、該エッジ抽出画像生成手段が生成したエッジ抽出画像上で前記基準テンプレートを設定することが望ましい。
【００１２】
上記画像処理装置において、
前記変形テンプレート設定手段は、前記追加する領域を、前記エッジまでの距離および前記特徴点までの距離に基づいて決定することが望ましい。
【００１３】
上記画像処理装置において、
前記変形テンプレート設定手段は、前記変形テンプレートを用いた照合での相違度が閾値以上となる場合、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除した縮小テンプレートを設定する縮小テンプレート設定手段をさらに備えていることが望ましく、この場合、
前記照合手段は、前記変形テンプレートを用いたテンプレートマッチングでマッチングがとれた位置に基づいて、前記縮小テンプレートを用いたテンプレートマッチングをおこなうことが望ましい。
【００１４】
上記画像処理装置において、
前記照合手段は、前記縮小テンプレートを用いたテンプレートマッチングで複数のマッチングがとれた場合、前記変形テンプレートで照合された位置に最も近い位置でのマッチングを採用することが望ましい。
【００１５】
上記画像処理装置において、
前記照合手段は、前記縮小テンプレートのサイズが基準値以下となる場合、当該特徴点を処理対象から除外することが望ましい。
【００１６】
上記画像処理装置において、
前記画像取得手段は、光軸位置の異なる２以上の撮像手段を備えていてもよい。
【００１７】
上記目的を達成するため、本発明の第２の観点にかかる画像照合方法は、
画像処理装置によって複数の画像間でテンプレートマッチングをおこなうための画像照合方法において、
同一被写体について視差のある２以上の画像を取得する画像取得ステップと、
前記画像取得ステップで取得された画像の一方で特徴点を設定する特徴点設定ステップと、
前記特徴点設定ステップで設定された特徴点を含むテンプレートを基準テンプレートとして設定するテンプレート設定ステップと、
前記テンプレート設定ステップで設定された基準テンプレート内の画像が、エッジによって分断されているか否かを判別する画像判別ステップと、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する変形テンプレート設定ステップと、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう照合ステップと、
前記照合ステップでのテンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する距離算出ステップと、
を含むことを特徴とする。
【００１８】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、
複数の画像間でテンプレートマッチングをおこなう画像処理装置を制御するコンピュータに、
同一被写体について視差のある２以上の画像を取得する機能と、
前記取得された画像の一方で特徴点を設定する機能と、
前記設定された特徴点を含むテンプレートを基準テンプレートとして設定する機能と、
前記設定された基準テンプレート内の画像が、エッジによって分断されているか否かを判別する機能と、
前記基準テンプレート内の画像が分断されていると判別された場合に、前記分断された領域のうち前記特徴点を含んでいない領域を前記基準テンプレートから削除し、該削除した領域と同じ面積の領域を、前記分断された領域のうち前記特徴点が含まれている領域に、前記エッジを越えないように追加した変形テンプレートを設定する機能と、
少なくとも前記基準テンプレートもしくは前記変形テンプレートのいずれかを用いて、前記画像の他方に対するテンプレートマッチングをおこなう機能と、
前記テンプレートマッチングでマッチングのとれた前記特徴点までの撮影距離を算出する機能と、
を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、より精度の高い距離算出をおこなうことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態にかかるデジタルカメラの構成を示すブロック図である。
【図２】本発明の実施形態にかかるデジタルカメラが複眼カメラ（平行ステレオカメラ）であることを説明するための図であり、（ａ）はデジタルカメラの外観構成を示し、（ｂ）は平行ステレオの概念を示す。
【図３】図１に示す制御部によって実現される機能を示す機能ブロック図である。
【図４】本発明の実施形態にかかる「撮像時距離算出処理」を説明するためのフローチャートである。
【図５】図４に示す「撮像時距離算出処理」で実行される「テンプレートマッチング処理」を説明するためのフローチャートである。
【図６】図５に示す「テンプレートマッチング処理」で実行される「変形照合処理」を説明するためのフローチャートである。
【図７】図５に示す「テンプレートマッチング処理」で実行される「縮小照合処理」を説明するためのフローチャートである。
【図８】本発明の実施形態で想定する場面を説明するための図であり、（ａ）は撮影する場面の例を示し、（ｂ）および（ｃ）は撮像された画像の例を示す。
【図９】図５に示した「テンプレートマッチング処理」における動作を説明するための図であり、（ａ）は撮像画像上で抽出された特徴点の例を示し、（ｂ）はエッジ抽出画像の例を示し、（ｃ）はエッジ抽出画像上にマッピングされた特徴点の例を示す。
【図１０】図６に示した「変形照合処理」を説明するための図であり、（ａ）は基準テンプレートの例を示し、（ｂ）は基準テンプレートがエッジで分断される場合の例を示し、（ｃ）は削除対象領域の例を示し、（ｄ）は基準テンプレートから削除対象領域を削除した例を示す。
【図１１】図６に示した「変形照合処理」をさらに説明するための図であり、（ａ）は追加領域候補点の例を示し、（ｂ）は追加領域の例を示し、（ｃ）は変形テンプレートの例を示す。
【図１２】図７に示した「縮小照合処理」における動作を説明するための図であり、（ａ）は基準テンプレートの例を示し、（ｂ）は削除対象領域の例を示し、（ｃ）は縮小テンプレートの例を示す。
【図１３】三角測量の原理を説明するための図である。
【図１４】三角測量の原理を説明するための図である。
【発明を実施するための形態】
【００２１】
本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明をデジタルスチルカメラ（以下、デジタルカメラ）によって実現した場合を例示する。本実施形態にかかるデジタルカメラ１は、一般的なデジタルスチルカメラが有する機能を備えているものとするが、撮像にかかる構成を２つ備えた、いわゆる複眼カメラとする。
【００２２】
図１は、本発明の実施形態にかかるデジタルカメラ１の構成を示すブロック図である。本実施形態にかかるデジタルカメラ１の概略的構成は、図示するように、第１撮像部１００Ａ、第２撮像部１００Ｂ、データ処理部２００、インタフェース（Ｉ／Ｆ）部３００、などである。
【００２３】
第１撮像部１００Ａおよび第２撮像部１００Ｂは、デジタルカメラ１の撮像動作をおこなう部分である。上述したように、本実施形態にかかるデジタルカメラ１は複眼カメラであるため、第１撮像部１００Ａと第２撮像部１００Ｂとを有する構成であるが、第１撮像部１００Ａと第２撮像部１００Ｂは同一の構成である。以下、第１撮像部１００Ａについての構成には参照符号の末尾に「Ａ」を付し、第２撮像部１００Ｂについての構成には参照符号の末尾に「Ｂ」を付す。
【００２４】
図１に示すように、第１撮像部１００Ａ（第２撮像部１００Ｂ）は、光学装置１１０Ａ（１１０Ｂ）やイメージセンサ部１２０Ａ（１２０Ｂ）などから構成されている。
【００２５】
光学装置１１０Ａ（１１０Ｂ）は、例えば、レンズ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作をおこなう。すなわち、光学装置１１０Ａ（１１０Ｂ）の動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置１１０Ａ（１１０Ｂ）に含まれるシャッタ機構はいわゆるメカニカルシャッタであり、イメージセンサの動作のみでシャッタ動作をおこなう場合には、光学装置１１０Ａ（１１０Ｂ）にシャッタ機構が含まれていなくてもよい。また、光学装置１１０Ａ（１１０Ｂ）は、後述する制御部２１０による制御によって動作する。
【００２６】
イメージセンサ部１２０Ａ（１２０Ｂ）は、光学装置１１０Ａ（１１０Ｂ）によって集光された入射光に応じた電気信号を生成する、例えば、ＣＣＤ（Charge Coupled Device：電荷結合素子）やＣＭＯＳ（Complementally Metal Oxide Semiconductor：相補型金属酸化物半導体）などのイメージセンサから構成される。イメージセンサ部１２０Ａ（１２０Ｂ）は、光電変換をおこなうことで、受光に応じた電気信号を発生してデータ処理部２００に出力する。
【００２７】
上述したように、第１撮像部１００Ａと第２撮像部１００Ｂは同一の構成である。より詳細には、レンズの焦点距離ｆやＦ値、絞り機構の絞り範囲、イメージセンサのサイズや画素数、配列、画素面積などの各仕様がすべて同一である。
【００２８】
このような第１撮像部１００Ａと第２撮像部１００Ｂを有するデジタルカメラ１は、図２（ａ）に示すように、光学装置１１０Ａに構成されたレンズと光学装置１１０Ｂに構成されたレンズとが、デジタルカメラ１の外面における同一面上に形成された構成とする。ここでは、シャッタボタンが上になる方向でデジタルカメラ１を水平にした場合に、中心位置が水平方向で同一線上となるよう２つのレンズ（受光部）が配置されるものとする。つまり、第１撮像部１００Ａと第２撮像部１００Ｂとを同時に動作させた場合、同一被写体について２つの画像が撮像されることになるが、各画像における光軸位置が横方向にずれている画像となる。
【００２９】
この場合、図２（ｂ）の透視射影モデルに示すような光学的特性となるよう第１撮像部１００Ａと第２撮像部１００Ｂが配置される。図２（ｂ）に示す透視射影モデルは、Ｘ、Ｙ、Ｚからなる３次元直交座標系に基づくものであり、第１撮像部１００Ａについてのこの座標系を以下「カメラ座標」と呼ぶ。図２（ｂ）では、第１撮像部１００Ａの光学中心を原点としたカメラ座標を示している。
【００３０】
カメラ座標においては、Ｚ軸をカメラの光学方向に一致する方向とし、Ｘ軸とＹ軸はそれぞれ画像の横方向と縦方向に平行する。ここで、光軸と画像座標面の交点を原点（すなわち、光学中心）とし、イメージセンサの画素間隔を換算してカメラ座標と長さの単位を合わせた場合、第１撮像部１００Ａについての画像座標面で被写体Ａ１を示す画像座標を（u1, v1）とし、第２撮像部１００Ｂについての画像座標面では（u'1, v'1）とする。
【００３１】
第１撮像部１００Ａと第２撮像部１００Ｂは、それぞれの光軸が平行（すなわち、輻輳角が０）になり、かつ、第１撮像部１００Ａについての画像座標ｕ軸と第２撮像部１００Ｂについての画像座標ｕ'軸が同一線上で同じ方向となるよう配置される（すなわち、エピポーラ線が一致）。また、上述したように、第１撮像部１００Ａおよび第２撮像部１００Ｂの焦点距離ｆや画素間隔は同じであり、光軸と画像座標面とが垂直に交わっている。このような構成を「平行ステレオ」と呼び、デジタルカメラ１の第１撮像部１００Ａと第２撮像部１００Ｂは平行ステレオの構成となっている。
【００３２】
図１に戻り、デジタルカメラ１の構成の説明を続ける。
【００３３】
データ処理部２００は、第１撮像部１００Ａおよび第２撮像部１００Ｂによる撮像動作によって生成された電気信号を処理し、撮像画像を示すデジタルデータを生成するとともに、撮像画像に対する画像処理などをおこなう。図１に示すように、データ処理部２００は、制御部２１０、画像処理部２２０、画像メモリ２３０、画像出力部２４０、記憶部２５０、外部記憶部２６０、などから構成される。
【００３４】
制御部２１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）などのプロセッサや、ＲＡＭ（Random Access Memory）などの主記憶装置（メモリ）、などから構成され、後述する記憶部２５０などに格納されているプログラムを実行することで、デジタルカメラ１の各部を制御する。また、本実施形態では、所定のプログラムを実行することで、後述する各処理にかかる機能が制御部２１０によって実現される。
【００３５】
画像処理部２２０は、例えば、ＡＤＣ（Analog-Digital Converter：アナログ−デジタル変換器）、バッファメモリ、画像処理用のプロセッサ（いわゆる、画像処理エンジン）などから構成され、イメージセンサ部１２０Ａおよび１２０Ｂによって生成された電気信号に基づいて、撮像画像を示すデジタルデータを生成する。
【００３６】
すなわち、イメージセンサ部１２０Ａ（１２０Ｂ）から出力されたアナログ電気信号をＡＤＣがデジタル信号に変換して順次バッファメモリに格納すると、バッファされたデジタルデータに対し、画像処理エンジンがいわゆる現像処理などをおこなうことで、画質の調整やデータ圧縮などをおこなう。
【００３７】
画像メモリ２３０は、例えば、ＲＡＭやフラッシュメモリなどの記憶装置から構成され、画像処理部２２０によって生成された撮像画像データや、制御部２１０によって処理される画像データなどを一時的に格納する。
【００３８】
画像出力部２４０は、例えば、ＲＧＢ信号の生成回路などから構成され、画像メモリ２３０に展開された画像データをＲＧＢ信号などに変換して表示画面（後述する表示部３１０など）に出力する。
【００３９】
記憶部２５０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリなどの記憶装置から構成され、デジタルカメラ１の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部２１０などが実行する動作プログラムや処理に必要となるパラメータや演算式などが記憶部２５０に格納されているものとする。
【００４０】
外部記憶部２６０は、例えば、メモリカードなどといった、デジタルカメラ１に着脱可能な記憶装置から構成され、デジタルカメラ１で撮像した画像データなどを格納する。
【００４１】
インタフェース部３００は、デジタルカメラ１とその使用者あるいは外部装置とのインタフェースにかかる構成であり、図１に示すように、表示部３１０、外部インタフェース（Ｉ／Ｆ）部３２０、操作部３３０、などから構成される。
【００４２】
表示部３１０は、例えば、液晶表示装置などから構成され、デジタルカメラ１を操作するために必要な種々の画面や、撮影時のライブビュー画像、撮像画像、などを表示出力する。本実施形態では、画像出力部２４０からの画像信号（ＲＧＢ信号）などに基づいて撮像画像等の表示出力がおこなわれる。
【００４３】
外部インタフェース部３２０は、例えば、ＵＳＢ（Universal Serial Bus）コネクタやビデオ出力端子などから構成され、外部のコンピュータ装置への画像データの出力や、外部のモニタ装置への撮像画像の表示出力などをおこなう。
【００４４】
操作部３３０は、デジタルカメラ１の外面上に構成されている各種ボタンなどによって構成され、デジタルカメラ１の使用者による操作に応じた入力信号を生成して制御部２１０に入力する。操作部３３０を構成するボタンとして、例えば、シャッタ動作を指示するためのシャッタボタンや、デジタルカメラ１のもつ動作モードを指定するためのモードボタン、各種設定をおこなうための十字キーや機能ボタン、などが含まれているものとする。
【００４５】
ここで、本実施形態では、記憶部２５０に格納されている動作プログラムを制御部２１０が実行することで、後述する各処理が実現されるが、この場合に制御部２１０によって実現される機能を、図３を参照して説明する。
【００４６】
図３は、制御部２１０によって実現される機能を示した機能ブロック図である。ここでは、複眼カメラによって撮像された画像を用いて、画像内に写された各部分までの撮影距離を算出する動作を実現するために必要な機能構成を示す。この場合、図示するように、制御部２１０は、動作モード処理部２１１、撮像制御部２１２、特徴点抽出部２１３、テンプレート設定部２１４、距離算出部２１５、などとして機能する。
【００４７】
動作モード処理部２１１は、表示部３１０との協働により、デジタルカメラ１が有する各種動作モードをデジタルカメラ１のユーザに指定させるために必要な画面表示や指定された動作モード毎の設定画面表示などをおこなう他、操作部３３０との協働により、ユーザが指定した動作モードを認識し、当該動作モードの実行に必要なプログラムや演算式などを記憶部２５０から読み出し、制御部２１０の主記憶装置（メモリ）にロードする。
【００４８】
本実施形態では、デジタルカメラ１で撮像した撮像画像上の特徴点毎に撮影距離を算出する動作モード（距離算出モード）がユーザによって指定されるものとし、以下に説明する制御部２１０の各機能構成は、距離算出モードの指定に応じて動作モード処理部２１１がロードしたプログラムを実行することで実現される機能構成である。
【００４９】
撮像制御部２１２は、第１撮像部１００Ａおよび第２撮像部１００Ｂを制御することでデジタルカメラ１での撮像動作を実行する。本実施形態にかかる撮影距離算出機能は、平行ステレオ構成となっている第１撮像部１００Ａと第２撮像部１００Ｂから得られた、視差のある２つの画像から撮影距離を算出するので、本実施形態にかかる撮像制御部２１２は、第１撮像部１００Ａと第２撮像部１００Ｂで同時に撮像動作をおこなうよう制御する。これにより、同一の被写体について、光軸位置の異なる２つの撮像画像が取得される。
【００５０】
特徴点抽出部２１３は、撮像制御部２１２の制御によって得られた撮像画像上で、例えば、ハリスのコーナー検出関数などにより特徴点の抽出をおこなう。また、画像処理部２２０を制御することで、撮像画像上でのエッジ抽出動作をおこなう。
【００５１】
テンプレート設定部２１４は、取得される２つの撮像画像間でテンプレートマッチングをおこなう際のテンプレートの設定をおこなう。本実施形態では、特徴点抽出部２１３によって抽出された特徴点を含むテンプレートの設定をおこなうとともに、設定したテンプレート内にエッジ部分が含まれる際には、テンプレートの変形やサイズの変更をおこなう。
【００５２】
距離算出部２１５は、テンプレート設定部２１４によって設定されたテンプレートを用いて、２つの撮像画像間でテンプレートマッチングをおこない、特徴点毎に撮影距離を算出する。本実施形態では、撮像によって得られる２つの画像のうちの一方を最終的な出力対象となる「対象画像」とし、他方をテンプレートマッチングの際に参照される「参照画像」とする。以下、第１撮像部１００Ａによる撮像画像が「対象画像」、第２撮像部１００Ｂによる撮像画像が「参照画像」であるものとする。
【００５３】
この場合において、特徴点抽出部２１３は、対象画像上で特徴点を抽出し、テンプレート設定部２１４は、特徴点が抽出された対象画像上でテンプレートを設定する。距離算出部２１５は、対象画像上に設定されたテンプレートを参照画像上で走査することでテンプレートマッチングをおこない、マッチングがとれた画像の相違度（視差）から、三角測量の原理によって撮影距離を算出する。ここで、距離算出部２１５は、例えば、差の２乗和を評価式とするＳＳＤ（Sum of Squared Difference）を用いたテンプレートマッチングをおこなうものとする。
【００５４】
距離算出部２１５は、算出した特徴点毎の撮影距離を示す情報（以下、「距離情報」とする）を生成し、対象画像とともに出力する。この場合の出力先は、例えば、表示部３１０、記憶部２５０または外部記憶部２６０などとすることができる他、外部インタフェース部３２０を介した外部装置などとすることができる。
【００５５】
以上が制御部２１０によって実現される機能である。なお、本実施形態では、制御部２１０がプログラムを実行することによる論理的処理で上述した各機能が実現されるものとするが、これらの機能を、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などのハードウェアによって構成してもよい。この場合、図３に示した機能のうち、画像処理にかかる機能については、画像処理部２２０によって実現されてもよい。
【００５６】
以上説明したデジタルカメラ１の構成は、本発明を実現するために必要な構成であり、デジタルカメラとしての基本機能や種々の付加機能に用いられる構成は必要に応じて備えられているものとする。
【００５７】
このような構成のデジタルカメラ１による動作を以下に説明する。ここでは、デジタルカメラ１の動作モードのうち、上述した「距離算出モード」が選択された場合にデジタルカメラ１が実行する「撮像時距離算出処理」を、図４に示すフローチャートを参照して説明する。この「撮像時距離算出処理」は、デジタルカメラ１のユーザが操作部３３０を操作することで、距離算出モードが選択されたことを契機に開始される。この場合、動作モード処理部２１１が、撮影距離算出動作にかかるプログラムなどを記憶部２５０からロードすることで、図３に示した各機能構成により以下の処理が実行される。
【００５８】
処理が開始されると、撮像制御部２１２は、シャッタボタン（操作部３３０）が操作されたことに応じて、第１撮像部１００Ａおよび第２撮像部１００Ｂを制御し、第１撮像部１００Ａおよび第２撮像部１００Ｂで同時に撮像動作（複眼同時撮像）をおこなわせる（ステップＳ１０１：Ｙｅｓ、ステップＳ１０２）。
【００５９】
ここで、本実施形態では、図８（ａ）に示すような場面をデジタルカメラ１で撮影する場合を想定する。ここでは、図８（ａ）に示すように、撮影画角内に被写体Ａと被写体Ｂが含まれているものとする。この場合において、デジタルカメラ１から各被写体までの距離は被写体Ａの方が近くなっている。すなわち、被写体Ａが主体的な被写体であり、被写体Ａの背景として被写体Ｂが写り込むような場面を想定する。
【００６０】
このような場面で複眼同時撮像をおこなった場合の撮像画像の例を、図８（ｂ）および図８（ｃ）に示す。本実施形態では、被写体に向かって左側となるレンズが第２撮像部１００Ｂに構成され、被写体に向かって右側となるレンズが第１撮像部１００Ａに構成されているものとする。この場合、図８（ｂ）は、第２撮像部１００Ｂによって撮像された画像を示し、図８（ｃ）は、第１撮像部１００Ａによって撮像された画像を示す。
【００６１】
本実施形態では、第１撮像部１００Ａによって撮像された画像を最終的な撮像画像として用いるものとし、以下「対象画像１０Ａ」とする。ここで、各レンズの光軸が水平方向に異なるよう配置されているので、第２撮像部１００Ｂで撮像された画像にも対象画像１０Ａと同じ被写体が写っているが、その横方向の位置は異なっている。このような、第２撮像部１００Ｂで撮像された画像は、視差に基づいた撮影距離算出時のテンプレートマッチングで参照される画像であり、以下「参照画像１０Ｂ」とする。ここで、本実施形態では、図８（ｃ）に示すように、対象画像１０Ａにおいて、撮影距離の異なる被写体Ａと被写体Ｂとが重なって写っているものとする。
【００６２】
撮像制御部２１２が第１撮像部１００Ａおよび第２撮像部１００Ｂを制御することで、対象画像１０Ａおよび参照画像１０Ｂが得られると、各撮像画像は画像処理部２２０で所定の画像処理がなされ、画像メモリ２３０に展開される。このとき、画像処理部２２０は、対象画像１０Ａおよび参照画像１０Ｂが画像メモリ２３０に展開された旨、および、各画像を特定する情報（ファイル名やアドレスなど）を特徴点抽出部２１３に通知する。
【００６３】
特徴点抽出部２１３は、画像処理部２２０からの通知に応じて、取得された対象画像１０Ａおよび参照画像１０Ｂを用いたテンプレートマッチングをおこなうための「テンプレートマッチング処理」を実行する（ステップＳ２００）。この「テンプレートマッチング処理」を、図５に示すフローチャートを参照して説明する。
【００６４】
処理が開始されると、特徴点抽出部２１３は、画像メモリ２３０に展開されている対象画像１０Ａにおいて特徴点の抽出をおこなう（ステップＳ２０１）。ここでは、ハリスのコーナー検出関数などのような既知の特徴点抽出手法を用いて、例えば、輝度情報に基づいた特徴点の抽出をおこなう。この場合、図９（ａ）に示すように、対象画像１０Ａ上に複数の特徴点が抽出される。なお、図９（ａ）は、理解を容易にするため、抽出された特徴点を誇大表示しており、実際には、対象画像１０Ａを構成している画素単位で特徴点が抽出される。
【００６５】
このようにして複数の特徴点を抽出すると、特徴点抽出部２１３は、抽出された各特徴点に１〜ｍの一意の番号を割り当てることでナンバリングする（ステップＳ２０２）。
【００６６】
特徴点をナンバリングすると、特徴点抽出部２１３は、画像処理部２２０に対し、対象画像１０Ａについてのエッジ抽出画像を生成するよう指示する。特徴点抽出部２１３からの指示に応じて、画像処理部２２０は、画像メモリ２３０に展開されている対象画像１０Ａを複製し、複製した画像上で、既知のエッジ抽出手法を適用することで、対象画像１０Ａのエッジが抽出されたエッジ抽出画像を生成する（ステップＳ２０３）。ここでは、エッジの連結性に優れるケニー法などのエッジ抽出手法により、輝度情報に基づいたエッジ抽出がおこなわれるものとする。
【００６７】
この場合のエッジ抽出画像の例を図９（ｂ）に示す。ここでは、図示するような、対象画像１０Ａにおける被写体の輪郭線が強調された画像としてエッジ抽出画像（以下、「エッジ抽出画像１１Ａ」とする）が生成される。画像処理部２２０は、このようなエッジ抽出画像１１Ａを生成すると、画像メモリ２３０に展開し、その旨を特徴点抽出部２１３に通知する。
【００６８】
特徴点抽出部２１３は、画像処理部２２０からの通知に応じて、ステップＳ２０２でナンバリングした特徴点を指定するポインタＰに初期値「１」を設定することで、ポインタＰの初期化をおこなう（ステップＳ２０４）。
【００６９】
特徴点抽出部２１３は、ポインタＰで指定した特徴点の座標情報を特定し、テンプレート設定部２１４に通知する。テンプレート設定部２１４は、特徴点抽出部２１３からの通知に基づき、テンプレートマッチングで用いる基準テンプレートＢＴを、対象画像１０Ａ上で指定されたＰ番目の特徴点に設定する（ステップＳ２０５）。
【００７０】
ここで、基準テンプレートＢＴの例を図１０（ａ）に示す。図示するように、基準テンプレートＢＴは、例えば、ｋ×ｋ（ｋは奇数（例えば「９」））のドット（画素）によって構成された正方形のテンプレートであり、指定された特徴点の位置が中心となるよう設定される。
【００７１】
テンプレート設定部２１４は、対象画像１０Ａ上で基準テンプレートＢＴを設定すると、当該基準テンプレートＢＴの座標情報に基づいて、エッジ抽出画像１１Ａ上の同じ位置に基準テンプレートＢＴをマッピングする（ステップＳ２０６）。この場合、現在対象となっている対象画像１０Ａ上の特徴点に対応するエッジ抽出画像１１Ａ上の位置にも特徴点を設定し、その特徴点が中心となる基準テンプレートＢＴをエッジ抽出画像１１Ａ上で設定することで、対象画像１０Ａで設定した基準テンプレートＢＴと同じ基準テンプレートＢＴがエッジ抽出画像１１Ａ上にマッピングされる。
【００７２】
ここで、エッジ抽出画像１１Ａ上に特徴点を設定した場合の例を図９（ｃ）に示す。本処理におけるテンプレートマッチングでは、対象画像１０Ａで抽出した特徴点のそれぞれについてテンプレートを設定しておこなうが、ここでは、図９（ｃ）に示した２つの特徴点をサンプルとし、以下の動作を説明する。図示するように、サンプル１は、被写体Ａと被写体Ｂとが近接している位置で抽出された特徴点であり、サンプル２は、被写体Ａにおいてエッジ部分とは近接しない位置で抽出された特徴点である。
【００７３】
現在対象となっている特徴点について、エッジ抽出画像１１Ａ上で基準テンプレートＢＴを設定すると、テンプレート設定部２１４は、当該基準テンプレートＢＴ内がエッジによって分断されているか否かを判別する（ステップＳ２０７）。
【００７４】
ここで、「エッジ」とは、エッジ抽出画像１１Ａによって強調された被写体の輪郭などを示す画像部分である。上述したサンプル１の特徴点に設定された基準テンプレートＢＴの場合、図１０（ｂ）に示すように、被写体Ａの輪郭を示すエッジが基準テンプレートＢＴ内に含まれることになる。
【００７５】
本実施形態では、このように基準テンプレートＢＴ内にエッジが含まれている場合、当該基準テンプレートＢＴがエッジによって分断されているものとする。図１０（ｂ）に示すように、基準テンプレートＢＴ内に１つのエッジが含まれている場合であれば、基準テンプレートＢＴが２つの領域に分断されていることになる。よって、ステップＳ２０７では、エッジ抽出画像１１Ａ上に設定した基準テンプレートＢＴがこのようにエッジによって分断されているか否かが判別される。
【００７６】
一方、図９（ｃ）に示したサンプル２のような特徴点で基準テンプレートＢＴが設定された場合、被写体の輪郭などが近くにないため、基準テンプレートＢＴにエッジが含まれない。このような場合（ステップＳ２０７：Ｎｏ）、テンプレート設定部２１４は、対象画像１０Ａで設定した基準テンプレートＢＴを用いたテンプレートマッチングの実行を距離算出部２１５に指示することで、基準テンプレートＢＴを用いたテンプレートマッチングがおこなわれる（ステップＳ２０８）。
【００７７】
この場合、距離算出部２１５は、基準テンプレートＢＴが設定された対象画像１０Ａとは光軸位置の異なる参照画像１０Ｂ上で、基準テンプレートＢＴを走査する。ここでは、ＳＳＤなどによるテンプレートマッチングにより、基準テンプレートＢＴ内の画素成分と類似する画像領域を参照画像１０Ｂ上で探索する。ここで、ＳＳＤによるテンプレートマッチングをおこなった場合、完全に一致する画像があれば、値が０になる。この値は画像間の相違が大きい程大きくなるので、テンプレートマッチングによって得られる値は、テンプレートとの相違度を示すことになる。
【００７８】
このような方法により、最も小さい相違度となる参照画像１０Ｂ上の位置が、対象画像１０Ａで設定された基準テンプレートＢＴとマッチング（照合）した位置となる。上述したように、対象画像１０Ａと参照画像１０Ｂとでは、横方向に光軸位置が異なっているので、対象画像１０Ａ上の基準テンプレートＢＴの位置と、参照画像１０Ｂ上でマッチングした位置とでは、横方向に座標がずれていることになる。このずれが、当該特徴点についての視差であり、当該特徴点に対応する被写体位置までの撮影距離の算出（詳細後述）に用いられる。
【００７９】
一方、エッジ抽出画像１１Ａ上で設定した基準テンプレートＢＴがエッジによって分断されている場合、当該特徴点の位置は、異なる被写体が隣接して写っている場所であると考えられる。この場合の被写体が、例えば、図８（ａ）に示した被写体Ａと被写体Ｂのように、デジタルカメラ１からの距離が異なっている場合、図１０（ｂ）に示すようなエッジを跨いで設定された基準テンプレートＢＴを使ったテンプレートマッチングでは、オクルージョンの影響を受け、正確な撮影距離の算出ができない場合がある。
【００８０】
この問題は、より近い被写体についての画素成分と、より遠い被写体についての画素成分の双方が当該基準テンプレートＢＴに含まれていることが要因と考えられるので、エッジ抽出画像１１Ａ上に設定した基準テンプレートＢＴがエッジにより分断されている場合、エッジを跨がないテンプレートを用いたテンプレートマッチングをおこなうことで、特徴点についての正確な距離算出をおこなうことができる。
【００８１】
よって、エッジ抽出画像１１Ａ上で設定した基準テンプレートＢＴがエッジによって分断されている場合（ステップＳ２０７：Ｙｅｓ）、テンプレート設定部２１４は、基準テンプレートＢＴを変形したテンプレートによってテンプレートマッチング（テンプレート照合）をおこなうための「変形照合処理」を実行する（ステップＳ３００）。この「変形照合処理」を、図６に示すフローチャートを参照して説明する。
【００８２】
ここで、エッジによって分断された基準テンプレートＢＴは、図１０（ｃ）に示すように、「特徴点を含んだ分断領域」（以下、「分断領域Ｒ１」とする）と「特徴点を含んでいない分断領域」（以下、「分断領域Ｒ２」とする）の２種類に分けられる。本処理においては、特徴点についての撮影距離を算出するためにテンプレートマッチングをおこなっているので、特徴点を含んでいる分断領域Ｒ１をテンプレートとして用いる必要がある。
【００８３】
よって、処理が開始されると、テンプレート設定部２１４は、基準テンプレートＢＴについての分断領域のうち、特徴点を含んでいない分断領域Ｒ２を削除対象領域に指定し（ステップＳ３０１）、指定した削除対象領域を構成しているドット（画素）の数（ドット数ｎ）を計数する（ステップＳ３０２）。
【００８４】
そして、テンプレート設定部２１４は、図１０（ｄ）に示すように、ステップＳ３０１で指定した削除対象領域（＝分断領域Ｒ２）を基準テンプレートＢＴから削除する（ステップＳ３０３）。
【００８５】
これにより、対象とする特徴点を含む分断領域Ｒ１のみから構成されるテンプレートとなるが、削除した分基準テンプレートＢＴより面積が小さくなってしまう。テンプレートの面積が小さくなると、すなわち、テンプレートのドットの数が少なくなると、画像間の相違度の算出に要する処理時間や処理負荷が減少する反面、マッチング探索の精度が低下してしまう。よって、基準テンプレートＢＴと同じ面積のテンプレートとすることで、マッチング探査における精度の向上を図る。
【００８６】
本実施形態では、分断領域Ｒ１に、削除した分断領域Ｒ２と同じ面積の領域を追加することで、基準テンプレートＢＴと同じ面積となるテンプレートを設定する。このため、テンプレート設定部２１４は、分断領域Ｒ１に隣接し、かつ、エッジを越えない位置に、図１１（ａ）に示すような追加領域候補点を設定する（ステップＳ３０４）。ここでは、例えば、図１１（ａ）に示すように、分断領域Ｒ１の外周に沿うように追加領域候補点が設定される。この場合、削除された分断領域Ｒ２を構成していたドット数ｎよりも多い数の追加領域候補点が設定されるものとする。
【００８７】
このように設定された追加領域候補点の数を、分断領域Ｒ２を構成していたドット数ｎと同じ数となるよう絞り込むことで、削除された領域と同じ面積の領域が、分断領域Ｒ１に追加されることになる。このときの絞り込みは、例えば、各追加領域候補点から特徴点およびエッジまでの距離に基づいておこなう。よって、テンプレート設定部２１４は、設定した追加領域候補点のそれぞれについて、特徴点およびエッジまでの距離を算出する（ステップＳ３０５）。
【００８８】
ここで、特徴点までの距離をＤＡ、エッジまでの距離をＤＢとした場合、テンプレート設定部２１４は、数１に示すような評価関数を用い、ＤＡおよびＤＢに基づいた各追加領域候補点の評価値Ｑを算出する（ステップＳ３０６）。なお、数１におけるαは調整係数である。
【００８９】
（数１）
Ｑ＝ＤＡ＋α×ＤＢ      （α＜１）
【００９０】
テンプレート設定部２１４は、追加領域候補点のそれぞれについて評価値Ｑを求めると、評価値Ｑの小さい順に追加領域候補点をｎ個に絞り込む（ステップＳ３０７）。ここで、評価値Ｑは、距離ＤＡおよび距離ＤＢに基づいているので、評価値Ｑの小さい順に絞り込むことで、特徴点およびエッジまでの距離がより近い追加領域候補点に絞り込まれることになる。
【００９１】
追加領域候補点をｎ個に絞り込むと、テンプレート設定部２１４は、絞り込んだ追加領域候補点を分断領域Ｒ１に追加することで、分断領域Ｒ１からエッジを越えずに基準テンプレートＢＴと同面積となるテンプレート（以下、「変形テンプレートＴＴ１」とする）を設定する（ステップＳ３０８）。
【００９２】
つまり、図１１（ｂ）に示すように、ｎ個に絞り込んだ追加領域候補点を追加領域とすることで、削除された分断領域Ｒ２と同じ面積の領域が分断領域Ｒ１に追加され、分断領域Ｒ１と追加領域によって構成される領域が、図１１（ｃ）に示すような変形テンプレートＴＴ１となる。
【００９３】
このような変形テンプレートＴＴ１を設定すると、テンプレート設定部２１４は、当該変形テンプレートＴＴ１を用いたテンプレートマッチングをおこなうよう距離算出部２１５に指示する。この場合、距離算出部２１５は、エッジ抽出画像１１Ａ上で設定された変形テンプレートＴＴ１を対象画像１０Ａ上にマッピングし、対象画像１０Ａ上での変形テンプレートＴＴ１を参照画像１０Ｂ上で走査することでテンプレートマッチングをおこなう（ステップＳ３０９）。この場合も、上述した基準テンプレートＢＴを用いたテンプレートマッチングと同様、ＳＳＤによって求められる数値に基づいた相違度が最も小さい位置がマッチング（照合）のとれた位置とされる。
【００９４】
このようにして、基準テンプレートＢＴがエッジで分断されている場合、基準テンプレートＢＴと同面積となる変形テンプレートＴＴ１を用いたテンプレートマッチングがおこなわれ、「テンプレートマッチング処理」（図５）のフローに戻る。
【００９５】
「テンプレートマッチング処理」のフローでは、「変形照合処理」のステップＳ３０９でおこなわれたマッチングの相違度が閾値以上であるか否かが距離算出部２１５によって判別される（ステップＳ２０９）。
【００９６】
ここで、変形テンプレートＴＴ１を用いたマッチングの相違度が高い場合、変形テンプレートＴＴ１では照合の位置精度が低いことになるので、より位置精度の高いテンプレートマッチングをおこなうことが望ましい。よって、相違度が閾値以上である場合（ステップＳ２０９：Ｙｅｓ）、距離算出部２１５は、その旨をテンプレート設定部２１４に通知する。この場合、テンプレート設定部２１４は、基準テンプレートＢＴよりも小さいテンプレートを使ったテンプレートマッチングをおこなうための「縮小照合処理」を実行する（ステップＳ４００）。この「縮小照合処理」を、図７に示すフローチャートを参照して説明する。
【００９７】
処理が開始されると、テンプレート設定部２１４は、エッジ抽出画像１１Ａ上で現在対象となっている特徴点についての基準テンプレートＢＴを再設定する（ステップＳ４０１）。すなわち、当該特徴点を中心とした図１２（ａ）に示すような基準テンプレートＢＴをエッジ抽出画像１１Ａ上に設定する。
【００９８】
ここで、図９（ｃ）に示すサンプル１の特徴点が対象となっている場合、図１２（ｂ）に示すように、基準テンプレートＢＴがエッジで分断されるため、テンプレート設定部２１４は、分断領域Ｒ２を削除対象領域に指定し（ステップＳ４０２）、基準テンプレートＢＴから削除対象領域を削除することで、図１２（ｃ）に示すような、基準テンプレートＢＴよりも面積の小さいテンプレート（以下、「縮小テンプレートＴＴ２」とする）を設定する（ステップＳ４０３）。
【００９９】
縮小テンプレートＴＴ２を設定すると、テンプレート設定部２１４は、当該縮小テンプレートＴＴ２のサイズが基準のサイズを示す基準値以上となっているか否かを判別する（ステップＳ４０４）。ここで、テンプレートの大きさが小さいほど特徴点に類似する他の照合位置でもマッチングする可能性が高くなる反面、テンプレートの大きさを小さくすることで被写体境界付近での特徴点に対応する照合位置にマッチングすることも可能になる。本処理は、前段の変形テンプレートＴＴ１による照合では位置精度が低かったため、より位置精度を高くするためテンプレートのサイズを小さくしているが、必要以上に小さいと、特徴点に類似する他の照合位置でもマッチングされることになるので一定の大きさ以上のサイズとなる縮小テンプレートＴＴ２のみを使用する。
【０１００】
設定した縮小テンプレートＴＴ２のサイズが基準値以上である場合（ステップＳ４０４：Ｙｅｓ）、テンプレート設定部２１４は、当該縮小テンプレートＴＴ２を用いたテンプレートマッチングの実行を距離算出部２１５に指示する。この場合、距離算出部２１５は、エッジ抽出画像１１Ａ上で設定された縮小テンプレートＴＴ２を対象画像１０Ａ上にマッピングしてテンプレートとし、当該テンプレートを参照画像１０Ｂ上で走査することでテンプレートマッチングをおこなう（ステップＳ４０５）。このとき、距離算出部２１５は、先におこなった「変形照合処理」（図６）でマッチングがとれた位置の周辺で、縮小テンプレートＴＴ２を用いた探索をおこなう。
【０１０１】
ここで、縮小テンプレートＴＴ２は基準テンプレートＢＴよりサイズの小さいテンプレートであるため、複数箇所でマッチング（照合）がとれる可能性がある。すなわち、相違度の低い箇所（マッチングのピーク）が複数存在する可能性が高い。このように、複数箇所でマッチングがとれた場合（ステップＳ４０６：Ｙｅｓ）、距離算出部２１５は、直前におこなった変形テンプレートＴＴ１を用いたテンプレートマッチングにおいて相違度が高いながらもマッチングがとれた位置を特定し（ステップＳ４０７）、この位置に最も近い位置でのマッチングを採用する（ステップＳ４０８）。
【０１０２】
このようにして、変形テンプレートＴＴ１を用いたテンプレートマッチングでの相違度が閾値以上となる場合、基準テンプレートＢＴより小さいサイズの縮小テンプレートＴＴ２を用いたテンプレートマッチングをおこない、「テンプレートマッチング処理」（図５）のフローに戻る。
【０１０３】
なお、設定した縮小テンプレートＴＴ２のサイズが基準値に満たない場合（ステップＳ４０４：Ｎｏ）、テンプレート設定部２１４は、当該縮小テンプレートＴＴ２を用いたテンプレートマッチングの実行を距離算出部２１５に指示せず、現在処理しているＰ番目の特徴点を対象から除外して（ステップＳ４０９）、「テンプレートマッチング処理」（図５）のフローに戻る。これは、必要なサイズに満たないテンプレートを用いたマッチングをおこなってもマッチング探索の精度が低下してしまうため撮影距離算出の精度が不十分となるためである。
【０１０４】
「テンプレートマッチング処理」においては、以上説明したように、状況に応じて３種類のテンプレートを使い分けたマッチング動作がおこなわれる。すなわち、設定した基準テンプレートＢＴがエッジで分断されていなければ、基準テンプレートＢＴを用いたテンプレートマッチングがおこなわれ、基準テンプレートＢＴがエッジで分断されている場合には、変形テンプレートＴＴ１を用いたテンプレートマッチングがおこなわれ、変形テンプレートＴＴ１を用いたテンプレートマッチングによる相違度が閾値以上となる場合には、縮小テンプレートＴＴ２を用いたテンプレートマッチングがおこなわれる。
【０１０５】
いずれかの方法によってＰ番目の特徴点についてのテンプレートマッチングがおこなわれると、距離算出部２１５は、マッチング結果に基づいて、当該特徴点における撮影距離の算出をおこなう（ステップＳ２１０）。この場合の距離算出は、三角測量の原理を用いておこなわれる。三角測量の原理を用いた距離算出の例を、図１３および図１４を参照して説明する。
【０１０６】
図１３は、テンプレートマッチングをおこなった際の対象画像１０Ａおよび参照画像１０Ｂの例を示しており、対象画像１０Ａ上の特徴点（u1, v1）についてのテンプレートマッチングにより参照画像１０Ｂ上でマッチングがとれた位置が（u'1, v'1）であることを示している。本実施形態にかかるデジタルカメラ１は、第１撮像部１００Ａと第２撮像部１００Ｂの光軸が水平方向に異なる平行ステレオカメラであるため、対象画像１０Ａと参照画像１０Ｂとの間には、マッチングがとれた位置についての視差が生じている。
【０１０７】
ここで、テンプレートマッチングによってマッチングのとれた（照合された）特徴点に対応する実際の位置を、図２（ｂ）に示したカメラ座標でＡ１（Ｘ１、Ｙ１、Ｚ１）とした場合、Ａ１の座標（Ｘ１、Ｙ１、Ｚ１）はそれぞれ、以下の数２〜数４で表される。上述したように、（u1, v1）は、第１撮像部１００Ａについての画像座標面（すなわち、対象画像）への射影点、（u'1, v'1）は、第２撮像部１００Ｂについての画像座標面（すなわち、参照画像）への射影点を示しており、また、ｂは第１撮像部１００Ａおよび第２撮像部１００Ｂの光軸間距離（基線間距離）を示す。
【０１０８】
（数２）
Ｘ１＝（ｂ×（ｕ１））／（（ｕ'１）−ｕ１）
【０１０９】
（数３）
Ｙ１＝（ｂ×（ｖ１））／（（ｕ'１）−ｕ１）
【０１１０】
（数４）
Ｚ１＝（ｂ×ｆ）／（（ｕ'１）−ｕ１）
【０１１１】
ここで、デジタルカメラ１からＡ１までの距離は、Ａ１の座標Ｚ１によって示されるので、距離算出部２１５は、上記数４を演算することで、特徴点に対応する実際の位置からデジタルカメラ１までの距離、すなわち撮影距離を算出することができる。
【０１１２】
この数４は、三角測量の原理によって導かれるものである。三角測量の原理を、図１４を参照して説明する。
【０１１３】
図１４は、図２（ｂ）に示した平行ステレオ構成におけるカメラ座標を上から見た模式図である。第１撮像部１００Ａによる視点がカメラ座標となっているので、被写体位置Ａ１のＸ軸方向の座標はカメラ座標上のＸ１で与えられ、この数値は図１４に示した数式（１）で求められる。
【０１１４】
一方、第２撮像部１００Ｂからの視点におけるＡ１のＸ軸方向の座標は、光軸間距離ｂとカメラ座標のＸ１との和であり、図１４に示した数式（２）で求められ、これらの数式（１）と数式（２）から、上記数４が導き出される。
【０１１５】
このようにして、Ｐ番目の特徴点についての撮影距離を算出すると、距離算出部２１５は、ポインタＰを＋１することで次の特徴点を指定する（ステップＳ２１１）。ここで、次の特徴点が存在する場合（ステップＳ２１２：Ｎｏ）は、当該特徴点について、ステップＳ２０５以降の処理がおこなわれる。
【０１１６】
なお、「縮小照合処理」において、縮小テンプレートＴＴ２のサイズが基準値に満たないために当該特徴点が除外された場合（ステップＳ４０４：Ｎｏ、ステップＳ４０９）には、ステップＳ２１０での距離算出をおこなわずに、次の特徴点が指定される（ステップＳ２１１）。
【０１１７】
以降、各特徴点について、上述した各処理が順次おこなわれることで撮影距離の算出がなされ、すべての特徴点について処理が終了すると（ステップＳ２１２：Ｙｅｓ）、「撮影時距離算出処理」（図４）のフローに戻る。
【０１１８】
「撮影時距離算出処理」において、距離算出部２１５は、「テンプレートマッチング処理」で算出した、各特徴点における撮影距離を示す距離情報を生成し、出力する（ステップＳ１０３）。
【０１１９】
ここでの出力は、例えば、表示部３１０への表示出力の他、撮像画像（対象画像１０Ａ）とともに記憶部２５０もしくは外部記憶部２６０へ出力することによる保存、あるいは、外部インタフェース部３２０を介した外部装置への出力、などとすることができる。このような出力方法の選択は、例えば、ユーザが操作部３３０を操作することによっておこなわれるものとする。このような選択動作にかかる表示部３１０への出力信号や操作部３３０からの入力信号は、動作モード処理部２１１を介して距離算出部２１５に入出力される。
【０１２０】
ここで、外部インタフェース部３２０を介して出力される外部装置は、例えば、距離情報に基づいて３Ｄモデリングをおこなう画像処理装置とすることができる。すなわち、実写画像に基づいて３Ｄコンピュータグラフィクスを生成する場合などにおいて、本実施形態にかかるデジタルカメラ１から、撮像画像と各特徴点の距離情報が入力されることで、３Ｄモデリングをおこなうことができる。
【０１２１】
デジタルカメラ１において距離情報の出力が完了すると、所定の終了イベント（例えば、距離算出モードの解除や、デジタルカメラ１の電源オフなど）が発生するまで上述した各処理をおこない（ステップＳ１０４：Ｎｏ）、終了イベントの発生により処理を終了する（ステップＳ１０４：Ｙｅｓ）。
【０１２２】
以上説明したように、本発明を上記実施形態の如く適用することにより、より高い精度で距離算出をおこなうことができる。
【０１２３】
この場合において、通常のテンプレート（基準テンプレート）内にエッジが検出された場合に、基準テンプレートと同じサイズで、エッジを越えないように変形させたテンプレートを用いるので、距離の異なる被写体の境界付近でテンプレートマッチングをおこなう場合でもテンプレートサイズを縮小することがない。これにより、オクルージョンの発生する画像であっても、より精度の高い距離算出をおこなうことができる。
【０１２４】
ここで、一方の画像からエッジを抽出したエッジ抽出画像に基準テンプレートを設定することで、テンプレートマッチングをおこなう箇所が被写体境界部分であるか否か容易に判別することができる。これにより、被写体境界部分である場合にのみ、テンプレートの変形をおこなうことができ、必要以上に処理負荷を増大させることなく、距離算出精度の向上を図ることができる。
【０１２５】
また、テンプレートを変形する際は、特徴点とエッジの双方により近い領域を追加するので、特徴点付近でのマッチング精度の高いテンプレートとすることができる。
【０１２６】
ここで、変形テンプレートでのマッチングにおける相違度が閾値以上となる場合にのみ、サイズを縮小したテンプレートを用いたテンプレートマッチングをおこなうので、距離算出精度の低下をもたらすテンプレートサイズの縮小を必要最小限にとどめることができる。
【０１２７】
また、縮小テンプレートを用いたテンプレートマッチングは、変形テンプレートでマッチングがとれた位置の周辺でおこなうので、テンプレートサイズが小さくなることで増大する探索時間を抑えることができる。
【０１２８】
なお、サイズの小さいテンプレートを用いたテンプレートマッチングでは、照合のピークが複数現れることがあるが、このような場合に、変形テンプレートでの照合位置に最も近い照合を採用することで、より正確なマッチングを効率的におこなうことができる。
【０１２９】
さらに、設定された縮小テンプレートのサイズが、例えば、必要な距離算出精度を担保できないほど小さいか否かを基準値との比較により判別し、基準値以下のサイズとなる場合には、マッチング対象としている特徴点を除外するので、一定水準の距離算出精度を確保することができる。
【０１３０】
また、本発明を、例えば、平行ステレオ構成の複眼カメラに適用することで、精度の高い距離算出を撮像時におこなうことができる。
【０１３１】
上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１３２】
例えば、上記実施形態では、撮像画像からエッジ抽出したエッジ抽出画像を生成することで、基準テンプレート内がエッジで分断されているか否かを判別するようにしたが、被写体境界であることが判別できるのであれば、判別方法はこれに限られず任意である。例えば、Shift Mean法などによるセグメンテーションをおこない、セグメント境界から被写体境界を判別するようにしてもよい。
【０１３３】
また、本発明を上記実施形態で例示したデジタルカメラ１のような撮像装置で実現する場合においては、本発明にかかる構成や機能を予め備えた撮像装置として提供できる他、制御部２１０の各機能と同様の機能を実現するプログラムを適用することにより、既存の撮像装置を本発明にかかる撮像装置をして機能させることもできる。この場合、平行ステレオの構成となっている撮像装置であることが望ましいが、撮像手段が単一の撮像装置であっても、同一の被写体について光軸位置の異なる画像を取得することができれば、本発明の適用により、テンプレートマッチングによる距離算出をおこなうことができる。
【０１３４】
例えば、上記実施形態では、平行ステレオの撮像装置として本発明を実現した場合を例示したが、撮像機能のない装置（例えば、パーソナルコンピュータなど）として本発明の画像処理装置を実現してもよい。
【０１３５】
すなわち、上記実施形態では、本発明を平行ステレオ構成の複眼カメラに適用した場合を例示したが、同一被写体について視差のある複数の画像を得ることができるのであれば、撮像装置以外の装置に本発明を適用することができる。
【０１３６】
例えば、３Ｄモデリングをおこなう装置に本発明を適用することもできる。すなわち、当該装置で図３に示したような機能構成を実現することにより、本実施形態にかかるデジタルカメラ１のような平行ステレオカメラで得られる光軸方向の異なる２つの撮像画像を当該装置に入力し、上述したような各処理と同様の処理をおこなうことで、当該装置内において、各特徴点における撮影距離を算出して３Ｄモデリングに利用することができる。
【０１３７】
この場合も、プログラムを適用することで、既存の装置を本発明にかかる画像処理装置として機能させることができる。
【０１３８】
このようなプログラムの適用方法は任意であり、例えば、ＣＤ−ＲＯＭやメモリカードなどの記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【符号の説明】
【０１３９】
１…デジタルカメラ、１０Ａ…対象画像、１０Ｂ…参照画像、１１Ａ…エッジ抽出画像、１００Ａ…第１撮像部、１１０Ａ…光学装置、１２０Ａ…イメージセンサ部、１００Ｂ…第２撮像部、１１０Ｂ…光学装置、１２０Ｂ…イメージセンサ部、２００…データ処理部、２１０…制御部、２１１…動作モード処理部、２１２…撮像制御部、２１３…特徴点抽出部、２１４…テンプレート設定部、２１５…距離算出部、２２０…画像処理部、２３０…画像メモリ、２４０…画像出力部、２５０…記憶部、２６０…外部記憶部、３００…インタフェース部、３１０…表示部、３２０…外部インタフェース部、３３０…操作部、ＢＴ…基準テンプレート、ＴＴ１…変形テンプレート、ＴＴ２…縮小テンプレート、Ｒ１…（特徴点を含む）分断領域、Ｒ２…（特徴点を含まない）分断領域
【図１】
2010165248.tif 000003
【図２】
2010165248.tif 000004
【図３】
2010165248.tif 000005
【図４】
2010165248.tif 000006
【図５】
2010165248.tif 000007
【図６】
2010165248.tif 000008
【図７】
2010165248.tif 000009
【図８】
2010165248.tif 000010
【図９】
2010165248.tif 000011
【図１０】
2010165248.tif 000012
【図１１】
2010165248.tif 000013
【図１２】
2010165248.tif 000014
【図１３】
2010165248.tif 000015
【図１４】
2010165248.tif 000016