(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-24
(45)【発行日】2022-02-01
(54)【発明の名称】信号復元装置、信号復元方法、信号復元プログラム、モデル学習方法、およびモデル学習プログラム
(51)【国際特許分類】
G06N 3/04 20060101AFI20220125BHJP
G06T 5/00 20060101ALI20220125BHJP
G06T 1/40 20060101ALI20220125BHJP
【FI】
G06N3/04
G06T5/00 720
G06T1/40
(21)【出願番号】P 2018046827
(22)【出願日】2018-03-14
【審査請求日】2020-12-21
(73)【特許権者】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100189913
【氏名又は名称】鵜飼 健
(72)【発明者】
【氏名】竹島 秀則
【審査官】多胡 滋
(56)【参考文献】
【文献】特開2015-224909(JP,A)
【文献】特開2016-197381(JP,A)
【文献】特開2017-092622(JP,A)
【文献】国際公開第2013/089263(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00
G06T 5/00
G06T 1/40
(57)【特許請求の範囲】
【請求項1】
入力信号データに第1の復元関数を適用して初期復元信号データを生成し、
前記初期復元信号データと前記入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって第1の要素積信号データを生成し、
前記入力信号データおよび前記初期復元信号データのうちの少なくとも一つと、前記第1の要素積信号データとに第2の復元関数を適用して復元信号データを生成する処理部
を具備する、信号復元装置。
【請求項2】
前記処理部は、前記入力信号データと前記信頼度データとの要素積をとることによって第2の要素積信号データを更に生成し、
前記第2の要素積信号データが生成された場合、
前記処理部は、前記入力信号データおよび前記初期復元信号データのうちの少なくとも一つと、前記第1の要素積信号データと、前記第2の要素積信号データとに前記第2の復元関数を適用して前記復元信号データを生成する、請求項1に記載の信号復元装置。
【請求項3】
入力信号データに第1の復元関数を適用して初期復元信号データを生成し、
前記入力信号データと前記入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって要素積信号データを生成し、
前記初期復元信号データおよび前記要素積信号データに第2の復元関数を適用して復元信号データを生成する処理部
を具備する、信号復元装置。
【請求項4】
前記処理部は、前記入力信号データと前記初期復元信号データと前記要素積信号データとに前記第2の復元関数を適用して前記復元信号データを生成する、請求項3に記載の信号復元装置。
【請求項5】
前記第2の復元関数は、深層ニューラルネットワークによって構成される、請求項1から請求項4までのいずれか一項に記載の信号復元装置。
【請求項6】
前記第2の復元関数は、畳み込みニューラルネットワークによって構成される、請求項1から請求項4までのいずれか一項に記載の信号復元装置。
【請求項7】
前記第2の復元関数は、リカレントニューラルネットワークによって構成される、請求項1から請求項4までのいずれか一項に記載の信号復元装置。
【請求項8】
入力信号データに第1の復元関数を適用して初期復元信号データを生成することと、
前記初期復元信号データと前記入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって第1の要素積信号データを生成することと、
前記入力信号データおよび前記初期復元信号データのうちの少なくとも一つと、前記第1の要素積信号データとに第2の復元関数を適用して復元信号データを生成することと
を具備する、信号復元方法。
【請求項9】
コンピュータを、
入力信号データに第1の復元関数を適用して初期復元信号データを生成する手段と、
前記初期復元信号データと前記入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって第1の要素積信号データを生成する手段と、
前記入力信号データおよび前記初期復元信号データのうちの少なくとも一つと、前記第1の要素積信号データとに第2の復元関数を適用して復元信号データを生成する手段
として機能させる、信号復元プログラム。
【請求項10】
入力信号データおよび前記入力信号データに含まれる劣化の程度を表す信頼度データに、請求項8に記載の信号復元方法を適用することによって、前記復元信号データに相当する推定復元信号データを生成することと、
前記入力信号データに対応する正解出力信号データと前記推定復元信号データとが近似するように、請求項8に記載の前記第2の復元関数のパラメータを更新することと、
更新された前記第2の復元関数に関する学習済みモデルを出力することと
を具備する、モデル学習方法。
【請求項11】
コンピュータを、
入力信号データおよび前記入力信号データに含まれる劣化の程度を表す信頼度データに、請求項9に記載の信号復元プログラムを適用することによって、前記復元信号データに相当する推定復元信号データを生成する手段と、
前記入力信号データに対応する正解出力信号データと前記推定復元信号データとが近似するように、請求項9に記載の前記第2の復元関数のパラメータを更新する手段と、
更新された前記第2の復元関数に関する学習済みモデルを出力する手段
として機能させる、モデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、信号復元装置、信号復元方法、信号復元プログラム、モデル学習方法、およびモデル学習プログラムに関する。
【背景技術】
【0002】
信号の一部が欠損したデータから元の信号を復元するために、多くの学習データから学習した深層ニューラルネットワーク(Deep Neural Network;DNN)を適用する手法がある。例えば、ある画像の一部が欠損しており、且つ欠損している部分が未知の場合に、欠損している部分を補って元の画像を復元する手法がある。また、例えば、磁気共鳴イメージング(Magnetic Resonance Imaging;MRI)において、アンダーサンプリングされたk空間データにDNNを適用して欠損部分が復元されたk空間データを作成し、復元後のk空間データに基づいて復元画像を得る手法がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】Junyuan Xie、外2名、「Image Denoising and Inpainting with Deep Neural Networks」、Advances in Neural Information Processing Systems 25(NIPS 2012)、2012年
【文献】Jo Schlemper、外4名、「A Deep Cascade of Convolutional Neural Networks for MR Image Reconstruction」、arXiv:1703.00555v1[cs.CV]、2017年3月1日
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、信号の復元精度を向上することである。
【課題を解決するための手段】
【0005】
実施形態に係る信号復元装置は、処理部を備える。処理部は、入力信号データに第1の復元関数を適用して初期復元信号データを生成し、初期復元信号データと入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって第1の要素積信号データを生成し、入力信号データおよび初期復元信号データのうちの少なくとも一つと、第1の要素積信号データとに第2の復元関数を適用して復元信号データを生成する。
【図面の簡単な説明】
【0006】
【
図1】
図1は、第1の実施形態に係る信号復元装置の構成例を示す図。
【
図2】
図2は、第1の実施形態における学習済みモデルの入力と出力との組合せの一例を示す図。
【
図3】
図3は、第1の実施形態における学習済みモデルの入力と出力との組合せの具体例を示す図。
【
図4】
図4は、第1の実施形態における学習済みモデルの構成の一例を示す図。
【
図5】
図5は、
図4の学習済みモデルの構成における信号復元処理の流れを示す図。
【
図9】
図9は、
図4の復元関数R
(1)の具体的な構成例を示す図。
【
図10】
図10は、第1の実施形態における畳み込みニューラルネットワーク(Convolution Neural Network;CNN)の構成例を示す図。
【
図11】
図11は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図13】
図13は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図15】
図15は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図17】
図17は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図19】
図19は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図20】
図20は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図21】
図21は、第1の実施形態における学習済みモデルの構成の別の例を示す図。
【
図22】
図22は、第1の実施形態に係るモデル学習装置の構成例を示す図。
【
図23】
図23は、
図22のモデル学習装置の処理回路がモデル学習プログラムに従い実行するモデル学習処理の一例を示す図。
【
図24】
図24は、第2の実施形態に係る医用画像診断装置の構成例を示す図。
【
図25】
図25は、
図24の医用撮像装置が磁気共鳴イメージング(Magnetic Resonance Imaging;MRI)装置である場合の、学習済みモデルにおける復元関数の構成の一例を示す図。
【
図27】
図27は、
図24の医用撮像装置がMRI装置である場合の、欠損部分を含むk空間データの具体例を示す図。
【
図28】
図28は、
図24の医用撮像装置がコンピュータ断層撮影(Computerized Tomography;CT)装置である場合の、学習済みモデルにおける復元関数の構成の一例を示す図。
【
図29】
図29は、
図24の医用撮像装置がCT装置である場合の、欠損部分を含むサイノグラムデータの具体例を示す図。
【
図30】
図30は、第3の実施形態に係る距離画像撮影システムの構成例を示す図。
【
図31】
図31は、第3の実施形態における、距離画像データと信頼度データとの一例を示す図。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら、信号復元装置、信号復元方法、信号復元プログラム、モデル学習方法、およびモデル学習プログラムの実施形態について詳細に説明する。
【0008】
(第1の実施形態)
図1は、第1の実施形態に係る信号復元装置の構成例を示す図である。
図1の信号復元装置1は、DNNにおける順伝播機能を備えた装置である。信号復元装置1は、特定用途向け集積回路(Application Specific Integrated Circuit;ASIC)やFPGA(Field-Programmable Gate Array)などの集積回路により実現される。以下、信号復元装置1は、ASICであるとする。
【0009】
図1に示すように、本実施形態に係る信号復元装置1は、処理回路11と、メモリ12と、入力インタフェース13と、出力インタフェース14とを備える。処理回路11と、メモリ12と、入力インタフェース13と、出力インタフェース14とは、バスを介して互いに接続されている。
【0010】
処理回路11は、順伝播機能11aを実行するために設計された回路素子または論理回路の組合せである。順伝播機能11aは、例えば、DNNにおける順伝播型ネットワークの学習済み機械学習モデル(以降では、学習済みモデルと呼ぶ)を用いて、入力に対する出力を推定(生成)する機能である。尚、処理回路11は、処理部の実現手段の一例である。
【0011】
図2は、第1の実施形態における学習済みモデルの入力と出力との組合せの一例を示す図である。
図2の学習済みモデル2は、処理回路11の順伝播機能11aにおいて用いられる。処理回路11は、入力インタフェース13を介して入力された入力信号と当該入力信号に関する信頼度データとに、学習済みモデル2を適用して出力信号(復元信号)を生成する。そして、処理回路11は、生成した復元信号を、出力インタフェース14を介して出力する。尚、入力信号および復元信号は、入力信号データおよび復元信号データと呼ばれてもよい。
【0012】
信頼度データは、入力信号の信頼度を示すデータである。信頼度は、例えば入力信号に含まれる劣化の程度を表す。具体的には、信頼度データは、例えば入力信号における欠損部分と当該欠損部分以外の部分とを示す情報を有する。欠損部分とは、例えばデータが欠損している部分や復元したい対象物の値(例えば、画素値)とは異なる値を有する部分などである。信頼度データは、例えば、欠損部分を「ゼロ」で表し、当該欠損以外の部分を「1」で表したマスクデータとして表現できる。即ち、欠損部分を有する入力信号は、復元信号にマスクデータを適用した信号と考えることができる。このことから、入力信号を「劣化信号」と表現することもある。
【0013】
また、信頼度データは、例えば入力信号の確からしさを示す情報を有してもよい。このとき、信頼度データは、信号の確からしさを「ゼロ」から「1」までの数値(例えば、不動小数値)で表したマスクデータとして表現する。例えば、入力信号が画像に相当するデータ(入力画像)として表現される場合、信頼度データは、入力画像の画素位置に対応する位置(例えば、ベクトルの要素の位置)に数値情報を有する。
【0014】
信頼度データとして、欠損部分を「ゼロ」および欠損部分以外の部分を「1」と表現し、入力信号の確からしさを「ゼロ」から「1」までの数値で表現したが、これに限らない。信頼度データは、「欠損部分」、「欠損以外の部分」、および「入力信号の確からしさ」にそれぞれ対応する数値が定義されていればどのような数値で表現されてもよい。
【0015】
順伝播機能11aにおいて処理回路11は、入力信号と信頼度データとの入力を受け付ける。そして、処理回路11は、入力信号と信頼度データとに学習済みモデル2を適用し、入力信号に対応する復元信号を生成する。復元信号は、入力信号に含まれる信号欠損部分が復元された信号である。即ち、学習済みモデル2は、信号欠損を含む入力信号と当該信号欠損を特定する信頼度データとを入力して、当該信号欠損を含まない信号を出力できるようにパラメータが学習されたDNNである。パラメータとは、例えば順伝播型ネットワークにおける重み付き行列およびバイアスの組合せである。尚、学習済みモデル2は、複数のDNNによって実現されてもよい。
【0016】
メモリ12は、ROM(Read Only Memory)やRAM(Random Access Memory)などの任意の情報を記憶する回路素子である。例えば、メモリ12は、順伝播機能11aの実行時に得られた計算結果などを記憶する。
【0017】
入力インタフェース13は、処理回路11への入力のためのインタフェースである。入力インタフェース13は、例えば、入力信号と信頼度データとを処理回路11に入力する。入力信号と信頼度データとは、例えば、信号復元装置1を搭載するコンピュータにより選択される。
【0018】
出力インタフェース14は、処理回路11からの出力のためのインタフェースである。出力インタフェース14は、例えば、処理回路11から出力された復元信号をコンピュータ、ネットワーク、または記憶装置などに出力する。
【0019】
図3は、第1の実施形態における学習済みモデルの入力と出力との組合せの具体例を示す図である。
図3に示すように、学習済みモデル2は、入力信号yの入力と、信頼度データmの入力とを受け付ける。
【0020】
入力信号yは、例えば医用画像データや距離画像データに相当する。以降において、説明の便宜上、入力信号yを画像データと見做して説明を行う。しかしながら、入力信号は画像データに限定されない。
【0021】
入力信号yは、例えば欠損部分21を含む。欠損部分21は、例えば、マスクされており本来あるべき画素値とは異なる画素値となっている部分や、所望の画像の一部が遮へいされている部分などである。
【0022】
信頼度データmは、例えば、入力信号yの各画素値の信頼度に関するデータである。信頼度データmは、欠損データ22と収集データ23とを含む。欠損データ22は、入力信号yの欠損部分21に対応し、例えば「ゼロ」の数値で表現される。収集データ23は、欠損部分21以外の部分に対応し、例えば「1」の数値で表現される。
【0023】
入力信号yと信頼度データmとに学習済みモデル2が適用され、入力信号yに対応する復元信号xが生成される。復元信号xは、入力信号yに含まれる欠損部分21が復元された、当該入力信号yに対応する。
【0024】
図4は、第1の実施形態における学習済みモデルの構成の一例を示す図である。
図4に示すように、学習済みモデル2Aは、任意のデータに対して、復元関数R
(0)を適用する処理と、演算関数G
(i)および復元関数R
(i)の組合せをn回適用する処理とで構成される(i=1~n(nは1以上の整数))。尚、前述の「パラメータが学習されたDNN」とは、上記各関数のパラメータが最適化されているDNNと同様の意味である。また、復元関数R
(0)は第1の復元関数と称されてもよく、復元関数R
(i)は第2の復元関数と称されてもよい。
【0025】
復元関数R(0)は、例えばDNNにより構成される。復元関数R(0)は、入力信号yから復元信号x0を生成する演算を行う。復元信号x0は、例えば入力信号yにDNNを適用して生成される。処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。尚、復元信号x0は、初期復元信号、或いは初期復元信号データと呼ばれてもよい。
【0026】
また、復元関数R(0)は、DNNで構成されなくてもよい。復元関数R(0)が、DNNで構成されない場合、復元信号x0は、例えば入力信号yに含まれる欠損部分を推定して当該欠損部分を近傍の信号値で置き換える処理をして生成される。また、復元信号x0は、入力信号yに任意のフィルタを適用して生成されてもよい。
【0027】
演算関数G(i)は、復元信号xi-1と信頼度データmとの要素積(これはアダマール積とも称する)を行うことによってマスク信号mai(第1の要素積信号とも称する)を生成する演算を行う。マスク信号maiは、例えば信頼度データmに基づいて、復元信号xi-1におけるマスクされている部分(或いは欠損部分)が抽出されたものである。処理回路11は、信頼度データmおよび復元信号xi-1に演算関数G(i)を適用してマスク信号maiを生成する。尚、マスク信号および第1の要素積信号は、マスク信号データおよび第1の要素積信号データと呼ばれてもよい。
【0028】
要素積をとる(要素積を算出する)2つのデータの要素の数は等しいことが望ましい。しかしながら、2つのデータの要素の数は異なっていてもよい。2つのデータの要素の数が異なる場合、一方のデータの要素の数に他方のデータの要素の数を一致させるなどの処理を行ったうえで要素積を行えばよい。
【0029】
復元関数R(i)は、例えばDNNにより構成される。復元関数R(i)は、入力信号y、復元信号xi-1、およびマスク信号maiから復元信号xiを生成する演算を行う。復元信号xiは、例えば入力信号y、復元信号xi-1、およびマスク信号maiにDNNを適用して生成される。処理回路11は、入力信号y、直前の復元関数R(i-1)から出力された復元信号xi-1、およびマスク信号maiに復元関数R(i)を適用して復元信号xiを生成する。尚、復元関数R(n)によって生成された復元信号xnは、出力信号xに相当する。
【0030】
復元関数R(0)および復元関数R(i)などで用いられるDNNは、多数の関数を組み合わせた合成関数で表すことができる。当該多数の関数には、例えば、線形結合(Linear Function)、畳み込み(convolution)、ReLU(Rectified Linear Unit)などが用いられ、各々はレイヤとも呼ばれる。特に、convolutionやReLUを備えたDNNを、CNNと呼ぶ。復元関数R(0)および復元関数R(i)は、CNNが用いられてもよい。尚、DNNは、パラメータ付き合成関数として表現されてもよい。
【0031】
復元関数R(i)におけるそれぞれの関数は、すべて異なる関数である。しかし、これらの関数は、必ずしもすべて異なる関数とする必要はない。復元関数R(i)におけるそれぞれの関数は、例えば、リカレントネットワーク用の関数(例えば、LSTM(Long Short Term Memory))を含めたうえで、同じ関数を用いてもよい。尚、復元関数R(0)についても同様に上記関数に含めてもよい。
【0032】
図5は、
図4の学習済みモデル2Aの構成における信号復元処理の流れを示す図である。ユーザにより入力インタフェース13を介して信号復元処理の開始指示がなされると、処理回路11は、順伝播機能11aを実行し、
図5に示す処理を開始する。
【0033】
(ステップSA1)
処理回路11は、入力信号yおよび信頼度データmを入力する。
【0034】
(ステップSA2)
処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。
【0035】
図6は、
図4の復元関数R
(0)に関する説明図である。
図6に示すように、処理回路11は、入力信号yに復元関数R
(0)を適用して復元信号x
0を生成する。
【0036】
(ステップSA3)
処理回路11は、変数iに「1」を代入する。
【0037】
(ステップSA4)
処理回路11は、信頼度データmおよび復元信号xi-1に演算関数G(i)を適用してマスク信号maiを生成する。例えば、変数iに「1」が代入されている場合、処理回路11は、信頼度データmおよび復元信号x0に演算関数G(1)を適用してマスク信号ma1を生成する。例えば、演算関数G(1)は、信頼度データmと復元信号x0との要素積を行い、マスク信号ma1を生成する関数である。
【0038】
なお、学習済みモデルにおいて演算関数G(i)を2つ以上実装する場合(即ち、i≧2)、各々の演算関数における信頼度データに対して異なる重みづけをしてもよい。演算関数G(i)を3つ実装する場合、例えば、演算関数G(1)は「1×m」の重みとし、演算関数G(2)は「(0.8×m)+0.2」の重みとし、演算関数G(3)は「(0.6×m)+0.4」の重みとする。演算関数G(i)の重みは、典型的には入力から出力にかけて小さくなるように設定されるが、当該設定に限定されない。
【0039】
図7は、
図4の演算関数G
(1)に関する説明図である。
図7に示すように、処理回路11は、信頼度データmおよび復元信号x
0に演算関数G
(1)を適用してマスク信号ma
1を生成する。具体的には、処理回路11は、復元信号x
0の欠損部分24を抽出するために信頼度データmの欠損データ22を用いて、欠損部分24に対応する欠損部分25のみが抽出されたマスク信号ma
1を生成する。
【0040】
上記では演算関数G
(1)を例に用いて説明したが、
図4に図示した通り、演算関数G
(2)から演算関数G
(n)の各々についても同様の手法を用いることが可能である。
【0041】
(ステップSA5)
処理回路11は、入力信号yと復元信号xi-1とマスク信号maiとに復元関数R(i)を適用して復元信号xiを生成する。例えば、変数iに「1」が代入されている場合、処理回路11は、入力信号yと復元信号x0とマスク信号ma1とに復元関数R(1)を適用して復元信号x1を生成する。
【0042】
図8は、
図4の復元関数R
(1)に関する説明図である。
図8に示すように、処理回路11は、入力信号yと復元信号x
0とマスク信号ma
1とに復元関数R
(1)を適用して復元信号x
1を生成する。
【0043】
図9は、
図4の復元関数R
(1)の具体的な構成例を示す図である。
図9に示すように、第1の実施形態に係る復元関数R
(1)は、入力層31と、中間層32と、出力層33とを有する。
【0044】
入力層31は、入力信号yと、復元信号x0と、マスク信号ma1とを入力する。例えば、入力信号yと、復元信号x0と、マスク信号ma1との成分(例えば、信号値)は、単一の入力ベクトル310として入力層31に入力される。ここで、入力信号yの成分がN個、復元信号x0の成分がN個、マスク信号ma1の成分がN個であるとすると、入力層31には3・N個の入力ユニットが設けられる。
【0045】
入力層31は、入力信号yのための入力ユニットの範囲(第1の入力範囲)310aと、復元信号x0のための入力ユニットの範囲(第2の入力範囲)310bと、マスク信号ma1のための入力ユニットの範囲(第3の入力範囲)310cとに区分される。
【0046】
第1の入力範囲310aは、入力信号yのI番目の信号値yI(1≦I≦N)が入力されるN個の入力ユニットを含む。第2の入力範囲310bは、復元信号x0のJ番目の信号値x0_J(1≦J≦N)が入力されるN個の入力ユニットを含む。第3の入力範囲310cは、マスク信号ma1のK番目の信号値ma1_K(1≦K≦N)が入力されるN個の入力ユニットを含む。尚、画像を復元関数R(1)に入力する場合、成分は画素値である。
【0047】
出力層33は、復元信号x1を出力する。復元信号x1は、単一の出力ベクトル330の形態で出力層33から出力される。出力ベクトル330は、複数の信号値x1_J(1≦J≦N)を含む。各信号値x1_Jは、復元信号x1の各信号の信号値である。出力層33の出力ユニットの範囲(出力範囲)330aは、単一の復元信号x1のための範囲に限定される。
【0048】
第1の入力範囲310aへの入力と、第2の入力範囲310bへの入力と、第3の入力範囲310cとへの入力との組合せは、復元関数R(1)の適用時と学習時とで等しいことを期待している。例えば、復元関数R(1)の学習において、入力ベクトルを[入力信号y,復元信号x0,マスク信号ma1]とした場合、復元関数R(1)の適用時においても、入力ベクトルを[入力信号y,復元信号x0,マスク信号ma1]とし、[復元信号x0,入力信号y,マスク信号ma1]とすることは可能であるが、期待する結果が得られない可能性がある。また、復元関数R(1)の適用時と学習時とで入力層へ入力されるベクトルの要素の順番が等しければ、当該ベクトルの要素の順番は上記に拘泥されない。
【0049】
上記では復元関数R
(1)を例に用いて説明したが、
図4に図示した通り、復元関数R
(2)から復元関数R
(n)の各々についても同様の手法を用いることが可能である。
【0050】
(ステップSA6)
処理回路11は、変数iに所定の数「n」が代入されているか否かを判定する。変数iに所定の数「n」が代入されている場合(ステップSA6「YES」)、処理回路11は、ステップSA8の処理を行う。変数iに任意の数「n」が代入されていない場合(ステップSA6「NO」)、処理回路11は、ステップSA7の処理を行う。
【0051】
(ステップSA7)
処理回路11は、変数iをインクリメントする。例えば、変数iに「1」が代入されている場合、処理回路11は、変数iに「2」を代入する。ステップSA7の処理の後、処理はステップSA4へと戻る。
【0052】
(ステップSA8)
処理回路11は、復元関数R(n)によって生成された復元信号xnを出力信号xとして出力する。
【0053】
図10は、第1の実施形態におけるCNNの構成例を示す図である。
図10のCNN4は、例えば復元関数R
(0)や復元関数R
(i)で用いられ、特に、入力信号および復元信号が画像データの場合に適している。
【0054】
図10に示すように、CNN4は、畳み込み演算(convolution)41と、正規化線形関数(Rectified Linear Unit;ReLU)42と、convolution43と、ReLU44と、加算部45とを備える。尚、CNN4は、入力層および出力層などの図示を省略している。また、CNN4は、加算部45を備えなくてもよい。
【0055】
convolution41は、入力画像のマトリクスサイズよりも小さいカーネルサイズを有するフィルタを用いて、当該入力画像の特徴を抽出する。具体的には、convolution41は、入力画像とフィルタとの重なり合う画素同士の積を求め、フィルタ全体の和を求めることによって、当該入力画像の特徴となり得る特徴量を算出する。
【0056】
ReLU42は、入力された信号値のうちゼロ以上の値をそのまま出力し、それ以外の値をゼロとして出力する。具体的には、ReLU42は、convolution41によって算出された特徴量のうちゼロ以上の値をそのまま出力し、それ以外の値をゼロとして出力する。
【0057】
convolution43およびReLU44は、入力されるデータが異なる点を除き、convolution41およびReLU42とほぼ同様の処理を行う。
【0058】
加算部45は、ReLU44の出力に対して入力画像の画素値を加算する。加算部45を用いることによって、CNN4は、ある層からの最適な出力を学習するのではなく、ある層の入力を参照した関数を学習することができる。
【0059】
図11は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図11に示すように、学習済みモデル2Bは、任意のデータに対して、復元関数R
(0)を適用する処理と、演算関数G
(i)および復元関数R
(i)の組合せをn回適用する処理とで構成される(i=1~n(nは1以上の整数))。学習済みモデル2Bは、復元関数R
(i)への入力が異なる点について学習済みモデル2Aとは異なる。
【0060】
学習済みモデル2Bにおいて、復元関数R(i)は、入力信号yおよびマスク信号maiから復元信号xiを生成する関数である。復元信号xiは、例えば入力信号yおよびマスク信号maiにDNNを適用して生成される。処理回路11は、入力信号yおよびマスク信号maiに復元関数R(i)を適用して復元信号xiを生成する。
【0061】
図12は、
図11の学習済みモデル2Bの構成における信号復元処理の流れを示す図である。ユーザにより入力インタフェース13を介して信号復元処理の開始指示がなされると、処理回路11は、順伝播機能11aを実行し、
図12に示す処理を開始する。
【0062】
(ステップSB1)
処理回路11は、入力信号yおよび信頼度データmを入力する。
【0063】
(ステップSB2)
処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。
【0064】
(ステップSB3)
処理回路11は、変数iに「1」を代入する。
【0065】
(ステップSB4)
処理回路11は、信頼度データmおよび復元信号xi-1に演算関数G(i)を適用してマスク信号maiを生成する。
【0066】
(ステップSB5)
処理回路11は、入力信号yおよびマスク信号maiに復元関数R(i)を適用して復元信号xiを生成する。
【0067】
(ステップSB6)
処理回路11は、変数iに所定の数「n」が代入されているか否かを判定する。変数iに所定の数「n」が代入されている場合(ステップSB6「YES」)、処理回路11は、ステップSB8の処理を行う。変数iに任意の数「n」が代入されていない場合(ステップSB6「NO」)、処理回路11は、ステップSB7の処理を行う。
【0068】
(ステップSB7)
処理回路11は、変数iをインクリメントする。ステップSB7の処理の後、処理はステップSB4へと戻る。
【0069】
(ステップSB8)
処理回路11は、復元関数R(n)によって生成された復元信号xnを出力信号xとして出力する。
【0070】
図13は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図13に示すように、学習済みモデル2Cは、任意のデータに対して、演算関数G
(0)を適用する処理と、復元関数R
(i)をn回適用する処理とで構成される(i=1~n(nは1以上の整数))。学習済みモデル2Cは、演算関数G
(i)を利用せず、演算関数G
(0)を利用する点において、学習済みモデル2Aとは異なる。
【0071】
演算関数G(0)は、入力信号yと信頼度データmとの要素積を行い、マスク信号ma0(第2の要素積信号、或いは要素積信号とも称する)を生成する関数である。このとき、2つのデータの要素の数の条件は、演算関数G(i)の場合と同様である。処理回路11は、入力信号yと信頼度データmに演算関数G(0)を適用してマスク信号ma0を生成する。尚、第2の要素積信号および要素積信号は、第2の要素積信号データおよび要素積信号データと呼ばれてもよい。
【0072】
学習済みモデル2Cにおいて、復元関数R(i)は、入力信号y、復元信号xi-1、およびマスク信号ma0から復元信号xiを生成する関数である。復元信号xiは、例えば入力信号y、復元信号xi-1、およびマスク信号ma0にDNNを適用して生成される。処理回路11は、入力信号y、復元信号xi-1、およびマスク信号ma0に復元関数R(i)を適用して復元信号xiを生成する。
【0073】
図14は、
図13の学習済みモデル2Cの構成における信号復元処理の流れを示す図である。ユーザにより入力インタフェース13を介して信号復元処理の開始指示がなされると、処理回路11は、順伝播機能11aを実行し、
図14に示す処理を開始する。
【0074】
(ステップSC1)
処理回路11は、入力信号yおよび信頼度データmを入力する。
【0075】
(ステップSC2)
処理回路11は、入力信号yおよび信頼度データmに演算関数G(0)を適用してマスク信号ma0を生成する。
【0076】
(ステップSC3)
処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。
【0077】
(ステップSC4)
処理回路11は、変数iに「1」を代入する。
【0078】
(ステップSC5)
処理回路11は、入力信号yと復元信号xi-1とマスク信号ma0とに復元関数R(i)を適用して復元信号xiを生成する。
【0079】
(ステップSC6)
処理回路11は、変数iに所定の数「n」が代入されているか否かを判定する。変数iに所定の数「n」が代入されている場合(ステップSC6「YES」)、処理回路11は、ステップSC8の処理を行う。変数iに任意の数「n」が代入されていない場合(ステップSC6「NO」)、処理回路11は、ステップSC7の処理を行う。
【0080】
(ステップSC7)
処理回路11は、変数iをインクリメントする。ステップSC7の処理の後、処理はステップSC5へと戻る。
【0081】
(ステップSC8)
処理回路11は、復元関数R(n)によって生成された復元信号xnを出力信号xとして出力する。
【0082】
図15は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図15に示すように、学習済みモデル2Dは、任意のデータに対して、演算関数G
(0)を適用する処理と、復元関数R
(0)を適用する処理と、演算関数G
(i)および復元関数R
(i)の組合せをn回適用する処理とで構成される(i=1~n(nは1以上の整数))。学習済みモデル2Dは、演算関数G
(0)をさらに利用する点において、学習済みモデル2Aとは異なる。尚、
図15の演算関数G
(0)は、
図13の演算関数G
(0)と同様の働きをするため説明を省略する。
【0083】
学習済みモデル2Dにおいて、復元関数R(i)は、入力信号y、マスク信号mai、およびマスク信号ma0から復元信号xiを生成する。復元信号xiは、例えば入力信号y、マスク信号mai、およびマスク信号ma0にDNNを適用して生成される。処理回路11は、入力信号y、マスク信号mai、およびマスク信号ma0に復元関数R(i)を適用して復元信号xiを生成する。
【0084】
図16は、
図15の学習済みモデル2Dの構成における信号復元処理の流れを示す図である。ユーザにより入力インタフェース13を介して信号復元処理の開始指示がなされると、処理回路11は、順伝播機能11aを実行し、
図16に示す処理を開始する。
【0085】
(ステップSD1)
処理回路11は、入力信号yおよび信頼度データmを入力する。
【0086】
(ステップSD2)
処理回路11は、入力信号yおよび信頼度データmに演算関数G(0)を適用してマスク信号ma0を生成する。
【0087】
(ステップSD3)
処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。
【0088】
(ステップSD4)
処理回路11は、変数iに「1」を代入する。
【0089】
(ステップSD5)
処理回路11は、信頼度データmおよび復元信号xi-1に演算関数G(i)を適用してマスク信号maiを生成する。
【0090】
(ステップSD6)
処理回路11は、入力信号yとマスク信号maiとマスク信号ma0とに復元関数R(i)を適用して復元信号xiを生成する。
【0091】
(ステップSD7)
処理回路11は、変数iに所定の数「n」が代入されているか否かを判定する。変数iに所定の数「n」が代入されている場合(ステップSD7「YES」)、処理回路11は、ステップSD9の処理を行う。変数iに任意の数「n」が代入されていない場合(ステップSD7「NO」)、処理回路11は、ステップSD8の処理を行う。
【0092】
(ステップSD8)
処理回路11は、変数iをインクリメントする。ステップSD8の処理の後、処理はステップSD5へと戻る。
【0093】
(ステップSD9)
処理回路11は、復元関数R(n)によって生成された復元信号xnを出力信号xとして出力する。
【0094】
図17は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図17に示すように、学習済みモデル2Eは、任意のデータに対して、演算関数G
(0)を適用する処理と、復元関数R
(0)を適用する処理と、演算関数G
(i)および復元関数R
(i)の組合せをn回適用する処理とで構成される(i=1~n(nは1以上の整数))。学習済みモデル2Eは、復元関数R
(i)への入力が異なる点について学習済みモデル2Dとは異なる。
【0095】
学習済みモデル2Eにおいて、復元関数R(i)は、入力信号y、復元信号xi-1、マスク信号mai、およびマスク信号ma0から復元信号xiを生成する。復元信号xiは、例えば入力信号y、復元信号xi-1、マスク信号mai、およびマスク信号ma0にDNNを適用して生成される。処理回路11は、入力信号y、復元信号xi-1、マスク信号mai、およびマスク信号ma0に復元関数R(i)を適用して復元信号xiを生成する。
【0096】
図18は、
図17の学習済みモデル2Eの構成における信号復元処理の流れを示す図である。ユーザにより入力インタフェース13を介して信号復元処理の開始指示がなされると、処理回路11は、順伝播機能11aを実行し、
図18に示す処理を開始する。
【0097】
(ステップSE1)
処理回路11は、入力信号yおよび信頼度データmを入力する。
【0098】
(ステップSE2)
処理回路11は、入力信号yおよび信頼度データmに演算関数G(0)を適用してマスク信号ma0を生成する。
【0099】
(ステップSE3)
処理回路11は、入力信号yに復元関数R(0)を適用して復元信号x0を生成する。
【0100】
(ステップSE4)
処理回路11は、変数iに「1」を代入する。
【0101】
(ステップSE5)
処理回路11は、信頼度データmおよび復元信号xi-1に演算関数G(i)を適用してマスク信号maiを生成する。
【0102】
(ステップSE6)
処理回路11は、入力信号yと復元信号xi-1とマスク信号maiとマスク信号ma0とに復元関数R(i)を適用して復元信号xiを生成する。
【0103】
(ステップSE7)
処理回路11は、変数iに所定の数「n」が代入されているか否かを判定する。変数iに所定の数「n」が代入されている場合(ステップSE7「YES」)、処理回路11は、ステップSE9の処理を行う。変数iに任意の数「n」が代入されていない場合(ステップSE7「NO」)、処理回路11は、ステップSE8の処理を行う。
【0104】
(ステップSE8)
処理回路11は、変数iをインクリメントする。ステップSE8の処理の後、処理はステップSE5へと戻る。
【0105】
(ステップSE9)
処理回路11は、復元関数R(n)によって生成された復元信号xnを出力信号xとして出力する。
【0106】
図19は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図19に示すように、学習済みモデル2Fは、復元関数R
(i)への入力が異なる点について学習済みモデル2Aとは異なる。
【0107】
学習済みモデル2Fにおいて、復元関数R(i)は、復元信号xi-1およびマスク信号maiから復元信号xiを生成する。復元信号xiは、例えば復元信号xi-1およびマスク信号maiにDNNを適用して生成される。処理回路11は、復元信号xi-1およびマスク信号maiに復元関数R(i)を適用して復元信号xiを生成する。
【0108】
図20は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図20に示すように、学習済みモデル2Gは、復元関数R
(i)への入力が異なる点について学習済みモデル2Cとは異なる。
【0109】
学習済みモデル2Gにおいて、復元関数R(i)は、復元信号xi-1およびマスク信号ma0から復元信号xiを生成する。復元信号xiは、例えば復元信号xi-1およびマスク信号ma0にDNNを適用して生成される。処理回路11は、復元信号xi-1およびマスク信号ma0に復元関数R(i)を適用して復元信号xiを生成する。
【0110】
図21は、第1の実施形態における学習済みモデルの構成の別の例を示す図である。
図21に示すように、学習済みモデル2Hは、復元関数R
(i)への入力が異なる点について学習済みモデル2Eとは異なる。
【0111】
学習済みモデル2Hにおいて、復元関数R(i)は、復元信号xi-1、マスク信号mai、およびマスク信号ma0から復元信号xiを生成する。復元信号xiは、例えば復元信号xi-1、マスク信号mai、およびマスク信号ma0にDNNを適用して生成される。処理回路11は、復元信号xi-1、マスク信号mai、およびマスク信号ma0に復元関数R(i)を適用して復元信号xiを生成する。
【0112】
図22は、第1の実施形態に係るモデル学習装置の構成例を示す図である。
図22のモデル学習装置5は、ハードウェア資源として、処理回路51と、メモリ52と、入力インタフェース53と、通信インタフェース54と、ディスプレイ55とを備える。処理回路51と、メモリ52と、入力インタフェース53と、通信インタフェース54と、ディスプレイ55とは、バスを介して互いに接続されている。
【0113】
処理回路51は、CPUやGPU等のプロセッサを有する。当該プロセッサがメモリ52などにインストールされたDNN復元プログラムを起動することにより順伝播機能51a、逆伝播機能51b、更新機能51c、判定機能51d、および表示制御機能51eなどを実行する。尚、順伝播機能51a、逆伝播機能51b、更新機能51c、判定機能51d、および表示制御機能51eは、単一の処理回路で実現される場合に限らない。複数の独立したプロセッサを組み合わせて処理回路を構成し、各プロセッサがプログラムを実行することにより順伝播機能51a、逆伝播機能51b、更新機能51c、判定機能51d、および表示制御機能51eを実現するものとしても構わない。尚、処理回路51は、処理部の実現手段の一例である。
【0114】
順伝播機能51aにおいて処理回路51は、DNNに入力信号および信頼度データを順伝播し、入力信号に対応する推定出力信号を生成する。尚、当該DNNは、パラメータが学習されていない、或いは学習途中のDNNである。また、当該DNNは、前述の学習済みモデル2Aから学習済みモデル2Hまでのいずれかの構成を用いるが、各関数のパラメータは初期値であるか、或いは最適化されていない。尚、推定出力信号は、推定出力信号データと呼ばれてもよい。
【0115】
逆伝播機能51bにおいて処理回路51は、DNNに誤差を逆伝播し、勾配ベクトルを計算する。誤差は、順伝播機能51aにより計算された推定出力信号と正解出力信号との差分に規定される。尚、正解出力信号は、正解出力信号データと呼ばれてもよい。
【0116】
更新機能51cにおいて処理回路51は、逆伝播機能51bにより計算された勾配ベクトルに基づいてDNNのパラメータを更新する。具体的には、処理回路51は、推定出力信号と正解出力信号とが近似するようにパラメータを更新する。更新方法としては、例えば、SGD(Stochastic gradient descent)やAdam(Adaptive Moment Estimation)を利用することができる。
【0117】
判定機能51dにおいて処理回路51は、学習処理の終了条件を満たすか否かを判定する。終了条件は、ユーザにより入力機器等を介して任意に設定可能である。
【0118】
表示制御機能51eにおいて処理回路51は、種々の情報をディスプレイ55に表示する。例えば、処理回路51は、学習データや学習結果をディスプレイ55に表示する。
【0119】
メモリ52は、種々の情報を記憶するROMやRAM、HDD、SSD、集積回路記憶装置等の記憶装置である。メモリ52は、例えば、DNNの学習のためのモデル学習プログラム52aを記憶する。メモリ52は、上記記憶装置以外にも、CD、DVD、フラッシュメモリ等の可搬型記憶媒体や、RAM等の半導体メモリ素子等との間で種々の情報を読み書きする駆動装置であってもよい。また、メモリ52は、モデル学習装置5にネットワークを介して接続された他のコンピュータ内にあってもよい。
【0120】
入力インタフェース53は、ユーザからの各種の入力操作を受け付け、受け付けた入力操作を電気信号に変換して処理回路51に出力する。具体的には、入力インタフェース53は、マウス、キーボード、トラックボール、スイッチ、ボタン、ジョイスティック、タッチパッド及びタッチパネルディスプレイ等の入力機器に接続されている。入力インタフェース53は、当該入力機器への入力操作に応じた電気信号を処理回路51へ出力する。また、入力インタフェース53に接続される入力機器は、ネットワーク等を介して接続された他のコンピュータに設けられた入力機器でもよい。
【0121】
通信インタフェース54は、医用撮像装置や距離画像撮影装置などの他のコンピュータとの間でデータ通信するためのインタフェースである。
【0122】
ディスプレイ55は、処理回路51の表示制御機能51eに従い種々の情報を表示する。例えば、ディスプレイ55は、学習データや学習結果を表示する。また、ディスプレイ55は、ユーザからの各種操作を受け付けるためのGUI等を出力する。例えば、ディスプレイ55としては、液晶ディスプレイ、CRTディスプレイ、有機ELディスプレイ、プラズマディスプレイ又は他の任意のディスプレイが適宜使用可能である。
【0123】
なお、
図22のモデル学習装置5は、入力インタフェース53およびディスプレイ55を備えなくてもよい。入力インタフェース53およびディスプレイ55を備えない場合、モデル学習装置5は、ASICやFPGAなどの集積回路により実現されてもよく、通信インタフェース54は、前述の入力インタフェース13および出力インタフェース14の両方の機能を兼ねてもよい。モデル学習装置5がASICである場合、処理回路51は、順伝播機能51a、逆伝播機能51b、更新機能51c、および判定機能51dを実行するために設計された回路素子または論理回路の組合せである。
【0124】
図23は、
図22のモデル学習装置の処理回路がモデル学習プログラムに従い実行するモデル学習処理の一例を示す図である。
図23の処理は、ユーザなどによりモデル学習処理の開始指示が入力されることを契機として、処理回路51がモデル学習プログラム52aを実行することにより開始される。尚、複数の学習データは、例えばメモリ52や外部の記憶装置などに記憶されている。
【0125】
(ステップSF1)
処理回路51は、DNNの各パラメータを初期化する。パラメータの初期化には、例えば疑似乱数を用いることができる。
【0126】
(ステップSF2)
処理回路51は、複数の学習データ(入力信号y、信頼度データm、および正解出力信号xansの組)を入力する。正解出力信号xansは、入力信号yおよび信頼度データmを入力してDNNから出力される望ましい出力信号である。
【0127】
(ステップSF3)
処理回路51は、複数の学習データを、疑似乱数を用いて並べ替える。具体的には、処理回路51は、複数の学習データの並びを、疑似乱数で生成した順序で並べ替える。
【0128】
(ステップSF4)
処理回路51は、複数の学習データから所定の数の学習データを抽出する。このとき、所定の数をミニバッチサイズと呼び、抽出された学習データの集合をミニバッチと呼ぶ。換言すると、処理回路51は、複数の学習データからミニバッチを抽出する。
【0129】
(ステップSF5)
順伝播機能51aにおいて処理回路51は、入力信号yと信頼度データmとに基づくDNNの順伝播により推定出力信号xestを生成する。
【0130】
(ステップSF6)
逆伝播機能51bにおいて処理回路51は、ステップSF5で生成された推定出力信号xestと、ステップSF2で入力された正解出力信号xansとの誤差を計算する。具体的には、処理回路51は、正解出力信号xansから推定出力信号xestを減算して、誤差を算出する。
【0131】
(ステップSF7)
処理回路51は、ステップSF6において計算された誤差に基づくDNNの逆伝播により勾配ベクトルを計算する。
【0132】
(ステップSF8)
更新機能51cにおいて処理回路51は、ステップSF7において計算された勾配ベクトルに基づきパラメータを更新する。
【0133】
(ステップSF9)
判定機能51dにおいて処理回路51は、第1の終了条件を満たすか否かを判定する。第1の終了条件は、例えば、複数の学習データからミニバッチを全て抽出することに設定されてもよい。
【0134】
ステップSF9において第1の終了条件を満たさないと判定された場合(ステップSF9「NO」)、処理回路11は、同一のミニバッチ又は他のミニバッチを用いて、ステップSF4からステップSF9までの処理を繰り返す。
【0135】
ステップSF9において第1の終了条件を満たすと判定された場合(ステップSF9「YES」)、処理はステップSF10へと進む。
【0136】
(ステップSF10)
判定機能51dにおいて処理回路51は、第2の終了条件を満たすか否かを判定する。第2の終了条件は、例えば、繰り返し数(これは、エポック(epoch)数とも称する)が規定回数に達したことに設定されてもよい。
【0137】
ステップSF10において第2の終了条件を満たさないと判定された場合(ステップSF10「NO」)、処理回路11は、ステップSF3からステップSF9までの処理を繰り返す。
【0138】
ステップSF10において第2の終了条件を満たすと判定された場合(ステップSF10「YES」)、処理はステップSF11へと進む。
【0139】
(ステップSF11)
処理回路51は、更新後のDNNを学習済みDNNとして出力する。学習済みDNNは、例えばメモリ52や外部の記憶装置などに記憶される。
【0140】
上記の通り、本実施形態に係るモデル学習プログラム52aは、モデル学習装置5に、少なくとも順伝播機能51aと更新機能51cとを実行させる。順伝播機能51aは、入力信号と当該入力信号に関する信頼度データとを入力する入力層と、入力信号に対応する出力信号を出力する出力層と、入力層と出力層との間に設けられる少なくとも1つの中間層とを有する多層ネットワークに対して、入力信号と信頼度データとを適用して推定出力信号を生成する。更新機能51cは、推定出力信号と正解出力信号とが近似するようにDNNのパラメータを更新する。
【0141】
上記の構成により、本実施形態に係るモデル学習プログラム52aは、入力信号の信号欠損部分が復元された出力信号を出力するために、入力信号だけでなく信頼度データも用いてDNNのパラメータを学習する。これにより、本実施形態に係るモデル学習プログラム52aは、パラメータの学習に際し、入力信号に含まれない、より多くの情報を利用することができる。これにより、入力信号のみを用いる場合に比して、学習済みモデルによる信号の復元精度を向上させることができる。
【0142】
また、上記の通り、本実施形態に係る信号復元装置1は、処理回路11を有している。処理回路11は、入力信号データに第1の復元関数を適用して初期復元信号データを生成し、初期復元信号データと入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって第1の要素積信号データを生成する。そして、処理回路11は、入力信号データおよび初期復元信号データのうちの少なくとも一つと、第1の要素積信号データとに第2の復元関数を適用して復元信号データを生成する。
【0143】
さらに、処理回路11は、入力信号データと信頼度データとの要素積をとることによって第2の要素積信号データを生成する。第2の要素積信号データが生成された場合、処理回路11は、入力信号データおよび初期復元信号データのうちの少なくとも一つと、第1の要素積信号データと、第2の要素積信号データとに第2の復元関数を適用して復元信号データを生成する。
【0144】
或いは、処理回路11は、入力信号データに第1の復元関数を適用して初期復元信号データを生成し、入力信号データと当該入力信号データに含まれる劣化の程度を表す信頼度データとの要素積をとることによって要素積信号データを生成する。そして、処理回路11は、初期復元信号データおよび要素積信号データに第2の復元関数を適用して復元信号データを生成する。
【0145】
さらに、処理回路11は、入力信号データと初期復元信号データと要素積信号データとに第2の復元関数を適用して復元信号データを生成してもよい。
【0146】
また、上記第2の復元関数は、深層ニューラルネットワークによって構成されてもよいし、畳み込みニューラルネットワークによって構成されてもよいし、リカレントニューラルネットワークによって構成されてもよい。
【0147】
上記の構成により、本実施形態に係る信号復元装置1は、信頼度データを用いることによって、入力信号データに含まれない、より多くの情報を利用して信号復元を行うことができるので、入力信号データのみを用いる場合に比して、信号の復元精度を向上させることができる。また、信頼度データは、入力信号データに関する信頼度の情報が含まれていればよいため、必ずしも入力信号データとのデータ形式を一致させる必要がない。このことから、この信号復元装置1は、ユーザが所望のデータを準備する手間を低減することができる。
【0148】
第1の実施形態の変形例として、モデル学習装置5の技術的思想をクラウドコンピューティングなどで実現する場合には、ネットワーク上のサーバは、例えば
図22の構成図における処理回路51およびメモリ52を有するものとなる。このとき、処理回路51の各機能を実行するプログラムをサーバの処理回路51にインストールし、これらをメモリ52上で展開することによって実現される。
【0149】
(第2の実施形態)
図24は、第2の実施形態に係る医用画像診断装置の構成例を示す図である。
図24の医用画像診断装置100は、第1の実施形態における信号復元装置1と、医用撮像装置6とを備える。一例を挙げれば、医用撮像装置6は架台に対応し、信号復元装置1は当該架台に接続されたコンソールに対応する。尚、信号復元装置1は、医用画像診断装置100の架台に設けられてもよいし、それ以外の別の構成要素によって実現されてもよい。当該別の構成要素としては、例えば、医用画像診断装置100が磁気共鳴イメージング(Magnetic Resonance Imaging;MRI)装置である場合、機械室に設置された、コンソール以外のコンピュータまたは専用の計算装置が挙げられる。
【0150】
医用撮像装置6は、処理対象である入力信号に対応する医用信号を生成する。本実施形態に係る医用信号は、概念的に、医用撮像装置6または他の医用撮像装置により被検体に医用撮像を施すことにより収集された生データや、当該生データに画像復元処理を施して生成される医用画像データなどを含む。尚、医用信号は、医用信号データと呼ばれてもよい。また、信号復元装置1は、生データに画像復元処理を施して医用画像データを生成してもよい。医用画像データは、例えば、磁気共鳴(Magnetic Resonance;MR)画像、CT画像、或いはX線画像などに相当する。
【0151】
入力信号として医用信号を扱う信号復元装置は、医用信号処理装置と呼ばれてもよい。医用信号処理装置は、医用撮像装置6を搭載する医用画像診断装置100に搭載されたコンピュータであってもよいし、当該医用画像診断装置100にケーブルやネットワークを介して通信可能に接続されたコンピュータであってもよいし、当該医用画像診断装置100とは独立したコンピュータであってもよい。
【0152】
医用撮像装置6は、医用信号を生成可能であれば、如何なるモダリティ装置でも良い。例えば、本実施形態に係る医用撮像装置3は、磁気共鳴イメージング装置(MRI装置)、X線コンピュータ断層撮影装置(CT装置)、X線診断装置、PET(Positron Emission Tomography)装置、SPECT(Single Photon Emission CT)装置および超音波診断装置等の単一モダリティ装置であっても良いし、PET/CT装置、SPECT/CT装置、PET/MRI装置、SPECT/MRI装置などの複合モダリティ装置であってもよい。
【0153】
換言すると、医用撮像装置6は、被検体に対し、当該医用撮像装置6のモダリティ装置種に応じた撮像原理の医用撮像を施し、当該被検体に関する生データを収集する。収集された生データは、信号復元装置1に伝送される。例えば、生データは、医用撮像装置6がMRI装置である場合におけるk空間データ、CT装置である場合における投影データまたはサイノグラムデータ、超音波診断装置である場合におけるエコーデータ、PET装置である場合におけるコインシデンスデータまたはサイノグラムデータ、SPECT装置である場合における投影データまたはサイノグラムデータである。尚、医用撮像装置6は、医用撮像部の実現手段の一例である。
【0154】
(MRI装置での適用例)
医用撮像装置6がMRI装置の架台である場合、当該架台は、静磁場磁石を介した静磁場の印加の下、傾斜磁場コイルを介した傾斜磁場の印加と送信コイルを介したRFパルスの印加とを繰り返す。RFパルスの印加に起因して被検体からMR信号が放出される。放出されたMR信号は、受信コイルを介して受信される。受信されたMR信号は、受信回路によりA/D変換などの信号処理が施される。A/D変換後のMR信号は、k空間データに対応する。k空間データは、生データとして信号復元装置1に伝送される。
【0155】
以降では、k空間データからMR画像を生成する際に、高速フーリエ変換(Fast Fourier Transform;FFT)を使用し、MR画像からk空間データへ変換する際に、逆高速フーリエ変換(Inverse Fast Fourier Transform;IFFT)を使用する場合について説明する。しかし、FFTおよびIFFTは、k空間の定義によって使用方法が異なる。従って、k空間データからMR画像を生成する際に、IFFTを使用し、MR画像からk空間データへ変換する際に、FFTを使用する場合については、以降に記載の「FFT」を「IFFT」に読み替え、「IFFT」を「FFT」に読み替えればよい。尚、k空間データからMR画像を生成する方法、或いはMR画像からk空間データへ変換する方法は、FFTおよびIFFTに拘泥されない。
【0156】
図25は、
図24の医用撮像装置がMRI装置である場合の、学習済みモデルにおける復元関数の構成の一例を示す図である。
図25の復元関数7は、FFT71と、CNN4と、IFFT72とを備える。FFT71が、入力信号に相当するk空間データに適用され入力MR画像が生成される。CNN4が、入力MR画像に適用され出力MR画像が生成される。IFFT72が、出力MR画像に適用されk空間データが生成される。このように、復元関数にFFT71およびIFFT72を備えることによって、MR画像に対してCNN4を適用することができる。従って、MR画像に対するCNNの処理と、k空間データに関する信頼度データとの双方が利用可能となり、復元精度を向上することができる。
【0157】
図26は、
図25の復元関数の構成の別の例を示す図である。
図26の復元関数7Aは、FFT71と、CNN4と、IFFT72と、CNN73とを備える。CNN73は、CNN4の処理と略同様である。CNN73は、k空間データに対して種々の演算を実行する。フィルタリングを学習させたい場合、k空間データに対してCNN73を利用することができる。そして、CNN73を利用することによって、後続のk空間データの精度を向上することができる。尚、FFT71の前にCNNを実行してもよい。
【0158】
処理回路11は、入力信号であるk空間データと当該k空間データに関する信頼度データとに、学習済みモデルを適用して出力信号を生成する。ここでの信頼度データは、例えばパラレルイメージングを用いて収集されたk空間データにおける位相エンコードの収集ラインおよび未収集ラインの位置を示す。
【0159】
図27は、
図24の医用撮像装置がMRI装置である場合の、欠損部分を含むk空間データの具体例を示す図である。
図27のk空間データ74は、収集ラインel_1,el_3,…,el_2n-1と、未収集ラインel_2,el_4,…,el_2nとを含む。尚、k空間データ74に関する信頼度データは、k空間データ74の収集ラインの位置または未収集ラインの位置またはその両方を示す。
【0160】
以下、
図4を参照し、入力信号yに相当するk空間データ74と当該k空間データ74に関する信頼度データmとに、学習済みモデル2Aを適用して出力信号xを生成する場合について述べる。
【0161】
復元関数R(0)は、k空間データ74から復元k空間データを生成する演算を行う。復元関数R(0)に上記FFTおよびIFFTが備えられているとすると、k空間データ74にFFTを実行することによって入力MR画像が生成される。このとき、入力MR信号は、k空間データ74に対してk空間法が用いられ、当該k空間データ74の未収集ラインが推定・充填される。そして、当該入力MR画像に例えばDNNを適用して復元MR画像が生成され、復元MR画像にIFFTを実行するkとによって復元k空間データが生成される。従って、復元k空間データは、k空間データ74とは異なり、未収集ラインが充填されたものである。
【0162】
演算関数G(i)は、復元k空間データと信頼度データmとの要素積をとることによってマスクデータを生成する演算を行う。マスクデータは、例えば復元k空間データから、k空間データ74での未収集ラインに相当する部分が抽出されたデータのセットである。
【0163】
復元関数R(i)は、k空間データ74、直前の復元関数から出力された復元k空間データ、およびマスク信号から復元k空間データを生成する演算を行う。
【0164】
MRI装置では複数の受信コイルによってデータ収集が行われ、複数の受信コイルに対応する複数のチャネルのk空間データがそれぞれ生成される。ここで、各チャネルのk空間データからそれぞれ再構成したMR画像は、受信コイルの空間的な位置や大きさの影響を受けるため、空間的に重みづけされた画像となる。この重みは、感度(sensitivity)とも呼ばれる。上記再構成されたMR画像は、本来の画素値に当該感度が乗算された形で表現できる。
【0165】
k空間データが複数のチャネルを持つ場合、FFTおよびIFFTの演算の前後で、当該感度を含めた演算を用いればよい。例えば、k空間データをky方向について1つおきに収集した場合、k空間データからMR画像に変換するFFTの演算の後にSENSE(Sensitivity encoding)法のアンフォールディング(unfolding)処理を行う演算を挿入し、IFFTの演算の前に各チャネルの各画素に上記感度を乗算すればよい。従って、復元関数R(0)および復元関数R(i)は、上記感度を考慮した演算を行うことで、受信コイルの空間的な位置や大きさの影響が低減されたMR画像を生成することができる。
【0166】
(CT装置での適用例)
医用撮像装置6がCT装置の架台である場合、当該架台は、X線管とX線検出器とを被検体回りに回転させながらX線管から被検体にX線を照射し、被検体を透過したX線をX線検出器により検出する。X線検出器においては、検出されたX線の線量に応じた波高値を有する電気信号が発生される。当該電気信号は、データ収集回路によりA/D変換などの信号処理が施される。A/D変換後の電気信号は投影データまたはサイノグラムデータと呼ばれる。投影データまたはサイノグラムデータは、生データとして信号復元装置1に伝送される。
【0167】
以降では、例えばサイノグラムデータからCT画像を生成する際に、フィルタ補正逆投影(Filtered Back Projection;FBP)を用い、CT画像からサイノグラムデータへ変換する際に、ラドン変換を用いる場合について説明する。
【0168】
図28は、
図24の医用撮像装置がCT装置である場合の、学習済みモデルにおける復元関数の構成の一例を示す図である。
図28の復元関数8は、FBP81と、CNN4と、ラドン変換82とを備える。FBP81は、入力信号に相当するサイノグラムデータから入力CT画像を生成する。CNN4は、入力CT画像から出力CT画像を生成する。ラドン変換82は、出力CT画像をサイノグラムデータへ変換する。このように、復元関数にFBP81およびラドン変換82を備えることによって、CT画像に対してCNN4を適用することができる。
【0169】
処理回路11は、入力信号であるサイノグラムデータと当該サイノグラムデータに関する信頼度データとに、学習済みモデルを適用して出力信号を生成する。ここでの信頼度データは、例えばサイノグラムデータにおける金属アーチファクトの位置を示す。
【0170】
図29は、
図24の医用撮像装置がCT装置である場合の、欠損部分を含むサイノグラムデータの具体例を示す図である。
図29のサイノグラムデータ83は、例えば金属アーチファクトによる欠損部分84を含む。尚、サイノグラムデータ83に関する信頼度データは、サイノグラムデータ83の欠損部分の位置を示す。
【0171】
以下、
図4を参照し、入力信号yに相当するサイノグラムデータ83と当該サイノグラムデータ83に関する信頼度データmとに、学習済みモデル2Aを適用して出力信号xを生成する場合について述べる。
【0172】
復元関数R(0)は、サイノグラムデータ83から復元サイノグラムデータを生成する演算を行う。復元関数R(0)に上記FBPおよびラドン変換が備えられているとすると、サイノグラムデータ83にFBPを実行することによって入力CT画像が生成される。そして、当該入力CT画像に例えばDNNを適用して復元CT画像が生成され、復元CT画像にラドン変換を実行することによって復元サイノグラムデータが生成される。
【0173】
演算関数G(i)は、復元サイノグラムデータと信頼度データmとの要素積をとることによってマスク信号を生成する演算を行う。マスク信号は、例えば信頼度データmに基づいて、復元サイノグラムデータにおける、サイノグラムデータ83での欠損部分84に相当する部分が抽出されたものである。
【0174】
復元関数R(i)は、サイノグラムデータ83、直前の復元関数から出力された復元サイノグラムデータ、およびマスク信号から復元サイノグラムデータを生成する演算を行う。
【0175】
本実施例は、金属アーチファクトに限らず、CT装置による検査中に寝台を動かすことで、収集される信号データの信頼性が低下したり、データに欠損が生じたりする場合においても適用することが可能である。
【0176】
(PET装置での適用例)
医用撮像装置6がPET装置の架台である場合、当該架台は、被検体内に蓄積された放射性核種から発生される陽電子と当該放射性核種の周囲に存在する電子との対消滅に伴い発生する512keVの一対のガンマ線を同時計測回路により同時計測することにより、一対のガンマ線(LOR(Line Of Response))のエネルギー値と検出位置とに関するデジタル値を有するデジタルデータを生成する。当該デジタルデータは、コインシデンスデータまたはサイノグラムデータと呼ばれる。コインシデンスデータまたはサイノグラムデータは、生データとして信号復元装置1に伝送される。
【0177】
従って、以上のような構成によれば、第2の実施形態に係る医用画像診断装置は、第1の実施形態にかかる信号復元装置を含む。故に、この医用画像診断装置によれば、信頼度データを用いることによって、医用画像に含まれない、より多くの情報を利用して医用画像信号の復元を行うことができるので、医用画像のみを用いるDNNでの復元に比して、医用画像信号の復元精度を向上させることができる。
【0178】
(第3の実施形態)
図30は、第3の実施形態に係る距離画像撮影システムの構成例を示す図である。
図30の距離画像撮影システム200は、第1の実施形態における信号復元装置1と、距離画像撮影装置9とを備える。尚、信号復元装置1は、距離画像撮影装置9に内蔵されていてもよい。
【0179】
距離画像撮影装置9は、例えばLIDAR(Light Detection And Rnaging)などの光リモートセンシング技術が用いられる。LIDARは、例えばレーザ光を用いて距離計測を行う。具体的には、距離画像撮影装置9は、距離画像撮影装置9から照射される照射光と、当該照射光が測定対象で反射した反射光とを検出し、照射光および反射光を検出した時刻と照射光の速度とに基づいて、距離画像撮影装置9から測定対象までの距離を計測する。距離画像撮影装置9は、計測された測定対象までの距離に基づいて距離画像データを生成する。距離画像データは、例えば、距離画像撮影装置9から測定対象までの距離のデータを画素ごとに記録したものである。生成された距離画像データは、入力信号として信号復元装置1に伝送される。尚、距離画像データは、奥行き情報と称してもよい。
【0180】
図31は、第3の実施形態における、距離画像データと信頼度データとの一例を示す図である。
図31の距離画像データ91は、収集部91aと、未収集部91bとを含む。収集部91aは、例えば測定対象までの奥行き情報が取得されている範囲である。未収集部91bは、例えば奥行き情報が取得されていない範囲である。具体的には、未収集部91bは、照射光が斜面に反射して反射光が取得できない場合、或いは空などの反射する物体が無い場合などによって生じる。
【0181】
処理回路11は、距離画像データ91に信頼度推定関数を適用して信頼度データ92を生成する。信頼度推定関数は、例えばDNNやCNNを用いてもよい。信頼度データ92は、高信頼度領域92aと、低信頼度領域92bとを含む。高信頼度領域92aは、収集部91aに対応し、例えば「0.9」から「1.0」までの数値で表される。低信頼度領域92bは、未収集部91bに対応し、例えば「ゼロ」から「0.1」までの数値で表される。
【0182】
以下、
図4を参照し、入力信号yに相当する距離画像データ91と、信頼度データmに相当する信頼度データ92とに、学習済みモデル2Aを適用して出力信号xを生成する場合について述べる。
【0183】
復元関数R(0)は、距離画像データ91から復元距離画像データを生成する演算を行う。演算関数G(i)は、復元距離画像データと信頼度データ92との要素積をとることによってマスク信号を生成する演算を行う。マスク信号は、例えば信頼度データ92に基づいて、復元距離画像データにおける、距離画像データ91での未収集部91bに相当する部分が抽出されたものである。復元関数R(i)は、距離画像データ91、直前の復元関数から出力された復元距離画像データ、およびマスク信号から復元距離画像データを生成する演算を行う。
【0184】
従って、以上のような構成によれば、第3の実施形態に係る距離画像撮影システムは、第1の実施形態に係る信号復元装置を含む。故に、この距離画像撮影システムによれば、信頼度データを用いることによって、距離画像に含まれない、より多くの情報を利用して距離画像信号の復元を行うことができるので、距離画像のみを用いるDNNでの復元に比して、距離画像信号の復元精度を向上させることができる。
【0185】
以上説明した少なくとも一つの実施形態によれば、信号の復元精度を向上することができる。
【0186】
上記説明において用いた「プロセッサ」という文言は、例えば、CPU、GPU、或いは、特定用途向け集積回路(Application Specific Integrated Circuit;ASIC))、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device;SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device;CPLD)、及びフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array;FPGA))等の回路を意味する。プロセッサは記憶回路に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。また、プログラムを実行するのではなく、論理回路の組合せにより当該プログラムに対応する機能を実現しても良い。なお、本実施形態の各プロセッサは、プロセッサごとに単一の回路として構成される場合に限らず、複数の独立した回路を組み合わせて1つのプロセッサとして構成し、その機能を実現するようにしてもよい。さらに、
図1、
図22、および
図24、或いは
図1、
図22、および
図30における複数の構成要素を1つのプロセッサへ統合してその機能を実現するようにしてもよい。
【0187】
上述した実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の信号復元装置、医用画像診断装置、および距離画像撮影システムによる効果と同様な効果を得ることも可能である。上述した実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の信号復元装置、医用画像診断装置、および距離画像撮影システムと同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
【0188】
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が、上述した実施形態を実現するための各処理の一部を実行してもよい。
【0189】
さらに、記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LAN(Local Area Network)やインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【0190】
また、記憶媒体は1つに限られず、複数の媒体から、上述した実施形態における処理が実行される場合も、実施形態における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0191】
なお、実施形態におけるコンピュータ又は組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、上述した実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【0192】
また、実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって実施形態における機能を実現することが可能な機器、装置を総称している。
【0193】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0194】
1…信号復元装置
2A,2B,2C,2D,2E,2F,2G,2H…学習済みモデル
21,24,25…欠損部分
22…欠損データ
23…収集データ
310…入力ベクトル
310a…第1の入力範囲
310b…第2の入力範囲
310c…第3の入力範囲
330…出力ベクトル
330a…出力範囲
4…CNN
45…加算部
5…モデル学習装置
100…医用画像診断装置
7,7A,8…復元関数
74…k空間データ
83…サイノグラムデータ
84…欠損部分
200…距離画像撮影システム
91…距離画像データ
91a…収集部
91b…未収集部
92…信頼度データ
92a…高信頼度領域
92b…低信頼度領域