(57)【特許請求の範囲】
【請求項１】
断層画像のボリュームデータと前記ボリュームデータにおける領域のラベリングとを含む学習データの入力を受け付ける学習データ入力部と、
前記学習データ入力部が入力を受け付けた学習データを分割することで、分割学習データを作成する分割部と、
前記分割部の作成した分割学習データと前記学習データとから、学習対象から除外する領域である学習除外対象領域を判別する学習除外対象領域判別部と、
前記分割部の作成した分割学習データに基づいて、前記学習除外対象領域判別部が判別した学習除外対象領域以外の領域のラベリングを機械学習する機械学習部と、
を備える機械学習装置。
【請求項２】
前記学習除外対象領域判別部は、前記分割部の作成した分割学習データでラベリングされた領域の体積と前記学習データでラベリングされた領域の体積とを比較し、前記体積が閾値以下となるか否かに応じて学習除外対象領域を判別する請求項１に記載の機械学習装置。
【請求項３】
前記学習除外対象領域判別部が判別した学習除外対象領域以外の検出精度を算出する検出精度算出部を備え、
前記機械学習部は、前記分割部の作成した分割学習データと前記検出精度算出部が算出した検出精度とに基づいて、前記学習除外対象領域以外の領域のラベリングを機械学習する請求項１または２に記載の機械学習装置。
【請求項４】
前記検出精度算出部は、各領域の予測ラベルと正解ラベルとの間のIoU(Intersection over Union)の平均に基づいて検出精度を算出する請求項３に記載の機械学習装置。
【請求項５】
前記分割部は、前記学習除外対象領域の全体が含まれるよう前記学習データを再分割する請求項１〜４のいずれか１項に記載の機械学習装置。
【請求項６】
前記分割部は、互いに重なりを有する分割学習データを作成する請求項１〜５のいずれか１項に記載の機械学習装置。
【請求項７】
前記断層画像は３次元医用断層画像であり、前記領域は臓器を含む請求項１〜６のいずれか１項に記載の機械学習装置。
【請求項８】
コンピュータが、
断層画像のボリュームデータと前記ボリュームデータにおける領域のラベリングとを含む学習データの入力を受け付けるステップと、
前記学習データを分割することで、分割学習データを作成するステップと、
前記分割学習データと前記学習データとから、学習対象から除外する領域である学習除外対象領域を判別するステップと、
前記分割学習データに基づいて、前記学習除外対象領域以外の領域のラベリングを機械学習するステップと、
を実行する機械学習方法。
【請求項９】
請求項８に記載の機械学習方法をコンピュータに実行させるための機械学習プログラム。
【請求項１０】
非一時的かつコンピュータ読取可能な記録媒体であって、前記記録媒体に格納された指令がコンピュータによって読み取られた場合に請求項９に記載の機械学習プログラムをコンピュータに実行させる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習装置および方法に関し、特に、画像の構造の分類（セグメンテーション）を行う機械学習済みモデルを構築するための機械学習装置および方法に関する。
【背景技術】
【０００２】
従来、ＣＴ（Computed Tomography）画像など３次元の医用画像データ（ボリュームデータ）から、特定の臓器の解剖学的な特徴点を機械学習で検出することによって、ボリュームデータに含まれる臓器を検出する技術が存在する。【０００３】
例えば特許文献１では、教師あり機械学習アルゴリズムを用いて、ボリュームデータに含まれる解剖学的な特徴点を抽出し、身体における解剖学的な特徴点の３次元的な位置関係を示すモデルと、抽出した特徴点とを比較することで、抽出した特徴点を最適化して、部位検出を行う。また、１つの絶対位置において、複数の臓器が描出される場合、１枚のＣＴ画像に複数部位の位置情報を付与する。これにより、例えば、ＣＴ画像をシリーズに分割する場合、位置情報に基づいて部位ごとにＣＴ画像をシリーズに分割することが可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2017-202321号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、機械学習などによって、ボリュームデータから複数の臓器を同時に抽出する判別器の開発が行われ始めている。すなわち、判別器にボリュームデータを入力すると、そのボリュームデータを構成するボクセルのそれぞれに、「胃」、「肺」、「気管支」、「肝臓」、「肝臓門脈」などのラベルが付いたデータが出力される。このような同時ラベリングの機能は、多種多様なアプリケーションの前処理として有用である。【０００６】
このような同時に２以上の臓器のラベル付けをする判別器は、元のボリュームデータとそのボリュームデータに含まれる各臓器のボクセルを医師などが手動でラベリングしたもののセットを正解データとして多数準備し、それらを機械学習させることで学習済みモデルが完成する。【０００７】
ここで、学習用のボリュームデータは容量が非常に大きく、機械学習で使うメモリサイズの都合上、分割されて機械学習処理に入力される場合がある。【０００８】
３次元ＣＴ画像データの場合は、アキシャル方向について、メモリサイズの制限内のある枚数でデータが分割される。この分割されたデータが学習用のデータである。ここで、分割されたデータが、ラベルを付けた臓器の一部しか含んでいないような場合、機械学習に悪影響を及ぼす可能性がある。【０００９】
本発明はこのような問題点に鑑みてなされたもので、学習用のボリュームデータから機械学習に適した分割データを用意することの可能な機械学習装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１態様に係る機械学習装置は、断層画像のボリュームデータとボリュームデータにおける領域のラベリングとを含む学習データの入力を受け付ける学習データ入力部と、学習データ入力部が入力を受け付けた学習データを分割することで、分割学習データを作成する分割部と、分割部の作成した分割学習データと学習データとから、学習対象から除外する領域である学習除外対象領域を判別する学習除外対象領域判別部と、分割部の作成した分割学習データに基づいて、学習除外対象領域判別部が判別した学習除外対象領域以外の領域のラベリングを機械学習する機械学習部と、を備える。【００１１】
本発明の第２態様に係る機械学習装置において、学習除外対象領域判別部は、分割部の作成した分割学習データでラベリングされた領域の体積と学習データでラベリングされた領域の体積とを比較し、体積が閾値以下となるか否かに応じて学習除外対象領域を判別する。【００１２】
本発明の第３態様に係る機械学習装置は、学習除外対象領域判別部が判別した学習除外対象領域以外の検出精度を算出する検出精度算出部を備え、機械学習部は、分割部の作成した分割学習データと検出精度算出部が算出した検出精度とに基づいて、学習除外対象領域以外の領域のラベリングを機械学習する。【００１３】
本発明の第４態様に係る機械学習装置において、検出精度算出部は、各領域の予測ラベルと正解ラベルとの間のIoU(Intersection over Union)の平均に基づいて検出精度を算出する。【００１４】
本発明の第５態様に係る機械学習装置において、分割部は、学習除外対象領域の全体が含まれるよう学習データを再分割する。【００１５】
本発明の第６態様に係る機械学習装置において、分割部は、互いに重なりを有する分割学習データを作成する。【００１６】
本発明の第７態様に係る機械学習装置において、断層画像は３次元医用断層画像であり、領域は臓器を含む。【００１７】
本発明の第８態様に係る機械学習方法では、コンピュータが、断層画像のボリュームデータとボリュームデータにおける領域のラベリングとを含む学習データの入力を受け付けるステップと、学習データを分割することで、分割学習データを作成するステップと、分割学習データと学習データとから、学習対象から除外する領域である学習除外対象領域を判別するステップと、分割学習データに基づいて、学習除外対象領域以外の領域のラベリングを機械学習するステップと、を実行する。【００１８】
上記の機械学習方法をコンピュータに実行させるための機械学習プログラムおよび上記の機械学習プログラムによって機械学習された機械学習済みモデルも本発明に含まれる。
【発明の効果】
【００１９】
この発明によると、分割学習データから学習除外対象領域を判別し、学習除外対象領域以外の領域のラベリングを機械学習するため、臓器の一部しか含まないような分割データからも、精度の高い機械学習を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】機械学習装置の概略構成図
【図２】分割学習データの概念説明図
【図３】臓器のラベリング領域が切り取られた分割正解データの概念説明図
【図４】分割学習データDjごとに行われるバックプロパゲーションの概念説明図
【図５】機械学習処理のフローチャート
【図６】学習データの再分割の概念説明図
【発明を実施するための形態】
【００２１】
図１は本発明の好ましい実施形態に係る機械学習装置１の概略構成図である。機械学習装置１は、元学習データ入力部１１、元学習データ分割部１２、学習除外対象判別部１３、分割学習データ出力部１４、機械学習部１５を備える。機械学習装置１は、ＧＰＵ（Graphics Processing Unit）などのプロセッサを備えるコンピュータで構成され、上記の各部は、プロセッサで実行されるプログラムにより実現される。機械学習装置１はニューラルネットワーク１６を含んでいてもよいし、含んでいなくてもよい。
【００２２】
元学習データ入力部１１は、多数のアキシャル断層画像（マルチスライス画像）からなるボリュームデータＶと、そのボリュームデータに含まれる各ボクセルに対し、医師などが手動で、「肺」、「気管支」、「血管」、「空気充填パターン」「その他（バックグラウンド）」などの正解のラベルを付すこと（ラベリング）で、画像内の各画素が解剖学的構造の種類（クラス）に分類された正解(Ground Truth)マスクＧとの組（元学習データ）の入力を受け付ける。
【００２３】
元学習データ分割部１２は、元学習データ入力部１１が入力を受け付けた元学習データを、予め決められた単位でアキシャル方向に分割（クロップ）することで、分割ボリュームデータＶ１、Ｖ２、Ｖ３・・、ＶＮと分割正解マスクＧ１、Ｇ２、Ｇ３・・、ＧＮとの組からなるＮ個の分割学習データＤ１、Ｄ２、Ｄ３・・、ＤＮを作成する（図２参照）。この分割学習データＤ１、Ｄ２、Ｄ３・・の分割単位は、ニューラルネットワーク１６のメモリや演算装置などのハードウェア上の制限に依存する。すなわち、ニューラルネットワーク１６が一度に受け入れ可能なデータ量に依存する。
【００２４】
異なる２つの分割学習データは、互いに重複する部分を含んでもよい。また、アキシャル方向だけでなくサジタル方向やコロナル方向に元学習データを分割してもよい。
【００２５】
学習除外対象判別部１３は、ボリュームデータＶから、各臓器Oi(iは１以上の整数)の全体の体積Viを算出するとともに、分割正解マスクGjに含まれるn(j)個の臓器O(j, i)（i=1〜n(j)）ごとの体積V(j, i)を算出する。O(j, i)はOiと同一の臓器のラベルが付与されている。ただし、分割の位置によっては、O(j, i)とOiとが完全に一致するとは限らない。
【００２６】
例えば図３に示すように、分割正解マスクG1で「肝臓」のラベルの付された臓器O(1,1)は、正解マスクＧで「肝臓」のラベルの付された臓器O1の一部が切り取られたような形となっている。
【００２７】
学習除外対象判別部１３は、分割正解マスクGjにおける臓器O(j, i)と正解マスクＧにおける臓器Oiとの間の体積比A(j, i)=V(j, i)/Vi(<1)を算出する。
【００２８】
学習除外対象判別部１３は、分割正解マスクGjにおける臓器Oiの体積比A(j, i)=V(j, i)/Viに基づいて、分割学習データDjに、臓器Oiの全体が含まれているか、または臓器Oiの一部のみが含まれているかを判別する。
【００２９】
具体的には、学習除外対象判別部１３は、A(j, i)が所定の閾値Th（例えばTh=0.9等、実質的に1かその近傍の値）を下回るか否かを判別する。学習除外対象判別部１３は、A(k,i)<Thとなる添え字kを有する分割学習データDkを、臓器Oiの学習除外対象と判別する。以下、分割学習データDkにおいてA(k,i)<Thとなる臓器Oiを、O(k,i)で表す。
【００３０】
なお、体積比の代わりに、サジタル方向またはコロナル方向の分割学習データDjから、Djに含まれる臓器Oiの面積比を算出し、この面積比に基づいて、分割学習データに臓器Oiの一部のみが含まれているか否かを判別してもよい。
【００３１】
分割学習データ出力部１４は、学習除外対象判別部１３による判別を経た分割学習データDjを、機械学習部１５に出力する。
【００３２】
機械学習部１５は、分割学習データ出力部１４から出力された分割学習データDjに基づいて、ニューラルネットワーク１６に機械学習を行わせる。
【００３３】
ニューラルネットワーク１６は畳み込みニューラルネットワーク（CNN: Convolutional Neural Network）などによって構成される多層の分類器である。
【００３４】
機械学習部１５によるニューラルネットワーク１６の機械学習はバックプロパゲーション（誤差伝播法）を用いる。バックプロパゲーションは、入力データに対しての教師データを、ニューラルネットワーク１６から得られる実際の出力データと照らし合わせ、その誤差を基に各結合荷重を出力層側から入力層側へ変化させていく手法である。
【００３５】
具体的には、図４に示すように、まずニューラルネットワーク１６は、何らかの機械学習により得られた学習済みモデルに従って、分割学習データDjに含まれる分割ボリュームデータVjの各ボクセル（２次元データの場合はピクセル）に、「肺」、「気管支」、「血管」、「空気充填パターン」、「その他（バックグラウンド）」などのラベルを付すことで、分割ボリュームデータVj内の構造物を分類する。これにより、分割学習データDjごとに、各臓器のラベリングを付したボクセルの集合である予測マスクPjが得られる。
【００３６】
機械学習部１５は、分割正解マスクGjを教師データとして予測マスクPjと照らし合わせ、それらの誤差を基に、ニューラルネットワーク１６のバックプロパゲーションを行う。つまり、ニューラルネットワーク１６のバックプロパゲーションは、分割学習データDjごとに行われる。
【００３７】
ただし、機械学習部１５は、分割学習データDkに対応する予測マスクPkに学習除外対象の臓器O(k,i)が含まれる場合、臓器O(k,i)のラベリングのバックプロパゲーションは行わない。以下ではこの詳細を説明する。
【００３８】
図５は分割学習データDjを用いた機械学習処理のフローチャートである。この機械学習処理を機械学習装置１のプロセッサに実行させるためのプログラムは、機械学習装置１のＲＡＭ（Random Access Memory）などのコンピュータ読取可能な有形記憶媒体に記憶されている。このプログラムが格納される媒体は、ハードディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、各種半導体メモリ等の、非一時的かつコンピュータ読取可能な記録媒体であってもよい。
【００３９】
まず、Ｓ１（分割学習データ作成ステップ）において、元学習データ分割部１２は、元学習データ入力部１１が受け付けた元学習データから、Ｎ個の分割学習データＤ１、Ｄ２・・、ＤＮを作成する。Ｎは２以上の整数である。なお図２はＮ＝４の場合を示している。学習データの分割の単位はメモリ容量やＧＰＵの処理能力に依存し、分割学習データが処理できる最大の量未満の任意量を分割の単位とする。
【００４０】
Ｓ２（体積算出ステップ）において、学習除外対象判別部１３は、分割正解マスクGjと正解マスクＧとから、各臓器O(j, i)の体積比A(j, i)=V(j, i)/Viを算出する。
【００４１】
Ｓ３（除外対象特定ステップ）において、学習除外対象判別部１３は、A(j, i)が所定の閾値Th未満であるか否かを判断する。学習除外対象判別部１３は、j=kの場合、A(k,i)<Thとなるのであれば、分割学習データDkにおける学習除外対象は臓器O(k,i)であると判別する。
【００４２】
Ｓ４（予測マスク作成ステップ）において、ニューラルネットワーク１６は、分割学習データDjの分割ボリュームデータVjを入力し、n(j)個の各臓器O(j, i)の予測マスクPjを作成する。ここで、j=1,2,…,Nである。
【００４３】
Ｓ５（損失算出ステップ）では、機械学習部１５は、予測マスクPjにおける各臓器O(j, i)の検出精度を、損失関数Lossを用いて算出する。ただし、j=kの場合、臓器O(k,i)の検出精度は算出しないものとする。すなわち、予測マスクPkにおいて、体積比が一定程度小さい臓器O(k,i)の検出精度は無視する。
【００４４】
具体的には、予測マスクPjにおいて、学習除外対象である臓器O(k,i)を除く、n(j)種類の臓器O(j, i)ごとの検出精度acc(j, i)を算出し、その平均値を分割学習データDjに対応する損失関数Loss(j)とする。
【００４５】
Loss(j)=Avg(acc(j, i)) (i=1,2,..,n(j)、ただしi≠n(k)。またacc(k,i)=0とする)  acc(j,i)は、予測マスクPjにおける各臓器O(j, i)のIoU(Intersection over Union)である。すなわちIoUは、予測マスクPjにおける臓器O(j, i)の集合Pr(i)と、分割正解マスクGjにおける臓器O(j, i)の集合Htとの和集合(union)のボクセル数で、Pr(i)とHtとの積集合(intersection)のボクセル数を割った値である。分割ボリュームデータVjで各臓器O(j, i)の検出精度が上がるほどacc(j,i)は１に近づく。ただし、検出精度が低い臓器が多ければ、他の臓器の検出精度が高くても損失関数Lossは１に近づかない。もっとも、体積比が閾値未満の臓器の検出精度については、そもそも損失関数Lossの値に反映されない。
【００４６】
なお検出精度の算出式は上記に限られない。一般的には、
【００４７】
【数１】
0006952185.tif 000002
【００４８】
で表すことができる。f1は
【００４９】
【数２】
0006952185.tif 000003
【００５０】
をパラメータとする関数、f2は
【００５１】
【数３】
0006952185.tif 000004
【００５２】
をパラメータとする関数である。例えば、このIoUを定数倍（１００倍など）した値や、Dice係数をacc(i)としてもよい。
【００５３】
Ｓ６（バックプロパゲーションステップ）では、機械学習部１５は、損失関数Lossに応じて、ニューラルネットワーク１６の各結合荷重を出力層側から入力層側へ変化させていく。
【００５４】
Ｓ７（分割学習データ作成ステップ）では、元学習データ分割部１２は、分割学習データDkを再作成する。この際、元学習データ分割部１２は、臓器O(k,i)の全体が分割学習データDkに含まれるように、元学習データを分割しなおす。ただしこの再分割の単位もハードウェア資源上の制約を受ける。そして、処理はＳ２に戻り、分割学習データDkについて、臓器O(k,i)を含む各臓器の予測マスクPkが作成される。
【００５５】
図６は分割学習データDkの再作成の一例である。ここでは、一旦作成された分割学習データD2が、アキシャル（体軸）方向に沿った頭部に向けてシフトされる。こうすれば、学習除外対象の臓器O(k,i)についても、シフト後の分割学習データD2に基づいて、精度の高い機械学習が可能となる。なお上記のＳ２〜Ｓ７は任意の回数繰り返すことができる。したがって、どの臓器Oiもいずれかの分割学習データに含まれるように分割をやり直し、さらに、分割の都度損失関数に基づいたバックプロパゲーションをすればよい。
【００５６】
従って、どの臓器もその体積に関係なく検出精度を高めるバックプロパゲーションを行うことができる。ただし、分割学習データに、臓器の体積が閾値よりも小さいものが含まれていれば、その臓器の検出精度は損失関数に反映されない。このため、元学習データが分割されることで切り取られた臓器の一部の検出精度が損失関数に反映され、バックプロパゲーションに悪影響を与えることを防ぐことができる。
【００５７】
また、学習データの分割で切り取られた臓器については、学習データの再分割により、検出精度の算出およびバックプロパゲーションの対象とすることができる。
【符号の説明】
【００５８】
１  機械学習装置
１１  元学習データ入力部
１２  元学習データ分割部
１３  学習除外対象判別部
１４  分割学習データ出力部
１５  機械学習部
１６  ニューラルネットワーク
【図１】
0006952185.tif 000005
【図２】
0006952185.tif 000006
【図３】
0006952185.tif 000007
【図４】
0006952185.tif 000008
【図５】
0006952185.tif 000009
【図６】
0006952185.tif 000010