IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特開2024-115977学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置
<>
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図1
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図2
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図3
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図4
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図5
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図6
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図7
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図8
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図9
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図10
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図11
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図12
  • 特開-学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024115977
(43)【公開日】2024-08-27
(54)【発明の名称】学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置
(51)【国際特許分類】
   G01N 21/956 20060101AFI20240820BHJP
【FI】
G01N21/956 B
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2023021919
(22)【出願日】2023-02-15
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100174104
【弁理士】
【氏名又は名称】奥田 康一
(72)【発明者】
【氏名】国定 恭史
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AA61
2G051AB02
2G051AB14
2G051CA04
2G051CB01
2G051EA12
2G051ED04
2G051ED08
2G051ED11
(57)【要約】
【課題】対象物に関する判定の精度を高め得るようにする。
【解決手段】外観検査装置1は、学習用正常画像データから正常特徴量を抽出すると共に学習用異常画像データから異常特徴量を抽出し、それぞれと判定用画像データから抽出した判定用特徴量との距離である正常距離DN及び異常距離DAを用いて異常度Sを算出し、これを基に判定結果を決定する。これにより外観検査装置1は、判定用画像データ及び正常画像データにおける類似の度合いと、該判定用画像データ及び異常画像データにおける非類似の度合いとの双方を加味した異常度Sを算出でき、この異常度Sを用いて高精度な判定結果を得ることができる。
【選択図】図5

【特許請求の範囲】
【請求項1】
対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成方法であって、
第1分類に属する前記対象物から得られた第1データを取得すると共に、前記第1分類と異なる第2分類に属する前記対象物から得られた第2データを取得する取得ステップと、
前記第1データを基に第1特徴量を抽出すると共に、前記第2データを基に第2特徴量を抽出する特徴量抽出ステップと、
前記第1分類を表す情報及び前記第1特徴量が対応付けられると共に、前記第2分類を表す情報及び前記第2特徴量が対応付けられた教師データセットを用いて、学習モデルの学習処理を行わせる学習ステップと
を有することを特徴とする学習モデル生成方法。
【請求項2】
前記学習ステップにより前記学習処理が行われた後、事後データを取得する事後取得ステップと、
前記事後データから事後特徴量を抽出する事後特徴量抽出ステップと、
前記第1特徴量及び前記事後特徴量の距離である第1距離を算出すると共に、前記第2特徴量及び前記事後特徴量の距離である第2距離を算出する距離算出ステップと
をさらに有することを特徴とする請求項1に記載の学習モデル生成方法。
【請求項3】
前記距離算出ステップにより前記第1距離及び前記第2距離が算出された後、当該第1距離及び当該第2距離を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する判定ステップ
をさらに有することを特徴とする請求項2に記載の学習モデル生成方法。
【請求項4】
前記判定ステップは、前記第2距離に所定の重み付け係数を乗算した値と所定の閾値との比較結果を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する
ことを特徴とする請求項3に記載の学習モデル生成方法。
【請求項5】
前記判定ステップは、前記第1距離及び前記第2距離の重み付け加算値と所定の閾値との比較結果を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する
ことを特徴とする請求項3に記載の学習モデル生成方法。
【請求項6】
前記事後特徴量抽出ステップにおいて抽出された前記事後特徴量を用いて前記学習モデルを更新する更新ステップと、
前記更新ステップにより前記学習モデルが更新された後、前記第1距離及び前記第2距離にそれぞれ乗じる重み付け係数のうち、少なくとも一方の値を変更する係数値変更ステップと
をさらに有することを特徴とする請求項5に記載の学習モデル生成方法。
【請求項7】
前記判定ステップは、前記重み付け加算値が前記閾値未満であれば、前記対象物が前記第1分類に属すると判定し、前記重み付け加算値が前記閾値以上であれば、前記対象物が前記第2分類に属すると判定する
ことを特徴とする請求項5に記載の学習モデル生成方法。
【請求項8】
前記事後特徴量抽出ステップにおいて抽出された前記事後特徴量を用いて前記学習モデルを更新する更新ステップ
をさらに有することを特徴とする請求項2に記載の学習モデル生成方法。
【請求項9】
前記第1データ及び前記第2データは、前記対象物が撮像された多次元の画像データである
ことを特徴とする請求項1乃至請求項8の何れかに記載の学習モデル生成方法。
【請求項10】
前記第1データ及び前記第2データは、前記対象物から集音された多次元の音響データである
ことを特徴とする請求項1乃至請求項8の何れかに記載の学習モデル生成方法。
【請求項11】
対象物から得られたデータを取得する取得ステップと、
前記データから特徴量を抽出する特徴量抽出ステップと、
予め第1分類に属する前記対象物から取得された第1データから抽出された第1特徴量と、予め前記第1分類と異なる第2分類に属する前記対象物から取得された第2データから抽出された第2特徴量と、前記特徴量と基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する判定ステップと
を有することを特徴とする判定方法。
【請求項12】
前記第1特徴量及び前記特徴量の距離である第1距離を算出すると共に、前記第2特徴量及び前記特徴量の距離である第2距離を算出する距離算出ステップ
をさらに有し、
前記判定ステップは、前記第1距離及び前記第2距離を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する
を有することを特徴とする請求項11に記載の判定方法。
【請求項13】
前記判定ステップは、前記第1距離及び前記第2距離の重み付け加算値と所定の閾値との比較結果を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する
ことを特徴とする請求項12に記載の判定方法。
【請求項14】
前記判定ステップは、前記第1分類を表す情報及び前記第1特徴量が対応付けられると共に、前記第2分類を表す情報及び前記第2特徴量が対応付けられた教師データセットを用いて学習処理が行われた学習モデルを用いて判定する
ことを特徴とする請求項11乃至請求項13の何れかに記載の判定方法。
【請求項15】
情報処理装置に対し、
対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成プログラムであって、
第1分類に属する前記対象物から得られた第1データを取得すると共に、前記第1分類と異なる第2分類に属する前記対象物から第2データを取得する取得ステップと、
前記学習モデルを用い、前記第1データを基に第1特徴量を抽出すると共に、前記第2データを基に第2特徴量を抽出する特徴量抽出ステップと、
前記第1分類を表す情報及び前記第1特徴量が対応付けられると共に、前記第2分類を表す情報及び前記第2特徴量が対応付けられた教師データセットを用いて、前記学習モデルの学習処理を行わせる学習ステップと
を実行させるための学習モデル生成プログラム。
【請求項16】
情報処理装置に対し、
対象物から得られたデータを取得する取得ステップと、
前記データから特徴量を抽出する特徴量抽出ステップと、
予め第1分類に属する前記対象物から取得された第1データから抽出された第1特徴量と、予め前記第1分類と異なる第2分類に属する前記対象物から取得された第2データから抽出された第2特徴量と、前記特徴量と基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する判定ステップと
を実行させるための判定プログラム。
【請求項17】
対象物から得られたデータを取得する取得部と、
前記データを基に特徴量を抽出する特徴量抽出部と、
予め第1分類に属する前記対象物から得られた第1データを基に前記特徴量抽出部により抽出された第1特徴量と、予め前記第1分類と異なる第2分類に属する前記対象物から得られた第2データを基に前記特徴量抽出部により抽出された第2特徴量と、前記特徴量とを基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する判定部と
を具えることを特徴とする判定装置。
【請求項18】
前記第1特徴量及び前記特徴量の距離である第1距離と、前記第2特徴量及び前記特徴量の距離である第2距離とを算出し、当該第1距離及び当該第2距離の重み付け加算値を評価値として算出する評価値算出部
をさらに具え、
前記判定部は、前記評価値と所定の閾値との比較結果を基に、前記対象物が前記第1分類又は前記第2分類の何れに属するかを判定する
ことを特徴とする請求項17に記載の判定装置。
【請求項19】
対象物を撮像することにより当該対象物を画像により表した画像データを生成する撮像部と、
前記画像データを取得する取得部と、
前記画像データを基に特徴量を抽出する特徴量抽出部と、
予め正常と分類された前記対象物から取得された正常画像データを基に前記特徴量抽出部により予め抽出された正常特徴量と、予め異常と分類された前記対象物から取得された異常画像データを基に前記特徴量抽出部により予め抽出された異常特徴量と、前記特徴量とを基に、前記対象物が前記正常又は前記異常の何れであるかを判定する判定部と、
前記判定の結果を出力する出力部と
を具えることを特徴とする外観検査装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置に関し、例えば工業製品の外観を検査する外観検査装置に適用して好適なものである。
【背景技術】
【0002】
従来、外観検査装置として、例えば電子回路基板のような工業製品の製造工場に設置され、製造された工業製品(以下、対象物とも呼ぶ)を撮像して画像データを取得し、当該画像データを基に当該工業製品が正常(良品)又は異常(不良品)の何れであるかを判定する判定処理を行うものが広く普及している。
【0003】
この判定処理では、例えば得られた画像データから抽出される特徴量と良品の画像データから抽出される特徴量との差異を基に、例えば回路基板上におけるチップ部品の有無や実装位置のずれ等のような不良の発生の有無を判定することができる。また外観検査装置として、例えば得られた画像データを基に赤、緑及び青のような異なる色によるフィルタ画像データを複数生成し、コントラストが最も大きい等の条件を満たすものを用いることにより、判定精度の向上を図ったものも提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012-7952号公報(図3等)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上述した判定処理では、例えば予め正常(良品)であることが判明している製品の画像データから正常特徴量を抽出し、当該良品特徴量を用いた学習処理を行うことにより学習モデルを生成する場合がある。
【0006】
しかし、例えば回路基板に対し電子部品が正常な位置から僅かにずれや傾きを有した状態で実装されていた電子回路基板等では、製品として問題が無く電子回路として正常に動作するにも関わらず、画像データから抽出される特徴量と正常特徴量との間にある程度の差異が生じることがある。このような場合、上述した判定処理では、当該電子回路基板に関し、製品として正常であるにも関わらず不良として誤判定してしまう場合がある、という問題があった。
【0007】
本発明は以上の点を考慮してなされたもので、対象物に関する判定の精度を高め得る学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置を提案しようとするものである。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明の学習モデル生成方法においては、対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成方法であって、第1分類に属する対象物から得られた第1データを取得すると共に、第1分類と異なる第2分類に属する対象物から得られた第2データを取得する取得ステップと、第1データを基に第1特徴量を抽出すると共に、第2データを基に第2特徴量を抽出する特徴量抽出ステップと、第1分類を表す情報及び第1特徴量が対応付けられると共に、第2分類を表す情報及び第2特徴量が対応付けられた教師データセットを用いて、学習モデルの学習処理を行わせる学習ステップとを有するようにした。
【0009】
また本発明の判定方法においては、対象物から得られたデータを取得する取得ステップと、データから特徴量を抽出する特徴量抽出ステップと、予め第1分類に属する対象物から取得された第1データから抽出された第1特徴量と、予め第1分類と異なる第2分類に属する対象物から取得された第2データから抽出された第2特徴量と、特徴量と基に、対象物が第1分類又は第2分類の何れに属するかを判定する判定ステップとを有するようにした。
【0010】
さらに本発明の学習モデル生成プログラムにおいては、情報処理装置に対し、対象物に関するデータが入力されると、当該データから抽出された特徴量を出力する学習モデルを生成する学習モデル生成プログラムであって、第1分類に属する対象物から得られた第1データを取得すると共に、第1分類と異なる第2分類に属する対象物から第2データを取得する取得ステップと、学習モデルを用い、第1データを基に第1特徴量を抽出すると共に、第2データを基に第2特徴量を抽出する特徴量抽出ステップと、第1分類を表す情報及び第1特徴量が対応付けられると共に、第2分類を表す情報及び第2特徴量が対応付けられた教師データセットを用いて、学習モデルの学習処理を行わせる学習ステップとを実行させるようにした。
【0011】
さらに本発明の判定プログラムにおいては、情報処理装置に対し、対象物から得られたデータを取得する取得ステップと、データから特徴量を抽出する特徴量抽出ステップと、予め第1分類に属する対象物から取得された第1データから抽出された第1特徴量と、予め第1分類と異なる第2分類に属する対象物から取得された第2データから抽出された第2特徴量と、特徴量と基に、対象物が第1分類又は第2分類の何れに属するかを判定する判定ステップとを実行させるようにした。
【0012】
さらに本発明の判定装置においては、対象物から得られたデータを取得する取得部と、データを基に特徴量を抽出する特徴量抽出部と、予め第1分類に属する対象物から得られた第1データを基に特徴量抽出部により抽出された第1特徴量と、予め第1分類と異なる第2分類に属する対象物から得られた第2データを基に特徴量抽出部により抽出された第2特徴量と、特徴量とを基に、対象物が第1分類又は第2分類の何れに属するかを判定する判定部とを設けるようにした。
【0013】
さらに本発明の外観検査装置においては、対象物を撮像することにより当該対象物を画像により表した画像データを生成する撮像部と、画像データを取得する取得部と、画像データを基に特徴量を抽出する特徴量抽出部と、予め正常と分類された対象物から取得された正常画像データを基に特徴量抽出部により予め抽出された正常特徴量と、予め異常と分類された対象物から取得された異常画像データを基に特徴量抽出部により予め抽出された異常特徴量と、特徴量とを基に、対象物が正常又は異常の何れであるかを判定する判定部と、判定の結果を出力する出力部とを設けるようにした。
【0014】
本発明は、学習モデルを用いて第1特徴量(正常特徴量)及び第2特徴量(異常特徴量)といった2種類の特徴量を生成することができる。このため本発明は、この2種類の特徴量を用いた判定処理を行うことにより、1種類の特徴量のみを使用した判定処理を行う場合と比較して、対象物が第1分類又は第2分類の何れに属するかを精度良く判定することができる。
【発明の効果】
【0015】
本発明によれば、対象物に関する判定の精度を高め得る学習モデル生成方法、判定方法、学習モデル生成プログラム、判定プログラム、判定装置及び外観検査装置を実現できる。
【図面の簡単な説明】
【0016】
図1】外観検査装置のハードウェア構成を示す略線的ブロック図である。
図2】回路基板に対するチップ部品の実装の様子を示す略線図である。
図3】回路基板における不良の発生の様子を示す略線図である。
図4】回路基板から取得された画像データの例を示す略線図である。
図5】第1の実施の形態における機能ブロック構成を示す略線図である。
図6】第1の実施の形態による学習処理手順を示すフローチャートである。
図7】第1の実施の形態による判定処理手順を示すフローチャートである。
図8】周波数フィルタを適用しなかった場合及び適用した場合における異常度の度数分布グラフを示す略線図である。
図9】周波数フィルタを適用しなかった場合及び適用した場合における正常判定率を示す略線図である。
図10】第2の実施の形態における機能ブロック構成を示す略線図である。
図11】第2の実施の形態による正常学習処理手順を示すフローチャートである。
図12】第2の実施の形態による異常学習処理手順を示すフローチャートである。
図13】第2の実施の形態による判定処理手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、発明を実施するための形態(以下実施の形態とする)について、図面を用いて説明する。
【0018】
[1.第1の実施の形態]
[1-1.外観検査装置の構成]
第1の実施の形態による外観検査装置1は、例えば回路基板に電子部品を実装する製造工場に設置されており、当該電子部品が実装された当該回路基板を検査対象として、良品又は不良品を判定する判定処理を行うようになっている。この製造工場では、例えば回路基板に対しリフロー処理等を行うことにより、チップ状の微小な抵抗やコンデンサ等の表面実装部品(いわゆるチップ部品)を実装する実装処理を行う。以下では、電子部品が実装された回路基板を対象物とも呼ぶ。
【0019】
図1に模式的なブロック図を示すように、判定装置としての外観検査装置1は、制御部2を中心とした情報処理装置として構成されており、該制御部2に記憶部3及び通信部4が接続され、さらに表示部5、操作部6及び撮像部7がそれぞれ接続されている。
【0020】
制御部2は、各種演算処理を行うCPU(Central Processing Unit)11、各種情報が予め記憶されたROM(Read Only Memory)12、及び各種情報を一時的に記憶するRAM(Random Access Memory)13等を有している。この制御部2は、RAM13をワークエリアとして使用しながら、ROM12や記憶部3等から読み出した各種プログラムをCPU11によって実行することにより、様々な処理を行う。
【0021】
記憶部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は、図示しないネットワークと接続されており、該ネットワークを介して、製造工場内に設置された他の機器や外部のサーバ装置等との間で種々の情報を送受信する。
【0022】
出力部としての表示部5は、例えば液晶パネルや有機EL(Electro Luminescence)パネルのような表示デバイスであり、制御部2の制御に基づき種々の情報を表示する。操作部6は、例えば表示部5を構成する液晶パネルの表面に設けられたタッチセンサや押下可能な操作ボタン等であり、外観検査装置1を使用する使用者からの操作指示を受け付ける。
【0023】
撮像部7は、例えば光を集光するレンズや光を電気信号に変換する撮像素子等を有している。また撮像部7は、例えば製造工場において電子部品が実装された回路基板(対象物)が搬送されるベルトコンベアの近傍等において、当該対象物を良好に撮像し得る箇所に設置されている。この撮像部7は、制御部2の制御に基づき、レンズの光軸を中心とした撮像範囲から得られる光を用いて、対象物を含む多次元の画像を撮像して画像データを生成し、該画像データを該制御部2へ供給する。これに応じて制御部2は、供給された画像データを記憶部3に記憶させる。なお、本実施の形態においては明度、彩度、色相により表される3次元の画像を撮像して3次元の画像データを生成しているが、多次元の画像として明度及び彩度のみの2次元の画像データでも良いし、例えば多次元の画像として立体画像を基に画像データを生成しても良い。
【0024】
[1-2.判定処理の基本的原理]
次に、外観検査装置1において対象物を正常(良品)又は異常(不良品)と判定する判定処理の基本的原理について説明する。チップ部品が実装される回路基板には、該チップ部品の理想的な実装箇所が予め設定されており、当該チップ部品の形状等に合わせて電極が設けられている。
【0025】
例えば図2(A)、(B)及び(C)は、回路基板100のみ、チップ部品110のみ及び該チップ部品110が正常に実装された回路基板100をそれぞれ模式的に表している。図2(A)に示した回路基板100は、表面側(紙面の手前側)の2箇所に電極101が形成されており、仮想的な実装領域102(図中に一点鎖線で示す)が設定されている。図2(B)に示したチップ部品110には、微小な直方体状に形成されており、2箇所の電極部分111が設けられている。また、チップ部品110が回路基板100に実装される際に当該回路基板100と対向する面、すなわち図における紙面奥側の面を、実装面110Sと呼ぶ。
【0026】
図2(C)に示した回路基板100は、実装領域102にチップ部品110が適切に実装されており、該チップ部品110の各電極部分111と回路基板100の各電極101とに渡るようにして、はんだ120がそれぞれ付着している。はんだ120は、例えばリフロー工程等において所定の高温で溶解された後に凝固されることにより、回路基板100の電極101に対しチップ部品110の電極部分111を物理的に固定すると共に電気的に接続している。またチップ部品110は、実装面110Sを回路基板100の表面と対向させ、且つ該表面に対し当接若しくは密接させている。
【0027】
一方、図3(A)、(B)及び(C)は、回路基板100に対しチップ部品110が適切に実装されていない状態の例であり、不良と判定される状態をそれぞれ模式的に表している。図3(A)は、回路基板100に対しチップ部品110が実装されていない状態であり、「欠品」と呼ばれる。図3(B)は、回路基板100に対しチップ部品110が実装されているものの、その位置や傾き等が実装領域102(図2(A))から大きくずれており、「位置ずれ」と呼ばれる。図3(C)は、回路基板100に対しチップ部品110が適切な位置に実装されているものの、付着しているはんだ120の量が過少であり、「はんだ過少」と呼ばれる。
【0028】
次に示す図4(A)及び(B)は、撮像部7(図1)により回路基板100を撮像して得られた画像データにおける一部の領域を表したものである。このうち図4(A)は、図2(C)に示した場合と同様に、回路基板100に対しチップ部品110が適切に実装された、良品と判定される状態を撮像した画像である。
【0029】
一方、図4(B)は、「チップ立ち」と呼ばれる不良の一形態を撮像した画像である。チップ部品110の実装面110Sが回路基板100の表面から離れており、且つほぼ垂直となった状態、すなわち当該チップ部品110が回路基板100に対し立ったような状態を表している。このときチップ部品110は、一方の電極部分111が回路基板100における一方の電極101に対してはんだ120により固定されている。
【0030】
このように、チップ部品110の実装処理を終えた回路基板100には、様々な種類の不良が発生する可能性がある。そこで外観検査装置1では、この回路基板100について、想定される様々な種類の不良に関し、それぞれの有無を適切に判定する必要がある。
【0031】
そこで本実施の形態では、判定の対象となる回路基板(以下対象物と呼ぶ)の画像データを基に特徴値を抽出する学習モデルを構成し、これを用いるようにした。具体的に、本実施の形態では、前段の学習処理において、この学習モデルを利用して画像データから特徴量を抽出しておく。次に本実施の形態では、後段の判定処理において、対象物の画像データからこの学習モデルを用いて得られた特徴量と、学習処理において得られた特徴量との差分(すなわち距離)を基に、対象物における不良の有無を判定するようになっている。
【0032】
さらに本実施の形態では、学習モデルの学習処理を行う際に、正常であることが判明している回路基板から得られた画像データに加えて、不良品であることが判明している回路基板から得られた画像データについても、学習処理を行うようにした。
【0033】
ところで、回路基板における良品(正常)又は不良品(異常)については、例えば「チップ部品の実装状態」のような分類基準に従った分類属性と見なすこともできる。そこで以下では、正常(良品)を第1分類とも呼び、異常(不良品)を第2分類とも呼ぶ。
【0034】
[1-3.外観検査処理]
次に、外観検査装置1における外観検査処理について説明する。外観検査装置1では、外観検査処理において、上述したように、画像データから得られる特徴量について、前段の学習処理と後段の判定処理とによる機械学習処理を行うようなっている。また外観検査装置1の制御部2は、学習処理及び判定処理を行う際に、内部に複数の機能ブロックを形成するようになっている。以下では、機能ブロックの構成、前段の学習処理、及び後段の判定処理について、それぞれを詳細に説明する。
【0035】
またここでは、予め外観検査装置1の撮像部7(図1)により、製造工場において電子部品が実装された回路基板(すなわち対象物)が撮像され、生成された画像データが記憶部3に保存されているものとする。この画像データには、学習処理において使用される学習用正常画像データ及び学習用異常画像データと、判定処理において使用される判定用画像データとが含まれる。
【0036】
このうち学習用正常画像データは、予め正常であることが判明している対象物(良品)から得られた画像データであり、正常であることを表す属性情報が付与されており、学習処理において使用される。以下では、この学習用正常画像データを学習用正常データ又は第1データとも呼ぶ。また学習用異常画像データは、予め異常を有することが判明している対象物(不良品)から得られた画像データであり、異常であることを表す属性情報が付与されており、学習処理において使用される。以下では、この学習用異常画像データを学習用異常データ又は第2データとも呼ぶ。
【0037】
また判定用画像データは、製造工場において回路基板に電子部品が実装されたものの、不良の有無が未確認であるために検査を行うべき対象物から得られた画像データである。以下では、この判定用画像データを判定用データ又はデータとも呼ぶ。この判定用画像データには、例えば対象物である回路基板に割り当てられた製造番号や製造日時のような、当該対象物との対応関係を表す情報が付与されている。
【0038】
[1-3-1.機能ブロックの構成]
次に、機能ブロックの構成について説明する。外観検査装置1の制御部2(図1)は、記憶部3に予め記憶された学習処理プログラム又は判定処理プログラムをそれぞれ読み出して実行することにより、図5に示すような各機能ブロックを形成する。具体的に制御部2は、取得部21、特徴量処理部22、異常度算出部23及び判定部24を形成し、さらに該特徴量処理部22内に特徴量抽出部27及び特徴量管理部28を形成する。
【0039】
また記憶部3には、データ保存部31、正常特徴量保存部32及び異常特徴量保存部33がそれぞれ形成される。データ保存部31には、学習用正常画像データ、学習用異常画像データ及び判定用画像データがそれぞれの属性情報と共に保存される。正常特徴量保存部32及び異常特徴量保存部33は、何れも特徴量処理部22内に設けられており、学習用正常画像データから抽出された正常特徴量及び学習用異常画像データから抽出された異常特徴量(詳しくは後述する)がそれぞれ保存される。
【0040】
取得部21は、データ保存部31から1個又は複数個の画像データ(学習用正常画像データ、学習用異常画像データ又は判定用画像データ)を読み出し、特徴量処理部22の特徴量抽出部27に供給する。また取得部21は、学習処理において、画像データ(学習用正常画像データ又は学習用異常画像データ)の属性情報から分類情報(正常又は異常の何れか)を読み出し、これを特徴量管理部28へ供給する。因みに取得部21は、各画像データの属性情報を参照しながら、学習用正常画像データ、学習用異常画像データ又は判定用画像データを選択的に読み出すこともできる。
【0041】
特徴量処理部22は、機械学習処理(単に学習処理とも呼ばれる)における学習モデルに相当する部分である。特徴量抽出部27は、抽出処理として、画像データ(学習用正常画像データ、学習用異常画像データ又は判定用画像データ)から特徴量を抽出し、この特徴量を特徴量管理部28又は異常度算出部23へ供給する。具体的に特徴量抽出部27は、例えばニューラルネットワークとして構成されており、公開データセット等を用いて重みパラメータが学習されたものを使用する。また特徴量抽出部27は、必要に応じてRAM13や記憶部3(図1)を適宜利用することにより、機械学習のパラメータ等を適宜保持することができる。またこれらの学習処理では、画像データと特徴量とが対応付けられた教師データセットが使用される。
【0042】
特徴量管理部28は、学習処理において、特徴量抽出部27から供給された特徴量と取得部21から供給される分類情報とを基に、当該特徴量を適切に分類して保存する。具体的に特徴量管理部28は、分類情報が正常であればこの特徴量を正常特徴量として正常特徴量保存部32に保存させ、分類情報が異常であればこの特徴量を異常特徴量として異常特徴量保存部33に保存させる。このため特徴量処理部22は、学習用正常画像データが入力されると正常特徴量を出力する学習モデル、及び学習用異常画像データが入力されると異常特徴量を出力する学習モデルのように、2種類の学習モデルを保有していると見なすことができる。また特徴量管理部28は、判定処理において、正常特徴量保存部32から正常特徴量を読み出すと共に異常特徴量保存部33から異常特徴量を読み出し、これらを異常度算出部23に供給する。
【0043】
評価値算出部としての異常度算出部23は、判定処理において、特徴量抽出部27から供給された特徴量(以下これを判定用特徴量と呼ぶ)と、特徴量管理部28から供給された正常特徴量及び異常特徴量とを基に、判定用画像データにおける異常の度合いを数値により表した異常度(以下これを評価値とも呼ぶ)を算出し、これを判定部24へ供給する。
【0044】
具体的に異常度算出部23は、まず判定用特徴量及び正常特徴量の距離(すなわち差異の大きさ)を表す正常距離DN(以下これを第1距離とも呼ぶ)と、判定用特徴量及び異常特徴量の距離を表す異常距離DA(以下これを第2距離とも呼ぶ)とをそれぞれ算出する。このとき異常度算出部23は、例えばユークリッド距離を用いた最近傍法やマハラノビス距離を用いた演算処理等により、多次元空間内における特徴量同士の距離(差異)を算出する。
【0045】
続いて異常度算出部23は、正常距離DN及び異常距離DAにそれぞれ所定の係数を乗じて加算すること、すなわち重み付け加算をすることにより、異常度(以下ではこれを評価値とも呼ぶ)を算出する。具体的に異常度算出部23は、予め設定された係数λ(例えば0≦λ≦1)を用い、次に示す(1)式により異常度Sを算出する。因みに(1)式では、正常距離DNから係数λを乗じた異常距離DAを減算しているが、これは正常距離DNに重み付け係数「1」を乗じると共に異常距離DAに負の重み付け係数を乗じて加算すること、すなわち重み付け加算の演算処理を行うことと同義である。
【0046】
S=DN-λ・DA ……(1)
【0047】
この(1)式から分かるように、異常度Sは、正常距離DNが小さいほど、すなわち判定用特徴量が正常特徴量と近似しているほど、値が小さくなる。また異常度Sは、異常距離DAが大きいほど、すなわち判定用特徴量が異常特徴量からかけ離れているほど、値が小さくなる。このような関係から、異常度Sは、仮にその値が比較的小さい場合、対象物が良品(正常)である可能性が高いことを意味する。一方、異常度Sは、仮にその値が比較的大きい場合、対象物が不良(異常)である可能性が高いことを意味する。
【0048】
判定部24は、判定処理において、異常度算出部23から供給される異常度と所定の閾値とを比較して判定結果を決定する。具体的に判定部24は、異常度が閾値未満であれば判定結果を「正常」とし、異常度が閾値以上であれば判定結果を「異常」とする。これを換言すれば、判定部24は、閾値との比較結果に応じて異常度を分類することになる。このため以下では、判定処理を分類処理とも呼び、判定結果を分類結果とも呼ぶ。
【0049】
[1-3-2.学習処理]
次に、学習処理について説明する。外観検査装置1の制御部2(図1)は、学習処理を行う場合、記憶部3から所定の学習処理プログラムを読み出して実行する。このとき制御部2は、所定の初期化処理等を行うと共に、図5に示した各機能ブロックを形成した上で、図6に示す学習処理手順RT1を開始し、最初のステップSP11に移る。
【0050】
ステップSP11(取得ステップ)において制御部2は、取得部21により、データ保存部31から1個又は複数個の学習用画像データ(学習用正常画像データ又は学習用異常画像データ)を取得すると共に、当該学習用画像データに付与されている属性情報を取得し、次のステップSP12に移る。このとき取得部21は、取得した学習用画像データ(以下これを対象学習用画像データと呼ぶ)を特徴量抽出部27へ供給すると共に、取得した属性情報のうち分類情報(正常又は異常)を特徴量管理部28に供給する。
【0051】
ステップSP12(特徴量抽出ステップ)において制御部2は、特徴量抽出部27により、対象学習用画像データから特徴量を抽出させ、この特徴量を特徴量管理部28へ供給して、次のステップSP13に移る。
【0052】
ステップSP13(学習ステップ)において制御部2は、取得部21から供給された属性情報が正常であるか否かを判定する。ここで肯定結果が得られると、制御部2は次のステップSP14(学習ステップ)に移り、特徴量管理部28により、特徴量抽出部27から供給された特徴量を正常特徴量として正常特徴量保存部32に保存させ、次のステップSP16に移る。一方、ステップSP13において否定結果が得られると、制御部2は次のステップSP15(学習ステップ)に移り、特徴量管理部28により、特徴量抽出部27から供給された特徴量を異常特徴量として異常特徴量保存部33に保存させ、次のステップSP16に移る。
【0053】
ステップSP16において制御部2は、所定の学習終了条件を満たすか否かを判定する。この学習終了条件は、例えば「100個の学習用画像データを処理すること」や「データ保存部31に保存された学習用画像データを全て処理すること」等のような内容が、予め設定されている。このステップSP16において否定結果が得られると、制御部2は再度ステップSP11に戻ることにより、次の学習用画像データについて一連の処理を繰り返し実行する。一方、ステップSP16において肯定結果が得られると、制御部2は次のステップSP17に移り、学習処理手順RT1を終了する。
【0054】
[1-3-3.判定処理]
次に、判定処理について説明する。制御部2は、判定処理を行う場合、記憶部3から所定の判定処理プログラムを読み出して実行する。このとき制御部2は、学習処理の場合と同様に、所定の初期化処理等を行うと共に、図5に示した各機能ブロックを形成した上で、図6と対応する図7に示す判定処理手順RT2を開始し、最初のステップSP21に移る。
【0055】
ステップSP21(取得ステップ及び事後取得ステップ)において制御部2は、取得部21(図7)により、データ保存部31から1個又は複数個の判定用画像データ(以下これを事後データとも呼ぶ)を取得すると共に、当該判定用画像データと対応付けられた属性情報を取得し、次のステップSP22に移る。このとき取得部21は、取得した判定用画像データ(以下これを対象判定用画像データと呼ぶ)を特徴量抽出部27へ供給する。
【0056】
ステップSP22(特徴量抽出ステップ及び事後特徴量抽出ステップ)において制御部2は、特徴量抽出部27により、対象判定用画像データから特徴量を抽出させ、この特徴量を判定用特徴量として異常度算出部23へ供給させ、次のステップSP23に移る。
【0057】
ステップSP23(距離算出ステップ)において制御部2は、まず特徴量管理部28により、正常特徴量保存部32から正常特徴量を読み出すと共に異常特徴量保存部33から異常特徴量を読み出させ、該正常特徴量及び該異常特徴量を異常度算出部23へ供給させる。続いて制御部2は、異常度算出部23により、正常特徴量及び判定用特徴量の距離(差異の大きさ)である正常距離DNを算出すると共に、異常特徴量及び判定用特徴量の距離(差異の大きさ)である異常距離DAを算出し、次のステップSP24に移る。
【0058】
ステップSP24において制御部2は、引き続き異常度算出部23により、上述した(1)式に従い、正常距離DN及び異常距離DAの重み付け加算値である異常度Sを算出させ、これを判定部24へ供給させて、次のステップSP25に移る。
【0059】
これにより、例えば判定用画像データが学習用正常画像データに類似しており、学習用異常画像データに類似しておらず、判定用特徴量と正常特徴量との差異が比較的小さく、判定用特徴量と異常特徴量との差異が比較的大きい場合、異常度Sの値が比較的小さくなる。このことは、対象物が「正常」である可能性が高いことを意味する。一方、例えば判定用画像データが学習用正常画像データにあまり類似しておらず、学習用異常画像データに類似しており、判定用特徴量と正常特徴量との差異が比較的大きく、判定用特徴量と異常特徴量との差異が比較的小さい場合、異常度の値が比較的大きくなる。このことは、対象物の判定項目が「異常」である可能性が高いことを意味する。
【0060】
ステップSP25(判定ステップ)において制御部2は、まず判定部24により異常度Sと閾値とを比較させ、判定結果を決定させる。このとき判定部24は、異常度が閾値未満であれば判定結果を「正常」とし、異常度が閾値以上であれば判定結果を「異常」とする。続いて制御部2は、得られた比較結果を表す判定結果表示画面を表示部5(図1)に表示させた上で、次のステップSP26に移る。この判定結果表示画面には、例えば判定結果を表す文字や図形等の他、回路基板の製造番号等の情報が表示される。また判定結果表示画面には、例えば判定結果が「異常」であった場合、判定用画像データをデータ保存部31から読み出し、その画像を判定結果表示画面内に表示することもできる。
【0061】
ステップSP26において制御部2は、所定の判定終了条件を満たすか否かを判定する。この学習終了条件は、例えば「100個の判定用画像データを処理すること」や「データ保存部31に保存された判定用画像データを全て処理すること」、或いは「電子部品を回路基板に実装する実装処理が終了したこと」等のような内容が、予め設定されている。ここで否定結果が得られると、制御部2は再度ステップSP21に戻ることにより、次の判定用画像データについて一連の処理を繰り返し実行する。一方、ステップSP26において肯定結果が得られると、制御部2は次のステップSP27に移り、判定処理手順RT2を終了する。
【0062】
[1-4.効果等]
以上の構成において、第1の実施の形態による外観検査装置1は、学習処理において、学習用正常画像データから抽出した正常特徴量を正常特徴量保存部32に保存すると共に、学習用異常画像データから抽出した異常特徴量を異常特徴量保存部33に保存しておく。その後、外観検査装置1は、判定処理において、判定用画像データから判定用特徴量を算出し、該判定用特徴量及び正常特徴量の距離である正常距離DNと該判定用特徴量及び異常特徴量の距離である異常距離DAとをそれぞれ算出し、両者の重み付け加算値である異常度Sと閾値との比較により判定結果を決定する。
【0063】
このため外観検査装置1は、判定用画像データ及び正常画像データにおける類似の度合と、該判定用画像データ及び異常画像データにおける非類似の度合との双方を加味した異常度Sを算出することができる。これにより外観検査装置1は、この異常度Sを用いることで、判定項目に関する正常又は異常の判定を適切に行うことができ、極めて高い精度で外観検査を行うことができる。
【0064】
ここで、異常画像データに基づいた異常特徴量を使用しなかった場合及び使用した場合のそれぞれにおける実験例を紹介する。この実験例では、判定の対象とする不良の種類をチップ立ち(図4(B))とし、当該不良に関する目視による評価(すなわち「正常」又は「異常」)が予め判明している複数の画像データを用意した。その上で、この実験例では、正常特徴量のみを用いる場合と、正常特徴量及び異常特徴量の双方を用いる場合とについて、各画像データに関する異常度Sをそれぞれ算出し、さらに統計処理を行った。
【0065】
図8(A)は、本実施の形態とは異なり、正常特徴量のみを使用した場合における、各画像データから得られた異常度Sの度数分布を表したグラフであり、横軸が異常度Sを表すと共に縦軸が度数(データ数)を表している。因みにこの場合の異常度Sは、(1)式における係数λの値を「0」にして算出した値に相当する。また図8(A)では、目視による評価が「正常」の場合(図中に「OK」と表記)と「異常」の場合(図中に「NG」と表記)とで、棒グラフ内のパターンを相違させている。
【0066】
この図8(A)では、異常度が2.4よりもやや大きい箇所において、目視評価が「OK」であった画像データから得られた異常度(以下これをOK異常度と呼ぶ)と、目視評価が「NG」であった画像データから得られた異常度(以下これをNG異常度と呼ぶ)とが近接している。このことは、OK異常度とNG異常度とを容易に分離し得るような閾値を適切に設定することが難しく、当該閾値を適切に設定できなかった場合に誤判定が生じ得ることを意味している。
【0067】
ところで一般に、統計処理では、データが正規分布又はこれに類似した分布となる場合、データの平均値AVRを中心とした、分散σを所定倍した範囲に含まれる当該データの割合を、様々な指標として利用することがある。例えば正規分布では、平均値AVRを中心として分散σの3倍(いわゆる3σ)までの範囲内に、全体の99.7%のデータが含まれることになる。
【0068】
そこで、この実験例では、正常特徴量のみを使用した場合に得られたNG異常度に関して、平均値AVR及び分散σをそれぞれ算出すると共に、該平均値AVRの値からOK異常度側へ3σだけ離れた閾値TH3及び6σだけ離れた閾値TH6をそれぞれ設定した。これらの場合、図9に示すように、OK異常度が閾値未満となった割合、すなわち正常な対象物を正常と判定する割合(以下これを正常判定率と呼ぶ)が、それぞれ0.995及び0.969となった。このことは、正常特徴量のみを使用した場合、残りの0.005(すなわち0.5%)又は0.031(すなわち3.1%)の割合で、本来は「正常」であるにも関わらず「異常」と判定されること、すなわち誤判定が生じることを意味している。これを換言すれば、正常特徴量のみを使用した場合、誤判定を抑え得るような適切な閾値を設定することが、必ずしも容易ではない。
【0069】
一方、図8(A)と対応する図8(B)は、本実施の形態と同様に、正常特徴量及び異常特徴量の双方を使用した場合における、各画像データから得られた異常度Sの度数分布を表したグラフである。因みに図8(B)では、(1)式において減算を行うため、図8(A)と比較して異常度Sの値の範囲がやや異なっている。
【0070】
この図8(B)では、OK異常度が概ね-0.5以下の範囲に分布している一方、NG異常度が概ね0.0以上の範囲に分布しており、図8(A)と比較して、双方の分布が比較的大きく離れている。このことは、OK異常度とNG異常度とを容易に分離し得るような閾値を適切に設定することが比較的容易であり、当該閾値を適切に設定することにより誤判定を容易に防止し得ることを意味している。
【0071】
この正常特徴量及び異常特徴量の双方を使用した場合に得られたNG異常度に関しても、平均値AVR及び分散σをそれぞれ算出すると共に、該平均値AVRの値から3σだけ離れた閾値TH3及び6σだけ離れた閾値TH6をそれぞれ設定した。これらの場合、図9に示すように、OK異常度が閾値未満となった割合(正常判定率)が1.000又は0.993となった。このことは、このように統計的に算出された値をそのまま閾値として設定するだけで、誤判定が生じないこと、若しくは誤判定が極めて少なくなることを意味している。
【0072】
このように本実施の形態では、正常特徴量に加えて異常特徴量も用いて、判定用特徴量との距離に基づいた異常度Sを算出するため、誤判定を抑え得るような適切な閾値を設定することが、極めて容易となっている。
【0073】
以上の構成によれば、第1の実施の形態による外観検査装置1は、学習用正常画像データから正常特徴量を抽出すると共に学習用異常画像データから異常特徴量を抽出し、それぞれと判定用画像データから抽出した判定用特徴量との距離である正常距離DN及び異常距離DAを用いて異常度Sを算出し、これを基に判定結果を決定する。これにより外観検査装置1は、判定用画像データ及び正常画像データにおける類似の度合いと、該判定用画像データ及び異常画像データにおける非類似の度合いとの双方を加味した異常度Sを算出でき、この異常度Sを用いて高精度な判定結果を得ることができる。
【0074】
[2.第2の実施の形態]
第2の実施の形態による外観検査装置201(図1)は、第1の実施の形態による外観検査装置1と比較して、制御部2及び記憶部3に代わる制御部202及び記憶部203を有する点において相違するものの、他の点については同様に構成されている。制御部202は、第1の実施の形態と同様に、CPU11、ROM12及びRAM13等を有しているものの、記憶部203から各種プログラムを読み出して実行することにより、図5と対応する図10に示すように、第1の実施の形態と一部異なる機能ブロックを形成する。
【0075】
具体的に制御部202は、第1の実施の形態と比較して、特徴量処理部22及び異常度算出部23に代わる特徴量処理部222及び異常度算出部223を有する点において相違するものの、他の点については同様に構成されている。特徴量処理部222は、特徴量処理部22と比較して、特徴量抽出部27及び特徴量管理部28に代わる特徴量抽出部227及び特徴量管理部228を有すると共に特徴量更新部229を有している。
【0076】
記憶部203は、第1の実施の形態による記憶部3と同様に、例えばSSDやHDDのような不揮発性の記憶媒体であり、各種プログラムや各種情報等を記憶する。この記憶部203は、第1の実施の形態と同様のデータ保存部31及び異常特徴量保存部33を有する一方、正常特徴量保存部32が省略されている。
【0077】
また外観検査装置201では、外観検査処理において、画像データから得られる特徴量について、第1の実施の形態と同様に、前段の学習処理と後段の判定処理とによる機械学習処理を行うようなっている。さらに外観検査装置201の制御部202は、前段の学習処理に関し、学習用正常画像データに基づいた正常学習処理を実行し、その後に学習用異常画像データに基づいた異常学習処理を実行するようになっている。
【0078】
特徴量処理部222は、機械学習処理における機械学習モデルに相当する部分であるものの、特徴量処理部22とは異なり、ニューラルネットワークを使った異常検知等の処理において広く用いられているオートエンコーダ(自己符号化器)として構成されている。すなわち特徴量処理部222では、正常学習処理において良品の特徴量を学習する際に、一度次元数を削減してから再び元の次元数に戻した際に当初の特徴量に近づくように、重みパラメータの値を学習する。因みに特徴量処理部222では、各判定項目とそれぞれ対応する複数の機械学習モデルが構成される。また各機械学習モデルのパラメータは、RAM13や記憶部203(図1)に適宜保存される。
【0079】
特徴量抽出部227は、機械学習モデルのパラメータ(重みパラメータとも呼ばれる)を複数有している。この特徴量抽出部227は、機械学習モデルを用いて、取得部21から供給された画像データ(学習用正常画像データ、学習用異常画像データ又は判定用画像データ)から特徴量を抽出し、この特徴量を特徴量管理部228、特徴量更新部229又は異常度算出部223へ供給する。
【0080】
特徴量更新部229は、正常学習処理において、特徴量抽出部227から供給された特徴量を基にパラメータの更新量を算出し、該特徴量抽出部227へ供給する。これに応じて特徴量抽出部227は、供給された更新量を用いてパラメータの値を更新する。
【0081】
特徴量管理部228は、異常学習処理において、特徴量抽出部227から異常特徴量が供給されると、当該異常特徴量を異常特徴量保存部33に保存させる。また特徴量管理部228は、判定処理において、異常特徴量保存部33から異常特徴量を読み出し、異常度算出部223に供給する。
【0082】
異常度算出部223は、判定処理において、特徴量抽出部227から供給される特徴量である判定用特徴量と、特徴量管理部228から供給される異常特徴量とを基に、異常度を算出する。具体的に異常度算出部223は、まず判定用特徴量を基に正常距離DNを算出する。このとき異常度算出部223は、この正常距離DNの算出において、一般的な異常検知モデルにおいて使用される算出方法を用いることができる。例えば異常度算出部223は、特徴量抽出部227から供給される判定用特徴量が入力データに対する次元数の削減及び復元を行うオートエンコーダの出力であれば、当該オートエンコーダの入力データと出力データとの差分を算出し、この差分の大きさを正常距離DNとする。
【0083】
また異常度算出部223は、第1の実施の形態と同様に、判定用特徴量及び異常特徴量の距離(すなわち差異の大きさ)を表す異常距離DAを算出する。さらに異常度算出部223は、第1の実施の形態と同様に、正常距離DN及び異常距離DAにそれぞれ所定の係数を乗じて加算すること、具体的には(1)式に従った演算処理を行うことにより、異常度Sを算出する。
【0084】
次に、外観検査装置201における外観検査処理について、正常学習処理、異常学習処理、及び判定処理に分けて、それぞれを詳細に説明する。
【0085】
まず、正常学習処理について説明する。外観検査装置201の制御部202(図1)は、正常学習処理を行う場合、記憶部203から所定の正常学習処理プログラムを読み出して実行する。このとき制御部202は、所定の初期化処理等を行うと共に、図10に示した各機能ブロックを形成した上で、図6と一部対応する図11に示す正常学習処理手順RT21を開始し、最初のステップSP211に移る。
【0086】
ステップSP211において制御部202は、取得部21により、データ保存部31から1個又は複数個の学習用正常画像データを取得し、次のステップSP212に移る。ステップSP212において制御部202は、特徴量抽出部227により、学習用正常画像データから特徴量を抽出させ、この特徴量を特徴量更新部229へ供給して、次のステップSP213に移る。
【0087】
ステップSP213において制御部202は、特徴量更新部229により、特徴量抽出部227から供給される特徴量を基に、機械学習モデルのパラメータを更新する。また制御部202は、更新したパラメータを特徴量更新部229から特徴量抽出部227へ供給させることにより、当該特徴量抽出部227のパラメータを更新させ、次のステップSP214に移る。
【0088】
ステップSP214において制御部202は、ステップSP16と同様に、所定の終了条件を満たすか否かを判定し、否定結果が得られるとステップSP211に戻り、次の学習用正常画像データについて一連の処理を繰り返し実行する。一方、ステップSP214において肯定結果が得られると、制御部202は次のステップSP215に移り、正常学習処理手順RT21を終了する。
【0089】
次に、異常学習処理について説明する。外観検査装置201の制御部202(図1)は、正常学習処理が終了し、特徴量抽出部227のパラメータが更新されると、異常学習処理を開始する。このとき制御部202は、記憶部203から所定の異常学習処理プログラムを読み出して実行することにより、所定の初期化処理等を行ってから、図10に示した各機能ブロックを形成した上で、図6及び図11と一部対応する図12に示す異常学習処理手順RT22を開始し、最初のステップSP221に移る。
【0090】
ステップSP221において制御部202は、取得部21により、データ保存部31から1個又は複数個の学習用異常画像データを取得し、次のステップSP222に移る。ステップSP222において制御部202は、特徴量抽出部227により、学習用異常画像データから特徴量を抽出させ、この特徴量を特徴量管理部228へ供給して、次のステップSP223に移る。ステップSP223において制御部202は、特徴量管理部228により、特徴量抽出部227から供給された特徴量を異常特徴量として異常特徴量保存部33に保存させ、次のステップSP224に移る。
【0091】
ステップSP224において制御部202は、ステップSP16と同様に、所定の終了条件を満たすか否かを判定し、否定結果が得られるとステップSP221に戻り、次の学習用異常画像データについて一連の処理を繰り返し実行する。一方、ステップSP224において肯定結果が得られると、制御部202は次のステップSP225に移り、異常学習処理手順RT22を終了する。
【0092】
次に、判定処理について説明する。制御部202は、判定処理を行う場合、記憶部203から所定の判定処理プログラムを読み出して実行する。このとき制御部202は、正常学習処理及び異常学習処理の場合と同様に、所定の初期化処理等を行うと共に、図10に示した各機能ブロックを形成した上で、図7と対応する図13に示す判定処理手順RT23を開始し、最初のステップSP231に移る。
【0093】
制御部202は、ステップSP231及びSP232において、ステップSP21及びSP22とそれぞれ同様の処理を行うことにより、判定用画像データから判定用特徴量を抽出し、これを異常度算出部223へ供給して、次のステップSP233に移る。
【0094】
ステップSP233において制御部202は、異常度算出部223により、特徴量抽出部227から供給された判定用特徴量を基に正常距離DN及び異常距離DAをそれぞれ算出し、次のステップSP234に移る。具体的に異常度算出部223は、上述したように、オートエンコーダの入力データと出力データとの差分を基に正常距離DNを算出し、また判定用特徴量と異常特徴量との距離を表す異常距離DAを算出する。
【0095】
ステップSP234において制御部202は、引き続き異常度算出部223により、正常距離DN及び異常距離DAを基に異常度Sを算出し、この異常度Sを判定部24へ供給して、次のステップSP235に移る。このとき異常度算出部223は、第1の実施の形態と同様に、(1)式に従い、正常距離DNから所定の係数λを乗じた異常距離DAを減算することにより異常度Sを算出する。
【0096】
ステップSP235において制御部202は、ステップSP25と同様、判定部24により、異常度算出部223から供給された異常度Sと所定の閾値とを比較させ、判定結果を決定させる。続いて制御部202は、第1の実施の形態と同様に、得られた判定結果を表す判定結果表示画面を表示部5(図1)に表示させ、次のステップSP236に移る。
【0097】
ステップSP236において制御部202は、ステップSP26と同様に、所定の終了条件を満たすか否かを判定し、否定結果が得られるとステップSP231に戻り、次の判定用画像データについて一連の処理を繰り返し実行する。一方、ステップSP236において肯定結果が得られると、制御部202は次のステップSP237に移り、判定処理手順RT23を終了する。
【0098】
以上の構成において、第2の実施の形態による外観検査装置201は、正常学習処理により学習用正常画像データから特徴量を抽出して機械学習モデルのパラメータを更新した後、異常学習処理により学習用異常画像データから特徴量を抽出して異常特徴量保存部33に保存しておく。その後、外観検査装置201は、判定処理において、第1の実施の形態と同様に、判定用画像データから判定用特徴量を算出し、該判定用特徴量及び正常特徴量の距離である正常距離DNと該判定用特徴量及び異常特徴量の距離である異常距離DAとをそれぞれ算出し、両者の重み付け加算値である異常度Sと閾値との比較により判定結果を決定する。
【0099】
このため外観検査装置201は、第1の実施の形態と同様に、判定用画像データ及び正常画像データにおける類似の度合いと、該判定用画像データ及び異常画像データにおける非類似の度合いとの双方を加味した異常度Sを算出することができる。これにより外観検査装置201は、この異常度Sを用いることにより、やはり第1の実施の形態と同様に、正常又は異常の判定を適切に行うことができ、極めて高い精度で外観検査を行うことができる。
【0100】
その他の点においても、第2の実施の形態による外観検査装置201は、第1の実施の形態による外観検査装置1と同様の作用効果を奏し得る。
【0101】
[3.他の実施の形態]
なお上述した第1の実施の形態においては、対象物である電子回路から取得された画像データを基に、正常特徴量及び異常特徴量といった2種類の特徴量を用いて算出した異常度Sを基に当該対象物が正常又は異常の何れであるかを判定する場合、すなわち対象物を2種類に分類する形態について述べた。しかし本発明はこれに限らず、例えば3種類以上の特徴量を用いて異常度Sのような評価値を算出しても良い。第2の実施の形態についても同様である。
【0102】
また上述した第1の実施の形態については、判定部24(図5)において、異常度算出部23から供給される異常度Sを所定の閾値と比較することにより、正常又は異常の何れかを判定結果とする形態、すなわち対象物を2種類の何れかに分類する形態について述べた。しかし本発明はこれに限らず、例えば異常度算出部23から供給される異常度Sを2以上の閾値と比較した結果を基に、対象物を3種類以上に分類しても良い。第2の実施の形態についても同様である。
【0103】
さらに上述した第1の実施の形態においては、異常度Sを算出する(1)式において、正常距離DNの係数を「1」とし、異常距離DAの係数を「-λ」として、該正常距離DN及び該異常距離DAを重み付け加算する形態について述べた。しかし本発明はこれに限らず、正常距離DN及び異常距離DAにそれぞれ任意の係数を乗じた重み付け加算値を算出し、これを異常度Sとしても良い。例えば、正常距離DNに係数「0」を乗じることにより、異常距離DAのみを基に異常度Sを算出しても良い。第2の実施の形態についても同様である。
【0104】
さらに上述した第1の実施の形態においては、正常学習処理により学習用正常画像データから特徴量を抽出して機械学習モデルのパラメータを更新した後、異常学習処理により学習用異常画像データから特徴量を抽出して異常特徴量保存部33に保存する形態について述べた。しかし本発明はこれに限らず、例えば更新により保存される異常特徴量の量が増加してきた場合、係数λの値を徐々に大きくする等、係数値変更ステップとして、学習の度合い等に応じて正常距離DNの係数及び異常距離DAの係数のうち少なくとも一方を変更しても良い。これは、多くの場合に、学習モデル生成時点で用意可能な不良品の基板画像の教師データの数が比較的少ないことを踏まえたものである。例えば、学習モデルを生成する場合、不良品データ数が少ない段階で、異常距離DAの係数λの値を比較的小さい値とすることにより、教師データを用いて学習させた不良品の基板画像の特徴量のばらつきによる影響を抑制できる。その後、不良品の基板画像の教師データが集まり、ある程度の数まで増加した段階で、不良品の基板画像における特徴量のばらつきが小さくなるため、異常距離DAの係数λの値を比較的大きい値とすることにより、ばらつきの影響を受けることなく、判定処理の精度を高めることができる。また、仮に学習モデル生成時点で不良品の基板画像の教師データの数よりも良品の基板画像の教師データの数の方が少ない場合、正常距離DNの係数の値を比較的小さい値とすれば良い。これを換言すると、学習モデル生成時点で用意可能な教師データの数が分類結果ごとに異なる場合、当該教師データの数が少ない方の係数の値を小さくすれば良い。第2の実施の形態についても同様である。
【0105】
さらに上述した第1の実施の形態においては、異常度Sを算出する(1)式の各係数を固定値とし、当該(1)式のみを用いて異常度Sを算出する形態について述べた。しかし本発明はこれに限らず、例えば電子回路基板における電子部品の欠品(図3(A))、位置ずれ(図3(B))及びはんだ過少(図3(C))等のように、判別しようとする異常の種類に応じて異なる値としても良い。判定部24において使用する閾値についても、同様に判別しようとする異常の種類に応じて異なる値としても良い。第2の実施の形態についても同様である。
【0106】
さらに上述した第1の実施の形態においては、特徴量処理部22の特徴量抽出部27(図7)をニューラルネットワークとして構成し、公開データセット等を用いて重みパラメータが学習されたものを使用する形態について述べた。また第2の実施の形態においては、特徴量処理部222をオートエンコーダとして構成する形態について述べた。しかし本発明はこれに限らず、特徴量処理部22又は223において、種々の機械学習のしくみを利用して特徴量を基に異常度を算出し得るような種々の機能ブロックを設け、これらによる演算処理を行うようにしても良い。すなわち本発明では、周知の種々の機械学習を利用して特徴量に基づいた異常度を算出し、この異常度を用いて判定処理を行うことができる。
【0107】
さらに上述した第1の実施の形態においては、学習処理が行われた後、判定処理を行う際に、特徴量処理部22の正常特徴量保存部32及び異常特徴量保存部33に保存している特徴量については更新処理を行わない形態、すなわち学習モデルを更新しない形態について述べた。しかし本発明はこれに限らず、例えば学習処理が行われた後の判定処理において、新たに判定用画像データを基に特徴量を抽出した際に、更新ステップとして、判定結果に応じて、当該特徴量を用いて正常特徴量保存部32又は異常特徴量保存部33に保存されている特徴量を更新しても良い。第2の実施の形態についても同様である。
【0108】
さらに上述した第1の実施の形態においては、外観検査装置1に撮像部7(図1)を設け、当該撮像部7により撮像された画像データをデータ保存部31に保存させておく形態について述べた。しかし本発明はこれに限らず、例えば通信部4を介して接続される他の機器から画像データを取得し、データ保存部31に保存させておいても良い。この場合、他の機器としては、例えば撮像部7と同様の撮像機能や通信部4と同様の通信機能等を有するネットワークカメラ等を使用することができる。また、他の機器から取得される画像データについては、予め外部の情報処理装置(図示せず)等により判定項目情報を対応付けておいても良く、或いは使用者により操作部6(図1)を介して設定させても良い。これらの場合、撮像部7を省略することができる。第2の実施の形態についても同様である。
【0109】
さらに上述した第1の実施の形態においては、判定処理において判定結果が得られると、表示部5に所定の判定画面表示画面を表示することにより、使用者に判定結果を知らせる形態について述べた。しかし本発明はこれに限らず、例えばスマートフォンやタブレット端末のような通信機能及び表示機能等を有する情報処理装置を使用者が保有している場合、当該情報処理装置と通信部4(図1)との間で情報通信を行い得るようにしておいても良い。この場合、判定結果を表す情報を通信部4から情報処理装置へ送信し、該情報処理装置において該判定結果を表す所定の画面を表示させても良い。この場合、外観検査装置1から表示部5や操作部6(図1)を省略しても良い。第2の実施の形態についても同様である。
【0110】
さらに上述した第1の実施の形態においては、撮像部7により対象物を撮像して得られた画像データを処理対象とし、当該画像データから特徴量を抽出する形態について述べた。しかし本発明はこれに限らず、例えばトンネルや橋梁のような構造物や建築物等の点検業務として、内部の状況を検査する打音検査時に集音した音響データ等、種々の対象物から種々の取得手法により得られた種々の物理量を表す多次元のデータを処理対象とし、当該データから種々の演算処理を経て特徴量を抽出しても良い。第2の実施の形態についても同様である。
【0111】
さらに上述した第1の実施の形態においては、制御部2において学習処理プログラム等のプログラムを実行し、図5に示した各機能ブロックをソフトウェアにより構成する形態について述べた。しかし本発明はこれに限らず、例えば図7に示した各機能ブロックの少なくとも一部をハードウェアにより構成しても良い。第2の実施の形態についても同様である。
【0112】
さらに上述した第1の実施の形態においては、学習処理プログラム等の各プログラムを記憶部3に予め記憶しておく形態について述べた。しかし本発明はこれに限らず、例えば所定のサーバ装置(図示せず)に各プログラムを保存しておき、通信部4(図1)により所定のネットワーク(図示せず)を介して当該サーバ装置から当該プログラムをダウンロードして実行するようにしても良い。第2の実施の形態についても同様である。
【0113】
さらに本発明は、上述した各実施の形態及び他の実施の形態に限定されるものではない。すなわち本発明は、上述した各実施の形態と上述した他の実施の形態の一部又は全部を任意に組み合わせた実施の形態にも適用範囲が及ぶものである。また本発明は、上述した各実施の形態及び他の実施の形態のうち任意の実施の形態に記載された構成の一部を抽出し、上述した各実施の形態及び他の実施の形態のうちの任意の実施の形態の構成の一部と置換・転用した実施の形態や、抽出された構成の一部を任意の実施の形態に追加した実施の形態にも適用範囲が及ぶものである。
【0114】
さらに上述した実施の形態においては、取得部としての取得部21と、特徴量抽出部としての特徴量抽出部27と、第1特徴量保存部としての正常特徴量保存部32と、第2特徴量保存部としての異常特徴量保存部33と、判定部としての判定部24とによって判定装置としての外観検査装置1を構成する形態について述べた。しかし本発明はこれに限らず、その他種々の構成でなる取得部と、特徴量抽出部と、第1特徴量保存部と、第2特徴量保存部と、判定部とによって判定装置を構成しても良い。
【産業上の利用可能性】
【0115】
本発明は、例えば製品を製造する工場に設置される外観検査装置で利用できる。
【符号の説明】
【0116】
1、201……外観検査装置、2、202……制御部、3、203……記憶部、5……表示部、7……撮像部、21……取得部、22、222……特徴量処理部、23、223……異常度算出部、24……判定部、26……特徴量管理部、27、227……特徴量抽出部、28、228……特徴量管理部、31……データ保存部、32……正常特徴量保存部、33……異常特徴量保存部、229……特徴量更新部、DA……異常距離、DN……正常距離、S……異常度、λ……係数。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13