[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7258509B2 - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法、及び画像処理プログラム Download PDF

Info

Publication number
JP7258509B2
JP7258509B2 JP2018194010A JP2018194010A JP7258509B2 JP 7258509 B2 JP7258509 B2 JP 7258509B2 JP 2018194010 A JP2018194010 A JP 2018194010A JP 2018194010 A JP2018194010 A JP 2018194010A JP 7258509 B2 JP7258509 B2 JP 7258509B2
Authority
JP
Japan
Prior art keywords
image
processing
inspected
inspection
mask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018194010A
Other languages
English (en)
Other versions
JP2020064333A (ja
Inventor
泰之 池田
真嗣 栗田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018194010A priority Critical patent/JP7258509B2/ja
Priority to US17/269,526 priority patent/US11574397B2/en
Priority to CN201980052562.1A priority patent/CN112543950B/zh
Priority to EP19872527.7A priority patent/EP3869449A4/en
Priority to PCT/JP2019/040047 priority patent/WO2020080250A1/ja
Publication of JP2020064333A publication Critical patent/JP2020064333A/ja
Application granted granted Critical
Publication of JP7258509B2 publication Critical patent/JP7258509B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Description

本発明は画像処理装置、画像処理方法、及び画像処理プログラムに関わる。
ファクトリーオートメーションの分野では、画像計測処理を用いた自動制御が広く実用化されている。例えば、ワークなどの被検査対象を撮像し、その撮像により得られた検査画像から欠陥などの特徴画像を抽出することで、ワークの良否を検査する検査工程が実用化されている。このような画像計測処理の例として、畳み込みニューラルネットワークを用いて特徴画像を抽出する手法が知られている。畳み込みニューラルネットワークは、画像の畳み込み処理とプーリング処理とを繰り返すことで局所的な特徴を組み合わせて全体的な特徴を抽出する。このため、検査画像の一部に異物が映りこんでいると、異物の特徴が抽出されてしまい、画像の畳み込み処理とプーリング処理とを繰り返す過程で異物の特徴が画像の広い範囲に影響を与えることになる。このような影響は、誤検出の原因になり得る。斯かる誤検出を回避するための手法として、例えば、特開2017-146957号公報は、検査画像の画素領域のうち検査対象外の画素領域をマスクし、マスクされた検査画像を畳み込みニューラルネットワークに入力して特徴画像を抽出する手法を提案している。
特開2017-146957号公報
しかし、マスクされた検査画像を畳み込みニューラルネットワークに入力すると、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴(例えば、画素値の濃淡の境目)が抽出されてしまい、このような特徴もまた異物の特徴と同様に誤検出の原因となり得る。
そこで、本発明は、このような問題を解決し、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制する画像処理装置、画像処理方法、及び画像処理プログラムを提案することを課題とする。
上述の課題を解決するため、本発明に関わる画像処理装置は、検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、検査対象外の画素領域をマスクするための画素値を有し、且つ検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第1のマスク処理を行う手段と、第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行う手段と、マスク画像に中間処理と同じ処理を行う手段と、中間処理が行われた検査画像と、中間処理と同じ処理が行われたマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第2のマスク処理を行う手段とを備える。第2のマスク処理を行う手段は、1回目の中間処理後且つ2回目の中間処理前の前記検査画像にのみ第2のマスク処理を行う。このような構成によれば、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制することができる。
第2のマスク処理を行う手段は、1回目の中間処理後且つ2回目の中間処理前の検査画像に第2のマスク処理を行ってもよい。検査画像に行われる中間処理の回数が少ない段階で第2のマスク処理を行う方が、検査画像に行われる中間処理の回数が多い段階で第2のマスク処理を行うよりも、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制する効果が高い。検査対象の画素領域と検査対象外の画素領域との間の境界の特徴は、一度抽出されてしまうと、後段の中間処理(例えば、畳み込み処理)を実行する度に画像全体に伝搬していく。畳み込み処理の回数がなるべく少ない段階で第2のマスク処理をする程、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の伝搬が少なくなる。
本発明に関わる画像処理装置は、検査対象の画素領域の位置、形状、及び大きさを規定するマスク画像を自動生成する手段を更に備えてもよい。これにより、検査画像上の異物の位置、形状、大きさ、個数、及び分布などを考慮して、検査対象の画素領域を適切に設定することができる。
検査対象の画素領域の形状は、非矩形でもよい。これにより、検査対象の画素領域の設定の自由度を高めることができる。
本発明に関わる画像処理装置は、検査対象の画素領域の位置、形状、及び大きさを示すマークを検査画像に重畳表示するか又は検査画像から特徴画像が抽出された検査結果画像に重畳表示する表示装置を更に備えてもよい。これにより、操作者は、検査対象の画素領域Aの位置、形状、及び大きさを視覚的に把握することができる。
本発明に関わる画像処理方法は、コンピュータシステムが、検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、検査対象外の画素領域をマスクするための画素値を有し、且つ検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第1のマスク処理を行うステップと、第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行うステップと、マスク画像に中間処理と同じ処理を行うステップと、中間処理が行われた検査画像と、中間処理と同じ処理が行われたマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第2のマスク処理を行うステップと、を実行する。第2のマスク処理を行うステップは、1回目の中間処理後且つ2回目の中間処理前の検査画像にのみ前記第2のマスク処理を行う。この方法により、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制することができる。
本発明に関わる画像処理プログラムは、コンピュータシステムに、検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、検査対象外の画素領域をマスクするための画素値を有し、且つ検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第1のマスク処理を行うステップと、第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行うステップと、マスク画像に中間処理と同じ処理を行うステップと、中間処理が行われた検査画像と、中間処理と同じ処理が行われたマスク画像とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域をマスクする第2のマスク処理を行うステップとを実行させる。第2のマスク処理を行うステップは、1回目の中間処理後且つ2回目の中間処理前の検査画像にのみ前記第2のマスク処理を行う。この方法により、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制することができる。
本発明によれば、検査対象の画素領域と検査対象外の画素領域との間の境界の特徴の抽出を抑制することができる。
本実施形態に関わる画像処理の流れを示す説明図である。 本実施形態に関わる検査画像の一例を示す説明図である。 本実施形態に関わる検査結果画像の一例を示す説明図である。 本実施形態に関わるマスク画像の一例を示す説明図である。 本実施形態に関わるマスク画像の一例を示す説明図である。 本実施形態に関わる画像処理装置のハードウェア構成の説明図である。 本実施形態に関わる画像処理方法の流れを示すフローチャートである。 本実施形態に関わる画像処理方法の流れを示すフローチャートである。
以下、本発明の一側面に関わる実施形態を図面に基づいて説明する。本発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。
[適用例]
まず、図1乃至図5を参照しながら、本発明の適用例について説明する。
図1は本実施形態に関わる画像処理の流れを示す説明図である。畳み込みニューラルネットワーク100は、被検査対象の検査画像31から欠陥などの特徴画像を抽出して検査結果画像37を出力する。被検査対象は、例えば、仕掛け品又は部品などのワークであり、検査画像31は、被検査対象を撮影して得られる画像データである。図2は、検査画像31の一例を示す説明図である。検査画像31には、欠陥80と異物90とが映りこんでいる。図3は、検査結果画像37の一例を示す説明図である。検査結果画像37には、欠陥80の特徴画像81が抽出されている。
畳み込みニューラルネットワーク100は、検査画像31に含まれる欠陥80の画像が、学習済みの複数のクラスの何れかに属する確率値を算出し、複数のクラスのうち操作者によって選択された特定のクラスに対応する欠陥80の特徴画像81が抽出された検査結果画像37を出力する。クラスの例として、例えば、欠陥80の種類毎に分類された画像(例えば、「黒点」、「白点」、「黒線」、及び「白線」)と「背景」との組み合わせを挙げることができる。畳み込みニューラルネットワーク100は、クラス毎に用意された学習用の画像データと教師データ(ラベル)とを含む学習用のデータセットを用いて事前に機械学習することにより、検査画像31に含まれる欠陥80の画像が、学習済みの複数のクラスの何れかに属する確率値を算出するための内部パラメータと、複数のクラスのうち操作者によって選択された特定のクラスに対応する欠陥80の特徴画像81が抽出された検査結果画像37を出力するための内部パラメータとを予め獲得している。内部パラメータは、例えば、畳み込みニューラルネットワーク100の構成(例えば、層数、各層のニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの活性化関数)、及びハイパーパラメータ(各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報)を含む。クラスは、上述の例に限られるものではなく、欠陥80の形状の観点から分類される複数のクラスや、欠陥80の色の濃度の観点から分類される複数のクラスを含んでもよい。欠陥80の例として、キズ、打痕、汚れなどを挙げることができる。
図2に示すように、検査画像31は、検査対象の画素領域31Aと検査対象外の画素領域31Bとを含む。検査対象の画素領域31Aの位置(座標)、形状(輪郭)、及び大きさ(面積)は、異物90が画素領域31Aに含まれないように設定される。例えば、コンピュータシステムが異物90の位置、形状、大きさ、個数、及び分布などを画像認識して、異物90が画素領域31Aに含まれないように、画素領域31Aの位置、形状、及び大きさを自動設定してもよい。或いは、操作者が異物90の位置、形状、大きさ、個数、及び分布などを認識して、異物90が画素領域31Aに含まれないように、画素領域31Aの位置、形状、及び大きさを手動設定してもよい。符号70は、このようにして設定された画素領域31Aの位置、形状、及び大きさを表示するマークを示している。マーク70を検査画像31に重畳表示することにより、操作者は、検査対象の画素領域31Aの位置、形状、及び大きさを視覚的に把握することができる。なお、図3に示すように、マーク70を検査結果画像37に重畳表示してもよい。
図4は、検査対象外の画素領域31Bをマスクするマスク画像50の一例を示す説明図である。本明細書では、検査対象外の画素領域31Bの画素情報を畳み込みニューラルネットワーク100による画像処理(特徴画像81の抽出処理)から除外することを「マスクする」と呼ぶ。マスク画像50は、検査対象の画素領域31Aに対応する画素領域50Aと検査対象外の画素領域31Bに対応する画素領域50Bとを含む。画素領域50Aは、検査対象の画素領域31Aをマスクせずに、特徴画像81を抽出するための画素値(例えば、「1」)を有する。画素領域50Bは、検査対象外の画素領域31Bをマスクするための画素値(例えば、「0」)を有する。本明細書では、検査画像31とマスク画像50とのそれぞれ対応する画素同士の画素値の演算処理により、検査対象外の画素領域31Bをマスクすることを「マスク処理」と呼ぶ。このようなマスク処理に用いられる演算処理として、例えば、検査画像31とマスク画像50とのそれぞれ対応する画素同士の画素値の乗算処理を挙げることができる。マスク処理後の検査対象外の画素領域31Bの画素値は、例えば、「0」の値に変更される。図2及び図4に示す例では、検査対象の画素領域31A内にある画素P1と、マスク画像50の画素領域50A内にある画素Q1とは、対応する位置関係にあるため、マスク処理では、画素P1の画素値と画素Q1の画素値(例えば、「1」)とが掛け合わされる。同様に、検査対象外の画素領域31B内にある画素P2と、マスク画像50の画素領域50B内にある画素Q2とは、対応する位置関係にあるため、マスク処理では、画素P2の画素値と画素Q2の画素値(例えば、「0」)とが掛け合わされる。ここで、「対応する位置関係」とは、例えば、検査画像31及びマスク画像50のそれぞれに共通する座標原点を設定したときに、座標位置が同じであることを意味する。
ここで、図1の説明に戻る。畳み込みニューラルネットワーク100は、検査画像31とマスク画像50とのそれぞれ対応する画素値同士を乗算器61により掛け合わせるマスク処理を行う。畳み込みニューラルネットワーク100は、マスク処理が行われた検査画像31に畳み込みフィルタを適用して検査画像31から特徴を抽出するための畳み込み処理と、抽出された特徴を圧縮するためのプーリング処理とを繰り返し行う。畳み込みニューラルネットワーク100は、畳み込み処理とプーリング処理とを交互に行ってもよく、或いは、数回の畳み込み処理とそれに続く1回のプーリング処理とを一つの処理単位とし、この処理単位を複数回繰り返し行ってもよい。符号32は、畳み込み層又はプーリング層を総称する中間層を示している。全結合層33は、複数の中間層32を通じて抽出された特徴から重み付き和を計算し、これをソフトマックス層34に出力する。ソフトマックス層34は、複数の中間層32を通じて抽出された特徴が複数のクラスの何れかに属する確率値を、全結合層33から出力される重み付き和に基づいて算出し、これを全結合層35に出力する。
畳み込みニューラルネットワーク100は、複数のクラスのうち操作者によって選択された特定のクラスに対応する欠陥80の特徴画像81を抽出するために、その特定のクラス以外のクラスに対応する欠陥の特徴画像に関するソフトマックス層34の出力値(確率値)をゼロに設定する。畳み込みニューラルネットワーク100は、全結合層35からの出力に逆畳み込みフィルタを適用して逆畳み込み処理と逆プーリング処理とを繰り返し行うことにより、特徴画像81が抽出された検査結果画像37を出力する。符号36は、逆畳み込み層又は逆プーリング層を総称する中間層を示している。
本明細書では、「畳み込みフィルタ」と「逆畳み込みフィルタ」を総称して「空間フィルタ」と呼ぶ。また、検査画像31に空間フィルタを適用して検査画像31から特徴画像81を抽出するための処理を「中間処理」と呼ぶ。中間処理には、上述の畳み込み処理、プーリング処理、逆畳み込み処理、及び逆プーリング処理が含まれる。このような中間処理においては、検査対象の画素領域31Aと検査対象外の画素領域31Bとの間の境界の特徴が抽出される。説明の便宜上、このような境界の特徴を「境界特徴」と呼ぶ。図1に示す例では、検査画像31の各中間処理において、境界特徴が抽出される度に、その境界特徴をマスクするために、畳み込みニューラルネットワーク100は、検査画像31とマスク画像50とのそれぞれ対応する画素同士の画素値を乗算器62により掛け合わせるマスク処理を行う。乗算器61を用いたマスク処理と乗算器62を用いたマスク処理とを区別するため、説明の便宜上、前者を「第1のマスク処理」と呼び、後者を「第2のマスク処理」と呼ぶ。
畳み込みニューラルネットワーク100は、第1のマスク処理後の検査画像31に行った中間処理と同じ処理をマスク画像50に行った上で、検査画像31に第2のマスク処理を行う。N回目の中間処理を通じて抽出された境界特徴をマスクする場合を例にとって、第2のマスク処理の詳細について説明する。ここで、中間処理の全回数をMとしたとき、Nは1以上M以下の整数であり、Mは1以上の整数である。畳み込みニューラルネットワーク100は、第1のマスク処理が行われた検査画像31に空間フィルタを適用して検査画像31から特徴画像81を抽出するための中間処理をN回行う。畳み込みニューラルネットワーク100は、検査画像31に適用した空間フィルタと同一のフィルタをマスク画像50に適用して、検査画像31に行われた中間処理と同じ処理をN回行う。畳み込みニューラルネットワーク100は、中間処理がN回行われた検査画像31と、その中間処理と同じ処理がN回行われたマスク画像50とのそれぞれ対応する画素同士の画素値を掛け合わせる。このように、第1のマスク処理後の検査画像31に行った中間処理と同じ処理をマスク画像50に行った上で、検査画像31に第2のマスク処理を行うことにより、中間処理を通じて抽出された境界特徴をマスクすることができる。図1に示す例では、畳み込みニューラルネットワーク100は、N=1,2,…,Mの全てにおいて、検査画像31に第2のマスク処理を行っている。このように、各中間処理において境界特徴が抽出される度に、境界特徴をマスクすることにより、境界特徴の抽出をより確実に抑制することができる。
なお、畳み込み処理では、下式による演算処理が行われる。
Figure 0007258509000001
上式において、Ibtm(X,Y,c)は入力画像である。検査画像31の畳み込み処理では、検査画像31を入力画像とする。マスク画像50の畳み込み処理では、マスク画像50を入力画像とする。Itop(X,Y,c)は、入力画像を畳み込み処理して得られる出力画像である。W(X,Y,c,n)は畳み込みフィルタである。検査画像31の畳み込み処理に用いられる畳み込みフィルタと、マスク画像50の畳み込み処理に用いられる畳み込みフィルタは同じである。B(n)はバイアスである。cは入力画像のチャネル数である。Kx,Kyは、畳み込みフィルタのカーネルサイズである。なお、マスク画像50の畳み込み処理では、W(X,Y,c,n)を全て「1」に置換し、B(n)を全て「0」に置換して計算してもよい。
なお、上述の説明においては、各中間処理において境界特徴が抽出される度に境界特徴をマスクする例を述べたが、必ずしも、各中間処理において境界特徴が抽出される度に、境界特徴をマスクする必要はない。例えば、検査画像31に行われる中間処理の回数が少ない段階で抽出された境界特徴をマスクする方が、検査画像31に行われる中間処理の回数が多い段階で抽出された境界特徴をマスクするよりも、検査対象の画素領域31Aと検査対象外の画素領域31Bとの間の境界の特徴の抽出を抑制する効果が高い。境界特徴は、一度抽出されてしまうと、後段の中間処理(例えば、畳み込み処理)を実行する度に画像全体に伝搬していく。畳み込み処理の回数がなるべく少ない段階で第2のマスク処理をする程、境界特徴の伝搬が少なくなる。このため、畳み込みニューラルネットワーク100は、1回目の中間処理後且つ2回目の中間処理前の検査画像31に第2のマスク処理を行い、2回目以降の中間処理により抽出された境界特徴をマスクしなくてもよい。或いは、畳み込みニューラルネットワーク100は、複数の中間層32のうち何れか1つ又はそれ以上の中間層32において抽出された境界特徴をマスクし、残りの中間層32,36において抽出された境界特徴をマスクしなくてもよい。
また、図5に示すように、マスク画像50の画素領域のうち、検査対象の画素領域31Aに対応する画素領域50Aの形状を非矩形に設定してもよい。これにより、検査対象の画素領域31Aの設定の自由度を高めることができる。非矩形は、矩形(正方形又は長方形)以外のあらゆる形状を含む。非矩形は、例えば、複数の矩形を組み合わせた多角形でもよく、円形や楕円形などでもよい。また、検査画像31の全画素領域を二値化処理し、二値のうち何れか一方の値を有する画素の集まりが検査対象の画素領域31Aとなるように、マスク画像50の画素領域50Aの形状を設定してもよい。このような二値化処理の例として、例えば、輝度、彩度、又は明度のうち何れかが閾値以上の画素値を「1」とし、閾値未満である画素値を「0」とする処理を挙げることができる。
[ハードウェア構成]
次に、図6を参照しながら、本実施形態に関わる画像処理装置10のハードウェア構成の一例について説明する。
画像処理装置10は、そのハードウェア資源として、プロセッサ11と、メインメモリ12と、カメラインタフェース13と、入出力インタフェース14と、ディスプレイインタフェース15と、通信インタフェース16と、記憶装置17とを備えるコンピュータシステムである。
記憶装置17は、ディスク媒体(例えば、磁気記録媒体又は光磁気記録媒体)又は半導体メモリ(例えば、揮発性メモリ又は不揮発性メモリ)などのコンピュータ読み取り可能な記録媒体である。このような記録媒体は、例えば、非一過性の記録媒体と呼ぶこともできる。記憶装置17には、ソフトウェアプログラム(画像処理プログラム21及びオペレーティングシステム22)が記憶されている。画像処理プログラム21は、本実施形態に関わる画像処理方法をプロセッサ11に実行させるためのコンピュータプログラムである。これらのソフトウェアプログラムは、記憶装置17からメインメモリ12に読み込まれ、プロセッサ11により解釈及び実行されることにより、畳み込みニューラルネットワーク100による上述の画像処理機能が実現される。なお、記憶装置17には、検査画像31及び検査結果画像37も記憶されている。
カメラインタフェース13には、カメラ41が接続されている。カメラ41は、画像処理装置10に内蔵されているものでもよく、或いは画像処理装置10に外付けされるものでもよい。カメラ41は、被検査対象30を撮影する。被検査対象30は、例えば、生産ライン上をベルトコンベヤで搬送されるワークでもよい。画像処理装置10は、生産ライン上に設置されていてもよく、或いは生産ラインとは異なる場所に設置されていてもよい。画像処理装置10が生産ラインとは異なる場所に設置されている場合には、画像処理装置10は、生産ラインに設置されているカメラによる被検査対象30の撮影により得られた検査画像31を、通信インタフェース16を通じてネットワーク45から受信してもよい。
入出力インタフェース14には、入力装置42と出力装置43とが接続されている。入力装置42は、操作者による各種設定(例えば、マスク画像50の設定やクラス指定など)の入力を受け付けるデバイスである。入力装置42は、キーボード、マウス、タッチパッドなどである。出力装置43は、画像処理装置10の処理結果などを出力するデバイスである。出力装置43は、例えば、プリンタである。
ディスプレイインタフェース15には、表示装置44が接続されている。表示装置44は、操作者による各種設定のための画面を表示したり、欠陥検出の検査結果を表示したりする。例えば、図2に示すように、表示装置44は、検査対象の画素領域31Aの位置、形状、及び大きさを示すマーク70を検査画像31に重畳表示することができる。また例えば、図3に示すように、表示装置44は、マーク70を検査結果画像37に重畳表示してもよい。表示装置44は、例えば、液晶ディスプレイなどのディスプレイデバイスである。
[画像処理方法]
図7は本実施形態に関わる画像処理方法の処理の流れの一例を示すフローチャートである。
ステップ701において、画像処理装置10は、カメラ41を用いて被検査対象30を撮影し、検査画像31を得る。
ステップ702において、画像処理装置10は、マスク画像50の設定処理を行う。この設定処理では、検査対象の画素領域31Aの位置、形状、及び大きさを規定するマスク画像50が生成される。例えば、図2に示すように、画像処理装置10が異物90の位置、形状、大きさ、個数、及び分布などを画像認識して、異物90が画素領域31Aに含まれないように、マスク画像50を自動設定してもよい。或いは、操作者が異物90の位置、形状、大きさ、個数、及び分布などを認識して、異物90が画素領域31Aに含まれないように、マスク画像50を手動設定してもよい。
ステップ703において、画像処理装置10は、学習済みの複数のクラスのうち検出を希望する欠陥80に対応するクラスの指定を操作者から受け付ける。
ステップ704において、画像処理装置10は、畳み込みニューラルネットワーク100による画像処理に先立って検査画像31に前処理を行う。この前処理は、例えば、検査画像31の拡大処理、縮小処理、又はノイズ除去処理などである。
ステップ705において、画像処理装置10は、畳み込みニューラルネットワーク100による画像処理を通じて、検査画像31から欠陥80の特徴を抽出する。
ステップ706において、画像処理装置10は、抽出された特徴に後処理を行い、特徴画像81が抽出された検査結果画像37を出力する。この後処理は、例えば、画素値と閾値との比較に基づく二値化処理である。
ステップ707において、画像処理装置10は、欠陥80の特徴の抽出に成功したか否かを判定する。欠陥80が操作者の期待通りに抽出できた場合に、欠陥80の特徴の抽出に成功したものと判定される。欠陥80の特徴の抽出に成功するまで、ステップ704~706の処理が繰り返し実行される。
なお、図1の説明では、ステップ704の前処理と、ステップ706の後処理の説明を省略している点に留意されたい。
図8は畳み込みニューラルネットワーク100による画像処理の流れの一例を示すフローチャートである。この画像処理は、プロセッサ11による画像処理プログラム21の実行を通じて、畳み込みニューラルネットワーク100の画像処理機能として行われるものであり、上述のステップ705の処理に相当する。畳み込みニューラルネットワーク100の画像処理機能の詳細については、図1乃至図4を参照しながら説明した通りである。ここでは、説明の重複を省くため、概略的な記載に留める。
ステップ801において、画像処理装置10は、検査対象の画素領域31Aと検査対象外の画素領域31Bとを含む検査画像31と、検査対象外の画素領域31Bをマスクするための画素値を有し、且つ検査対象外の画素領域31Bに対応付けられる画素領域50Bを含むマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第1のマスク処理を行う。
ステップ802において、画像処理装置10は、第1のマスク処理が行われた検査画像31から畳み込みニューラルネットワーク100を通じて特徴画像81を抽出するための中間処理を行う。
ステップ803において、画像処理装置10は、マスク画像50に中間処理と同じ処理を行う。
ステップ804において、画像処理装置10は、中間処理が行われた検査画像31と、中間処理と同じ処理が行われたマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第2のマスク処理を行う。
なお、畳み込みニューラルネットワーク100の画像処理機能は、必ずしも、画像処理装置10のハードウェア資源と画像処理プログラム21との協働によって実現される必要はなく、例えば、画像処理装置10の専用のハードウェア資源(例えば、特定用途向け集積回路(ASIC)、又はフィールドプログラマブルゲートアレイ(FPGA)など)を用いて実現されてもよい。
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
検査対象の画素領域31Aと検査対象外の画素領域31Bとを含む検査画像31と、検査対象外の画素領域31Bをマスクするための画素値を有し、且つ検査対象外の画素領域31Bに対応付けられる画素領域50Bを含むマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第1のマスク処理を行う手段801と、
第1のマスク処理が行われた検査画像31から畳み込みニューラルネットワーク100を通じて特徴画像81を抽出するための中間処理を行う手段802と、
マスク画像50に中間処理と同じ処理を行う手段803と、
中間処理が行われた検査画像31と、中間処理と同じ処理が行われたマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第2のマスク処理を行う手段804と、
を備える画像処理装置10。
(付記2)
付記1に記載の画像処理装置10であって、
第2のマスク処理を行う手段804は、1回目の中間処理後且つ2回目の中間処理前の検査画像31に第2のマスク処理を行う、画像処理装置10。
(付記3)
付記1に記載の画像処理装置10であって、
第2のマスク処理を行う手段804は、各中間処理後の検査画像31に第2のマスク処理を行う、画像処理装置10。
(付記4)
付記1乃至3のうち何れか1項に記載の画像処理装置であって、
検査対象の画素領域31Aの位置、形状、及び大きさを規定するマスク画像50を自動生成する手段702を更に備える、画像処理装置10。
(付記5)
付記4に記載の画像処理装置であって、
検査対象の画素領域31Aの形状は、非矩形である、画像処理装置10。
(付記6)
付記4又は5に記載の画像処理装置であって、
検査対象の画素領域31Aの位置、形状、及び大きさを示すマーク70を検査画像31に重畳表示するか又は検査画像31から特徴画像81が抽出された検査結果画像37に重畳表示する表示装置44を更に備える、画像処理装置10。
(付記7)
コンピュータシステムが、
検査対象の画素領域31Aと検査対象外の画素領域31Bとを含む検査画像31と、検査対象外の画素領域31Bをマスクするための画素値を有し、且つ検査対象外の画素領域31Bに対応付けられる画素領域50Bを含むマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第1のマスク処理を行うステップ801と、
第1のマスク処理が行われた検査画像31から畳み込みニューラルネットワーク100を通じて特徴画像81を抽出するための中間処理を行うステップ802と、
マスク画像50に中間処理と同じ処理を行うステップ803と、
中間処理が行われた検査画像31と、中間処理と同じ処理が行われたマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第2のマスク処理を行うステップ804と、
を実行する画像処理方法。
(付記8)
コンピュータシステムに、
検査対象の画素領域31Aと検査対象外の画素領域31Bとを含む検査画像31と、検査対象外の画素領域31Bをマスクするための画素値を有し、且つ検査対象外の画素領域31Bに対応付けられる画素領域50Bを含むマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第1のマスク処理を行うステップ801と、
第1のマスク処理が行われた検査画像31から畳み込みニューラルネットワーク100を通じて特徴画像81を抽出するための中間処理を行うステップ802と、
マスク画像50に中間処理と同じ処理を行うステップ803と、
中間処理が行われた検査画像31と、中間処理と同じ処理が行われたマスク画像50とのそれぞれ対応する画素同士の画素値の演算により検査対象外の画素領域31Bをマスクする第2のマスク処理を行うステップ804と、
を実行させる画像処理プログラム21。
10…画像処理装置 11…プロセッサ 12…メインメモリ 13…カメラインタフェース 14…入出力インタフェース 15…ディスプレイインタフェース 16…通信インタフェース 17…記憶装置 21…画像処理プログラム 22…オペレーティングシステム 30…検査対象 31…検査画像 32…中間層 33…全結合層 34…ソフトマックス層 35…全結合層 36…中間層 37…検査結果画像 41…カメラ 42…入力装置 43…出力装置 44…表示装置 45…ネットワーク 50…マスク画像 61…乗算器 62…乗算器 70…マーク 80…欠陥 81…特徴画像 90…異物

Claims (6)

  1. 検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、前記検査対象外の画素領域をマスクするための画素値を有し、且つ前記検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第1のマスク処理を行う手段と、
    前記第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行う手段と、
    前記マスク画像に前記中間処理と同じ処理を行う手段と、
    前記中間処理が行われた前記検査画像と、前記中間処理と同じ処理が行われた前記マスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第2のマスク処理を行う手段と、
    を備える画像処理装置であって、
    前記第2のマスク処理を行う手段は、1回目の中間処理後且つ2回目の中間処理前の前記検査画像にのみ前記第2のマスク処理を行う、画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記検査対象の画素領域の位置、形状、及び大きさを規定する前記マスク画像を自動生成する手段を更に備える、画像処理装置。
  3. 請求項2に記載の画像処理装置であって、
    前記検査対象の画素領域の形状は、非矩形である、画像処理装置。
  4. 請求項2又は3に記載の画像処理装置であって、
    前記検査対象の画素領域の位置、形状、及び大きさを示すマークを前記検査画像に重畳表示するか又は前記検査画像から前記特徴画像が抽出された検査結果画像に重畳表示する表示装置を更に備える、画像処理装置。
  5. コンピュータシステムが、
    検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、前記検査対象外の画素領域をマスクするための画素値を有し、且つ前記検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第1のマスク処理を行うステップと、
    前記第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行うステップと、
    前記マスク画像に前記中間処理と同じ処理を行うステップと、
    前記中間処理が行われた前記検査画像と、前記中間処理と同じ処理が行われた前記マスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第2のマスク処理を行うステップと、
    を実行する画像処理方法であって、
    前記第2のマスク処理を行うステップは、1回目の中間処理後且つ2回目の中間処理前の前記検査画像にのみ前記第2のマスク処理を行う、画像処理方法。
  6. コンピュータシステムに、
    検査対象の画素領域と検査対象外の画素領域とを含む検査画像と、前記検査対象外の画素領域をマスクするための画素値を有し、且つ前記検査対象外の画素領域に対応付けられる画素領域を含むマスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第1のマスク処理を行うステップと、
    前記第1のマスク処理が行われた検査画像から畳み込みニューラルネットワークを通じて特徴画像を抽出するための中間処理を行うステップと、
    前記マスク画像に前記中間処理と同じ処理を行うステップと、
    前記中間処理が行われた前記検査画像と、前記中間処理と同じ処理が行われた前記マスク画像とのそれぞれ対応する画素同士の画素値の演算により前記検査対象外の画素領域をマスクする第2のマスク処理を行うステップと、
    を実行させる画像処理プログラムであって、
    前記第2のマスク処理を行うステップは、1回目の中間処理後且つ2回目の中間処理前の前記検査画像にのみ前記第2のマスク処理を行う、画像処理プログラム
JP2018194010A 2018-10-15 2018-10-15 画像処理装置、画像処理方法、及び画像処理プログラム Active JP7258509B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018194010A JP7258509B2 (ja) 2018-10-15 2018-10-15 画像処理装置、画像処理方法、及び画像処理プログラム
US17/269,526 US11574397B2 (en) 2018-10-15 2019-10-10 Image processing device, image processing method, and computer readable recording medium
CN201980052562.1A CN112543950B (zh) 2018-10-15 2019-10-10 图像处理装置、图像处理方法及计算机可读取的记录介质
EP19872527.7A EP3869449A4 (en) 2018-10-15 2019-10-10 IMAGE PROCESSING DEVICE, METHOD AND PROGRAM
PCT/JP2019/040047 WO2020080250A1 (ja) 2018-10-15 2019-10-10 画像処理装置、画像処理方法、及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018194010A JP7258509B2 (ja) 2018-10-15 2018-10-15 画像処理装置、画像処理方法、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2020064333A JP2020064333A (ja) 2020-04-23
JP7258509B2 true JP7258509B2 (ja) 2023-04-17

Family

ID=70283100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018194010A Active JP7258509B2 (ja) 2018-10-15 2018-10-15 画像処理装置、画像処理方法、及び画像処理プログラム

Country Status (5)

Country Link
US (1) US11574397B2 (ja)
EP (1) EP3869449A4 (ja)
JP (1) JP7258509B2 (ja)
CN (1) CN112543950B (ja)
WO (1) WO2020080250A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7530187B2 (ja) * 2020-03-11 2024-08-07 キヤノン株式会社 データ処理装置、データ処理方法
WO2021245942A1 (en) * 2020-06-05 2021-12-09 Nec Corporation Information processing apparatus, information processing method, and computer readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017191608A (ja) 2016-04-15 2017-10-19 株式会社リコー 対象識別方法、対象識別装置、及び分類器訓練方法
WO2018081537A1 (en) 2016-10-31 2018-05-03 Konica Minolta Laboratory U.S.A., Inc. Method and system for image segmentation using controlled feedback

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3902823B2 (ja) * 1996-11-29 2007-04-11 大日本印刷株式会社 筋状欠陥検査方法及び装置
JP4095860B2 (ja) * 2002-08-12 2008-06-04 株式会社日立ハイテクノロジーズ 欠陥検査方法及びその装置
JP2006098151A (ja) * 2004-09-29 2006-04-13 Dainippon Screen Mfg Co Ltd パターン検査装置およびパターン検査方法
KR20100092014A (ko) * 2007-11-12 2010-08-19 마이크로닉 레이저 시스템즈 에이비 패턴 에러들을 검출하기 위한 방법들 및 장치들
JP5555097B2 (ja) * 2010-08-24 2014-07-23 オリンパス株式会社 画像処理装置、画像処理装置の作動方法、および画像処理プログラム
US20140212050A1 (en) * 2013-01-30 2014-07-31 Qualcomm Incorporated Systems and methods for processing an image
US9542626B2 (en) 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
EP3176751B1 (en) * 2015-12-01 2020-12-30 Ricoh Company, Ltd. Information processing device, information processing method, computer-readable recording medium, and inspection system
WO2018106783A1 (en) 2016-12-06 2018-06-14 Siemens Energy, Inc. Weakly supervised anomaly detection and segmentation in images
JP7004145B2 (ja) * 2017-11-15 2022-01-21 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
US10650530B2 (en) * 2018-03-29 2020-05-12 Uveye Ltd. Method of vehicle image comparison and system thereof
JP2020106469A (ja) * 2018-12-28 2020-07-09 オムロン株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP2020160616A (ja) * 2019-03-25 2020-10-01 ブラザー工業株式会社 生成装置、コンピュータプログラム、生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017191608A (ja) 2016-04-15 2017-10-19 株式会社リコー 対象識別方法、対象識別装置、及び分類器訓練方法
WO2018081537A1 (en) 2016-10-31 2018-05-03 Konica Minolta Laboratory U.S.A., Inc. Method and system for image segmentation using controlled feedback

Also Published As

Publication number Publication date
US11574397B2 (en) 2023-02-07
CN112543950A (zh) 2021-03-23
EP3869449A1 (en) 2021-08-25
US20210233231A1 (en) 2021-07-29
CN112543950B (zh) 2024-05-03
JP2020064333A (ja) 2020-04-23
EP3869449A4 (en) 2022-08-03
WO2020080250A1 (ja) 2020-04-23

Similar Documents

Publication Publication Date Title
JP6792842B2 (ja) 外観検査装置、変換データ生成装置、及びプログラム
JP7087397B2 (ja) 基板の欠陥検査装置、基板の欠陥検査方法及び記憶媒体
JP7004145B2 (ja) 欠陥検査装置、欠陥検査方法、及びそのプログラム
TWI643280B (zh) 使用結構性資訊之缺陷偵測
US20140348415A1 (en) System and method for identifying defects in welds by processing x-ray images
CN112150460B (zh) 检测方法、检测系统、设备和介质
WO2019186915A1 (ja) 異常検査装置および異常検査方法
WO2017071406A1 (zh) 金针类元件的引脚检测方法和系统
CN117274258B (zh) 主板图像的缺陷检测方法、系统、设备及存储介质
JP7258509B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
TW201606854A (zh) 用於晶粒對資料庫光罩檢查之自動校準樣本選擇
CN113807378A (zh) 训练数据增量方法、电子装置与计算机可读记录介质
JP5088165B2 (ja) 欠陥検出方法および欠陥検出装置
JP4801697B2 (ja) 画像形成方法,画像形成装置、及びコンピュータプログラム
KR20160097651A (ko) 유효화 영상처리기법을 이용한 시료의 패턴 검사 장치 및 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP2008171142A (ja) シミ欠陥検出方法及び装置
CN116402771A (zh) 缺陷检测方法、装置和模型训练方法、装置
Nahar et al. Computer aided system for inspection of assembled PCB
CN113657539A (zh) 基于两阶段检测网络的显示面板微缺陷检测方法
KR20230036650A (ko) 영상 패치 기반의 불량 검출 시스템 및 방법
JP2006145228A (ja) ムラ欠陥検出方法及び装置
JP2711649B2 (ja) 検査対象物の表面傷検出方法
WO2023100474A1 (ja) システム、画像処理方法およびプログラム
WO2024095721A1 (ja) 画像処理装置および画像処理方法
Chakravathi et al. FPGA based architecture for realtime edge detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221021

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221021

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221101

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221102

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20221202

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20221206

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221226

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230206

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230220

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230316

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230405

R150 Certificate of patent or registration of utility model

Ref document number: 7258509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150