(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024115976
(43)【公開日】2024-08-27
(54)【発明の名称】学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置
(51)【国際特許分類】
G01N 21/956 20060101AFI20240820BHJP
【FI】
G01N21/956 B
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023021918
(22)【出願日】2023-02-15
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100174104
【弁理士】
【氏名又は名称】奥田 康一
(72)【発明者】
【氏名】国定 恭史
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AA61
2G051AB02
2G051CA04
2G051CB01
2G051EA12
2G051EB01
2G051EB09
2G051EC01
2G051EC02
2G051EC07
2G051EC10
(57)【要約】
【課題】複数の判定項目を有する対象物における判定の精度を高め得るようにする。
【解決手段】外観検査装置1は、学習用画像データに対し判定項目に応じた周波数フィルタを適応して抽出した学習済特徴量を当該判定項目と対応付けてから、判定用画像データに対し判定項目に応じた周波数フィルタを適応して抽出した判定用特徴量と学習済特徴量との差異を基に、判定結果を決定する。このため外観検査装置1は、対象とする判定項目に適した周波数フィルタを画像データに適応できるので、当該判定項目に関する特徴が良好に表れた学習済特徴量及び判定用特徴量を得ることができ、これらを用いて判定項目に関する高精度な判定結果を得ることができる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する方法であって、
複数の判定項目を有する前記データを取得する取得ステップと、
前記判定項目毎に、前記データに適応すべき周波数フィルタを設定する設定ステップと、
前記周波数フィルタを前記データに適応する適応ステップと、
前記周波数フィルタが適応された前記データと、当該データから抽出すべき特徴量とを含む教師データセットを用いて前記学習モデルの学習処理を行わせる学習ステップと
を有することを特徴とする学習モデル生成方法。
【請求項2】
前記データは、多次元データであり、
前記周波数フィルタは、前記多次元データの位置に応じた空間周波数に関する処理を表すフィルタである
ことを特徴とする請求項1に記載の学習モデル生成方法。
【請求項3】
前記設定ステップは、前記対象物について着目すべき前記判定項目である着目判定項目に応じて、前記判定項目毎に前記データに適応すべき周波数フィルタを設定する
ことを特徴とする請求項1に記載の学習モデル生成方法。
【請求項4】
前記学習ステップにより前記学習処理が行われた後、複数の前記判定項目を有する事後データを取得する事後取得ステップと、
前記判定項目毎に、前記事後データに適応すべき周波数フィルタを設定する事後設定ステップと、
前記周波数フィルタを前記事後データに適応する事後適応ステップと、
前記周波数フィルタが適応された前記事後データから事後特徴量を抽出する特徴量抽出ステップと
をさらに有することを特徴とする請求項1に記載の学習モデル生成方法。
【請求項5】
前記特徴量抽出ステップにより前記事後特徴量が抽出された後、当該事後特徴量を基に分類結果を判定する判定ステップ
をさらに具えることを特徴とする請求項4に記載の学習モデル生成方法。
【請求項6】
前記判定ステップは、前記教師データセットに含まれる前記特徴量及び前記事後特徴量の乖離を示す評価値と、前記対象物について判定すべき前記判定項目に応じた閾値との比較結果に基づいて前記分類結果を判定する
ことを特徴とする請求項5に記載の学習モデル生成方法。
【請求項7】
前記特徴量抽出ステップにおいて抽出された前記事後特徴量を用いて前記学習モデルを更新する更新ステップ
をさらに有することを特徴とする請求項5に記載の学習モデル生成方法。
【請求項8】
前記特徴量抽出ステップは、前記判定項目ごとの前記学習モデルを用いた前記学習処理を行う
ことを特徴とする請求項5に記載の学習モデル生成方法。
【請求項9】
前記データは、前記対象物が撮像された画像データである
ことを特徴とする請求項1乃至請求項8の何れかに記載の学習モデル生成方法。
【請求項10】
前記データは、前記対象物から集音された音響データである
ことを特徴とする請求項1乃至請求項8の何れかに記載の学習モデル生成方法。
【請求項11】
複数の判定項目を有する対象物に関するデータと、前記複数の判定項目のうち前記対象物について判定すべき前記判定項目とを取得する取得ステップと、
前記判定項目毎に、前記データに適応すべき周波数フィルタを設定する設定ステップと、
前記設定ステップにおいて設定された前記周波数フィルタを前記データに適応する適応ステップと、
前記周波数フィルタが適応された前記データを基に判定処理を行う判定ステップと
を有することを特徴とする判定方法。
【請求項12】
前記判定ステップは、
前記周波数フィルタが適応された前記データと、当該データから抽出すべき特徴量とを含む教師データセットを用いて学習処理が行われた学習モデルを使用して前記判定処理を行う
ことを特徴とする請求項11に記載の判定方法。
【請求項13】
前記判定ステップによる前記判定処理の結果を通知する通知ステップ
をさらに有することを特徴とする請求項11に記載の判定方法。
【請求項14】
前記判定ステップは、前記対象物について判定すべき前記判定項目に応じた閾値に基づき前記判定処理を行う
ことを特徴とする請求項11に記載の判定方法。
【請求項15】
情報処理装置に対し、
対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成プログラムであって、
複数の判定項目を有する前記データを取得する取得ステップと、
前記判定項目毎に、前記データに適応すべき周波数フィルタを設定する設定ステップと、
前記周波数フィルタを前記データに適応する適応ステップと、
前記周波数フィルタが適応された前記データと、当該データから抽出すべき特徴量とを含む教師データセットを用いて学習モデルの学習処理を行わせる学習ステップと
を実行させるための学習モデル生成プログラム。
【請求項16】
情報処理装置に対し、
複数の判定項目を有する対象物に関するデータを取得する取得ステップと、
前記複数の判定項目のうち少なくとも1つを受け付ける受付ステップと、
前記判定項目毎に、前記データに適応すべき周波数フィルタを設定する設定ステップと、
前記設定ステップにおいて設定された前記周波数フィルタを前記データに適応する適応ステップと、
前記周波数フィルタが適応された前記データを基に判定処理を行う判定ステップと
を実行させるための判定プログラム。
【請求項17】
複数の判定項目を有する対象物に関するデータを取得する取得部と、
前記複数の判定項目のうち少なくとも1つを受け付ける受付部と、
前記受付部において受け付けた前記判定項目に応じて、前記データに適応すべき周波数フィルタを設定する設定部と、
前記設定部において設定された前記周波数フィルタを前記データに適応するフィルタ適応部と、
前記周波数フィルタが適応された前記データを基に特徴量を抽出する特徴量抽出部と、
予め保存された保存済特徴量及び前記特徴量を基に、前記判定項目に関する評価値を算出する評価値算出部と、
前記評価値を基に、前記対象物の前記判定項目に関する判定処理を行う判定部と
を具えることを特徴とする判定装置。
【請求項18】
前記保存済特徴量は、予め、前記取得部により学習用の前記データである学習用データが取得され、前記設定部により前記判定項目に応じて前記学習用データに適応すべき前記周波数フィルタが設定され、前記フィルタ適応部により前記設定部において設定された前記周波数フィルタが適応された前記学習用データを基に抽出されている
ことを特徴とする請求項17に記載の判定装置。
【請求項19】
前記取得部は、前記対象物を撮像することにより、当該対象物を表す画像データを前記データとして取得する
ことを特徴とする請求項17に記載の判定装置。
【請求項20】
複数の判定項目を有する対象物を撮像することにより、当該対象物を画像により表した画像データを取得する撮像部と、
前記複数の判定項目のうち少なくとも1つを受け付ける受付部と、
前記受付部において受け付けた前記判定項目に応じて、各部に情報を提供する判定項目対応部と、
前記判定項目に応じて、前記画像データに適応すべき周波数フィルタを設定する設定部と、
前記設定部において設定された前記周波数フィルタを前記画像データに適応するフィルタ適応部と、
前記周波数フィルタが適応された前記画像データを基に特徴量を抽出する特徴量抽出部と、
予め保存された保存済特徴量及び前記特徴量を基に、前記受付部において受け付けた前記判定項目に関する評価値を算出する評価値算出部と、
前記評価値を基に、前記対象物の前記判定項目に関する判定処理を行う判定部と、
前記判定処理の結果を出力する出力部と
を具えることを特徴とする外観検査装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置に関し、例えば工業製品の外観を検査する外観検査装置に適用して好適なものである。
【背景技術】
【0002】
従来、外観検査装置として、例えば電子回路基板のような工業製品の製造工場に設置され、製造された工業製品(以下、対象物とも呼ぶ)を撮像して画像データを取得し、当該画像データを基に当該工業製品が正常(良品)又は異常(不良品)の何れであるかを判定する判定処理を行うものが広く普及している。
【0003】
この判定処理では、例えば得られた画像データに対してエッジ検出等の画像処理を経て特徴を強調することにより、同様の画像処理を経た良品の画像データとの差異を基に、例えば回路基板上におけるチップ部品の有無や実装位置のずれ等のような不良の発生の有無を判定することができる。
【0004】
また外観検査装置として、例えば得られた画像データを基に赤、緑及び青のような異なる色によるフィルタ画像データを複数生成し、コントラストが最も大きい等の条件を満たすものを用いることにより、判定精度の向上を図ったものも提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2012-7952号公報(
図3等)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、実際の工業製品には、例えば電子回路基板におけるチップ部品の欠落やずれ、或いは回路基板自体の損傷のように、様々な種類の不良が発生する可能性がある。このため外観検査装置では、対象物について、多様な検査項目(以下、判定項目とも呼ぶ)に関し不良の有無を判定する必要がある。
【0007】
しかし、対象物から得られたデータには、不良の種類により特徴が表れにくい場合がある。このため外観検査装置では、様々な種類の不良の有無について、精度良く判定することが難しい、という問題があった。
【0008】
本発明は以上の点を考慮してなされたもので、複数の判定項目を有する対象物における判定の精度を高め得る学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置を提案しようとするものである。
【課題を解決するための手段】
【0009】
かかる課題を解決するため本発明の学習モデル生成方法においては、対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する方法であって、複数の判定項目を有するデータを取得する取得ステップと、判定項目毎に、データに適応すべき周波数フィルタを設定する設定ステップと、周波数フィルタをデータに適応する適応ステップと、周波数フィルタが適応されたデータと、当該データから抽出すべき特徴量とを含む教師データセットを用いて学習モデルの学習処理を行わせる学習ステップとを有するようにした。
【0010】
また本発明の判定方法においては、複数の判定項目を有する対象物に関するデータと、複数の判定項目のうち対象物について判定すべき判定項目とを取得する取得ステップと、判定項目毎に、データに適応すべき周波数フィルタを設定する設定ステップと、設定ステップにおいて設定された周波数フィルタをデータに適応する適応ステップと、周波数フィルタが適応されたデータを基に判定処理を行う判定ステップとを有するようにした。
【0011】
さらに本発明の学習モデル生成プログラムにおいては、情報処理装置に対し、対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成プログラムであって、複数の判定項目を有するデータを取得する取得ステップと、判定項目毎に、データに適応すべき周波数フィルタを設定する設定ステップと、周波数フィルタをデータに適応する適応ステップと、周波数フィルタが適応されたデータと、当該データから抽出すべき特徴量とを含む教師データセットを用いて学習モデルの学習処理を行わせる学習ステップとを実行させるようにした。
【0012】
さらに本発明の判定プログラムにおいては、情報処理装置に対し、複数の判定項目を有する対象物に関するデータを取得する取得ステップと、複数の判定項目のうち少なくとも1つを受け付ける受付ステップと、判定項目毎に、データに適応すべき周波数フィルタを設定する設定ステップと、設定ステップにおいて設定された周波数フィルタをデータに適応する適応ステップと、周波数フィルタが適応されたデータを基に判定処理を行う判定ステップとを実行させるようにした。
【0013】
さらに本発明の判定装置においては、複数の判定項目を有する対象物に関するデータを取得する取得部と、前記複数の判定項目のうち少なくとも1つを受け付ける受付部と、受付部において受け付けた判定項目に応じて、データに適応すべき周波数フィルタを設定する設定部と、設定部において設定された周波数フィルタをデータに適応するフィルタ適応部と、周波数フィルタが適応されたデータを基に特徴量を抽出する特徴量抽出部と、予め保存された保存済特徴量及び特徴量を基に、判定項目に関する評価値を算出する評価値算出部と、評価値を基に、対象物の判定項目に関する判定処理を行う判定部とを設けるようにした。
【0014】
さらに本発明の外観検査装置においては、複数の判定項目を有する対象物を撮像することにより、当該対象物を画像により表した画像データを取得する撮像部と、前記複数の判定項目のうち少なくとも1つを受け付ける受付部と、受付部において受け付けた判定項目に応じて、各部に情報を提供する判定項目対応部と、判定項目に応じて、画像データに適応すべき周波数フィルタを設定する設定部と、設定部において設定された周波数フィルタを画像データに適応するフィルタ適応部と、周波数フィルタが適応された画像データを基に特徴量を抽出する特徴量抽出部と、予め保存された保存済特徴量及び特徴量を基に、受付部において受け付けた判定項目に関する評価値を算出する評価値算出部と、評価値を基に、対象物の判定項目に関する判定処理を行う判定部と、判定処理の結果を出力する出力部とを設けるようにした。
【0015】
本発明は、判定項目に応じた周波数フィルタを適応した学習用のデータを用いて学習処理を行うため、当該周波数フィルタが適応されたデータの入力に対し、当該判定項目に関する適切な評価値を出力するような学習モデルを生成できる。また本発明は、この学習モデルを用いて、判定すべき判定項目に応じた周波数フィルタを適応した判定用のデータから評価値を算出するため、この評価値を用いることにより、判定処理において当該判定項目に関する高精度な判定結果を得ることができる。
【発明の効果】
【0016】
本発明によれば、複数の判定項目を有する対象物における判定の精度を高め得る学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置を実現できる。
【図面の簡単な説明】
【0017】
【
図1】外観検査装置のハードウェア構成を示す略線的ブロック図である。
【
図2】回路基板に対するチップ部品の実装の様子を示す略線図である。
【
図3】回路基板における不良の発生の様子を示す略線図である。
【
図4】回路基板から取得された画像データの例を示す略線図である。
【
図5】低域通過フィルタを適応した画像データの例を示す略線図である。
【
図6】高域通過フィルタを適応した画像データの例を示す略線図である。
【
図7】第1の実施の形態における機能ブロック構成を示す略線図である。
【
図8】周波数フィルタテーブル及び閾値テーブルの構成を示す略線図である。
【
図9】第1の実施の形態による学習処理手順を示すフローチャートである。
【
図10】第1の実施の形態による判定処理手順を示すフローチャートである。
【
図11】周波数フィルタを適応しなかった場合及び適応した場合における異常度の度数分布グラフを示す略線図である。
【
図12】周波数フィルタを適応しなかった場合及び適応した場合における良品の良品判定率を示す略線図である。
【
図13】第2の実施の形態における機能ブロック構成を示す略線図である。
【
図14】第2の実施の形態による学習処理手順を示すフローチャートである。
【
図15】第2の実施の形態による判定処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、発明を実施するための形態(以下実施の形態とする)について、図面を用いて説明する。
【0019】
[1.第1の実施の形態]
[1-1.外観検査装置の構成]
第1の実施の形態による外観検査装置1は、例えば回路基板に電子部品を実装する製造工場に設置されており、当該電子部品が実装された当該回路基板を検査対象として、良品又は不良品を判定する判定処理を行うようになっている。この製造工場では、例えば回路基板に対しリフロー処理等を行うことにより、チップ状の微小な抵抗やコンデンサ等の表面実装部品(いわゆるチップ部品)を実装する実装処理を行う。以下では、電子部品が実装された回路基板を対象物とも呼ぶ。
【0020】
図1に模式的なブロック図を示すように、判定装置としての外観検査装置1は、制御部2を中心とした情報処理装置として構成されており、該制御部2に記憶部3及び通信部4が接続され、さらに表示部5、操作部6及び撮像部7がそれぞれ接続されている。
【0021】
制御部2は、各種演算処理を行うCPU(Central Processing Unit)11、各種情報が予め記憶されたROM(Read Only Memory)12、及び各種情報を一時的に記憶するRAM(Random Access Memory)13等を有している。この制御部2は、RAM13をワークエリアとして使用しながら、ROM12や記憶部3等から読み出した各種プログラムをCPU11によって実行することにより、様々な処理を行う。
【0022】
記憶部3は、例えばSSD(Solid State Drive)やHDD(Hard Disk Drive)のような不揮発性の記憶媒体であり、各種プログラムや各種情報等を記憶する。通信部4は、例えばIEEE(Institute of Electrical and Electronics Engineers)802.3(IEEE802.3u/ab/an/ae)等の規格に準拠した有線LAN(Local Area Network)のインタフェース等を有している。この通信部4は、図示しないネットワークと接続されており、該ネットワークを介して、製造工場内に設置された他の機器や外部のサーバ装置等との間で種々の情報を送受信する。
【0023】
出力部としての表示部5は、例えば液晶パネルや有機EL(Electro Luminescence)パネルのような表示デバイスであり、制御部2の制御に基づき種々の情報を表示する。操作部6は、例えば表示部5を構成する液晶パネルの表面に設けられたタッチセンサや押下可能な操作ボタン等であり、外観検査装置1を使用する使用者からの操作指示を受け付ける。
【0024】
撮像部7は、例えば光を集光するレンズや光を電気信号に変換する撮像素子等を有している。また撮像部7は、例えば製造工場において電子部品が実装された回路基板(対象物)が搬送されるベルトコンベアの近傍等において、当該対象物を良好に撮像し得る箇所に設置されている。この撮像部7は、制御部2の制御に基づき、レンズの光軸を中心とした撮像範囲から得られる光を用いて、対象物を含む2次元の画像を撮像して画像データを生成し、該画像データを該制御部2へ供給する。これに応じて制御部2は、供給された画像データを記憶部3に記憶させる。
【0025】
[1-2.判定処理の基本的原理]
次に、外観検査装置1において対象物を正常(良品)又は異常(不良品)と判定する判定処理の基本的原理について説明する。チップ部品が実装される回路基板には、該チップ部品の理想的な実装箇所が予め設定されており、当該チップ部品の形状等に合わせて電極が設けられている。
【0026】
例えば
図2(A)、(B)及び(C)は、回路基板100のみ、チップ部品110のみ及び該チップ部品110が正常に実装された回路基板100をそれぞれ模式的に表している。
図2(A)に示した回路基板100は、表面側(紙面の手前側)の2箇所に電極101が形成されており、仮想的な実装領域102(図中に一点鎖線で示す)が設定されている。
図2(B)に示したチップ部品110には、微小な直方体状に形成されており、2箇所の電極部分111が設けられている。また、チップ部品110が回路基板100に実装される際に当該回路基板100と対向する面、すなわち図における紙面奥側の面を、実装面110Sと呼ぶ。
【0027】
図2(C)に示した回路基板100は、実装領域102にチップ部品110が適切に実装されており、該チップ部品110の各電極部分111と回路基板100の各電極101とに渡るようにして、はんだ120がそれぞれ付着している。はんだ120は、例えばリフロー工程等において所定の高温で溶解された後に凝固されることにより、回路基板100の電極101に対しチップ部品110の電極部分111を物理的に固定すると共に電気的に接続している。またチップ部品110は、実装面110Sを回路基板100の表面と対向させ、且つ該表面に対し当接若しくは密接させている。
【0028】
一方、
図3(A)、(B)及び(C)は、回路基板100に対しチップ部品110が適切に実装されていない状態の例であり、不良と判定される状態をそれぞれ模式的に表している。
図3(A)は、回路基板100に対しチップ部品110が実装されていない状態であり、「欠品」と呼ばれる。
図3(B)は、回路基板100に対しチップ部品110が実装されているものの、その位置や傾き等が実装領域102(
図2(A))から大きくずれており、「位置ずれ」と呼ばれる。
図3(C)は、回路基板100に対しチップ部品110が適切な位置に実装されているものの、付着しているはんだ120の量が過少であり、「はんだ過少」と呼ばれる。
【0029】
次に示す
図4(A)及び(B)は、撮像部7(
図1)により回路基板100を撮像して得られた画像データにおける一部の領域を表したものである。このうち
図4(A)は、
図2(C)に示した場合と同様に、回路基板100に対しチップ部品110が適切に実装された、良品と判定される状態を撮像した画像である。
【0030】
一方、
図4(B)は、「チップ立ち」と呼ばれる不良の一形態を撮像した画像である。チップ部品110の実装面110Sが回路基板100の表面から離れており、且つほぼ垂直となった状態、すなわち当該チップ部品110が回路基板100に対し立ったような状態を表している。このときチップ部品110は、一方の電極部分111が回路基板100における一方の電極101に対してはんだ120により固定されている。
【0031】
このように、チップ部品110の実装処理を終えた回路基板100には、様々な種類の不良が発生する可能性がある。そこで外観検査装置1では、この回路基板100について、想定される様々な種類の不良に関し、それぞれの有無を適切に判定する必要がある。
【0032】
ところで画像データでは、一般に2次元の座標により各画素の位置が表されるため、各画素の位置ごとの明るさ(輝度)の座標軸方向に沿った変化を波形と見なすことができる。このため、画像データに関しては、この波形における周波数(空間周波数とも呼ばれる)を評価することや、当該周波数を利用した演算処理(すなわち画像処理)を行うことが考えられる。
【0033】
すなわち画像データでは、画素の位置に応じて輝度が急峻に変化する箇所が高周波となり、当該輝度が緩やかに変化する箇所が低周波となる。実際の画像データでは、複数の周波数が重畳されたような波形となっている。このため、一般に画像データを基に不良判定を行う場合、一部の周波数帯を減衰させることにより他の周波数帯を強調するフィルタ処理を行うこと、すなわち当該画像データに対し周波数フィルタを適応することが行われる。
【0034】
例えば、
図4(A)及び(B)に対し、低域成分を通過させる一方で高域成分を減衰させる低域通過フィルタ(ローパスフィルタ)を適応した場合、
図5(A)及び(B)に示すような画像データ(以下これを低域画像データと呼ぶ)が得られる。この低域画像データでは、例えば欠品(
図3(A))やチップ立ち(
図4(B))のような、部品全体に関する比較的大きい範囲に渡る不良に関する特徴が強調されるため、これらの不良の検出が容易となる。その一方で、低域画像データでは、例えば細かな傷や汚れのような、部品の大きさに対し比較的小さい範囲の不良に関する特徴が失われるため、これらの不良の検出が困難となる。
【0035】
また、
図4(A)及び(B)に対し、高域成分を通過させる一方で低域成分を減衰させる高域通過フィルタ(ハイパスフィルタ)を適応した場合、
図6(A)及び(B)に示すような画像データ(以下これを高域画像データと呼ぶ)が得られる。この高域画像データでは、比較的小さい範囲の不良に関する特徴が強調されるため、これらの不良の検出が容易となる。その一方で、高域画像データでは、比較的大きい範囲に渡る不良に関する特徴が失われるため、これらの不良の検出が困難となる。
【0036】
このように、画像データに対し所定の周波数帯を強調するような周波数フィルタを適応した場合、ある不良の項目については精度良く判定できる一方で、他の不良の項目については判定が困難になる、といった事態が生じ得る。
【0037】
そこで本実施の形態による外観検査装置1は、判定を行うべき不良の項目(以下これを判定項目と呼ぶ)と当該判定項目の判定に適した周波数フィルタの種類(すなわち周波数帯)とを予め対応付け、判定項目ごとに最適な周波数フィルタに切り替えて適応し、不良の判定処理を行うようにした。
【0038】
[1-3.外観検査処理]
次に、外観検査装置1における外観検査処理について説明する。外観検査装置1では、外観検査処理において、判定項目に応じた周波数フィルタを適応した画像データから得られる特徴量について、前段の学習処理と後段の判定処理とによる機械学習処理を行うようなっている。また外観検査装置1の制御部2は、学習処理及び判定処理を行う際に、内部に複数の機能ブロックを形成するようになっている。以下では、機能ブロックの構成、前段の学習処理、及び後段の判定処理について、それぞれを詳細に説明する。
【0039】
またここでは、予め外観検査装置1の撮像部7(
図1)により、製造工場において電子部品が実装された回路基板(すなわち対象物)が撮像され、生成された画像データが記憶部3に保存されているものとする。この画像データには、学習処理において使用される学習用画像データ(学習用データとも呼ぶ)と、判定処理において使用される判定用画像データ(判定用データ又は事後データとも呼ぶ)とが含まれる。
【0040】
学習用画像データは、予め良品であることが判明している対象物から得られた画像データであり、教師データとも呼ばれる。また判定用画像データは、製造工場において回路基板に電子部品が実装されたものの、不良の有無が未確認であるために検査を行うべき対象物から得られた画像データである。このうち判定用画像データには、例えば対象物である回路基板に割り当てられた製造番号や製造日時のような、当該対象物との対応関係を表す情報も付与されている。
【0041】
さらに各画像データ(すなわち学習用画像データ及び判定用画像データ)には、判定項目を表す判定項目情報がそれぞれ対応付けられている。例えば、欠品の有無について判定すべき画像データには、「欠品」を意味する判定項目情報が対応付けられている。また回路基板や部品における傷の有無について判定すべき画像データには、「傷」を意味する判定項目情報が対応付けられている。
【0042】
[1-3-1.機能ブロックの構成]
次に、機能ブロックの構成について説明する。外観検査装置1の制御部2(
図1)は、記憶部3に予め記憶された学習処理プログラム又は判定処理プログラムをそれぞれ読み出して実行することにより、
図7に示すような各機能ブロックを形成する。具体的に制御部2は、取得部21、フィルタ適応部22、特徴量処理部23、異常度算出部24、判定部25及び判定項目対応部26を形成し、さらに該特徴量処理部23内に特徴量抽出部27及び特徴量管理部28を形成する。
【0043】
また記憶部3には、画像データが保存されるデータ保存部31と、判定項目に関する情報が保存される判定項目情報保存部32と、該画像データから抽出された特徴量(詳しくは後述する)が保存される特徴量保存部33とが形成される。このうち判定項目情報保存部32には、
図8(A)に示す周波数フィルタテーブルTBL1、
図8(B)に示す閾値テーブルTBL2、及び各周波数フィルタがデータ化されたファイル等が保存されている。周波数フィルタテーブルTBL1には、各判定項目と対応付けて周波数フィルタのファイル名がそれぞれ格納されている。閾値テーブルTBL2は、各判定項目と対応付けて閾値(詳しくは後述する)が格納されている。特徴量保存部33は、特徴量処理部23内に設けられており、各判定項目と対応付けて、画像データから抽出された特徴量が保存される。
【0044】
取得部21は、データ保存部31から1個又は複数個の画像データ(学習用画像データ又は判定用画像データ)を読み出し、フィルタ適応部22に供給する。また取得部21は、当該画像データに対応付けられている判定項目情報を判定項目対応部26に供給する。因みに取得部21は、各画像データの属性情報を参照しながら、所定の判定項目が対応付けられた画像データを選択的に読み出すことや、学習用画像データ又は判定用画像データの何れかを選択的に読み出すこともできる。
【0045】
判定項目対応部26は、判定項目情報保存部32と連携することにより、供給された判定項目情報と対応する周波数フィルタや閾値等を管理し、各部へ供給する。例えば判定項目対応部26は、周波数フィルタテーブルTBL1(
図8(A))を参照することにより、供給された判定項目情報と対応する周波数フィルタのファイル名を取得し、当該ファイル名のファイルを判定項目情報保存部32から読み出してフィルタ適応部22へ供給する。また判定項目対応部26は、閾値テーブルTBL2(
図8(B))を参照することにより、供給された判定項目情報と対応する閾値を取得し、これを判定部25へ供給する。さらに判定項目対応部26は、判定項目情報を特徴量管理部28へ供給する。
【0046】
フィルタ適応部22は、取得部21から供給された画像データ(学習用画像データ又は判定用画像データ)に対し、判定項目対応部26から供給された周波数フィルタを適応する。これにより当該画像データは、一部の周波数帯が減衰されるため、残りの周波数帯が相対的に強調されたような画像を表すことになる。その後、フィルタ適応部22は、周波数フィルタを適応した画像データを特徴量処理部23の特徴量抽出部27へ供給する。
【0047】
特徴量処理部23は、機械学習処理(単に学習処理とも呼ばれる)における学習モデルに相当する部分である。特徴量抽出部27は、抽出処理として、フィルタ適応部22において周波数フィルタが適応された画像データ(学習用画像データ又は判定用画像データ)から特徴量を抽出し、この特徴量を特徴量管理部28又は異常度算出部24へ供給する。具体的に特徴量抽出部27は、例えばニューラルネットワークとして構成されており、公開データセット等を用いて重みパラメータが学習されたものを使用する。また特徴量抽出部27は、必要に応じてRAM13や記憶部3(
図1)を適宜利用することにより、機械学習のパラメータ等を適宜保持することができる。またこれらの学習処理では、画像データと特徴量とが対応付けられた教師データセットが使用される。
【0048】
特徴量管理部28は、学習処理において、特徴量抽出部27から供給された特徴量と判定項目対応部26から供給された判定項目情報とを対応付けて特徴量保存部33に保存させる。すなわち特徴量処理部23では、判定項目ごとの学習モデルを保有しているとみなすことができる。また特徴量管理部28は、判定処理において、判定項目対応部26から供給された判定項目情報と対応する特徴量を特徴量保存部33から読み出し、異常度算出部24に供給する。以下では、特徴量保存部33に保存された特徴量を保存済特徴量とも呼ぶ。
【0049】
異常度算出部24は、判定処理において、特徴量抽出部27から供給された特徴量(以下これを判定用特徴量又は事後特徴量と呼ぶ)と、特徴量管理部28から供給された特徴量(以下これを学習済特徴量と呼ぶ)とを基に、該判定用特徴量と該学習済特徴量との差異の大きさを表す異常度を算出し、これを判定部25へ供給する。具体的に異常度算出部24は、例えばユークリッド距離を用いた最近傍法やマハラノビス距離を用いた演算処理等により、多次元空間内における判定用特徴量と学習済特徴量との距離を算出し、これを異常度とする。説明の都合上、以下では異常度を評価値とも呼ぶ。
【0050】
判定部25は、判定処理において、異常度算出部24から供給される異常度と、判定項目対応部26から供給される閾値とを比較し、判定結果を決定する。具体的に判定部25は、異常度が閾値未満であれば判定結果を「正常」とし、異常度が閾値以上であれば判定結果を「異常」とする。これを換言すれば、判定部25は、閾値との比較結果に応じて異常度を分類することになる。このため以下では、判定処理を分類処理とも呼び、判定結果を分類結果とも呼ぶ。
【0051】
[1-3-2.学習処理]
次に、学習処理について説明する。外観検査装置1の制御部2(
図1)は、学習処理を行う場合、記憶部3から所定の学習処理プログラムを読み出して実行する。このとき制御部2は、所定の初期化処理等を行うと共に、
図7に示した各機能ブロックを形成した上で、
図9に示す学習処理手順RT1を開始し、最初のステップSP11に移る。
【0052】
ステップSP11(取得ステップ及び受付ステップ)において制御部2は、取得部21により、データ保存部31から1個又は複数個の学習用画像データを取得すると共に、当該学習用画像データと対応付けられた判定項目情報を取得し、次のステップSP12に移る。このとき取得部21は、取得した学習用画像データ(以下これを対象学習用画像データと呼ぶ)をフィルタ適応部22へ供給すると共に、取得した判定項目情報を判定項目対応部26に供給する。以下、このとき取得した判定項目情報により表された判定項目を着目判定項目と呼ぶ。
【0053】
ステップSP12(設定ステップ)において制御部2は、判定項目対応部26により、周波数フィルタテーブルTBL1(
図8(A))を参照させ、着目判定項目と対応する周波数フィルタ(以下これを対象周波数フィルタと呼ぶ)を判定項目情報保存部32から読み出してフィルタ適応部22へ供給させ、次のステップSP13に移る。ステップSP13(適応ステップ)において制御部2は、フィルタ適応部22により、取得部21から供給された対象学習用画像データに対象周波数フィルタを適応させ、この対象学習用画像データを特徴量処理部23の特徴量抽出部27に供給させて、次のステップSP14に移る。
【0054】
ステップSP14(学習ステップ)において制御部2は、特徴量抽出部27により、対象学習用画像データから特徴量を抽出させ、この特徴量を特徴量管理部28へ供給して、次のステップSP15に移る。ステップSP15(学習ステップ)において制御部2は、特徴量管理部28により、特徴量抽出部27から供給される特徴量を、判定項目対応部26から通知された着目判定項目と対応付けて特徴量保存部33に保存し、次のステップSP16に移る。以下、このようにして保存された特徴量を学習済特徴量とも呼ぶ。
【0055】
ステップSP16において制御部2は、所定の学習終了条件を満たすか否かを判定する。この学習終了条件は、例えば「100個の学習用画像データを処理すること」や「データ保存部31に保存された学習用画像データを全て処理すること」等のような内容が、予め設定されている。このステップSP16において否定結果が得られると、制御部2は再度ステップSP11に戻ることにより、次の学習用画像データについて一連の処理を繰り返し実行する。一方、ステップSP16において肯定結果が得られると、制御部2は次のステップSP17に移り、学習処理手順RT1を終了する。
【0056】
[1-3-3.判定処理]
次に、判定処理について説明する。制御部2は、判定処理を行う場合、記憶部3から所定の判定処理プログラムを読み出して実行する。このとき制御部2は、学習処理の場合と同様に、所定の初期化処理等を行うと共に、
図7に示した各機能ブロックを形成した上で、
図9と対応する
図10に示す判定処理手順RT2を開始し、最初のステップSP21に移る。
【0057】
ステップSP21(事後取得ステップ)において制御部2は、取得部21により、データ保存部31から1個又は複数個の判定用画像データを取得すると共に、当該判定用画像データと対応付けられた判定項目情報を取得し、次のステップSP22に移る。このとき取得部21は、取得した判定用画像データ(以下これを対象判定用画像データと呼ぶ)をフィルタ適応部22へ供給すると共に、取得した判定項目情報を判定項目対応部26に供給する。以下、このとき取得した判定項目情報により表された判定項目を、学習処理の場合と同様に着目判定項目と呼ぶ。
【0058】
ステップSP22(事後設定ステップ)において制御部2は、ステップSP12(
図9)と同様に、判定項目対応部26により、周波数フィルタテーブルTBL1(
図8(A))を参照させ、着目判定項目と対応する周波数フィルタ(すなわち対象周波数フィルタ)を判定項目情報保存部32から読み出してフィルタ適応部22へ供給させ、次のステップSP23に移る。
【0059】
ステップSP23(事後適応ステップ)において制御部2は、フィルタ適応部22により、取得部21から供給された対象判定用画像データに対象周波数フィルタを適応させ、この対象判定用画像データを特徴量処理部23の特徴量抽出部27に供給させて、次のステップSP24に移る。ステップSP24(特徴量抽出ステップ)において制御部2は、特徴量抽出部27により、対象判定用画像データから特徴量を抽出させ、この特徴量を判定用特徴量として異常度算出部24へ供給させ、次のステップSP25に移る。
【0060】
ステップSP25において制御部2は、まず判定項目対応部26から着目判定項目を表す情報を特徴量管理部28へ通知させる。続いて制御部2は、該特徴量管理部28により、着目判定項目と対応する学習済特徴量を特徴量保存部33から読み出させ、これを異常度算出部24へ供給させる。さらに制御部2は、異常度算出部24により、判定用特徴量と学習済特徴量との差異の大きさを表す異常度を算出させ、この異常度を判定部25へ供給させて、次のステップSP26に移る。
【0061】
これにより、例えば判定項目に関して判定用画像データが学習用画像データに類似しており、判定用特徴量と学習済特徴量との差異が比較的小さい場合、異常度の値が比較的小さくなる。このことは、対象物の判定項目が「正常」である可能性が高いことを意味する。一方、例えば判定項目に関して判定用画像データが学習用画像データにあまり類似しておらず、判定用特徴量と学習済特徴量との差異が比較的大きい場合、異常度の値が比較的大きくなる。このことは、対象物の判定項目が「異常」である可能性が高いことを意味する。
【0062】
ステップSP26(判定ステップ及び通知ステップ)において制御部2は、まず判定項目対応部26により、閾値テーブルTBL2(
図8(B))を参照させ、着目判定項目と対応する閾値を読み出して判定部25へ供給させる。次に制御部2は、判定部25により異常度と閾値とを比較させ、判定結果を決定させる。このとき判定部25は、異常度が閾値未満であれば判定結果を「正常」とし、異常度が閾値以上であれば判定結果を「異常」とする。
【0063】
続いて制御部2は、得られた比較結果を表す判定結果表示画面を表示部5(
図1)に表示させた上で、次のステップSP27へ移る。この判定結果表示画面には、例えば判定結果を表す文字や図形等の他、着目判定項目や回路基板の製造番号等の情報が表示される。また判定結果表示画面には、例えば判定結果が「異常」であった場合、周波数フィルタを適応する前の判定用画像データをデータ保存部31から読み出し、その画像を判定結果表示画面内に表示することもできる。
【0064】
ステップSP27において制御部2は、所定の判定終了条件を満たすか否かを判定する。この学習終了条件は、例えば「100個の判定用画像データを処理すること」や「データ保存部31に保存された判定用画像データを全て処理すること」、或いは「電子部品を回路基板に実装する実装処理が終了したこと」等のような内容が、予め設定されている。ここで否定結果が得られると、制御部2は再度ステップSP21に戻ることにより、次の判定用画像データについて一連の処理を繰り返し実行する。一方、ステップSP27において肯定結果が得られると、制御部2は次のステップSP28に移り、判定処理手順RT2を終了する。
【0065】
因みにデータ保存部31では、1個の判定用画像データに対し、複数の判定項目が対応付けられている場合がある。このような場合、制御部2は、まず何れか1個の判定項目を着目判定項目についてステップSP21~SP26の処理を行う。次に制御部2は、ステップSP27において他の判定項目を新たな着目判定項目に設定し、ステップSP21に戻り同一の判定用画像データに対しステップSP21~SP26の処理を行う。制御部2は、このような手順により、各判定項目に関する判定処理を順次行うことができる。
【0066】
[1-4.効果等]
以上の構成において、第1の実施の形態による外観検査装置1は、学習処理において、学習用画像データに対し、着目判定項目に応じた周波数フィルタを適応して特徴量を抽出し、これを当該着目判定項目と対応付け学習済特徴量として保存しておく。その後、外観検査装置1は、判定処理において、判定用画像データに対し、着目判定項目に応じた周波数フィルタを適応して判定用特徴量を抽出し、これと学習済特徴量との差異を基に異常度を算出し、これと閾値との比較結果を基に判定結果を決定する。
【0067】
このため外観検査装置1は、複数の判定項目において特徴が表れやすい周波数が異なるところ、対象とする判定項目に適した周波数フィルタを画像データに適応でき、当該判定項目に関する特徴が良好に表れた画像データを得ることができる。これにより外観検査装置1は、この画像データから抽出した特徴量を用いることで、判定項目に関する正常又は異常の判定を適切に行うことができ、極めて高い精度で外観検査を行うことができる。
【0068】
ここで、周波数フィルタを適応しなかった場合及び適応した場合のそれぞれにおける実験例を紹介する。この実験例では、判定項目をチップ立ち(
図4(B))とし、当該判定項目に関する目視による評価(すなわち「正常」又は「異常」)が予め判明している複数の画像データを用意した。その上で、この実験例では、各画像データから当該判定項目に関する特徴量をそれぞれ抽出し、それぞれの異常度を算出し、さらに統計処理を行った。
【0069】
図11(A)は、本実施の形態とは異なり、周波数フィルタを適応しなかった場合(以下これをフィルタ未適応と呼ぶ)における、各画像データから得られた異常度の度数分布を表したグラフであり、横軸が異常度を表すと共に縦軸が度数(データ数)を表している。また
図11(A)では、目視による評価が「良」の場合(図中に「OK」と表記)と「不良」の場合(図中に「NG」と表記)とで、棒グラフ内のパターンを相違させている。
【0070】
この
図11(A)では、異常度が0.4よりもやや大きい箇所において、目視評価が「OK」であった画像データから得られた異常度(以下これをOK異常度と呼ぶ)と、目視評価が「NG」であった画像データから得られた異常度(以下これをNG異常度と呼ぶ)とが、比較的近接している。このことは、OK異常度とNG異常度とを容易に分離し得るような閾値を適切に設定することが難しく、当該閾値を適切に設定できなかった場合に誤判定が生じ得ることを意味している。
【0071】
ところで一般に、統計処理では、データが正規分布又はこれに類似した分布となる場合、データの平均値AVRを中心とした、分散σを所定倍した範囲に含まれる当該データの割合を、様々な指標として利用することがある。例えば正規分布では、平均値AVRを中心として分散σの3倍(いわゆる3σ)までの範囲内に、全体の99.7%のデータが含まれることになる。
【0072】
そこで、この実験例では、フィルタ未適応の場合に得られたNG異常度に関して、平均値AVR及び分散σをそれぞれ算出すると共に、該平均値AVRの値からOK異常度側へ3σだけ離れた閾値TH3を設定した。その結果、
図12に示すように、OK異常度が閾値未満となった割合、すなわち正常な対象物を正常と判定する割合(以下これを正常判定率と呼ぶ)が0.971となった。このことは、フィルタ未適応の場合、残りの0.029(すなわち2.9%)の割合で、本来は「正常」であるにも関わらず「異常」と判定されること、すなわち誤判定が生じることを意味している。これを換言すれば、フィルタ未適応の場合、誤判定を抑え得るような適切な閾値を設定することが、必ずしも容易ではない。
【0073】
一方、
図11(A)と対応する
図11(B)は、本実施の形態と同様に、周波数フィルタを適応した場合(以下これをフィルタ適応と呼ぶ)における、各画像データから得られた異常度の度数分布を表したグラフである。因みに
図8(B)では、周波数フィルタを適応したことに伴い、
図8(A)と比較して異常度の値の範囲がやや異なっている。
【0074】
この
図11(B)では、OK異常度が概ね0.2以下の範囲に分布している一方、NG異常度が概ね0.5以上の範囲に分布しており、
図11(A)と比較して、双方の分布が比較的大きく離れている。このことは、OK異常度とNG異常度とを容易に分離し得るような閾値を適切に設定することが比較的容易であり、当該閾値を適切に設定することにより誤判定を容易に防止し得ることを意味している。
【0075】
このフィルタ適応の場合に得られたNG異常度に関しても、平均値AVR及び分散σをそれぞれ算出すると共に、該平均値AVRの値から3σだけ離れた閾値TH3を設定したところ、
図12に示すように、OK異常度が閾値未満となった割合(正常判定率)が1.000となった。このことは、フィルタ適応の場合、このように統計的に算出された値を閾値に設定するだけで、誤判定が生じないことを意味している。
【0076】
このように本実施の形態では、着目判定項目に応じた周波数フィルタを画像データに適応してから特徴量を抽出するため、誤判定を抑え得るような適切な閾値を設定することが、極めて容易となっている。
【0077】
これに加えて外観検査装置1の制御部2は、判定処理(
図10)において、判定部25(
図7)において使用する閾値を、着目判定項目に応じて切り替えるようにした(ステップSP26)。このため外観検査装置1では、着目判定項目ごとに異常度の分布(
図11)が異なると予想されるところ、当該閾値を着目判定項目に関わらず一定の値とした場合と比較して、判定の精度を格段に高めることができる。
【0078】
また制御部2は、学習処理(
図9)及び判定処理(
図10)の双方において、フィルタ適応部22における周波数フィルタの適応、特徴量保存部33に対する学習済特徴量の保存、及び判定部25に対する閾値の設定に関し、予め画像データに対応付けられた判定項目情報に応じた処理を行うようにした。このため外観検査装置1では、各画像データに対応付けられた判定項目が複数種類に分散していたとしても、各画像データに対し、設定された判定項目に関する判定処理を順次進めていくことができる。
【0079】
以上の構成によれば、第1の実施の形態による外観検査装置1は、学習用画像データに対し判定項目に応じた周波数フィルタを適応して抽出した学習済特徴量を当該判定項目と対応付けてから、判定用画像データに対し判定項目に応じた周波数フィルタを適応して抽出した判定用特徴量と学習済特徴量との差異を基に、判定結果を決定する。このため外観検査装置1は、対象とする判定項目に適した周波数フィルタを画像データに適応できるので、当該判定項目に関する特徴が良好に表れた学習済特徴量及び判定用特徴量を得ることができ、これらを用いて判定項目に関する高精度な判定結果を得ることができる。
【0080】
[2.第2の実施の形態]
第2の実施の形態による外観検査装置201(
図1)は、第1の実施の形態による外観検査装置1と比較して、制御部2及び記憶部3に代わる制御部202及び記憶部203を有する点において相違するものの、他の点については同様に構成されている。制御部202は、第1の実施の形態と同様に、CPU11、ROM12及びRAM13等を有しているものの、記憶部203から各種プログラムを読み出して実行することにより、
図7と対応する
図13に示すように、第1の実施の形態と一部異なる機能ブロックを形成する。
【0081】
具体的に制御部202は、第1の実施の形態と比較して、特徴量処理部23及び異常度算出部24に代わる特徴量処理部223及び異常度算出部224を有する点において相違するものの、他の点については同様に構成されている。特徴量処理部223は、特徴量処理部23と比較して、特徴量抽出部27に代わる特徴量抽出部227を有しており、また特徴量管理部28が省略されると共に特徴量更新部229を有している。
【0082】
特徴量処理部223は、機械学習処理における機械学習モデルに相当する部分であるものの、特徴量処理部23とは異なり、ニューラルネットワークを使った異常検知等の処理において広く用いられているオートエンコーダ(自己符号化器)として構成されている。すなわち特徴量処理部223では、学習処理において良品の特徴量を学習する際に、一度次元数を削減してから再び元の次元数に戻した際に当初の特徴量に近づくように、重みパラメータの値を学習する。因みに特徴量処理部223では、各判定項目とそれぞれ対応する複数の機械学習モデルが構成される。また各機械学習モデルのパラメータは、RAM13や記憶部203(
図1)に適宜保存される。
【0083】
特徴量抽出部227は、各判定項目とそれぞれ対応する複数の機械学習モデルを有しており、さらに各機械学習モデルにおいてパラメータ(重みパラメータとも呼ばれる)を複数有している。この特徴量抽出部227は、判定項目対応部26から着目判定項目の情報を取得し、該着目判定項目と対応する学習モデルを用いて、フィルタ適応部22から供給された画像データ(学習用画像データ又は判定用画像データ)から特徴量を抽出し、この特徴量を特徴量更新部229又は異常度算出部224へ供給する。
【0084】
特徴量更新部229は、学習処理において、特徴量抽出部227から供給された特徴量を基にパラメータの更新量を算出し、該特徴量抽出部227へ供給する。これに応じて特徴量抽出部227は、供給された更新量を用いてパラメータの値を更新する。
【0085】
異常度算出部224は、判定処理において、特徴量抽出部227から供給された特徴量を基に異常度を算出する。具体的に異常度算出部224は、特徴量抽出部227から供給された特徴量から次元数を削減し、再び元の次元数に戻した際に、復元後の特徴量と元の特徴量との差分を算出し、この差分の大きさを異常度として算出する。
【0086】
記憶部203は、第1の実施の形態による記憶部3と同様に、例えばSSDやHDDのような不揮発性の記憶媒体であり、各種プログラムや各種情報等を記憶する。この記憶部203は、第1の実施の形態と同様のデータ保存部31及び判定項目情報保存部32を有する一方、特徴量保存部33が省略されている。
【0087】
次に、学習処理について説明する。外観検査装置201の制御部202(
図1)は、学習処理を行う場合、記憶部203から所定の学習処理プログラムを読み出して実行する。このとき制御部202は、所定の初期化処理等を行うと共に、
図13に示した各機能ブロックを形成した上で、
図9と対応する
図14に示す学習処理手順RT21を開始し、最初のステップSP211に移る。
【0088】
制御部202は、ステップSP211~SP213において、ステップSP11~SP13とそれぞれ同様の処理を行い、次のステップSP214に移る。ステップSP214において制御部202は、特徴量抽出部227により、対象学習用画像データから特徴量を抽出させ、この特徴量を特徴量更新部229へ供給して、次のステップSP215に移る。
【0089】
ステップSP215において制御部202は、特徴量更新部229により、特徴量抽出部227から供給される特徴量を基に、判定項目対応部26から通知された着目判定項目と対応する機械学習モデルのパラメータを更新する。また制御部202は、特徴量更新部229により、更新したパラメータを特徴量抽出部227へ供給することにより、当該特徴量抽出部227のパラメータを書き換えさせ、次のステップSP216に移る。
【0090】
その後、制御部202は、ステップSP216において、ステップSP16と同様に、所定の終了条件を満たすか否かを判定し、否定結果が得られるとステップSP211に戻り、次の学習用画像データについて一連の処理を繰り返し実行する。一方、ステップSP216において肯定結果が得られると、制御部202は次のステップSP217に移り、学習処理手順RT21を終了する。
【0091】
次に、判定処理について説明する。制御部202は、判定処理を行う場合、記憶部203から所定の判定処理プログラムを読み出して実行する。このとき制御部202は、学習処理の場合と同様に、所定の初期化処理等を行うと共に、
図13に示した各機能ブロックを形成した上で、
図10と対応する
図15に示す判定処理手順RT22を開始し、最初のステップSP221に移る。
【0092】
制御部202は、ステップSP221~SP223において、ステップSP21~SP23とそれぞれ同様の処理を行い、次のステップSP224に移る。ステップSP224において制御部202は、特徴量抽出部227により、対象判定用画像データから特徴量を抽出させ、この特徴量を異常度算出部224へ供給させ、次のステップSP225に移る。
【0093】
ステップSP225において制御部202は、異常度算出部224により、特徴量抽出部227から供給された特徴量を基に異常度を算出し、次のステップSP226に移る。ステップSP226において制御部202は、ステップSP26と同様、判定部25により、異常度算出部224から供給された異常度と、判定項目対応部26から供給された閾値とを比較させ、判定結果を決定させる。続いて制御部202は、第1の実施の形態と同様に、得られた判定結果を表す判定結果表示画面を表示部5(
図1)に表示させ、次のステップSP227に移る。
【0094】
ステップSP227において制御部202は、ステップSP27と同様に、所定の終了条件を満たすか否かを判定し、否定結果が得られるとステップSP221に戻り、次の判定用画像データについて一連の処理を繰り返し実行する。一方、ステップSP227において肯定結果が得られると、制御部202は次のステップSP228に移り、判定処理手順RT22を終了する。
【0095】
以上の構成において、第2の実施の形態による外観検査装置201は、学習処理において、学習用画像データに対し、判定項目に応じた周波数フィルタを適応し、当該判定項目と対応する機械学習モデルを用いて特徴量を抽出し、この特徴量を用いて当該機械学習モデルのパラメータを更新する。その後、外観検査装置201は、判定処理において、判定用画像データに対し、判定項目に応じた周波数フィルタを適応し、機械学習モデルを用いて特徴量を抽出し、この特徴量とオートエンコーダにおける復元後の特徴量との差分(乖離ともいう)を基に異常度を算出し、これと閾値との比較結果を基に判定結果を決定する。
【0096】
このため外観検査装置201は、第1の実施の形態と同様に、対象とする判定項目に適した周波数フィルタを画像データに適応でき、当該判定項目に関する特徴が良好に表れた画像データを得ることができる。これにより外観検査装置201は、やはり第1の実施の形態と同様に、この画像データから抽出した特徴量を用いることで、判定項目に関する良又は不良の判定を適切に行うことができ、極めて高い精度で外観検査を行うことができる。
【0097】
その他の点においても、第2の実施の形態による外観検査装置201は、第1の実施の形態による外観検査装置1と同様の作用効果を奏し得る。
【0098】
[3.他の実施の形態]
なお上述した第1の実施の形態においては、周波数フィルタの例として、低域通過フィルタ(
図5)及び高域通過フィルタ(
図6)を使用する形態について述べた。しかし本発明はこれに限らず、判定項目に関し不要な部分と対応する周波数帯を減衰させ、当該判定項目に関する特徴が強調されるような、種々の周波数フィルタを使用しても良い。この場合、判定項目とこれに適した周波数フィルタとを対応付け、周波数フィルタテーブルTBL1(
図8(A))に保存しておけば良い。第2の実施の形態についても同様である。
【0099】
また上述した第1の実施の形態においては、判定項目情報保存部32(
図7)に周波数フィルタのファイルを保存すると共にそのファイル名を判定項目と対応付けて周波数フィルタテーブルTBL1(
図8(A))に格納しておく形態について述べた。この場合、学習処理及び判定処理において、判定項目対応部26が当該周波数フィルタテーブルTBL1を参照し、着目判定項目の周波数フィルタを判定項目情報保存部32から取得してフィルタ適応部22へ供給するようにした。しかし本発明はこれに限らず、例えば各周波数フィルタにおいて通過させるべき周波数帯の値を周波数フィルタテーブルTBL1(
図8(A))に格納しておき、当該周波数の値を判定項目対応部26からフィルタ適応部22へ供給するようにしても良い。この場合、フィルタ適応部22が取得した周波数帯に応じた周波数フィルタを生成し、これを画像データに適応すれば良い。閾値テーブルTBL2(
図8(B))についても同様であり、また第2の実施の形態についても同様である。
【0100】
さらに上述した第1の実施の形態においては、データ保存部31に保存する画像データに対し、「欠品」等を表す判定項目情報を対応付けて保存する形態について述べた。しかし本発明はこれに限らず、例えば「欠品」等の判定項目と対応する周波数フィルタを表す情報、例えば「低域通過」や「高域通過」等、或いは周波数帯の範囲を表す値等の情報であるフィルタ情報を、各画像データと対応付けても良い。第2の実施の形態についても同様である。
【0101】
さらに上述した第1の実施の形態においては、学習処理(
図9)を行う際に、判定項目ごとに特徴量を特徴量保存部33に保存する形態について述べた。しかし本発明はこれに限らず、例えば判定項目に関わらず1種類の特徴量のみを特徴量保存部33に保存しても良い。第2の実施の形態についても同様である。
【0102】
さらに上述した実施の形態においては、判定項目を表す判定項目情報を画像データと対応付けてデータ保存部31(
図7)に予め保存しておき、取得部21が該画像データを取得した際に該判定項目情報を取得し、これを判定項目対応部26に通知する形態について述べた。しかし本発明はこれに限らず、例えば画像データに判定項目情報対応付けずにデータ保存部31に予め保存しておき、例えば外観検査装置1を使用する使用者により操作部6を介して1個又は複数個の判定項目(これを検査判定項目とも呼ぶ)を設定する操作を行わせ、当該判定項目に関する学習処理及び判定処理を行うようにしても良い。この場合、個別の画像データについて判定項目をそれぞれ設定させても良く、或いは複数又は全部の画像データについて判定項目を包括的に設定させても良い。また、各画像データに対し複数個の判定項目を設定させても良い。第2の実施の形態についても同様である。
【0103】
さらに上述した実施の形態においては、判定部25において異常度と比較する閾値を、着目判定項目に応じて切り替える形態について述べた。しかし本発明はこれに限らず、例えば着目判定項目に関わらず閾値を固定値としても良い。第2の実施の形態についても同様である。
【0104】
さらに上述した第1の実施の形態においては、特徴量処理部23の特徴量抽出部27(
図7)をニューラルネットワークとして構成し、公開データセット等を用いて重みパラメータが学習されたものを使用する形態について述べた。また第2の実施の形態においては、特徴量処理部223をオートエンコーダとして構成する形態について述べた。しかし本発明はこれに限らず、特徴量処理部23又は223において、種々の機械学習のしくみを利用して特徴量を基に異常度を算出し得るような種々の機能ブロックを設け、これらによる演算処理を行うようにしても良い。すなわち本発明では、周知の種々の機械学習を利用して特徴量に基づいた異常度を算出し、この異常度を用いて判定処理を行うことができる。
【0105】
さらに上述した第1の実施の形態においては、学習処理が行われた後、判定処理を行う際に、特徴量処理部23の特徴量保存部33に保存している特徴量については更新処理を行わない形態、すなわち学習モデルを更新しない形態について述べた。しかし本発明はこれに限らず、例えば学習処理が行われた後の判定処理において、新たに学習用画像データに対し着目判定項目に応じた周波数フィルタを適用して特徴量を抽出した際に、更新ステップとして、当該特徴量を用いて特徴量保存部33に保存されている特徴量を更新しても良い。
【0106】
さらに上述した第1の実施の形態においては、外観検査装置1に撮像部7(
図1)を設け、当該撮像部7により撮像された画像データをデータ保存部31に保存させておく形態について述べた。しかし本発明はこれに限らず、例えば通信部4を介して接続される他の機器から画像データを取得し、データ保存部31に保存させておいても良い。この場合、他の機器としては、例えば撮像部7と同様の撮像機能や通信部4と同様の通信機能等を有するネットワークカメラ等を使用することができる。また、他の機器から取得される画像データについては、予め外部の情報処理装置(図示せず)等により判定項目情報を対応付けておいても良く、或いは使用者により操作部6(
図1)を介して設定させても良い。これらの場合、撮像部7を省略することができる。第2の実施の形態についても同様である。
【0107】
さらに上述した第1の実施の形態においては、判定処理において判定結果が得られると、表示部5に所定の判定画面表示画面を表示することにより、使用者に判定結果を知らせる形態について述べた。しかし本発明はこれに限らず、例えばスマートフォンやタブレット端末のような通信機能及び表示機能等を有する情報処理装置を使用者が保有している場合、当該情報処理装置と通信部4(
図1)との間で情報通信を行い得るようにしておいても良い。この場合、判定結果を表す情報を通信部4から情報処理装置へ送信し、該情報処理装置において該判定結果を表す所定の画面を表示させても良い。この場合、外観検査装置1から表示部5や操作部6(
図1)を省略しても良い。第2の実施の形態についても同様である。
【0108】
さらに上述した第1の実施の形態においては、撮像部7により対象物を撮像して得られた画像データを処理対象として、当該画像データに周波数フィルタを適応した上で特徴量を抽出する形態について述べた。しかし本発明はこれに限らず、例えばトンネルや橋梁のような構造物や建築物等の点検業務として、内部の状況を検査する打音検査時に集音した音響データ等、マイクロホンにより集音された種々の音響データを周知の手法により多次元のデータである音声スペクトログラムに変換し、当該音声スペクトログラムを2次元の画像データと見なしても良い。この場合、当該画像データに周波数フィルタを適応した上で特徴量を抽出すれば良い。すなわち本発明は、3次元空間を撮像して得られた2次元の画像のデータに限らず、種々の対象物から種々の取得手法により得られた種々の物理量を表す多次元データを2次元の画像に変換した上で、当該2次元の画像を表す画像データを処理対象とすることができる。第2の実施の形態についても同様である。
【0109】
さらに上述した第1の実施の形態においては、制御部2において学習処理プログラム等のプログラムを実行し、
図7に示した各機能ブロックをソフトウェアにより構成する形態について述べた。しかし本発明はこれに限らず、例えば
図7に示した各機能ブロックの少なくとも一部をハードウェアにより構成しても良い。第2の実施の形態についても同様である。
【0110】
さらに上述した第1の実施の形態においては、学習処理プログラム等の各プログラムを記憶部3に予め記憶しておく形態について述べた。しかし本発明はこれに限らず、例えば所定のサーバ装置(図示せず)に各プログラムを保存しておき、通信部4(
図1)により所定のネットワーク(図示せず)を介して当該サーバ装置から当該プログラムをダウンロードして実行するようにしても良い。第2の実施の形態についても同様である。
【0111】
さらに本発明は、上述した各実施の形態及び他の実施の形態に限定されるものではない。すなわち本発明は、上述した各実施の形態と上述した他の実施の形態の一部又は全部を任意に組み合わせた実施の形態にも適用範囲が及ぶものである。また本発明は、上述した各実施の形態及び他の実施の形態のうち任意の実施の形態に記載された構成の一部を抽出し、上述した各実施の形態及び他の実施の形態のうちの任意の実施の形態の構成の一部と置換・転用した実施の形態や、抽出された構成の一部を任意の実施の形態に追加した実施の形態にも適用範囲が及ぶものである。
【0112】
さらに上述した第1の実施の形態においては、取得部としての取得部21と、受付部としての操作部6と、設定部としての判定項目対応部26と、フィルタ適応部としてのフィルタ適応部22と、特徴量抽出部としての特徴量処理部23と、評価値算出部としての異常度算出部24と、判定部としての判定部25とによって判定装置としての外観検査装置1を構成する形態について述べた。しかし本発明はこれに限らず、その他種々の構成でなる取得部と、設定部と、フィルタ適応部と、特徴量抽出部と、評価値算出部と、判定部とによって判定装置を構成しても良い。
【産業上の利用可能性】
【0113】
本発明は、例えば製品を製造する工場に設置される外観検査装置で利用できる。
【符号の説明】
【0114】
1、201……外観検査装置、2、202……制御部、3、203……記憶部、5……表示部、6……操作部、7……撮像部、21……入力部、22……フィルタ適応部、23、223……特徴量処理部、24、224……異常度算出部、25……判定部、26……判定項目対応部、27、227……特徴量抽出部、28……特徴量管理部、229……特徴量更新部、TBL1……周波数フィルタテーブル、TBL2……閾値テーブル。