(57)【要約】【課題】検査画像の良否の判定精度を高めるのに有利な画像処理方法を提供すること。【解決手段】画像処理方法は、検査対象の画像である検査画像と基準画像とを位置合わせするための補正量を取得する補正量取得工程と、前記取得された補正量の尤もらしさを表す値として予め設定された評価値を取得する評価値取得工程と、過去の複数の検査画像の前記補正量の分布に基づいて前記評価値を補正し、該補正された評価値を前記位置合わせの評価情報として出力する補正工程とを有する。【選択図】  図１
2020063984.tif 000002
【特許請求の範囲】
【請求項１】
検査対象の画像である検査画像と基準画像とを位置合わせするための補正量を取得する補正量取得工程と、
前記取得された補正量の尤もらしさを表す値として予め設定された評価値を取得する評価値取得工程と、
過去の複数の検査画像の前記補正量の分布に基づいて前記評価値を補正し、該補正された評価値を前記位置合わせの評価情報として出力する補正工程と、
を有することを特徴とする画像処理方法。
【請求項２】
前記分布を表す、前記過去の複数の検査画像の前記補正量のヒストグラムを作成する作成工程を有し、
前記補正工程は、前記ヒストグラムにおける前記補正量の各階級の度数に基づいて前記評価値を補正することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記補正工程は、前記ヒストグラムにおける、前記補正量取得工程で取得された前記補正量が属する階級の度数に応じた重み付けを前記評価値に行うことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記補正量取得工程で取得された前記補正量が属する階級の度数をＦｉ、前記ヒストグラムにおける度数の最大値をＦｍａｘとすると、前記評価値に対する重みｗｉは、
ｗｉ＝Ｆｉ／Ｆｍａｘ
で表されることを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記過去の複数の検査画像ごとに前記補正量と該補正量が正しいか誤りかを示す補正結果とが記述されたテーブルを作成する工程を有し、
前記作成工程は、前記テーブルにおいて前記補正結果が前記誤りを示す補正量を前記ヒストグラムへの算入対象から除外することを特徴とする請求項２乃至４のいずれか１項に記載の画像処理方法。
【請求項６】
前記補正結果をユーザに問い合わせ、前記補正結果をユーザの指示により取得する工程を有することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記補正工程は、前記過去の複数の検査画像の前記補正量の集合から得られる前記補正量と度数との関係をガウス関数で近似するフィッティングを行い、該フィッティングされたガウス関数に基づいて前記評価値を補正することを特徴とする請求項１に記載の画像処理方法。
【請求項８】
前記補正工程で補正された前記評価値に基づいて決定された補正量で前記検査画像を補正し、該補正された検査画像を処理して該検査画像の良否を判定する工程を有することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理方法。
【請求項９】
検査対象の画像である検査画像と基準画像とを位置合わせするための補正量を取得する手段と、
前記取得された補正量の尤もらしさを表す値として予め設定された評価値を取得する手段と、
過去の複数の検査画像の前記補正量の分布に基づいて前記評価値を補正し、該補正された評価値を前記位置合わせの評価情報として出力する補正手段と、
を有することを特徴とする画像処理装置。
【請求項１０】
コンピュータに、請求項１乃至６のいずれか１項に記載の画像処理方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、およびプログラムに関する。
【背景技術】
【０００２】
製造品の良否を検査する検査装置は一般に、検査対象物を撮像して得た画像に対して複数の特徴量を用いて検査対象物の良否判定を行う。一般に、撮像画像の基準画像に対する位置補正を行った後に、検査が行われる。しかし、実際には画像の濃淡や検査対象物の載置誤差などの影響により位置補正が失敗することがありうる。特許文献１および特許文献２には、位置補正の精度を向上させる技術が開示されている。また、特許文献３には、位置補正量の傾向を位置補正量分布として取得する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−３００７０３号公報
【特許文献２】特公平１−０６０７６６号公報
【特許文献３】特開２０１５−０９０４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した従来技術は、位置補正が失敗する特定の要素に対する対策を行う、または、位置補正の傾向を観察し位置補正に役立てるものである。しかし、従来技術は基準画像と入力画像の画素情報のみを用いて補正を行うものであり、過去の位置補正量と大きく異なる誤った位置に補正してしまう可能性があった。
【０００５】
本発明は、例えば、検査画像の良否の判定精度を高めるのに有利な画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、検査対象の画像である検査画像と基準画像とを位置合わせするための補正量を取得する補正量取得工程と、前記取得された補正量の尤もらしさを表す値として予め設定された評価値を取得する評価値取得工程と、過去の複数の検査画像の前記補正量の分布に基づいて前記評価値を補正し、該補正された評価値を前記位置合わせの評価情報として出力する補正工程とを有することを特徴とする画像処理方法が提供される。
【発明の効果】
【０００７】
本発明によれば、例えば、検査画像の良否の判定精度を高めるのに有利な画像処理方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における画像処理装置の構成を示すブロック図。
【図２】実施形態における位置補正テーブルを作成する処理のフローチャート。
【図３】位置補正の例を示す図。
【図４】位置補正テーブルのデータ構造例を示す図。
【図５】実施形態における検査画像の位置補正量に対する評価値を取得する処理のフローチャート。
【図６】位置補正量とスコアとの対応関係の例を示す図。
【図７】位置補正量のヒストグラムの例を示す図。
【図８】実施形態における検査画像の位置補正量に対する評価値を取得する処理のフローチャート。
【図９】実施形態における検査画像の位置補正量に対する評価値を取得する処理のフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の実施形態は本発明の実施の具体例を示すにすぎないものであり、本発明は以下の実施形態に限定されるものではない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決のために必須のものであるとは限らない。
【００１０】
＜第１実施形態＞
図１は、本実施形態における画像処理装置１００のハードウェア構成の一例を示す図である。画像処理装置１００は、典型的にはコンピュータ装置によって実現されうる。すなわち、画像処理装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ（ハードディスクドライブ）１０６、インタフェース（Ｉ／Ｆ）１０４を有する。ＣＰＵ１０１は、制御部として機能する。ＲＯＭ１０２は、ＢＩＯＳ等の固定的なプログラムやデータを記憶している。ＲＡＭ１０３は、主記憶装置として機能するとともにＣＰＵ１０１のワークエリアを提供する。これらの各部は、バス１０５により相互接続されている。外部記憶装置であるＨＤＤ１０６は、オペレーティングシステム（ＯＳ）、画像評価プログラム、後述する基準画像、検査画像、および位置補正テーブル等の各種データを記憶する記憶部として機能する。ＣＰＵ１０１は、ＨＤＤ１０６に格納された画像評価プログラムをＲＡＭ１０３上に展開することにより、本実施形態の動作を実行することができる。Ｉ／Ｆ１０４には撮像装置２０１が接続されており、画像処理装置１００は、撮像装置２０１で撮像された画像のデータをＩ／Ｆ１０４を介して取得することができる。撮像装置２０１は、検査対象となる製品を撮像するカメラであり、モノクロカメラでもよいしカラーカメラでもよい。なお、撮像装置２０１のかわりに、Ｉ／Ｆ１０４はネットワークと接続され、ネットワーク経由で外部装置から画像データを取得する構成であってもよい。
【００１１】
画像処理装置１００の機能は、ＣＰＵ１０１が、ＨＤＤ１０６に格納された画像評価プログラムをＲＡＭ１０３に展開し、後述する各フローチャートに従った処理を実行することで実現されうる。また例えば、ＣＰＵ１０１により実行されるソフトウェア処理の少なくとも一部の代替としてハードウェアを構成する場合には、当該処理に対応させた演算部や回路が構成されうる。
【００１２】
本実施形態における画像処理装置１００は、検査対象物を撮像して得た画像に基づいて検査対象物の良否判定を行うことができるが、以下では、良否判定の前処理として行われる撮像画像の位置補正量の決定について説明する。この前処理は、１つの検査対象の画像（検査画像）について良否判定を行う都度、その判定の前に実行されるようにしてもよいし、良否判定を行う前に複数の検査画像に対してまとめて実行されるようにしてもよい。以下では、一例として、良否判定を行う前に複数の検査画像に対してまとめて実行される態様を説明する。
【００１３】
図２は、検査画像の位置補正量が記述された位置補正テーブルを作成（更新）する処理のフローチャートである。このフローチャートに対応するプログラムは例えばＨＤＤ１０６に記憶されている画像評価プログラム（図１）に含まれ、例えばユーザにより開始指示が入力されたことに応答してＲＡＭ１０３にロードされ、ＣＰＵ１０１によって実行される。はじめに、Ｓ５０１で、制御部であるＣＰＵ１０１は基準画像を取得し、ＲＡＭ１０３に格納する。基準画像は、位置補正の基準となる画像であり、予め撮像装置２０１で撮像されＨＤＤ１０６に格納されていてもよいし、ネットワークを介して外部から取得してもよい。次に、Ｓ５０２で、ＣＰＵ１０１は検査画像を取得し、ＲＡＭ１０３に格納する。検査画像も、撮像装置２０１で撮像されＨＤＤ１０６に格納されていてもよいし、ネットワークを介して外部から取得してもよい。
【００１４】
次に、Ｓ５０３で、ＣＰＵ１０１は、検査画像の基準画像に対する位置補正量の決定を行う。なお、本明細書において、位置補正とは、図３に示されるように、基準画像と検査画像とが互いに一致するように、基準画像もしくは検査画像、またはその両方の座標を変換することをいう。位置補正量は、Ｘ方向の補正量、Ｙ方向の補正量、およびＺ軸周りの回転方向であるθ方向の補正量を含みうるが、ここでは説明を簡単にするため、θ方向の補正量だけを取り扱う。Ｓ５０３では、ＣＰＵ１０１が検査画像の基準画像に対する位置補正量の決定を行うかわりに、ネットワークを介して外部から位置補正量のデータを取得するようにしてもよい。
【００１５】
Ｓ５０４では、ＣＰＵ１０１は、位置補正テーブルに、Ｓ５０２で取得された検査画像の識別番号（画像番号）とＳ５０３で決定された位置補正量を書き込む。位置補正テーブルは、例えばＨＤＤ１０６に記憶される。Ｓ５０５では、次の検査画像があるかを判定し、次の検査画像がある場合にはＳ５０２に戻って処理を繰り返し、次の検査画像がなければ、この処理は終了する。
【００１６】
以上が、良否判定の前処理として行われる検査画像の位置補正量の決定処理である。したがって、この前処理の後に実行される良否判定処理では、上記決定処理で決定された位置補正量でもって検査画像の位置補正を行い、位置補正された検査画像を処理して該検査画像の良否の判定が行われる。
【００１７】
図４に、位置補正テーブルのデータ構造例を示す。図４に示されるように、位置補正テーブルには、上述の図２の処理フローに従い、検査画像ごとに、画像番号と位置補正量が記述されている。また、図４の例では、検査画像ごとに、当該画像の位置補正が正常に行われたかどうかを示す位置補正結果も記述される。この位置補正結果は、例えば、位置補正テーブル作成処理の後に行われた良否判定の結果から取得されうる。例えば、良否判定が正しく行われた場合には位置補正量は正しく、よって位置補正結果は正常とすることができる。また、良否判定が誤判定であった場合には位置補正量が誤っており、よって位置補正結果は異常とすることができる。一例において、良否判定に対する検証が行われる都度、位置補正テーブルに位置補正結果が書き込まれる。位置補正結果は、正常または異常を表す論理２値で示されうる。図４の例では、位置補正結果は、正常を表すｔｒｕｅまたは異常を表すｆａｌｓｅで示されている。
【００１８】
図５は、本発明の画像処理方法に係る、検査画像の位置補正量に対する評価値（スコア）を取得する処理のフローチャートである。本明細書において、評価値とは、位置補正量の尤もらしさを表す値であり、基準画像に対する位置合わせの評価情報となる値である。このフローチャートに対応するプログラムは例えばＨＤＤ１０６に記憶されている画像評価プログラム（図１）に含まれ、例えばユーザにより開始指示が入力されたことに応答してＲＡＭ１０３にロードされ、ＣＰＵ１０１によって実行される。この評価値を調整する処理は、上記した位置補正テーブルが作成された後に実行される。はじめに、ＣＰＵ１０１は、Ｓ４０１で、位置補正テーブルから１つの検査画像（例えば画像番号１の検査画像）に対する位置補正結果を取得し、Ｓ４０２で、その位置補正結果が正常か否か（ｔｒｕｅ／ｆａｌｓｅ）を判定する。ここで、位置補正結果が異常を示す場合、それに対応する位置補正量は、信頼性が低いので外れ値として除外する。この場合、処理はＳ４０５に進み、位置補正テーブルに次の検査画像があるかを判定し、次の検査画像があれば、Ｓ４０１に戻って次の検査画像について処理を繰り返し、次の検査画像がなければ処理を終了する。
【００１９】
Ｓ４０２で位置補正結果が正常を示す場合は、Ｓ４０３で、ＣＰＵ１０１は、位置補正テーブルから対応する位置補正量を取得する（補正量取得工程）。その後、Ｓ４０４で、ＣＰＵ１０１は、取得された位置補正量の尤もらしさを表す値として予め設定された評価値（スコア）を取得する（評価値取得工程）。ここでは、過去の複数の検査画像の位置補正量に基づいてスコアを算出してもよい。その後、処理はＳ４０５に進み、位置補正テーブルに次の検査画像があるかを判定し、次の検査画像があれば、Ｓ４０１に戻って次の検査画像について処理を繰り返し、次の検査画像がなければ処理を終了する。
【００２０】
以上により、各検査画像の位置補正量に対するスコアが取得された。各検査画像の位置補正量に対するスコアは例えばＨＤＤ１０６に記憶される。一例において、各検査画像の位置補正量に対するスコアは位置補正テーブルに記述されてもよい。図６（ａ）に、各位置補正量とそのスコアとの対応関係の例を示す。図６（ａ）では、スコア降順に記述されている。
【００２１】
本実施形態では、上記スコア取得処理の終了後、または、Ｓ４０４の中で、過去の複数の検査画像の位置補正量の分布に基づいてスコアの補正を行い、該補正されたスコアを基準画像に対する位置合わせの評価情報として出力することができる。例えば、ＣＰＵ１０１は、取得された位置補正量についての度数分布を求め、この度数分布から、過去の複数の検査画像の位置補正量のヒストグラムを作成する。図７は、求められた度数分布に基づいて作成されたヒストグラムの例を示している。図７において、横軸は位置補正量の階級（区間）、縦軸は度数（出現頻度）を表している。出現頻度は、位置補正量についての信頼度を表していると考えられる。つまり、出現頻度の高い位置補正量は信頼性が高く、出現頻度の低い位置補正量は信頼性が低いと考えられる。そこで本実施形態では、ヒストグラムにおける位置補正量の各階級の度数に基づいてスコアを補正する。この補正は、例えば、取得された位置補正量が属する階級の度数に応じた重み付けをスコアに行うことで実現されうる。
【００２２】
例えば、位置補正結果が正しいとされている直近複数ｎ枚の検査画像それぞれに関して、計算されたスコアに対する重みｗｉは、次式で表される。
ｗｉ＝Ｆｉ／Ｆｍａｘ
ただし、ｉは画像番号、Ｆｉは画像番号ｉの検査画像の位置補正量が属する階級の度数、Ｆｍａｘは度数の最大値である。なお、上記の重み算出式は一例であり、これに限定されない。
【００２３】
次に、ＣＰＵ１０１は、Ｓ４０４で取得されたスコアに重みを乗じることでスコアの再計算（補正）を行い、再計算後のスコアを位置併せの評価情報として出力する。図６（ｂ）に、再計算後の各位置補正量とそのスコアとの対応関係の例を示す。図６（ｂ）では、再計算前の図６（ａ）のデータが、再計算後のスコア降順に並べ替えられている。図６（ｂ）において最も高いスコアとなった位置補正量を採用することができる。例えば、図６（ａ）の第１行に示されているような、位置補正量が＋１２でスコアが９０であった場合を考える。この場合、図７のヒストグラムによれば、＋１２の位置補正量が属する階級（区間）の度数Ｆｉ＝４、度数最大値Ｆｍａｘ＝１０であるから、重みｗｉ＝４／１０＝０．４となる。よって、重み付け後のスコアは、９０×０．４＝３６となる。
【００２４】
このように、位置補正量の出現頻度に基づいてスコアを重み付け（補正）することにより、出現頻度の少ない位置補正量のスコアを小さくすることができる。これにより、誤った位置補正量で位置補正が行われることが抑制され、検査画像の良否の判定精度を高めることができる。
【００２５】
また、本実施形態では、位置補正テーブルには過去の複数の検査画像ごとに補正量と該補正量が正しいか誤りかを示す位置補正結果とが記述されており、Ｓ４０２では、そのテーブルを参照して位置補正結果が正常か否かを判定する。そして上述したように、位置補正結果が異常を示す場合、それに対応する位置補正量を評価値の算出対象から除外する。すなわち、位置補正結果が誤りを示す位置補正量はヒストグラムへの算入対象から除外される。よって本実施形態によれば、誤った位置補正量で位置補正が行われることがより確実に抑制される。
【００２６】
なお、本実施形態では、検査画像の位置補正に関して説明した。しかし本発明は、位置補正以外にも適用することが可能である。例えば、入力画像の輝度・コントラストを基準画像のものに補正する輝度補正や、入力画像の拡大・縮小・回転を基準画像のものに補正する拡大・縮小・回転補正等にも適用可能である。
【００２７】
＜第２実施形態＞
上述の第１実施形態では、位置補正結果は、例えば、位置補正テーブル作成処理の後に行われた良否判定の結果から取得されうるものとして説明した。しかし本発明はこの手法に限定されず、例えばユーザに位置補正結果の判定を問い合わせ、位置補正結果をユーザの指示により取得するようしてもよい。
【００２８】
図８は、本実施形態における検査画像の位置補正量に対する評価値（スコア）を取得する処理のフローチャートである。図５と同じ処理ブロックには同じ参照符号を付し、それらの説明は省略する。図８では、Ｓ４０１とＳ４０２の間に、Ｓ９０２として位置補正結果が正しいかどうかをユーザに問い合わせるステップが設けられている。ユーザは、例えば画像処理装置１００における不図示のグラフィカルユーザインタフェースを介して位置補正結果の正否を指示することができる。これにより、検査が行われていない場合など位置補正の正否結果が出ていない場合でも、ユーザに確認することにより位置補正結果の判定を記録することが可能となる。
【００２９】
＜第３実施形態＞
上述の第１実施形態では、位置補正量の出現頻度に基づいてスコアの補正を行うことを説明した。第１実施形態では、位置補正量の度数分布に基づくヒストグラムが作成された。しかし、位置補正量の度数分布ではなくそれ以外の分布を用いてもよく、例えば正規分布を利用することも可能である。
【００３０】
図９は、本実施形態における検査画像の位置補正量に対する評価値（スコア）を取得する処理のフローチャートである。図５と同じ処理ブロックには同じ参照符号を付し、それらの説明は省略する。図９では、図５のＳ４０４に代えて、Ｓ９０１およびＳ９０２が実行される。本実施形態では、過去の複数の検査画像の位置補正量の集合から、横軸を位置補正量、縦軸を出現頻度（度数）とした散布図を作成する。Ｓ９０１では、Ｓ４０３で取得された位置補正量のデータを散布図に加えて、散布図を更新する。そして、Ｓ１００５では、散布図における位置補正量と度数との関係を例えば次式で表されるガウス関数で近似するフィッティングを行う。
【数１】
2020063984.tif 000003
【００３１】
ＣＰＵ１０１は、このフィッティングされたガウス関数に基づいて位置補正量分布を更新することにより、スコアを補正する。これにより、位置補正量の値の範囲を限定せずに位置補正量と出現頻度の関係を推定することが可能になる。
【００３２】
（他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３３】
１００：画像処理装置、１０１：ＣＰＵ、１０６：ＨＤＤ、２０１：撮像装置
【図１】
2020063984.tif 000004
【図２】
2020063984.tif 000005
【図３】
2020063984.tif 000006
【図４】
2020063984.tif 000007
【図５】
2020063984.tif 000008
【図６】
2020063984.tif 000009
【図７】
2020063984.tif 000010
【図８】
2020063984.tif 000011
【図９】
2020063984.tif 000012