(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】画像処理システム及び医用情報処理システム
(51)【国際特許分類】
G06T 5/00 20060101AFI20221102BHJP
G06N 3/04 20060101ALI20221102BHJP
G06T 1/40 20060101ALI20221102BHJP
G06T 7/00 20170101ALI20221102BHJP
A61B 6/00 20060101ALI20221102BHJP
【FI】
G06T5/00 705
G06N3/04 154
G06T1/40
G06T7/00 350C
A61B6/00 360Z
(21)【出願番号】P 2018103025
(22)【出願日】2018-05-30
【審査請求日】2021-03-12
(31)【優先権主張番号】P 2017108934
(32)【優先日】2017-06-01
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110001380
【氏名又は名称】弁理士法人東京国際特許事務所
(72)【発明者】
【氏名】五十川 賢造
(72)【発明者】
【氏名】武口 智行
【審査官】梅本 章子
(56)【参考文献】
【文献】特開2006-140952(JP,A)
【文献】特表2014-523593(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 6/00-6/14
G06N 3/00-99/00
G06T 1/00-1/40
3/00-7/90
G06V10/00-20/90
30/418
40/16
40/20
(57)【特許請求の範囲】
【請求項1】
入力層、出力層、及び、前記入力層と前記出力層との間に設けられる中間層を有するニューラルネットワークを用いて、前記入力層に入力される入力画像に対して処理を行う処理部と、
前記中間層に含まれる1以上のノードの少なくとも1つの内部パラメータ
である活性化関数のパラメータであって、前記ニューラルネットワークの学習の後に前記処理を行うとき、前記入力画像に関連するデータに基づいて
前記活性化関数のパラメータを調整する、調整部と、
を備える画像処理システム。
【請求項2】
前記入力画像は、ノイズを含む画像であり、
前記入力画像は、前記処理部が行う前記処理により、前記入力画像から前記ノイズを除去、又は、低減される、
請求項1に記載の画像処理システム。
【請求項3】
前記入力画像に関連するデータは、前記入力画像のノイズの大きさ、又は、前記入力画像の信号対雑音比に関するSNR関連データである、
請求項1又は2に記載の画像処理システム。
【請求項4】
前記活性化関数は、前記入力画像に含まれる、閾値よりも小さい振幅の入力信号を除去する関数であり、
前記調整部が調整する前記内部パラメータは、前記活性化関数の前記閾値である、
請求項1に記載の画像処理システム。
【請求項5】
前記活性化関数は、入力がゼロ含む範囲に含まれるときはゼロを出力し、入力が前記範囲外のときは入力の値に比例する値を出力する関数である、
請求項1に記載の画像処理システム。
【請求項6】
入力層、出力層、及び、前記入力層と前記出力層との間に設けられる中間層を有するニューラルネットワークを用いて、前記入力層に入力される入力画像に対して処理を行う処理部と、
前記中間層に含まれる1以上のノードの少なくとも1つの内部パラメータであって、学習によって算出される前記内部パラメータを、前記学習の後に前記処理を行うとき、前記入力画像に関連するデータに基づいて調整する、調整部と、
を備え、
前記ニューラルネットワークは、第1のニューラルネットワークと、第2のニューラルネットワークを有し、
前記調整部は、前記第1のニューラルネットワークの内部パラメータを前記入力画像に関連するデータに基づいて調整する一方、前記第2のニューラルネットワークの内部パラメータは調整しない、
画像処理システム。
【請求項7】
入力層、出力層、及び、前記入力層と前記出力層との間に設けられる中間層を有するニューラルネットワークを用いて、前記入力層に入力される入力画像に対して処理を行う処理部と、
前記中間層に含まれる1以上のノードの少なくとも1つの内部パラメータであって、学習によって算出される前記内部パラメータを、前記学習の後に前記処理を行うとき、前記入力画像に関連するデータに基づいて調整する、調整部と、
を備え、
前記ニューラルネットワークは、
第1のニューラルネットワークと、
第2のニューラルネットワークと、
入力画像を高周波成分画像と低周波成分画像とに分割し、前記高周波成分画像を前記第1のニューラルネットワークに入力する一方、前記低周波成分画像を前記第2のニューラルネットワークに入力する分割ユニットと、
第1のニューラルネットワークから出力される第1の出力画像と、前記第2のニューラルネットワークから出力される第2の出力画像とを合成する合成ユニットと、
を有し、
前記調整部は、前記第1のニューラルネットワークの内部パラメータを前記入力画像に関連するデータに基づいて調整する一方、前記第2のニューラルネットワークの内部パラメータは調整しない、
画像処理システム。
【請求項8】
前記処理部は、前記ニューラルネットワークを用いて、ノイズが低減された出力画像を
、前記入力画像から
生成し、
前記調整部は、前記ニューラルネットワークの
前記内部パラメータを、前記入力画像の撮像条件に応じて
調整する、
請求項1に記載の画像処理システム。
【請求項9】
前記画像処理システムは、1つ以上のコンピュータによって構成される、
請求項1乃至8のいずれか1項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画像処理システム及び医用情報処理システムに関する。
【背景技術】
【0002】
近年、各種の画像処理や画像認識の分野において、ニューラルネットワークを使用する手法が用いられてきている。ニューラルネットワークとは、細胞を模した1つ以上のノードが、神経を模した1つ以上のエッジで連結されている処理装置である。
【0003】
ニューラルネットワークは、その内部パラメータとして、各エッジに対応付けられた重み係数やバイアスを持つ。また、各ノードは活性化関数を有しており、活性化関数のパラメータも、ニューラルネットワークの内部パラメータに含まれる。
【0004】
ニューラルネットワークの内部パラメータの算出には、機械学習が用いられる。例えば、画像のノイズ除去を目的とするニューラルネットワークにおいては、概ね以下の手順で内部パラメータが算出される。
【0005】
まず、人手によって、各ノードの接続関係、各エッジに対応づけられる重み係数やバイアスの初期値、及び、各ノード内の活性化関数のパラメータの初期値等が設定される。次に、ノイズの無い画像(即ち教師画像)と、教師画像に人工的にノイズを重畳させた学習用画像とを用意する。そして、学習用画像をニューラルネットワークで処理した結果が、教師画像に近づくように、ニューラルネットワークの内部パラメータを逐次更新していく。このような一連の処理の流れが「学習」と呼ばれている。
【0006】
学習用画像をニューラルネットワークで処理した後の画像(即ち、処理後の学習用画像)と、教師画像との差(例えば、夫々の画像の各画素の平均二乗誤差:MSE(mean square error))が、所定値よりも小さくなったとき、学習を終了する。そして、学習終了時におけるニューラルネットワークの内部パラメータの値が、学習によって算出された内部パラメータということになる。
【0007】
ニューラルネットワークの使用時においては、学習によって算出された内部パラメータを持つニューラルネットワークに対して、実際のノイズが重畳されたノイズ重畳画像が入力され、ニューラルネットワークの出力では、ノイズが除去された、或いはノイズが低減された画像が得られることになる。
【0008】
しかしながら、ニューラルネットワークは、使用時の画像に重畳されているノイズ量が、学習用画像のノイズ量と同じ大きさの場合には、高いノイズ除去性能を発揮するものの、使用時の画像のノイズ量が学習用画像のノイズ量と異なる場合には、ノイズ除去性能が低下するという課題がある。
【0009】
このノイズ除去性能の低下を抑制する方法として、学習時において、単一の大きさのノイズ量をもつ学習用画像を用いることに換えて、ノイズ量が夫々異なる複数の学習用画像を用いてニューラルネットワークの内部パラメータを学習させるアプローチが考えられる。しかしながら、このアプローチの場合、使用時の画像に対するノイズ除去性能は、単一の大きさのノイズ量の学習用画像を用いた場合のノイズ除去性能よりも劣ってしまう結果となる。
【先行技術文献】
【非特許文献】
【0010】
【文献】Z. Wang et.al, “Deep Networks for Image Super Resolution with Sparse Prior,” Proc. ICCV2015.
【文献】X. Zhang, “Thresholding Neural Network for Adaptive Noise Reduction,” IEEE Transactions on Neural Networks, vol.12, no. 3, 2001.
【文献】K. Zhang et.al, “Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising,” arXiv: 1608.03981v1, 2016.
【文献】Y. Wang et.al, “End-to-End Image Super-Resolution Via Deep and Shallow Convolutional Networks,” arXiv: 1607.07680v1, 2016.
【文献】E. Kang et al, “A deep convolutional neural network using directional wavelets for low-dose X-ray CT reconstruction,” arXiv:16:0.090736v2.
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明が解決しようとする課題は、ニューラルネットワークを使用する画像処理システム又は医用情報処理システムにおいて、使用時の画像に重畳されているノイズ量が、学習用画像のノイズ量と異なる場合においても、高いノイズ除去性能を確保することである。
【課題を解決するための手段】
【0012】
実施形態の画像処理システムは、入力層、出力層、及び、前記入力層と前記出力層との間に設けられる中間層を有するニューラルネットワークを用いて、前記入力層に入力される入力画像に対して所定の処理を行う処理部と、前記中間層に含まれる1以上のノードの少なくとも1つの内部パラメータであって、所定の学習によって算出される前記内部パラメータを、前記学習の後に前記所定の処理を行うとき、前記入力画像に関連するデータに基づいて調整する、調整部と、を備える。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態の画像処理システムの構成例を示すブロック図。
【
図2】内部パラメータが調整可能な構成が省略されたニューラルネットワークの内部構成例を示す図。
【
図3】内部パラメータが調整可能な構成が省略されたノードの内部構成を例示す図。
【
図4】内部パラメータを調整可能な構成を有する本実施形態のニューラルネットワークと、ニューラルネットワークに制御信号を与えるSNR関連データ取得機能及びパラメータ調整機能との接続関係の一例を示す図。
【
図5】本実施形態の1つのノードの内部構成例を示すブロック図。
【
図6】本実施形態で使用する活性化関数の一例として、Hard-Shrinkage関数F
HS(x, T)とSoft-Shrinkage関数F
SS(x, T)を示す図。
【
図7】「学習モード」の動作例を示すフローチャート。
【
図8】教師画像と学習用画像を用いた学習モードの処理を模式的に説明する図。
【
図9】ニューラルネットワークの学習後における「画像処理モード」の処理例を示すフローチャート。
【
図10】最大画素値を用いた正規化処理と制御信号の算出方法を説明する図。
【
図11】活性化関数であるSoft‐Shrinkage関数の閾値Tが制御信号Gによって調整される例を示す図。
【
図12】画像処理モードにおける、本実施形態のニューラルネットワークの動作概念を説明する図。
【
図13】第2の実施形態の画像処理システムの構成例を示すブロック図。
【
図14】第3の実施形態の画像処理システムの構成例を示すブロック図。
【
図15】第4の実施形態の画像処理システムの構成例を示すブロック図。
【
図16】第5の実施形態の画像処理システムの構成例を示すブロック図。
【
図17】画像処理システムを医用情報処理システムに適応した実施形態の構成例を示すブロック図。
【発明を実施するための形態】
【0014】
実施形態に係る画像処理システムについて、添付図面を参照して説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をするものとして、重複する説明を適宜省略する。
【0015】
(第1の実施形態)
図1は、第1の実施形態に係る画像処理システム100の全体構成を示すブロック図である。画像処理システム100は、例えば、コンピュータシステムによって構成される。
【0016】
画像処理システム100は、
図1に示すように、処理回路10、入力I/F(Interface)11、出力I/F(Interface)12、入力デバイス23、記憶回路21、及び、ディスプレイ22を備える。
【0017】
処理回路10は、例えば、CPUや、専用又は汎用のプロセッサを備える回路である。プロセッサは、記憶回路21に記憶した各種のプログラムを実行することによって、後述する各種の機能を実現する。処理回路10は、FPGAやASIC等のハードウェアで構成してもよい。これらのハードウェアによっても後述する各種の機能を実現することができる。また、処理回路10は、プロセッサとプログラムによるソフトウェア処理と、ハードウェア処理とを組わせて、各種の機能を実現することもできる。
【0018】
記憶回路21は、ROM(Read Only Memory)やRAM(Random Access Memory)の他、HDD(Hard Disk Drive)や光ディスク装置等の外部記憶装置を含む記憶媒体である。記憶回路21は、各種の情報やデータを記憶する他、処理回路10が具備するプロセッサが実行する各種のプログラムを記憶する。
【0019】
入力デバイス23は、例えば、マウス、キーボード、トラックボール、タッチパネル等であり、各種の情報やデータを操作者が入力するための種々のデバイスを含む。
【0020】
ディスプレイ22は、液晶ディスプレイパネル、プラズマディスプレイパネル、有機ELパネル等の表示デバイスである。
【0021】
入力I/F11及び出力I/F12は、それぞれ、画像を入力し、出力するインターフェースである。入力I/F11及び出力I/F12は、有線や無線のLAN、USB等の各種通信インターフェース、インターネットや公衆電話回線等のネットワークのインターフェース、光ディスクや磁気ディスク等の各種記憶媒体のドライブ回路等、画像データを夫々、入力し、出力することが可能な種々のデバイスや回路を含む。
【0022】
処理回路10は、
図1に示すように、パラメータ学習機能20(パラメータ学習機能部20)、ニューラルネットワーク処理機能30(ニューラルネットワーク処理機能部30)、SNR関連データ取得機能40(SNR関連データ取得機能部40)、及び、パラメータ調整機能50(パラメータ調整機能部50)の各機能を、例えば、記憶回路21に記憶した各種のプログラムを実行することによって実現する。
【0023】
パラメータ学習機能20は、後述するように、学習用の画像を用いて、ニューラルネットワーク60の内部パラメータの値を機械学習(以下、単に学習と呼ぶ)によって決定する。
【0024】
ニューラルネットワーク処理機能30は、ニューラルネットワーク60を用いて、学習後のニューラルネットワーク60に入力される入力画像に対して所定の処理を行う。
【0025】
SNR関連データ取得機能40は、入力画像の信号強度、ノイズの大きさ、信号対雑音比(SNR:Signal to Noise Ratio)、正規化処理時の利得等、信号対雑音比に関連するデータ、或は信号対雑音比に関連するデータのうちの少なくとも1つ(以下、このデータをSNR関連データと呼ぶ)を、入力画像自体、或は入力画像の付帯情報から取得する。SNR関連データは、入力画像に関連するデータである。
【0026】
パラメータ調節機能50は、ニューラルネットワーク処理機能30が、学習後のニューラルネットワーク60に入力される入力画像に対して所定の処理を行う際に、SNR関連データ取得機能40が取得したSNR関連データに基づいて、ニューラルネットワーク60の内部パラメータの値を調節する。
【0027】
パラメータ学習機能20、ニューラルネットワーク処理機能30、SNR関連データ取得機能40、及び、パラメータ調整機能50の各機能の詳細については、後述する。
【0028】
図2は、ニューラルネットワーク60の内部構成例を示す図である。第1の実施形態の画像処理システム100では、内部パラメータが調整可能な構成を有しているが、
図2は調整可能部分を省略した基本構成のみを示している。
【0029】
図2に示すように、ニューラルネットワーク60は、入力層61と出力層63を有し、入力層61と出力層63との間に、少なくとも1つの中間層62を有する多層構造となっている。
【0030】
入力層61は、複数の入力端70を有している。本実施形態の画像処理システム100は、ニューラルネットワーク60を用いて、ノイズ除去処理等の画像処理を行うものである。この場合、入力層61には、画像データが入力される。そして、例えば入力層61の各入力端70には、画像データを構成する画素信号が画素ごとに入力される。
【0031】
出力層63も複数の出力端90を有している。本実施形態の画像処理システム100では、画像処理後の画像データが出力層63から出力される。例えば、出力層63の各出力端90には、画像処理後の画像データの画素信号が画素ごとに出力される。
【0032】
中間層62は、複数のノード80を有する。各ノード80には、直前の中間層62の複数のノード80の出力信号が入力され、そのノード80の出力信号が、直後の中間層62の複数のノード80に出力される。
【0033】
中間層62が入力層61の直後の層である場合は、中間層62の各ノード80には、複数の入力端70の信号が入力され、複数の信号の夫々が、次の段の中間層62のノード80に出力される。
【0034】
また、中間層62が出力層63の直前の層である場合には、その中間層62の各ノード80の出力信号は、出力層63の出力端90に出力される。
【0035】
図3は、ノード80の内部構成例を示す図である。
図3は入力層61の直後の中間層62にあるノード80の例を示すが、他の中間層62にあるノードも同じ構成であってもよい。
図3のノード80には複数の信号が入力されるが、各入力信号には重み800が乗算器801で重み付けされた後、加算器802で加算される。加算器802の出力に対して、加算器804でバイアス803が加算され、活性化関数805に入力される。加算器804の出力をxとすると、xは、次の(式1)で表される。
(式1)において、w
iは重み800、s
iは入力信号、iは入力信号の番号、bはバイアス803である。
【0036】
(式1)のxに活性化関数805を適用することによって、ノード80の出力が決定される。従来から用いられている活性化関数には、例えば、クリッピング関数(式2)、ReLU関数(式3)、tanh関数(式4)等の、様々な劣微分可能な関数がある。
【0037】
これに対して、本実施形態では、例えば、以下の(式5)で表されるSoft‐Shrinkage関数を活性化関数805として用いてもよい。Soft‐Shrinkage関数に関しては後述する。
【0038】
また、従来のニューラルネットワーク60の内部パラメータは、事前に行われる学習によって決定される。そして、ニューラルネットワーク60を利用する局面では、決定された内部パラメータの値は固定された状態で使用される。
【0039】
これに対して、本実施形態では、ニューラルネットワーク60の内部パラメータの値は、学習の後に所定の処理を行うとき、即ち、学習後においてニューラルネットワーク60を利用する場合に、入力画像に関連するデータに基づいて調整することができるようになっている。
【0040】
図4は、内部パラメータを調整可能することができるように構成された本実施形態のニューラルネットワーク60と、ニューラルネットワーク60に制御信号を与えるSNR関連データ取得機能40及びパラメータ調整機能50との接続関係の一例を示す図である。
【0041】
パラメータ調整機能50は、中間層62の少なくとも一部のノード80に対して、制御信号を供給する。パラメータ調整機能50は、例えば、少なくとも一の中間層62のノード80に対して、制御信号を供給する。
図4に示すように、中間層62の夫々のノード80に対して、パラメータ調整機能50から制御信号が供給されてもよい。
【0042】
図5は、本実施形態の1つのノード80の内部構成例を示すブロック図である。
図5に示すノード80は、活性化関数805に対して、活性化関数805のパラメータ(即ち、ノード80の内部パラメータの1つ)である閾値Tが調整されるように構成されている。
【0043】
図6(a)は、閾値Tをパラメータとする活性化関数805の一例として、Soft-Shrinkage関数F
SS(x, T)を示す図である。同様に、
図6(b)は、閾値Tをパラメータとする活性化関数805の一例として、Hard-Shrinkage関数F
HS(x, T)を示す図である。Soft-Shrinkage関数F
SS(x, T)及びHard-Shrinkage関数F
HS(x, T)は、いずれも、入力がゼロを中心とする所定の正負の閾値±Tの範囲内のときはゼロを出力し、入力が閾値±Tの範囲外のときは入力の値に比例する値を出力する関数である。
【0044】
ただし、入力が閾値±Tの範囲外のとき、Soft-Shrinkage関数FSS(x, T)の出力の振幅は入力の振幅xよりも閾値Tだけ小さくなる。これに対して、入力が閾値±Tの範囲外のとき、Hard-Shrinkage関数FHS(x, T)の出力の振幅は、入力の振幅xと同じ値となる。
【0045】
活性化関数805として、Soft-Shrinkage関数FSS(x, T)、或は、Hard-Shrinkage関数FHS(x, T)を使用することにより、振幅が閾値Tよりも小さな信号、即ち、ノイズである可能性が高い微弱な信号を、活性化関数の出力においてゼロとすることができる。
【0046】
このように、活性化関数805として、Soft-Shrinkage関数FSS(x, T)、或は、Hard-Shrinkage関数FHS(x, T)を使用するニューラルネットワーク60は、画像のノイズを低減する技術であり、閾値Tがノイズレベルに対して適切な大きさに設定されている際に、ノイズ低減効果を発揮する。
【0047】
閾値Tは、
図5に示すように、内部パラメータとしての係数αと、外部からの制御信号Gとの積として、T=αG、等によって決定することができる。例えば、SNR関連データ取得機能40は、入力I/F11を介して入力される入力画像(或はその付帯情報)から、入力画像のSNRやノイズの大きさに関連するデータ(即ち、SNR関連データ)を取得し、パラメータ調整機能50に供給する。そして、パラメータ調整機能50は、SNR関連データに基づいて制御信号Gの大きさを決定し、各ノード80へ供給する。例えば、パラメータ調整機能50は、SNR関連データが、入力画像のSNRが低い、或は、入力画像に含まれるノイズが大きいことを示しているときには、制御信号Gを大きな値に設定して、ノード80に供給する。
【0048】
実施形態の画像処理システム100は、ニューラルネットワーク60を使用するシステムである。したがって、画像処理システム100は、ニューラルネットワーク60を学習させる「学習モード」と、ニューラルネットワーク60の学習後に、ニューラルネットワーク60を使用して画像処理を行う「画像処理モード」とを有している。
【0049】
図7は、これら2つの動作モードのうち、画像処理システム100の学習モードの動作例を示すフローチャートである。
【0050】
まず、ステップST10でニューラルネットワーク60に対する外部からの制御信号を固定値に設定しておく。
図5に示した制御信号を、例えば、G=1、に固定する。また、ステップST11で、ニューラルネットワーク60の内部パラメータの値を初期値に設定する。例えば、
図5に示す、各ノード80内の重み800の値、バイアス803の値、係数αの値等の内部パラメータの値を初期値に設定する。
【0051】
次に、ステップST12で、教師画像IMを設定する。本実施形態の画像処理システム100は、画像に含まれるノイズを除去、或いは低減する処理を行うものである。そこで、教師画像IMとして、ノイズの無い画像、或いは、SNRが非常に高い画像を選択し、ニューラルネットワーク60に、学習の準備として設定する。
【0052】
ステップST13では、教師画像に人工的なノイズを付加した学習用画像を生成し、同じく、ニューラルネットワーク60に、学習の準備として設定する。ここで、人工的なノイズとは、例えば、所定の大きさの標準偏差σを有するガウシアンノイズを計算で生成し、このノイズと教師画像の画素値とを加算することにより、学習用画像を生成する。
【0053】
ステップST14では、生成した学習用画像をニューラルネットワーク60に入力し、その処理結果を得る。
【0054】
例えば、ニューラルネットワーク60の入力層61の各入力端70に、ノイズが付加されている学習用画像の各画素の画素値を入力する。この画素値は、ニューラルネットワーク60の中間層62の各ノード80を、
図5に示した重み付き加算、バイアス加算、及び活性化関数処理の演算により、入力層61から出力層63に向かって、値を変化させながら伝搬していく。そして、出力層63の出力端90に、ニューラルネットワーク60による処理を受けた画像の画素値として出力される。
【0055】
ステップST15では、処理を受けた画像と教師画像との間の誤差(訓練誤差)を算出する。訓練誤差として、具体的には、処理を受けた画像と教師画像の各画素の平均二乗誤差:MSE(mean squared error)や各画素の2乗誤差の総和を用いることができる。
【0056】
さらにステップST16では、誤差逆伝搬法を用いて、前記訓練誤差が小さくなるようにニューラルネットワークのパラメータを更新する。特にShrinkage関数のパラメータ更新には、非特許文献1や非特許文献2の手法を使うことができる。
【0057】
その後、ステップST17では、あらかじめ教師画像とは別に用意するSNRが高い画像である正解画像と、それにノイズを加えた検証用画像を用いて、検証用画像をニューラルネットワーク60で処理した結果と正解画像の間の誤差(汎化誤差)を算出する。
【0058】
ステップST18では、汎化誤差が極小値に達したか否かを判断し、この汎化誤差が極小値に達した段階でパラメータ更新を終了し、極小値に達しなければステップST12に戻って処理を繰り返す。
【0059】
図8は、上述した処理を模式的に説明する図である。
図8の上段に示すように、ノイズの無い、或いは、SNRの非常に高い教師画像IMaをニューラルネットワーク60の出力側に設定する。一方、この教師画像IMaに人工的なノイズNaを付加した学習用画像をニューラルネットワーク60に入力する。そして、ニューラルネットワーク60で処理を受けた学習用画像が教師画像に近づくように、ニューラルネットワーク60の内部パラメータを決定する。この内部パラメータの決定過程が、機械学習、或いは、単に学習と呼ばれるプロセスである。
【0060】
学習に使用する教師画像は1つでも良いが、類似した異なる教師画像を複数用いてニューラルネットワーク60を学習させることにより、学習効果を高めることができる。例えば、
図8の中段、及び下段に示すように、教師画像IMaと学習用画像IMa+Naとの組み合わせに加えて、教師画像IMbと学習用画像IMb+Nbとの組みわせ、及び教師画像IMcと学習用画像IMc+Ncとの組み合わせを用いた複数画像の学習により、学習効果を高めることができる。
【0061】
複数の教師画像を用いて学習する場合は、
図7のフローチャートのステップST12からステップST18までを1の教師画像について実行し、ステップST18において汎化誤差が極小値に達していないと判断された場合に、ステップST12に戻り、教師画像を新たな画像に入れ替えて、ステップST13からステップST18の処理を繰り返すことになる。
【0062】
そして、全ての教師画像に対する学習が終了すると、ステップST19にて、学習後のニューラルネットワーク60の内部パラメータを記憶回路21に保存する。なお、記憶回路21に保存するのは、内部パラメータだけでなく、ニューラルネットワーク60の構造に関する情報を保存してもよい。即ち、ニューラルネットワーク60の構造と内部パラメータとを含めて機械学習モデルと呼ぶものとすると、ステップST19では、学習後の機械学習モデルの全体を保存してもよい。
なお、上述した学習モードの各処理は、
図1におけるパラメータ学習機能20によって行われることになる。
【0063】
図9は、画像処理システム100の「画像処理モード」、即ち、ニューラルネットワーク60の学習後におけるニューラルネットワーク60の利用時の動作モード、の処理例を示すフローチャートである。
【0064】
まず、ステップST20にて、処理回路10に、入力I/F11を介して画像が入力される。具体的には、画像はSNR関連データ取得機能40に入力される。画像は、ニューラルネットワーク60を用いたノイズ除去処理、或いは、ノイズ低減処理の対象となる画像である。例えば、入力画像は、MRI装置、CT装置、超音波診断装置等の医用画像診断装置で撮像された画像である。この画像には前記SNR関連データが付与されている。
【0065】
ステップST21では、SNR関連データ取得機能40が、入力された画像からSNR関連データを取得する。続いて、ステップST22では、パラメータ調整機能50が、SNR関連データから、ニューラルネットワーク60の各ノード80に対する制御信号を生成する。
【0066】
画像からSNR関連データが取得され、制御信号が生成されまでの処理としては種々の具体例が考えられる。
【0067】
図10は、ニューラルネットワーク60で行うノイズ除去、或いは低減処理の前処理として、画像内の最も大きな画素値Lvを用いて画素値の正規化をする場合における制御信号Gの算出方法を説明する図である。
【0068】
このような前処理を行う場合、SNR関連データ取得機能40が取得するSNR関連データは、画像内の最大画素値Lvということになる。例えば、
図10の左列に示すように、画像内の最大画素値Lvが、Lv1、Lv2,及びLv3と異なる3種類の撮像画像が処理対象である場合を想定する(Lv2>Lv1>Lv3)。この場合、正規化後の最大画素値がSmaxとなるようにするためには、3つの画像に対して、G1=Smax/Lv1、G2=Smax/Lv2、G3=Smax/Lv3、というゲインG(G2<G1<G3)を、3つの画像の夫々の画素値に乗じることになる。
【0069】
通常、撮像時の画像のノイズ(即ち、正規化前の画像のノイズ)の大きさ(例えば、ノイズのrms値)は、画像間で共通である。したがって、画像内の最大画素値Lvで正規化すると、正規化後のノイズの大きさNは、
図10の右列に例示するように異なってくる(N2<N1<N3)。正規化演算に使用したゲインGを、制御信号としてニューラルネットワーク60に提供すれば、処理対象の画像のノイズの大きさと相関をもつデータを、ニューラルネットワーク60に与えることが可能となる。
【0070】
図9に戻り、
図9のステップST23では、パラメータ調整機能50から与えられた制御信号にしたがって、各ノードの内部パラメータを調整する。
図11は、ステップST23で調整される内部パラメータが、活性化関数805の閾値Tである例を図示している。具体的には、
図11は、活性化関数805が(式5)で表されるSoft‐Shrinkage関数である場合において、Soft‐Shrinkage関数の閾値Tが制御信号Gによって、T1=αG1、T2=αG2、T3=αG3のように調整される例を示している。
【0071】
ゲインG(即ち、ノイズの大きさ)が大きい程、出力がゼロとなる入力の幅も大きくなっており、ノイズを除去、或は低減する効果が、ノイズの大きさに依存せずに維持されるようになっている。
その後、ステップST24において入力I/F11に入力された画像はニューラルネットワーク60に入力され、ステップST25においてニューラルネットワーク60で処理されて、ステップST26において出力I/F12から処理された画像が出力される。
【0072】
図12は、画像処理モードにおける、上述した本実施形態のニューラルネットワーク60の動作概念を説明する図である。実施形態の画像処理システム100では、ニューラルネットワーク60の入力画像IMinからSNR関連データを取得し、取得したSNR関連データに基づいてニューラルネットワーク60のパラメータを調整する機能を有している。従来のニューラルネットワークは、「学習モード」で使用した画像に含まれるノイズの大きさと、学習後の「画像処理モード」で入力される画像に含まれるノイズの大きさが異なる場合には、ノイズの除去、低減効果が低下するという問題があった。
【0073】
これに対して、本実施形態の画像処理システム100では、ニューラルネットワーク60の学習後においても、「画像処理モード」で入力される画像に含まれるノイズの大きさに応じてニューラルネットワーク60のパラメータを調整する機能を有している。この結果、「学習モード」で使用した画像に含まれるノイズの大きさと、学習後の「画像処理モード」で入力される画像に含まれるノイズの大きさが異なる場合であっても、ノイズの除去、低減効果を維持することが可能となる。
【0074】
なお、上述では、画像を最大画素値で正規化する際のゲインGをSNR関連データの例として説明したが、SNR関連データは上記の例に限定されない。以下、SNR関連データの他の例をいくつか説明する。
【0075】
例えば、処理対象の画像がカメラで撮像した画像であれば、SNR関連データ取得機能40は、カメラ画像の付帯情報等から、撮像時のカメラのF値や露光時間をSNR関連データとして取得してもよい。F値や露光時間は、イメージセンサの画素に入射する光子の数に影響し、光子の数が大きいほどショットノイズが減少するからである。
【0076】
また例えば、処理対象の画像がMRI装置で撮像した医用画像であれば、SNR関連データ取得機能40は、位相エンコーディングステップ数Ny、周波数エンコーディングステップ数Nx、ボクセル体積(ΔxΔyΔz)、バンド幅Bw、積分回数Nexなどの撮像条件に関するパラメータの1つ又は複数の組み合わせを、SNR関連データとしてMRI装置から取得してもよい。MRI装置で撮像した医用画像のSNRは、以下の式で表されるからである。
【0077】
また例えば、処理対象の画像がCT装置で撮像した医用画像であれば、SNR関連データ取得機能40は、管電圧、管電流、照射時間、被写体サイズ、被ばく量、ビーム数の一つ以上を、SNR関連データとしてCT装置から取得してもよい。これらのパラメータは、CT装置で撮像した医用画像のSNRや、ノイズ量と相関を持つからである。
【0078】
また、この他、処理対象の画像がレーダー画像の場合には、SNR関連データ取得機能40は、受信信号の大きさや信号受信機の利得を、SNR関連データとして取得してもよい。
【0079】
また、Soft-Shrinkage関数の閾値Tの調整にLv等の信号値を用いる場合は、信号のダイナミックレンジが変わった場合に処理性能が低下する可能性がある。例えば、入力画像が8ビットの信号をもつデータで学習したときに、10ビットの信号をもつセンサに接続した場合、閾値Tの値が小さくなり、その結果として、ノイズ除去性能が低下する。このような場合、SNR関連データ取得機能40は、信号のダイナミックレンジに関する情報を取得し、制御信号Gに、撮像時のダイナミックレンジと学習時のダイナミックレンジの比を乗じても良い。
【0080】
また、ユーザによる調整によって、ノイズ除去性能を変化させるように構成することもできる。例えば、画像処理システム100の入力デバイス23を介して、ユーザが、デノイズ強度(即ち、ノイズ除去の程度を変化させるパラメータ値)を設定する。SNR関連データ取得機能40、又は、パラメータ調整機能50は、ユーザが設定したデノイズ強度を取得し、デノイズ強度を制御信号Gに乗じることにより、ニューラルネットワーク60のノイズ除去性能をユーザが変化させることができる。
【0081】
また、
図4では、各中間層62の中の全てのノード80に対して、パラメータ調整機能50から制御信号が入力される構成となっているが、必ずしもこの構成に限定されるものではない。一部のノード80にのみ制御信号が入力される、或いは、一部のノード80のパラメータのみが、SNR関連データに基づく調整を受けるように構成し、他のノード80のパラメータは、学習モードで決定されたパラメータ値に固定されるような構成であってもよい。
【0082】
また、本実施形態で使用する活性化関数として、
図6(a)及び(式5)に表されるSoft-Shrinkage関数F
SS(x, T)や、
図6(b)に示すHard-Shrinkage関数F
HS(x, T)を例示したが、これら以外の種々の活性化関数も本実施形態のニューラルネットワーク60に使用することができる。
【0083】
例えば、以下の(式6)で表される、tanh関数を利用した関数を活性化関数としてもよい。
【0084】
また、以下の(式7)で表される、クリッピング関数f
clipを利用した関数を活性化関数としてもよい。
【0085】
さらに、以下の(式8)で表される、ReLU関数f
ReLUを利用した関数を活性化関数としてもよい。
【0086】
(その他の実施形態)
以下、上述した第1の実施形態とは異なる構成のニューラルネットワーク60を有する実施形態について説明する。
【0087】
図13は、第2の実施形態の画像処理システム100の構成例を示すブロック図である。
図13に示すブロック図は、画像処理モード時の動作と、それに関連するニューラルネットワーク60の内部構成に着目した構成を示すものである。したがって、画像処理システム100のうち、
図1に示した入力デバイス23、記憶回路21、ディスプレイ22、及びパラメータ学習機能20の各構成は、図示を省略しているが、これらを備えていてもよい。
【0088】
第2の実施形態のニューラルネットワーク60は、残差推定用のニューラルネットワーク60aと、ニューラルネットワーク60aをバイパスするパス807と、パス807の出力から、ニューラルネットワーク60aの出力(残差)を減算する減算器806と、を有している。
【0089】
ニューラルネットワーク60aは、残差学習(residual learning)によって生成されたニューラルネットワークである。この場合、ニューラルネットワーク60aは、入力画像の各画素値から信号値を取り除いた残差、即ち、入力画像に含まれるノイズ成分のみを推定する。そして、ニューラルネットワーク60aは、推定したノイズ成分のみを出力し、減算器806の一端に入力する。
【0090】
一方、ノイズが含まれた入力画像は、パス807を通って減算器806の他端に入力される。そして、減算器806では、入力画像から、ニューラルネットワーク60aで推定したノイズが減算される。この結果、減算器806の出力、即ち、ニューラルネットワーク60の出力では、入力画像からノイズが除去された、或いはノイズが低減された画像が得られる。
【0091】
第2の実施形態のニューラルネットワーク60においても、入力画像、或いは入力画像の付帯情報から取得されるSNR関連データに基づいて、残差推定用にニューラルネットワーク60aの内部パラメータが調整できるように構成されている。したがって、学習時に用いたノイズの大きさと、運用時に入力される画像のノイズの大きさが異なる場合でも、ノイズ除去性能の低下を防止することができる。
【0092】
図14は、第3の実施形態の画像処理システム100の構成例を示すブロック図である。
図14に示すブロック図も、
図13と同様に、画像処理モード時の動作と、それに関連するニューラルネットワーク60の内部構成に着目した構成を示すものである。
【0093】
第3の実施形態のニューラルネットワーク60は、ニューラルネットワーク60への入力を2つのパスに分けて処理する構成としている。一方のパスには少なくとも1つの適応型のニューラルネットワーク60bを設け、他方のパスには少なくとも1つの固定型のニューラルネットワーク60cを設ける。そして、2つのニューラルネットワーク60b、60cの夫々の出力を加算する加算器808を設ける構成としている。
【0094】
第3の実施形態の画像処理システム100では、適応型のニューラルネットワーク60bにおいてのみ、画像処理モードにおいて、入力画像、或いは入力画像の付帯情報から取得されるSNR関連データに基づいて、残差推定用にニューラルネットワーク60bの内部パラメータが調整できるように構成されている。これに対して、固定型のニューラルネットワーク60cの内部パラメータは、学習モード時に決定された値に固定されたままの状態で、画像処理モードでの処理を行う。
【0095】
ニューラルネットワーク60bから出力される、ノイズが除去あるいは低減された画像と、ニューラルネットワーク60cから出力される、ノイズが除去あるいは低減された画像と、が加算されることによって、入力画像よりもノイズが除去あるいは低減された画像が出力I/F12から出力される。
【0096】
第3の実施形態においても、SNR関連データに基づいてニューラルネットワーク60bの内部パラメータが調整される。したがって、学習時に用いたノイズの大きさと運用時に入力される画像のノイズの大きさが異なる場合でも、ノイズ除去性能の低下を防止することができる。
【0097】
図15は、第4の実施形態の画像処理システム100の構成例を示すブロック図である。
図15に示すブロック図も、
図13と同様に、画像処理モード時の動作と、それに関連するニューラルネットワーク60の内部構成に着目した構成を示すものである。
図15のブロック図は、さらに
図1に示した入力デバイス23、記憶回路21、ディスプレイ22、及びパラメータ学習機能20を備えていてもよい。
【0098】
第4の実施形態のニューラルネットワーク60は、高周波領域と低周波領域に分割して、2つの(或いは複数の)周波数帯域の信号に対して処理を行う構成としている。例えば、第4の実施形態のニューラルネットワーク60は、分割ユニット809、少なくとも1つの高周波用ニューラルネットワーク60d、少なくとも1つの低周波用ニューラルネットワーク60e、及び合成ユニット810を有して構成されている。
【0099】
分割ユニット809は、入力画像に対して、例えば2次元フーリエ変換を行って、実空間領域で表現されている入力画像を空間周波数領域のデータに変換する。さらに、分割ユニット809は、変換された空間周波数領域のデータに対して、例えば、ハイパスフィルタやローパスフィルタ等を適用することによって、例えば、高周波帯域データと低周波帯域データに分割する。
【0100】
その後、高周波帯域データは、高周波用ニューラルネットワーク60dに入力されて画像処理が行われる。高周波用ニューラルネットワーク60dは、内部パラメータ適応型のニューラルネットワークとして構成されている。つまり、入力画像から取得された、或いは、入力画像の付帯情報から取得されたSNR関連データに基づいて、学習後においても、内部パラメータが調整可能に構成されている。
【0101】
一方、低周波帯域データは、低周波用ニューラルネットワーク60eに入力されて画像処理が行われる。低周波用ニューラルネットワーク60eは、内部パラメータ固定型のニューラルネットワークとして構成されている。つまり、学習モードにて決定された内部パラメータは画像処理モード時には固定され、その状態で入力データが処理されることになる。
【0102】
ニューラルネットワーク60dから出力される、ノイズが除去あるいは低減された画像と、ニューラルネットワーク60eから出力される、ノイズが除去あるいは低減された画像と、が合成ユニット810により合成されることに依って、入力画像よりもノイズが除去あるいは低減された画像が出力I/F12から出力される。
【0103】
第4の実施形態においても、SNR関連データに基づいてニューラルネットワーク60bの内部パラメータが調整される。したがって、学習時に用いたノイズの大きさと運用時に入力される画像のノイズの大きさが異なる場合でも、ノイズ除去性能の低下を防止することができる。
【0104】
図16は、第5の実施形態の画像処理システム100の構成例を示すブロック図である。ここまでの実施形態では、ニューラルネットワークの内部パラメータが調整できるように構成された例を説明してきたが、実施形態はこれに限られるものではない。例えば、画像処理システム100は、「学習モード」において、ノイズ量に応じて分類された学習用画像を用いて、ノイズ量に応じたニューラルネットワークを生成する。すなわち、
図16に示すように、画像処理システム100は、「学習モード」において、ノイズ量σ
m(m=1~M)に応じて内部パラメータが調整された、複数のニューラルネットワーク60fを生成する。
【0105】
一方、画像処理システム100は、「画像処理モード」において、入力画像自体、或は入力画像の付帯情報からSNR関連データ取得機能40が取得するSNR関連データに基づいて入力画像のノイズ量σを判定する。さらに、画像処理システム100は、判定したノイズ量σに最も近いσmよって内部パラメータが調整されたニューラルネットワーク60fを、入力画像のニューラルネットワーク選択機能500及び選択部820によって選択する。そして、画像処理システム100は、選択したニューラルネットワーク60fを用いて、入力画像よりもノイズが除去あるいは低減された画像を出力する。
【0106】
図17は、画像処理システム100を医用情報処理システムに適応した実施形態の構成例を示すブロック図である。ここまでの実施形態では、機械学習の学習済みモデルとしてニューラルネットワークを例に説明したが、実施形態はこれに限られるものではない。機械学習により得られる学習済みモデルは、処理パラメータを有する関数であればよく、細胞を模した1つ以上のノードが、神経を模した1つ以上のエッジで連結されている処理装置に限られるものではない。例えば、機械学習により得られる学習済みモデルは、線形回帰モデル、サポートベクターマシン(SVM)モデル等の回帰モデルや、決定木モデル、回帰木モデル、ランダムフォレストモデル等の木モデルでもよい。なお、学習済みモデルには、自己学習により更新されたモデルを含む。
【0107】
また、ここまでの実施形態では、ニューラルネットワークに対して入力される対象として「入力画像」という用語を用いたが、この「入力画像」には、CT装置により取得された投影データや、MRI装置により取得されたk空間データなど、再構成前の入力データを含む。
【0108】
図17では、処理パラメータ600a、600b、600cを有する学習済みモデル600を例示している。入力I/F11は、医用画像診断装置による撮像によって得られた入力データを取得する。また、入力データ指標取得機能700は、入力データのノイズに関する指標値、又は、入力データの性質を示す指標値を取得する。処理パラメータ600bは、取得した指標値に対応する処理パラメータである。学習済みモデル処理機能710は、入力データにおける指標値に対応する処理パラメータ600bを有する学習済みモデル600に、入力データを加工するように制御する。
【0109】
ここまでの実施形態では、画像処理システム100を構成する処理回路、或いはコンピュータは1つであるものとして説明してきた。しかしながら、画像処理システム100を構成する処理回路、或いはコンピュータの数は1つに限定されるものではなく、複数の処理回路や複数のコンピュータを用いて、上述した処理を行うようにしてもよい。
【0110】
以上説明した少なくとも1つの実施形態によれば、ニューラルネットワークを使用する画像処理システムにおいて、使用時の画像に重畳されているノイズ量が、学習用画像のノイズ量と異なる場合においても、高いノイズ除去性能を確保することができる。
【0111】
なお、各実施形態の説明におけるニューラルネットワーク処理機能30は、特許請求の範囲の記載における処理部又は制御部の一例である。各実施形態の説明におけるSNR関連データ取得機能40及びパラメータ調整機能50は、特許請求の範囲の記載における調整部の一例である。また、各実施形態の説明における入力I/F11は、特許請求の範囲の記載における取得部又は指標取得部の一例である。また、各実施形態の説明における記憶回路21は、特許請求の範囲の記載における記憶部の一例である。
【0112】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0113】
10 処理回路
11 入力I/F
12 出力I/F
20 パラメータ学習機能
21 記憶回路
22 ディスプレイ
23 入力デバイス
30 ニューラルネットワーク処理機能
40 SNR関連データ取得機能
50 パラメータ調整機能
60、60a、60b、60c、60d、60e ニューラルネットワーク
61 入力層
62 中間層
63 出力層
80 ノード
100 画像処理システム
800 重み
803 バイアス
805 活性化関数
809 分割ユニット
810 合成ユニット