[go: up one dir, main page]

JP6844564B2 - 検査システム、識別システム、及び学習データ生成装置 - Google Patents

検査システム、識別システム、及び学習データ生成装置 Download PDF

Info

Publication number
JP6844564B2
JP6844564B2 JP2018047260A JP2018047260A JP6844564B2 JP 6844564 B2 JP6844564 B2 JP 6844564B2 JP 2018047260 A JP2018047260 A JP 2018047260A JP 2018047260 A JP2018047260 A JP 2018047260A JP 6844564 B2 JP6844564 B2 JP 6844564B2
Authority
JP
Japan
Prior art keywords
data
learning
classifier
learning data
difficulty level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018047260A
Other languages
English (en)
Other versions
JP2019159959A (ja
Inventor
善久 井尻
善久 井尻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018047260A priority Critical patent/JP6844564B2/ja
Priority to EP19767896.4A priority patent/EP3767582A4/en
Priority to CN201980013728.9A priority patent/CN111758117B/zh
Priority to US16/976,461 priority patent/US12159386B2/en
Priority to PCT/JP2019/010179 priority patent/WO2019176989A1/ja
Publication of JP2019159959A publication Critical patent/JP2019159959A/ja
Application granted granted Critical
Publication of JP6844564B2 publication Critical patent/JP6844564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、検査システム、識別システム、及び学習データ生成装置に関する。
従来、生産ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2012−026982号公報
本件発明者は、特許文献1のような学習済みのニューラルネットワーク等の識別器を利用して、画像データから製品の良否を判定する従来の技術には次のような問題点があることを見出した。すなわち、製品の良否判定を機械学習するには、良否の状態が表れた製品の写る多くの学習データを利用する。この多くの学習データを一度に利用して機械学習を実施した場合、学習データに表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。例えば、学習データである画像に写る製品の欠陥が特定の欠陥(例えば、打痕)に偏っている場合には、その他の欠陥(例えば、汚れ)を判定する識別器を構築することができない。また、例えば、小さな打痕等の良否の識別が困難な学習データのみを収集して機械学習を実施すると、機械学習そのものに時間がかかってしまう他、不良品としなくてもよい小さなシミを不良品と判定する識別器が構築されてしまう可能性がある。すなわち、従来の技術では、製品の良否を判定する能力を獲得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができず、製品の良否の判定を精度よく実施することができない可能性があるという問題点があることを本件発明者は見出した。
なお、この問題点は、製品の良否を判定する場面に特有のものではない。画像データから被写体の何らかの状態を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、データに含まれる特徴を判定する能力を習得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができない可能性がある。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
機械学習に利用するための学習用データセットのなかには、識別しやすい(すなわち、良否の判定が容易な)学習用データセットと、識別し難い(すなわち、良否の判定が困難な)学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。
そこで、当該構成では、製品の良否の判定を機械学習により習得済みである複数の第1識別器それぞれを利用して、学習用データ群に含まれる各件の学習用データセットに良否の判定の難易度を設定する。具体的には、各件の学習用データセットの画像データを各第1識別器に入力することで、入力した画像データに写る製品の良否を判定した結果に対応する出力値を各第1識別器から取得する。そして、各第1識別器から取得した出力値が正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに良否の判定の難易度を設定する。すなわち、各第1識別器により良否の判定を正しく行うことができるほど、対応する学習用データセットの難易度を低く設定し、各第1識別器により良否の判定を正しく行うことができないほど、対応する学習用データセットの難易度を高く設定する。
各第1識別器は、学習用データ群に含まれる一部の学習用データセットを利用した機械学習により構築された暫定的な識別器であってよい。難易度の低い学習用データセットに対する各第1識別器の良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセットに対する各第1識別器の良否の判定は誤りやすい傾向にある。そのため、各第1識別器が、学習用データセットに含まれる画像データに写る製品の良否の判定を完全に正しく実施することができなくても、上記の処理により、一応の確からしさをもって、各件の学習用データセットの難易度を設定することができる。
そして、当該構成では、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器を構築する。これによって、難易度の低い学習用データセットにより学習用データ群に表れる良否の判定の全体的(マクロ)な傾向を第2識別器に習得させた後に、難易度の高い学習用データセットにより学習用データ群に表れる良否の判定の詳細(ミクロ)な傾向を第2識別器に習得させることができる。
したがって、機械学習の過程において、学習用データセットに表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。すなわち、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができるようになる。そのため、当該構成によれば、これにより構築された第2識別器により、対象画像データに写る製品の良否の判定を比較的に精度よく実施することができる。
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「製品の良否を判定する」ことは、例えば、製品に傷等の欠陥が存在するか否かを判定すること、製品に存在する欠陥の種別を特定すること、製品に欠陥が存在する又は存在しない確率を導出すること等の処理を含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。また、各件の学習用データセットの難易度を適切に評価する観点からは、複数の第1識別器はそれぞれ、異なる学習条件の機械学習により構築されるのが好ましい。「学習条件」は、機械学習のパラメータ、利用する学習データ(学習用データセット)等によって特定することができる。「異なる学習条件」は、例えば、機械学習のパラメータ及び利用する学習データの少なくとも一方が相違することである。
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
上記一側面に係る検査システムにおいて、前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。当該構成によれば、第2識別器を構築するために用意した学習用データセットを、各第1識別器を構築するための学習用データセットとしても利用可能である。そのため、各第1識別器の機械学習に利用する学習用データセットを別途用意する手間を省略することができる。
上記一側面に係る検査システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。当該構成によれば、用意した学習用データ群に含まれる学習用データセットの件数が不十分である場合に、第2識別器の識別性能を高めるのに資する学習用データセットを追加的に収集することができる。そのため、識別性能の比較的に高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
また、上記各形態に係る検査システムでは、複数の識別器(第1識別器)を利用して、各件の学習用データセットの難易度を判定している。しかしながら、学習用データセットの難易度を判定する方法は、このような例に限定されなくてもよく、1つの識別器を利用することで、各件の学習用データセットの難易度を判定してもよい。例えば、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離(ノルム)を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。この距離は、例えば、ユークリッド距離により算出されてよい。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。したがって、当該構成によれば、第1識別器の決定境界と出力値との距離に基づいて、各件の学習用データセットの難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
また、上記各形態に係る検査システムから、例えば、難易度を設定する部分、第2識別器により良否の判定を行う部分等の一部分を抽出して他の形態に係る装置を構成してもよい。
例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
更に、上記各形態に係る検査システム及び学習データ生成装置は、製品の写る画像データ以外の画像データに写る被写体の状態を判定する場面、画像データ以外の他種のデータに含まれる特徴を判定する場面等の、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用されてよい。
例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
なお、「被写体」は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の「状態」は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ(器官を含む)の位置(特定の器官同士の相対位置関係を含む)、顔のパーツの形状、顔のパーツの色、顔のパーツの状態(開度、角度等)、その顔を所有する個人等であってよい。また、被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってよい。
また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
また、例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
なお、所定種類の「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定してもよい。
上記一側面に係る識別システムにおいて、前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。
上記一側面に係る識別システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
なお、上記各形態に係る検査システム、識別システム、及び学習データ生成装置の別の態様として、本発明は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築するステップと、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
本発明によれば、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る学習データ生成装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図8は、実施の形態に係る学習装置により第1識別器を構築する処理手順の一例を例示する。 図9は、実施の形態に係る学習データ生成装置の処理手順の一例を例示する。 図10は、実施の形態に係る学習装置により第2識別器を構築する処理手順の一例を例示する。 図11は、実施の形態に係る検査装置の処理手順の一例を例示する。 図12は、実施の形態に係る学習データ生成装置により追加の学習用データセットを収集する処理手順の一例を例示する。 図13は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図14は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。 図15は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図16は、他の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図17は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、本発明の基本的な構成の一例について説明する。学習用データセットを利用した機械学習により識別器を構築する場合に、次のような問題が生じ得る。すなわち、多くの学習用データセットを一度に利用して機械学習を実施すると、学習用データ群に表れる特徴を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。これにより、機械学習を実施するのに十分な件数の学習用データセットを用意しても、用意した学習用データセットにより構築した識別器では、対象のデータに含まれる特徴を比較的に精度よく判定することができない可能性がある。
そこで、本発明の一例では、所定種類のデータ、及び当該所定種類のデータに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、特徴を判定する能力を予め機械学習済みである1又は複数の第1識別器を利用して、各件の学習用データセットに判定の難易度を設定する。そして、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することで、特徴を判定する能力を習得した第2識別器を構築する。
これにより、本発明の一例では、機械学習の過程において、学習用データセットに表れる特徴を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。したがって、本発明の一例によれば、これにより構築された第2識別器により、当該対象のデータに含まれる特徴の判定を比較的に精度よく実施することができる。
次に、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を製品の外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習用データセットを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
図1で例示される検査システム100は、ネットワークを介して接続される学習データ生成装置1、学習装置2、及び検査装置3を備えており、製品の良否を検査するように構成される。学習データ生成装置1、学習装置2、及び検査装置3の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
なお、図1の例では、学習データ生成装置1、学習装置2、及び検査装置3は、別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習データ生成装置1、学習装置2、及び検査装置3のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置1、学習装置2、及び検査装置3はそれぞれ複数台のコンピュータにより構成されてもよい。
本実施形態に係る学習データ生成装置1は、判定の難易度が設定された学習用データセットを生成するように構成されたコンピュータである。具体的には、まず、学習データ生成装置1は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群を取得する。
次に、学習データ生成装置1は、製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器5それぞれに各件の学習用データセット121の画像データ122を入力する。本実施形態では、複数の第1識別器5はそれぞれ、異なる学習条件の機械学習により構築される。これにより、学習データ生成装置1は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。
そして、学習データ生成装置1は、各第1識別器5から取得した出力値が、正解データ123により示される正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。具体的には、学習データ生成装置1は、各第1識別器5により良否の判定を正しく行うことができるほど、対応する学習用データセット121の難易度を低く設定し、各第1識別器5により良否の判定を正しく行うことができないほど、対応する学習用データセット121の難易度を高く設定する。
一方、本実施形態に係る学習装置2は、難易度の設定された学習用データセット121を利用して、製品の良否を判定する第2識別器6を生成するコンピュータである。具体的には、学習装置2は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器6を構築する。
また、本実施形態に係る検査装置3は、構築された第2識別器6を利用して、製品Rの外観検査を行うコンピュータである。具体的には、まず、検査装置3は、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、検査装置3は、カメラ41と接続されており、このカメラ41により製品Rを撮影することで、対象画像データ321を取得する。
次に、検査装置3は、取得した対象画像データ321を第2識別器6に入力することで、当該第2識別器6から出力値を取得する。そして、検査装置3は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。これにより、検査装置3は、製品Rの外観検査を行う。
以上のとおり、本実施形態に係る検査システム100では、製品の良否の判定を機械学習により習得済みである複数の第1識別器5を利用して、学習用データ群120に含まれる各件の学習用データセット121に良否の判定の難易度を設定する。特に、本実施形態では、異なる学習条件の機械学習により構築された複数の第1識別器5を利用して、各件の学習用データセット121に良否の判定の難易度を設定する。難易度の低い学習用データセット121に対する良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセット121に対する良否の判定は誤りやすい傾向にある。そのため、各第1識別器5の判定性能が優れたものではなくても、上記各第1識別器5を利用した判定により、各件の学習用データセット121の難易度を適切に設定することができる。
そして、本実施形態では、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器6を構築する。これによって、まずは、難易度の低い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の全体的な傾向を第2識別器6に習得させることができる。その後、難易度の高い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の詳細な傾向を第2識別器6に習得させることができる。
したがって、本実施形態によれば、機械学習の過程において、学習用データ群120に表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群120を有効に利用した機械学習を実施することができるようになる。すなわち、用意した学習用データ群120により達成可能な比較的に汎化性能の高い第2識別器6を構築することができるようになる。そのため、本実施形態に係る検査装置3では、これにより構築された第2識別器6を利用することで、対象画像データ321に写る製品Rの良否の判定を比較的に精度よく実施することができる。
なお、外観検査の対象となる製品Rは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Rは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Rに欠陥があるか否かを単に判定することであってもよいし、製品Rに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
§2 構成例
[ハードウェア構成]
<学習データ生成装置>
次に、図2を用いて、本実施形態に係る学習データ生成装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る学習データ生成装置1のハードウェア構成の一例を模式的に例示する。
図2に示されるとおり、本実施形態に係る学習データ生成装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図2では、通信インタフェースを「通信I/F」と記載している。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、生成プログラム81、学習用データ群120、複数件の第1学習結果データ224、難易度データ125等の各種情報を記憶する。
生成プログラム81は、各件の学習用データセット121に良否の判定の難易度が設定された学習用データ群120を生成する後述の情報処理(図9、図12)を学習データ生成装置1に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。学習用データ群120は、第2識別器6の機械学習に利用され、複数件の学習用データセット121により構成される。各件の学習用データセット121は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせを含んでいる。各件の第1学習結果データ224は、学習済みの第1識別器5の設定を行うためのデータである。難易度データ125は、各件の学習用データセット121と後述の情報処理により設定した難易度との対応関係を示す。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習データ生成装置1を操作することができる。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記生成プログラム81、学習用データ群120、及び複数件の第1学習結果データ224の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置1は、この記憶媒体91から、上記生成プログラム81、学習用データ群120、及び複数件の第1学習結果データ224の少なくともいずれかを取得してもよい。
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、学習データ生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。学習データ生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習データ生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
<学習装置>
次に、図3を用いて、本実施形態に係る学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る学習装置2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
学習装置2は、上記学習データ生成装置1と同様の構成を有している。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、学習プログラム82、学習用データ群120、複数件の第1学習結果データ224、難易度データ125、第2学習結果データ229等の各種情報を記憶する。
学習プログラム82は、各第1識別器5及び第2識別器6を構築する後述の機械学習の情報処理(図8、図10)を学習装置2に実行させ、その結果として第1学習結果データ224及び第2学習結果データ229を生成させるためのプログラムである。第2学習結果データ229は、学習済みの第2識別器6の設定を行うためのデータである。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1及び検査装置3)と行うことができる。
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、学習装置2を操作することができる。
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ26及び記憶媒体91はそれぞれ、上記ドライブ16及び記憶媒体91それぞれと同様に構成されてよい。上記学習プログラム82、学習用データ群120、及び難易度データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、学習装置2は、記憶媒体92から、上記学習プログラム82、学習用データ群120、及び難易度データ125のうちの少なくともいずれかを取得してもよい。
なお、学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
<検査装置>
次に、図4を用いて、本実施形態に係る検査装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る検査装置3のハードウェア構成の一例を模式的に例示する。
図4に示されるとおり、本実施形態に係る検査装置3は、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータである。なお、図4では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
外部インタフェース34を備える点を除き、検査装置3は、上記学習データ生成装置1及び学習装置2と同様の構成を有している。制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、検査プログラム83、第2学習結果データ229等の各種情報を記憶する。
検査プログラム83は、第2識別器6を利用して、対象画像データ321に写る製品Rの良否を判定する後述の情報処理(図11)を検査装置3に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。詳細は後述する。
通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。
外部インタフェース34は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース34の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置3は、外部インタフェース34を介して、カメラ41に接続される。
カメラ41は、製品Rを撮影することで、対象画像データ321を取得するのに利用される。カメラ41の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ41には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ41は、製品Rが搬送される生産ラインの近傍に配置されてよい。なお、カメラ41が通信インタフェースを備える場合、検査装置3は、外部インタフェース34ではなく、通信インタフェース33を介して、カメラ41に接続されてもよい。
入力装置35は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置36は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置35及び出力装置36を利用することで、検査装置3を操作することができる。
ドライブ37は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ37及び記憶媒体93はそれぞれ、上記ドライブ16及び記憶媒体91それぞれと同様に構成されてよい。上記検査プログラム83及び第2学習結果データ229のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、検査装置3は、記憶媒体93から、上記検査プログラム83及び第2学習結果データ229のうちの少なくともいずれかを取得してもよい。
なお、検査装置3の具体的なハードウェア構成に関して、上記学習データ生成装置1及び学習装置2と同様に、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、外部インタフェース34、入力装置35、出力装置36及びドライブ37の少なくともいずれかは省略されてもよい。検査装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
[ソフトウェア構成]
<学習データ生成装置>
次に、図5を用いて、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を説明する。図5は、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を模式的に例示する。
学習データ生成装置1の制御部11は、記憶部12に記憶された生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された生成プログラム81をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5に示されるとおり、本実施形態に係る学習データ生成装置1は、学習用データ取得部111、難易度設定部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
学習用データ取得部111は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群120を取得する。
難易度設定部112は、製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器5を含んでいる。難易度設定部112は、各件の学習用データセット121の画像データ122を各第1識別器5に入力することで、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。そして、難易度設定部112は、各第1識別器5から取得した出力値が、正解データ123の示す正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。なお、本実施形態では、複数の第1識別器5はそれぞれ、異なる学習条件の機械学習により構築される。ただし、難易度設定部112に含まれる複数の第1識別器5は、このような例に限定されなくてもよい。難易度設定部112に含まれる複数の第1識別器5の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。
保存処理部113は、各件の学習用データセット121と設定した難易度との対応関係を示す難易度データ125を生成する。そして、保存処理部113は、生成した難易度データ125を学習用データ群120と共に所定の記憶領域(例えば、記憶部12)に保存する。
また、学習用データ取得部111は、各件の学習用データセット121に設定した難易度に基づいて、学習用データ群120から特定の難易度の学習用データセット180を抽出する。次に、学習用データ取得部111は、抽出した特定の難易度の学習用データセット180に含まれる画像データ122と類似する追加の画像データ182を収集する。続いて、学習用データ取得部111は、収集した追加の画像データ182に対して、当該追加の画像データ182に写る製品の良否の判定に対する正解を示す正解データ183を付与することで、新たな学習用データセット181を生成する。そして、学習用データ取得部111は、生成した新たな学習用データセット181を学習用データ群120に追加する。
(識別器)
次に、各第1識別器5の構成について説明する。図5に示されるとおり、本実施形態に係る第1識別器5は、ニューラルネットワークにより構成される。具体的には、第1識別器5は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されており、入力層51、中間層(隠れ層)52、及び出力層53を備えている。
なお、図5の例では、第1識別器5を構成するニューラルネットワークは、1層の中間層52を備えており、入力層51の出力が中間層52に入力され、中間層52の出力が出力層53に入力されている。ただし、中間層52の数は、1層に限られなくてもよい。第1識別器5は、2層以上の中間層52を備えてもよい。
各層51〜53は、1又は複数のニューロンを備えている。例えば、入力層51のニューロンの数は、画像データ122に応じて設定されてよい。中間層52のニューロンの数は、実施の形態に応じて適宜設定されてよい。また、出力層53のニューロンの数は、正解データ123の示す正解の種別数等に応じて設定されてよい。
隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図5の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。難易度設定部112は、各第1識別器5の入力層51に画像データ122を入力し、ニューラルネットワークの演算処理として、各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、難易度設定部112は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を出力層53から取得する。
なお、各第1識別器5(ニューラルネットワーク)の構成(例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、各件の第1学習結果データ224に含まれている。難易度設定部112は、各件の第1学習結果データ224を参照して、難易度の判定に利用する各第1識別器5の設定を行う。
<学習装置>
次に、図6を用いて、本実施形態に係る学習装置2のソフトウェア構成の一例について説明する。図6は、本実施形態に係る学習装置2のソフトウェア構成の一例を模式的に例示する。
学習装置2の制御部21は、記憶部22に記憶された学習プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習装置2は、データ取得部211、及び学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
データ取得部211は、機械学習に利用する学習用データ群120を取得する。学習処理部212は、学習用データ群120に含まれる複数件の学習用データセット121を利用して、識別器の機械学習を実施する。
本実施形態では、学習処理部212は、学習用データ群120から複数件の学習用データセット121を選択することで、選択された複数件の学習用データセット121で構成される部分データ群221を作成する。そして、学習処理部212は、部分データ群221を利用して、第1識別器5の機械学習を行う。すなわち、学習処理部212は、部分データ群221に含まれる各件の学習用データセット121について、画像データ122を入力層51に入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力層53から出力するように第1識別器5の機械学習を行う。
これにより、学習処理部212は、学習済みの第1識別器5を構築する。そして、学習処理部212は、学習済みの第1識別器5の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224として記憶部22に格納する。なお、上記機械学習において、ニューラルネットワークのパラメータ及び部分データ群221を構成する学習用データセット121の少なくとも一方を変更することで、学習条件を異ならせることができる。学習処理部212は、学習条件を変更して上記一連の処理を繰り返すことで、異なる学習条件で機械学習済みである複数の第1識別器5を構築することができる。他方、学習処理部212は、学習条件を変更せずに上記一連の処理を繰り返すことで、同一の学習条件で機械学習済みである2つ以上の第1識別器5を構築することができる。
また、学習処理部212は、学習用データ群120を利用して、第2識別器6の機械学習を行う。すなわち、学習処理部212は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。
例えば、学習処理部212は、難易度データ125を参照して、設定された難易度に応じて学習用データ群120に含まれる各件の学習用データセット121を複数のグループに分類する。そして、学習処理部212は、分類した複数のグループのうち、設定された難易度の低い学習用データセット121を含むグループから順に機械学習に利用する。
つまり、学習処理部212は、最も難易度の低い学習用データセット121を含むグループ226について、画像データ122を入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力するように第2識別器6の機械学習を行う。グループ226の機械学習が完了した後、学習処理部212は、グループ226の次に難易度の高いグループについて、同様の機械学習の処理を実行する。学習処理部212は、最も難易度の高い学習用データセット121を含むグループ228の機械学習が完了するまで、この一連の処理を繰り返す。これにより、学習処理部212は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第2識別器6を構築することができる。
なお、図6に示されるとおり、第2識別器6は、第1識別器5と同様に、ニューラルネットワークにより構成されている。第2識別器6は、第1識別器5と同様に構成されてよい。すなわち、入力層61、中間層(隠れ層)62、及び出力層63は、第1識別器5の各層51〜53と同様に構成されてよい。ただし、第2識別器6のニューラルネットワークの構造は、第1識別器5と一致していなくてもよい。例えば、第2識別器6を構成するニューラルネットワークの層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第1識別器5を構成するニューラルネットワークと異なっていてもよい。機械学習の処理が完了した後、学習処理部212は、学習済みの第2識別器6の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229として記憶部22に格納する。
<検査装置>
次に、図7を用いて、本実施形態に係る検査装置3のソフトウェア構成の一例について説明する。図7は、本実施形態に係る検査装置3のソフトウェア構成の一例を模式的に例示する。
検査装置3の制御部31は、記憶部32に記憶された検査プログラム83をRAMに展開する。そして、制御部31は、RAMに展開された検査プログラム83をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係る検査装置3は、対象データ取得部311、良否判定部312、及び出力部313をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部31(CPU)により実現される。
対象データ取得部311は、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、対象データ取得部311は、カメラ41により製品Rを撮影することで、対象画像データ321を取得する。良否判定部312は、学習済みの第2識別器6を含んでいる。良否判定部312は、第2学習結果データ229を参照して、学習済みの第2識別器6の設定を行う。そして、良否判定部312は、取得した対象画像データ321を第2識別器6に入力して、当該第2識別器6の演算処理を実行することで、当該第2識別器6から出力値を取得する。第2識別器6の出力値は、入力した対象画像データ321に写る製品Rの良否を判定した結果に対応する。そこで、良否判定部312は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。出力部313は、製品Rの良否を判定した結果、すなわち、外観検査の結果を出力する。
<その他>
学習データ生成装置1、学習装置2、及び検査装置3の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置1、学習装置2、及び検査装置3の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置1、学習装置2、及び検査装置3それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[第1識別器の作成手順]
次に、図8を用いて、第1識別器5を構築する際の学習装置2の動作例について説明する。図8は、本実施形態に係る学習装置2により第1識別器5を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部21は、データ取得部211として動作し、学習用データ群120を取得する。
学習用データ群120を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある製品(不良品)及び欠陥のない製品(良品)それぞれを、用意したカメラにより様々な条件で撮影することで、良否の表れた製品の写る画像データ122を取得することができる。そして、得られた画像データ122に対して、その画像データ122に写る製品に表れた良否(正解)を示す正解データ123を組み合わせることで、学習用データセット121を作成することができる。正解データ123の具体的な内容は、後述する良否判定の形態に応じて適宜決定されてよい。この学習用データセット121の作成を繰り替えることで、複数件の学習用データセット121で構成された学習用データ群120を作成することができる。
なお、この学習用データ群120の作成は、学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、学習用データ群120を作成してもよい。また、制御部21は、学習プログラム82の処理により、学習用データ群120を自動的に作成してもよい。この作成処理を実行することで、本ステップS101では、制御部21は、学習用データ群120を取得することができる。
あるいは、学習用データ群120の作成は、例えば、学習データ生成装置1等の学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データ群120は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS101では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により作成された学習用データ群120を取得してもよい。
学習用データ群120を構成する学習用データセット121の件数は、特に限定されなくてもよく、例えば、後述する第2識別器6の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データ群120を取得すると、制御部21は、次のステップS102に処理を進める。
(ステップS102)
ステップS102では、制御部21は、学習処理部212として動作し、第1識別器5の機械学習に利用する複数件の学習用データセット121を学習用データ群120から選択する。これにより、制御部21は、選択された複数件の学習用データセット121で構成される部分データ群221を作成する。
利用する学習用データセット121を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、第1識別器5の機械学習に利用する複数件の学習用データセット121を学習用データ群120からランダムに選択してもよい。また、例えば、制御部21は、所定の基準に従って、複数件の学習用データセット121を学習用データ群120から選択してもよい。また、例えば、制御部21は、オペレータによる入力装置24の操作に応じて、複数件の学習用データセット121を学習用データ群120から選択してもよい。部分データ群221の作成が完了すると、制御部21は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部21は、学習処理部212として動作し、ステップS102で作成した部分データ群221を利用した機械学習により、製品の良否を判定する能力を習得した第1識別器5を構築する。本実施形態では、制御部21は、部分データ群221を構成する各件の学習用データセット121を用いて、画像データ122を入力層51に入力すると、正解データ123に対応する出力値を出力層53から出力するようにニューラルネットワークの機械学習を実施する。
具体的には、まず、制御部21は、学習処理を行う対象となるニューラルネットワーク(学習前の第1識別器5)を用意する。用意するニューラルネットワークの構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。
次に、制御部21は、ステップS102で作成した部分データ群221を構成する各件の学習用データセット121に含まれる画像データ122を入力データとして用い、正解データ123を教師データとして用いて、ニューラルネットワークの学習処理を実行する。このニューラルネットワークの学習処理には、確率的勾配降下法等が用いられてよい。
例えば、制御部21は、画像データ122を入力層51に入力し、入力側から順に各層51〜53に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、出力層53から出力値を得る。次に、制御部21は、出力層53から得た出力値と正解データ123により示される正解に対応する値との誤差を算出する。続いて、制御部21は、誤差逆伝搬(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部21は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
制御部21は、部分データ群221を構成する各件の学習用データセット121について、ニューラルネットワークから出力される出力値が正解データ123により示される正解に対応する値と一致するまでこの一連の処理を繰り返す。これにより、制御部21は、画像データ122を入力すると、正解データ123により示される正解に対応する出力値を出力する学習済みの第1識別器5を構築することができる。第1識別器5の学習処理が完了すると、制御部21は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部21は、学習処理部212として動作し、機械学習により構築された第1識別器5の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
制御部21は、上記ステップS101〜S104の一連の処理を繰り返すことで、複数の第1識別器5を構築することができる。この一連の処理を繰り返す際に、制御部21は、ステップS102において選択する学習用データセット121を変更する、及び/又はステップS103において用意するニューラルネットワークのパラメータの値を変更する。これにより、制御部21は、製品の良否の判定を異なる学習条件で機械学習済みである複数の第1識別器5それぞれを構築する。
ただし、複数の第1識別器5は、このような例に限定されなくてもよい。複数の第1識別器5の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。制御部21は、学習条件を変更せずに上記ステップS101〜S104の一連の処理を繰り返すことで、同一の学習条件で機械学習済みである2つ以上の第1識別器5を構築することができる。
なお、学習済みの第1識別器5を構築した後、制御部21は、作成した第1学習結果データ224を学習データ生成装置1に転送してもよい。また、例えば、制御部21は、作成した第1学習結果データ224をNAS(Network Attached Storage)等のデータサーバに保管してもよい。この場合、学習データ生成装置1は、このデータサーバから第1学習結果データ224を取得してもよい。また、各件の第1学習結果データ224は、学習データ生成装置1に予め組み込まれていてもよい。
[難易度付き学習用データセットの作成手順]
次に、図9を用いて、難易度付きの学習用データセット121を作成する際の学習データ生成装置1の動作例について説明する。図9は、本実施形態に係る学習データ生成装置1により難易度付きの学習用データセット121を作成する処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部11は、学習用データ取得部111として動作し、画像データ122及び正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群120を取得する。
学習用データ群120の作成は、上記のとおり、学習データ生成装置1により行われてもよいし、例えば、学習装置2等の学習データ生成装置1以外の他の情報処理装置により行われてもよい。すなわち、制御部11は、上記作成処理を実行することで、学習用データ群120を取得してもよい。あるいは、制御部11は、ネットワーク、記憶媒体91等を介して、他の情報処理装置により作成された学習用データ群120を取得してもよい。学習用データ群120を取得すると、制御部11は、次のステップS202に処理を進める。
(ステップS202及びS203)
ステップS202では、制御部11は、難易度設定部112として動作し、各件の学習用データセット121の画像データ122を各第1識別器5に入力し、各第1識別器5の演算処理を実行する。これにより、制御部11は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。
具体的には、制御部11は、各件の第1学習結果データ224を参照して、製品の良否を判定する能力を機械学習により習得済みである各第1識別器5の設定を行う。本実施形態では、各第1識別器5は、異なる学習条件の機械学習により構築されている。続いて、制御部11は、各件の学習用データセット121の画像データ122を各第1識別器5の入力層51に入力し、入力側から順に各層51〜53に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5の出力層53から取得する。
なお、各第1識別器5の出力値の形式は、製品の良否を判定可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各第1識別器5の出力値は、製品に欠陥が存在するか否かを示してもよい。また、例えば、各第1識別器5の出力値は、製品に欠陥が存在する又は存在しない確率を示してもよい。また、例えば、各第1識別器5の出力値は、製品に存在する欠陥の種別を示してもよい。
そして、ステップS203では、制御部11は、各第1識別器5から取得した出力値が、正解データ123の示す正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。具体的には、制御部11は、各第1識別器5から取得した出力値が正解に適合する度合いに基づいて、各件の学習用データセット121の難易度を判定し、判定した難易度を各件の学習用データセット121に設定する。難易度の判定は、良否の判定が容易な学習用データセット121ほど難易度が低く設定され、良否の判定が困難な学習用データセット121ほど難易度が高く設定されるように適宜行われてよい。難易度の判定は、例えば、以下の3つの方法により行うことができる。
(1)第1の方法
第1の方法では、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率(以下、「正答率」とも記載する)を利用して、各件の学習用データセット121の難易度を判定する。
つまり、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率が高い学習用データセット121ほど低い難易度に設定する。一方、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率が低い学習用データセット121ほど高い難易度に設定する。
例えば、10個の第1識別器5を利用して、第1の学習用データセット121及び第2の学習用データセット121それぞれに対して良否の判定を行った場面を想定する。この場合に、第1の学習用データセット121に対して9個の第1識別器5が良否の判定を正しく行えたのに対して、第2の学習用データセット121に対しては3個の第1識別器5しか良否の判定を正しく行えなかったとする。このとき、制御部11は、第1の学習用データセット121の難易度を低く設定し、第2の学習用データセット121の難易度を高く設定する。
なお、制御部11は、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に一致しているか否かを特定することで、各第1識別器5による判定の正答率を導出する。この各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に一致しているか否かの特定は、各第1識別器5の出力値の形式に応じて適宜行われてよい。
例えば、各第1識別器5の出力値が、製品に欠陥が存在するか否か又は製品に存在する欠陥の種別を示している場合、各第1識別器5の出力値をそのまま良否を判定した結果として利用することができる。すなわち、制御部11は、各第1識別器5の出力値が正解データ123により示される正解値と一致しているか否かにより、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解に一致しているか否かを特定することができる。
また、例えば、各第1識別器5の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、制御部11は、各第1識別器5の出力値を閾値と比較することで、製品の良否を判定することができる。その結果、制御部11は、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に適合しているか否かを特定することができる。
(2)第2の方法
上記のとおり、各第1識別器5の出力値は、入力した画像データ122に写る製品の良否を判定した結果に対応する。そのため、各第1識別器5の出力値の和及び積も、入力した画像データ122に写る製品の良否を判定した結果に対応する。例えば、各第1識別器5の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、複数の第1識別器5それぞれから取得した出力値の和又は積は、製品に欠陥が存在する又は存在しない程度をそのまま示す。
そこで、第2の方法では、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積を利用して、各件の学習用データセット121の難易度を判定する。すなわち、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。
具体的には、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合しているほど、その学習用データセット121の難易度を低く設定する。一方、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合していていないほど、その学習用データセット121の難易度を高く設定する。
(3)第3の方法
第3の方法では、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数を利用して、各件の学習用データセット121の難易度を判定する。
すなわち、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数が多い学習用データセット121ほど低い難易度に設定する。一方、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数が少ない学習用データセット121ほど高い難易度に設定する。
なお、確信度は、各第1識別器5からの出力値と決定境界との距離により導出可能である。第1識別器5からの出力値と決定境界との距離は、後述する数1により算出可能である。制御部11は、例えば、対象の第1識別器5からの得られた出力値と決定境界との距離が所定の閾値以上である場合に、その対象の第1識別器5による判定の結果が、正解データ123により示される正解と所定の確信度以上で一致していると判定してもよい。つまり、制御部11は、出力値と決定境界との距離が所定の閾値以上である第1識別器5の数に応じて、各件の学習用データセット121の難易度を設定してもよい。
ステップS203では、制御部11は、上記第1〜第3の方法の少なくともいずれかを採用することにより、各件の学習用データセット121の難易度を判定することができる。なお、難易度の表現形式は、高低を表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、難易度は、複数の段階(グレード)で表現されてもよい。この場合、制御部11は、上記各方法により、各件の学習用データセット121の属するグレードを判定し、判定したグレードを各件の学習用データセット121の難易度として設定する。また、例えば、難易度は、数値(スコア)で表現されてもよい。この場合、制御部11は、上記各方法により、各件の学習用データセット121の難易度のスコアを導出し、導出したスコアを各件の学習用データセット121の難易度として設定する。各件の学習用データセット121の難易度の設定が完了すると、制御部11は、次のステップS204に処理を進める。
(ステップS204及びS205)
ステップS204では、制御部11は、保存処理部113として動作し、各件の学習用データセット121と設定した難易度との対応関係を示す難易度データ125を生成する。難易度データ125のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。難易度データ125のデータ形式には、例えば、テーブル形式等の公知のデータ形式を採用することができる。
そして、ステップS205では、制御部11は、保存処理部113として動作し、生成した難易度データ125を学習用データ群120と共に所定の記憶領域に保存する。所定の記憶領域は、記憶部12であってもよいし、例えば、学習装置2の記憶部22、NAS等の外部の記憶領域であってもよい。難易度データ125の保存が完了すると、制御部11は、本動作例に係る処理を終了する。
なお、難易度データ125を生成した後、制御部11は、生成した難易度データ125を学習装置2に転送してもよい。また、難易度データ125が記憶部12、NAS等に保存される場合、学習装置2は、記憶部12、NAS等から難易度データ125を取得してもよい。
[第2識別器の作成手順]
次に、図10を用いて、第2識別器6を構築する際の学習装置2の動作例について説明する。図10は、本実施形態に係る学習装置2により第2識別器6を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS301)
ステップS301では、制御部21は、データ取得部211として動作し、学習用データ群120を取得する。本ステップS301は、上記ステップS101と同様に処理されてよい。また、制御部21は、難易度データ125を取得する。学習用データ群120及び難易度データ125を取得すると、制御部21は、次のステップS302に処理を進める。
(ステップS302及びS303)
ステップS302及びS303では、制御部21は、学習処理部212として動作し、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。
具体的に、ステップS302では、制御部21は、難易度データ125を参照して、設定された難易度に応じて学習用データ群120に含まれる各件の学習用データセット121を複数のグループに分類する。設定するグループの数は、特に限定されなくてもよく、例えば、学習用データセット121の件数、難易度の種別(例えば、グレードの種類、スコアの範囲)等に応じて適宜決定されてよい。
なお、制御部21は、各グループが難易度により段階的に設定されていれば、難易度の異なる学習用データセット121を同一のグループに分類してもよい。例えば、難易度の範囲が「1」〜「5」であり、各件の学習用データセット121を2つのグループに分類する場面を想定する。この場合、制御部21は、難易度「1」及び「2」の学習用データセット121並びに難易度「3」の一部の学習用データセット121を第1のグループに分類してもよい。そして、制御部21は、難易度「4」及び「5」の学習用データセット121並びに難易度「3」の残りの学習用データセット121を第2のグループに分類してもよい。
そして、ステップS303では、制御部21は、分類した複数のグループのうち、設定された難易度の低い学習用データセット121を含むグループから順に利用して、第2識別器6の機械学習を行う。各グループを利用した機械学習は、上記ステップS103と同様に行われてよい。
すなわち、制御部21は、各グループに含まれる各件の学習用データセット121について、ニューラルネットワークから出力される出力値が正解データ123に対応する値と一致するまで、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う上記一連の処理を繰り返す。これにより、制御部21は、画像データ122を入力すると、正解データ123により示される正解に対応する出力値を出力する学習済みの第2識別器6を構築することができる。
制御部21は、難易度の低い学習用データセット121を含むグループから順に、このニューラルネットワークの学習処理に適用する。つまり、制御部21は、まず、最も難易度の低い学習用データセット121を含むグループ226を学習処理に適用する。これにより、制御部21は、グループ226に含まれる各件の学習用データセット121に対して、画像データ122を入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力する学習済みの第2識別器6を構築する。次に、制御部21は、グループ226の次に難易度の高いグループを選択し、選択したグループについて同様の学習処理を実行する。制御部21は、最も難易度の高い学習用データセット121を含むグループ228の学習処理が完了するまで、この一連の機械学習の処理を繰り返す。これにより、制御部21は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第2識別器6を構築することができる。
(ステップS304)
ステップS304では、制御部21は、学習処理部212として動作し、機械学習により構築された第2識別器6の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
なお、第2識別器6を構築した後、制御部21は、作成した第2学習結果データ229を検査装置3に転送してもよい。また、制御部21は、作成した第2学習結果データ229をNAS等のデータサーバに保管してもよい。この場合、検査装置3は、このデータサーバから第2学習結果データ229を取得してもよい。また、学習装置2により作成された第2学習結果データ229は、検査装置3に予め組み込まれてもよい。
[検査手順]
次に、図11を用いて、検査装置3の動作例について説明する。図11は、検査装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS401)
ステップS401では、制御部31は、対象データ取得部311として動作し、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、検査装置3は、外部インタフェース34を介してカメラ41に接続されている。そのため、制御部31は、カメラ41から対象画像データ321を取得する。この対象画像データ321は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ321を取得すると、制御部31は、次のステップS402に処理を進める。
ただし、対象画像データ321を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置3とは異なる他の情報処理装置が、カメラ41に接続されていてもよい。この場合、検査装置3は、他の情報処理装置から対象画像データ321の送信を受け付けることで、対象画像データ321を取得してもよい。
(ステップS402)
ステップS402では、制御部31は、良否判定部312として動作し、取得した対象画像データ321を第2識別器6に入力して、当該第2識別器6の演算処理を実行することで、当該第2識別器6から出力値を取得する。そして、制御部31は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。
具体的には、制御部31は、第2学習結果データ229を参照して、学習済みの第2識別器6の設定を行う。続いて、制御部31は、対象画像データ321を第2識別器6の入力層61に入力し、入力側から順に各層61〜63に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、入力した対象画像データ321に写る製品Rの良否を判定した結果に対応する出力値を第2識別器6の出力層63から取得する。
第2識別器6の出力値の形式は、上記第1識別器5と同様に、実施の形態に応じて適宜選択されてよい。例えば、第2識別器6の出力値は、製品に欠陥が存在するか否かを示してもよいし、製品に欠陥が存在する又は存在しない確率を示してもよい。この場合、制御部31は、第2識別器6から取得した出力値に基づいて、製品Rに欠陥が存在するか否かを判定することができる。
また、例えば、第2識別器6の出力値は、製品に存在する欠陥の種別を示してもよい。この場合、検査装置3は、第2識別器6の出力値と欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部32に保持していてもよい。本ステップS402では、制御部31は、参照情報を参照することにより、第2識別器6から取得した出力値に対応する欠陥の種別を特定することができる。
すなわち、第2識別器6の出力値の形式に応じて、製品Rの良否を判定することは、製品Rに欠陥が存在するか否かを判定すること、製品に欠陥が存在する又は存在しない確率を導出する、製品Rに存在する欠陥の種別を特定すること等であってよい。製品Rの良否を判定が完了すると、制御部31は、次のステップS403に処理を進める。
(ステップS403)
ステップS403では、制御部31は、出力部313として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部31は、製品Rの良否を判定した結果をそのまま出力装置36に出力してもよい。また、ステップS402において、製品Rに欠陥があると判定した場合、制御部31は、欠陥を発見したことを知らせるための警告を本ステップS403の出力処理として行ってもよい。また、製品の搬送を行う製造ラインに検査装置3が接続されている場合、製品Rに欠陥があると判定したときに、制御部31は、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップS403の出力処理として行ってもよい。
製品Rの良否を判定した結果の出力処理が完了すると、制御部31は、本動作例に係る処理を終了する。なお、制御部31は、製造ライン上を搬送される製品Rがカメラ41の撮影範囲に入る度に、ステップS401〜S403の一連の処理を実行してもよい。これにより、検査装置3は、製造ライン上を搬送される製品Rの外観検査を行うことができる。
[学習用データセットの追加手順]
次に、図12を用いて、追加の学習用データセット181を収集する際の学習データ生成装置1の動作例について説明する。図12は、学習データ生成装置1により追加の学習用データセット181を収集する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS501)
ステップS501では、制御部11は、学習用データ取得部111として動作し、難易度データ125を参照し、各件の学習用データセット121に設定した難易度に基づいて、学習用データ群120から特定の難易度の学習用データセット180を抽出する。
抽出する難易度は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、設定された難易度が最も高い学習用データセット121を学習用データセット180として抽出してもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作を介して、抽出する難易度の指定を受け付けてもよい。この場合、制御部11は、オペレータにより指定された難易度の学習用データセット121を学習用データセット180として抽出してもよい。学習用データセット180の抽出が完了すると、制御部11は、次のステップS502に処理を進める。
(ステップS502)
ステップS502では、制御部11は、学習用データ取得部111として動作し、ステップS501で抽出した特定の難易度の学習用データセット180に含まれる画像データ122と類似する追加の画像データ182を収集する。
追加の画像データ182を取得する方法は、実施の形態に応じて適宜選択されてよい。学習データ生成装置1にカメラ(不図示)が接続されている場合、制御部11は、このカメラにより製品を撮影することで、追加の画像データ182を取得してもよい。また、学習用データ群120とは別に製品の写る画像データが記憶部12、NAS等の記憶領域に保存されている場合、制御部11は、この記憶領域に保存されている画像データを追加の画像データ182として取得してもよい。
また、抽出した特定の難易度の学習用データセット180に含まれる画像データ122と追加の画像データ182とが類似しているか否かを判定する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、各画素値の一致する程度に基づいて、追加の画像データ182の候補となる画像データと抽出した学習用データセット180の画像データ122との一致度を算出してもよい。そして、制御部11は、算出した一致度が所定の閾値を超えている場合に、抽出した学習用データセット180の画像データ122に候補の画像データは類似していると判定し、この候補の画像データを追加の画像データ182として取得してもよい。一方、算出した一致度が所定の閾値を超えていない場合、制御部11は、候補の画像データは画像データ122に類似していないと判定し、この画像データを追加の画像データ182の候補から除外してもよい。なお、閾値は、適宜決定されてよい。
また、収集する追加の画像データ182の件数は、実施の形態に応じて適宜決定されてよい。例えば、収集する追加の画像データ182の件数は、設定値により規定されていてもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作を介して、収集する追加の画像データ182の件数の指定を受け付けてもよい。追加の画像データ182の収集が完了すると、制御部11は、次のステップS503に処理を進める。
(ステップS503)
ステップS503では、制御部11は、学習用データ取得部111として動作し、ステップS502で収集した追加の画像データ182に対して、当該追加の画像データ182に写る製品の良否の判定に対する正解を示す正解データ183を付与することで、新たな学習用データセット181を生成する。
正解データ183の具体的な内容は、適宜決定されてよい。例えば、制御部11は、追加の画像データ182を収集する元となった画像データ122に関連付けられた正解データ123を正解データ183として学習用データ群120から取得してもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作に応じて、正解データ183の内容を決定してもよい。
(ステップS504)
ステップS504では、制御部11は、学習用データ取得部111として動作し、生成した新たな学習用データセット181を、学習用データ群120が保存されている記憶領域に保存する。これにより、制御部11は、生成した新たな学習用データセット181を学習用データ群120に追加する。生成した新たな学習用データセット181の追加が完了すると、制御部11は、本動作例に係る処理を終了する。
学習用データ群120を構成する学習用データセット121の件数が不足している、特定の難易度の学習用データセット121の件数が不足している等の理由により、上記学習装置2が、性能の高い第2識別器6を構築できない可能性がある。そこで、上記ステップS501〜S504による学習用データセットの追加処理は、上記学習装置2により構築された第2識別器6の性能が不十分である場合に実行されてよい。これにより、学習用データセット121の件数の不足を解消することができ、上記学習装置2により性能の高い第2識別器6を構築することができるようになる。
なお、第2識別器6の性能が不十分であるか否かの判定には、学習用データ群120の学習用データセット121と同様に収集された評価用データセットが用いられてよい。すなわち、評価用データセットに含まれる画像データを第2識別器6に入力することで、当該画像データに写る製品の良否を判定した結果に対応する出力値を第2識別器6から得ることができる。そして、第2識別器6から取得された出力値が、入力した画像データに関連付けられた正解データにより示される正解と一致するか否かによって、第2識別器6が良否の判定を正しく行えるか否かを判定することができる。例えば、この評価用データセットに対して第2識別器6が良否の判定を正しく行えた比率に基づいて、第2識別器6の性能を評価することができる。この第2識別器6の一連の評価処理は、学習データ生成装置1、学習装置2、及び検査装置3のいずれかにより実行されてもよいし、これら以外の他の情報処理装置により実行されてもよい。
また、学習データ生成装置1は、生成した新たな学習用データセット181の追加が完了した後、更新された学習用データ群120を利用して、第2識別器6の機械学習を再度実施する指令を学習装置2に送信してもよい。学習装置2は、この指令を受信したことに応じて、上記ステップS301〜S304の一連の処理を実行することで、第2識別器6の再学習を実施してもよい。
このとき、新たな学習用データセット181の難易度は、適宜設定されてよい。例えば、制御部11は、ステップS501で抽出した難易度を、新たな学習用データセット181の難易度として設定してもよい。また、例えば、制御部11は、新たな学習用データセット181に対して上記ステップS202及びS203の処理を実行することで、新たな学習用データセット181の難易度を設定してもよい。
また、制御部11は、ステップS501で抽出した特定の難易度の学習用データセット180に含まれる画像データ122をディスプレイ(出力装置15)に表示して、追加の画像データ182の収集をオペレータに促してもよい。これに応じて、制御部11は、画像データの入力を受け付けることで、入力された画像データを追加の画像データ182として取得してもよい。
[特徴]
機械学習に利用するための学習用データセットのなかには、識別しやすい学習用データセットと、識別し難い学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。更に、識別しやすい学習用データセットと識別し難い学習用データセットとを混合した状態で機械学習を実施すると、学習用データ群に表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。
これに対して、本実施形態に係る検査システム100では、上記ステップS202及びS203の処理により、複数の第1識別器5を利用して、学習用データ群120に含まれる各件の学習用データセット121に良否の判定の難易度を適切に設定することができる。そして、ステップS302及びS303では、本実施形態に係る検査システム100は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。これにより、まずは、難易度の低い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の全体的な傾向を第2識別器6に習得させることができる。その後、難易度の高い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の詳細な傾向を第2識別器6に習得させることができる。
したがって、本実施形態によれば、ステップS303の処理において、用意した学習用データ群120により達成可能な比較的に汎化性能の高い第2識別器6を構築することができるようになる。そのため、本実施形態に係る検査システム100は、上記ステップS401〜S403の処理において、ステップS303で構築された第2識別器6を利用することにより、対象画像データ321に写る製品Rの良否の判定を比較的に精度よく実施することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、各第1識別器5は、学習装置2により構築されている。しかしながら、第1識別器5を構築する装置は、学習装置2に限られなくてもよい。複数の第1識別器5のうちの少なくともいずれかは、学習装置2以外の他の情報処理装置により構築されてもよい。各第1識別器5が、他の情報処理装置により構築される場合、上記ステップS101〜S104の一連の処理の実行は省略されてよい。
また、上記実施形態では、各第1識別器5の機械学習には、学習用データ群120から選択された複数件の学習用データセット121が利用されている。しかしながら、各第1識別器5の機械学習に利用する学習用データセットは、このような例に限定されなくてもよい。各第1識別器5の機械学習には、学習用データ群120由来ではない学習用データセットが用いられてもよい。この学習用データセットは、適宜取得されてよい。
<4.2>
上記実施形態では、各識別器(5、6)は、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、各識別器(5、6)を構成するニューラルネットワークの種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器(5、6)を構成するニューラルネットワークには、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が採用されてよい。なお、複数の第1識別器5のうちの少なくとも一部の第1識別器5に採用されるニューラルネットワークの種類は、他の第1識別器5に採用されるニューラルネットワークの種類と異なっていてもよい。
また、上記実施形態では、各識別器(5、6)の学習モデルとして、ニューラルネットワークが用いられている。しかしながら、各識別器(5、6)の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器(5、6)の学習モデルには、例えば、サポートベクタマシン等が用いられてもよい。なお、複数の第1識別器5のうちの少なくとも一部の第1識別器5に採用される学習モデルは、他の第1識別器5に採用される学習モデルと異なっていてもよい。
<4.3>
上記実施形態では、学習用データ取得部111は、ステップS501〜S504の一連の処理により、新たな学習用データセット181を学習用データ群120に追加可能に構成されている。しかしながら、学習用データ取得部111は、このように構成されていなくてもよい。この場合、上記実施形態において、ステップS501〜S504の一連の処理の実行は省略されてもよい。
<4.4>
上記実施形態では、第1学習結果データ224及び第2学習結果データ229はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、第1学習結果データ224及び第2学習結果データ229の構成は、このような例に限定されなくてもよく、学習済みの各識別器(5、6)の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、第1学習結果データ224及び第2学習結果データ229はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
<4.5>
上記実施形態では、学習データ生成装置1は、複数の第1識別器5を利用して、各件の学習用データセット121の難易度を判定している。しかしながら、各件の学習用データセット121の難易度を判定する方法は、このような例に限定されなくてもよい。1つの第1識別器5により、各件の学習用データセット121の難易度を判定してもよい。
図13は、本変形例に係る学習データ生成装置1Aのソフトウェア構成の一例を模式的に例示する。各件の学習用データセット121の難易度を判定する方法が異なる点を除き、学習データ生成装置1Aは、上記実施形態に係る学習データ生成装置1と同様に構成されてよい。すなわち、学習データ生成装置1Aのハードウェア構成は、上記学習データ生成装置1のハードウェア構成と同じであってよい。また、学習データ生成装置1Aのソフトウェア構成は、1つの第1識別器5を含む難易度設定部112Aに難易度設定部112が置き換わる点を除き、上記学習データ生成装置1のソフトウェア構成と同じであってよい。本変形例に係る検査システムは、この学習データ生成装置1A、上記学習装置2、及び上記検査装置3により構成されてよい。
本変形例に係る学習データ生成装置1Aの制御部は、ステップS202及びS203の処理内容が異なる点を除き、上記実施形態に係る学習データ生成装置1と同様の処理手順により、難易度付きの学習用データセット121を作成することができる。また、学習データ生成装置1Aの制御部は、ステップS501〜S504の処理を実行することで、新たな学習用データセット181を学習用データ群120に追加することができる。
本変形例において、ステップS202では、学習データ生成装置1Aの制御部は、難易度設定部112Aとして動作し、第1学習結果データ224を参照することで、機械学習により製品の良否を判定する能力を習得済みである第1識別器5の設定を行う。続いて、制御部は、各件の学習用データセット121の画像データ122を第1識別器5の入力層51に入力し、入力側から順に各層51〜53に含まれる各ニューロンの発火判定を行う。これにより、制御部は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を第1識別器5から取得する。
次のステップS203では、制御部は、難易度設定部112Aとして動作し、第1識別器5から算出した出力値と製品の良否を判定するための第1識別器5の決定境界との距離を算出する。そして、制御部は、算出した距離に応じて、各件の学習用データセット121に良否の判定の難易度を設定する。
識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。
そこで、制御部は、第1識別器5から算出した出力値と決定境界との距離と逆比例となるように、各件の学習用データセット121の難易度を設定する。すなわち、制御部は、第1識別器5から算出した出力値と決定境界との距離が大きい学習用データセット121ほど低い難易度に設定する。一方、制御部は、第1識別器5から算出した出力値と決定境界との距離が小さい学習用データセット121ほど高い難易度に設定する。これにより、本変形例に係る学習データ生成装置1Aは、上記実施形態と同様に、各件の学習用データセット121の難易度を適切に設定することができる。
なお、第1識別器5の決定境界は、例えば、入力データの座標空間に対して、以下の数1の式により表すことができる。
xは、入力データを示し、bは、定数を示す。数1の式の値が0になる入力データが決定境界を示す。そのため、制御部は、各件の学習用データセット121について、画像データ122を数1のxに入力し、数1の式の絶対値を算出することで、第1識別器5からの出力値と決定境界との距離を算出することができる。
<4.6>
上記実施形態では、製品の外観検査を行う場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データから何らかの特徴、すなわち、被写体の状態を判定する場面に広く適用可能である。
図14は、本変形例に係る識別装置3Bのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、製品の写る画像データから何らかの被写体の写る画像データに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。すなわち、本変形例に係る識別システムは、上記学習データ生成装置1、学習装置2、及び識別装置3Bにより構成されてよい。識別装置3Bのハードウェア構成は、上記検査装置3のハードウェア構成と同じであってよい。また、識別装置3Bのソフトウェア構成は、良否判定部312が状態判定部312Bに置き換わる点を除き、上記検査装置3のソフトウェア構成と同じであってよい。
本変形例において、被写体は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の状態は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ(器官を含む)の位置(特定の器官同士の相対位置関係を含む)、顔のパーツの形状、顔のパーツの色、顔のパーツの状態(開度、角度等)、その顔を所有する個人等であってよい。顔を所有する個人の判定は、顔認証を実施するために行われてよい。被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってもよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってもよい。
本変形例では、上記学習用データセット121が、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせを含む学習用データセットに置き換えられる。これにより、学習装置2は、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。すなわち、学習装置2は、学習条件を変更しながら上記ステップS101〜S104の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第1識別器を生成することができる。
また、本変形例において、学習データ生成装置1は、上記ステップS201の処理により、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、学習データ生成装置1は、上記ステップS202の処理により、被写体の状態を判定する能力を機械学習により習得済みである各第1識別器に各件の学習用データの画像データを入力し、各第1識別器の演算処理を実行する。本変形例でも、上記実施形態と同様に、異なる学習条件の機械学習により構築された複数の第1識別器が用いられてよい。これにより、学習データ生成装置1は、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得する。続いて、学習データ生成装置1は、上記ステップS203の処理により、各第1識別器から取得した出力値が、正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに判定の難易度を設定する。難易度の判定方法には、上記第1〜第3の方法のいずれかが採用されてよい。そして、学習データ生成装置1は、上記ステップS204及びS205により、各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した難易度データを学習用データ群と共に所定の記憶領域に保存する。
また、本変形例において、学習装置2は、上記ステップS301〜S303の処理により、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、被写体の状態を判定する第2識別器6Bを構築する。そして、学習装置2は、上記ステップS304の処理により、機械学習により構築された第2識別器6Bの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229Bとして記憶部22に格納する。
また、本変形例において、識別装置3Bの制御部は、上記ステップS401の処理により、対象データ取得部311として動作し、状態を判定する対象となる被写体の写る対象画像データ321Bを取得する。ステップS402では、識別装置3Bの制御部は、状態判定部312Bとして動作し、第2学習結果データ229Bを参照して、学習済みの第2識別器6Bの設定を行う。続いて、制御部は、取得した対象画像データ321Bを第2識別器6Bに入力し、当該第2識別器6Bの演算処理を実行する。これにより、制御部は、第2識別器6Bから出力値を取得し、取得した出力値に基づいて、対象画像データ321Bに写る被写体の状態を判定する。そして、制御部は、上記ステップS403の処理により、出力部313として動作し、被写体の状態を判定した結果を出力する。
以上により、本変形例では、対象の画像データに写る被写体の状態を比較的に精度よく判定可能な第2識別器6Bを構築することができる。そのため、識別装置3Bでは、対象画像データ321Bに写る被写体の状態を比較的に精度よく判定することができる。
なお、本変形例において、学習データ生成装置1は、上記ステップS501の処理により、各件の学習用データセットに設定した難易度に基づいて、学習用データ群から特定の難易度の学習用データセットを抽出してもよい。次に、学習データ生成装置1は、上記ステップS502の処理により、抽出した特定の難易度の学習用データセットに含まれる画像データと類似する追加の画像データを収集してもよい。続いて、学習データ生成装置1は、上記ステップS503の処理により、収集した追加の画像データに対して、当該追加の画像データに写る被写体の状態の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成してもよい。そして、学習データ生成装置1は、上記ステップS504の処理により、生成した新たな学習用データセットを学習用データ群に追加してもよい。
また、上記<4.5>と同様に、本変形例においても、複数の第1識別器を利用するのではなく、1つの第1識別器を利用して、各件の学習用データセットの難易度を判定してもよい。すなわち、学習データ生成装置1は、上記ステップS202において、機械学習により被写体の状態を判定する能力を習得済みである第1識別器に各件の学習用データセットの画像データを入力することで、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得してもよい。そして、学習データ生成装置1は、上記ステップS203において、第1識別器から取得した出力値と被写体の状態を判定するための第1識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセットに判定の難易度を設定してもよい。
<4.7>
上記実施形態及び変形例では、画像データから何らかの特徴(被写体の状態)を判定する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を判定する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
図15〜図17は、本変形例に係る学習データ生成装置1C、学習装置2C、及び識別装置3Cそれぞれのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、画像データから他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。すなわち、学習データ生成装置1C、学習装置2C、及び識別装置3Cそれぞれのハードウェア構成は、上記学習データ生成装置1、学習装置2、及び検査装置3それぞれのハードウェア構成と同じであってよい。学習データ生成装置1Cのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習データ生成装置1のソフトウェア構成と同じであってよい。同様に、学習装置2Cのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習装置2のソフトウェア構成と同じであってよい。また、識別装置3Cのソフトウェア構成は、良否判定部312が特徴判定部312Cに置き換わる点を除き、上記検査装置3のソフトウェア構成と同じであってよい。
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。特徴は、データから識別可能なあらゆる特徴を含んでもよい。処理対象となるデータが音データである場合、判定される特徴は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。処理対象となるデータが、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、判定される特徴は、例えば、対象者の状態等であってよい。また、処理対象となるデータが、機械の駆動量等の数値データ又はテキストデータである場合、判定される特徴は、例えば、機械の状態等であってよい。
本変形例では、上記学習用データセット121が、所定種類のデータ122C、及び当該データに含まれる特徴を判定した結果の正解を示す正解データ123Cの組み合わせを含む学習用データセット121Cに置き換えられる。これにより、学習装置2Cは、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。
このとき、学習装置2Cの制御部は、上記実施形態と同様に、学習条件を変更しながら上記ステップS101〜S104の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第1識別器5Cを構築してもよい。ただし、複数の第1識別器5Cは、このような例に限定されなくてもよい。学習装置2Cの制御部は、学習条件を変更せずに上記ステップS101〜S104の処理を繰り返すことで、同一の学習条件の機械学習により被写体の状態を判定する能力を習得済みである2つ以上の第1識別器5Cを構築してもよい。各第1識別器5Cを構築した後、学習装置2Cの制御部は、各第1識別器5Cの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224Cとして記憶部に格納する。
また、本変形例において、学習データ生成装置1Cの制御部は、上記ステップS201の処理により、所定種類のデータ122C、及び当該データ122Cに含まれる特徴の判定に対する正解を示す正解データ123Cの組み合わせをそれぞれ含む複数件の学習用データセット121Cにより構成された学習用データ群120Cを取得する。次に、制御部は、上記ステップS202の処理により、各件の第1学習結果データ224Cを参照して、特徴を判定する能力を機械学習により習得済みである各第1識別器5Cの設定を行う。本変形例では、上記実施形態と同様に、各第1識別器5Cは、異なる学習条件の機械学習により構築されている。続いて、制御部は、各件の学習用データセット121Cのデータ122Cを各第1識別器に入力し、各第1識別器の演算処理を実行する。これにより、制御部は、入力したデータ122Cに含まれる特徴を判定した結果に対応する出力値を各第1識別器5Cから取得する。更に、制御部は、上記ステップS203の処理により、各第1識別器5Cから取得した出力値が、正解データ123Cにより示される正解に適合する度合いに応じて、各件の学習用データセット121Cに判定の難易度を設定する。難易度の判定方法には、上記第1〜第3の方法のいずれかが採用されてよい。第1の方法では、制御部は、各第1識別器5Cから取得した出力値に基づいて特徴を判定した結果が正解データ123Cの示す正解と一致する比率が高い学習用データセット121Cほど低い難易度を設定してよい。また、第3の方法では、制御部は、出力値に基づいて特徴を判定した結果が、所定の確信度以上で正解データ123Cの示す正解と一致している第1識別器5Cの数が多い学習用データセット121Cほど低い難易度に設定してよい。そして、制御部は、上記ステップS204及びS205により、各件の学習用データセット121Cと設定した難易度との対応関係を示す難易度データ125を生成し、生成した難易度データ125を学習用データ群120Cと共に所定の記憶領域に保存する。
また、本変形例において、学習装置2Cの制御部は、上記ステップS301〜S303の処理により、設定された難易度の低い学習用データセット121Cから順に利用した段階的な機械学習を実施することにより、特徴を判定する第2識別器6Cを構築する。そして、制御部は、上記ステップS204の処理により、機械学習により構築された第2識別器6Cの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229Cとして記憶部に格納する。
また、本変形例において、識別装置3Cの制御部は、上記ステップS401の処理により、対象データ取得部311として動作し、判定する対象となる特徴を含む対象データ321Cを取得する。対象データ321Cを取得する方法は、対象データ321Cの種類に応じて適宜決定されてよい。ステップS402では、識別装置3Cの制御部は、特徴判定部312Cとして動作し、第2学習結果データ229Cを参照して、学習済みの第2識別器6Cの設定を行う。続いて、制御部は、取得した対象データ321Cを第2識別器6Cに入力し、当該第2識別器6Cの演算処理を実行する。これにより、制御部は、第2識別器6Cから出力値を取得し、取得した出力値に基づいて、対象データ321Cに含まれる特徴を判定する。そして、制御部は、上記ステップS403の処理により、出力部313として動作し、特徴を判定した結果を出力する。
以上により、本変形例では、対象のデータに含まれる特徴を比較的に精度よく判定可能な第2識別器6Cを構築することができる。そのため、識別装置3Cでは、対象データ321Cに含まれる特徴を比較的に精度よく判定することができる。
なお、本変形例において、学習データ生成装置1Cの制御部は、上記ステップS501の処理により、各件の学習用データセット121Cに設定した難易度に基づいて、学習用データ群120Cから特定の難易度の学習用データセット180Cを抽出してもよい。次に、制御部は、上記ステップS502の処理により、抽出した特定の難易度の学習用データセット180Cに含まれるデータ122Cと類似する追加のデータ182Cを収集してもよい。追加のデータ182Cの候補となるデータと学習用データセット180Cに含まれるデータ122Cとが類似するか否かは、データ122Cの種類に応じて適宜判定されてよい。続いて、制御部は、上記ステップS503の処理により、収集した追加のデータ182Cに対して、当該追加のデータ182Cに含まれる特徴の判定に対する正解を示す正解データ183Cを付与することで、新たな学習用データセット181Cを生成してもよい。そして、制御部は、上記ステップS504の処理により、生成した新たな学習用データセット181Cを学習用データ群120Cに追加してもよい。
また、上記<4.5>と同様に、本変形例においても、複数の第1識別器5Cを利用するのではなく、1つの第1識別器を利用して、各件の学習用データセット121Cの難易度を判定してもよい。すなわち、学習データ生成装置1Cの制御部は、上記ステップS202において、機械学習により特徴を判定する能力を習得済みである第1識別器に各件の学習用データセット121Cのデータ122Cを入力することで、入力したデータ122Cに含まれた特徴を判定した結果に対応する出力値を当該第1識別器から取得してもよい。そして、制御部、上記ステップS203において、第1識別器から取得した出力値と特徴を判定するための第1識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセット121Cに判定の難易度を設定してもよい。
1…学習データ生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
81…生成プログラム、91…記憶媒体、
111…学習用データ取得部、112…難易度設定部、
113…保存処理部、
120…学習用データ群、
121…学習用データセット、
122…画像データ、123…正解データ、
125…難易度データ、
2…学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
82…学習プログラム、92…記憶媒体、
211…データ取得部、212…学習処理部、
221…部分データ群、224…第1学習結果データ、
226…(難易度の低い)グループ、
228…(難易度の高い)グループ、
229…第2学習結果データ、
3…検査装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…外部インタフェース、
35…入力装置、36…出力装置、37…ドライブ、
83…検査プログラム、93…記憶媒体、
311…対象データ取得部、312…良否判定部、
313…出力部、
321…対象画像データ、
41…カメラ、
5…第1識別器、
51…入力層、52…中間層(隠れ層)、53…出力層、
6…第2識別器、
61…入力層、62…中間層(隠れ層)、63…出力層

Claims (23)

  1. 製品の良否を検査する検査システムであって、
    前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
    を備える、
    検査システム。
  2. 前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
    請求項1に記載の検査システム。
  3. 前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
    請求項1に記載の検査システム。
  4. 前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定する、
    請求項1に記載の検査システム。
  5. 前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
    請求項1から4のいずれか1項に記載の検査システム。
  6. 前記学習用データ取得部は、
    前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
    抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、
    収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
    生成した前記新たな学習用データセットを前記学習用データ群に追加する、
    請求項1から5のいずれか1項に記載の検査システム。
  7. 製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  8. 製品の良否を検査する検査システムであって、
    前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
    を備える、
    検査システム。
  9. 製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  10. 画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
    を備える、
    識別システム。
  11. 画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  12. 画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
    を備える、
    識別システム。
  13. 画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  14. 所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
    取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
    を備える、
    識別システム。
  15. 前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
    請求項14に記載の識別システム。
  16. 前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
    請求項14に記載の識別システム。
  17. 前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定する、
    請求項14に記載の識別システム。
  18. 前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
    請求項14から17のいずれか1項に記載の識別システム。
  19. 前記学習用データ取得部は、
    前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
    抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、
    収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
    生成した前記新たな学習用データセットを前記学習用データ群に追加する、
    請求項14から18のいずれか1項に記載の識別システム。
  20. 前記複数の第1識別器はそれぞれ、異なる学習条件の機械学習により構築されている、
    請求項14から19のいずれか1項に記載の識別システム。
  21. 所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  22. 所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部であって、前記段階的な機械学習を実施することは、設定された前記難易度に応じて前記各件の学習データセットを複数のグループに分類すること、及び難易度の低いグループから順にグループ毎に機械学習の処理を実行することにより構成される、学習処理部と、
    判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
    取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
    を備える、
    識別システム。
  23. 所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
    機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
    難易度に応じて複数のグループに分類し、難易度の低いグループから順にグループ毎に機械学習の処理を実行するために前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
JP2018047260A 2018-03-14 2018-03-14 検査システム、識別システム、及び学習データ生成装置 Active JP6844564B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018047260A JP6844564B2 (ja) 2018-03-14 2018-03-14 検査システム、識別システム、及び学習データ生成装置
EP19767896.4A EP3767582A4 (en) 2018-03-14 2019-03-13 INSPECTION SYSTEM, DISCRIMINATION SYSTEM AND LEARNING DATA GENERATOR
CN201980013728.9A CN111758117B (zh) 2018-03-14 2019-03-13 检查系统、识别系统以及学习数据生成装置
US16/976,461 US12159386B2 (en) 2018-03-14 2019-03-13 Inspection system, discrimination system, and learning data generation device
PCT/JP2019/010179 WO2019176989A1 (ja) 2018-03-14 2019-03-13 検査システム、識別システム、及び学習データ生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018047260A JP6844564B2 (ja) 2018-03-14 2018-03-14 検査システム、識別システム、及び学習データ生成装置

Publications (2)

Publication Number Publication Date
JP2019159959A JP2019159959A (ja) 2019-09-19
JP6844564B2 true JP6844564B2 (ja) 2021-03-17

Family

ID=67907902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018047260A Active JP6844564B2 (ja) 2018-03-14 2018-03-14 検査システム、識別システム、及び学習データ生成装置

Country Status (5)

Country Link
US (1) US12159386B2 (ja)
EP (1) EP3767582A4 (ja)
JP (1) JP6844564B2 (ja)
CN (1) CN111758117B (ja)
WO (1) WO2019176989A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216686B2 (en) * 2019-05-15 2022-01-04 Getac Technology Corporation Artificial neural network-based method for detecting surface pattern of object
JP7453767B2 (ja) * 2019-09-25 2024-03-21 キヤノン株式会社 情報処理装置、情報処理方法
WO2022009652A1 (ja) * 2020-07-07 2022-01-13 ソニーグループ株式会社 データ収集システム、センサ装置、データ収集装置、及びデータ収集方法
JP7658119B2 (ja) * 2021-03-12 2025-04-08 オムロン株式会社 支援装置および方法
US20240185576A1 (en) * 2021-04-05 2024-06-06 Panasonic Intellectual Property Management Co., Ltd. Image determination device, image determination method, and recording medium
JP7703359B2 (ja) * 2021-05-12 2025-07-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7491274B2 (ja) * 2021-07-29 2024-05-28 トヨタ自動車株式会社 検査装置および検査方法
JP7695179B2 (ja) * 2021-11-24 2025-06-18 株式会社キーエンス 外観検査装置及び外観検査方法
TWI872808B (zh) * 2022-11-16 2025-02-11 宏達國際電子股份有限公司 多標籤分類方法及多標籤分類系統
JP2024128816A (ja) * 2023-03-10 2024-09-24 株式会社日立製作所 学習用画像収集システム、学習用画像収集方法、及び学習用画像収集プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4132229B2 (ja) * 1998-06-03 2008-08-13 株式会社ルネサステクノロジ 欠陥分類方法
CN100538498C (zh) 2003-07-15 2009-09-09 欧姆龙株式会社 对象决定装置和摄像装置
JP4767595B2 (ja) 2005-06-15 2011-09-07 パナソニック株式会社 対象物検出装置及びその学習装置
EP1986046B1 (en) 2007-03-08 2014-07-16 Cellavision AB A method for determining an in-focus position and a vision inspection system
JP2009140369A (ja) * 2007-12-07 2009-06-25 Sony Corp 集団学習装置及び集団学習方法、対象物検出装置及び対象物検出方法、並びにコンピュータ・プログラム
JP2010231455A (ja) 2009-03-26 2010-10-14 Panasonic Electric Works Co Ltd 信号識別方法および信号識別装置
JP5546317B2 (ja) * 2010-03-31 2014-07-09 株式会社デンソーアイティーラボラトリ 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
AU2011326430B2 (en) * 2010-11-11 2015-01-22 Google Llc Learning tags for video annotation using latent subtags
JP4741036B2 (ja) * 2011-02-18 2011-08-03 パナソニック株式会社 特徴抽出装置、対象物検出装置、特徴抽出方法、および対象物検出方法
JP5941782B2 (ja) 2012-07-27 2016-06-29 株式会社日立ハイテクノロジーズ マッチング処理装置、マッチング処理方法、及びそれを用いた検査装置
JP6299299B2 (ja) 2014-03-14 2018-03-28 オムロン株式会社 事象検出装置および事象検出方法
JP6118752B2 (ja) * 2014-03-28 2017-04-19 セコム株式会社 学習データ生成装置
JP6425468B2 (ja) * 2014-09-02 2018-11-21 株式会社Screenホールディングス 教師データ作成支援方法、画像分類方法、教師データ作成支援装置および画像分類装置
WO2016057480A1 (en) * 2014-10-07 2016-04-14 Google Inc. Training neural networks on partitioned training data
JP6606849B2 (ja) 2015-04-06 2019-11-20 大日本印刷株式会社 識別器生成装置、識別器生成方法、推定装置、推定方法、およびプログラム
JP2017102906A (ja) * 2015-11-25 2017-06-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2017211690A (ja) * 2016-05-23 2017-11-30 株式会社ツクタ技研 画像処理装置、画像処理方法、および画像処理プログラム
JP2017211259A (ja) * 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム
JP2018005640A (ja) 2016-07-04 2018-01-11 タカノ株式会社 分類器生成装置、画像検査装置、及び、プログラム
CN106548179B (zh) * 2016-09-29 2019-09-17 北京市商汤科技开发有限公司 物体和服饰关键点的检测方法、装置和电子设备
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
EP3577570A4 (en) * 2017-01-31 2020-12-02 Mocsy Inc. EXTRACTING INFORMATION FROM DOCUMENTS
US11475351B2 (en) * 2017-11-15 2022-10-18 Uatc, Llc Systems and methods for object detection, tracking, and motion prediction

Also Published As

Publication number Publication date
CN111758117B (zh) 2023-10-27
CN111758117A (zh) 2020-10-09
WO2019176989A1 (ja) 2019-09-19
EP3767582A1 (en) 2021-01-20
JP2019159959A (ja) 2019-09-19
US20210004721A1 (en) 2021-01-07
US12159386B2 (en) 2024-12-03
EP3767582A4 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
JP6844564B2 (ja) 検査システム、識別システム、及び学習データ生成装置
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
CN114240821B (zh) 一种基于改进型yolox的焊缝缺陷检测方法
CN110428475B (zh) 一种医学图像的分类方法、模型训练方法和服务器
JP6924413B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
JP7056259B2 (ja) 検査システム、識別システム、及び識別器評価装置
JP2015087903A (ja) 情報処理装置及び情報処理方法
JP2017062713A (ja) 識別器作成装置、識別器作成方法、およびプログラム
JP7298825B2 (ja) 学習支援装置、学習装置、学習支援方法及び学習支援プログラム
JP2017076287A (ja) データ解析装置、データ解析方法及びプログラム
JP2019159820A (ja) 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム
JP7059889B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
CN117355038B (zh) 用于线路板软板的x型孔加工方法及其系统
CN113139932A (zh) 一种基于集成学习的深度学习缺陷图像识别方法及系统
JP7070308B2 (ja) 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム
CN118052809A (zh) 一种考虑提示学习的零样本点云异常检测方法及系统
JP2021165909A (ja) 情報処理装置、情報処理装置の情報処理方法およびプログラム
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
CN114582012A (zh) 一种骨架人体行为识别方法、装置及设备
CN117372428A (zh) 一种晶圆的缺陷检测方法、装置、电子设备及存储介质
CN117474915B (zh) 一种异常检测方法、电子设备及存储介质
JP7418158B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20210004954A1 (en) Neural network-type image processing device, appearance inspection apparatus and appearance inspection method
Banerjee et al. Manufacturing Flaw Forecasting via CNN-RF Fusion Techniques
JP2025030031A (ja) 学習方法、分類方法、学習装置、分類方法、学習プログラム、及び分類プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210208

R150 Certificate of patent or registration of utility model

Ref document number: 6844564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150