JP2022182702A - 評価プログラム、評価方法、及び情報処理装置 - Google Patents

評価プログラム、評価方法、及び情報処理装置 Download PDF

Info

Publication number
JP2022182702A
JP2022182702A JP2021090403A JP2021090403A JP2022182702A JP 2022182702 A JP2022182702 A JP 2022182702A JP 2021090403 A JP2021090403 A JP 2021090403A JP 2021090403 A JP2021090403 A JP 2021090403A JP 2022182702 A JP2022182702 A JP 2022182702A
Authority
JP
Japan
Prior art keywords
image
evaluation
partial images
blob
training data
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.)
Pending
Application number
JP2021090403A
Other languages
English (en)
Inventor
将孝 梅田
Masataka Umeda
義勝 御宿
Yoshimasa Mishuku
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021090403A priority Critical patent/JP2022182702A/ja
Priority to US17/692,085 priority patent/US20220383477A1/en
Publication of JP2022182702A publication Critical patent/JP2022182702A/ja
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】画像による対象物に対する評価の精度向上を図る。【解決手段】コンピュータが、画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデル11bに入力画像データ11hを入力することで、前記入力画像データ11hに含まれる複数の部分画像11eを特定し、1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデル11gに、特定した前記複数の部分画像11eを入力することで、前記入力画像データ11hに対する評価を行なう。【選択図】図8

Description

本発明は、評価プログラム、評価方法、及び情報処理装置に関する。
部品又は製品の表面に付着した又は生じた、異物、汚れ、傷、バリ、欠け、及び、変形等の外観上の欠陥を確認し、当該部品又は製品の評価、例えば良否判定を行なう外観検査が知られている。
外観検査の手法の1つとして、ブロブの画像解析を行なうブロブ解析が知られている。ブロブとは、塊を意味し、画像解析におけるブロブとは、例えば、2値化された画像において、一方の値(換言すれば「色」)の画素で形成される個々の領域を意味する。
ブロブ解析等の外観検査は、例えば、コンピュータによって、AI(Artificial Intelligence)を用いた画像解析処理により行なわれることがある。例えば、コンピュータは、検査対象となる部品又は製品を撮像した画像に基づき生成される機械学習モデルを利用して、ブロブの良否判定を行なう。
特開2020-153764号公報
検査対象となる部品又は製品のサイズが大きい場合、外観検査において外観上の欠陥を画像に記録する(含める)ために、部品又は製品の画像を高解像度に撮像することがある。しかし、高解像度の画像では、画像サイズに対して欠陥のサイズが極端に小さくなることがある。
また、検査項目によって、欠陥の大きさ、部品又は製品の形状等が異なることがある。また、何を基準として良否判定を行なうかが異なることがある。しかし、機械学習モデルの生成では、ブロブの大きさ、形状、個数等、検査目的及び要件等の条件が考慮されないことがあり、部品又は製品等の対象物全体の良否判定を行なうことが困難な場合がある。
さらに、機械学習を利用したコンピュータによるブロブ解析では、個々のブロブごとに良否判定が行なわれることがあるが、1以上のブロブを含む画像単位又は製品単位で良否判定を行なうことは困難な場合がある。
以上のように、コンピュータにより、機械学習を利用して、撮像された画像に基づく外観検査を実行することが困難な場合がある。
1つの側面では、本発明は、画像による対象物に対する評価の精度向上を図ることを目的とする。
1つの側面では、評価プログラムは、コンピュータに以下の処理を実行させてよい。前記処理は、画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定する処理を含んでよい。また、前記処理は、1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう処理を含んでよい。
1つの側面では、画像による対象物に対する評価の精度を向上させることができる。
一実施形態の一例としてのサーバの機能構成例を示すブロック図である。 検出モデル訓練データセットの一例を示す図である。 撮像画像の一例を示す図である。 検出モデルの機械学習処理の一例を示す図である。 解析モデル訓練データセットの一例を示す図である。 解析モデルの機械学習処理の一例を示す図である。 解析モデルの機械学習を実行する際の解析モデル訓練データセットの一例を示す図である。 実行部による推論処理の一例を示す図である。 検出モデルの機械学習処理の動作例を説明するためのフローチャートである。 解析モデルの機械学習処理の動作例を説明するためのフローチャートである。 ブロブ抽出処理の動作例を説明するためのフローチャートである。 推論処理の動作例を説明するためのフローチャートである。 シートの撮像画像に欠陥としてフィッシュアイが含まれる場合の一例を示す図である。 集合演算を含まないニューラルネットワークの機械学習の一例を示す図である。 ブロブ画像、特徴量及び推論結果(良否判定結果)の一例を示す図である。 一実施形態に係るサーバの機能を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
〔1-1〕サーバの機能構成例
図1は、一実施形態の一例としてのサーバ1の機能構成例を示すブロック図である。サーバ1は、入力画像データに対する評価を行なう評価装置又は情報処理装置の一例である。
図1に示すように、サーバ1は、例示的に、メモリ部11、取得部12、検出モデル訓練部13、ブロブ抽出部14、特徴量抽出部15、解析モデル訓練部16、実行部17、及び、出力部18を備えてよい。取得部12、検出モデル訓練部13、ブロブ抽出部14、特徴量抽出部15、解析モデル訓練部16、実行部17、及び、出力部18は、制御部19の一例である。
メモリ部11は、記憶領域の一例であり、サーバ1による処理に用いられる種々の情報を記憶する。図1に示すように、メモリ部11は、例示的に、検出モデル訓練データセット11a、検出モデル11b、検出結果11c、解析モデル訓練データセット11d及び11d'、複数のブロブ画像11e、複数の特徴量11f、解析モデル11g、検査対象画像11h、推論結果11i、並びに、出力データ11jを記憶可能であってよい。
取得部12は、検出モデル11b及び解析モデル11gのそれぞれの機械学習処理(訓練)、並びに、訓練済みの検出モデル11b及び解析モデル11gを利用する推論処理、の実行に用いる情報の少なくとも一部を、例えば図示しないコンピュータから取得する。
例えば、取得部12は、検出モデル11b及び解析モデル11gのそれぞれの機械学習に用いる検出モデル訓練データセット11a及び解析モデル訓練データセット11d、並びに、推論処理に用いる検査対象画像11hを取得し、メモリ部11に格納してよい。
検出モデル訓練データセット11aは、画像データと画像データにおける抽出対象の部分画像とを関連付けた訓練データの集合である訓練データセットの一例である。画像データは、検査対象、例えば外観検査対象となる対象物を撮像した画像データ(画像)であり、一例として対象物の外観の撮像画像であるものとする。対象物は、検査対象となる物体(被写体)である。
図2は、検出モデル訓練データセット11aの一例を示す図である。検出モデル訓練データセット11aは、図2に例示するように、n個(nは2以上の整数)の検出モデル訓練データ110(検出モデル訓練データ#0~#n-1)の集合であってよい。各検出モデル訓練データ110は、第1訓練データの一例であり、訓練の対象物(「訓練対象物」と称されてもよい)を撮影した画像111と、当該画像111において訓練対象物における抽出対象の部分画像を示すアノテーション画像112とを関連付けて含んでよい。
画像111は、画像データの一例である。画像111としては、例えば、図3に示すように、撮像装置の一例であるカメラ2により、少なくとも1つの対象物(訓練対象物)3の外観を撮像して得られる撮像画像21が挙げられる。例えば、取得部12は、カメラ2により撮像された撮像画像21を、図示しないネットワークを介してカメラ2又はコンピュータから取得(例えば受信)してよい。
以下の説明では、画像111、後述する画像121及び検査対象画像11hを含む「画像」又は「撮像画像」としては、図3に示す手法により撮像された撮像画像21が用いられるものとする。対象物3としては、例えば、基板31、シート32、ガラス板33、ボルト・ナット34、及び、缶類35等の種々の製品又は部品のうちの少なくとも1種類が挙げられる。
複数の検出モデル訓練データ110における各画像111は、カメラ2により撮像される一連の動画像から時系列(例えばt=0~(n-1))に切り出されたフレームでもよいし、互いに異なる動画像から切り出されたフレームでもよい。或いは、各画像111は、静止画像として撮影された画像でもよい。
アノテーション画像112は、アノテーションデータの一例であり、例えば、図2に示すように、画像111中の抽出対象のピクセル単位のアノテーションを示す画像である。抽出対象は、例えば、良否判定(評価)に関わるブロブ領域を白(又は黒)で表現し、ブロブ領域以外を黒(又は白)で表現する2値画像(2値化画像)であってよい。ブロブ領域は、例えば、対象物3としての部品又は製品の外観上の欠陥部分を示す欠陥領域であってよい。
「欠陥」としては、例えば、部品又は製品の表面に付着した又は生じた、異物、汚れ、傷、バリ、欠け、及び、変形等のうちの少なくとも1種類が挙げられる。図3には、撮像画像21における対象物3の欠陥として、傷211、及び、汚れ212を例示している。
アノテーション画像112は、例えば、コンピュータを用いた画像加工(解析)処理により生成されてもよいし、ユーザにより生成されてもよく、その他の種々の手法によって生成されてよい。
検出モデル訓練部13は、検出モデル訓練データセット11aに含まれる複数の検出モデル訓練データ110のそれぞれを用いて、検出モデル11bの機械学習を実行する。
図4は、検出モデル11bの機械学習処理の一例を示す図である。図4に例示するように、検出モデル訓練部13は、各検出モデル訓練データ110に含まれる、画像111及びアノテーション画像112のペアについて、対象物3を撮像した画像111を入力情報とし、当該画像111内の欠陥領域を表すアノテーション画像112を教師情報(教師データ)として、AI(Artificial Intelligence)モデルの機械学習(訓練)を行なう。AIモデルは、機械学習の完了により、検出モデル11bとして利用可能となる。検出モデル11bは、例えば、ブロブを検出するための種々のニューラルネットワーク(NN;Neural Network)であり、一例として、セグメンテーション用NNである。
なお、図4の例では、検出モデル訓練データ110に含まれる複数の画像111のそれぞれの撮像条件が揃っている場合を想定する。撮像条件が揃っている場合としては、例えば、工場のライン上に設置されたカメラ2により、画像111が連続的に撮像される場合等が挙げられる。このため、画像111の解像度、画像111内における部品又は製品の領域の大きさ等の変化を画像111間で無くす又は小さくすることができる。
一実施形態では、撮像条件が揃っている場合を想定するため、教師情報は、画像111ごとの撮影条件の差異に関する情報をラベルとして含まなくても、適切に検出モデル11bの訓練を行なうことができる。一方、画像111間で撮像条件が変動するような状況であれば、検出モデル訓練部13は、機械学習処理において、撮像条件の差異を吸収できるようなラベルを教師情報として追加で付与してもよい。このようなラベルとしては、例えば、画像111の全体(或いは画像111に写った部品又は製品全体)の大きさに関するラベル等が挙げられる。
ブロブ抽出部14は、検出モデル11bからの出力結果(推論結果)から、解析モデル11gの機械学習処理、及び、解析モデル11gを用いた推論処理において利用されるブロブ画像11eを抽出するブロブ抽出処理を実行する。
例えば、ブロブ抽出部14は、検出モデル訓練部13による訓練済みの検出モデル11bに対して、解析モデル訓練データセット11dに含まれる画像を入力し、検出モデル11bから出力される推論結果の2値画像に対して、ブロブ抽出処理を実行してよい。
図5は、解析モデル訓練データセット11dの一例を示す図である。解析モデル訓練データセット11dは、図5に例示するように、m個(mは2以上の整数)の解析モデル訓練データ120(解析モデル訓練データ#0~#m-1)の集合であってよい。各解析モデル訓練データ120は、第2訓練データの一例であり、対象物3を撮影した画像121と、当該画像121が良否判定において良となるか否となるかを示す良否ラベル122とを関連付けて含んでよい。
画像121としては、図3に例示する撮像画像21が挙げられる。画像121は、検出モデル訓練データセット11aに含まれる画像111と同一(共通)であってもよいし、互いに異なってもよい。
良否ラベル122は、画像121の被写体である対象物3に対する評価結果の一例であり、例えば、画像121に基づく良否判定により、対象物3が「不良品」と判定されるか、或いは、「良品」と判定されるかを示す情報であってよい。良否ラベル122は、一例として、「1」又は「0」の数値であってよい。例えば、良否ラベル122が「1」である場合、対象物3が良否判定で不良品と判定されることを示してよく、良否ラベル122が「0」である場合、対象物3が良否判定で良品と判定されることを示してよい。良否ラベル122は、例えば、画像121に対する良否判定の結果(良否判定結果)に応じて当該画像121に対応付けられてもよいし、その他種々の手法により設定されてもよい。
図6は、解析モデル11gの機械学習処理の一例を示す図である。図6に例示するように、ブロブ抽出部14は、各解析モデル訓練データ120に含まれる画像121を、機械学習処理実行済み(訓練済み)の検出モデル11bに入力し、当該画像121内の欠陥領域を表す検出結果11cを取得する。検出結果11cは、画像121に含まれる欠陥部分を欠陥領域(ブロブ領域)として、アノテーション画像112と同様の態様で表す2値画像であってよい。
ブロブ抽出部14は、検出結果11cに対してブロブ抽出処理を行なう。例えば、ブロブ抽出部14は、検出結果11cに含まれるブロブごとに、個別のブロブを含むブロブ画像11eを抽出し、1以上のブロブ画像11eをメモリ部11に格納してよい。ブロブ画像11eは、部分画像の一例であり、例えば、2値画像からブロブ領域を含む矩形領域を切り出した画像(パッチ画像)である。
ブロブ抽出部14は、各ブロブの形状、検出結果11cに含まれるブロブの個数等に応じて、ブロブの切り出しサイズ、1つの検出結果11cからのブロブの切り出し数の最大値等を調整(チューニング)及び設定可能であってよい。
ブロブの切り出し数の最大値を設定する場合、ブロブ抽出部14は、良否判定処理に関連の大きい特徴を得るために、切り出した複数のブロブのうちのブロブ領域のピクセルサイズが大きい順に、上位最大値以下の数のブロブを抽出してよい。例えば、ブロブ抽出部14は、ブロブ領域のピクセルサイズが大きい順に複数のブロブをソートしてもよい。
特徴量抽出部15は、1以上のブロブ画像11eのそれぞれに対して特徴量抽出処理を行なうことで、1以上のブロブ画像11eのそれぞれから特徴量11fを抽出し、メモリ部11に格納する。
特徴量11fは、良否判定の目的等に応じた所定の種別の特徴量であり、図6に示すように、例示的に、ブロブの長さ、及び、画像121におけるブロブの座標を含んでよい。ブロブの長さは、画像121におけるブロブの長手方向のサイズの一例であり、例えば、ブロブの長手方向のピクセル数であってよい。ブロブの座標は、画像121におけるブロブの位置の一例であり、例えば、ブロブの中心(又は重心)位置のX座標及びY座標の値であってよい。なお、特徴量11fとしては、ブロブの長さ及び座標に限定されるものではなく、良否判定の目的等に応じて、例えば、ブロブの面積等の種々の種別の特徴量であってもよく、これらの1種類以上の組み合わせであってもよい。
解析モデル訓練部16は、解析モデル訓練データセット11d’に含まれるデータを用いて、解析モデル11gの機械学習を実行する。解析モデル11gは、評価モデルの一例である。
図7は、解析モデル11gの機械学習を実行する際の解析モデル訓練データセット11d’の一例を示す図である。解析モデル訓練データセット11d’は、対象物3の撮像画像(画像121)ごとに解析モデル訓練データ120’を含んでよい。図7に示すように、解析モデル訓練データ120’は、例示的に、検出モデル訓練データセット11aと同様の画像121及び良否ラベル122に加えて、ブロブ抽出部14が抽出したブロブ画像11e、及び、特徴量抽出部15が抽出した特徴量11fを関連付けて含んでよい。なお、解析モデル訓練データセット11d’には、画像121が含まれなくてもよい。
以上のように、各解析モデル訓練データ120’は、例えば、1つの対象物3の撮像画像から抽出される1以上のブロブ画像11e及び1以上の特徴量11fと、解析モデル11gの教師情報となる良否ラベル122とのペアを含んでよい。
以下の説明では、便宜上、解析モデル訓練部16が、解析モデル訓練データセット11dを修正(加工)して得られる解析モデル訓練データセット11d’を利用して機械学習処理を行なう場合を例に挙げるが、これに限定されるものではない。例えば、解析モデル訓練部16は、解析モデル訓練データセット11d’の生成に代えて、メモリ部11に格納されたブロブ画像11e、特徴量11f、及び、解析モデル訓練データセット11d内の良否ラベル122をそれぞれ利用してもよい。
図6に例示するように、解析モデル訓練部16は、解析モデル訓練データセット11d’の各解析モデル訓練データ120’に含まれる、ブロブ画像11e及び特徴量11fの集合を入力情報とし、良否ラベル122を教師情報として、AIモデルの機械学習(訓練)を行なう。
ところで、対象物3の良否判定結果(検査結果)には、複数のブロブ画像11e(パッチ画像群)の並び順は影響を与えない。そこで、AIモデルとしては、複数のブロブ画像11eを順不同の性質を持つ集合として扱うことのできる(集合演算を実現できる)AIモデルが用いられてよい。例えば、解析モデル訓練部16は、1つの画像121から得られた複数のブロブ画像11e及び複数の特徴量11fを入力とし、最終的な良否判定結果を示す良否ラベル122を教師情報としてAIモデルを訓練してよい。AIモデルは、機械学習の完了により、解析モデル11gとして利用可能となる。換言すれば、解析モデル11gは、集合演算が組み込まれたNNの一例である。
以上のように、取得部12、検出モデル訓練部13、ブロブ抽出部14、特徴量抽出部15及び解析モデル訓練部16は、機械学習フェーズにおいて、検出モデル11b及び解析モデル11gの機械学習を実行する機械学習部の一例である。
なお、検出モデル訓練部13による検出モデル11bの機械学習処理、及び、解析モデル訓練部16による解析モデル11gの機械学習処理のそれぞれの機械学習手法としては、既知の種々の手法が採用されてよい。
例えば、機械学習処理では、入力に応じてAIモデルの順伝播処理により得られる推定結果と、教師情報とに基づき得られる誤差関数の値を小さくするために、順伝播方向の処理で使用するパラメータを決定する逆伝播処理が実行されてよい。そして、機械学習処理では、逆伝播処理の結果に基づいて重み等の変数を更新する更新処理が実行されてよい。これらのパラメータ及び変数等は、AIモデルのそれぞれに含まれてよい。検出モデル訓練部13及び解析モデル訓練部16は、繰り返し回数又は精度等が閾値に達するまで、AIモデルの機械学習処理を繰り返し実行し、AIモデルを更新してよい。機械学習が終了したAIモデルは、上述のように、訓練済みの検出モデル11b及び解析モデル11gとなる。
実行部17は、推論フェーズにおいて、検出モデル11b及び解析モデル11gを利用した推論処理を実行する。
図8は、実行部17による推論処理の一例を示す図である。例えば、実行部17は、入力画像データの一例である検査対象画像11hを検出モデル11bに入力し、検出結果11cを取得する。また、実行部17は、検出結果11cをブロブ抽出部14に入力して複数のブロブ画像11eを取得(特定)する。さらに、実行部17は、複数のブロブ画像11eを特徴量抽出部15に入力して複数の特徴量11fを取得(特定)する。
そして、実行部17は、検査対象画像11hから得られた複数のブロブ画像11e及び複数の特徴量11fを解析モデル11gに入力することで、検査対象画像11hに対する評価を行なう。例えば、実行部17は、解析モデル11gから評価結果として推論結果11iを取得する。
なお、実行部17は、推論処理の過程において取得する検出結果11c、複数のブロブ画像11e、複数の特徴量11f及び推論結果11iの少なくとも1つを、検査対象画像11hと対応(関連)付けてメモリ部11に格納してもよい。
推論結果11iは、解析モデル11gによる検査対象画像11hの最終的な良否判定結果、換言すれば評価結果を示す情報であり、例えば、「良品」又は「不良品」といったクラスに対応する数値であってよい。一例として、推論結果11iは、「0」以上「1」以下の小数によって表現される尤度であってよい。尤度は、クラスの尤もらしさを示す度合いである。例えば、推論結果11iから不良品の尤度を示す場合、尤度が「1」に近いほど不良品である可能性が高く、尤度が「0」に近いほど不良品ではない(良品である)可能性が高いといえる。
一実施形態では、簡単のために、推論結果11iのクラスとして、「良品」及び「不良品」の2つのクラスを用いるが、これに限定されるものではなく、推論処理の判定種別数(クラスの数)は、タスクに応じて適時変更(例えば増加)してもよい。
出力部18は、実行部17により取得される推論結果11iを出力データとして出力する。例えば、出力部18は、推論結果11iそのものを図示しない他のコンピュータに送信してもよいし、推論結果11iをメモリ部11に蓄積してサーバ1又は他のコンピュータから参照可能に管理してもよい。或いは、出力部18は、推論結果11iを示す情報をサーバ1等の出力装置に画面出力してもよい。
なお、出力部18は、出力データとして、推論結果11iそのものに代えて又は加えて、種々のデータを出力してもよい。出力データは、例えば、推論結果11iに基づく良否判定結果の分析結果、中間生成情報(例えばブロブ画像11e、特徴量11f等)そのもの、又は、当該中間生成情報に基づく良否判定の根拠についての解析結果、等の種々のデータであってもよい。良否判定の根拠についての解析結果とは、例えば、AIモデルがどのように判定を行なうかをユーザに知らせるためのいわゆる「暗黙知」の顕在化の位置付けであってもよい。
以上のように、取得部12、ブロブ抽出部14、特徴量抽出部15、実行部17及び出力部18は、推論フェーズにおいて、訓練済みの検出モデル11b及び解析モデル11gを利用して、対象物3の良否判定処理を実行する推論処理部の一例である。推論処理部は、取得した推論結果11iを良否判定結果として出力してよい。
〔1-2〕動作例
次に、図9~図12を参照して、上述の如く構成されたサーバ1の動作例を説明する。
〔1-2-1〕機械学習フェーズの動作例
図9は、検出モデル11bの機械学習処理の動作例を説明するためのフローチャートであり、図10は、解析モデル11gの機械学習処理の動作例を説明するためのフローチャートである。図11は、ブロブ抽出処理の動作例を説明するためのフローチャートである。なお、解析モデル11gの機械学習処理は、検出モデル11bの機械学習処理の完了後に実行されてよい。
(検出モデル11bの機械学習処理)
図9に例示するように、取得部12は、検出モデル訓練データセット11aを取得し(ステップS1)、メモリ部11に格納する。
検出モデル訓練部13は、検出モデル訓練データセット11a内の検出モデル訓練データ110ごとに、画像111を入力情報とし、アノテーション画像112を教師情報として検出モデル11bの機械学習を実行し(ステップS2)、処理が終了する。例えば、アノテーション画像112は、画像111における欠陥領域を示す2値画像であってよい。
(解析モデル11gの機械学習処理)
図10に例示するように、取得部12は、解析モデル訓練データセット11dを取得し(ステップS11)、メモリ部11に格納する。
ブロブ抽出部14は、解析モデル訓練データセット11d内の解析モデル訓練データ120の画像121を機械学習済みの検出モデル11bに入力し、検出モデル11bから検出結果11cを取得して(ステップS12)、メモリ部11に格納する。検出結果11cは、画像121における欠陥領域を示す2値画像であってよい。
ブロブ抽出部14は、検出結果11cに基づきブロブ抽出処理を実行する(ステップS13)。
特徴量抽出部15は、ブロブ抽出処理で取得された複数のブロブ画像11eのそれぞれに対して特徴量抽出処理を行ない(ステップS14)、各ブロブ画像11eから特徴量11fを抽出してメモリ部11に格納する。
解析モデル訓練部16は、ブロブ画像11e及び特徴量11fを含む解析モデル訓練データセット11d’内の解析モデル訓練データ120’ごとに、解析モデル11gの機械学習を実行し(ステップS15)、処理が終了する。機械学習では、解析モデル訓練部16は、1つの対象物3の画像121に対応する複数のブロブ画像11e及び複数の特徴量11fを入力情報とし、当該画像121に対応する良否ラベル122を教師情報として解析モデル11gの訓練を行なってよい。
(ブロブ抽出処理)
図11に例示するように、ブロブ抽出部14は、ブロブ抽出処理(図10のステップS13、又は、後述する図12のステップS33)において、検出結果11cから抽出したブロブをピクセルサイズの大きい順にソートする(ステップS21)。
ブロブ抽出部14は、例えば、変数iに0をセットし、Nmaxに最大値をセットする(ステップS22)。最大値は、例えば、予め定めた上限値であってもよいし、ステップS21で検出したブロブ数であってもよい。
ブロブ抽出部14は、ブロブをパッチ画像(ブロブ画像11e)として切り出し、リスト、例えば解析モデル訓練データ120’に追加し(ステップS23)、iに1を加算する(ステップS24)。
ブロブ抽出部14は、iがNmaxに達したか否かを判定し(ステップS25)、達していない場合(ステップS25でNO)、処理がステップS23に移行する。一方、iがNmaxに達した場合(ステップS25でYES)、ブロブ抽出処理が終了する。
〔1-2-2〕推論(判定)フェーズの動作例
図12は、推論処理の動作例を説明するためのフローチャートである。図12に例示するように、取得部12は、検査対象画像11hを取得し(ステップS31)、メモリ部11に格納する。
実行部17は、検査対象画像11hを機械学習済みの検出モデル11bに入力し、検出モデル11bから検出結果11cを取得して(ステップS32)、メモリ部11に格納する。検出結果11cは、検査対象画像11hにおける欠陥領域を示す2値画像であってよい。
実行部17は、検出結果11cをブロブ抽出部14に入力して、図11に例示するブロブ抽出処理を実行し(ステップS33)、複数のブロブ画像11eを取得する。
実行部17は、ブロブ抽出処理により取得した複数のブロブ画像11eを特徴量抽出部15に入力し、各ブロブ画像11eに対する特徴量抽出処理を実行する(ステップS34)。実行部17は、特徴量抽出処理により、複数の特徴量11fを取得し、メモリ部11に格納する。
実行部17は、複数のブロブ画像11e及び複数の特徴量11fを機械学習済みの解析モデル11gに入力し、推論結果11iを取得する(ステップS35)。
出力部18は、推論結果11iに基づき出力データを出力し(ステップS36)、処理が終了する。例えば、出力部18は、推論結果11iを出力データとして出力してもよいし、推論結果11iに基づき種々の出力データを生成して出力してもよい。
〔1-3〕一実施形態の説明
次に、上述した一実施形態に係るサーバ1について、適用例とともに説明する。
(良否判定対象となり得る欠陥のバリエーションについて)
一実施形態に係るサーバ1によれば、対象物3に生じ得る多様な欠陥に対応して、対象物3の良否判定を行なうことができる。
例えば、ブロブ領域(欠陥領域)として検出される欠陥は、対象物3の種類に応じて、以下に例示するものであってよい。
対象物3がガラス板33の場合、欠陥は、例えば、傷、チリ又はホコリ等の対象物3に混入した異物、気泡、クラック等であってよい。クラックとは、裂け目又はひび割れである。
対象物3が基板31の場合、欠陥は、例えば、傷、クラック、クレイジング、ミーズリング、半田不良等であってよい。クレイジングとは、機械ストレスによってガラス繊維が樹脂から剥離することであり、ミーズリングとは、主に熱ストレスによってガラス繊維が樹脂から剥離することである。
対象物3がシート32の場合、欠陥は、例えば、傷、しわ、ストリーク、フィッシュアイ等であってよい。ストリークは、気体が表面に現れ、銀箔色の筋状の痕が発生する不良のことであり、フィッシュアイは、材料の一部が周囲の材料と完全に混合せずにできた球状のブロブである。
対象物3が缶類35の場合、欠陥は、例えば、傷、凹み、油汚れ等であってよい。
上述した種々の欠陥は、検出モデル11bにより、例えば傷であれば長い細線として、チリ又はホコリ等の異物であれば小粒のブロブが密集したものとして、2値形式で検出されてよい。このように、ブロブ領域は、欠陥の種類に応じて、ブロブの大きさ、形状、個数等のうちの少なくとも1つが相互に異なるものとして表現されてよい。
一実施形態に係るサーバ1は、検出モデル11bの出力画像(検出結果11c)から、ブロブ単位でパッチ画像(ブロブ画像11e)を切り出すため、ブロブからの任意の(例えばユーザにより設定される所望の)特徴量11fを抽出することができる。
(第1の例)
例えば、細線の傷に関するブロブ画像11eを良否判定に用いる場合、サーバ1は、ブロブの長さを特徴量11fとして抽出してよい。これにより、サーバ1は、良否判定に用いるブロブと、傷以外の欠陥、及び、良否判定に寄与しないブロブとを区別して解析モデル11gの機械学習を実行することができる。また、サーバ1は、機械学習済み解析モデル11gを用いて、細線の傷に関するブロブに基づく推論結果11iを出力できる。
(第2の例)
チリ等の異物混入による対象物3の外観の変化を良否判定に用いる場合、撮像画像21では、複数の小さなブロブが密集しているように見えることがある。この場合、サーバ1は、ブロブの位置座標を特徴量11fとして抽出してよい。これにより、サーバ1は、ブロブの密集度を加味して解析モデル11gの機械学習を実行することができる。また、サーバ1は、機械学習済み解析モデル11gを用いて、ブロブの密集度を加味した判定を行なうことができる。
(第3の例)
プリント基板等の基板31のクレイジング及びミーズリングに関するブロブ画像11eを良否判定に用いる場合、クレイジング及びミーズリングの欠陥領域は、撮像画像21において、その他の領域と色の見え方が異なることがある。この場合、サーバ1は、例えば、検出モデル11bの検出結果11cをマスク画像として、入力画像、例えば画像121、検査対象画像11hに対してマスク処理を行なってよい。そして、サーバ1は、マスク処理で得られた画像をブロブごとに分割し、部分画像(ブロブ画像11e)を得てよい。これにより、色情報を付与した上で、良否判定処理を行なうことができる。
(第4の例)
シート32に発生するフィッシュアイは球状のブロブ形状となる。このため、サーバ1は、フィッシュアイに関するブロブ画像11eを良否判定に用いる場合、ブロブの長径、短径及び周長等の情報を特徴量11fとして抽出して解析モデル11gの機械学習を行なうことで、ブロブ形状(特徴量11f)が円形に近いか否かを判定材料とした論理を解析モデル11gに組み込むことができる。
(第5の例)
基板31の半田不良の判定において、サーバ1は、ブロブの面積を特徴量11fとして抽出して解析モデル11gの機械学習を行なうことで、半田の量が基準に対して多い又は少ないということを判定材料とした論理を解析モデル11gに組み込むことができる。
(集合演算の説明)
一実施形態に係るサーバ1は、解析モデル11gを用いた集合演算により、1つの検査対象画像11hから得られる複数の順不同なブロブの特性を効果的に処理できる。
集合演算では、個々のブロブの特徴だけでなく、撮像画像21全体の大局的な特徴を捉えることができるため、部品又は製品全体における欠陥の程度によって良否判定が変わるといったような場合においても、サーバ1を適用した機械学習及び推論が可能となる。一例として、どの種類の欠陥がいくつ存在すれば不良品となるかが暗黙知となっている場合においても、一実施形態にサーバ1を適用可能である。
また、集合演算により、サーバ1では、入力画像(撮像画像21)のサイズと個々のブロブのサイズとの差異による影響を緩和することができる。換言すれば、撮像画像21が高解像度の画像であり、画像サイズに対して欠陥のサイズが極端に小さくなる場合であっても、適切に良否判定を行なうことができる。
図13は、フィルムシート等のシート32の撮像画像21に、欠陥としてフィッシュアイ213が含まれる場合の一例を示す図である。
図13に矢印Aで示す撮像画像21の場合、サーバ1は、フィッシュアイ213の数が少なく、程度が低い(例えば大きさが小さい等)場合、解析モデル11gによる推論において、当該欠陥を無害な欠陥(換言すれば、良品)として扱うことができる。
一方、図13に矢印Bで示す撮像画像21の場合、サーバ1は、フィッシュアイ213の数が多く、比較的大きい欠陥が見られる場合、解析モデル11gによる推論において、当該欠陥を不良品として判定することができる。このように、サーバ1は、例えば、撮像画像21に一定数以上のフィッシュアイ213が含まれれば不良品とする、といったルールベースではなく、良否判定の基準及び境界についても、AIモデルの機械学習により、解析モデル11gに獲得させることができる。
図14は、集合演算を含まないNN400の機械学習の一例を示す図である。図14に例示するように、入力情報として「1」、「3」、「5」を利用して、集合演算を含まないNN400の機械学習を実行する場合、矢印A~Cでそれぞれ示すように、同じデータを、並び順を変えてNN400に入力させることになる。例えば、矢印Aでは入力410が「5」、「3」、「1」の順であり、矢印Bでは入力411が「1」、「5」、「3」の順であり、矢印Cでは入力412が「5」、「3」、「1」の順である。なお、教師情報420は矢印A~Cで共通である。
図14に例示するように、NN400のような一般的なNNでは、入力する特徴量の並び順によって推論結果が変化するため、図14に例示するように、並び方の組み合わせを考慮した機械学習が行なわれる。同じデータを入力とするNN400の機械学習を、データの並び順の組み合わせの回数に亘って繰り返すことは、NN400の機械学習時間の増加につながる。また、データの並び順を変えるとNN400の出力が変わる性質は、撮像画像21においてブロブの大きさ、数、位置等が不定であるという前提から、良否判定においては不適切である。
これに対し、一実施形態に係るサーバ1によれば、集合演算をNN(解析モデル11g)に組み込むことにより、解析モデル11gに入力される複数のブロブ画像11e及び複数の特徴量11fの順序の考慮を不要とすることができる。従って、図14の例と比較して、機械学習時間を低減することができる。また、データの並び順に依らずに、適切な良否判定を行なうことができる。
(出力データの一例)
次に、一実施形態に係るサーバ1(出力部18)から出力される出力データの一例を説明する。上述したように、出力部18は、出力データとして、推論結果11iそのものに代えて又は加えて、例えば、中間生成情報そのもの、又は、中間生成情報に基づく良否判定の根拠についての解析結果を出力してもよい。
例えば、出力部18又は中間生成情報を取得したコンピュータは、中間生成情報として得られるブロブ画像11e、ブロブ画像11eから算出される特徴量11fに基づき、サーバ1(良否判定システム)の判定根拠を解析することが可能である。
図15は、ブロブ画像11e、特徴量11f及び推論結果11i(良否判定結果)の一例を示す図である。例えば、出力部18は、図15に例示するデータ(出力データ150、151)を出力してもよい。図15の例において、良否判定結果(推論結果11i)は、不良品の尤度であり、「1」に近いほど不良品であるといえ、「0」に近いほど良品であるといえる。
図15に示す出力データ150、151の各良否判定結果を例に挙げると、ブロブの個数の多さよりも、検出されたブロブの中に長さ又はサイズの大きいブロブが存在していることの方が、不良品と判定する根拠として、より採用され易いことがわかる。このように、中間生成情報を含む(又は中間生成情報に基づく)出力データ150、151の出力により、サーバ1のシステムの特性をより定量的に評価することが可能となる。
(一実施形態の効果)
以上のように、一実施形態に係るサーバ1は、検出モデル訓練データ110を用いて訓練された解析モデル11gに検査対象画像11hを入力することで、(例えばブロブ抽出処理を経て)検査対象画像11hに含まれる複数のブロブ画像11eを特定する。また、サーバ1は、解析モデル訓練データ120’を用いて訓練された解析モデル11gに、特定した複数のブロブ画像11eを入力することで、検査対象画像11hに対する評価を行なう。これにより、検査対象画像11hによる対象物3に対する評価の精度を向上することができる。
例えば、ブロブ抽出部14が検出結果11cから複数のブロブ画像11eを個別に切り出すことによって、撮像画像21の解像度による判定精度への影響を緩和できる。
また、解析モデル11gとして、集合を入力とするNNを用いることで、検出されたブロブの順序の影響を受けず、且つ、ブロブの大きさ、形状及び個数等を加味した推論を実現でき、高い精度で良否判定を行なうことができる。
さらに、個々のブロブごとに良否判定を行なうことに代えて、複数のブロブを解析モデル11gへの入力とすることにより、部品又は製品等の対象物3単位で、撮像画像21(検査対象画像11h)に基づく良否判定を行なうことができる、
また、中間生成情報としてブロブ画像11e、及び、特徴量11fの少なくとも一方を取得できるため、良否判定の根拠について解析することが可能となる。
さらに、ブロブに対して所定の特徴量抽出処理を行なった上で、ブロブ画像11e及び特徴量11fに基づき解析モデル11gに良否判定を実行させるため、ユーザのニーズに適合した性質を有するAIを開発することが容易になる。
また、サーバ1は、ブロブの特性に応じた特徴量抽出のチューニング、換言すれば、良否判定の目的等に応じた種別の抽出を行なうことで、ブロブの大きさ、形状、個数等、検査目的及び要件等を加味した上で、部品又は製品の良否判定を行なうことができる。良否判定の目的等に応じた種別の特徴量は、例えば、ユーザによって選定することが可能であるため、対象物3等に応じて柔軟に適切な良否判定を行なうことができる。
〔1-4〕ハードウェア構成例
一実施形態に係るサーバ1を実現する装置は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ1の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ1の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
図16は、一実施形態に係るサーバ1の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。サーバ1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図16に例示するHW構成を備えてよい。
図16に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
なお、図1に示すメモリ部11が記憶する情報11a~11iは、メモリ10b及び記憶部10cの一方又は双方が有する記憶領域に格納されてよい。
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(評価プログラム)を格納してよい。例えば、サーバ1のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図1に例示するサーバ1(例えば制御部19)としての機能を実現できる。
IF部10dは、ネットワークの一方又は双方との間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、サーバ1は、IF部10dを介して、図示しないコンピュータと相互に通信可能に接続されてよい。また、例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、サーバ1において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
例えば、図1に示すサーバ1が備える各処理機能12~18は、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
また、サーバ1は、特徴量抽出部15を備えない構成が許容されてもよい。換言すれば、サーバ1は、解析モデル11gの機械学習及び推論において、ブロブ画像11eからの特徴量11fの取得を省略し、解析モデル11gには、入力情報としてブロブ画像11eを入力してもよい。
さらに、一実施形態では、撮像画像21(画像111、121及び検査対象画像11h)として、例えば可視光を捉えるイメージセンサを有するカメラ2により撮像された画像が用いられるものとしたが、これに限定されるものではない。撮像画像21としては、例えば、超音波画像、磁気共鳴画像、X線画像、温度又は電磁波等を捉えるセンサによる検出画像、並びに、非可視光を捉えるイメージセンサによる撮像画像、等の種々の画像が用いられてもよい。
また、図1に示すサーバ1は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、取得部12及び出力部18はWebサーバ、検出モデル訓練部13、ブロブ抽出部14、特徴量抽出部15、解析モデル訓練部16及び実行部17はアプリケーションサーバ、メモリ部11はDB(Database)サーバ、であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ1としての各処理機能を実現してもよい。
さらに、検出モデル訓練部13及び解析モデル訓練部16による機械学習処理、並びに、実行部17による推論処理に係る各処理機能が、互いに異なる装置により提供されてもよい。この場合においても、これらの装置がネットワークを介して互いに連携することにより、サーバ1としての各処理機能を実現してもよい。
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
処理をコンピュータに実行させる、評価プログラム。
(付記2)
前記第2訓練データは、前記1以上の部分画像のそれぞれから取得される所定の種別の特徴量を含み、
前記評価を行なう処理は、前記評価モデルに、前記特定した複数の部分画像と、前記特定した複数の部分画像のそれぞれから取得した前記所定の種別の特徴量とを入力することで、前記入力画像データに対する前記評価を行なう、処理を含む、
付記1に記載の評価プログラム。
(付記3)
前記取得した複数の特徴量は、前記評価の目的に応じて、前記特定した複数の部分画像に含まれる抽出対象の領域の長さ、面積、前記入力画像データにおける座標、のうちの少なくとも1種類の情報を含む、
付記2に記載の評価プログラム。
(付記4)
前記評価の結果と、前記特定した複数の部分画像とを出力する、
処理を前記コンピュータに実行させる、付記1~付記3のいずれか1項に記載の評価プログラム。
(付記5)
前記評価モデルは、集合演算が組み込まれたニューラルネットワークである、
付記1~付記4のいずれか1項に記載の評価プログラム。
(付記6)
前記第2訓練データに含まれる前記1以上の部分画像と、前記1以上の部分画像のそれぞれから取得した所定の種別の特徴量とを入力情報とし、前記評価結果を教師情報として利用することで、前記評価モデルの訓練を行なう、
処理を前記コンピュータに実行させる、
付記1~付記5のいずれか1項に記載の評価プログラム。
(付記7)
画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
処理をコンピュータが実行する、評価方法。
(付記8)
前記第2訓練データは、前記1以上の部分画像のそれぞれから取得される所定の種別の特徴量を含み、
前記評価を行なう処理は、前記評価モデルに、前記特定した複数の部分画像と、前記特定した複数の部分画像のそれぞれから取得した前記所定の種別の特徴量とを入力することで、前記入力画像データに対する前記評価を行なう、処理を含む、
付記7に記載の評価方法。
(付記9)
前記取得した複数の特徴量は、前記評価の目的に応じて、前記特定した複数の部分画像に含まれる抽出対象の領域の長さ、面積、前記入力画像データにおける座標、のうちの少なくとも1種類の情報を含む、
付記8に記載の評価方法。
(付記10)
前記評価の結果と、前記特定した複数の部分画像とを出力する、
処理を前記コンピュータが実行する、付記7~付記9のいずれか1項に記載の評価方法。
(付記11)
前記評価モデルは、集合演算が組み込まれたニューラルネットワークである、
付記7~付記10のいずれか1項に記載の評価方法。
(付記12)
前記第2訓練データに含まれる前記1以上の部分画像と、前記1以上の部分画像のそれぞれから取得した所定の種別の特徴量とを入力情報とし、前記評価結果を教師情報として利用することで、前記評価モデルの訓練を行なう、
処理を前記コンピュータが実行する、
付記7~付記11のいずれか1項に記載の評価方法。
(付記13)
画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
制御部、を備える情報処理装置。
(付記14)
前記第2訓練データは、前記1以上の部分画像のそれぞれから取得される所定の種別の特徴量を含み、
前記制御部は、前記評価を行なう処理において、前記評価モデルに、前記特定した複数の部分画像と、前記特定した複数の部分画像のそれぞれから取得した前記所定の種別の特徴量とを入力することで、前記入力画像データに対する前記評価を行なう、
付記13に記載の情報処理装置。
(付記15)
前記取得した複数の特徴量は、前記評価の目的に応じて、前記特定した複数の部分画像に含まれる抽出対象の領域の長さ、面積、前記入力画像データにおける座標、のうちの少なくとも1種類の情報を含む、
付記14に記載の情報処理装置。
(付記16)
前記制御部は、前記評価の結果と、前記特定した複数の部分画像とを出力する、
付記13~付記15のいずれか1項に記載の情報処理装置。
(付記17)
前記評価モデルは、集合演算が組み込まれたニューラルネットワークである、
付記13~付記16のいずれか1項に記載の情報処理装置。
(付記18)
前記制御部は、前記第2訓練データに含まれる前記1以上の部分画像と、前記1以上の部分画像のそれぞれから取得した所定の種別の特徴量とを入力情報とし、前記評価結果を教師情報として利用することで、前記評価モデルの訓練を行なう、
付記13~付記17のいずれか1項に記載の情報処理装置。
1 システム
10 コンピュータ
11 メモリ部
11a 検出モデル訓練データセット
11b 検出モデル
11c 検出結果
11d、11d’ 解析モデル訓練データセット
11e ブロブ画像
11f 特徴量
11g 解析モデル
11h 検査対象画像
11i 推論結果
110 検出モデル訓練データ
111、121 画像
112 アノテーション画像
120、120’ 解析モデル訓練データ
122 良否ラベル
12 取得部
13 検出モデル訓練部
14 ブロブ抽出部
15 特徴量抽出部
16 解析モデル訓練部
17 実行部
18 出力部
19 制御部
2 カメラ
21 撮像画像
3 対象物
31 基板
32 シート
33 ガラス板
34 ボルト・ナット
35 缶類

Claims (7)

  1. 画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
    1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
    処理をコンピュータに実行させる、評価プログラム。
  2. 前記第2訓練データは、前記1以上の部分画像のそれぞれから取得される所定の種別の特徴量を含み、
    前記評価を行なう処理は、前記評価モデルに、前記特定した複数の部分画像と、前記特定した複数の部分画像のそれぞれから取得した前記所定の種別の特徴量とを入力することで、前記入力画像データに対する前記評価を行なう、処理を含む、
    請求項1に記載の評価プログラム。
  3. 前記取得した複数の特徴量は、前記評価の目的に応じて、前記特定した複数の部分画像に含まれる抽出対象の領域の長さ、面積、前記入力画像データにおける座標、のうちの少なくとも1種類の情報を含む、
    請求項2に記載の評価プログラム。
  4. 前記評価の結果と、前記特定した複数の部分画像とを出力する、
    処理を前記コンピュータに実行させる、請求項1~請求項3のいずれか1項に記載の評価プログラム。
  5. 前記評価モデルは、集合演算が組み込まれたニューラルネットワークである、
    請求項1~請求項4のいずれか1項に記載の評価プログラム。
  6. 画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
    1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
    処理をコンピュータが実行する、評価方法。
  7. 画像データと前記画像データにおける抽出対象の部分画像とを関連付けた第1訓練データの集合である訓練データセットを用いて訓練された検出モデルに入力画像データを入力することで、前記入力画像データに含まれる複数の部分画像を特定し、
    1以上の部分画像と前記1以上の部分画像を含む画像の被写体である対象物に対する評価結果とを関連付けた第2訓練データを用いて訓練された評価モデルに、特定した前記複数の部分画像を入力することで、前記入力画像データに対する評価を行なう、
    制御部、を備える情報処理装置。
JP2021090403A 2021-05-28 2021-05-28 評価プログラム、評価方法、及び情報処理装置 Pending JP2022182702A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021090403A JP2022182702A (ja) 2021-05-28 2021-05-28 評価プログラム、評価方法、及び情報処理装置
US17/692,085 US20220383477A1 (en) 2021-05-28 2022-03-10 Computer-readable recording medium having stored therein evaluation program, evaluation method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021090403A JP2022182702A (ja) 2021-05-28 2021-05-28 評価プログラム、評価方法、及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2022182702A true JP2022182702A (ja) 2022-12-08

Family

ID=84193561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021090403A Pending JP2022182702A (ja) 2021-05-28 2021-05-28 評価プログラム、評価方法、及び情報処理装置

Country Status (2)

Country Link
US (1) US20220383477A1 (ja)
JP (1) JP2022182702A (ja)

Also Published As

Publication number Publication date
US20220383477A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US11189019B2 (en) Method for detecting defects, electronic device, and computer readable medium
JP2024509411A (ja) 欠陥検出方法、装置及びシステム
JP2017211259A (ja) 検査装置、検査方法、及びプログラム
KR102559021B1 (ko) 불량 이미지 생성 장치 및 방법
US11164306B2 (en) Visualization of inspection results
JP7453813B2 (ja) 検査装置、検査方法、プログラム、学習装置、学習方法、および学習済みデータセット
CN114638777A (zh) 图像瑕疵检测方法、装置、电子设备及介质
JP2020087211A (ja) 学習モデル生成装置、種類判別システム、及び学習モデル生成方法
CN116542984A (zh) 五金件缺陷检测方法、装置、计算机设备及存储介质
JP2020139905A (ja) 検査装置、検査方法、およびプログラム
JP2022182702A (ja) 評価プログラム、評価方法、及び情報処理装置
CN111709951B (zh) 目标检测网络训练方法及系统及网络及装置及介质
JP7414629B2 (ja) 学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム
Mohsin et al. Convolutional neural networks for real-time wood plank detection and defect segmentation
Wang RETRACTED ARTICLE: Application of deep learning to detect defects on the surface of steel balls in an IoT environment
JP6173088B2 (ja) 検査装置、検査方法、プログラム及び記録媒体
JP2021157735A (ja) 画像識別システム、画像識別装置、プログラムおよび学習済みモデル
Kumaresan et al. Deep Learning Based Simple CNN Weld Defects Classification Using Optimization Technique
JP2021148678A (ja) 不良検出装置及び不良検出方法
KR20200143957A (ko) 제품 검사를 위한 자동 학습 방법 및 시스템
WO2021229901A1 (ja) 画像検査装置、画像検査方法及び学習済みモデル生成装置
JP2015103226A (ja) データ演算方法、データ演算装置および欠陥検査装置
JP7322358B2 (ja) 情報処理プログラム、情報処理方法、及び情報処理装置
WO2022254858A1 (ja) 検査装置、検査方法、および検査プログラム
WO2022030034A1 (ja) 画像から関心オブジェクトを同定するためのモデルを生成する装置、方法及びシステム