(57)【要約】【課題】学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる画像判定装置等を提供する。【解決手段】画像判定装置は、検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する学習モデルと、学習画像及びラベルデータを含む学習データを用いて、学習画像を学習モデルに入力した場合に、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習モデルを学習させる学習部と、学習データを複数のサブ学習データに分割する分割部と、複数のサブ学習データそれぞれを用いて学習部により学習モデルを学習させた場合の判定精度を測定する測定部と、判定精度に基づいて、複数のサブ学習データの少なくともいずれかを選択する選択部と、を備える。【選択図】図１
2020107102.tif 000002
【特許請求の範囲】
【請求項１】
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデルと、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデルに入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記学習モデルを学習させる学習部と、
前記学習データを複数のサブ学習データに分割する分割部と、
前記複数のサブ学習データそれぞれを用いて前記学習部により前記学習モデルを学習させた場合の判定精度を測定する測定部と、
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択する選択部と、
を備える画像判定装置。
【請求項２】
前記学習データを用いて前記学習部により前記学習モデルを学習させた場合の判定精度と、前記選択部により選択された前記サブ学習データを用いて前記学習部により前記学習モデルを学習させた場合の判定精度との比較に基づく所定の条件を満たす場合に、前記分割部、前記測定部及び前記選択部は、それぞれの処理を再帰的に繰り返す、
請求項１に記載の画像判定装置。
【請求項３】
前記分割部は、前記学習データを、互いに重複しない前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置。
【請求項４】
前記分割部は、前記学習データを、重複する場合がある前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置。
【請求項５】
前記分割部は、前記学習データを所定の基準でクラスタリングし、複数のクラスタから１又は複数の代表データを抽出することで、前記学習データを前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置。
【請求項６】
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデルを、学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデルに入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように学習させることと、
前記学習データを複数のサブ学習データに分割することと、
前記複数のサブ学習データそれぞれを用いて前記学習モデルを学習させた場合の判定精度を測定することと、
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択することと、
を含む学習データ管理方法。
【請求項７】
画像判定装置に備えられた演算部を、
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデル、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデルに入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記学習モデルを学習させる学習部、
前記学習データを複数のサブ学習データに分割する分割部、
前記複数のサブ学習データそれぞれを用いて前記学習部により前記学習モデルを学習させた場合の判定精度を測定する測定部、及び
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択する選択部、
として機能させる画像判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像判定装置、画像判定方法及び画像判定プログラムに関する。
【背景技術】
【０００２】
従来、ＦＡ（Factory Automation）分野では、画像処理を用いた自動制御が広く実用化されている。例えば、ワーク等の検査対象を撮像し、その撮像された画像から抽出された特徴量に基づいて、当該ワークについての良否を検査するような工程が実現される。
【０００３】
例えば特許文献１には、複数の撮像条件で撮像した検査対象の画像を学習用データに用いて学習した識別器の出力結果に基づいて、検査対象の欠陥の有無を判定する装置について開示されている。具体的には、特許文献１に記載の装置は、外観の良否が既知の対象物に対して、少なくとも２つの異なる撮像条件で撮像された画像に基づく少なくとも２つの画像のそれぞれから、当該画像の特徴量を抽出する学習用抽出手段と、前記学習用抽出手段により前記少なくとも２つの画像から抽出された特徴量を跨る特徴量から、対象物の良否を判定するための特徴量を選択する選択手段と、前記選択手段により選択された前記特徴量に基づいて、対象物の良否を判定する識別器を生成する生成手段と、を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−４９９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
検査対象の画像について学習モデルによって欠陥の有無やワーク種類等の判定を行う場合、画像と正しい判定結果とを含む学習データを用いて、画像を学習モデルに入力した場合に、正しい判定結果を出力するように、教師有り学習によって学習モデルを生成することがある。しかしながら、学習データの数を増やして追加学習を行うと、学習モデルの判定精度が向上しないか又は僅かにしか向上しない一方、学習処理に要する時間や演算量が増大することがある。
【０００６】
そこで、本発明は、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる画像判定装置、画像判定方法及び画像判定プログラムを提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る画像判定装置は、検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する学習モデルと、学習画像及びラベルデータを含む学習データを用いて、学習画像を学習モデルに入力した場合に、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習モデルを学習させる学習部と、学習データを複数のサブ学習データに分割する分割部と、複数のサブ学習データそれぞれを用いて学習部により学習モデルを学習させた場合の判定精度を測定する測定部と、判定精度に基づいて、複数のサブ学習データの少なくともいずれかを選択する選択部と、を備える。
【０００８】
この態様によれば、学習データより少ないデータ数のサブ学習データを用いて学習モデルを追加学習させることができ、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる。
【０００９】
上記態様において、学習データを用いて学習部により学習モデルを学習させた場合の判定精度と、選択部により選択されたサブ学習データを用いて学習部により学習モデルを学習させた場合の判定精度との比較に基づく所定の条件を満たす場合に、分割部、測定部及び選択部は、それぞれの処理を再帰的に繰り返してもよい。
【００１０】
この態様によれば、判定精度の低下を抑えたり、向上させたりしながら、学習データのデータ数を段階的に少なくして、学習処理に要する時間や演算量の増加をさらに抑制することができる。
【００１１】
上記態様において、分割部は、学習データを、互いに重複しない複数のサブ学習データに分割してもよい。
【００１２】
この態様によれば、学習モデルの学習に用いるデータ数を削減することができる。
【００１３】
上記態様において、分割部は、学習データを、重複する場合がある複数のサブ学習データに分割してもよい。
【００１４】
この態様によれば、学習モデルの学習に用いるデータ数を削減することができる。
【００１５】
上記態様において、分割部は、学習データを所定の基準でクラスタリングし、複数のクラスタから１又は複数の代表データを抽出することで、学習データを複数のサブ学習データに分割してもよい。
【００１６】
この態様によれば、学習モデルの学習に用いるデータ数を削減することができる。
【００１７】
本開示の他の態様に係る画像判定方法は、検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する学習モデルを、学習画像及びラベルデータを含む学習データを用いて、学習画像を学習モデルに入力した場合に、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習させることと、学習データを複数のサブ学習データに分割することと、複数のサブ学習データそれぞれを用いて学習モデルを学習させた場合の判定精度を測定することと、判定精度に基づいて、複数のサブ学習データの少なくともいずれかを選択することと、を含む。
【００１８】
この態様によれば、学習データより少ないデータ数のサブ学習データを用いて学習モデルを追加学習させることができ、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる。
【００１９】
本開示の他の態様に係る画像判定プログラムは、画像判定装置に備えられた演算部を、
検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する学習モデル、学習画像及びラベルデータを含む学習データを用いて、学習画像を学習モデルに入力した場合に、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習モデルを学習させる学習部、学習データを複数のサブ学習データに分割する分割部、複数のサブ学習データそれぞれを用いて学習部により学習モデルを学習させた場合の判定精度を測定する測定部、及び判定精度に基づいて、複数のサブ学習データの少なくともいずれかを選択する選択部、として機能させる。
【００２０】
この態様によれば、学習データより少ないデータ数のサブ学習データを用いて学習モデルを追加学習させることができ、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる。
【発明の効果】
【００２１】
本発明によれば、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる画像判定装置、画像判定方法及び画像判定プログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係る画像判定システムの構成例を示す図である。
【図２】本実施形態に係る画像判定装置のハードウェア構成を示す図である。
【図３】本実施形態に係る画像判定装置の機能ブロックを示す図である。
【図４】本実施形態に係る画像判定装置による学習データの分割例を示す図である。
【図５】本実施形態に係る画像判定装置により実行される画像判定処理の第１例のフローチャートである。
【図６】本実施形態に係る画像判定装置により実行される画像判定処理の第２例のフローチャートである。
【図７】本実施形態に係る画像判定装置により実行される画像判定処理の第３例のフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の一側面に係る実施の形態（以下「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２４】
§１  適用例
図１は、本発明の実施形態に係る画像判定システム１の構成例を示す図である。はじめに、本発明が適用される場面の一例について説明する。本実施形態に係る画像判定システム１は、検査対象を撮像することにより生成される入力画像を、画像判定装置１００が備える学習モデルによって解析し、欠陥検査や対象の分類を行う。学習モデルは、学習データを用いて、検査対象に関する欠陥の有無や検査対象の種類を分類するように事前に学習されていてよい。また、学習モデルは、学習データを複数のサブ学習データに分割して、いずれかを選択し、選択したサブ学習データを用いて追加学習されてよい。なお、検査対象は、例えば、製造過程にある、部品、製品等のワーク（Work piece）等を含む。
【００２５】
図１に示されるとおり、画像判定システム１は、例えば、ベルトコンベア２上を搬送される検査対象であるワーク４を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク４の外観検査又は外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク４表面における欠陥の有無の検査等に適用した例を説明するが、これに限らず、欠陥の種類の特定、欠陥の外観形状の寸法計測、ワーク４の種類の特定等にも応用が可能である。
【００２６】
ベルトコンベア２の上部には撮像部であるカメラ１０２が配置されており、カメラ１０２の撮像視野６はベルトコンベア２の所定領域を含むように構成される。カメラ１０２の撮像により生成された画像データ（以下、「入力画像」ともいう。）は、画像判定装置１００へ送信される。カメラ１０２による撮像は、周期的又はイベント発生時に実行される。
【００２７】
画像判定装置１００は、上位ネットワーク８を介して、ＰＬＣ（プログラマブルコントローラ）１０及びデータベース装置１２等と接続されている。画像判定装置１００における計測結果は、ＰＬＣ１０及び／又はデータベース装置１２へ送信されてもよい。なお、上位ネットワーク８には、ＰＬＣ１０及びデータベース装置１２に加えて、任意の装置が接続されるようにしてもよい。
【００２８】
画像判定装置１００は、処理中の状態や計測結果等を表示するためのディスプレイ１０４と、ユーザ操作を受け付ける入力部としてのキーボード１０６及びマウス１０８とが接続されていてもよい。
【００２９】
画像判定装置１００は機械学習によって生成された学習モデルを備えている。学習モデルは、検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する。学習モデルは、例えば、画像を入力として受け付けて、画像の特定の特徴を表す特徴データを出力する１又は複数の特徴抽出器と、１又は複数の特徴抽出器から出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する判定器とを含んでよい。ここで、１又は複数の特徴抽出器は、例えば、画像に含まれるエッジを抽出するエッジ抽出器、画像に含まれる平面領域を抽出する平面部抽出器、画像の背景模様を抽出する背景模様抽出器、画像に含まれる２値化領域を抽出する２値化領域抽出器等を含んでよい。１又は複数の特徴抽出器は、それぞれ人が理解しやすい単一の特徴を抽出するようなモデルであってよく、機械学習モデルであってもよいし、ルールベースモデルであってもよい。判定器は、１又は複数の特徴データを入力として受け付けて、画像に関する判定結果を表す出力データを出力する。出力データは、例えば、検査対象の欠陥の有無、欠陥の種類、欠陥の外観形状の寸法、検査対象の種類等を表すデータであってよい。判定器は、例えばニューラルネットワークで構成されてよく、学習データを用いて、所望の出力データを出力するように事前に学習されていてよい。
【００３０】
生産ライン上を流れるワーク４の種類や撮影条件等の検査条件は生産ラインによって様々であり、学習時の条件と必ずしも一致するとは限らない。このため、事前学習した学習モデルを生産ラインに用いると、誤った判定結果を出力することがある。そこで、学習モデルが正しく判定することができなかった画像を学習データに追加して、学習モデルの追加学習を行うことがある。この際、学習データの数を増やしも、学習モデルの判定精度が向上しないか又は僅かにしか向上しない一方、学習処理に要する時間や演算量が増大することがある。
【００３１】
本実施形態に係る画像判定装置１００は、このような事情に鑑み、学習データを複数のサブ学習データに分割し、複数のサブ学習データそれぞれを用いて学習モデルを学習させ、その判定精度に基づいて複数のサブ学習データの少なくともいずれかを選択する。結果として、選択されたサブ学習データと、そのサブ学習データを用いて学習された追加学習モデルとの組が得られ、画像判定装置１００は、より少ないデータ数で学習した追加学習モデルにより画像判定を行う。このように、学習モデルの追加学習を行う場合であっても、学習処理に要する時間や演算量の増加を抑制することができる。
【００３２】
§２  構成例
［ハードウェア構成］
図２は、本実施形態に係る画像判定装置１００のハードウェア構成を示す図である。画像判定装置１００は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。画像判定装置１００は、プロセッサ１１０と、メインメモリ（主記憶部）１１２と、カメラインターフェイス１１４と、入力インターフェイス１１６と、表示インターフェイス１１８と、通信インターフェイス１２０と、ストレージ（補助記憶部）１３０とを含む。これらのコンポーネントは、典型的には、内部バス１２２を介して互いに通信可能に接続されている。
【００３３】
プロセッサ１１０は、ストレージ１３０に格納されているプログラムをメインメモリ１１２に展開して実行することで、次図以降を用いて詳述するような機能及び処理を実現する。メインメモリ１１２は、揮発性メモリにより構成され、プロセッサ１１０によるプログラム実行に必要なワークメモリとして機能する。
【００３４】
カメラインターフェイスは取得部の一例である。カメラインターフェイス１１４は、カメラ１０２と接続されて、カメラ１０２にて撮像された入力画像を取得する。カメラインターフェイス１１４は、カメラ１０２に対して撮像タイミング等を指示するようにしてもよい。
【００３５】
入力インターフェイス１１６は、キーボード１０６及びマウス１０８等のユーザによる操作が行われる入力部と接続される。入力インターフェイス１１６は、ユーザが入力部に対して行った操作等を示す指令を取得する。
【００３６】
表示インターフェイス１１８は、表示部としてのディスプレイ１０４と接続されている。表示インターフェイス１１８は、プロセッサ１１０によるプログラムの実行によって生成される各種処理結果をディスプレイ１０４へ出力する。
【００３７】
通信インターフェイス１２０は、上位ネットワーク８を介して、ＰＬＣ１０及びデータベース装置１２等と通信するための処理を担当する。
【００３８】
ストレージ１３０は、学習モデル１３６を実現するための画像処理プログラム１３２及びＯＳ（operating system）１３４等、コンピュータを画像判定装置１００として機能させるためのプログラムを格納している。ストレージ１３０は、さらに、学習モデル１３６と、カメラ１０２から取得された入力画像１３８と、学習モデル１３６の学習に用いられる学習データ１４０とを格納していてもよい。なお、学習データ１４０は、データベース装置１２等の外部機器から上位ネットワーク８を介して取得されてよく、ストレージ１３０に一時的に格納されるものであってよい。
【００３９】
ストレージ１３０に格納される画像処理プログラム１３２は、ＤＶＤ（digital versatile disc）等の光学記録媒体又はＵＳＢ（universal serial bus）メモリ等の半導体記録媒体等を介して、画像判定装置１００にインストールされてもよい。あるいは、画像処理プログラム１３２は、ネットワーク上のサーバ装置等からダウンロードするようにしてもよい。
【００４０】
本実施の形態に係る画像処理プログラム１３２は、本実施の形態に係る機能を実現するためのすべてのソフトウェアモジュールを含んでおらず、ＯＳ１３４と協働することで、必要な機能が提供されるようにしてもよい。
【００４１】
本実施の形態に係る画像処理プログラム１３２は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム１３２自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施形態に係る画像処理プログラム１３２は、他のプログラムに組込まれた形態であってもよい。
【００４２】
図２には、汎用コンピュータを用いて画像判定装置１００を実現する例を示したが、これに限られることなく、その全部又は一部の機能を専用回路（例えば、ＡＳＩＣ（application specific integrated circuit）やＦＰＧＡ（field-programmable gate array）等）を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【００４３】
［機能構成］
図３は、本実施形態に係る画像判定装置１００の機能ブロックを示す図である。画像判定装置１００は、ストレージ１３０に格納された学習モデル１３６と、学習部１５０と、分割部１５２と、測定部１５４と、選択部１５６とを備える。
【００４４】
学習モデル１３６は、検査対象の画像に基づいて、画像に関する判定結果を表す出力データを出力する。学習モデル１３６は、任意の構成であってよいが、例えばニューラルネットワークにより構成されてよい。学習モデル１３６は、教師有り学習によって生成されてよく、教師有り学習には、ストレージ１３０に格納された学習データ１４０を用いてよい。
【００４５】
学習部１５０は、学習画像及びラベルデータを含む学習データ１４０を用いて、学習画像を学習モデル１３６に入力した場合に、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習モデル１３６を学習させる。学習モデル１３６がニューラルネットワークで構成される場合、学習部１５０は、バックプロパゲーションの方法で学習モデル１３６の学習処理を実行してよい。
【００４６】
分割部１５２は、学習データ１４０を複数のサブ学習データ１４２に分割する。分割部１５２は、学習データ１４０を、互いに重複しない複数のサブ学習データ１４２に分割してよい。例えば、分割部１５２は、学習データを、互いに重複しないようにランダムにＮ個のグループに分割することで、複数のサブ学習データ１４２を生成してよい。このようにして、学習モデルの学習に用いるデータ数を削減することができる。
【００４７】
分割部１５２は、学習データ１４０を、重複する場合がある複数のサブ学習データ１４２に分割してもよい。例えば、分割部１５２は、学習データから１つのデータを抜き取った残りのデータをサブ学習データとして、全データについて同様の処理を行うことで学習データのデータ数と同じ数のサブ学習データ１４２を生成してよい。この場合、サブ学習データ１４２のデータ数は、学習データ１４０のデータ数より１つ少なくなる。このようにして、学習モデルの学習に用いるデータ数を削減することができる。
【００４８】
分割部１５２は、学習データ１４０を所定の基準でクラスタリングし、複数のクラスタから１又は複数の代表データを抽出することで、学習データ１４０を複数のサブ学習データ１４２に分割してよい。例えば、分割部１５２は、学習データ１４０に含まれる学習画像の特徴を基準として学習データ１４０をクラスタリングし、複数のクラスタからランダムにそれぞれ１つのデータを抽出する処理を繰り返すことで、学習データ１４０を複数のサブ学習データ１４２に分割してよい。より具体的には、分割部１５２は、画像データ１４０の画素値をベクトルデータとし、例えばＫ−ｍｅａｎｓ法によりＫ個のクラスタをつくり、それぞれのクラスタからデータを抽出する処理を繰り返すことで、学習データ１４０を複数のサブ学習データ１４２に分割してよい。このようにして、学習モデルの学習に用いるデータ数を削減することができる。
【００４９】
測定部１５４は、複数のサブ学習データ１４２それぞれを用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度を測定する。判定精度は、学習データ１４０を用いて学習モデル１３６を学習させた場合の判定精度との差で表されてもよい。また、判定精度は、正確度（accuracy）、精度（precision）、Ｆ１値、ＲＯＣ（Receiver Operating Characteristic）曲線及びＡＵＣ（Area Under Curve）等の複数の基準で算出される複数の量を含んでもよい。具体的には、判定結果が真で正解の割合をＴＰ、判定結果が真で不正解の割合をＦＰ、判定結果が偽で正解の割合をＴＮ、判定結果が偽で不正解の割合をＦＮと表すとき、正確度は（ＴＰ＋ＴＮ）／（ＴＰ＋ＴＮ＋ＦＰ＋ＦＮ）で定義される量であり、精度はＴＰ／（ＴＰ＋ＦＰ）で定義される量であり、Ｆ１値は２ＴＰ／（２ＴＰ＋ＦＰ＋ＦＮ）で定義される量である。また、ＲＯＣ曲線は、横軸に偽陽性率ＦＰ／（ＦＰ＋ＴＮ）をとり、縦軸に真陽性率ＴＰ／（ＦＰ＋ＴＮ）をとって、判定のパラメータ（閾値等）を変化させた場合に描かれる曲線である。良いモデルのＲＯＣ曲線は、偽陽性率が低くかつ真陽性率が高くなるような急峻な立ち上がりを有し、ランダムな判定に近いモデルのＲＯＣ曲線は、４５°の傾きの直線に近づく。ＡＵＣは、ＲＯＣ曲線の積分（曲線下の面積）で定義される。
【００５０】
選択部１５６は、判定精度に基づいて、複数のサブ学習データ１４２の少なくともいずれかを選択する。選択部１５６は、複数のサブ学習データ１４２それぞれを用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度が最も良いサブ学習データ１４２を選択してよい。判定精度が複数の量を含む場合、選択部１５６は、特定の量（例えばＦ１値）が最も良いサブ学習データ１４２を選択してもよいし、複数の量（例えば正確度、精度及びＦ１値）の平均が最も良いサブ学習データ１４２を選択してもよい。
【００５１】
学習データ１４０を用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度と、選択部１５６により選択されたサブ学習データ１４２を用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度との比較に基づく所定の条件を満たす場合に、分割部１５２、測定部１５４及び選択部１５６は、それぞれの処理を再帰的に繰り返してよい。例えば、学習データ１４０を用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度がｐ１であり、選択部１５６により選択されたサブ学習データ１４２を用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度がｐ２である場合、所定の条件は、ｐ１−ｐ２≦Ｔｈを満たすことであってよい。ここで、Ｔｈは、学習データ１４０の削減による学習モデル１３６の判定精度の低下幅の許容閾値を表す正の値である。また、サブ学習データ１４２を用いた学習により判定精度の向上を企図する場合には、許容閾値は０であったり、負の値であったりしてもよい。画像判定装置１００は、分割部１５２により学習データ１４０を複数のサブ学習データ１４２に分割して、測定部１５４により複数のサブ学習データ１４２を用いて学習モデル１４０を学習させた場合の判定精度を測定し、選択部１５６により判定精度が比較的良いサブ学習データ１４２を選択する。そして、画像判定装置１００は、判定精度が向上するか、維持されるか又は低下するとしても許容閾値以内の変化幅である場合には、選択部１５６により選択されたサブ学習データ１４２を分割部１５２によりを複数のサブ学習データに分割して、測定部１５４により複数のサブ学習データを用いて学習モデル１４０を学習させた場合の判定精度を測定し、選択部１５６により判定精度が比較的良いサブ学習データを選択する、という一連の処理を再び実行する。画像判定装置１００は、このような一連の処理を、判定精度が許容閾値を超えて低下するまで繰り返してよい。このようにして、判定精度の低下を抑えたり、向上させたりしながら、学習データ１４０のデータ数を段階的に少なくして、学習処理に要する時間や演算量の増加をさらに抑制することができる。なお、複数のサブ学習データ１４２それぞれを用いて学習部１５０により学習モデル１３６を学習させた場合の判定精度と、学習データ１４０を用いて学習モデル１３６を学習させた場合の判定精度とは、判定精度の差でなく、例えば比で比較されてもよく、任意の方法で比較されてよい。
【００５２】
§３  動作例
図４は、本実施形態に係る画像判定装置１００による学習データ１４０の分割例を示す図である。本例では、学習データ１４０を、第１サブ学習データ１４２ａ、第２サブ学習データ１４２ｂ、第３サブ学習データ１４２ｃ及び第４サブ学習データ１４２ｄの４つに分割する場合を示している。
【００５３】
画像判定装置１００は、学習データ１４０を、第１サブ学習データ１４２ａ、第２サブ学習データ１４２ｂ、第３サブ学習データ１４２ｃ及び第４サブ学習データ１４２ｄに分割し、それぞれのサブ学習データを用いて学習モデル１３６を学習させる。本例では、画像判定装置１００は、第１サブ学習データ１４２ａを用いて学習モデル１３６を学習させて生成した第１追加学習モデル１３６ａと、第２サブ学習データ１４２ｂを用いて学習モデル１３６を学習させて生成した第２追加学習モデル１３６ｂと、第３サブ学習データ１４２ｃを用いて学習モデル１３６を学習させて生成した第３追加学習モデル１３６ｃと、第４サブ学習データ１４２ｄを用いて学習モデル１３６を学習させて生成した第４追加学習モデル１３６ｄと、を生成する。
【００５４】
本例では、画像判定装置１００は、追加学習モデルの判定精度が比較的高くなる第２サブ学習データ１４２ｂを選択する。画像判定装置１００は、第２追加学習モデル１３６ｂと、追加学習前の学習モデル１３６の判定精度を比較して、所定の基準を満たす場合、第２サブ学習データ１４２ｂをさらに分割して、同様の処理を繰り返してもよい。
【００５５】
図５は、本実施形態に係る画像判定装置１００により実行される画像判定処理の第１例のフローチャートである。はじめに、画像判定装置１００は、検査対象の画像の特定の特徴を表す特徴データを出力する１又は複数の特徴抽出器を設定し（Ｓ１０）、学習データを用いて判定器を学習する（Ｓ１１）。判定器の学習を学習モデル１３６の学習と称する。
【００５６】
次に、画像判定装置１００は、学習データ１４０を互いに重複しない複数のサブ学習データ１４２に分割する（Ｓ１２）。そして、画像判定装置１００は、複数のサブ学習データ１４２それぞれを用いて、学習モデル１３６を学習させ、判定精度を測定する（Ｓ１３）。
【００５７】
画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度と、サブ学習データ１４２を用いた場合の学習モデル１３６の判定精度との比較に基づいて、複数のサブ学習データ１４２のうちいずれかを選択する（Ｓ１４）。
【００５８】
その後、画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度から、選択したサブ学習データ１４２を用いた場合の学習モデル１３６の判定精度への変化が所定の条件を満たすか否かを判定する（Ｓ１５）。ここで、所定の条件は、選択したサブ学習データ１４２を用いた場合の学習モデル１３６の判定精度が、学習データ１４０を用いた場合の学習モデル１３６の判定精度に比べて閾値以上上昇することであったり、判定精度の低下が閾値以内であることであったりしてよい。判定精度の変化が所定の条件を満たす場合（Ｓ１５：ＹＥＳ）、画像判定装置１００は、選択したサブ学習データ１４２を新たな学習データとして、学習データの分割（Ｓ１２）、サブ学習データを用いた学習モデルの学習と判定精度の測定（Ｓ１３）及びサブ学習データの選択（Ｓ１４）を再び実行する。
【００５９】
一方、判定精度の変化が所定の条件を満たさない場合（Ｓ１５：ＮＯ）、画像判定装置１００は、最後に選択されたサブ学習データで学習された追加学習モデルを採用する（Ｓ１６）。以上で、学習処理が終了する。
【００６０】
その後、カメラ１０２によって検査対象の画像を撮影する（Ｓ１７）。そして、画像判定装置１００は、新たに撮影された画像を１又は複数の特徴抽出器に入力し、出力された特徴データを追加学習により生成された判定器に入力して、画像に関する判定結果を表す出力データによって、画像を判定する（Ｓ１８）。当然ながら、画像の撮影（Ｓ１７）と、判定処理（Ｓ１８）とは繰り返し行われてよい。以上により、画像判定処理が終了する。
【００６１】
図６は、本実施形態に係る画像判定装置１００により実行される画像判定処理の第２例のフローチャートである。はじめに、画像判定装置１００は、検査対象の画像の特定の特徴を表す特徴データを出力する１又は複数の特徴抽出器を設定し（Ｓ２０）、学習データを用いて判定器を学習する（Ｓ２１）。判定器の学習を学習モデル１３６の学習と称する。
【００６２】
次に、画像判定装置１００は、学習データ１４０を互いに重複する場合がある複数のサブ学習データ１４２に分割する（Ｓ２２）。そして、画像判定装置１００は、複数のサブ学習データ１４２それぞれを用いて、学習モデル１３６を学習させ、判定精度を測定する（Ｓ２３）。
【００６３】
画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度と、サブ学習データ１４２を用いた場合の学習モデル１３６の判定精度との比較に基づいて、複数のサブ学習データ１４２のうちいずれかを選択する（Ｓ２４）。
【００６４】
その後、画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度から、選択したサブ学習データ１４２を用いた場合の学習モデル１３６の判定精度への変化が所定の条件を満たすか否かを判定する（Ｓ２５）。判定精度の変化が所定の条件を満たす場合（Ｓ２５：ＹＥＳ）、画像判定装置１００は、選択したサブ学習データ１４２を新たな学習データとして、学習データの分割（Ｓ２２）、サブ学習データを用いた学習モデルの学習と判定精度の測定（Ｓ２３）及びサブ学習データの選択（Ｓ２４）を再び実行する。
【００６５】
一方、判定精度の変化が所定の条件を満たさない場合（Ｓ２５：ＮＯ）、画像判定装置１００は、最後に選択されたサブ学習データで学習された追加学習モデルを採用する（Ｓ２６）。以上で、学習処理が終了する。
【００６６】
その後、カメラ１０２によって検査対象の画像を撮影する（Ｓ２７）。そして、画像判定装置１００は、新たに撮影された画像を１又は複数の特徴抽出器に入力し、出力された特徴データを追加学習により生成された判定器に入力して、画像に関する判定結果を表す出力データによって、画像を判定する（Ｓ２８）。当然ながら、画像の撮影（Ｓ２７）と、判定処理（Ｓ２８）とは繰り返し行われてよい。以上により、画像判定処理が終了する。
【００６７】
図７は、本実施形態に係る画像判定装置１００により実行される画像判定処理の第３例のフローチャートである。はじめに、画像判定装置１００は、検査対象の画像の特定の特徴を表す特徴データを出力する１又は複数の特徴抽出器を設定し（Ｓ３０）、学習データを用いて判定器を学習する（Ｓ３１）。判定器の学習を学習モデル１３６の学習と称する。
【００６８】
次に、画像判定装置１００は、学習データ１４０を所定の基準でクラスタリングし、複数のクラスタから１又は複数の代表データを抽出することで、学習データ１４０を複数のサブ学習データ１４２に分割する（Ｓ３２）。そして、画像判定装置１００は、複数のサブ学習データ１４２それぞれを用いて、学習モデル１３６を学習させ、判定精度を測定する（Ｓ３３）。
【００６９】
画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度と、サブ学習データ１４２を用いた場合の学習モデル１３６の判定精度との比較に基づいて、複数のサブ学習データ１４２のうちいずれかを選択する（Ｓ３４）。
【００７０】
その後、画像判定装置１００は、学習データ１４０を用いた場合の学習モデル１３６の判定精度から、選択したサブ学習データ１４２を用いた場合の学習モデル１３６の判定精度への変化が所定の条件を満たすか否かを判定する（Ｓ３５）。判定精度の変化が所定の条件を満たす場合（Ｓ３５：ＹＥＳ）、画像判定装置１００は、選択したサブ学習データ１４２を新たな学習データとして、学習データの分割（Ｓ３２）、サブ学習データを用いた学習モデルの学習と判定精度の測定（Ｓ３３）及びサブ学習データの選択（Ｓ３４）を再び実行する。
【００７１】
一方、判定精度の変化が所定の条件を満たさない場合（Ｓ３５：ＮＯ）、画像判定装置１００は、最後に選択されたサブ学習データで学習された追加学習モデルを採用する（Ｓ３６）。以上で、学習処理が終了する。
【００７２】
その後、カメラ１０２によって検査対象の画像を撮影する（Ｓ３７）。そして、画像判定装置１００は、新たに撮影された画像を１又は複数の特徴抽出器に入力し、出力された特徴データを追加学習により生成された判定器に入力して、画像に関する判定結果を表す出力データによって、画像を判定する（Ｓ３８）。当然ながら、画像の撮影（Ｓ３７）と、判定処理（Ｓ３８）とは繰り返し行われてよい。以上により、画像判定処理が終了する。
【００７３】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００７４】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７５】
［付記１］
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデル（１３６）と、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデル（１３６）に入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記学習モデル（１３６）を学習させる学習部（１５０）と、
前記学習データを複数のサブ学習データに分割する分割部（１５２）と、
前記複数のサブ学習データそれぞれを用いて前記学習部（１５０）により前記学習モデル（１３６）を学習させた場合の判定精度を測定する測定部（１５４）と、
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択する選択部（１５６）と、
を備える画像判定装置（１００）。
【００７６】
［付記２］
前記学習データを用いて前記学習部（１５０）により前記学習モデル（１３６）を学習させた場合の判定精度と、前記選択部（１５６）により選択された前記サブ学習データを用いて前記学習部（１５０）により前記学習モデル（１３６）を学習させた場合の判定精度との比較に基づく所定の条件を満たす場合に、前記分割部（１５２）、前記測定部（１５４）及び前記選択部（１５６）は、それぞれの処理を再帰的に繰り返す、
請求項１に記載の画像判定装置（１００）。
【００７７】
［付記３］
前記分割部（１５２）は、前記学習データを、互いに重複しない前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置（１００）。
【００７８】
［付記４］
前記分割部（１５２）は、前記学習データを、重複する場合がある前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置（１００）。
【００７９】
［付記５］
前記分割部（１５２）は、前記学習データを所定の基準でクラスタリングし、複数のクラスタから１又は複数の代表データを抽出することで、前記学習データを前記複数のサブ学習データに分割する、
請求項１又は２に記載の画像判定装置（１００）。
【００８０】
［付記６］
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデル（１３６）を、学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデル（１３６）に入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように学習させることと、
前記学習データを複数のサブ学習データに分割することと、
前記複数のサブ学習データそれぞれを用いて前記学習モデル（１３６）を学習させた場合の判定精度を測定することと、
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択することと、
を含む学習データ管理方法。
【００８１】
［付記７］
画像判定装置（１００）に備えられた演算部を、
検査対象の画像に基づいて、前記画像に関する判定結果を表す出力データを出力する学習モデル（１３６）、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記学習モデル（１３６）に入力した場合に、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記学習モデル（１３６）を学習させる学習部（１５０）、
前記学習データを複数のサブ学習データに分割する分割部（１５２）、
前記複数のサブ学習データそれぞれを用いて前記学習部（１５０）により前記学習モデル（１３６）を学習させた場合の判定精度を測定する測定部（１５４）、及び
前記判定精度に基づいて、前記複数のサブ学習データの少なくともいずれかを選択する選択部（１５６）、
として機能させる画像判定プログラム。
【符号の説明】
【００８２】
１…画像判定システム、２…ベルトコンベア、４…ワーク、６…撮像視野、８…上位ネットワーク、１０…ＰＬＣ、１２…データベース装置、１００…画像判定装置、１０２…カメラ、１０４…ディスプレイ、１０６…キーボード、１０８…マウス、１１０…プロセッサ、１１２…メインメモリ、１１４…カメラインターフェイス、１１６…入力インターフェイス、１１８…表示インターフェイス、１２０…通信インターフェイス、１２２…内部バス、１３０…ストレージ、１３２…画像処理プログラム、１３４…ＯＳ、１３６…学習モデル、１３６ａ…第１追加学習モデル、１３６ｂ…第２追加学習モデル、１３６ｃ…第３追加学習モデル、１３６ｄ…第４追加学習モデル、１３８…入力画像、１４０…学習データ、１４２…サブ学習データ、１４２ａ…第１サブ学習データ、１４２ｂ…第２サブ学習データ、１４２ｃ…第３サブ学習データ、１４２ｄ…第４サブ学習データ、１５０…学習部、１５２…分割部、１５４…測定部、１５６…選択部
【図１】
2020107102.tif 000003
【図２】
2020107102.tif 000004
【図３】
2020107102.tif 000005
【図４】
2020107102.tif 000006
【図５】
2020107102.tif 000007
【図６】
2020107102.tif 000008
【図７】
2020107102.tif 000009