(57)【特許請求の範囲】
【請求項１】
所定の光学系を用いて対象物を撮影することで前記対象物についての二次元画像データを取得するステップと、
前記撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において取得するステップと、
前記距離情報に応じて、前記画像内に存在するエッジを検出するエッジ検出箇所の各々に適用する解析関数を決定するステップと、
前記エッジ検出箇所の各々に、決定された前記解析関数をそれぞれ適用してエッジを検出するステップと、を含み、
前記エッジを検出するステップが、
前記二次元画像データを微分処理することで微分画像を作成するステップと、
前記エッジ検出箇所の各々に適用する解析関数を前記微分画像にフィッティング処理するステップと、
フィッティングされた解析関数の頂点をエッジとして検出するステップと
を含むことを特徴とするエッジ検出方法。
【請求項２】
前記解析関数を、予め前記光学系の設計値に基づいて導出するステップを含むことを特徴とする請求項１に記載のエッジ検出方法。
【請求項３】
前記解析関数を、予め前記光学系を用いてサンプル撮影を行った実測結果から導出するステップを含むことを特徴とする請求項１に記載のエッジ検出方法。
【請求項４】
前記解析関数を、前記距離情報に応じてテーブル化するステップを含むことを特徴とする請求項１〜３のいずれかに記載のエッジ検出方法。
【請求項５】
前記解析関数を、前記距離情報に応じて導出するための導出関数を求めるステップを含むことを特徴とする請求項１〜３のいずれかに記載のエッジ検出方法。
【請求項６】
前記解析関数を決定するに際し、前記距離情報に加えて、前記撮影レンズについての所定のレンズ情報が利用されることを特徴とする請求項１に記載のエッジ検出方法。
【請求項７】
前記レンズ情報として、前記撮影レンズの焦点距離情報及び／又はレンズＦ値情報が用いられることを特徴とする請求項６に記載のエッジ検出方法。
【請求項８】
前記距離情報及びレンズ情報に基づき、合焦位置からのズレに伴う画像のボケ具合に関する情報を、予め前記光学系の設計値に基づいて導出するステップを含むことを特徴とする請求項６又は７に記載のエッジ検出方法。
【請求項９】
合焦位置からのズレに伴う画像のボケ具合に関する情報を、予め前記光学系を用いてサンプル撮影を行った実測結果から、前記距離情報及びレンズ情報に関連付けて導出するステップを含むことを特徴とする請求項６又は７に記載のエッジ検出方法。
【請求項１０】
前記解析関数を、前記距離情報と前記レンズ情報とに対応付けてテーブル化するステップを含むことを特徴とする請求項６〜９のいずれかに記載のエッジ検出方法。
【請求項１１】
前記解析関数を、前記距離情報及び前記レンズ情報に応じて導出するための導出関数を求めるステップを含むことを特徴とする請求項６〜９のいずれかに記載のエッジ検出方法。
【請求項１２】
前記解析関数として、少なくともガウス関数及び／又は二次関数が用いられることを特徴とする請求項１〜１１のいずれかに記載のエッジ検出方法。
【請求項１３】
対象物についての二次元画像データを取得する撮像手段と、
前記撮像手段による撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において求める距離算出手段と、
前記二次元画像に存在するエッジを定める候補となるエッジ候補を特定するエッジ候補特定手段と、
前記エッジ候補の各々に適用する解析関数を、前記距離情報に応じてそれぞれ導出する解析関数導出手段と、
前記エッジ候補の各々に、導出された前記解析関数をそれぞれ適用してエッジを検出するエッジ検出手段と、
前記二次元画像データを微分処理することで微分画像を作成する微分画像生成手段と、を備え、
前記エッジ検出手段は、前記エッジ候補の各々について導出された解析関数を、前記微分画像にフィッティング処理し、そのフィッティングされた解析関数の頂点をエッジとして検出することを特徴とするエッジ検出装置。
【請求項１４】
前記撮像手段に用いられている撮影レンズについて、少なくともその撮影時における焦点距離情報及び／又はレンズＦ値情報を取得するレンズ情報取得手段を備え、
前記解析関数導出手段は、前記距離情報に加えて、前記撮影レンズの焦点距離情報及び／又はレンズＦ値情報を参照して解析関数を導出することを特徴とする請求項１３に記載のエッジ検出装置。
【請求項１５】
前記解析関数を、前記距離情報に応じたテーブル形式で保持する解析関数記憶手段を備え、
前記解析関数導出手段は、前記エッジ候補の距離情報と前記解析関数記憶手段のテーブルとを照合することで、前記エッジ候補の各々に適用する解析関数を導出することを特徴とする請求項１３に記載のエッジ検出装置。
【請求項１６】
前記解析関数を前記距離情報に応じて導出するための導出関数を保持する導出関数記憶手段を備え、
前記解析関数導出手段は、前記エッジ候補の距離情報を前記導出関数に与えることで、前記エッジ候補の各々に適用する解析関数を導出することを特徴とする請求項１３に記載のエッジ検出装置。
【請求項１７】
前記解析関数を、前記距離情報と、前記焦点距離情報及び／又はレンズＦ値情報とに応じたテーブル形式で保持する解析関数記憶手段を備え、
前記解析関数導出手段は、前記エッジ候補の距離情報、並びに取得された前記焦点距離情報及び／又はレンズＦ値情報と、前記解析関数記憶手段のテーブルとを照合することで、前記エッジ候補の各々に適用する解析関数を導出することを特徴とする請求項１４に記載のエッジ検出装置。
【請求項１８】
前記解析関数を前記距離情報と、前記焦点距離情報及び／又はレンズＦ値情報とに応じて導出するための導出関数を保持する導出関数記憶手段を備え、
前記解析関数導出手段は、前記エッジ候補の距離情報、並びに取得された前記焦点距離情報及び／又はレンズＦ値情報を前記導出関数に与えることで、前記エッジ候補の各々に適用する解析関数を導出することを特徴とする請求項１４に記載のエッジ検出装置。
【請求項１９】
二次元画像データについてのデータ処理が可能なコンピュータに、
所定の光学系を用いて撮影された対象物についての二次元画像データを読み出すステップと、
前記二次元画像データに基づき、前記撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において求めるステップと、
前記二次元画像に存在するエッジを定める候補となるエッジ候補を特定するステップと、
前記エッジ候補の各々に適用する解析関数を、前記距離情報に応じてそれぞれ導出するステップと、
前記エッジ候補の各々に、導出された前記解析関数をそれぞれ適用してエッジを検出するステップと、を含み、
前記エッジを検出するステップとして、
前記二次元画像データを微分処理することで微分画像を作成するステップと、
前記エッジ検出箇所の各々に適用する解析関数を前記微分画像にフィッティング処理するステップと、
フィッティングされた解析関数の頂点をエッジとして検出するステップと
を実行させることを特徴とするエッジ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物について取得された二次元画像データから、前記対象物に対応するエッジを検出するエッジ検出方法、装置、及びプログラムに関するものである。
【背景技術】
【０００２】
例えば面計測型の三次元デジタイザ等のような三次元計測装置では、対象物について二次元画像データを取得し、かかる二次元画像データに基づいて対象物の三次元データが算出されている。ある用途では、前記二次元画像データを画像処理し、その二次元画像に含まれる対象物の形状等に対応するエッジが検出される場合がある。ここで、前記対象物が立体物である場合、合焦位置からずれる部分がどうしても生じることから、当該二次元画像にはボケが含まれる。従って、高精度にエッジを検出できない場合がある。
【０００３】
従来、このような場合には、予め定められた１つの解析関数をエッジ検出箇所に適用してフィッティングし、そのフィッティング関数のピーク位置を求めることでエッジを検出する方法が取られている。また、特許文献１には、二次元画像データを微分して微分画像を生成し、その微分曲線が急峻な箇所については該微分曲線の近似曲線のピーク位置をエッジとして検出し、微分曲線が緩やかな箇所については該微分曲線の重心をエッジとして検出する手法が開示されている。
【特許文献１】特開平９−２５７４２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
画像のボケ具合は、合焦位置からの距離により変化する。すなわち、対象物の立体形状によっては、エッジ部分における画像のボケ具合がまちまちとなる。しかしながら従来法では、画像のボケ具合に拘わらず、一定の解析関数を適用してフィッティングが行われる。従って、フィッティング精度が悪くなり、結果としてエッジ検出精度が低くなるという問題があった。この問題は、近似曲線と重心とを使い分ける特許文献２の手法によっても十分に解決することはできない。すなわち、結局特許文献２の手法は画像ボケが生じているときには重心計算に依存するものであり、かかる重心計算では精度良くエッジを検出することができない。
【０００５】
本発明は、上記のような問題点に鑑みてなされたもので、エッジ検出箇所に画像ボケが生じている場合でも精度良くエッジを検出することができるエッジ検出方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係るエッジ検出方法は、所定の光学系を用いて対象物を撮影することで前記対象物についての二次元画像データを取得するステップと、前記撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において取得するステップと、前記距離情報に応じて、前記画像内に存在するエッジを検出するエッジ検出箇所の各々に適用する解析関数を決定するステップと、前記エッジ検出箇所の各々に、決定された前記解析関数をそれぞれ適用してエッジを検出するステップと、を含み、前記エッジを検出するステップが、前記二次元画像データを微分処理することで微分画像を作成するステップと、前記エッジ検出箇所の各々に適用する解析関数を前記微分画像にフィッティング処理するステップと、フィッティングされた解析関数の頂点をエッジとして検出するステップとを含むことを特徴とする。
【０００７】
この方法によれば、対象物の二次元画像に基づいて撮影の位置から前記対象物までの距離情報が取得され、この距離情報に応じてエッジ検出箇所の各々に適用される解析関数が決定されるので、それぞれのエッジ検出箇所の立体形状に応じた最適な解析関数が適用される。例えば、各エッジ検出箇所において合焦位置からのズレ度合いが考慮された解析関数でエッジ検出を行うことが可能となる。従って、エッジ検出精度を向上させることができる。
【０００８】
また、前記エッジを検出するステップが、前記二次元画像データを微分処理することで微分画像を作成するステップと、前記エッジ検出箇所の各々に適用する解析関数を前記微分画像にフィッティング処理するステップと、フィッティングされた解析関数の頂点をエッジとして検出するステップとを含むので、微分画像の変化量に基づきピーク値（エッジ）を容易に求めることができ、エッジ検出処理を簡素化することができる。
【０００９】
この場合、前記解析関数を、予め前記光学系の設計値に基づいて導出するステップを含むことが望ましい（請求項２）。対象物までの距離情報に応じた最適な解析関数は、光学系の設計値から導出することが可能である。この方法によれば、距離情報に応じた解析関数を設計値に基づき予め導出しておくステップが実行されるので、各エッジ検出箇所に適用する解析関数の決定を迅速且つ的確に行うことができる。
【００１０】
また、前記解析関数を、予め前記光学系を用いてサンプル撮影を行った実測結果から導出するステップを含むことが望ましい（請求項３）。この方法によれば、実測結果に基づいた解析関数を距離情報に応じて準備しておくことが可能となるので、各エッジ検出箇所に適用する解析関数の決定を迅速且つ的確に行うことができる。
【００１１】
上記いずれかの方法において、前記解析関数を、前記距離情報に応じてテーブル化するステップを含むことが望ましい（請求項４）。また、前記解析関数を、前記距離情報に応じて導出するための導出関数を求めるステップを含むことが望ましい（請求項５）。これらの方法によれば、距離情報に応じた解析関数のテーブルや、解析関数を距離情報に応じて導出する導出関数が準備されるので、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００１２】
また、前記解析関数を決定するに際し、前記距離情報に加えて、前記撮影レンズについての所定のレンズ情報が利用されるようにすることができる（請求項６）。この方法によれば、所定のレンズ情報を利用して解析関数が決定される。すなわち、二次元画像データを取得する際に用いられる光学系について、距離情報とレンズ情報とを参照することで、合焦位置からのズレ量と画像のボケ具合との関係を一層正確に把握できるようになる。従って、ボケ具合により二次元画像に表された対象物の形状を推定できようになり、エッジ検出箇所に適用する解析関数を対象物の形状にマッチさせて的確に決定できるようになる。
【００１３】
この場合、前記レンズ情報として、前記撮影レンズの焦点距離情報及び／又はレンズＦ値情報を用いることができる（請求項７）。この方法によれば、距離情報と焦点距離情報又は距離情報とレンズＦ値情報の組み合わせ、或いは距離情報、焦点距離情報及びレンズＦ値情報の３つの情報から合焦位置からのボケ具合に関する情報が把握される。焦点距離情報及びレンズＦ値情報は、合焦位置からのボケ具合に大きな影響を与えるパラメータであるため、これら情報を用いることでボケ具合を的確に把握できるようになる。
【００１４】
上記いずれかの方法において、前記距離情報及びレンズ情報に基づき、合焦位置からのズレに伴う画像のボケ具合に関する情報を、予め前記光学系の設計値に基づいて導出するステップを含むことが望ましい（請求項８）。或いは、合焦位置からのズレに伴う画像のボケ具合に関する情報を、予め前記光学系を用いてサンプル撮影を行った実測結果から、前記距離情報及びレンズ情報に関連付けて導出するステップを含むことが望ましい（請求項９）。これらの方法によれば、光学系の設計値や実測結果に基づき、合焦位置からのズレに伴う画像のボケ具合に関する情報が予め把握されるので、各エッジ検出箇所に適用する解析関数の決定を迅速且つ的確に行うことができる。
【００１５】
また、上記いずれかの方法において、前記解析関数を、前記距離情報と前記レンズ情報とに対応付けてテーブル化するステップを含むことが望ましい（請求項１０）。或いは、
前記解析関数を、前記距離情報及び前記レンズ情報に応じて導出するための導出関数を求めるステップを含むことが望ましい（請求項１１）。これらの方法によれば、距離情報と前記レンズ情報とに対応付けられた解析関数のテーブルや、解析関数を距離情報に応じて導出する導出関数が準備されるので、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００１６】
さらに、上記いずれかの方法において、前記解析関数として、少なくともガウス関数及び／又は二次関数を用いることが望ましい（請求項１２）。この方法によれば、例えばエッジ検出箇所のボケ具合が比較的大きい場合にはガウス関数を解析関数に用いてフィッティングを行い、ボケ具合が比較的小さい場合は二次関数を解析関数に用いてフィッティングを行うという使い分けを行うことができる。
【００１７】
本発明の請求項１３に係るエッジ検出装置は、対象物についての二次元画像データを取得する撮像手段と、前記撮像手段による撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において求める距離算出手段と、前記二次元画像に存在するエッジを定める候補となるエッジ候補を特定するエッジ候補特定手段と、前記エッジ候補の各々に適用する解析関数を、前記距離情報に応じてそれぞれ導出する解析関数導出手段と、前記エッジ候補の各々に、導出された前記解析関数をそれぞれ適用してエッジを検出するエッジ検出手段と、前記二次元画像データを微分処理することで微分画像を作成する微分画像生成手段と、を備え、前記エッジ検出手段は、前記エッジ候補の各々について導出された解析関数を、前記微分画像にフィッティング処理し、そのフィッティングされた解析関数の頂点をエッジとして検出することを特徴とする。
【００１８】
この装置によれば、撮像手段により対象物の二次元画像データが取得され、距離算出手段によりその二次元画像データに基づき画像の距離情報が取得される。そして、エッジ候補特定手段により特定されたエッジ候補の各々について、解析関数導出手段により前記距離情報に応じて適用される解析関数が決定される。従って、それぞれのエッジ候補の存在箇所に応じた最適な解析関数を適用することが可能となり、エッジ検出精度を向上させることができる。
【００１９】
また、前記二次元画像データを微分処理することで微分画像を作成する微分画像生成手段を備え、前記エッジ検出手段は、前記エッジ候補の各々について導出された解析関数を、前記微分画像にフィッティング処理し、そのフィッティングされた解析関数の頂点をエッジとして検出するので、微分画像の変化量に基づきピーク値（エッジ）を容易に求めることができ、エッジ検出手段における演算処理を簡素化できる。
【００２０】
上記の装置において、前記撮像手段に用いられている撮影レンズについて、少なくともその撮影時における焦点距離情報及び／又はレンズＦ値情報を取得するレンズ情報取得手段を備え、前記解析関数導出手段は、前記距離情報に加えて、前記撮影レンズの焦点距離情報及び／又はレンズＦ値情報を参照して解析関数を導出することが望ましい（請求項１４）。この構成によれば、距離情報に加えて、焦点距離情報及び／又はレンズＦ値情報を参照して解析関数が導出される。焦点距離情報及びレンズＦ値情報は、二次元画像データを撮像する撮像手段において、画像のボケ具合に大きな影響を与えるパラメータであるため、これら情報を用いることで合焦位置からの距離に応じたボケ具合が的確に把握できるようになる。従って、エッジ候補の存在箇所の形状にマッチさせて、一層的確に解析関数か導出できるようになる。
【００２１】
上記装置において、前記解析関数を、前記距離情報に応じたテーブル形式で保持する解析関数記憶手段を備え、前記解析関数導出手段は、前記エッジ候補の距離情報と前記解析関数記憶手段のテーブルとを照合することで、前記エッジ候補の各々に適用する解析関数を導出することが望ましい（請求項１５）。この構成によれば、解析関数記憶手段に距離情報に応じた解析関数のテーブルが保持されているので、解析関数導出手段は各エッジ候補の距離情報と前記テーブルとを照合させる処理を行うのみで解析関数を導出することができる。従って、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００２２】
また、上記装置において、前記解析関数を前記距離情報に応じて導出するための導出関数を保持する導出関数記憶手段を備え、前記解析関数導出手段は、前記エッジ候補の距離情報を前記導出関数に与えることで、前記エッジ候補の各々に適用する解析関数を導出することが望ましい（請求項１６）。この構成によれば、導出関数記憶手段に、解析関数を距離情報に応じて導出する導出関数が保持されているので、解析関数導出手段は各エッジ候補の距離情報を前記導出関数に当てはめるだけで解析関数を導出することができる。従って、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００２３】
さらに、前記解析関数を、前記距離情報と、前記焦点距離情報及び／又はレンズＦ値情報とに応じたテーブル形式で保持する解析関数記憶手段を備え、前記解析関数導出手段は、前記エッジ候補の距離情報、並びに取得された前記焦点距離情報及び／又はレンズＦ値情報と、前記解析関数記憶手段のテーブルとを照合することで、前記エッジ候補の各々に適用する解析関数を導出することが望ましい（請求項１７）。この構成によれば、解析関数記憶手段に距離情報と、焦点距離情報及び／又はレンズＦ値情報とに応じたに応じた解析関数のテーブルが保持されているので、解析関数導出手段は各エッジ候補の距離情報と前記テーブルとを照合させる処理を行うのみで、ボケ具合等が考慮された解析関数を導出することができる。従って、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００２４】
また、前記解析関数を前記距離情報と、前記焦点距離情報及び／又はレンズＦ値情報とに応じて導出するための導出関数を保持する導出関数記憶手段を備え、前記解析関数導出手段は、前記エッジ候補の距離情報、並びに取得された前記焦点距離情報及び／又はレンズＦ値情報を前記導出関数に与えることで、前記エッジ候補の各々に適用する解析関数を導出することが望ましい（請求項１８）。この構成によれば、導出関数記憶手段に、解析関数を距離情報と、焦点距離情報及び／又はレンズＦ値情報とに応じて導出する導出関数が保持されているので、解析関数導出手段は各エッジ候補の距離情報を前記導出関数に当てはめるだけで、ボケ具合等が考慮された解析関数を導出することができる。従って、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００２５】
本発明の請求項１９に係るエッジ検出プログラムは、二次元画像データについてのデータ処理が可能なコンピュータに、所定の光学系を用いて撮影された対象物についての二次元画像データを読み出すステップと、前記二次元画像データに基づき、前記撮影の位置から前記対象物までの距離情報を、前記二次元画像データに基づく画像内の各所において求めるステップと、前記二次元画像に存在するエッジを定める候補となるエッジ候補を特定するステップと、前記エッジ候補の各々に適用する解析関数を、前記距離情報に応じてそれぞれ導出するステップと、前記エッジ候補の各々に、導出された前記解析関数をそれぞれ適用してエッジを検出するステップと、を含み、前記エッジを検出するステップとして、前記二次元画像データを微分処理することで微分画像を作成するステップと、前記エッジ検出箇所の各々に適用する解析関数を前記微分画像にフィッティング処理するステップと、フィッティングされた解析関数の頂点をエッジとして検出するステップとを実行させることを特徴とする。
【００２６】
このプログラムによれば、直接撮像手段から、或いは撮像手段から転送を受ける等して所定の記憶手段に格納されている二次元画像データが読み出されると共に、その二次元画像データから距離情報が取得され、この距離情報に応じてエッジ検出箇所の各々に適用される解析関数を決定させる処理をコンピュータに行わせることができる。その結果、それぞれのエッジ検出箇所の立体形状に応じた最適な解析関数が適用される。例えば、各エッジ検出箇所において合焦位置からのズレ度合いが考慮された解析関数でエッジ検出を行うことが可能となる。従って、エッジ検出精度を向上させることができる。
【発明の効果】
【００２７】
本発明に係るエッジ検出方法、装置、及びプログラムによれば、エッジ検出箇所に異なるボケ具合の画像ボケが生じている場合でも、各々のエッジ検出箇所に適した解析関数を適用して、精度良くエッジを検出することができる。従って、従来法のように一定の解析関数を適用する場合に比べて対象物のエッジを的確に把握することができ、例えば二次元画像データに基づき各種の計測等を行う場合などにおいて、正確な測定データ、解析データを取得することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面に基づいて本発明の実施形態につき説明する。
図１は、本発明に係るエッジ検出装置Ｓのハード構成の一実施形態を簡略的に示す構成図、図２は、エッジ検出装置Ｓの電気的構成を示すブロック図である。このエッジ検出装置Ｓは、対象物１０（ここでは自動車のドア部分を例示している）について取得された二次元画像データから、当該対象物１０についての三次元形状を求める非接触型の三次元形状測定装置であると共に、対象物１０に対応するエッジを検出することが可能な装置である。エッジ検出装置Ｓは、対象物１０の二次元画像データを取得する撮像装置２０（撮像手段）と、前記二次元画像データについて所定の解析演算処理を行うパーソナルコンピュータ３０とを含んで構成されている。
【００２９】
撮像装置２０は、光切断法と呼ばれる方式を用いて対象物１０の二次元画像データを取得する。図２に示すように、この撮像装置２０は、投光部２１、受光部２２、光学系駆動部２３、ＣＣＤ（Charge Coupled Device）エリアセンサ等からなる撮像素子２４、タイミングジェネレータ（ＴＧ）２５、出力処理回路２６、レンズ情報出力部２７、データメモリ２８、測定制御部２９及びＩ／Ｆ２０１を含んで構成されている。また、図１に示すように、撮像装置２０は略直方体のハウジング形状を有し、投光部２１のための投光窓と、受光部２２のための受光窓とが設けられてなる。投光部２１は、受光部２２の上側の、基線長に応じた所定距離だけ離れた位置に設けられている。
【００３０】
投光部２１は、光源となるレーザダイオード、投光光学系、回転ミラー等を含んで構成され、水平方向に拡がるレーザビームであるスリット光を射出する。このスリット光は、水平方向に所定の放射角度で拡がり（扇形）、垂直方向に幅を有する平面状の光である。投光部２１は、測定制御部２９の制御下において前記スリット光を、対象物１０に対して走査照射する。
【００３１】
受光部２２は、受光光学系を構成する複数枚の撮影レンズ、絞り、フォーカスシングやズーミングのためのレンズ移動機構等を含んで構成され、前記スリット光が対象物１０の表面で反射された反射光の一部が入射される。因みにパーソナルコンピュータ３０は、レーザ光の投光角、反射光の受光角、及び投光点と受光点との間の基線長に基づき、三角測量の原理で反射点までの距離を求める。かかる距離情報に基づき、対象物１０の三次元データが取得される。
【００３２】
光学系駆動部２３は、ステッピングモータ等からなり、測定制御部２９の制御下において受光部２２の撮影レンズをフォーカスシングやズーミングのために駆動する駆動力を発生する。
【００３３】
撮像素子２４は、受光部２２により結像される対象物１０の光像を光電変換することで、対象物１０についての二次元画像データを生成する。この撮像素子２４としては、例えばフォトダイオード等で構成される複数の光電変換素子がマトリックス状に２次元配列され、各光電変換素子の受光面に、それぞれ分光特性の異なる例えばＲ（赤），Ｇ（緑），Ｂ（青）のカラーフィルタが１：２：１の比率で配設されてなるベイヤー配列のＣＣＤカラーエリアセンサを用いることができる。
【００３４】
タイミングジェネレータ２５は、撮像素子２４による撮影動作（露光に基づく電荷蓄積や蓄積電荷の読出し等）を制御するタイミングパルスを発生するものである。例えばタイミングジェネレータ２５は、測定制御部２９から与えられる撮影制御信号に基づいて垂直転送パルス、水平転送パルス、電荷掃き出しパルス等を生成して撮像素子２４に与える。
【００３５】
出力処理回路２６は、撮像素子２４から出力される画像信号（ＣＣＤエリアセンサの各画素で受光されたアナログ信号群）に所定の信号処理を施した後、デジタル信号に変換して出力する。この出力処理回路２６には、アナログ画像信号に含まれるリセット雑音を低減するＣＤＳ回路（相関二重サンプリング回路）、アナログ画像信号のレベルを補正するＡＧＣ回路、アナログ画像信号を例えば１４ビットのデジタル画像信号（画像データ）に変換するＡ／Ｄ変換回路等が備えられている。
【００３６】
レンズ情報出力部２７（レンズ情報取得手段）は、受光部２２に用いられている撮影レンズについて、少なくともその撮影時における焦点距離情報及びレンズＦ値情報を取得して出力する。焦点距離情報及びレンズＦ値情報は、撮像された二次元画像において、合焦位置からのズレに伴う画像のボケ具合に大きな影響を与えるパラメータである。これら情報を用いることで合焦位置からの距離に応じたボケ具合が的確に把握できるようになり、エッジ候補の存在箇所の形状にマッチさせて、一層的確に解析関数が導出できるようになる。
【００３７】
データメモリ２８は、ＲＡＭ（Random Access Memory）等からなり、各種のデータを一時的に格納する。例えばデータメモリ２８は、出力処理回路２６から出力される対象物１０についての二次元画像データ、レンズ情報出力部２７から出力される焦点距離情報及びレンズＦ値情報を一時的に格納する。
【００３８】
測定制御部２９は、ＣＰＵ（Central Processing Unit）等からなり、撮像装置２０の各部の動作を制御する。具体的には測定制御部２９は、投光部２１によるスリット光の走査照射動作、光学系駆動部２３による撮影レンズの駆動動作、タイミングジェネレータ２５によるタイミングパルスの発生動作、出力処理回路２６による信号処理動作、及びデータメモリ２８に対するデータ記録動作などを制御する。
【００３９】
Ｉ／Ｆ２０１は、パーソナルコンピュータ３０とのデータ通信を可能とするためのインターフェイスである。データメモリ２８に一時的に格納された対象物１０についての二次元画像データ等は、Ｉ／Ｆ２０１を介してパーソナルコンピュータ３０へ送信される。
【００４０】
パーソナルコンピュータ３０は、対象物１０についての二次元画像データを読み出し、対象物１０についての距離情報を求める処理、前記二次元画像に存在するエッジを定める候補となるエッジ候補を特定する処理、前記エッジ候補の各々に適用する解析関数を前記距離情報に応じてそれぞれ導出する処理、及び前記エッジ候補の各々に、導出された前記解析関数をそれぞれ適用してエッジを検出する処理等を行う。図２に示すように、パーソナルコンピュータ３０には、撮像装置２０とのデータ通信を可能とするインターフェイスであるＩ／Ｆ３０１、キーボードやマウス等からなる操作部３１、液晶ディスプレイ等か
らなる表示部３２、種々の制御プログラム等を記憶するＲＯＭ（Read Only Memory）３３、各種データを一時的に格納すると共に予め設定された設定データ等を記憶するＲＡＭ３４、各種の演算動作を行うＣＰＵ３５が備えられている。
【００４１】
図３は、ＲＡＭ３４及びＣＰＵ３５の機能構成を示す機能ブロック図である。ＣＰＵ３５は、ＲＯＭ３３に格納された制御プログラムを実行することにより、データバッファ３５１、三次元データ算出部３５２（距離算出手段）、フィルタ処理部３５３、エッジ候補画素検出部３５４（エッジ候補特定手段）、解析関数導出部３５５（解析関数導出手段）、微分処理部３５６（微分画像生成手段）、フィッティング処理部３５７、エッジ値検出部３５８（エッジ検出手段）及び処理制御部３５９を具備するように機能する。また、ＲＡＭ３４には、解析関数記憶部３４１及び導出関数記憶部３４２が備えられている。
【００４２】
データバッファ３５１は、Ｉ／Ｆ３０１を介して撮像装置２０から読み出された前記二次元画像データやレンズ情報を一時的に格納する。
【００４３】
三次元データ算出部３５２は、前記二次元画像データを読み出し、撮像装置２０の投光部２１から発せられるレーザ光の投光角、受光部２２で受光される反射光の受光角、及び投光点と受光点との間の基線長に基づき、三角測量の原理で対象物１０上の反射点までの距離を求める。なお、前記投光角は、投光部２１の回転ミラーの回転角から求められる。前記受光角は、撮像素子２４の受光面で検出される反射光の像位置から算出される。すなわち、三次元データ算出部３５２は、撮像素子２４の画素又は所定の画素群単位（画像内の各所）で、対象物１０までの距離情報を取得する。この距離情報が取得されることで、各画素の合焦位置からのズレ量を求めることができる。さらに、かかる距離情報に基づき、対象物１０の三次元データ（例えばポリゴンメッシュデータ）を求める。
【００４４】
フィルタ処理部３５３は、二次元画像データに諧調変換処理及びノイズ除去処理等の前処理を施した後、当該二次元画像データに対してエッジを抽出するためのフィルタ処理を行う。前記エッジとは、画像の中で急激に明るさが変化している部分であって、対象物１０の輪郭や凹凸形状の境界がこれに相当する。なお、対象物１０の表面に描かれている平面的な文字、模様等の輪郭もエッジとなるが、このような平面的エッジには解析関数を適用したフィッティングは不要であるため、本実施形態では説明を省く。エッジ抽出のためのフィルタとしては、例えば微分フィルタ、ソーベルフィルタ、勾配フィルタ、ラプシアンフィルタ等を用いることができる。
【００４５】
エッジ候補画素検出部３５４は、フィルタ処理部３５３により実行されたフィルタ処理のフィルタ値が所定の閾値を超える画素のアドレス情報を検出する。このような画素の存在点は、二次元画像に存在するエッジを定める候補点（エッジ候補）となる。
【００４６】
解析関数導出部３５５は、前記エッジ候補の画素の各々に適用する解析関数を、三次元データ算出部３５２で求められた前記距離情報に応じてそれぞれ導出する。対象物１０が立体物である場合、例えばその輪郭において合焦位置からずれる部分が生じることに起因して画像がボケる。画像ボケが生じている部分については、後述のフィッティング処理部３５７において解析関数を適用してフィッティングを行いエッジが検出される。解析関数導出部３５５は、画像のボケ具合に応じて、各々のエッジ候補に適用するべき前記解析関数を導出する。
【００４７】
画像のボケ具合は、合焦位置からの距離により変化する。従って、エッジ候補として特定された画素について得られている距離情報を用いて合焦位置からどの程度離れているかを求めることで、画像のボケ具合を把握することができる。また、画像ボケの変化度合いは、撮影時における撮影レンズ（受光部２２の光学系）の焦点距離、レンズＦ値により異なる。従って、解析関数導出部３５５は、エッジ候補画素の距離情報と、撮影レンズの焦点距離情報及び／又はレンズＦ値情報とを参照して、各々のエッジ候補に適した解析関数を導出する。これにより、エッジ候補の存在箇所の形状にマッチさせて、的確に解析関数か導出できるようになる。この解析関数の導出にあたり、解析関数導出部３５５は、後述するＲＡＭ３４の解析関数記憶部３４１又は導出関数記憶部３４２を参照する。
【００４８】
微分処理部３５６は、データバッファ３５１から二次元画像データを読み出し、当該二次元画像データを微分処理して微分画像を作成する。この微分画像は、二次元画像に含まれるエッジに起因する輝度変化のピークを求めるためのものである。
【００４９】
フィッティング処理部３５７は、エッジ候補の各々について、解析関数導出部３５５で導出された解析関数を前記微分画像にフィッティングする処理を行う。例えば、あるエッジ候補について解析関数導出部３５５で「二次関数」が導出された場合、そのエッジ候補についての画素出力の微分値に、最小自乗法のような近似手法を用いて前記二次関数をフィッティングし、そのフィッティング関数のパラメータを求める。
【００５０】
エッジ値検出部３５８は、フィッティング処理部３５７で求められたフィッティング関数の頂点を求め、これをエッジ値として出力する。すなわち、フィッティング関数の頂点は画素出力の変化ピークであり、このような画素位置を画像上のエッジと扱うことができるからである。
【００５１】
処理制御部３５９は、ユーザから操作部３１を介して与えられる操作信号を受けて、上記の動作を行う三次元データ算出部３５２、フィルタ処理部３５３、エッジ候補画素検出部３５４、解析関数導出部３５５、微分処理部３５６、フィッティング処理部３５７及びエッジ値検出部３５８を適時に動作させる全体制御を行う。
【００５２】
ＲＡＭ３４の解析関数記憶部３４１には、フィッティング処理部３５７において使用される解析関数が、対象物１０に対する距離情報（合焦位置からの距離情報）と、レンズ情報（撮影レンズの焦点距離情報及びレンズＦ値情報）とに応じてテーブル化されて記憶されている。解析関数導出部３５５は、三次元データ算出部３５２の算出データに基づく合焦位置からの距離情報と、レンズ情報出力部２７（図２）から出力される撮影レンズの焦点距離情報及びレンズＦ値情報とを参照情報として前記テーブルと照合し、これら参照情報に合致する解析関数をテーブルから導き出す。なお、前記テーブルは、前記距離情報のみを変数とするテーブル、距離情報と焦点距離情報とを変数とするテーブル、或いは距離情報とレンズＦ値情報とを変数とするテーブルであっても良い。
【００５３】
導出関数記憶部３４２には、フィッティング処理部３５７において使用される解析関数を、合焦位置からの距離情報（ｄ）と、レンズ情報（撮影レンズの焦点距離情報（ｆ）及びレンズＦ値情報（ＦＮｏ））に応じて導出する導出関数Ｆ（ｄ，ｆ，ＦＮｏ）が記憶されている。解析関数導出部３５５は、三次元データ算出部３５２が算出データに基づく距離情報（ｄ）と、レンズ情報出力部２７から出力される撮影レンズの焦点距離情報（ｆ）及びレンズＦ値情報（ＦＮｏ）とを導出関数Ｆ（ｄ，ｆ，ＦＮｏ）に当てはめることで、解析関数を導出する。なお、導出関数Ｆは、前記距離情報のみを変数とする導出関数Ｆ（ｄ）、距離情報と焦点距離情報とを変数とする導出関数Ｆ（ｄ，ｆ）、或いは距離情報とレンズＦ値情報とを変数とする導出関数Ｆ（ｄ，ＦＮｏ）であっても良い。
【００５４】
解析関数記憶部３４１及び導出関数記憶部３４２は、双方備えられていても良いが、いずれか一方のみが備えられている態様でも良い。これら解析関数記憶部３４１及び／又は導出関数記憶部３４２を準備しておくことで、解析関数導出部３５５は距離情報とレンズ情報とに応じて導出関数を容易に導出できるので、エッジ検出箇所に適用する解析関数の決定処理を容易化することができる。
【００５５】
続いて、以上の通り構成されたエッジ検出装置Ｓを用いたエッジ検出方法の具体例について説明する。図４は、エッジ検出工程フローを示す工程フローチャートである。エッジ検出を実際に行うに先立ち、予め受光部２２の光学系の特性に応じて解析関数を導出するステップが行われる。ここでは解析関数導出例として、受光部２２の光学系の設計値から解析関数を導出する方法（ステップ＃１）と、予め前記光学系を用いてサンプル撮影を行った実測結果から導出する方法（ステップ＃２）とを例示している。このステップ＃１及びステップ＃２は、いずれか一方を実施すれば足りる。
【００５６】
上記ステップ＃１は、例えば光学系の設計値を適宜な光学シミュレータ等にパラメータ入力することで実行することができる。すなわち、合焦位置から距離がずれた場合の二次元画像の形状（ボケ具合）は、撮影レンズのレンズ設計値等から計算で求めることができる。従って、シミュレーション結果に基づいて、距離情報に応じた解析関数を導出できる。これに焦点距離情報及びレンズＦ値情報を組み合わせれば、各々の条件で適した解析関数を求めることができる。この方法によれば、光学系の設計値に基づき、迅速に解析関数を導出することができる。
【００５７】
また、上記ステップ＃２は、図５に示すような校正用チャートＣＨを撮像装置２０で実際に撮像することで実行することができる。この校正用チャートＣＨは、円形の銀色マークＣＨ１が、黒色地面ＣＨ２に印刷されてなる平面チャートである。このような校正用チャートＣＨを撮像装置２０に正対配置し、両者間の距離を徐々に変更しつつ（合焦位置から徐々にずらしつつ）複数回の撮影を行う。この撮影結果から、各々の距離毎に銀色マークＣＨ１のピーク形状（ボケ具合）を解析し、各々の距離に応じた解析関数を導出する。なお、撮影レンズの焦点距離情報及び／又はレンズＦ値情報を付加する場合は、かかる操作を、焦点距離及び／又はＦ値を変えて撮影を行い、同様に銀色マークＣＨ１のピーク形状を解析して各々の条件における解析関数を導出する。この方法によれば、実測結果に基づいて的確な解析関数を導出することができる。
【００５８】
上記解析関数としては、各種のフィッティング用の関数を用いることができるが、例えば図６（ａ）に示すような二次関数、図６（ｂ）に示すようなガウス関数を好適に用いることができる。すなわち、比較的鋭いピーク形状に対応する二次関数と、比較的緩やかなピーク形状に対応するガウス関数とを用いることができる。この場合、例えばエッジ検出箇所のボケ具合が比較的大きい場合にはガウス関数を用いてフィッティングを行い、ボケ具合が比較的小さい場合は二次関数を用いてフィッティングを行うという使い分けを行うことができる。
【００５９】
このようにして解析関数が導出されたならば、これを距離情報（＋焦点距離情報及び／又はレンズＦ値情報）に応じてテーブル化するステップ（ステップ＃３）、若しくは、解析関数を距離情報（＋焦点距離情報及び／又はレンズＦ値情報）に応じて導出する導出関数化するステップ（ステップ＃４）が実行される。
【００６０】
図７〜図９は、ステップ＃３において作成されるテーブルの一例を示す表形式の図である。図７は、対象物１０に対する距離情報に応じて、解析関数が割り当てられているテーブルの例を示している。なお、合焦位置からの距離は、合焦距離と、三次元データ算出部３５２により求められる対象物１０までの距離情報との差から求められる。図８は、対象物１０に対する距離情報と、焦点距離（テレ、ミドル、ワイド）とに応じて、解析関数が各々割り当てられているテーブルの例を示している。さらに、図９は、対象物１０に対する距離情報と、焦点距離、Ｆ値とに応じて、解析関数が各々割り当てられているテーブルの例を示している。このようなテーブルが、予めＲＡＭ３４の解析関数記憶部３４１にメモリされる（ステップ＃５）。
【００６１】
ステップ＃４を実行する場合は、導出された解析関数を、合焦位置からの距離情報（ｄ）に応じて導出する導出関数Ｆ（ｄ）、距離情報（ｄ）と焦点距離情報（ｆ）とに応じて導出する導出関数Ｆ（ｄ，ｆ）、距離情報（ｄ）とレンズＦ値情報（ＦＮｏ）とに応じて導出する導出関数Ｆ（ｄ，ＦＮｏ）、或いはこれらの全てに応じて導出する導出関数Ｆ（ｄ，ｆ，ＦＮｏ）が求められる。これらの導出関数は、予めＲＡＭ３４の導出関数記憶部３４２にメモリされる（ステップ＃５）。以上が、実際のエッジ検出に先立って実行される準備ステップである。
【００６２】
次に、撮像装置２０により対象物１０の撮影が行われ、対象物１０の二次元画像データが取得される（ステップ＃６）。ここでの撮影は、上述したように例えばスリット光の投受光を伴う光切断法による撮影であり、取得される二次元画像データは対象物１０についての三次元データを算出可能なデータである。続いて、パーソナルコンピュータ３０により、三角測量の原理を用いて、撮像素子２４の画素（画素群）単位で対象物１０までの距離情報が求められる（ステップ＃７）。これにより、合焦位置からの距離も画素単位で判明することとなる。しかる後、後記で詳述するエッジ検出処理が実行され（ステップ＃８）、エッジデータが取得される。
【００６３】
図１０は、上記ステップ＃６で取得される対象物１０の二次元画像データ４０の一例を示す平面図である。ここでは、対象物１０として自動車のドア部分を例示しており、この場合では略長方形の輪郭形状がエッジとなる。撮像装置２０は、このような対象物１０を撮像する場合、例えば対象物１０の中央部分の位置でＡＦ制御を行い合焦距離を定めて撮像を行う。
【００６４】
このようにして取得された二次元画像データ４０において、符号１１を付した四角で囲んだ第１エッジ部分１１と、符号１２を付した四角で囲んだ第２エッジ部分１２とに着目する。第１エッジ部分１１がＡＦポイントとして選定されたドア中央部分と略同じ高さ位置にある一方で、第２エッジ部分１２が後方に向けて湾曲しているような形状を当該対象物１０が備えている場合、第２エッジ部分１２は合焦位置からのズレ度合いが大きくなることから、画像のボケ具合が比較的大きくなる。このボケ具合は、合焦位置からの距離に依存することは勿論、受光光学系の焦点距離やレンズＦ値にも依存性がある。
【００６５】
図１１（ａ）は、第１エッジ部分１１周辺の画素出力の微分値を示すグラフであり、図１１（ｂ）は、第２エッジ部分１２周辺の画素出力の微分値を示すグラフである。第１エッジ部分１１は、合焦位置からの距離が短いことから、ピーク曲線Ｐ１は鋭利であり、比較的画像のボケが少ないことを示している。一方、第２エッジ部分１２は、合焦位置からの距離が長いことから、ピーク曲線Ｐ２は緩やかなカーブであり、比較的画像のボケが大きいことを示している。
【００６６】
このようにボケ具合が異なる第１エッジ部分１１及び第２エッジ部分１２のピーク曲線Ｐ１、Ｐ２に、同一の解析関数を適用してピーク値（エッジ値）を求めるようにした場合、フィッティングの精度が悪くなることに起因して、エッジ検出精度が低下する。そこで本実施形態では、エッジを検出する部分における画像のボケ具合に応じてフィッティングに用いる解析関数を変更するようにしている。例えば、図１１（ａ）に示すように比較的鋭利なピーク曲線Ｐ１が検出されるようなエッジ検出箇所については図６（ａ）に示したような二次関数を適用し、図１１（ｂ）に示すように比較的緩やかなカーブのピーク曲線Ｐ２が検出されるようなエッジ検出箇所については図６（ｂ）に示したようなガウス関数を適用する。これにより、合焦位置からの距離の相違によるエッジ検出精度の低下の問題が解消される。
【００６７】
続いて、上記ステップ＃８のエッジ検出処理工程で、パーソナルコンピュータ３０において実行されるエッジ検出処理について説明する。図１２は、パーソナルコンピュータ３０におけるエッジ検出処理フローを示すフローチャートである。
【００６８】
処理が開始されると、処理制御部３５９の制御下でデータバッファ３５１（図３参照）から二次元画像データが読み出され、フィルタ処理部３５３及びエッジ候補画素検出部３５４により、当該二次元画像に存在するエッジを定める候補となるエッジ候補画素を検出する処理が実行される（ステップＳ１１）。処理の詳細は図１５に基づき説明するが、要するに画素出力の変化量が大きい部分（画像の中で急激に明るさが変化している部分）に対応する画素をエッジ候補画素として抽出する処理を行う。
【００６９】
図１３は、エッジ候補画素の特定からエッジ検出までの処理を説明するための模式図である。二次元画像データ４０は、マトリクス配列された画素４１から構成される。図１３において、各画素４１の濃淡は、画素出力の大小を表している。この場合、例えば左右方向において画素出力が変化している部分が、エッジ候補画素４１Ｅとして抽出される。そして、例えばエッジ候補画素４１Ｅの画素出力の変化度合いを解析関数でフィッティングし、その変化ピーク（頂点）がエッジ値５１として検出される。このようなエッジ値５１を結ぶ線分がエッジ５２となる。ステップＳ１１のエッジ候補画素検出処理は、以上のような一連のエッジ検出処理の端緒となる処理であり、取得された二次元画像の全体に亘ってエッジ候補画素が検出される。
【００７０】
次に、解析関数導出部３５５により、検出されたエッジ候補画素の各々について、どの解析関数を適用してフィッティングを行うかの選択処理がなされる（ステップＳ１２）。詳細な処理内容は図１６に基づき説明するが、各々のエッジ候補画素について、その合焦位置からの距離等に応じた解析関数を割り当てる処理が実行される。
【００７１】
その後、フィッティング処理部３５７により、各々選択された解析関数を用いて、それぞれのエッジ候補画素について最小自乗法などの近似処理を行う解析関数のフィッティング処理が行われる（ステップＳ１３）。図１４は、このようなフィッティング処理の一例を示す説明図である。先ず、図１４（ａ）に示すように、微分処理部３５６により二次元画像データを微分処理して得られた微分画像に基づき、エッジ候補画素の微分値を求める。そして、選択された解析関数が前記微分値にフィットするよう近似計算を行うことで、フィッティング関数ｆが求められるものである。
【００７２】
しかる後、エッジ値検出部３５８により、前記フィッティング関数ｆの頂点を求める演算が行われる（ステップＳ１４）。この頂点が、１つのエッジ候補画素におけるエッジ値５１として扱われる。そして、処理制御部３５９によりステップＳ１１で検出された全てのエッジ候補画素についてエッジ検出処理が実行されたか否かが確認され（ステップＳ１５）、未完了である場合は（ステップＳ１５でＮＯ）、ステップＳ１３に戻って処理が繰り返される。一方、全てのエッジ候補画素についてのエッジ検出処理が完了したら（ステップＳ１５でＹＥＳ）、処理制御部３５９は処理を終了させる。
【００７３】
図１５は、図１２に示したステップＳ１１のエッジ候補画素検出処理の詳細を示すフローチャートである。先ず、フィルタ処理部３５３によりデータバッファ３５１から二次元画像データが読み出され、当該二次元画像に含まれるエッジの候補を抽出するためのフィルタ処理が実行される（ステップＳ２１）。
【００７４】
次いで、エッジ候補画素検出部３５４により、フィルタ処理後の画像データに基づきエッジ候補画素が検出される（ステップＳ２２）。具体的には、フィルタ処理後のフィルタ値が所定の閾値を超える画素のアドレス情報がエッジ候補画素として検出される。エッジ候補画素は、図１３に示したように、エッジの近辺に存在する画素４１の群（エッジ候補画素４１Ｅ）として検出される。そして、全ての画素についてエッジ候補画素検出処理が行われたか否かが確認され（ステップＳ２３）、未完了である場合は（ステップＳ２３でＮＯ）、ステップＳ２２に戻って処理が繰り返される。一方、全ての画素についての計算が完了したら（ステップＳ２３でＹＥＳ）、次の解析関数選択処理（ステップＳ１２）へ移行する。このとき、検出された各エッジ候補画素にナンバリング（Ｅ１、Ｅ２、・・・Ｅｎ）が為される。
【００７５】
図１６は、図１２に示したステップＳ１２の解析関数選択処理の詳細を示すフローチャートである。このステップでは、先ず解析関数導出部３５５により、エッジの候補として検出された複数のエッジ候補画素Ｅ１〜Ｅｎの距離情報が、三次元データ算出部３５２から取得される（ステップＳ３１）。また、データバッファ３５１から、受光部２２の光学系のレンズ情報（焦点距離情報、レンズＦ値情報）が取得される（ステップＳ３２）。さらに、微分処理部３５６において作成された微分画像（画素出力の微分値データ）が取得される（ステップＳ３３）。
【００７６】
続いて、カウンタをエッジ候補Ｅ＝Ｅ１とする処理を行い（ステップＳ３４）、複数個検出されたエッジ候補画素Ｅ１〜Ｅｎの中の１つ（処理順位が第１番目のエッジ候補画素Ｅ１）が処理対象とされる。そして、このエッジ候補Ｅを構成する画素について、ステップＳ３１で取得された距離情報に基づき、合焦位置からの距離値が求められる（ステップＳ３５）。解析関数導出部３５５は、この距離値と、焦点距離情報及び／又はレンズＦ値情報とを参照情報として、ＲＡＭ３４の解析関数記憶部３４１又は導出関数記憶部３４２に照合処理を行う（ステップＳ３６）。例えば、図９に示したようなテーブルと照合する処理が行われる。そして、その距離値、焦点距離及びレンズＦ値に該当する解析関数が選択され、当該エッジ候補画素Ｅ１に対して適用する解析関数が決定される（ステップＳ３７）。
【００７７】
その後、解析関数導出部３５５は、全てのエッジ候補画素について解析関数の選択が完了したか否か、つまりＥ＝Ｅｎ（処理順位が最終であるエッジ候補画素Ｅｎ）であるかを確認する（ステップＳ３８）。未完了である場合は（ステップＳ３８でＮＯ）、カウンタをＥ＝Ｅ＋１としてインクリメントし（ステップＳ３９）、処理順位が次順位のエッジ候補画素（処理順位が第２番目のエッジ候補画素Ｅ２）を処理対象として、ステップＳ３５以下の処理を繰り返す。一方、全てのエッジ候補画素についての処理が完了したら（ステップＳ３８でＹＥＳ）、次の解析関数のフィッティング処理（ステップＳ１３）へ移行するものである。
【００７８】
以上、本発明に係るエッジ検出装置Ｓの実施形態につき説明したが、本発明はこれに限定されるものではなく、例えば下記［１］〜［４］のような変形実施形態を取ることができる。
【００７９】
［１］上記実施形態では、撮像装置２０がスリット光を走査照射して対象物の二次元画像データ（三次元データ）を取得する例を示した。これに代えて、例えばハロゲンランプ等の光源の前方にスリットマスク等を配置し、対象物に対してパターン光を投影するパターン光投影法を採用しても良い。
【００８０】
［２］上記実施形態では、受光部２２の光学系のレンズ情報として、焦点距離及びレンズＦ値を参照する例を示したが、この他に、例えば射出瞳位置、絞り値、周辺光量状態なども参照するようにしても良い。
【００８１】
［３］上記実施形態では、各々のエッジ候補に適用する解析関数を二次関数又はガウス関数のいずれかに決定した上で、フィッティング処理を行う例を示した。これに代えて、二次関数及びガウス関数の双方を用いて１つのエッジ候補についてフィッティング処理を行い、双方の近似レベルを評価し、近似レベルが高い方のフィッティング結果を選ぶようにしても良い。
【００８２】
［４］上記実施形態では、エッジ検出装置Ｓを撮像装置２０とパーソナルコンピュータ３０とで構成する例を示したが、撮像装置２０に三次元データ算出機能、エッジ検出機能等を具備させ、撮像装置２０単体でエッジ検出装置Ｓを構成するようにしても良い。さらに、上述のエッジ検出装置Ｓが行うエッジ検出方法を実行するプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。若しくは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【図面の簡単な説明】
【００８３】
【図１】本発明に係るエッジ検出装置Ｓのハード構成の一実施形態を簡略的に示す構成図である。
【図２】エッジ検出装置Ｓの電気的構成を示すブロック図である。
【図３】パーソナルコンピュータ３０の機能構成を示す機能ブロック図である。
【図４】エッジ検出工程フローを示す工程フローチャートである。
【図５】校正用チャートの一例を示す平面図である。
【図６】解析関数の一例を示す説明図であって、（ａ）は二次関数を、（ｂ）はガウス関数をそれぞれ示している。
【図７】解析関数を導出するテーブルの一例を示す表形式の図である。
【図８】解析関数を導出するテーブルの一例を示す表形式の図である。
【図９】解析関数を導出するテーブルの一例を示す表形式の図である。
【図１０】対象物の二次元画像データの一例を示す平面図である。
【図１１】（ａ）、（ｂ）は、エッジ周辺の画素出力の微分値を示すグラフである。
【図１２】パーソナルコンピュータ３０におけるエッジ検出処理フローを示すフローチャートである。
【図１３】エッジ候補画素の特定からエッジ検出までの処理を説明するための模式図である。
【図１４】（ａ）、（ｂ）は、フィッティング処理の一例を示す説明図である。
【図１５】図１２に示したステップＳ１１のエッジ候補画素検出処理の詳細を示すフローチャートである。
【図１６】図１２に示したステップＳ１２の解析関数選択処理の詳細を示すフローチャートである。
【符号の説明】
【００８４】
１０  対象物
２０  撮像装置（撮像手段）
２１  投光部
２２  受光部
２３  光学系駆動部
２４  撮像素子
２５  タイミングジェネレータ
２６  出力処理回路
２７  レンズ情報出力部（レンズ情報取得手段）
２８  データメモリ
２９  測定制御部
３０  パーソナルコンピュータ
３４  ＲＡＭ
３４１  解析関数記憶部（解析関数記憶手段）
３４２  導出関数記憶部（導出関数記憶手段）
３５  ＣＰＵ
３５１  データバッファ
３５２  三次元データ算出部（距離算出手段）
３５３  フィルタ処理部
３５４  エッジ候補画素検出部（エッジ候補特定手段）
３５５  解析関数導出部（解析関数導出手段）
３５６  微分処理部（微分画像生成手段）
３５７  フィッティング処理部
３５８  エッジ値検出部（エッジ検出手段）
３５９  処理制御部
Ｓ  エッジ検出装置
【図１】
0004743773.tif 000002
【図２】
0004743773.tif 000003
【図３】
0004743773.tif 000004
【図４】
0004743773.tif 000005
【図５】
0004743773.tif 000006
【図６】
0004743773.tif 000007
【図７】
0004743773.tif 000008
【図８】
0004743773.tif 000009
【図９】
0004743773.tif 000010
【図１０】
0004743773.tif 000011
【図１１】
0004743773.tif 000012
【図１２】
0004743773.tif 000013
【図１３】
0004743773.tif 000014
【図１４】
0004743773.tif 000015
【図１５】
0004743773.tif 000016
【図１６】
0004743773.tif 000017