(57)【要約】【課題】距離情報の算出精度を高める。【解決手段】画像取得部１１は、同一の被写体を合焦位置を変えて撮像することで得られた撮像画像Ｐ１〜Ｐｎを取得する。演算部１２は、それぞれ異なる座標の複数の注目画素のそれぞれについて、撮像画像Ｐ１〜Ｐｎのそれぞれにおける注目画素についての合焦度合いを示す合焦測度をフィルタサイズの異なる微分フィルタＦ１〜Ｆｍのそれぞれを用いて算出し、微分フィルタＦ１〜Ｆｍのそれぞれを用いて撮像画像Ｐ１〜Ｐｎから算出された、微分フィルタごとの合焦測度の分布状況を比較し、その比較結果に基づいて微分フィルタＦ１〜Ｆｍの中から微分フィルタを選択し、選択した微分フィルタを用いて算出された合焦測度のピーク位置に基づいて、この注目画素に写る被写体の部位との距離に応じた距離情報を算出する。【選択図】図１
2016080808.tif 000002
【特許請求の範囲】
【請求項１】
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得し、
それぞれ異なる座標の複数の注目画素のそれぞれについて、
前記複数の撮像画像のそれぞれにおける注目画素についての合焦度合いを示す合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
前記選択微分フィルタを用いて算出された合焦測度のピーク位置に基づいて、当該注目画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
距離算出方法。
【請求項２】
前記選択微分フィルタの選択では、前記複数の微分フィルタの中から、同一の微分フィルタを用いて前記複数の撮像画像から算出された合焦測度の分布が正規分布に最も近い微分フィルタを、前記選択微分フィルタとして選択する、請求項１記載の距離算出方法。
【請求項３】
前記選択微分フィルタの選択では、同一の微分フィルタを用いて算出された合焦測度の分布の非対称性を示す歪度に基づいて、前記選択微分フィルタを選択する、請求項２記載の距離算出方法。
【請求項４】
前記注目画素についての合焦測度の算出では、当該注目画素を中心とした所定サイズの画像領域の各画素についての微分フィルタを用いた演算結果に基づいて、当該注目画素の合焦測度を算出する、請求項１〜３のいずれか１項に記載の距離算出方法。
【請求項５】
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得し、
画像上に互いに重複しないように設定された複数の分割領域のそれぞれについて、
前記複数の撮像画像のそれぞれにおける分割領域についての合焦度合いを示す第１合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの第１合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
当該分割領域に含まれる各画素について、前記複数の撮像画像のそれぞれから前記選択微分フィルタを用いて算出された、対応する画素での合焦度合いを示す第２合焦測度のピーク位置に基づいて、当該画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
距離算出方法。
【請求項６】
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得する画像取得部と、
それぞれ異なる座標の複数の注目画素のそれぞれについて、
前記複数の撮像画像のそれぞれにおける注目画素についての合焦度合いを示す合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
前記選択微分フィルタを用いて算出された合焦測度のピーク位置に基づいて、当該注目画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
演算部と、
を有する距離算出装置。
【請求項７】
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得する画像取得部と、
画像上に互いに重複しないように設定された複数の分割領域のそれぞれについて、
前記複数の撮像画像のそれぞれにおける分割領域についての合焦度合いを示す第１合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの第１合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
当該分割領域に含まれる各画素について、前記複数の撮像画像のそれぞれから前記選択微分フィルタを用いて算出された、対応する画素での合焦度合いを示す第２合焦測度のピーク位置に基づいて、当該画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
演算部と、
を有する距離算出装置。
【請求項８】
コンピュータに、
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得し、
それぞれ異なる座標の複数の注目画素のそれぞれについて、
前記複数の撮像画像のそれぞれにおける注目画素についての合焦度合いを示す合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
前記選択微分フィルタを用いて算出された合焦測度のピーク位置に基づいて、当該注目画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
処理を実行させる距離算出プログラム。
【請求項９】
コンピュータに、
同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得し、
画像上に互いに重複しないように設定された複数の分割領域のそれぞれについて、
前記複数の撮像画像のそれぞれにおける分割領域についての合焦度合いを示す第１合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、
前記複数の微分フィルタのそれぞれを用いて前記複数の撮像画像から算出された、微分フィルタごとの第１合焦測度の分布状況を比較し、その比較結果に基づいて前記複数の微分フィルタの中から選択微分フィルタを選択し、
当該分割領域に含まれる各画素について、前記複数の撮像画像のそれぞれから前記選択微分フィルタを用いて算出された、対応する画素での合焦度合いを示す第２合焦測度のピーク位置に基づいて、当該画素に写る前記被写体の部位との距離に応じた距離情報を算出する、
処理を実行させる距離算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離算出方法、距離算出装置および距離算出プログラムに関する。
【背景技術】
【０００２】
焦点位置の異なる複数の画像を撮像し、画像内の各画素について合焦の度合いを示す合焦測度を算出して画素ごとの合焦位置を検出することにより、画素ごとに被写体までの奥行き方向の距離を算出する技術が知られている。この技術は、Depth From Defocus（ＤＦＤ）と呼ばれる。
【０００３】
ＤＦＤに関連する技術の例として、次のような提案がある。例えば、注目画素の近傍の所定範囲内の画素から、注目画素との判定値の差が許容範囲内である判定値を有する有効画素を抽出し、有効画素を用いて注目画素の合焦測度を算出する技術が提案されている。また、例えば、焦点距離を高速に制御可能なダイナモルフレンズをＤＦＤに適用した技術も提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２６３１２号公報
【特許文献２】国際公開第２００９／０９６４２２号
【非特許文献】
【０００５】
【非特許文献１】奥、外２名、「光学系と画像処理系の速度を整合した高速フォーカスビジョン」、日本ロボット学会誌、Vol.27 No.7、２００９年９月、ｐ．７３９−７４８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＤＦＤでは、被写体によっては距離の算出精度が低下するという問題がある。
１つの側面では、本発明は、距離情報の算出精度を高めた距離算出方法、距離算出装置および距離算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、次のような処理を行う距離算出方法が提供される。この距離算出方法では、同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得する。そして、それぞれ異なる座標の複数の注目画素のそれぞれについて、複数の撮像画像のそれぞれにおける注目画素についての合焦度合いを示す合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、複数の微分フィルタのそれぞれを用いて複数の撮像画像から算出された、微分フィルタごとの合焦測度の分布状況を比較し、その比較結果に基づいて複数の微分フィルタの中から選択微分フィルタを選択し、選択微分フィルタを用いて算出された合焦測度のピーク位置に基づいて、この注目画素に写る被写体の部位との距離に応じた距離情報を算出する。
【０００８】
また、１つの案では、次のような処理を行う距離算出方法が提供される。この距離算出方法では、同一の被写体を合焦位置を変えて撮像することで得られた複数の撮像画像を取得する。そして、画像上に互いに重複しないように設定された複数の分割領域のそれぞれについて、複数の撮像画像のそれぞれにおける分割領域についての合焦度合いを示す第１合焦測度をフィルタサイズの異なる複数の微分フィルタのそれぞれを用いて算出し、複数の微分フィルタのそれぞれを用いて複数の撮像画像から算出された、微分フィルタごとの第１合焦測度の分布状況を比較し、その比較結果に基づいて複数の微分フィルタの中から選択微分フィルタを選択し、この分割領域に含まれる各画素について、複数の撮像画像のそれぞれから選択微分フィルタを用いて算出された、対応する画素での合焦度合いを示す第２合焦測度のピーク位置に基づいて、この画素に写る被写体の部位との距離に応じた距離情報を算出する。
【０００９】
さらに、１つの案では、上記各距離算出方法と同様の処理が実行される距離算出装置が提供される。
また、１つの案では、上記各距離算出方法と同様の処理をコンピュータに実行させる距離算出プログラムが提供される。
【発明の効果】
【００１０】
１つの側面では、距離情報の算出精度を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係る距離算出装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る高さ計測システムの構成例を示す図である。
【図３】制御装置のハードウェア構成例を示す図である。
【図４】高さ計測処理の比較例を示すフローチャートである。
【図５】フィルタを用いた合焦測度の算出例を示す図である。
【図６】関数フィッティングによる合焦測度の算出例を示す図である。
【図７】合焦測度のピーク位置に基づく高さの算出例を示す。
【図８】フィルタサイズと合焦測度のピーク位置との関係の例を示す図である。
【図９】第２の実施の形態に係る制御装置の機能の構成例を示すブロック図である。
【図１０】合焦測度の算出およびフィルタサイズの判定の各処理の概要を示す図である。
【図１１】各画素の合焦測度の算出例を示す図である。
【図１２】合焦測度の分布曲線の例を示す図である。
【図１３】高さ計測処理手順の例を示すフローチャート（その１）である。
【図１４】高さ計測処理手順の例を示すフローチャート（その２）である。
【図１５】合焦測度の算出処理手順の例を示すフローチャートである。
【図１６】第１の処理例における合焦測度の算出例を示す図である。
【図１７】第１の処理例における評価値の算出例および関数フィッティングの様子を示す図である。
【図１８】第２の処理例における合焦測度の算出例を示す図である。
【図１９】第２の処理例における評価値の算出例および関数フィッティングの様子を示す図である。
【図２０】第３の処理例における合焦測度の算出例を示す図である。
【図２１】第３の処理例における評価値の算出例および関数フィッティングの様子を示す図である。
【図２２】分割領域の設定例を示す図である。
【図２３】第３の実施の形態における高さ計測処理手順の例を示すフローチャート（その１）である。
【図２４】第３の実施の形態における高さ計測処理手順の例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る距離算出装置の構成例および処理例を示す図である。図１に示す距離算出装置１は、画像取得部１１および演算部１２を有する。画像取得部１１および演算部１２の処理は、例えば、距離算出装置１が備えるプロセッサが所定のプログラムを実行することで実現される。
【００１３】
距離算出装置１には、撮像装置２が接続されている。撮像装置２は、合焦位置を変化させる機能を備える。画像取得部１１は、同一の被写体を合焦位置を変えて撮像することで得られたｎ枚（ただし、ｎは２以上の整数）の撮像画像Ｐ１〜Ｐｎを、撮像装置２から取得する。なお、画像取得部１１は、このような撮像画像Ｐ１〜Ｐｎを、撮像装置２から直接取得するのではなく、記憶装置から取得してもよい。
【００１４】
演算部１２は、それぞれ異なる座標の複数の注目画素のそれぞれについて、次のような手順で、注目画素に写る被写体の部位との距離に応じた距離情報を算出する。なお、注目画素とは、撮像画像Ｐ１〜Ｐｎの間で対応する画素を指す。また、以下の処理では、フィルタサイズ（カーネルサイズ）の異なるｍ個（ただし、ｍは２以上の整数）の微分フィルタＦ１〜Ｆｍが用いられる。
【００１５】
演算部１２は、撮像画像Ｐ１〜Ｐｎのそれぞれにおける注目画素についての合焦度合いを示す合焦測度を、微分フィルタＦ１〜Ｆｍのそれぞれを用いて算出する。これにより、例えば、撮像画像Ｐ１からは、微分フィルタＦ１，Ｆ２，・・・，Ｆｍをそれぞれ用いて合焦測度Ｖ１＿１，Ｖ２＿１，・・・，Ｖｍ＿１が算出される。撮像画像Ｐ２からは、微分フィルタＦ１，Ｆ２，・・・，Ｆｍをそれぞれ用いて合焦測度Ｖ１＿２，Ｖ２＿２，・・・，Ｖｍ＿２が算出される。撮像画像Ｐｎからは、微分フィルタＦ１，Ｆ２，・・・，Ｆｍをそれぞれ用いて合焦測度Ｖ１＿ｎ，Ｖ２＿ｎ，・・・，Ｖｍ＿ｎが算出される。
【００１６】
演算部１２は、微分フィルタＦ１〜Ｆｍのそれぞれを用いて撮像画像Ｐ１〜Ｐｎから算出された、微分フィルタごとの合焦測度の分布状況を比較する。ここで比較の対象となる分布状況とは、例えば、微分フィルタＦ１については合焦測度Ｖ１＿１，Ｖ１＿２，・・・，Ｖ１＿ｎの分布を指し、微分フィルタＦ２についてはＶ２＿１，Ｖ２＿２，・・・，Ｖ２＿ｎの分布を指す。演算部１２は、このような合焦測度の分布状況の比較結果に基づいて、微分フィルタＦ１〜Ｆｍの中から、距離情報の算出に最適な微分フィルタを選択する。
【００１７】
分布状況の比較結果に基づく選択処理の例としては、微分フィルタＦ１〜Ｆｍの中から、同一フィルタサイズの微分フィルタを用いて撮像画像Ｐ１〜Ｐｎから算出された合焦測度の分布が正規分布に最も近い微分フィルタを、最適な微分フィルタとして選択する方法がある。
【００１８】
上記の選択処理により、例えば微分フィルタＦ２が選択されたものとする。この場合、演算部１２は、微分フィルタＦ２を用いて算出された合焦測度Ｖ２＿１，Ｖ２＿２，・・・，Ｖ２＿ｎのピーク位置に基づいて、処理対象の注目画素に写る被写体の部位との距離に応じた距離情報を算出する。
【００１９】
ここで、撮像画像Ｐ１〜Ｐｎから算出された合焦測度のピーク位置を正確に判定できれば、そのピーク位置に基づいて距離情報を精度よく算出できる。本実施の形態において、演算部１２は、微分フィルタごとの合焦測度の分布状況を比較することで、どの微分フィルタによって算出された合焦測度がピーク位置を最も正確に判定可能かを判定することができる。具体的な例としては、合焦測度の分布が正規分布に近くなる微分フィルタほど、合焦測度のピーク位置を正確に判定可能と推定できる。
【００２０】
したがって、上記の処理により、演算部１２は、注目画素についての距離情報の算出に用いる最適なフィルタサイズを有する微分フィルタを選択し、選択した微分フィルタによって算出された合焦測度を用いて距離情報を算出することができる。
【００２１】
注目画素に写る被写体の面の状態によって、距離情報の算出に用いるべき最適なフィルタサイズは異なる。例えば、注目画素の近傍における画素値の勾配によって、最適なフィルタサイズは異なる。演算部１２による上記処理により、注目画素に写る被写体の面の状態によって、複数用意されたフィルタサイズの中から最適なフィルタサイズの微分フィルタを用いて、距離情報を算出することができる。これにより、常に固定値のフィルタサイズを有する微分フィルタを用いる場合と比較して、距離情報の算出精度を向上させることができる。
【００２２】
〔第２の実施の形態〕
次に、図１に示した距離算出装置１を含むシステムの例として、対象物の高さを計測するための高さ計測システムについて説明する。
【００２３】
図２は、第２の実施の形態に係る高さ計測システムの構成例を示す図である。図２に示す高さ計測システムは、カメラ５０、電圧制御装置６０、照明７０および制御装置１００を含む。なお、カメラ５０は、図１の撮像装置２の一例であり、制御装置１００は、図１の距離算出装置１の一例である。
【００２４】
カメラ５０は、計測対象の対象物８０を撮像し、撮像画像のデータを制御装置１００に送信する。カメラ５０は、フォーカス調整機構を含む光学系５１を備える。光学系５１には、電圧制御装置６０が接続されている。電圧制御装置６０は、制御装置１００からの制御信号に基づいて、合焦位置を制御するための制御電圧を光学系５１に出力する。照明７０は、対象物８０の撮像面に光を照射する。
【００２５】
光学系５１は、例えば、可変焦点レンズの一種であるダイナモルフレンズを備える。ダイナモルフレンズは、屈折率の異なる２種類の液体が充填された容器と、ピエゾアクチュエータとを有する。ピエゾアクチュエータの伸縮によって液体の体積を移動させて界面形状を変形させ、それにより光の屈折角が変化することで、可変焦点が実現される。光学系５１がダイナモルフレンズを備える場合、電圧制御装置６０は、ピエゾアクチュエータの駆動電圧を光学系５１に出力する。この場合、制御装置１００は、電圧制御装置６０から出力される駆動電圧を変化させることで、光学系５１の合焦位置を変化させることができる。
【００２６】
制御装置１００は、光学系５１の合焦位置を変化させながらカメラ５０から複数の撮像画像を取得し、それら複数の撮像画像を用いて、撮像画像の各画素について被写体（対象物８０）の高さを算出する。ここで、本システムにおいては、カメラ５０は対象物８０をその上方から撮像し、カメラ５０のレンズの光軸は鉛直方向となる。制御装置１００によって算出される高さとは、カメラ５０のレンズの光軸上の所定位置（例えば、対象物８０におけるカメラ５０から最も離れた部分の位置）から、撮像画像の各画素に写る対象物８０上の部位までの鉛直方向の距離を示す。
【００２７】
なお、各画素についての高さは、撮像位置から各画素に写る対象物８０上の部位までの距離に応じた値（すなわち、距離から一意に決まる値）である。このため、制御装置１００は、例えば、撮像位置から各画素に写る対象物８０上の部位までの距離を算出し、算出された距離を各画素についての高さに換算してもよい。
【００２８】
図３は、制御装置のハードウェア構成例を示す図である。制御装置１００は、例えば、図３に示すようなコンピュータとして実現される。
制御装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２９】
プロセッサ１０１には、バス１０９を介して、ＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、制御装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３０】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６、ネットワークインタフェース１０７および通信インタフェース１０８がある。
【００３１】
ＨＤＤ１０３は、制御装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３２】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像を表示装置１０４ａの画面に表示させる。表示装置としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３３】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３４】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３５】
ネットワークインタフェース１０７は、ネットワーク１０７ａを介して他の装置との間でデータの送受信を行う。
通信インタフェース１０８は、接続された外部デバイスとの間でデータの送受信を行う。本実施の形態では、通信インタフェース１０８には、外部デバイスとしてカメラ５０が接続されており、通信インタフェース１０８は、カメラ５０から送信された画像データをプロセッサに送信する。
【００３６】
以上のようなハードウェア構成によって、制御装置１００の処理機能を実現することができる。
次に、制御装置１００による高さ計測処理について説明する。以下の説明では、まず、図４〜図７を用いて高さ計測処理の比較例について説明し、その後に本実施の形態における高さ計測処理の詳細について説明する。
【００３７】
図４は、高さ計測処理の比較例を示すフローチャートである。ここでは、図２に示した構成要素を用いて図４の処理が実行されるものとして説明する。
［ステップＳ１１］制御装置１００は、電圧制御装置６０に出力する制御信号を変化させることでカメラ５０の合焦位置を変化させながら、カメラ５０によって撮像される画像を順次取得する。これにより、制御装置１００は、撮像時の合焦位置が異なるＬ枚（ただし、Ｌは２以上の整数）の撮像画像をカメラ５０から取得する。
【００３８】
［ステップＳ１２］制御装置１００は、Ｌ枚の撮像画像の全画素について、フィルタを用いた演算により、合焦の度合いを示す合焦測度を算出する。合焦測度の算出は、例えば、微分フィルタを用いて行われる。
【００３９】
［ステップＳ１３］制御装置１００は、画素ごとに、Ｌ枚の撮像画像のそれぞれから算出された合焦測度のピーク位置を算出する。ピーク位置とは、算出された合焦測度がピーク値となる制御電圧の値を示す。ピーク位置の算出は、例えば、関数フィッティングを用いて行われる。
【００４０】
［ステップＳ１４］制御装置１００は、画素ごとに、合焦測度のピーク位置に基づいて高さを算出する。高さの算出は、例えば、事前に生成された、ピーク位置と高さとの関係を示す変換式を用いて行われる。
【００４１】
図５は、フィルタを用いた合焦測度の算出例を示す図である。図４のステップＳ１２では、例えば、次のような方法で合焦測度が算出される。
ｘ座標がｉ、ｙ座標がｊの注目画素（ｉ，ｊ）の画素値をＩ（ｉ，ｊ）とすると、注目画素（ｉ，ｊ）の合焦測度Ｂ（ｉ，ｊ）は、例えば、次の式（１）によって求められる。
Ｂ（ｉ，ｊ）＝ＭＡＸ｛［Ｉ（ｉ，ｊ）−Ｉ（ｉ＋ｍ，ｊ）］2，［Ｉ（ｉ，ｊ）−Ｉ（ｉ，ｊ＋ｍ）］2，｝      ・・・（１）
式（１）において、ＭＡＸ｛Ｘ，Ｙ｝は、ＸとＹのうち大きい方を選択することを示す。また、ｍは、２以上の整数であり、フィルタサイズ（カーネルサイズ）を示す。
【００４２】
図５は、フィルタサイズｍが２の場合の例を示している。図５において、配列２０１，２０２は、式（１）でｍ＝２とした場合の、注目画素を中心とした各画素に対するフィルタ係数の配列を示す。この図５に示すように、式（１）は、注目画素（ｉ，ｊ）とその水平方向にｍ画素分ずれた画素との間の画素値の勾配、および、注目画素（ｉ，ｊ）とその垂直方向にｍ画素分ずれた画素との間の画素値の勾配のうち、大きい方の値が出力されることを示す。
【００４３】
なお、各画素の画素値としては、例えば輝度値が用いられる。また、上記の式（１）は微分フィルタの算出式の一例であり、他の微分フィルタの算出式が用いられてもよい。
図６は、関数フィッティングによる合焦測度の算出例を示す図である。図４のステップＳ１３では、例えば、関数フィッティングを用いた次のような方法で合焦測度のピーク位置が算出される。
【００４４】
制御装置１００は、関数フィッティングの誤差を低減するために、まず、各画素についてＬ枚の撮像画像から算出された合焦測度を、最大値が１００％となるように正規化する。以下、正規化された合焦測度を“正規化合焦測度”と記載する。図６は、ある１つの画素についてＬ枚の撮像画像から算出された正規化合焦測度の分布を示している。なお、図６において、横軸の制御電圧は、対応する画像の撮像時に電圧制御装置６０から光学系５１に出力されていた駆動電圧を示す。
【００４５】
制御装置１００は、画素ごとの制御電圧と正規化合焦測度との関係を、次の式（２）に示す“ローレンツ関数”と呼ばれる２次関数によって近似する。
【００４６】
【数１】
2016080808.tif 000003
【００４７】
式（２）において、α，β，ｚ0は係数である。制御装置１００は、ｚに制御電圧を入力したときの正規化合焦測度の算出値と理論値との誤差を算出する。制御装置１００は、このような誤差の算出を係数α、β，ｚ0を変化させながら実行し、誤差が最小となる係数α，β，ｚ0の値を算出する。図６の曲線は、算出された係数α，β，ｚ0を用いたローレンス関数を示す。このような関数フィッティングによって得られた係数ｚ0が、ピーク位置を示す。
【００４８】
図７は、合焦測度のピーク位置に基づく高さの算出例を示す。図４のステップＳ１４では、例えば、ピーク位置（制御電圧）と高さとの関係を示す変換式を用いて、高さが算出される。例えば、図７のグラフに示すような制御電圧ごとの高さのサンプルがあらかじめ１０点程度用意される。そして、これらのサンプルに基づいて制御電圧と高さとの関係を示す近似曲線が算出される。制御装置１００は、ステップＳ１３で算出されたピーク位置（制御電圧）を、近似曲線を示す変換式に代入することで、高さを算出することができる。なお、次の式（３）は、図７に示すサンプルから得られた近似曲線を示す変換式の例である。
Ｈ（ｘ）＝０．０４９６ｘ2＋４．９５１８ｘ−１１５．１７      ・・・（３）
以上説明した比較例では、合焦測度を算出する際のフィルタサイズｍとして、固定値が使用されている。ところが、同じ対象物８０を撮像した場合でも、合焦測度算出に利用するフィルタサイズｍが変わると、得られるピーク位置が異なる場合がある。
【００４９】
図８は、フィルタサイズと合焦測度のピーク位置との関係の例を示す図である。この図８は、ある同一の対象物８０を合焦位置を変えながら撮像して得られた撮像画像における同一画素について、フィルタサイズｍの異なるフィルタを用いて合焦測度を算出した場合の正規化合焦測度の分布の例を示す。図８（Ａ）はｍ＝１の場合、図８（Ｂ）はｍ＝４の場合、図８（Ｃ）はｍ＝７の場合を示す。なお、図８の各グラフの横軸の“距離”とは、光学系５１への制御電圧を、撮像位置から被写体までの距離に換算した値を示す。
【００５０】
図８（Ａ）〜（Ｃ）の例では、フィルタサイズｍの値が異なる場合、関数フィッティングによって得られる最適なローレンツ関数も異なるものとなり、各ローレンツ関数におけるピークの位置も異なっている。図８（Ａ）〜（Ｃ）の例では、正規化合焦測度のピーク位置から算出される最小の距離と最大の距離との間に２ｍｍ近い差が生じている。
【００５１】
このように、同じ対象物８０の同じ部位について、フィルタサイズが変わると合焦測度のピーク位置も変わるということは、フィルタサイズによってはピーク位置が正しく算出されない場合があるということを示す。これは、換言すると、合焦測度の算出に用いるフィルタサイズを変えた方が、関数フィッティングの正確性が高くなり、ピーク位置の算出精度が向上する可能性があることを示す。さらに、後述する例で示すように、対象物８０の撮像面の状態によって、ピーク位置を正確に算出可能なフィルタサイズの最適値が異なる。
【００５２】
そこで、本実施の形態では、制御装置１００は、図４のステップＳ１１の手順で得られたＬ枚の撮像画像に対して、フィルタサイズの異なる複数のフィルタを用いて、画素ごとの合焦測度を算出する。そして、制御装置１００は、各画素について、使用されたフィルタサイズの中から、算出された合焦測度の分布が正規分布に最も近くなるものを最適なフィルタサイズとして選択する。制御装置１００は、選択したフィルタサイズのフィルタを用いて得られた合焦測度に基づいてピーク位置を算出し、そのピーク位置に基づいて高さを算出する。このような処理により、制御装置１００は、画素ごとに最適なフィルタサイズを判定し、判定したフィルタサイズのフィルタを用いて合焦測度のピーク位置を算出でき、算出されたピーク位置に基づく高さの計測精度を向上させることができる。
【００５３】
図９は、第２の実施の形態に係る制御装置の機能の構成例を示すブロック図である。制御装置１００は、画像取得部１１１、合焦測度算出部１１２、フィルタサイズ判定部１１３、ピーク位置算出部１１４、高さ算出部１１５および記憶部１２０を有する。
【００５４】
画像取得部１１１、合焦測度算出部１１２、フィルタサイズ判定部１１３、ピーク位置算出部１１４および高さ算出部１１５の処理は、例えば、制御装置１００のプロセッサ１０１が所定のプログラムを実行することで実現される。なお、画像取得部１１１は、図１の画像取得部１１の一例であり、合焦測度算出部１１２、フィルタサイズ判定部１１３、ピーク位置算出部１１４および高さ算出部１１５は、図１の演算部１２の一例である。記憶部１２０は、例えば、制御装置１００のＲＡＭ１０２の記憶領域として実現される。
【００５５】
画像取得部１１１は、カメラ５０からの撮像画像１２１の取得処理を制御する。具体的には、画像取得部１１１は、電圧制御装置６０に出力する制御信号を変化させて、光学系５１の合焦位置を変化させながら、カメラ５０からＬ枚の撮像画像１２１を取得する。画像取得部１１１は、取得したＬ枚の撮像画像１２１を記憶部１２０に格納する。
【００５６】
合焦測度算出部１１２は、Ｌ枚の撮像画像１２１の全画素について合焦測度を算出する。このとき、合焦測度算出部１１２は、フィルタサイズが異なるＧ個のフィルタをそれぞれ用いて合焦測度を算出する。合焦測度算出部１１２は、算出された合焦測度を、記憶部１２０内の合焦測度テーブル１２２に格納する。
【００５７】
フィルタサイズ判定部１１３は、画素ごとに、高さ算出に用いる最適なフィルタサイズを判定する。フィルタサイズ判定部１１３は、ある画素について、それぞれ同一フィルタサイズのフィルタによって算出された合焦測度の分布状態を評価関数を用いて評価し、その評価結果に基づいて、当該画素についての最適なフィルタサイズを判定する。
【００５８】
ピーク位置算出部１１４は、画素ごとに、判定された最適なフィルタサイズのフィルタによって算出された合焦測度のピーク位置を算出する。ピーク位置の算出方法としては、図４のステップＳ１３と同様の方法が用いられる。
【００５９】
高さ算出部１１５は、画素ごとに、算出された合焦測度のピーク位置に基づいて高さを算出する。高さの算出方法としては、図４のステップＳ１４と同様の方法が用いられる。
図１０は、合焦測度の算出およびフィルタサイズの判定の各処理の概要を示す図である。
【００６０】
合焦測度算出部１１２は、画像取得部１１１によって取得されたＬ枚の撮像画像１２１＿１，１２１＿２，・・・，１２１＿Ｌの各画素の合焦測度を、フィルタサイズｍが異なるＧ個のフィルタをそれぞれ用いて算出する。以下の例では、フィルタサイズｍが１からＧまでのＧ個のフィルタが用いられるものとするが、Ｇ個のフィルタのそれぞれについてのフィルタサイズｍの値はこの例に限ったものではない。なお、以下の説明では、フィルタサイズｍがＸのフィルタを、“ｍ＝Ｘのフィルタ”と記載する場合がある。
【００６１】
合焦測度テーブル１２２は、例えば、１枚の撮像画像１２１の各画素に対して合焦測度の算出値を対応付けたマッピングテーブルである。この場合、合焦測度テーブル１２２は、撮像画像１２１ごと、およびフィルタサイズごとに設けられる。すなわち、１つの合焦測度テーブル１２２には、同じ撮像画像１２１から同じフィルタサイズのフィルタを用いて算出された合焦測度が格納される。これにより、記憶部１２０には、（Ｌ×Ｇ）個の合焦測度テーブル１２２＿１＿１，１２２＿１＿２，・・・，１２２＿１＿Ｌ，１２２＿２＿１，１２２＿２＿２，・・・，１２２＿２＿Ｌ，・・・，１２２＿Ｇ＿１，１２２＿Ｇ＿２，・・・，１２２＿Ｇ＿Ｌが記憶される。
【００６２】
例えば、撮像画像１２１＿１の各画素についてｍ＝１のフィルタを用いて算出された合焦測度は、合焦測度テーブル１２２＿１＿１に格納される。また、撮像画像１２１＿１の各画素についてｍ＝２のフィルタを用いて算出された合焦測度は、合焦測度テーブル１２２＿２＿１に格納される。
【００６３】
ここで、図１１は、各画素の合焦測度の算出例を示す図である。処理対象の画素（注目画素）の合焦測度の値は、注目画素についてのみ上記の式（１）を用いた演算を行うことで算出されてもよいが、本実施の形態では次のような算出方法を用いるものとする。
【００６４】
図１１に示すように、合焦測度算出部１１２は、注目画素を中心とした（ｐ×ｑ）画素の領域を設定し、この領域における各画素について、式（１）の演算を実行する。合焦測度算出部１１２は、領域内の各画素について得られた演算結果の加算値を、注目画素の合焦測度として出力する。なお、ｐ，ｑは、３以上の奇数である。また、ｐ＝ｑであることが望ましい。
【００６５】
フィルタサイズｍのフィルタを用いた注目画素（ｉ，ｊ）の合焦測度Ｂ（ｉ，ｊ，ｍ）は、次の式（４）によって表すことができる。
【００６６】
【数２】
2016080808.tif 000004
【００６７】
以上の算出方法によれば、一定領域内での式（１）の演算結果が平均化される。このため、注目画素のみの算出結果を合焦測度Ｂ（ｉ，ｊ，ｍ）として出力する場合と比較して、合焦測度Ｂ（ｉ，ｊ，ｍ）の算出処理に対するノイズの影響を軽減することができ、合焦測度Ｂ（ｉ，ｊ，ｍ）の算出精度を高めることができる。
【００６８】
なお、ｐ，ｑの値を大きくし過ぎると、注目画素の近傍の画像状態が合焦測度Ｂ（ｉ，ｊ，ｍ）に反映されにくくなり、その算出精度がかえって低下する。ｐ，ｑの値としては、例えば、フィルタサイズｍの最大値の２倍程度を上限とすることが望ましい。
【００６９】
以下、図１０に戻って説明する。
フィルタサイズ判定部１１３は、画素ごとに、Ｇ個のフィルタをそれぞれ用いて算出された合焦測度の分布状態を評価関数を用いて評価することで、最適なフィルタサイズを判定する。具体的には、フィルタサイズ判定部１１３は、画素ごとに次のような処理を実行する。
【００７０】
フィルタサイズ判定部１１３は、同じフィルタによって撮像画像１２１＿１〜１２１＿Ｌから算出された合焦測度の分布について、正規分布の乖離度合いを示す評価値を算出する。例えば、フィルタサイズ判定部１１３は、ｍ＝１のフィルタを用いて算出された注目画素の合焦測度を、合焦測度テーブル１２２＿１＿１，１２２＿１＿２，・・・，１２２＿１＿Ｌから読み出し、これらの合焦測度の分布についての評価値を算出する。フィルタサイズ判定部１１３は、このような処理をフィルタごとに実行し、１つの注目画素についてＧ個の評価値を算出する。フィルタサイズ判定部１１３は、算出されたＧ個の評価値に基づいて、合焦測度の分布が正規分布に最も近いと推定されるフィルタを、最適なフィルタと判定する。これにより、注目画素についての高さ算出に使用されるフィルタサイズが選択される。
【００７１】
以上の処理が全画素について実行され、各画素についての最適なフィルタが選択される。
ここで、図８の例では、発明者による実験の結果、ｍ＝１のフィルタを用いた場合に高さを最も正確に算出できることが確認された。図８に示した正規化合焦測度の分布を比較すると、ｍ＝１のフィルタを用いて算出された正規化合焦測度の分布曲線では、ピーク位置付近が他のフィルタの場合より急峻になっており、ピーク位置を中心とした波形の対称性も他のフィルタの場合より高い。このような場合、正規化合焦測度の分布は他のフィルタの場合より正規分布に近いと言え、正規化合焦測度の分布曲線と、関数フィッティングによって近似されるローレンツ関数の曲線との乖離も、他のフィルタの場合より小さくなる。このような場合に、関数フィッティングによって算出されるピーク位置の誤差が小さくなる。したがって、算出された正規化合焦測度の分布が正規分布に近くなるフィルタを最適なフィルタと判定することで、ピーク位置の算出誤差を低減でき、高さ計測精度を向上させることができる。
【００７２】
ところで、合焦測度の分布についての評価値としては、例えば、歪度が用いられる。１つの注目画素について１つのフィルタによって算出された合焦測度についての歪度Ｓは、次の式（５）によって求められる。
【００７３】
【数３】
2016080808.tif 000005
【００７４】
式（５）において、ｘiは入力データ、すなわち同一フィルタによって算出された合焦測度を示し、Ｌ個存在する。Ｅ（ｘ）はＬ個の入力データの平均値を示し、ｓはＬ個の入力データの標準偏差を示す。
【００７５】
図１２は、合焦測度の分布曲線の例を示す図である。式（５）によって算出された歪度Ｓは、合焦測度の分布曲線の非対称性の度合いを示す。Ｓ＝０の場合、合焦測度のピーク位置は、光学系５１の制御電圧の最小値と最大値との中間点に現れる。この場合、合焦測度の分布は正規分布であると推定できる。また、Ｓ＞０の場合、ピーク位置は制御電圧の最小値と最大値との中間値より低い値となり、Ｓ＜０の場合、ピーク位置は制御電圧の最小値と最大値との中間値より高い値となる。なお、歪度Ｓの実際の計算では、入力データとして正規化合焦測度が代入されるものとする。図１２は、Ｓ＜０の場合の正規化合焦測度の分布曲線の一例を示している。
【００７６】
フィルタサイズ判定部１１３は、１つの注目画素についてフィルタごとに算出された正規化合焦測度を用いて歪度Ｓを算出する。フィルタサイズ判定部１１３は、算出された正規化合焦測度に基づく歪度Ｓが０に最も近くなったフィルタを、当該注目画素についての最適なフィルタと判定する。
【００７７】
以上のような判定方法により、フィルタサイズ判定部１１３は、簡単な計算によって合焦測度の分布が正規分布に近いかを判定することができ、最適なフィルタサイズの判定処理負荷を軽減することができる。
【００７８】
なお、最適なフィルタサイズを判定するための評価関数としては、上記の式（４）に限定されるものではない。例えば、同一フィルタによって算出された合焦測度の分布と、ローレンツ関数やガウス関数との誤差を最小二乗法によって求め、誤差が最小となるフィルタサイズを最適なフィルタサイズと判定してもよい。また、例えば、合焦測度の尖り具合を示す尖度を求め、尖度に基づいて最適なフィルタサイズを判定してもよい。
【００７９】
次に、制御装置１００による高さ計測処理の手順についてフローチャートを用いて説明する。図１３，図１４は、高さ計測処理手順の例を示すフローチャートである。
［ステップＳ２１］画像取得部１１１は、ｋを１に初期化する。ｋは、撮像画像の番号を示す係数である。
【００８０】
［ステップＳ２２］画像取得部１１１は、電圧制御装置６０に制御信号を出力して、光学系５１の合焦位置を指示する。これにより、光学系５１のアクチュエータが駆動され、合焦位置が指示された位置になる。
【００８１】
［ステップＳ２３］画像取得部１１１は、カメラ５０によって撮像された撮像画像を取得する。取得された撮像画像は、ｋ番目の撮像画像ＩＭＧ（ｋ）として記憶部１２０に格納される。
【００８２】
［ステップＳ２４］画像取得部１１１は、ｋの値がＬに達したかを判定する。Ｌの値は、あらかじめ記憶部１２０に設定されている。ｋがＬに達していない場合、ステップＳ２５の処理が実行される。ｋがＬと等しい場合、ステップＳ２６の処理が実行される。
【００８３】
［ステップＳ２５］画像取得部１１１は、ｋの値を１だけインクリメントする。
ステップＳ２５の後、ステップＳ２２の処理が再度実行されるが、ステップＳ２２の処理が実行されるたびに、画像取得部１１１が指示する合焦位置が１ステップずつ変更される。これにより、ステップＳ２４で“Ｙｅｓ”と判定されたとき、合焦位置の異なるＬ枚の撮像画像が記憶部１２０に格納された状態となる。なお、撮像画像はいずれも（Ｎ×Ｍ）画素を有するものとする。
【００８４】
［ステップＳ２６］合焦測度算出部１１２は、変数ｋを１に初期化する。
［ステップＳ２７］合焦測度算出部１１２は、ｋ番目の撮像画像ＩＭＧ（ｋ）を処理対象として選択する。
【００８５】
［ステップＳ２８］合焦測度算出部１１２は、ｉ，ｊをともに１に初期化する。ｉ，ｊは、それぞれ水平方向、垂直方向の座標を示す変数である。
［ステップＳ２９］合焦測度算出部１１２は、ｍを１に初期化する。ｍは、フィルタの番号を示す変数であり、本実施の形態ではフィルタサイズに等しい。
【００８６】
［ステップＳ３０］合焦測度算出部１１２は、ｍ番目のフィルタを用いて、注目画素（ｉ，ｊ）の合焦測度Ｂ（ｉ，ｊ，ｍ）を算出する。合焦測度算出部１１２は、算出した合焦測度Ｂ（ｉ，ｊ，ｍ）を合焦測度テーブル１２２＿ｍ＿ｋに格納する。なお、合焦測度Ｂ（ｉ，ｊ，ｍ）の算出手順の詳細については、図１５で説明する。
【００８７】
［ステップＳ３１］合焦測度算出部１１２は、ｍがＧに達したかを判定する。Ｇの値は、あらかじめ記憶部１２０に設定されている。ｍがＧに達していない場合、ステップＳ３２の処理が実行される。ｍがＧと等しい場合、ステップＳ３３の処理が実行される。
【００８８】
［ステップＳ３２］合焦測度算出部１１２は、ｍの値を１だけインクリメントする。その後、ステップＳ３０の処理が実行される。
ステップＳ３１で“Ｙｅｓ”と判定されたとき、１つの撮像画像ＩＭＧ（ｋ）上の１つの注目画素（ｉ，ｊ）について、Ｇ個のフィルタをそれぞれ使用してＧ個の合焦測度が算出された状態となる。
【００８９】
［ステップＳ３３］合焦測度算出部１１２は、ｉがＮに達したかを判定する。Ｎの値は、あらかじめ記憶部１２０に設定されている。ｉがＮに達していない場合、ステップＳ３４の処理が実行される。ｉがＮと等しい場合、ステップＳ３５の処理が実行される。
【００９０】
［ステップＳ３４］合焦測度算出部１１２は、ｉの値を１だけインクリメントする。その後、ステップＳ２９の処理が実行される。
［ステップＳ３５］合焦測度算出部１１２は、ｊがＭに達したかを判定する。Ｍの値は、あらかじめ記憶部１２０に設定されている。ｊがＭに達していない場合、ステップＳ３６の処理が実行される。ｊがＭと等しい場合、ステップＳ３７の処理が実行される。
【００９１】
［ステップＳ３６］合焦測度算出部１１２は、ｊの値を１だけインクリメントする。その後、ステップＳ２９の処理が実行される。
ステップＳ３５で“Ｙｅｓ”と判定されたとき、１つの撮像画像ＩＭＧ（ｋ）上のすべての画素について、Ｇ個のフィルタをそれぞれ使用してＧ個の合焦測度が算出された状態となる。
【００９２】
［ステップＳ３７］合焦測度算出部１１２は、ｋがＬに達したかを判定する。ｋがＬに達していない場合、ステップＳ３８の処理が実行される。ｋがＬと等しい場合、図１４のステップＳ４１の処理が実行される。
【００９３】
［ステップＳ３８］合焦測度算出部１１２は、ｋの値を１だけインクリメントする。その後、ステップＳ２７の処理が実行される。
ステップＳ３８で“Ｙｅｓ”と判定されたとき、Ｌ枚の撮像画像ＩＭＧ（ｋ）のすべてについての合焦測度が算出された状態となる。
【００９４】
［ステップＳ４１］合焦測度算出部１１２は、同一フィルタを用いてＬ枚の撮像画像から算出された合焦測度を正規化する。具体的には、合焦測度算出部１１２は、同じフィルタを用いて算出された合焦測度が格納された合焦測度テーブルを参照し、合焦測度テーブル間で同じ座標に対応する合焦測度を、最大値が１００％となるように正規化する。合焦測度算出部１１２は、正規化された合焦測度を、参照元の合焦測度テーブルに上書き保存する。
【００９５】
［ステップＳ４２］フィルタサイズ判定部１１３は、ｉ，ｊをともに１に初期化する。
［ステップＳ４３］フィルタサイズ判定部１１３は、ｍを１に初期化する。
［ステップＳ４４］フィルタサイズ判定部１１３は、ｍ番目のフィルタを用いてＬ枚の撮像画像から算出された、注目画素（ｉ，ｊ）の合焦測度Ｂ（ｉ，ｊ，ｍ）を基に、評価関数を用いて評価値を算出する。評価値としては、例えば、前述の歪度Ｓが算出される。
【００９６】
［ステップＳ４５］フィルタサイズ判定部１１３は、ｍがＧに達したかを判定する。ｍがＧに達していない場合、ステップＳ４６の処理が実行される。ｍがＧと等しい場合、ステップＳ４７の処理が実行される。
【００９７】
［ステップＳ４６］フィルタサイズ判定部１１３は、ｍの値を１だけインクリメントする。その後、ステップＳ４４の処理が実行される。
［ステップＳ４７］フィルタサイズ判定部１１３は、ステップＳ４４〜Ｓ４６によって算出されたＧ個の評価値に基づいて、最適なフィルタサイズｍを選択する。評価値として歪度Ｓが算出された場合、Ｇ個のフィルタのうち、ステップＳ４４〜Ｓ４６で算出された歪度Ｓが最も０に近いフィルタが、最適なフィルタとして選択される。
【００９８】
［ステップＳ４８］ピーク位置算出部１１４は、選択されたフィルタサイズのフィルタを用いてＬ枚の撮像画像から算出された合焦測度を用いて関数フィッティングを行い、合焦測度のピーク位置を算出する。フィッティングに式（２）のローレンツ関数が用いられる場合、得られたローレンツ関数における係数ｚ0がピーク位置を示す。
【００９９】
［ステップＳ４９］高さ算出部１１５は、算出されたピーク位置、すなわち制御電圧の値を、該当画素に写る被写体の高さに変換する。制御電圧は、例えば、式（３）のようなあらかじめ決められた算出式を用いて、高さに変換される。なお、例えば、ステップごとの制御電圧と高さとの関係があらかじめ設定された変換テーブルを用いて、制御電圧が高さに変換されてもよい。高さ算出部１１５は、変換された高さの値を、注目画素（ｉ，ｊ）についての高さＨ（ｉ，ｊ）として記憶部１２０に保存する。
【０１００】
［ステップＳ５０］高さ算出部１１５は、ｉがＮに達したかを判定する。ｉがＮに達していない場合、ステップＳ５１の処理が実行される。ｉがＮと等しい場合、ステップＳ５２の処理が実行される。
【０１０１】
［ステップＳ５１］高さ算出部１１５は、ｉの値を１だけインクリメントする。その後、ステップＳ４３の処理が実行される。
［ステップＳ５２］高さ算出部１１５は、ｊがＭに達したかを判定する。ｊがＭに達していない場合、ステップＳ５３の処理が実行される。ｊがＭと等しい場合、ステップＳ５４の処理が実行される。
【０１０２】
［ステップＳ５３］高さ算出部１１５は、ｊの値を１だけインクリメントする。その後、ステップＳ４３の処理が実行される。
ステップＳ５２で“Ｙｅｓ”と判定されたとき、撮像画像上のすべての画素についての高さが算出された状態となる。
【０１０３】
図１５は、合焦測度の算出処理手順の例を示すフローチャートである。この図１５の処理は、注目画素（ｉ，ｊ）について式（５）の演算を実行するものであり、図１３のステップＳ３０の処理に対応する。
【０１０４】
［ステップＳ１０１］合焦測度算出部１１２は、ｘに（ｉ−ｐ／２）を設定し、ｙに（ｊ−ｑ／２）を設定する。なお、ｘは、処理対象の画素のｘ座標を示す変数であり、ｙは、処理対象の画素のｙ座標を示す変数である。また、ｐ，ｑの値は、あらかじめ記憶部１２０に設定されている。
【０１０５】
［ステップＳ１０２］合焦測度算出部１１２は、処理対象の画素（ｘ，ｙ）についての合焦測度Ｂ（ｘ，ｙ，ｍ）を、式（４）を用いて算出する。
［ステップＳ１０３］合焦測度算出部１１２は、ｘが（ｉ＋ｐ／２）に達したかを判定する。ｘが（ｉ＋ｐ／２）に達していない場合、ステップＳ１０４の処理が実行される。ｘが（ｉ＋ｐ／２）と等しい場合、ステップＳ１０５の処理が実行される。
【０１０６】
［ステップＳ１０４］合焦測度算出部１１２は、ｘの値を１だけインクリメントする。その後、ステップＳ１０２に戻り、処理対象の画素が水平方向に１画素移動されて合焦測度が算出される。
【０１０７】
［ステップＳ１０５］合焦測度算出部１１２は、ｙが（ｊ＋ｑ／２）に達したかを判定する。ｙが（ｊ＋ｑ／２）に達していない場合、ステップＳ１０６の処理が実行される。ｙが（ｊ＋ｑ／２）と等しい場合、ステップＳ１０７の処理が実行される。
【０１０８】
［ステップＳ１０６］合焦測度算出部１１２は、ｙの値を１だけインクリメントし、ｘの値を（ｉ−ｐ／２）に戻す。その後、ステップＳ１０２に進み、垂直方向に隣接する次の行の先頭画素について合焦測度が算出される。
【０１０９】
［ステップＳ１０７］合焦測度算出部１１２は、ステップＳ１０２で算出された（ｐ×ｑ）個の合焦測度をすべて加算することで、合焦測度Ｂ（ｉ，ｊ，ｍ）を算出する。
以上説明した第２の実施の形態によれば、制御装置１００は、合焦測度を算出するためのフィルタとして、画素ごとに最適なフィルタを自動的に決定することができる。これにより、画素ごとの高さの計測精度を向上させることができる。
【０１１０】
次に、合焦測度の算出例および関数フィッティングによるピーク位置判定の具体例を示す。以下の説明では、３種類の画像１３０ａ〜１３０ｃを用いた第１〜第３の処理例について示す。
【０１１１】
図１６は、第１の処理例における合焦測度の算出例を示す図である。第１の処理例では、画像１３０ａにおける数字のエッジ部分の画素について、グラフ１３１ａに示すような正規化合焦測度が算出されている。
【０１１２】
図１７は、第１の処理例における評価値の算出例および関数フィッティングの様子を示す図である。図１６のグラフ１３１ａに示した正規化合焦測度から、グラフ１３２ａに示すような評価値（歪度）が算出されている。グラフ１３２ａによれば、ｍ＝１のフィルタを用いて算出された正規化合焦測度についての歪度が最も０に近いことから、最適なフィルタサイズが１と判定される。発明者による実験の結果、ｍ＝１のフィルタを用いた場合に高さを最も正確に算出でき、上記の判定結果が正しいことが確認された。
【０１１３】
グラフ１３３ａは、ｍ＝１のフィルタを用いて算出された正規化合焦測度の分布と、これらの正規化合焦測度に対する関数フィッティングによって近似されたローレンツ関数の曲線とを示す図である。グラフ１３３ａによれば、正規化合焦測度の分布曲線と近似されたローレンツ関数との乖離が小さいことがわかる。
【０１１４】
図１８は、第２の処理例における合焦測度の算出例を示す図である。第２の処理例では、画像１３０ｂにおける中央部分の画像のエッジ部分の画素について、グラフ１３１ｂに示すような正規化合焦測度が算出されている。
【０１１５】
図１９は、第２の処理例における評価値の算出例および関数フィッティングの様子を示す図である。図１８のグラフ１３１ｂに示した正規化合焦測度から、グラフ１３２ｂに示すような評価値（歪度）が算出されている。グラフ１３２ｂによれば、ｍ＝２のフィルタを用いて算出された正規化合焦測度についての歪度が最も０に近いことから、最適なフィルタサイズが２と判定される。発明者による実験の結果、ｍ＝２のフィルタを用いた場合に高さを最も正確に算出でき、上記の判定結果が正しいことが確認された。
【０１１６】
グラフ１３３ｂは、ｍ＝２のフィルタを用いて算出された正規化合焦測度の分布と、これらの正規化合焦測度に対する関数フィッティングによって近似されたローレンツ関数の曲線とを示す図である。グラフ１３３ｂによれば、正規化合焦測度の分布曲線と近似されたローレンツ関数との乖離が小さいことがわかる。
【０１１７】
図２０は、第３の処理例における合焦測度の算出例を示す図である。第３の処理例では、画像１３０ｃにおける中央付近のエッジ部分の画素について、グラフ１３１ｃに示すような正規化合焦測度が算出されている。
【０１１８】
図２１は、第３の処理例における評価値の算出例および関数フィッティングの様子を示す図である。図２０のグラフ１３１ｃに示した正規化合焦測度から、グラフ１３２ｃに示すような評価値（歪度）が算出されている。グラフ１３２ｃによれば、ｍ＝７のフィルタを用いて算出された正規化合焦測度についての歪度が最も０に近いことから、最適なフィルタサイズが７と判定される。発明者による実験の結果、ｍ＝７のフィルタを用いた場合に高さを最も正確に算出でき、上記の判定結果が正しいことが確認された。
【０１１９】
グラフ１３３ｃは、ｍ＝７のフィルタを用いて算出された正規化合焦測度の分布と、これらの正規化合焦測度に対する関数フィッティングによって近似されたローレンツ関数の曲線とを示す図である。グラフ１３３ｃによれば、正規化合焦測度の分布曲線と近似されたローレンツ関数との乖離が小さいことがわかる。
【０１２０】
ここで、第１〜第３の処理例を比較すると、第３の処理例での注目画素における輝度の傾きは、第１および第２の処理例と比較して緩やかになっている。すなわち、エッジ部分の画素値の傾きが緩やかなほど、フィルタサイズの大きいフィルタを用いた方が、合焦測度のピーク位置の判定誤差が小さくなり、高さの測定精度を向上できる傾向にある。
【０１２１】
このように、第２の実施の形態によれば、制御装置１００は、撮像画像に写る対象物の表面状態に応じて最適なフィルタによる合焦測度を用いて、ピーク位置を判定することができる。これにより、対象物によらず、高さの測定精度を向上させることができる。
【０１２２】
〔第３の実施の形態〕
上記の第２の実施の形態では、撮像画像上のすべての画素ごとに最適なフィルタサイズを判定した。これに対して、第３の実施の形態では、撮像画像上に複数の分割領域を設定し、分割領域ごとに最適なフィルタサイズを判定する。そして、分割領域内の各画素についての高さを算出する際には、当該分割領域に対して最適と判定されたフィルタサイズのフィルタによって算出された合焦測度を用いる。このような処理により、第２の実施の形態と比較して、最適なフィルタサイズを判定する際の処理負荷を低減することができる。
【０１２３】
分割領域の設定方法としては、次のような方法を用いることができる。例えば、撮像画像上にあらかじめ同サイズの分割領域（格子領域）を設定しておく方法を用いることができる。また、他の例として、ユーザの入力操作によって任意の位置に任意の大きさの分割領域を設定することもできる。後者の例については、さらに、撮像画像上の一部にだけ分割領域を設定することもできる。
【０１２４】
以下の説明では、ユーザの入力操作によって、撮像画像上の少なくとも一部の領域に任意の大きさの分割領域が設定されるものとする。なお、第３の実施の形態の制御装置のハードウェア構成や、機能の基本的な構成は、第２の実施の形態と同様である。そこで、以下の説明では、第３の実施の形態の制御装置について、第２の実施の形態の制御装置１００と同様の符号を用いて説明する。
【０１２５】
図２２は、分割領域の設定例を示す図である。図２２の例では、ユーザの入力操作によって、撮像画像の一部の領域に３つの分割領域Ｒ１〜Ｒ３が設定されている。ここで、ｎ番目の分割領域の先頭画素の座標を（ｘｎｓ，ｙｎｓ）、終端画素の座標を（ｘｎｅ，ｙｎｅ）と表す。例えば、分割領域Ｒ１における先頭画素の座標は（ｘ１ｓ，ｙ１ｓ）と表され、終端画素の座標は（ｘ１ｅ，ｙ１ｅ）と表される。各領域の（ｘｎｓ，ｙｎｓ），（ｘｎｅ，ｙｎｅ）は、制御装置１００によって自動的に判別され、記憶部１２０に記憶される。
【０１２６】
なお、ユーザの入力操作により、例えば、撮像画像に写る対象物の表面状態が似ている部分が分割領域として設定されることが望ましい。これにより、分割領域内の各画素についての高さの算出精度をできるだけ低下させずに、処理負荷を低減することができる。
【０１２７】
図２３，図２４は、第３の実施の形態における高さ計測処理手順の例を示すフローチャートである。図２３に示すように、第３の実施の形態では、制御装置１００は、まず、図１３のステップＳ２１〜Ｓ２６の処理を実行した後、下記のステップＳ６１の処理を実行する。
【０１２８】
［ステップＳ６１］合焦測度算出部１１２は、ｋ番目の撮像画像ＩＭＧ（ｋ）を処理対象として選択する。
［ステップＳ６２］合焦測度算出部１１２は、ｎを１に初期化する。
【０１２９】
［ステップＳ６３］合焦測度算出部１１２は、ｉ，ｊにそれぞれ、ｎ番目の分割領域の先頭画素の座標を示すｘｎｓ，ｙｎｓを設定する。
［ステップＳ６４］合焦測度算出部１１２は、ｍを１に初期化する。
【０１３０】
［ステップＳ６５］合焦測度算出部１１２は、ｍ番目のフィルタを用いて、注目画素（ｉ，ｊ）の合焦測度Ｂ（ｉ，ｊ，ｍ）を算出する。合焦測度Ｂ（ｉ，ｊ，ｍ）の算出方法としては、図１５に示した方法が用いられる。合焦測度算出部１１２は、算出した合焦測度Ｂ（ｉ，ｊ，ｍ）を合焦測度テーブル１２２＿ｍ＿ｋに格納する。
【０１３１】
［ステップＳ６６］合焦測度算出部１１２は、ｍがＧに達したかを判定する。ｍがＧに達していない場合、ステップＳ６７の処理が実行される。ｍがＧと等しい場合、ステップＳ６８の処理が実行される。
【０１３２】
［ステップＳ６７］合焦測度算出部１１２は、ｍの値を１だけインクリメントする。その後、ステップＳ６５の処理が実行される。
［ステップＳ６８］合焦測度算出部１１２は、ｉが、ｎ番目の分割領域の水平方向の終端座標を示すｘｎｅに達したかを判定する。ｉがｘｎｅに達していない場合、ステップＳ６９の処理が実行される。ｉがｘｎｅと等しい場合、ステップＳ７０の処理が実行される。
【０１３３】
［ステップＳ６９］合焦測度算出部１１２は、ｉの値を１だけインクリメントする。その後、ステップＳ６４の処理が実行される。
［ステップＳ７０］合焦測度算出部１１２は、ｊが、ｎ番目の分割領域の垂直方向の終端座標を示すｙｎｅに達したかを判定する。ｊがｙｎｅに達していない場合、ステップＳ７１の処理が実行される。ｊがｙｎｅと等しい場合、ステップＳ７２の処理が実行される。
【０１３４】
［ステップＳ７１］合焦測度算出部１１２は、ｊの値を１だけインクリメントする。その後、ステップＳ６４の処理が実行される。
［ステップＳ７２］合焦測度算出部１１２は、ｎが、分割領域の設定数Ｃに達したかを判定する。ｎがＣに達していない場合、ステップＳ７３の処理が実行される。ｎがＣと等しい場合、ステップＳ７４の処理が実行される。
【０１３５】
［ステップＳ７３］合焦測度算出部１１２は、ｎの値を１だけインクリメントする。その後、ステップＳ６３の処理が実行される。
以上のステップＳ６３〜Ｓ７３が繰り返され、ステップＳ７２で“Ｙｅｓ”と判定されたとき、１枚の撮像画像に基づいて、すべての分割領域内の全画素についての合焦測度が算出された状態となる。
【０１３６】
［ステップＳ７４］合焦測度算出部１１２は、ｋがＬに達したかを判定する。ｋがＬに達していない場合、ステップＳ７５の処理が実行される。ｋがＬと等しい場合、ステップＳ７６の処理が実行される。
【０１３７】
［ステップＳ７５］合焦測度算出部１１２は、ｋの値を１だけインクリメントする。その後、ステップＳ６１の処理が実行される。
ステップＳ７４で“Ｙｅｓ”と判定されたとき、Ｌ枚の撮像画像ＩＭＧ（ｋ）のすべてから、各分割領域内の全画素についての合焦測度が算出された状態となる。
【０１３８】
［ステップＳ７６］合焦測度算出部１１２は、同一フィルタを用いてＬ枚の撮像画像から算出された合焦測度を正規化し、正規化後の合焦測度によって合焦測度テーブルを更新する。この処理は、図１４のステップＳ４１と同様の手順で実行される。
【０１３９】
［ステップＳ８１］フィルタサイズ判定部１１３は、ｎを１に初期化する。
［ステップＳ８２］フィルタサイズ判定部１１３は、ｍを１に初期化する。
［ステップＳ８３］フィルタサイズ判定部１１３は、Ｌ枚の撮像画像のそれぞれにおけるｎ番目の分割領域の各画素について、ｍ番目のフィルタを用いて算出された合焦測度に基づいて、各撮像画像における当該分割領域の代表合焦測度を算出する。この算出方法としては、各撮像画像上の当該分割領域の各画素について、ｍ番目のフィルタを用いて算出された合焦測度（以下、“参照合焦測度”と呼ぶ）を用いて、例えば、次のいずれかの方法を用いることができる。
【０１４０】
第１の方法としては、フィルタサイズ判定部１１３は、すべての参照合焦測度を加算することで代表合焦測度を算出する。
第２の方法としては、フィルタサイズ判定部１１３は、参照合焦測度の中の最大値を代表合焦測度として出力する。
【０１４１】
第３の方法としては、フィルタサイズ判定部１１３は、参照合焦測度のうち所定のしきい値以上の値をすべて加算することで、代表合焦測度を算出する。
なお、上記のいずれの方法でも、当該分割領域の全画素についての参照合焦測度を、算出処理に用いる対象とせず、一部の画素についての参照合焦測度だけを対象としてもよい。例えば、分割領域内の一定間隔ごとの画素についての参照合焦測度だけを、算出処理に用いる対象としてもよい。
【０１４２】
［ステップＳ８４］フィルタサイズ判定部１１３は、ステップＳ８３で算出されたＬ個の代表合焦測度に基づいて、評価関数を用いて評価値を算出する。評価値の算出処理は、図１４のステップＳ４４の手順で実行される。
【０１４３】
［ステップＳ８５］フィルタサイズ判定部１１３は、ｍがＧに達したかを判定する。ｍがＧに達していない場合、ステップＳ８６の処理が実行される。ｍがＧと等しい場合、ステップＳ８７の処理が実行される。
【０１４４】
［ステップＳ８６］フィルタサイズ判定部１１３は、ｍの値を１だけインクリメントする。その後、ステップＳ８３の処理が実行される。
ステップＳ８３〜Ｓ８６の処理が繰り返され、ステップＳ８５で“Ｙｅｓ”と判定されたとき、ｎ番目の分割領域についての、Ｇ個のフィルタのそれぞれに対応する評価値が算出された状態となる。
【０１４５】
［ステップＳ８７］フィルタサイズ判定部１１３は、算出されたＧ個の評価値に基づいて最適なフィルタサイズｍを選択する。評価値として歪度Ｓが算出された場合、Ｇ個のフィルタのうち、算出された歪度Ｓが最も０に近いフィルタが、最適なフィルタとして選択される。
【０１４６】
このステップＳ８７の処理により、ｎ番目の分割領域についての最適なフィルタが選択される。そして、この後のステップＳ８８〜Ｓ９４では、当該フィルタによって算出された合焦測度に基づいて、ｎ番目の分割領域内の各画素についての高さが算出される。
【０１４７】
［ステップＳ８８］ピーク位置算出部１１４は、ｉにｘｎｓを設定し、ｊにｙｎｓを設定する。
［ステップＳ８９］ピーク位置算出部１１４は、ステップＳ８７で選択されたフィルタを用いてＬ枚の撮像画像における注目画素（ｉ，ｊ）から算出された合焦測度を用いて、関数フィッティングを行い、合焦測度のピーク位置を算出する。フィッティングに式（２）のローレンツ関数が用いられる場合、得られたローレンツ関数における係数ｚ0がピーク位置を示す。
【０１４８】
［ステップＳ９０］高さ算出部１１５は、算出されたピーク位置、すなわち制御電圧の値を、該当画素に写る被写体の高さに変換する。変換手順は、図１４のステップＳ４９と同様である。高さ算出部１１５は、変換された高さの値を、注目画素（ｉ，ｊ）についての高さＨ（ｉ，ｊ）として記憶部１２０に保存する。
【０１４９】
［ステップＳ９１］高さ算出部１１５は、ｉがｘｎｅに達したかを判定する。ｉがｘｎｅに達していない場合、ステップＳ９２の処理が実行される。ｉがｘｎｅと等しい場合、ステップＳ９３の処理が実行される。
【０１５０】
［ステップＳ９２］高さ算出部１１５は、ｉの値１だけインクリメントする。その後、ステップＳ８９に進み、水平方向の次の画素についての関数フィッティングが行われる。
［ステップＳ９３］高さ算出部１１５は、ｊがｙｎｅに達したかを判定する。ｊがｙｎｅに達していない場合、ステップＳ９４の処理が実行される。ｊがｙｎｅと等しい場合、ステップＳ９５の処理が実行される。
【０１５１】
［ステップＳ９４］高さ算出部１１５は、ｊの値を１だけインクリメントする。その後、ステップＳ８９に進み、分割領域における垂直方向の次の行の先頭画素について関数フィッティングが行われる。
【０１５２】
ステップＳ８９〜Ｓ９４が繰り返され、ステップＳ９３で“Ｙｅｓ”と判定されたときｎ番目の分割領域内のすべての画素について高さが算出された状態となる。
［ステップＳ９５］合焦測度算出部１１２は、ｎがＣに達したかを判定する。ｎがＣに達していない場合、ステップＳ９６の処理が実行される。ｎがＣと等しい場合、処理が終了する。
【０１５３】
［ステップＳ９６］合焦測度算出部１１２は、ｎの値を１だけインクリメントする。その後、ステップＳ８２に進み、次の分割領域に対する処理が行われる。
以上の処理手順では、ステップＳ８３〜Ｓ８７での評価値に基づく最適なフィルタの判定処理の繰り返し数が、分割領域の設定数に限定される。これにより、第２の実施の形態と比較して、処理負荷が軽減され、処理時間が短縮化される。
【０１５４】
なお、上記の各実施の形態に示した装置（距離算出装置１および制御装置１００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１５５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【０１５７】
１  距離算出装置
２  撮像装置
１１  画像取得部
１２  演算部
【図１】
2016080808.tif 000006
【図２】
2016080808.tif 000007
【図３】
2016080808.tif 000008
【図４】
2016080808.tif 000009
【図５】
2016080808.tif 000010
【図６】
2016080808.tif 000011
【図７】
2016080808.tif 000012
【図８】
2016080808.tif 000013
【図９】
2016080808.tif 000014
【図１０】
2016080808.tif 000015
【図１１】
2016080808.tif 000016
【図１２】
2016080808.tif 000017
【図１３】
2016080808.tif 000018
【図１４】
2016080808.tif 000019
【図１５】
2016080808.tif 000020
【図１６】
2016080808.tif 000021
【図１７】
2016080808.tif 000022
【図１８】
2016080808.tif 000023
【図１９】
2016080808.tif 000024
【図２０】
2016080808.tif 000025
【図２１】
2016080808.tif 000026
【図２２】
2016080808.tif 000027
【図２３】
2016080808.tif 000028
【図２４】
2016080808.tif 000029