(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-27
(45)【発行日】2022-07-05
(54)【発明の名称】ミニバッチ学習装置とその作動プログラム、作動方法、および画像処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220628BHJP
G06T 7/11 20170101ALI20220628BHJP
【FI】
G06T7/00 350B
G06T7/11
(21)【出願番号】P 2020559800
(86)(22)【出願日】2019-10-31
(86)【国際出願番号】 JP2019042935
(87)【国際公開番号】W WO2020121678
(87)【国際公開日】2020-06-18
【審査請求日】2021-04-08
(31)【優先権主張番号】P 2018234881
(32)【優先日】2018-12-14
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】涌井 隆史
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2017-162456(JP,A)
【文献】国際公開第2018/081537(WO,A1)
【文献】平松侑樹, 外4名,“複数CNNの統合による細胞画像のセグメンテーション”,第24回 画像センシングシンポジウム,日本,画像センシング技術研究会,2018年06月13日
【文献】相澤宏旭, 外2名,“多重解像度性を取り入れたEncoder-Decoder CNNによるパーツセグメンテーション”,第23回 画像センシングシンポジウム,日本,画像センシング技術研究会,2017年06月07日
【文献】相澤宏旭, 外1名,“航空機画像セグメンテーションへのEncoder-Decoder CNNの適用とその改良”,映像情報メディア学会技術報告,日本,(一社)映像情報メディア学会,2016年08月24日,第40巻, 第28号,p.9-10
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/11
(57)【特許請求の範囲】
【請求項1】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合が設定値よりも低い稀少クラスを特定する特定部と、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新部であり、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新部と、を備えるミニバッチ学習装置。
【請求項2】
前記更新部は、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの各種パラメータの値の変化幅を示す学習係数を小さくする請求項1に記載のミニバッチ学習装置。
【請求項3】
前記更新部に前記更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける受付部を備える請求項1または2に記載のミニバッチ学習装置。
【請求項4】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合が設定値よりも低い稀少クラスを特定する特定部と、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新部であり、前記特定部において前記稀少クラスを特定しなかった場合よりも、前記特定部において前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新部として、
コンピュータを機能させるミニバッチ学習装置の作動プログラム。
【請求項5】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出ステップと、
前記面積割合が設定値よりも低い稀少クラスを特定する特定ステップと、
前記ミニバッチデータを用いた学習の結果に応じて、前記機械学習モデルを更新する更新ステップであり、前記特定ステップにおいて前記稀少クラスを特定しなかった場合よりも、前記特定ステップにおいて前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新ステップと、を備えるミニバッチ学習装置の作動方法。
【請求項6】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習する画像処理装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を行い、
前記面積割合が設定値よりも低い稀少クラスを特定し、
前記稀少クラスを特定しなかった場合よりも、前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の技術は、ミニバッチ学習装置とその作動プログラムおよび作動方法に関する。
【背景技術】
【0002】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションが知られている。セマンティックセグメンテーションは、U字型の畳み込みニューラルネットワーク(U-Net;U-Shaped Neural Network)等の機械学習モデル(以下、単にモデル)で実現される。
【0003】
モデルの判別精度を高めるためには、モデルに学習データを与えて学習させ、モデルを更新していくことが必要である。学習データは、学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像とで構成される。特許文献1では、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
学習には、ミニバッチ学習という手法がある。ミニバッチ学習では、学習データとしてミニバッチデータをモデルに与える。ミニバッチデータは、学習用入力画像とアノテーション画像とを分割した複数の分割画像(例えば元の画像の1/100のサイズの枠で分割した1万枚の分割画像)のうちの一部(例えば100枚)で構成される。ミニバッチデータは複数組(例えば100組)生成され、各組が順次モデルに与えられる。
【0006】
ここで、学習用入力画像およびアノテーション画像にクラスの偏りがある場合を考える。例えば、学習用入力画像は細胞培養の様子を映した位相差顕微鏡の画像であって、クラス1が分化細胞、クラス2が未分化細胞、クラス3が培地、クラス4が死細胞に分類される画像である。そして、学習用入力画像およびアノテーション画像全体における各クラスの面積割合が、分化細胞38%、未分化細胞2%、培地40%、死細胞20%で、未分化細胞の面積割合が比較的低い場合である。
【0007】
このように学習用入力画像およびアノテーション画像にクラスの偏りがあると、学習用入力画像およびアノテーション画像から構成されるミニバッチデータにも、クラスの偏りが生じる可能性が高くなる。ミニバッチデータにクラスの偏りが生じた場合は、面積割合が比較的低い稀少クラスが加味されずに学習が行われる。結果として、稀少クラスの判別精度が低いモデルができあがってしまう。
【0008】
特許文献1では、前述のように、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。しかしながら、この手法では、複数の学習用入力画像の全てにクラスの偏りがあった場合は、結局は稀少クラスの判別精度が低いモデルができあがってしまう。したがって、特許文献1に記載の手法では、稀少クラスの判別精度が低いモデルができあがってしまう、という問題を解決することはできない。
【0009】
本開示の技術は、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムと作動方法およびそれを実装した画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本開示のミニバッチ学習装置は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合が設定値よりも低い稀少クラスを特定する特定部と、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新部であり、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新部と、を備える。
【0011】
更新部は、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の、機械学習モデルの各種パラメータの値の変化幅を示す学習係数を小さくすることが好ましい。
【0012】
更新部に更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける受付部を備えることが好ましい。
【0013】
本開示のミニバッチ学習装置の作動プログラムは、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合が設定値よりも低い稀少クラスを特定する特定部と、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新部であり、特定部において稀少クラスを特定しなかった場合よりも、特定部において稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新部として、コンピュータを機能させる。
【0014】
本開示のミニバッチ学習装置の作動方法は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出ステップと、面積割合が設定値よりも低い稀少クラスを特定する特定ステップと、ミニバッチデータを用いた学習の結果に応じて、機械学習モデルを更新する更新ステップであり、特定ステップにおいて稀少クラスを特定しなかった場合よりも、特定ステップにおいて稀少クラスを特定した場合の機械学習モデルの更新度合いを小さくする更新ステップと、を備える。
【発明の効果】
【0015】
本開示の技術によれば、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラム、作動方法および画像処理装置を提供することができる。
【図面の簡単な説明】
【0016】
【
図1】ミニバッチ学習装置とその処理の概要を示す図である。
【
図3】画像を示す図であり、
図3Aは学習用入力画像、
図3Bはアノテーション画像をそれぞれ示す。
【
図4】学習用入力画像から分割学習用入力画像を生成する様子を示す図である。
【
図5】アノテーション画像から分割アノテーション画像を生成する様子を示す図である。
【
図6】複数の分割学習用入力画像の一部で、分割学習用入力画像群を構成することを示す図である。
【
図7】複数の分割アノテーション画像の一部で、分割アノテーション画像群を構成することを示す図である。
【
図8】ミニバッチ学習装置を構成するコンピュータを示すブロック図である。
【
図9】ミニバッチ学習装置のCPUの処理部を示すブロック図である。
【
図10】算出部および特定部の処理の具体例を示す図である。
【
図12】ミニバッチ学習装置の処理手順を示すフローチャートである。
【
図15】更新部に更新度合いを小さくする処理を行わせるか否かを問う第2実施形態を示す図である。
【発明を実施するための形態】
【0017】
[第1実施形態]
図1において、ミニバッチ学習装置2は、入力画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するためのモデル10の判別精度を高めるために、モデル10にミニバッチデータ11を用いたミニバッチ学習を行わせる。ミニバッチ学習装置2は、例えばデスクトップ型のパーソナルコンピュータである。また、モデル10は、例えばU-Netである。
【0018】
クラスは、入力画像に映る物体の種類と言い換えてもよい。また、セマンティックセグメンテーションは、端的に言えば、入力画像に映る物体のクラスとその輪郭を判別するもので、その判別結果を、モデル10は出力画像として出力する。例えば入力画像にコップ、本、携帯電話の3つの物体が映っていた場合、出力画像は、理想的には、コップ、本、携帯電話が各々クラスとして判別され、かつこれら物体の輪郭を忠実に辿った輪郭線がそれぞれの物体に描かれたものとなる。
【0019】
モデル10のクラスの判別精度は、モデル10に学習データを与えて学習させ、モデル10を更新することで高められる。学習データは、モデル10に入力する学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像との組で構成される。アノテーション画像は、学習用入力画像に応じてモデル10から出力された学習用出力画像とのいわば答え合わせを行うための画像で、学習用出力画像と比較される。モデル10のクラスの判別精度が高いほど、アノテーション画像と学習用出力画像との差異は小さくなる。
【0020】
ミニバッチ学習装置2では、前述のように、学習データとしてミニバッチデータ11を用いる。ミニバッチデータ11は、分割学習用入力画像群12と分割アノテーション画像群13とで構成される。
【0021】
ミニバッチ学習においては、分割学習用入力画像群12がモデル10に与えられる。これにより、モデル10から、分割学習用入力画像群12の分割学習用入力画像20S(
図4参照)毎に学習用出力画像が出力される。こうしてモデル10から出力された学習用出力画像の集合である学習用出力画像群14と、分割アノテーション画像群13とが比較され、モデル10のクラスの判別精度が評価される。そして、このクラスの判別精度の評価結果に応じて、モデル10が更新される。ミニバッチ学習装置2は、これらの分割学習用入力画像群12のモデル10への入力と学習用出力画像群14のモデル10からの出力、モデル10のクラスの判別精度の評価、およびモデル10の更新を、ミニバッチデータ11を代えつつ行い、モデル10のクラスの判別精度が所望のレベルとなるまで繰り返す。
【0022】
図2に示すように、上記のようにしてクラスの判別精度が所望のレベルまで引き上げられたモデル10は、学習済み機械学習モデル(以下、学習済みモデル)10Tとして運用装置15に組み込まれる。学習済みモデル10Tには、映った物体のクラスおよびその輪郭が未だ判別されていない入力画像16が与えられる。学習済みモデル10Tは、入力画像16に映る物体のクラスとその輪郭を判別し、その判別結果として出力画像17を出力する。運用装置15は、ミニバッチ学習装置2と同様、例えばデスクトップ型のパーソナルコンピュータであり、入力画像16と出力画像17とを、ディスプレイに並べて表示したりする。なお、運用装置15は、ミニバッチ学習装置2とは別の装置でもよいし、ミニバッチ学習装置2と同じ装置でもよい。また、運用装置15に学習済みモデル10Tを組み込んだ後も、学習済みモデル10Tにミニバッチデータ11を与えて学習させてもよい。
【0023】
図3Aに示すように、学習用入力画像20は、本例においては、細胞培養の様子を映した位相差顕微鏡の1枚の画像である。学習用入力画像20には、分化細胞、未分化細胞、培地、死細胞が物体として映っている。この場合のアノテーション画像21は、
図3Bに示すように、クラス1の分化細胞、クラス2の未分化細胞、クラス3の培地、クラス4の死細胞が、各々手動で指定されたものとなる。なお、学習済みモデル10Tに与えられる入力画像16も、学習用入力画像20と同じく、細胞培養の様子を映した位相差顕微鏡の画像である。
【0024】
図4に示すように、分割学習用入力画像20Sは、学習用入力画像20内において、横方向にDXずつ、かつ縦方向にDYずつ順次移動される矩形状の枠25で囲われた領域を、その都度切り取ったものである。枠25の横方向の移動量DXは、例えば、枠25の横方向のサイズの1/2である。同様に、枠25の縦方向の移動量DYは、例えば、枠25の縦方向のサイズの1/2である。枠25は、例えば、学習用入力画像20の1/50のサイズである。この場合、分割学習用入力画像20Sは、20S_1~20S_10000の計1万枚ある。
【0025】
同様にして、
図5に示すように、分割アノテーション画像21Sは、アノテーション画像21内において、横方向にDXずつ、かつ縦方向にDYずつ順次移動される矩形状の枠25で囲われた領域を、その都度切り取ったものである。分割アノテーション画像21Sは、21S_1~21S_10000の計1万枚ある。なお、以下では、ミニバッチ学習装置2内に学習用入力画像20およびアノテーション画像21が既に用意されており、かつ分割学習用入力画像20Sおよび分割アノテーション画像21Sも既に生成されているとして話を進める。
【0026】
図6に示すように、分割学習用入力画像群12は、
図4で示したように生成された複数の分割学習用入力画像20Sのうちの一部(例えば1万枚の分割学習用入力画像20Sのうちの100枚)で構成される。同様に
図7に示すように、分割アノテーション画像群13は、
図5で示したように生成された複数の分割アノテーション画像21Sのうちの一部(例えば1万枚の分割アノテーション画像21Sのうちの100枚)で構成される。分割学習用入力画像群12を構成する分割学習用入力画像20Sと、分割アノテーション画像群13を構成する分割アノテーション画像21Sとは、枠25で切り取った領域が同じもの同士である。
【0027】
図8において、ミニバッチ学習装置2を構成するコンピュータは、ストレージデバイス30、メモリ31、CPU(Central Processing Unit)32、通信部33、ディスプレイ34、および入力デバイス35を備えている。これらはデータバス36を介して相互接続されている。
【0028】
ストレージデバイス30は、ミニバッチ学習装置2を構成するコンピュータに内蔵、またはケーブルやネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス30は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス30には、オペレーティングシステム等の制御プログラムや各種アプリケーションプログラム、およびこれらのプログラムに付随する各種データ等が記憶されている。
【0029】
メモリ31は、CPU32が処理を実行するためのワークメモリである。CPU32は、ストレージデバイス30に記憶されたプログラムをメモリ31へロードして、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
【0030】
通信部33は、インターネットあるいは公衆通信網等のWAN(Wide Area Network)といったネットワークを介した各種情報の伝送制御を行うネットワークインターフェースである。ディスプレイ34は各種画面を表示する。各種画面にはGUI(Graphical User Interface)による操作機能が備えられる。ミニバッチ学習装置2を構成するコンピュータは、各種画面を通じて、入力デバイス35からの操作指示の入力を受け付ける。入力デバイス35は、キーボードやマウス、タッチパネル等である。
【0031】
図9において、ストレージデバイス30には、学習用入力画像20、アノテーション画像21、分割学習用入力画像20S、分割アノテーション画像21S、およびモデル10が記憶されている。また、ストレージデバイス30には、アプリケーションプログラムとして作動プログラム40が記憶されている。作動プログラム40は、コンピュータをミニバッチ学習装置2として機能させるためのアプリケーションプログラムである。
【0032】
作動プログラム40が起動されると、ミニバッチ学習装置2を構成するコンピュータのCPU32は、メモリ31等と協働して、生成部50、算出部51、特定部52、学習部53、評価部54、および更新部55として機能する。
【0033】
生成部50は、
図4および
図5で示したように学習用入力画像20およびアノテーション画像21から生成された分割学習用入力画像20Sおよび分割アノテーション画像21Sから、
図6および
図7で示したようにその一部を選択することで、ミニバッチデータ11を生成する。生成部50は、ミニバッチデータ11を複数組(例えば100組)生成する。生成部50は、生成したミニバッチデータ11を、算出部51、学習部53、および評価部54に出力する。
【0034】
なお、生成部50において、ミニバッチデータ11とする分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択肢を増やす手法を実行してもよい。具体的には、分割学習用入力画像20Sおよび分割アノテーション画像21Sに、トリミング、左右反転、回転といった画像処理を施して別の画像に仕立て、ミニバッチデータ11の新たな選択肢とする。こうした手法は、データオーギュメンテーションと呼ばれる。
【0035】
算出部51は、ミニバッチデータ11における、複数のクラスの各々の面積割合を算出する。より詳しくは、算出部51は、生成部50からのミニバッチデータ11の分割アノテーション画像群13を構成する分割アノテーション画像21Sにおいて手動で指定された領域の画素数を、クラス毎に加算する。次いで、加算した画素数を分割アノテーション画像21Sの全画素数で除算することで、面積割合を算出する。例えば、クラス1の分化細胞と指定された領域の、加算した画素数が10000で、全画素数が50000であった場合、クラス1の分化細胞の面積割合は、(10000/50000)×100=20%である。算出部51は、算出した面積割合を特定部52に出力する。
【0036】
特定部52は、面積割合が設定値よりも低い稀少クラスを特定する。特定部52は、特定した稀少クラスを更新部55に出力する。
【0037】
学習部53は、生成部50からのミニバッチデータ11の分割学習用入力画像群12をモデル10に与えて学習させる。これによりモデル10から出力された学習用出力画像群14を、学習部53は評価部54に出力する。
【0038】
評価部54は、生成部50からのミニバッチデータ11の分割アノテーション画像群13と、学習部53からの学習用出力画像群14とを比較し、モデル10のクラスの判別精度を評価する。評価部54は、評価結果を更新部55に出力する。
【0039】
評価部54は、損失関数を用いて、モデル10のクラスの判別精度を評価する。損失関数は、分割アノテーション画像群13と学習用出力画像群14との差異の程度を表す関数である。損失関数の算出値が0に近いほど、モデル10のクラスの判別精度が高いことを示す。
【0040】
更新部55は、評価部54からの評価結果に応じて、モデル10を更新する。より具体的には、更新部55は、学習係数η(
図11参照)を伴う確率的勾配降下法等により、モデル10の各種パラメータの値を変化させる。学習係数ηは、モデル10の各種パラメータの値の変化幅を示す。すなわち、学習係数ηが比較的大きい値であるほど、各種パラメータの値の変化幅は大きくなり、モデル10の更新度合いも大きくなる。
【0041】
更新部55は、特定部52において稀少クラスを特定しなかった場合よりも、特定部52において稀少クラスを特定した場合のモデル10の更新度合いを小さくする。より具体的には、更新部55は、特定部52において稀少クラスを特定しなかった場合の学習係数ηAよりも、特定部52において稀少クラスを特定した場合の学習係数ηBを小さくする(ηB<ηA)。例えば、学習係数ηAを1/10して学習係数ηBとする。
【0042】
図10および
図11は、算出部51、特定部52、更新部55の各部の処理の具体例を示す。まず、
図10において、算出部51は、表60に示すように、ミニバッチデータ11の各組1、2、3、・・・について、各クラスの面積割合を算出する。
図10では、第1組のミニバッチデータ11のクラス1の分化細胞の面積割合を38%、クラス2の未分化細胞の面積割合を2%、クラス3の培地の面積割合を40%、クラス4の死細胞の面積割合を20%等と算出した場合を例示している。
【0043】
特定部52は、面積割合が設定値よりも低い稀少クラスを特定する。
図10では、設定値が5%以下であるため、面積割合が2%と設定値よりも低い、第1組のミニバッチデータ11のクラス2の未分化細胞を稀少クラスとして特定した場合を例示している。なお、ここでは稀少クラスが1つだけ特定された場合を例示しているが、面積割合が設定値よりも低いクラスが複数あった場合は、当然ながら複数のクラスが稀少クラスとして特定される。
【0044】
続いて
図11において、更新部55は、表61に示すように、稀少クラスが特定された第1組のミニバッチデータ11の場合の学習係数を、稀少クラスが特定されなかった場合の学習係数ηA1よりも小さいηB1とする。対して、稀少クラスが特定されなかった第2組、第3組等のミニバッチデータ11の場合は、稀少クラスが特定されなかった場合の学習係数ηA2、ηA3のままとする。こうして学習係数ηを小さくすることで、更新部55は、稀少クラスが特定されたミニバッチデータ11の場合のモデル10の更新度合いを、稀少クラスが特定されなかった場合のモデル10の更新度合いよりも小さくする。
【0045】
次に、上記構成による作用について、
図12に示すフローチャートを参照して説明する。まず、作動プログラム40が起動されて、
図9で示したように、ミニバッチ学習装置2を構成するコンピュータのCPU32が、各処理部50~55として機能する。
【0046】
生成部50において、ミニバッチデータ11が生成される(ステップST100)。ミニバッチデータ11は、生成部50から算出部51、学習部53、および評価部54に出力される。
【0047】
図10の表60で示したように、算出部51により、ミニバッチデータ11の各組について、各クラスの面積割合が算出される(ステップST110、算出ステップ)。続いて、これも
図10で示したように、特定部52において、面積割合が設定値よりも低い稀少クラスが特定される(ステップST120、特定ステップ)。
【0048】
学習部53において、生成部50からのミニバッチデータ11の分割学習用入力画像群12がモデル10に与えられて学習が行われる(ステップST130)。そして、これによりモデル10から出力された学習用出力画像群14と、生成部50からのミニバッチデータ11の分割アノテーション画像群13とが、評価部54において比較され、モデル10のクラスの判別精度が評価される(ステップST140)。
【0049】
評価部54による評価結果に基づき、モデル10のクラスの判別精度が所望のレベルに達したと判定された場合(ST150でYES)、ミニバッチ学習が終了される。一方、モデル10のクラスの判別精度が所望のレベルに達していないと判定された場合(ステップST150でNO)は、ステップST160に処理が移行する。
【0050】
ステップST130においてモデル10に与えたミニバッチデータ11に、稀少クラスがあった場合(ステップST160でYES)、
図11の表61で示したように、更新部55により、稀少クラスがなかった場合よりも小さい更新度合いでモデル10が更新(ステップST170、更新ステップ)される。対して、ステップST130においてモデル10に与えたミニバッチデータ11に、稀少クラスがなかった場合(ステップST160でNO)は、更新度合いが小さくされることなく、通常の更新度合いでモデル10が更新(ステップST180、更新ステップ)される。ステップST170およびステップST180の後は、ステップST130に処理が戻され、別の組のミニバッチデータ11がモデル10に与えられて以降のステップが繰り返される。
【0051】
特定部52において稀少クラスが特定された場合とは、すなわちミニバッチデータ11にクラスの偏りがあった場合である。こうしたクラスの偏りがあるミニバッチデータ11では、稀少クラスが加味されずに学習が行われる。より詳しくは、稀少クラスの学習の頻度が、他のクラスと比べて相対的に低くなる。このような偏った学習が行われた後に、更新部55において何の制約もなくモデル10を更新した場合、偏った学習の結果がモデル10に多大な影響を与える。結果として、稀少クラスの判別精度が低いモデル10ができあがってしまう。
【0052】
しかしながら、本実施形態では、上述のように、特定部52において稀少クラスが特定されなかった場合よりも、特定部52において稀少クラスが特定された場合の更新部55におけるモデル10の更新度合いを小さくしている。こうすることで、ミニバッチデータ11にクラスの偏りがあった場合は、モデル10はあまり更新されず、クラスに偏りがあるミニバッチデータ11を用いた学習の結果は、モデル10に大きな影響は及ぼさない。したがって、稀少クラスの判別精度が低いモデル10ができあがってしまう、という事態が避けられ、モデル10のクラスの判別精度の低下を抑制することが可能となる。
【0053】
なお、特定した稀少クラスの数が多いほど、モデル10の更新度合いを小さくする程度を増やしてもよい。例えば
図13の表65に示すように、稀少クラスが2つ特定された第10組のミニバッチデータ11の場合の学習係数ηB10を、稀少クラスが特定されなかった場合の学習係数ηA10の1/100とする(ηB10=ηA10×0.01)。一方、稀少クラスが1つだけ特定された第11組のミニバッチデータ11の場合の学習係数ηB11を、稀少クラスが特定されなかった場合の学習係数ηA11の1/10とする(ηB11=ηA11×0.1)。特定した稀少クラスの数が多いほど、ミニバッチデータ11のクラスの偏りが大きいと考えられるので、よりモデル10のクラスの判別精度の低下を抑制することが可能となる。
【0054】
同様に、面積割合が小さいほど、モデル10の更新度合いを小さくする程度を増やしてもよい。例えば
図14の表66に示すように、第20組のミニバッチデータ11のように、面積割合が0%以上2.5%未満の場合は、学習係数ηAを1/100して学習係数ηBとする(ηB20=ηA20×0.01)。対して、第21組のミニバッチデータ11のように、面積割合が2.5%以上5%以下の場合は、学習係数ηAを1/10して学習係数ηBとする(ηB21=ηA21×0.1)。この場合も
図13の場合と同様に、面積割合が小さいほど、ミニバッチデータ11のクラスの偏りが大きいと考えられるので、よりモデル10のクラスの判別精度の低下を抑制することが可能となる。
【0055】
[第2実施形態]
図15に示す第2実施形態では、更新部55に更新度合いを小さくする処理を行わせるか否かを問う。
【0056】
図15において、第2実施形態のミニバッチ学習装置のCPUは、第1実施形態の各処理部50~55に加えて、受付部70として機能する。受付部70は、特定部52において稀少クラスを特定した場合に、更新部55に更新度合いを小さくする処理を行わせるか否かの選択指示を受け付ける。
【0057】
第2実施形態においては、特定部52において稀少クラスが特定された場合、ディスプレイ34に問い合わせ画面71が表示される。問い合わせ画面71には、稀少クラスが特定された旨と、モデル10の更新度合いを小さくしてよいか否かを問う旨のメッセージ72、はいボタン73、いいえボタン74が表示される。受付部70は、はいボタン73といいえボタン74の選択指示を、更新部55に更新度合いを小さくする処理を行わせるか否かの選択指示として受け付ける。はいボタン73が選択された場合は、更新部55において更新度合いを小さくする処理が行われる。一方、いいえボタン74が選択された場合は、更新部55において更新度合いを小さくする処理は行われない。
【0058】
アノテーション画像の生成に際しては、クラスの指定は手動であるため、クラスの指定を間違えたりすることがある。また、モデル10の開発当初はクラスとして指定していたが、開発が進むにつれてあまり重要視しなくなったクラスが出てくることもある。こうした場合は、特定部52において稀少クラスが特定されたが、モデル10の更新度合いを小さくしなくても構わない場合がある。
【0059】
そこで、第2実施形態では、受付部70により、モデル10の更新度合いを小さくしてよいか否かの選択指示を受け付けている。したがって、特定部52において稀少クラスが特定されたが、モデル10の更新度合いを小さくしなくても構わない場合に対応することができる。
【0060】
上記各実施形態では、入力画像16および学習用入力画像20として、細胞培養の様子を映した位相差顕微鏡の画像を例示し、クラスとして分化細胞や培地を例示したが、これに限定されない。例えばMRI(Magnetic Resonance Imaging)画像を入力画像16および学習用入力画像20とし、肝臓、腎臓といった臓器をクラスとしてもよい。
【0061】
モデル10はU-Netに限らず、他の畳み込みニューラルネットワーク、例えばSegNetでもよい。
【0062】
モデル10の更新度合いを小さくする方法としては、学習係数ηを小さくする方法以外の方法を採用してもよい。
【0063】
ミニバッチ学習装置2を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、ミニバッチ学習装置2を、処理能力や信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。具体的には、生成部50、算出部51、および特定部52の機能と、学習部53、評価部54、および更新部55の機能とを、2台のコンピュータに分散して担わせる。この場合は2台のコンピュータでミニバッチ学習装置2を構成する。
【0064】
このように、コンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム40等のアプリケーションプログラムについても、安全性や信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
【0065】
上記各実施形態において、例えば、生成部50、算出部51、特定部52、学習部53、評価部54、更新部55、受付部70といった各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。各種のプロセッサには、上述したように、ソフトウェア(作動プログラム40)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device :PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0066】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
【0067】
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントおよびサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0068】
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0069】
以上の記載から、以下の付記項1に記載の発明を把握することができる。
【0070】
[付記項1]
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出プロセッサと、
前記面積割合が設定値よりも低い稀少クラスを特定する特定プロセッサと、
前記ミニバッチデータを用いた前記学習の結果に応じて、前記機械学習モデルを更新する更新プロセッサであり、前記特定プロセッサにおいて前記稀少クラスを特定しなかった場合よりも、前記特定プロセッサにおいて前記稀少クラスを特定した場合の前記機械学習モデルの更新度合いを小さくする更新プロセッサと、を備えるミニバッチ学習装置。
【0071】
本開示の技術は、上述の種々の実施形態や種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体、および、学習装置やプログラムを実装した画像処理装置にもおよぶ。
【符号の説明】
【0072】
2 ミニバッチ学習装置
10 機械学習モデル(モデル)
10T 学習済み機械学習モデル(学習済みモデル)
11 ミニバッチデータ
12 分割学習用入力画像群
13 分割アノテーション画像群
14 学習用出力画像群
15 運用装置
16 入力画像
17 出力画像
20 学習用入力画像
20S 分割学習用入力画像
21 アノテーション画像
21S 分割アノテーション画像
25 枠
30 ストレージデバイス
31 メモリ
32 CPU
33 通信部
34 ディスプレイ
35 入力デバイス
36 データバス
40 作動プログラム
50 生成部
51 算出部
52 特定部
53 学習部
54 評価部
55 更新部
60、61、65、66 表
70 受付部
71 問い合わせ画面
72 メッセージ
73 はいボタン
74 いいえボタン
DX 枠の横方向の移動量
DY 枠の縦方向の移動量
η 学習係数
ST100~ST180 ステップ