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

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

Info

Publication number
JP2019159961A
JP2019159961A JP2018047292A JP2018047292A JP2019159961A JP 2019159961 A JP2019159961 A JP 2019159961A JP 2018047292 A JP2018047292 A JP 2018047292A JP 2018047292 A JP2018047292 A JP 2018047292A JP 2019159961 A JP2019159961 A JP 2019159961A
Authority
JP
Japan
Prior art keywords
data
learning
image data
discriminator
image
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.)
Granted
Application number
JP2018047292A
Other languages
English (en)
Other versions
JP6766839B2 (ja
Inventor
善久 井尻
Yoshihisa Ijiri
善久 井尻
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018047292A priority Critical patent/JP6766839B2/ja
Priority to PCT/JP2019/010183 priority patent/WO2019176993A1/ja
Priority to EP19767411.2A priority patent/EP3767551A4/en
Priority to US16/976,081 priority patent/US11715190B2/en
Priority to CN201980012730.4A priority patent/CN111699499B/zh
Publication of JP2019159961A publication Critical patent/JP2019159961A/ja
Application granted granted Critical
Publication of JP6766839B2 publication Critical patent/JP6766839B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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
    • G06T7/001Industrial image inspection using an image reference approach
    • 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
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • 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
    • 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/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

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

Abstract

【課題】低コストで推論精度の高い識別器を生成可能な技術を提供する。【解決手段】本発明の一側面に係る検査システムは、それぞれ製品の写る複数件の第2画像データを第1画像データから生成し、各件の第2画像データを学習データとして採用するか否かを第1識別器により判定し、学習データとして採用すると判定された第2画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する第2識別器を構築し、構築した第2識別器を利用して、対象画像データに写る製品の良否を判定する。【選択図】図1

Description

本発明は、検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置に関する。
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2012−026982号公報
本件発明者は、特許文献1のようなニューラルネットワーク等の学習モデルで構成された識別器を利用して、画像データから製品の良否を判定する従来の技術には、次のような問題が生じ得ることを見出した。すなわち、製品の良否を判定する能力を学習モデルに習得させる機械学習を行うためには、機械学習として教師あり学習を採用する場合、学習データとして利用する画像データと、その画像データに写る製品の良否の判定に対する正解を示す正解データとの対で構成された学習用データセットを用意することになる。この学習用データセットの件数が少ないと、学習済みの学習モデル(識別器)による良否の判定精度が不十分になってしまう。一方で、識別器の判定精度を高めるために十分な件数の学習用データセットを用意するにはコストがかかってしまう。
そこで、本件発明者は、学習データとして用意した画像データから複数件の異なる画像データを量産し、量産した複数件の画像データを学習データとして利用することを検討した。しかしながら、量産された複数件の画像データには、製品の良否が正しく表れていない可能性がある。そのため、量産された複数件の画像データは、量産された複数件の画像データは学習データとして適切かどうか不明である。学習データとして適切でない画像データが含まれている場合には、その量産された複数件の画像データを学習データとして利用して機械学習を行っても、精度の高い良否判定を実行可能な識別器を得ることができないという問題点が生じ得る。
なお、この問題点は、製品の良否を判定する場面及び教師あり学習を実施する場面に特有のものではない。画像データから被写体の何らかの特徴を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、低コストで推論精度の高い識別器を生成可能な技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
当該構成に係る検査システムは、学習データとして採用するか否かを判定する能力を習得した第1識別器を利用して、第1画像データに所定の変換処理を適用することで生成された各件の第2画像データの学習データとしての適格性を判定する。次に、当該構成に係る検査システムは、学習データとして採用すると判定された第2画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した第2識別器を構築する。そして、当該構成に係る検査システムは、構築された第2識別器を利用して、対象画像データに写る製品の良否を判定する。
したがって、当該構成によれば、第1画像データに所定の変換処理を適用することで、学習データの候補となる第2画像データを量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第1識別器による判定の結果に基づいて、学習データとして不適切な第2画像データを学習データの候補から除外することができる。すなわち、第1識別器を利用することで、学習データとして不適切な第2画像データが第2識別器の機械学習に利用されないようにすることができる。そのため、十分な件数の適切な学習用データセットを低コストで用意することができ、用意した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器を構築することができる。よって、当該構成によれば、低コストで推論(良否の判定)精度の比較的に高い識別器(第2識別器)を生成することができる。
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「良否の判定」は、製品に欠陥があるか否かを単に判定することであってもよいし、製品に欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。「学習データ」は、「訓練データ」とも称されてよい。「変換処理」は、第1画像データの少なくとも一部を変更する処理であって、第1画像データと完全には一致しない第2画像データを生成可能な処理であれば、特に限定されなくてもよい。
上記一側面に係る検査システムにおいて、前記第1生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第1画像データに適用することで、前記第1画像データから複数件の第2画像データを生成してもよい。当該構成によれば、学習データの候補となる第2画像データを低コストで量産することができ、これによって、推論精度の比較的に高い識別器(第2識別器)をより低コストで生成することができるようになる。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。画像の合成は、画像データの少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、画像データの少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
上記一側面に係る検査システムにおいて、前記第1識別器は、第3画像データから構成される画像データ群に対して、当該第3画像データに類似する第4画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第4画像データであるか、前記画像データ群由来の前記第3画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第3画像データに類似する前記第4画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第4画像データと前記第3学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成されてよい。当該構成によれば、第2画像データの画像データとしての適格性を適切に判定可能な第1識別器を用意することができるため、推論精度のより高い識別器(第2識別器)を低コストで生成することができるようになる。
上記一側面に係る検査システムにおいて、前記判定部は、第5画像データと、前記第5画像データを前記学習データとして採用するか否かの正解を示す第3正解データとを利用した機械学習により生成された学習済みの学習器を前記第1識別器として利用してもよい。当該構成によれば、第2画像データの画像データとしての適格性を適切に判定可能な第1識別器を用意することができるため、推論精度のより高い識別器(第2識別器)を低コストで生成することができるようになる。
また、上記各形態に係る検査システムから、例えば、学習データ群を生成する部分、第2識別器を構築する部分等の一部分を抽出して他の形態に係るシステム又は装置を構成してもよい。
例えば、本発明の一側面に係る識別器生成システムは、製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、を備える。
また、上記各形態に係る検査システム、製品の写る画像データ以外の画像データから何らかの特徴を識別する場面、画像データ以外の他種のデータを含むデータから何らかの特徴を識別する場面などの、機械学習により識別器を構築するあらゆる場面に適用可能に変更されてよい。
例えば、本発明の一側面に係る画像識別システムは、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、を備える。
なお、「被写体」及び識別の対象となる被写体の「特徴」はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「被写体」は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
また、例えば、本発明の一側面に係る識別器生成システムは、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、を備える。
また、例えば、本発明の一側面に係る識別システムは、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、識別する対象となる特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、を備える。
なお、「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、その他センサからの出力データ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。「識別器」は、例えば、ニューラルネットワーク、サポートベクタマシン、自己組織化マップ、強化学習モデル等の、機械学習により所定の推論を行う能力を獲得可能な学習モデルにより構成されてよい。
上記一側面に係る識別システムにおいて、前記第1データは、音データであってよく、前記第1生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第1データに適用することで、前記第1データから複数件の第2データを生成してもよい。
また、例えば、本発明の一側面に係る識別器生成システムは、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、を備える。
なお、上記各形態に係る検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、を実行させるための、プログラムである。
また、例えば、本発明の一側面に係る画像識別方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、特徴を識別する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、識別する対象となる特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
本発明によれば、低コストで推論精度の高い識別器を生成可能な技術を提供することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る学習データ生成装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る第1学習装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る第2学習装置のハードウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係る第1学習装置のソフトウェア構成の一例を模式的に例示する。 図8は、実施の形態に係る第2学習装置のソフトウェア構成の一例を模式的に例示する。 図9は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図10は、実施の形態に係る学習データ生成装置の処理手順の一例を例示する。 図11は、実施の形態に係る第1学習装置の処理手順の一例を例示する。 図12は、実施の形態に係る第2学習装置の処理手順の一例を例示する。 図13は、実施の形態に係る検査装置の処理手順の一例を例示する。 図14は、他の形態に係る第1学習装置のソフトウェア構成の一例を模式的に例示する。 図15は、他の形態に係る第1学習装置の処理手順の一例を例示する。 図16は、他の形態に係る画像識別装置のハードウェア構成の一例を模式的に例示する。 図17は、他の形態に係る画像識別装置のソフトウェア構成の一例を模式的に例示する。 図18は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図19は、他の形態に係る第1学習装置のソフトウェア構成の一例を模式的に例示する。 図20は、他の形態に係る第2学習装置のソフトウェア構成の一例を模式的に例示する。 図21は、他の形態に係る識別装置のハードウェア構成の一例を模式的に例示する。 図22は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、本発明の基本的な構成の一例について説明する。学習データを利用した機械学習により識別器を構築する場合、次のような問題が生じ得る。すなわち、識別器を構成する学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
そこで、本発明の一例では、所定の特徴を含む第1データを取得し、取得した第1データに所定の変換処理を適用することで、当該第1データから複数件の第2データを生成する。次に、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器を利用して、各件の第2データを学習データとして採用するか否かを判定する。学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の第2データにより構成された学習用データ群を生成する。そして、生成した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する能力を習得した学習済みの第2識別器を構築する。
これにより、本発明の一例では、第1データに所定の変換処理を適用することで、学習データの候補となる第2データを量産することができるため、機械学習を実施するのに十分な件数の学習データを低コストで用意することができる。加えて、第1識別器による判定の結果に基づいて、学習データとして不適切な第2データを学習データの候補から除外することができる。そのため、本発明の一例によれば、十分な件数の適切な学習データを低コストで用意することができ、用意した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する精度の比較的に高い第2識別器を構築することができる。したがって、本発明の一例によれば、低コストで推論制度の比較的に高い識別器を生成することができる。
次に、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を製品Rの外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
図1で例示される検査システム100は、ネットワークを介して接続される学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4を備えており、製品Rの良否を検査するように構成される。学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
なお、図1の例では、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4はそれぞれ、別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4はそれぞれ複数台のコンピュータにより構成されてもよい。
本実施形態に係る学習データ生成装置1は、製品の良否を判定する能力を識別器に習得させる機械学習に利用する学習データを生成するように構成されたコンピュータである。具体的には、学習データ生成装置1は、製品の写る第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。そして、学習データ生成装置1は、取得した第1画像データ122に所定の変換処理を適用することで、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
所定の変換処理は、第1画像データ122の少なくとも一部を変更する処理であって、第1画像データ122と完全には一致しない第2画像データ125を生成可能な処理であれば、特に限定されなくてもよい。所定の変換処理は、例えば、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択されてよい。学習データ生成装置1は、変換処理のパラメータ(例えば、変換する明度の量等)を変更しながら、第1画像データ122に所定の変換処理を繰り返し適用することで、それぞれ異なる複数件の第2画像データ125を生成する。生成された各件の第2画像データ125は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。ただし、各件の第2画像データ125は、不自然な画像である、正しい状態で製品が写っていない等の理由により、学習データとして適切ではない可能性がある。
そこで、本実施形態に係る学習データ生成装置1は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51に各件の第2画像データ125を入力することで、当該第1識別器51から出力を得る。第1識別器51の出力は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用するか否かを判定した結果を示す。そのため、学習データ生成装置1は、第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
そして、学習データ生成装置1は、学習データとして判定された第2画像データ125に、第1正解データ123に基づいて決定された、第2画像データ125に写る製品の良否の判定に対する正解を示す第2正解データ126を付与する。これにより、学習データ生成装置1は、第2画像データ125及び第2正解データ126の対で構成された学習用データセット127を生成する。
一方、本実施形態に係る第1学習装置2は、学習データ生成装置1で利用する第1識別器51を構築するように構成されたコンピュータである。具体的には、第1学習装置2は、画像データ(後述する画像データ2221)、及び当該画像データを学習データとして採用するか否かの判定の正解を示す正解データ(後述する採否データ2222)の組み合わせで構成された学習用データセット(後述する第1学習用データセット222)を利用した機械学習を実施することで、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51を構築する。
また、本実施形態に係る第2学習装置3は、検査装置4で利用する第2識別器54を構築するように構成されたコンピュータである。具体的には、第2学習装置3は、学習データ生成装置1により生成された学習用データセット127を含む複数件の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第2識別器54を構築する。そのため、学習データ生成装置1及び第2学習装置3により、第2識別器54を構築する識別器生成システムが構成される。
これに対して、本実施形態に係る検査装置4は、第2学習装置3で構築された第2識別器54を利用して、製品Rの良否を判定するように構成されたコンピュータである。具体的には、検査装置4は、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、検査装置4は、カメラ81に接続されており、このカメラ81により製品Rを撮影することで、対象画像データ422を取得する。そして、検査装置4は、取得した対象画像データ422を第2識別器54に入力することで、第2識別器54から出力を得る。第2識別器54の出力は、製品Rの良否を判定した結果を示す。そのため、検査装置4は、第2識別器54から得られる出力に基づいて、対象画像データ422に写る製品Rの良否を判定する。
以上のとおり、本実施形態では、学習データ生成装置1により、第1画像データ122に所定の変換処理を適用することで、学習データの候補となる第2画像データ125を量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第1識別器51による判定の結果に基づいて、製品の良否を判定する能力を習得するための学習データとして不適切な第2画像データ125を機械学習に利用されないようにすることができる。そのため、本実施形態によれば、製品の良否を判定する能力を習得するための機械学習に利用する十分な件数の適切な学習用データセットを低コストで用意することができる。これにより、第2学習装置3では、用意した十分な件数の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器54を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
なお、外観検査の対象となる製品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は、生成プログラム121、第1画像データ122、第1正解データ123、第2画像データ125、第2正解データ126、第1学習結果データ129等の各種情報を記憶する。
生成プログラム121は、製品の良否を判定する能力を習得するための機械学習に利用可能な複数件の第2画像データ125を第1画像データ122から生成する後述の情報処理(図10)を学習データ生成装置1に実行させるためのプログラムである。生成プログラム121は、当該情報処理の一連の命令を含む。第1画像データ122は、第2画像データ125を生成する元となる画像データである。第1正解データ123は、第1画像データ122に写る製品の良否の判定に対する正解を示す。各件の第2画像データ125は、第1画像データ122から生成される。各件の第2正解データ126は、各件の第2画像データ125に写る製品の良否の判定に対する正解を示す。第1学習結果データ129は、第1識別器51の設定を行うためのデータである。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、第1学習装置2、第2学習装置3)と行うことができる。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習データ生成装置1を操作することができる。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記生成プログラム121、第1画像データ122、第1正解データ123、及び第1学習結果データ129の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置1は、この記憶媒体91から、上記生成プログラム121、第1画像データ122、第1正解データ123、及び第1学習結果データ129の少なくともいずれかを取得してもよい。
ここで、図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)等であってもよい。
<第1学習装置>
次に、図3を用いて、本実施形態に係る第1学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る第1学習装置2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る第1学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
第1学習装置2の制御部21〜ドライブ26はそれぞれ、上記学習データ生成装置1の制御部11〜ドライブ16それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、採否学習プログラム221、第1学習用データセット222、第1学習結果データ129等の各種情報を記憶する。
採否学習プログラム221は、第1識別器51を構築する後述の機械学習の情報処理(図11)を第1学習装置2に実行させ、その結果として第1学習結果データ129を生成させるためのプログラムである。採否学習プログラム221は、その情報処理の一連の命令を含む。第1学習用データセット222は、第1識別器51の機械学習に利用される。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第1学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1)と行うことができる。
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、第1学習装置2を操作することができる。
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記採否学習プログラム221及び第1学習用データセット222のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、第1学習装置2は、記憶媒体92から、上記採否学習プログラム221及び第1学習用データセット222のうちの少なくともいずれかを取得してもよい。
なお、第1学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。第1学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第1学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
<第2学習装置>
次に、図4を用いて、本実施形態に係る第2学習装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る第2学習装置3のハードウェア構成の一例を模式的に例示する。
図4に示されるとおり、本実施形態に係る第2学習装置3は、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。なお、図4では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
第2学習装置3の制御部31〜ドライブ36はそれぞれ、上記学習データ生成装置1の制御部11〜ドライブ16それぞれと同様に構成されてよい。すなわち、制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、学習プログラム321、第2学習用データセット322、第2学習結果データ323等の各種情報を記憶する。
学習プログラム321は、第2識別器54を構築する後述の機械学習の情報処理(図12)を第2学習装置3に実行させ、その結果として第2学習結果データ323を生成するためのプログラムである。学習プログラム321は、その情報処理の一連の命令を含む。第2学習用データセット322は、第2識別器54の機械学習に利用される。詳細は後述する。
通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第2学習装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1、検査装置4)と行うことができる。
入力装置34は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置35は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置34及び出力装置35を利用することで、第2学習装置3を操作することができる。
ドライブ36は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム321及び第2学習用データセット322のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、第2学習装置3は、記憶媒体93から、上記学習プログラム321及び第2学習用データセット322のうちの少なくともいずれかを取得してもよい。
なお、第2学習装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、入力装置34、出力装置35及びドライブ36の少なくともいずれかは省略されてもよい。第2学習装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第2学習装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
<検査装置>
次に、図5を用いて、本実施形態に係る検査装置4のハードウェア構成の一例について説明する。図5は、本実施形態に係る検査装置4のハードウェア構成の一例を模式的に例示する。
図5に示されるとおり、本実施形態に係る検査装置4は、制御部41、記憶部42、通信インタフェース43、外部インタフェース44、入力装置45、出力装置46、及びドライブ47が電気的に接続されたコンピュータである。なお、図5では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
検査装置4の制御部41〜通信インタフェース43及び入力装置45〜ドライブ47はそれぞれ、上記学習データ生成装置1の制御部11〜ドライブ16それぞれと同様に構成されてよい。すなわち、制御部41は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部42は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部42は、検査プログラム421、第2学習結果データ323等の各種情報を記憶する。
検査プログラム421は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する後述の情報処理(図13)を検査装置4に実行させるためのプログラムである。検査プログラム421は、その情報処理の一連の命令を含む。第2学習結果データ323は、第2識別器54の設定を行うためのデータである。詳細は後述する。
通信インタフェース43は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置4は、この通信インタフェース43を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、第2学習装置3)と行うことができる。
外部インタフェース44は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース44の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置4は、外部インタフェース44を介して、カメラ81に接続される。
カメラ81は、製品Rを撮影することで、対象画像データ422を取得するのに利用される。カメラ81の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ81には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ81は、製品Rが搬送される製造ラインの近傍に配置されてよい。なお、カメラ81が通信インタフェースを備える場合、検査装置4は、外部インタフェース44ではなく、通信インタフェース43を介して、カメラ81に接続されてもよい。
入力装置45は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置46は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置45及び出力装置46を利用することで、検査装置4を操作することができる。
ドライブ47は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体94に記憶されたプログラムを読み込むためのドライブ装置である。上記検査プログラム421及び第2学習結果データ323のうちの少なくともいずれかは、記憶媒体94に記憶されていてもよい。また、検査装置4は、記憶媒体94から、上記検査プログラム421及び第2学習結果データ323のうちの少なくともいずれかを取得してもよい。
なお、検査装置4の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部41は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部42は、制御部41に含まれるRAM及びROMにより構成されてもよい。通信インタフェース43、外部インタフェース44、入力装置45、出力装置46及びドライブ47の少なくともいずれかは省略されてもよい。検査装置4は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置4は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
[ソフトウェア構成]
<学習データ生成装置>
次に、図6を用いて、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を説明する。図6は、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を模式的に例示する。
学習データ生成装置1の制御部11は、記憶部12に記憶された生成プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された生成プログラム121に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習データ生成装置1は、データ取得部111、第1生成部112、判定部113、及び第2生成部114をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
データ取得部111は、製品の写る第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。第1生成部112は、第1画像データ122に所定の変換処理を適用することで、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
判定部113は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51を含んでいる。判定部113は、この第1識別器51に各件の第2画像データ125を入力することで当該第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
第2生成部114は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第2画像データ125に第2正解データ126を付与する。第2正解データ126は、第1正解データ123に基づいて決定された、第2画像データ125に写る製品の良否の判定に対する正解を示す。これにより、第2生成部114は、第2画像データ125及び第2正解データ126の対で構成された学習用データセット127を生成する。
(識別器)
次に、第1識別器51の構成について説明する。図6に示されるとおり、第1識別器51は、ニューラルネットワークにより構成されている。具体的には、第1識別器51には、いわゆる畳み込みニューラルネットワークにより構成されており、畳み込み層511、プーリング層512、全結合層513、及び出力層514を備えている。
畳み込みニューラルネットワークは、畳み込み層及びプーリング層を交互に接続した構造を有する順伝搬型ニューラルネットワークである。本実施形態に係る第1識別器51では、複数の畳み込み層511及びプーリング層512が入力側に交互に配置されている。そして、最も出力側に配置されたプーリング層512の出力が全結合層513に入力され、全結合層513の出力が出力層514に入力される。
畳み込み層511は、画像の畳み込みの演算を行う層である。画像の畳み込みとは、画像と所定のフィルタとの相関を算出する処理に相当する。そのため、画像の畳み込みを行うことで、例えば、フィルタの濃淡パターンと類似する濃淡パターンを入力される画像から検出することができる。
プーリング層512は、プーリング処理を行う層である。プーリング処理は、画像のフィルタに対する応答の強かった位置の情報を一部捨て、画像内に現れる特徴の微小な位置変化に対する応答の不変性を実現する。
全結合層513は、隣接する層の間のニューロン全てを結合した層である。すなわち、全結合層513に含まれる各ニューロンは、隣接する層に含まれる全てのニューロンに結合される。全結合層513は、2層以上で構成されてもよい。また、全結合層513に含まれるニューロンの個数は、実施の形態に応じて適宜設定されてよい。
出力層514は、第1識別器51の最も出力側に配置される層である。出力層514に含まれるニューロンの個数は、学習データとして採用するか否かを判定した結果の出力形式に応じて適宜設定されてよい。なお、第1識別器51の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
各層511〜514に含まれる各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。判定部113は、第1識別器51の最も入力側に配置された畳み込み層511に第2画像データ125を入力し、入力側から順に、各層に含まれる各ニューロンの発火判定を行う。これにより、判定部113は、入力された第2画像データ125を学習データとして採用するか否かを判定した結果に対応する出力値を出力層514から取得する。
なお、このような第1識別器51の構成(ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、第1学習結果データ129に含まれている。判定部113は、第1学習結果データ129を参照して、学習済みの第1識別器51の設定を行う。
<第1学習装置>
次に、図7を用いて、本実施形態に係る第1学習装置2のソフトウェア構成の一例について説明する。図7は、本実施形態に係る第1学習装置2のソフトウェア構成の一例を模式的に例示する。
第1学習装置2の制御部21は、記憶部22に記憶された採否学習プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された採否学習プログラム221に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係る第1学習装置2は、第1学習データ取得部211、及び第1学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
第1学習データ取得部211は、製品の写り得る画像データ2221及び画像データ2221を学習データとして採用するか否かの判定の正解を示す採否データ2222の組み合わせでそれぞれ構成された複数件の第1学習用データセット222を取得する。画像データ2221は、採否判定の学習データ(訓練データ)として利用され、採否データ2222は、教師データ(正解データ)として利用される。画像データ2221は、本発明の「第5画像データ」の一例である。採否データ2222は、本発明の「第3正解データ」の一例である。
第1学習処理部212は、取得した各件の第1学習用データセット222を利用して、ニューラルネットワーク52の機械学習を実施する。すなわち、第1学習処理部212は、画像データ2221を入力すると、採否データ2222に対応する出力値を出力するようにニューラルネットワーク52の学習処理を行う。
ニューラルネットワーク52は、学習対象となる学習モデルであり、学習前の第1識別器51である。ニューラルネットワーク52は、上記第1識別器51と同様に構成される。すなわち、ニューラルネットワーク52は、畳み込み層521、プーリング層522、全結合層523、及び出力層524を備えている。各層521〜524は、上記第1識別器51の各層511〜514と同様に構成される。
第1学習処理部212は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層521に画像データ2221が入力されると、採否データ2222に対応する出力値を出力層524から出力するようにニューラルネットワーク52を学習させる。これにより、第1学習処理部212は、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51を構築することができる。第1学習処理部212は、学習後のニューラルネットワーク52(すなわち、第1識別器51)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。
<第2学習装置>
次に、図8を用いて、本実施形態に係る第2学習装置3のソフトウェア構成の一例について説明する。図8は、本実施形態に係る第2学習装置3のソフトウェア構成の一例を模式的に例示する。
第2学習装置3の制御部31は、記憶部32に記憶された学習プログラム321をRAMに展開する。そして、制御部31は、RAMに展開された学習プログラム321に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る第2学習装置3は、第2学習データ取得部311、及び第2学習処理部312をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部31(CPU)により実現される。
第2学習データ取得部311は、製品の写る画像データ3221、及び画像データ3221に写る製品の良否の判定に対する正解を示す正解データ3222の組み合わせでそれぞれ構成された複数件の第2学習用データセット322を取得する。画像データ3221は、製品の良否判定の学習データ(訓練データ)として利用され、正解データ3222は、教師データとして利用される。
複数件の第2学習用データセット322は、学習データ生成装置1により生成された学習用データセット127を含む。すなわち、少なくとも一部の第2学習用データセット322の画像データ3221は、上記第2画像データ125であり、正解データ3222は、上記第2正解データ126である。また、学習用データセット127を生成する元となった第1画像データ122及び第1正解データ123の組み合わせ(データセット)は、複数件の第2学習用データセット322のうちから選択された第2学習用データセット322であってもよい。
なお、第2学習データ取得部311は、第2学習用データセット322を量産元のデータセット(第1画像データ122及び第1正解データ123)として学習データ生成装置1に送信し、複数件の学習用データセット127を生成させてもよい。これにより、第2学習データ取得部311は、生成された複数件の学習用データセット127を第2学習用データセット322として受信することで、機械学習に利用する第2学習用データセット322の件数を増やすことができる。
第2学習処理部312は、取得した各件の第2学習用データセット322を利用して、ニューラルネットワーク53の機械学習を実施する。すなわち、第2学習処理部312は、画像データ3221を入力すると、正解データ3222に対応する出力値を出力するようにニューラルネットワーク53の学習処理を行う。第2学習処理部312は、本発明の「学習処理部」の一例である。
ニューラルネットワーク53は、学習対象となる学習モデルであり、学習前の第2識別器54である。本実施形態では、ニューラルネットワーク53(及び、第2識別器54)は、いわゆる畳み込みニューラルネットワークである。このニューラルネットワーク53は、上記第1識別器51と同様に構成されてよい。すなわち、ニューラルネットワーク53は、畳み込み層531、プーリング層532、全結合層533、及び出力層534を備えている。各層531〜534は、上記第1識別器51の各層511〜514と同様に構成されてよい。ただし、ニューラルネットワーク53の構造は、第1識別器51と一致していなくてもよい。例えば、ニューラルネットワーク53の層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第1識別器51と異なっていてもよい。
第2学習処理部312は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層531に画像データ3221が入力されると、正解データ3222に対応する出力値を出力層534から出力するようにニューラルネットワーク53を学習させる。これにより、第2学習処理部312は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第2識別器54を構築することができる。第2学習処理部312は、学習後のニューラルネットワーク53(すなわち、第2識別器54)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ323として記憶部32に格納する。
<検査装置>
次に、図9を用いて、本実施形態に係る検査装置4のソフトウェア構成の一例について説明する。図9は、本実施形態に係る検査装置4のソフトウェア構成の一例を模式的に例示する。
検査装置4の制御部41は、記憶部42に記憶された検査プログラム421をRAMに展開する。そして、制御部41は、RAMに展開された検査プログラム421に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図9に示されるとおり、本実施形態に係る検査装置4は、対象データ取得部411、良否判定部412、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、対象データ取得部411は、カメラ81により製品Rを撮影することで、対象画像データ422を取得する。良否判定部412は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第2識別器54を含んでいる。良否判定部412は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する。
具体的には、良否判定部412は、第2学習結果データ323を参照して、学習済みの第2識別器54の設定を行う。次に、良否判定部412は、取得した対象画像データ422を第2識別器54に入力して、第2識別器54の演算処理を実行することで、第2識別器54から出力値を取得する。そして、良否判定部412は、第2識別器54から取得した出力値に基づいて、対象画像データ422に写る製品Rの良否を判定する。出力部413は、製品Rの良否を判定した結果、すなわち、外観検査の結果を出力する。
なお、上記のとおり、本実施形態に係る第2識別器54は、いわゆる畳み込みニューラルネットワークにより構成されており、上記ニューラルネットワーク53と同様に構成される。すなわち、第2識別器54は、畳み込み層541、プーリング層542、全結合層543、及び出力層534を備えている。各層541〜544は、上記ニューラルネットワーク53の各層531〜534と同様に構成される。
<その他>
学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[第1学習データ生成装置]
次に、図10を用いて、本実施形態に係る学習データ生成装置1の動作例について説明する。図10は、本実施形態に係る学習データ生成装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。
第1画像データ122及び第1正解データ123を取得する方法は、特に限定されていなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより、良否の表れた製品の写る第1画像データ122を取得することができる。そして、得られた第1画像データ122に対して、その第1画像データ122に写る製品に表れた良否(正解)を示す第1正解データ123を適宜取得する。これにより、第1画像データ122及び第1正解データ123の組み合わせ(データセット)を作成することができる。
この第1画像データ122及び第1正解データ123の組み合わせの作成は、学習データ生成装置1により行われてもよい。この場合、制御部11は、オペレータによる入力装置14の操作に応じて、第1画像データ122及び第1正解データ123の組み合わせを作成してもよい。また、制御部11は、生成プログラム121の処理により、第1画像データ122及び第1正解データ123の組み合わせを自動的に作成してもよい。この作成処理を実行することで、本ステップS101では、制御部11は、第1画像データ122及び第1正解データ123の組み合わせを取得することができる。
あるいは、第1画像データ122及び第1正解データ123の組み合わせを作成は、例えば、第2学習装置3等の、学習データ生成装置1以外の他の情報処理装置により行われてもよい。他の情報処理装置では、第1画像データ122及び第1正解データ123の組み合わせは、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS101では、制御部11は、ネットワーク、記憶媒体91等を介して、他の情報処理装置により作成された第1画像データ122及び第1正解データ123の組み合わせを取得してもよい。
また、この場合、第1画像データ122及び第1正解データ123の組み合わせは、第2学習装置3において利用される複数件の第2学習用データセット322から選択された第2学習用データセット322であってもよい。複数件の第2学習用データセット322は、第2学習装置3の記憶部22に格納されていてもよいし、NAS(Network Attached Storage)等の外部の記憶装置に格納されていてもよい。この場合、本ステップS101では、制御部11は、ネットワーク、記憶媒体91等を介して、第1画像データ122及び第1正解データ123の組み合わせを、第2学習装置3、外部の記憶装置等の記憶領域から取得することができる。
第1画像データ122及び第1正解データ123の組み合わせ(データセット)の取得が完了すると、制御部11は、次のステップS102に処理を進める。なお、本ステップS101では、複数件のデータセットが取得されてもよい。複数件のデータセットを取得した場合、制御部11は、各件のデータセットについて、以降のステップS102〜S104を実行する。
(ステップS102)
ステップS102では、制御部11は、第1生成部112として動作し、ステップS101で取得した第1画像データ122に所定の変換処理を適用する。これにより、制御部11は、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
所定の変換処理は、実施の形態に応じて適宜選択されてよい。例えば、所定の変換処理は、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。明度の変換処理は、第1画像データ122の少なくとも一部の画素値を変更する処理である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。アフィン変換は、第1画像データ122の少なくとも一部を線型変換及び平行移動可能な処理である。画像の合成は、第1画像データ122の少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、第1画像データ122の少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
これらの変換処理により、第1画像データ122から、当該第1画像データ122と完全には一致しない第2画像データ125を生成することができる。制御部11は、変換処理のパラメータ(例えば、変換する明度の量、アフィン変換の変換行列の各値等)を適宜変更しながら、第1画像データ122に当該変換処理を繰り返し適用する。この変換処理のパラメータの値は、複数のテンプレートにより予め与えられていてもよいし、ランダムに又は所定の規則に従って適宜変更されてよい。
これにより、制御部11は、それぞれ異なる複数件の第2画像データ125を生成することができる。生成する第2画像データ125の件数は、実施の形態に応じて適宜決定されてよい。生成された各件の第2画像データ125は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。複数件の第2画像データ125の生成が完了すると、制御部11は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部11は、判定部113として動作し、ステップS102で生成した各件の第2画像データ125を第1識別器51に入力することで当該第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
本実施形態では、制御部11は、第1学習結果データ129を参照し、学習済みの第1識別器51の設定を行う。続いて、制御部11は、各件の第2画像データ125を第1識別器51に入力し、第1識別器51の演算処理を実行する。これにより、制御部11は、第1識別器51から出力値を取得する。
具体的には、制御部11は、ステップS102で生成した各件の第2画像データ125を、第1識別器51の最も入力側に配置された畳み込み層511に入力する。そして、制御部11は、入力側から順に、各層511〜514に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各件の第2画像データ125を学習データとして採用するか否かを判定した結果に対応する出力値を出力層514から取得する。
そして、制御部11は、出力層514から取得した出力値に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。ここで、出力層514から得られる出力値の形式は、実施の形態に応じて適宜選択されてよい。例えば、出力層514から得られる出力値は、学習データとして採用するか否かを2値で示してもよい。この場合、制御部11は、出力層514から得られる出力値に応じて、対象の第2画像データ125を学習データとして採用するか否かを特定することができる。また、例えば、出力層514から得られる出力値は、学習データとして適切又は不適切である度合いを連続値で示してもよい。この場合、制御部11は、出力層514から得られる出力値と閾値とを比較することで、対象の第2画像データ125を学習データとして採用するか否かを判定することができる。これにより、各件の第2画像データ125を学習データとして採用するか否かの判定が完了すると、制御部11は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部11は、第2生成部114として動作し、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第2画像データ125に第2正解データ126を付与する。
第2正解データ126は、第2画像データ125に写る製品の良否の判定に対する正解を示すように適宜設定される。本実施形態では、第2正解データ126により示される正解は、第1正解データ123に基づいて決定される。例えば、ステップS102における変換処理を適用しても、製品に表れる良否の状態に変更がない場合には、制御部11は、第1正解データ123をそのまま第2正解データ126として利用してもよい。
また、例えば、各正解データ(123、126)は、欠陥のある箇所を示す等のように、上記所定の変換処理により変化し得る値で製品の良否を示してもよい。この場合、制御部11は、第1正解データ123の値に上記所定の変換処理を適用することで、第2正解データ126の値を導出してもよい。
また、ステップS102で適用する変換処理によっては、例えば、欠陥箇所の画像が欠陥のない画像で上書きされる等のように、第1画像データ122と第2画像データ125との間で、製品に表れる良否の状態が変化する(例えば、入れ替わる)ケースがあり得る。この場合、制御部11は、ステップS102において適用した所定の変換処理に基づいて、第1正解データ123により示される正解が変化するか否かを判定し、当該判定の結果に基づいて、第2正解データ126の内容を決定してもよい。
以上により、制御部11は、製品の写る第2画像データ125、及び第2画像データ125に写る製品の良否の判定に対する正解を示す第2正解データ126の対で構成された学習用データセット127を生成することができる。制御部11は、学習データとして採用すると判定された複数件の第2画像データ125を収集し、収集した各件の第2画像データ125に第2正解データ126を付与することで、複数件の学習用データセット127により構成された学習用データ群を生成してもよい。
なお、第2正解データ126を付与する形態は、実施の形態に応じて適宜選択されてよい。例えば、1件の第2画像データ125毎に1件の第2正解データ126を付与してもよい。また、製品の良否の判定に対する正解が共通である複数件の第2画像データ125に1件の第2正解データ126を一括で付与してもよい。この場合、正解が共通である複数件の第2画像データ125をグループにまとめることで、1件の第2正解データ126が付与されていると取り扱ってもよい。
学習用データセット127の生成が完了した後、制御部11は、生成した学習用データセット127を所定の記憶領域に保存する。所定の記憶領域は、記憶部12であってもよいし、NAS等の外部の記憶領域であってもよい。また、制御部11は、生成した学習用データセット127を第2学習装置3に配信してもよい。これにより、生成した学習用データセット127の保存処理が完了すると、制御部11は、本動作例に係る処理を終了する。
なお、制御部11は、生成される学習用データセット127の件数が閾値を超えるまで、ステップS101〜S104の一連の処理を繰り返してもよい。このとき、第2画像データ125を生成する元となる第1画像データ122は、一連の処理を繰り返す度に変更されてもよいし、少なくとも所定回数の繰り返しで共通に利用されてもよい。第1画像データ122を共通に利用する場合、ステップS101の処理は省略されてよい。
また、学習データとして採用しないと判定された第2画像データ125の処理は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、学習データとして採用しないと判定された第2画像データ125を削除してもよい。また、例えば、学習データ生成装置1が出力装置15としてディスプレイを備えている場合、制御部11は、学習データとして採用しないと判定された第2画像データ125をディスプレイに表示してもよい。これにより、制御部11は、第2画像データ125を学習データとして利用するか削除するかの選択を受け付けてもよい。この場合、オペレータは、入力装置14を操作することで、第1識別器51により学習データとして採用しないと判定された第2画像データ125を学習データとして利用するか削除するかを選択することができる。
[第1学習装置]
次に、図11を用いて、本実施形態に係る第1学習装置2の動作例について説明する。図11は、本実施形態に係る第1学習装置2の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部21は、第1学習データ取得部211として動作し、画像データ2221及び採否データ2222の組み合わせでそれぞれ構成された複数件の第1学習用データセット222を取得する。
第1学習用データセット222を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより得られた撮影画像データを画像データ2221として利用してもよい。また、第2学習用データセット322に含まれる画像データ3221を画像データ2221として利用してもよい。更に、撮影画像データ又は画像データ3221に上記所定の変換処理を適用することで、画像データ2221を生成してもよい。
そして、得られた画像データ2221に対して、製品の良否を判定する能力を習得するための機械学習に利用する学習データとしてその画像データ2221を採用するか否かの正解を示す採否データ2222を組み合わせることで、第1学習用データセット222を作成することができる。この作成を繰り返すことで、複数件の第1学習用データセット222を作成することができる。
なお、採否データ2222のデータ形式は、第1識別器51の出力(すなわち、出力層514から得られる出力値)の形式に合わせて適宜決定されてよい。例えば、採否データ2222は、学習データとして採用するか否かを2値で示すように設定されてもよい。また、例えば、採否データ2222は、学習データとして適切又は不適切である度合いを連続値で示すように適宜設定されてよい。一つの指標として、製品の写る画像として不自然である画像データ2221ほど、採否データ2222は、学習データとして採用しないことを示すように設定される。他方、製品の写る画像として自然である画像データ2221ほど、採否データ2222は、学習データとして採用することを示すように設定される。製品の写る画像として不自然であるとは、例えば、現実ではありえない程度に製品の像が変形している、製品の写る領域が判別できないほど不鮮明である等、カメラにより撮影して得られる通常の画像ではない状態を指す。不自然な程度は、適宜決定されてよい。
この第1学習用データセット222の作成は、第1学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、複数件の第1学習用データセット222を作成してもよい。また、制御部21は、採否学習プログラム221の処理により、複数件の第1学習用データセット222を自動的に作成してもよい。この作成処理を実行することで、本ステップS201では、制御部21は、複数件の第1学習用データセット222を取得してもよい。
あるいは、第1学習用データセット222の作成は、第1学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、複数件の第1学習用データセット222は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS201では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により作成された第1学習用データセット222を取得してもよい。
取得する第1学習用データセット222の件数は、特に限定されなくてもよく、例えば、第1識別器51の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第1学習用データセット222の取得が完了すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、第1学習処理部212として動作し、取得した各件の第1学習用データセット222を利用した機械学習を実行する。本実施形態では、制御部21は、各件の第1学習用データセット222を用いて、画像データ2221を畳み込み層521に入力すると、採否データ2222により示される正解に対応する出力値を出力層524から出力するようにニューラルネットワーク52の機械学習を実行する。
具体的には、まず、制御部21は、学習処理を行う対象となるニューラルネットワーク52(学習前の第1識別器51)を用意する。用意するニューラルネットワーク52の構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合、制御部21は、再学習を行う対象の第1学習結果データ129に基づいて、学習前のニューラルネットワーク52を用意してもよい。
次に、制御部21は、ステップS201で取得した各件の第1学習用データセット222に含まれる画像データ2221を入力データとして用い、採否データ2222を教師データとして用いて、ニューラルネットワーク52の学習処理を実行する。このニューラルネットワーク52の学習処理には、確率的勾配降下法等が用いられてよい。
例えば、制御部21は、最も入力側に配置された畳み込み層521に画像データ2221を入力し、入力側から順に各層521〜524に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、出力層524から出力値を得る。次に、制御部21は、出力層524から得た出力値と採否データ2222により示される正解に対応する値との誤差を算出する。続いて、制御部21は、誤差逆伝搬(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部21は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
各件の第1学習用データセット222について、最も入力側に配置された畳み込み層521に画像データ2221を入力することにより出力層524から得られる出力値が、入力した画像データ2221に関連付けられた採否データ2222により示される正解に対応する値と一致するまで、制御部21は、この一連の処理を繰り返す。これにより、制御部21は、画像データ2221を入力すると、採否データ2222により示される採否の正解に対応する出力値を出力する学習済みのニューラルネットワーク52(すなわち、第1識別器51)を構築することができる。ニューラルネットワーク52の学習処理が完了すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、第1学習処理部212として動作し、機械学習により構築された学習後のニューラルネットワーク52(すなわち、第1識別器51)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
なお、制御部21は、上記ステップS203の処理が完了した後に、作成した第1学習結果データ129を学習データ生成装置1に転送してもよい。また、制御部21は、上記ステップS201〜S203の学習処理を定期的に実行することで、第1学習結果データ129を更新してもよい。そして、制御部21は、作成した第1学習結果データ129を学習処理の実行毎に学習データ生成装置1に転送することで、学習データ生成装置1の保持する第1学習結果データ129を定期的に更新してもよい。また、例えば、制御部21は、作成した第1学習結果データ129をNAS等の外部の記憶領域に保存してもよい。この場合、学習データ生成装置1は、この外部の記憶領域から第1学習結果データ129を取得してもよい。また、第1学習結果データ129は、学習データ生成装置1に予め組み込まれてもよい。
[第2学習装置]
次に、図12を用いて、本実施形態に係る第2学習装置3の動作例について説明する。図12は、本実施形態に係る第2学習装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS301)
ステップS301では、制御部31は、第2学習データ取得部311として動作し、画像データ3221及び正解データ3222の組み合わせでそれぞれ構成された複数件の第2学習用データセット322を取得する。
第2学習用データセット322を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各件の第2学習用データセット322は、上記第1画像データ122及び第1正解データ123の組み合わせを取得する方法と同様の方法で取得されてよい。すなわち、制御部31は、オペレータによる入力装置34の操作に応じて、各件の第2学習用データセット322を作成してもよいし、学習プログラム321の処理により、各件の第2学習用データセット322を自動的に作成してもよい。あるいは、制御部31は、ネットワーク、記憶媒体93等を介して、他の情報処理装置により作成された第2学習用データセット322を取得してもよい。
また、取得される第2学習用データセット322の少なくとも一部は、学習データ生成装置1により作成された学習用データセット127である。制御部31は、ネットワーク、記憶媒体93等を介して、学習データ生成装置1により作成された学習用データセット127を第2学習用データセット322として取得してもよい。また、制御部31は、学習用データセット127の生成に利用された第1画像データ122及び第1正解データ123の組み合わせを第2学習用データセット322として取得してもよい。
なお、正解データ3222のデータ形式は、第2識別器54の出力の形式に合わせて適宜決定されてよい。例えば、正解データ3222は、製品の良否を2値で示すように設定されてもよい。また、例えば、正解データ3222は、製品が良品である(すなわち、欠陥がない)確率又は製品に欠陥がある確率を連続値で示すように設定されてもよい。また、例えば、正解データ3222は、製品の良否又は欠陥の種別のインデックスを示すように設定されてもよい。また、例えば、正解データ3222は、欠陥のある箇所等を示すように設定されてもよい。
取得する第2学習用データセット322の件数は、特に限定されなくてもよく、例えば、第2識別器54の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第2学習用データセット322の取得が完了すると、制御部31は、次のステップS302に処理を進める。
(ステップS302)
ステップS302では、制御部31は、第2学習処理部312として動作し、学習データ生成装置1により生成された学習用データセット127を含む複数件の第2学習用データセット322を利用した機械学習を実施する。本実施形態では、制御部31は、各件の第2学習用データセット322を用いて、画像データ3221を畳み込み層531に入力すると、正解データ3222により示される正解に対応する出力値を出力層534から出力するようにニューラルネットワーク53の機械学習を実行する。これにより、制御部31は、製品の良否を判定する能力を習得した学習済みの第2識別器54を構築する。
機械学習の方法は、上記ステップS202と同様であってよい。制御部31は、学習処理を行う対象となるニューラルネットワーク53(学習前の第2識別器54)を用意する。そして、制御部31は、ステップ301で取得した各件の第2学習用データセット322に含まれる画像データ3221を入力データとして用い、正解データ3222を教師データとして用いて、ニューラルネットワーク53の学習処理を実行する。
これにより、制御部31は、最も入力側に配置された畳み込み層531に画像データ3221が入力されると、入力した画像データ3221に関連付けられた正解データ3222により示される正解に対応する出力値を出力層534から出力する学習済みのニューラルネットワーク53(すなわち、第2識別器54)を構築することができる。ニューラルネットワーク53の学習処理が完了すると、制御部31は、次のステップS303に処理を進める。
(ステップS303)
ステップS303では、制御部31は、第2学習処理部312として動作し、機械学習により構築された学習後のニューラルネットワーク53(すなわち、第2識別器54)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ323として記憶部32に格納する。これにより、制御部31は、本動作例に係る処理を終了する。
なお、制御部31は、上記ステップS303の処理が完了した後に、作成した第2学習結果データ323を検査装置4に転送してもよい。また、制御部31は、上記ステップS301〜303の学習処理を定期的に実行することで、第2学習結果データ323を更新してもよい。そして、制御部31は、作成した第2学習結果データ323を学習処理の実行毎に検査装置4に転送することで、検査装置4の保持する第2学習結果データ323を定期的に更新してもよい。また、例えば、制御部31は、作成した第2学習結果データ323をNAS等の外部の記憶領域に保存してもよい。この場合、検査装置4は、この外部の記憶領域から第2学習結果データ323を取得してもよい。また、第2学習結果データ323は、検査装置4に予め組み込まれてもよい。
更に、制御部31は、評価用データセットを利用して、構築した第2識別器54の判定性能を評価してもよい。評価用データセットは、第2学習用データセット322と同様に構成可能である。すなわち、評価用データセットは、製品の写る画像データ、及び画像データに写る製品の良否の判定に対する正解を示す正解データの組み合わせにより構成されてよい。制御部31は、後述するステップS402のとおり、第2識別器54を利用して、評価用データセットの画像データに写る製品の良否を判定する。制御部31は、この判定結果と正解データにより示される正解とを照合することで、第2識別器54の判定性能を評価することができる。
この第2識別器54の判定性能が所定の基準以下である(例えば、正答率が閾値以下である)場合には、制御部31は、複数件の第2学習用データセット322から選択した1又は複数件の第2学習用データセット322を学習データ生成装置1に送信してもよい。そして、制御部31は、送信した第2学習用データセット322を第1画像データ122及び第1正解データ123の組み合わせとして利用して、複数件の学習用データセット127を生成する要求を学習データ生成装置1に行ってもよい。これに応じて、学習データ生成装置1により生成された複数件の学習用データセット127を受信することで、制御部31は、機械学習に利用する第2学習用データセット322の件数を増やすことができる。
[検査装置]
次に、図13を用いて、検査装置4の動作例について説明する。図13は、検査装置4の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS401)
ステップS401では、制御部41は、対象データ取得部411として動作し、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、検査装置4は、外部インタフェース44を介してカメラ81に接続されている。そのため、制御部41は、カメラ81から対象画像データ422を取得する。この対象画像データ422は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ422を取得すると、制御部41は、次のステップS402に処理を進める。
ただし、対象画像データ422を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置4とは異なる他の情報処理装置が、カメラ81に接続されていてもよい。この場合、制御部41は、他の情報処理装置から対象画像データ422の送信を受け付けることで、対象画像データ422を取得してもよい。
(ステップS402)
ステップS402では、制御部41は、良否判定部412として動作し、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する。
具体的には、制御部41は、第2学習結果データ323を参照して、学習済みの第2識別器54の設定を行う。続いて、制御部41は、第2識別器54の最も入力側に配置された畳み込み層541に対象画像データ422を入力し、入力側から順に、各層541〜544に含まれる各ニューロンの発火判定を行う。これにより、制御部41は、対象画像データ422に写る製品Rの良否を判定した結果に対応する出力値を出力層544から取得する。
そして、制御部41は、第2識別器54の出力層544から取得した出力値に基づいて、対象画像データ422に写る製品Rの良否を判定する。製品Rの良否を判定する方法は、第2識別器54の出力形式に応じて適宜決定されてよい。例えば、第2識別器54から得られる出力値が製品Rの良否を2値で示す場合、制御部41は、第2識別器54から得られる出力値に応じて、製品Rの良否を特定することができる。また、例えば、第2識別器54から得られる出力値が、製品Rが良品である確率又は製品Rに欠陥がある確率を連続値で示す場合、制御部41は、第2識別器54から得られる出力値と閾値とを比較することで、製品Rの良否を判定することができる。また、例えば、第2識別器54から得られる出力値が欠陥のある箇所を示す場合、制御部41は、第2識別器54から得られる出力値に基づいて、対象画像データ422に写る製品Rの良否を判定することができると共に、欠陥が存在する場合にはその欠陥の箇所を特定することができる。
また、例えば、第2識別器54から得られる出力値が、製品Rの良否又は欠陥の種別のインデックスを示す場合、検査装置4は、第2識別器54から得られる出力値と製品Rの良否又は欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部42に保持していてもよい。この場合、制御部41は、この参照情報を参照することにより、第2識別器54から得られた出力値に応じて、対象画像データ422に写る製品Rの良否を判定することができる。
以上により、制御部41は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定することができる。製品Rの良否の判定が完了すると、制御部41は、次のステップS403に処理を進める。
(ステップS403)
ステップS403では、制御部41は、出力部413として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、製品Rの良否を判定した結果をそのまま出力装置46に出力してもよい。また、ステップS402において、製品Rに欠陥があると判定した場合、制御部41は、欠陥を発見したことを知らせるための警告を本ステップS403の出力処理として行ってもよい。また、制御部41は、本ステップS403の出力処理として、製品Rの良否を判定した結果に応じた所定の制御処理を実行してもよい。具体例として、製品の搬送を行う製造ラインに検査装置4が接続されている場合、製品Rに欠陥があると判定したときに、制御部41は、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップ403の出力処理として行ってもよい。
製品Rの良否を判定した結果の出力処理が完了すると、制御部41は、本動作例に係る処理を終了する。なお、制御部41は、製造ライン上を搬送される製品Rがカメラ81の撮影範囲に入る度に、ステップS401〜S403の一連の処理を実行してもよい。これにより、検査装置4は、製造ライン上を搬送される製品Rの外観検査を行うことができる。
[特徴]
以上のとおり、本実施形態に係る学習データ生成装置1によれば、上記ステップS102の処理により、第1画像データ122に所定の変換処理を適用することで、学習データの候補となる第2画像データ125を量産することができる。加えて、学習データ生成装置1は、上記ステップS103の処理により、量産した複数件の第2画像データ125のうち、製品の良否を判定する能力を習得するための学習データとして不適切な第2画像データ125を機械学習に利用されないようにすることができる。そのため、本実施形態に係る学習データ生成装置1によれば、ステップS104により生成した学習用データセット127により第2学習用データセット322の件数を増加させることで、十分な件数の適切な第2学習用データセット322を低コストで用意することができる。これにより、第2学習装置3では、ステップS301〜S303の処理により、用意した十分な件数の第2学習用データセット322を利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器54を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、各識別器(51、54)は、畳み込みニューラルネットワークにより構成されている。しかしながら、各識別器(51、54)の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器(51、54)は、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
<4.2>
上記実施形態では、各識別器(51、54)の学習モデルとして、ニューラルネットワークを採用している。しかしながら、各識別器(51、54)の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器(51、54)の学習モデルとして、例えば、サポートベクタマシン、自己組織化マップ、強化学習により機械学習を行う学習モデル等が採用されてよい。
なお、機械学習として教師あり学習を採用しない場合には、各学習用データセット(222、322)において、各正解データ(2222、3222)は省略されてもよい。この場合、上記ステップS101において、学習データ生成装置1の制御部11は、第1正解データ123の取得を省略し、製品の写る第1画像データ122のみを取得してもよい。また、ステップS104では、制御部11は、第2正解データ126の付与を省略し、学習データとして採用すると判定された第2画像データ125を収集することで、学習データとして採用すると判定された複数件の第2画像データ125により構成された学習用データ群を生成してもよい。第2学習装置3は、この学習用データ群を機械学習に利用して、第2識別器54を構築してもよい。
<4.3>
上記実施形態では、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、各学習結果データ(129、323)の構成は、このような例に限定されなくてもよく、学習済みの各識別器(51、54)の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
<4.4>
上記実施形態では、検査システム100は、第1識別器51を構成する第1学習装置2を含んでいる。しかしながら、第1識別器51は、検査システム100の外部の情報処理装置により構成されてよい。この場合、検査システム100において、第1学習装置2は省略されてもよい。
<4.5>
上記実施形態では、学習データ生成装置1の制御部11は、ステップS104において、第1正解データ123に基づいて、第2正解データ126の内容を設定している。しかしながら、第2正解データ126の内容を設定する方法は、このような例に限られなくてもよい。例えば、制御部11は、入力装置14を介して、オペレータによる第2正解データ126の内容の入力を受け付けてもよい。このとき、オペレータが、第2正解データ126の内容を決定するための参考として、制御部11は、出力装置15を介して、第2画像データ125及び第1正解データ123の少なくとも一方を出力してもよい。
<4.6>
上記実施形態では、第1識別器51は、画像データ2221及び採否データ2222の組み合わせにより構成された第1学習用データセット222を利用した機械学習により構築されている。しかしながら、第1識別器51を構築する方法は、このような例に限定されなくてもよい。
[構成例]
まず、図14を用いて、上記実施形態とは異なる方法で第1識別器を構築する第1学習装置2Aの構成の一例について説明する。図14は、本変形例に係る第1学習装置2Aのソフトウェア構成の一例を模式的に例示する。本変形例に係る第1学習装置2Aは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Aは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。
図14に示されるとおり、第1学習装置2Aは、制御部21によりプログラムを実行することで、第1学習データ取得部211A及び第1学習処理部212Aをソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
第1学習データ取得部221Aは、複数件の画像データ2223で構成された画像データ群222Aを取得する。画像データ2223は、本発明の「第3画像データ」の一例である。第1学習処理部212Aは、生成モデル61及び識別モデル62それぞれの機械学習を実施する。生成モデル61は、画像データ群222Aに対して、画像データ2223に類似する画像データ611を生成するように機械学習を行う。画像データ611は、本発明の「第4画像データ」の一例である。一方、識別モデル62は、生成モデル61由来の画像データ611であるか、画像データ群222A由来の画像データ2223であるかを識別するように機械学習を行う。
生成モデル61及び識別モデル62を含むネットワークは、各モデル(61、62)の機械学習を交互に実施する。すなわち、生成モデル61は、識別モデル62が識別を誤るような画像データ2223に類似する画像データ611を生成するように機械学習を繰り返す。これに対して、識別モデル62は、繰り返し機械学習された生成モデル61により生成される画像データ611と画像データ群222A由来の画像データ2223とを識別するように機械学習を行う。
生成モデル61及び識別モデル62は、例えば、ニューラルネットワークにより構成される。第1学習処理部212Aは、このネットワークのうち、構築された識別モデル62を第1識別器として保存する。すなわち、第1学習処理部212Aは、学習後の識別モデル62の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。
[動作例]
次に、図15を用いて、本変形例に係る第1学習装置2Aの動作例について説明する。図15は、本変形例に係る第1学習装置2Aの処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS501)
ステップS501では、制御部21は、第1学習データ取得部211Aとして動作し、複数件の画像データ2223により構成された画像データ群222Aを取得する。各件の画像データ2223は、上記第1画像データ122と同様の方法により取得されてよい。画像データ群222Aを取得すると、制御部21は、次のステップS502に処理を進める。
(ステップS502)
ステップS502では、制御部21は、生成モデル61の機械学習を行う。上記のとおり、生成モデル61は、ニューラルネットワークにより構成される。例えば、制御部21は、無意味なデータ(例えば、ノイズ)を入力データとして利用し、画像データ群222Aに含まれる画像データ2223を教師データとして利用して、生成モデル61の機械学習を行う。すなわち、制御部21は、ノイズを入力すると、画像データ2223に対応する画像データを出力するように生成モデル61の機械学習を実施する。機械学習の方法は、上記ステップS202と同様であってよい。これにより、生成モデル61は、画像データ群222Aに対して、画像データ2223に類似する画像データ611を生成するように構築される。生成モデル61の機械学習が完了すると、制御部21は、次のステップS503に処理を進める。
(ステップS503)
ステップS503では、制御部21は、識別モデル62の機械学習を行う。上記のとおり、識別モデル62は、ニューラルネットワークにより構成される。例えば、制御部21は、画像データ群222Aに含まれる画像データ2223と、その画像データ2223が画像データ群222Aの由来である(すなわち、真である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。また、制御部21は、生成モデル61により生成される画像データ611と、その画像データ611が生成モデル61由来である(すなわち、偽である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。
そして、制御部21は、画像データ2223又は画像データ611を入力データとして利用し、各画像データ(2223、611)に関連付けられた正解データを教師データとして利用して、識別モデル62の機械学習を行う。すなわち、制御部21は、各画像データ(2223、611)を入力すると、各画像データ(2223、611)に関連付けられた正解データに対応する値を出力するように識別モデル62の機械学習を実施する。機械学習の方法は、上記ステップS202と同様であってよい。これにより、識別モデル62は、生成モデル61由来の画像データ611であるか、画像データ群222A由来の画像データ2223であるかを識別するように構築される。識別モデル62の機械学習が完了すると、制御部21は、次のステップS504に処理を進める。
(ステップS504)
ステップS504では、制御部21は、ステップS502及びS503の機械学習の処理を繰り返すか否かを判定する。機械学習の処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップS502及びS503の機械学習の実施する回数が設定されていてもよい。この場合、制御部21は、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したか否かを判定する。ステップS502及びS503の機械学習を実施した回数が設定回数に到達していないと判定した場合には、制御部21は、ステップS502に処理を戻す。一方、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したと判定した場合には、制御部21は、次のステップS505に処理を進める。
これにより、生成モデル61及び識別モデル62は、互いに交互に機械学習を行う。この過程で、生成モデル61は、識別モデル62が識別を誤るような画像データ2223に類似する画像データ611を生成するように構築される。一方で、識別モデル62は、繰り返し機械学習された生成モデル61により生成される画像データ611と画像データ群222A由来の画像データ2223とを識別するように構築される。つまり、生成モデル61は、画像データ2223により近似した画像データ611を生成することができるように構築され、識別モデル62は、そのような画像データ611と画像データ2223とを識別できるように構築される。
(ステップS505)
ステップS505では、制御部21は、第1学習処理部212Aとして動作し、ステップS502及びS503の処理を繰り返すことで構築されたネットワークのうち識別モデル62を第1識別器として保存する。すなわち、制御部21は、学習後の識別モデル62の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
なお、本変形例では、第1識別器(識別モデル62)の出力は、生成モデル61由来の画像データ611か画像データ群222A由来の画像データ2223であるかを判定した結果を示す。これらのうち、生成モデル61由来の画像データ611であると判定することが、学習データとして採用しないと判定することに対応する。一方、画像データ群222A由来の画像データ2223であると判定することが、学習データとして採用すると判定することに対応する。すなわち、本変形例によれば、ノイズから生成された疑似的な画像データ611を学習データとして採用しないと判定する第1識別器を構築することができる。そのため、この第1識別器を利用することで、第1画像データ122から生成された複数件の第2画像データ125から学習データとして適切な第2画像データ125を抽出することができるようになる。したがって、本変形例によれば、上記実施形態と同様に、十分な件数の適切な第2学習用データセット322を低コストで用意することができるため、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
<4.7>
上記実施形態では、製品Rの外観検査を行う他面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データに写る被写体の特徴を識別するあらゆる場面に広く適用可能である。
図16及び図17を用いて、被写体の特徴を識別する場面に本発明を適用した変形例について説明する。図16及び図17は、本変形例に係る画像識別装置4Bのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る画像識別システムは、上記学習データ生成装置1、第1学習装置2、第2学習装置3、及び画像識別装置4Bにより構成される。処理対象となるデータが、製品の写る画像データから何らかの被写体の画像データに置き換わる点を除き、本変形例に係る画像識別システムは、上記検査システム100と同様に構成されてよい。
すなわち、学習データ生成装置1は、被写体の特徴を識別する能力を識別器に習得させる機械学習に利用する学習用データセットを生成する。第1学習装置2は、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器を構築する。本変形例に係る第1識別器は、上記実施形態に係る第1識別器51と同様に構成されてよい。
第2学習装置3は、学習データ生成装置1により生成された学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。本変形例に係る第2識別器54Bは、上記実施形態に係る第2識別器54と同様に構成されてよい。画像識別装置4Bは、第2識別器54Bを利用して、対象画像データ422Bに写る被写体の特徴を識別する。
本変形例において、被写体、及び識別の対象となる被写体の特徴はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。被写体は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
図16に示されるとおり、本変形例に係る画像識別装置4Bは、上記検査装置4と同様のハードウェア構成を有する。画像識別装置4Bの記憶部42は、画像識別プログラム421B、第2学習結果データ323B等の各種情報を記憶する。画像識別プログラム421Bは、上記検査装置4と同様の処理手順により、被写体の特徴を識別する情報処理を画像識別装置4Bに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第2学習結果データ323Bは、第2識別器54Bの設定を行うためのデータである。
画像識別装置4Bは、上記検査装置4と同様に、外部インタフェース44を介してカメラ81に接続されている。カメラ81は、特徴を識別する対象となる被写体を撮影可能な場所に適宜配置される。例えば、被写体が対象者の顔又は身体である場合、カメラ81は、被写体となる対象者の存在し得る場所に配置されてよい。また、例えば、被写体が作業対象のワークである場合、カメラ81は、ワークの存在し得る場所に向けて配置されてよい。
図17に示されるとおり、画像識別装置4Bは、制御部41により画像識別プログラム421Bを実行することで、対象データ取得部411、識別部412B、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、特徴を識別する対象となる被写体の写る対象画像データ422Bを取得する。識別部412Bは、取得した対象画像データ422Bを第2識別器54Bに入力することで第2識別器54Bから得られる出力に基づいて、対象画像データ422Bに写る被写体の特徴を識別する。出力部413は、被写体の特徴を識別した結果を出力する。
[動作例]
次に、本変形例に係る画像識別システムの動作例について説明する。本変形例に係る画像識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
<学習データ生成装置>
学習データ生成装置1の制御部11は、ステップS101では、データ取得部111として動作し、所定の被写体の写る第1画像データ、及び第1画像データに写る被写体の特徴の識別に対する正解を示す第1正解データを取得する。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Bに採用し、機械学習として教師あり学習を実施しない等、第1正解データが不要である場合、第1正解データの取得は省略されてよい。
ステップS102では、制御部11は、第1生成部112として動作して、第1画像データに所定の変換処理を適用することで、それぞれ被写体の写る複数件の第2画像データを第1画像データから生成する。所定の変換処理は、例えば、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。
ステップS103では、制御部11は、判定部113として動作して、学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する。
これにより、第1画像データから生成した複数件の第2画像データのうち、被写体の写る画像として不自然な第2画像データを除外することができる。第1画像データに写る被写体が対象者の顔である場合に、例えば、現実ではありえないほど歪んだ顔が写る第2画像データ、対象者の顔を特定できない第2画像データ等を除外することができる。
ステップS104では、制御部11は、第2生成部114として動作して、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第2画像データに、第1正解データに基づいて決定された、第2画像データに写る被写体の特徴の識別に対する正解を示す第2正解データを付与する。これにより、制御部11は、第2画像データ及び第2正解データの対で構成された学習用データセットを生成する。
なお、制御部11は、学習用データとして採用すると判定された複数件の第2画像データを収集し、収集した各件の第2画像データに第2正解データを付与することで、複数件の学習用データセットにより構成された学習用データ群を生成してもよい。また、上記第1正解データと同様に、第2正解データが不要である場合、第2正解データの付与は省略されてよい。この場合、制御部11は、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の第2画像データにより構成された学習用データ群を生成してもよい。
<第1学習装置>
第1学習装置2の制御部21は、上記ステップS201〜S203の処理により、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器を構築する。
すなわち、ステップS201では、制御部21は、第1学習データ取得部211として動作し、被写体の写り得る画像データ及び画像データを学習データとして採用するか否かの判定の正解を示す採否データの組み合わせでそれぞれ構成された複数件の第1学習用データセットを取得する。ステップS202及びS203では、制御部21は、第1学習処理部212として動作し、複数件の第1学習用データセットを利用した機械学習により第1識別器を構築し、構築した第1識別器の構成等を示す情報を第1学習結果データとして記憶部22に格納する。
なお、本変形例に係る第1識別器は、上記<4.6>の変形例と同様に、識別モデル62により構成されてよい。このとき、上記画像データ2223には、特徴を識別する対象となる被写体の写る画像データが用いられる。
<第2学習装置>
第2学習装置3の制御部31は、上記ステップS301〜S303の処理により、対象の画像データに写る被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。
すなわち、ステップS301では、制御部31は、第2学習データ取得部311として動作し、対象の被写体の写る画像データ、及び画像データに写る被写体の特徴の識別に対する正解を示す正解データの組み合わせでそれぞれ構成された複数件の第2学習用データセットを取得する。複数件の第2学習用データセットの少なくとも一部は、学習データ生成装置1により生成された学習用データセットである。
ステップS302では、制御部31は、第2学習処理部312として動作し、複数件の第2学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。そして、ステップS303では、制御部31は、第2学習処理部312として動作し、構築した第2識別器54Bの構成等を示す情報を第2学習結果データ323Bとして記憶部32に格納する。
<画像識別装置>
画像識別装置4Bの制御部41は、ステップS401では、対象データ取得部411として動作し、特徴を識別する対象となる被写体の写る対象画像データ422Bを取得する。本変形例では、制御部41は、カメラ81から対象画像データ422Bを取得する。
ステップS402では、制御部41は、識別部412Bとして動作し、第2学習結果データ323Bを参照して、学習済みの第2識別器54Bの設定を行う。続いて、制御部41は、ステップS401により取得した対象画像データ422Bを第2識別器54Bに入力し、第2識別器54Bの演算処理を実行する。これにより、制御部41は、対象画像データ422Bに写る被写体の特徴を識別した結果に対応する出力値を第2識別器54Bから取得する。制御部41は、第2識別器54Bから取得した出力値に基づいて、対象画像データ422Bに写る被写体の特徴を識別する。
ステップS403では、制御部41は、出力部413として動作し、対象画像データ422Bに写る被写体の特徴を識別した結果を出力する。被写体の特徴を識別した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、被写体の特徴を識別した結果をそのまま出力装置46に出力してもよい。また、例えば、制御部41は、識別結果に応じて所定の出力処理を実行してもよい。具体例として、被写体の特徴として対象者の表情の種別を識別するケースでは、対象者の顔が怒っていると識別したときに、制御部11は、対象者に向けて気を落ち着かせる音楽を出力装置46から出力してもよい。
以上により、本変形例では、学習データ生成装置1により生成した学習用データセットにより第2学習用データセットの件数を増加させることで、十分な件数の適切な第2学習用データセットを低コストで用意することができる。これにより、第2学習装置3では、用意した十分な件数の第2学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する精度の比較的に高い第2識別器54Bを構築することができる。したがって、本実施形態によれば、被写体の特徴の識別精度の比較的に高い第2識別器54Bを低コストで生成することができる。
<4.8>
上記実施形態及び変形例では、画像データから何らかの特徴を識別する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を識別する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
[構成例]
図18〜図22を用いて、データに含まれる特徴を識別する場面に本発明を適用した変形例について説明する。図18は、本変形例に係る学習データ生成装置1Cのソフトウェア構成の一例を模式的に例示する。図19は、本変形例に係る第1学習装置2Cのソフトウェア構成の一例を模式的に例示する。図20は、本変形例に係る第2学習装置3Cのソフトウェア構成の一例を模式的に例示する。図21及び図22は、本変形例に係る識別装置4Cのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る識別システムは、学習データ生成装置1C、第1学習装置2C、第2学習装置3C、及び識別装置4Cにより構成される。処理対象となるデータが、製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。
<学習データ生成装置>
本変形例に係る学習データ生成装置1Cは、上記学習データ生成装置1と同様のハードウェア構成を有する。すなわち、学習データ生成装置1Cは、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。学習データ生成装置1Cの記憶部12は、第1学習結果データ129C等の各種情報を記憶する。
第1学習結果データ129Cは、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51Cの設定を行うためのデータである。第1識別器51Cは、上記実施形態と同様に、ニューラルネットワークにより構成される。第1識別器51Cは、例えば、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
図18に示されるとおり、学習データ生成装置1Cは、データ取得部111、第1生成部112、判定部113、及び第2生成部114をソフトウェアモジュールとして備えるコンピュータとして動作する。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、データ取得部111、第1生成部112、判定部113、及び第2生成部114はそれぞれ、上記実施形態と同様に動作する。
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、その他センサからの出力データ等であってよい。また、対象のデータから識別される特徴は、データから識別可能なあらゆる特徴を含んでもよい。対象のデータが音データである場合、識別される特徴は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってもよい。対象のデータが、活動量等の生体データに関する数値データ又はテキストデータである場合、識別される特徴は、例えば、対象者の状態(例えば、健康であるか否か)等であってもよい。対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、識別される特徴は、例えば、機械の状態(例えば、機械が所定の状態にあるか否か)等であってもよい。
<第1学習装置>
本変形例に係る第1学習装置2Cは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Cは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。第1学習装置2Cは、学習データ生成装置1Cで利用する、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51Cを構築する。
図19に示されるとおり、第1学習装置2Cは、第1学習データ取得部211及び第1学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第1学習データ取得部211及び第1学習処理部212はそれぞれ、上記実施形態と同様に動作する。
<第2学習装置>
本変形例に係る第2学習装置3Cは、上記第2学習装置3と同様のハードウェア構成を有する。すなわち、第2学習装置3Cは、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。第2学習装置3Cは、学習データ生成装置1Cにより生成された学習データを利用した機械学習を実施することで、対象のデータから特徴を識別する能力を習得した学習済みの第2識別器54Cを構築する。
図20に示されるとおり、第2学習装置3Cは、第2学習データ取得部311及び第2学習処理部312をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第2学習データ取得部311及び第2学習処理部312はそれぞれ、上記実施形態と同様に動作する。
<識別装置>
図21に示されるとおり、本変形例に係る識別装置4Cは、上記検査装置4と同様のハードウェア構成を有する。識別装置4Cの記憶部42は、識別プログラム421C、第2学習結果データ323C等の各種情報を記憶する。識別プログラム421Cは、上記検査装置4と同様の処理手順により、対象のデータに含まれる特徴を識別する情報処理を識別装置4Cに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第2学習結果データ323Cは、学習済みの第2識別器54Cの設定を行うためのデータである。
本変形例では、識別装置4Cは、外部インタフェース44を介して、計測装置81Cに接続されている。計測装置81Cは、対象のデータを取得可能に適宜構成される。計測装置81Cの種類は、処理対象のデータに応じて適宜決定されてよい。処理対象のデータが音データである場合、計測装置81Cは、例えば、マイクロフォン等である。処理対象のデータが生体データである場合、計測装置81Cは、例えば、活動量計、血圧計等の、生体情報を計測可能に構成された装置である。また、処理対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、計測装置81Cは、例えば、エンコーダ等の対象の物理量を測定可能に構成された装置である。計測装置81Cの配置は、実施の形態に応じて適宜決定されてよい。
図22に示されるとおり、識別装置4Cは、制御部41により識別プログラム421Cを実行することで、対象データ取得部411、識別部412C、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、識別する対象となる特徴を含む対象データ422Cを取得する。識別部412Cは、取得した対象データ422Cを第2識別器54Cに入力することで第2識別器54Cから得られる出力に基づいて、対象データ422Cに含まれる特徴を識別する。出力部413は、特徴を識別した結果を出力する。
[動作例]
次に、本変形例に係る識別システムの動作例について説明する。本変形例に係る識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
<学習データ生成装置>
学習データ生成装置1Cの制御部11は、ステップS101では、データ取得部111として動作し、所定の特徴を含む第1データ122C、及び第1データ122Cに含まれる特徴の識別に対する正解を示す第1正解データ123Cを取得する。第1データ122Cは、適宜取得されてよい。例えば、処理対象となるデータが音データである場合、マイクロフォンを用意し、識別する対象となる特徴を含みうる音データを用意したマイクロフォンにより録音する。これにより、第1データ122Cを取得することができる。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Cに採用し、機械学習として教師あり学習を実施しない等、第1正解データ123Cが不要である場合、第1正解データ123Cの取得は省略されてよい。
ステップS102では、制御部11は、第1生成部112として動作し、第1データ122Cに所定の変換処理を適用することで、第1データ122Cから複数件の第2データ125Cを生成する。所定の変換処理は、実施の形態に応じて適宜選択されてよい。第1データ122Cが音データである場合、所定の変換処理は、例えば、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、ノイズ等の所定の音の合成及びこれらの組合せから選択されてよい。タイムストレッチは、音のピッチはそのままで、テンポ(持続時間)を変更する処理である。ピッチシフトは、音のテンポはそのままで、ピッチを変更する処理である。マスキングは、特定の部分の音を変換(例えば、除去)する処理である。また、第1データ122Cが数値データ又はテキストデータである場合、所定の変換処理は、例えば、ノイズなどの所定のデータの合成、特定の部分のデータの変換、及びこれらの組み合わせから選択されてよい。
ステップS103では、制御部11は、判定部113として動作し、第1学習結果データ129Cを参照し、学習済みの第1識別器51Cの設定を行う。そして、制御部11は、学習済みの第1識別器51に各件の第2データ125Cを入力することで第1識別器51Cから得られる出力に基づいて、各件の第2データ125Cを学習データとして採用するか否かを判定する。
これにより、第1データ122Cから生成した複数件の第2データ125Cのうち、特徴を含むデータとして不自然な第2データ125Cを除外することができる。第1データ122Cが音データであり、機械の異音の有無を特徴として識別する場合、例えば、機械の異音の有無を判別できない第2データ125C等を除外することができる。
ステップS104では、制御部11は、第2生成部114として動作し、対象のデータに含まれる特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第2データ125Cに、第1正解データ123Cに基づいて決定された、第2データ125Cに含まれる特徴の識別に対する正解を示す第2正解データ126Cを付与する。これにより、制御部11は、第2データ125C及び第2正解データ126Cの対で構成された学習用データセット127Cを生成する。
なお、制御部11は、学習データとして採用すると判定された複数件の第2データ125Cを収集し、収集した各件の第2データ125Cに第2正解データ126Cを付与することで、複数件の学習用データセット127Cにより構成された学習用データ群を生成してもよい。また、上記第1正解データ123Cと同様に、第2正解データ126Cが不要な場合、第2データ125Cに対する第2正解データ126の付与は省略されてよい。この場合、制御部11は、学習データとして採用すると判定された第2データ125Cを収集して、複数件の第2データ125Cにより構成された学習用データ群を生成してもよい。
<第1学習装置>
第1学習装置2の制御部21は、上記ステップS201〜S203の処理により、与えられたデータを、特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51Cを構築する。
すなわち、ステップS201では、制御部21は、第1学習データ取得部211として動作し、識別する対象となる特徴を含みうるデータ2221C、及びデータ2221Cを学習データとして採用するか否かの判定の正解を示す採否データ2222Cの組み合わせでそれぞれ構成された複数件の第1学習用データセット222Cを取得する。
ステップS202では、制御部21は、第1学習処理部212として動作し、学習処理を行う対象となるニューラルネットワーク52Cを用意する。次に、制御部21は、各件の第1学習用データセット222Cを用いて、データ2221Cを入力すると、採否データ2222Cにより示される正解に対応する出力値を出力するようにニューラルネットワーク52Cの機械学習を行う。これにより、制御部21は、与えられたデータを学習データとして採用するか否かを判定する能力を習得した学習済みのニューラルネットワーク52C(すなわち、第1識別器51C)を構築することができる。
ステップS203では、制御部21は、第1学習処理部212として動作し、学習後のニューラルネットワーク52C(すなわち、第1識別器51C)の構成等を示す情報を第1学習結果データ129Cとして記憶部22に格納する。なお、本変形例に係る第1識別器51Cは、上記<4.6>の変形例と同様に、識別モデル62により構成されてよい。このとき、上記画像データ2223に置き換えて、特徴を識別する対象となる所定種類のデータが用いられる。
<第2学習装置>
第2学習装置3Cの制御部31は、上記ステップS301〜S303の処理により、対象のデータに含まれる特徴を識別する能力を習得した学習済みの第2識別器54Cを構築する。
すなわち、ステップS301では、制御部31は、第2学習データ取得部311として動作し、所定の特徴を含むデータ3221C、及びデータ3221Cに含まれる特徴の識別に対する正解を示す正解データ3222Cの組み合わせでそれぞれ構成された複数件の第2学習用データセット322Cを取得する。複数件の第2学習用データセット322Cの少なくとも一部は、学習データ生成装置1により生成された学習用データ群(学習用データセット127C)である。
ステップS302では、制御部31は、第2学習処理部312として動作し、学習処理を行う対象となるニューラルネットワーク53Cを用意する。次に、制御部31は、各件の第2学習用データセット322Cを用いて、データ3221Cを入力すると、正解データ3222Cにより示される正解に対応する出力値を出力するようにニューラルネットワーク53Cの機械学習を行う。これにより、制御部31は、対象のデータに含まれる特徴を識別する能力を習得した学習済みのニューラルネットワーク53C(すなわち、第2識別器54C)を構築することができる。
ステップS303では、制御部31は、第2学習処理部312として動作し、学習後のニューラルネットワーク53C(すなわち、第2識別器54C)の構成等を示す情報を第2学習結果データ323Cとして記憶部32に格納する。なお、制御部31は、上記実施形態と同様に、複数件の第2学習用データセット322Cから選択した1又は複数件の第2学習用データセット322Cを学習データ生成装置1Cに送信してもよい。そして、制御部31は、送信した第2学習用データセット322Cを第1データ122C及び第1正解データ123Cの組み合わせとして利用して、複数件の学習用データセット127Cを生成する要求を学習データ生成装置1Cに行ってもよい。これに応じて、学習データ生成装置1Cにより生成された複数件の学習用データセット127Cを受信することで、制御部31は、機械学習に利用する第2学習用データセット322Cの件数を増やすことができる。
<識別装置>
識別装置4Cの制御部41は、ステップS401では、対象データ取得部411として動作し、識別する対象となる特徴を含む対象データ422Cを取得する。本変形例では、制御部41は、外部インタフェース44を介して計測装置81Cから対象データ422Cを取得する。ただし、対象データ422Cを取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
ステップS402では、制御部41は、識別部412Cとして動作し、第2学習結果データ323Cを参照して、学習済みの第2識別器54Cの設定を行う。続いて、制御部41は、ステップS401により取得した対象データ422Cを第2識別器54Cに入力し、第2識別器54Cの演算処理を実行する。これにより、制御部41は、対象データ422Cに含まれる特徴を識別した結果に対応する出力値を第2識別器54Cから取得する。制御部41は、第2識別器54Cから取得した出力値に基づいて、対象データ422Cに含まれる特徴を識別する。
ステップS403では、制御部41は、出力部413として動作し、対象データ422Cに含まれる特徴を識別した結果を出力する。判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、対象データ422Cに含まれる特徴を判定した結果をそのまま出力装置46から出力してもよい。また、例えば、制御部41は、判定結果に応じて所定の出力処理を実行してもよい。具体例として、対象データ422Cが音データであり、音データの特徴として機械の異音が含まれるか否かを判定するケースでは、制御部41は、対象データ422Cに機械の異音が含まれると識別したときに、その機械の管理者の携帯端末にそのことを警告する電子メールの送信を当該出力処理として行ってもよい。また、識別装置4Cが対象の機械と接続されている場合、制御部41は、対象の機械の処理速度を落としたり、対象の機械の動作を停止したりしてもよい。
以上により、本変形例では、学習データ生成装置1Cにより生成した学習用データセットにより第2学習用データセット322Cの件数を増加させることで、十分な件数の適切な第2学習用データセット322Cを低コストで用意することができる。これにより、第2学習装置3Cでは、用意した十分な件数の第2学習用データセット322Cを利用した機械学習を実施することで、対象のデータに含まれる特徴を識別する精度の比較的に高い第2識別器54Cを構築することができる。したがって、本実施形態によれば、推論精度の高い第2識別器54Cを低コストで生成することができる。
100…検査システム、
1…学習データ生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…データ取得部、112…第1生成部、
113…判定部、114…第2生成部、
121…生成プログラム、
122…第1画像データ、123…第1正解データ、
125…第2画像データ、126…第2正解データ、
127…学習用データセット、129…第1学習結果データ、
2…第1学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…第1学習データ取得部、
212…第1学習処理部、
221…採否学習プログラム、
222…第1学習用データセット、
2221…画像データ(第5画像データ)、
2222…採否データ(第3正解データ)、
3…第2学習装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
311…第2学習データ取得部、
312…第2学習処理部、
321…学習プログラム、
322…第2学習用データセット、
3221…画像データ、3222…正解データ、
323…第2学習結果データ、
4…検査装置、
41…制御部、42…記憶部、43…通信インタフェース、
44…外部インタフェース、45…入力装置、
46…出力装置、47…ドライブ、
411…対象データ取得部、412…良否判定部、
413…出力部、
421…検査プログラム、
51…第1識別器、
52…ニューラルネットワーク、
53…ニューラルネットワーク、
54…第2識別器、
511・521・531・541…畳み込み層、
512・522・532・542…プーリング層、
513・523・533・543…全結合層、
514・524・534・544…出力層、
2A…第1学習装置、
222A…画像データ群、
2223…画像データ(第3画像データ)、
61…生成モデル、611…画像データ(第4画像データ)、
62…識別モデル、
91・92・93・94…記憶媒体

Claims (13)

  1. 製品の良否を検査する検査システムであって、
    前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
    生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
    を備える、
    検査システム。
  2. 前記第1生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第1画像データに適用することで、前記第1画像データから複数件の第2画像データを生成する、
    請求項1に記載の検査システム。
  3. 前記第1識別器は、第3画像データから構成される画像データ群に対して、当該第3画像データに類似する第4画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第4画像データであるか、前記画像データ群由来の前記第3画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第3画像データに類似する前記第4画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第4画像データと前記第3学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成される、
    請求項1又は2に記載の検査システム。
  4. 前記判定部は、第5画像データと、前記第5画像データを前記学習データとして採用するか否かの正解を示す第3正解データとを利用した機械学習により生成された学習済みの学習器を前記第1識別器として利用する、
    請求項1又は2に記載の検査システム。
  5. 製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
    生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    を備える、
    識別器生成システム。
  6. 製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
    を備える、
    学習データ生成装置。
  7. 所定の被写体の写る第1画像データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
    生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
    取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、
    を備える、
    画像識別システム。
  8. 所定の被写体の写る第1画像データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
    生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    を備える、
    識別器生成システム。
  9. 所定の被写体の写る第1画像データを取得するデータ取得部と、
    前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
    与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
    を備える、
    学習データ生成装置。
  10. 所定の特徴を含む第1データを取得するデータ取得部と、
    前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
    与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
    生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    識別する対象となる特徴を含む対象データを取得する対象データ取得部と、
    取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、
    を備える、
    識別システム。
  11. 前記第1データは、音データであり、
    前記第1生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第1データに適用することで、前記第1データから複数件の第2データを生成する、
    請求項10に記載の識別システム。
  12. 所定の特徴を含む第1データを取得するデータ取得部と、
    前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
    与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
    生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
    を備える、
    識別器生成システム。
  13. 所定の特徴を含む第1データを取得するデータ取得部と、
    前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
    与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
    学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
    を備える、
    学習データ生成装置。
JP2018047292A 2018-03-14 2018-03-14 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 Active JP6766839B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018047292A JP6766839B2 (ja) 2018-03-14 2018-03-14 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
PCT/JP2019/010183 WO2019176993A1 (ja) 2018-03-14 2019-03-13 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
EP19767411.2A EP3767551A4 (en) 2018-03-14 2019-03-13 INSPECTION SYSTEM, IMAGE RECOGNITION SYSTEM, RECOGNITION SYSTEM, DISCRIMINATOR GENERATION SYSTEM AND TRAINING DATA GENERATION DEVICE
US16/976,081 US11715190B2 (en) 2018-03-14 2019-03-13 Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
CN201980012730.4A CN111699499B (zh) 2018-03-14 2019-03-13 检查、图像识别、识别器生成系统及学习数据生成装置

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2019159961A true JP2019159961A (ja) 2019-09-19
JP6766839B2 JP6766839B2 (ja) 2020-10-14

Family

ID=67907944

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US11715190B2 (ja)
EP (1) EP3767551A4 (ja)
JP (1) JP6766839B2 (ja)
CN (1) CN111699499B (ja)
WO (1) WO2019176993A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021221030A1 (ja) * 2020-04-27 2021-11-04

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7349816B2 (ja) * 2019-05-16 2023-09-25 株式会社キーエンス 画像検査装置
JP7238610B2 (ja) * 2019-06-04 2023-03-14 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7334478B2 (ja) * 2019-06-04 2023-08-29 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7289448B2 (ja) * 2019-06-11 2023-06-12 株式会社イシダ 物品識別システム及び物品識別システムを備えた会計処理システム
KR20190087351A (ko) * 2019-07-05 2019-07-24 엘지전자 주식회사 머신 러닝 시스템, 방법 및 장치
JPWO2021075072A1 (ja) * 2019-10-16 2021-04-22
JP7297705B2 (ja) * 2020-03-18 2023-06-26 株式会社東芝 処理装置、処理方法、学習装置およびプログラム
KR20220046925A (ko) * 2020-10-08 2022-04-15 삼성에스디에스 주식회사 딥러닝 모델 성능 평가 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2017168057A (ja) * 2016-03-18 2017-09-21 株式会社Spectee 画像分類装置、画像分類システム及び画像分類方法
JP2017211259A (ja) * 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192032A (ja) * 2010-03-15 2011-09-29 Nippon Steel Corp 疵学習装置、疵学習方法、及びコンピュータプログラム
JP2012026982A (ja) * 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP6208552B2 (ja) 2013-11-14 2017-10-04 株式会社デンソーアイティーラボラトリ 識別器、識別プログラム、及び識別方法
US10431428B2 (en) * 2014-01-10 2019-10-01 Reno Technologies, Inc. System for providing variable capacitance
CA2952576C (en) 2014-06-20 2022-07-26 Miovision Technologies Incorporated Machine learning platform for performing large scale data analytics
CN105938558B (zh) 2015-03-06 2021-02-09 松下知识产权经营株式会社 学习方法
CN106548127B (zh) 2015-09-18 2022-11-04 松下电器(美国)知识产权公司 图像识别方法
US10706327B2 (en) * 2016-08-03 2020-07-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks
CN106991439A (zh) 2017-03-28 2017-07-28 南京天数信息科技有限公司 基于深度学习与迁移学习的图像识别方法
CN107451661A (zh) * 2017-06-29 2017-12-08 西安电子科技大学 一种基于虚拟图像数据集的神经网络迁移学习方法
CN107563389A (zh) 2017-09-11 2018-01-09 合肥工业大学 一种基于深度学习的农作物病害识别方法
CN107729948A (zh) 2017-10-31 2018-02-23 京东方科技集团股份有限公司 图像处理方法及装置、计算机产品和存储介质
JP6924413B2 (ja) * 2017-12-25 2021-08-25 オムロン株式会社 データ生成装置、データ生成方法及びデータ生成プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2017168057A (ja) * 2016-03-18 2017-09-21 株式会社Spectee 画像分類装置、画像分類システム及び画像分類方法
JP2017211259A (ja) * 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SALAMON, JUSTIN ET AL., DEEP CONVOLUTIONAL NEURAL NETWORKS AND DATA AUGMENTATION FOR ENVIRONMENTAL SOUND CLASSIFICATION, vol. Version 2, JPN7019001561, 28 November 2016 (2016-11-28), pages 1 - 5, ISSN: 0004267405 *
TRAN, TOAN ET AL., A BAYESIAN DATA AUGMENTATION APPROACH FOR LEARNING DEEP MODELS, JPN7019001563, 29 October 2017 (2017-10-29), pages 1 - 10, ISSN: 0004267407 *
UM T., TERRY ET AL.: "Data Augmentation of Wearable Sensor Data for Parkinson's Disease Monitoring using Convolutional Neu", PROCEEDINGS OF THE 19TH ACM INTERNATIONAL CONFERENCE ON MULTIMODAL INTERACTION, JPN7019001562, 13 November 2017 (2017-11-13), pages 216 - 220, ISSN: 0004267406 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021221030A1 (ja) * 2020-04-27 2021-11-04
WO2021221030A1 (ja) * 2020-04-27 2021-11-04 株式会社リョーワ 良否判定システム、良否判定方法、サーバ及びプログラム
JP7049028B2 (ja) 2020-04-27 2022-04-06 株式会社リョーワ 良否判定システム及び良否判定方法

Also Published As

Publication number Publication date
EP3767551A4 (en) 2022-05-11
CN111699499A (zh) 2020-09-22
CN111699499B (zh) 2023-09-29
JP6766839B2 (ja) 2020-10-14
US20200402221A1 (en) 2020-12-24
US11715190B2 (en) 2023-08-01
EP3767551A1 (en) 2021-01-20
WO2019176993A1 (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
WO2019176993A1 (ja) 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
US11341626B2 (en) Method and apparatus for outputting information
US10997711B2 (en) Appearance inspection device
WO2019176990A1 (ja) 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
JP2018190140A (ja) 学習装置、学習方法、及び学習プログラム
CN110009614A (zh) 用于输出信息的方法和装置
WO2019176989A1 (ja) 検査システム、識別システム、及び学習データ生成装置
CN113095370A (zh) 图像识别方法、装置、电子设备及存储介质
CN115439694A (zh) 一种基于深度学习的高精度点云补全方法及装置
WO2019176988A1 (ja) 検査システム、識別システム、及び識別器評価装置
CN114862832A (zh) 缺陷检测模型的优化方法、装置、设备及存储介质
CN114616573A (zh) 学习辅助装置、学习装置、学习辅助方法和学习辅助程序
JP7059889B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
JP2019086473A (ja) 学習プログラム、検出プログラム、学習方法、検出方法、学習装置および検出装置
JP7070308B2 (ja) 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム
US20220253735A1 (en) Method for simulation assisted data generation and deep learning intelligence creation in non-destructive evaluation systems
JP2021135603A (ja) 判定装置、モデル生成装置、判定方法及び判定プログラム
WO2022196433A1 (ja) モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム
CN113779011B (zh) 基于机器学习的数据修复方法、装置及计算机设备
WO2023166776A1 (ja) 外観分析システム、外観分析方法、及びプログラム
CN118038105A (zh) 确定图像类别以及确定置信度阈值的方法和装置
KR20220170658A (ko) 합성곱 신경망 모델을 이용한 비전 불량 예측 방법 및 이를 수행하는 전자 장치
CN117121052A (zh) 图像判定装置、图像判定方法以及程序
CN118038104A (zh) 确定目标模型的方法、确定图像类别的方法及系统

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: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200715

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: 20200818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6766839

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150