(57)【要約】セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラム、作動方法および画像処理装置を提供する。ミニバッチ学習装置のＣＰＵは、作動プログラムが起動されると、算出部、特定部、更新部として機能する。算出部は、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する。特定部は、面積割合が設定値よりも低い稀少クラスを特定する。更新部は、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする。
2020121678.tif 000002
【特許請求の範囲】
【請求項１】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合が設定値よりも低い稀少クラスを特定する特定部と、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新部であり、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新部と、を備えるミニバッチ学習装置。
【請求項２】
前記更新部は、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの各種パラメータの値の変化幅を示す学習係数を小さくする請求項１に記載のミニバッチ学習装置。
【請求項３】
前記更新部に前記更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける受付部を備える請求項１または２に記載のミニバッチ学習装置。
【請求項４】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合が設定値よりも低い稀少クラスを特定する特定部と、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新部であり、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新部として、
コンピュータを機能させるミニバッチ学習装置の作動プログラム。
【請求項５】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出ステップと、
前記面積割合が設定値よりも低い稀少クラスを特定する特定ステップと、
前記ミニバッチデータを用いた学習の結果に応じて、前記機械学習モデルを更新する更新ステップであり、前記特定ステップにおいて前記稀少クラスを特定しなかった場合よりも、前記特定ステップにおいて前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新ステップと、を備えるミニバッチ学習装置の作動方法。
【請求項６】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習する画像処理装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を行い、
前記面積割合が設定値よりも低い稀少クラスを特定し、
前記稀少クラスを特定しなかった場合よりも、前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術は、ミニバッチ学習装置とその作動プログラムおよび作動方法に関する。
【背景技術】
【０００２】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションが知られている。セマンティックセグメンテーションは、Ｕ字型の畳み込みニューラルネットワーク（Ｕ−Ｎｅｔ；U-Shaped Neural Network）等の機械学習モデル（以下、単にモデル）で実現される。
【０００３】
モデルの判別精度を高めるためには、モデルに学習データを与えて学習させ、モデルを更新していくことが必要である。学習データは、学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像とで構成される。特許文献１では、複数の学習用入力画像の中から、アノテーション画像の元となる１つの学習用入力画像を抽出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１０７３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
学習には、ミニバッチ学習という手法がある。ミニバッチ学習では、学習データとしてミニバッチデータをモデルに与える。ミニバッチデータは、学習用入力画像とアノテーション画像とを分割した複数の分割画像（例えば元の画像の１／１００のサイズの枠で分割した１万枚の分割画像）のうちの一部（例えば１００枚）で構成される。ミニバッチデータは複数組（例えば１００組）生成され、各組が順次モデルに与えられる。
【０００６】
ここで、学習用入力画像およびアノテーション画像にクラスの偏りがある場合を考える。例えば、学習用入力画像は細胞培養の様子を映した位相差顕微鏡の画像であって、クラス１が分化細胞、クラス２が未分化細胞、クラス３が培地、クラス４が死細胞に分類される画像である。そして、学習用入力画像およびアノテーション画像全体における各クラスの面積割合が、分化細胞３８％、未分化細胞２％、培地４０％、死細胞２０％で、未分化細胞の面積割合が比較的低い場合である。
【０００７】
このように学習用入力画像およびアノテーション画像にクラスの偏りがあると、学習用入力画像およびアノテーション画像から構成されるミニバッチデータにも、クラスの偏りが生じる可能性が高くなる。ミニバッチデータにクラスの偏りが生じた場合は、面積割合が比較的低い稀少クラスが加味されずに学習が行われる。結果として、稀少クラスの判別精度が低いモデルができあがってしまう。
【０００８】
特許文献１では、前述のように、複数の学習用入力画像の中から、アノテーション画像の元となる１つの学習用入力画像を抽出している。しかしながら、この手法では、複数の学習用入力画像の全てにクラスの偏りがあった場合は、結局は稀少クラスの判別精度が低いモデルができあがってしまう。したがって、特許文献１に記載の手法では、稀少クラスの判別精度が低いモデルができあがってしまう、という問題を解決することはできない。
【０００９】
本開示の技術は、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムと作動方法およびそれを実装した画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本開示のミニバッチ学習装置は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合が設定値よりも低い稀少クラスを特定する特定部と、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新部であり、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新部と、を備える。
【００１１】
更新部は、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の、機械学習モデルの各種パラメータの値の変化幅を示す学習係数を小さくすることが好ましい。
【００１２】
更新部に更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける受付部を備えることが好ましい。
【００１３】
本開示のミニバッチ学習装置の作動プログラムは、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合が設定値よりも低い稀少クラスを特定する特定部と、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新部であり、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新部として、コンピュータを機能させる。
【００１４】
本開示のミニバッチ学習装置の作動方法は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出ステップと、面積割合が設定値よりも低い稀少クラスを特定する特定ステップと、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新ステップであり、特定ステップにおいて稀少クラスを特定しなかった場合よりも、特定ステップにおいて稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新ステップと、を備える。
【発明の効果】
【００１５】
本開示の技術によれば、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラム、作動方法および画像処理装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】ミニバッチ学習装置とその処理の概要を示す図である。
【図２】運用装置とその処理の概要を示す図である。
【図３】画像を示す図であり、図３Ａは学習用入力画像、図３Ｂはアノテーション画像をそれぞれ示す。
【図４】学習用入力画像から分割学習用入力画像を生成する様子を示す図である。
【図５】アノテーション画像から分割アノテーション画像を生成する様子を示す図である。
【図６】複数の分割学習用入力画像の一部で、分割学習用入力画像群を構成することを示す図である。
【図７】複数の分割アノテーション画像の一部で、分割アノテーション画像群を構成することを示す図である。
【図８】ミニバッチ学習装置を構成するコンピュータを示すブロック図である。
【図９】ミニバッチ学習装置のＣＰＵの処理部を示すブロック図である。
【図１０】算出部および特定部の処理の具体例を示す図である。
【図１１】更新部の処理の具体例を示す図である。
【図１２】ミニバッチ学習装置の処理手順を示すフローチャートである。
【図１３】更新部の処理の変形例を示す図である。
【図１４】更新部の処理の変形例を示す図である。
【図１５】更新部に更新度合いを小さくする処理を行わせるか否かを問う第２実施形態を示す図である。
【発明を実施するための形態】
【００１７】
［第１実施形態］
図１において、ミニバッチ学習装置２は、入力画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するためのモデル１０の判別精度を高めるために、モデル１０にミニバッチデータ１１を用いたミニバッチ学習を行わせる。ミニバッチ学習装置２は、例えばデスクトップ型のパーソナルコンピュータである。また、モデル１０は、例えばＵ−Ｎｅｔである。
【００１８】
クラスは、入力画像に映る物体の種類と言い換えてもよい。また、セマンティックセグメンテーションは、端的に言えば、入力画像に映る物体のクラスとその輪郭を判別するもので、その判別結果を、モデル１０は出力画像として出力する。例えば入力画像にコップ、本、携帯電話の３つの物体が映っていた場合、出力画像は、理想的には、コップ、本、携帯電話が各々クラスとして判別され、かつこれら物体の輪郭を忠実に辿った輪郭線がそれぞれの物体に描かれたものとなる。
【００１９】
モデル１０のクラスの判別精度は、モデル１０に学習データを与えて学習させ、モデル１０を更新することで高められる。学習データは、モデル１０に入力する学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像との組で構成される。アノテーション画像は、学習用入力画像に応じてモデル１０から出力された学習用出力画像とのいわば答え合わせを行うための画像で、学習用出力画像と比較される。モデル１０のクラスの判別精度が高いほど、アノテーション画像と学習用出力画像との差異は小さくなる。
【００２０】
ミニバッチ学習装置２では、前述のように、学習データとしてミニバッチデータ１１を用いる。ミニバッチデータ１１は、分割学習用入力画像群１２と分割アノテーション画像群１３とで構成される。
【００２１】
ミニバッチ学習においては、分割学習用入力画像群１２がモデル１０に与えられる。これにより、モデル１０から、分割学習用入力画像群１２の分割学習用入力画像２０Ｓ（図４参照）毎に学習用出力画像が出力される。こうしてモデル１０から出力された学習用出力画像の集合である学習用出力画像群１４と、分割アノテーション画像群１３とが比較され、モデル１０のクラスの判別精度が評価される。そして、このクラスの判別精度の評価結果に応じて、モデル１０が更新される。ミニバッチ学習装置２は、これらの分割学習用入力画像群１２のモデル１０への入力と学習用出力画像群１４のモデル１０からの出力、モデル１０のクラスの判別精度の評価、およびモデル１０の更新を、ミニバッチデータ１１を代えつつ行い、モデル１０のクラスの判別精度が所望のレベルとなるまで繰り返す。
【００２２】
図２に示すように、上記のようにしてクラスの判別精度が所望のレベルまで引き上げられたモデル１０は、学習済み機械学習モデル（以下、学習済みモデル）１０Ｔとして運用装置１５に組み込まれる。学習済みモデル１０Ｔには、映った物体のクラスおよびその輪郭が未だ判別されていない入力画像１６が与えられる。学習済みモデル１０Ｔは、入力画像１６に映る物体のクラスとその輪郭を判別し、その判別結果として出力画像１７を出力する。運用装置１５は、ミニバッチ学習装置２と同様、例えばデスクトップ型のパーソナルコンピュータであり、入力画像１６と出力画像１７とを、ディスプレイに並べて表示したりする。なお、運用装置１５は、ミニバッチ学習装置２とは別の装置でもよいし、ミニバッチ学習装置２と同じ装置でもよい。また、運用装置１５に学習済みモデル１０Ｔを組み込んだ後も、学習済みモデル１０Ｔにミニバッチデータ１１を与えて学習させてもよい。
【００２３】
図３Ａに示すように、学習用入力画像２０は、本例においては、細胞培養の様子を映した位相差顕微鏡の１枚の画像である。学習用入力画像２０には、分化細胞、未分化細胞、培地、死細胞が物体として映っている。この場合のアノテーション画像２１は、図３Ｂに示すように、クラス１の分化細胞、クラス２の未分化細胞、クラス３の培地、クラス４の死細胞が、各々手動で指定されたものとなる。なお、学習済みモデル１０Ｔに与えられる入力画像１６も、学習用入力画像２０と同じく、細胞培養の様子を映した位相差顕微鏡の画像である。
【００２４】
図４に示すように、分割学習用入力画像２０Ｓは、学習用入力画像２０内において、横方向にＤＸずつ、かつ縦方向にＤＹずつ順次移動される矩形状の枠２５で囲われた領域を、その都度切り取ったものである。枠２５の横方向の移動量ＤＸは、例えば、枠２５の横方向のサイズの１／２である。同様に、枠２５の縦方向の移動量ＤＹは、例えば、枠２５の縦方向のサイズの１／２である。枠２５は、例えば、学習用入力画像２０の１／５０のサイズである。この場合、分割学習用入力画像２０Ｓは、２０Ｓ＿１〜２０Ｓ＿１００００の計１万枚ある。
【００２５】
同様にして、図５に示すように、分割アノテーション画像２１Ｓは、アノテーション画像２１内において、横方向にＤＸずつ、かつ縦方向にＤＹずつ順次移動される矩形状の枠２５で囲われた領域を、その都度切り取ったものである。分割アノテーション画像２１Ｓは、２１Ｓ＿１〜２１Ｓ＿１００００の計１万枚ある。なお、以下では、ミニバッチ学習装置２内に学習用入力画像２０およびアノテーション画像２１が既に用意されており、かつ分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓも既に生成されているとして話を進める。
【００２６】
図６に示すように、分割学習用入力画像群１２は、図４で示したように生成された複数の分割学習用入力画像２０Ｓのうちの一部（例えば１万枚の分割学習用入力画像２０Ｓのうちの１００枚）で構成される。同様に図７に示すように、分割アノテーション画像群１３は、図５で示したように生成された複数の分割アノテーション画像２１Ｓのうちの一部（例えば１万枚の分割アノテーション画像２１Ｓのうちの１００枚）で構成される。分割学習用入力画像群１２を構成する分割学習用入力画像２０Ｓと、分割アノテーション画像群１３を構成する分割アノテーション画像２１Ｓとは、枠２５で切り取った領域が同じもの同士である。
【００２７】
図８において、ミニバッチ学習装置２を構成するコンピュータは、ストレージデバイス３０、メモリ３１、ＣＰＵ（Central Processing Unit）３２、通信部３３、ディスプレイ３４、および入力デバイス３５を備えている。これらはデータバス３６を介して相互接続されている。
【００２８】
ストレージデバイス３０は、ミニバッチ学習装置２を構成するコンピュータに内蔵、またはケーブルやネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス３０は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス３０には、オペレーティングシステム等の制御プログラムや各種アプリケーションプログラム、およびこれらのプログラムに付随する各種データ等が記憶されている。
【００２９】
メモリ３１は、ＣＰＵ３２が処理を実行するためのワークメモリである。ＣＰＵ３２は、ストレージデバイス３０に記憶されたプログラムをメモリ３１へロードして、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
【００３０】
通信部３３は、インターネットあるいは公衆通信網等のＷＡＮ（Wide Area Network）といったネットワークを介した各種情報の伝送制御を行うネットワークインターフェースである。ディスプレイ３４は各種画面を表示する。各種画面にはＧＵＩ(Graphical User Interface)による操作機能が備えられる。ミニバッチ学習装置２を構成するコンピュータは、各種画面を通じて、入力デバイス３５からの操作指示の入力を受け付ける。入力デバイス３５は、キーボードやマウス、タッチパネル等である。
【００３１】
図９において、ストレージデバイス３０には、学習用入力画像２０、アノテーション画像２１、分割学習用入力画像２０Ｓ、分割アノテーション画像２１Ｓ、およびモデル１０が記憶されている。また、ストレージデバイス３０には、アプリケーションプログラムとして作動プログラム４０が記憶されている。作動プログラム４０は、コンピュータをミニバッチ学習装置２として機能させるためのアプリケーションプログラムである。
【００３２】
作動プログラム４０が起動されると、ミニバッチ学習装置２を構成するコンピュータのＣＰＵ３２は、メモリ３１等と協働して、生成部５０、算出部５１、特定部５２、学習部５３、評価部５４、および更新部５５として機能する。
【００３３】
生成部５０は、図４および図５で示したように学習用入力画像２０およびアノテーション画像２１から生成された分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓから、図６および図７で示したようにその一部を選択することで、ミニバッチデータ１１を生成する。生成部５０は、ミニバッチデータ１１を複数組（例えば１００組）生成する。生成部５０は、生成したミニバッチデータ１１を、算出部５１、学習部５３、および評価部５４に出力する。
【００３４】
なお、生成部５０において、ミニバッチデータ１１とする分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓの選択肢を増やす手法を実行してもよい。具体的には、分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓに、トリミング、左右反転、回転といった画像処理を施して別の画像に仕立て、ミニバッチデータ１１の新たな選択肢とする。こうした手法は、データオーギュメンテーションと呼ばれる。
【００３５】
算出部５１は、ミニバッチデータ１１における、複数のクラスの各々の面積割合を算出する。より詳しくは、算出部５１は、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３を構成する分割アノテーション画像２１Ｓにおいて手動で指定された領域の画素数を、クラス毎に加算する。次いで、加算した画素数を分割アノテーション画像２１Ｓの全画素数で除算することで、面積割合を算出する。例えば、クラス１の分化細胞と指定された領域の、加算した画素数が１００００で、全画素数が５００００であった場合、クラス１の分化細胞の面積割合は、（１００００／５００００）×１００＝２０％である。算出部５１は、算出した面積割合を特定部５２に出力する。
【００３６】
特定部５２は、面積割合が設定値よりも低い稀少クラスを特定する。特定部５２は、特定した稀少クラスを更新部５５に出力する。
【００３７】
学習部５３は、生成部５０からのミニバッチデータ１１の分割学習用入力画像群１２をモデル１０に与えて学習させる。これによりモデル１０から出力された学習用出力画像群１４を、学習部５３は評価部５４に出力する。
【００３８】
評価部５４は、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３と、学習部５３からの学習用出力画像群１４とを比較し、モデル１０のクラスの判別精度を評価する。評価部５４は、評価結果を更新部５５に出力する。
【００３９】
評価部５４は、損失関数を用いて、モデル１０のクラスの判別精度を評価する。損失関数は、分割アノテーション画像群１３と学習用出力画像群１４との差異の程度を表す関数である。損失関数の算出値が０に近いほど、モデル１０のクラスの判別精度が高いことを示す。
【００４０】
更新部５５は、評価部５４からの評価結果に応じて、モデル１０を更新する。より具体的には、更新部５５は、学習係数η（図１１参照）を伴う確率的勾配降下法等により、モデル１０の各種パラメータの値を変化させる。学習係数ηは、モデル１０の各種パラメータの値の変化幅を示す。すなわち、学習係数ηが比較的大きい値であるほど、各種パラメータの値の変化幅は大きくなり、モデル１０の更新度合いも大きくなる。
【００４１】
更新部５５は、特定部５２において稀少クラスを特定しなかった場合よりも、特定部５２において稀少クラスを特定した場合のモデル１０の更新度合いを小さくする。より具体的には、更新部５５は、特定部５２において稀少クラスを特定しなかった場合の学習係数ηＡよりも、特定部５２において稀少クラスを特定した場合の学習係数ηＢを小さくする（ηＢ＜ηＡ）。例えば、学習係数ηＡを１／１０して学習係数ηＢとする。
【００４２】
図１０および図１１は、算出部５１、特定部５２、更新部５５の各部の処理の具体例を示す。まず、図１０において、算出部５１は、表６０に示すように、ミニバッチデータ１１の各組１、２、３、・・・について、各クラスの面積割合を算出する。図１０では、第１組のミニバッチデータ１１のクラス１の分化細胞の面積割合を３８％、クラス２の未分化細胞の面積割合を２％、クラス３の培地の面積割合を４０％、クラス４の死細胞の面積割合を２０％等と算出した場合を例示している。
【００４３】
特定部５２は、面積割合が設定値よりも低い稀少クラスを特定する。図１０では、設定値が５％以下であるため、面積割合が２％と設定値よりも低い、第１組のミニバッチデータ１１のクラス２の未分化細胞を稀少クラスとして特定した場合を例示している。なお、ここでは稀少クラスが１つだけ特定された場合を例示しているが、面積割合が設定値よりも低いクラスが複数あった場合は、当然ながら複数のクラスが稀少クラスとして特定される。
【００４４】
続いて図１１において、更新部５５は、表６１に示すように、稀少クラスが特定された第１組のミニバッチデータ１１の場合の学習係数を、稀少クラスが特定されなかった場合の学習係数ηＡ１よりも小さいηＢ１とする。対して、稀少クラスが特定されなかった第２組、第３組等のミニバッチデータ１１の場合は、稀少クラスが特定されなかった場合の学習係数ηＡ２、ηＡ３のままとする。こうして学習係数ηを小さくすることで、更新部５５は、稀少クラスが特定されたミニバッチデータ１１の場合のモデル１０の更新度合いを、稀少クラスが特定されなかった場合のモデル１０の更新度合いよりも小さくする。
【００４５】
次に、上記構成による作用について、図１２に示すフローチャートを参照して説明する。まず、作動プログラム４０が起動されて、図９で示したように、ミニバッチ学習装置２を構成するコンピュータのＣＰＵ３２が、各処理部５０〜５５として機能する。
【００４６】
生成部５０において、ミニバッチデータ１１が生成される（ステップＳＴ１００）。ミニバッチデータ１１は、生成部５０から算出部５１、学習部５３、および評価部５４に出力される。
【００４７】
図１０の表６０で示したように、算出部５１により、ミニバッチデータ１１の各組について、各クラスの面積割合が算出される（ステップＳＴ１１０、算出ステップ）。続いて、これも図１０で示したように、特定部５２において、面積割合が設定値よりも低い稀少クラスが特定される（ステップＳＴ１２０、特定ステップ）。
【００４８】
学習部５３において、生成部５０からのミニバッチデータ１１の分割学習用入力画像群１２がモデル１０に与えられて学習が行われる（ステップＳＴ１３０）。そして、これによりモデル１０から出力された学習用出力画像群１４と、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３とが、評価部５４において比較され、モデル１０のクラスの判別精度が評価される（ステップＳＴ１４０）。
【００４９】
評価部５４による評価結果に基づき、モデル１０のクラスの判別精度が所望のレベルに達したと判定された場合（ＳＴ１５０でＹＥＳ）、ミニバッチ学習が終了される。一方、モデル１０のクラスの判別精度が所望のレベルに達していないと判定された場合（ステップＳＴ１５０でＮＯ）は、ステップＳＴ１６０に処理が移行する。
【００５０】
ステップＳＴ１３０においてモデル１０に与えたミニバッチデータ１１に、稀少クラスがあった場合（ステップＳＴ１６０でＹＥＳ）、図１１の表６１で示したように、更新部５５により、稀少クラスがなかった場合よりも小さい更新度合いでモデル１０が更新（ステップＳＴ１７０、更新ステップ）される。対して、ステップＳＴ１３０においてモデル１０に与えたミニバッチデータ１１に、稀少クラスがなかった場合（ステップＳＴ１６０でＮＯ）は、更新度合いが小さくされることなく、通常の更新度合いでモデル１０が更新（ステップＳＴ１８０、更新ステップ）される。ステップＳＴ１７０およびステップＳＴ１８０の後は、ステップＳＴ１３０に処理が戻され、別の組のミニバッチデータ１１がモデル１０に与えられて以降のステップが繰り返される。
【００５１】
特定部５２において稀少クラスが特定された場合とは、すなわちミニバッチデータ１１にクラスの偏りがあった場合である。こうしたクラスの偏りがあるミニバッチデータ１１では、稀少クラスが加味されずに学習が行われる。より詳しくは、稀少クラスの学習の頻度が、他のクラスと比べて相対的に低くなる。このような偏った学習が行われた後に、更新部５５において何の制約もなくモデル１０を更新した場合、偏った学習の結果がモデル１０に多大な影響を与える。結果として、稀少クラスの判別精度が低いモデル１０ができあがってしまう。
【００５２】
しかしながら、本実施形態では、上述のように、特定部５２において稀少クラスが特定されなかった場合よりも、特定部５２において稀少クラスが特定された場合の更新部５５におけるモデル１０の更新度合いを小さくしている。こうすることで、ミニバッチデータ１１にクラスの偏りがあった場合は、モデル１０はあまり更新されず、クラスに偏りがあるミニバッチデータ１１を用いた学習の結果は、モデル１０に大きな影響は及ぼさない。したがって、稀少クラスの判別精度が低いモデル１０ができあがってしまう、という事態が避けられ、モデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００５３】
なお、特定した稀少クラスの数が多いほど、モデル１０の更新度合いを小さくする程度を増やしてもよい。例えば図１３の表６５に示すように、稀少クラスが２つ特定された第１０組のミニバッチデータ１１の場合の学習係数ηＢ１０を、稀少クラスが特定されなかった場合の学習係数ηＡ１０の１／１００とする（ηＢ１０＝ηＡ１０×０．０１）。一方、稀少クラスが１つだけ特定された第１１組のミニバッチデータ１１の場合の学習係数ηＢ１１を、稀少クラスが特定されなかった場合の学習係数ηＡ１１の１／１０とする（ηＢ１１＝ηＡ１１×０．１）。特定した稀少クラスの数が多いほど、ミニバッチデータ１１のクラスの偏りが大きいと考えられるので、よりモデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００５４】
同様に、面積割合が小さいほど、モデル１０の更新度合いを小さくする程度を増やしてもよい。例えば図１４の表６６に示すように、第２０組のミニバッチデータ１１のように、面積割合が０％以上２．５％未満の場合は、学習係数ηＡを１／１００して学習係数ηＢとする（ηＢ２０＝ηＡ２０×０．０１）。対して、第２１組のミニバッチデータ１１のように、面積割合が２．５％以上５％以下の場合は、学習係数ηＡを１／１０して学習係数ηＢとする（ηＢ２１＝ηＡ２１×０．１）。この場合も図１３の場合と同様に、面積割合が小さいほど、ミニバッチデータ１１のクラスの偏りが大きいと考えられるので、よりモデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００５５】
［第２実施形態］
図１５に示す第２実施形態では、更新部５５に更新度合いを小さくする処理を行わせるか否かを問う。
【００５６】
図１５において、第２実施形態のミニバッチ学習装置のＣＰＵは、第１実施形態の各処理部５０〜５５に加えて、受付部７０として機能する。受付部７０は、特定部５２において稀少クラスを特定した場合に、更新部５５に更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける。
【００５７】
第２実施形態においては、特定部５２において稀少クラスが特定された場合、ディスプレイ３４に問い合わせ画面７１が表示される。問い合わせ画面７１には、稀少クラスが特定された旨と、モデル１０の更新度合いを小さくしてよいか否かを問う旨のメッセージ７２、はいボタン７３、いいえボタン７４が表示される。受付部７０は、はいボタン７３といいえボタン７４の選択指示を、更新部５５に更新度合いを小さくする処理を行わせるか否かの選択指示として受け付ける。はいボタン７３が選択された場合は、更新部５５において更新度合いを小さくする処理が行われる。一方、いいえボタン７４が選択された場合は、更新部５５において更新度合いを小さくする処理は行われない。
【００５８】
アノテーション画像の生成に際しては、クラスの指定は手動であるため、クラスの指定を間違えたりすることがある。また、モデル１０の開発当初はクラスとして指定していたが、開発が進むにつれてあまり重要視しなくなったクラスが出てくることもある。こうした場合は、特定部５２において稀少クラスが特定されたが、モデル１０の更新度合いを小さくしなくても構わない場合がある。
【００５９】
そこで、第２実施形態では、受付部７０により、モデル１０の更新度合いを小さくしてよいか否かの選択指示を受け付けている。したがって、特定部５２において稀少クラスが特定されたが、モデル１０の更新度合いを小さくしなくても構わない場合に対応することができる。
【００６０】
上記各実施形態では、入力画像１６および学習用入力画像２０として、細胞培養の様子を映した位相差顕微鏡の画像を例示し、クラスとして分化細胞や培地を例示したが、これに限定されない。例えばＭＲＩ（Magnetic Resonance Imaging）画像を入力画像１６および学習用入力画像２０とし、肝臓、腎臓といった臓器をクラスとしてもよい。
【００６１】
モデル１０はＵ−Ｎｅｔに限らず、他の畳み込みニューラルネットワーク、例えばＳｅｇＮｅｔでもよい。
【００６２】
モデル１０の更新度合いを小さくする方法としては、学習係数ηを小さくする方法以外の方法を採用してもよい。
【００６３】
ミニバッチ学習装置２を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、ミニバッチ学習装置２を、処理能力や信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。具体的には、生成部５０、算出部５１、および特定部５２の機能と、学習部５３、評価部５４、および更新部５５の機能とを、２台のコンピュータに分散して担わせる。この場合は２台のコンピュータでミニバッチ学習装置２を構成する。
【００６４】
このように、コンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム４０等のアプリケーションプログラムについても、安全性や信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
【００６５】
上記各実施形態において、例えば、生成部５０、算出部５１、特定部５２、学習部５３、評価部５４、更新部５５、受付部７０といった各種の処理を実行する処理部（Processing Unit）のハードウェア的な構造としては、次に示す各種のプロセッサ（Processor）を用いることができる。各種のプロセッサには、上述したように、ソフトウェア（作動プログラム４０）を実行して各種の処理部として機能する汎用的なプロセッサであるＣＰＵに加えて、ＦＰＧＡ（Field Programmable Gate Array）等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device :ＰＬＤ）、ＡＳＩＣ（Application Specific Integrated Circuit）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【００６６】
１つの処理部は、これらの各種のプロセッサのうちの１つで構成されてもよいし、同種または異種の２つ以上のプロセッサの組み合わせ（例えば、複数のＦＰＧＡの組み合わせや、ＣＰＵとＦＰＧＡとの組み合わせ）で構成されてもよい。また、複数の処理部を１つのプロセッサで構成してもよい。
【００６７】
複数の処理部を１つのプロセッサで構成する例としては、第１に、クライアントおよびサーバ等のコンピュータに代表されるように、１つ以上のＣＰＵとソフトウェアの組み合わせで１つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第２に、システムオンチップ（System On Chip:ＳｏＣ）等に代表されるように、複数の処理部を含むシステム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの１つ以上を用いて構成される。
【００６８】
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路（circuitry）を用いることができる。
【００６９】
以上の記載から、以下の付記項１に記載の発明を把握することができる。
【００７０】
［付記項１］
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出プロセッサと、
前記面積割合が設定値よりも低い稀少クラスを特定する特定プロセッサと、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新プロセッサであり、前記特定プロセッサにおいて前記稀少クラスを特定しなかった場合よりも、前記特定プロセッサにおいて前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新プロセッサと、を備えるミニバッチ学習装置。
【００７１】
本開示の技術は、上述の種々の実施形態や種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体、および、学習装置やプログラムを実装した画像処理装置にもおよぶ。
【符号の説明】
【００７２】
２  ミニバッチ学習装置
１０  機械学習モデル（モデル）
１０Ｔ  学習済み機械学習モデル（学習済みモデル）
１１  ミニバッチデータ
１２  分割学習用入力画像群
１３  分割アノテーション画像群
１４  学習用出力画像群
１５  運用装置
１６  入力画像
１７  出力画像
２０  学習用入力画像
２０Ｓ  分割学習用入力画像
２１  アノテーション画像
２１Ｓ  分割アノテーション画像
２５  枠
３０  ストレージデバイス
３１  メモリ
３２  ＣＰＵ
３３  通信部
３４  ディスプレイ
３５  入力デバイス
３６  データバス
４０  作動プログラム
５０  生成部
５１  算出部
５２  特定部
５３  学習部
５４  評価部
５５  更新部
６０、６１、６５、６６  表
７０  受付部
７１  問い合わせ画面
７２  メッセージ
７３  はいボタン
７４  いいえボタン
ＤＸ  枠の横方向の移動量
ＤＹ  枠の縦方向の移動量
η  学習係数
ＳＴ１００〜ＳＴ１８０  ステップ
【図１】
2020121678.tif 000003
【図２】
2020121678.tif 000004
【図３】
2020121678.tif 000005
【図４】
2020121678.tif 000006
【図５】
2020121678.tif 000007
【図６】
2020121678.tif 000008
【図７】
2020121678.tif 000009
【図８】
2020121678.tif 000010
【図９】
2020121678.tif 000011
【図１０】
2020121678.tif 000012
【図１１】
2020121678.tif 000013
【図１２】
2020121678.tif 000014
【図１３】
2020121678.tif 000015
【図１４】
2020121678.tif 000016
【図１５】
2020121678.tif 000017
【国際調査報告】
2020121678.tif 000018
2020121678.tif 000019
2020121678.tif 000020
2020121678.tif 000021