(57)【要約】      （修正有）【課題】合焦点法を用いて被写体の立体形状を計測する立体形状計測装置を提供する。【解決手段】立体形状計測装置は、合焦点法を用いて被写体Ｏｂｊの立体形状を計測する立体形状計測手段４０を備える。立体形状計測手段は、第１撮像範囲を用いて撮像手段１０に複数の第１画像を取得させる。立体形状計測手段は、複数の第１画像に基いて被写体の立体形状を計測し、被写体の表面を検出する。更に、立体形状計測手段は、被写体の検出された表面から、検出された表面から離れる方向に延びる第２撮像範囲を設定し、第２撮像範囲を用いて撮像手段に複数の第２画像を取得させる。立体形状計測手段は、複数の第２画像に基いて被写体の表面上に存在する検出対象物の立体形状を計測する。【選択図】図１
2020180953.tif 000002
【特許請求の範囲】
【請求項１】
対物レンズを有し、被写体を撮像して前記被写体の画像を取得する撮像手段と、
前記対物レンズと前記被写体との間の距離である対物距離を変化させる対物距離変更手段と
前記対物距離変更手段を制御して前記対物距離を変化させながら前記撮像手段に前記被写体の複数の画像を取得させ、前記複数の画像のそれぞれにおいて合焦位置を算出し、当該算出された合焦位置の集合から前記被写体の立体形状を計測する立体形状計測手段と、
を備え、
前記立体形状計測手段は、前記複数の画像を取得する際の撮像範囲を設定するように構成され、
前記立体形状計測手段は、
第１撮像範囲を設定し、前記第１撮像範囲を用いて前記撮像手段に複数の第１画像を取得させ、
前記複数の第１画像に基いて前記被写体の前記立体形状を計測するとともに、前記被写体の表面を検出し、
前記被写体の前記検出された表面から、当該検出された表面から離れる方向に延びる第２撮像範囲を設定し、
前記第２撮像範囲を用いて前記撮像手段に複数の第２画像を取得させ、
前記複数の第２画像に基いて前記被写体の前記表面上に存在する検出対象物の立体形状を計測する
ように構成された
立体形状計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、合焦点法を用いて被写体の立体形状を計測する立体形状計測装置に関する。
【背景技術】
【０００２】
従来から、被写体の画像を取得する画像取得装置が提案されている（例えば、特許文献１を参照。）。特許文献１に提案されている装置（以下、「従来装置」と称呼する。）は、被写体の撮像画像のコントラスト値の変化を監視し、コントラスト値が急激に増加する画像領域を選択して画像加算を行うことにより被写体の画像を取得する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２５３８９６号公報
【発明の概要】
【０００４】
上述のように取得された画像は、例えば、被写体の表面に存在する異物を検出するために用いられる場合がある。しかし、画像の撮像範囲に対して比較的小さい物体（異物）が存在する場合、コントラスト値が大きく変化しない。従って、従来装置は、異物を検出するのに適した画像を取得できない場合がある。その結果、異物を精度良く検出できない可能性がある。
【０００５】
本発明は、上記課題を解決するためになされた。即ち、本発明の目的の一つは、被写体の表面に存在する検出対象物（例えば、異物）を精度良く検出することが可能な立体形状計測装置を提供することである。
【０００６】
本発明の立体形状計測装置（以下、「本発明装置」と称呼される場合がある。）は、
対物レンズ（１１）を有し、被写体（Ｏｂｊ）を撮像して前記被写体の画像を取得する撮像手段（１０）と、
前記対物レンズと前記被写体との間の距離である対物距離（Ｄｓ）を変化させる対物距離変更手段（２０）と
前記対物距離変更手段を制御して前記対物距離を変化させながら前記撮像手段に前記被写体の複数の画像を取得させ、前記複数の画像のそれぞれにおいて合焦位置を算出し、当該算出された合焦位置の集合から前記被写体の立体形状を計測する立体形状計測手段（４０）と、
を備える。
前記立体形状計測手段は、前記複数の画像を取得する際の撮像範囲を設定するように構成されている。
更に、前記立体形状計測手段は、
第１撮像範囲（５０１）を設定し（ステップ７０１）、前記第１撮像範囲を用いて前記撮像手段に複数の第１画像を取得させ（ステップ７０２）、
前記複数の第１画像に基いて前記被写体の前記立体形状を計測する（ステップ７０３）とともに、前記被写体の表面（６０１）を検出し（ステップ７０４）、
前記被写体の前記検出された表面（６０１）から、当該検出された表面から離れる方向に延びる第２撮像範囲（８０１）を設定し（ステップ７０５）、
前記第２撮像範囲を用いて前記撮像手段に複数の第２画像を取得させ（ステップ７０６）、
前記複数の第２画像に基いて前記被写体の前記表面上に存在する検出対象物の立体形状を計測する（ステップ７０７）
ように構成されている。
【０００７】
係る構成を有する本発明装置は、検出された被写体の表面から、当該被写体の表面から離れる方向に延びる第２撮像範囲を設定することにより、被写体上の検出対象物（例えば、異物）を精度良く検出することができる。
【０００８】
上記説明においては、本発明の理解を助けるために、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び／又は符号を括弧書きで添えている。しかしながら、本発明の各構成要素は、前記名称及び／又は符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る立体形状計測装置の概略構成図である。
【図２】合焦点法を説明する図である。
【図３】立体形状計測装置により設定される撮像範囲の一例を説明する図である。
【図４】立体形状計測装置により設定される撮像範囲の一例を説明する図である。
【図５】立体形状計測装置により設定される第１撮像範囲の一例を説明する図である。
【図６】図５に示した第１撮像範囲を用いて計測された被写体の立体形状が出力装置（ディスプレイ）に表示された一例を示す。
【図７】立体形状計測手段のＣＰＵが実行する「立体形状計測ルーチン」を示したフローチャートである。
【図８】立体形状計測装置により設定される第２撮像範囲の一例を説明する図である。
【図９】図８に示した第２撮像範囲を用いて計測された被写体上の異物の立体形状が出力装置（ディスプレイ）に表示された一例を示す。
【図１０】被写体の立体形状及び被写体上の異物の立体形状が出力装置（ディスプレイ）に表示された一例を示す。
【図１１】立体形状計測装置により設定される第２撮像範囲の一例を説明する図である。
【図１２】立体形状計測装置により設定される第３撮像範囲の一例を説明する図である。
【図１３】立体形状計測装置により設定される第１撮像範囲の一例を説明する図である。
【図１４】立体形状計測装置により設定される第２撮像範囲の一例を説明する図である。
【図１５】立体形状計測装置により設定される第２撮像範囲の一例を説明する図である。
【発明を実施するための形態】
【００１０】
以下の説明においては、ＸＹＺ直交座標系が設定される。水平面内の所定方向をＸ軸方向、水平面内においてＸ軸方向と直交する方向をＹ軸方向、Ｘ軸方向及びＹ軸方向のそれぞれに直交する方向（すなわち鉛直方向）をＺ軸方向とする。更に、Ｘ軸、Ｙ軸、及びＺ軸まわりの回転（傾斜）方向をそれぞれ、θＸ、θＹ、及びθＺ方向とする。
【００１１】
＜装置の構成＞
本発明の実施形態に係る立体形状計測装置（以下、「本実施装置」と称呼される場合がある。）は、図１に示したように、撮像手段１０、対物距離変更手段２０、被写体支持手段３０、及び、立体形状計測手段４０を備えている。
【００１２】
撮像手段１０は、例えば、対物レンズ１１を有する単眼カメラである。撮像手段１０は、被写体Ｏｂｊを撮像して、被写体Ｏｂｊの画像を取得する。なお、撮像手段１０の光学系（対物レンズ１１）の光軸は、Ｚ軸方向に一致している。
【００１３】
対物距離変更手段２０は、対物レンズ１１と被写体Ｏｂｊとの間の距離である対物距離Ｄｓを変化させる機構である。対物距離変更手段２０は、支柱２１及びアーム２２を備えている。支柱２１は、Ｚ軸方向に延びている。アーム２２の一端が撮像手段１０に取付けられており、アーム２２の他端が支柱２１に取付けられている。アーム２２は、支柱２１に沿ってＺ軸方向に移動可能に構成されている。従って、アーム２２をＺ軸方向に移動させることにより、撮像手段１０を対物レンズ１１の光軸方向に移動させることができる。これにより、撮像手段１０の焦点位置を光軸方向に移動させる。
【００１４】
被写体支持手段３０は、被写体Ｏｂｊを載置するためのステージである。なお、ステージは、被写体Ｏｂｊを載置した状態でＸ軸方向、Ｙ軸方向、及びＺ軸方向のそれぞれに移動可能に構成される。更に、ステージは、被写体Ｏｂｊを載置した状態でθＸ、θＹ、及びθＺ方向に回転可能なステージであってもよい。
【００１５】
立体形状計測手段４０は、コンピュータシステムを含む。立体形状計測手段４０は、ＣＰＵ４０１と、メモリ４０２と、記憶装置４０３と、インタフェース（Ｉ／Ｆ）４０４とを備える。メモリ４０２は、揮発性メモリであり、記憶装置４０３は、不揮発性ストレージ（例えば、ハードディスク）である。ＣＰＵ４０１は、記憶装置４０３に格納されたインストラクション（プログラム、ルーチン）を実行することにより後述する各種機能を実現するようになっている。
【００１６】
立体形状計測手段４０は、更に、入力装置４１及び出力装置４２を含む。入力装置４１は、ユーザからの各種要求を受け付ける装置であり、キーボード及びマウスを含む。出力装置４２は、ＣＰＵ４０１が実行した処理の結果を出力するディスプレイを含む。
【００１７】
＜立体形状計測手段の構成＞
立体形状計測手段４０は、合焦点法を用いて、被写体Ｏｂｊの立体形状を計測するようになっている。合焦点法は、図２に示すように、撮像手段１０（具体的には対物レンズ１１）と被写体Ｏｂｊとの間の対物距離Ｄｓを撮像手段１０の光軸方向に一定距離ずつ変動させながら複数の画像を撮像し、焦点の合った部分（以下、「合焦位置」と称呼する。）をつなぎ合わせる（重ね合わせる）ことにより被写体Ｏｂｊの立体形状（表面形状）を計測する方法である。図２のｚ１乃至ｚ４は、それぞれ、焦点面を表す。図２の被写体Ｏｂｊ上の点線は、ｚ１乃至ｚ４のそれぞれの焦点面における合焦位置を表す。合焦点法は周知である（例えば、石原満宏、佐々木博美「合焦法による高速三次元形状計測」精密工学会誌，vol.63,No.1,1997を参照。）。
【００１８】
立体形状計測手段４０は、機能上の構成要素として、撮像制御部４１１と、画像保存部４１２と、合焦度算出部４１３と、合焦位置算出部４１４と、立体形状計測部４１５とを備えている。
【００１９】
撮像制御部４１１は、撮像手段１０及び対物距離変更手段２０を制御する。具体的には、撮像制御部４１１は、撮像手段１０が被写体Ｏｂｊを撮像する際の撮像範囲を設定する。撮像範囲は、ＸＹＺ直交座標系により定義され、例えば、ＸＹＺ直交座標系における直方体により定義される。例えば、図３及び図４に示すように、撮像制御部４１１は、撮像範囲（３０１、４０１）を設定することができる。
【００２０】
撮像制御部４１１は、撮像範囲を設定すると、対物距離変更手段２０を制御して対物距離Ｄｓを一定距離ずつ変動させながら、撮像手段１０を制御してその設定された撮像範囲において複数の画像を取得する。なお、撮像制御部４１１は、対物距離変更手段２０に代えて又は加えて、被写体支持手段３０を制御して対物距離Ｄｓを一定距離ずつ変動させてもよい。
【００２１】
画像保存部４１２は、メモリ４０２の一部である。画像保存部４１２は、撮像手段１０により取得された複数の画像を一時的に記憶する。
【００２２】
合焦度算出部４１３は、画像保存部４１２に記憶されている複数の画像の各画素について、合焦度を算出する。合焦度は、合焦測度とも称呼される場合がある。合焦度は、対象となる画素の部分における焦点（ピント）の合い具合を示す値であり、その値が大きいほど焦点が合っていることを表す。合焦度は、像のコントラスト及び像の高周波数成分等に基いて算出され得る。合焦度は様々な既知の演算方法の一つ（例えば、石原満宏、佐々木博美「合焦法による高速三次元形状計測」精密工学会誌，vol.63,No.1,1997、特開平３−６３５０７号公報、及び、ＷＯ２０１２／０９９２２０等を参照。）により求められる。
【００２３】
合焦位置算出部４１４は、周囲の合焦度に対して相対的に高い合焦度を有する画素を「合焦位置」として算出する。合焦位置は、合焦点とも称呼される場合がある。合焦位置は、様々な既知の演算方法の一つ（例えば、石原満宏、佐々木博美「合焦法による高速三次元形状計測」精密工学会誌，vol.63,No.1,1997、特開平３−６３５０７号公報、及び、ＷＯ２０１２／０９９２２０等を参照。）により求められる。
【００２４】
立体形状計測部４１５は、合焦位置の集合から、被写体Ｏｂｊの立体形状（表面形状）を計測する。具体的には、立体形状計測部４１５は、合焦位置の集合をＸＹＺ直交座標系に反映させる。立体形状計測部４１５は、各合焦位置をＸＹＺ直交座標系においてつなぎ合わせる（重ね合わせる）ことにより、被写体Ｏｂｊの立体形状を作成する。立体形状計測部４１５は、当該作成された被写体Ｏｂｊの立体形状を出力装置４２に出力する。なお、出力装置４２に表示される被写体Ｏｂｊの立体形状は、ＸＹＺ直交座標系の三次元空間において表示される。
【００２５】
＜本実施装置の概要＞
例えば、図５に示すように、被写体Ｏｂｊ上に異物ＦＯが存在すると仮定する。立体形状計測手段４０は、撮像範囲５０１を設定して、合焦点法を用いて被写体Ｏｂｊの立体形状を計測する。図６は、撮像範囲５０１において計測された被写体Ｏｂｊの立体形状が出力装置４２（ディスプレイ）に表示された例を示す。異物ＦＯが小さい物体である場合、画像上で異物ＦＯに対応する画素の領域においてコントラスト値が大きく変化しないことから、異物ＦＯに対応する画素の合焦度が高い値になりにくい。これに対し、被写体Ｏｂｊの表面ではコントラスト値が大きく変化することから、被写体Ｏｂｊの表面に対応する画素の合焦度が比較的高い値になる。その結果、異物ＦＯに対応する画素の合焦度が、周囲の合焦度に比べて相対的に高くならないので、異物ＦＯに対応する画素が合焦位置として算出されない。従って、図６に示すように、被写体Ｏｂｊの表面の立体形状のみが検出され、被写体Ｏｂｊの表面上に存在する異物ＦＯの立体形状が検出されない場合がある。更に、仮に異物ＦＯの立体形状が検出できた場合でも、異物ＦＯの全体が撮像範囲に入っておらず、従って、異物ＦＯの全体の形状を把握できない可能性もある。
【００２６】
そこで、本実施装置の立体形状計測手段４０は、まず、第１撮像範囲を用いて複数の第１画像を取得し、当該複数の第１画像に基いて被写体Ｏｂｊの立体形状を計測する。そして、立体形状計測手段４０は、被写体Ｏｂｊの表面を検出する。次に、立体形状計測手段４０は、検出された被写体Ｏｂｊの表面から、当該表面から離れる方向（例えば、表面に対して法線方向）に延びる第２撮像範囲を設定する。立体形状計測手段４０は、第２撮像範囲を用いて複数の第２画像を取得し、当該複数の第２画像に基いて被写体Ｏｂｊの表面上に存在する検出対象物（異物ＦＯ）の立体形状を計測する。なお、第２撮像範囲の長さ（被写体Ｏｂｊの表面の法線方向に沿った長さ）は、検出対象とすべき異物ＦＯの全体が含まれるような値（想定される異物ＦＯの長さ以上の値）に設定される。
【００２７】
上述のような構成によれば、第２撮像範囲が被写体Ｏｂｊの表面上に設定されるので、第２撮像範囲には異物ＦＯ及び空間のみが含まれる。第２撮像範囲内のほとんどの部分が空間になるので、異物ＦＯに対応する画素の合焦度が、周囲の合焦度に比べて相対的に高い値になる。その結果、異物ＦＯに対応する画素が合焦位置として算出されるので、異物ＦＯの立体形状を検出することができる。更に、第２撮像範囲の長さが、検出対象とすべき異物ＦＯの長さを考慮して設定されているので、異物ＦＯの全体が含まれる可能性を高めることができる。
【００２８】
更に、本実施装置は、異物ＦＯが第２撮像範囲を越えて延びているかを判定する。異物ＦＯが第２撮像範囲を越えて延びている場合、本実施装置は、異物ＦＯが延びていると推定される範囲を第３撮像範囲として設定する。立体形状計測手段４０は、第３撮像範囲を用いて複数の第３画像を取得し、当該複数の第３画像に基いて検出対象物（異物ＦＯ）の未検出部分の立体形状を計測する。
【００２９】
＜本実施装置の具体的作動＞
立体形状計測手段４０のＣＰＵ４０１（単に「ＣＰＵ」と称呼する。）の具体的作動について説明する。ユーザが、被写体支持手段３０に被写体Ｏｂｊを載置した状態で入力装置４１を用いて所定の計測要求を行うと、ＣＰＵは、図７のフローチャートにより示した「立体形状計測ルーチン」を実行するようになっている。
【００３０】
ＣＰＵは、ステップ７００から開始して、以下に述べるステップ７０１乃至ステップ７０８の処理を順に行う。その後、ＣＰＵは、ステップ７０９に進む。
【００３１】
ステップ７０１：ＣＰＵは、入力装置４１からのユーザの入力に基いて第１撮像範囲を設定する。本例において、ＣＰＵは、図５に示す撮像範囲５０１を「第１撮像範囲」として設定すると仮定する。
ステップ７０２：ＣＰＵは、前述のように、対物距離変更手段２０を制御して対物距離Ｄｓを一定距離ずつ変動させながら、撮像手段１０を制御して第１撮像範囲５０１において複数の第１画像を取得する。
【００３２】
ステップ７０３：ＣＰＵは、複数の第１画像に基いて被写体Ｏｂｊの立体形状を計測する。具体的には、ＣＰＵは、複数の第１画像において算出された合焦位置の集合から、被写体Ｏｂｊの立体形状を計測する。図６は、前述のように、第１撮像範囲５０１において計測された被写体Ｏｂｊの立体形状である。
ステップ７０４：ＣＰＵは、図６に示すように、計測された被写体Ｏｂｊの立体形状に基いて、被写体Ｏｂｊの表面６０１を検出する。
【００３３】
ステップ７０５：ＣＰＵは、図８に示すように、ステップ７０４にて検出された被写体Ｏｂｊの表面６０１から、当該被写体Ｏｂｊの表面６０１から離れる方向Ｄ１に延びる撮像範囲８０１を「第２撮像範囲」として設定する。このとき、第２撮像範囲８０１は、被写体Ｏｂｊの表面６０１を含まないように設定されるのが好ましい。例えば、第２撮像範囲８０１は、被写体Ｏｂｊの表面６０１に対して所定の値（可能な限り小さい値が好ましい）だけ離れた位置から方向Ｄ１に延びるように設定される。なお、被写体Ｏｂｊの表面に凹凸がある場合もある。このような場合には、被写体Ｏｂｊの表面の一部が第２撮像範囲８０１に含まれてもよい。本例において、方向Ｄ１は、被写体Ｏｂｊの表面６０１の法線方向であり、Ｚ軸方向に一致している。なお、方向Ｄ１は、被写体Ｏｂｊの表面６０１から離れる方向であればよく、被写体Ｏｂｊの表面６０１の法線方向に限定されない。
【００３４】
撮像範囲８０１の方向Ｄ１に沿う長さＬ１（ここでは、Ｚ軸方向の長さ）は、予め定められた値である。「長さＬ１」は、検出対象とすべき異物ＦＯの全体が含まれるような値に設定されることが好ましい。例えば、ユーザは、図７のルーチンを実行する前に入力装置４１を操作して、「長さＬ１」を「想定される異物ＦＯの長さ以上の値」に予め設定することができる。これにより、第２撮像範囲に異物ＦＯの全体が含まれる可能性を高めることができる。なお、撮像範囲８０１のＸ軸方向の長さ及びＹ軸方向の長さは、第１撮像範囲５０１と同じ値に設定されてもよいし、予め定められた値に設定されてもよい。
【００３５】
ステップ７０６：ＣＰＵは、前述のように、対物距離変更手段２０を制御して対物距離Ｄｓを一定距離ずつ変動させながら、撮像手段１０を制御して第２撮像範囲８０１において複数の第２画像を取得する。
【００３６】
ステップ７０７：ＣＰＵは、複数の第２画像に基いて被写体Ｏｂｊ上の異物ＦＯの立体形状を計測する。具体的には、ＣＰＵは、複数の第２画像において算出された合焦位置の集合から、異物ＦＯの立体形状を計測する。図９は、第２撮像範囲８０１において計測された異物ＦＯの立体形状である。第２撮像範囲８０１は被写体Ｏｂｊの表面６０１に対して上方に設定されるので、第２撮像範囲８０１には異物ＦＯ及び空間のみが含まれる。第２撮像範囲８０１内のほとんどの部分が空間になるので、異物ＦＯに対応する画素の合焦度が、周囲の合焦度に比べて相対的に高い値になる。これにより、異物ＦＯに対応する画素が合焦位置として算出される。その結果、図９に示すように、異物ＦＯの立体形状を検出することができる。
【００３７】
ステップ７０８：ＣＰＵは、ステップ７０３にて計測された被写体Ｏｂｊの立体形状及びステップ７０７にて計測された被写体Ｏｂｊ上の異物ＦＯの立体形状を合成し、被写体Ｏｂｊ及びその被写体Ｏｂｊ上の異物ＦＯの立体形状を出力装置４２（ディスプレイ）に表示する。図１０は、被写体Ｏｂｊ及びその被写体Ｏｂｊ上の異物ＦＯの立体形状が出力装置４２に表示された例を示す。なお、ＣＰＵは、ステップ７０３にて計測された被写体Ｏｂｊの立体形状及びステップ７０７にて計測された異物ＦＯの立体形状を、それぞれ、出力装置４２上の別の画面にて表示してもよい。
【００３８】
次に、ＣＰＵは、ステップ７０９に進むと、以下の条件Ａ１及び条件Ａ２の両方が成立するか否かを判定する。
（条件Ａ１）被写体Ｏｂｊ上に異物ＦＯが存在する。なお、当該条件Ａ１は、ステップ７０７にて被写体Ｏｂｊ上に異物ＦＯが検出されたときに成立する。
（条件Ａ２）未検出の異物ＦＯの部分が存在する。なお、当該条件Ａ２は、ステップ７０７にて計測された被写体Ｏｂｊ上の異物ＦＯの端部が第２撮像範囲の端まで到達しているときに成立する。この場合、異物ＦＯが第２撮像範囲を越えて第２撮像範囲の外側に延びている可能性が非常に高い。
【００３９】
条件Ａ１及び条件Ａ２の何れか又は両方が成立しない場合、ＣＰＵは、ステップ７０９にて「Ｎｏ」と判定してステップ７９５に進み、本ルーチンを終了する。
【００４０】
例えば、図１１に示すように、異物ＦＯが第２撮像範囲８０１を越えて第２撮像範囲８０１の外側に延びていると仮定する。この場合、条件Ａ１及び条件Ａ２の両方が成立するので、ＣＰＵは、ステップ７０９にて「Ｙｅｓ」と判定して以下に述べるステップ７１０乃至ステップ７１３の処理を順に行う。その後、ＣＰＵは、ステップ７９５に進み、本ルーチンを終了する。
【００４１】
ステップ７１０：ＣＰＵは、図１２に示すように、第２撮像範囲８０１の面（異物ＦＯの端部が到達している面）８０１ａから、当該面８０１ａから離れる方向Ｄ１に延びる撮像範囲１２０１を第３撮像範囲として設定する。第３撮像範囲１２０１の方向Ｄ１に沿う長さＬ１は、上述した値と同様の値である。
ステップ７１１：ＣＰＵは、前述のように、対物距離変更手段２０を制御して対物距離Ｄｓを一定距離ずつ変動させながら、撮像手段１０を制御して第３撮像範囲１２０１において複数の第３画像を取得する。
【００４２】
ステップ７１２：ＣＰＵは、複数の第３画像に基いて被写体Ｏｂｊ上の異物ＦＯの立体形状を計測する。具体的には、ＣＰＵは、複数の第３画像において算出された合焦位置の集合から、異物ＦＯの立体形状を計測する。
ステップ７１３：ＣＰＵは、ステップ７０３にて計測された被写体Ｏｂｊの立体形状、ステップ７０７にて計測された異物ＦＯの立体形状、及び、ステップ７０７にて計測された異物ＦＯの立体形状を合成し、被写体Ｏｂｊ及びその被写体Ｏｂｊ上の異物ＦＯの立体形状を出力装置４２に表示する。なお、ＣＰＵは、ステップ７１３の処理を実行した後に、ステップ７０９に戻るように構成されてもよい。この場合、異物ＦＯが第３撮像範囲１２０１をも越えて延びている場合にも、異物ＦＯの立体形状を検出することができる。
【００４３】
本実施装置は、第１撮像範囲５０１における複数の第１画像に基いて被写体Ｏｂｊの表面６０１を検出する。本実施装置は、検出された被写体Ｏｂｊの表面６０１から、当該表面６０１から離れる方向（表面６０１に対して法線方向）に延びる第２撮像範囲８０１を設定する。本実施装置は、第２撮像範囲８０１における複数の第２画像に基いて被写体Ｏｂｊ上の異物ＦＯの立体形状を計測できる。従って、本実施装置は、被写体Ｏｂｊ上に存在する検出対象物（異物ＦＯ）を精度良く検出することができる。更に、本実施装置は、異物ＦＯが第２撮像範囲８０１を越えて延びている場合でも、第３撮像範囲１２０１を設定することにより、異物ＦＯの全体の立体形状を計測できる。
【００４４】
更に、従来では、被写体Ｏｂｊ上に存在する検出対象物を検出するために、被写体Ｏｂｊに対して多くの撮像範囲を設定して、異物ＦＯの立体形状を計測していた。これに対し、本実施装置によれば、検出対象物の全体像を撮像する際の撮像範囲の設定回数が比較的少なくなる（２回又は３回）。従って、従来に比べて検出対象物を検出するのにかかる時間を短縮することができる。更に、取得する画像の枚数が従来に比べて削減される。メモリ４０２に一時的に記憶される画像のデータ量を抑制することができ、被写体Ｏｂｊの立体形状を計測している最中にメモリ４０２の容量が不足するという事態を防ぐこともできる。
【００４５】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
【００４６】
（変形例１）
図１３に示すように第１撮像範囲１３０１が設定された場合、立体形状計測手段４０のＣＰＵは、ステップ７０４にて、異なる方向（Ｘ軸方向及びＺ軸方向）に延びる２つの表面１３１０及び１３１１を検出する。この場合、ＣＰＵは、２つの表面１３１０及び１３１１の何れかを選択して、第２撮像範囲を設定してもよい。例えば、図１４に示すように、ＣＰＵは、表面１３１０を選択した場合、撮像範囲１４０１を「第２撮像範囲」として設定してもよい。２つの表面１３１０及び１３１１が連続した面である場合、撮像範囲１４０１は、２つの表面１３１０及び１３１１の間のＲ部（曲線部）をも含むように設定されてもよい。従って、撮像範囲１４０１には、表面１３１０及び上記Ｒ部が含まれる。なお、別の例として、撮像範囲１４０１は、表面１３１０から方向Ｄ１に延びるように設定されてもよい。
【００４７】
一方、表面１３１１を選択した場合、ＣＰＵは、表面１３１１から、当該表面１３１１から離れる方向Ｄ２に延びる撮像範囲１４０２を「第２撮像範囲」として設定してもよい。なお、表面１３１１を選択した場合においても、撮像範囲１４０２が、表面１３１１及び上記Ｒ部を含むように設定されてもよい。更に別の例として、ＣＰＵは、２つの第２撮像範囲１４０１及び１４０２を設定して、２つの第２撮像範囲１４０１及び１４０２のそれぞれにおいて画像を取得してもよい。
【００４８】
（変形例２）
図１５に示すように、被写体Ｏｂｊの表面１３１０の裏面側から斜め下方へ延びるように異物ＦＯが存在する場合もある。従って、ＣＰＵは、検出された被写体Ｏｂｊの表面１３１０から（表面１３１０から所定の値だけ下の位置から）、当該表面１３１０に離れる方向Ｄ３（Ｚ軸方向のマイナス方向）に延びるように第２撮像範囲１５０１を設定してもよい。
【００４９】
（変形例３）
立体形状計測手段４０は、図７のルーチンの「ステップ７０５及びステップ７０６」並びに「ステップ７１０及びステップ７１１」の処理を実行する際に、被写体Ｏｂｊを載置した状態で被写体支持手段３０をθＸ、θＹ、及びθＺ方向に回転させてもよい。これにより、被写体Ｏｂｊの表面に対して法線方向以外の方向に延びる方向に撮像範囲を設定し、その撮像範囲で画像を取得することができる。
【００５０】
撮像手段１０は、Ｘ軸方向、Ｙ軸方向、及びＺ軸方向のそれぞれに移動可能に構成されてもよい。更に、撮像手段１０は、θＸ、θＹ、及びθＺ方向に傾斜するように構成されてもよい。立体形状計測手段４０は、図７のルーチンの「ステップ７０５及びステップ７０６」並びに「ステップ７１０及びステップ７１１」の処理を実行する際に、撮像手段１０の位置及び角度を変更させてもよい。これにより、被写体Ｏｂｊの表面に対して法線方向以外の方向に延びる方向に撮像範囲を設定し、その撮像範囲で画像を取得することができる。
【符号の説明】
【００５１】
１０…撮像手段、２０…対物距離変更手段、３０…被写体支持手段３０、４０…立体形状計測手段４０、Ｏｂｊ…被写体。
【図１】
2020180953.tif 000003
【図２】
2020180953.tif 000004
【図３】
2020180953.tif 000005
【図４】
2020180953.tif 000006
【図５】
2020180953.tif 000007
【図６】
2020180953.tif 000008
【図７】
2020180953.tif 000009
【図８】
2020180953.tif 000010
【図９】
2020180953.tif 000011
【図１０】
2020180953.tif 000012
【図１１】
2020180953.tif 000013
【図１２】
2020180953.tif 000014
【図１３】
2020180953.tif 000015
【図１４】
2020180953.tif 000016
【図１５】
2020180953.tif 000017