(57)【要約】【課題】画像に写った物体のクラス分類の精度を向上させる。【解決手段】複数の第１の画像を用いて、入力された画像の特徴量を算出する特徴モデル１４を学習する。特徴モデル１４を用いて、複数の第１の画像それぞれに対する第１の特徴量を算出し、クラスと第１の特徴量との間の関係を示す特徴分布情報１５を生成する。複数の第２の画像を用いて、入力された画像から物体が写った領域および物体が属するクラスを判定する検出モデル１３を学習する際に、特徴モデル１４を用いて、検出モデル１３により複数の第２の画像の中から判定された領域に対する第２の特徴量を算出し、特徴分布情報１５および第２の特徴量を用いて、検出モデル１３のクラスの判定精度を示す評価値１６を修正し、修正した評価値１６に基づいて検出モデル１３を更新する。【選択図】図１
2020061066.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のクラスのうち何れか１つのクラスに属する物体がそれぞれ写った複数の第１の画像を用いて、入力された画像の特徴量を算出する特徴モデルを学習し、
前記特徴モデルを用いて、前記複数の第１の画像それぞれに対する第１の特徴量を算出し、前記複数のクラスと前記第１の特徴量との間の関係を示す特徴分布情報を生成し、
複数の第２の画像を用いて、入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルを学習する際に、前記特徴モデルを用いて、前記検出モデルにより前記複数の第２の画像の中から判定された領域に対する第２の特徴量を算出し、前記特徴分布情報および前記第２の特徴量を用いて、前記検出モデルのクラスの判定精度を示す評価値を修正し、前記修正した評価値に基づいて前記検出モデルを更新する、
処理を実行させる学習プログラム。
【請求項２】
前記特徴モデルは、複数のノードを含む入力層と、複数のノードを含む出力層と、前記入力層および前記出力層よりノードが少ない中間層とを有するオートエンコーダであり、
前記特徴モデルが算出する特徴量は、前記中間層で算出されるベクトルである、
請求項１記載の学習プログラム。
【請求項３】
前記複数の第１の画像は、物体が写った領域および当該物体が属するクラスを示す教師情報が付加された第３の画像から、前記教師情報が示す領域を切り出した画像である、
請求項１記載の学習プログラム。
【請求項４】
前記評価値の修正では、前記第２の特徴量と前記検出モデルにより判定されたクラスに対応する前記第１の特徴量との間の距離を算出し、前記算出した距離が大きいほど前記判定精度の評価が低下するように前記評価値を修正する、
請求項１記載の学習プログラム。
【請求項５】
前記評価値の修正では、前記第２の特徴量と前記複数のクラスそれぞれに対応する前記第１の特徴量との間の距離を示す距離分布を算出し、前記距離分布と前記複数の第２の画像に付加された教師情報が示す正解クラスとの間の差異を示す第１の修正項目と、前記距離分布と前記検出モデルによるクラスの判定結果との間の差異を示す第２の修正項目とに基づいて、前記評価値を修正する、
請求項１記載の学習プログラム。
【請求項６】
前記評価値の修正では、前記検出モデルの学習の進行に応じて、前記第１の修正項目の重みを段階的に小さくし、前記第２の修正項目の重みを段階的に大きくする、
請求項５記載の学習プログラム。
【請求項７】
コンピュータに、
入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルと、入力された画像の特徴量を算出する特徴モデルと、複数のクラスと前記特徴モデルにより算出される特徴量との間の関係を示す特徴分布情報とを取得し、
前記検出モデルを用いて、対象画像の中から異なる複数の領域を判定し、前記複数の領域それぞれにおけるクラスの判定結果の信頼度を算出し、
前記複数の領域それぞれについて、前記特徴モデルを用いて当該領域に対する特徴量を算出し、前記特徴分布情報および前記算出した特徴量を用いて前記信頼度を修正し、
前記修正した信頼度に基づいて、前記複数の領域のうち１以上の領域を選択する、
処理を実行させる検出プログラム。
【請求項８】
複数のクラスのうち何れか１つのクラスに属する物体がそれぞれ写った複数の第１の画像と、複数の第２の画像とを記憶する記憶部と、
前記複数の第１の画像を用いて、入力された画像の特徴量を算出する特徴モデルを学習し、前記特徴モデルを用いて、前記複数の第１の画像それぞれに対する第１の特徴量を算出し、前記複数のクラスと前記第１の特徴量との間の関係を示す特徴分布情報を生成し、前記複数の第２の画像を用いて、入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルを学習する際に、前記特徴モデルを用いて、前記検出モデルにより前記複数の第２の画像の中から判定された領域に対する第２の特徴量を算出し、前記特徴分布情報および前記第２の特徴量を用いて、前記検出モデルのクラスの判定精度を示す評価値を修正し、前記修正した評価値に基づいて前記検出モデルを更新する処理部と、
を有する学習装置。
【請求項９】
入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルと、入力された画像の特徴量を算出する特徴モデルと、複数のクラスと前記特徴モデルにより算出される特徴量との間の関係を示す特徴分布情報とを記憶する記憶部と、
前記検出モデルを用いて、対象画像の中から異なる複数の領域を判定し、前記複数の領域それぞれにおけるクラスの判定結果の信頼度を算出し、前記複数の領域それぞれについて、前記特徴モデルを用いて当該領域に対する特徴量を算出し、前記特徴分布情報および前記算出した特徴量を用いて前記信頼度を修正し、前記修正した信頼度に基づいて、前記複数の領域のうち１以上の領域を選択する処理部と、
を有する検出装置。
【請求項１０】
コンピュータが、
複数のクラスのうち何れか１つのクラスに属する物体がそれぞれ写った複数の第１の画像を用いて、入力された画像の特徴量を算出する特徴モデルを学習し、
前記特徴モデルを用いて、前記複数の第１の画像それぞれに対する第１の特徴量を算出し、前記複数のクラスと前記第１の特徴量との間の関係を示す特徴分布情報を生成し、
複数の第２の画像を用いて、入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルを学習する際に、前記特徴モデルを用いて、前記検出モデルにより前記複数の第２の画像の中から判定された領域に対する第２の特徴量を算出し、前記特徴分布情報および前記第２の特徴量を用いて、前記検出モデルのクラスの判定精度を示す評価値を修正し、前記修正した評価値に基づいて前記検出モデルを更新する、
学習方法。
【請求項１１】
コンピュータが、
入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルと、入力された画像の特徴量を算出する特徴モデルと、複数のクラスと前記特徴モデルにより算出される特徴量との間の関係を示す特徴分布情報とを取得し、
前記検出モデルを用いて、対象画像の中から異なる複数の領域を判定し、前記複数の領域それぞれにおけるクラスの判定結果の信頼度を算出し、
前記複数の領域それぞれについて、前記特徴モデルを用いて当該領域に対する特徴量を算出し、前記特徴分布情報および前記算出した特徴量を用いて前記信頼度を修正し、
前記修正した信頼度に基づいて、前記複数の領域のうち１以上の領域を選択する、
検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は学習プログラム、検出プログラム、学習装置、検出装置、学習方法および検出方法に関する。
【背景技術】
【０００２】
入力された画像の中から所定の種類の物体を検出する画像認識技術がある。画像認識では、人間や車両など検出したい物体の種類を示す複数のクラスを設定しておき、入力された画像の中から、何れかのクラスに属する物体が写っている領域および当該物体が属するクラスを判定することがある。領域およびクラスの判定には、予め機械学習によって生成された検出モデルを使用することがある。機械学習は深層学習（ディープラーニング）であることがあり、検出モデルは多層ニューラルネットワークであることがある。
【０００３】
１枚の画像から１以上の領域を検出し各領域のクラスを判定する検出モデルを、ディープラーニングによって学習する技術として、ＳＳＤ（Single Shot MultiBox Detector）が提案されている。ＳＳＤの検出モデルは、検出した領域の位置を示す位置情報と、当該領域に写った物体が特定のクラスに属する確率を示す信頼度とを出力する。
【０００４】
なお、画像の中から人間の顔を検出するための顔検出モデルを学習する学習装置が提案されている。また、車載カメラの画像の中から歩行者を検出するための識別モデルを学習する識別モデル生成装置が提案されている。また、侵入者の体の一部分が隠蔽されていても監視カメラの画像の中から侵入者を検出できるように、検出モデルを学習する学習装置が提案されている。また、対象データの次元数よりも分類クラス数が少ない場合であっても、認識精度の高い認識モデルを学習できる認識モデル学習装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−４４３３０号公報
【特許文献２】特開２０１０−２１１４６０号公報
【特許文献３】特開２０１１−２１０１８１号公報
【特許文献４】特開２０１４−１０７７８号公報
【非特許文献】
【０００６】
【非特許文献１】Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg, "SSD: Single Shot Multibox Detector," 14th European Conference on Computer Vision (ECCV2016), pp. 21-37, vol. 9905, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像認識の適用場面の中には、異なるクラスに属する物体の形状や模様が比較的近似しており、クラス数も少ない場合がある。例えば、医療画像の中から特定の細胞組織を検出し、陰性や陽性など各細胞組織の状態を判定する場合、状態による組織細胞の形状や模様の違いが小さく、区別したい状態の数も少ない。この場合には、学習した検出モデルにおいて、位置ずれによる誤分類が発生しやすいという問題がある。
【０００８】
位置ずれによる誤分類は、対象画像から物体が写った領域を正確に切り出すことができれば物体を正しいクラスに分類できる一方、物体が写った領域を少しずれて切り出してしまうと物体を誤ったクラスに分類してしまうものである。よって、領域の検出位置の正確性が不十分である検出モデルが生成されてしまうと、機械学習に用いた訓練データ以外の画像に対してクラス分類の精度が低くなってしまう。
【０００９】
１つの側面では、本発明は、画像に写った物体のクラス分類の精度を向上させる学習プログラム、検出プログラム、学習装置、検出装置、学習方法および検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、コンピュータに以下の処理を実行させる学習プログラムが提供される。複数のクラスのうち何れか１つのクラスに属する物体がそれぞれ写った複数の第１の画像を用いて、入力された画像の特徴量を算出する特徴モデルを学習する。特徴モデルを用いて、複数の第１の画像それぞれに対する第１の特徴量を算出し、複数のクラスと第１の特徴量との間の関係を示す特徴分布情報を生成する。複数の第２の画像を用いて、入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルを学習する際に、特徴モデルを用いて、検出モデルにより複数の第２の画像の中から判定された領域に対する第２の特徴量を算出し、特徴分布情報および第２の特徴量を用いて、検出モデルのクラスの判定精度を示す評価値を修正し、修正した評価値に基づいて検出モデルを更新する。
【００１１】
また、１つの態様では、コンピュータに以下の処理を実行させる検出プログラムが提供される。入力された画像から物体が写った領域および当該物体が属するクラスを判定する検出モデルと、入力された画像の特徴量を算出する特徴モデルと、複数のクラスと特徴モデルにより算出される特徴量との間の関係を示す特徴分布情報とを取得する。検出モデルを用いて、対象画像の中から異なる複数の領域を判定し、複数の領域それぞれにおけるクラスの判定結果の信頼度を算出する。複数の領域それぞれについて、特徴モデルを用いて当該領域に対する特徴量を算出し、特徴分布情報および算出した特徴量を用いて信頼度を修正する。修正した信頼度に基づいて、複数の領域のうち１以上の領域を選択する。
【００１２】
また、１つの態様では、記憶部と処理部とを有する学習装置が提供される。また、１つの態様では、記憶部と処理部とを有する検出装置が提供される。また、１つの態様では、コンピュータが実行する学習方法が提供される。また、１つの態様では、コンピュータが実行する検出方法が提供される。
【発明の効果】
【００１３】
１つの側面では、画像に写った物体のクラス分類の精度が向上する。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の学習装置の例を説明する図である。
【図２】第２の実施の形態の検出装置の例を説明する図である。
【図３】機械学習装置のハードウェア例を示すブロック図である。
【図４】学習および検出の第１の例を示す図である。
【図５】学習および検出の第２の例を示す図である。
【図６】訓練データ生成の例を示す図である。
【図７】オートエンコーダの例を示す図である。
【図８】特徴空間の例を示す図である。
【図９】予測信頼度と特徴信頼度と誤差修正量の関係の第１の例を示す図である。
【図１０】予測信頼度と特徴信頼度と誤差修正量の関係の第２の例を示す図である。
【図１１】腎臓組織画像からの糸球体の検出例を示す図である。
【図１２】機械学習装置の機能例を示すブロック図である。
【図１３】画像情報テーブルの例を示す図である。
【図１４】訓練データテーブルと特徴空間テーブルの例を示す図である。
【図１５】他の訓練データテーブルと誤差評価テーブルの例を示す図である。
【図１６】テストデータテーブルと他の誤差評価テーブルの例を示す図である。
【図１７】特徴モデル学習の手順例を示すフローチャートである。
【図１８】検出モデル学習の手順例を示すフローチャートである。
【図１９】検出モデルテストの手順例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１６】
図１は、第１の実施の形態の学習装置の例を説明する図である。
第１の実施の形態の学習装置１０は、入力された画像から物体が写った領域および当該物体が属するクラスを判定するための検出モデル１３を生成する。生成された検出モデル１３を利用して領域およびクラスを判定する画像認識は、学習装置１０が行ってもよいし他の装置が行ってもよい。学習装置１０は、情報処理装置またはコンピュータと言うこともできる。学習装置１０は、クライアント装置でもよいしサーバ装置でもよい。
【００１７】
学習装置１０は、記憶部１１および処理部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性ストレージでもよい。処理部１２は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、処理部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１１でもよい）に記憶されたプログラムを実行する。プログラムには学習プログラムが含まれる。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００１８】
記憶部１１は、複数のクラスのうち何れか１つのクラスに属する物体がそれぞれ写った複数の第１の画像を記憶する。また、記憶部１１は、複数の第２の画像を記憶する。複数の第１の画像は、後述する特徴モデル１４を学習するための訓練データである。複数の第２の画像は、検出モデル１３を学習するための訓練データである。
【００１９】
複数の第１の画像と複数の第２の画像は、同一のオリジナル画像から切り出されたものであってもよい。例えば、複数の第１の画像は、オリジナル画像に付加された教師情報に含まれる位置情報に従って、オリジナル画像の中から物体が写った領域を正確に切り出したものである。複数の第１の画像は、検出したい物体が写った領域以外の背景領域が少ないことが好ましい。また、例えば、複数の第２の画像は、オリジナル画像の中から物体が写った領域を包含する領域を切り出したものである。複数の第２の画像は、検出したい物体が写った領域以外の背景領域を多く含んでいてよい。複数の第２の画像として切り出す領域は、オリジナル画像の中からランダムに決定してもよい。
【００２０】
ただし、複数の第１の画像と複数の第２の画像は、異なるオリジナル画像から切り出されたものであってもよい。また、複数の第２の画像の生成に、複数の第１の画像と同じオリジナル画像を使用し、更に別のオリジナル画像を追加することも可能である。
【００２１】
複数のクラスは、入力された画像の中から検出したい物体の種類を示す。医療画像から細胞組織の状態を判定する医療画像診断においては、複数のクラスは陰性や陽性など細胞組織の状態を示す。第１の実施の形態の学習装置１０は、クラス間の物体の形状や模様が近似しており、クラス数が少ない画像認識に好適である。例えば、第１の実施の形態の学習装置１０は、腎生検などの医療画像診断に好適である。
【００２２】
処理部１２は、複数の第２の画像から検出モデル１３を学習する前に、複数の第１の画像から特徴モデル１４を学習する。特徴モデル１４は、入力された画像の特徴量を算出するためのモデルである。特徴モデル１４の学習には、例えば、ディープラーニングが用いられる。特徴モデル１４は、例えば、多層ニューラルネットワークの一種であるオートエンコーダである。オートエンコーダは、入力層と出力層と中間層とを含む。
【００２３】
入力層は画像が入力される層であり、ニューロンに相当する複数のノードを含む。出力層は画像が出力される層であり、ニューロンに相当する複数のノードを含む。中間層は入力層と出力層の間に位置し、ニューロンに相当する複数のノードを含む。中間層のノード数は入力層や出力層よりも少ない。オートエンコーダは、複数の中間層を含み得る。ただし、第１の実施の形態では最もノード数が少ない中間層、すなわち、最も次元数が少ない中間層に着目する。オートエンコーダは、ある層のノードと次の層のノードとを、シナプスに相当するエッジで結合している。オートエンコーダの学習によって、シナプスの重みが決定される。オートエンコーダは、出力層から出力される画像が、入力層に入力される画像に近付くように学習される。画像の特徴を中間層に獲得したうえで、出力画像が入力画像と一致することが理想的である。
【００２４】
処理部１２は、学習した特徴モデル１４を用いて、複数の第１の画像それぞれに対する第１の特徴量を算出し、複数のクラスと第１の特徴量との間の関係を示す特徴分布情報１５を生成する。特徴モデル１４がオートエンコーダである場合、ある第１の画像に対する第１の特徴量として、例えば、当該第１の画像をオートエンコーダに入力した際の中間層のノードの値を列挙したベクトルを用いることができる。最も次元数が少ない中間層に現れるベクトルは、入力された画像の特徴を凝縮して表現していると言える。
【００２５】
同じクラスに属する第１の画像からは近似する第１の特徴量が算出され、異なるクラスに属する第１の画像からは近似しない第１の特徴量が算出されることが期待される。よって、特徴分布情報１５は、ベクトル空間におけるクラス毎の第１の特徴量の分布を示している。特徴分布情報１５は、各クラスの第１の特徴量の平均と分散を含んでもよい。
【００２６】
ただし、特徴モデル１４が算出する特徴量は、物体が写った領域の切り出し位置の正確性に鋭敏に反応する。複数の第１の画像のように物体が写った領域が正確に切り出されている場合、特徴分布情報１５が示す分布に従った特徴量が算出される。一方、物体が写った領域が正確に切り出されていない場合、すなわち、理想的な切り出し位置からずれて切り出されている場合、特徴分布情報１５が示す分布から外れた特徴量が算出される。
【００２７】
特徴モデル１４および特徴分布情報１５が生成されると、処理部１２は、複数の第２の画像を用いて検出モデル１３を学習する。検出モデル１３は、入力された画像から物体が写った領域および当該物体のクラスを判定するためのモデルである。例えば、検出モデル１３の学習はディープラーニングであり、検出モデル１３は多層ニューラルネットワークである。処理部１２は、現在の検出モデル１３を用いて複数の第２の画像から領域およびクラスを判定し、クラスの判定精度を示す評価値１６を算出し、算出した評価値１６に基づいて評価が高くなるように検出モデル１３を更新することを繰り返す。評価値１６の算出には、例えば、正解領域および正解クラスを示す教師情報が参照される。
【００２８】
このとき、処理部１２は、検出モデル１３により判定された領域の部分画像を複数の第２の画像の中から抽出し、判定された領域に対する第２の特徴量を特徴モデル１４を用いて算出する。処理部１２は、算出した第２の特徴量と特徴分布情報１５とを用いて評価値１６を修正する。例えば、処理部１２は、検出モデル１３によって判定されたクラスに対応する特徴分布情報１５の第１の特徴量（例えば、当該クラスの第１の特徴量の平均）と第２の特徴量との間の距離を算出する。処理部１２は、距離が小さいほど評価が高くなり距離が大きいほど評価が低くなるように評価値１６を修正する。
【００２９】
このようにして、処理部１２は、修正後の評価値１６を用いて検出モデル１３を更新する。例えば、処理部１２は、修正後の評価値１６による評価が高くなるように、多層ニューラルネットワークのシナプスの重みを更新する。
【００３０】
評価値１６を算出するにあたり、判定されたクラスが正解クラスであるか否かと、判定された領域が正解領域に近いか否かの２つの観点を総合的に評価した場合、領域検出の正確性が不十分な検出モデル１３が生成されてしまうことがある。これは、訓練データである複数の第２の画像に過度に適合する過学習によって、領域検出の正確性が不十分であってもクラス判定が正確であり評価値１６による評価が高くなることがあるためである。この場合、訓練データ以外の画像に対しては誤ったクラス判定が発生しやすくなる。これに対して、上記の特徴量に基づいて評価値１６を修正することで、領域検出の位置ずれに対して評価値１６が鋭敏に反応するようになり、領域検出の正確性が不十分であるまま検出モデル１３の学習が収束してしまうことを抑制できる。
【００３１】
このように第１の実施の形態の学習装置１０によれば、画像に写った物体のクラス分類の精度が高い検出モデル１３を生成することができる。特に、医療画像診断など、クラス間の物体の形状や模様が近似しておりクラス数が少ない画像認識においても、検出モデル１３による誤ったクラス分類を抑制することができる。
【００３２】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の検出装置の例を説明する図である。
【００３３】
第２の実施の形態の検出装置２０は、入力された画像から物体が写った領域および当該物体が属するクラスを判定する。検出装置２０は、画像認識に検出モデル２３を使用する。検出モデル２３は、第１の実施の形態の学習装置１０が生成する検出モデル１３であってもよい。検出装置２０は、第１の実施の形態の学習装置１０と同一の装置であってもよい。検出装置２０は、情報処理装置またはコンピュータと言うこともできる。検出装置２０は、クライアント装置でもよいしサーバ装置でもよい。
【００３４】
検出装置２０は、記憶部２１および処理部２２を有する。記憶部２１は、ＲＡＭなどの揮発性の半導体メモリでもよいし、ＨＤＤやフラッシュメモリなどの不揮発性ストレージでもよい。処理部２２は、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＤＳＰなどのプロセッサである。ただし、処理部２２は、ＡＳＩＣやＦＰＧＡなどの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部２１でもよい）に記憶されたプログラムを実行する。プログラムには検出プログラムが含まれる。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００３５】
記憶部２１は、検出モデル２３、特徴モデル２４および特徴分布情報２５を記憶する。
検出モデル２３は、入力された画像から物体が写った領域および複数のクラスのうち当該物体が属するクラスを判定する。検出モデル２３は、機械学習によって生成され得る。例えば、検出モデル２３は、ディープラーニングによって生成される多層ニューラルネットワークである。複数のクラスは、入力された画像の中から検出したい物体の種類を示す。医療画像から細胞組織の状態を判定する医療画像診断においては、複数のクラスは陰性や陽性など細胞組織の状態を示す。第２の実施の形態の検出装置２０は、クラス間の物体の形状や模様が近似しており、クラス数が少ない画像認識に好適である。例えば、第２の実施の形態の検出装置２０は、腎生検などの医療画像診断に好適である。
【００３６】
特徴モデル２４は、入力された画像の特徴量を算出する。特徴モデル２４は、機械学習によって生成され得る。例えば、特徴モデル２４は、ディープラーニングによって生成される多層ニューラルネットワークであり、オートエンコーダであってもよい。特徴モデル２４は、第１の実施の形態の学習装置１０が生成する特徴モデル１４であってもよい。特徴モデル２４がオートエンコーダである場合、入力された画像に対する特徴量として、例えば、中間層のノードの値を列挙したベクトルを用いることができる。最も次元数が少ない中間層に現れるベクトルは、入力された画像の特徴を凝縮して表現していると言える。
【００３７】
特徴分布情報２５は、複数のクラスと特徴モデル２４により算出される特徴量との間の関係を示す。特徴分布情報２５は、第１の実施の形態の学習装置１０が生成する特徴分布情報１５であってもよい。同じクラスに属する画像からは近似する特徴量が算出され、異なるクラスに属する画像からは近似しない特徴量が算出されることが期待される。よって、特徴分布情報２５は、ベクトル空間におけるクラス毎の特徴量の分布を示している。特徴分布情報２５は、各クラスの特徴量の平均と分散を含んでもよい。
【００３８】
ただし、特徴モデル２４が算出する特徴量は、物体が写った領域の切り出し位置の正確性に鋭敏に反応する。物体が写った領域が正確に切り出されている場合、特徴分布情報２５が示す分布に従った特徴量が算出される。一方、物体が写った領域が正確に切り出されていない場合、すなわち、理想的な切り出し位置からずれて切り出されている場合、特徴分布情報２５が示す分布から外れた特徴量が算出される。
【００３９】
処理部２２は、画像認識の対象となる対象画像２６から、検出モデル２３を用いて物体が写った１以上の領域を検出し、検出した各領域の物体のクラスを判定する。このとき、処理部２２は、対象画像２６の中から異なる複数の領域（候補領域）を判定し、複数の領域それぞれにおけるクラスの判定結果の信頼度を算出する。複数の領域は同一でなければ重複していてもよい。信頼度は、ある領域に写った物体が特定のクラスに属する確率を示し、検出モデル２３によって算出される。例えば、検出モデル２３に従って、処理部２２は、対象画像２６から領域２６ａ，２６ｂを検出する。処理部２２は、領域２６ａに写った物体がクラスＣ１である確率として信頼度２７ａを算出し、領域２６ｂに写った物体がクラスＣ３である確率として信頼度２７ｂを算出する。
【００４０】
処理部２２は、検出した複数の領域それぞれの部分画像を対象画像２６から抽出し、特徴モデル２４を用いて複数の領域それぞれに対する特徴量を算出する。処理部２２は、複数の領域それぞれについて、特徴分布情報２５および算出した特徴量を用いて信頼度を修正する。例えば、処理部２２は、領域２６ａに対する特徴量を算出し、算出した特徴量を用いて信頼度２７ａを修正する。また、処理部２２は、領域２６ｂに対する特徴量を算出し、算出した特徴量を用いて信頼度２７ｂを修正する。
【００４１】
信頼度の修正は、例えば、次のように行う。処理部２２は、特定のクラスに対応する特徴分布情報２５の特徴量（例えば、当該クラスの特徴量の平均）と特徴モデル２４から算出された特徴量との間の距離を算出する。処理部２２は、距離が小さいほど信頼度が高くなり距離が大きいほど信頼度が低くなるように信頼度を修正する。元の信頼度と距離に反比例する特徴信頼度との加重平均を、修正後の信頼度としてもよい。
【００４２】
そして、処理部２２は、修正後の信頼度に基づいて、検出された複数の領域のうち１以上の領域を選択する。信頼度が高い領域ほど選択されやすくなる。例えば、処理部２２は、修正後の信頼度が閾値を超える領域を選択し、修正後の信頼度が閾値以下である領域を選択しない。修正後の信頼度２７ａが閾値を超えており、修正後の信頼度２７ｂが閾値以下である場合、領域２６ａが選択され領域２６ｂは選択されない。選択された領域は、何れかのクラスに属する物体が写った領域を示す検出結果として出力される。
【００４３】
検出モデル２３によって判定された領域が、物体が写っている正しい領域と一致している場合、検出モデル２３によって算出された信頼度の修正は少ないと期待される。一方、検出モデル２３によって判定された領域が、物体が写っている正しい領域からずれている場合、検出モデル２３によって算出された信頼度が下方に修正されると期待される。よって、検出モデル２３による領域検出の精度が不十分である場合であっても、誤った領域が検出結果として出力されてしまうことを抑制できる。
【００４４】
このように第２の実施の形態の検出装置２０によれば、画像から領域およびクラスを判定する精度を向上させることができる。特に、医療画像診断など、クラス間の物体の形状や模様が近似しておりクラス数が少ない画像認識においても、検出モデル２３による誤った領域検出やクラス分類を抑制することができる。
【００４５】
［第３の実施の形態］
次に、第３の実施の形態を説明する。
図３は、機械学習装置のハードウェア例を示すブロック図である。
【００４６】
機械学習装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。上記ユニットはバスに接続されている。
【００４７】
機械学習装置１００は、第１の実施の形態の学習装置１０および第２の実施の形態の検出装置２０に対応する。ＣＰＵ１０１は、第１の実施の形態の処理部１２および第２の実施の形態の処理部２２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１および第２の実施の形態の記憶部２１に対応する。なお、機械学習装置１００は、コンピュータまたは情報処理装置と言うこともできる。機械学習装置１００は、クライアント装置でもよいしサーバ装置でもよい。
【００４８】
ＣＰＵ１０１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、機械学習装置１００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または「プロセッサ」と言うことがある。
【００４９】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００５０】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、機械学習装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）など他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００５１】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、機械学習装置１００に接続されたディスプレイ１０４ａに画像を出力する。ディスプレイ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のディスプレイを用いることができる。
【００５２】
入力信号処理部１０５は、機械学習装置１００に接続された入力デバイス１０５ａから入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１０５ａとしては、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを用いることができる。また、機械学習装置１００に、複数の入力デバイスが接続されていてもよい。
【００５３】
媒体リーダ１０６は、記録媒体１０６ａに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１０６ａとして、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１０６ａから読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００５４】
通信インタフェース１０７は、ネットワーク１０７ａに接続され、ネットワーク１０７ａを介して他の情報処理装置と通信を行う。通信インタフェース１０７は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
【００５５】
第３の実施の形態の機械学習装置１００は、ディープラーニングにより、訓練データを用いて多層ニューラルネットワークである検出モデルを学習し、訓練データと異なるテストデータを用いて検出モデルの検出能力をテストする。
【００５６】
第３の実施の形態の機械学習装置１００は、腎生検細胞検出システムに使用される。腎生検は、腎臓から組織を採取して評価する検査である。腎生検では、顕微鏡画像の中から糸球体と呼ばれる組織を検出し、各糸球体の状態を判定する。糸球体は、老廃物を含む液体である原尿を血液から分離する組織である。糸球体には陰性や陽性などの複数の状態があり、状態に応じて点の有無など模様が異なる。機械学習装置１００は、顕微鏡画像から糸球体を検出して糸球体の状態を判定するための検出モデルを生成する。
【００５７】
腎生検では、腎臓組織を拡大した顕微鏡画像が分析対象であるため、様々な種類の物体が画像に写っているわけではなく識別すべきクラスは少数である。また、模様の小さな差異によって糸球体の状態を区別するため、クラス間の物体の違いは小さい。機械学習装置１００は、このようにクラス間の物体の差異が小さくクラス数が少ない場合に好適である。ただし、機械学習装置１００は、腎生検以外の医療画像診断に応用することも可能であり、他の分野の画像認識に応用することも可能である。
【００５８】
次に、検出モデルのクラス分類精度を低下させる要因について説明する。
図４は、学習および検出の第１の例を示す図である。
ここでは、クラスＣ１，Ｃ２，Ｃ３の何れかのクラスに属する物体が写った領域を画像から検出し、当該物体のクラスを判定することを考える。
【００５９】
小画像３１は、検出モデルを学習する際に使用する訓練データに含まれる１つの画像である。検出モデルは、領域の位置とクラスＣ１，Ｃ２，Ｃ３それぞれの予測信頼度を出力する。あるクラスの予測信頼度は、領域に写った物体が当該クラスの物体である確率を示す。検出モデルの学習では、位置誤差と信頼度誤差の合計が低下するように検出モデルが更新される。位置誤差は、検出モデルによって検出される領域と予め指定された正しい領域との間の誤差である。信頼度誤差は、検出モデルによって算出されるクラスＣ１，Ｃ２，Ｃ３の予測信頼度の分布と予め指定された正しいクラスとの間の誤差である。
【００６０】
位置誤差と信頼度誤差がバランスよく低下するように検出モデルが学習された場合、例えば、小画像３１から領域３１ａが検出され、クラスＣ１の予測信頼度が高くクラスＣ２，Ｃ３の予測信頼度が低く算出されるようになる。領域３１ａの位置は正解に十分近く、かつ、クラスＣ１は正解クラスである。この場合、訓練データと異なるテストデータに対しても、検出モデルは十分な判定精度をもつことが期待できる。
【００６１】
小画像３２は、検出モデルをテストする際に使用するテストデータに含まれる１つの画像である。上記の検出モデルを使用すると、例えば、小画像３２から領域３２ａが検出され、クラスＣ３の予測信頼度が高くクラスＣ１，Ｃ２の予測信頼度が低く算出される。領域３２ａの位置は正解に十分近く、かつ、クラスＣ３は正解クラスである。
【００６２】
図５は、学習および検出の第２の例を示す図である。
小画像３３は、検出モデルを学習する際に使用する訓練データに含まれる１つの画像である。上記のように、検出モデルの学習では、位置誤差と信頼度誤差の合計が低下するように検出モデルが更新される。このとき、位置誤差は十分に低下していないものの信頼度誤差が大きく低下することで、合計の誤差が小さくなり検出モデルの学習が収束してしまうことがある。これは、訓練データに過度に依存する過学習によって、本来不要な背景の模様などの情報も検出モデルに取り込んでしまうことで発生し得る。
【００６３】
例えば、小画像３３から領域３３ａが検出され、クラスＣ１の予測信頼度が高くクラスＣ２，Ｃ３の予測信頼度が低く算出されるようになる。クラスＣ１は正解クラスであるものの、領域３３ａの位置は正解からずれている。この場合、訓練データと異なるテストデータに対して、検出モデルは十分な判定精度を維持できない可能性がある。
【００６４】
小画像３４は、検出モデルをテストする際に使用するテストデータに含まれる１つの画像である。上記の検出モデルを使用すると、例えば、小画像３４から領域３４ａが検出され、クラスＣ１の予測信頼度が高くクラスＣ２，Ｃ３の予測信頼度が低く算出される。領域３４ａの位置は正解からずれている。このため、物体の形状の一部分が領域３４ａから外れることがあり、本来不要な背景の模様などが領域３４ａに多く含まれることがある。その影響から、正解クラスであるクラスＣ３の予測信頼度が低くなっており、検出モデルは小画像３４に対して誤ったクラス分類を行っている。
【００６５】
このように、信頼度誤差が大きく低下して位置誤差の低下が不十分なまま検出モデルの学習が終了すると、クラス間の物体の差異が小さくクラス数が少ない画像認識においては、領域検出の位置ずれに起因する誤ったクラス分類が発生しやすい。そこで、第３の実施の形態の機械学習装置１００は、位置ずれに起因する誤ったクラス分類が抑制されるように検出モデルを学習する。更に、機械学習装置１００は、位置ずれに起因する誤った領域検出が抑制されるように検出モデルのテストを工夫する。
【００６６】
以下、検出モデルの学習の流れおよびテストの流れを説明する。
図６は、訓練データ生成の例を示す図である。
機械学習装置１００は、検出モデルを学習する前に特徴モデルを学習する。特徴モデルは、入力される小画像の特徴量を算出するための多層ニューラルネットワークである。第３の実施の形態の特徴モデルが算出する特徴量は、物体が写った領域を切り出す際の位置ずれに対して鋭敏に反応する。異なるクラスに属する物体が写った小画像からは、大きく異なる特徴量が算出される。また、位置ずれによって背景の模様などを多く含む小画像からは、正しく切り出された小画像とは大きく異なる特徴量が算出される。この特徴量を用いることで、検出モデルの学習の中に位置ずれの評価を組み込むことができる。
【００６７】
特徴モデルの学習用の訓練データと検出モデルの学習用の訓練データは、同一の学習用画像から生成することが可能である。正解領域および正解クラスを示す教師情報が付加された医療画像は多数用意できるとは限らないため、特徴モデルの学習と検出モデルの学習に共通の学習用画像を使用できることは有益である。
【００６８】
例えば、機械学習装置１００は、教師情報が付加された腎臓組織画像４０を読み込む。腎臓組織画像４０には異なるクラスに属する複数の糸球体が写っている。教師情報は、糸球体を囲む矩形領域の位置とクラスを示す。領域の位置は、左上の頂点のＸ座標とＹ座標、横の長さ（幅）および縦の長さ（高さ）によって特定される。
【００６９】
機械学習装置１００は、特徴モデルの学習用の訓練データとして、小画像４１などの複数の小画像を腎臓組織画像４０から切り出す。小画像４１などは、教師情報が示す正解領域の外枠であるバウンディングボックス（矩形領域）に沿って、腎臓組織画像４０の一部分を切り出したものである。機械学習装置１００は、小画像４１などをそれぞれサイズ変更し、特徴モデルの入力に対応するサイズをもつ小画像４２などの複数の小画像を生成する。
【００７０】
その後、機械学習装置１００は、小画像４２などに対してスライドやカラー変換やスケール変換などのデータ拡張を行い、小画像４３，４４などの複数の小画像を生成する。小画像４３，４４などが、特徴モデルの学習に使用する訓練データになる。データ拡張前の１つの小画像から、異なるパターンのデータ拡張を行うことで２以上の小画像を生成することが可能である。例えば、小画像４２から小画像４３，４４が生成される。データ拡張によって訓練データに含まれる小画像のバリエーションを増やすことができ、特徴モデルの学習の精度を向上させることが可能となる。
【００７１】
また、機械学習装置１００は、検出モデルの学習用の訓練データとして、小画像４５などの複数の小画像を腎臓組織画像４０から切り出す。小画像４５などは、バウンディングボックスを包含するようにバウンディングボックスより大きい領域を腎臓組織画像４０から切り出したものである。小画像４５などのサイズは、検出モデルの入力に対応するサイズとする。小画像４５の切り出し位置はランダムでよい。
【００７２】
その後、機械学習装置１００は、小画像４５などに対してスライドやカラー変換やスケール変換などのデータ拡張を行い、小画像４６，４７などの複数の小画像を生成する。小画像４６，４７などが、検出モデルの学習に使用する訓練データになる。データ拡張前の１つの小画像から、異なるパターンのデータ拡張を行うことで２以上の小画像を生成することが可能である。例えば、小画像４５から小画像４６，４７が生成される。データ拡張によって訓練データに含まれる小画像のバリエーションを増やすことができ、検出モデルの学習の精度を向上させることが可能となる。
【００７３】
上記の訓練データを用いて学習される特徴モデルは、オートエンコーダである。
図７は、オートエンコーダの例を示す図である。
オートエンコーダ５０は、多層ニューラルネットワークである。オートエンコーダ５０は、ニューロンに相当する複数のノードと、シナプスに相当するノード間のエッジとを含む。隣接する層のノードがシナプスで結合される。シナプスには重みが割り当てられ、前の層のノードの値に重みをかけて次の層のノードの値が算出される。オートエンコーダ５０の学習を通じてシナプスの重みが決定される。
【００７４】
オートエンコーダ５０は、入力層５１、中間層５２〜５４および出力層５５を含む。図７は３つの中間層を示しているが、中間層の数を変更することもできる。
入力層５１は、小画像が入力される層であり複数のノードを含む。中間層５２は、入力層５１の次の層であり入力層５１より少ないノードを含む。すなわち、中間層５２は入力層５１より次元数が少ない。中間層５３は、中間層５２の次の層であり中間層５２より少ないノードを含む。中間層５３はオートエンコーダ５０の中で最も次元数が少ない。中間層５４は、中間層５３の次の層であり中間層５３より多いノードを含む。出力層５５は、小画像を出力する層であり中間層５４より多いノードを含む。入力層５１の次元数と出力層５５の次元数が同じであってもよい。
【００７５】
オートエンコーダ５０のシナプスの重みは、出力層５５から出力される小画像が入力層５１に入力される小画像にできる限り近くなるように学習される。入力層５１に入力される小画像と出力層５５から出力される小画像が同一になることが理想である。ある小画像が入力されたときに中間層５３のノードの値を列挙したベクトルは、当該小画像から冗長な情報を削除して当該小画像を復元するために重要な情報を凝縮したものであり、当該小画像に対する特徴量とみなすことができる。オートエンコーダ５０の中で入力層５１から中間層５３までの部分をエンコーダと言うことができ、中間層５３から出力層５５までの部分をデコーダと言うことができる。
【００７６】
中間層５３の次元数は入力層５１の次元数より少ない。そのため、オートエンコーダ５０に入力される小画像が何れかのクラスに属する物体が写ったものである場合、当該物体を復元するために重要である情報が優先的に中間層５３のノードに出現することになる。中間層５３から抽出される特徴量は、物体の形状や模様の違いに対して鋭敏に反応し、また、小画像を切り出す位置の位置ずれに対しても鋭敏に反応する。すなわち、異なるクラスの物体からは大きく異なる特徴量が算出される。また、切り出す位置が正しい位置からずれた小画像からは、本来の特徴量と大きく異なる特徴量が算出される。
【００７７】
なお、第３の実施の形態では入力画像と出力画像が同じになるようにオートエンコーダ５０を学習しているが、他の方法でオートエンコーダ５０を学習してもよい。例えば、機械学習装置１００は、入力画像の一部分をランダムにマスクする。例えば、機械学習装置１００は、入力画像の一部分である矩形領域を白などの所定の色で塗りつぶす。機械学習装置１００は、出力画像がマスク前の元の入力画像にできる限り近くなるように、オートエンコーダ５０のシナプスの重みを学習する。すなわち、機械学習装置１００は、マスクした領域が補完されるようにオートエンコーダ５０を学習する。マスクした領域を補完するにはクラスに応じた物体らしさを表現することになるため、中間層５３から抽出される特徴量は物体の形状や模様や位置に鋭敏に反応することになる。
【００７８】
特徴モデルが学習されると、機械学習装置１００は、特徴モデルの学習用の訓練データを用いて、クラスと特徴量との間の関係を算出する。
図８は、特徴空間の例を示す図である。
【００７９】
特徴空間６０は、オートエンコーダ５０の中間層５３の次元数など、特徴量の次元数をもつベクトル空間である。特徴モデルの学習用の訓練データに含まれる１つの小画像から１つの特徴量が算出され、１つの特徴量が特徴空間６０の１点に対応する。機械学習装置１００は、特徴空間６０を生成するために、特徴モデルの学習用の訓練データに含まれる小画像を１つずつ特徴モデルに入力し、特徴モデルから各小画像に対応する特徴量を読み出す。機械学習装置１００は、読み出した特徴量を小画像のクラスに応じて分類する。ただし、機械学習装置１００は、特徴モデルの学習に用いた小画像とは異なる小画像を特徴モデルに入力して特徴空間６０を生成してもよい。
【００８０】
同じクラスに属する物体を正しく切り出した小画像からは近似する特徴量が算出されることが多い。よって、特徴空間６０にはクラス毎に特徴量の分布が形成される。特徴空間６０は、クラスＣ１の小画像から算出された特徴量によって形成される分布６１と、クラスＣ２の小画像から算出された特徴量によって形成される分布６２と、クラスＣ３の小画像から算出された特徴量によって形成される分布６３とを含む。分布６１〜６３は互いに離れている。機械学習装置１００は、特徴空間６０を示す情報として、クラスＣ１，Ｃ２，Ｃ３それぞれの特徴量の平均および分散を算出する。
【００８１】
特徴モデルおよび特徴空間が生成されると、機械学習装置１００は、検出モデルの学習用の訓練データを用いて検出モデルを学習する。検出モデルは、何れかのクラスに属する物体が写っている可能性が高い候補領域の位置と、当該候補領域が各クラスに該当する確率を示す予測信頼度とを出力する多層ニューラルネットワークである。検出モデルの学習には、非特許文献１に記載されたＳＳＤを用いてもよい。
【００８２】
機械学習装置１００は、最初はランダムにシナプスの重みを選択して仮の検出モデルを生成する。機械学習装置１００は、検出モデルに訓練データの小画像を１つずつ入力して、複数の候補領域とそれら複数の候補領域それぞれの予測信頼度を求める。機械学習装置１００は、訓練データに付加された教師情報が示す正解領域および正解クラスと比較して、検出された複数の候補領域全体に対する誤差を算出する。機械学習装置１００は、誤差が小さくなるように検出モデルのシナプスの重みを更新する。機械学習装置１００は、これを繰り返すことで検出モデルを学習する。第３の実施の形態の機械学習装置１００は、誤差の算出において前述の特徴モデルと特徴空間を使用する。
【００８３】
以下では誤差の算出方法の数学的定義について説明する。
機械学習装置１００は、検出モデルの１回の更新につき、数式（１）の誤差Ｌｏｓｓを１回算出する。誤差Ｌｏｓｓが小さくなるように、次回の検出モデルの更新が行われる。数式（１）において、Ｂは検出モデルに入力した小画像の数である。機械学習装置１００は、入力した各小画像に対して位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆと誤差修正量Ｌｍｏｄを算出する。位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆと誤差修正量Ｌｍｏｄの合計が当該小画像に対する誤差であり、複数の小画像の誤差の平均が誤差Ｌｏｓｓである。検出モデルは、１つの小画像から複数の候補領域を検出することがある。その場合には、機械学習装置１００は、複数の候補領域それぞれの位置誤差と信頼度誤差と誤差修正量を算出し、その平均を当該小画像に対する位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆと誤差修正量Ｌｍｏｄとする。
【００８４】
【数１】
2020061066.tif 000003
【００８５】
ある候補領域の位置誤差は、当該候補領域の位置と正解領域の位置との間の距離であり、候補領域が正解領域から離れているほど位置誤差が大きくなる。位置誤差は、例えば、検出された候補領域の左上の座標と正解領域の左上の座標との間の距離または距離の２乗である。ある候補領域の信頼度誤差は、予測信頼度ベクトルＣｏｎｆと正解クラスベクトルＬａの間の交差エントロピーである。予測信頼度ベクトルＣｏｎｆは、複数のクラスの予測信頼度を列挙したベクトルである。正解クラスベクトルＬａは、正解クラスか否かを示すフラグを列挙したベクトルである。例えば、正解クラスに対しては「１」を割り当て、正解クラス以外のクラスに対しては「０」を割り当てる。交差エントロピーは、２つの確率分布が離れている程度を示す尺度である。交差エントロピーについては後述する。上記２つのベクトルが離れているほど信頼度誤差が大きくなる。
【００８６】
ある候補領域の誤差修正量は、当該候補領域の位置ずれが大きいほど誤差Ｌｏｓｓが大きくなるように加算する修正量である。誤差修正量は、予め生成しておいた特徴モデルと特徴空間を用いて算出される。誤差修正量を算出するにあたり、機械学習装置１００は、訓練データから候補領域の小画像を切り出し、切り出した小画像を特徴モデルに入力して、候補領域に対する特徴量を算出する。機械学習装置１００は、算出した特徴量を特徴空間にマッピングし、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離を算出する。機械学習装置１００は、複数のクラスについての距離の相対尺度として、数式（２）のようにして特徴信頼度ベクトルＭを算出する。
【００８７】
【数２】
2020061066.tif 000004
【００８８】
数式（２）に定義されるＭＣｎは、特徴信頼度ベクトルＭのうちｎ番目のクラスＣｎに対応する特徴信頼度である。ｌＣｎは、候補領域の特徴量とクラスＣｎの平均特徴量との間の距離である。ｌＣｋは、候補領域の特徴量とｋ番目のクラスＣｋの平均特徴量との間の距離である。特徴信頼度は、Ｌ２ノルムの逆数をソフトマックス関数に入力したものである。特徴信頼度ベクトルＭの次元数はクラス数である。
【００８９】
特徴信頼度ベクトルＭを用いて、数式（３）のように誤差修正量Ｌｍｏｄが算出される。ここでは説明を簡単にするため、１つの小画像から１つの候補領域が検出された場合を考えている。数式（３）のαは、誤差修正量Ｌｍｏｄの大きさを調整するための所定の係数である。数式（３）のαは学習の進行を調整する定数であるとも言え、例えば、実験的に値が求められる。Ｄ１は、特徴信頼度ベクトルＭと正解クラスベクトルＬａの間の交差エントロピーである。交差エントロピーＤ１は数式（４）のように定義される。Ｄ２は、予測信頼度ベクトルＣｏｎｆと特徴信頼度ベクトルＭの間の交差エントロピーである。交差エントロピーＤ２は数式（５）のように定義される。
【００９０】
【数３】
2020061066.tif 000005
【００９１】
【数４】
2020061066.tif 000006
【００９２】
【数５】
2020061066.tif 000007
【００９３】
交差エントロピーＤ１は、特徴信頼度ベクトルＭと正解クラスベクトルＬａが離れているほど大きくなる。よって、検出された候補領域の特徴量が正解クラスの平均特徴量から離れている場合には交差エントロピーＤ１が大きくなる。数式（４）のＬａＣｎは、正解クラスベクトルＬａのうちクラスＣｎに対応するフラグである。交差エントロピーＤ２は、予測信頼度ベクトルＣｏｎｆと特徴信頼度ベクトルＭが離れているほど大きくなる。よって、検出モデルから出力された予測信頼度の傾向と特徴量の観点から評価した特徴信頼度の傾向とが適合していない場合には交差エントロピーＤ２が大きくなる。数式（５）のＣｏｎｆＣｎは、クラスＣｎに対応する予測信頼度である。
【００９４】
数式（３）のβは、交差エントロピーＤ１と交差エントロピーＤ２の重みを調整する係数である。βは０以上１以下の値をとる。βが交差エントロピーＤ１の重みであり、１−βが交差エントロピーＤ２の重みである。βは、数式（６）に従って動的に決定される。数式（６）においてｌＣｔは、候補領域の特徴量と正解クラスの平均特徴量の間の距離である。νＣｔは、正解クラスの特徴量の分散である。検出モデルの学習がまだ十分に進んでおらず距離ｌＣｔが大きいときは、βが１に設定される。一方、検出モデルの学習が進んで距離ｌＣｔが小さくなると、βは小さな値になっていく。
【００９５】
【数６】
2020061066.tif 000008
【００９６】
よって、検出モデルの学習の前半は数式（３）の右辺第１項が優位になる。すなわち、誤差修正量Ｌｍｏｄは主に交差エントロピーＤ１に依存することになる。一方、検出モデルの学習の後半は数式（３）の右辺第２項が優位になる。すなわち、誤差修正量Ｌｍｏｄは主に交差エントロピーＤ２に依存することになる。このように、検出モデルの学習の進行度に応じて誤差修正量Ｌｍｏｄの算出方法が調整される。
【００９７】
ここで、検出モデルの学習中における誤差のフィードバックの例を説明する。
図９は、予測信頼度と特徴信頼度と誤差修正量の関係の第１の例を示す図である。
小画像７１にはクラスＣ３に属する１つの物体が写っている。検出モデルの学習中に、小画像７１が検出モデルに入力され、正解領域から若干ずれた候補領域が検出されたとする。ただし、小画像７１に対する過学習によって、クラスＣ１，Ｃ２の予測信頼度が非常に低くクラスＣ３の予測信頼度が非常に高い予測信頼度ベクトル７２が算出されたとする。この場合、位置誤差Ｌｒｅｃの低下が不十分であるものの信頼度誤差Ｌｃｏｎｆが極端に低下している。もし誤差Ｌｏｓｓを位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆのみから算出した場合、誤差Ｌｏｓｓが許容可能な水準まで低下していることになる。よって、位置ずれによる誤ったクラス分類が発生しやすい検出モデルが生成されてしまうおそれがある。
【００９８】
これに対して第３の実施の形態では、候補領域に対する特徴量が算出されて特徴空間７３にマッピングされる。候補領域の特徴量はクラスＣ１，Ｃ２，Ｃ３のうちクラスＣ３の平均特徴量に最も近いものの、まだ距離が十分に小さいとは言えない。このため、特徴空間７３からは、クラスＣ１，Ｃ２の特徴信頼度が極端に小さいとは言えずクラスＣ３の特徴信頼度が極端に大きいとは言えない特徴信頼度ベクトル７４が生成される。
【００９９】
誤差修正量Ｌｍｏｄの第１項は、クラスＣ１，Ｃ２が不正解でありクラスＣ３が正解であることを示す正解クラスベクトル７５と特徴信頼度ベクトル７４との間のずれを示している。よって、誤差修正量Ｌｍｏｄの第１項は中程度である。誤差修正量Ｌｍｏｄの第２項は、予測信頼度ベクトル７２と特徴信頼度ベクトル７４との間のずれを示している。よって、誤差修正量Ｌｍｏｄの第２項はまだ中程度である。結果として、誤差修正量Ｌｍｏｄが大きくなり、誤差Ｌｏｓｓが小さな値に収束するのを阻害することになる。
【０１００】
図１０は、予測信頼度と特徴信頼度と誤差修正量の関係の第２の例を示す図である。
小画像８１にはクラスＣ３に属する１つの物体が写っている。検出モデルの学習中に、小画像８１が検出モデルに入力され、正解領域から若干ずれた候補領域が検出されたとする。また、クラスＣ３の予測信頼度が最も高いものの非常に高いとまでは言えず、クラスＣ１，Ｃ２の予測信頼度も非常に低いとは言えない予測信頼度ベクトル８２が算出されたとする。すなわち、位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆの何れか一方が極端に低下するのではなく、両者がバランスよく低下するように検出モデルの学習が進行している。
【０１０１】
一方、図９と同様に、候補領域に対する特徴量が算出されて特徴空間８３にマッピングされる。候補領域の特徴量はクラスＣ１，Ｃ２，Ｃ３のうちクラスＣ３の平均特徴量に最も近いものの、まだ距離が十分に小さいとは言えない。このため、特徴空間８３からは、クラスＣ１，Ｃ２の特徴信頼度が極端に小さいとは言えずクラスＣ３の特徴信頼度が極端に大きいとは言えない特徴信頼度ベクトル８４が生成される。
【０１０２】
誤差修正量Ｌｍｏｄの第１項は、クラスＣ１，Ｃ２が不正解でありクラスＣ３が正解であることを示す正解クラスベクトル８５と特徴信頼度ベクトル８４との間のずれを示している。よって、誤差修正量Ｌｍｏｄの第１項は中程度である。誤差修正量Ｌｍｏｄの第２項は、予測信頼度ベクトル８２と特徴信頼度ベクトル８４との間のずれを示している。よって、誤差修正量Ｌｍｏｄの第２項は小さい。結果として、誤差修正量Ｌｍｏｄが小さくなり、誤差Ｌｏｓｓが小さな値に収束するのを阻害しないことになる。このように、誤差修正量Ｌｍｏｄは、位置誤差Ｌｒｅｃと信頼度誤差Ｌｃｏｎｆがバランスよく低下していくことを要求し、位置誤差Ｌｒｅｃが大きいまま信頼度誤差Ｌｃｏｎｆが極端に低下することを阻害する。
【０１０３】
検出モデルが学習されると、機械学習装置１００は、テストデータを用いて検出モデルをテストする。テストデータの中から検出された各候補領域を採用するか否かは、当該候補領域に対して算出された複数のクラスの予測信頼度のうち最大の予測信頼度に基づいて判断する。このとき、機械学習装置１００は、検出モデルの学習時に生成した特徴モデルおよび特徴空間を利用して予測信頼度を修正する。
【０１０４】
図１１は、腎臓組織画像からの糸球体の検出例を示す図である。
検出モデルのテストには、訓練データとは異なる画像を使用する。例えば、テスト用画像として腎臓組織画像９１が用意される。腎臓組織画像９１には、異なるクラスに分類される複数の糸球体が写っている。腎臓組織画像９１には、正解領域および正解クラスを示す教師情報は付加されていなくてよい。機械学習装置１００は、腎臓組織画像９１をスキャンすることで、検出モデルの入力サイズに対応する複数の小画像を生成する。例えば、腎臓組織画像９１から、小画像９２ａ，９２ｂなどの小画像が生成される。機械学習装置１００は、小画像の間で領域が重複しないように腎臓組織画像９１を分割してもよいし、小画像の間で部分的に領域が重複するように複数の小画像を生成してもよい。
【０１０５】
検出モデルに小画像が１つずつ入力され、検出モデルから候補領域の位置と当該候補領域に対する予測信頼度ベクトルが出力される。１つの小画像から複数の候補領域が検出されることもあるし、１つの候補領域も検出されないこともある。機械学習装置１００は、候補領域毎に、複数のクラスの予測信頼度のうち最大の予測信頼度と所定の閾値とを比較し、最大の予測信頼度が所定の閾値を超える候補領域を採用する。一部重複する２以上の候補領域が存在する場合、機械学習装置１００は、それら２以上の候補領域のうち予測信頼度が最も大きい候補領域のみを選択し、領域の重なりを避ける。機械学習装置１００は、小画像毎の領域の検出結果を統合して、検出結果画像９３を生成する。検出結果画像９３は、腎臓組織画像９１に対して、検出された領域を示す図形情報を付加したものである。例えば、検出された領域の外枠を示す矩形が腎臓組織画像９１に付加される。
【０１０６】
候補領域の採否を決定するにあたり、機械学習装置１００は、予測信頼度を修正する。機械学習装置１００は、検出モデルの学習時と同様に、テストデータから候補領域の小画像を切り出して特徴モデルに入力し、候補領域に対する特徴量を算出する。機械学習装置１００は、候補領域の特徴量を特徴空間にマッピングし、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離を算出する。機械学習装置１００は、前述の数式（２）に従って、特徴信頼度ベクトルＭを算出する。
【０１０７】
機械学習装置１００は、検出モデルが出力した予測信頼度ベクトルＣｏｎｆと上記の特徴信頼度ベクトルＭを用いて、数式（７）のように予測信頼度ベクトルＣｏｎｆを修正する。数式（７）のγは、予測信頼度ベクトルＣｏｎｆと特徴信頼度ベクトルＭの重みを決定するための所定の係数であり、０より大きく１より小さい値をとる。γの値は、例えば、最適な値が実験的に求められる。γが予測信頼度ベクトルＣｏｎｆの重みであり、１−γが特徴信頼度ベクトルＭの重みである。ＣｏｎｆＣｎはクラスＣｎの予測信頼度であり、ＭＣｎはクラスＣｎの特徴信頼度であり、Ｃｏｎｆ’ＣｎはクラスＣｎの修正後の予測信頼度である。機械学習装置１００は、候補領域毎に、修正後の予測信頼度ベクトルＣｏｎｆ’の中から最大の予測信頼度を選択し、最大の予測信頼度が閾値を超える候補領域を検出結果として採用する。
【０１０８】
【数７】
2020061066.tif 000009
【０１０９】
次に、機械学習装置１００の機能について説明する。
図１２は、機械学習装置の機能例を示すブロック図である。
機械学習装置１００は、画像記憶部１２１、検出モデル記憶部１２２および特徴モデル記憶部１２３を有する。また、機械学習装置１００は、訓練データ生成部１３１、特徴モデル学習部１３２、検出モデル学習部１３３、誤差算出部１３４、テストデータ生成部１３５、物体検出部１３６、信頼度修正部１３７および検出結果出力部１３８を有する。
【０１１０】
画像記憶部１２１、検出モデル記憶部１２２および特徴モデル記憶部１２３は、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域を用いて実装される。訓練データ生成部１３１、特徴モデル学習部１３２、検出モデル学習部１３３、誤差算出部１３４、テストデータ生成部１３５、物体検出部１３６、信頼度修正部１３７および検出結果出力部１３８は、ＣＰＵ１０１が実行するプログラムを用いて実装される。
【０１１１】
画像記憶部１２１は、学習用画像およびテスト用画像を記憶する。学習用画像およびテスト用画像は、腎臓組織を顕微鏡で拡大した腎臓組織画像である。学習用画像には、糸球体の位置およびクラスを示す教師情報が付加されている。教師情報は、例えば、予め医師が腎臓組織画像を観察して作成したものである。
【０１１２】
検出モデル記憶部１２２は、訓練データから学習された検出モデルを記憶する。検出モデルは、多層ニューラルネットワークに含まれるシナプスの重みを含む。特徴モデル記憶部１２３は、訓練データから学習された特徴モデルを記憶する。特徴モデルは、オートエンコーダに含まれるシナプスの重みを含む。また、特徴モデル記憶部１２３は、訓練データおよび特徴モデルから生成された特徴空間を記憶する。特徴空間は、複数のクラスそれぞれの平均特徴量および特徴量の分散を含む。
【０１１３】
訓練データ生成部１３１は、画像記憶部１２１に記憶された学習用画像から、特徴モデルの学習用の訓練データを生成する。特徴モデルの学習用の訓練データは、学習用画像からバウンディングボックスに沿って糸球体を切り出し、リサイズおよびデータ拡張を行って生成された複数の小画像である。また、訓練データ生成部１３１は、画像記憶部１２１に記憶された学習用画像から、検出モデルの学習用の訓練データを生成する。検出モデルの学習用の訓練データは、学習用画像からバウンディングボックスを包含する領域をランダムに切り出し、データ拡張を行って生成された複数の小画像である。特徴モデルの学習用の訓練データと検出モデルの学習用の訓練データは、合わせて生成することもできるし、別個のタイミングで生成することもできる。
【０１１４】
特徴モデル学習部１３２は、訓練データ生成部１３１が生成した訓練データを用いて特徴モデルを学習する。また、特徴モデル学習部１３２は、同じ訓練データおよび学習した特徴モデルを用いて特徴空間を生成する。特徴モデル学習部１３２は、学習した特徴モデルおよび生成した特徴空間を特徴モデル記憶部１２３に格納する。
【０１１５】
検出モデル学習部１３３は、訓練データ生成部１３１が生成した訓練データを用いて検出モデルを学習する。このとき、検出モデル学習部１３３は、検出モデルに訓練データを入力し、候補領域の位置および予測信頼度ベクトルを誤差算出部１３４に出力する。検出モデル学習部１３３は、誤差算出部１３４から誤差を受け付け、誤差が低下するように検出モデルのシナプスの重みを変化させる。検出モデル学習部１３３は、検出モデルの更新を繰り返し、学習された検出モデルを検出モデル記憶部１２２に格納する。
【０１１６】
誤差算出部１３４は、検出モデル学習部１３３から候補領域の位置および予測信頼度ベクトルを受け付ける。また、誤差算出部１３４は、特徴モデル記憶部１２３から特徴モデルおよび特徴空間を読み出す。誤差算出部１３４は、候補領域の位置、予測信頼度ベクトル、特徴モデルおよび特徴空間に基づいて、小画像毎に位置誤差、信頼度誤差および誤差修正量を算出する。誤差算出部１３４は、小画像毎の位置誤差、信頼度誤差および誤差修正量から、全体の誤差を算出して検出モデル学習部１３３にフィードバックする。
【０１１７】
テストデータ生成部１３５は、画像記憶部１２１に記憶されたテスト用画像からテストデータを生成する。テストデータは、テスト用画像を分割して生成された複数の小画像である。テストデータは、訓練データ生成部１３１における訓練データと同じタイミングで生成することもできるし、別個のタイミングで生成することもできる。
【０１１８】
物体検出部１３６は、検出モデル記憶部１２２から検出モデルを読み出す。物体検出部１３６は、テストデータ生成部１３５が生成したテストデータを検出モデルに入力し、候補領域の位置および予測信頼度ベクトルを信頼度修正部１３７に出力する。
【０１１９】
信頼度修正部１３７は、物体検出部１３６から候補領域の位置および予測信頼度ベクトルを受け付ける。また、信頼度修正部１３７は、特徴モデル記憶部１２３から特徴モデルおよび特徴空間を読み出す。信頼度修正部１３７は、候補領域の位置、予測信頼度ベクトル、特徴モデルおよび特徴空間に基づいて、予測信頼度ベクトルを修正し、候補領域の位置および修正した予測信頼度ベクトルを検出結果出力部１３８に出力する。
【０１２０】
検出結果出力部１３８は、信頼度修正部１３７から、候補領域の位置および修正した予測信頼度ベクトルを受け付ける。検出結果出力部１３８は、予測信頼度ベクトルの中の最大の予測信頼度が閾値を超える候補領域を検出した領域として選択し、検出した領域の位置および判定したクラスの情報を出力する。例えば、検出結果出力部１３８は、小画像毎の検出結果を統合し、テスト用画像上に検出した領域の位置および判定したクラスに関する視覚的情報を付加し、ディスプレイ１０４ａに表示させる。
【０１２１】
図１３は、画像情報テーブルの例を示す図である。
画像情報テーブル１４１は、画像記憶部１２１に記憶される。画像情報テーブル１４１は、画像ＩＤ、物体ＩＤ、位置およびクラスの項目を含む。画像ＩＤは、学習用画像を識別する識別子である。物体ＩＤは、学習用画像に写った糸球体を識別する識別子である。位置は、糸球体が写った正解領域の位置であり、左上のＸ座標とＹ座標、幅および高さによって表現される。クラスは、糸球体の状態を示す正解クラスである。画像情報テーブル１４１の情報は、学習用画像に付加された教師情報である。
【０１２２】
図１４は、訓練データテーブルと特徴空間テーブルの例を示す図である。
訓練データテーブル１４２は、訓練データ生成部１３１が生成し、特徴モデル学習部１３２が使用するものである。訓練データテーブル１４２は、特徴モデルの学習用の訓練データに関する情報を記録する。訓練データテーブル１４２は、小画像ＩＤ、物体ＩＤ、クラスおよび特徴量の項目を含む。小画像ＩＤは、学習用画像から抽出された小画像を識別する識別子である。物体ＩＤは、画像情報テーブル１４１の物体ＩＤに相当する。クラスは、画像情報テーブル１４１のクラスに相当する。特徴量は、小画像から特徴モデルによって算出された特徴量である。小画像ＩＤ、物体ＩＤおよびクラスは、訓練データ生成部１３１が記録する。特徴量は、特徴モデル学習部１３２が記録する。
【０１２３】
特徴空間テーブル１４３は、特徴モデル記憶部１２３に記憶される。特徴空間テーブル１４３は、特徴空間を示している。特徴空間テーブル１４３は、クラス、平均および分散の項目を含む。平均は、同じクラスに属する小画像から算出された特徴量の平均である。分散は、同じクラスに属する小画像から算出された特徴量の分散である。特徴空間テーブル１４３の平均および分散は、訓練データテーブル１４２に記録された特徴量をクラス毎に分類して集計することで算出することができる。
【０１２４】
図１５は、他の訓練データテーブルと誤差評価テーブルの例を示す図である。
訓練データテーブル１４４は、訓練データ生成部１３１が生成し、誤差算出部１３４が使用するものである。訓練データテーブル１４４は、検出モデルの学習用の訓練データに関する情報を記録する。訓練データテーブル１４４は、小画像ＩＤ、物体ＩＤ、位置およびクラスの項目を含む。小画像ＩＤは、学習用画像から抽出された小画像を識別する識別子である。物体ＩＤは、画像情報テーブル１４１の物体ＩＤに相当する。位置は、正解領域の位置であり、左上のＸ座標とＹ座標、幅および高さによって表現される。訓練データテーブル１４４の位置は、データ拡張に合わせて画像情報テーブル１４１の位置から修正されている。クラスは、画像情報テーブル１４１のクラスに相当する。
【０１２５】
誤差評価テーブル１４５は、誤差Ｌｏｓｓを算出するために誤差算出部１３４が生成するものである。誤差評価テーブル１４５は、小画像ＩＤ、検出位置、予測信頼度、特徴量、特徴距離、特徴信頼度、位置誤差、信頼度誤差および誤差修正量の項目を含む。
【０１２６】
小画像ＩＤは、検出モデルに入力された小画像を識別する識別子であり、訓練データテーブル１４４の小画像ＩＤに相当する。検出位置は、検出モデルから出力された候補領域の位置であり、左上のＸ座標とＹ座標、幅および高さによって表現される。予測信頼度は、検出モデルから出力された予測信頼度ベクトルである。特徴量は、候補領域の小画像を特徴モデルに入力して算出される候補領域の特徴量である。
【０１２７】
特徴距離は、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離である。特徴信頼度は、特徴距離から算出される特徴信頼度ベクトルである。位置誤差は、検出位置および訓練データテーブル１４４の位置から算出される位置誤差である。信頼度誤差は、予測信頼度ベクトルおよび訓練データテーブル１４４のクラスから算出される信頼度誤差である。誤差修正量は、予測信頼度ベクトル、特徴信頼度ベクトルおよび訓練データテーブル１４４のクラスから算出される誤差修正量である。１つの小画像から２以上の候補領域が検出された場合、検出位置、予測信頼度、特徴量、特徴距離および特徴信頼度は候補領域毎に記録される。位置誤差、信頼度誤差および誤差修正量は、候補領域毎の位置誤差、信頼度誤差および誤差修正量を平均化したものとなる。
【０１２８】
図１６は、テストデータテーブルと他の誤差評価テーブルの例を示す図である。
テストデータテーブル１４６は、テストデータ生成部１３５が生成するものであ。テストデータテーブル１４６は、テストデータを管理する。テストデータテーブル１４６は、小画像ＩＤおよび画像ＩＤの項目を含む。小画像ＩＤは、テスト用画像から抽出された小画像を識別する識別子である。画像ＩＤは、テスト用画像を識別する識別子である。
【０１２９】
誤差評価テーブル１４７は、予測信頼度ベクトルを修正するために信頼度修正部１３７が生成するものである。誤差評価テーブル１４７は、小画像ＩＤ、検出位置、予測信頼度、特徴量、特徴距離、特徴信頼度、修正信頼度およびクラスの項目を含む。
【０１３０】
小画像ＩＤは、検出モデルに入力された小画像を識別する識別子であり、テストデータテーブル１４６の小画像ＩＤに相当する。検出位置は、検出モデルから出力された候補領域の位置であり、左上のＸ座標とＹ座標、幅および高さによって表現される。予測信頼度は、検出モデルから出力された予測信頼度ベクトルである。特徴量は、候補領域の小画像を特徴モデルに入力して算出される候補領域の特徴量である。
【０１３１】
特徴距離は、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離である。特徴信頼度は、特徴距離から算出される特徴信頼度ベクトルである。修正信頼度は、予測信頼度ベクトルと特徴信頼度ベクトルの加重平均であり、修正後の予測信頼度ベクトルである。クラスは、候補領域に対して判定されたクラスを示す。修正後の予測信頼度ベクトルの中の最大の予測信頼度が閾値を超えている場合、判定されたクラスは、当該最大の予測信頼度に対応するクラスである。最大の予測信頼度が閾値以下である場合、当該候補領域は採用されないためクラスは判定されない。また、２以上の候補領域が重複している場合、それら２以上の候補領域のうち１つのみが採用されるため、当該１つの候補領域についてクラスが判定され、それ以外の候補領域に対してはクラスが判定されない。
【０１３２】
例えば、小画像ＴＥ１−１から一部重複する２つの候補領域が検出されたとする。一方の候補領域は、予測信頼度がＣ１＝０．８，Ｃ２＝０．１，Ｃ３＝０．１であり、特徴信頼度がＣ１＝０．８，Ｃ２＝０．１，Ｃ３＝０．１であるとする（なお、本例示ではγ＝０．５とする）。この場合、例えば、修正後の予測信頼度がＣ１＝０．８，Ｃ２＝０．１，Ｃ３＝０．１と算出される。他方の候補領域は、予測信頼度がＣ１＝０．８，Ｃ２＝０．１，Ｃ３＝０．１であり、特徴信頼度がＣ１＝０．６，Ｃ２＝０．２，Ｃ３＝０．２であるとする。この場合、例えば、修正後の予測信頼度がＣ１＝０．７，Ｃ２＝０．１５，Ｃ３＝０．１５と算出される。
【０１３３】
この場合、修正後の最大の予測信頼度が大きい前者の候補領域が採用され、これと重複する後者の候補領域が採用されない。そして、前者の候補領域のクラスがクラスＣ１であると判定される。修正前の予測信頼度は２つの候補領域ともに同じであるものの、後者の候補領域は位置ずれが生じている可能性が高いため修正後の予測信頼度が低下している。その結果として、前者の候補領域が採用されている。このように、位置ずれが生じている誤った候補領域が採用されることを抑制することができる。
【０１３４】
また、例えば、小画像ＴＥ１−２から１つの候補領域が検出されたとする。この候補領域は、予測信頼度がＣ１＝０．１，Ｃ２＝０．５，Ｃ３＝０．４であり、特徴信頼度がＣ１＝０．１，Ｃ２＝０．１，Ｃ３＝０．８であるとする。この場合、例えば、修正後の予測信頼度がＣ１＝０．１，Ｃ２＝０．３，Ｃ３＝０．６と算出される。すると、この候補領域のクラスはクラスＣ３であると判定される。修正前の予測信頼度に従えばこの候補領域のクラスはクラスＣ２であると判定されるところ、位置ずれの影響を考慮して、判定されるクラスがクラスＣ２からクラスＣ３に変わっている。
【０１３５】
次に、機械学習装置１００の処理手順について説明する。
図１７は、特徴モデル学習の手順例を示すフローチャートである。
（Ｓ１０）特徴モデル学習部１３２は、特徴モデルのシナプスの重みを初期化する。シナプスの重みの初期値はランダムに決めてよい。
【０１３６】
（Ｓ１１）訓練データ生成部１３１は、学習用画像からバウンディングボックスに沿って小画像を切り出し、訓練データとして特徴モデル学習部１３２に出力する。
（Ｓ１２）特徴モデル学習部１３２は、訓練データに含まれる複数の小画像に対して特徴モデルがオートエンコーダとして機能するように、特徴モデルを学習する。これにより、特徴モデルのシナプスの重みが決定される。
【０１３７】
（Ｓ１３）特徴モデル学習部１３２は、ステップＳ１２で学習した特徴モデルに対して、訓練データに含まれる小画像を１つずつ入力し、特徴モデルから中間層のベクトルを抽出する。特徴モデル学習部１３２は、抽出したベクトルを特徴量とみなして特徴空間を生成する。このとき、特徴モデル学習部１３２は、複数の小画像の特徴量をクラスに分類し、クラス毎に平均特徴量および特徴量の分散を算出する。
【０１３８】
（Ｓ１４）特徴モデル学習部１３２は、特徴モデルを示すシナプスの重みおよび特徴空間を示す特徴量の平均および分散を、特徴モデル記憶部１２３に書き出す。
図１８は、検出モデル学習の手順例を示すフローチャートである。
【０１３９】
（Ｓ２０）検出モデル学習部１３３は、検出モデルのシナプスの重みを初期化する。シナプスの重みの初期値はランダムに決めてよい。
（Ｓ２１）誤差算出部１３４は、特徴モデルを示すシナプスの重みと、特徴空間を示す特徴量の平均および分散を、特徴モデル記憶部１２３から読み込む。
【０１４０】
（Ｓ２２）訓練データ生成部１３１は、学習用画像からバウンディングボックスを包含する小画像を切り出し、訓練データとして検出モデル学習部１３３に出力する。
（Ｓ２３）検出モデル学習部１３３は、訓練データに含まれる小画像を１つずつ検出モデルに入力して、候補領域の位置および予測信頼度ベクトルを算出する。
【０１４１】
（Ｓ２４）誤差算出部１３４は、小画像毎に、候補領域の位置と正解領域の位置とを比較して位置誤差を算出する。また、誤差算出部１３４は、小画像毎に、予測信頼度ベクトルと正解クラスベクトルとを比較して信頼度誤差を算出する。
【０１４２】
（Ｓ２５）誤差算出部１３４は、訓練データから候補領域の小画像を切り出す。
（Ｓ２６）誤差算出部１３４は、ステップＳ２５で切り出した小画像を特徴モデルに入力し、特徴モデルによって特徴量を算出する。
【０１４３】
（Ｓ２７）誤差算出部１３４は、ステップＳ２６で算出された特徴量を特徴空間にマッピングし、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離を算出する。誤差算出部１３４は、算出した距離に基づいて特徴信頼度ベクトルを算出する。そして、誤差算出部１３４は、予測信頼度ベクトルと正解クラスベクトルと特徴信頼度ベクトルを用いて、誤差修正量を算出する。
【０１４４】
（Ｓ２８）誤差算出部１３４は、小画像毎に位置誤差と信頼度誤差と誤差修正量を合計し、複数の小画像の間の当該合計の平均値を、訓練データ全体に対する誤差として算出する。誤差算出部１３４は、誤差を検出モデル学習部１３３にフィードバックする。
【０１４５】
（Ｓ２９）検出モデル学習部１３３は、誤差算出部１３４からフィードバックされた誤差が小さくなるように検出モデルを更新する。このとき、検出モデル学習部１３３は、誤差が小さくなるように検出モデルのシナプスの重みを変える。
【０１４６】
（Ｓ３０）検出モデル学習部１３３は、停止条件を満たすか判断する。停止条件は、例えば、検出モデルの更新を所定回数行ったことである。また、停止条件は、例えば、シナプスの重みの変化量が閾値未満に収束したことである。停止条件を満たす場合はステップＳ３１に進み、停止条件を満たさない場合はステップＳ２３に進む。
【０１４７】
（Ｓ３１）検出モデル学習部１３３は、検出モデルを示すシナプスの重みを、検出モデル記憶部１２２に書き出す。
図１９は、検出モデルテストの手順例を示すフローチャートである。
【０１４８】
（Ｓ４０）物体検出部１３６は、検出モデルを示すシナプスの重みを、検出モデル記憶部１２２から読み込む。信頼度修正部１３７は、特徴モデルを示すシナプスの重みと、特徴空間を示す特徴量の平均および分散を、特徴モデル記憶部１２３から読み込む。
【０１４９】
（Ｓ４１）テストデータ生成部１３５は、テスト用画像を分割して複数の小画像を生成し、テストデータとして物体検出部１３６に出力する。
（Ｓ４２）物体検出部１３６は、テストデータに含まれる小画像を１つずつ検出モデルに入力して、候補領域の位置および予測信頼度ベクトルを算出する。
【０１５０】
（Ｓ４３）信頼度修正部１３７は、テストデータから候補領域の小画像を切り出す。
（Ｓ４４）信頼度修正部１３７は、ステップＳ４３で切り出した小画像を特徴モデルに入力し、特徴モデルによって特徴量を算出する。
【０１５１】
（Ｓ４５）信頼度修正部１３７は、ステップＳ４４で算出された特徴量を特徴空間にマッピングし、候補領域の特徴量と複数のクラスそれぞれの平均特徴量との間の距離を算出する。信頼度修正部１３７は、算出した距離に基づいて特徴信頼度ベクトルを算出する。
【０１５２】
（Ｓ４６）信頼度修正部１３７は、候補領域毎に予測信頼度ベクトルと特徴信頼度ベクトルの加重平均を算出し、修正後の予測信頼度ベクトルとする。
（Ｓ４７）検出結果出力部１３８は、候補領域毎に、修正後の予測信頼度ベクトルの中の最大の予測信頼度と閾値とを比較する。検出結果出力部１３８は、最大の予測信頼度が閾値を超える候補領域を、検出された領域として選択する。ただし、２以上の候補領域が重なっている場合には、検出結果出力部１３８は、それら２以上の候補領域のうち予測信頼度が最も大きい候補領域のみを選択して領域間の重なりを解消する。また、検出結果出力部１３８は、候補領域毎に、最大の予測信頼度をもつクラスを判定する。これにより、検出された領域および当該領域のクラス分類が確定する。
【０１５３】
（Ｓ４８）検出結果出力部１３８は、物体検出結果を１枚の画像に統合する。
（Ｓ４９）検出結果出力部１３８は、領域の外枠である検出枠が記載された画像を、ディスプレイ１０４ａに表示させる。
【０１５４】
第３の実施の形態の機械学習装置１００によれば、検出モデルの学習中に算出される誤差に、候補領域の位置ずれが大きいほど値が大きくなる誤差修正量が追加される。よって、位置誤差の低下が不十分であるものの信頼度誤差が極端に低下することによって検出モデルの学習が収束してしまうのを抑制することができる。このため、検出モデルが検出する候補領域の位置の精度が向上し、クラス数が少なくクラス間の物体の形状や模様が近似しているような画像認識においてもクラスの誤判定を低減することができる。
【０１５５】
また、誤差修正量の算出に、オートエンコーダから抽出される特徴量を用いることで、候補領域の位置ずれに対して鋭敏に反応する誤差修正量を算出することができる。また、検出モデルを用いた画像認識の際には、候補領域から算出される特徴量を用いて予測信頼度が修正される。よって、誤った領域が選択される可能性を低減することができる。また、誤ったクラスが選択される可能性を低減することができる。
【符号の説明】
【０１５６】
１０  学習装置
１１，２１  記憶部
１２，２２  処理部
１３，２３  検出モデル
１４，２４  特徴モデル
１５，２５  特徴分布情報
１６  評価値
２０  検出装置
２６  対象画像
２６ａ，２６ｂ  領域
２７ａ，２７ｂ  信頼度
【図１】
2020061066.tif 000010
【図２】
2020061066.tif 000011
【図３】
2020061066.tif 000012
【図４】
2020061066.tif 000013
【図５】
2020061066.tif 000014
【図６】
2020061066.tif 000015
【図７】
2020061066.tif 000016
【図８】
2020061066.tif 000017
【図９】
2020061066.tif 000018
【図１０】
2020061066.tif 000019
【図１１】
2020061066.tif 000020
【図１２】
2020061066.tif 000021
【図１３】
2020061066.tif 000022
【図１４】
2020061066.tif 000023
【図１５】
2020061066.tif 000024
【図１６】
2020061066.tif 000025
【図１７】
2020061066.tif 000026
【図１８】
2020061066.tif 000027
【図１９】
2020061066.tif 000028