JP2024005710A - 学習装置、学習方法およびプログラム - Google Patents

学習装置、学習方法およびプログラム Download PDF

Info

Publication number
JP2024005710A
JP2024005710A JP2022106027A JP2022106027A JP2024005710A JP 2024005710 A JP2024005710 A JP 2024005710A JP 2022106027 A JP2022106027 A JP 2022106027A JP 2022106027 A JP2022106027 A JP 2022106027A JP 2024005710 A JP2024005710 A JP 2024005710A
Authority
JP
Japan
Prior art keywords
images
image
evaluation
learning
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022106027A
Other languages
English (en)
Inventor
泰之 池田
Yasuyuki Ikeda
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 JP2022106027A priority Critical patent/JP2024005710A/ja
Priority to PCT/JP2023/008301 priority patent/WO2024004278A1/ja
Publication of JP2024005710A publication Critical patent/JP2024005710A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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

Landscapes

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

Abstract

Figure 2024005710000001
【課題】属性の判別精度の高いモデルを短時間で生成する。
【解決手段】学習装置は、1回以上の能動学習処理を実行することによりモデルを更新する。1回以上の能動学習処理の各々は、学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含む。少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループの各画像について、最新のモデルによる判別の信頼度を示す評価値を算出することと、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。
【選択図】図1

Description

本開示は、学習装置、学習方法およびプログラムに関する。
近年、製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像に基づいて製品の外観に関する属性を自動的に判別する技術の開発が進んでいる。具体的には、属性が既知である製品の写る複数の画像を用いた機械学習を行なうことにより得られたモデルを用いて製品の属性が判別される。
モデルによる属性の判別精度は、機械学習に用いる画像に依存する。判別精度の向上に有効な画像を選択する手法として能動学習が知られている(「B. Settles、“Active Learning Literature Survey”、Computer Sciences Technical Report 1648、University of Wisconsin、2010」(非特許文献1)参照)。公知の能動学習では、複数の画像の中から任意に選択された少量の画像からなる訓練データセットを用いて機械学習を行なうことによりモデルが生成される。次に、複数の画像のうち学習に用いた画像以外の残りの画像の全てを用いたモデルの評価結果が予め定められた基準を満たすまで、当該残りの画像のうちモデルによって判別しにくい画像を含むように訓練データセットを更新し、更新後の訓練データセットを用いてモデルを再学習する処理が繰り返される。
B. Settles、"Active Learning Literature Survey"、Computer Sciences Technical Report 1648. University of Wisconsin、2010、[online]、[令和4年6月14日検索]、インターネット〈URL:https://burrsettles.com/pub/settles.activelearning.pdf〉 山根達郎、全邦釘、"Deep learningによるSemantic Segmentationを用いたコンクリート表面ひび割れの検出"、構造工学論文集、Vol.65A(2019)、[online]、[令和4年6月14日検索]、インターネット<https://www.jstage.jst.go.jp/article/structcivil/65A/0/65A_130/_pdf>
公知の能動学習の手法では、繰り返し実施される再学習の処理に要する時間が長くなる。
本開示は、このような実情を鑑みてなされたものであり、その目的は、属性の判別精度の高いモデルを短時間で生成することが可能な学習装置、学習方法およびプログラムを提供することである。
本開示の一側面に係る学習装置は、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得する取得部と、1回以上の能動学習処理を実行することによりモデルを更新する能動学習部と、を備える。訓練データセットは、対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含む。1回以上の能動学習処理の各々は、複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像の中から選択された1以上の追加画像を含むように訓練データセットを更新することと、更新後の訓練データセットを用いてモデルの再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる各画像について、最新のモデルによる属性の判別の信頼度を示す第1評価値を算出することと、第1評価値に基づいて、画像グループの中から、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。
この開示によれば、画像グループの中から、信頼度の相対的に低い画像が評価用画像として選択される。そのため、1以上の評価用画像から選択される追加画像を用いてモデルを再学習することにより、モデルの判別精度が向上しやすい。さらに、1回以上の能動学習処理の各々において、再学習処理が実行されるたびにモデルが評価される。画像グループの中から選択された1以上の評価用画像をモデルに入力することにより、モデルを評価できる。そのため、複数の画像のうち学習に用いていない画像グループの全ての画像をモデルに入力することによりモデルを評価する手法と比較して、モデルの評価に要する時間を短縮できる。このように、上記の開示によれば、属性の判別精度の高いモデルを短時間で生成できる。
上述の開示において、再学習処理は、1以上の評価用画像の各々について、最新のモデルによる属性の判別の信頼度を示す第2評価値を算出することと、第2評価値に基づいて、1以上の評価用画像の中から、信頼度が相対的に低い評価用画像を1以上の追加画像として選択することと、をさらに含む。
この開示によれば、1以上の評価用画像のうち、より判別しにくい画像が追加画像として選択される。これにより、モデルの判別精度がより向上しやすくなる。
上述の開示において、モデルは、入力画像の特徴を示す特徴量を出力する。特徴量は、属性を判別するための判別境界と比較される。画像グループに含まれる対象画像に対する第1評価値は、対象画像から算出される特徴量と判別境界との距離を示す。
この開示によれば、判別しにくい画像が評価用画像として選択されやすくなる。これにより、より短時間でモデルの判別精度を向上させることができる。
上述の開示において、モデルは、入力画像の特徴を示す特徴量を出力する。画像グループに含まれる対象画像に対する第1評価値は、対象画像から算出される特徴量と、最新のモデルの学習に用いられ、かつ対象画像と同じラベルが付与された画像から算出される特徴量との距離を示す。
この開示によれば、選択される1以上の評価用画像の特徴の分布が広くなる。これにより、同じ属性を示すラベルの付与された画像の特徴が多様である場合であっても、判別精度の高いモデルを短時間で生成できる。
上述の開示において、1回以上の能動学習処理は、M回の能動学習処理と、M回の能動学習処理の後に実行され、少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含む。MおよびNは、1以上の整数である。M回の能動学習処理において、1以上の評価用画像を選択することは、第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、画像グループの中から1以上の評価用画像を選択することを含む。
学習用画像の個数が少ない場合、取得部によって取得されるモデルの判別精度が低い。この開示によれば、M回の能動学習処理では、第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、1以上の評価用画像が選択される。そのため、多様な特徴を有する画像が評価用画像として選択される。これにより、M回の能動学習処理によって、多様な特徴を有する評価用画像を用いて、モデルの判別精度をある程度高い状態に収束させることができる。そして、N回の能動学習処理では、M回の能動学習処理によって判別精度がある程度向上したモデルを適用することにより得られる第1評価値に基づいて、学習に適した画像が評価用画像として選択される。その結果、判別精度の高いモデルがより短時間で生成される。
上述の開示において、1回以上の能動学習処理は、N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含む。M+N+1回目の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる全ての画像を1以上の評価用画像として選択することを含む。
この開示によれば、M+N+1回目回目の能動学習処理において、モデルの判別精度をより正確に評価できる。
上述の開示において、Nが2以上の整数である場合。N回の能動学習処理において、画像グループの中から選択される評価用画像の個数、第1評価値の種類、および終了基準の少なくとも1つは、互いに異なってもよい。
上述の開示において、Mが2以上の整数である場合、M回の能動学習処理において、画像グループの中から選択される評価用画像の個数、1以上の評価用画像の選択方法、および終了基準の少なくとも1つは、互いに異なってもよい。
上述の開示において、ラベルは、対象物が良品であることを示す第1ラベルと、対象物が不良品であることを示す第2ラベルと、を含む。複数の画像は、第1ラベルが付与された複数の良品画像と、第2ラベルが付与された1以上の不良品画像と、を含む。1以上の学習用画像は、複数の良品画像から選択される。1以上の評価用画像は、画像グループから選択される1以上の良品画像と、1以上の不良品画像と、を含む。第1評価値は、画像グループに含まれる各良品画像に対して算出される。
この開示によれば、第2ラベルが付与された不良品画像の個数が少ない場合であっても、良品画像のみから、判別精度の高いモデルを短時間で生成することができる。
本開示の一側面に係る学習方法は、コンピュータが、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、コンピュータが、1回以上の能動学習処理を実行することによりモデルを更新するステップと、を備える。訓練データセットは、対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含む。1回以上の能動学習処理の各々は、複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像の中から選択された1以上の追加画像を含むように訓練データセットを更新することと、更新後の訓練データセットを用いてモデルの再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる各画像について、最新のモデルによる属性の判別の信頼度を示す第1評価値を算出することと、第1評価値に基づいて、画像グループの中から、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。
本開示の一側面に係るプログラムは、上記の学習方法をコンピュータに実行させる。これらの開示によっても、属性の判別精度の高いモデルを短時間で生成できる。
本開示によれば、属性の判別精度の高いモデルを短時間で生成できる。
実施形態に係る学習方法の一例を示す図である。 実施の形態に係る学習装置を含むシステムの全体構成を示す概略図である。 図2に示す学習装置のハードウェア構成の一例を示す概略図である。 図2に示す判別装置のハードウェア構成の一例を示す概略図である。 学習装置のソフトウェア構成の一例を模式的に示す図である。 ラベル付与部によって提供されるユーザインターフェイス画面の一例を示す図である。 ラベル付与部によって提供されるユーザインターフェイス画面の別の例を示す図である。 取得部によって提供されるユーザインターフェイス画面の一例を示す図である。 モデルの取得方法を説明する図である。 評価値E1の種類の一例を示す図である。 評価値E1の種類の別の例を示す図である。 実施の形態に係る学習装置の処理の流れの一例を示すフローチャートである。 図12に示すステップS5の参考例のサブルーチンの流れを示すフローチャートである。 図13に示すフローチャートに従った能動学習処理を説明する図である。 能動学習処理の条件を設定するための画面の一例を示す図である。 図12に示すステップS5の実施例1のサブルーチンの流れを示すフローチャートである。 図16に示すフローチャートに従った能動学習処理を説明する図である。 図12に示すステップS5の実施例2のサブルーチンの流れを示すフローチャートである。 図18に示すステップS21のサブルーチンの流れを示すフローチャートである。 図19に示すフローチャートに従った能動学習処理を説明する図である。 図12に示すステップS5の実施例3のサブルーチンの流れを示すフローチャートである。 図12に示すステップS5の実施例4のサブルーチンの流れを示すフローチャートである。 図22に示すステップS23のサブルーチンの流れを示すフローチャートである。 能動学習処理の結果を示す画面の一例を示す図である。 能動学習処理の結果を示す画面の別の例を示す図である。 変形例1におけるモデルの取得方法を説明する図である。 変形例1における能動学習処理を説明する図である。 変形例1における評価値E1,E2の一例を示す図である。 変形例1における評価値E1,E2の別の例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、実施形態に係る学習方法の一例を示す図である。図1に示されるように、対象物2の写る複数の画像3が予め準備される。複数の画像3の各々には、当該画像3に写る対象物2の属性を示すラベルが付与されている。
学習方法は、コンピュータが、複数の画像3の中から選択された1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得するステップ(1)を備える。図1に示す例では、画像3aが学習用画像として選択されている。
学習方法は、さらに、コンピュータが、1回以上の能動学習処理を実行することによりモデル7を更新するステップ(2)を備える。
1回以上の能動学習処理の各々は、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択するステップ(2-1)と、1以上の評価用画像4を用いたモデル7の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行するステップ(2-2)と、を含む。画像グループ8の中から選択される評価用画像4の個数は、予め定められる。図1に示す例では、5個の評価用画像4が選択される。
再学習処理は、1以上の評価用画像4の中から選択された1以上の追加画像を含むように訓練データセット6を更新するステップ(2-2-1)と、更新後の訓練データセット6を用いてモデル7の再学習を行なうステップ(2-2-2)と、を含む。1以上の評価用画像4のうちモデル7によって判別しにくい評価用画像4が追加画像として選択される。図1に示す例では、評価用画像4aが追加画像として選択されている。
1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像4を選択するステップ(2-1)は、ステップ(2-1-1),(2-1-2)を含む。ステップ(2-1-1)は、画像グループ8に含まれる画像について、最新のモデル7による属性の判別の信頼度を示す評価値E1を算出するステップである。ステップ(2-1-2)は、評価値E1に基づいて、画像グループ8の中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択するステップである。
ステップ(2-1-2)によれば、画像グループ8の中から、信頼度の相対的に低い画像3が評価用画像4として選択される。そのため、1以上の評価用画像4から選択される追加画像を用いてモデル7を再学習することにより、モデル7の判別精度が向上しやすい。
1回以上の能動学習処理の各々において、ステップ(2-2)に従って、再学習処理が実行されるたびにモデル7が評価される。本実施の形態に係る学習方法によれば、複数の画像3のうち学習に用いていない画像グループ8の中から選択された1以上の評価用画像4をモデル7に入力することにより、モデル7を評価できる。そのため、複数の画像3のうち学習に用いていない画像グループ8の全ての画像をモデル7に入力することによりモデル7を評価する従来の能動学習の手法と比較して、モデル7の評価に要する時間を短縮できる。
このように、本実施の形態に係る学習方法によれば、属性の判別精度の高いモデル7を短時間で生成できる。
§2 具体例
<システム構成>
図2は、実施の形態に係る学習装置を含むシステムの全体構成を示す概略図である。図2に例示されるシステム1は、製造ラインなどに組み込まれ、製品である対象物2の写る画像を利用して、対象物2の属性を判別する。対象物2の属性は、例えば、外観の良否、欠陥の有無、欠陥の種別などが含まれる。図2に示されるように、システム1は、学習装置100と判別装置200とを備える。
学習装置100は、入力画像に写る対象物2の属性を判別するために使用されるモデル7を生成するように構成されたコンピュータである。学習装置100には、表示装置600および入力装置700が接続されている。表示装置600は、典型的には液晶ディスプレイからなり、各種画面を表示する。入力装置700は、例えばキーボードおよびマウスを含む。なお、表示装置600および入力装置700は、タッチパネルとして一体化されてもよい。
判別装置200は、学習装置100から転送されたモデル7を用いて、対象物2の属性を判別するように構成されたコンピュータである。判別装置200にはカメラ300が接続されている。カメラ300は、対象物2が視野に含まれるように設置される。これにより、判別装置200は、対象物2の写る画像をカメラ300から取得する。判別装置200は、取得した画像を入力したときのモデル7の出力情報を用いて、対象物2の属性を判別する。
例えば、判別装置200は、対象物2の外観に欠陥が含まれるか否かに応じて、対象物2が良品か不良品かを判別する。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
図2に例示される学習装置100および判別装置200は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
学習装置100および判別装置200の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習装置100および判別装置200の間では、記憶媒体を利用して、データがやりとりされてよい。また、本実施形態では、学習装置100および判別装置200は互いに別個のコンピュータである。しかしながら、システム1の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、学習装置100および判別装置200は一体のコンピュータであってもよい。また、例えば、学習装置100および判別装置200の少なくとも一方は、複数台のコンピュータにより構成されてよい。
<学習装置のハードウェア構成>
学習装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る各種処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して学習装置100にインストールされる。
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る各種処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
図3は、図2に示す学習装置のハードウェア構成の一例を示す概略図である。図3に示されるように、学習装置100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)111と、ROM(Read Only Memory)112と、通信インターフェース113と、入力インターフェース114と、表示コントローラ115と、ドライブ116と、ストレージ120とを含む。これらの各部は、バスを介して、互いにデータ通信可能に接続される。
CPU110は、ストレージ120にインストールされたプログラム(コード)をRAM111に展開して、これらを所定順序で実行することで、各種の演算を実施する。RAM111は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。
通信インターフェース113は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインターフェースである。学習装置100は、この通信インターフェース113を利用することで、他の情報処理装置(例えば、判別装置200)とデータ通信を行なうことができる。
入力インターフェース114は、CPU110と入力装置700との間のデータ伝送を仲介する。すなわち、入力インターフェース114は、ユーザが入力装置700に入力した入力情報を受け付ける。
表示コントローラ115は、表示装置600と接続され、CPU110における処理結果などをユーザに通知するように表示装置600の画面を制御する。
ストレージ120は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。ストレージ120は、対象物2の写る複数の画像3を記憶する。さらに、ストレージ120は、学習プログラム122およびラベル付与プログラム124を記憶する。学習プログラム122は、モデル7を生成するための機械学習の処理を学習装置100に実行させるためのプログラムである。ラベル付与プログラム124は、複数の画像3の各々について、当該画像3に写る対象物2の属性を示すラベルを付与する処理を学習装置100に実行させるためのプログラムである。学習プログラム122およびラベル付与プログラム124の各々は、情報処理の一連の命令を含む。さらに、ストレージ120は、学習プログラム122の実行により得られるモデル7を記憶する。
ドライブ116は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体130に記憶されるプログラムを読み込むためのドライブ装置である。ドライブ116の種類は、記憶媒体130の種類に応じて適宜選択されてよい。学習プログラム122およびラベル付与プログラム124の少なくとも1つは、この記憶媒体130に記憶されていてもよい。
記憶媒体130は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置100は、この記憶媒体130から、学習プログラム122およびラベル付与プログラム124の少なくとも1つを取得してもよい。
ここで、図2では、記憶媒体130の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体130の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、学習装置100の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、学習装置100は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。通信インターフェース113及びドライブ116の少なくとも一方は省略されてもよい。学習装置100は、例えば、スピーカ等の表示装置600以外の出力装置に接続され、出力装置を制御するコントローラを備えてもよい。学習装置100は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置100は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC(Personal Computer)等であってもよい。
<判定装置のハードウェア構成>
図4は、図2に示す判別装置のハードウェア構成の一例を示す概略図である。図4に示されるとおり、判別装置200は、CPU210と、RAM211と、ROM212と、通信インターフェース213と、外部インターフェース214と、入力インターフェース215と、表示コントローラ216と、ドライブ217と、ストレージ220とを含む。これらの各部は、バスを介して互いにデータ通信可能に接続される。
CPU210は、ストレージ220にインストールされたプログラム(コード)をRAM211に展開して、これらを所定順序で実行することで、各種の演算を実施する。RAM211は、典型的には、DRAMなどの揮発性の記憶装置である。
通信インターフェース213は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインターフェースである。判別装置200は、通信インターフェース213を利用することで、他の情報処理装置(例えば、学習装置100)とデータ通信を行なうことができる。
外部インターフェース214は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインターフェースである。外部インターフェース214の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、判別装置200は、外部インターフェース214を介して、カメラ300に接続される。
カメラ300は、外観検査の対象となる対象物2を写した画像3を取得するのに利用される。カメラ300の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ300には、例えば、一般的なデジタルカメラ、深度カメラ、赤外線カメラ等が用いられてよい。また、カメラ300は、製造ラインにより搬送される対象物2を観測可能なように適宜配置されてよい。カメラ300は、例えば、対象物2を搬送する製造ラインの近傍に配置されてよい。なお、カメラ300が通信インターフェースを備える場合、判別装置200は、外部インターフェース214ではなく、通信インターフェース213を介して、カメラ300に接続されてもよい。
入力インターフェース215は、CPU210と図示しない入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェース215は、ユーザが入力装置に入力した入力情報を受け付ける。
表示コントローラ216は、図示しない表示装置と接続され、CPU210における処理結果などをユーザに通知するように表示装置の画面を制御する。
ストレージ220は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。ストレージ220は、判別プログラム221、モデル7等の各種情報を記憶する。
判別プログラム221は、学習装置100により生成されたモデル7を利用して、画像3に写る対象物2の属性を判別する情報処理を判別装置200に実行させるためのプログラムである。本実施の形態では、対象物2の属性を判別する情報処理は、対象物2の良否を判別する情報処理である。判別プログラム221は、当該情報処理の一連の命令を含む。
ドライブ217は、例えば、CDドライブ、DVDドライブ等であり、図示しない記憶媒体に記憶されたプログラムを読み込むためのドライブ装置である。判別プログラム221およびモデル7のうちの少なくともいずれかは、記憶媒体に記憶されていてもよい。また、判別装置200は、記憶媒体から、判別プログラム221およびモデル7のうちの少なくともいずれかを取得してもよい。
<学習装置のソフトウェア構成>
図5は、学習装置のソフトウェア構成の一例を模式的に示す図である。図5に示されるように、学習装置100は、記憶部10と、ラベル付与部11と、取得部12と、能動学習部13と、を備える。記憶部10は、図3に示すストレージ120およびRAM111によって実現される。ラベル付与部11は、CPU110がラベル付与プログラム124に含まれる命令を解釈および実行することにより実現される。取得部12および能動学習部13は、CPU110が学習プログラム122に含まれる命令を解釈および実行することにより実現される。
記憶部10は、カメラ300の撮像によって得られた複数の画像3を記憶する。複数の画像3の各々には、対象物2が写る。
ラベル付与部11は、ユーザ操作に応じて、記憶部10が記憶する複数の画像3の各々にラベルを付与する。ラベルは、画像3に写る対象物2の属性を示す。本実施の形態では、ラベル付与部11は、良品の対象物2(欠陥のない対象物2)が写る画像3に対してラベル「良品」を付与する。ラベル付与部11は、欠陥のある対象物2が写る画像3に対してラベル「不良品」を付与する。
図6は、ラベル付与部によって提供されるユーザインターフェイス画面の一例を示す図である。図6に示すユーザインターフェイス画面70は、図3に示す表示装置600に表示される。
図6に示されるように、ユーザインターフェイス画面70は、画像リスト71と、良品画像リスト72と、不良品画像リスト73と、領域74と、追加ボタン75a,75bと、移動ボタン76と、ボタン78と、を含む。
画像リスト71は、記憶部10が記憶する複数の画像3のリストである。良品画像リスト72は、複数の画像3のうち良品の対象物2の写る画像3の一覧を示す。不良品画像リスト73は、複数の画像3のうち不良品の対象物2の写る画像3の一覧を示す。領域74には、画像リスト71、良品画像リスト72および不良品画像リスト73の中から選択された1つの画像3が表示される。
追加ボタン75aは、画像リスト71の中から選択された画像3を良品画像リスト72に追加するためのボタンである。ユーザは、領域74を見ながら、良品の対象物2の写る画像3を画像リスト71の中から選択し、追加ボタン75aを操作する。追加ボタン75aが操作されると、ラベル付与部11は、画像リスト71の中から選択された画像3を良品画像リスト72に追加する。これにより、良品画像リスト72も更新される。
追加ボタン75bは、画像リスト71の中から選択された画像3を不良品画像リスト73に追加するためのボタンである。ユーザは、領域74を見ながら、不良品の対象物2の写る画像3を画像リスト71の中から選択し、追加ボタン75bを操作する。追加ボタン75bが操作されると、ラベル付与部11は、画像リスト71の中から選択された画像3を不良品画像リスト73に追加する。これにより、不良品画像リスト73も更新される。
移動ボタン76は、良品画像リスト72および不良品画像リスト73の一方の中から選択された1つの画像3を他方に移動する操作を受け付けるためのボタンである。例えば、ユーザは、領域74を見ながら、良品画像リスト72に含まれる画像3に不良品の対象物2が写っていることを確認すると、当該画像3を選択し、移動ボタン76を操作する。あるいは、ユーザは、領域74を見ながら、不良品画像リスト73に含まれる画像3に良品の対象物2が写っていることを確認すると、当該画像3を選択し、移動ボタン76を操作する。
良品画像リスト72の中の1つの画像3が選択された状態で移動ボタン76が操作されると、ラベル付与部11は、選択された画像3を良品画像リスト72から削除するとともに、選択された画像3を不良品画像リスト73に追加する。不良品画像リスト73の中の1つの画像3が選択された状態で移動ボタン76が操作されると、ラベル付与部11は、選択された画像3を不良品画像リスト73から削除するとともに、選択された画像3を良品画像リスト72に追加する。
ユーザは、複数の画像3の各々を良品画像リスト72および不良品画像リスト73のいずれかに分類した後、ボタン78を押下する。ボタン78が押下されると、ラベル付与部11は、良品画像リスト72に含まれる各画像3に対してラベル「良品」を付与し、不良品画像リスト73に含まれる各画像3に対してラベル「不良品」を付与する。
さらに、ラベル付与部11は、ユーザ操作に応じて、ラベル「不良品」が付与された画像3について、欠陥の写るエリアを特定する。
図7は、ラベル付与部によって提供されるユーザインターフェイス画面の別の例を示す図である。図7に示すユーザインターフェイス画面80は、図3に示す表示装置600に表示される。
図7に示されるように、ユーザインターフェイス画面80は、不良品画像リスト81と、領域83と、を含む。不良品画像リスト81は、ラベル「不良品」が付与された画像3の一覧を示す。領域83には、不良品画像リスト81において選択された画像3が表示される。ユーザは、領域83を確認しながら、欠陥Dを囲むように枠線84のサイズおよび位置を調整する。ラベル付与部11は、枠線84によって囲まれるエリアを欠陥の写るエリアとして記録する。ラベル付与部11は、不良品画像リスト81に含まれる各画像3に対して、記録したエリアを示す情報(以下、「欠陥位置情報」と称する。)を付与する。
図5に示す取得部12は、複数の画像3の中から選択された1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得する。取得部12は、ユーザ操作に応じて、複数の画像3の中から1以上の学習用画像を選択する。
図8は、取得部によって提供されるユーザインターフェイス画面の一例を示す図である。図8に示すユーザインターフェイス画面86は、図3に示す表示装置600に表示される。
図8に示されるように、ユーザインターフェイス画面86は、不良品画像リスト81と、良品画像リスト82と、を含む。良品画像リスト82は、ラベル「良品」が付与された画像3の一覧を示す。ユーザは、不良品画像リスト81および良品画像リスト82の各々において、学習用画像として使用する画像にマーカ87を付ける。図8に示す例では、不良品画像リスト81において、ファイル名「Img003.bmp」の画像3にマーカ87が付けられ、良品画像リスト82において、ファイル名「Img001.bmp」の画像3にマーカ87が付けられている。取得部12は、マーカ87が付けられた画像3を学習用画像として選択する。
取得部12は、1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことによりモデル7を生成する。取得部12は、訓練データセット6に含まれる学習用画像と学習用画像に付与されたラベルとに基づいて、最適なモデル7を生成する。取得部12は、不良品である対象物2の写る学習用画像に対して付与された欠陥位置情報をさらに用いて機械学習を行なってもよい。学習用画像とともに欠陥位置を学習することにより、欠陥位置が特定され、検査精度が向上する。画像とともに欠陥位置を機械学習する手法として、公知の技術(例えば、山根達郎、全邦釘、“Deep learningによるSemantic Segmentationを用いたコンクリート表面ひび割れの検出”、構造工学論文集、Vol.65A(2019)(非特許文献2))が用いられる。機械学習アルゴリズムとして、公知のアルゴリズム(例えば、線形識別、ベイズ識別、ロジスティック回帰、サポートベクターマシン、決定木、K近傍法、ニューラルネットワーク、局所外れ値因子法、混合正規分布法など)が採用され得る。
図9は、モデルの取得方法を説明する図である。図9に示すモデル7は、入力画像から特徴空間上の特徴量を算出し、算出した特徴量と判別境界60との位置関係に基づいて、入力画像に写る対象物2の属性を判別する。取得部12は、訓練データセット6を用いて、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点63とラベル「不良品」が付与された学習用画像から算出される特徴量に対応する点64との距離が最大となるような特徴空間と判別境界60とを定義するモデル7を生成する。判別境界60は、特徴空間において、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点が存在する領域61と、ラベル「不良品」が付与された学習用画像から算出される特徴量に対応する点が存在する領域62との境界である。
なお、図8を用いて選択される学習用画像の個数は少ない。そのため、取得部12によって取得されるモデル7(初期のモデル7)の判別精度は低い。
図5に示す能動学習部13は、モデル7の判別精度を向上させるために、1回以上の能動学習処理を実行することによりモデル7を更新する。図1を参照して説明したように、1回以上の能動学習処理の各々は、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択することと、1以上の評価用画像4を用いたモデル7の評価結果が予め定められた基準を満たすまで再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像4の中から選択された1以上の追加画像を含むように訓練データセット6を更新することと、更新後の訓練データセット6を用いてモデル7の再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像4を選択することは、複数の画像3のうち学習に用いていない画像グループ8に含まれる画像3について、最新のモデル7による属性の判別の信頼度を示す評価値E1を算出することと、評価値E1に基づいて、画像グループ8の中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択することと、を含む。
能動学習部13は、能動学習処理の実行中または終了後に、能動学習処理の結果を示す画面を表示装置600に表示させてもよい。
図10は、評価値E1の種類の一例を示す図である。以下、複数の画像3のうち、ラベル「良品」が付与された画像3を「良品画像」と称し、ラベル「不良品」が付与された画像3を「不良品画像」と称する。図10において、各画像3について算出される評価値E1は、矢印の長さで表される。すなわち、図10に示す評価値E1は、特徴空間において、各画像3から算出される特徴量に対応する点と判別境界60との距離を示す。なお、評価値E1は、良品画像から算出される特徴量に対応する点が領域61(ラベル「良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、プラスの値をとる。評価値E1は、良品画像から算出される特徴量に対応する点が領域62(ラベル「不良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、マイナスの値をとる。評価値E1は、不良品画像から算出される特徴量に対応する点が領域62に存在する場合、プラスの値をとる。評価値E1は、不良品画像から算出される特徴量に対応する点が領域61に存在する場合、マイナスの値をとる。図10に示す評価値E1の場合、評価値E1が小さいほど、属性の判別の信頼度が低い。
図11は、評価値E1の種類の別の例を示す図である。図11において、各画像3について算出される評価値E1は、矢印の長さで表される。すなわち、図11に示す評価値E1は、特徴空間において、各画像3から算出される特徴量に対応する点と、当該画像3と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す。図11に示す評価値E1の場合、評価値E1が大きいほど、属性の判別の信頼度が低い。
なお、図10に示す評価値E1を用いる場合、判別しにくい画像3が評価用画像4として選択されやすくなるものの、訓練データセット6に含まれる画像3から算出される特徴量の分布が狭い範囲に偏りやすくなる。一方、図11に示す評価値E1を用いる場合、選択される1以上の評価用画像4から算出される特徴量の分布が広くなるものの、最も判別しにくい画像3が評価用画像4として選択されない可能性がある。そのため、評価値E1の種類は、対象物2に生じ得る欠陥に応じて適宜選択されることが好ましい。例えば、良品画像から算出される特徴量のばらつきが大きい場合には図11に示す評価値E1が適しており、当該ばらつきが小さい場合には図10に示す評価値E1が適している。
<学習装置の処理の流れ>
図12は、実施の形態に係る学習装置の処理の流れの一例を示すフローチャートである。図12に示されるように、学習装置100のCPU110は、複数の画像3を取得する(ステップS1)。複数の画像3は、カメラ300の撮像によって得られる。学習装置100は、カメラ300から複数の画像3を受けてもよいし、判別装置200から複数の画像3を受けてもよい。
次に、CPU110は、ユーザ操作に応じて、複数の画像3の各々に対して、当該画像3に写る対象物2の属性を示すラベルを付与する(ステップS2)。ステップS2において、CPU110は、ユーザ操作に応じて、ラベル「不良品」が付与された各画像3について欠陥位置を記録する。
次に、CPU110は、ユーザ操作に応じて複数の画像3の中から選択した1以上の学習用画像を含む、初期の訓練データセット6を決定する(ステップS3)。初期の訓練データセット6に含まれる学習用画像の数は少なくてよい。例えば、CPU110は、1つの良品画像と1つの不良品画像とを学習用画像として選択する。
次に、CPU110は、初期の訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得する(ステップS4)。
初期の訓練データセット6に含まれる学習用画像の数が少ないため、ステップS4で取得されるモデル7による属性の判別精度は低い。そのため、CPU110は、1回以上の能動学習処理を実行することによりモデル7を更新する(ステップS5)。
(ステップS5の参考例)
図13および図14を参照して、ステップS5の参考例について説明する。図13は、図12に示すステップS5の参考例のサブルーチンの流れを示すフローチャートである。図13には、ステップS101~S105の流れが示される。図14は、図13に示すフローチャートに従った能動学習処理を説明する図である。図14に示されるように、複数の画像3は、ラベル「良品」が付与された複数の良品画像30と、ラベル「不良品」が付与された複数の不良品画像32と、を含む。
図13に示されるように、ステップS101において、複数の画像3のうち学習に用いていない全ての画像3が評価用画像として選択される。図14に示す例では、複数の良品画像30のうち良品画像30aが学習用画像として選択されており、複数の不良品画像32のうち不良品画像32aが学習用画像として選択されている。そのため、良品画像30aを除く全ての良品画像30と、不良品画像32aを除く全ての不良品画像32とが評価用画像として選択される。
次にステップS102において、選択された全ての評価用画像を用いて最新のモデル7が評価される。具体的には、モデル7の判別精度と、各評価用画像について、属性の判別の信頼度を示す評価値E2とが算出される。判別精度として、例えば、対象物2の属性が「不良品」であると判別された良品画像の数と対象物2の属性が「良品」であると判別された不良品画像の数との和を評価用画像の総数で割った誤り率が算出される。評価値E2は、上記の評価値E1と同様の方法で算出される。すなわち、各評価用画像の評価値E1は、例えば、特徴空間における、当該評価用画像から算出される特徴量に対応する点と判別境界60との距離(図10参照)を示す。あるいは、各評価用画像の評価値E2は、当該評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離(図11参照)を示してもよい。図14に示す例では、評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す評価値E2が算出されている。そのため、評価値E2が大きいほど、属性の判別の信頼度が低い。
次にステップS103において、評価結果が終了基準を満たすか否かが判定される。終了基準は、誤り率が予め定められた第1閾値未満であるという第1基準を含む。終了基準は、さらに、複数の画像3のうち訓練データセット6に含まれる画像3の割合が第2閾値を超えるという第2基準を含んでもよい。終了基準が第1基準および第2基準を含む場合、第1基準および第2基準の少なくとも一方が満たされる場合に終了基準が満たされる。終了基準が満たされる場合(ステップS103でYES)、ステップS5は終了する。
終了基準が満たされない場合(ステップS103でNO)、評価値E2に基づいて、全ての評価用画像の中から、信頼度が相対的に低い評価用画像が追加画像として選択される(ステップS104)。図14に示す例では、ラベル「良品」が付与された評価用画像から、評価値E2が最大となる良品画像30bが追加画像として選択される。さらに、ラベル「不良品」が付与された評価用画像から、評価値E2が最大となる不良品画像32bが追加画像として選択される。
ステップS104の後のステップS105において、追加画像を含むように訓練データセット6が更新され、更新後の訓練データセット6を用いてモデル7が再学習される。信頼度が相対的に低い追加画像を含む訓練データセット6を用いた再学習が実行されることにより、モデル7による属性の判別精度が向上する。ステップS105の後、処理はステップS102に戻る。このようにして、モデル7の評価結果が終了基準を満たすまで、ステップS102~S105が繰り返し実行される。
図13および図14に示す参考例では、複数の画像3のうち学習に用いていない全ての画像3が評価用画像として選択されるため、ステップS102の実行に要する時間が長くなる。ステップS102は、モデル7の評価結果が終了基準を満たすまで繰り返し実行される。そのため、参考例に係るステップS5の実行に要する時間が長くなる。
(ステップS5の実施例1)
図15~図17を参照して、ステップS5の実施例1について説明する。図15は、能動学習処理の条件を設定するための画面の一例を示す図である。図16は、図12に示すステップS5の実施例1のサブルーチンの流れを示すフローチャートである。図17は、図16に示すフローチャートに従った能動学習処理を説明する図である。
実施例1では、学習装置100のCPU110は、図15に示す画面90への入力に従って、事前に能動学習処理の条件を設定する。図15に示されるように、画面90は、入力欄91~93を含む。
入力欄91には、評価用画像の個数が入力される。CPU110は、入力欄91への入力に従って、複数の画像3から選択される評価用画像の個数を設定する。
入力欄92には、終了基準に含まれる第1基準を規定する第1閾値(誤り率閾値)が入力される。CPU110は、入力欄93への入力に従って、第1閾値を設定する。
入力欄93には、終了基準に含まれ得る第2基準を規定する第2閾値(学習用画像の最大割合)が入力される。CPU110は、入力欄93への入力に従って、第2閾値を設定する。
図16に示されるように、学習装置100のCPU110は、複数の画像3のうち学習に用いていない各画像3について、モデル7による属性の判別の信頼度を示す評価値E1を算出する(ステップS11)。図17に示す例では、複数の画像3は、ラベル「良品」が付与された複数の良品画像30と、ラベル「不良品」が付与された複数の不良品画像32と、を含む。そして、複数の良品画像30のうち良品画像30aが学習用画像として選択されており、複数の不良品画像32のうち不良品画像32aが学習用画像として選択されている。そのため、CPU110は、良品画像30aを除く良品画像30の画像グループ8gにモデル7を適用し、画像グループ8gに含まれる各良品画像30について評価値E1を算出する。さらに、CPU110は、不良品画像32aを除く不良品画像32の画像グループ8ngにモデル7を適用し、画像グループ8ngに含まれる各不良品画像32について評価値E1を算出する。
次に、CPU110は、評価値E1に基づいて、複数の画像3のうち学習に用いていない画像グループの中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択する(ステップS12)。図17に示す例では、画像グループ8g,8ngの中から、信頼度が相対的に低い良品画像30および不良品画像32が評価用画像40,42としてそれぞれ選択される。評価用画像40は、ラベル「良品」が付与された画像3である。評価用画像42は、ラベル「不良品」が付与された画像3である。CPU110は、事前に設定された個数だけ評価用画像を選択する。図17に示す例では、CPU110は、6個の評価用画像40からなる評価用画像グループ9gと4個の評価用画像42からなる評価用画像グループ9ngとを選択している。なお、評価用画像40の個数と評価用画像42の個数との比は、予め定められる。
次に、CPU110は、1以上の評価用画像4(評価用画像40,42)を用いて最新のモデル7を評価する(ステップS13)。具体的には、CPU110は、ステップS102と同様に、モデル7の判別精度として誤り率を算出するとともに、各評価用画像4について、属性の判別の信頼度を示す評価値E2とを算出する。図17に示す例では、各評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す評価値E2が算出されている。そのため、評価値E2が大きいほど、属性の判別の信頼度が低い。
次に、CPU110は、評価結果が終了基準を満たすか否かを判定する(ステップS14)。終了基準は、誤り率が予め定められた第1閾値未満であるという第1基準を含む。終了基準は、さらに、複数の画像3のうち訓練データセットに含まれる画像3の割合が第2閾値を超えるという第2基準を含んでもよい。終了基準が第1基準および第2基準を含む場合、第1基準および第2基準の少なくとも一方が満たされる場合に終了基準が満たされる。第1基準および第2基準は、図15に示す画面90を用いて事前に設定される。終了基準が満たされる場合(ステップS14でYES)、ステップS5は終了する。第2基準を終了基準に含めることにより、不適切な状態にモデル7が収束し、再学習を多数回繰り返しても第1基準が満たされない場合であっても、ステップS5を終了させることができる。
なお、終了基準が第2基準を含む場合、CPU110は、複数の良品画像30のうち訓練データセット6に含まれる良品画像30の割合aと、複数の不良品画像32のうち訓練データセット6に含まれる不良品画像32の割合bと、を算出する。CPU110は、割合aおよび割合bの両方が第2閾値を超える場合に、第2基準が満たされると判定し、割合aおよび割合bのうちの少なくとも一方が第2閾値以下である場合に、第2基準が満たされないと判定する。
終了基準が満たされない場合(ステップS14でNO)、CPU110は、評価値E2に基づいて、信頼度が相対的に低い評価用画像4を追加画像としてそれぞれ選択する(ステップS15)。図17に示す例では、評価用画像グループ9gから、評価値E2が最大となる評価用画像40aが追加画像として選択される。さらに、評価用画像グループ9ngから、評価値E2が最大となる評価用画像42aが追加画像として選択される。
なお、終了基準が第2基準を含む場合、CPU110は、上記の割合aが第2閾値以下である場合に、評価用画像グループ9gから追加画像を選択し、上記の割合bが第2閾値以下である場合に、評価用画像グループ9ngから追加画像を選択する。言い換えると、CPU110は、割合aが第2閾値を超える場合に、評価用画像グループ9gから追加画像を選択せず、割合bが第2閾値を超える場合に、評価用画像グループ9ngから追加画像を選択しない。
ステップS15の後、CPU110は、追加画像を含むように訓練データセット6を更新し、更新後の訓練データセット6を用いてモデル7を再学習する(ステップS16)。信頼度が相対的に低い追加画像を含む訓練データセット6を用いた再学習が実行されることにより、モデル7による属性の判別精度が向上する。ステップS16の後、処理はステップS13に戻る。このようにして、モデル7の評価結果が終了基準を満たすまで、ステップS13~S16が繰り返し実行される。
図16および図17に示す実施例1では、複数の画像3のうち学習に用いていない画像グループ8g,8ngのうちの一部の画像3が評価用画像として選択される。そのため、ステップS13の実行に要する時間は、図13に示すステップS102の実行に要する時間よりも短縮される。その結果、実施例1に係るステップS5の実行に要する時間が短縮される。
(ステップS5の実施例2)
図18~図20を参照して、ステップS5の実施例2について説明する。図18は、図12に示すステップS5の実施例2のサブルーチンの流れを示すフローチャートである。
実施例2でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例2のステップS5は、2回の能動学習処理を含む。そのため、CPU110は、2回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、評価用画像の個数は、2回の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。2回目の能動学習処理の第1閾値は、1回目の能動学習処理の第1閾値よりも小さく設定される。2回目の能動学習処理の第2閾値は、1回目の能動学習処理の第2閾値以上に設定される。
図18に示されるように、学習装置100のCPU110は、ステップS21において1回目の能動学習処理を実行し、次のステップS22において2回目の能動学習処理を実行する。
図19は、図18に示すステップS21のサブルーチンの流れを示すフローチャートである。図20は、図19に示すフローチャートに従った能動学習処理を説明する図である。
図19に示されるように、CPU110は、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択する(ステップS31)。予め定められたルールは、例えば、ファイル名または撮像日時に従って並べたときに所定番目に位置する画像3を選択するというルールである。CPU110は、事前に設定された個数だけ評価用画像を選択する。図20に示す例では、CPU110は、6個の評価用画像40からなる評価用画像グループ9g’と4個の評価用画像42からなる評価用画像グループ9ng’とを選択している。なお、評価用画像40の個数と評価用画像42の個数との比は、予め定められる。
次に、CPU110は、ステップS32~S35を実行する。ステップS32~S35の処理内容は、図16に示すステップS13~S16とそれぞれ同じである。そのため、ステップS32~S35の詳細な説明を省略する。なお、図20に示す例では、ステップS34において、評価用画像グループ9g’から、評価値E2が最大となる評価用画像40bが追加画像として選択される。さらに、評価用画像グループ9ng’から、評価値E2が最大となる評価用画像42bが追加画像として選択される。
図18に示すステップS22のサブルーチンの処理の流れは、図16に示すフローチャートと同じである。すなわち、評価値E1に基づいて、学習に用いていない画像グループ8の中から、信頼度が相対的に低い画像3が1以上の評価用画像4として選択される。そして、選択された1以上の評価用画像4を用いて、モデル7の評価結果が終了基準を満たすまで、再学習処理が繰り返し実行される。なお、ステップS22において、学習に用いていない画像グループ8は、ステップS3で決定された学習用画像およびステップS21で選択された追加画像以外の画像3を含む。
上述したように、初期の訓練データセット6に含まれる学習用画像の数が少ないため、ステップS4で取得される初期のモデル7による属性の判別精度は低い。そのため、初期のモデル7を用いて算出される評価値E1に基づいて1以上の評価用画像4を選択した場合、学習に適した画像が評価用画像4として選択されない可能性がある。その結果、モデル7の再学習によって、不適切な状態にモデル7が収束し、再学習処理を繰り返しても、モデル7の判別精度が第1基準を満たさない可能性がある。
しかしながら、実施例2によれば、1回目の能動学習処理では、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、画像グループ8の中から1以上の評価用画像4が選択される。そのため、1回目の能動学習処理によって、モデル7の判別精度がある程度高い状態に収束し、モデル7の判別精度が第1基準を満たしやすくなる。そして、2回目の能動学習処理では、1回目の能動学習処理によって判別精度がある程度向上したモデル7を適用することにより得られる評価値E1に基づいて、学習に適した画像が評価用画像4として選択される。その結果、判別精度の高いモデル7がより短時間で生成される。
(ステップS5の実施例3)
図21を参照して、ステップS5の実施例3について説明する。図21は、図12に示すステップS5の実施例3のサブルーチンの流れを示すフローチャートである。
実施例3でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例3のステップS5は、M+N回の能動学習処理を含む。そのため、CPU110は、M+N回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、M,Nは、1以上の整数である。ただし、M,Nのうち少なくとも1つは2以上である。
なお、評価用画像の個数は、M+N回の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。i回目の能動学習処理の第1閾値は、i-1回目の能動学習処理の第1閾値よりも小さく設定される(iは2以上の整数)。i回目の能動学習処理の第2閾値は、i-1回目の能動学習処理の第2閾値以上に設定される。
図21に示されるように、学習装置100のCPU110は、1回目~M回目の能動学習処理を順に実行し(ステップS21_1~S21_M)、次にM+1回目~M+N回目の能動学習処理を順に実行する(ステップS22_1~S22_N)。
図21に示すステップS21_1~S21_Mの各々のサブルーチンの処理の流れは、図19に示すフローチャートと同じである。すなわち、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4が選択される。そして、選択された1以上の評価用画像4を用いて、モデル7の評価結果が終了基準を満たすまで、再学習処理が繰り返し実行される。なお、ステップS21_kにおいて、学習に用いていない画像グループ8は、ステップS3で決定された学習用画像およびステップS21_1~S21_k-1で選択された追加画像以外の画像3を含む。
なお、ステップS21_1~S21_Mにおける評価用画像4の選択方法は、互いに異なっていてもよい。例えば、ステップS21_1では、画像グループ8の中からランダムに1以上の評価用画像4が選択され、ステップS21_Mでは、画像グループ8の中から予め定められたルールに従って1以上の評価用画像4が選択されてもよい。この場合、CPU110は、ユーザ操作に応じて、1回目からM回目までの能動学習処理における評価用画像4の選択方法を事前に設定する。
また、ステップS21_kでは、画像グループ8のうち、ステップS21_1~ステップS21_k-1において選択された評価用画像4を除く画像3の中から1以上の評価用画像4が選択されてもよい。
ステップS22_1~S22_Nにおいて算出される評価値E1の種類(図10に示す評価値E1、図11に示す評価値E1)は、互いに異なっていてもよい。この場合、CPU110は、ユーザ操作に応じて、M+1回目からM+N回目までの能動学習処理における評価値E1の種類を事前に設定する。
(ステップS5の実施例4)
図22および図23を参照して、ステップS5の実施例4について説明する。図22は、図12に示すステップS5の実施例4のサブルーチンの流れを示すフローチャートである。
実施例4でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例4のステップS5は、3回の能動学習処理を含む。そのため、CPU110は、3回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、後述するように3回目の能動学習処理では、学習に用いていない全ての画像3が評価用画像4として選択される。そのため、CPU110は、3回の能動学習処理について評価用画像の個数を設定しない。実施例2と同様に、評価用画像の個数は、1回目および2回目の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。実施例3と同様に、i回目の能動学習処理の第1閾値は、i-1回目の能動学習処理の第1閾値よりも小さく設定される。i回目の能動学習処理の第2閾値は、i-1回目の能動学習処理の第2閾値以上に設定される。
図22に示されるように、学習装置100のCPU110は、ステップS21において1回目の能動学習処理を実行し、次のステップS22において2回目の能動学習処理を実行し、次のステップS23において3回目の能動学習処理を実行する。図22に示すステップS21のサブルーチンの処理の流れは、図19に示すフローチャートと同じである。図22に示すステップS22のサブルーチンの処理の流れは、図16に示すフローチャートと同じである。
図23は、図22に示すステップS23のサブルーチンの流れを示すフローチャートである。図23に示されるように、CPU110は、複数の画像3のうち学習に用いていない全ての画像3を評価用画像4として選択する(ステップS41)。すなわち、CPU110は、ステップS3で決定した学習用画像およびステップS21,S22で選択した追加画像以外の画像3の全てを評価用画像4として選択する。
次に、CPU110は、ステップS42~S45を実行する。ステップS42~S45の処理内容は、図16に示すステップS13~S16とそれぞれ同じである。そのため、ステップS42~S45の詳細な説明を省略する。
実施例4によれば、3回目の能動学習処理において、学習に用いていない画像3の全てが評価用画像4として選択される。そのため、モデル7の判別精度をより正確に評価できる。
(ステップS5の実施例5)
ステップS5の実施例5は、上記の実施例3,4を組み合わせる。すなわち、ステップS5の実施例5は、図21に示すステップS21_1~S21_M,S22_1~S22_Nと、ステップS22_Nの後に実行される図22に示すステップS23と、を含む。
<能動学習処理の結果>
図24は、能動学習処理の結果を示す画面の一例を示す図である。図24に示す画面95は、CPU110によって生成され、表示装置600に表示される。
図24に示されるように、画面95は、不良品画像リスト81と良品画像リスト82とを含む。画面95において、不良品画像リスト81および良品画像リスト82の各々は、学習用画像として選択された画像3を識別するマーカ87と、1回以上の能動学習処理において追加画像として選択された画像3を識別するマーカ88と、を含む。これにより、ユーザは、複数の画像3のうち学習に用いられた画像3を把握できる。
図25は、能動学習処理の結果を示す画面の別の例を示す図である。図25に示す画面50は、CPU110によって生成され、能動学習処理の実行中に表示装置600に表示される。
図25に示されるように、画面50は、モデル7の評価結果である誤り率の推移を示すグラフ51と、表示欄52と、を含む。図25に示す画面50は、上記の実施例2に従った2回目の能動学習処理(ステップS22)における12回目の再学習処理の実施中に表示される。そのため、グラフ51には、1回目の能動学習処理(ステップS21)で算出された誤り率と、2回目の能動学習処理における1回目から11回目の再学習処理で算出された誤り率との推移が示される。
表示欄52には、2回目の能動学習処理において選択された評価用画像4の総数に対する、追加画像として選択された評価用画像4の個数の比率が表示される。図25に示す例では、ユーザは、ラベル「良品」が付与されている224個の評価用画像のうち12個が追加画像として選択済みであり、ラベル「不良品」が付与されている12個の評価用画像のうち6個が追加画像として選択済みであることを確認できる。
<変形例1>
上記の説明では、複数の画像3が複数の良品画像30と複数の不良品画像32とを含み、複数の良品画像30と複数の不良品画像32との各々から1以上の学習用画像が選択される。しかしながら、対象物2によっては、欠陥が発生する頻度が非常に少ない場合がある。このような場合、複数の画像3は、複数の良品画像30と1以上の不良品画像32とを含む。数少ない不良品画像32を学習に用いてしまうと、モデル7の評価に使用する不良品画像32が不足する。このような場合、良品画像30のみを用いて機械学習を行なってもよい。
図26は、変形例1におけるモデルの取得方法を説明する図である。図26に示されるように、取得部12として動作するCPU110は、ラベル「良品」が付与された1以上の学習用画像を用いた機械学習を行なうことにより、入力画像から特徴空間上の特徴量を出力するモデル7’を取得する。CPU110は、1以上の学習用画像に対応する特徴量に対応する点間の距離が最小となるような特徴空間を定義するモデル7’を生成する。
CPU110は、学習に用いていない1以上の良品画像30および1以上の不良品画像32をモデル7’に入力し、良品画像30から得られる特徴量に対応する点65と不良品画像32から得られる特徴量に対応する点66とを分離する判別境界60’を決定する。
変形例1に係る学習装置の処理の流れは、上記の実施の形態と同様に、図12に示すフローチャートに従う。ただし、ステップS4では、特徴空間を定義するモデル7’が取得され、判別境界60’が決定されない。
変形例1におけるステップS5のサブルーチンは、上記の実施の形態と同様に、上記の実施例1~4のいずれかに従う(図16,図18,図19,図21~図23参照)。ただし、図16のステップS11において、CPU110は、画像グループ8に含まれる各良品画像30に対してのみ評価値E1を算出する。そして、ステップS12において、CPU110は、評価値E1に基づいて、信頼度が相対的に低い1以上の良品画像30を評価用画像4として選択するとともに、1以上の不良品画像32を評価用画像4として選択する。また、図19のステップS31において、CPU110は、ランダムに、または、予め定められたルールに従って、画像グループ8に含まれる1以上の良品画像30を評価用画像4として選択するとともに、1以上の不良品画像32を評価用画像4として選択する。さらに、図16のステップS13,図19のステップS32および図23のステップS42において、CPU110は、1以上の評価用画像4をモデル7’に入力することにより得られる特徴量に基づいて判別境界60’を決定した上で、判別精度および評価値E2を算出する。
図27は、変形例1における能動学習処理を説明する図である。図27には、変形例1における、図16に示すフローチャート、図18および図22のステップS22、図21のステップS22_1~S22_Nに従った能動学習処理が示される。
図27に示されるように、複数の画像3は、複数の良品画像30と1以上の不良品画像32とを含む。初期のモデル7’は、複数の良品画像30から選択された学習用画像(図27では良品画像30a)を含む初期の訓練データセット6を用いた機械学習によって取得される。また、画像グループ8gは、学習に用いていない良品画像30を含む。
画像グループ8gの各良品画像30について評価値E1が算出され、評価値E1に基づいて、判別の信頼度が相対的に低い良品画像30が評価用画像4(評価用画像40)として選択される。さらに、1以上の不良品画像32も評価用画像4として選択される。なお、ラベル「良品」が付与された評価用画像40は、画像グループ評価用を構成する。
そして、1以上の評価用画像4をモデル7’に入力することにより得られる特徴量に基づいて判別境界60’が決定される。具体的には、特徴空間において、1以上の評価用画像40から算出される特徴量に対応する点が存在する領域と、1以上の不良品画像32から算出される特徴量に対応する点が存在する領域とを分離する判別境界60’が決定される。
さらに、1以上の評価用画像4を用いたモデル7’の評価結果が終了基準を満たすまで、評価用画像グループ9gに含まれる各評価用画像40について評価値E2が算出され、評価値E2に基づいて、信頼度の相対的に低い評価用画像40が追加画像として選択される。そして、追加画像を含むように訓練データセット6が更新され、更新後の訓練データセット6を用いてモデル7’が再学習される。
図28は、変形例1における評価値E1,E2の一例を示す図である。図28において、良品画像30について算出される評価値E1,E2は、矢印の長さで表される。すなわち、図10に示す評価値E1,E2は、特徴空間において、良品画像30から算出される特徴量に対応する点と判別境界60’との距離を示す。なお、評価値E1,E2は、良品画像30から算出される特徴量に対応する点が領域67(ラベル「良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、プラスの値をとる。評価値E1,E2は、良品画像30から算出される特徴量に対応する点が領域67とは異なる領域68に存在する場合、マイナスの値をとる。図28に示す評価値E1,E2の場合、評価値E1,E2が小さいほど、属性の判別の信頼度が低い。
図29は、変形例1における評価値E1,E2の別の例を示す図である。図29において、良品画像30について算出される評価値E1,E2は、矢印の長さで表される。すなわち、図29に示す評価値E1,E2は、特徴空間において、良品画像30から算出される特徴量に対応する点と、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点との最短距離を示す。図29に示す評価値E1,E2の場合、評価値E1,E2が大きいほど、属性の判別の信頼度が低い。
変形例1によれば、ステップS4において、判別境界60’が決定されていない。そのため、変形例1におけるステップS5のサブルーチンが上記の実施例1に従う場合、ステップS11において、図29に示す評価値E1が算出される。
変形例1におけるステップS5のサブルーチンが上記の実施例2~4のいずれかに従う場合、評価値E1を算出する前に判別境界60’が決定されている。そのため、ステップS22,S22_1~S22_Nにおいて、図28または図29のいずれかに示す評価値E1が算出される。
<変形例2>
上記の実施の形態では、CPU110は、図15に示す画面90への入力に従って、評価用画像4の個数を設定する。しかしながら、CPU110は、評価用画像4の個数の代わりに、画像グループ8に含まれる画像3の個数に対する評価用画像4の個数の割合を設定してもよい。この場合、CPU110は、設定された割合となるように、画像グループ8の中から評価用画像4を選択すればよい。
<変形例3>
上記の実施の形態では、対象物2に欠陥が存在するか否かを検出する場面を示している。しかしながら、本開示の適用範囲は、このような外観検査の例に限られる訳ではない。本開示は、例えば、対象物2の写る画像から何らかの特徴を検出するあらゆる場面に適用可能である。対象物2は、静止している物体に限定されず、人物、車両(例えば、自動車)等の移動し得る物体であってもよい。
§3 付記
以上のように、本実施の形態は以下のような開示を含む。
(構成1)
学習装置(100)であって、
訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得する取得部(12,110)と、
1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新する能動学習部(13,110)と、を備え、
前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
前記1回以上の能動学習処理の各々は、
前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
前記再学習処理は、
前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、学習装置(100)。
(構成2)
前記再学習処理は、
前記1以上の評価用画像(4,40,42)の各々について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第2評価値を算出することと、
前記第2評価値に基づいて、前記1以上の評価用画像(4,40,42)の中から、信頼度が相対的に低い評価用画像(40a,42a)を前記1以上の追加画像として選択することと、をさらに含む、構成1に記載の学習装置(100)。
(構成3)
前記モデル(7,7’)は、前記入力画像の特徴を示す特徴量を出力し、
前記特徴量は、前記属性を判別するための判別境界(60,60’)と比較され、
前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と前記判別境界(60,60’)との距離を示す、構成1または2に記載の学習装置。
(構成4)
前記モデル(7,7’)は、前記入力画像の特徴を示す特徴量を出力し、
前記画像グループ(8,8g,8ng)に含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と、最新の前記モデル(7,7’)の学習に用いられ、かつ前記対象画像と同じラベルが付与された画像から算出される前記特徴量との距離を示す、構成1または2に記載の学習装置(100)。
(構成5)
前記1回以上の能動学習処理は、M回の能動学習処理と、前記M回の能動学習処理の後に実行され、前記少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含み、MおよびNは、1以上の整数であり、
前記M回の能動学習処理において、前記1以上の評価用画像を選択することは、前記第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、前記画像グループの中から前記1以上の評価用画像(4,40,42)を選択することを含む、構成1から4のいずれかに記載の学習装置(100)。
(構成6)
前記1回以上の能動学習処理は、前記N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含み、
前記M+N+1回目の能動学習処理において、前記1以上の評価用画像を選択することは、前記画像グループに含まれる全ての画像を前記1以上の評価用画像(4,40,42)として選択することを含む、構成5に記載の学習装置(100)。
(構成7)
Nは、2以上の整数であり、
前記N回の能動学習処理において、前記画像グループ(8,8g,8ng)の中から選択される評価用画像の個数、前記第1評価値の種類、および前記終了基準の少なくとも1つは、互いに異なる、構成5または6に記載の学習装置(100)。
(構成8)
Mは、2以上の整数であり、
前記M回の能動学習処理において、前記画像グループ(8,8g,8ng)の中から選択される評価用画像の個数、前記1以上の評価用画像の選択方法、および前記終了基準の少なくとも1つは、互いに異なる、構成5から7のいずれかに記載の学習装置(100)。
(構成9)
前記ラベルは、前記対象物(2)が良品であることを示す第1ラベルと、前記対象物(2)が不良品であることを示す第2ラベルと、を含み、
前記複数の画像(3)は、前記第1ラベルが付与された複数の良品画像(30)と、前記第2ラベルが付与された1以上の不良品画像(32)と、を含み、
前記1以上の学習用画像は、前記複数の良品画像(30)から選択され、
前記1以上の評価用画像は、前記画像グループ(8g)から選択される1以上の良品画像(30)と、前記1以上の不良品画像(32)と、を含み、
前記第1評価値は、前記画像グループ(8g)に含まれる各良品画像に対して算出される、構成1から8のいずれかに記載の学習装置(100)。
(構成10)
学習方法であって、
コンピュータ(100)が、訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得するステップ(S4)と、
前記コンピュータ(100)が、1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新するステップ(S5)と、を備え、
前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
前記1回以上の能動学習処理の各々は、
前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
前記再学習処理は、
前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、学習方法。
(構成11)
コンピュータに、
訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得するステップと、
1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新するステップと、を実行させ、
前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
前記1回以上の能動学習処理の各々は、
前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
前記再学習処理は、
前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、プログラム。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 システム、2 対象物、3,3a 画像、4,4a,40,40a,40b,42,42a,42b 評価用画像、6 訓練データセット、7,7’ モデル、8,8g,8ng 画像グループ、9g,9ng,9g’,9ng’ 評価用画像グループ、10 記憶部、11 ラベル付与部、12 取得部、13 能動学習部、30,30a,30b 良品画像、32,32a,32b 不良品画像、50,90,95 画面、51 グラフ、52 表示欄、60,60’ 判別境界、61,62,67,68,74,83 領域、70,80,86 ユーザインターフェイス画面、71 画像リスト、72,82 良品画像リスト、73,81 不良品画像リスト、75a,75b 追加ボタン、76 移動ボタン、78 ボタン、84 枠線、87,88 マーカ、91,92,93 入力欄、100 学習装置、110,210 CPU、111,211 RAM、112,212 ROM、113,213 通信インターフェース、114,215 入力インターフェース、115,216 表示コントローラ、116,217 ドライブ、120,220 ストレージ、122 学習プログラム、124 ラベル付与プログラム、130 記憶媒体、200 判別装置、214 外部インターフェース、221 判別プログラム、300 カメラ、600 表示装置、700 入力装置、D 欠陥。

Claims (11)

  1. 学習装置であって、
    訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得する取得部と、
    1回以上の能動学習処理を実行することにより前記モデルを更新する能動学習部と、を備え、
    前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
    前記1回以上の能動学習処理の各々は、
    前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
    前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
    前記再学習処理は、
    前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
    更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
    前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
    前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
    前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、学習装置。
  2. 前記再学習処理は、
    前記1以上の評価用画像の各々について、最新の前記モデルによる前記属性の判別の信頼度を示す第2評価値を算出することと、
    前記第2評価値に基づいて、前記1以上の評価用画像の中から、信頼度が相対的に低い評価用画像を前記1以上の追加画像として選択することと、をさらに含む、請求項1に記載の学習装置。
  3. 前記モデルは、前記入力画像の特徴を示す特徴量を出力し、
    前記特徴量は、前記属性を判別するための判別境界と比較され、
    前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と前記判別境界との距離を示す、請求項1に記載の学習装置。
  4. 前記モデルは、前記入力画像の特徴を示す特徴量を出力し、
    前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と、最新の前記モデルの学習に用いられ、かつ前記対象画像と同じラベルが付与された画像から算出される前記特徴量との距離を示す、請求項1に記載の学習装置。
  5. 前記1回以上の能動学習処理は、M回の能動学習処理と、前記M回の能動学習処理の後に実行され、前記少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含み、MおよびNは、1以上の整数であり、
    前記M回の能動学習処理において、前記1以上の評価用画像を選択することは、前記第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、前記画像グループの中から前記1以上の評価用画像を選択することを含む、請求項1から4のいずれか1項に記載の学習装置。
  6. 前記1回以上の能動学習処理は、前記N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含み、
    前記M+N+1回目の能動学習処理において、前記1以上の評価用画像を選択することは、前記画像グループに含まれる全ての画像を前記1以上の評価用画像として選択することを含む、請求項5に記載の学習装置。
  7. Nは、2以上の整数であり、
    前記N回の能動学習処理において、前記画像グループの中から選択される評価用画像の個数、前記第1評価値の種類、および前記終了基準の少なくとも1つは、互いに異なる、請求項5に記載の学習装置。
  8. Mは、2以上の整数であり、
    前記M回の能動学習処理において、前記画像グループの中から選択される評価用画像の個数、前記1以上の評価用画像の選択方法、および前記終了基準の少なくとも1つは、互いに異なる、請求項5に記載の学習装置。
  9. 前記ラベルは、前記対象物が良品であることを示す第1ラベルと、前記対象物が不良品であることを示す第2ラベルと、を含み、
    前記複数の画像は、前記第1ラベルが付与された複数の良品画像と、前記第2ラベルが付与された1以上の不良品画像と、を含み、
    前記1以上の学習用画像は、前記複数の良品画像から選択され、
    前記1以上の評価用画像は、前記画像グループから選択される1以上の良品画像と、前記1以上の不良品画像と、を含み、
    前記第1評価値は、前記画像グループに含まれる各良品画像に対して算出される、請求項1に記載の学習装置。
  10. 学習方法であって、
    コンピュータが、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、
    前記コンピュータが、1回以上の能動学習処理を実行することにより前記モデルを更新するステップと、を備え、
    前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
    前記1回以上の能動学習処理の各々は、
    前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
    前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
    前記再学習処理は、
    前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
    更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
    前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
    前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
    前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、学習方法。
  11. コンピュータに、
    訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、
    1回以上の能動学習処理を実行することにより前記モデルを更新するステップと、を実行させ、
    前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
    前記1回以上の能動学習処理の各々は、
    前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
    前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
    前記再学習処理は、
    前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
    更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
    前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
    前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
    前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、プログラム。
JP2022106027A 2022-06-30 2022-06-30 学習装置、学習方法およびプログラム Pending JP2024005710A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022106027A JP2024005710A (ja) 2022-06-30 2022-06-30 学習装置、学習方法およびプログラム
PCT/JP2023/008301 WO2024004278A1 (ja) 2022-06-30 2023-03-06 学習装置、学習方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022106027A JP2024005710A (ja) 2022-06-30 2022-06-30 学習装置、学習方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2024005710A true JP2024005710A (ja) 2024-01-17

Family

ID=89381960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022106027A Pending JP2024005710A (ja) 2022-06-30 2022-06-30 学習装置、学習方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2024005710A (ja)
WO (1) WO2024004278A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4121060B2 (ja) * 2002-01-10 2008-07-16 三菱電機株式会社 類識別装置及び類識別方法
JP2017211765A (ja) * 2016-05-24 2017-11-30 アイシン精機株式会社 物体認識装置
JP7404817B2 (ja) * 2019-11-27 2023-12-26 オムロン株式会社 学習装置、検出装置、学習方法、及び学習プログラム

Also Published As

Publication number Publication date
WO2024004278A1 (ja) 2024-01-04

Similar Documents

Publication Publication Date Title
TWI748122B (zh) 用於對多個項進行分類的系統、方法和電腦程式產品
US20020165839A1 (en) Segmentation and construction of segmentation classifiers
EP1906315A1 (en) Ontology-integration-position specifying apparatus, ontology-integration supporting method, and computer program product
US10573044B2 (en) Saliency-based collage generation using digital images
JP2015087903A (ja) 情報処理装置及び情報処理方法
JP2001135692A (ja) ハイブリッドで一様に適用可能な自動欠陥分類法
US11416711B2 (en) Defect detection system
US6754375B1 (en) Method and system for interactively developing at least one grid pattern and computer-readable storage medium having a program for executing the method
US10846889B2 (en) Color handle generation for digital image color gradients using machine learning
JP2019106119A (ja) 検出システム、情報処理装置、評価方法及びプログラム
JP2014137284A (ja) 教師データ作成支援装置、教師データ作成装置、画像分類装置、教師データ作成支援方法、教師データ作成方法および画像分類方法
JP2006292615A (ja) 外観検査装置、外観検査方法、コンピュータを外観検査装置として機能させるためのプログラムおよび記録媒体
US20240012966A1 (en) Method and system for providing a three-dimensional computer aided-design (cad) model in a cad environment
WO2024004278A1 (ja) 学習装置、学習方法およびプログラム
US20200279132A1 (en) Apparatus for processing labeled data to be used in learning of discriminator, method of controlling the apparatus, and non-transitory computer-readable recording medium
Aliu et al. Automatic classification and isolation of cracks on masonry surfaces using deep transfer learning and semantic segmentation
Hong et al. Hyperparameter optimization for convolutional neural network by opposite-based particle swarm optimization and an empirical study of photomask defect classification
US11941774B2 (en) Machine learning artificial intelligence system for producing 360 virtual representation of an object
JP2015075798A (ja) データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法
US7359537B2 (en) DNA microarray image analysis system
JP4418272B2 (ja) 欠陥分類辞書教示装置
JP6789460B1 (ja) 破面解析装置、学習済みモデル生成装置、破面解析方法、破面解析プログラム、および、学習済みモデル
US20240071059A1 (en) Active Learning Management System for Automated Inspection Systems
JP7321452B2 (ja) プログラム、情報処理装置、情報処理方法及び学習済みモデルの生成方法
Rana et al. Deep machine learning based Image classification in hard disk drive manufacturing