(57)【要約】【課題】教師データを用いて、画像を分類するための学習モデルの学習を行う際に、有用な教師データを収集するための労力及び時間を低減する。【解決手段】画像分類装置３の画像分類部３０は、収集された複数の教師候補画像のそれぞれについて、学習モデルを用いてカテゴリ毎のスコアを推定し、最大スコアのカテゴリに分類し、カテゴリ毎にスコアの低い順にソートすることで、カテゴリ毎の分類結果を生成する。修正部３３は、カテゴリ毎の分類結果について、スコアの低い教師候補画像から順番にオペレータに確認を促し、オペレータの操作に従い、必要に応じてカテゴリを修正し、カテゴリ毎の教師データを生成する。学習部３５は、カテゴリ毎の教師データを用いて学習モデルの学習を行う。【選択図】図１
2020024534.tif 000002
【特許請求の範囲】
【請求項１】
画像を分類するための学習モデルの学習を行う画像分類装置において、
収集された複数の教師候補画像のそれぞれについて、前記学習モデルを用いてカテゴリ毎のスコアを推定し、前記スコアの最も高いカテゴリに分類し、カテゴリ毎に、前記スコアの低い順に前記複数の教師候補画像をソートし、カテゴリ毎の分類結果を生成する画像分類部と、
前記画像分類部により生成された前記分類結果の前記教師候補画像について、カテゴリ毎に、前記スコアの低い順番にオペレータに確認を促し、前記オペレータの操作に従ってカテゴリを修正し、カテゴリ毎の前記教師候補画像を教師データとして生成する修正部と、
前記修正部により生成されたカテゴリ毎の前記教師データを用いて、前記学習モデルの学習を行う学習部と、
を備えたことを特徴とする画像分類装置。
【請求項２】
請求項１に記載の画像分類装置において、
さらに、スケジューラを備え、
前記画像分類部は、
前記複数の教師候補画像を収集する画像収集装置から、前記複数の教師候補画像を入力し、
前記スケジューラは、
前記画像収集装置により前記複数の教師候補画像を収集する収集処理、前記画像分類部により前記分類結果を生成する分類処理、前記修正部により前記教師データを生成する修正処理、及び前記学習部により前記学習モデルの学習を行う学習処理のそれぞれのタイミングを制御すると共に、前記画像分類部による前記分類処理と、前記学習部による前記学習処理とが同時に行われないように、前記分類処理を開始させるための分類開始指示を前記画像分類部に出力し、前記学習処理を開始させるための学習開始指示を前記学習部に出力する、ことを特徴とする画像分類装置。
【請求項３】
請求項２に記載の画像分類装置において、
前記スケジューラは、
前記収集処理を開始させるための収集開始指示を前記画像収集装置に出力し、前記画像収集装置から前記収集処理が完了したことを示す収集完了を入力すると、前記収集処理が完了したことを判定し、
前記画像収集装置による前記収集処理が完了しており、かつ、前記学習部による前記学習処理が完了している場合、前記分類開始指示を前記画像分類部に出力し、前記画像分類部から前記分類処理が完了したことを示す分類完了を入力すると、前記分類処理が完了したことを判定し、
前記分類処理が完了している場合、前記修正処理を開始させるための修正開始指示を前記修正部に出力し、前記修正処理が完了したことを示す修正完了を前記修正部から入力すると、前記修正処理が完了したことを判定し、
前記修正部による前記修正処理が完了しており、かつ、前記画像分類部による前記分類処理が完了している場合、前記学習開始指示を前記学習部に出力し、前記学習部から前記学習処理が完了したことを示す学習完了を入力すると、前記学習処理が完了したことを判定する、ことを特徴とする画像分類装置。
【請求項４】
コンピュータを、請求項１から３までのいずれか一項に記載の画像分類装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ及びハードディスクを用いた画像処理分野に属し、特に、収集した画像を分類して教師データを生成し、教師データを用いて学習モデルの学習を行う画像分類装置及びプログラムに関する。
【背景技術】
【０００２】
近年、画像を入力してその分類結果を直接出力するための深層学習が注目を集めている。この技術によれば、深層学習により生成された学習モデルを用いることで、画像の分類のために有用な特徴データを自動的に生成することができる。
【０００３】
このため、人による特徴データの設計及び選択が不要になるという利点がある。また、人が手動で設計または選択した特徴データを用いて画像を分類するよりも、学習モデルを用いて分類する方が高い精度が得られるという報告がなされている。
【０００４】
一方で、深層学習を用いた画像分類装置の学習には、画像と正解ラベルとを一組とした大量の教師データが必要となる。しかし、大量の教師データの収集は、人手により行われることが想定されるため、多大な労力及び時間が必要となる。
【０００５】
画像分類のための教師データ生成技術については、これまでに複数の提案がされている。例えば、特許文献１には、基板の欠陥を自動的に分類するための教師データを生成する際に、オペレータの負荷を低減する技術が提案されている。
【０００６】
また、特許文献２には、画像を領域分割してクラスタリングし、オペレータの指示等により正事例データまたは負事例データとして選定することで、教師データを生成する技術が提案されている。
【０００７】
また、特許文献３には、学習に効果的な教師データを生成するために、画像から検出対象の領域を検出する複数の検出器を備え、これらの検出結果を統合することにより、教師データを選択する技術が提案されている。
【０００８】
また、深層学習を用いた画像分類の技術として、特許文献４には、画像の分類処理と再学習処理とを並行して行う技術が提案されている。具体的には、制御部は、分類処理を行う複数の判断部に対して稼働、休止等を制御し、再学習を行う再学習部に対して再学習の実施を制御し、再学習完了時に、学習モデルを複数の判断部に複製して稼働させる等の制御を行う。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１５８３７３号公報
【特許文献２】特開２００９−２８２６６０号公報
【特許文献３】特開２０１２−１９０１５９号公報
【特許文献４】特開２０１７−２１１６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、前述の特許文献１の技術では、分類器によって仮に付与されたラベルの正否の判断を自動化するための特徴量を予め決めておく必要がある。また、特許文献２の技術では、教師データを収集するためにクラスタリングにより自動化しているが、クラスタリングに用いる特徴量は予め設定されている。このため、これらの技術は、特徴量の設計及び選定が困難な画像分類装置には適用が難しく、また、画像の状況判断等に用いる高度な画像分類装置にも適用が難しい。
【００１１】
また、特許文献２の技術では、教師データの収集と分類器における学習とを独立して行うため、学習を行う分類器において、必ずしも有用な教師データを用いることができるとは限らない。
【００１２】
また、特許文献３の技術では、複数の検出器を備え、それらの検出結果を統合することにより、教師データに加える画像を決定しているが、１つの検出器による検出結果を教師データとする場合には適用できない。また、オペレータによる教師データの確認とモデルの学習との並行処理については記載されておらず、データの収集からモデルの学習までの一連の処理に時間を要するという課題がある。
【００１３】
また、特許文献４の技術では、再学習のプロセスの並行処理を自動的に行っているが、予め正解ラベルが得られていることが前提となっており、教師データを収集する労力については解決されていない。
【００１４】
前述のとおり、画像分類装置の学習には、大量の教師データが必要となる。しかし、大量の教師データを収集したとしても、教師データが有用でない場合には、精度の高い分類を行うための学習モデルを生成することができない。このため、有用な教師データを、低労力かつ短時間で収集する仕組みが所望されていた。
【００１５】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、教師データを用いて、画像を分類するための学習モデルの学習を行う際に、有用な教師データを収集するための労力及び時間を低減可能な画像分類装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
前記課題を解決するために、請求項１の画像分類装置は、画像を分類するための学習モデルの学習を行う画像分類装置において、収集された複数の教師候補画像のそれぞれについて、前記学習モデルを用いてカテゴリ毎のスコアを推定し、前記スコアの最も高いカテゴリに分類し、カテゴリ毎に、前記スコアの低い順に前記複数の教師候補画像をソートし、カテゴリ毎の分類結果を生成する画像分類部と、前記画像分類部により生成された前記分類結果の前記教師候補画像について、カテゴリ毎に、前記スコアの低い順番にオペレータに確認を促し、前記オペレータの操作に従ってカテゴリを修正し、カテゴリ毎の前記教師候補画像を教師データとして生成する修正部と、前記修正部により生成されたカテゴリ毎の前記教師データを用いて、前記学習モデルの学習を行う学習部と、を備えたことを特徴とする。
【００１７】
また、請求項２の画像分類装置は、請求項１に記載の画像分類装置において、さらに、スケジューラを備え、前記画像分類部が、前記複数の教師候補画像を収集する画像収集装置から、前記複数の教師候補画像を入力し、前記スケジューラが、前記画像収集装置により前記複数の教師候補画像を収集する収集処理、前記画像分類部により前記分類結果を生成する分類処理、前記修正部により前記教師データを生成する修正処理、及び前記学習部により前記学習モデルの学習を行う学習処理のそれぞれのタイミングを制御すると共に、前記画像分類部による前記分類処理と、前記学習部による前記学習処理とが同時に行われないように、前記分類処理を開始させるための分類開始指示を前記画像分類部に出力し、前記学習処理を開始させるための学習開始指示を前記学習部に出力する、ことを特徴とする。
【００１８】
また、請求項３の画像分類装置は、請求項２に記載の画像分類装置において、前記スケジューラが、前記収集処理を開始させるための収集開始指示を前記画像収集装置に出力し、前記画像収集装置から前記収集処理が完了したことを示す収集完了を入力すると、前記収集処理が完了したことを判定し、前記画像収集装置による前記収集処理が完了しており、かつ、前記学習部による前記学習処理が完了している場合、前記分類開始指示を前記画像分類部に出力し、前記画像分類部から前記分類処理が完了したことを示す分類完了を入力すると、前記分類処理が完了したことを判定し、前記分類処理が完了している場合、前記修正処理を開始させるための修正開始指示を前記修正部に出力し、前記修正処理が完了したことを示す修正完了を前記修正部から入力すると、前記修正処理が完了したことを判定し、前記修正部による前記修正処理が完了しており、かつ、前記画像分類部による前記分類処理が完了している場合、前記学習開始指示を前記学習部に出力し、前記学習部から前記学習処理が完了したことを示す学習完了を入力すると、前記学習処理が完了したことを判定する、ことを特徴とする。
【００１９】
さらに、請求項４のプログラムは、コンピュータを、請求項１から３までのいずれか一項に記載の画像分類装置として機能させることを特徴とする。
【発明の効果】
【００２０】
以上のように、本発明によれば、教師データを用いて、画像を分類するための学習モデルの学習を行う際に、有用な教師データを収集するための労力及び時間を低減することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態による画像分類装置を含む全体システムの概略図である。
【図２】全体の処理の流れを説明するフローチャートである。
【図３】画像収集装置及び画像分類装置の処理フロー例を示す図である。
【図４】画像分類部及び学習部による学習モデルの処理例を説明する図である。
【図５】記憶部に保存された分類結果の構成例を示す図である。
【図６】記憶部に保存された教師データの構成例を示す図である。
【図７】画像分類部の処理例を示すフローチャートである。
【図８】修正部の処理例を示すフローチャートである。
【図９】学習部の処理例を示すフローチャートである。
【図１０】スケジューラによる並行処理例を説明する図である。
【図１１】スケジューラによる画像収集部及び前処理部の制御例を示すフローチャートである。
【図１２】スケジューラによる画像分類部の制御例を示すフローチャートである。
【図１３】スケジューラによる修正部の制御例を示すフローチャートである。
【図１４】スケジューラによる学習部の制御例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
図１は、本発明の実施形態による画像分類装置を含む全体システムの概略図である。この全体システムは、画像を保持しているサーバ等の記憶装置１、画像収集装置２及び画像分類装置３を備えて構成される。
【００２３】
サーバ等の記憶装置１と画像収集装置２とは、インターネット等の伝送路４を介して接続され、画像収集装置２と画像分類装置３とは、ＬＡＮ（Local Area Network：ローカルエリアネットワーク）等を介して接続される。
【００２４】
記憶装置１には、画像分類装置３の学習処理に用いる教師データの候補となる画像が保持されている。尚、記憶装置１は、図１に示すように、伝送路４を介して画像収集装置２に接続されるサーバ等であってもよいし、画像収集装置２に直接接続され、画像がデータベースとして保存されたハードディスク等であってもよい。
【００２５】
図２は、図１に示した全体システムにおいて、全体の処理の流れを説明するフローチャートである。まず、オペレータは、所定数の正解ラベル付き教師データ（画像及びスコア）を用意する。画像分類装置３は、実際の処理を行う前に、オペレータにより予め用意された所定数の正解ラベル付き教師データを用いて、学習モデルの初期学習を行う（ステップＳ２０１）。
【００２６】
画像収集装置２は、外部の記憶装置１から画像を収集し、画像に対して前処理を行い、学習に適した形に変換する（ステップＳ２０２）。画像分類装置３は、画像毎に、学習モデルを用いてカテゴリ毎のスコア（信頼度）を推定し（ステップＳ２０３）、最大スコアのカテゴリを、当該画像が属するカテゴリとする（ステップＳ２０４）。スコアは、画像がカテゴリに属する確率を示す。
【００２７】
画像分類装置３は、カテゴリ毎に、スコアの低い順に画像をソートする（ステップＳ２０５）。そして、画像分類装置３は、カテゴリ毎に、スコアの低い画像から順番にオペレータに確認を促し（画像が当該カテゴリに属するか否かを確認させ）、オペレータの操作に従い、必要に応じてカテゴリを修正する（ステップＳ２０６）。
【００２８】
画像分類装置３は、オペレータによる確認の後に修正を行わなかったカテゴリ、及びオペレータによる確認の後に修正を行ったカテゴリを正しいカテゴリとして、カテゴリ毎の教師データを生成する（ステップＳ２０７）。そして、画像分類装置３は、カテゴリ毎の教師データに基づいて学習モデルの学習を行う（ステップＳ２０８）。
【００２９】
これにより、スコアの低い画像を教師データとして、学習モデルの学習が行われる。スコアの低い画像を教師データとするのは、画像を一層正しく分類できるように学習モデルを更新するためである。そもそもスコアの低い画像は、現時点の学習モデルによって正しいカテゴリに分類され難い画像である。この画像のカテゴリがオペレータにより正しく修正され、修正後の画像を教師データとして学習モデルの学習を行うことで、正しく分類し難かった画像の分類精度を高めることができる。
【００３０】
つまり、スコアの低い画像を教師データとすることにより、分類精度の高い学習モデルに更新することができる点で、スコアの低い画像は有用な教師データであるといえる。このように、スコアの低い画像は、現時点の学習モデルが分類を苦手とする画像であるから、これを優先的に教師データとすることで、学習モデルの分類精度を効率的に高めることができる。
【００３１】
画像分類装置３は、処理を終了するか否か（所定の終了の条件を満たしているか否か）を判定し（ステップＳ２０９）、処理を終了しないと判定した場合（ステップＳ２０９：Ｎ）、ステップＳ２０２へ移行し、ステップＳ２０２〜Ｓ２０８の処理を繰り返す。一方、画像分類装置３は、ステップＳ２０９において、処理を終了すると判定した場合（ステップＳ２０９：Ｙ）、処理を終了する。
【００３２】
画像分類装置３は、ステップＳ２０９において、例えば追加学習により画像分類の精度が十分となった場合、または十分な数の教師データが得られた場合に、処理を終了する。
【００３３】
図１を参照して、画像収集装置２は、画像収集部２０、教師候補画像が保存される記憶部２１及び前処理部２２を備えている。画像分類装置３は、画像分類部３０、学習モデルが保存された記憶部３１、カテゴリ毎の画像及びスコアが保存される記憶部３２、修正部３３、カテゴリ毎の画像が保存される記憶部３４、学習部３５及びスケジューラ３６を備えている。
【００３４】
図３は、画像収集装置２及び画像分類装置３の処理フロー例を示す図である。画像分類装置３のスケジューラ３６は、画像収集装置２の画像収集部２０及び前処理部２２、並びに画像分類装置３の画像分類部３０、修正部３３及び学習部３５におけるそれぞれの動作をスケジューリングし、統括制御する（ステップＳ３００）。スケジューラ３６の詳細については後述する。
【００３５】
画像収集装置２の画像収集部２０は、記憶装置１から伝送路４を介して、Ｎ枚の画像を収集し、Ｎ枚の画像を教師候補画像Ｉ1，・・・，ＩNとして記憶部２１に保存する（ステップＳ３０１）。Ｎは１以上の整数である。
【００３６】
画像収集部２０は、例えばＷｅｂページにある画像を、サイズまたはアスペクト比等の条件に基づいてダウンロードしてもよいし、分類対象となる画像が登録されたデータベースから、ランダムに選択して読み出すようにしてもよい。
【００３７】
前処理部２２は、記憶部２１からＮ枚の教師候補画像Ｉ1，・・・，ＩNを読み出し、教師候補画像Ｉ1，・・・，ＩNを画像分類装置３の入力フォーマットに適した形に変換するための前処理を行う（ステップＳ３０２）。そして、前処理部２２は、前処理後のＮ枚の教師候補画像Ｉ1，・・・，ＩNを画像分類装置３へ送信する。
【００３８】
前処理部２２は、例えば画像のサイズを学習モデルの入力サイズに合わせるために変換したり、学習モデルの汎化性能を向上させるためにランダムに変形させたり、ノイズを加えたりする。
【００３９】
画像分類装置３の画像分類部３０は、画像収集装置２の前処理部２２から、前処理後のＮ枚の教師候補画像Ｉ1，・・・，ＩNを受信する。そして、画像分類部３０は、教師候補画像Ｉ1，・・・，ＩNのそれぞれについて特徴量を算出し、特徴量に基づいてカテゴリ毎のスコアを推定し、スコアの最も高いカテゴリを特定する。カテゴリの数をＣとし、Ｃは２以上の整数とする。
【００４０】
具体的には、画像分類部３０は、記憶部３１に保存された学習モデルを用いて、教師候補画像Ｉ1，・・・，ＩNのそれぞれについてカテゴリ毎のスコアを推定し、スコアの最も高いカテゴリを特定する。
【００４１】
画像分類部３０の処理が行われる前に、学習モデルは、既に初期学習済みであるものとする。前述のとおり、初期学習時には、所定数の正解ラベル付き教師データが用意され、学習が行われる。
【００４２】
画像分類部３０は、特定したカテゴリに従い、教師候補画像Ｉ1，・・・，ＩNのそれぞれをＣ個のカテゴリのうちのいずれかに分類する（ステップＳ３０３）。画像分類部３０は、カテゴリ毎の分類結果である教師候補画像Ｉk,1，・・・，Ｉk,Nk及び特定したカテゴリのスコアＳk,1，・・・，Ｓk,Nkを記憶部３２に保存する（ステップＳ３０４）。画像分類部３０の詳細については後述する。
【００４３】
ｋはカテゴリの番号であり、ｋ＝１，・・・，Ｃである。Ｎｋは、カテゴリｋに分類された教師候補画像Ｉk,1，・・・，Ｉk,Nkの枚数であり、０以上の整数である。つまり、カテゴリｋの分類結果は、Ｎｋ枚の教師候補画像Ｉk,1，・・・，Ｉk,Nk及びこれらのスコアＳk,1，・・・，Ｓk,Nkである。
【００４４】
図４は、画像分類部３０及び学習部３５による学習モデルの処理例を説明する図である。図４に示すように、画像分類部３０は、教師候補画像Ｉ1，・・・，ＩN（総称して、教師候補画像Ｉという。）のそれぞれを、学習モデルの入力データとして入力層に与え、カテゴリ毎のスコアＳを、学習モデルの出力データとして出力層から取得する。
【００４５】
これにより、教師候補画像Ｉについて、学習モデルを用いてカテゴリ毎のスコアＳが推定される。図４に示すスコアＳ（０．３，０．１，０，・・・，０．１）の例の場合、教師候補画像Ｉのカテゴリ１のスコアは０．３、カテゴリ２のスコアは０．１、カテゴリ３のスコアは０、・・・、カテゴリＣのスコアは０．１である。全てのカテゴリのスコアの合計は１である。最大スコアが０．３であるとすると、画像分類部３０は、教師候補画像Ｉを、最大スコアのカテゴリ１に分類する。
【００４６】
ここで、学習モデルを用いることで、入力層に入力された教師候補画像Ｉから特徴量が算出される。この特徴量とは、画像の局所的な特徴または画像全体の意味的な特徴を反映したベクトルであり、例えば畳み込みニューラルネットワークにおいては、畳み込み層及びプーリング層を繰り返し連ねることにより得られる。また、画像の勾配または色ヒストグラム等、学習により更新されない予め決められた特徴量を用いてもよい。
【００４７】
そして、特徴量からカテゴリ毎のスコアが算出される。算出方法としては、例えば畳み込みニューラルネットワークにおいて、複数の全結合層を連ね、出力層としてカテゴリの個数（Ｃ個）の要素を持つ層を使用することにより得られる。
【００４８】
尚、学習モデルは、教師あり学習が可能なモデルであり、画像の分類結果をスコアとして出力するものであればよい。学習モデルとしては、例えばニューラルネットワークが用いられる。この場合、ニューラルネットワークの種類は何でもよいが、深層学習で用いられる畳み込みニューラルネットワークであることが望ましい。畳み込みニューラルネットワークについては以下の文献を参照されたい。
A. Krizhevsky et al.，“Imagenet classification with deep convolutional neural networks”，Advances in neural information processing systems，pp.1097-1105（2012）
【００４９】
図５は、記憶部３２に保存された分類結果の構成例を示す図である。図５に示すように、カテゴリ１について、教師候補画像Ｉ1,1，・・・，Ｉ1,N1及びスコアＳ1,1，・・・，Ｓ1,N1が記憶部３２に保存される。また、カテゴリ２について、教師候補画像Ｉ2,1，・・・，Ｉ2,N2及びスコアＳ2,1，・・・，Ｓ2,N2が記憶部３２に保存される。同様に、カテゴリＣについて、教師候補画像ＩC,1，・・・，ＩC,NC及びスコアＳC,1，・・・，ＳC,NCが記憶部３２に保存される。
【００５０】
Ｎ１は、カテゴリ１に分類された教師候補画像Ｉ1,1，・・・，Ｉ1,N1の枚数であり、０以上の整数である。Ｎ２は、カテゴリ２に分類された教師候補画像Ｉ2,1，・・・，Ｉ2,N2の枚数であり、０以上の整数である。同様に、ＮＣは、カテゴリＣに分類された教師候補画像ＩC,1，・・・，ＩC,NCの枚数であり、０以上の整数である。
【００５１】
図１及び図３に戻って、修正部３３は、記憶部３２から、分類結果であるカテゴリ毎の教師候補画像Ｉk,1，・・・，Ｉk,Nk及びスコアＳk,1，・・・，Ｓk,Nkを読み出す。そして、修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番にオペレータに確認を促し、オペレータの操作に従い、必要に応じてカテゴリを修正する（ステップＳ３０５）。
【００５２】
これにより、カテゴリが正しいと確認された教師候補画像Ｉについては、そのカテゴリはそのままとされ、カテゴリが正しくないと確認された教師候補画像Ｉについては、そのカテゴリは修正される。
【００５３】
修正部３３は、確認及び修正後のカテゴリ毎の教師候補画像Ｉk,1’，・・・，Ｉk,Nk’を教師データとして、記憶部３４に保存する（ステップＳ３０６）。修正部３３の詳細については後述する。
【００５４】
確認及び修正後のカテゴリ毎の教師候補画像Ｉk,1’，・・・，Ｉk,Nk’には、確認後修正されなかった画像、及び確認後修正された画像が含まれる。ｋはカテゴリの番号であり、ｋ＝１，・・・，Ｃである。Ｎｋ’は、カテゴリｋに属する確認及び修正後の教師候補画像Ｉの枚数であり、０以上の整数である。
【００５５】
これにより、スコアの低い教師候補画像Ｉから順番に確認及び修正が行われ、教師データが生成される。したがって、スコアの低い教師候補画像Ｉ（分類が誤っている教師候補画像Ｉ、またはカテゴリの分類が困難な分類境界に近い教師候補画像Ｉ）について、そのカテゴリを正しいものに修正することができ、これを優先的に教師データに追加することができる。前述のとおり、スコアの低い教師候補画像Ｉは、現時点の学習モデルが分類を苦手とする画像であるから、これを教師データとすることで、分類精度の高い学習モデルに更新することができる。
【００５６】
学習部３５において、有用な教師データを用いて学習が行われるから、修正部３３の処理は、分類精度の高い学習モデルに更新するために必要な処理であるといえる。
【００５７】
また、カテゴリが付与された教師候補画像Ｉに対し、修正部３３にてそのカテゴリを修正する処理は、カテゴリ（ラベル）が付与されていない画像に対してカテゴリを新たに付与する処理に比べ、処理負担が少なくて済む。
【００５８】
図６は、記憶部３４に保存された教師データの構成例を示す図である。図６に示すように、カテゴリ１について、教師データ（の画像）Ｉ1,1’，・・・，Ｉ1,N1’が記憶部３４に保存される。また、カテゴリ２について、教師データＩ2,1’，・・・，Ｉ2,N2’が記憶部３４に保存される。同様に、カテゴリＣについて、教師データＩC,1’，・・・，ＩC,NC’が記憶部３４に保存される。
【００５９】
Ｎ１’は、カテゴリ１に属する教師データＩ1,1’，・・・，Ｉ1,N1’の枚数であり、０以上の整数である。Ｎ２’は、カテゴリ２に属する教師データＩ2,1’，・・・，Ｉ2,N2’の枚数であり、０以上の整数である。同様に、ＮＣ’は、カテゴリＣに属する教師データＩC,1’，・・・，ＩC,NC’の枚数であり、０以上の整数である。
【００６０】
図１及び図３に戻って、学習部３５は、記憶部３４からカテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’を読み出す。そして、学習部３５は、カテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’に基づいて、記憶部３１に保存された学習モデルの学習を行う（ステップＳ３０７）。学習部３５の詳細については後述する。
【００６１】
図４を参照して、学習部３５は、教師データＩk,1’，・・・，Ｉk,Nk’のそれぞれを入力データとし、当該教師データが属するカテゴリを反映したカテゴリ毎のスコアＳを正解データとして、学習モデルの学習を行う。カテゴリ毎のスコアＳは、当該教師データが属するカテゴリのスコアを１とし、その他のカテゴリのスコアを０とする。
【００６２】
図４の例では、教師データがカテゴリ２に属する場合を示している。この教師データのスコアＳは、カテゴリ２のスコアを１、その他のカテゴリのスコアを０としたＳ（０，１，０，・・・，０）である。学習部３５は、教師データ及びスコアＳを学習モデルに与える。そして、学習部３５は、教師データを入力層から順伝播させ、出力層の出力信号とスコアＳとの間の誤差信号を求め、誤差信号を出力層から逆伝播させることで、重み等のパラメータを更新する。
【００６３】
これにより、修正部３３にて生成された有用な教師データを用いて学習が行われるから、分類精度の高い学習モデルに更新することができ、画像分類部３０における分類精度を高めることができる。
【００６４】
図１及び図３に戻って、画像収集装置２及び画像分類装置３によるステップＳ３０１〜Ｓ３０７の処理は、ステップＳ３００の処理に従い、繰り返し行われる。
【００６５】
これにより、修正部３３により生成される教師データが逐次的に増えると共に、画像分類部３０による分類処理の精度を高めることができる。
【００６６】
〔画像分類部３０〕
次に、図１に示した画像分類装置３の画像分類部３０について詳細に説明する。図７は、画像分類部３０の処理例を示すフローチャートである。
【００６７】
画像分類部３０は、スケジューラ３６から分類開始指示を入力したか否かを判定する（ステップＳ７０１）。画像分類部３０は、ステップＳ７０１において、分類開始指示を入力していないと判定した場合（ステップＳ７０１：Ｎ）、分類開始指示を入力するまで待つ。分類開始指示は、スケジューラ３６が画像分類部３０に分類処理を開始させるための信号である。
【００６８】
一方、画像分類部３０は、ステップＳ７０１において、分類開始指示を入力したと判定した場合（ステップＳ７０１：Ｙ）、画像収集装置２の前処理部２２から教師候補画像Ｉ1，・・・，ＩNを入力する（ステップＳ７０２）。
【００６９】
画像分類部３０は、教師候補画像Ｉ1，・・・，ＩNのそれぞれについて、記憶部３１に保存された学習モデルを用いて、カテゴリ毎のスコアを推定する（ステップＳ７０３）。これにより、教師候補画像Ｉ1，・・・，ＩNのそれぞれについて、カテゴリ毎のスコアＳ1，・・・，ＳNが得られる。
【００７０】
画像分類部３０は、教師候補画像Ｉ1，・・・，ＩNのそれぞれについて、カテゴリ毎のスコアのうち最大スコアを特定し、最大スコアのカテゴリを、当該教師候補画像Ｉのカテゴリに設定する（ステップＳ７０４）。
【００７１】
画像分類部３０は、教師候補画像Ｉ1，・・・，ＩNをカテゴリ毎に分類する（ステップＳ７０５）。そして、画像分類部３０は、カテゴリ毎に、スコアの低い順に教師候補画像Ｉ1，・・・，ＩNをソートすることで、ｋ（ｋ＝１，・・・，Ｃ）番目のカテゴリについての画像Ｉk,1，・・・，Ｉk,Nkを得る（ステップＳ７０６）。
【００７２】
画像分類部３０は、カテゴリ毎の分類結果である教師候補画像Ｉk,1，・・・，Ｉk,Nk及びスコアＳk,1，・・・，Ｓk,Nkを生成し（ステップＳ７０７）、記憶部３２に保存する（ステップＳ７０８）。
【００７３】
画像分類部３０は、画像収集装置２から入力した教師候補画像Ｉ1，・・・，ＩNの分類処理が完了したとして、ステップＳ７０１にて入力した分類開始指示に対応する分類完了を、スケジューラ３６に出力する（ステップＳ７０９）。分類完了は、画像分類部３０による分類処理が完了したことを示す信号である。
【００７４】
このように、画像分類部３０は、分類開始指示に従い、学習モデルを用いて教師候補画像Ｉ1，・・・，ＩNの分類を行い、カテゴリ毎の分類結果である教師候補画像Ｉk,1，・・・，Ｉk,Nk及びスコアＳk,1，・・・，Ｓk,Nkを生成し、分類完了を出力する。
【００７５】
〔修正部３３〕
次に、図１に示した画像分類装置３の修正部３３について詳細に説明する。図８は、修正部３３の処理例を示すフローチャートである。
【００７６】
修正部３３は、スケジューラ３６から修正開始指示を入力したか否かを判定する（ステップＳ８０１）。修正部３３は、ステップＳ８０１において、修正開始指示を入力していないと判定した場合（ステップＳ８０１：Ｎ）、修正開始指示を入力するまで待つ。修正開始指示は、スケジューラ３６が修正部３３に修正処理を開始させるための信号である。
【００７７】
一方、修正部３３は、ステップＳ８０１において、修正開始指示を入力したと判定した場合（ステップＳ８０１：Ｙ）、記憶部３２から、分類結果であるカテゴリ毎の教師候補画像Ｉk,1，・・・，Ｉk,Nk及びスコアＳk,1，・・・，Ｓk,Nkを読み出す（ステップＳ８０２）。
【００７８】
修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番にオペレータに確認を促し、オペレータの操作に従い、必要に応じてカテゴリを修正する（ステップＳ８０３）。
【００７９】
修正部３３は、確認及び修正後のカテゴリ毎の教師候補画像Ｉk,1’，・・・，Ｉk,Nk’を教師データとして生成し（ステップＳ８０４）、これを記憶部３４に保存する（ステップＳ８０５）。
【００８０】
確認及び修正後のカテゴリ毎の教師候補画像Ｉk,1’，・・・，Ｉk,Nk’は、カテゴリ毎の教師候補画像Ｉk,1，・・・，Ｉk,Nkのうち、オペレータにより確認が行われた画像のみである。ここで、オペレータにより確認が行われた画像には、その確認によりカテゴリが誤っていると判断され、その後カテゴリが修正された画像、及び、その確認によりカテゴリが正しいと判断され、その後カテゴリが修正されなかった画像が含まれる。
【００８１】
修正部３３は、画像分類部３０により分類されたカテゴリ毎の教師候補画像Ｉk,1，・・・，Ｉk,Nkの修正処理が完了したとして、ステップＳ８０１にて入力した修正開始指示に対応する修正完了を、スケジューラ３６に出力する（ステップＳ８０６）。修正完了は、修正部３３による修正処理が完了したことを示す信号である。
【００８２】
このように、修正部３３は、修正開始指示に従い、カテゴリ毎の教師候補画像Ｉk,1，・・・，Ｉk,Nkの修正を行い、カテゴリ毎の確認修正結果である教師データＩk,1’，・・・，Ｉk,Nk’を生成し、修正完了を出力する。
【００８３】
尚、修正部３３は、ステップＳ８０３において、全てのカテゴリの全ての教師候補画像Ｉk,1，・・・，Ｉk,Nkを確認修正対象としてもよいし、予め設定された枚数の教師候補画像Ｉk,1，・・・，Ｉk,Nkを確認修正対象としてもよい。
【００８４】
例えば、オペレータにより、カテゴリ毎に上限枚数が予め設定されているとする。修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番に、上限枚数に到達するまで確認を促し、カテゴリを修正する。
【００８５】
また、例えば、オペレータにより、カテゴリ毎にスコアの閾値が予め設定されているとする。修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番に、閾値を下回った画像のみについて確認を促し、カテゴリを修正する。
【００８６】
また、スケジューラ３６が、修正部３３により処理が行われる確認修正対象の枚数を決定するようにしてもよい。例えば、スケジューラ３６は、修正部３３による修正開始のタイミングにおいて、当該タイミングから学習部３５により現在の学習が完了するまでの時間を推定する。そして、スケジューラ３６は、修正部３３が当該時間の経過するタイミングで修正処理を完了するように、確認修正対象の枚数を決定し、確認修正対象の枚数を修正部３３に出力する。修正部３３は、確認修正対象の枚数をカテゴリの数で除算し、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番に、除算結果の枚数に到達するまで確認を促し、カテゴリを修正する。
【００８７】
具体的には、スケジューラ３６は、後述する学習開始指示を学習部３５に出力してから、学習部３５から後述する学習完了を入力するまでの間の時間を求め、当該時間を教師データの数で除算することで１教師データあたりの学習時間を集計し、平均を算出して１教師データあたりの学習時間を推定する。スケジューラ３６は、推定した１教師データあたりの学習時間を保持する。
【００８８】
また、スケジューラ３６は、修正指示開始を修正部３３に出力してから、修正部３３から修正完了を入力するまでの間の時間を求め、当該時間を確認修正が行われた画像の枚数で除算することで１画像あたりの修正時間を集計し、平均を算出して１画像あたりの修正時間を推定する。スケジューラ３６は、推定した１画像あたりの修正時間を保持する。
【００８９】
スケジューラ３６は、修正部３３による修正開始のタイミングにおいて、学習部３５から、現在の学習における残りの教師データの数を入力し、残りの教師データの数に、保持している１教師データあたりの学習時間を乗算することで、当該タイミングから現在の学習が完了するまでの時間を推定する。
【００９０】
スケジューラ３６は、当該タイミングから現在の学習が完了するまでの時間を、保持している１画像あたりの修正時間で除算することで、確認修正対象の枚数を決定する。
【００９１】
また、修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkが所定の閾値以上の教師候補画像Ｉk,1，・・・，Ｉk,Nkを特定し、特定した画像の一部をランダムに選択して、確認修正対象の画像に加えるようにしてもよい。所定の閾値は、オペレータにより予め設定される。
【００９２】
これにより、スコアの高い画像を教師データとすることができ、スコアに基づいた教師データの偏りを軽減することができる。また、スコアが高いが誤ったカテゴリに分類された画像を修正する可能性を増やすことができる。
【００９３】
このように、スコアが高いが誤ったカテゴリに分類された画像は、現時点の学習モデルが分類を苦手とする画像であるから、これを教師データとすることで、学習モデルの分類精度を効率的に高めることができる。
【００９４】
〔学習部３５〕
次に、図１に示した画像分類装置３の学習部３５について詳細に説明する。図９は、学習部３５の処理例を示すフローチャートである。
【００９５】
学習部３５は、スケジューラ３６から学習開始指示を入力したか否かを判定する（ステップＳ９０１）。学習部３５は、ステップＳ９０１において、学習開始指示を入力していないと判定した場合（ステップＳ９０１：Ｎ）、学習開始指示を入力するまで待つ。学習開始指示は、スケジューラ３６が学習部３５に学習処理を開始させるための信号である。
【００９６】
一方、学習部３５は、ステップＳ９０１において、学習開始指示を入力したと判定した場合（ステップＳ９０１：Ｙ）、記憶部３４から、カテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’を読み出す（ステップＳ９０２）。
【００９７】
学習部３５は、教師データＩk,1’，・・・，Ｉk,Nk’のそれぞれについて、当該画像の属するカテゴリのスコアを１に設定すると共に、それ以外のスコアを０に設定することで、スコアＳを生成する（ステップＳ９０３）。
【００９８】
学習部３５は、教師データＩk,1’，・・・，Ｉk,Nk’のそれぞれを入力データとし、カテゴリ毎のスコアＳを正解データとして、学習モデルの学習を行う（ステップＳ９０４）。
【００９９】
学習部３５は、修正部３３により確認修正されたカテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’を用いた学習処理が完了したとして、ステップＳ９０１にて入力した学習開始指示に対応する学習完了を、スケジューラ３６に出力する（ステップＳ９０５）。学習完了は、学習部３５による学習処理が完了したことを示す信号である。
【０１００】
このように、学習部３５は、学習開始指示に従い、カテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’を用いた学習を行い、学習モデルを更新し、学習完了を出力する。
【０１０１】
尚、学習部３５は、ステップＳ９０３，Ｓ９０４において、記憶部３４から読み出したカテゴリ毎の教師データＩk,1’，・・・，Ｉk,Nk’に加え、今までの学習に用いた教師データも併せて、学習対象の教師データとしてもよい。
【０１０２】
これにより、過去の学習に用いた教師データを今回の学習の教師データとして、学習モデルの学習が行われる。過去の学習に用いた教師データを今回の学習の教師データとしない場合には、当該教師データの画像についての分類精度が低下してしまう。そこで、過去の学習に用いた教師データも今回の学習の教師データに含めることにより、当該画像の分類精度を低下させないようにできる。
【０１０３】
つまり、過去の学習に用いた教師データを今回の学習の教師データに含めることは、当該画像の分類精度を低下させない点で、有用な教師データであるといえる。これにより、学習モデルの分類精度を効率的に高めることができる。
【０１０４】
また、学習部３５は、オペレータにより予め設定された教師データ毎の使用率設定値に基づいて、教師データを選択するようにしてもよい。例えば、学習部３５は、使用率設定値５０％の教師データについて、２回の学習処理のうち１回について、当該教師データを間引く（除外する）ようにする。これにより、使用率設定値に応じて、学習に用いる教師データを間引くことができ、教師データの増加による学習時間の増大を緩和させることができる。
【０１０５】
〔スケジューラ３６〕
次に、図１に示した画像分類装置３のスケジューラ３６について詳細に説明する。図１０は、スケジューラ３６による並行処理例を説明する図であり、下へ向けて時間が経過するものとする。前述のとおり、スケジューラ３６は、画像収集部２０、前処理部２２、画像分類部３０、修正部３３及び学習部３５の動作を統括制御し、処理開始のタイミングを指示することで、これらの処理を並行して行わせる。
【０１０６】
図１０を参照して、まず時間帯Ｔ１において、画像収集部２０及び前処理部２２が教師候補画像Ａ１の処理を行っており、このときに並行して、学習部３５が教師データＤ１を用いて学習モデルを学習する処理を行っているものとする。
【０１０７】
学習部３５による教師データＤ１の処理が完了し、画像収集部２０及び前処理部２２による教師候補画像Ａ１の処理が完了すると、時間帯Ｔ２において、画像分類部３０は、教師候補画像Ａ１に基づき、学習モデルを用いて分類結果Ｂ１を生成する処理を行う。また、時間帯Ｔ２，Ｔ３において、画像収集部２０及び前処理部２２は、次の教師候補画像Ａ２の処理を行う。
【０１０８】
この場合、画像分類部３０による学習モデルを用いた処理と、学習部３５による学習モデルを学習する処理とは、同時に並行して実行することができない。１つの学習モデルについて、その利用及び学習を同時に実行できないからである。つまり、画像分類部３０による処理は、学習部３５による処理の完了を待って行われ、学習部３５による処理は、画像分類部３０による処理の完了を待って行われる。
【０１０９】
画像分類部３０による学習モデルを用いた分類結果Ｂ１を生成する処理が完了すると、時間帯Ｔ３，Ｔ４において、修正部３３は、分類結果Ｂ１に基づいて教師データＣ１を生成する処理を行う。また、時間帯Ｔ３において、学習部３５は、教師データＤ２を用いて学習モデルを学習する処理を行う。
【０１１０】
学習部３５による教師データＤ２の処理が完了し、画像収集部２０及び前処理部２２による教師候補画像Ａ２の処理が完了すると、時間帯Ｔ４において、画像分類部３０は、教師候補画像Ａ２に基づき、学習モデルを用いて分類結果Ｂ２を生成する処理を行う。また、時間帯Ｔ４，Ｔ５において、画像収集部２０及び前処理部２２は、次の教師候補画像Ａ３の処理を行う。
【０１１１】
修正部３３による教師データＣ１を生成する処理が完了し、画像分類部３０による学習モデルを用いた分類結果Ｂ２を生成する処理が完了すると、時間帯Ｔ５，Ｔ６において、修正部３３は、分類結果Ｂ２に基づいて教師データＣ２を生成する処理を行う。また、時間帯Ｔ５において、学習部３５は、教師データＣ１を用いて学習モデルを学習する処理を行う。
【０１１２】
学習部３５による教師データＣ１の処理が完了し、画像収集部２０及び前処理部２２による教師候補画像Ａ３の処理が完了すると、時間帯Ｔ６において、画像分類部３０は、教師候補画像Ａ３に基づき、学習モデルを用いて分類結果Ｂ３を生成する処理を行う。また、時間帯Ｔ６，Ｔ７において、画像収集部２０及び前処理部２２は、次の教師候補画像Ａ４の処理を行う。
【０１１３】
修正部３３による教師データＣ２を生成する処理が完了し、画像分類部３０による学習モデルを用いた分類結果Ｂ３を生成する処理が完了すると、時間帯Ｔ７，Ｔ８において、修正部３３は、分類結果Ｂ３に基づいて教師データＣ３を生成する処理を行う。また、時間帯Ｔ７において、学習部３５は、教師データＣ２を用いて学習モデルを学習する処理を行う。
【０１１４】
このように、画像収集部２０及び前処理部２２は、教師候補画像の処理が完了すると、次の教師候補画像の処理を行う。そして、画像分類部３０は、画像収集部２０及び前処理部２２の処理の完了を待って処理を行い、修正部３３は、画像分類部３０の処理の完了を待って処理を行い、学習部３５は、修正部３３の処理の完了を待って処理を行う。
この場合、画像分類部３０及び学習部３５は、同じ学習モデルにアクセスすることから、同時に動作することはない（図１０の斜線の箇所を参照）。
【０１１５】
図１１は、スケジューラ３６による画像収集部２０及び前処理部２２の制御例を示すフローチャートである。スケジューラ３６は、収集開始指示を画像収集部２０に出力する（ステップＳ１１０１）。収集開始指示は、スケジューラ３６が画像収集部２０に収集処理を開始させるための信号である。
【０１１６】
これにより、画像収集部２０にて、教師候補画像の収集が行われ、その後前処理部２２にて、当該教師候補画像の前処理が行われる。そして、前処理部２２は、教師候補画像の前処理を完了すると、収集及び前処理完了をスケジューラ３６に出力する。または、画像収集部２０は、教師候補画像の収集を完了すると、収集完了をスケジューラ３６に出力し、前処理部２２は、教師候補画像の前処理を完了すると、前処理完了をスケジューラ３６に出力する。
【０１１７】
スケジューラ３６は、前処理部２２から収集及び前処理完了を入力したか否か（または、画像収集部２０から収集完了を入力し、かつ前処理部２２から前処理完了を入力したか否か）を判定する（ステップＳ１１０２）。
【０１１８】
スケジューラ３６は、ステップＳ１１０２において、収集及び前処理完了を入力したと判定した場合（ステップＳ１１０２：Ｙ）、ステップＳ１１０３へ移行する。一方、スケジューラ３６は、ステップＳ１１０２において、収集及び前処理完了を入力していないと判定した場合（ステップＳ１１０２：Ｎ）、収集及び前処理完了を入力するまで待つ。
【０１１９】
スケジューラ３６は、当該スケジューラ３６による画像収集部２０及び前処理部２２の制御を終了するか否か（所定の終了の条件を満たしているか否か）を判定する（ステップＳ１１０３）。スケジューラ３６は、ステップＳ１１０３において、制御を終了しないと判定した場合（ステップＳ１１０３：Ｎ）、ステップＳ１１０１へ移行し、次の収集開始指示を画像収集部２０に出力する。
【０１２０】
これにより、画像収集部２０にて、次の教師候補画像の収集が行われ、その後前処理部２２にて、当該次の教師候補画像の前処理が行われる。
【０１２１】
一方、スケジューラ３６は、ステップＳ１１０３において、制御を終了すると判定した場合（ステップＳ１１０３：Ｙ）、当該制御を終了する。
【０１２２】
図１２は、スケジューラ３６による画像分類部３０の制御例を示すフローチャートである。スケジューラ３６は、画像収集部２０及び前処理部２２による教師候補画像の収集及び前処理が完了済みであるか否かを判定する（ステップＳ１２０１）。また、スケジューラ３６は、学習部３５による教師データを用いた学習モデルの学習が完了済みであるか否かを判定する（ステップＳ１２０２）。
【０１２３】
スケジューラ３６は、ステップＳ１２０１において収集及び前処理が完了済みでない、またはステップＳ１２０２において学習が完了済みでないと判定した場合（ステップＳ１２０１：Ｎ、またはステップＳ１２０２：Ｎ）、完了済みとなるまで待つ。
【０１２４】
一方、スケジューラ３６は、ステップＳ１２０１において収集及び前処理が完了済みであり、かつステップＳ１２０２において学習が完了済みであると判定した場合（ステップＳ１２０１：Ｙ、かつステップＳ１２０２：Ｙ）、分類開始指示を画像分類部３０に出力する（ステップＳ１２０３）。
【０１２５】
これにより、画像分類部３０にて、学習モデルを用いた教師候補画像の分類が行われる。そして、画像分類部３０は、教師候補画像の分類を完了すると、分類完了をスケジューラ３６に出力する。
【０１２６】
スケジューラ３６は、画像分類部３０から分類完了を入力したか否かを判定する（ステップＳ１２０４）。
【０１２７】
スケジューラ３６は、ステップＳ１２０４において、分類完了を入力したと判定した場合（ステップＳ１２０４：Ｙ）、ステップＳ１２０５へ移行する。一方、スケジューラ３６は、ステップＳ１２０４において、分類完了を入力していないと判定した場合（ステップＳ１２０４：Ｎ）、分類完了を入力するまで待つ。
【０１２８】
スケジューラ３６は、当該スケジューラ３６による画像分類部３０の制御を終了するか否か（所定の終了の条件を満たしているか否か）を判定する（ステップＳ１２０５）。スケジューラ３６は、ステップＳ１２０５において、制御を終了しないと判定した場合（ステップＳ１２０５：Ｎ）、ステップＳ１２０１へ移行し、次の分類開始指示を出力する条件を満たすか否かを判定する。
【０１２９】
一方、スケジューラ３６は、ステップＳ１２０５において、制御を終了すると判定した場合（ステップＳ１２０５：Ｙ）、当該制御を終了する。
【０１３０】
図１３は、スケジューラ３６による修正部３３の制御例を示すフローチャートである。スケジューラ３６は、画像分類部３０による教師候補画像の分類処理が完了済みであるか否かを判定する（ステップＳ１３０１）。
【０１３１】
スケジューラ３６は、ステップＳ１３０１において、分類処理が完了済みでないと判定した場合（ステップＳ１３０１：Ｎ）、完了済みとなるまで待つ。
【０１３２】
一方、スケジューラ３６は、ステップＳ１３０１において、分類処理が完了済みであると判定した場合（ステップＳ１３０１：Ｙ）、修正開始指示を修正部３３に出力する（ステップＳ１３０２）。
【０１３３】
これにより、修正部３３にて、分類結果を用いた修正処理が行われる。そして、修正部３３は、修正処理を完了して教師データを生成すると、修正完了をスケジューラ３６に出力する。
【０１３４】
スケジューラ３６は、修正部３３から修正完了を入力したか否かを判定する（ステップＳ１３０３）。
【０１３５】
スケジューラ３６は、ステップＳ１３０３において、修正完了を入力したと判定した場合（ステップＳ１３０３：Ｙ）、ステップＳ１３０４へ移行する。一方、スケジューラ３６は、ステップＳ１３０３において、修正完了を入力していないと判定した場合（ステップＳ１３０３：Ｎ）、修正完了を入力するまで待つ。
【０１３６】
スケジューラ３６は、当該スケジューラ３６による修正部３３の制御を終了するか否か（所定の終了の条件を満たしているか否か）を判定する（ステップＳ１３０４）。スケジューラ３６は、ステップＳ１３０４において、制御を終了しないと判定した場合（ステップＳ１３０４：Ｎ）、ステップＳ１３０１へ移行し、次の修正開始指示を出力する条件を満たすか否かを判定する。
【０１３７】
一方、スケジューラ３６は、ステップＳ１３０４において、制御を終了すると判定した場合（ステップＳ１３０４：Ｙ）、当該制御を終了する。
【０１３８】
図１４は、スケジューラ３６による学習部３５の制御例を示すフローチャートである。スケジューラ３６は、修正部３３による分類結果の修正が完了済み（教師データの生成が完了済み）であるか否かを判定する（ステップＳ１４０１）。また、スケジューラ３６は、画像分類部３０による教師データを用いた分類が完了済みであるか否かを判定する（ステップＳ１４０２）。
【０１３９】
スケジューラ３６は、ステップＳ１４０１において修正が完了済みでない、またはステップＳ１４０２において分類が完了済みでないと判定した場合（ステップＳ１４０１：Ｎ、またはステップＳ１４０２：Ｎ）、完了済みとなるまで待つ。
【０１４０】
一方、スケジューラ３６は、ステップＳ１４０１において修正が完了済みであり、かつステップＳ１４０２において分類が完了済みであると判定した場合（ステップＳ１４０１：Ｙ、かつステップＳ１４０２：Ｙ）、学習開始指示を学習部３５に出力する（ステップＳ１４０３）。
【０１４１】
これにより、学習部３５にて、教師データを用いた学習モデルの学習が行われる。そして、学習部３５は、学習を完了すると、学習完了をスケジューラ３６に出力する。
【０１４２】
スケジューラ３６は、学習部３５から学習完了を入力したか否かを判定する（ステップＳ１４０４）。
【０１４３】
スケジューラ３６は、ステップＳ１４０４において、学習完了を入力したと判定した場合（ステップＳ１４０４：Ｙ）、ステップＳ１４０５へ移行する。一方、スケジューラ３６は、ステップＳ１４０４において、学習完了を入力していないと判定した場合（ステップＳ１４０４：Ｎ）、学習完了を入力するまで待つ。
【０１４４】
スケジューラ３６は、当該スケジューラ３６による学習部３５の制御を終了するか否か（所定の終了の条件を満たしているか否か）を判定する（ステップＳ１４０５）。スケジューラ３６は、ステップＳ１４０５において、制御を終了しないと判定した場合（ステップＳ１４０５：Ｎ）、ステップＳ１４０１へ移行し、次の学習開始指示を出力する条件を満たすか否かを判定する。
【０１４５】
一方、スケジューラ３６は、ステップＳ１４０５において、制御を終了すると判定した場合（ステップＳ１４０５：Ｙ）、当該制御を終了する。
【０１４６】
このように、スケジューラ３６は、画像収集部２０、前処理部２２、画像分類部３０、修正部３３及び学習部３５におけるそれぞれの動作を統括制御し、これらの処理を並行して行わせる。
【０１４７】
これにより、全体の処理時間を短縮することができ、１サイクルあたりの時間（画像収集部２０がＮ枚の教師候補画像Ｉ1，・・・，ＩNを収集してから学習部３５が学習モデルの学習を行うまでの間の処理時間）を削減することができる。
【０１４８】
以上のように、本発明の実施形態の画像分類装置３によれば、画像分類部３０は、教師候補画像Ｉ1，・・・，ＩNのそれぞれについて、学習モデルを用いてカテゴリ毎のスコアを推定し、最大スコアのカテゴリに分類する。そして、画像分類部３０は、カテゴリ毎に、スコアの低い順に教師候補画像Ｉ1，・・・，ＩNをソートすることで、画像Ｉk,1，・・・，Ｉk,Nkを得る。画像分類部３０は、カテゴリ毎の分類結果である教師候補画像Ｉk,1，・・・，Ｉk,Nk及びスコアＳk,1，・・・，Ｓk,Nkを生成する。
【０１４９】
修正部３３は、カテゴリ毎に、スコアＳk,1，・・・，Ｓk,Nkの低い教師候補画像Ｉk,1，・・・，Ｉk,Nkから順番にオペレータに確認を促し、オペレータの操作に従い、必要に応じてカテゴリを修正し、確認及び修正後のカテゴリ毎の教師候補画像Ｉk,1’，・・・，Ｉk,Nk’を教師データとする。学習部３５は、カテゴリ毎の教師データを用いて学習モデルの学習を行う。
【０１５０】
スケジューラ３６は、画像収集部２０、前処理部２２、画像分類部３０、修正部３３及び学習部３５の動作を統括制御し、これらの処理を並行して行わせる。
【０１５１】
これにより、学習モデルを用いた分類結果に対し、オペレータによる修正が行われ、学習に用いる教師データが生成されるから、人手により教師データが収集される場合に比べ、有用な教師データを収集するための労力及び時間を低減することができる。
【０１５２】
また、スケジューラ３６の制御により、画像の収集及び前処理、学習モデルを用いた分類処理、修正処理、及び学習モデルの学習処理を並行して行うようにしたから、全体の処理時間を短縮し、１サイクルあたりの時間を削減することができる。
【０１５３】
一般に、深層学習の教師データとしては、カテゴリ毎に数千から数万枚の画像が必要とされることが多い。本発明の実施形態では、初期学習のために、カテゴリ毎に数百枚の画像を用意すれば済み、その後は処理の労力及び時間を低減しつつ、教師データを必要な量に達するまで収集することができる。
【０１５４】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。前記実施形態では、画像分類装置３はスケジューラ３６を備えているが、スケジューラ３６を備えていなくてもよい。
【０１５５】
尚、本発明の実施形態による画像分類装置３のハードウェア構成としては、通常のコンピュータを使用することができる。画像分類装置３は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【０１５６】
画像分類装置３に備えた画像分類部３０、記憶部３１、記憶部３２、修正部３３、記憶部３４、学習部３５及びスケジューラ３６の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。
【０１５７】
これらのプログラムは、前記記憶媒体に格納されており、ＣＰＵに読み出されて実行される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【産業上の利用可能性】
【０１５８】
本発明の実施形態による画像分類装置３は、画像による状況分析、画像による異常検知、画像による情報整理等において有用である。
【符号の説明】
【０１５９】
１  記憶装置
２  画像収集装置
３  画像分類装置
４  伝送路
２０  画像収集部
２１，３１，３２，３４  記憶部
２２  前処理部
３０  画像分類部
３３  修正部
３５  学習部
３６  スケジューラ
【図１】
2020024534.tif 000003
【図２】
2020024534.tif 000004
【図３】
2020024534.tif 000005
【図４】
2020024534.tif 000006
【図５】
2020024534.tif 000007
【図６】
2020024534.tif 000008
【図７】
2020024534.tif 000009
【図８】
2020024534.tif 000010
【図９】
2020024534.tif 000011
【図１０】
2020024534.tif 000012
【図１１】
2020024534.tif 000013
【図１２】
2020024534.tif 000014
【図１３】
2020024534.tif 000015
【図１４】
2020024534.tif 000016