(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-17
(45)【発行日】2023-08-25
(54)【発明の名称】学習プログラム、学習方法、及び情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20230818BHJP
G06T 7/215 20170101ALI20230818BHJP
【FI】
G06T7/00 350C
G06T7/215
G06T7/00 616
(21)【出願番号】P 2020014105
(22)【出願日】2020-01-30
【審査請求日】2022-08-01
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(73)【特許権者】
【識別番号】503359821
【氏名又は名称】国立研究開発法人理化学研究所
(73)【特許権者】
【識別番号】510097747
【氏名又は名称】国立研究開発法人国立がん研究センター
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100092978
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【氏名又は名称】横田 功
(72)【発明者】
【氏名】酒井 彬
(72)【発明者】
【氏名】小松 正明
(72)【発明者】
【氏名】同前 愛
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2019-177032(JP,A)
【文献】特表2021-524973(JP,A)
【文献】成田 穂,VAEを用いた金星の地形固定構造の検出,SSII2019 [USB] ,日本,画像センシング技術研究会,2019年
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/215
(57)【特許請求の範囲】
【請求項1】
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得し、
前記訓練データを用いた学習処理を実行する、
処理をコンピュータに実行させ、
前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を画像に対するセグメンテーション処理を行なうニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
処理を前記コンピュータに実行させる、学習プログラム。
【請求項2】
前記学習処理において、前記対象物を撮影した画像とは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する前記学習済みモデルに前記第1フレーム画像を入力して得られた前記第1フレーム画像全体に関する特徴量を、前記自己符号化器の中間層に入力する、
処理を前記コンピュータに実行させる、請求項1に記載の学習プログラム。
【請求項3】
前記複数のフレーム画像に含まれる前記対象物は、前記対象物を撮影した複数の画像を含むデータセットを用いて生成された、入力画像に含まれる前記対象物の領域を特定する学習済み物体検知モデルを用いて検出される、
請求項1又は請求項2に記載の学習プログラム。
【請求項4】
推定対象物を撮影した対象動画データを含む対象データを取得し、
前記対象動画データに含まれる複数の対象フレーム画像のそれぞれに含まれる推定対象物を検出し、
前記対象動画データの時系列における第3フレーム画像の前後所定枚数の第4フレーム画像におけるそれぞれ検出された前記推定対象物及び前記推定対象物の周辺領域を含む複数の部分画像、を合成した合成画像を、前記パラメータ更新により訓練済みの前記自己符号化器に入力し、
前記第3フレーム画像における検出された前記推定対象物及び前記推定対象物の周辺領域を含む部分画像を、前記パラメータ更新により訓練済みの前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第3フレーム画像における前記部分画像が切り出された位置を示す位置情報とに基づいて、前記第3フレーム画像における前記推定対象物であると推定した領域を含む画像を出力する、
処理を前記コンピュータに実行させる、請求項1~請求項3のいずれか1項に記載の学習プログラム。
【請求項5】
前記複数のフレーム画像のそれぞれは、超音波画像である、
請求項1~請求項3のいずれか1項に記載の学習プログラム。
【請求項6】
前記複数のフレーム画像及び前記複数の対象フレーム画像のそれぞれは、超音波画像である、
請求項4に記載の学習プログラム。
【請求項7】
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得し、
前記訓練データを用いた学習処理を実行する、
処理をコンピュータが実行し、
前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を画像に対するセグメンテーション処理を行なうニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
処理を前記コンピュータが実行する、学習方法。
【請求項8】
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得する取得部と、
自己符号化器と、
画像に対するセグメンテーション処理を行なうニューラルネットワークと、
前記訓練データを用いた、前記自己符号化器及び前記ニューラルネットワークそれぞれの学習処理を実行する学習実行部と、を備え、
前記学習実行部は、前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を前記自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習プログラム、学習方法、及び情報処理装置に関する。
【背景技術】
【0002】
対象物を撮影した動画データから対象物を検出するために、動画データに含まれるフレーム画像それぞれに対して、ニューラルネットワーク(NNW)を用いたセグメンテーションを行なう技術がある。
【0003】
第1の手法として、2-way network等の2つのNNWの一方に対象物の動きを表す合成画像(例えばoptical flow)を入力し、他方の静止画のセグメンテーション用ネットワークを用いて、対象物のセグメンテーションを行なう技術がある。
【0004】
第2の手法として、動画データの前後の数フレーム画像をまとめてNNWの入力として、対象物のセグメンテーションを行なう技術がある。
【先行技術文献】
【非特許文献】
【0005】
【文献】Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, “You Only Look Once: Unified, Real-Time Object Detection”, arXiv:1506.02640v5 [cs.CV], 公開日: 2016年5月9日
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、動画データが、超音波検査映像又は監視カメラにより撮影された比較的低画質の監視映像等の、ノイズが多く、対象物の移動が小さい動画データである場合を想定する。このような動画データから、対象物をその形を含めて検出するような場合、上述した第1及び第2の手法では、以下のような不都合が生じる場合がある。
【0007】
第1の手法は、対象物の動きを表す合成画像(例えばoptical flow)を入力の1つとするため、走行中の車等のような動きのある対象物、換言すれば画像フレーム間で位置が変化する対象物のセグメンテーションには適している。しかしながら、第1の手法では、位置の変化が比較的小さい対象物を撮影した動画データのように、対象領域に特化した詳細なセグメンテーションには適さない。
【0008】
第2の手法では、セグメンテーションを行なう対象のフレーム画像を考慮して学習を行なうことができない。このため、例えば、ノイズ等の影響により、対象のフレーム画像に対象物が映っていない場合であっても、対象のフレーム画像の前後のフレーム画像に対象物が映っている場合、NNWは、対象のフレーム画像において対象物を誤検出する可能性がある。
【0009】
このように、上述した第1及び第2の手法では、いずれも、動画データのフレーム画像の物体検出において、フレーム画像のノイズに対してロバスト性が低いといえる。
【0010】
1つの側面では、本発明は、動画データのフレーム画像の物体検出における、フレーム画像のノイズに対するロバスト性の向上を図ることを目的とする。
【課題を解決するための手段】
【0011】
1つの側面では、学習プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得してよい。また、前記処理は、前記訓練データを用いた学習処理を実行してよい。さらに、前記処理は、前記学習処理において、前記複数のフレーム画像に含まれる対象物を検出してよい。また、前記処理は、前記学習処理において、前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を自己符号化器に入力してよい。さらに、前記処理は、前記学習処理において、前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を画像に対するセグメンテーション処理を行なうニューラルネットワークに入力してよい。また、前記処理は、前記学習処理において、前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なってよい。
【発明の効果】
【0012】
1つの側面では、動画データのフレーム画像の物体検出における、フレーム画像のノイズに対するロバスト性を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】一実施形態に係る情報処理装置による学習処理の一例を説明するための図である。
【
図2】一実施形態に係る情報処理装置による学習処理の他の例を説明するための図である。
【
図3】超音波により撮像した胸部の断面図の一例を示す図である。
【
図4】胸郭領域のセグメンテーション結果の一例を示す図である。
【
図5】一実施形態に係るサーバの機能構成例を示すブロック図である。
【
図9】学習フェーズの動作例を説明するためのフローチャートである。
【
図10】学習フェーズの動作例を説明するための図である。
【
図11】特徴量出力部及び自己符号化器の構成例を示す図である。
【
図12】加算部の構成及び動作の一例を説明するための図である。
【
図13】推定フェーズの動作例を説明するためのフローチャートである。
【
図14】推定フェーズの動作例を説明するための図である。
【
図15】推定フェーズの動作例を説明するための図である。
【
図16】加算部の構成及び動作の一例を説明するための図である。
【
図17】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0015】
〔1〕一実施形態
〔1-1〕情報処理装置による学習処理の説明
図1は、一実施形態に係る情報処理装置1による学習処理の一例を説明するための図である。なお、
図1の説明では、「動画データ」は、例えば、フレーム画像のサイズに対して比較的小さい対象物を撮影した、エコー映像等のノイズが含まれる映像データであるものとし、「対象物」は、エコー映像の撮影対象の所定の部位であるものとする。
【0016】
情報処理装置1は、対象物を撮影した動画データと、動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得する。そして、情報処理装置1は、訓練データを用いた学習処理を実行する。
【0017】
例えば、情報処理装置1は、
図1に示すように、学習処理において、複数のフレーム画像のそれぞれについて、以下の(a)~(d)の処理を実行する。(a)~(d)の処理は、一例として、対象とする(着目する)フレーム画像である第1フレーム画像を動画データの時系列順に変更しながら、繰り返し実行されてよい。以下の説明では、フレーム画像の画像全体を「全体画像」と表記する場合がある。
【0018】
(a)情報処理装置1は、複数のフレーム画像に含まれる対象物を検出する。
【0019】
例えば、
図1に示すように、情報処理装置1は、複数のフレーム画像のうちの、動画データの時系列における(t-n)~(t+n)番目の全体画像1aにそれぞれ含まれる対象物を検出してよい。tは第1フレーム画像を示す変数である。nは1以上の整数であり、所定数(所定枚数)の一例である。また、(t-n)~(t-1)、及び、(t+1)~(t+n)番目のフレーム画像は、第1フレーム画像1aの前後n枚の第2フレーム画像1aの一例である。なお、
図1及びそれ以降の図面中では、簡単のために、(t-n)~(t+n)番目の全体画像1aを、「全体画像(t±n)」と表記する。
【0020】
なお、情報処理装置1は、上記に加えて、訓練データに含まれる、(t)番目の全体画像1aのアノテーション画像1bに含まれる対象物を検出してよい。
【0021】
情報処理装置1は、例えば、物体検知部2により、全体画像1a及びアノテーション画像1bから対象物を検出してよい。物体検知部2は、例えば、訓練データのデータセットを用いて生成された、入力画像に含まれる対象物の領域を特定する学習済みの物体検知モデルであってよく、一例として、YOLO等の物体検出NNWであってよい。
【0022】
物体検知部2は、対象物の検出結果として、対象周辺画像2a~2c及び対象周辺アノテーション画像2dを出力してよい。
【0023】
対象周辺画像2aは、第1フレーム画像1aの前のn枚、すなわち(t-n)~(t-1)の第2フレーム画像1aにおいて検出された対象物及び対象物の周辺領域を含む複数の部分画像である。
【0024】
対象周辺画像2bは、第1フレーム画像1aの後のn枚、すなわち(t+1)~(t+n)の第2フレーム画像1aにおいて検出された対象物及び対象物の周辺領域を含む複数の部分画像である。
【0025】
なお、
図1及びそれ以降の図面中では、簡単のために、(t-n)~(t-1)の対象周辺画像2aを、「対象周辺画像(t-n)」と表記し、(t+1)~(t+n)の対象周辺画像2bを、「対象周辺画像(t+n)」と表記する。
【0026】
対象周辺画像2cは、(t)番目の第1フレーム画像1aにおいて検出された対象物及び対象物の周辺領域を含む部分画像である。
【0027】
対象周辺アノテーション画像2dは、アノテーション画像1bにおいて検出された対象物及び対象物の周辺領域を含む部分画像であり、例えばアノテーション画像1bから、対象周辺画像2cと同一の部分領域を切り出した部分画像である。
【0028】
(b)情報処理装置1は、対象周辺画像2a及び2bを合成した合成画像を自己符号化器4に入力する。
【0029】
例えば、情報処理装置1は、対象周辺画像2a及び2bをチャネル方向にn枚並べることで合成を行なってよい。
【0030】
自己符号化器4は、サポートモジュール7の一例である。自己符号化器4としては、例えば、中間層のユニット数が入力層及び出力層のそれぞれのユニット数と比較して少ないNNW、一例として、オートエンコーダが挙げられる。
【0031】
(c)情報処理装置1は、対象周辺画像2cを、画像に対するセグメンテーション処理を行なうセグメンテーション部5に入力する。
【0032】
セグメンテーション部5は、セグメンテーションモジュール8の一例である。セグメンテーション部5としては、種々のセグメンテーション用のNNWが挙げられるが、一実施形態では、例えば、U-Netが用いられるものとする。なお、セグメンテーション部5は、U-Netに限定されるものではなく、Semantic Segmentationを実行する他のニューラルネットワークであってもよく、Semantic Segmentation以外のセグメンテーション手法を用いるニューラルネットワークであってもよい。
【0033】
自己符号化器4及びセグメンテーション部5は、それぞれ、学習処理において学習が行なわれる対象のNNWである。
【0034】
(d)情報処理装置1は、自己符号化器4からの出力画像とセグメンテーション部5からの出力画像とを合成した合成出力画像と、対象周辺アノテーション画像2dとの差分に基づき、自己符号化器4及びセグメンテーション部5の各々のパラメータ更新を行なう。
【0035】
情報処理装置1は、例えば、加算部6により、自己符号化器4からの出力画像とセグメンテーション部5からの出力画像とを、ピクセルごとに足し合わせることで合成出力画像を生成してよい。合成出力画像は、セグメンテーション済み画像の一例である。そして、情報処理装置1は、例えば、加算部6に対象周辺アノテーション画像2dを入力し、合成出力画像と対象周辺アノテーション画像2dとの差分に基づき、後方誤差伝播等により自己符号化器4及びセグメンテーション部5の学習を行なってよい。
【0036】
これにより、情報処理装置1は、第1フレーム画像1aの前後画像のコンテクストに基づく補完情報を出力するサポートモジュール7に対して、対象周辺アノテーション画像2dに基づく学習を行なうことができる。また、第1フレーム画像1aのセグメンテーション結果を出力するセグメンテーションモジュール8に対して、対象周辺アノテーション画像2dに基づく学習を行なうことができる。
【0037】
従って、動画データのフレーム画像1aの物体検出において、フレーム画像1aにノイズが含まれる場合であっても、第1フレーム画像1aの前後画像を考慮しつつ、第1フレーム画像1aに着目したセグメンテーション結果を出力するネットワークを構築できる。
【0038】
以上のことから、一実施形態に係る情報処理装置1によれば、動画データのフレーム画像1aの物体検出における、フレーム画像1aのノイズに対するロバスト性を向上させることができる。
【0039】
また、一実施形態に係る情報処理装置1は、
図2に例示するように、サポートモジュール7に特徴量出力部3を備えてもよい。特徴量出力部3は、対象物を撮影したフレーム画像1aとは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する学習済みモデルであってよい。
【0040】
特徴量出力部3としては、例えば、VGG-Backboneが挙げられる。VGG-Backboneは、例えば、VGG等の学習済みのNNWから出力層を取り除いたNNWであってよい。一例として、VGG-Backboneは、VGGから出力層としての全結合層を取り除いた、畳み込み層及びプーリング層を含むNNWであってよい。なお、VGGは、一実施形態で利用可能な学習済みのNNWの一例である。一実施形態で利用される学習済みのNNWはVGG(或いはVGG-Backbone)のみに限定されない。
【0041】
例えば、
図2に示す情報処理装置1は、特徴量出力部3に(t)番目の第1フレーム画像(全体画像)1aを入力して得られた第1フレーム画像1a全体に関する特徴量、換言すれば画像全体に対するコンテクストを、自己符号化器4の中間層に入力してよい。
【0042】
なお、自己符号化器4の中間層としては、例えば、自己符号化器4のボトルネックであってよく、一例として、自己符号化器4の各層のうちの、処理する画像サイズ(縦横サイズ)が最小となる層であってよい。
【0043】
これにより、対象周辺画像2a及び2bの合成画像を入力とする自己符号化器4は、第1フレーム画像1aの前後画像のコンテクストに加えて、特徴量出力部3からの画像全体のコンテクストを活用することができる。従って、自己符号化器4からの出力の精度を向上させることができる。
【0044】
〔1-2〕一実施形態の構成例
以下の説明では、情報処理装置1による学習処理及び推定処理が、超音波画像診断における心臓の心室中隔と呼ばれる部位の欠損の有無の判定に利用される場合を例に挙げる。
【0045】
図3に例示するように、超音波画像に含まれる心室中隔は、ノイズによって欠損があるように見えてしまうことがある。ノイズは、動画データのフレーム画像ごとに異なる位置に生じ得る。従って、第1フレーム画像に含まれる心室中隔の欠損の有無を判定するために、第1フレーム画像の前後の第2フレーム画像の情報を用いて、
図4に例示するように、心室中隔の部分にセグメンテーションを行なうことが重要である。
【0046】
図5は、一実施形態に係るサーバ10の機能構成例を示すブロック図である。サーバ10は、フレーム画像から対象物を推定するためのNNW群の学習を行なうとともに、NNW群を用いて対象物を推定する装置であり、
図1に示す情報処理装置1の一例である。
【0047】
一実施形態の説明において、セグメンテーション対象の対象物は、心室中隔であり、セグメンテーションが行なわれる画像は、心室中隔を含む胸郭、例えば胎児胸部を撮像した、エコー画像等の超音波画像であるものとする。
【0048】
図5に示すように、サーバ10は、例示的に、メモリ部11、物体検知部12、特徴量出力部13、自己符号化器14、セグメンテーション部15、取得部16、学習部17、実行部18、及び出力部19を備えてよい。
【0049】
メモリ部11は、記憶領域の一例であり、自己符号化器14及びセグメンテーション部15の学習、NNW群を用いた推定処理の実行及び出力等に用いられる種々の情報を記憶する。
図5に示すように、メモリ部11は、例示的に、複数のモデル情報11a、訓練データ11b、入力データ11c及び出力データ11dを記憶可能であってよい。
【0050】
物体検知部12は、
図1に示す物体検知部2の一例であり、例えば、入力される複数の画像のそれぞれから対象物を検出し、検出した対象物及び対象物の周辺領域を含む複数の部分画像を出力する。部分領域は、例えば、入力される画像から、対象物及び対象物の周辺領域を含む領域を矩形に切り出すことで生成されてよい。
【0051】
物体検知部12は、例えば、訓練データ11bを用いて生成された、入力画像に含まれる対象物の領域を特定する、事前に学習済みの物体検知モデルであってよく、一例として、YOLO等の物体検出NNWであってよい。例えば、サーバ10の管理者又は利用者は、訓練データ11bを用いて、予め物体検知部12の学習を実行してよい。
【0052】
特徴量出力部13は、
図1に示す特徴量出力部3の一例である。特徴量出力部13は、例えば、対象物を撮影した画像とは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する学習済みモデルであってよい。
【0053】
特徴量出力部13としては、例えば、VGG-Backboneが挙げられる。一例として、VGG-Backboneは、VGGから出力層としての全結合層を取り除いた、畳み込み層及びプーリング層を含むNNWであってよい。なお、VGGは、一実施形態で利用可能な学習済みのNNWの一例である。一実施形態で利用される学習済みのNNWはVGG(或いはVGG-Backbone)のみに限定されない。
【0054】
なお、特徴量出力部13は、訓練データ11b内の画像とは異なる画像のデータセットを用いて生成されたものであるから、インターネット等において一般公開されているVGG等の学習済みNNWを流用又は加工したモデルであってもよい。
【0055】
自己符号化器14は、
図1に示す自己符号化器4の一例である。自己符号化器14としては、例えば、中間層のユニット数が入力層及び出力層のそれぞれのユニット数と比較して少ないNNW、一例として、オートエンコーダが挙げられる。
【0056】
特徴量出力部13及び自己符号化器14は、サポートモジュール7の一例である。
【0057】
セグメンテーション部15は、
図1に示すセグメンテーション部5の一例であり、セグメンテーションモジュール8の一例である。セグメンテーション部15としては、種々のセグメンテーション用のNNWが挙げられるが、一実施形態では、例えば、U-Netが用いられるものとする。なお、セグメンテーション部15は、U-Netに限定されるものではなく、Semantic Segmentationを実行する他のニューラルネットワークであってもよく、Semantic Segmentation以外のセグメンテーション手法を用いるニューラルネットワークであってもよい。
【0058】
自己符号化器14及びセグメンテーション部15は、それぞれ、サーバ10における学習処理において学習が行なわれる対象のNNWである。
【0059】
以下の説明において、物体検知部12、特徴量出力部13、自己符号化器14、及び、セグメンテーション部15を、「NNW」又は「NNW群」と表記する場合がある。
【0060】
NNW12~15を実現するためのネットワーク構造や各種パラメータ等の情報は、例えば、NNW12~15別にモデル情報11aとしてメモリ部11に記憶されてよい。
【0061】
取得部16は、自己符号化器14及びセグメンテーション部15の学習及び実行に用いる情報を、例えば図示しないコンピュータから取得する。
【0062】
例えば、取得部16は、自己符号化器14及びセグメンテーション部15の学習に用いる訓練データ11bを取得し、メモリ部11に格納してよい。
【0063】
訓練データ11bは、対象物を撮影した動画データと、動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含んでよい。
【0064】
例えば、訓練データ11bは、
図6に示すように、m個(m:2以上、例えばnよりも大きい、整数)の画像セット110を含んでよい。各画像セット110は、対象物(「訓練用対象物」と称されてもよい)を撮影した画像111と、当該画像111のセグメンテーションの正解データとしてのアノテーション画像112とを含んでよい。
【0065】
画像111は、フレーム画像の一例であり、例えば、
図6に示すように、対象物の一例である心室中隔を撮像したエコー画像であってよい。複数の画像セット110における各エコー画像は、一連のエコー映像から時系列(例えばT=0~(m-1))に切り出されたフレームであってもよい。画像111は、「全体画像」と称されてもよい。
【0066】
アノテーション画像112は、アノテーション画像の一例であり、例えば、
図6に示すように、画像セット110の画像111における対象物(
図6の例では「心室中隔」)をマスクした画像である。なお、「マスク」とは、例えば、マスク対象の領域を、マスク対象ではない領域と区別可能な態様で表示することを意味し、一例として、マスク対象の領域を所定の色で塗り潰す(マスク対象の領域のピクセルに所定の色を設定する)ことであってよい。
図6の例では、マスクされた領域、換言すれば胸郭に対応する領域を白塗りで示し、その他の領域、換言すれば胸郭以外の領域を黒塗りで示す。
【0067】
なお、サーバ10は、複数の訓練データ11bを用いて、換言すれば、複数の動画データ分のデータセットを用いて、自己符号化器14及びセグメンテーション部15の学習を行なってもよい。
【0068】
また、取得部16は、NNW群12~15による推定処理に用いる入力データ11cを取得し、メモリ部11に格納してよい。
【0069】
入力データ11cは、推定対象物を撮影した対象動画データを含む対象データの一例である。
【0070】
例えば、入力データ11cは、
図7に示すように、対象物(「推定対象物」と称されてもよい)を撮影した画像113を複数枚含んでよい。
【0071】
画像113は、対象フレーム画像の一例であり、例えば、
図7に示すように、推定対象物の一例である心室中隔を撮像したエコー画像であってよい。入力データ11cに含まれる各エコー画像は、一連のエコー映像から時系列(例えばT=0~(m-1))に切り出されたフレームであってもよい。画像113は、「全体画像」と称されてもよい。
【0072】
学習部17は、学習実行部の一例であり、取得部16が取得した訓練データ11bを用いて、自己符号化器14及びセグメンテーション部15のそれぞれの学習を行なう。
【0073】
実行部18は、入力データ11cに対する推定対象物の領域の推定処理を実行する推定処理部の一例である。実行部18は、例えば、学習部17による学習済みの自己符号化器14及びセグメンテーション部15と、取得部16が取得した入力データ11cとを用いて、入力データ11cに対する対象物のセグメンテーションの推定処理を行なう。
【0074】
出力部19は、実行部18から入力される、後述するセグメンテーション済み画像115をメモリ部11に出力(蓄積)し、蓄積した複数のセグメンテーション済み画像115に基づき、出力データ11dを作成してよい。
【0075】
出力データ11dは、1以上のセグメンテーション済み画像115、換言すれば1以上の出力画像を含む画像セットであり、例えば、複数のフレーム画像を含む映像等の動画データであってよい。一実施形態では、出力データ11dは、
図8に例示するように、各セグメンテーション済み画像115をフレーム画像として時系列に結合した映像であってよい。
【0076】
なお、出力部19は、出力データ11dを、例えば図示しないコンピュータに送信してもよい。
【0077】
〔1-3〕動作例
次に、上述の如く構成されたサーバ10の動作例を説明する。
【0078】
〔1-3-1〕学習フェーズの動作例
図9は、学習フェーズの動作例を説明するためのフローチャートであり、
図10は、学習フェーズの動作例を説明するための図である。
【0079】
NNW群12~15は、サーバ10において、
図10に例示する構成により、相互に接続されてよい。学習部17は、学習フェーズにおいて、自己符号化器14及びセグメンテーション部15の学習を行なうために、
図10に例示するように、後述する合成部17a及び加算部17bを備えてよい。
【0080】
図9に例示するように、学習部17は、取得部16が取得した訓練データ11bに含まれる時系列画像111から、(t-n)~(t+n)番目の全体画像111、及び、(t)番目のアノテーション画像112を取得する(ステップS1)。
図10及びそれ以降の図面中では、簡単のために、(t-n)~(t+n)番目の全体画像111を、「全体画像(t±n)」と表記する。なお、nの値としては、一例として、“3”等であってよい。
【0081】
学習部17は、取得した(t-n)~(t+n)番目の全体画像111、並びに、(t)番目のアノテーション画像112のそれぞれのサイズを、物体検知部12の入力サイズにリサイズした全体画像111及びアノテーション画像112を生成してよい。また、学習部17は、取得した(t)番目の全体画像111のサイズを、特徴量出力部13の入力サイズにリサイズした全体画像111を生成してよい。
【0082】
学習部17は、リサイズした(t-n)~(t+n)番目の全体画像111を物体検知部12に入力する(ステップS2:
図10の符号A参照)。
【0083】
また、学習部17は、リサイズした(t)番目の全体画像111を特徴量出力部13に入力する(ステップS3:
図10の符号B参照)。特徴量出力部13は、入力された(t)番目の全体画像111の特徴量を抽出し、抽出した特徴量を自己符号化器14の中間層に入力する(ステップS4:
図10の符号C参照)。
【0084】
図11は、特徴量出力部13及び自己符号化器14の構成例を示す図である。
図11に示す例において、VGG-Backbone(VGGバックボーン)130は特徴量出力部13の一例であり、Auto Encoder(オートエンコーダ)140は自己符号化器14の一例である。
【0085】
図11に示すように、VGGバックボーン130は、VGGバックボーン130で抽出された特徴量を出力する層131を少なくとも備える。オートエンコーダ140は、畳み込み層等の複数の層141~146を備える。なお、
図11の例では、VGGバックボーン130の1つの層131を示し、層131よりも前段の層の図示を省略している。
【0086】
図11において、層131及び層141~146のブロック中に示す(x,y,z)は、各層131、141~146で扱われる(処理される)情報のサイズを示す。例えば、x,yは、画像の縦及び横のサイズを示し、zはチャネル数を示す。
【0087】
VGGバックボーン130の層131から出力される特徴量は、オートエンコーダ140の層143の出力に対して、チャネル方向に結合(concatenate)されて、層144に入力されてよい(
図9のステップS4及び
図10の符号C参照)。
【0088】
層144は、層143の出力(4,4,32)と、層131の出力(4,4,32)とがチャネル(z)方向に連結された(4,4,64)の情報を用いて処理を行なう。また、層145は、層131の出力(4,4,32)である特徴量を加味した処理を行ない、対向する層142と同じサイズである(16,16,6)の情報を出力する。
【0089】
このように、層144は、自己符号化器14の中間層の一例である。中間層は、一例として、サイズ(x,y)が最小となる層、換言すれば、オートエンコーダ140のボトルネックであってよい。
【0090】
なお、層131からの特徴量の出力先となるオートエンコーダ140の中間層は、
図11に示す例に限定されるものではなく、オートエンコーダ140の層のうちの、入力層141及び出力層146の間の種々の層であってもよい。
【0091】
図9の説明に戻り、物体検知部12は、ステップS2(
図10の符号A)で入力された(t-n)~(t+n)番目の全体画像111のそれぞれから対象物を検出し、検出した対象物及びその周辺領域を含む対象周辺画像12a~12cを出力する。
【0092】
例えば、学習部17は、物体検知部12から出力される(t)番目の対象周辺画像12cをセグメンテーション部15に入力する(ステップS5:
図10の符号D参照)。セグメンテーション部15は、(t)番目の対象周辺画像12cに基づき、対象物をセグメンテーションした(例えばマスクした)セグメンテーション画像15aを、加算部17bに入力する(ステップS6:
図10の符号E参照)。
【0093】
また、例えば、学習部17は、物体検知部12から出力される(t-n)~(t-1)番目のn枚の対象周辺画像12a、及び、(t+1)~(t+n)番目のn枚の対象周辺画像12bを、それぞれ合成部17aにより合成する(
図10参照)。
【0094】
なお、
図10及びそれ以降の図面中では、簡単のために、(t-n)~(t-1)の対象周辺画像12aを、「対象周辺画像(t-n)」と表記し、(t+1)~(t+n)の対象周辺画像12bを、「対象周辺画像(t+n)」と表記する。
【0095】
合成部17aは、例えば、n枚の画像をチャネル方向に並べることで、合成画像12eを出力してよい。一例として、合成部17aは、(t-n)~(t-1)番目のn枚の対象周辺画像12aを用いた合成画像12e、並びに、(t+1)~(t+n)番目のn枚の対象周辺画像12bを用いた合成画像12e、の2つの合成画像12eを出力してもよい。なお、合成部17aは、(t-n)~(t-1)及び(t+1)~(t+n)の対象周辺画像12a及び12b(2n枚の画像)を用いて1つの合成画像12eを出力してもよい。
【0096】
そして、学習部17は、合成部17aから出力される合成画像12eを、自己符号化器14に入力する(ステップS7:
図10の符号F参照)。
【0097】
自己符号化器14は、(t-n)~(t-1)、及び、(t+1)~(t+n)の各合成画像12eを入力層の入力とし、且つ、特徴量出力部13から入力される特徴量を中間層の入力として、出力層から出力画像14aを出力する。
図11の例では、入力層は層141、中間層は層144、出力層は層146であってよい。
【0098】
学習部17は、自己符号化器14から出力される出力画像14aを、加算部17bに入力する(ステップS8:
図10の符号G参照)。
【0099】
図12は、加算部17bの構成及び動作の一例を説明するための図である。
図12に示すように、加算部17bは、例示的に、加算処理部171、差分算出部172、及び、学習処理部173の処理機能を備えてよい。
【0100】
加算処理部171は、セグメンテーション部15から出力されるセグメンテーション画像15aと、自己符号化器14から出力される出力画像14aとをピクセルごとに足し合わせることで、合成出力画像12fを生成する(ステップS9:
図12の符号H参照)。
【0101】
差分算出部172は、加算処理部171から出力される合成出力画像12fと、物体検知部12から出力される対象周辺アノテーション画像12dとの差分12gを算出し、学習処理部173に出力する。差分算出部172による差分の算出手法としては、例えば、最小二乗法等の既知の種々の手法が挙げられる。
【0102】
ここで、差分算出部172に入力される対象周辺アノテーション画像12dについて説明する。
図9に示すように、学習部17は、リサイズした(t)番目のアノテーション画像112を物体検知部12に入力する(ステップS10:
図10の符号I参照)。
【0103】
なお、物体検知部12に対する、アノテーション画像112の入力(ステップS10)は、例えば、物体検知部12及び特徴量出力部13に対する、(t-n)~(t+n)番目の全体画像111の入力(ステップS2及びS3)と並行して行なわれてもよい。
【0104】
物体検知部12は、入力された(t)番目のアノテーション画像112から、(t)番目の対象周辺画像12cと同一の部分領域を切り出した対象周辺アノテーション画像12dを出力する。
【0105】
例えば、学習部17は、物体検知部12から出力される(t)番目の対象周辺アノテーション画像12dを、加算部17bの差分算出部172に入力する(ステップS11:
図10の符号J、
図12の符号K参照)。
【0106】
学習処理部173は、差分算出部172により算出された差分12gに基づき、自己符号化器14及びセグメンテーション部15のそれぞれの学習を行ない(ステップS12:
図12の符号L参照)、処理が終了する。
【0107】
学習処理部173による自己符号化器14及びセグメンテーション部15の学習手法としては、種々の機械学習手法が用いられてよい。一例として、機械学習処理では、差分12g、換言すれば誤差関数の値を小さくするために、自己符号化器14及びセグメンテーション部15のそれぞれの前方伝播方向の処理で使用するパラメータを決定(更新)する後方伝播処理が実行されてよい。そして、機械学習処理では、後方伝播処理の結果に基づいて重み等の変数を更新する更新処理が実行されてよい。
【0108】
学習部17は、例えば、訓練データ11bに含まれる複数の画像セット110を用いて、繰り返し回数又は精度等が閾値に達するまで、自己符号化器14及びセグメンテーション部15の機械学習処理を繰り返し実行してよい。学習が終了した自己符号化器14及びセグメンテーション部15は、訓練済みモデルの一例である。
【0109】
例えば、学習部17は、動画データ内のフレーム番号に相当する(t)の値を変化させることで、訓練データ11b内の複数の画像111それぞれを第1フレーム画像として、
図9に示すステップS1~S12の処理を実行してよい。なお、訓練データ11bとしての動画データ内の先頭及び末尾からそれぞれ(n-1)番目までの画像111については、第1フレーム画像の選択対象から除外されてよい。
【0110】
〔1-3-2〕推定フェーズの動作例
図13は、推定フェーズの動作例を説明するためのフローチャートであり、
図14及び
図15は、それぞれ、推定フェーズの動作例を説明するための図である。
【0111】
実行部18は、推定フェーズにおいて、推定対象物のセグメンテーションの推定を行なうために、
図14に例示するように、後述する合成部18a及び加算部18bを備えてよい。なお、合成部18aは、合成部17aと同様の処理機能を有してよい。また、
図14は、画像113の符号、アノテーション画像112が物体検知部12に入力されない点、物体検知部12が対象周辺アノテーション画像12dに代えて、対象周辺画像12cの切り出し位置情報12hを出力する点、並びに、加算部18bの構成が
図9と異なるが、データの流れは
図9と基本的に同様である。
【0112】
図13に例示するように、実行部18は、取得部16が取得した入力データ11cに含まれる時系列画像113から、(t-n)~(t+n)番目の全体画像113を取得する(ステップS21:
図14参照)。
【0113】
なお、(t)番目の全体画像113は、第3フレーム画像の一例であり、(t-n)~(t-1)及び(t+1)~(t+n)番目の全体画像113は、対象動画データの時系列における第3フレーム画像の前後所定枚数の第4フレーム画像の一例である。
【0114】
図15に示すように、実行部18は、例えば、取得した(t-n)~(t+n)番目の全体画像113のそれぞれのサイズを、物体検知部12の入力サイズにリサイズした全体画像113’を生成してよい。また、実行部18は、
図15に例示するように、取得した(t)番目の全体画像113のサイズを、特徴量出力部13の入力サイズにリサイズした全体画像113”を生成してよい。
【0115】
実行部18は、リサイズした(t-n)~(t+n)番目の全体画像113’を物体検知部12に入力する(ステップS22)。
【0116】
また、実行部18は、リサイズした(t)番目の全体画像113”を特徴量出力部13に入力する(ステップS23)。特徴量出力部13は、入力された(t)番目の全体画像113”の特徴量を抽出し、抽出した特徴量を自己符号化器14の中間層に入力する(ステップS24)。
【0117】
物体検知部12は、ステップS22で入力された(t-n)~(t+n)番目の全体画像113’のそれぞれから推定対象物を検出する。そして、物体検知部12は、検出した推定対象物及びその周辺領域を含む対象周辺画像12a~12c(
図15参照)、換言すれば複数の部分画像を出力する。
【0118】
例えば、実行部18は、物体検知部12から出力される(t)番目の対象周辺画像12cを、学習部17によるパラメータ更新により訓練済みのセグメンテーション部15に入力する(ステップS25)。セグメンテーション部15は、入力された対象周辺画像12cに基づき、推定対象物をセグメンテーションしたセグメンテーション画像15a(
図15参照)を加算部18bに入力する(ステップS26)。
【0119】
また、例えば、実行部18は、物体検知部12から出力される(t-n)~(t-1)番目のn枚の対象周辺画像12a、及び、(t+1)~(t+n)番目のn枚の対象周辺画像12bを、それぞれ合成部18aにより合成する。
【0120】
合成部18aは、合成部17aと同様に、例えば、n枚の画像をチャネル方向に並べることで、合成画像12eを出力してよい。なお、合成部18aは、(t-n)~(t-1)及び(t+1)~(t+n)の対象周辺画像12a及び12b(2n枚の画像)を用いて1つの合成画像12eを出力してもよい。
【0121】
そして、実行部18は、合成部18aから出力される合成画像12eを、学習部17によるパラメータ更新により訓練済みの自己符号化器14に入力する(ステップS27)。
【0122】
自己符号化器14は、(t-n)~(t-1)、及び、(t+1)~(t+n)の各合成画像12eを入力層の入力とし、且つ、特徴量出力部13から入力される特徴量を中間層の入力として、出力層から出力画像14a(
図15参照)を出力する。
【0123】
実行部18は、自己符号化器14から出力される出力画像14aを、加算部18bに入力する(ステップS28)。
【0124】
図16は、加算部18bの構成及び動作の一例を説明するための図である。
図16に示すように、加算部18bは、例示的に、加算処理部181、及び、サイズ復元部182の処理機能を備えてよい。
【0125】
加算処理部181は、セグメンテーション部15から出力されるセグメンテーション画像15aと、自己符号化器14から出力される出力画像14aとをピクセルごとに足し合わせることで、合成出力画像114(
図15参照)を生成する(ステップS29)。
【0126】
サイズ復元部182は、加算処理部181から出力される合成出力画像114と、物体検知部12から出力される対象周辺画像12cの切り出し位置情報12hとを入力とする。
【0127】
ここで、サイズ復元部182に入力される切り出し位置情報12hについて説明する。
【0128】
図13に示すように、物体検知部12は、ステップS22において(t)番目の全体画像113’が入力されると、対象周辺画像12cとともに、全体画像113’における対象周辺画像12cの切り出し位置情報12hを出力する。実行部18は、例えば、物体検知部12から出力される切り出し位置情報12hを加算部18bのサイズ復元部182に入力する(ステップS30:
図15及び
図16参照)。
【0129】
切り出し位置情報12hは、(t)番目の全体画像113’における(t)番目の対象周辺画像12cが切り出された位置を示す位置情報の一例である。切り出し位置情報12hとしては、例えば、全体画像113’における、対象周辺画像12cの切り出し位置(領域)を示す座標情報等が挙げられる。
【0130】
サイズ復元部182は、合成出力画像114と切り出し位置情報12hとに基づき、合成出力画像114を元の全体画像113のサイズに復元したセグメンテーション済み画像115を生成する(ステップS31)。セグメンテーション済み画像115は、全体画像113における推定対象物であると推定した領域を含む画像の一例である。
【0131】
例えば、サイズ復元部182は、切り出し位置情報12hが示す切り出し座標に基づいて、合成出力画像114を元の(t)番目の全体画像113に当て嵌めることで、復元を行なってよい。このため、サイズ復元部182には、例えば、(t)番目の対象周辺画像12cの切り出し位置情報12hに加えて、(t)番目の全体画像113が入力されてもよい。
【0132】
実行部18は、例えば、対象動画データ内のフレーム番号に相当する(t)の値を変化させることで、入力データ11c内の複数の画像113それぞれを第3フレーム画像として、
図13に示すステップS21~S31の処理を実行してよい。なお、入力データ11cとしての動画データ内の先頭及び末尾からそれぞれ(n-1)番目までの画像113については、第3フレーム画像の選択対象から除外されてよい。
【0133】
出力部19は、セグメンテーション済み画像115を蓄積し、蓄積したセグメンテーション済み画像115を結合した出力データ11dを出力し(ステップS32)、処理が終了する。なお、出力データ11dの出力先としては、例えば、メモリ部11の他に、図示しないコンピュータ等が挙げられる。
【0134】
以上のように、実行部18及び出力部19は、合成出力画像114と、切り出し位置情報12hとに基づいて、第3フレーム画像における推定対象物であると推定した領域を含む画像を出力する画像出力部の一例である。
【0135】
〔1-4〕一実施形態の効果
以上のように、一実施形態に係るサーバ10によれば、以下の3種類の画像113、12a~12cを、それぞれ互いに異なるNNW13~15に入力し、NNW13~15からの出力(結果)を統合することで、対象物のセグメンテーションを行なう。
【0136】
例えば、サーバ10は、対象のフレーム画像の対象周辺を拡大した画像12cをセグメンテーション部15に入力する。また、サーバ10は、対象のフレーム画像の前後のフレーム画像において対象周辺を拡大した画像12a及び12bを自己符号化器14に入力する。さらに、サーバ10は、対象のフレーム全体の画像113を特徴量出力部13に入力する。
【0137】
これにより、自己符号化器14では、対象のフレーム画像の前後のフレーム画像に基づくことで、対象のフレーム画像に含まれる対象物のノイズの影響を低減した出力画像14aを出力できる。
【0138】
従って、動画データのフレーム画像の物体検出における、フレーム画像のノイズに対するロバスト性を向上させることができる。
【0139】
また、例えば、比較的画質の粗い動画データにおいて、対象物の少なくとも一部がノイズに隠れている場合であっても、当該ノイズに隠れている部分を含めて、対象物のセグメンテーションを精密に行なうことができる。
【0140】
さらに、対象周辺画像12a及び12bとして切り出された部分の周囲、すなわち全体画像のコンテクスト情報を、特徴量出力部13から自己符号化器14に中間特徴量として与えることで、自己符号化器14は、切り出し部分以外の情報を活用できる。
【0141】
例えば、対象周辺画像12a及び12bのみに基づく出力画像14aでは、出力画像14a内の対象物の向きが、全体画像における対象物の正しい向きと一致しない場合がある。そこで、全体画像の特徴量を特徴量出力部13から自己符号化器14に与えることで、自己符号化器14は、対象物の向きを考慮した出力画像14aを出力できる。
【0142】
また、サーバ10では、自己符号化器14からの出力画像14aと、セグメンテーション部15からのセグメンテーション画像15aとが出力される。これにより、例えば、サーバ10の利用者は、推定フェーズにおいて、出力画像14aとセグメンテーション画像15aとを比較し、セグメンテーション部15単独のセグメンテーション画像15aに対して、出力画像14aがどのような修正を加えているかを判別可能となる。
【0143】
〔1-5〕ハードウェア構成例
図17は、情報処理装置1及びサーバ10の機能を実現するコンピュータ20のハードウェア(HW)構成例を示すブロック図である。情報処理装置1及びサーバ10の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが
図17に例示するHW構成を備えてよい。
【0144】
図17に示すように、コンピュータ20は、HW構成として、例示的に、プロセッサ20a、メモリ20b、記憶部20c、IF(Interface)部20d、I/O(Input / Output)部20e、及び読取部20fを備えてよい。
【0145】
プロセッサ20aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ20aは、コンピュータ20内の各ブロックとバス20iで相互に通信可能に接続されてよい。なお、プロセッサ20aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0146】
プロセッサ20aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC:Integrated Circuit)が挙げられる。なお、プロセッサ20aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。
【0147】
例えば、情報処理装置1の少なくとも一部、サーバ10の取得部16、学習部17の少なくとも一部、実行部18の少なくとも一部、及び、出力部19の処理機能は、プロセッサ20aとしてのCPU又はMPU等により実現されてもよい。また、情報処理装置1の少なくとも一部、サーバ10のNNW12~15、学習部17の少なくとも一部、及び、実行部18の少なくとも一部の処理機能は、プロセッサ20aのうちのGPU又はASIC(例えばTPU)等のアクセラレータにより実現されてもよい。
【0148】
CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。TPUはTensor Processing Unitの略称である。
【0149】
メモリ20bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ20bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0150】
記憶部20cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部20cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0151】
また、記憶部20cは、コンピュータ20の各種機能の全部若しくは一部を実現するプログラム20g(学習プログラム)を格納してよい。例えば、情報処理装置1のプロセッサ20aは、記憶部20cに格納されたプログラム20gをメモリ20bに展開して実行することにより、
図1及び
図2に例示する情報処理装置1としての機能を実現できる。また、サーバ10のプロセッサ20aは、記憶部20cに格納されたプログラム20gをメモリ20bに展開して実行することにより、
図5、
図10、
図12、
図14及び
図16に例示するサーバ10としての機能を実現できる。
【0152】
なお、メモリ20b及び記憶部20cの少なくとも1つが有する記憶領域は、
図5に示す各情報11a~11dを記憶可能であってよい。換言すれば、
図5に示すメモリ部11は、メモリ20b及び記憶部20cの少なくとも1つが有する記憶領域により実現されてよい。
【0153】
IF部20dは、ネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部20dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、サーバ10は、IF部20dを介して、他の装置と相互に通信可能に接続されてよい。また、例えば、プログラム20gは、当該通信IFを介して、ネットワークからコンピュータ20にダウンロードされ、記憶部20cに格納されてもよい。
【0154】
I/O部20eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。
【0155】
読取部20fは、記録媒体20hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部20fは、記録媒体20hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部20fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体20hにはプログラム20gが格納されてもよく、読取部20fが記録媒体20hからプログラム20gを読み出して記憶部20cに格納してもよい。
【0156】
記録媒体20hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0157】
上述したコンピュータ20のHW構成は例示である。従って、コンピュータ20内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、情報処理装置1及びサーバ10において、I/O部20e及び読取部20fの少なくとも一方は、省略されてもよい。
【0158】
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0159】
例えば、
図5に示すサーバ10が備える各処理機能12~19は、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【0160】
なお、一実施形態では、対象物及び画像が、それぞれ、心室中隔及びエコー画像であるものとしたが、これらに限定されるものではない。一実施形態に係る手法は、下記のように、種々の対象物及び画像についても適用可能である。
【0161】
対象物としては、例えば、人体の部位の他、画像の全体領域に対して、対象物のサイズ及び移動量の一方又は双方が比較的小さい、種々の物体が挙げられる。また、対象物は、例えば、少なくとも一部が地中等に埋没している物体のように、肉眼で視認できる物体でなくてもよい。画像としては、対象物を含む領域を撮影した種々の画像が挙げられる。例えば、画像としては、エコー画像以外の超音波画像、磁気共鳴画像、X線画像、温度又は電磁波等を捉えるセンサによる検出画像、並びに、可視光又は非可視光を捉えるイメージセンサによる撮像画像、等の種々の画像が挙げられる。
【0162】
また、
図5に示すサーバ10は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、取得部16及び出力部19はWebサーバ、NNW12~15、学習部17及び実行部18はアプリケーションサーバ、メモリ部11はDB(Database)サーバ、であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ10としての各処理機能を実現してもよい。
【0163】
さらに、NNW14及び15の学習処理(取得部16及び学習部17)、並びに、推定処理(実行部18及び出力部19)に係る各処理機能が、互いに異なる装置により提供されてもよい。この場合においても、これらの装置がネットワークを介して互いに連携することにより、サーバ10としての各処理機能を実現してもよい。
【0164】
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0165】
(付記1)
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得し、
前記訓練データを用いた学習処理を実行する、
処理をコンピュータに実行させ、
前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を画像に対するセグメンテーション処理を行なうニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
処理を前記コンピュータに実行させる、学習プログラム。
【0166】
(付記2)
前記学習処理において、前記対象物を撮影した画像とは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する前記学習済みモデルに前記第1フレーム画像を入力して得られた前記第1フレーム画像全体に関する特徴量を、前記自己符号化器の中間層に入力する、
処理を前記コンピュータに実行させる、付記1に記載の学習プログラム。
【0167】
(付記3)
前記複数のフレーム画像に含まれる前記対象物は、前記対象物を撮影した複数の画像を含むデータセットを用いて生成された、入力画像に含まれる前記対象物の領域を特定する学習済み物体検知モデルを用いて検出される、
付記1又は付記2に記載の学習プログラム。
【0168】
(付記4)
推定対象物を撮影した対象動画データを含む対象データを取得し、
前記対象動画データに含まれる複数の対象フレーム画像のそれぞれに含まれる推定対象物を検出し、
前記対象動画データの時系列における第3フレーム画像の前後所定枚数の第4フレーム画像におけるそれぞれ検出された前記推定対象物及び前記推定対象物の周辺領域を含む複数の部分画像、を合成した合成画像を、前記パラメータ更新により訓練済みの前記自己符号化器に入力し、
前記第3フレーム画像における検出された前記推定対象物及び前記推定対象物の周辺領域を含む部分画像を、前記パラメータ更新により訓練済みの前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第3フレーム画像における前記部分画像が切り出された位置を示す位置情報とに基づいて、前記第3フレーム画像における前記推定対象物であると推定した領域を含む画像を出力する、
処理を前記コンピュータに実行させる、付記1~付記3のいずれか1項に記載の学習プログラム。
【0169】
(付記5)
前記複数のフレーム画像のそれぞれは、超音波画像である、
付記1~付記3のいずれか1項に記載の学習プログラム。
【0170】
(付記6)
前記複数のフレーム画像及び前記複数の対象フレーム画像のそれぞれは、超音波画像である、
付記4に記載の学習プログラム。
【0171】
(付記7)
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得し、
前記訓練データを用いた学習処理を実行する、
処理をコンピュータが実行し、
前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を画像に対するセグメンテーション処理を行なうニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
処理を前記コンピュータが実行する、学習方法。
【0172】
(付記8)
前記学習処理において、前記対象物を撮影した画像とは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する前記学習済みモデルに前記第1フレーム画像を入力して得られた前記第1フレーム画像全体に関する特徴量を、前記自己符号化器の中間層に入力する、
処理を前記コンピュータが実行する、付記7に記載の学習方法。
【0173】
(付記9)
前記複数のフレーム画像に含まれる前記対象物は、前記対象物を撮影した複数の画像を含むデータセットを用いて生成された、入力画像に含まれる前記対象物の領域を特定する学習済み物体検知モデルを用いて検出される、
付記7又は付記8に記載の学習方法。
【0174】
(付記10)
推定対象物を撮影した対象動画データを含む対象データを取得し、
前記対象動画データに含まれる複数の対象フレーム画像のそれぞれに含まれる推定対象物を検出し、
前記対象動画データの時系列における第3フレーム画像の前後所定枚数の第4フレーム画像におけるそれぞれ検出された前記推定対象物及び前記推定対象物の周辺領域を含む複数の部分画像、を合成した合成画像を、前記パラメータ更新により訓練済みの前記自己符号化器に入力し、
前記第3フレーム画像における検出された前記推定対象物及び前記推定対象物の周辺領域を含む部分画像を、前記パラメータ更新により訓練済みの前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第3フレーム画像における前記部分画像が切り出された位置を示す位置情報とに基づいて、前記第3フレーム画像における前記推定対象物であると推定した領域を含む画像を出力する、
処理を前記コンピュータが実行する、付記7~付記9のいずれか1項に記載の学習方法。
【0175】
(付記11)
前記複数のフレーム画像のそれぞれは、超音波画像である、
付記7~付記9のいずれか1項に記載の学習方法。
【0176】
(付記12)
前記複数のフレーム画像及び前記複数の対象フレーム画像のそれぞれは、超音波画像である、
付記10に記載の学習方法。
【0177】
(付記13)
対象物を撮影した動画データと、前記動画データに含まれる複数のフレーム画像それぞれにおける対象物の領域を示す複数のアノテーション画像とを含む訓練データを取得する取得部と、
自己符号化器と、
画像に対するセグメンテーション処理を行なうニューラルネットワークと、
前記訓練データを用いた、前記自己符号化器及び前記ニューラルネットワークそれぞれの学習処理を実行する学習実行部と、を備え、
前記学習実行部は、前記学習処理において、
前記複数のフレーム画像に含まれる対象物を検出し、
前記複数のフレーム画像のうちの第1フレーム画像の前記動画データの時系列における前後所定枚数の第2フレーム画像においてそれぞれ検出された前記対象物及び前記対象物の周辺領域を含む複数の部分画像、を合成した合成画像を前記自己符号化器に入力し、
前記第1フレーム画像における検出された前記対象物及び前記対象物の周辺領域を含む部分画像を前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第1フレーム画像における前記対象物の領域を示すアノテーション画像の部分画像との差分に基づいて、前記自己符号化器及び前記ニューラルネットワークそれぞれのパラメータ更新を行なう、
情報処理装置。
【0178】
(付記14)
前記対象物を撮影した画像とは異なる画像のデータセットを用いて生成された学習済みモデルであって、入力画像に対するラベルを推定する前記学習済みモデル、を備え、
前記学習実行部は、前記学習処理において、前記学習済みモデルに前記第1フレーム画像を入力して得られた前記第1フレーム画像全体に関する特徴量を、前記自己符号化器の中間層に入力する、
付記13に記載の情報処理装置。
【0179】
(付記15)
前記対象物を撮影した複数の画像を含むデータセットを用いて生成された、入力画像に含まれる前記対象物の領域を特定する学習済み物体検知モデル、を備え、
前記複数のフレーム画像に含まれる前記対象物は、前記学習済み物体検知モデルを用いて検出される、
付記13又は付記14に記載の情報処理装置。
【0180】
(付記16)
前記対象データに対する前記推定対象物の領域の推定処理を実行する推定処理部、を備え、
前記取得部は、推定対象物を撮影した対象動画データを含む対象データを取得し、
前記推定処理部は、
前記対象動画データに含まれる複数の対象フレーム画像のそれぞれに含まれる推定対象物を検出し、
前記対象動画データの時系列における第3フレーム画像の前後所定枚数の第4フレーム画像におけるそれぞれ検出された前記推定対象物及び前記推定対象物の周辺領域を含む複数の部分画像、を合成した合成画像を、前記パラメータ更新により訓練済みの前記自己符号化器に入力し、
前記第3フレーム画像における検出された前記推定対象物及び前記推定対象物の周辺領域を含む部分画像を、前記パラメータ更新により訓練済みの前記ニューラルネットワークに入力し、
前記自己符号化器からの出力画像と前記ニューラルネットワークからの出力画像とを合成した合成出力画像と、前記第3フレーム画像における前記部分画像が切り出された位置を示す位置情報とに基づいて、前記第3フレーム画像における前記推定対象物であると推定した領域を含む画像を出力する画像出力部、を備える、
付記13~付記15のいずれか1項に記載の情報処理装置。
【0181】
(付記17)
前記複数のフレーム画像のそれぞれは、超音波画像である、
付記13~付記15のいずれか1項に記載の情報処理装置。
【0182】
(付記18)
前記複数のフレーム画像及び前記複数の対象フレーム画像のそれぞれは、超音波画像である、
付記16に記載の情報処理装置。
【符号の説明】
【0183】
1 情報処理装置
1a、111、113、113’、113” 画像(全体画像)
1b、112 アノテーション画像
2、12 物体検知部
2a~2c、12a~12c 対象周辺画像
2d、12d 対象周辺アノテーション画像
3、13 特徴量出力部
4、14 自己符号化器
5、15 セグメンテーション部
6、17b、18b 加算部
7 サポートモジュール
8 セグメンテーションモジュール
10 サーバ
11 メモリ部
11a モデル情報
11b 訓練データ
11c 入力データ
11d 出力データ
12e 合成画像
12f、114 合成出力画像
12g 差分
12h 切り出し位置情報
14a 出力画像
15a セグメンテーション画像
16 取得部
17 学習部
17a、18a 合成部
18 実行部
19 出力部
20 コンピュータ
110 画像セット
115 セグメンテーション済み画像
130 VGGバックボーン
131、141~146 層
140 オートエンコーダ
171、181 加算処理部
172 差分算出部
173 学習処理部
182 サイズ復元部