[第1実施形態]
図1において、機械学習システム2は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するためのモデルM(図2参照)を用いるシステムである。機械学習システム2は、学習装置10および運用装置11を備える。学習装置10および運用装置11は、例えばデスクトップ型のパーソナルコンピュータである。学習装置10および運用装置11は、ネットワーク12を介して相互に通信可能に接続されている。ネットワーク12は、例えば、LAN(Local Area Network)、もしくはインターネット、公衆通信網等のWAN(Wide Area Network)である。
図2において、学習装置10は、学習用入力画像IILおよびアノテーション画像AIの組で構成される学習データLDを有する。学習用入力画像IILは、文字通り、クラスの判別精度を高める学習のためにモデルMに入力される画像である。モデルMは、学習用入力画像IILにセマンティックセグメンテーションを実施して、学習用出力画像OILを出力する。
アノテーション画像AIは、学習用入力画像IILに対して、クラス毎に領域が指定されて区別された画像である(図3B参照)。アノテーション画像AIは、学習用出力画像OILとのいわば答え合わせを行うための画像であり、学習用出力画像OILと比較される。モデルMのクラスの判別精度が高いほど、アノテーション画像AIと学習用出力画像OILとの差異は小さくなる。
学習装置10は、アノテーション画像AIと学習用出力画像OILとを比較し、モデルMのクラスの判別精度を評価する。そして、このクラスの判別精度の評価結果に応じて、モデルMを更新する。学習装置10は、学習用入力画像IILのモデルMへの入力と学習用出力画像OILのモデルMからの出力、モデルMのクラスの判別精度の評価、およびモデルMの更新を、学習データLDを変更しつつ行い、モデルMのクラスの判別精度が予め設定されたレベルとなるまで繰り返す。学習装置10は、クラスの判別精度が予め設定されたレベルとされたモデルMを、学習済みモデルTMとして運用装置11に出力する。
運用装置11は、学習装置10からの学習済みモデルTMを受信する。運用装置11は、映った物体のクラスおよびその輪郭が未だ判別されていない入力画像IIを学習済みモデルTMに与える。学習済みモデルTMは、入力画像IIにセマンティックセグメンテーションを実施して、入力画像IIに映る物体のクラスとその輪郭を判別し、その判別結果として出力画像OIを出力する。運用装置11は、出力画像OIをディスプレイに表示する等して、ユーザの閲覧に供する。なお、運用装置11に学習済みモデルTMを組み込んだ後も、学習済みモデルTMに学習データLDを与えて学習させてもよい。
図3Aに示すように、学習用入力画像IILは、本例においては、培養中の複数の細胞を位相差顕微鏡で撮影した細胞画像である。学習用入力画像IILには、分化細胞、未分化細胞、死細胞、培地が映っている。この場合のアノテーション画像AIは、図3Bに示すように、クラス1の分化細胞DC、クラス2の未分化細胞UDC、クラス3の死細胞DDC、クラス4の培地PLの各々の領域が指定されて区別されたものとなる。各クラスの領域の指定は、ユーザがペンタブレット等を用いて輪郭線を描くことで行われる。また、領域の区別は、ユーザが輪郭線内をクラス毎に色分けすることで行われる。培地PLの領域は、他の各細胞DC、UDC、DDCの領域を指定することで自ずと指定される。なお、学習済みモデルTMに与えられる入力画像IIも、学習用入力画像IILと同じく、培養中の複数の細胞を位相差顕微鏡で撮影した細胞画像である。
図4に示すように、モデルMは、入力画像を解析する複数の階層を有し、階層毎に、入力画像に含まれる空間周波数の周波数帯域が異なる特徴を抽出する、U-Net等の畳み込みニューラルネットワークで構成された階層型のモデルである。本例のモデルMは、第1階層、第2階層、第3階層、第4階層、第5階層の5つの階層を有する。なお、以下では、学習装置10において、学習用入力画像IILを入力画像としてモデルMに与え、モデルMから学習用出力画像OILを出力させる場合を例に説明する。
モデルMは、エンコーダネットワーク20とデコーダネットワーク21とで構成される。エンコーダネットワーク20は、階層毎に、フィルタF(図5参照)を用いた畳み込み演算を行って、画像特徴マップCMPを抽出する畳み込み処理を行う。デコーダネットワーク21は、エンコーダネットワーク20から出力された最小の画像特徴マップCMPの画像サイズを段階的に拡大する。そして、段階的に拡大された画像特徴マップCMPと、エンコーダネットワーク20の各階層で出力された画像特徴マップCMPとを結合して、学習用入力画像IILと同じ画像サイズの学習用出力画像OILを生成する。なお、画像特徴マップCMPは、本開示の技術に係る「入力画像に含まれる空間周波数の周波数帯域が異なる特徴」の一例である。
エンコーダネットワーク20には、階層毎に、二次元に配列された複数の画素値をもつ入力データDI(図5参照)が入力される。エンコーダネットワーク20は、各階層において、入力データDIに対して畳み込み処理を行って画像特徴マップCMPを抽出する。エンコーダネットワーク20の第1階層には、入力データDIとして学習用入力画像IILが入力される。第1階層は、学習用入力画像IILに畳み込み処理を行って、例えば、学習用入力画像IILと同じ画像サイズの画像特徴マップCMPを出力する。第2階層以下では、入力データDIとして、上位の各階層で出力された画像特徴マップCMPが入力される。第2階層以下では、画像特徴マップCMPに対して畳み込み処理が行われて、例えば、入力された画像特徴マップCMPと同じ画像サイズの画像特徴マップCMPが出力される。畳み込み処理は、図4において「conv(convolution)」として示す。
図5において、畳み込み処理は、入力データDIに3×3のフィルタFを適用して、入力データDI内の注目画素Ipの画素値eと、注目画素Ipに隣接する8個の画素Isの画素値a、b、c、d、f、g、h、iを畳み込むことにより、入力データDIと同様に、二次元状に画素値が配列された出力データDIcを得る。フィルタFの係数をr、s、t、u、v、w、x、y、zとした場合、注目画素Ipに対する畳み込み演算の結果である、出力データDIcの画素Icpの画素値kは、例えば下記の(式1)を計算することで得られる。
k=az+by+cx+dw+ev+fu+gt+hs+ir・・・(式1)
畳み込み処理では、入力データDIの各画素に対して上記のような畳み込み演算を行い、画素値kを出力する。こうして、二次元状に配列された画素値kをもつ出力データDIcが出力される。出力データDIcは、1個のフィルタFに対して1つ出力される。種類が異なる複数のフィルタFが使用された場合は、フィルタF毎に出力データDIcが出力される。
図6に示すように、出力データDIcは、二次元状に画素値kが配列されたデータであり、幅と高さをもつ。また、種類が異なる複数のフィルタFを適用して、複数の出力データDIcが出力された場合は、画像特徴マップCMPは、複数の出力データDIcの集合になる。画像特徴マップCMPにおいて、フィルタFの数はチャンネル数と呼ばれる。図6に示す画像特徴マップCMPは、4個のフィルタFを適用して出力された4つの出力データDIcを有する、4チャンネルの画像特徴マップCMPの例である。
図7は、こうしたフィルタFを使用した畳み込み処理を、畳み込みニューラルネットワークCNNの概念に当てはめた説明図である。まず、畳み込みニューラルネットワークCNNが、複数のユニットUをもつ入力層および中間層を有しているとする。この場合、入力層の各ユニットUと中間層の各ユニットU同士の結合の強さを示す重みW1、W2、W3、・・・は、フィルタFの係数r~zに相当する。入力層の各ユニットUには、入力データDIの各画素の画素値a、b、c、・・・が入力される。各画素値a、b、c、・・・と重みW1、W2、W3、・・・の積和が、中間層の各ユニットUの出力値となる。この出力値が出力データDIcの画素値kに相当する。モデルMを学習させると、重みW1、W2、W3、・・・に相当するフィルタFの係数r~zが更新される。
図4において、各画像特徴マップCMPの上に示す64、128、256、512、1024の各数字は、各画像特徴マップCMPが有するチャンネル数を示す。そして、第1階層から第5階層にそれぞれ付す括弧付きの1/1、1/2、1/4、1/8、1/16は、最上位の入力画像である学習用入力画像IILの画像サイズを基準とした、各階層で取り扱う画像サイズを示す。
本例のエンコーダネットワーク20の第1階層においては、学習用入力画像IILに対して2回の畳み込み処理が行われる。まず、学習用入力画像IILに対して、64個のフィルタFを適用する畳み込み処理が行われて、64チャンネルの画像特徴マップCMPが出力される。そして、この画像特徴マップCMPに対して、さらに64個のフィルタFを適用する畳み込み処理が行われて、第1階層においては、最終的に64チャンネルの画像特徴マップCMPが出力される。
エンコーダネットワーク20において、第1階層が出力する画像特徴マップCMPの幅と高さである画像サイズは、学習用入力画像IILの画像サイズと同じである。このため、第1階層が取り扱う画像サイズは、学習用入力画像IILと同じ、すなわち等倍を表す1/1である。
エンコーダネットワーク20の第1階層において、2回の畳み込み処理で抽出された画像特徴マップCMPに対して、図4において「pool(pooling)」として示すプーリング処理が行われる。プーリング処理は、画像特徴マップCMPの局所的な統計量を計算して画像特徴マップCMPを圧縮する処理である。局所的な統計量としては、例えば、2×2の画素のブロック内における画素値の最大値または平均値が用いられる。最大値を計算するプーリング処理は最大値プーリング、平均値を計算するプーリング処理は平均値プーリングと呼ばれる。つまり、プーリング処理は、画像特徴マップCMPの各画素の画素値から局所的な代表値を選択して、画像特徴マップCMPの解像度を下げ、画像特徴マップCMPの画像サイズを縮小する処理といえる。例えば、2×2の画素のブロックから代表値を選択するプーリング処理を1画素ずつずらして行うと、画像特徴マップCMPは、元の画像サイズの半分に縮小される。モデルMでは、第1階層において、例えば画像特徴マップCMPの画像サイズを1/2にするプーリング処理が行われる。このため、エンコーダネットワーク20の第2階層においては、学習用入力画像IILを基準として、1/2の画像サイズに縮小された画像特徴マップCMPが、入力データDIとして入力される。
第2階層においては、128個のフィルタFを適用する畳み込み処理が2回行われて、128チャンネルの画像特徴マップCMPが出力される。そして、128チャンネルの画像特徴マップCMPに対して、画像サイズを半分にするプーリング処理が行われる。これにより、第2階層から第3階層には、学習用入力画像IILの画像サイズを基準として、1/4の画像サイズに縮小された128チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
第3階層においては、256個のフィルタFを適用する2回の畳み込み処理が行われて、256チャンネルの画像特徴マップCMPが出力され、256チャンネルの画像特徴マップCMPに対して、画像サイズをさらに半分にするプーリング処理が行われる。これにより、第3階層から第4階層には、学習用入力画像IILを基準として、1/8の画像サイズに縮小された256チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
同様に、第4階層においては、512個のフィルタFを適用する2回の畳み込み処理が行われて、512チャンネルの画像特徴マップCMPが出力され、512チャンネルの画像特徴マップCMPに対して、画像サイズをさらに半分にするプーリング処理が行われる。これにより、第4階層から第5階層には、学習用入力画像IILを基準として、1/16の画像サイズに縮小された512チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
最下位の階層の第5階層においては、1024個のフィルタを適用する2回の畳み込み処理が行われる。ただし、第5階層においては、畳み込み処理で抽出された画像特徴マップCMPに対してはプーリング処理が行われない。
エンコーダネットワーク20においては、各階層に入力される入力データDI(学習用入力画像IILまたは画像特徴マップCMP)は、最上位の第1階層から最下位の第5階層に向かって、画像サイズが段階的に縮小されて解像度が下げられる。本例においては、第1階層に入力される学習用入力画像IILの画像サイズを基準に、第1階層は1/1(等倍)、第2階層は1/2、第3階層は1/4、第4階層は1/8、第5階層は1/16のそれぞれの画像サイズの入力データDIが入力される。
エンコーダネットワーク20の各階層は、階層毎に、解像度が異なる入力データDIに対してフィルタFを適用して畳み込み処理を行う。第1階層では、各階層の入力データDIのうちで最も解像度が高い学習用入力画像IILに対して畳み込み処理が行われる。このため、第1階層で抽出される画像特徴マップCMPは、学習用入力画像IILにおいて最も空間周波数が高い周波数帯域をもつ、最も微細な構造の特徴を表す。第2階層および第3階層では、学習用入力画像IILよりも解像度が下げられた入力データDIに対して畳み込み処理が行われる。このため、第2階層および第3階層で抽出される画像特徴マップCMPは、第1階層と比べて、空間周波数が低い周波数帯域をもつ、中域構造の特徴を表す。第4階層および第5階層では、さらに入力データDIの解像度が下がるため、第4階層および第5階層で抽出される画像特徴マップCMPは、さらに空間周波数が低い周波数帯域をもつ、大域構造の特徴を表す。
エンコーダネットワーク20においては、最上位の第1階層から最下位の第5階層の階層毎に、学習用入力画像IILに含まれる周波数帯域が異なる画像の特徴を出力する。第1階層の1/1から第5階層の1/16までの各画像サイズは、各階層が解析可能な周波数帯域を示す。すなわち、1/1は最も空間周波数が高い周波数帯域を示し、反対に1/16は最も空間周波数が低い周波数帯域を示す。なお、エンコーダネットワーク20において、階層が下るにつれて、フィルタFの数を64、128、256、・・・と増加させる理由は、画像サイズが小さくなる分、フィルタFの数を増やして、学習用入力画像IILに含まれる様々な特徴を抽出するためである。
エンコーダネットワーク20の第1階層から第4階層は、それぞれが抽出した画像特徴マップCMPを、デコーダネットワーク21に対して送信する。この画像特徴マップCMPをエンコーダネットワーク20からデコーダネットワーク21に送信する処理は、スキップレイヤ処理と呼ばれ、図4において「skip」で示す。デコーダネットワーク21の各階層において、ハッチングで示す画像特徴マップCMPが、エンコーダネットワーク20から送信された画像特徴マップCMPである。
デコーダネットワーク21は、アップサンプリング処理とマージ処理とを繰り返す。アップサンプリング処理は、図4において「upsmp(upsampling)」として示す。アップサンプリング処理は、エンコーダネットワーク20から出力された最小の画像サイズの画像特徴マップCMPの画像サイズを段階的に拡大する処理である。マージ処理は、アップサンプリング処理で段階的に拡大された画像特徴マップCMPと、エンコーダネットワーク20において階層毎に出力され、かつ、画像サイズが同じ画像特徴マップCMPとを結合する処理である。デコーダネットワーク21は、これらアップサンプリング処理とマージ処理とにより、学習用入力画像IIL内のクラス毎の領域がセグメンテーションされた学習用出力画像OILを生成する。
デコーダネットワーク21は、エンコーダネットワーク20の各階層と対応する第1階層から第5階層を有する。デコーダネットワーク21の各階層で行われるアップサンプリング処理では、エンコーダネットワーク20の対応する各階層の画像サイズと同じサイズになるように画像特徴マップCMPが拡大される。
また、本例のアップサンプリング処理は、画像サイズを拡大することに加えて、フィルタFを適用する畳み込み処理を伴う。こうした畳み込み処理を伴うアップサンプリング処理は、アップコンボリューション処理と呼ばれる。デコーダネットワーク21の各階層においては、アップコンボリューション処理が終了した後に、マージ処理とさらなる畳み込み処理とが行なわれる。
デコーダネットワーク21の第4階層は、まず、エンコーダネットワーク20の最下位の第5階層から、1/16という最小の画像サイズの画像特徴マップCMPを受け取る。この画像特徴マップCMPのチャンネル数は1024である。デコーダネットワーク21の第4階層は、1/16の画像サイズの画像特徴マップCMPを、2倍の1/8の画像サイズに拡大し、かつ、512個のフィルタFを適用する畳み込み処理を行って、チャンネル数を半分の512個に減らす。
デコーダネットワーク21の第4階層においては、エンコーダネットワーク20の第5階層から受け取った画像特徴マップCMPと、エンコーダネットワーク20の第4階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第4階層において結合される画像特徴マップCMPは、それぞれ1/8の画像サイズで、かつ、512チャンネルである。そのため、第4階層においては、マージ処理によって、1/8の画像サイズで、かつ、1024チャンネル(512+512)の画像特徴マップCMPが生成される。
さらに、第4階層においては、1024チャンネルの画像特徴マップCMPに対して512個のフィルタFを適用する畳み込み処理が2回行われて、1/8の画像サイズで、かつ、512チャンネルの画像特徴マップCMPが生成される。第4階層においては、この1/8の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/4に拡大し、かつ、チャンネル数を半分の256チャンネルにするアップコンボリューション処理が行われる。この結果、第4階層から第3階層に対して、1/4の画像サイズで、かつ、256チャンネルの画像特徴マップCMPが出力される。
デコーダネットワーク21の第3階層においては、第4階層から受け取った画像特徴マップCMPと、エンコーダネットワーク20の第3階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第3階層において結合される画像特徴マップCMPは、それぞれ1/4の画像サイズで、かつ、256チャンネルである。そのため、第3階層においては、マージ処理によって、1/4の画像サイズで、かつ、512チャンネル(256+256)の画像特徴マップCMPが生成される。
さらに、第3階層においては、512チャンネルの画像特徴マップCMPに対して256個のフィルタFを適用する畳み込み処理が2回行われて、1/4の画像サイズで、かつ、256チャンネルの画像特徴マップCMPが生成される。第3階層においては、この1/4の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/2に拡大し、かつ、チャンネル数を半分の128チャンネルにするアップコンボリューション処理が行われる。この結果、第3階層から第2階層に対して、1/2の画像サイズで、かつ、128チャンネルの画像特徴マップCMPが出力される。
デコーダネットワーク21の第2階層においては、第3階層から受け取った画像特徴マップCMPと、エンコーダネットワーク20の第2階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第2階層において結合される画像特徴マップCMPは、それぞれ1/2の画像サイズで、かつ、128チャンネルである。そのため、第2階層においては、マージ処理によって、1/2の画像サイズで、かつ、256チャンネル(128+128)の画像特徴マップCMPが生成される。
さらに、第2階層においては、256チャンネルの画像特徴マップCMPに対して128個のフィルタFを適用する畳み込み処理が2回行われて、1/2の画像サイズで、かつ、128チャンネルの画像特徴マップCMPが生成される。第2階層においては、この1/2の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/1に拡大し、かつ、チャンネル数を半分の64チャンネルにするアップコンボリューション処理が行われる。この結果、最終的に、第2階層から第1階層に対して、1/1の画像サイズで、かつ、64チャンネルの画像特徴マップCMPが出力される。
デコーダネットワーク21の第1階層においては、第2階層から受け取った画像特徴マップCMPと、エンコーダネットワーク20の第1階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第1階層において結合される画像特徴マップCMPは、それぞれ1/1の画像サイズで、かつ、64チャンネルである。そのため、第1階層においては、マージ処理によって、1/1の画像サイズで、かつ、128チャンネル(64+64)の画像特徴マップCMPが生成される。
さらに、第1階層においては、128チャンネルの画像特徴マップCMPに対して64個のフィルタFを適用する畳み込み処理が行われた後、1個のフィルタFを適用する畳み込み処理が行われる。これにより、学習用入力画像IILと同じ1/1の画像サイズの学習用出力画像OILが生成される。
デコーダネットワーク21においては、エンコーダネットワーク20から出力された最小の画像サイズの画像特徴マップCMPの画像サイズを段階的に拡大する。そして、画像特徴マップCMPを拡大しながら、エンコーダネットワーク20において階層毎に抽出された画像特徴マップCMPを結合して学習用出力画像OILを生成する。最小の画像サイズの画像特徴マップCMPは、学習用入力画像IILの最も空間周波数が低い大域構造の特徴を表すものである。デコーダネットワーク21では、この最小の画像サイズの画像特徴マップCMPを拡大することで、大域構造の特徴を拡大しつつ、エンコーダネットワーク20からの画像特徴マップCMPを結合することで、中域構造から微細構造までの特徴を取り込む。
モデルMは、このようなエンコーダネットワーク20とデコーダネットワーク21とを用いることで、学習に際しては、学習用入力画像IILに含まれるクラスを領域毎に区分けした学習用出力画像OILを生成する。
図8において、学習装置10を構成するコンピュータは、ストレージデバイス30、メモリ31、CPU(Central Processing Unit)32、通信部33、ディスプレイ34、および入力デバイス35を備えている。これらはバスライン36を介して相互接続されている。
ストレージデバイス30は、学習装置10を構成するコンピュータに内蔵、またはケーブル、ネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス30は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス30には、オペレーティングシステム等の制御プログラム、各種アプリケーションプログラム、およびこれらのプログラムに付随する各種データ等が記憶されている。なお、ハードディスクドライブに代えてソリッドステートドライブを用いてもよい。
メモリ31は、CPU32が処理を実行するためのワークメモリである。CPU32は、ストレージデバイス30に記憶されたプログラムをメモリ31へロードして、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
通信部33は、ネットワーク12を介した各種情報の伝送制御を行うネットワークインターフェースである。ディスプレイ34は各種画面を表示する。学習装置10を構成するコンピュータは、各種画面を通じて、入力デバイス35からの操作指示の入力を受け付ける。入力デバイス35は、キーボード、マウス、タッチパネル等である。なお、図示は省略したが、運用装置11を構成するコンピュータも、学習装置10を構成するコンピュータと基本的には同じである。
図9において、学習装置10のストレージデバイス30には、作動プログラム40が記憶されている。作動プログラム40は、コンピュータを学習装置10として機能させるためのアプリケーションプログラムである。すなわち、作動プログラム40は、本開示の技術に係る「学習装置の作動プログラム」の一例である。
ストレージデバイス30には、学習用入力画像IILおよびアノテーション画像AIの組で構成される学習データLD、およびモデルMも記憶されている。学習用入力画像IILは、位相差顕微鏡から送信されて記憶したものである。アノテーション画像AIは、学習装置10において学習用入力画像IILから事前に作成して記憶したものである。あるいは、アノテーション画像AIは、学習装置10とは別の装置において作成され、別の装置から送信されて記憶したものでもよい。モデルMもアノテーション画像AIと同様に、学習装置10において作成して記憶したものでもよいし、別の装置において作成され、別の装置から送信されて記憶したものでもよい。
作動プログラム40が起動されると、学習装置10を構成するコンピュータのCPU32は、メモリ31等と協働して、リードライト(以下、RW(Read Write)と略す)制御部45、表示制御部46、受付部47、変更部48、学習部49、評価部50、更新部51、および送信制御部52として機能する。
RW制御部45は、ストレージデバイス30への各種データの記憶、およびストレージデバイス30内の各種データの読み出しを制御する。RW制御部45は、作動プログラム40、学習データLD、モデルM等をストレージデバイス30に記憶する。また、RW制御部45は、ストレージデバイス30から作動プログラム40、学習データLD、モデルM等を読み出す。
RW制御部45は、学習データLDを変更部48に出力する。また、RW制御部45は、変更部48で態様が変更された学習データLDをストレージデバイス30に記憶する。RW制御部45は、学習用入力画像IILを学習部49に、アノテーション画像AIを評価部50にそれぞれ出力する。
RW制御部45は、モデルMを、変更部48、学習部49、更新部51、および送信制御部52のいずれかに出力する。また、RW制御部45は、変更部48で態様が変更されたモデルMをストレージデバイス30に記憶する。さらに、RW制御部45は、更新部51で更新されたモデルMをストレージデバイス30に記憶する。
表示制御部46は、ディスプレイ34への各種画面の表示を制御する。各種画面には指定画面60(図11等参照)が含まれる。指定画面60は、学習用入力画像IILに含まれる空間周波数の複数の周波数帯域のうち、モデルMの学習に必要と推定される必要帯域の指定を受け付けるためのグラフィカルユーザインタフェース(以下、GUI(Graphical User Interface)と略す)で構成される画面である。
受付部47は、指定画面60を通じて必要帯域の指定を受け付ける。受付部47は、必要帯域の指定の内容を示す指定情報SIを生成し、指定情報SIを変更部48に出力する。
変更部48は、モデルMおよび学習データLDのうちの少なくともいずれかを、受付部47において受け付けた指定、すなわち指定情報SIに応じた態様に変更する。変更部48は、態様を変更したモデルMおよび学習データLDのうちの少なくともいずれかを、RW制御部45に出力する。
学習部49は、学習用入力画像IILを学習データLDとしてモデルMに与えて学習させる。これによりモデルMから出力された学習用出力画像OILを、学習部49は評価部50に出力する。
学習部49は、例えばミニバッチデータを用いたミニバッチ学習をモデルMに行わせる。ミニバッチデータは、学習用入力画像IILとアノテーション画像AIとを分割した複数の分割画像(例えば元の画像の1/100のサイズの枠で分割した1万枚の分割画像)のうちの一部(例えば100枚)で構成される。学習部49は、こうしたミニバッチデータを複数組(例えば100組)作成し、各組を順次モデルMに与えて学習させる。
評価部50は、アノテーション画像AIと学習用出力画像OILとを比較し、モデルMのクラスの判別精度を評価する。より詳しくは、評価部50は、損失関数を用いて、モデルMのクラスの判別精度を評価する。損失関数は、アノテーション画像AIと学習用出力画像OILとの差異の程度を表す関数である。損失関数の算出値が0に近いほど、モデルMのクラスの判別精度が高いことを示す。評価部50は、評価結果を更新部51に出力する。
更新部51は、評価部50からの評価結果に応じて、モデルMを更新する。具体的には、更新部51は、学習係数を伴う確率的勾配降下法等により、モデルMの各種フィルタFの係数を変化させる。学習係数は、モデルMの各種フィルタFの係数の変化幅を示す。すなわち、学習係数が比較的大きい値であるほど、各種フィルタFの係数の変化幅は大きくなり、モデルMの更新度合いも大きくなる。
これら学習部49によるモデルMの学習、評価部50によるクラスの判別精度の評価、および更新部51によるモデルMの更新は、クラスの判別精度が予め設定されたレベルとなるまで、繰り返し続けられる。
送信制御部52は、クラスの判別精度が予め設定されたレベルとされたモデルMである学習済みモデルTMを、運用装置11に送信する制御を行う。
図10は、アノテーション画像AIのクラスの領域の指定の仕方のばらつきの例を示す。図10Aは、1つの分化細胞DCが映る学習用入力画像IILの一部を示す。図10Bおよび図10Cは、図10Aと同じ部分のアノテーション画像AIを示す。図10Bに示すアノテーション画像AIにおいては、ハッチングで示すようにほぼ1画素単位で細かく分化細胞DCの領域が指定されており、分化細胞DCの輪郭線に対してほぼ忠実な指定がなされている。対して図10Cに示すアノテーション画像AIにおいては、ハッチングで示すように2画素単位から4画素単位程度で粗く分化細胞DCの領域が指定されており、分化細胞DCの輪郭線からの逸脱が大きい。
アノテーション画像AIのクラスの領域の指定はユーザが手動で行うため、図10Bおよび図10Cで示すようにばらつきが生じる。こうしたアノテーション画像AIのクラスの領域の指定のばらつきは、学習データLDの判別対象のクラスの周波数帯域と、モデルMが解析可能な周波数帯域との不整合を引き起こす原因の1つである。
すなわち、アノテーション画像AIのクラスの領域の指定の仕方が細かい場合は、アノテーション画像AI内においてそのクラスを示す特徴は、周波数帯域が高い。逆に、アノテーション画像AIのクラスの領域の指定の仕方が粗い場合は、アノテーション画像AI内においてそのクラスを示す特徴は、周波数帯域が低い。アノテーション画像AIは、学習用出力画像OILと比較される正解画像である。このため、図10Cに示すアノテーション画像AIのように、判別対象のクラスの周波数帯域が低い場合は、モデルMにおいて細かな微細構造の特徴を抽出しても、クラスの判別精度にはなんら寄与しないという結果になることも考えられる。こうした場合は、与えられた学習データLDに含まれるクラスの判別精度の向上に寄与しない不要な階層が、モデルMに含まれていることになる。
また、モデルMが解析可能な周波数帯域の範囲は有限である。このため、最上位の第1階層に入力される学習用入力画像IILの解像度が高すぎる場合は、最下位の第5階層において、学習用入力画像IILに含まれる、周波数帯域が低い大域構造の特徴が抽出しきれない場合もある。
アノテーション画像AIを自らの手で作成したユーザは、アノテーション画像AIのクラスの領域の指定の仕方が細かいか粗いかは当然ながら把握している。したがって、ユーザは、学習用入力画像IILに含まれる空間周波数の複数の周波数帯域のうち、モデルMの学習に必要と推定される必要帯域も、ある程度把握していると考えられる。そこで、本開示の技術では、必要帯域をユーザに指定させ、モデルMおよび学習データLDのうちの少なくともいずれかを、指定に応じた態様に変更する。
図11において、指定画面60は、アノテーション画像AIを作成した後、モデルMの学習を開始する前に、表示制御部46によりディスプレイ34に表示される。指定画面60には、二点鎖線の枠および符号61で示すように、モデルMの各階層が表示される。また、指定画面60には、二点鎖線の枠および符号62で示すように、各階層のそれぞれに対応する各周波数帯域が表示される。なお、複数の階層61および複数の周波数帯域62は、少なくともいずれかが表示されていればよい。
指定画面60は、必要帯域を指定するための指定バー63を有する。指定バー63は、第1階層および周波数帯域1/1に左端が、第5階層および周波数帯域1/16に右端がそれぞれ配された横棒と、各階層および各周波数帯域の対応する位置に配された縦棒とで構成される。指定バー63の縦棒の下部には、矢印64が表示される。矢印64は、例えば、マウスのカーソルで縦棒をダブルクリックすることで、表示、非表示が切り替わる。矢印64が表示されている周波数帯域は必要帯域として指定される。反対に、矢印64が非表示の周波数帯域は必要帯域として指定されない。この必要帯域として指定されない周波数帯域は、学習において省略可能と推定される省略可能帯域である。なお、指定バー63が、本開示の技術に係る「複数の階層、または複数の階層のそれぞれに対応する複数の周波数帯域の少なくともいずれかを示す指標」の一例である。また、矢印64の表示、非表示を切り替える操作が、本開示の技術に係る「指標に対する指定操作」の一例である。
指定画面60の下部には、階層追加ボタン65、キャンセルボタン66、および適用ボタン67が設けられている。階層追加ボタン65が選択された場合、図12に示すように、新たな階層が追加表示される。この階層の追加表示に伴い、指定バー63の横棒の右端が伸ばされ、かつ縦棒が1つ追加される。図12では、第6階層および周波数帯域1/32が追加された場合を例示している。
キャンセルボタン66が選択された場合、矢印64による必要帯域の指定がキャンセルされ、指定画面60の表示が消される。一方、適用ボタン67が選択された場合、そのときに矢印64が表示されていた周波数帯域が必要帯域として指定され、指定画面60の表示が消される。
図13は、指定画面60における必要帯域の指定の一例を示す。指定画面60によれば、第2階層および周波数帯域1/2と第3階層および周波数帯域1/4と第5階層および周波数帯域1/16に、矢印64が表示されている。一方、第1階層および周波数帯域1/1と第4階層および周波数帯域1/8には、矢印64は表示されていない。この場合、指定情報SIに示すように、第2階層と第3階層と第5階層は、必要帯域に対応する必要階層である。一方、第1階層と第4階層は、省略可能帯域に対応する省略可能階層である。
図13で示した指定情報SIの場合、変更部48は、図14に示すようにモデルMの態様を変更する。具体的には、変更部48は、省略可能帯域に対応する省略可能階層の計算処理量を、必要帯域に対応する必要階層よりも減らす。
図4で示したように、モデルMのエンコーダネットワーク20の各階層においては、畳み込み処理、プーリング処理、およびスキップレイヤ処理を行う。このため、図14の左側の表に示すように、態様を変更する前のモデルM_Bは、第1階層から第5階層までの全ての階層において、畳み込み処理、プーリング処理、およびスキップレイヤ処理を実行する設定となっている。
対して、図14の右側の表に示すように、変更部48は、必要階層である第2階層、第3階層、および第5階層は設定を変更しないが、省略可能階層である第1階層および第4階層については、畳み込み処理およびスキップレイヤ処理を実行せず、プーリング処理のみを実行する設定に変更する。省略可能階層である第1階層および第4階層は、畳み込み処理およびスキップレイヤ処理を実行しないので、必要階層である第2階層、第3階層、および第5階層よりも計算処理量は減る。
図15は、図14の右側の表に示す設定とされた、態様を変更された後のモデルM_Aを示す。図15においては、図4の態様を変更する前のモデルM_Bとの対照を容易にするため、変更部48において設定を変更された処理の部分を二点鎖線の円で示している。詳しくは、エンコーダネットワーク20における第1階層において、畳み込み処理およびスキップレイヤ処理が省略されている。スキップレイヤ処理が省略されることで、デコーダネットワーク21の第1階層では、エンコーダネットワーク20の第1階層から受け取る画像特徴マップCMPがないため、マージ処理も省略される。同様に、第4階層においても、エンコーダネットワーク20における畳み込み処理およびスキップレイヤ処理が省略される結果、デコーダネットワーク21におけるマージ処理も省略される。学習部49は、省略可能階層の計算処理量が必要階層よりも減らされたモデルM_Aを用いて、学習を行う。
図16は、指定画面60における必要帯域の指定の別の例を示す。指定画面60によれば、第6階層および周波数帯域1/32が追加されており、かつ、第1階層および周波数帯域1/1以外に、矢印64が表示されている。この場合、指定情報SIに示すように、第1階層は省略可能階層、第1階層以外の第2階層~第6階層は必要階層である。
図16で示した指定情報SIの場合、変更部48は、図17に示すようにモデルMの態様を変更する。具体的には、変更部48は、学習データLDを構成する画像、すなわち学習用入力画像IILの解像度を下げる。
図17において、モデルMには、周波数帯域1/1の第1階層から周波数帯域1/16の第5階層まではあるが、図16で必要階層として指定された第6階層が存在しない。つまり、吹き出し70に示すように、必要階層がモデルMにない。この場合、変更部48は、学習用入力画像IILの解像度を下げて、画像サイズを1/2とする。これにより、モデルMの第1階層には、1/1の画像サイズの学習用入力画像IILが本来入力されるところ、1/2の画像サイズの学習用入力画像IILが入力される。その結果、モデルMの最下位の第5階層が解析可能な周波数帯域が、1/16から1/32に実質的に変更されることになる。学習部49は、この解像度が下げられた学習用入力画像IILを用いて、学習を行う。
図16および図17の例においては、周波数帯域1/1の第1階層は省略可能階層と指定されている。そのため、学習用入力画像IILの微細構造の特徴の解析は不要である。モデルMでは、解像度が低い学習用入力画像IILの解析からスタートするため、クラスの判別に不要な微細構造の解析が省略される。加えて、モデルMが解析可能な周波数帯域の範囲が予め設定されている場合は、学習用入力画像IILの解像度を下げたことにより、最下位の第5階層において解析可能な周波数帯域が低くなる。その結果、周波数帯域1/32等、より大域構造の特徴の解析が可能となる。
図18は、指定画面60における必要帯域の指定のさらに別の例を示す。指定画面60によれば、第6階層および周波数帯域1/32が追加されている。また、第1階層および周波数帯域1/1と第4階層および周波数帯域1/8以外に、矢印64が表示されている。この場合、指定情報SIに示すように、第1階層と第4階層は省略可能階層、それ以外の第2階層、第3階層、第5階層、第6階層は必要階層である。
図18で示した指定情報SIの場合、変更部48は、学習用入力画像IILの解像度を下げ、かつ、省略可能階層の計算処理量を必要階層よりも減らす。
変更部48は、図17で示した場合と同じく、学習用入力画像IILの解像度を下げて、画像サイズを1/2とする。これにより、図19の左側の表に示すように、モデルM_Bの解析可能な周波数帯域は、第1階層の周波数帯域1/1が1/2、第2階層の周波数帯域1/2が1/4、第3階層の周波数帯域1/4が1/8、第4階層の周波数帯域1/8が1/16、第5階層の周波数帯域1/16が1/32というように、実質的に解析可能な周波数帯域が変更される。
この解析可能な周波数帯域の変更に伴って、図18で示した指定情報SIにおける省略可能階層である第4階層は、モデルM_Bにおいては第3階層に相当する。そのため、変更部48は、図19の右側の表に示すように、第3階層のスキップレイヤ処理を実行しない設定に変更する。こうして第3階層のスキップレイヤ処理を実行しない設定とされたモデルM_Aは、エンコーダネットワーク20における第3階層において、スキップレイヤ処理が省略される。スキップレイヤ処理が省略されることで、デコーダネットワーク21の第3階層におけるマージ処理も省略される。学習部49は、省略可能階層の計算処理量が必要階層よりも減らされたモデルM_A、および解像度が下げられた学習用入力画像IILを用いて学習を行う。
次に、上記構成による作用について、図20のフローチャートを参照して説明する。まず、学習装置10において作動プログラム40が起動されると、図9で示したように、学習装置10を構成するコンピュータのCPU32は、RW制御部45、表示制御部46、受付部47、変更部48、学習部49、評価部50、更新部51、および送信制御部52として機能される。
学習装置10では、表示制御部46により、図11で示した指定画面60がディスプレイ34に表示される(ステップST100)。そして、指定画面60を通じたユーザの必要帯域の指定が、受付部47において受け付けられる(ステップST110)。受付部47では、必要帯域の指定の内容を示す指定情報SIが生成される。指定情報SIは、受付部47から変更部48に出力される。なお、ステップST110は、本開示の技術に係る「受付ステップ」の一例である。
変更部48には、RW制御部45から、ストレージデバイス30の学習データLDおよびモデルMが受け渡される。変更部48では、指定情報SIに応じて、モデルMおよび学習データLDのうちの少なくともいずれかの態様が変更される(ステップST120)。例えば図14で示したように、変更部48により、省略可能階層の計算処理量が必要階層よりも減らされる。また、図17で示したように、学習用入力画像IILの解像度が下げられる。あるいは、図19で示したように、学習用入力画像IILの解像度が下げられ、かつ、省略可能階層の計算処理量が必要階層よりも減らされる。なお、ステップST120は、本開示の技術に係る「変更ステップ」の一例である。
ここで、図示は省略したが、指定情報SIが、モデルMおよび学習データLDのうちの少なくともいずれかの態様を変更すべき内容でない場合は、変更部48は、モデルMおよび学習データLDのうちの少なくともいずれかの態様を変更しない。指定情報SIが、モデルMおよび学習データLDのうちの少なくともいずれかの態様を変更すべき内容でない場合とは、具体的には、第1階層~第5階層の全てが必要階層と指定された場合である。
学習部49により、学習用入力画像IILがモデルMに与えられて学習される(ステップST130)。この際、変更部48により省略可能階層の計算処理量が必要階層よりも減らされたモデルM_A、および変更部48により解像度が下げられた学習用入力画像IILのうちの少なくともいずれかが用いられる。これにより学習用出力画像OILがモデルMから出力される。学習用出力画像OILは、学習部49から評価部50に出力される。
評価部50により、アノテーション画像AIと学習用出力画像OILとが比較され、この比較結果に基づいて、モデルMのクラスの判別精度が評価される(ステップST140)。評価結果は評価部50から更新部51に出力される。
モデルMの判別精度が予め設定されたレベル未満であるという評価結果の内容であった場合(ステップST150でNO)、更新部51によりモデルMが更新される(ステップST160)。そして、更新後のモデルMを用いて、ステップST130、ステップST140が繰り返される。対して、モデルMの判別精度が予め設定されたレベルであるという評価結果の内容であった場合(ステップST150でYES)、ステップST130、ステップST140の繰り返し処理が終了される。判別精度が予め設定されたレベルとされたモデルMは、学習済みモデルTMとして送信制御部52により運用装置11に送信される(ステップST170)。
以上説明したように、本開示の技術では、学習に必要と推定される必要帯域をユーザに指定させ、この必要帯域の指定を受付部47で受け付ける。そして、変更部48により、モデルMおよび学習データLDのうちの少なくともいずれかを、指定に応じた態様に変更する。したがって、クラスの適切な判別と、計算処理の無駄の削減に寄与することが可能となる。
より詳しくは、必要階層がモデルMになかった場合、変更部48により、学習用入力画像IILの解像度が下げられる。このため、モデルMの最下位の階層において周波数帯域が低い大域構造の特徴が抽出しきれないという事態を避けることができる。したがって、学習データLDの判別対象のクラスの周波数帯域と、モデルMが解析可能な周波数帯域とが整合していない場合の、適切なクラスの判別ができないという問題を解決することができる。
また、変更部48により、省略可能階層の計算処理量が必要階層よりも減らされる。このため、学習データLDに含まれるクラスの判別精度の向上に寄与しない不要な階層の計算処理に不必要に注力するという事態を避けることができる。したがって、学習データLDの判別対象のクラスの周波数帯域と、モデルMが解析可能な周波数帯域とが整合していない場合の、計算処理の無駄が多くなるという問題を解決することができる。
なお、変更部48は、図14では、省略可能階層の畳み込み処理およびスキップレイヤ処理を実行しない設定に変更しているが、図19では、スキップレイヤ処理のみを実行しない設定に変更している。このように、省略可能階層の計算処理量を必要階層よりも減らす方法は複数通りあり、どの方法を採用するかは任意である。
表示制御部46の制御の下、ディスプレイ34に指定画面60を表示させ、指定画面60を通じて受付部47にて必要帯域の指定を受け付けるので、ユーザは容易に必要帯域を指定することができる。また、表示制御部46により、複数の階層61および複数の周波数帯域62を示す指標である指定バー63を指定画面60に表示させ、矢印64を介した指定バー63に対する指定操作を通じてなされた必要帯域の指定を、受付部47にて受け付けるので、さらに必要帯域の指定が容易になる。
また、モデルMは、エンコーダネットワーク20とデコーダネットワーク21を有する畳み込みニューラルネットワークCNNで構成される。こうした畳み込みニューラルネットワークCNNは、セマンティックセグメンテーションの信頼性が高く、広く利用されつつある。このため、モデルMとしてこのような畳み込みニューラルネットワークCNNを用いることで、運用装置11において、入力画像IIに対して信頼性の高いセマンティックセグメンテーションを実施することができる。
[第2実施形態]
図21~図25に示す第2実施形態では、学習データLDを構成する画像、すなわちアノテーション画像AIに含まれる周波数帯域を解析し、その解析結果AR(図21等参照)を指定画面85(図25参照)に表示させる。
図21において、第2実施形態の学習装置を構成するコンピュータのCPUは、上記第1実施形態の各処理部45~52(図21では表示制御部46のみ図示)に加えて、解析部80として機能する。解析部80は、アノテーション画像AIに含まれる周波数帯域を解析する。解析部80は、周波数帯域の解析結果ARを表示制御部46に出力する。
図22に示すように、解析部80は、まず、アノテーション画像AIから画像ピラミッドIPMを生成する。次いで、解析部80は、画像ピラミッドIPMを構成するボケ画像BI(図23参照)の差分ΔPを算出する。そして、解析部80は、差分ΔPに基づいて解析結果ARを作成し、表示制御部46に出力する。
図23に示すように、画像ピラミッドIPMは、アノテーション画像AIと、アノテーション画像AIの解像度を段階的に下げた、解像度が異なる複数のボケ画像BIとで構成される。各ボケ画像BIは、例えば、画像を平滑化するガウシアンフィルタを用いて、アノテーション画像AIの解像度を段階的に下げた画像である。こうしたボケ画像BIを含む画像ピラミッドIPMは、ガウシアンピラミッドと呼ばれる。解像度を段階的に下げることにより、各ボケ画像BIの画像サイズは、1/2、1/4、1/8、1/16、・・・と徐々に縮小される。
解析部80は、このような画像ピラミッドIPMを生成した後、隣接する画像サイズの各ボケ画像BIの差分ΔP(ΔP(1/1)、ΔP(1/2)、ΔP(1/4)、ΔP(1/8)、・・・)を算出し、各ボケ画像BIの一致度を評価する。解析部80は、差分ΔPを算出する前処理として、各ボケ画像BIの画像サイズを合わせるために、画像サイズの小さい方のボケ画像BIを、画像サイズの大きい方のボケ画像BIに合わせて拡大する。例えば1/8のボケ画像BIと1/16のボケ画像BIの差分ΔP(1/8)を算出する場合、画像サイズの大きい方の1/8のボケ画像BIに合わせて、画像サイズの小さい方の1/16のボケ画像BIの画像サイズを拡大する。ある1つの差分ΔPは、例えば、2つのボケ画像BIの各画素値の差分の絶対値の合計を、各差分ΔP(1/1)、ΔP(1/2)、ΔP(1/4)、ΔP(1/8)、・・・の比較が可能なように、予め設定された手法によって規格化した値である。
差分ΔPは、アノテーション画像AIに含まれる周波数帯域のそれぞれの空間周波数成分の量を示す。差分ΔPが大きいほど、そのボケ画像BIの画像サイズに対応する周波数帯域の空間周波数成分が多いと評価される。例えば、1/1の画像サイズのアノテーション画像AIと、一旦画像サイズを1/2に縮小して1/1の画像サイズに拡大したボケ画像BIとの差分ΔP(1/1)は、アノテーション画像AIに含まれる周波数帯域のうち、最も高い周波数帯域の空間周波数成分の量を示す。同様に、差分ΔP(1/2)は、差分ΔP(1/1)よりも一段階低い周波数帯域の空間周波数成分の量を示し、差分ΔP(1/4)は、差分ΔP(1/2)よりもさらに一段階低い周波数帯域の空間周波数成分の量を示す。このように、各差分ΔP(1/1)、ΔP(1/2)、ΔP(1/4)、ΔP(1/8)、・・・を算出することで、アノテーション画像AIにどのような周波数帯域が含まれており、相対的に量が多い周波数帯域はどの帯域であるかを把握することができる。
図24に示すように、解析部80は、差分ΔPと予め設定された閾値Thとを比較する。解析部80は、差分ΔPが閾値Th以上の周波数帯域を、必要帯域の候補(以下、必要帯域候補)とし、差分ΔPが閾値Th未満の周波数帯域を、省略可能帯域の候補(以下、省略可能帯域候補)とする。図24では、差分ΔP(1/1)、ΔP(1/8)が閾値Th未満で、周波数帯域1/1、1/16が省略可能帯域候補とされた例を示している。
図25において、第2実施形態の指定画面85の指定バー63の横棒には、強調枠86が表示される。強調枠86は、必要帯域候補に対応する横棒に表示され、省略可能帯域候補に対応する横棒には表示されない。この強調枠86によって、解析結果ARを指定画面60に表示させていることになる。また、強調枠86によって、複数の階層61および複数の周波数帯域62を示す指標である指定バー63に、解析結果ARを重畳表示させていることになる。
このように、第2実施形態では、アノテーション画像AIに含まれる周波数帯域を解析し、その解析結果ARを指定画面85に表示させるので、解析結果ARを必要帯域の指定の参考にすることができ、より妥当な必要帯域の指定に貢献することができる。また、指定バー63に解析結果ARを重畳表示させるので、ユーザは、どの周波数帯域を必要帯域として指定するのが妥当であるかが一目で分かる。
なお、解析結果ARの表示方法は、例示した強調枠86に限らない。必要帯域候補に対応する矢印64は黒く塗り潰し、省略可能帯域候補に対応する矢印64は白抜きにする等、矢印64の表示形態を変更することで、解析結果ARを表示してもよい。あるいは、指定バー63に解析結果ARを重畳表示させるのではなく、解析結果ARを示す表を表示させてもよい。
[第3実施形態]
図26および図27に示す第3実施形態では、複数の階層61および複数の周波数帯域62を示す指標である指定バー63_1~63_4をクラス1~4毎に表示させ、クラス1~4毎に必要帯域の指定を受け付ける。
図26において、第3実施形態の指定画面90は、指定バー63_1、63_2、63_3、63_4を有する。指定バー63_1は、クラス1の分化細胞DCの必要帯域を指定するためのGUIであり、指定バー63_2は、クラス2の未分化細胞UDCの必要帯域を指定するためのGUIである。また、指定バー63_3は、クラス3の死細胞DDCの必要帯域を指定するためのGUIであり、指定バー63_4は、クラス4の培地の必要帯域を指定するためのGUIである。各指定バー63_1~63_4の縦棒の下部には、上記各実施形態の指定画面60、85と同じく、矢印64が表示される。指定画面90では、上記各実施形態の指定画面60、85と同じく、矢印64の表示、非表示を切り替えることで、必要帯域と省略可能帯域の指定が行われる。
図27は、指定画面90における必要帯域の指定の一例を示す。指定画面90によれば、指定バー63_1~63_4の全てにおいて、第1階層および周波数帯域1/1に矢印64が表示されていない。その他の階層および周波数帯域には、指定バー63_1~63_4のいずれかに矢印64が表示されている。この場合、指定情報SIに示すように、第1階層は省略可能階層で、その他の階層は必要階層である。
このように、第3実施形態では、複数の階層61および複数の周波数帯域62を示す指標である指定バー63_1~63_4クラス1~4毎に表示させ、クラス1~4毎に必要帯域の指定を受け付けるので、より詳細な必要帯域の指定が可能となる。アノテーション画像AIにおけるクラスの領域の指定の仕方が、クラスによって異なる場合にも対応することができる。
[第4実施形態]
図28および図29に示す第4実施形態では、上記第2実施形態と上記第3実施形態を複合して実施する。具体的には、学習データLDを構成する画像、すなわちアノテーション画像AIに含まれる周波数帯域をクラス1~4毎に解析し、その解析結果ARを指定画面105(図29参照)に表示させる。また、複数の階層61および複数の周波数帯域62を示す指標である指定バー63_1~63_4をクラス1~4毎に表示させ、クラス1~4毎に必要帯域の指定を受け付ける。
図28において、第4実施形態の解析部100は、アノテーション画像AIに含まれる周波数帯域をクラス1~4毎に解析する。解析部100は、上記第2実施形態で説明した画像ピラミッドIPMを用いた手法と同じ手法で、各クラス1~4の各周波数帯域について、必要帯域候補であるか省略可能帯域候補であるかを解析する。このため、解析結果ARは、クラス1~4毎に、各周波数帯域が必要帯域候補であるか省略可能帯域候補であるかを示すものとなる。なお、図28では、必要帯域候補を「必要」、省略可能帯域を「省略可能」とそれぞれ略記している。続く図29も同じである。
図29において、第4実施形態の指定画面105は、上記第3実施形態の指定画面90と同じく、指定バー63_1、63_2、63_3、63_4を有する。また、指定画面105の各指定バー63_1~63_4の、必要帯域候補に対応する横棒には、上記第2実施形態の指定画面85と同じく、強調枠86が表示される。この強調枠86によって、解析結果ARをクラス1~4毎に指定画面60に表示させていることになる。また、強調枠86によって、複数の階層61および複数の周波数帯域62を示す指標である指定バー63_1~63_4に、解析結果ARを重畳表示させていることになる。
このように、第4実施形態では、アノテーション画像AIに含まれる周波数帯域をクラス1~4毎に解析し、その解析結果ARを指定画面105に表示させるので、上記第2実施形態と同じく、解析結果ARを必要帯域の指定の参考にすることができ、より妥当な必要帯域の指定に貢献することができる。また、指定バー63_1~63_4に解析結果ARを重畳表示させるので、ユーザは、どの周波数帯域を必要帯域として指定するのが妥当であるかが一目で分かる。
さらに、第4実施形態では、複数の階層61および複数の周波数帯域62を示す指標である指定バー63_1~63_4をクラス1~4毎に表示させ、クラス1~4毎に必要帯域の指定を受け付けるので、上記第3実施形態と同じく、より詳細な必要帯域の指定が可能となる。アノテーション画像AIにおけるクラスの領域の指定の仕方が、クラスによって異なる場合にも対応することができる。
図4等で示したモデルMは一例であり、フィルタFのサイズ(図5の例では3×3)、フィルタFの枚数(チャンネル数)、各階層の画像サイズの縮小率、階層の数等は適宜変更が可能である。また、畳み込み処理の前後において画像特徴マップCMPの画像サイズが同じになるように処理しているが、畳み込み処理の後、画像特徴マップCMPの画像サイズが僅かに小さくなるようにしてもよい。また、図4等で示した例では、エンコーダネットワーク20とデコーダネットワーク21の同じ階層において、画像サイズを完全に一致させているが、完全に一致させなくてもよい。例えば、エンコーダネットワーク20とデコーダネットワーク21の同一階層を比較した場合、デコーダネットワーク20の画像サイズが僅かに小さくなるようにしてもよい。
上記各実施形態では、指定画面60等を通じて必要帯域の指定を受け付けているが、これに限定されない。音声入力により必要帯域の指定を受け付けてもよい。
上記各実施形態では、矢印64が表示されている周波数帯域を必要帯域として指定し、矢印64が非表示の周波数帯域を省略可能帯域として指定しているが、逆に、矢印64が表示されている周波数帯域を省略可能帯域として指定し、矢印64が非表示の周波数帯域を必要帯域として指定してもよい。また、必要帯域を指定する矢印64と省略可能帯域を指定する矢印64を別々にする等、必要帯域と省略可能帯域の両方の指定を受け付けてもよい。要するに、必要帯域および省略可能帯域のうちの少なくともいずれかの指定を受け付ければよい。
上記各実施形態では、入力画像IIおよび学習用入力画像IILとして、培養中の複数の細胞を撮影した細胞画像を例示し、クラスとして分化細胞、培地等を例示したが、これに限定されない。例えばMRI(Magnetic Resonance Imaging)画像を入力画像IIおよび学習用入力画像IILとし、肝臓、腎臓といった臓器をクラスとしてもよい。また、モデルMはU-Netに限らず、他の畳み込みニューラルネットワーク、例えばSegNetでもよい。
機械学習システム2を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、学習装置10と運用装置11とを統合して、1台のコンピュータで構成してもよい。また、学習装置10および運用装置11のうちの少なくともいずれかを、処理能力および信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。例えば、学習装置10のRW制御部45、表示制御部46、受付部47、および変更部48の機能と、学習部49、評価部50、更新部51、および送信制御部52の機能とを、2台のコンピュータに分散して担わせる。この場合は2台のコンピュータで学習装置10を構成する。
このように、機械学習システム2のコンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム40等のアプリケーションプログラムについても、安全性および信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
上記各実施形態において、例えば、RW制御部45、表示制御部46、受付部47、変更部48、学習部49、評価部50、更新部51、送信制御部52、解析部80、100といった各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。各種のプロセッサには、上述したように、ソフトウェア(作動プログラム40)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU32に加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、および/または、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントおよびサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
以上の記載から、以下の付記項1に記載の発明を把握することができる。
[付記項1]
入力画像を解析する複数の階層を有する機械学習モデルであって、前記階層毎に、前記入力画像に含まれる空間周波数の周波数帯域が異なる特徴を抽出することにより、前記入力画像に含まれる複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、学習データを与えて学習させる学習装置であり、
複数の前記周波数帯域のうち、前記学習に必要と推定される必要帯域、および前記学習において省略可能と推定される省略可能帯域のうちの少なくともいずれかの指定を受け付ける受付プロセッサと、
前記機械学習モデルおよび前記学習データのうちの少なくともいずれかを、前記受付プロセッサにおいて受け付けた前記指定に応じた態様に変更する変更プロセッサと、
を備える学習装置。
本開示の技術は、上述の種々の実施形態と種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。
以上に示した記載内容および図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、および効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、および効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容および図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことはいうまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容および図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
本明細書において、「Aおよび/またはB」は、「AおよびBのうちの少なくとも1つ」と同義である。つまり、「Aおよび/またはB」は、Aだけであってもよいし、Bだけであってもよいし、AおよびBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「および/または」で結び付けて表現する場合も、「Aおよび/またはB」と同様の考え方が適用される。
本明細書に記載された全ての文献、特許出願および技術規格は、個々の文献、特許出願および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。