(57)【要約】【課題】環境変化に柔軟に対応することで高い分類精度を維持する。【解決手段】情報処理装置は、データ取得部１１０と、分類部１３０と、判定部１４０と、通知部１５０を備える。データ取得部１１０は、画像データを取得する。分類部１３０は、第１訓練データセットに基づく機械学習により生成された識別器を含み、その識別器がデータ取得部１１０で取得された画像データのクラスを識別することでその画像データを分類する。判定部１４０は、分類部１３０が画像データを分類するときに、識別器の更新の要否を判定する。通知部１５０は、判定部１４０での判定結果に応じて、第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う。【選択図】図３
2019079167.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得するデータ取得部と、
第１訓練データセットに基づく機械学習により生成された識別器を含み、前記識別器が前記データ取得部で取得された前記画像データのクラスを識別することで前記画像データを分類する分類部と、
前記分類部が前記画像データを分類するときに、前記識別器の更新の要否を判定する判定部と、
前記判定部での判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う通知部と、を備える
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記判定部は、前記分類部が前記画像データを分類するときに算出される、分類結果についての確からしさに基づいて、前記識別器の更新の要否を判定する
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記分類部は、前記画像データから算出された複数の特徴量からなる特徴ベクトルと、前記識別器が有する分離超平面との距離に基づいて、前記識別器の更新の要否を判定する
ことを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置において、
前記判定部は、前記識別器が前記画像データのクラスを識別するときに前記画像データから算出した分類スコアに基づいて、前記識別器の更新の要否を判定する
ことを特徴とする情報処理装置。
【請求項５】
請求項１乃至請求項４に記載の情報処理装置において、さらに、
前記複数の訓練データの少なくとも１つを変更又は削除する指示を取得する指示取得部を備え、
前記分類部は、
前記指示取得部が取得した前記指示に従って前記第１訓練データセットを第２訓練データセットへ更新し、
前記第２訓練データセットに基づいて機械学習を行うことで前記識別器を更新し、
前記更新された識別器が前記画像データのクラスを識別することで前記画像データを分類する
ことを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
前記複数の訓練データの各々は、訓練画像データと、前記訓練画像データのクラスを示すクラスラベルと、を含み、
前記分類部は、前記指示が前記複数の訓練データの少なくとも１つを変更する指示であるとき、前記指示により特定される少なくとも１つの訓練データに含まれるクラスラベルを更新する
ことを特徴とする情報処理装置。
【請求項７】
請求項５または請求項６に記載の情報処理装置において、
前記分類部は、前記指示が前記複数の訓練データの少なくとも１つを削除する指示であるとき、前記第１訓練データセットを、前記複数の訓練データのうちの前記指示により特定される少なくとも１つの訓練データを除く残りの訓練データを含む前記第２訓練データセットへ更新する
ことを特徴とする情報処理装置。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の情報処理装置において、
前記通知部は、前記複数の訓練データの少なくとも１つの変更又は削除を促す通知画面を表示装置に表示させる
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置において、
前記判定部は、前記複数の訓練データに含まれる複数の訓練画像データから算出される複数の特徴ベクトルの各々と前記識別器が有する分離超平面との距離に基づいて、前記複数の訓練データから少なくとも１つの訓練データを選択し、
前記通知部は、前記判定部が選択した前記少なくとも１つの訓練データに対応する少なくとも１つの訓練画像を含む前記通知画面を前記表示装置に表示させる
ことを特徴とする情報処理装置。
【請求項１０】
請求項１乃至請求項９のいずれか１項に記載の情報処理装置において、
前記通知部は、ネットワークを介して接続された端末へ前記通知を行う
ことを特徴とする情報処理装置。
【請求項１１】
請求項１乃至請求項１０のいずれか１項に記載の情報処理装置と、
サンプルを撮像する撮像装置と、を備え、
前記撮像装置は、前記サンプルの前記画像データを前記データ取得部へ出力する
ことを特徴とする情報処理システム。
【請求項１２】
請求項１１に記載の情報処理システムにおいて、さらに、
前記サンプルを搬送する搬送装置を備え、
前記搬送装置は、前記情報処理装置が分類した前記サンプルの前記画像データのクラスに応じて、前記サンプルの搬送先を変更する
ことを特徴とする情報処理システム。
【請求項１３】
画像データを取得し、
第１訓練データセットに基づく機械学習により生成された識別器が前記画像データのクラスを識別することで、前記画像データを分類し、
前記画像データが分類されるときに、前記識別器の更新の要否を判定し、
前記識別器の更新の要否についての判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う
ことを特徴とする情報処理方法。
【請求項１４】
情報処理装置に、
画像データを取得し、
第１訓練データセットに基づく機械学習により生成された識別器が前記画像データのクラスを識別することで、前記画像データを分類し、
前記画像データが分類されるときに、前記識別器の更新の要否を判定し、
前記識別器の更新の要否についての判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の開示は、情報処理装置、情報処理システム、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
画像データを分類する分類問題では、機械学習が一般に利用されている。機械学習には様々なものがあるが、分類されるべきクラスが既知である訓練データを用いた機械学習については、例えば、特許文献１に記載されている。
【０００３】
特許文献１には、訓練データ等の不足により過学習が生じることを学習時に検知し、訓練データ等の追加をユーザに促す技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３３８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、訓練データを用いて機械学習を行っても、学習後に生じた環境変化により、訓練データが分類されるべきクラスが学習時と運用時では異なることがある。特許文献１に記載の技術では、このようなケースにおいて分類精度が低下してしまう。
【０００６】
以上のような実情を踏まえ、本発明の一側面に係る目的は、環境変化に柔軟に対応することで高い分類精度を維持する技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る情報処理装置は、データ取得部と、分類部と、判定部と、通知部を備える。データ取得部は、画像データを取得する。分類部は、第１訓練データセットに基づく機械学習により生成された識別器を含み、前記識別器が前記データ取得部で取得された前記画像データのクラスを識別することで前記画像データを分類する。判定部は、前記分類部が前記画像データを分類するときに、前記識別器の更新の要否を判定する。通知部は、前記判定部での判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う。
【０００８】
本発明の一態様に係る情報処理システムは、上記態様に記載の情報処理装置と、サンプルを撮像する撮像装置と、を備え、前記撮像装置は、前記サンプルの前記画像データを前記データ取得部へ出力する。
【０００９】
本発明の一態様に係る情報処理方法は、画像データを取得し、第１訓練データセットに基づく機械学習により生成された識別器が前記画像データのクラスを識別することで、前記画像データを分類し、前記画像データが分類されるときに、前記識別器の更新の要否を判定し、前記識別器の更新の要否についての判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う。
【００１０】
本発明の一態様に係るプログラムは、情報処理装置に、画像データを取得し、第１訓練データセットに基づく機械学習により生成された識別器が前記画像データのクラスを識別することで、前記画像データを分類し、前記画像データが分類されるときに、前記識別器の更新の要否を判定し、前記識別器の更新の要否についての判定結果に応じて、前記第１訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う処理を実行させる。
【発明の効果】
【００１１】
上記の態様によれば、環境変化に柔軟に対応することで高い分類精度を維持することができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理システム１の構成を例示した図である。
【図２】サーバ２０のハードウェア構成を例示したブロック図である。
【図３】サーバ２０の機能構成を例示したブロック図である。
【図４】分類部１３０の機能構成を例示した図である。
【図５】訓練データセットＴＳと特徴ベクトルセットＦＳの構成を例示した図である。
【図６】学習処理の一例を示すフローチャートである。
【図７】特徴空間に２つの訓練データの特徴ベクトルをプロットした図である。
【図８】特徴空間にすべての訓練データの特徴ベクトルをプロットした図である。
【図９】特徴空間に分離超平面ＨＰと拮抗領域Ｒを形成された様子を示した図である。
【図１０】分類処理の一例を示すフローチャートである。
【図１１】画像データの特徴ベクトルＦＢ１を特徴空間にプロットした図である。
【図１２】画像データの特徴ベクトルＦＢ２を特徴空間にプロットした図である。
【図１３】画像データの特徴ベクトルＦＢ３を特徴空間にプロットした図である。
【図１４】訓練データを削除して分離超平面ＨＰを更新した様子を示した図である。
【図１５】画像データの特徴ベクトルＦＢ６を特徴空間にプロットした図である。
【図１６】訓練データを変更して分離超平面ＨＰを更新した様子を示した図である。
【図１７】通知画面６１を例示した図である。
【図１８】情報処理システム２の構成を例示した図である。
【発明を実施するための形態】
【００１３】
［第１の実施形態］
図１は、本実施形態に係る情報処理システム１の構成を例示した図である。情報処理システム１は、サンプルＳを撮像し、得られたサンプルＳの画像データを分類するシステムである。情報処理システム１の用途は特に限定しないが、情報処理システム１は、例えば、サンプルＳの画像データを良品クラスと不良品クラスのいずれかへ分類することでサンプルＳの検査を行う検査システムであってもよい。
【００１４】
情報処理システム１は、サンプルＳを撮像してサンプルＳの画像データを生成する撮像装置の一例である顕微鏡１０と、サンプルＳの画像データを分類する情報処理装置の一例であるサーバ２０と、を備えている。顕微鏡１０とサーバ２０は、図１では、例えばＵＳＢ（Universal Serial Bus）ケーブルなどの有線ケーブルで接続されている。ただし、顕微鏡１０とサーバ２０は、相互にデータをやり取りできるように構成されていればよく、有線に限らず無線により通信可能に接続されてもよい。
【００１５】
情報処理システム１は、さらに、サーバ２０が行う通知に従って通知画面を表示する表示装置の一例であるディスプレイ３０と、サーバ２０への指示を入力する入力装置の一例であるキーボード４０と、を備えてもよい。ディスプレイ３０は、例えば、液晶ディスプレイ、有機ＥＬ（Organic Electro-Luminescence）ディスプレイなどである。ディスプレイ３０及びキーボード４０は、図１では、例えばＵＳＢケーブルなどの有線ケーブルでサーバ２０に接続されている。ただし、ディスプレイ３０及びキーボード４０は、サーバ２０と相互にデータをやり取りできるように構成されていればよく、有線に限らず無線により通信可能に接続されてもよい。
【００１６】
なお、サーバ２０は、ネットワークを介して接続された、情報処理システム１の外部にあるノート型コンピュータ５０、タブレット端末６０、スマートフォンなどのクライアント端末へ通知を行ってもよい。情報処理システム１の利用者は、これらのクライアント端末からサーバ２０への指示を入力してもよい。その場合、クライアント端末は、サーバ２０が行う通知に従って通知画面を表示する表示装置であり、サーバ２０へ指示を入力する入力装置である。図１では、サーバ２０とクライアント端末の間のネットワークは無線ネットワークとして記載されているが、有線ネットワークであってもよい。
【００１７】
図２は、サーバ２０のハードウェア構成を例示したブロック図である。サーバ２０は、例えば、標準的なコンピュータである。サーバ２０は、図２に示すように、プロセッサ２１、メモリ２２、ストレージ２３、インタフェース装置２４、及び、可搬記憶媒体２６が挿入される可搬記憶媒体駆動装置２５を備え、これらがバス２７によって相互に接続されている。
【００１８】
プロセッサ２１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）などであり、プログラムを実行してプログラムされた処理を行う電気回路である。メモリ２２は、例えば、ＲＡＭ（Random Access Memory）であり、プログラムの実行の際に、ストレージ２３または可搬記憶媒体２６に記憶されているプログラムまたはデータを一時的に記憶する。
【００１９】
ストレージ２３は、例えば、ハードディスク、フラッシュメモリであり、主に各種データやプログラムの記憶に用いられる。インタフェース装置２４は、例えば、ネットワークカード（ＮＩＣ）であり、サーバ２０以外の装置（例えば、顕微鏡１０、ディスプレイ３０、キーボード４０、ノート型コンピュータ５０、タブレット端末６０など）と信号をやり取りする回路である。
【００２０】
可搬記憶媒体駆動装置２５は、光ディスクやコンパクトフラッシュ（登録商標）等の可搬記憶媒体２６を収容するものである。可搬記憶媒体２６は、ストレージ２３を補助する役割を有する。ストレージ２３及び可搬記憶媒体２６は、それぞれプログラムを記憶した非一過性のコンピュータ読取可能記憶媒体の一例である。
【００２１】
図２に示す構成は、サーバ２０のハードウェア構成の一例であり、サーバ２０はこの構成に限定されるものではない。サーバ２０は、汎用装置ではなく専用装置であってもよい。サーバ２０は、プログラムを実行するプロセッサの代わりに又は加えて、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電気回路を備えてもよく、それらの電気回路により、後述する図６及び図１０に示す情報処理の全部または一部が行われてもよい。
【００２２】
図３は、サーバ２０の機能構成を例示したブロック図である。図４は、分類部１３０の機能構成を例示した図である。図５は、訓練データセットＴＳと特徴ベクトルセットＦＳの構成を例示した図である。
【００２３】
サーバ２０は、図３に示すように、データ取得部１１０と、指示取得部１２０と、分類部１３０と、判定部１４０と、通知部１５０を備えている。図３に示す機能構成は、例えば、プロセッサ２１がプログラムを実行することにより行われるソフトウェア処理によって実現される。ただし、ハードウェア処理により実現されてもよい。
【００２４】
データ取得部１１０は、顕微鏡１０で生成された画像データを取得する。また、データ取得部１１０は、機械学習のための訓練データを取得する。データ取得部１１０は、取得したデータを分類部１３０へ出力する。
【００２５】
図５に示すように、機械学習用の訓練データＴＤは、例えば、訓練画像データＭと訓練画像データＭのクラスを示すクラスラベルＣとを含んでいる。訓練データＴＤは単一の画像ファイルであってもよく、クラスラベルＣは画像ファイルのヘッダに含まれても良い。また、訓練データＴＤは、訓練画像データＭとクラスラベルＣに加えて、訓練画像データＭから算出される特徴ベクトルＦＢを含んでも良い。
【００２６】
特徴ベクトルＦＢとは、特徴量を成分とするベクトルである。特徴ベクトルＦＢは、図５に示すように、複数の特徴量（Ｆ１、Ｆ２、・・・）を含んでいる。特徴量とは、画像の特徴を表す量であり、これらに限らないが、例えば、画像に含まれる特徴領域の面積、幅、高さ、位置情報（x座標、y座標）、輝度情報（例えば、平均輝度、最大輝度、輝度分布、輝度の標準偏差など）、コントラスト、形状情報（円形度、長軸の半径、短軸の半径）、向き（主軸の角度）などである。
【００２７】
なお、本明細書では、図５に示すように、複数の訓練データＴＤを含む訓練データＴＤの集合を訓練データセットＴＳと記し、複数の特徴ベクトルＦＢを含む特徴ベクトルＦＢの集合を特徴ベクトルセットＦＳと記す。
【００２８】
指示取得部１２０は、外部装置からサーバ２０へ入力された指示を取得する。指示は、例えば、学習済みの複数の訓練データの少なくとも１つを変更又は削除する指示である。指示取得部１２０は、取得した指示を分類部１３０へ出力する。
【００２９】
分類部１３０は、図４に示すように、特徴量算出部１３１と、学習部１３２と、識別器である識別部１３３と、訓練データ更新部１３４を備えていて、訓練ＤＢ１３５及び特徴量ＤＢ１３６に対してデータを読み書きする。また、分類部１３０は、これらの構成要素を用いて、学習時と運用時で異なる処理を行う。
【００３０】
訓練データが入力される学習時においては、分類部１３０は、訓練データセットに基づいて機械学習を行って識別器を生成する。機械学習に用いられる訓練データセットは、例えば、データ取得部１１０によって取得される。
【００３１】
なお、分類部１３０に含まれる識別器のアルゴリズムは特に限定しないが、例えば、サポートベクターマシン（ＳＶＭ）、ニューラルネットワーク（ＮＮ）などの訓練データを用いるアルゴリズムである。また、識別器は、複数のアルゴリズムによる識別結果を用いて画像データのクラスを識別してもよい。
【００３２】
運用時においては、分類部１３０は、訓練データセットに基づく機械学習により生成された識別器がデータ取得部１１０で取得された画像データのクラスを識別することで画像データを分類する。また、分類部１３０は、学習済みの複数の訓練データの少なくとも１つを変更又は削除する指示が入力されると、指示に従って学習済みの訓練データセットを更新し、更新された訓練データセットに基づいて、学習時と同様に機械学習を行うことで識別器を更新する。そして、更新された識別器が画像データのクラスを識別することでその画像データを分類する。
【００３３】
判定部１４０は、分類部１３０が画像データを分類するときに、識別器の更新の要否を判定し、判定結果を通知部１５０へ出力する。具体的には、判定部１４０は、分類部１３０が画像データを分類するときに算出される、分類結果についての確からしさに基づいて、識別器の更新の要否を判定する。より具体的には、分類結果についての確からしさが比較的低いときに識別器の更新が必要であると判定する。
【００３４】
判定部１４０は、例えば、特徴量算出部１３１が画像データから算出した複数の特徴量からなる特徴ベクトルと、識別器が有する分離超平面との距離に基づいて、識別器の更新の要否を判定してもよい。また、判定部１４０は、例えば、識別器が画像データのクラスを識別するときに画像データから算出した分類スコアに基づいて、識別器の更新の要否を判定してもよい。なお、分離超平面と分類スコアについては後述する。
【００３５】
さらに、判定部１４０は、例えば、学習済みの複数の訓練データに含まれる複数の訓練画像データから算出される複数の特徴ベクトルの各々と識別器が有する分離超平面との距離に基づいて、複数の訓練データから少なくとも１つの訓練データを選択してもよい。
【００３６】
通知部１５０は、判定部１４０での判定結果に応じて、学習済みの訓練データセットに含まれる複数の訓練データの少なくとも１つの変更又は削除を促す通知を行う。通知部１５０は、情報処理システム１に含まれる装置（例えば、ディスプレイ３０）へ通知を行ってもよい。また、通知部１５０は、ネットワークを介して接続された情報処理システム１外の端末（例えば、ノート型コンピュータ５０、タブレット端末６０など）へ通知を行ってもよい。
【００３７】
また、通知部１５０が行う通知の態様は特に限定しない。通知部１５０は、複数の訓練データの少なくとも１つの変更又は削除を促す通知画面を表示装置（ディスプレイ３０、ノート型コンピュータ５０、タブレット端末６０など）に表示させてもよい。この場合、通知部１５０は、判定部１４０が選択した少なくとも１つの訓練データに対応する少なくとも１つの訓練画像を含む通知画面を表示装置に表示させてもよい。また、通知部１５０は、図示しないスピーカーなどへ通知を行い、音声で利用者に複数の訓練データの少なくとも１つの変更又は削除を促してもよい。
【００３８】
以上のように構成された情報処理装置であるサーバ２０及び情報処理システム１は、画像データを分類するときに識別器の更新要否を判定し、判定結果に基づいて訓練データセットの更新を促す通知を行う。このため、通知を受けた利用者は、必要に応じて訓練データセットの更新を指示することが可能であり、識別器の判定基準を変化させることができる。従って、サーバ２０及び情報処理システム１によれば、環境変化にも柔軟に対応することが可能であり、その結果、高い分類精度を維持することができる。
【００３９】
また、サーバ２０は、画像データを分類するときに算出される分類結果についての確からしさに基づいて、識別器の更新の要否を判定する。つまり、分類結果についての確からしさが比較的低いときに識別器の更新が必要であると判定する。確からしさが比較的低い分類結果が算出される画像データは、一般に環境変化によって分類されるべきクラスが変化しやすいことが予想される。このため、確からしさが比較的低い分類結果が得られたときに識別器の更新を促すことで、分類精度に影響を及ぼす環境変化に対して適切なタイミングで対応することができる。従って、さらに安定的に高い分類精度を維持することができる。
【００４０】
以下、サーバ２０及び情報処理システム１が行う処理の一例を具体的に説明する。この例では、サーバ２０及び情報処理システム１は、画像に写っている特徴領域がヨゴレであるかとキズであるかを判定する検査装置及び検査システムであり、画像データをクラス“ヨゴレ”、または、クラス“キズ”に分類する。
【００４１】
図６は、学習処理の一例を示すフローチャートである。図７は、特徴空間に２つの訓練データの特徴ベクトルをプロットした図である。図８は、特徴空間にすべての訓練データの特徴ベクトルをプロットした図である。図９は、特徴空間に分離超平面ＨＰと拮抗領域Ｒを形成された様子を示した図である。まず、図６から図９を参照しながら、サーバ２０が行う学習処理の一例について説明する。
【００４２】
図６に示す学習処理が開始されると、サーバ２０は、訓練データを取得する（ステップＳ１）。ここでは、データ取得部１１０が、例えば、サーバ２０のストレージ２３に格納されている複数の訓練データの一つを読み出すことで、訓練データを取得する。訓練データには、図５に示すように、訓練画像データとクラスラベルが含まれている。
【００４３】
次に、サーバ２０は、訓練データに含まれる訓練画像データから特徴領域を特定する（ステップＳ２）。ここでは、特徴量算出部１３１が、例えば、訓練画像データに対応する訓練画像を二値化して特徴領域を特定する。又は、特徴量算出部１３１は、二値化する代わりにエッジ処理を訓練画像に対して行い特徴領域を特定してもよい。さらに、特徴量算出部１３１は、二値化処理又はエッジ処理の前に特徴領域を際立たせるための任意のフィルタ処理を行ってもよい。なお、特徴領域は、例えば、画像に含まれている欠陥が疑われる領域であり、キズやヨゴレなどを含んでいる領域である。
【００４４】
特徴領域が特定されると、サーバ２０は、特徴領域から特徴ベクトルを算出する（ステップＳ３）。ここでは、特徴量算出部１３１が、例えば、訓練画像データのうちの特徴領域に対応するデータから複数の特徴量を算出し、算出した複数の特徴量を成分とする特徴ベクトルを算出する。この例では、複数の特徴量として、特徴領域の面積と特徴領域の平均輝度を算出する。
【００４５】
特徴ベクトルが算出されると、サーバ２０は、訓練データと特徴ベクトルを記録する（ステップＳ４）。ここでは、特徴量算出部１３１が、例えば、ステップＳ１で取得した訓練データを訓練ＤＢ１３５に記録し、ステップＳ３で算出した特徴ベクトルを特徴量ＤＢ１３６に記録する。このとき、特徴量算出部１３１は、図５に示すように、訓練データと特徴ベクトルを関連付けて記録する。
【００４６】
その後、サーバ２０は、すべての訓練データを取得済みか否かを判定し（ステップＳ５）、すべての訓練データが取得済みではないと判定した場合には、ステップＳ１からステップＳ５の処理を繰り返す。
【００４７】
すべての訓練データが取得済みと判定されると、サーバ２０は、機械学習を行う（ステップＳ６）。ここでは、学習部１３２が、例えば、ステップＳ１で取得した複数の訓練データを含む訓練データセット（以降、第１訓練データセットと記す。）に基づく機械学習により識別器である識別部１３３を生成する。
【００４８】
より具体的に説明すると、学習部１３２は、まず、訓練ＤＢ１３５と特徴量ＤＢ１３６から互いに関連付けられた特徴ベクトルとクラスラベルを１つずつ順番に読み出して、図７及び図８に示すように、特徴空間にプロットする。ここで、特徴空間とは、例えば、特徴ベクトルの各成分（特徴量）を軸とする空間であるが、より高次元の空間であってもよい。
【００４９】
図７及び図８に示す黒丸は、クラス“キズ”を示すクラスラベルに関連付けられた特徴ベクトルである。または、図７及び図８に示す黒四角は、クラス“ヨゴレ”を示すクラスラベルに関連付けられた特徴ベクトルである。なお、これらの記号は、他の図（図９、１１−１６）でも同様である。
【００５０】
特徴空間へのプロットが終了すると、学習部１３２は、分離超平面ＨＰと拮抗領域Ｒを算出する。ここで、分離超平面ＨＰとは、特徴空間をクラス毎に分離する境界面のことである。拮抗領域Ｒとは、分類スコアがほぼ拮抗している領域のことである。分類スコアとは、学習部１３２により生成された識別器により画像データのクラスを識別するときにクラス毎に算出される値であり、そのクラスへの分類がその程度確からしいかを示す値である。各クラスの分類スコアが0.0から1.0の値をとり、全クラスの分類スコアの合計が1.0となる場合であれば、例えば、最も高い値を有する分類スコア（一位の分類スコア）が0.6以下であり、二番目に高い値を有する分類スコア（二位の分類スコア）との差が0.2以内である領域を拮抗領域Ｒとして算出してもよい。
【００５１】
なお、図９には、識別器のアルゴリズムとしてＳＶＭを採用し、マージン最大化という基準で算出した分離超平面ＨＰが記載されている。ただし、識別器のアルゴリズムは特に限定されず、例えば、ニューラルネットワークなど他のアルゴリズムが採用されてもよい。
最後に、学習部１３２は、分離超平面、拮抗領域Ｒ、その他の識別器のパラメータを記録することで機械学習が終了し、これにより、識別器が生成される。
【００５２】
図１０は、分類処理の一例を示すフローチャートである。図１１は、画像データの特徴ベクトルＦＢ１を特徴空間にプロットした図である。図１２は、画像データの特徴ベクトルＦＢ２を特徴空間にプロットした図である。図１３は、画像データの特徴ベクトルＦＢ３を特徴空間にプロットした図である。図１４は、訓練データを削除して分離超平面ＨＰを更新した様子を示した図である。図１５は、画像データの特徴ベクトルＦＢ６を特徴空間にプロットした図である。図１６は、訓練データを変更して分離超平面ＨＰを更新した様子を示した図である。図１７は、通知画面６１を例示した図である。図１０から図１７を参照しながら、サーバ２０が行う分類処理の一例について説明する。
【００５３】
図１０に示す分類処理が開始されると、サーバ２０は、顕微鏡１０がサンプルＳを撮像するように顕微鏡１０を制御する（ステップＳ１１）。これにより、顕微鏡１０は、サンプルＳを撮像し、サンプルＳの画像データをサーバ２０へ出力する。
【００５４】
サーバ２０は、顕微鏡１０が送信した画像データを取得する（ステップＳ１２）。ここでは、データ取得部１１０が画像データを取得する。
【００５５】
画像データを取得すると、サーバ２０は、特徴領域を特定し（ステップＳ１３）、特徴ベクトルを算出する（ステップＳ１４）。ここでは、特徴量算出部１３１が画像データから特徴領域を特定し、画像データのうちの特徴領域に対応するデータから複数の特徴量を算出し、特徴ベクトルを算出する。なお、ステップＳ１３、ステップＳ１４の処理は、対象とするデータが訓練画像データではなく顕微鏡１０が取得した画像データである点を除き、図６のステップＳ２、ステップＳ３の処理と同様である。
【００５６】
特徴ベクトルが算出されると、サーバ２０は、画像データのクラスを識別する（ステップＳ１５）。ここでは、機械学習により生成された識別器である識別部１３３が、ステップＳ１４で算出した特徴ベクトルを入力として用いて、画像データのクラスを識別する。この際、各クラスの分類スコアも算出される。
【００５７】
その後、サーバ２０は、分類スコアが拮抗しているか否かを判定する（ステップＳ１６）。ここでは、判定部１４０が、例えば、ステップＳ１５で算出された分類スコアに基づいて分類スコアが拮抗しているか否かを判定してもよい。また、判定部１４０が、例えば、ステップＳ１４で算出された特徴ベクトルと識別器（識別部１３３）が有する分離超平面ＨＰとの距離に基づいて分類スコアが拮抗しているかを判定してもよい。
【００５８】
サーバ２０は、分類スコアが拮抗していないと判定すると、画像データをステップＳ１５で識別したクラスに分類し（ステップＳ１７）、図１０に示す分類処理を終了する。例えば、図１１に示すように、ステップＳ１４で算出した特徴ベクトルＦＢ１が拮抗領域Ｒに属していない場合が、このケースに相当する。
【００５９】
一方、サーバ２０は、分類スコアが拮抗していると判定すると、更新候補の訓練データを選択し（ステップＳ１８）、少なくとも１つの訓練データの変更又は削除を促す通知を行う（ステップＳ１９）。つまり、この例では、サーバ２０は、ステップＳ１６において、識別器の更新の要否を判定している。
【００６０】
ステップＳ１８では、サーバ２０は、分離超平面ＨＰと拮抗領域Ｒに及ぼす影響が大きい訓練データを更新候補の訓練データとして選択する。具体的には、判定部１４０が、例えば、学習済みの複数の訓練画像データから算出される複数の特徴ベクトルの各々と識別器が有する分離超平面ＨＰとの距離に基づいて、複数の訓練データから少なくとも１つの訓練データを選択する。さらに具体的には、判定部１４０は、例えば、図１２、図１３及び図１５に示すように、分離超平面ＨＰからの距離が最も近い特徴ベクトル（ＦＢ４、ＦＢ５）に対応する訓練データをクラス毎に１つずつ選択してもよい。
【００６１】
ステップＳ１９では、サーバ２０は、例えば、ネットワークを介して接続されているクライアント端末（ノート型コンピュータ５０、タブレット端末６０など）へメールを送信してもよい。この際、サーバ２０は複数の宛先に通知してもよく、スコアの拮抗度合いに応じて通知先を選択してもよい。また、サーバ２０は、例えば、図１７に示すような、学習済みの複数の訓練データの少なくとも１つの変更又は削除を促す通知画面６１を表示装置（図１７ではタブレット端末６０）に表示させてもよい。
【００６２】
図１７に示す通知画面６１には、ステップＳ１２で取得した画像データに対応する画像であるサンプル画像Ｍ１と、訓練画像Ｍ２、訓練画像Ｍ３が表示されている。サンプル画像Ｍ１上の“ヨゴレ？”は、ステップＳ１５で識別したクラス（ここでは、“ヨゴレ”）の情報に基づいて表示される。訓練画像Ｍ２と訓練画像Ｍ３は、ステップＳ１８で判定部１４０が選択した訓練データに対応する画像であり、訓練画像Ｍ２はクラス“キズ”の訓練画像であり、訓練画像Ｍ３はクラス“ヨゴレ”の訓練画像である。通知画面６１には、さらに、訓練画像Ｍ２又は訓練画像Ｍ３の少なくとも一方の変更又は削除を指示するための操作ボタンが設けられている。
【００６３】
サーバ２０は、通知を行うと、通知先からの指示を取得するまで待機し（ステップＳ２０）、指示を取得すると、取得した指示が訓練データの変更または削除を指示する更新指示であるか否かを判定する（ステップＳ２１）。
【００６４】
ステップＳ２１で指示が更新指示でないと判定すると、サーバ２０は、画像データをステップＳ１５で識別したクラスに分類し（ステップＳ２５）、図１０に示す分類処理を終了する。例えば、図１２に示すように、ステップＳ１４で算出した特徴ベクトルＦＢ２が拮抗領域Ｒに属しているものの、ステップＳ１５でのクラスの識別に誤りがないと利用者が判断した場合が、このケースに相当する。この場合、利用者は、例えば、図１７に示す通知画面６１でサンプル画像Ｍ１のクラスが正しく識別されていることを確認し、キャンセルボタンを押下すればよい。
【００６５】
一方、ステップＳ２１で指示が更新指示であると判定すると、サーバ２０は、指示に従って学習済みの訓練データセットを更新する（ステップＳ２２）。以降、更新後の訓練データセットを、図５の学習処理により学習済みの訓練データセット（第１訓練データセット）と区別するために、第２訓練データセットと記す。例えば、図１３及び図１５に示すように、ステップＳ１４で算出した特徴ベクトル（ＦＢ３、ＦＢ６）が拮抗領域Ｒに属し、且つ、ステップＳ１５でのクラスの識別に誤りがあると利用者が判断した場合が、このケースに相当する。この場合、利用者は、例えば、図１７に示す通知画面６１でサンプル画像Ｍ１のクラスが正しく識別されていないことを確認し、変更ボタン又は削除ボタンを押下すればよい。
【００６６】
ステップＳ２２では、サーバ２０の訓練データ更新部１３４は、指示が学習済みの複数の訓練データの少なくとも１つを変更する指示であるとき、その指示により特定される少なくとも１つの訓練データに含まれるクラスラベルを更新する。また、訓練データ更新部１３４は、指示が学習済みの複数の訓練データの少なくとも１つを削除する指示であるとき、第１訓練データセットを、学習済みの複数の訓練データのうちの指示により特定される少なくとも１つの訓練データを除く残りの訓練データを含む第２訓練データセットへ更新する。
【００６７】
その後、サーバ２０は、第２訓練データセットに基づいて機械学習を行い（ステップＳ２３）、識別器を更新する。ステップＳ２３の処理は、第１訓練データセットの代わりに第２訓練データセットが学習に使用される点を除き、図６のステップＳ６の処理と同様である。
【００６８】
これにより、図１４及び図１６に示すように分離超平面ＨＰも更新される。なお、図１４は、特徴ベクトルＦＢ５に対応する訓練データを削除した例を、図１６は、特徴ベクトルＦＢ５に対応する訓練データのクラスラベルを“ヨゴレ”から“キズ”に変更した例を示している。
【００６９】
ステップＳ２３の再学習が終了すると、サーバ２０は、画像データのクラスを識別する（ステップＳ２４）。ここでは、更新された識別器である識別部１３３が、ステップＳ１４で算出した特徴ベクトルを入力として用いて、画像データのクラスを識別する。
【００７０】
最後に、サーバ２０は、画像データをステップＳ２４で識別したクラスに分類し（ステップＳ２５）、図１０に示す分類処理を終了する。
【００７１】
本実施形態によれば、例えば、検査システムにおいて、運用開始後に欠陥の基準がより厳しい基準に変更された場合であっても、厳しい基準に合わせて訓練データのクラスラベルを変更することや、訓練データとして適当ではなくなったデータを削除することができる。これにより、訓練データを入力し直すことなく再学習が可能となる。従って、管理者に過度な負担を強いることなく検査基準の変更という環境変化にも柔軟に対応することが可能であり、その結果、高い分類精度を維持することができる。
【００７２】
また、本実施形態によれば、例えば、検査システムにおいて、運用開始後に光源などの装置が劣化した結果、運用開始時に比べて得られる画像データのコントラストや輝度が低くなってしまう場合であっても、装置環境に合わせて訓練データを更新することができる。運用開始後にサンプルの特性が変化した結果、得られる画像データのコントラストや輝度が運用開始時とは異なるものになってしまう場合であっても、サンプルの特性に合わせて訓練データを更新することができる。これにより、訓練データを入力し直すことなく再学習が可能となる。従って、管理者に過度な負担を強いることなく装置環境やサンプルの特性の変化にも柔軟に対応することが可能であり、その結果、高い分類精度を維持することができる。
【００７３】
［第２の実施形態］
図１８は、本実施形態に係る情報処理システム２の構成を例示した図である。情報処理システム２は、顕微鏡１０の代わりにカメラ１１を備える点と、搬送装置７０を備える点が、情報処理システム１とは異なる。
【００７４】
カメラ１１は、サンプルＳを撮像してサンプルＳの画像データを生成する撮像装置の一例である。カメラ１１は、例えば、ＣＣＤイメージセンサ、ＣＭＯＳイメージセンサなどの撮像素子を備えている。搬送装置７０は、サンプルＳを搬送する装置である。搬送装置７０は、例えば、複数のベルトコンベア（ベルトコンベア７１、ベルトコンベア７２、ベルトコンベア７３、ベルトコンベア７４）を含んでも良い。
【００７５】
情報処理システム２では、サーバ２０は、カメラ１１で生成されたサンプルＳの画像データを分類し、分類結果に基づいて搬送装置７０を制御する。例えば、画像データをクラスＡに分類したときとクラスＢに分類したときでベルトコンベア７２の回転を反転させてもよい。これにより、搬送装置７０は、サーバ２０が分類した画像データのクラスに応じて、サンプルＳの搬送先（Ｄ１、Ｄ２）を変更してもよい。
【００７６】
以上のように構成された情報処理システム２によっても、情報処理システム１と同様の効果を得ることができる。
【００７７】
上述した実施形態は、発明の理解を容易にするための具体例を示したものであり、本発明の実施形態はこれらに限定されるものではない。上述した実施形態の一部を他の実施形態に適用しても良い。情報処理装置、情報処理システム、情報処理方法、及び、プログラムは、特許請求の範囲の記載を逸脱しない範囲において、さまざまな変形、変更が可能である。
【００７８】
上述した実施形態では、判定部１４０が分離超平面からの距離が近い訓練データを選択する例を示したが、判定部１４０は異なる基準で訓練データを選択してもよい、例えば、訓練画像の撮像日時などに基づいて更新候補となる訓練データを選択してもよい。
【００７９】
上述した実施形態では、訓練データ更新部１３４が指示により特定された訓練データを更新する例を示したが、訓練データ更新部１３４は、特定された訓練データに類似する訓練データを合わせて更新してもよい。例えば、類似するか否かは、分類スコアや特徴ベクトルに基づいて判断してもよく、訓練画像の撮像日時に基づいて判断しても良い。
【符号の説明】
【００８０】
１、２・・・情報処理システム、１０・・・顕微鏡、１１・・・カメラ、２０・・・サーバ、２１・・・プロセッサ、２２・・・メモリ、２３・・・ストレージ、２４・・・インタフェース装置、２５・・・可搬記憶媒体駆動装置、２６・・・可搬記憶媒体、２７・・・バス、３０・・・ディスプレイ、４０・・・キーボード、５０・・・ノート型コンピュータ、６０・・・タブレット端末、６１・・・通知画面、７０・・・搬送装置、７１、７２、７３、７４・・・ベルトコンベア、１１０・・・データ取得部、１２０・・・指示取得部、１３０・・・分類部、１３１・・・特徴量算出部、１３２・・・学習部、１３３・・・識別部、１３４・・・訓練データ更新部、１３５・・・訓練ＤＢ、１３６・・・特徴量ＤＢ、１４０・・・判定部、１５０・・・通知部、Ｃ・・・クラスラベル、Ｆ１、Ｆ２・・・特徴量、ＦＢ、ＦＢ１、ＦＢ２、ＦＢ３、ＦＢ４、ＦＢ５、ＦＢ６・・・特徴ベクトル、ＦＳ・・・特徴ベクトルセット、ＨＰ・・・分離超平面、Ｍ・・・訓練画像データ、Ｍ１・・・サンプル画像、Ｍ２、Ｍ２・・・訓練画像、Ｍ３・・・訓練画像、Ｒ・・・拮抗領域、Ｓ・・・サンプル、ＴＳ・・・訓練データセット、ＴＤ・・・訓練データ
【図１】
2019079167.tif 000003
【図２】
2019079167.tif 000004
【図３】
2019079167.tif 000005
【図４】
2019079167.tif 000006
【図５】
2019079167.tif 000007
【図６】
2019079167.tif 000008
【図７】
2019079167.tif 000009
【図８】
2019079167.tif 000010
【図９】
2019079167.tif 000011
【図１０】
2019079167.tif 000012
【図１１】
2019079167.tif 000013
【図１２】
2019079167.tif 000014
【図１３】
2019079167.tif 000015
【図１４】
2019079167.tif 000016
【図１５】
2019079167.tif 000017
【図１６】
2019079167.tif 000018
【図１７】
2019079167.tif 000019
【図１８】
2019079167.tif 000020