(57)【要約】【課題】様々な形状のワークを撮像した際に、画像に写り込んだ種々の写り込みを欠陥と区別し、検査精度を向上させる。【解決手段】カメラにワークを撮像させたときのカメラに対するワークの相対的な位置及び姿勢を取得する（Ｓ４０１）。複数の画像それぞれについて特徴点を抽出する（Ｓ４０２）。ステップＳ４０１にて取得したワークの位置及び姿勢に基づき、カメラを基準とする画像座標系の特徴点の座標値を、ワークを基準とするワーク座標系で定義した仮想平面上の座標値に変換する（Ｓ４０４）。複数の画像間でワーク座標系において同じ座標値となる特徴点の出現頻度を算出する（Ｓ４０５）。予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する（Ｓ４０７）。【選択図】図４
2017040600.tif 000002
【特許請求の範囲】
【請求項１】
処理部が、ワークに対する撮像装置の相対的な撮像位置を移動装置により変更しながら光源にて前記ワークに光を照射した状態で前記撮像装置に前記ワークを撮像させて得られる複数の画像から前記ワークの欠陥を検出する検査方法であって、
前記処理部が、前記撮像装置に前記ワークを撮像させたときの前記撮像装置に対する前記ワークの相対的な位置及び姿勢を取得する取得工程と、
前記処理部が、前記複数の画像それぞれについて特徴点を抽出する特徴点抽出工程と、
前記処理部が、前記取得工程にて取得した前記ワークの位置及び姿勢に基づき、前記撮像装置を基準とする画像座標系の前記特徴点の座標値を、前記ワークを基準とするワーク座標系で定義した仮想平面上の座標値に変換する座標変換工程と、
前記処理部が、前記複数の画像間で前記ワーク座標系において同じ座標値となる前記特徴点の出現頻度を算出する頻度算出工程と、
前記処理部が、予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する判定工程と、を備えたことを特徴とする検査方法。
【請求項２】
前記仮想平面上の座標値とは、前記仮想平面を複数のセルに区画した際の前記各セルに対応する座標値であり、
前記頻度算出工程として、前記処理部が、前記セル毎の前記特徴点の出現頻度を示す頻度マップを求め、
前記判定工程として、前記処理部が、前記頻度マップを参照して判定することを特徴とする請求項１に記載の検査方法。
【請求項３】
前記処理部が、前記特徴点の特徴量を算出する特徴量算出工程と、
前記処理部が、前記判定工程にて欠陥であると判定した特徴点の特徴量が予め設定された特徴量閾値を超えるか否かを判定する特徴量判定工程と、を更に備えたことを特徴とする請求項１又は２に記載の検査方法。
【請求項４】
前記頻度算出工程において、前記処理部が、前記ワーク座標系において予め設定された被検査領域を、前記画像座標系に変換し、前記各画像中、前記画像座標系に変換された前記被検査領域内に含まれる前記特徴点について前記出現頻度を算出することを特徴とする請求項１乃至３のいずれか１項に記載の検査方法。
【請求項５】
前記画像は、前記撮像装置により撮像された撮像画像に対して２値化処理を施した２値化画像であることを特徴とする請求項１乃至４のいずれか１項に記載の検査方法。
【請求項６】
ワークに光を照射する光源と、
前記ワークを撮像する撮像装置と、
前記ワークと前記撮像装置とを相対的に移動させる移動装置と、
前記ワークに対する前記撮像装置の相対的な撮像位置を前記移動装置により変更しながら前記光源にて前記ワークに光を照射した状態で前記撮像装置に前記ワークを撮像させて得られる複数の画像から前記ワークの欠陥を検出する処理部と、を備え、
前記処理部は、
前記撮像装置に前記ワークを撮像させたときの前記撮像装置に対する前記ワークの相対的な位置及び姿勢を取得する取得処理と、
前記複数の画像それぞれについて特徴点を抽出する特徴点抽出処理と、
前記取得処理にて取得した前記ワークの位置及び姿勢に基づき、前記撮像装置を基準とする画像座標系の前記特徴点の座標値を、前記ワークを基準とするワーク座標系で定義した仮想平面上の座標値に変換する座標変換処理と、
前記複数の画像間で前記ワーク座標系において同じ座標値となる前記特徴点の出現頻度を算出する頻度算出処理と、
予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する判定処理と、を実行することを特徴とする検査装置。
【請求項７】
前記仮想平面上の座標値とは、前記仮想平面を複数のセルに区画した際の前記各セルに対応する座標値であり、
前記処理部は、前記頻度算出処理として、前記セル毎の前記特徴点の出現頻度を示す頻度マップを求め、前記判定処理として、前記頻度マップを参照して判定することを特徴とする請求項６に記載の検査装置。
【請求項８】
前記処理部は、前記特徴点の特徴量を算出する特徴量算出処理と、
前記判定処理にて欠陥であると判定した特徴点の特徴量が予め設定された特徴量閾値を超えるか否かを判定する特徴量判定処理と、を更に実行することを特徴とする請求項６又は７に記載の検査装置。
【請求項９】
前記処理部は、前記頻度算出処理において、前記ワーク座標系において予め設定された被検査領域を、前記画像座標系に変換し、前記各画像中、前記画像座標系に変換された前記被検査領域内に含まれる前記特徴点について前記出現頻度を算出することを特徴とする請求項６乃至８のいずれか１項に記載の検査装置。
【請求項１０】
前記画像は、前記撮像装置により撮像された撮像画像に対して２値化処理を施した２値化画像であることを特徴とする請求項６乃至９のいずれか１項に記載の検査装置。
【請求項１１】
前記移動装置は、多関節のロボットと、前記ロボットの動作を制御するロボットコントローラと、を有し、
前記ロボットにより、前記ワークの位置及び姿勢が変更されることを特徴とする請求項６乃至１０のいずれか１項に記載の検査装置。
【請求項１２】
ワークに対する撮像装置の相対的な撮像位置を移動装置により変更しながら光源にて前記ワークに光を照射した状態で前記撮像装置に前記ワークを撮像させて得られる複数の画像から前記ワークの欠陥を検出する処理部を有する画像処理装置であって、
前記処理部は、
前記撮像装置に前記ワークを撮像させたときの前記撮像装置に対する前記ワークの相対的な位置及び姿勢を取得する取得処理と、
前記複数の画像それぞれについて特徴点を抽出する特徴点抽出処理と、
前記取得処理にて取得した前記ワークの位置及び姿勢に基づき、前記撮像装置を基準とする画像座標系の前記特徴点の座標値を、前記ワークを基準とするワーク座標系で定義した仮想平面上の座標値に変換する座標変換処理と、
前記複数の画像間で前記ワーク座標系において同じ座標値となる前記特徴点の出現頻度を算出する頻度算出処理と、
予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する判定処理と、を実行することを特徴とする画像処理装置。
【請求項１３】
コンピュータに、請求項１乃至５のいずれか１項に記載の検査方法の各工程を実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの欠陥を検出する検査方法、検査装置、画像処理装置、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
従来、カメラなどの撮像装置を用いて撮像された撮像画像に写ったワークに存在する欠陥を検出するために、種々の画像処理方法が用いられてきた。例えば、ワークの欠陥の有無を、画像処理を用いて検査し、ワークの良品不良品判定を行う検査装置が知られている。このような検査装置では、光源からの光で照明されたワークを撮像装置で撮像し、撮像された画像データに所定の画像処理を施すことにより、欠陥を抽出して検査を行う。
【０００３】
一方、このような方法をとった場合、光源からの光が、ワークの表面又は内部の反射により撮像画像に写り込む場合がある。すなわち、ワークには欠陥があるわけではないのに、光源からの光が、あたかも欠陥があるかのように撮像画像に写り込む場合がある。
【０００４】
このような画像に対して画像処理を施すと、欠陥と光源の写り込みとが欠陥候補として抽出される。したがって、光源の写り込みを除いて欠陥だけを抽出する画像処理が必要となる。
【０００５】
これに対し、特許文献１では、光源の写り込みを含む画像から欠陥と光源の写り込みとを区別する方法が提案されている。特許文献１では、複数の光源を間隔をあけて配置し、それぞれを順次点灯させて、ワークを撮像し検査する。ここで、各画像におけるワークの表面からの反射による光源の写り込みの位置は、光源からの光の照射位置（照射角度を含む）によって移動するが、欠陥は位置が移動しない。このことを利用し、位置が移動しないものは欠陥、移動するものは写り込みと判断する。
【０００６】
また、特許文献２では、光源の写り込みが発生する領域を除去して、欠陥だけを抽出する画像処理方法が提案されている。特許文献２では、検査対象のワークであるドラム缶の蓋を検査するために、２つのストロボ照明を用意し、照明を別々に点灯させて撮像画像を取得する。各々の照明の写り込みは、毎回同じ箇所に出現するため、予め設定された検査領域をもとに取得した撮像画像を合成し、照明の写り込みのない合成画像を生成する。更に合成画像を元に画像処理してワークは検査される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１３９２０９号公報
【特許文献２】特開２００３−１３０９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の方法では、光の照射位置によって移動しない写り込みと欠陥とは分別できなかった。光の照射位置によって移動しない写り込みの例としては、検査装置の内部構造の写り込みや、ワークそのものの写り込みなどがあげられる。例えば、ワークが所定角度で配置された一対のミラー面を有し、ミラー面の検査を行う場合、ミラー面の反射によりワークそのものが撮像画像に写り込むことがあった。これらの写り込みが発生した場合、ワークに対する光源からの光の照射位置を変化させても、写り込みの位置は変化しないため、欠陥と写り込みとを区別することはできなかった。
【０００９】
また、特許文献２の方法でも、各照射位置で光を照射した光源の写り込みを除去することはできるが、光の照射位置によって移動しない写り込みと欠陥とは区別できなかった。
【００１０】
そこで、本発明は、様々な形状のワークを撮像した際に、画像に写り込んだ種々の写り込みを欠陥と区別し、検査精度を向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の検査方法は、処理部が、ワークに対する撮像装置の相対的な撮像位置を移動装置により変更しながら光源にて前記ワークに光を照射した状態で前記撮像装置に前記ワークを撮像させて得られる複数の画像から前記ワークの欠陥を検出する検査方法であって、前記処理部が、前記撮像装置に前記ワークを撮像させたときの前記撮像装置に対する前記ワークの相対的な位置及び姿勢を取得する取得工程と、前記処理部が、前記複数の画像それぞれについて特徴点を抽出する特徴点抽出工程と、前記処理部が、前記取得工程にて取得した前記ワークの位置及び姿勢に基づき、前記撮像装置を基準とする画像座標系の前記特徴点の座標値を、前記ワークを基準とするワーク座標系で定義した仮想平面上の座標値に変換する座標変換工程と、前記処理部が、前記複数の画像間で前記ワーク座標系において同じ座標値となる前記特徴点の出現頻度を算出する頻度算出工程と、前記処理部が、予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する判定工程と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、光源の写り込みやワークそのものの写り込み等の種々の写り込みはワーク座標系では移動し、欠陥はワーク座標系では移動しない。したがって、欠陥と写り込みとを区別することができ、検査精度を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る検査装置を示す概略図である。
【図２】第１実施形態に係る画像処理装置を示すブロック図である。
【図３】第１実施形態に係る検査装置の画像処理装置の機能を示す機能ブロック図である。
【図４】第１実施形態に係る検査方法を示すフローチャートである。
【図５】（ａ）〜（ｃ）は、第１実施形態に係る検査方法において欠陥に対応する欠陥候補と光源の写り込みに対応する欠陥候補を示す概念図である。（ｄ）は、第１実施形態に係る検査方法において生成される頻度マップを示す概念図である。
【図６】第２実施形態に係る検査方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１５】
［第１実施形態］
図１は、本発明の第１実施形態に係る検査装置を示す概略図である。検査装置１００は、ワーク（被検査物）Ｗを保持して移動させる移動装置としてのロボット装置１１０と、光源１０２と、撮像装置としてのカメラ１０５と、検査制御装置である画像処理装置２００と、を備えている。
【００１６】
第１実施形態ではワークＷは、光学部品としてのレンズとし、レンズ表面のキズ、汚れ等の外観検査を行う。なお、ワークＷは、レンズ以外の光学部品でもよいし、光学部品以外の部品、例えばカメラの外装部品等でもよく、工場で製造される部品全般を指す。ワークＷは、不図示の設置手段により、ロボット装置１１０がワークＷを取得可能な任意の位置に設置される。なお、ワークＷの設置は、多関節ロボットによって行われてもよいし、人の手で行ってもよいし、その他の手段で行われてもよい。
【００１７】
ロボット装置１１０は、多関節のロボット１１１と、ロボット１１１の動作を制御するロボットコントローラ１１２と、を有する。ロボット１１１は、垂直多関節のロボットアームと、ロボットアームに取り付けられたロボットハンドとを有する。ロボットコントローラ１１２は、ロボット１１１にワークＷを把持させて、ロボット１１１を軌道データに従って動作させることで、カメラ１０５に対するワークＷの位置及び姿勢を変更する。
【００１８】
カメラ１０５は、ワークＷからの光を受光して、撮像画像のデータを生成する固体撮像素子１０５Ａを有するデジタルカメラである。固体撮像素子１０５Ａは、ＣＭＯＳイメージセンサ又はＣＣＤイメージセンサ等のエリアセンサである。
【００１９】
光源１０２は、ワークＷに光を照射（照明）する照明装置である。光源１０２は、例えばＬＥＤやハロゲンランプ等、画像処理に必要な光量の光をワークＷに照射するものであればいかなるものでもよく、また、ワークの形態に応じてリング照明やバー照明等いかなるものであってもよい。また、光源１０２の発光面側に拡散板やレンズ等を配置してもよい。また、光源１０２は、欠陥を可視化するために、カメラ１０５の撮像タイミングと同期してストロボ点灯させてもよいし、撮像中に常時点灯していてもよい。
【００２０】
画像処理装置２００は、カメラ１０５で撮像された撮像画像に対して画像処理を行い、ワークＷに存在する欠陥を検出する。
【００２１】
光源１０２は、カメラ１０５に対して固定されていてもよいし移動させてもどちらでもよいが、第１実施形態では、カメラ１０５及び光源１０２は、架台その他の構造物に固定され、カメラ１０５と光源１０２との相対位置は固定である。
【００２２】
また、ワークＷとカメラ１０５との相対位置が変化する。第１実施形態では、ロボット装置１１０によりワークＷを移動させることで、ワークＷに対するカメラ１０５の相対的な撮像位置を変更する。なお、第１実施形態では、ロボット装置１１０によりワークＷを移動させる場合について説明するが、これに限定するものではなく、移動装置がロボット装置以外の装置であってもよい。また、ワークＷをカメラ１０５に対して移動させる場合について説明するが、カメラ１０５をワークＷに対して移動させてもよい。いずれの場合であっても、ワークＷに対するカメラ１０５の相対的な撮像位置を変更することができる。カメラ１０５に対するワークＷの相対的な軌跡（軌道）は、予めユーザが画像処理装置２００に指定する。
【００２３】
ここで、光源１０２及びカメラ１０５と、ワークＷの被検査面ＷＡとの間に、光学干渉するような構造物があってはならない。逆に、前述の光学干渉するような構造物がなく、ワークＷを所定位置に設置できるのであれば何であってもよい。
【００２４】
図２は、本発明の第１実施形態に係る画像処理装置を示すブロック図である。画像処理装置２００は、処理部（演算部）としてのＣＰＵ（Central  Processing  Unit）２０１を備えている。また、画像処理装置２００は、記憶部として、ＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３、ＨＤＤ（Hard  Disk  Drive）２０４を備えている。また、画像処理装置２００は、記録ディスクドライブ２０５及び各種のインタフェース２１１〜２１４を備えている。
【００２５】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５及び各種のインタフェース２１１〜２１４が、バス２１０を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００２６】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ２０１に、後述する各種演算処理を実行させるためのプログラム２４０を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム２４０に基づいて検査方法の各工程を実行する。
【００２７】
記録ディスクドライブ２０５は、記録ディスク２４１に記録された各種データやプログラム等を読み出すことができる。
【００２８】
ロボットコントローラ１１２は、インタフェース２１１に接続され、ＣＰＵ２０１から、ロボット１１１の軌道のデータを受信し、軌道のデータに従って、ワークＷを把持したロボット１１１の動作を制御する。これにより、カメラ１０５に対しワークＷが所定の軌跡（軌道）を辿ることとなる。
【００２９】
光源１０２は、インタフェース２１２に接続され、ＣＰＵ２０１の制御の下で点灯又は消灯する。
【００３０】
カメラ１０５は、インタフェース２１３に接続され、ＣＰＵ２０１からのトリガ信号により撮像し、撮像結果である撮像画像のデータをＣＰＵ２０１に出力する。ＣＰＵ２０１は、カメラ１０５から撮像画像のデータを取得し、撮像画像に画像処理を施して、ワークＷのキズや汚れ等の欠陥を検出する。
【００３１】
また、インタフェース２１４には、書き換え可能な不揮発性メモリや外付けＨＤＤ等の外部記憶装置１２０が接続可能となっている。
【００３２】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム２４０が格納される場合について説明するが、これに限定するものではない。プログラム２４０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム２４０を供給するための記録媒体としては、図２に示すＲＯＭ２０２や、記録ディスク２４１、外部記憶装置１２０等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリ、ＲＯＭ等を用いることができる。
【００３３】
ＣＰＵ２０１は、ワークＷの検査用の画像を取得するために、ワークＷとカメラ１０５との相対的な位置を変更しつつ、カメラ１０５に複数の画像を撮像させる。カメラ１０５に対するワークＷの駆動方法は、ステップアンドリピートで駆動し、停止時にカメラ１０５にワークＷを撮像させてもよいし、駆動しながら任意のタイミングでカメラ１０５にワークＷを撮像させてもよい。
【００３４】
図３は、本発明の第１実施形態に係る検査装置の画像処理装置の機能を示す機能ブロック図である。画像処理装置２００のＣＰＵ２０１がプログラム２４０を読み出してプログラム２４０に従って動作することにより、各部２５４〜２５９として機能する。ＨＤＤ２０４は、データ格納メモリ２５３として機能する。各部２５４〜２５９は、後述するワークＷを検査する検査方法の各工程を実行する。
【００３５】
ここで、事前にカメラ１０５のカメラ内部パラメータ、及びロボット１１１とカメラ１０５の姿勢関係の校正を行う必要がある。データ格納メモリ２５３には、検査動作前の事前設定として、検査に必要なパラメータ、例えばカメラ内部パラメータ、ロボット１１１とカメラ１０５との位置及び姿勢の校正データ、並びに頻度マップ作成用パラメータを入力データ２５０として記録される。
【００３６】
次に、ワークＷの検査方法について説明する。まず、ロボット１１１にワークＷを把持させ、ワークＷを事前に指定された位置に設置する。ここでロボット１１１は、画像処理装置２００のＣＰＵ２０１によってロボットコントローラ１１２経由で制御される。
【００３７】
ここで、ワークＷの位置決めについて説明する。ワークＷは、カメラ１０５及び光源１０２に対して、同じ姿勢動作を繰り返すことが求められる。これは、欠陥検査精度を維持するためのものである。したがって、ワークＷを位置決めする必要がある。
【００３８】
ワークＷとロボット１１１が機械的に位置決めされている場合は、検査時にロボット１１１を毎回同じ動作をさせればよい。しかし、ワークＷとロボット１１１が機械的に位置決めされていない場合は、ワークＷとロボット１１１との姿勢関係を毎回求め、ロボット１１１の動作を毎回変えることにより、ワークＷがカメラ１０５に対して、相対的に毎回同じ軌跡を辿る必要がある。
【００３９】
ここで、ワークＷとカメラ１０５との姿勢関係を求めれば、ワークＷとロボット１１１との姿勢関係がわかるため、検査時のロボット１１１の軌道を決定することができる。すなわち、同次変換行列で表現すると、
【００４０】
【数１】
2017040600.tif 000003
より、
【００４１】
【数２】
2017040600.tif 000004
となり、ワークＷとロボット１１１との姿勢関係を求めることができる。ここで、ｃａｍＨｗｏｒｋは、カメラ１０５の画像座標系上のワークＷの姿勢である。ｃａｍＨｂａｓｅは事前に校正されたカメラ１０５の画像座標系上のロボット１１１のベース姿勢である。ｂａｓｅＨｔｏｏｌ０は、ロボット１１１に対する指令姿勢である。ｔｏｏｌ０Ｈｗｏｒｋは、ロボット１１１とワークＷの姿勢関係を表すものである。ここで、ワークＷとカメラ１０５との姿勢関係の求め方は、可変形状サーチ透視歪マッチングを用いてもよいし、レーザーやステレオカメラなどを用いて使って求めてもよい。以上の姿勢を算出することにより、求められたワークＷとロボット１１１との姿勢関係から、ロボット１１１を用いてワークＷの位置決めすることができる。
【００４２】
画像処理装置２００のＣＰＵ２０１は、ワークＷが位置決めされたときのロボット１１１の姿勢から、ロボット１１１に対して、どの座標系を用いてワークＷを動作させるかなどを求める。更に実際に動作させるときは、画像処理装置２００のＣＰＵ２０１は、ロボットコントローラ１１２に動作を指令する。ロボットコントローラ１１２は指令に従ってロボット１１１を動作させることで、ワークＷが変わってもワークＷをカメラ１０５に対して同じように動作させることが可能となる。
【００４３】
図４は、本発明の第１実施形態に係る検査方法を示すフローチャートである。まず、光源撮像制御部２５４は、カメラ１０５に対してワークＷを動作させながら光源１０２を点灯させてワークＷに光を照射し、ワークＷに光を照射した状態でカメラ１０５に複数の撮像位置でワークＷを撮像させて複数の画像を取得する（Ｓ４００）。
【００４４】
ここで、撮像画像毎にカメラ１０５に対するワークＷの位置及び姿勢が必要となる。カメラ１０５に対するワークＷの位置及び姿勢は、ワークＷの被検査面ＷＡを画像座標系ΣＩに変換する際、及び撮像画像から求めた特徴点をワークＷを基準とするワーク座標系ΣＷに変換する際に必要となる。カメラ１０５に対するワークＷの位置及び姿勢を求める方法として、第１実施形態では、ロボット１１１の動作姿勢をロボットコントローラ１１２から取得して求める。
【００４５】
即ち、
【００４６】
【数３】
2017040600.tif 000005
であるから、ロボット１１１の姿勢が変化した場合、
【００４７】
【数４】
2017040600.tif 000006
として、動作時のワークＷとカメラ１０５の姿勢関係を求める。即ち、カメラ１０５の撮像タイミングと同期してロボット１１１の姿勢を取得すれば、ワークＷの位置及び姿勢が求められる。
【００４８】
ここで、ｃａｍＨｗｏｒｋ’はロボット１１１を動作させたときのワークＷの姿勢である。ｂａｓｅＨｔｏｏｌ０’は、画像撮像時のロボットコントローラ１１２から取得されるロボット１１１の姿勢である。
【００４９】
以上の方法の以外にも、カメラ１０５の撮像と同期してレーザーなどを用いた姿勢取得をすれば、ワークＷの姿勢を求めることが可能である。
【００５０】
すなわち、光源撮像制御部２５４は、カメラ１０５の撮像と同期して、ロボットコントローラ１１２から（又は自身が演算することで）ロボット１１１の姿勢情報を取得して、ワークＷの位置及び姿勢を求める。つまり、光源撮像制御部２５４は、カメラ１０５にワークＷを撮像させたときのカメラ１０５に対するワークＷの相対的な位置及び姿勢を取得する（Ｓ４０１：取得工程，取得処理）。
【００５１】
次に、特徴点抽出部２５５は、撮像された画像に対し、予め設定された輝度閾値を用いて輝度値に対する２値化処理を行う。ここで、輝度閾値は、記憶部であるＨＤＤ２０４等に予め設定（記憶）されている。即ち、特徴点抽出部２５５は、欠陥候補が明画素及び暗画素のうちいずれか一方、第１実施形態では明画素となるように２値化処理を行う。次に、特徴点抽出部２５５は、生成された２値化画像の明画素領域についてラベリング処理を行う。ラベル付けされた各領域を欠陥候補とする。２値化処理で用いる輝度閾値は、欠陥候補が十分に抽出できる程度の輝度値に設定する。なお、特徴点抽出部２５５は、バンドパスフィルタを用いて特定の空間周波数を抽出することで、欠陥候補を抽出してもよい。
【００５２】
次に、特徴点抽出部２５５は、２値化処理した画像における欠陥候補の中から特徴点を抽出する（Ｓ４０２：特徴点抽出工程、特徴点抽出処理）。具体的には、特徴点の座標値を算出する。第１実施形態では、特徴点の座標値とは、欠陥候補に対する重心点の座標値である。なお、欠陥候補に対する特徴点の数が１つの場合について説明するが、複数の場合であってもよい。また、第１実施形態では、ステップＳ４０２において、カメラ１０５により撮像された撮像画像について画像処理を施した画像から特徴点を抽出する場合について説明したが、これに限定するものではない。つまり、撮像画像から直接特徴点を抽出してもよく、例えば、特徴点として、Ｈａｒｒｉｓのコーナー検出などによって導き出されるコーナーの座標値を算出してもよい。
【００５３】
次に、被検査領域算出部２５６は、ワーク座標系ΣＷにおいて予め設定された被検査領域を、ワークＷとカメラ１０５との相対的な位置及び姿勢に基づき、画像座標系ΣＩに変換する。そして、被検査領域算出部２５６は、各画像中、画像座標系ΣＩに変換された被検査領域内に含まれる特徴点を抽出する。即ち、被検査領域算出部２５６は、被検査領域を算出し、被検査領域内の特徴点のみを抜き出す（Ｓ４０３）。
【００５４】
被検査領域算出部２５６が入力するデータは、データ格納メモリ２５３に保存されているカメラ内部パラメータと、ワークＷの三次元座標データと、カメラ１０５を基準とする画像座標系上のワークＷの姿勢の３つである。そして、求められた被検査領域内に存在する特徴点のみを、後述する頻度マップに使用する。
【００５５】
次に、特徴点座標変換部２５７は、被検査領域内に存在する特徴点を、画像座標系ΣＩでの座標値で特定する。そして、特徴点座標変換部２５７は、この画像座標系ΣＩで特徴点の座標値を、ワークＷを基準とするワーク座標系ΣＷに座標変換する（Ｓ４０４：座標変換工程，座標変換処理）。このとき、座標変換は、ワークＷの姿勢と、データ格納メモリ２５３に保存されているカメラ内部パラメータ及びワークＷの三次元座標データを用いて変換される。
【００５６】
即ち、特徴点座標変換部２５７は、ステップＳ４０１にて取得したカメラ１０５に対するワークＷの相対的な位置及び姿勢に基づき、画像座標系ΣＩの特徴点の座標値を、ワーク座標系ΣＷで定義した仮想平面上（図１中、仮想平面ＰＩ上）の座標値に変換する。
【００５７】
頻度マップ生成部２５８は、複数の画像間でワーク座標系ΣＷの仮想平面ＰＩ上おいて同じ座標値となる特徴点の出現頻度を算出する（Ｓ４０５：頻度算出工程，頻度算出処理）。具体的に説明すると、ワーク座標系ΣＷで定義した仮想平面ＰＩ上の座標値とは、仮想平面ＰＩを複数のセルに区画した際の各セルに対応する座標値である。頻度マップ生成部２５８は、セル毎に特徴点の出現数をカウントアップし、出現頻度を示す頻度マップを求める。つまり、頻度マップ生成部２５８は、ステップＳ４０５で、予めデータ格納メモリ２５３に用意されている頻度マップの該当するセルに特徴点の出現数をカウントアップする。
【００５８】
特徴点の出現頻度を示す頻度マップについて詳細に説明する。頻度マップは、ワーク座標系ΣＷ上で特徴点が定義された被検査領域内で何回出現したかをカウントするための二次元空間（仮想平面）ＰＩで規定される。即ち、ワークＷとカメラ１０５とを相対的に駆動させつつ各撮像位置で撮像した際に取得した複数の画像から特徴点を算出し、ワーク座標系ΣＷで定義した仮想平面ＰＩを複数のセル領域に分割したときの各セル内で特徴点が何回出現したかを示すものである。この頻度マップを作成するために、ユーザは事前に頻度マップ用のパラメータを設定する必要がある。パラメータの種類は、頻度マップの大きさ、位置及び分解能である。その他必要なパラメータがあれば、ユーザが任意に設定してもよい。
【００５９】
ワークＷとカメラ１０５とを相対的に駆動させた場合、ワークＷの被検査面ＷＡに存在する欠陥は、ワーク座標系ΣＷ上で動かない。しかし、光源１０２の写り込みや、検査装置の内部構造、ワークＷそのものの写り込みなど、種々の写り込みは、ワーク座標系ΣＷ上で移動する。即ち、頻度マップ上で多くカウントされたセル（場所）には、欠陥が存在し、カウント数が少ない若しくは０のセル（場所）には、欠陥が存在しない。
【００６０】
図５（ａ）〜図５（ｃ）は、本発明の第１実施形態に係る検査方法においてワークＷをカメラ１０５に対して相対的に移動させたときに、欠陥に対応する欠陥候補３０１と光源１０２の写り込みに対応する欠陥候補３０２を示す概念図である。
【００６１】
ワークＷを回転移動させたときに、カメラ１０５の撮像により得られる３つの画像Ｉ１，Ｉ２，Ｉ３には、ワークＷの被検査面ＷＡに対応する画像座標系ΣＩにおける被検査領域３００が写り込んでいる。これら３つの画像Ｉ１，Ｉ２，Ｉ３間で、欠陥候補３０１の位置はワーク座標系ΣＷでは変化しないが、欠陥候補３０２の位置はワーク座標系ΣＷでは変化していく。なお、図５（ａ）〜図５（ｃ）において、光源１０２の写り込みとしたが、光源１０２以外、例えば、ワークＷそのものの反射等による写り込みであっても、ワーク座標系ΣＷにおいて変化する。
【００６２】
図５（ｄ）は、本発明の第１実施形態に係る検査方法において生成される頻度マップを示す概念図である。ここで、欠陥に対応する欠陥候補３０１の重心点と、写り込みに対応する欠陥候補３０２の重心点を特徴点として定義し、それぞれの画像Ｉ１，Ｉ２，Ｉ３で得られた特徴点の座標値を、ワーク座標系ΣＷの座標値に変換する。そして、頻度マップ３０３の該当領域（セル）に対し、特徴点の出現数をカウントアップする。以上の動作により、特徴点の出現頻度が高い領域３０４と、特徴点の出現頻度が低い領域３０５とが現れた頻度マップ３０３が生成される。
【００６３】
次に、頻度マップ生成部２５８は、全画像について頻度算出処理が終了したか否かを判断する（Ｓ４０６）。全画面について終了していない場合（Ｓ４０６：Ｎｏ）は、ステップＳ４０１の処理に戻り、全画面について終了した場合（Ｓ４０６：Ｙｅｓ）は、次のステップＳ４０７（判定工程、判定処理）に移行する。
【００６４】
欠陥判定部２５９は、予め設定した頻度閾値よりも高い出現頻度の特徴点は欠陥と判定する（Ｓ４０７）。第１実施形態では、欠陥判定部２５９は、頻度閾値よりも低い出現頻度の特徴点は欠陥ではないと判定する。また、頻度閾値となる出現頻度の特徴点は欠陥と判定する。頻度閾値は、記憶部であるＨＤＤ２０４等、即ちデータ格納メモリ２５３に予め設定（記憶）されている。判定結果は、出力データ２５１として出力される。
【００６５】
第１実施形態のステップＳ４０５では、頻度マップを参照して頻度閾値による判定を行う。頻度マップにおいてあるセル領域の特徴点の出現数が、データ格納メモリ２５３に記録されている頻度閾値以上の場合、該当するセル領域に欠陥があると判定され、ワークＷは不良品として処理される。逆に、頻度閾値以上のセル領域がない場合は、ワークＷに欠陥はないと判定され、ワークＷは良品として処理される。上述の経過を経ることにより、ワークＷを検査することが可能である。
【００６６】
図５（ｄ）を例に説明すると、頻度マップ３０３に対して頻度閾値を「２」として閾値処理を行うと、出現頻度が高い領域３０４はカウント数が「３」であるから、欠陥が存在することがわかる。一方、出現頻度が低い領域３０５はカウント数が「１」であるから、欠陥は存在しないことがわかる。ここで、頻度マップのカウント数に対する頻度閾値は、撮像画像の数等により変化するため、ユーザが最適な値を設定する必要がある。
【００６７】
なお、図４に示すフローチャートでは、撮像と画像処理とを同期させているが、撮像と画像処理は非同期に行われてもよい。すなわち、全ての検査用の画像の撮像終了を待たずに、撮像しながら非同期に画像処理が行われていてもよい。
【００６８】
以上、第１実施形態によれば、欠陥に対応する特徴点は、ワーク座標系上では移動しない一方、光源１０２の写り込みや反射等によるワークＷそのものの写り込み等の種々の写り込みに対応する特徴点は、ワーク座標系上では移動する。したがって、欠陥と写り込みとを区別することができ、検査精度を向上させることができる。また、欠陥が存在すると判断された場合は、ワークを不良品と判定できる。
【００６９】
［第２実施形態］
次に、本発明の第２実施形態に係る検査方法について説明する。図６は、本発明の第２実施形態に係る検査方法を示すフローチャートである。なお、第２実施形態の検査装置の各構成は、第１実施形態の検査装置の各構成と同様であるため、説明を省略する。
【００７０】
第２実施形態では、図６に示すように、図４のフローチャートに、ステップＳ５０６，Ｓ５０７，Ｓ５１０を追加したものである。なお、図６において、ステップＳ５００〜Ｓ５０５は、図４のステップＳ４００〜Ｓ４０５と同様であり、ステップＳ５０８，Ｓ５０９は、図３のステップＳ４０６，Ｓ４０７と同様であるため、説明を省略する。
【００７１】
第２実施形態においては、第１実施形態における入力データ２５０に加えて、特徴点の特徴量に対する特徴量閾値を入力データ２５０としてデータ格納メモリ２５３に記録しておく。
【００７２】
なお、図６に示すフローチャートでは、撮像と画像処理とを同期させているが、撮像と画像処理は非同期に行われてもよい。すなわち、全ての検査用の画像の撮像終了を待たずに、撮像しながら非同期に画像処理が行われていてもよい。更に、特徴点に関する画像処理と、欠陥候補に関する画像処理も非同期に行われてもよい。
【００７３】
ＣＰＵ２０１は、ステップＳ５０６では、ステップＳ５０２にて抽出した特徴点の特徴量を算出する（特徴量算出工程，特徴量算出処理）。具体的には、ＣＰＵ２０１は、特徴点（重心点）が属する欠陥候補の画素数をカウントした面積と特徴点が出現した画像番号を特徴量とする。なお、特徴量は、欠陥候補の面積（つまり、画素数）に限定するものではなく、例えば、欠陥候補の縦横の長さ、欠陥候補の座標上の点群における輝度平均値、輝度最大値若しくは輝度最小値、又は特徴点の輝度値などを用いてもよい。また、特徴点がＨａｒｒｉｓのコーナー（領域）の場合は、コーナーの面積（つまり、画素数）、コーナーの縦横の長さ、コーナーの座標上の点群における輝度平均値、輝度最大値、輝度最小値などを用いてもよい。
【００７４】
ＣＰＵ２０１は、ステップＳ５０７では、特徴点と特徴量とを関連付ける。関連付ける方法として、特徴点、特徴量、画像番号をメンバとする構造体配列を用い、構造体配列の各要素に各欠陥候補の特徴点と特徴量を代入することで関連付けることができる。
【００７５】
ＣＰＵ２０１は、ステップＳ５１０では、ステップＳ５０９にて欠陥であると判定した特徴点の特徴量が予め設定された特徴量閾値を超えるか否かを判定する（特徴量判定工程，特徴量判定処理）。特徴量閾値は、記憶部であるＨＤＤ２０４等、即ちデータ格納メモリ２５３に予め設定（記憶）されている。
【００７６】
つまり、ステップＳ５１０では、欠陥が存在すると判断された特徴点に対して、予めデータ格納メモリ２５３に記録されている特徴量閾値を用いて閾値処理を行う。
【００７７】
換言すれば、ＣＰＵ２０１は、欠陥と判定した特徴点の特徴量が特徴量閾値を超える場合には、その欠陥は許容値を超える欠陥であるので、検査対象のワークＷを不良品と判定する。また、ＣＰＵ２０１は、欠陥と判定した特徴点の特徴量が特徴量閾値以下の場合には、その欠陥は許容値以下の欠陥であるので、検査対象のワークＷを良品と判定する（良品不良品判定処理）。判定結果は、出力データ２５１として出力される。
【００７８】
以上、欠陥を有すると判定されたワークＷであっても、その欠陥が許容値以下であれば（つまり、特徴量が特徴量閾値以下であれば）、良品と判定され、作業者が画像の確認やワークを目視する等の作業量を削減することができる。
【００７９】
なお、ステップＳ５０６の特徴量算出処理は、ステップＳ５０９とステップＳ５１０との間に行ってもよい。この場合、ＣＰＵ２０１は、欠陥ではないと判定された特徴点（写り込みの特徴点）については特徴量を算出する必要がないので、少なくともステップＳ５１１にて欠陥と判定された欠陥候補の特徴量を算出するようにすればよい。
【００８０】
このように、欠陥が良品レベルの欠陥か、不良品レベルの欠陥かをふるい分けることができ、良品不良品の判定精度を向上させることができる。
【００８１】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【００８２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８３】
また、上記実施形態では、ロボットアームが垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【００８４】
また、上記実施形態では、頻度マップを生成する場合について説明したが、頻度マップを生成せずに、単に特徴点の座標値と出現頻度とを対応付けて欠陥判定を行ってもよい。
【００８５】
また、上記実施形態では、ＣＰＵ２０１は、全ての撮像画像を取得した後、ワークＷとカメラ１０５との相対的な位置及び姿勢を求める場合について説明したが、これに限定するものではない。例えば、逐次、取得した撮像画像に基づき、ワークとカメラとの相対的な位置及び姿勢を求めてもよい。
【符号の説明】
【００８６】
１００…検査装置、１０２…光源、１０５…カメラ（撮像装置）、１１０…ロボット装置（移動装置）、２００…画像処理装置、２０１…ＣＰＵ（処理部）、Ｗ…ワーク
【図１】
2017040600.tif 000007
【図２】
2017040600.tif 000008
【図３】
2017040600.tif 000009
【図４】
2017040600.tif 000010
【図５】
2017040600.tif 000011
【図６】
2017040600.tif 000012