(57)【要約】【課題】被測定物の形状を測定する場合に、被測定物を撮像して得られた撮像画像内から端部を測定する際の測定不良を抑制する。【解決手段】画像処理装置は、被測定物を撮像して得られる撮像画像内において、被測定物の端部を指定する端部指定部と、端部指定部により指定される端部を含む撮像画像内の一部の領域を端部検出領域として設定する端部検出領域設定部と、端部検出領域内の所定方向での画素値の分布を取得する分布取得部と、分布取得部で取得される分布の形状を用いて、端部検出領域内に含まれる複数の端部のうち端部指定部により指定される端部に対する検出方向を設定する方向設定部と、を備える。【選択図】図1
2016070683.tif 000002
【特許請求の範囲】
【請求項１】
被測定物を撮像して得られる撮像画像内において、前記被測定物の端部を指定する端部指定部と、
前記端部指定部により指定される端部を含む前記撮像画像内の一部の領域を端部検出領域として設定する端部検出領域設定部と、
前記端部検出領域内の所定方向での画素値の分布を取得する分布取得部と、
前記分布取得部で取得される分布の形状を用いて、前記端部検出領域内に含まれる複数の端部のうち前記端部指定部により指定される端部に対する検出方向を設定する方向設定部と、
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記分布取得部で取得される前記端部検出領域内の所定方向での画素値の分布は、前記端部検出領域の所定方向での輝度の分布である、画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記分布取得部は、前記端部検出領域内の画素値を所定方向に微分した微分値の分布を取得する、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記分布取得部で取得される分布の形状は、前記微分値の分布におけるピークの高さを含み、
前記方向設定部は、前記ピークの高さに基づいて前記検出方向を設定する、画像処理装置。
【請求項５】
請求項１乃至４の何れか一項に記載の画像処理装置において、
前記端部指定部により指定される端部に対応する画素値に基づいて、前記端部を検出するための閾値を設定する閾値設定部をさらに備える画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記閾値設定部は、前記端部検出領域内の画素値を所定方向に微分した微分値の分布における、前記端部指定部により指定される端部に対応する端部対応ピークの高さに基づいて、前記閾値を設定する、画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記方向設定部は、前記微分値の分布における前記端部対応ピーク以外の他のピークであって前記閾値を超えるピークが前記端部指定部により指定される端部の両側のうちの一方側のみにある場合は、前記両側のうちの他方側から一方側へ向かう方向を、前記検出方向として設定する、画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
前記閾値設定部は、前記閾値を超える前記他のピークが前記端部指定部により指定される端部の両側にある場合は、前記閾値を超える前記他のピークが前記両側のうちの一方側のみとなるように前記閾値を再設定する画像処理装置。
【請求項９】
請求項７または８に記載の画像処理装置において、
前記端部対応ピークを超える前記他のピークが前記端部指定部により指定される端部の両側にある場合は、前記方向設定部による前記検出方向の設定を行わない旨を表示部に表示させる表示制御部をさらに備える画像処理装置。
【請求項１０】
請求項１乃至９の何れか一項に記載の画像処理装置において、
前記端部検出領域設定部は、
前記撮像画像内に、前記端部指定部により指定される端部を含み延在方向がそれぞれ異なる複数の領域を候補領域として設定する候補領域設定部と、
複数の前記候補領域の各々において、前記延在方向での画素値の分布を取得する延在分布取得部と、
複数の前記候補領域の各々における前記分布の前記端部指定部により指定される端部に対応する値に基づいて、複数の前記候補領域のうちの一つを前記端部検出領域として選択する領域選択部と、
を有し、
前記領域選択部により選択された前記端部検出領域の延在方向を前記所定方向とする画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置において、
前記延在分布取得部により取得される前記延在方向での画素値の分布は、前記候補領域内の画素値を前記延在方向に微分した微分値の分布である、画像処理装置。
【請求項１２】
請求項１乃至１１の何れか一項に記載の画像処理装置において、
前記被測定物を撮像して得られる撮像画像は、前記被測定物を測定するための測定手順を定めるために用いられる、画像処理装置。
【請求項１３】
請求項１乃至１２の何れか一項に記載の画像処理装置と、
前記被測定物を撮像して得られる撮像画像を取得する撮像部と、
を備える画像測定装置。
【請求項１４】
被測定物を撮像して得られる撮像画像内において、前記被測定物の端部を指定することと、
前記指定される端部を含む前記撮像画像内の一部の領域を端部検出領域として指定することと、
前記端部検出領域内の所定方向での画素値の分布を取得することと、
前記取得される分布の形状を用いて、前記端部検出領域内に含まれる複数の端部のうち前記指定される端部に対する検出方向を設定することと、
を含む画像処理方法。
【請求項１５】
被測定物を撮像して得られる撮像画像内において、前記被測定物の端部を指定する処理と、
前記指定される端部を含む前記撮像画像内の一部の領域を端部検出領域として指定する処理と、
前記端部検出領域内の所定方向での画素値の分布を取得する処理と、
前記取得される分布の形状を用いて、前記端部検出領域内に含まれる複数の端部のうち前記指定される端部に対する検出方向を設定する処理と、
をコンピュータに実行させるための画像処理プログラム。
【請求項１６】
被測定物を撮像して得られる撮像画像内において、前記被測定物の端部を指定する端部指定部と、
前記撮像画像内に、前記端部指定部により指定される端部を含み延在方向がそれぞれ異なる複数の領域を候補領域として設定する候補領域設定部と、
前記複数の前記候補領域内の各々において、前記延在方向での画素値の分布を取得する延在分布取得部と、
複数の前記候補領域の各々における前記分布の前記端部指定部により指定される端部に対応する値に基づいて、複数の前記候補領域のうちの一つを端部検出領域として選択する領域選択部と、
を備える画像処理装置。
【請求項１７】
請求項１６に記載の画像処理装置において、
前記延在分布取得部により取得される前記延在方向での画素値の分布は、前記候補領域内の画素値を前記延在方向に微分した微分値の分布である、画像処理装置。
【請求項１８】
構造物の形状に関する設計情報を作成し、
前記設計情報に基づいて前記構造物を作成し、
作成された前記構造物の形状を、請求項１３に記載の画像測定装置を用いて計測して形状情報を取得し、
前記取得された前記形状情報と前記設計情報とを比較する構造物の製造方法。
【請求項１９】
請求項１８に記載の構造物の製造方法において、
前記形状情報と前記設計情報との比較結果に基づいて実行され、前記構造物の再加工を行う構造物の製造方法。
【請求項２０】
請求項１９に記載の構造物の製造方法において、
前記構造物の再加工は、前記設計情報に基づいて前記構造物の作成を再度行う構造物の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像測定装置、画像処理方法、画像処理プログラムおよび構造物の製造方法に関する。
【背景技術】
【０００２】
被測定物を撮像して得られた撮像画像を用いて被測定物の形状を測定する画像測定装置が知られている（特許文献１参照）。特許文献１に記載の画像測定装置では、撮像画像内に被測定物の端部を検出するために、撮像画像に端部検出領域を設定して、検出領域内から被測定物の端部を検出し、被測定物の形状を測定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８８７８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
被測定物の形状を測定するために、被測定物を撮像して得られた撮像画像内から端部を測定する際に、測定不良を抑制することが望まれている。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によると、画像処理装置は、被測定物を撮像して得られる撮像画像内において、被測定物の端部を指定する端部指定部と、端部指定部により指定される端部を含む撮像画像内の一部の領域を端部検出領域として設定する端部検出領域設定部と、端部検出領域内の所定方向での画素値の分布を取得する分布取得部と、分布取得部で取得される分布の形状を用いて、端部検出領域内に含まれる複数の端部のうち端部指定部により指定される端部に対する検出方向を設定する方向設定部と、を備える。
本発明の第２の態様によると、画像測定装置は、第１の態様の画像処理装置と、被測定物を撮像して得られる撮像画像を取得する撮像部と、を備える。
本発明の第３の態様によると、画像処理方法は、被測定物を撮像して得られる撮像画像内において、被測定物の端部を指定することと、指定される端部を含む撮像画像内の一部の領域を端部検出領域として指定することと、端部検出領域内の所定方向での画素値の分布を取得することと、取得される分布の形状を用いて、端部検出領域内に含まれる複数の端部のうち指定される端部に対する検出方向を設定することと、を含む。
本発明の第４の態様によると、画像処理プログラムは、被測定物を撮像して得られる撮像画像内において、被測定物の端部を指定する処理と、指定される端部を含む撮像画像内の一部の領域を端部検出領域として指定する処理と、端部検出領域内の所定方向での画素値の分布を取得する処理と、取得される分布の形状を用いて、端部検出領域内に含まれる複数の端部のうち指定される端部に対する検出方向を設定する処理と、をコンピュータに実行させる。
本発明の第５の態様によると、画像処理装置は、被測定物を撮像して得られる撮像画像内において、被測定物の端部を指定する端部指定部と、撮像画像内に、端部指定部により指定される端部を含み延在方向がそれぞれ異なる複数の領域を候補領域として設定する候補領域設定部と、複数の候補領域内の各々において、延在方向での画素値の分布を取得する延在分布取得部と、複数の候補領域の各々における分布の端部指定部により指定される端部に対応する値に基づいて、複数の候補領域のうちの一つを端部検出領域として選択する領域選択部と、を備える。
本発明の第６の態様によると、構造物の製造方法は、構造物の形状に関する設計情報を作成し、設計情報に基づいて構造物を作成し、作成された構造物の形状を、第２の態様の画像測定装置を用いて計測して形状情報を取得し、取得された形状情報と設計情報とを比較する。
【発明の効果】
【０００６】
本発明によれば、被測定物の形状を検出する際の検出不良を抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施の形態による画像測定装置の全体構成を示す図
【図２】制御装置の機能構成を示す図
【図３】検出領域を示す図
【図４】（ａ）は検出領域内の輝度の分布を示す図、（ｂ）は検出領域内の画素の輝度を一次微分した一次微分値の分布を示す図
【図５】端部検出パラメータの設定処理の流れを説明するフローチャート
【図６】検出領域設定処理の流れを説明するフローチャート
【図７】（ａ）〜（ｄ）はそれぞれ候補領域の一例を示す図、（ｅ）〜（ｈ）はそれぞれ（ａ）〜（ｄ）に示す候補領域内の画素の輝度を一次微分した一次微分値の分布を示す図
【図８】エッジ検出閾値の設定を説明する図
【図９】エッジ検出閾値を超える他のピークがない場合における一次微分値の分布の一例を示す図
【図１０】エッジ検出閾値を超える他のピークが目標エッジ対応ピークの一方側にのみある場合における一次微分値の分布の一例を示す図
【図１１】エッジ検出閾値を超える他のピークが目標エッジ対応ピークの両側にある場合における一次微分値の分布の一例を示す図
【図１２】目標エッジ対応ピークを超える他のピークが目標エッジ対応ピークの両側にある場合における一次微分値の分布の一例を示す図
【図１３】第２の実施の形態による構造物製造システムの構成を示すブロック図
【図１４】第２の実施の形態による構造物製造システムの動作を説明するフローチャート
【図１５】プログラムを提供する様子を示す図
【発明を実施するための形態】
【０００８】
−第１の実施の形態−
図面を参照しながら、本発明の一実施の形態による画像測定装置について説明する。画像測定装置は、被測定物（例えば、機械部品や半導体チップ、液晶ディスプレイパネル、生物・生体試料など）を撮像して得られた撮像画像を用いて被測定物の形状等を測定する装置である。なお、本実施の形態は、発明の趣旨の理解のために具体的に説明するためのものであり、特に指定の無い限り、本発明を限定するものではない。
【０００９】
図１は、本実施の形態による画像測定装置１００の全体構成の一例を示す図である。画像測定装置１００は、撮像ユニット１と、光源ユニット２と、インターフェイスユニット３と、ホストコンピュータ４とを備える。なお、説明の都合上、撮像ユニット１について、Ｘ軸、Ｙ軸および鉛直方向に沿ったＺ軸からなる座標系を図示の通りに設定する。
【００１０】
撮像ユニット１は、ベース１０と、ＸＹステージ１１と、支柱１２と、光学系ユニット１３とを備える。ＸＹステージ１１は、測定の対象物である被測定物Ｓを載置するためのベース１０上を２次元移動可能である。ＸＹステージ１１の上方には、ベース１０と一体に設けられた支柱１２に、光学系ユニット１３が固定される。
【００１１】
ＸＹステージ１１は、ベース１０上をＹ軸方向に移動可能なＹステージ１１Ｙと、Ｙステージ１１Ｙ上をＸ軸方向に移動可能なＸステージ１１Ｘとを備える。Ｘステージ１１Ｘ上に被測定物Ｓが載置される。Ｘステージ１１ＸおよびＹステージ１１Ｙは、不図示のリニアアクチュエータを含む駆動系により駆動される。この駆動系は、後述するインターフェイスユニット３内の制御部３０によって制御される。また、Ｘステージ１１ＸおよびＹステージ１１Ｙの位置は、不図示のレーザ干渉計またはエンコーダ等の位置検出装置によって計測される。この位置検出装置の出力信号は、制御部３０を介してホストコンピュータ４内に送出される。
【００１２】
光学系ユニット１３内には、被測定物Ｓの像を結像面に結像させる対物レンズ等の結像光学系１４と、撮像装置１５と、落射照明用光学系１６とが収容されている。撮像装置１５は、ＣＣＤやＣＭＯＳ等の撮像素子が結像光学系１４の結像面に配置され、撮像素子は結像光学系１４によって結像面に結像された被測定物Ｓの像を撮像して撮像信号を後述するインターフェイスユニット３内の撮像制御部３１に出力する。撮像装置１５は、ホストコンピュータ４からの制御信号に基づき後述するインターフェイスユニット３内の撮像制御部３１によって撮像可能状態、撮像停止状態などが制御される。なお、被測定物Ｓの撮像装置１５としては、上記の例に限定されず撮像管を用いてもよく、あるいは非常に大きな画素数の撮像をする場合は１次元撮像素子（いわゆるラインセンサ）を用いることも可能である。後者のラインセンサを用いる場合には、ＸＹステージ１１を移動させ、被測定物とラインセンサとを相対移動させながら順次対象物の画像を１ラインずつ読み取るようにして撮像を行う必要がある。
【００１３】
また、撮像ユニット１において、ベース１０の内部には透過照明用光学系１７が設けられている。後述する光源ユニット２内の不図示の光源からの光によって被測定物Ｓが落射照明用光学系１６を介して図１の上方から落射照明で照明される。または、後述する光源ユニット２内の不図示の光源からの光によって被測定物Ｓが透過照明用光学系１７を介して図１の下方から透過照明で照明される。そして、光学系ユニット１３内の結像光学系１４によって結像面に被測定物Ｓの像が結像される。
なお、落射照明用光学系１６の他に、被測定物Ｓに対して照明光を照射する照明光源を設けても構わない。また、この場合に、複数の照明光源を設けても構わない。この場合に、複数の照明光源を輪状に設けても構わない。複数の照明光源を設ける場合に、全ての照明光源からの照明光を被測定物Ｓに向けて照射しても構わないし、その一部の照明光源からの照明光のみを照射しても構わない。
【００１４】
光源ユニット２は、光ファイバなどを介して撮像ユニット１に落射又は透過の照明光を出力する。光源ユニット２は、光源を含み光量が調節可能な調光装置とこの調光装置からの光を前記光ファイバに導くための光学系とを有する。また、落射照明、透過照明の選択及びこれらの光の光量の調整は、後述するインターフェイスユニット３内部の制御部３０によって制御される。
【００１５】
インターフェイスユニット３は、制御部３０と撮像制御部３１とを有する。制御部３０は、マイクロプロセッサとそのファームウェアとで構成される。制御部３０は、ホストコンピュータ４からの制御信号を受けてＸＹステージ１１のリニアアクチュエータを制御してＸＹステージ１１を移動させたり、落射照明、透過照明を選択したり、光源ユニット２から出力される光の光量を制御したりする。撮像制御部３１は、ホストコンピュータ４からの制御信号に基づき撮像装置１５の撮像可能状態、撮像停止状態を制御したり、撮像装置１５からの撮像信号を、Ａ／Ｄ変換して画像データとしてホストコンピュータ４に出力したりする。
【００１６】
ホストコンピュータ４は、マウスなどのポインティングデバイスによる操作が可能な所定のオペレーティングシステムで動作するパーソナルコンピュータを用いて構成される。ホストコンピュータ４は、コンピュータ本体４０に入力デバイスであるキーボード４１およびマウス４２と、表示部としてのディスプレイ４３とを接続した構成になっている。
【００１７】
コンピュータ本体４０は、マイクロプロセッサから構成される制御装置４４と、メモリ４５と、キーボード４１およびマウス４２を接続するためのキーボードインターフェイス（キーボードコントローラ）４６と、ディスプレイ４３を接続するためのビデオインターフェイス４７と、シリアルインターフェイス４８と、ハードディスク４９と、画像入力ボード５０とを有している。
【００１８】
制御装置４４は、画像測定装置１００全体を制御すると共に、撮像装置１５により被測定物Ｓを撮像して得られる撮像画像を用いて被測定物Ｓの形状を測定する。具体的に、制御装置４４は、ハードディスク４９に格納された制御プログラムをメモリ４５にロードしてプログラムを起動させることによって、シリアルインターフェイス４８を介してインターフェイスユニット３の制御部３０に制御信号を送ってＸＹステージ１１のリニアアクチュエータの制御、結像光学系１４の倍率制御、光量制御等を行う。また、制御装置４４は、画像入力ボード５０及び撮像制御部３１を介して撮像装置１５の撮像制御を行うと共に、撮像装置１５からの撮像信号が撮像制御部３１によりＡ／Ｄ変換されて得られる撮像画像データをメモリ４５に転送し記憶させる。
【００１９】
ハードディスク４９には、端部検出、ピッチ測定など被測定物Ｓの撮像画像データに対して様々な測定処理を行う様々なプログラムが格納されている。制御装置４４は、これらのプログラムをメモリ４５にロードしてプログラムを起動させることによって様々な測定処理を行う。
【００２０】
また、制御装置４４は、ビデオインターフェイス４７に制御コマンドを送るとともに、メモリ４５内の撮像画像データや測定処理の結果の情報をビデオインターフェイス４７を介してディスプレイ４３に転送して、被測定物Ｓの撮像画像や測定処理の結果をディスプレイ４３に表示させる。
【００２１】
また、制御装置４４は、予め被測定物Ｓを測定するための測定手順を定めるティーチングを行う。ティーチングで定められた測定手順の情報は、ティーチングファイルとしてハードディスク４９に記憶される。制御装置４４は、ハードディスク４９に記憶されたティーチングファイルに従って測定処理を実行する。画像測定装置１００では、予めティーチングを行っておくことで、同じ形状の被測定物Ｓに対してティーチングの結果を用いて自動で測定処理を実行することができるので、同じ形状の多数の被測定物Ｓを測定する際に便利である。
【００２２】
図２は、本実施形態に係る制御装置４４の機能構成を示す図である。制御装置４４は、画像処理装置６０を機能的に有する。なお、上述したように制御装置４４は、画像測定装置１００の各部を制御する機能も有するが、図２では図示を省略している。画像処理装置６０は、端部指定部５１と、検出領域設定部５２と、分布取得部５３と、方向設定部５４と、閾値設定部５５と、表示制御部５６と、を機能的に有する。また、検出領域設定部５２は、候補領域設定部５２１と、延在分布取得部５２２と、領域選択部５２３と、を機能的に有する。ハードディスク４９（図１）には、画像処理装置６０の各機能を実現するための画像処理プログラムが格納されている。画像処理装置６０の各機能は、制御装置４４がハードディスク４９に格納されている上記画像処理プログラムをメモリ４５（図１）にロードして実行することにより実現される。なお、上記各部の機能について、詳しくは後述する。
なお、本実施の形態においては、例えば被測定物Ｓの高さ位置を検出する焦点検出装置が設けられていても構わない。この場合に、被測定物Ｓの高さ位置の検出結果を用いて、被測定物Ｓの撮像画像を撮像しても構わない。
なお、本実施の形態においては、被測定物Ｓに対して＋Ｚ方向に光学系を配置したが、配置する場合はこの例に限られない。−Ｚ方向に光学系を配置しても構わない。
また、本実施の形態においては、被測定物ＳをＸ方向とＹ方向との互いに直交する方向に移動可能なステージに載置するものとしているが、互いの移動方向は直交、すなわち９０°に限られず、８０°、７０°、６０°、５０°、４０°、３０°、２０°、１０°、５°でも構わない。また、被測定物Ｓを移動可能なステージは、２軸方向に限られず、Ｘ方向、Ｙ方向、Ｚ方向の３軸方向に移動可能であっても構わない。また、Ｘ方向を中心にθＸ方向に回転するステージを用いても構わない。勿論、Ｘ方向に限られず、Ｙ方向、Ｚ方向を中心に回転するステージを用いても良い。なお、本実施の形態においては、被測定物Ｓが載置されたＸＹステージを駆動させて被測定物Ｓと光学系ユニット１３とを相対移動させたが、光学系ユニット１３を駆動させてステージに載置された被測定物Ｓと光学系ユニット１３とを相対移動させても良い。
【００２３】
＜端部検出パラメータの設定＞
次に、被測定物Ｓの端部を検出する端部検出処理に関する端部検出パラメータの設定について説明する。
図３を用いて、被測定物Ｓの例について説明する。図３（ａ）は、被測定物ＳをＺ軸方向から観察した図であり、ＸＹ平面における被測定物Ｓを示す。図３（ｃ）は、図３（ａ）に示すａとｂとを結ぶ直線における断面図を示している。図３（ｃ）において、被測定物ＳはＺ軸方向に沿った２つの位置において、平坦部Ｓｃと平坦部Ｓｂとを有している。被測定物Ｓが平坦部を有する場合には、それぞれの平坦部Ｓｃと平坦部Ｓｂとの端において端部が存在する。図３（ｃ）では、Ｚ軸方向での同じ位置の平面Ｓｂにおいて、その−Ｘ方向の端部の位置をＰとする。また、端部の位置を繋ぎ合わせることにより、輪郭が存在する。また、Ｚ軸方向での位置Ｐと同じ位置の平面に対して、Ｚ軸方向の位置が異なる平面との間には境界が存在する。例えば、被測定物Ｓを所定物に載置させた場合、すなわち図３（ｃ）における−Ｚ方向の平面Ｓａと所定物の載置面とが接触するように載置させた場合、平面Ｓａと載置面とでＺ軸方向の位置が異なるので、境界部分が存在する。なお、本実施の形態においては、平坦部の端を端部としているが、平坦でなくても構わない。傾斜平面と傾斜平面とが交差する部分を端部としても構わない。また、同一平面において、被測定物Ｓを構成する部材が異なる部分を端部としても構わない。勿論、同じ構成部材でも表面形状が異なる部分の境目を端部としても構わない。
端部検出パラメータの設定は、端部検出処理に関するティーチングの際に行われる。具体的に、端部検出パラメータとして、端部を検出するための領域である端部検出領域（以下、検出領域）と端部を検出するための閾値（以下、エッジ検出閾値）と端部に対する検出方向（以下、端部検出方向）とが設定される。端部検出パラメータツールは、たとえばキャリパーツールと呼ばれている。
【００２４】
まず、図１〜図３を参照して、検出領域Ｃａについて説明する。撮像装置１５は、被測定物Ｓを撮像して、ティーチングに用いるティーチング用撮像画像を取得する。ティーチングは、被測定物Ｓを撮像して、被測定物Ｓの検出しその形状を検出する測定において、自動的に被測定物Ｓの形状を測定するための自動測定手順を設定することである。画像処理装置６０は、撮像装置１５からティーチング用撮像画像を取得し、ディスプレイ４３に表示させる。図３（ａ）は、ティーチング用撮像画像の一例を示す図である。ユーザは、ディスプレイ４３に表示されたティーチング用撮像画像内で、被測定物Ｓにおいて検出したい端部（目標端部）の位置Ｐにカーソルを合わせてマウス４２でクリックする。端部指定部５１は、ユーザによりマウス４２がクリックされた際のカーソルの位置Ｐを目標端部位置Ｐとして指定する。なお、ユーザによりマウス４２でクリックされた際のカーソルの位置は目標端部の位置と厳密に一致するとは限らないため、当該カーソルの位置に最も近い端部の位置が目標端部位置Ｐとなる。
【００２５】
検出領域設定部５２は、ティーチング用撮像画像内において、目標端部位置Ｐを中心とする所定サイズの矩形状の領域を、端部検出領域（以下、検出領域とも表記する）Ｃａとして設定する。なお、検出領域Ｃａは、ティーチング用撮像画像内の一部の領域であり、検出領域Ｃａ内から端部が検出される。図３（ａ）では、目標端部に対して略垂直方向が検出領域Ｃａの長辺方向となるように検出領域Ｃａが設定されている。
【００２６】
図３（ｂ）は、ティーチング用撮像画像の検出領域Ｃａ近傍の領域を拡大した図である。なお、説明の都合上、検出領域Ｃａの長辺方向（すなわち延在方向）をｘ軸方向、短辺方向をｙ軸方向とする座標系を図示の通りに設定する。図３（ｂ）では、検出領域Ｃａ内に略ｙ軸方向に延びる４つの端部ｅｇ１〜ｅｇ４の一部が含まれている。ここでは、目標端部は、目標端部位置Ｐがある端部ｅｇ１である。
【００２７】
図４（ａ）は、検出領域Ｃａ内の画素のｘ軸方向における輝度の分布を表すグラフであり、縦軸が輝度、横軸がｘ軸方向の位置を表している。検出領域では、設定された領域内において所定方向にそれぞれの画素の輝度の分布を算出することができる。なお、このグラフにおける各ｘ軸方向の位置の輝度は、各ｘ軸方向の位置で、検出領域Ｃａ内のｙ軸方向における複数の画素の輝度を平均した値である。また、図４（ｂ）は、図４（ａ）に示す輝度をｘ軸正方向に一次微分した一次微分値の分布を表すグラフであり、縦軸が一次微分値、横軸がｘ軸方向の位置を表している。
【００２８】
本実施形態では、このような検出領域Ｃａ内の輝度の一次微分値の分布を用いて端部を検出する。本実施の形態においては、検出領域内の所定方向での輝度の分布を検出することができるので、検出領域内の所定方向で、輝度の変化を検出することができる。検出領域内の輝度の変化を検出することにより、輝度がその周辺の輝度に対して変化する位置を検出することができる。すなわち、輝度の変化する位置をエッジとして特定することができる。図４（ｂ）では、一次微分値の分布における４つのピークｐｋ１〜ｐｋ４が、輝度の変化が大きい箇所、すなわち、エッジであることが推定される。ここでは、図３（ｂ）に示したように、検出領域Ｃａ内には４つの端部ｅｇ１〜ｅｇ４があり、図４（ｂ）には、端部ｅｇ１に対応するエッジである負のピークｐｋ１と端部ｅｇ２に対応するエッジである正のピークｐｋ２と端部ｅｇ３に対応するエッジである負のピークｐｋ３と端部ｅｇ４に対応するエッジである正のピークｐｋ４とが表れている。
【００２９】
目標端部である端部ｅｇ１を検出するには、端部ｅｇ１に対応するエッジである負のピークｐｋ１を検出できるように、エッジ検出閾値Ｔｈを設定する必要がある。たとえば、負のピークｐｋ１の高さの５０％程度にエッジ検出閾値Ｔｈを設定する。また、ここでは、負のピークｐｋ１に対して、図中右側にはエッジ検出閾値Ｔｈを超えるピーク（すなわちエッジ検出閾値Ｔｈより小さいピーク）として負のピークｐｋ３があり、図中左側にはエッジ検出閾値Ｔｈを超えるピークはない。そのため端部ｅｇ１を検出するには、端部ｅｇ１に対応するエッジである負のピークｐｋ１が検出できるように（他のエッジが先に検出されないように）、図中左側から右側へ向かう方向（すなわちｘ軸正方向）をエッジ検出方向Ａｗとして設定する必要がある。
【００３０】
このようにして端部検出処理に関するティーチングでは、端部検出パラメータとして検出領域Ｃａとエッジ検出閾値Ｔｈとエッジ検出方向Ａｗとが設定され、これらの情報がハードディスク４９に記憶されるティーチングファイル内に格納される。制御装置４４は、このティーチングファイルに従って測定処理を実行する際、エッジ検出処理に関してティーチングファイル内に格納された検出領域Ｃａ、エッジ検出閾値Ｔｈおよびエッジ検出方向Ａｗの情報を参照して、端部検出処理を行う。
【００３１】
上記端部検出処理に関して具体的に説明する。まず、制御装置４４は、撮像装置１５から被測定物Ｓを撮像して得られる測定用撮像画像を取得する。制御装置４４は、測定用撮像画像に対して上記設定された検出領域Ｃａを適用し、検出領域Ｃａ内の画素のｘ軸方向の輝度の分布を取得する。ここで、各ｘ軸方向の位置の輝度は、各ｘ軸方向の位置で、検出領域Ｃａ内のｙ軸方向における複数の画素の輝度を平均した値とする。そして、制御装置４４は、このｘ軸方向の輝度の分布に対して一次微分フィルタを適用して、検出領域Ｃａ内の画素の輝度をｘ軸正方向に一次微分した一次微分値の分布を取得する。制御装置４４は、この一次微分値の分布を上記設定したエッジ検出方向Ａｗに沿って走査し、最初に上記設定したエッジ検出閾値Ｔｈを超えるピークの位置を、端部の位置として検出する。なお、本実施の形態においては、検出領域Ｃａ内のｙ軸方向における複数の画素の輝度を平均した値を用いているが、これに限定されず、所定位置の輝度を用いても構わないし、ｙ軸方向での輝度の最も高い値を代表値として用いても構わない。
【００３２】
測定用撮像画像において目標端部を精度よく検出するためには、ティーチングにおいて、端部検出パラメータ（検出領域、エッジ検出閾値、エッジ検出方向）を適切に設定する必要がある。しかしながら、目標端部の近傍に他のエッジが存在する場合、ユーザが手動で上記端部検出パラメータを適切に設定することは難しい。上記端部検出パラメータを適切に設定するには、ユーザが上述した端部検出のアルゴリズムを正しく理解している必要がある。しかし、上述した端部検出のアルゴリズムに対するユーザの理解度にはバラツキがある。そこで、本実施形態では、画像測定装置１００が自動で上述した端部検出パラメータを設定するようにした。これにより、端部検出パラメータを適切に設定することが可能となる。したがって、端部検出パラメータの設定による検出不良を抑制することができる。
【００３３】
＜端部検出パラメータを設定する処理の詳細＞
図５は、画像測定装置１００において上記端部検出パラメータを設定する処理の流れを説明するフローチャートである。このフローチャートで示す画像処理プログラムは、ハードディスク４９に記憶され、この画像処理プログラムは、制御装置４４の画像処理装置６０により実行される。
【００３４】
ステップＳ１において、画像処理装置６０は、上述したように、撮像装置１５により被測定物Ｓを撮像して得られたティーチング用撮像画像を取得し、ディスプレイ４３に表示させる。
【００３５】
ステップＳ２において、端部指定部５１は、上述したように、ティーチング用撮像画像内において、ユーザによりマウス４２がクリックされた際のカーソルの位置Ｐを目標端部位置Ｐとして指定する。
【００３６】
ステップＳ３において、検出領域設定部５２は、ティーチング用撮像画像内において検出領域Ｃａを設定する検出領域設定処理を行う。図６は、この検出領域設定処理の流れを説明するフローチャートである。図６のステップＳ３１において、候補領域設定部５２１は、ティーチング用撮像画像内において、検出領域Ｃａの候補である候補領域を複数設定する。図７（ａ）〜（ｄ）は、複数の候補領域Ｃｋの一例である。なお、図７では、被測定物Ｓについて、図３で示した例とは異なる例を示している。候補領域設定部５２１は、目標端部位置Ｐを中心とする所定サイズの矩形状の領域Ｃｋを、目標端部位置Ｐを中心として所定角度（たとえば１０度）ずつ回転させることにより、延在方向（長辺方向）がそれぞれ異なる複数（たとえば３６個）の候補領域Ｃｋを設定する。なお、図７では、図示の都合上、それぞれ延在方向が異なる４つの候補領域Ｃｋを示している。また、説明の都合上、各候補領域Ｃｋにおいて、長辺方向（すなわち延在方向）をｘ軸方向、短辺方向をｙ軸方向とする座標系を設定する。図７に示す候補領域Ｃｋ内の矢印は、ｘ軸正方向（後述する一次微分の方向）を示している。
【００３７】
図６のステップＳ３２において、延在分布取得部５２２は、ステップＳ３１で設定された複数の候補領域Ｃｋの各々において、候補領域Ｃｋ内の画素の延在方向（ｘ軸方向）における輝度の分布を取得する。ここで、各ｘ軸方向の位置の輝度は、各ｘ軸方向の位置で、候補領域Ｃｋ内のｙ軸方向における複数の画素の輝度を平均した値とする。次にステップＳ３３において、延在分布取得部５２２は、複数の候補領域Ｃｋの各々におけるこのｘ軸方向の輝度の分布に対して一次微分フィルタを適用して、候補領域Ｃｋ内の画素の輝度をｘ軸正方向に一次微分した一次微分値の分布を取得する。
【００３８】
ステップＳ３４において、領域選択部５２３は、ステップＳ３３で取得した各候補領域Ｃｋの上記一次微分値の分布に基づいて、複数の候補領域Ｃｋのうちの一つを検出領域Ｃａとして選択する。この選択方法について、図７に示す一例を用いて説明する。
【００３９】
上述したように図７（ａ）〜（ｄ）は、それぞれ延在方向が異なる４つの候補領域Ｃｋの一例である。また、図７（ｅ）は図７（ａ）に示す候補領域Ｃｋの上記一次微分値の分布を示す。図７（ｆ）は図７（ｂ）に示す候補領域Ｃｋの上記一次微分値の分布を示す。図７（ｇ）は図７（ｃ）に示す候補領域Ｃｋの上記一次微分値の分布を示す。図７（ｈ）は図７（ｄ）に示す候補領域Ｃｋの上記一次微分値の分布を示す。なお、図７（ｅ）〜（ｈ）は、上記一次微分値の分布の一部を簡略化して示している。図７（ｅ）〜（ｈ）ではそれぞれ、目標端部位置Ｐにおいて正のピークが表れているが、ピークの高さはそれぞれ異なっている。
【００４０】
領域選択部５２３は、複数の候補領域Ｃｋのうち、上記一次微分値の分布において目標端部位置Ｐに対応するピークの高さ（すなわち一次微分値の絶対値）が最も高い（すなわち輝度の変化（コントラスト）が最も大きい）候補領域Ｃｋを、検出領域Ｃａとして選択（設定）する。図７に示す例では、図７（ｅ）〜（ｈ）のうち、図７（ｆ）において目標端部位置Ｐに対応するピークの高さが最も高いため、図７（ｂ）に示す候補領域ＣｋがキャリパーＣａとして選択される。画像測定装置１００では、このようにして検出領域Ｃａを設定することにより、目標端部を検出するために最適な延在方向の検出領域Ｃａを設定することができる。なお、目標端部位置Ｐはユーザが手動で指定する位置であるため、ピークの位置と厳密に一致するとは限らない。そのため、この場合、領域選択部５２３は、目標端部位置Ｐに最も近いピークを目標端部位置Ｐに対応するピークとして認識する。
【００４１】
複数の候補領域Ｃｋのうち、上記一次微分値の分布において最も高いピークを検出した候補領域Ｃｋを、検出領域Ｃａとして選択する。しかしながら、図７に示すように候補領域Ｃｋ内に目標端部位置Ｐ以外の他の端部位置Ｑがある場合、図７（ｃ）に示すような向きに設定された候補領域Ｃｋに対応する一次微分値の分布（図７（ｇ））には、目標端部位置Ｐ以外のピークが表れることが考えられる。この場合、図７（ｆ）における目標端部位置Ｐのピークよりも図７（ｇ）における他の端部位置Ｑのピークの方が高いと、図７（ｇ）に対応する図７（ｃ）の候補領域Ｃｋが検出領域Ｃａとして選択されてしまう。このように、目標端部を検出するために最適な延在方向の検出領域Ｃａを設定できない場合があった。これに対して、本実施の形態の画像測定装置１００では、複数の候補領域Ｃｋのうち、上記一次微分値の分布において目標端部位置Ｐに対応するピークの高さが最も高い候補領域Ｃｋを検出領域Ｃａとして選択するので、目標端部を検出するために最適な延在方向の検出領域Ｃａを設定することができる。検出領域設定部５２は、以上のようにして検出領域Ｃａを設定すると、ステップＳ３（図５）の検出領域設定処理を終了する。
【００４２】
ステップＳ４（図５）において、分布取得部５３は、ステップＳ３で設定された検出領域Ｃａ内の画素の輝度をｘ軸正方向（延在方向）に一次微分した一次微分値の分布を取得する。なお、この一次微分値の分布は、ステップＳ３３（図６）で取得されたものを流用すればよい。
【００４３】
ステップＳ５（図５）において、閾値設定部５５は、エッジ検出閾値Ｔｈを設定する。このエッジ検出閾値Ｔｈの設定方法を図８を用いて説明する。図８は、ステップＳ４で取得された検出領域Ｃａの上記一次微分値の分布の一例である。閾値設定部５５は、上記一次微分値の分布における目標端部位置Ｐに対応するピーク（以下、目標エッジ対応ピーク）ｐｋｍの高さ（一次微分値）に基づいて、エッジ検出閾値Ｔｈを設定する。具体的に閾値設定部５５は、目標エッジ対応ピークｐｋｍが検出できるように、目標エッジ対応ピークｐｋｍの高さ以下（たとえば目標エッジ対応ピークｐｋｍの高さ（一次微分値）の５０％程度）の値にエッジ検出閾値Ｔｈを設定する。なお、目標エッジ対応ピークｐｋｍが正のピークである場合はエッジ検出閾値Ｔｈは正の値となり、端部検出処理の際には、エッジ検出閾値Ｔｈを超える、すなわちエッジ検出閾値Ｔｈよりも正方向に大きいピークが端部として検出される。一方、目標エッジ対応ピークｐｋｍが負のピークである場合はエッジ検出閾値Ｔｈは負の値となり、端部検出処理の際には、エッジ検出閾値Ｔｈを超える、すなわちエッジ検出閾値Ｔｈよりも負方向に大きいピークが端部として検出される。
【００４４】
以下は、上記一次微分値の分布における種々の形状に対応して、エッジ検出方向を設定する処理である。ステップＳ６（図５）において、画像処理装置６０は、ステップＳ４で取得された検出領域Ｃａの上記一次微分値の分布において、目標エッジ対応ピークｐｋｍ以外の他のピークであってエッジ検出閾値Ｔｈを超えるピークがあるか否かを判定する。
【００４５】
画像処理装置６０は、目標エッジ対応ピークｐｋｍ以外の箇所で一次微分値がエッジ検出閾値Ｔｈを超える箇所がない場合にはエッジ検出閾値Ｔｈを超える上記他のピークがないと判定し、ステップＳ６を否定判定してステップＳ７に進む。図９は、この場合（すなわちエッジ検出閾値Ｔｈを超える上記他のピークがない場合）における上記一次微分値の分布の一例を示すグラフである。この場合は、ｘ軸正方向（図中左側から右側）およびｘ軸負方向（図中右側から左側）のいずれをエッジ検出方向としても、目標エッジ対応ピークｐｋｍを検出することができる。したがって、ステップＳ７（図５）において、方向設定部５４は、ｘ軸正方向およびｘ軸負方向のいずれかをエッジ検出方向として設定して、図５の処理を終了する。なお、ステップＳ７において、所定方向（たとえばｘ軸正方向）をエッジ検出方向として設定してもよい。
【００４６】
一方、画像処理装置６０は、目標エッジ対応ピークｐｋｍ以外の箇所で一次微分値がエッジ検出閾値Ｔｈを超える箇所がある場合にはエッジ検出閾値Ｔｈを超える上記他のピークがあると判定し、ステップＳ６を肯定判定してステップＳ８に進む。
【００４７】
ステップＳ８において、画像処理装置６０は、ステップＳ４で取得された検出領域Ｃａの上記一次微分値の分布において、エッジ検出閾値Ｔｈを超える上記他のピークが目標エッジ対応ピークｐｋｍの両側（すなわち目標エッジ対応ピークｐｋｍの位置よりもｘ軸正方向側およびｘ軸負方向側）のうちの一方側にのみあるか否かを判定する。
【００４８】
画像処理装置６０は、目標エッジ対応ピークｐｋｍの両側のうち一方側には一次微分値がエッジ検出閾値Ｔｈを超える箇所があるが、他方側には一次微分値がエッジ検出閾値Ｔｈを超える箇所がない場合には、エッジ検出閾値Ｔｈを超える上記他のピークが目標エッジ対応ピークｐｋｍの両側のうちの一方側にのみあると判定し、ステップＳ８を肯定判定してステップＳ９に進む。図１０は、この場合（すなわちエッジ検出閾値Ｔｈを超える上記他のピークｐｋｔが目標エッジ対応ピークｐｋｍの一方側にのみある場合）における上記一次微分値の分布の一例を示すグラフである。図１０では、目標エッジ対応ピークｐｋｍに対して、ｘ軸負方向側（図中左側）にはエッジ検出閾値Ｔｈを超える他のピークはないが、ｘ軸正方向側（図中右側）にはエッジ検出閾値Ｔｈを超える他のピークｐｋｔがある。そのため、そのため目標エッジ対応ピークｐｋｍが検出できるように（他のピークｐｋｔが先に検出されないように）、図中左側から右側へ向かう方向（すなわちｘ軸正方向）をエッジ検出方向Ａｗとして設定する必要がある。ステップＳ９（図５）において、方向設定部５４は、エッジ検出閾値Ｔｈを超える他のピークがない側から当該他のピークがある側へ向かう方向をエッジ検出方向として設定して、図５の処理を終了する。
【００４９】
一方、画像処理装置６０は、目標エッジ対応ピークｐｋｍの両側に一次微分値がエッジ検出閾値Ｔｈを超える箇所がある場合には、エッジ検出閾値Ｔｈを超える上記他のピークが目標エッジ対応ピークｐｋｍの両側にあると判定し、ステップＳ８を否定判定してステップＳ１０に進む。図１１は、この場合（すなわちエッジ検出閾値Ｔｈを超える上記他のピークｐｋｔが目標エッジ対応ピークｐｋｍの両側にある場合）における上記一次微分値の分布の一例を示すグラフである。この場合は、現在のエッジ検出閾値Ｔｈの設定では、エッジ検出方向をｘ軸正方向およびｘ軸負方向のどちらに設定しても、他のピークｐｋｔが先に検出されてしまうため、目標エッジ対応ピークｐｋｍを検出することができない。
【００５０】
そこで、ステップＳ１０（図５）において、閾値設定部５５は、エッジ検出閾値Ｔｈを再設定する。具体的に閾値設定部５５は、目標エッジ対応ピークｐｋｍの高さ方向（すなわち、正のピークの場合は正方向、負のピークの場合は負方向）に所定値分エッジ検出閾値Ｔｈを変更する。たとえば、現在のエッジ検出閾値Ｔｈが目標エッジ対応ピークｐｋｍの高さの５０％だった場合、さらに目標エッジ対応ピークｐｋｍの高さの５％分増加した５５％にエッジ検出閾値Ｔｈを再設定する。
【００５１】
ステップＳ１１において、画像処理装置６０は、ステップＳ１０で再設定したエッジ検出閾値Ｔｈ´が目標エッジ対応ピークｐｋｍの高さを超えたか否かを判定する。制御装置４４は、エッジ検出閾値Ｔｈ´が目標エッジ対応ピークｐｋｍの高さを超えた場合は、ステップＳ１１を肯定判定してステップＳ１４へ進み、超えていない場合は、ステップＳ１１を否定判定してステップＳ１２へ進む。
【００５２】
ステップＳ１２において、画像処理装置６０は、ステップＳ４で取得された検出領域Ｃａの上記一次微分値の分布において、ステップＳ１０で再設定したエッジ検出閾値Ｔｈ´を超える上記他のピークが目標エッジ対応ピークｐｋｍの両側のうちの一方側にのみあるか否かを判定する。
【００５３】
画像処理装置６０は、目標エッジ対応ピークｐｋｍの両側のうち一方側には一次微分値がエッジ検出閾値Ｔｈ´を超える箇所があるが、他方側には一次微分値がエッジ検出閾値Ｔｈ´を超える箇所がない場合には、エッジ検出閾値Ｔｈ´を超える上記他のピークが目標エッジ対応ピークｐｋｍの両側のうちの一方側にのみあると判定し、ステップＳ１２を肯定判定してステップＳ１３に進む。ステップＳ１３において、方向設定部５４は、ステップＳ１０で再設定したエッジ検出閾値Ｔｈ´を超える他のピークがない側から当該他のピークがある側へ向かう方向をエッジ検出方向として設定して、図５の処理を終了する。図１１に示す例では、再設定したエッジ検出閾値Ｔｈ´を超える他のピークｐｋｔが目標エッジ対応ピークｐｋｍに対してｘ軸負方向側（図中左側）のみとなっている。この場合、図中右側から左側へ向かう方向（すなわちｘ軸負方向）をエッジ検出方向Ａｗとして設定すればよい。
【００５４】
一方、画像処理装置６０は、目標エッジ対応ピークｐｋｍの両側に一次微分値がエッジ検出閾値Ｔｈ´を超える箇所がある場合には、エッジ検出閾値Ｔｈ´を超える上記他のピークが目標エッジ対応ピークｐｋｍの両側にあると判定し、ステップＳ１２を否定判定してステップＳ１０に戻り、ステップＳ１０以降の処理を再度行う。すなわち、閾値設定部５５は、エッジ検出閾値Ｔｈ´を超える他のピークが目標エッジ対応ピークｐｋｍの両側のうちの一方側のみとなるまで、エッジ検出閾値Ｔｈ´を段階的に変更していく。つまり、閾値設定部５５は、エッジ検出閾値Ｔｈ´を超える他のピークが目標エッジ対応ピークｐｋｍの両側のうちの一方側のみとなるようにエッジ検出閾値Ｔｈ´を再設定する。
【００５５】
しかしながら、目標エッジ対応ピークｐｋｍの高さを超える他のピークｐｋｔが目標エッジ対応ピークｐｋｍの両側にある場合、エッジ検出閾値Ｔｈ´を段階的に変更していくと、エッジ検出閾値Ｔｈ´を超える他のピークが目標エッジ対応ピークｐｋｍの両側に存在したまま、エッジ検出閾値Ｔｈ´が目標エッジ対応ピークｐｋｍの高さを超えてしまう。エッジ検出閾値Ｔｈ´が目標エッジ対応ピークｐｋｍの高さを超えると、目標エッジ対応ピークｐｋｍを検出できなくなるので、エッジ検出閾値Ｔｈ´は目標エッジ対応ピークｐｋｍの高さよりも低い必要がある。
【００５６】
図１２は、目標エッジ対応ピークｐｋｍの高さＴｇを超える他のピークｐｋｔが目標エッジ対応ピークｐｋｍの両側にある場合における一次微分値の分布の一例を示す図である。この場合は、エッジ検出方向をｘ軸正方向およびｘ軸負方向のどちらに設定しても、他のピークｐｋｔが先に検出されてしまうため、目標エッジ対応ピークｐｋｍを検出することができない。したがって、この場合、方向設定部５４は、エッジ検出方向の設定を行わない。この場合に進むステップＳ１４において、表示制御部５６は、エッジ検出方向の設定を行わない旨を示すメッセージ等をエラー表示としてディスプレイ４３に表示させ、図５の処理を終了する。
【００５７】
上記エラー表示が表示された場合は、現状のままでは端部検出パラメータを設定することができないため、ユーザが種々の条件を手動で変更した後、画像測定装置１００において図５の端部検出パラメータの設定処理をやり直す必要がある。たとえば、検出領域Ｃａ内に目標エッジ対応ピークｐｋｍを超える他のピークｐｋｔが入らないように、ユーザは検出領域Ｃａの延在方向（ｘ軸方向）の長さを手動で現状よりも短く設定して、端部検出パラメータの設定処理をやり直すことが考えられる。また、たとえば、被測定物Ｓを照明する照明の条件を変更することで、検出領域Ｃａ内の画素の輝度の分布が変わるため、ユーザは上記照明の条件を手動で変更して、端部検出パラメータの設定処理をやり直すことが考えられる。変更する照明の条件としては、たとえば、画像測定装置１００において、被測定物Ｓに対して斜め方向から光を照射する照明が備えられている場合には、被測定物Ｓに対する照射角度を変更することなどが考えられる。
【００５８】
上述した実施の形態によれば、次の作用効果が得られる。
（１）端部指定部５１は、被測定物Ｓを撮像して得られる撮像画像内において目標端部の位置を指定する。検出領域設定部５２は、目標端部の位置を含む撮像画像内の一部の領域を検出領域として設定する。分布取得部５３は、検出領域内の画素値（輝度）を検出領域の延在方向に一次微分した一次微分値の分布を取得する。方向設定部５４は、分布取得部５３で取得される分布の形状（一次微分値のピークの高さ）を用いて、検出領域内に含まれる複数の端部のうち目標端部に対する検出方向（エッジ検出方向）を設定する。このような構成により、エッジ検出方向を自動で適切に設定することができ、目標端部を精度よく検出することができる。
【００５９】
（２）閾値設定部５５は、目標端部に対応する目標端部ピークの高さに基づいて、エッジ検出閾値を設定する。このような構成により、エッジ検出閾値を自動で適切に設定することができ、目標端部を精度よく検出することができる。
【００６０】
（３）方向設定部５４は、上記一次微分値の分布における目標エッジ対応ピーク以外の他のピークであってエッジ検出閾値を超えるピークが目標端部の両側のうちの一方側のみにある場合は、当該両側のうちの他方側から一方側へ向かう方向をエッジ検出方向として設定する。このような構成により、エッジ検出方向を自動で適切に設定することができる。
【００６１】
（４）閾値設定部５５は、上記一次微分値の分布における目標エッジ対応ピーク以外の他のピークであってエッジ検出閾値を超えるピークが目標端部の両側にある場合は、エッジ検出閾値を超える上記他のピークが上記両側のうちの一方側のみとなるようにエッジ検出閾値を再設定する。方向設定部５４は、上記両側のうちの他方側から一方側へ向かう方向をエッジ検出方向として設定する。このような構成により、エッジ検出閾値とエッジ検出方向とを自動で適切に設定することができる。
【００６２】
（５）表示制御部５６は、上記一次微分値の分布における目標エッジ対応ピーク以外の他のピークであって目標エッジ対応ピークを超えるピークが目標端部の両側にある場合は、方向設定部５４によるエッジ検出方向の設定を行わない旨をディスプレイ４３に表示させる。このような構成により、ユーザに、現状ではエッジ検出方向の設定を行えない旨を認識させることができ、種々の条件（たとえば、検出領域の長さや照明条件など）の変更を促すことができる。
【００６３】
（６）候補領域設定部５２１は、撮像画像内に、端部指定部５１により指定される目標端部の位置を含み延在方向がそれぞれ異なる複数の領域を候補領域として設定する。延在分布取得部５２２は、複数の候補領域の各々において、候補領域内の画素値（輝度）を上記延在方向に一次微分した一次微分値の分布を取得する。領域選択部５２３は、複数の候補領域の上記一次微分値の分布における目標端部に対応するピークの高さに基づいて、複数の候補領域のうちの一つを検出領域として選択する。このような構成により、検出領域を適切に設定することができ、目標端部を精度よく検出することができる。
【００６４】
−第２の実施の形態−
図面を参照して、本発明の実施の形態による構造物製造システムを説明する。本実施の形態の構造物製造システムは、たとえば自動車のドア部分、エンジン部分、ギア部分および回路基板を備える電子部品等の成型品を作成する。
【００６５】
図１３は、本実施の形態による構造物製造システム４００の構成の一例を示すブロック図である。構造物製造システム４００は、第１の実施の形態にて説明した画像測定装置１００と、設計装置４１０と、成形装置４２０と、制御システム４３０と、リペア装置４４０とを備える。
【００６６】
設計装置４１０は、構造物の形状に関する設計情報を作成する際にユーザが用いる装置であって、設計情報を作成して記憶する設計処理を行う。設計情報は、構造物の各位置の座標を示す情報である。設計情報は成形装置４２０および後述する制御システム４３０に出力される。成形装置４２０は設計装置４１０により作成された設計情報を用いて構造物を作成、成形する成形処理を行う。この場合、成形装置４２０は、３Ｄプリンター技術で代表される積層加工、鋳造加工、鍛造加工および切削加工のうち少なくとも１つを行うものについても本発明の一態様に含まれる。
【００６７】
画像測定装置１００は、成形装置４２０により成形された構造物の形状を測定する測定処理を行う。画像測定装置１００は、構造物を測定した測定結果である構造物の座標を示す情報（以後、形状情報と呼ぶ）を制御システム４３０に出力する。制御システム４３０は、座標記憶部４３１と、検査部４３２とを備える。座標記憶部４３１は、上述した設計装置４１０により作成された設計情報を記憶する。
【００６８】
検査部４３２は、成形装置４２０により成形された構造物が設計装置４１０により作成された設計情報に従って成形されたか否かを判定する。換言すると、検査部４３２は、成形された構造物が良品か否かを判定する。この場合、検査部４３２は、座標記憶部４３１に記憶された設計情報を読み出して、設計情報と画像測定装置１００から入力した形状情報とを比較する検査処理を行う。検査部４３２は、検査処理としてたとえば設計情報が示す座標と対応する形状情報が示す座標とを比較し、検査処理の結果、設計情報の座標と形状情報の座標とが一致している場合には設計情報に従って成形された良品であると判定する。設計情報の座標と対応する形状情報の座標とが一致していない場合には、検査部４３２は、座標の差分が所定範囲内であるか否かを判定し、所定範囲内であれば修復可能な不良品と判定する。
【００６９】
修復可能な不良品と判定した場合には、検査部４３２は、不良部位と修復量とを示すリペア情報をリペア装置４４０へ出力する。不良部位は設計情報の座標と一致していない形状情報の座標であり、修復量は不良部位における設計情報の座標と形状情報の座標との差分である。リペア装置４４０は、入力したリペア情報に基づいて、構造物の不良部位を再加工するリペア処理を行う。リペア装置４４０は、リペア処理にて成形装置４２０が行う成形処理と同様の処理を再度行う。
【００７０】
図１４に示すフローチャートを参照しながら、構造物製造システム４００が行う処理について説明する。
ステップＳ１１１では、設計装置４１０はユーザによって構造物の設計を行う際に用いられ、設計処理により構造物の形状に関する設計情報を作成し記憶してステップＳ１１２へ進む。なお、設計装置４１０で作成された設計情報のみに限定されず、既に設計情報がある場合には、その設計情報を入力することで、設計情報を取得するものについても本発明の一態様に含まれる。ステップＳ１１２では、成形装置４２０は成形処理により、設計情報に基づいて構造物を作成、成形してステップＳ１１３へ進む。ステップＳ１１３においては、画像測定装置１００は測定処理を行って、構造物の形状を計測し、形状情報を出力してステップＳ１１４へ進む。
【００７１】
ステップＳ１１４では、検査部４３２は、設計装置４１０により作成された設計情報と画像測定装置１００により測定され、出力された形状情報とを比較する検査処理を行って、ステップＳ１１５へ進む。ステップＳ１１５では、検査処理の結果に基づいて、検査部４３２は成形装置４２０により成形された構造物が良品か否かを判定する。構造物が良品である場合、すなわち設計情報の座標と形状情報の座標とが一致する場合には、ステップＳ１１５が肯定判定されて処理を終了する。構造物が良品ではない場合、すなわち設計情報の座標と形状情報の座標とが一致しない場合や設計情報には無い座標が検出された場合には、ステップＳ１１５が否定判定されてステップＳ１１６へ進む。
【００７２】
ステップＳ１１６では、検査部４３２は構造物の不良部位が修復可能か否かを判定する。不良部位が修復可能ではない場合、すなわち不良部位における設計情報の座標と形状情報の座標との差分が所定範囲を超えている場合には、ステップ１１６が否定判定されて処理を終了する。不良部位が修復可能な場合、すなわち不良部位における設計情報の座標と形状情報の座標との差分が所定範囲内の場合には、ステップＳ１１６が肯定判定されてステップＳ１１７へ進む。この場合、検査部４３２はリペア装置４４０にリペア情報を出力する。ステップＳ１１７においては、リペア装置４４０は、入力したリペア情報に基づいて、構造物に対してリペア処理を行ってステップＳ１１３へ戻る。なお、上述したように、リペア装置４４０は、リペア処理にて成形装置４２０が行う成形処理と同様の処理を再度行う。
【００７３】
上述した第２の実施の形態による構造物製造システムによれば、以下の作用効果が得られる。
（１）構造物製造システム４００の画像測定装置１００は、設計装置４１０の設計処理に基づいて成形装置４２０により作成された構造物の形状情報を取得する測定処理を行い、制御システム４３０の検査部４３２は、測定処理にて取得された形状情報と設計処理にて作成された設計情報とを比較する検査処理を行う。したがって、構造物の欠陥の検査や構造物の内部の情報を非破壊検査によって取得し、構造物が設計情報の通りに作成された良品であるか否かを判定できるので、構造物の品質管理に寄与する。
【００７４】
（２）リペア装置４４０は、検査処理の比較結果に基づいて、構造物に対して成形処理を再度行うリペア処理を行うようにした。したがって、構造物の不良部分が修復可能な場合には、再度成形処理と同様の処理を構造物に対して施すことができるので、設計情報に近い高品質の構造物の製造に寄与する。
【００７５】
次のような変形も本発明の範囲内であり、変形例の一つ、もしくは複数を上述の実施形態と組み合わせることも可能である。
（変形例１）
上記実施の形態では、予め被測定物Ｓを測定するための測定手順を定めるティーチングの際に、端部検出パラメータ（検出領域、エッジ検出閾値、エッジ検出方向）を設定する処理を行う例について説明した。しかしながら、ティーチングの際に限らなくてよく、たとえば、被測定物Ｓに対する端部検出処理の際に上記端部検出パラメータを設定する処理を行うようにしてもよい。
【００７６】
（変形例２）
上述した実施の形態では、検出領域が矩形状である例について説明したが、検出領域の形状はこれに限らなくてよく、たとえば線分形状などであってもよい。
【００７７】
（変形例３）
上記実施の形態では、検出領域内の画素の輝度値を所定方向に一次微分した一次微分値の分布を用いて、エッジ検出方向およびエッジ検出閾値を設定する例について説明した。また、複数の候補領域を設定し、各候補領域内の画素の輝度値を所定方向に一次微分した一次微分値の分布を用いて、検出領域を設定する例について説明した。しかしながら、上述の方法に限らなくてよく、たとえば上記画素の輝度値そのものを用いてもよい。また、上記画素の輝度値の代わりに、たとえば上記画素の色情報など、種々の画素値を用いるようにしてもよい。また、上記一次微分値の代わりに、たとえば二次以上の微分で得られた二次微分値など、この他の演算処理で得られた値を用いてもよい。
【００７８】
（変形例４）
上記実施の形態において、エッジ検出閾値を超える他のピークが目標エッジ対応ピークの両側にある場合にエッジ検出閾値を再設定した際に、目標エッジ対応ピークの両側のいずれにも、再設定したエッジ検出閾値を超える他のピークがなくなる場合も考えられる。このような場合には、方向設定部５４は、上記図５のステップＳ７のように、ｘ軸正方向およびｘ軸負方向のいずれかをエッジ検出方向として設定すればよい。また、たとえば、方向設定部５４は、目標エッジ対応ピークの両側のうち、再設定前のエッジ検出閾値を超える他のピークの数の少ない側から多い側へ向かう方向にエッジ検出方向を設定するようにしてもよい。
【００７９】
（変形例５）
上記実施の形態では、画像測定装置１００の内部に、端部検出パラメータ（検出領域、エッジ検出閾値、エッジ検出方向）の設定機能を有する画像処理装置６０が設けられている例について説明した。しかしながら、上記画像処理装置６０の機能の全部または一部が画像測定装置１００の外部に設けられていてもよい。たとえば、画像測定装置１００に外部のティーチングユニットが接続される場合に、このティーチングユニットが上記画像処理装置６０の機能の全部または一部を有していてもよい。
【００８０】
（変形例６）
上述の実施の形態では、画像を用いた画像測定処理装置を例に挙げたが、これに限定されない。例えば、Ｘ線を用いた測定装置であっても良い。Ｘ線を用いた測定装置としては、例えば、米国特許２０１３−００８３８９６号に開示されている。勿論、赤外線を用いた測定装置でも構わない。すなわち測定に用いる波長は上述の実施形態に限られない。また、本実施の形態においては、被測定物Ｓで反射する画像を用いた測定装置を例に挙げたが、Ｘ線を用いた装置のように、被測定物Ｓを透過する画像でも構わない。また、本実施の形態では、被測定物Ｓの表面画像を用いた場合を例に挙げたが、これに限られない。例えば、被測定物Ｓの内部情報に基づく画像を用いても構わない。例えば、Ｘ線を用いた測定装置を用いて被測定物Ｓの内部情報を求めても構わない。例えば、米国特許２０１３−００８３９６号に開示されている。この場合、被測定物Ｓに対して複数の方向から照射された複数の透過画像を用いて再構成処理を行い、被測定物Ｓの内部を含む形状情報を取得する。この再構成後の形状情報に対して、所定平面での断面画像を用いても構わない。被測定物Ｓの断面画像の再構成方法として、例えば、フィルタ補正逆投影法および逐次近似法が挙げられる。逆投影法およびフィルタ補正逆投影法に関しては、例えば、米国特許出願公開第２００２／０１５４７２８号に記載されている。また、逐次近似法に関しては、例えば、米国特許出願公開２０１０／０２２０９０８号に記載されている。
【００８１】
（変形例７）
上記実施の形態では、画像測定装置１００のホストコンピュータ４の制御装置４４が実行する種々のプログラム（たとえば、図５のフローチャートで示した画像処理プログラム）が予めハードディスク４９に格納されている例を説明した。上記プログラムは、ＣＤ−ＲＯＭなどの記録媒体やインターネットなどのデータ信号を通じてホストコンピュータ４に提供することができる。図１５は、その様子を示す図である。ホストコンピュータ４は、例えばＣＤ−ＲＯＭ１０４を介してプログラムの提供を受ける。また、ホストコンピュータ４は通信回線１０１との接続機能を有する。サーバーコンピュータ１０２は上記プログラムを提供するコンピュータであり、ハードディスク１０３などの記録媒体にプログラムを格納する。通信回線１０１は、インターネットなどの通信回線、あるいは専用通信回線などである。サーバーコンピュータ１０２はハードディスク１０３を使用してプログラムを読み出し、通信回線１０１を介してプログラムをホストコンピュータ４に送信する。すなわち、プログラムをデータ信号として搬送波にのせて、通信回線１０１を介して送信する。このように、プログラムは、記録媒体やデータ信号（搬送波）などの種々の形態のコンピュータ読み込み可能なコンピュータプログラム製品として供給できる。
【００８２】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
なお、上述の各実施の形態または変形例の要件は、適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。また、法令で許容される限りにおいて、上述の各実施の形態または変形例で引用した検出装置などに関するすべての公開公報および米国特許の開示を援用して本文の記載の一部とする。
【符号の説明】
【００８３】
１…撮像ユニット、２…光源ユニット、３…インターフェイスユニット、４…ホストコンピュータ、１３…光学系ユニット、１４…結像光学系、１５…撮像装置、４０…コンピュータ本体、４１…キーボード、４２…マウス、４３…ディスプレイ、４４…制御装置、４５…メモリ、４９…ハードディスク、５１…端部指定部、５２…検出領域設定部、５３…分布取得部、５４…方向設定部、５５…閾値設定部、５６…表示制御部、６０…画像処理装置、１００…画像測定装置、４００…構造物製造システム、４１０…設計装置、４２０…成形装置、４３０…制御システム、４３２…検査部、４４０…リペア装置、５２１…候補領域設定部、５２２…延在分布取得部、５２３…領域選択部
【図１】
2016070683.tif 000003
【図２】
2016070683.tif 000004
【図３】
2016070683.tif 000005
【図４】
2016070683.tif 000006
【図５】
2016070683.tif 000007
【図６】
2016070683.tif 000008
【図７】
2016070683.tif 000009
【図８】
2016070683.tif 000010
【図９】
2016070683.tif 000011
【図１０】
2016070683.tif 000012
【図１１】
2016070683.tif 000013
【図１２】
2016070683.tif 000014
【図１３】
2016070683.tif 000015
【図１４】
2016070683.tif 000016
【図１５】
2016070683.tif 000017