(57)【要約】【課題】高さデータを短時間で生成することが可能な検査装置を提供する。【解決手段】第１の照明部に第１の方向から測定対象物に構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３３に記憶させる第１の撮像処理が撮像処理部１３１により実行される。バッファメモリ１３３に記憶された画像データに基づいて第１の方向に対応する高さデータを生成する第１の演算処理が演算処理部１３２により実行される。第１の演算処理と並行して、第２の照明部に第２の方向から測定対象物に構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３４に記憶させる第２の撮像処理が撮像処理部１３１により実行される。バッファメモリ１３４に記憶された画像データに基づいて第２の方向に対応する高さデータを生成する第２の演算処理が演算処理部１３２により実行される。【選択図】図５
2020128928.tif 000002
【特許請求の範囲】
【請求項１】
第１の方向から測定対象物に構造化光を照射する第１の照明部と、
前記第１の方向とは異なる第２の方向から測定対象物に構造化光を照射する第２の照明部と、
測定対象物により反射された光を受光することにより測定対象物の画像を示す画像データを生成する撮像部と、
前記撮像部により生成された画像データに基づいて測定対象物の高さ画像を示す高さデータを生成する演算部とを備え、
前記演算部は、撮像処理部、演算処理部、第１のバッファメモリおよび第２のバッファメモリを含み、
前記撮像処理部は、前記第１の照明部に構造化光を出射させ、前記撮像部に画像データを生成させ、生成された画像データを前記第１のバッファメモリに記憶させる第１の撮像処理を実行し、
前記演算処理部は、前記第１の撮像処理において前記第１のバッファメモリに記憶された画像データに関する演算を行うことにより前記第１の方向に対応する高さデータとして第１の高さデータを生成する第１の演算処理を実行し、
前記撮像処理部は、前記第１の演算処理と並行して、前記第２の照明部に構造化光を出射させ、前記撮像部に画像データを生成させ、生成された画像データを前記第２のバッファメモリに記憶させる第２の撮像処理を実行し、
前記演算処理部は、前記第２の撮像処理において前記第２のバッファメモリに記憶された画像データに関する演算を行うことにより前記第２の方向に対応する高さデータとして第２の高さデータを生成する第２の演算処理を実行する、検査装置。
【請求項２】
前記撮像処理部は、前記第１または第２の撮像処理において前記撮像部により生成された画像データのデータ量を低減させるデータ低減部を含み、
前記データ低減部は、前記第１の撮像処理において、データ量が低減された画像データを前記第１のバッファメモリに記憶させ、前記第２の撮像処理において、データ量が低減された画像データを前記第２のバッファメモリに記憶させる、請求項１記載の検査装置。
【請求項３】
前記撮像処理部は、補助演算処理部をさらに含み、
前記補助演算処理部は、前記第１の撮像処理において、前記第１のバッファメモリに記憶されかつデータ量が低減された画像データに関する演算を行うことにより前記第１の高さデータの一部を生成し、前記第２の撮像処理において、前記第２のバッファメモリに記憶されかつデータ量が低減された画像データに関する演算を行うことにより前記第２の高さデータの一部を生成する、請求項２記載の検査装置。
【請求項４】
前記演算処理部は、前記第１および第２の高さデータを合成することにより測定不可能な部分が低減された合成高さデータを生成する合成処理をさらに実行する、請求項１〜３のいずれか一項に記載の検査装置。
【請求項５】
前記第１および第２の方向とは異なる第３の方向から測定対象物に構造化光を照射する第３の照明部と、
前記第１、第２および第３の方向とは異なる第４の方向から測定対象物に構造化光を照射する第４の照明部とをさらに備え、
前記撮像処理部は、前記第２の演算処理と並行して、前記第３の照明部に構造化光を出射させ、前記撮像部に画像データを生成させ、生成された画像データを前記第１のバッファメモリに記憶させる第３の撮像処理を実行し、
前記演算処理部は、前記第３の撮像処理において前記第１のバッファメモリに記憶された画像データに関する演算を行うことにより前記第３の方向に対応する高さデータとして第３の高さデータを生成する第３の演算処理を実行し、
前記撮像処理部は、前記第３の演算処理と並行して、前記第４の照明部に構造化光を出射させ、前記撮像部に画像データを生成させ、生成された画像データを前記第２のバッファメモリに記憶させる第４の撮像処理を実行し、
前記演算処理部は、前記第４の撮像処理において前記第２のバッファメモリに記憶された画像データに関する演算を行うことにより前記第４の方向に対応する高さデータとして第４の高さデータを生成する第４の演算処理を実行する、請求項１〜３のいずれか一項に記載の検査装置。
【請求項６】
前記演算処理部は、前記第１、第２、第３および第４の高さデータを合成することにより測定不可能な部分が低減された合成高さデータを生成する合成処理をさらに実行する、請求項５記載の検査装置。
【請求項７】
前記演算処理部は、前記第４の撮像処理の前に前記合成処理の一部を実行し、前記第４の撮像処理の後に前記合成処理の残りの部分を実行する、請求項６記載の検査装置。
【請求項８】
前記演算処理部は、前記第１のバッファメモリに記憶された前記第１の高さデータを前記第２のバッファメモリに記憶させ、前記第２のバッファメモリに記憶された前記第１および第２の高さデータを用いて前記合成処理の一部を実行し、
前記撮像処理部は、前記第２のバッファメモリを用いた前記第２の演算処理および前記合成処理の一部と並行して、前記第１のバッファメモリを用いた前記第３の撮像処理を実行する、請求項７記載の検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象物の高さを検査する検査装置に関する。
【背景技術】
【０００２】
三角測距方式の検査装置においては、投光部により測定対象物の表面に光が照射され、その反射光が１次元または２次元に配列された画素を有する受光部により受光される。受光部により得られる受光量分布のデータに基づいて、測定対象物の高さ画像を示す高さデータが生成される。このような高さデータは、工場等の生産現場において、生産された測定対象物の高さを検査（インライン検査）するために用いられることがある。
【０００３】
例えば、特許文献１の三次元画像処理装置においては、測定対象物がベルトコンベアにより搬送され、所定の位置で投光手段により測定対象物に光が多数回照射される。また、測定対象物からの各反射光が撮像部で受光されることにより測定対象物が撮像される。測定対象物の複数の画像データに基づいて、測定対象物の高さデータ（高さ画像）が生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−４５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のインライン検査においては、測定対象物が所定の位置で静止するようにベルトコンベアによる測定対象物の搬送が一定時間停止された状態で、測定対象物に光が多数回照射されるとともに、測定対象物が多数回撮像されることにより高さデータが生成される。ここで、高さデータの生成に長時間を要すると、測定対象物の搬送の停止時間が長期化し、測定対象物の生産効率が低下する。そのため、高さデータを短時間で生成することが可能な検査装置が望まれる。
【０００６】
本発明の目的は、高さデータを短時間で生成することが可能な検査装置を提供することである。
【課題を解決するための手段】
【０００７】
（１）本発明に係る検査装置は、第１の方向から測定対象物に構造化光を照射する第１の照明部と、第１の方向とは異なる第２の方向から測定対象物に構造化光を照射する第２の照明部と、測定対象物により反射された光を受光することにより測定対象物の画像を示す画像データを生成する撮像部と、撮像部により生成された画像データに基づいて測定対象物の高さ画像を示す高さデータを生成する演算部とを備え、演算部は、撮像処理部、演算処理部、第１のバッファメモリおよび第２のバッファメモリを含み、撮像処理部は、第１の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第１のバッファメモリに記憶させる第１の撮像処理を実行し、演算処理部は、第１の撮像処理において第１のバッファメモリに記憶された画像データに関する演算を行うことにより第１の方向に対応する高さデータとして第１の高さデータを生成する第１の演算処理を実行し、撮像処理部は、第１の演算処理と並行して、第２の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第２のバッファメモリに記憶させる第２の撮像処理を実行し、演算処理部は、第２の撮像処理において第２のバッファメモリに記憶された画像データに関する演算を行うことにより第２の方向に対応する高さデータとして第２の高さデータを生成する第２の演算処理を実行する。
【０００８】
この検査装置においては、互いに異なる第１および第２の方向からそれぞれ第１および第２の照明部により測定対象物に構造化光が照射される。また、測定対象物により反射された光が受光されることにより、測定対象物の画像を示す画像データが撮像部により生成される。撮像部により生成された画像データに基づいて測定対象物の高さ画像を示す高さデータが演算部により生成される。
【０００９】
演算部において、第１の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第１のバッファメモリに記憶させる第１の撮像処理が撮像処理部により実行される。第１の撮像処理において第１のバッファメモリに記憶された画像データに関する演算を行うことにより第１の方向に対応する高さデータとして第１の高さデータを生成する第１の演算処理が演算処理部により実行される。
【００１０】
また、演算部において、第１の演算処理と並行して、第２の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第２のバッファメモリに記憶させる第２の撮像処理が撮像処理部により実行される。第２の撮像処理において第２のバッファメモリに記憶された画像データに関する演算を行うことにより第２の方向に対応する高さデータとして第２の高さデータを生成する第２の演算処理が演算処理部により実行される。
【００１１】
この構成によれば、第１の演算処理と第２の撮像処理とが並行して実行される。また、第１の演算処理と第２の撮像処理とは、それぞれ異なる第１および第２のバッファメモリを用いて実行されるので、撮像処理部および演算処理部の各々の処理速度が低下することがない。これにより、高さデータを短時間で生成することができる。
【００１２】
（２）撮像処理部は、第１または第２の撮像処理において撮像部により生成された画像データのデータ量を低減させるデータ低減部を含み、データ低減部は、第１の撮像処理において、データ量が低減された画像データを第１のバッファメモリに記憶させ、第２の撮像処理において、データ量が低減された画像データを第２のバッファメモリに記憶させてもよい。
【００１３】
この場合、データ量が低減されるので、第１または第２のバッファメモリへの画像データの転送時間が短縮される。また、画像データに関する演算が高速化される。これらにより、高さデータをより短時間で生成することができる。
【００１４】
（３）撮像処理部は、補助演算処理部をさらに含み、補助演算処理部は、第１の撮像処理において、第１のバッファメモリに記憶されかつデータ量が低減された画像データに関する演算を行うことにより第１の高さデータの一部を生成し、第２の撮像処理において、第２のバッファメモリに記憶されかつデータ量が低減された画像データに関する演算を行うことにより第２の高さデータの一部を生成してもよい。
【００１５】
この場合、第１または第２のバッファメモリへの画像データの転送時間が短縮されているので、撮像処理部は、撮像部からの画像データの転送を待機する時間に補助演算処理部により第１または第２の高さデータの一部を生成することが可能となる。したがって、演算処理部は第１または第２の高さデータの一部を生成する必要がない。これにより、高さデータをさらに短時間で生成することができる。
【００１６】
（４）演算処理部は、第１および第２の高さデータを合成することにより測定不可能な部分が低減された合成高さデータを生成する合成処理をさらに実行してもよい。この場合、合成高さデータを用いて測定対象物の広範囲に渡る部分を容易に検査することができる。
【００１７】
（５）検査装置は、第１および第２の方向とは異なる第３の方向から測定対象物に構造化光を照射する第３の照明部と、第１、第２および第３の方向とは異なる第４の方向から測定対象物に構造化光を照射する第４の照明部とをさらに備え、撮像処理部は、第２の演算処理と並行して、第３の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第１のバッファメモリに記憶させる第３の撮像処理を実行し、演算処理部は、第３の撮像処理において第１のバッファメモリに記憶された画像データに関する演算を行うことにより第３の方向に対応する高さデータとして第３の高さデータを生成する第３の演算処理を実行し、撮像処理部は、第３の演算処理と並行して、第４の照明部に構造化光を出射させ、撮像部に画像データを生成させ、生成された画像データを第２のバッファメモリに記憶させる第４の撮像処理を実行し、演算処理部は、第４の撮像処理において第２のバッファメモリに記憶された画像データに関する演算を行うことにより第４の方向に対応する高さデータとして第４の高さデータを生成する第４の演算処理を実行してもよい。
【００１８】
この場合、第２の演算処理と第３の撮像処理とがさらに並行して実行され、第３の演算処理と第４の撮像処理とがさらに並行して実行される。また、第２の演算処理と第３の撮像処理とはそれぞれ異なる第２および第１のバッファメモリを用いて実行され、第３の演算処理と第４の撮像処理とはそれぞれ異なる第１および第２のバッファメモリを用いて実行される。そのため、撮像処理部および演算処理部の各々の処理速度が低下することがない。これにより、より多数の高さデータを短時間で生成することができる。
【００１９】
（６）演算処理部は、第１、第２、第３および第４の高さデータを合成することにより測定不可能な部分が低減された合成高さデータを生成する合成処理をさらに実行してもよい。この場合、合成高さデータを用いて測定対象物の広範囲に渡る部分を容易に検査することができる。
【００２０】
（７）演算処理部は、第４の撮像処理の前に合成処理の一部を実行し、第４の撮像処理の後に合成処理の残りの部分を実行してもよい。この場合でも、合成高さデータを生成することができる。
【００２１】
（８）演算処理部は、第１のバッファメモリに記憶された第１の高さデータを第２のバッファメモリに記憶させ、第２のバッファメモリに記憶された第１および第２の高さデータを用いて合成処理の一部を実行し、撮像処理部は、第２のバッファメモリを用いた第２の演算処理および合成処理の一部と並行して、第１のバッファメモリを用いた第３の撮像処理を実行してもよい。
【００２２】
この場合、第２の演算処理および合成処理の一部と、第３の撮像処理とが並行して実行される。また、第２の演算処理および合成処理の一部と第３の撮像処理とはそれぞれ異なる第２および第１のバッファメモリを用いて実行されるので、撮像処理部および演算処理部の各々の処理速度が低下することがない。これにより、合成高さデータを短時間で生成することができる。
【発明の効果】
【００２３】
本発明によれば、高さデータを短時間で生成することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態に係る検査装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る検査装置の構成を示すブロック図である。
【図３】図１の各照明部の構成の一例を示す図である。
【図４】三角測距方式の原理を説明するための図である。
【図５】演算部の構成を示すブロック図である。
【図６】演算部の動作を説明するための図である。
【図７】演算部の動作を説明するための図である。
【図８】演算部の動作を説明するための図である。
【図９】第１および第２の変形例における演算部の動作を示すタイムチャートである。
【図１０】第３の変形例における演算部の動作を示すタイムチャートである。
【図１１】本発明の第２の実施の形態における演算部の構成を示すブロック図である。
【図１２】第２の実施の形態における演算部の動作を説明するための図である。
【図１３】本発明の第３の実施の形態における演算部の構成を示すブロック図である。
【図１４】第３の実施の形態における演算部の動作を説明するための図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態に係る検査装置について図面を参照しながら説明する。
【００２６】
［１］第１の実施の形態
（１）検査装置の構成
図１および図２は、本発明の第１の実施の形態に係る検査装置の構成を示すブロック図である。図１および図２に示すように、検査装置３００は、ヘッド部１００、コントローラ部２００、操作部３１０および表示部３２０を備える。図１に太い矢印で示すように、複数の測定対象物Ｓが、ヘッド部１００の下方の空間を通過するようにベルトコンベア３０１により順次搬送される。各測定対象物Ｓがヘッド部１００の下方の空間を通過する際には、当該測定対象物Ｓがヘッド部１００の下方の所定の位置で一時的に静止するように、ベルトコンベア３０１が一定時間停止する。
【００２７】
ヘッド部１００は、例えば投受光一体の撮像デバイスであり、複数の照明部１１０、撮像部１２０および演算部１３０を含む。なお、図２においては、演算部１３０の図示が省略されている。本実施の形態においては、４個の照明部１１０が９０度間隔で撮像部１２０を取り囲むように設けられる（図２参照）。
【００２８】
各照明部１１０は、任意のパターンを有する光（以下、構造化光と呼ぶ。）を斜め上方から測定対象物Ｓに照射可能に構成される。以下の説明では、４個の照明部１１０を区別する場合は、４個の照明部１１０をそれぞれ照明部１１０Ａ，１１０Ｂ，１１０Ｃ，１１０Ｄと呼ぶ。照明部１１０Ａと照明部１１０Ｂとは撮像部１２０を挟んで対向し、照明部１１０Ｃと照明部１１０Ｄとは撮像部１２０を挟んで対向する。照明部１１０の構成については後述する。
【００２９】
撮像部１２０は、撮像素子１２１および受光レンズ１２２，１２３を含む。測定対象物Ｓにより上方に反射された光は、撮像部１２０の受光レンズ１２２，１２３により集光および結像された後、撮像素子１２１により受光される。撮像素子１２１は、例えばモノクロＣＣＤ（電荷結合素子）であり、各画素から受光量に対応するアナログの電気信号を出力することにより画像データを生成する。撮像素子１２１は、ＣＭＯＳ（相補性金属酸化膜半導体）イメージセンサ等の他の撮像素子であってもよい。
【００３０】
演算部１３０は、各照明部１１０および撮像部１２０の動作を制御するとともに、撮像部１２０により生成された複数の画像データに基づいて測定対象物Ｓの高さ画像を示す高さデータを生成する。本実施の形態においては、演算部１３０は、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）により実現される。演算部１３０の詳細については後述する。
【００３１】
コントローラ部２００は、使用者により指定された検査内容に基づいて、演算部１３０により生成された高さデータについてエッジ検出または寸法計測等の処理を実行する。また、コントローラ部２００は、計測値を所定のしきい値と比較することにより、測定対象物Ｓの良否を検査する。
【００３２】
コントローラ部２００には、操作部３１０および表示部３２０が接続される。操作部３１０は、キーボード、ポインティングデバイスまたは専用のコンソールを含む。ポインティングデバイスとしては、マウスまたはジョイスティック等が用いられる。使用者は、操作部３１０を操作することにより、コントローラ部２００に所望の検査内容を指定することができる。
【００３３】
表示部３２０は、例えばＬＣＤ（液晶ディスプレイ）パネルまたは有機ＥＬ（エレクトロルミネッセンス）パネルにより構成される。表示部３２０は、コントローラ部２００による制御に基づいて、演算部１３０により生成された高さデータに基づく高さ画像を表示する。また、表示部３２０は、コントローラ部２００による測定対象物Ｓの検査結果を表示する。
【００３４】
図３は、図１の各照明部１１０の構成の一例を示す図である。図３に示すように、各照明部１１０は、光源１１１，１１２，１１３、ダイクロイックミラー１１４，１１５、照明レンズ１１６、ミラー１１７、パターン生成部１１８および投光レンズ１１９を含む。光源１１１，１１２，１１３は、例えばＬＥＤ（発光ダイオード）であり、緑色光、青色光および赤色光をそれぞれ出射する。各光源１１１〜１１３はＬＥＤ以外の他の光源であってもよい。
【００３５】
ダイクロイックミラー１１４は、光源１１１により出射された緑色光と光源１１２により出射された青色光とを重ね合わせ可能に配置される。ダイクロイックミラー１１５は、ダイクロイックミラー１１４により重ね合わされた光と光源１１３により出射された赤色光とを重ね合わせ可能に配置される。これにより、光源１１１〜１１３によりそれぞれ出射された光が共通の光路上で重ね合わされ、白色光が生成可能となる。
【００３６】
照明レンズ１１６は、ダイクロイックミラー１１５を通過または反射した光を集光する。ミラー１１７は、照明レンズ１１６により集光された光をパターン生成部１１８に反射する。パターン生成部１１８は、例えばＤＭＤ（デジタルマイクロミラーデバイス）であり、入射した光に任意のパターンを付与する。パターン生成部１１８は、ＬＣＤまたはＬＣＯＳ（反射型液晶素子)であってもよい。投光レンズ１１９は、パターン生成部１１８からの光を平行化し、図１の測定対象物Ｓに照射する。
【００３７】
図１の演算部１３０は、光源１１１〜１１３による光の出射を制御するとともに、パターン生成部１１８により光に付与されるパターンを制御する。これにより、白色の構造化光を照明部１１０から出射することが可能となる。
【００３８】
（２）高さデータの生成
検査装置３００においては、ヘッド部１００に固有の三次元座標系（以下、装置座標系と呼ぶ。）が定義される。本例の装置座標系は、原点と互いに直交するＸ軸、Ｙ軸およびＺ軸とを含む。以下の説明では、装置座標系のＸ軸に平行な方向をＸ方向と呼び、Ｙ軸に平行な方向をＹ方向と呼び、Ｚ軸に平行な方向をＺ方向と呼ぶ。Ｘ方向およびＹ方向は、ベルトコンベア３０１の上面（以下、基準面と呼ぶ。）に平行な面内で互いに直交する。Ｚ方向は、基準面に対して直交する。
【００３９】
ヘッド部１００においては、三角測距方式により測定対象物Ｓの高さ画像を示す高さデータが生成される。図４は、三角測距方式の原理を説明するための図である。図４には、Ｘ方向、Ｙ方向およびＺ方向がそれぞれ矢印で示される。図４に示すように、照明部１１０から出射される光の光軸と撮像部１２０に入射する光の光軸との間の角度αが予め設定される。角度αは、０度よりも大きく９０度よりも小さい。
【００４０】
ヘッド部１００の下方に測定対象物Ｓが存在しない場合、照明部１１０から出射される光は、基準面Ｒの点Ｏにより反射され、撮像部１２０に入射する。一方、ヘッド部１００の下方に測定対象物Ｓが存在する場合、照明部１１０から出射される光は、測定対象物Ｓの表面の点Ａにより反射され、撮像部１２０に入射する。これにより、測定対象物Ｓが撮像され、測定対象物Ｓの画像を示す画像データが生成される。
【００４１】
点Ｏと点Ａとの間のＸ方向における距離をｄとすると、基準面Ｒに対する測定対象物Ｓの点Ａの高さｈは、ｈ＝ｄ÷ｔａｎ（α）により与えられる。演算部１３０は、撮像部１２０により生成される画像データに基づいて、距離ｄを算出する。また、演算部１３０は、算出された距離ｄに基づいて、測定対象物Ｓの表面の点Ａの高さｈを算出する。測定対象物Ｓの表面の全ての点の高さを算出することにより、光が照射された全ての点について装置座標系で表される座標を特定することができる。それにより、測定対象物Ｓの高さデータが生成される。
【００４２】
測定対象物Ｓの表面の全ての点に光を照射するために、各照明部１１０から種々の構造化光が出射される。本実施の形態においては、Ｙ方向に平行でかつＸ方向に並ぶような直線状の断面を有する縞状の構造化光（以下、縞状光と呼ぶ。）が、その空間位相が変化されつつ各照明部１１０から複数回出射される。また、Ｙ方向に平行な直線状の断面を有しかつ明部分と暗部分とがＸ方向に並ぶコード状の構造化光（以下、コード状光と呼ぶ。）が、その明部分および暗部分がグレイコード状に変化されつつ各照明部１１０から複数回出射される。
【００４３】
また、本実施の形態においては、複数の照明部１１０により測定対象物Ｓに対して互いに異なる複数（本例では４つ）の方向から光を出射することができる。それにより、いずれかの照明部１１０から出射される光により測定不可能な部分がある場合でも、その測定不可能な部分の形状を他の照明部１１０から出射される光を用いて測定することができる。そこで、複数の照明部１１０に対応して生成された高さデータを合成することにより、測定不可能な部分が低減された合成高さデータを生成することができる。
【００４４】
（３）演算部
図５は、演算部１３０の構成を示すブロック図である。図５に示すように、演算部１３０は、撮像処理部１３１、演算処理部１３２、およびバッファメモリ１３３，１３４を含む。本実施の形態においては、撮像処理部１３１、演算処理部１３２およびバッファメモリ１３３，１３４はＦＰＧＡにより実現されるが、本発明はこれに限定されない。撮像処理部１３１と演算処理部１３２とは、別個のＣＰＵ（中央演算処理装置）等の処理装置により実現されてもよい。また、バッファメモリ１３３とバッファメモリ１３４とは、別個のＲＡＭ（ランダムアクセスメモリ）等のメモリにより実現されてもよい。
【００４５】
撮像処理部１３１は、複数種類の縞状光および複数種類のコード状光（以下、一連の構造化光と呼ぶ。）を順次出射するように各照明部１１０を制御する。また、撮像処理部１３１は、各照明部１１０による一連の構造化光の出射と同期して測定対象物Ｓを順次撮像することにより複数の画像データを生成するように撮像部１２０を制御する。さらに、撮像処理部１３１は、撮像部１２０により生成された複数の画像データを取得し、バッファメモリ１３３またはバッファメモリ１３４に記憶させる。
【００４６】
演算処理部１３２は、バッファメモリ１３３またはバッファメモリ１３４に記憶された複数の画像データに関する演算を行うことにより高さデータを生成し、生成された高さデータを当該バッファメモリ１３３，１３４に記憶させる。また、演算処理部１３２は、複数の高さデータを合成することにより、測定不可能な部分が低減された合成高さデータを生成する。演算処理部１３２により行われる演算は、相対位相演算、空間コード演算、絶対位相演算および高さ情報演算を含む。
【００４７】
相対位相演算においては、複数種類の縞状光に対応する画像データに基づいて、測定対象物Ｓが存在しない場合の基準高さ位置から反射した受光量に対応する位相と、測定対象物Ｓが存在する場合の測定対象物Ｓ表面から反射した受光量に対応する位相とが算出される。また、これらの位相差から測定対象物Ｓの高さが算出される。この演算によれば、個々の空間周期的な縞が区別できず、空間位相に縞１周期分（２π）の整数倍に相当する不確かさが存在するため、測定対象物Ｓの絶対的な高さが算出されないが、測定分解能を高くすることができる。
【００４８】
空間コード演算においては、複数種類のコード状光に対応する画像データに基づいて、測定対象物Ｓの領域ごとに測定対象物Ｓが存在することにより変化したコードが取得される。取得されたコードと測定対象物Ｓが存在しない場合のコードとの差分を領域ごとに求めることにより、測定対象物Ｓの高さが算出される。この演算によれば、測定分解能が低いが、測定対象物Ｓの絶対的な高さを算出することができる。また、空間コード演算における演算量は比較的少ないため、演算処理部１３２の負担は比較的小さい。
【００４９】
絶対位相演算においては、空間コード演算の結果と相対位相演算の結果とを組み合わせることにより、測定対象物Ｓの絶対的な高さが算出される。高さ情報演算においては、絶対位相演算の結果に基づいて、測定対象物Ｓの高さデータが生成される。
【００５０】
ここで、撮像処理部１３１および演算処理部１３２の両方が同時にバッファメモリ１３３またはバッファメモリ１３４にアクセスすると、撮像処理部１３１および演算処理部１３２の各々の処理速度が低下する。そこで、本実施の形態においては、撮像処理部１３１および演算処理部１３２とバッファメモリ１３３，１３４との接続関係が、例えばＤＭＡＣ（Direct Memory Access Controller）により動的に切り替えられる。
【００５１】
具体的には、撮像処理部１３１および演算処理部１３２の一方がバッファメモリ１３３にアクセスしているときには、撮像処理部１３１および演算処理部１３２の他方がバッファメモリ１３３にアクセスすることができないように接続関係が切り替えられる。同様に、撮像処理部１３１および演算処理部１３２の一方がバッファメモリ１３４にアクセスしているときには、撮像処理部１３１および演算処理部１３２の他方がバッファメモリ１３４にアクセスすることができないように接続関係が切り替えられる。
【００５２】
図６、図７および図８は演算部１３０の動作を説明するための図である。図６（ａ）に示すように、所定の期間に第１の撮像処理が実行される。第１の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ａを制御するとともに、照明部１１０Ａに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３３に記憶させる。
【００５３】
その後、図６（ｂ）に示すように、所定の期間に第２の撮像処理と第１の演算処理とが並列的に実行される。第２の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ｂを制御するとともに、照明部１１０Ｂに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３４に記憶させる。第１の演算処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された照明部１１０Ａに対応する複数の画像データに基づいて第１の高さデータを生成し、バッファメモリ１３３に記憶させる。
【００５４】
その後、図７（ａ）に示すように、所定の期間に第３の撮像処理と第２の演算処理とが並列的に実行される。第３の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ｃを制御するとともに、照明部１１０Ｃに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３３に記憶させる。第２の演算処理においては、演算処理部１３２は、バッファメモリ１３４に記憶された照明部１１０Ｂに対応する複数の画像データに基づいて第２の高さデータを生成し、バッファメモリ１３４に記憶させる。
【００５５】
その後、図７（ｂ）に示すように、所定の期間に第４の撮像処理と第３の演算処理とが並列的に実行される。第４の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ｄを制御するとともに、照明部１１０Ｄに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３４に記憶させる。第３の演算処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された照明部１１０Ｃに対応する複数の画像データに基づいて第３の高さデータを生成し、バッファメモリ１３３に記憶させる。
【００５６】
その後、図８（ａ）に示すように、所定の期間に第４の演算処理が実行される。第４の演算処理においては、演算処理部１３２は、バッファメモリ１３４に記憶された照明部１１０Ｄに対応する複数の画像データに基づいて第４の高さデータを生成し、バッファメモリ１３４に記憶させる。
【００５７】
その後、図８（ｂ）に示すように、所定の期間に合成処理が実行される。合成処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された第１および第３の高さデータと、バッファメモリ１３４に記憶された第２および第４の高さデータとを合成する。これにより、測定不可能な部分が低減された合成高さデータが生成される。
【００５８】
具体的には、互いに対向する照明部１１０Ａ，１１０Ｂにそれぞれ対応する第１および第２の高さデータが合成されることにより、測定不可能な部分が低減された第１の合成高さデータが生成される。また、互いに対向する照明部１１０Ｃ，１１０Ｄにそれぞれ対応する第３および第４の高さデータが合成されることにより、測定不可能な部分が低減された第２の合成高さデータが生成される。さらに、第１および第２の合成高さデータが合成されることにより、最終的な合成高さデータが生成される。
【００５９】
（４）効果
本実施の形態に係る検査装置３００においては、互いに異なる第１〜第４の方向から照明部１１０Ａ〜１１０Ｄにより測定対象物Ｓに構造化光が照射される。また、測定対象物Ｓにより反射された光が受光されることにより、測定対象物Ｓの画像を示す画像データが撮像部１２０により生成される。撮像部１２０により生成された画像データに基づいて測定対象物Ｓの高さ画像を示す高さデータが演算部１３０により生成される。
【００６０】
演算部１３０において、照明部１１０Ａに構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３３に記憶させる第１の撮像処理が撮像処理部１３１により実行される。第１の撮像処理においてバッファメモリ１３３に記憶された画像データに関する演算を行うことにより第１の方向に対応する第１の高さデータを生成する第１の演算処理が演算処理部１３２により実行される。
【００６１】
第１の演算処理と並行して、照明部１１０Ｂに構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３４に記憶させる第２の撮像処理が撮像処理部１３１により実行される。第２の撮像処理においてバッファメモリ１３４に記憶された画像データに関する演算を行うことにより第２の方向に対応する第２の高さデータを生成する第２の演算処理が演算処理部１３２により実行される。
【００６２】
第２の演算処理と並行して、照明部１１０Ｃに構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３３に記憶させる第３の撮像処理が撮像処理部１３１により実行される。第３の撮像処理においてバッファメモリ１３３に記憶された画像データに関する演算を行うことにより第３の方向に対応する第３の高さデータを生成する第３の演算処理が演算処理部１３２により実行される。
【００６３】
第３の演算処理と並行して、照明部１１０Ｄに構造化光を出射させ、撮像部１２０に画像データを生成させ、生成された画像データをバッファメモリ１３４に記憶させる第４の撮像処理が撮像処理部１３１により実行される。第４の撮像処理においてバッファメモリ１３４に記憶された画像データに関する演算を行うことにより第４の方向に対応する第４の高さデータを生成する第４の演算処理が演算処理部１３２により実行される。
【００６４】
このように、第１の演算処理と第２の撮像処理とが並行して実行され、第２の演算処理と第３の撮像処理とが並行して実行され、第３の演算処理と第４の撮像処理とが並行して実行される。ここで、第１の演算処理と第２の撮像処理とは、それぞれ異なる第１およびバッファメモリ１３４を用いて実行される。第２の演算処理と第３の撮像処理とは、それぞれ異なる第２およびバッファメモリ１３３を用いて実行される。第３の演算処理と第４の撮像処理とは、それぞれ異なる第１およびバッファメモリ１３４を用いて実行される。
【００６５】
この構成によれば、撮像処理部１３１および演算処理部１３２の各々の処理速度が低下することがない。これにより、多数の高さデータを短時間で生成することができる。また、複数の高さデータを合成することにより測定不可能な部分が低減された合成高さデータを生成する合成処理が演算処理部１３２により実行される。この場合、合成高さデータを用いて測定対象物Ｓの広範囲に渡る部分を容易に検査することができる。
【００６６】
（５）変形例
本実施の形態においては、第４の演算処理の後に第１〜第４の高さデータを合成する合成処理が実行されるが、本発明はこれに限定されない。例えば、各演算処理の実行時間が各撮像処理の実行時間よりも短い場合には、２以上の高さデータを合成する合成処理が各撮像処理の後に適宜実行されてもよい。
【００６７】
図９（ａ），（ｂ）は、それぞれ第１および第２の変形例における演算部１３０の動作を示すタイムチャートである。なお、図９（ａ），（ｂ）の各処理の下には、当該処理に使用されるバッファメモリの区別が示されている。後述する図１０においても同様である。
【００６８】
図９（ａ）に示すように、第１の変形例においては、第３の撮像処理と第４の撮像処理との間に第１の合成処理が実行される。第１の合成処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された第１の高さデータと、バッファメモリ１３４に記憶された第２の高さデータとを合成することにより、第１の合成高さデータを生成する。
【００６９】
第４の演算処理の後、第２の合成処理が実行される。第２の合成処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された第３の高さデータと、バッファメモリ１３４に記憶された第４の高さデータとを合成することにより、第２の合成高さデータを生成する。また、演算処理部１３２は、第２の合成高さデータと、第１の合成処理において生成された第１の合成高さデータとを合成することにより、最終的な合成高さデータを生成する。
【００７０】
図９（ｂ）に示すように、第２の変形例においては、第２の撮像処理と第３の撮像処理との間に複製処理が実行される。複製処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された第１の高さデータをバッファメモリ１３４に複製（移動でもよい。）する。この場合、第１の合成処理においては、バッファメモリ１３４を使用することとなり、バッファメモリ１３３を使用する必要がない。
【００７１】
したがって、バッファメモリ１３３を使用する第３の撮像処理と、バッファメモリ１３４を使用する第２の演算処理および第１の合成処理とを並列的に実行することが可能となる。また、撮像処理部１３１および演算処理部１３２の各々の処理速度が低下することがない。これにより、合成高さデータをより短時間で生成することができる。
【００７２】
図１０は、第３の変形例における演算部１３０の動作を示すタイムチャートである。図１０に示すように、第３の変形例においては、まず、第１の撮像処理が実行される。本例における第１の撮像処理は、図６（ａ）における第１の撮像処理と同様である。
【００７３】
その後、所定の期間に第２の撮像処理と第１の演算処理とが並列的に実行される。第２の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ｂではなく照明部１１０Ｃを制御するとともに、照明部１１０Ｃに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３４に記憶させる。本例における第１の演算処理は、図６（ｂ）における第１の演算処理と同様である。
【００７４】
その後、所定の期間に第３の撮像処理と第２の演算処理とが並列的に実行される。第３の撮像処理においては、撮像処理部１３１は、一連の構造化光を順次出射するように照明部１１０Ｃではなく照明部１１０Ｂを制御するとともに、照明部１１０Ｂに対応する複数の画像データを生成するように撮像部１２０を制御し、生成された複数の画像データをバッファメモリ１３３に記憶させる。第２の演算処理においては、演算処理部１３２は、バッファメモリ１３４に記憶された照明部１１０Ｃに対応する複数の画像データに基づいて第３の高さデータを生成し、バッファメモリ１３４に記憶させる。
【００７５】
その後、所定の期間に第４の撮像処理と第３の演算処理および第１の合成処理とが並列的に実行される。本例における第４の撮像処理は、図７（ｂ）における第４の撮像処理と同様である。第３の演算処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された照明部１１０Ｂに対応する複数の画像データに基づいて第２の高さデータを生成し、バッファメモリ１３３に記憶させる。第１の合成処理においては、演算処理部１３２は、バッファメモリ１３３に記憶された第１および第２の高さデータを合成することにより、第１の合成高さデータを生成する。
【００７６】
その後、所定の期間に第４の演算処理が実行される。本例における第４の演算処理は、図８（ａ）における第４の演算処理と同様である。その後、所定の期間に第２の合成処理が実行される。本例における第２の合成処理は、第１または第２の変形例における第２の合成処理と同様である。
【００７７】
このように、本例における第１の合成処理においては、バッファメモリ１３３を使用することとなり、バッファメモリ１３４を使用する必要がない。したがって、バッファメモリ１３４を使用する第４の撮像処理と、バッファメモリ１３３を使用する第３の演算処理および第１の合成処理とを並列的に実行することが可能となる。これにより、合成高さデータをより短時間で生成することができる。
【００７８】
［２］第２の実施の形態
第２の実施の形態に係る検査装置３００について、第１の実施の形態に係る検査装置３００と異なる点を説明する。図１１は、本発明の第２の実施の形態における演算部１３０の構成を示すブロック図である。本実施の形態においては、図１１に示すように、撮像処理部１３１は、データ低減部１３１ａを含む。データ低減部１３１ａは、撮像部１２０により生成された画像データに画像処理を行うことにより画像データのデータ量を低減する。このような画像処理は、例えばビニング処理を含む。
【００７９】
図１２は、第２の実施の形態における演算部１３０の動作を説明するための図である。図１２（ａ）には、参考のために、第１の実施の形態における演算部１３０の動作を示すタイムチャートが示されている。図１２（ａ）に示すように、第１の実施の形態においては、各撮像処理の実行時間は、各演算処理の実行時間よりも長い傾向にある。
【００８０】
本実施の形態においては、図１２（ｂ）に示すように、撮像処理部１３１は、各撮像処理時に、縞状光に対応する撮像が行われるように照明部１１０および撮像部１２０を制御する。これにより、縞状光に対応する複数の画像データが生成される。データ低減部１３１ａは、生成された縞状光に対応する複数の画像データに画像処理を行い、画像処理後の縞状光に対応する複数の画像データをバッファメモリ１３３またはバッファメモリ１３４に記憶させる。
【００８１】
また、撮像処理部１３１は、各撮像処理時に、コード状光に対応する撮像が行われるように照明部１１０および撮像部１２０を制御する。これにより、コード状光に対応する複数の画像データが生成される。データ低減部１３１ａは、生成されたコード状光に対応する複数の画像データに画像処理を行い、画像処理後のコード状光に対応する複数の画像データをバッファメモリ１３３またはバッファメモリ１３４に記憶させる。
【００８２】
この動作によれば、複数の画像データのデータ量が低減されることにより、バッファメモリ１３３，１３４への画像データの転送時間が短縮される。これにより、各撮像処理の実行時間を短縮することができる。図１２（ｂ）には、第１の実施の形態における撮像処理に対して短縮された時間が点線で図示されている。本実施の形態においては、各撮像処理の実行時間を各演算処理の実行時間よりも短くすることが可能となる。また、複数の画像データのデータ量が低減されるので、画像データに関する演算が高速化される。これらの結果、高さデータをより短時間で生成することができる。
【００８３】
なお、図１２（ｂ）には、第１〜第４の撮像処理を代表して、第２の撮像処理のタイムチャートが示されているが、他の撮像処理のタイムチャートも第２の撮像処理のタイムチャートと同様である。また、図１２（ｂ）には、第１〜第４の演算処理を代表して、第１の演算処理のタイムチャートが示されているが、他の演算処理のタイムチャートも第１の演算処理のタイムチャートと同様である。各撮像処理において、縞状光に対応する撮像およびその画像処理と、コード状光に対応する撮像およびその画像処理とは、いずれが先に実行されてもよい。
【００８４】
［３］第３の実施の形態
第３の実施の形態に係る検査装置３００について、第２の実施の形態に係る検査装置３００と異なる点を説明する。図１３は、本発明の第３の実施の形態における演算部１３０の構成を示すブロック図である。図１４は、第３の実施の形態における演算部１３０の動作を説明するための図である。図１４（ａ）には、参考のために、第２の実施の形態における演算部１３０の動作を示すタイムチャートが示されている。図１３に示すように、撮像処理部１３１は、データ低減部１３１ａに加えて、補助演算処理部１３１ｂをさらに含む。
【００８５】
本実施の形態においては、第２の実施の形態と同様に、複数の画像データのデータ量がデータ低減部１３１ａにより低減される。これにより、バッファメモリ１３３，１３４への画像データの転送時間が短縮される。一方で、撮像部１２０から撮像処理部１３１に画像データが転送される時間は一定である。そのため、画像データの転送時間が短縮されることにより、撮像処理部１３１に所定の待機時間が発生する。すなわち、撮像処理部１３１に他の処理を行う時間的余裕が発生する。
【００８６】
そこで、補助演算処理部１３１ｂは、高さデータを生成するための演算の一部を実行する。補助演算処理部１３１ｂの演算処理能力は、演算処理部１３２の演算処理能力よりも低くてもよい。本実施の形態においては、図１４（ｂ）に示すように、補助演算処理部１３１ｂは、空間コード演算、相対位相演算、絶対位相演算および高さ情報演算のうち、演算量が比較的少ない空間コード演算を実行する。当該空間コード演算は、上記の待機時間内に完了する。したがって、補助演算処理部１３１ｂが空間コード演算を行った場合でも、撮像処理の実行時間は変化しない。
【００８７】
この動作によれば、演算処理部１３２は、相対位相演算、絶対位相演算および高さ情報演算を行えばよく、空間コード演算を行う必要がない。これにより、各演算処理の実行時間を短縮することができる。図１４（ｂ）には、第２の実施の形態における演算処理に対して短縮された時間が点線で図示されている。その結果、高さデータをさらに短時間で生成することができる。
【００８８】
なお、図１４（ａ），（ｂ）には、第１〜第４の撮像処理を代表して、第２の撮像処理のタイムチャートが示されているが、他の撮像処理のタイムチャートも第２の撮像処理のタイムチャートと同様である。また、図１４（ａ），（ｂ）には、第１〜第４の演算処理を代表して、第１の演算処理のタイムチャートが示されているが、他の演算処理のタイムチャートも第１の演算処理のタイムチャートと同様である。
【００８９】
各撮像処理において、縞状光に対応する撮像およびその画像処理と、コード状光に対応する撮像、その画像処理および空間コード演算とは、いずれが先に実行されてもよい。コード状光に対応する撮像、その画像処理および空間コード演算が先に実行される場合には、撮像処理の実行時間を変化させることなく空間コード演算を実行する時間をより容易に確保することができる。
【００９０】
［４］他の実施の形態
（ａ）上記実施の形態において、複数の高さデータが合成されることにより合成高さデータが生成されるが、本発明はこれに限定されない。複数の高さデータは、合成されることなく測定対象物Ｓの検査に用いられてもよい。
【００９１】
（ｂ）上記実施の形態において、ヘッド部１００は４個の照明部１１０Ａ〜１１０Ｄを含むが、本発明はこれに限定されない。ヘッド部１００は２個の照明部１１０Ａ，１１０Ｂを含んでもよいし、３個以上の任意の数の照明部１１０を含んでもよい。
【００９２】
［５］請求項の各構成要素と実施の形態の各部との対応関係
請求項の各構成要素と実施の形態の各部との対応の例について説明する。上記実施の形態においては、測定対象物Ｓが測定対象物の例であり、照明部１１０Ａ〜１１０Ｄがそれぞれ第１〜第４の照明部の例であり、撮像部１２０が撮像部の例である。演算部１３０が演算部の例であり、撮像処理部１３１が撮像処理部の例であり、演算処理部１３２が演算処理部の例であり、バッファメモリ１３３，１３４がそれぞれ第１および第２のバッファメモリの例である。検査装置３００が検査装置の例であり、データ低減部１３１ａがデータ低減部の例であり、補助演算処理部１３１ｂが補助演算処理部の例である。
【符号の説明】
【００９３】
１００…ヘッド部，１１０，１１０Ａ〜１１０Ｄ…照明部，１１１〜１１３…光源，１１４，１１５…ダイクロイックミラー，１１６…照明レンズ，１１７…ミラー，１１８…パターン生成部，１１９…投光レンズ，１２０…撮像部，１３０…演算部，１３１…撮像処理部，１３１ａ…データ低減部，１３１ｂ…補助演算処理部，１３２…演算処理部，１３３，１３４…バッファメモリ，２００…コントローラ部，３００…検査装置，３０１…ベルトコンベア，３１０…操作部，３２０…表示部，Ｒ…基準面，Ｓ…測定対象物
【図１】
2020128928.tif 000003
【図２】
2020128928.tif 000004
【図３】
2020128928.tif 000005
【図４】
2020128928.tif 000006
【図５】
2020128928.tif 000007
【図６】
2020128928.tif 000008
【図７】
2020128928.tif 000009
【図８】
2020128928.tif 000010
【図９】
2020128928.tif 000011
【図１０】
2020128928.tif 000012
【図１１】
2020128928.tif 000013
【図１２】
2020128928.tif 000014
【図１３】
2020128928.tif 000015
【図１４】
2020128928.tif 000016