IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士フイルム株式会社の特許一覧

特許7096360ミニバッチ学習装置とその作動プログラムおよび作動方法
<>
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図1
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図2
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図3
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図4
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図5
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図6
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図7
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図8
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図9
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図10
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図11
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図12
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図13
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図14
  • 特許-ミニバッチ学習装置とその作動プログラムおよび作動方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-27
(45)【発行日】2022-07-05
(54)【発明の名称】ミニバッチ学習装置とその作動プログラムおよび作動方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220628BHJP
【FI】
G06T7/00 350B
【請求項の数】 6
(21)【出願番号】P 2020559790
(86)(22)【出願日】2019-10-29
(86)【国際出願番号】 JP2019042385
(87)【国際公開番号】W WO2020121668
(87)【国際公開日】2020-06-18
【審査請求日】2021-03-30
(31)【優先権主張番号】P 2018234883
(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
(57)【特許請求の範囲】
【請求項1】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、前記アノテーション画像全体の面積に対する、前記複数のクラスの各々の第1面積割合を算出する算出部と、
前記第1面積割合が第1設定値よりも低い稀少クラスを特定する特定部と、
前記学習用入力画像および前記アノテーション画像から前記ミニバッチデータを生成する生成部であり、前記ミニバッチデータにおける前記稀少クラスの第2面積割合が、前記算出部において算出した前記第1面積割合よりも大きい第2設定値以上である前記ミニバッチデータを生成する生成部と、
を備えるミニバッチ学習装置。
【請求項2】
前記生成部に、前記第2面積割合が前記第2設定値以上である前記ミニバッチデータを生成する処理を行わせるか否かの選択指示を受け付ける受付部を備える請求項1に記載のミニバッチ学習装置。
【請求項3】
前記生成部は、一定の規則にしたがって前記ミニバッチデータを複数生成し、かつ、前記一定の規則にしたがって生成した複数の前記ミニバッチデータのうち、前記第2面積割合が前記第2設定値以上である前記ミニバッチデータを、前記学習に用いるために選択する請求項1または2に記載のミニバッチ学習装置。
【請求項4】
前記生成部は、前記アノテーション画像内の前記稀少クラスの偏在領域と非偏在領域とを検出し、前記偏在領域の前記ミニバッチデータの元となる画像の切り取り数を、前記非偏在領域の前記切り取り数よりも多くする請求項1~3のいずれか1項に記載のミニバッチ学習装置。
【請求項5】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、
前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、前記アノテーション画像全体の面積に対する、前記複数のクラスの各々の第1面積割合を算出する算出部と、
前記第1面積割合が第1設定値よりも低い稀少クラスを特定する特定部と、
前記学習用入力画像および前記アノテーション画像から前記ミニバッチデータを生成する生成部であり、前記ミニバッチデータにおける前記稀少クラスの第2面積割合が、前記算出部において算出した前記第1面積割合よりも大きい第2設定値以上である前記ミニバッチデータを生成する生成部として、
コンピュータを機能させるミニバッチ学習装置の作動プログラム。
【請求項6】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、
前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、前記アノテーション画像全体の面積に対する、前記複数のクラスの各々の第1面積割合を算出する算出ステップと、
前記第1面積割合が第1設定値よりも低い稀少クラスを特定する特定ステップと、
前記学習用入力画像および前記アノテーション画像から前記ミニバッチデータを生成する生成ステップであり、前記ミニバッチデータにおける前記稀少クラスの第2面積割合が、前記算出ステップにおいて算出した前記第1面積割合よりも大きい第2設定値以上である前記ミニバッチデータを生成する生成ステップと、
を備えるミニバッチ学習装置の作動方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の技術は、ミニバッチ学習装置とその作動プログラムおよび作動方法に関する。
【背景技術】
【0002】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションが知られている。セマンティックセグメンテーションは、U字型の畳み込みニューラルネットワーク(U-Net;U-Shaped Neural Network)等の機械学習モデル(以下、単にモデル)で実現される。
【0003】
モデルの判別精度を高めるためには、モデルに学習データを与えて学習させ、モデルを更新していくことが必要である。学習データは、学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像とで構成される。特開2017-107386号公報では、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。
【発明の概要】
【発明が解決しようとする課題】
【0004】
学習には、ミニバッチ学習という手法がある。ミニバッチ学習では、学習データとしてミニバッチデータをモデルに与える。ミニバッチデータは、学習用入力画像とアノテーション画像とを分割した複数の分割画像(例えば元の画像の1/100のサイズの枠で分割した1万枚の分割画像)のうちの一部(例えば100枚)で構成される。ミニバッチデータは複数組(例えば100組)生成され、各組が順次モデルに与えられる。
【0005】
ここで、学習用入力画像およびアノテーション画像にクラスの偏りがある場合を考える。例えば、学習用入力画像は細胞培養の様子を位相差顕微鏡で映した画像であって、クラス1が分化細胞、クラス2が未分化細胞、クラス3が培地、クラス4が死細胞に分類される画像である。そして、学習用入力画像およびアノテーション画像全体における各クラスの面積割合が、分化細胞38%、未分化細胞2%、培地40%、死細胞20%で、未分化細胞の面積割合が比較的低い場合である。
【0006】
このように学習用入力画像およびアノテーション画像にクラスの偏りがあると、学習用入力画像およびアノテーション画像から構成されるミニバッチデータにも、クラスの偏りが生じる可能性が高くなる。ミニバッチデータにクラスの偏りが生じた場合は、面積割合が比較的低い稀少クラスが加味されずに学習が行われる。結果として、稀少クラスの判別精度が低いモデルができあがってしまう。
【0007】
特開2017-107386号公報では、前述のように、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。しかしながら、この手法では、複数の学習用入力画像の全てにクラスの偏りがあった場合は、結局は稀少クラスの判別精度が低いモデルができあがってしまう。したがって、特開2017-107386号公報に記載の手法では、稀少クラスの判別精度が低いモデルができあがってしまう、という問題を解決することはできない。
【0008】
本開示の技術は、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本開示のミニバッチ学習装置は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、アノテーション画像全体の面積に対する、複数のクラスの各々の第1面積割合を算出する算出部と、第1面積割合が第1設定値よりも低い稀少クラスを特定する特定部と、学習用入力画像およびアノテーション画像からミニバッチデータを生成する生成部であり、ミニバッチデータにおける稀少クラスの第2面積割合が、算出部において算出した第1面積割合よりも大きい第2設定値以上であるミニバッチデータを生成する生成部と、を備える。
【0010】
生成部に、第2面積割合が第2設定値以上であるミニバッチデータを生成する処理を行わせるか否かの選択指示を受け付ける受付部を備えることが好ましい。
【0011】
生成部は、一定の規則にしたがってミニバッチデータを複数生成し、かつ、一定の規則にしたがって生成した複数のミニバッチデータのうち、第2面積割合が第2設定値以上であるミニバッチデータを、学習に用いるために選択することが好ましい。
【0012】
生成部は、アノテーション画像内の稀少クラスの偏在領域と非偏在領域とを検出し、偏在領域のミニバッチデータの元となる画像の切り取り数を、非偏在領域の切り取り数よりも多くすることが好ましい。
【0013】
本開示のミニバッチ学習装置の作動プログラムは、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、アノテーション画像全体の面積に対する、複数のクラスの各々の第1面積割合を算出する算出部と、第1面積割合が第1設定値よりも低い稀少クラスを特定する特定部と、学習用入力画像およびアノテーション画像からミニバッチデータを生成する生成部であり、ミニバッチデータにおける稀少クラスの第2面積割合が、算出部において算出した第1面積割合よりも大きい第2設定値以上であるミニバッチデータを生成する生成部として、コンピュータを機能させる。
【0014】
本開示のミニバッチ学習装置の作動方法は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、アノテーション画像全体の面積に対する、複数のクラスの各々の第1面積割合を算出する算出ステップと、第1面積割合が第1設定値よりも低い稀少クラスを特定する特定ステップと、学習用入力画像およびアノテーション画像からミニバッチデータを生成する生成ステップであり、ミニバッチデータにおける稀少クラスの第2面積割合が、算出ステップにおいて算出した第1面積割合よりも大きい第2設定値以上であるミニバッチデータを生成する生成ステップと、を備える。
【発明の効果】
【0015】
本開示の技術によれば、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することができる。
【図面の簡単な説明】
【0016】
図1】ミニバッチ学習装置とその処理の概要を示す図である。
図2】運用装置とその処理の概要を示す図である。
図3】画像を示す図であり、図3Aは学習用入力画像、図3Bはアノテーション画像をそれぞれ示す。
図4】学習用入力画像から分割学習用入力画像を生成する様子を示す図である。
図5】アノテーション画像から分割アノテーション画像を生成する様子を示す図である。
図6】複数の分割学習用入力画像の一部で、分割学習用入力画像群を構成することを示す図である。
図7】複数の分割アノテーション画像の一部で、分割アノテーション画像群を構成することを示す図である。
図8】ミニバッチ学習装置を構成するコンピュータを示すブロック図である。
図9】ミニバッチ学習装置のCPUの処理部を示すブロック図である。
図10】算出部および特定部の処理の具体例を示す図である。
図11】生成部の処理の具体例を示す図である。
図12】ミニバッチ学習装置の処理手順を示すフローチャートである。
図13】生成部に、第2面積割合が第2設定値以上であるミニバッチデータを生成する処理を行わせるか否かを問う第2実施形態を示す図である。
図14】一定の規則にしたがって生成した複数のミニバッチデータのうち、第2面積割合が第2設定値以上であるミニバッチデータを、学習に用いるために選択する第3実施形態を示す図である。
図15】アノテーション画像内の稀少クラスの偏在領域のミニバッチデータの元となる画像の切り取り数を、非偏在領域の切り取り数よりも多くする第4実施形態を示す図である。
【発明を実施するための形態】
【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として機能させるためのアプリケーションプログラムである。すなわち、作動プログラム40は、本開示の技術に係る「ミニバッチ学習装置の作動プログラム」の一例である。
【0032】
作動プログラム40が起動されると、ミニバッチ学習装置2を構成するコンピュータのCPU32は、メモリ31等と協働して、算出部50、特定部51、生成部52、学習部53、評価部54、および更新部55として機能する。
【0033】
算出部50は、アノテーション画像21全体の面積に対する、複数のクラスの各々の第1面積割合を算出する。より詳しくは、算出部50は、ストレージデバイス30からアノテーション画像21を読み出す。そして、アノテーション画像21において手動で指定された領域の画素数を、クラス毎に加算する。次いで、加算した画素数をアノテーション画像21の全画素数で除算することで、第1面積割合を算出する。例えば、クラス1の分化細胞と指定された領域の、加算した画素数が10000で、全画素数が50000であった場合、クラス1の分化細胞の第1面積割合は、(10000/50000)×100=20%である。算出部50は、算出した第1面積割合を特定部51に出力する。
【0034】
特定部51は、第1面積割合が第1設定値よりも低い稀少クラスを特定する。特定部51は、特定した稀少クラスを生成部52に出力する。
【0035】
生成部52は、図4および図5で示したように学習用入力画像20およびアノテーション画像21から生成された分割学習用入力画像20Sおよび分割アノテーション画像21Sから、図6および図7で示したようにその一部を選択することで、ミニバッチデータ11を生成する。生成部52は、ミニバッチデータ11を複数組(例えば100組)生成する。特定部51において稀少クラスが特定された場合、生成部52は、分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択方法を工夫することで、第2面積割合が、第1面積割合よりも大きい第2設定値以上であるミニバッチデータ11を生成する。一方、特定部51において稀少クラスが特定されなかった場合、生成部52は、上記のような制約なくミニバッチデータ11を生成する。生成部52は、生成したミニバッチデータ11を、学習部53および評価部54に出力する。
【0036】
ここで、第2面積割合は、1組のミニバッチデータ11における稀少クラスの面積割合である。また、特定部51において稀少クラスが特定された場合の分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択方法の工夫とは、例えば、稀少クラスの物体が比較的大きく映った分割学習用入力画像20Sおよび分割アノテーション画像21Sを優先的に選択する等である。ミニバッチデータ11の稀少クラスの第2面積割合を第2設定値以上とするための分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択肢を増やす手法を実行してもよい。具体的には、稀少クラスの物体が比較的大きく映った分割学習用入力画像20Sおよび分割アノテーション画像21Sに、トリミング、左右反転、回転といった画像処理を施して別の画像に仕立て、ミニバッチデータ11の新たな選択肢とする。こうした手法は、データオーギュメンテーションと呼ばれる。
【0037】
学習部53は、生成部52からのミニバッチデータ11の分割学習用入力画像群12をモデル10に与えて学習させる。これによりモデル10から出力された学習用出力画像群14を、学習部53は評価部54に出力する。
【0038】
評価部54は、生成部52からのミニバッチデータ11の分割アノテーション画像群13と、学習部53からの学習用出力画像群14とを比較し、モデル10のクラスの判別精度を評価する。評価部54は、評価結果を更新部55に出力する。
【0039】
評価部54は、損失関数を用いて、モデル10のクラスの判別精度を評価する。損失関数は、分割アノテーション画像群13と学習用出力画像群14との差異の程度を表す関数である。損失関数の算出値が0に近いほど、モデル10のクラスの判別精度が高いことを示す。
【0040】
更新部55は、評価部54からの評価結果に応じて、モデル10を更新する。より具体的には、更新部55は、学習係数を伴う確率的勾配降下法等により、モデル10の各種パラメータの値を変化させる。学習係数は、モデル10の各種パラメータの値の変化幅を示す。すなわち、学習係数が比較的大きい値であるほど、各種パラメータの値の変化幅は大きくなり、モデル10の更新度合いも大きくなる。
【0041】
図10および図11は、算出部50、特定部51、生成部52の各部の処理の具体例を示す。まず、図10において、算出部50は、表60に示すように、各クラスの第1面積割合を算出する。図10では、クラス1の分化細胞の第1面積割合を38%、クラス2の未分化細胞の第1面積割合を2%、クラス3の培地の第1面積割合を40%、クラス4の死細胞の第1面積割合を20%とそれぞれ算出した場合を例示している。
【0042】
特定部51は、第1面積割合が第1設定値よりも低い稀少クラスを特定する。図10では、第1設定値が5%以下であるため、第1面積割合が2%と第1設定値よりも低い、クラス2の未分化細胞を稀少クラスとして特定した場合を例示している。なお、ここでは稀少クラスが1つだけ特定された場合を例示しているが、第1面積割合が第1設定値よりも低いクラスが複数あった場合は、当然ながら複数のクラスが稀少クラスとして特定される。
【0043】
続いて図11において、生成部52は、表61に示すように、稀少クラスの第2面積割合が、算出部50において算出した第1面積割合よりも大きい第2設定値以上であるミニバッチデータ11を生成する。図11では、第2設定値が25%以上であるため、各ミニバッチデータ11において、稀少クラスであるクラス2の未分化細胞の第2面積割合が25%とされている。また、稀少クラスであるクラス2の未分化細胞以外の他のクラスの第2面積割合も一律25%とされている。なお、図10で示した第1設定値、および図11で示した第2設定値は、あくまでも一例である。第2設定値は、少なくとも稀少クラスの第1面積割合よりも大きければよく、上記の例でいえば2%よりも大きければよい。また、稀少クラス以外の他のクラスの第2面積割合に関しては特に制約はないので、上記のように値を一律25%とする必要はない。
【0044】
次に、上記構成による作用について、図12に示すフローチャートを参照して説明する。まず、作動プログラム40が起動されて、図9で示したように、ミニバッチ学習装置2を構成するコンピュータのCPU32が、各処理部50~55として機能する。
【0045】
図10の表60で示したように、算出部50により、各クラスの第1面積割合が算出される(ステップST100、算出ステップ)。続いて、これも図10で示したように、特定部51において、第1面積割合が第1設定値よりも低い稀少クラスが特定される(ステップST110、特定ステップ)。
【0046】
特定部51において稀少クラスが特定された場合(ステップST120でYES)、図11の表61で示したように、生成部52により、稀少クラスの第2面積割合が第2設定値以上であるミニバッチデータ11が生成される(ステップST130、生成ステップ)。
【0047】
特定部51において稀少クラスが特定された場合とは、すなわち学習用入力画像20およびアノテーション画像21にクラスの偏りがあった場合である。学習用入力画像20およびアノテーション画像21にクラスの偏りがあると、何の制約もなくミニバッチデータ11を生成した場合は、ミニバッチデータ11にも、クラスの偏りが生じる可能性が高くなる。そうすると、結果として、稀少クラスの判別精度が低いモデル10ができあがってしまう。
【0048】
しかしながら、本実施形態では、上述のように、特定部51において稀少クラスが特定された場合、生成部52において、稀少クラスの第2面積割合が第2設定値以上であるミニバッチデータ11を生成している。こうすることで、学習用入力画像20およびアノテーション画像21にクラスの偏りがあった場合においても、ミニバッチデータ11にはクラスの偏りは生じない。したがって、稀少クラスの判別精度が低いモデル10ができあがってしまう、という事態が避けられ、モデル10のクラスの判別精度の低下を抑制することが可能となる。
【0049】
一方、特定部51において稀少クラスが特定されなかった場合は、生成部52において、特に制約なくミニバッチデータ11が生成される(ステップST140、生成ステップ)。
【0050】
学習部53において、生成部52からのミニバッチデータ11の分割学習用入力画像群12がモデル10に与えられて学習が行われる(ステップST150)。そして、これによりモデル10から出力された学習用出力画像群14と、生成部52からのミニバッチデータ11の分割アノテーション画像群13とが、評価部54において比較され、モデル10のクラスの判別精度が評価される(ステップST160)。
【0051】
評価部54による評価結果に基づき、モデル10のクラスの判別精度が所望のレベルに達したと判定された場合(ST170でYES)、ミニバッチ学習が終了される。一方、モデル10のクラスの判別精度が所望のレベルに達していないと判定された場合(ステップST170でNO)は、更新部55によりモデル10が更新(ステップST180)される。そのうえで、ステップST150に処理が戻され、別の組のミニバッチデータ11がモデル10に与えられて以降のステップが繰り返される。
【0052】
[第2実施形態]
図13に示す第2実施形態では、生成部52に、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理を行わせるか否かを問う。
【0053】
図13において、第2実施形態のミニバッチ学習装置のCPUは、第1実施形態の各処理部50~55に加えて、受付部65として機能する。受付部65は、特定部52において稀少クラスを特定した場合に、生成部52に、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理を行わせるか否かの選択指示を受け付ける。
【0054】
第2実施形態においては、特定部52において稀少クラスが特定された場合、ディスプレイ34に問い合わせ画面66が表示される。問い合わせ画面66には、稀少クラスが特定された旨と、第2面積割合が第2設定値以上であるミニバッチデータ11を生成してよいか否かを問う旨のメッセージ67、はいボタン68、いいえボタン69が表示される。受付部65は、はいボタン68といいえボタン69の選択指示を、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理を行わせるか否かの選択指示として受け付ける。はいボタン68が選択された場合は、生成部52において、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理が行われる。一方、いいえボタン69が選択された場合は、生成部52において、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理は行われない。
【0055】
アノテーション画像の生成に際しては、クラスの指定は手動であるため、クラスの指定を間違えたりすることがある。また、モデル10の開発当初はクラスとして指定していたが、開発が進むにつれてあまり重要視しなくなったクラスが出てくることもある。こうした場合は、特定部52において稀少クラスが特定されたが、第2面積割合が第2設定値以上であるミニバッチデータ11を生成しなくても構わない場合がある。
【0056】
そこで、第2実施形態では、受付部65により、生成部52に、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する処理を行わせるか否かの選択指示を受け付けている。したがって、特定部52において稀少クラスが特定されたが、第2面積割合が第2設定値以上であるミニバッチデータ11を生成しなくても構わない場合に対応することができる。
【0057】
[第3実施形態]
図14に示す第3実施形態では、一定の規則にしたがってミニバッチデータ11を複数生成する。そして、一定の規則にしたがって生成した複数のミニバッチデータ11のうち、第2面積割合が第2設定値以上であるミニバッチデータ11を、学習に用いるために選択する。
【0058】
図14において、第3実施形態の生成部75は、図4および図5で示したように、枠25を一定の規則にしたがって移動(横方向にDXずつ、かつ縦方向のDYずつ順次移動)させ、分割学習用入力画像20Sおよび分割アノテーション画像21Sを生成する。また、生成部75は、分割学習用入力画像20Sおよび分割アノテーション画像21Sから、一定の規則にしたがって分割学習用入力画像群12および分割アノテーション画像群13を生成する。第1実施形態では、分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択方法を工夫することで、第2面積割合が第2設定値以上であるミニバッチデータ11を生成しているが、第3実施形態では、そうした選択方法の工夫はせず、取り敢えずは一定の規則にしたがってミニバッチデータ11を生成する。
【0059】
生成部75は、こうして一定の規則にしたがって生成した複数のミニバッチデータ11のうち、第2面積割合が第2設定値以上であるミニバッチデータ11を、学習に用いるために選択する。
【0060】
表76は、生成部75が一定の規則にしたがって生成した複数のミニバッチデータ11の各クラスの第2面積割合を示す。ここでは、図10等と同じく、クラス2の未分化細胞が稀少クラスとして特定された場合を例示する。また、第2設定値も、第1実施形態と同じく25%以上である場合を例示する。この場合、稀少クラスであるクラス2の未分化細胞の第2面積割合が第2設定値以上であるのは、No.2のミニバッチデータ11である。このため、生成部75は、表77に示すように、No.2のミニバッチデータ11を、学習部53に与えるミニバッチデータ11として選択する。
【0061】
このように、第3実施形態では、生成部75が、一定の規則にしたがってミニバッチデータ11を複数生成し、かつ、一定の規則にしたがって生成した複数のミニバッチデータ11のうち、第2面積割合が第2設定値以上であるミニバッチデータ11を、学習に用いるために選択する。したがって、分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択方法を工夫して、第2面積割合が第2設定値以上であるミニバッチデータ11を生成する手間が省ける。
【0062】
[第4実施形態]
図15に示す第4実施形態では、アノテーション画像21内の稀少クラスの偏在領域と非偏在領域とを検出する。そして、偏在領域のミニバッチデータ11の元となる画像の切り取り数を、非偏在領域の切り取り数よりも多くする。ここで、ミニバッチデータ11の元となる画像とは、分割アノテーション画像21Sのことである。
【0063】
図15において、第4実施形態の生成部は、アノテーション画像21内の稀少クラスの偏在領域80と非偏在領域81とを検出する。偏在領域80の検出方法としては、まず、アノテーション画像21を複数の領域に分割し、各領域における稀少クラスの面積割合を算出する。続いて、算出した各領域の面積割合の平均AVEと標準偏差σとを求める。そして、稀少クラスの面積割合が、例えばAVE+3σを超える領域を、偏在領域80として検出する。
【0064】
生成部は、上記のようにして検出した偏在領域80の、分割アノテーション画像21Sの切り取り数を、非偏在領域81の切り取り数よりも多くする。図15では、図4および図5で示した枠25の移動量を、非偏在領域81の移動量DX_B、DY_Bよりも、偏在領域80の移動量DX_A、DY_Aを小さくすることで、偏在領域80の分割アノテーション画像21Sの切り取り数を、非偏在領域81の切り取り数よりも多くしている。
【0065】
このように、第4実施形態では、生成部が、アノテーション画像21内の稀少クラスの偏在領域80と非偏在領域81とを検出し、偏在領域80のミニバッチデータ11の元となる画像の切り取り数を、非偏在領域81の切り取り数よりも多くしている。したがって、第2面積割合が第2設定値以上であるミニバッチデータ11を簡単に生成することができる。
【0066】
上記各実施形態では、入力画像16および学習用入力画像20として、細胞培養の様子を位相差顕微鏡で映した画像を例示し、クラスとして分化細胞、培地等を例示したが、これに限定されない。例えばMRI(Magnetic Resonance Imaging)画像を入力画像16および学習用入力画像20とし、肝臓、腎臓といった臓器をクラスとしてもよい。
【0067】
モデル10はU-Netに限らず、他の畳み込みニューラルネットワーク、例えばSegNetでもよい。
【0068】
ミニバッチ学習装置2を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、ミニバッチ学習装置2を、処理能力および信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。具体的には、算出部50および特定部51の機能と、生成部52および学習部53の機能と、評価部54および更新部55の機能とを、3台のコンピュータに分散して担わせる。この場合は3台のコンピュータでミニバッチ学習装置2を構成する。
【0069】
このように、コンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム40等のアプリケーションプログラムについても、安全性および信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
【0070】
上記各実施形態において、例えば、算出部50、特定部51、生成部52、75、学習部53、評価部54、更新部55、受付部65といった各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。各種のプロセッサには、上述したように、ソフトウェア(作動プログラム40)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU32に加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device :PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0071】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、および/または、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
【0072】
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントおよびサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0073】
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0074】
以上の記載から、以下の付記項1に記載の発明を把握することができる。
【0075】
[付記項1]
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像のうちの、前記アノテーション画像全体の面積に対する、前記複数のクラスの各々の第1面積割合を算出する算出プロセッサと、
前記第1面積割合が第1設定値よりも低い稀少クラスを特定する特定プロセッサと、
前記学習用入力画像および前記アノテーション画像から前記ミニバッチデータを生成する生成プロセッサであり、前記ミニバッチデータにおける前記稀少クラスの第2面積割合が、前記算出プロセッサにおいて算出した前記第1面積割合よりも大きい第2設定値以上である前記ミニバッチデータを生成する生成プロセッサと、
を備えるミニバッチ学習装置。
【0076】
本開示の技術は、上述の種々の実施形態と種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。
【0077】
以上に示した記載内容および図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、および効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、および効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容および図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことはいうまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容および図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
【0078】
本明細書において、「Aおよび/またはB」は、「AおよびBのうちの少なくとも1つ」と同義である。つまり、「Aおよび/またはB」は、Aだけであってもよいし、Bだけであってもよいし、AおよびBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「および/または」で結び付けて表現する場合も、「Aおよび/またはB」と同様の考え方が適用される。
【0079】
本明細書に記載された全ての文献、特許出願および技術規格は、個々の文献、特許出願および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15