(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022131559
(43)【公開日】2022-09-07
(54)【発明の名称】検査システムおよび検査プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220831BHJP
【FI】
G06T7/00 610C
G06T7/00 350B
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021030563
(22)【出願日】2021-02-26
(71)【出願人】
【識別番号】514263540
【氏名又は名称】株式会社アダコテック
(74)【代理人】
【識別番号】100101982
【弁理士】
【氏名又は名称】久米川 正光
(72)【発明者】
【氏名】伊藤 桂一
(72)【発明者】
【氏名】伊部 卓秀
(72)【発明者】
【氏名】大津 展之
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096BA18
5L096CA02
5L096DA01
5L096EA14
5L096FA25
5L096FA69
5L096FA77
5L096GA10
5L096GA19
5L096HA11
5L096JA09
5L096JA11
5L096KA04
(57)【要約】
【課題】短時間かつタスクに依存しない方法で各部位に対して最適なモデルを学習し、検査対象を細分化した部分単位で検査結果を得る。
【解決手段】位置補正部3は、既知の検査対象を撮像した撮像画像において、検査対象が表されている対象領域が所定の基準位置に合うように補正する。部分画像生成部4は、補正された撮像画像を細分化して、複数の部分画像を生成する。判定部6は、部分画像毎に割り当てられた複数の機械学習モデル6aを有し、特定の部分画像に関するデータを、この特定の部分画像に対応するいずれかの機械学習モデル6aに入力することによって、検査結果を部分画像毎に出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
検査システムにおいて、
既知の検査対象を撮像した撮像画像において、前記検査対象が表されている対象領域が所定の基準位置に合うように補正する位置補正部と、
前記補正された撮像画像を細分化して、複数の部分画像を生成する部分画像生成部と、
部分画像毎に割り当てられた複数の機械学習モデルを有し、特定の部分画像に関するデータを、当該特定の部分画像に対応するいずれかの機械学習モデルに入力することによって、検査結果を部分画像毎に出力する判定部と
を有することを特徴とする検査システム。
【請求項2】
前記部分画像毎に出力された前記検査結果に基づいて、前記撮像画面の座標系において、前記部分画像のサイズ相当の分解能で検査の良否を示す検査結果画面を生成する画面生成部をさらに有することを特徴とする請求項1に記載された検査システム。
【請求項3】
前記部分画像生成部は、前記撮像画像における前記対象領域のみを判定対象として、前記補正された撮像画像を細分化することを特徴とする請求項1に記載された検査システム。
【請求項4】
前記部分画像生成部は、互いに隣り合った部分画像が部分的にオーバーラップするように、前記補正された撮像画像を細分化することを特徴とする請求項1に記載された検査システム。
【請求項5】
前記部分画像のサイズ相当の学習データを用いて、前記複数の機械学習モデルのそれぞれの学習を個別に行う学習処理部をさらに有することを特徴とする請求項1から4のいずれかに記載された検査システム。
【請求項6】
検査プログラムにおいて、
既知の検査対象が被写体として撮像され、かつ、前記検査対象が表されている対象領域が所定の基準位置に合うことが保証された撮像画像を細分化して、複数の部分画像を生成する第1のステップと、
前記複数の部分画像のいずれかを処理対象とし、当該部分画像に関するデータを、当該部分画像に割り当てられた機械学習モデルに入力することによって、当該部分画像の検査結果を出力する第2のステップと、
前記処理対象の移行に応じて、適用する機械学習モデルを変えながら、前記複数の部分画像の全ての処理が終了するまで、上記第2のステップを繰り返す第3のステップと
を有する処理をコンピュータに実行させることを特徴とする検査プログラム。
【請求項7】
前記部分画像毎に出力された前記検査結果に基づいて、前記撮像画面の座標系において、前記部分画像のサイズ相当の分解能で検査の良否を示す検査結果画面を生成する第4のステップをさらに有する処理をコンピュータに実行させることを特徴とする請求項6に記載された検査プログラム。
【請求項8】
前記第1のステップは、前記撮像画像における前記対象領域のみを判定対象として、前記補正された撮像画像を細分化することを特徴とする請求項6に記載された検査プログラム。
【請求項9】
前記第1のステップは、互いに隣り合った部分画像が部分的にオーバーラップするように、前記補正された撮像画像を細分化することを特徴とする請求項6に記載された検査プログラム。
【請求項10】
前記部分画像のサイズ相当の学習データを用いて、前記複数の機械学習モデルのそれぞれの学習を個別に行う第5のステップをさらに有する処理をコンピュータに実行させることを特徴とする請求項6から9のいずれかに記載された検査プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査対象を撮像した撮像画像に基づいて、検査対象の良否を判定する検査システムおよび検査プログラムに関する。
【背景技術】
【0002】
従来、検査対象を撮像した撮像画像に基づいて、検査対象の良否を判定する検査システムが知られている。例えば、特許文献1には、検査対象の不良品がない場合や少ない場合であっても、検査対象の画像の特徴量を自動で学習する画像検査装置が開示されている。この検査装置は、特徴量学習部と、識別器学習部と、特徴量算出部と、識別部とを有する。特徴量学習部は、検査対象を含む学習用画像に基づいて、ニューラルネットワークの学習を行い、学習用画像を復元できる特徴量を出力する学習済みのニューラルネットワークを構築する。識別器学習部は、特徴量学習部の学習完了後、学習済みのニューラルネットワークが出力した学習用画像の特徴量に基づいて、検査対象の良否を判定する識別器を学習により生成する。特徴量算出部は、検査対象を含む判定用画像を学習済みのニューラルネットワークに入力し、判定用画像の特徴量を出力する。識別部は、特徴量算出部より出力された判定用画像の特徴量の入力に基づいて、検査対象の良否判定を行う。
【0003】
また、特許文献2には、サンプル画像が少ない場合でも、検査対象の良否判定の精度を向上させる検査装置が開示されている。この検査装置は、分割処理部と、分類部と、判定部とを有する。分割処理部は、検査対象の撮像画像を複数の撮像分割画像に分割する。分類部は、学習用画像を複数に分割することによって得られる学習用分割画像のそれぞれについて、学習用分割画像を機械学習することによって抽出した特徴量に基づいて、複数の撮像分割画像のそれぞれを分類する。そして、判定部は、分類部によって分類された撮像分割画像のそれぞれに基づいて、検査対象の良否判定を行う。なお、特許文献2は、学習サンプル数の水増しを目的とするため、判定モデルが複数存在する点については記載されていない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-87181号公報
【特許文献2】特開2017-211259号公報
【非特許文献】
【0005】
【非特許文献1】Ogata, J. and Murakawa, M.: Vibration-Based Anomaly Detection Using FLAC Features for Wind Turbine Condition Monitoring (2016)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1では、上述した従来技術は、検査対象全体としての良否を判定するものであって、これよりも高い空間分解能、すなわち、検査対象を細分化した部分単位での良否判定はできない。また、特許文献2では、発明の副産物として部分単位での良否判定が可能なものの、各部分に対して最適なモデルを学習することは考慮されていない。例えば、半導体のピン部分と、モールド部分との正常な状態の違いを考慮した学習は行っていない。
【0007】
また、正常な状態の違いを考慮した学習方法として、混合ガウシアンモデルを活用した学習手法なども提案されているが(例えば、非特許文献1)、学習に要する時間の増大や、クラスタ数などのパラメータをタスクに対して最適に設定する必要があるなど、運用面での課題が残っている。
【0008】
そこで、本発明の目的は、短時間かつタスクに依存しない方法で各部位に対して最適なモデルを学習し、検査対象を細分化した部分単位で検査結果を得ることである。
【課題を解決するための手段】
【0009】
かかる課題を解決すべく、第1の発明は、位置補正部と、部分画像生成部と、判定部とを有する検査システムを提供する。位置補正部は、既知の検査対象を撮像した撮像画像において、検査対象が表されている対象領域が所定の基準位置に合うように補正する。部分画像生成部は、補正された撮像画像を細分化して、複数の部分画像を生成する。判定部は、部分画像毎に割り当てられた複数の機械学習モデルを有し、特定の部分画像に関するデータを、この特定の部分画像に対応するいずれかの機械学習モデルに入力することによって、検査結果を部分画像毎に出力する。
【0010】
ここで、第1の発明において、部分画像毎に出力された検査結果に基づいて、撮像画面の座標系において、部分画像のサイズ相当の分解能で検査の良否を示す検査結果画面を生成する画面生成部を設けることが好ましい。また、上記部分画像生成部は、撮像画像における対象領域のみを判定対象として、補正された撮像画像を細分化してもよい。また、上記部分画像生成部は、互いに隣り合った部分画像が部分的にオーバーラップするように、補正された撮像画像を細分化してもよい。さらに、部分画像のサイズ相当の学習データを用いて、複数の機械学習モデルのそれぞれの学習を個別に行う学習処理部を設けてもよい。
【0011】
第2の発明は、以下のステップを有する処理をコンピュータに実行させる検査プログラムを提供する。第1のステップでは、既知の検査対象が被写体として撮像され、かつ、前記検査対象が表されている対象領域が所定の基準位置に合うことが保証された撮像画像を細分化して、複数の部分画像を生成する。第2のステップでは、複数の部分画像のいずれかを処理対象とし、この部分画像に関するデータを、この部分画像に割り当てられた機械学習モデルに入力することによって、この部分画像の検査結果を出力する。第3のステップでは、処理対象の移行に応じて、適用する機械学習モデルを変えながら、複数の部分画像の全ての処理が終了するまで、上記第2のステップを繰り返す。
【0012】
ここで、第2の発明において、部分画像毎に出力された検査結果に基づいて、撮像画面の座標系において、部分画像のサイズ相当の分解能で検査の良否を示す検査結果画面を生成する第4のステップを有する処理をコンピュータに実行させることが好ましい。また、上記第1のステップは、撮像画像における対象領域のみを判定対象として、補正された撮像画像を細分化してもよい。また、上記第1のステップは、互いに隣り合った部分画像が部分的にオーバーラップするように、補正された撮像画像を細分化してもよい。さらに、部分画像のサイズ相当の学習データを用いて、複数の機械学習モデルのそれぞれの学習を個別に行う第5のステップを有する処理をコンピュータに実行させてもよい。
【発明の効果】
【0013】
本発明によれば、検査対象が表されている対象領域の位置合わせを行った上で、撮像画像を複数の部分画像に細分化する。これにより、それぞれの部分画像に検査対象のどの部分が表されているかが定まる。そして、それぞれの部分画像に対して、その特徴に特化して構築された機械学習モデルを個別に割り当てる。その結果、短時間かつタスクに依存しない方法で、部分毎の検査が学習的に適応化/最適化することができる。
【図面の簡単な説明】
【0014】
【発明を実施するための形態】
【0015】
図1は、本実施形態に係る検査システムのブロック図である。この検査システム1は、既知の検査対象を撮像した撮像画像に基づいて、検査対象の良否を判定する。検査システム1は、カメラ2と、位置補正部3と、部分画像生成部4と、特徴量抽出部5と、判定部6と、学習処理部7と、記憶部8と、画面生成部9とを主体に構成されている。
【0016】
カメラ2は、検査対象を撮像して、所定サイズの撮像画像を出力する。位置補正部3は、カメラ2より出力された撮像画像の平面上において、検査対象が表されている領域(以下、「対象領域A」と称する。)が所定の基準位置に合うように補正、すなわち位置決めを行う。この位置決め手法としては、既知の手法を任意に採用することができるが、本実施形態では、検査対象となる撮像画像と、予め用意された基準画像とのズレをテンプレートマッチングなどで計測し、このズレが解消するように、アフィン変換を用いて撮像画像を補正する。なお、位置補正部3としては、上記のような画像処理に限らず、被写体である検査対象を所定の基準位置に揃えるための治具といった機械的な仕組みであってもよい。このような位置補正部3を設けることによって、撮像画像上において、対象領域Aが所定の基準位置に合うことが保証される。
【0017】
なお、次の部分画像生成部4の処理に先立ち、必要に応じて、撮像画像に対して輝度補正や各種フィルタリング処理といった所定の前処理を行ってもよい。この前処理は、位置補正部3の後段の処理として行ってもよいし、位置補正部3の前段の処理として行ってもよい。
【0018】
部分画像生成部4は、位置補正部3によって補正された撮像画像、換言すれば、画像平面上において対象領域Aが所定の基準位置に合うことが保証された撮像画像を細分化して、複数の部分画像PBを生成する。例えば、撮像画像を横方向にi個、縦方向にj個のに分割した場合、矩形状の部分画像PBがi×j個生成される。
【0019】
特徴量抽出部5は、画像データの冗長性を低減すべく、撮像画像を細分化することによって得られた部分画像PBのそれぞれについて、その特徴量を個別に抽出する。特徴量の抽出手法としては、既知の手法を任意に採用することができるが、本実施形態では、高次局所自己相関(HLAC:Higher-order Local Auto Correlation)を用いている。HLACとは、画像の解析や認識等に用いられる認識精度に優れた汎用かつ高速な特徴抽出法である。このメリットとしては、積和演算のみで算出可能なので、検査対象の形状や大きさを瞬時に計算できること、位置不変性(認識対象の位置に依存しない)という特性から、対象の切り出しを必要としないこと(セグメンテーションフリー)、および、加法性(対象が2つあればそれぞれの特徴ベクトルの和となる)といった、画像認識にとって好ましい性質を備えていることが挙げられる。なお、HLACの詳細については、例えば、特開2008-46903号公報や特開2008-185845号公報などに記載されているので、必要ならば参照されたい。
【0020】
判定部6は、個々の部分画像PBに対応して割り当てられた複数の機械学習モデル6aを備えており、検査結果を部分画像PB単位で出力する。特定の部分画像、例えば、部分画像PB(1,1)に関するデータは、同図における最上段の機械学習モデル6aに入力され、この部分画像PB(1,1)に関する検査結果が出力される。同様に、部分画像PB(1,2)に関するデータは、同図における上から2段目の機械学習モデル6aに入力され、この部分画像PB(1,2)に関する検査結果が出力される。これにより、判定部6全体では、i×j個の機械学習モデル6aの出力として、i×j個の検査結果が得られることになる。検査結果は、OK/NGを示す二値データであってもよいし、検査結果の指標としてのスコア値であってもよい。機械学習モデル6aとしては、例えば、部分空間法、マハラノビス距離、オートエンコーダー、1classサポートベクターマシン(1classSVM)などの教師なし学習ベースの機械学習手法を用いることができる。判定部6を構成する個々の機械学習モデル6aより出力された検査結果は、部分画像PBの座標値と対応付けて、記憶部8に記憶される。
【0021】
学習処理部7は、部分画像PBのサイズ相当の学習データを用いて、判定部6を構成する複数の機械学習モデル6aの学習を個別に行う。これにより、それぞれの機械学習モデル6aについて、これが対応する部分画像PBにおける撮像状態の特徴(テクスチャ)を反映した形でモデルが構築される。なお、検査対象の検査は、学習処理部7によって機械学習モデル6aの学習が完了していることを前提として行われる。
【0022】
画面生成部9は、記憶部8より部分画像PB毎の検査結果を読み込み、検査結果画面を生成する。画面生成部9によって生成された検査結果画面は、図示しない表示装置を介してユーザに提示される。
【0023】
図2は、検査対象の検査手順を示すフローチャートである。まず、ステップ1において、既知の検査対象がカメラ2によって撮像され、撮像画像が取得される。
図3に示すように、撮像画像には、検査対象の一例として、工場のラインで製造されたプリント基板が写し出されており、このプリント基板に外観上の不良がないかが検査される。
【0024】
ステップ2において、位置補正部3は、ステップ1で取得された撮像画像の位置補正を行う。具体的には、
図4に示すように、まず、位置補正に先立ち、位置的な基準を与える基準画像が予め用意されている。つぎに、基準画像において検査対象が表されている対象領域Aと、撮像画像において検査対象が表されている対象領域Aとを比較して、前者に対して後者がどの程度ズレているかが計測される。この計測は、テンプレートマッチングなどを用いて行うことができる。そして、計測されたズレ量が解消するように、アフィン変換を用いて撮像画像が補正される。これにより、撮像画像上の対象領域Aは、基準画像の指定どおりに位置決めされる。
【0025】
ステップ3において、部分画像生成部4は、ステップ2で補正された撮像画像を細分化して、複数の部分画像PBを生成する。
図5に示すように、撮像画像の全体が例えば11×8個に分割される。ただし、本実施形態では、不要な演算をなくすために、撮像画像全体ではなくその一部、すなわち対象領域Aのみを判定対象としている。そのために、
図6に示すようなマスク画像を適用して、対象領域Aに相当する領域(白色で図示した領域)のみが抽出される。なお、撮像画像の細分化は、
図5に示した手法以外に
図7に示すような手法で行ってもよい。
図7の例では、互いに隣り合った部分画像(例えば、PB(1,1)およびPB(2,1))が部分的にオーバーラップするように、撮像画像の細分化が行われる。
【0026】
ステップ4において、特徴量抽出部5は、ある部分画像(例えばPB(1,1))の特徴量を抽出する。つぎに、判定部6は、この部分画像に対応する機械学習モデル6aを指定した上で(ステップ5)、この機械学習モデル6aに部分画像に関するデータ(特徴量)を入力する。これによって、この部分画像に関する検査結果が機械学習モデル6aより出力される(ステップ6)。出力された検査結果は、撮像画像上の座標付きで記憶部8に格納される(ステップ7)。
【0027】
ステップ8において、全ての部分画像の処理が終了したかが判定される。未処理の部分画像が残っている場合には、次の部分画像の処理に移行して、ステップ4~7の処理が実行され、全ての部分画像の処理が終了するまで繰り返される。
【0028】
そして、全ての部分画像の処理が終了すると、ステップ10に進み、画面生成部9は、記憶部8から全ての部分画像の判定結果を読み出し、これに基づいて検査結果画面を生成する。
図8は、検査結果画面の表示例を示す図である。この検査結果画面は、撮像画面の座標系において、部分画像のサイズ相当の分解能で検査の良否を示しており、斜線で覆われた領域がNGである。生成された検査結果画面は、検査者が閲覧する表示装置上に表示される。これにより、検査者は、検査対象のどの領域がNGであるかを容易に理解できる。
【0029】
このように、本実施形態によれば、検査対象が表されている対象領域Aの位置合わせを行った上で、撮像画像を複数の部分画像PBに細分化する。これにより、それぞれの部分画像PBに検査対象のどの部分が表されているかが定まる。そして、それぞれの部分画像PBに対して、その特徴(テクスチャ)に特化して構築された機械学習モデル6aを個別に割り当てる。その結果、短時間かつタスクに依存しない方法で、部分画像PBのサイズに相当する空間分解能で検査結果を得ることができ、部分毎の検査が学習的に適応化/最適化することができる。
【0030】
なお、本発明は、
図2のフローチャートに示した手順をコンピュータに実行させる検査プログラムとして捉えることもできる。
【符号の説明】
【0031】
1 検査システム
2 カメラ
3 位置補正部
4 部分画像生成部
5 特徴量抽出部
6 判定部
6a 機械学習モデル
7 学習処理部
8 記憶部
9 画面生成部