(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】学習プログラム、学習装置及び学習方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20221213BHJP
A61B 8/14 20060101ALI20221213BHJP
【FI】
G06T7/00 612
G06T7/00 350C
A61B8/14
(21)【出願番号】P 2019003849
(22)【出願日】2019-01-11
【審査請求日】2021-10-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】安富 優
(72)【発明者】
【氏名】上村 健人
(72)【発明者】
【氏名】河東 孝
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2020-110371(JP,A)
【文献】Qingjie Meng et al.,Weakly Supervised Estimation of Shadow Confidence Maps in Ultrasound Imaging,[online],2018年11月20日,https://arxiv.org/abs/1811.08164v1
【文献】Sukesh Adiga V et al.,Shared Encoder based Denoising of Optical Coherence Tomography Images,[online],2018年12月,https://dl.acm.org/doi/10.1145/3293353.3293388
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
A61B 8/14
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
超音波入力画像における超音波反射状況に対応した影を含む影画像を生成し、
前記超音波入力画像と前記影画像を合成した合成画像が入力されたエンコーダからの出力を、第1のデコーダと第2のデコーダとに入力し、
前記第1のデコーダの出力である第1の画像と前記第2のデコーダの出力である第2の画像とを合成する結合関数の出力画像と前記合成画像との再構成誤差、前記第1の画像の前記影画像における影部分に対応する領域と前記影画像の前記影との誤差関数、前記第2の画像についての超音波画像における対象物に関する尤度関数に基づき、前記エンコーダ、前記第1のデコーダ、及び、前記第2のデコーダの学習を実行する、
処理を実行させることを特徴とする学習プログラム。
【請求項2】
前記学習を実行する処理は、画像の画素値に対応する値を変数とする尤度関数であって、最大の画素値及び最小の画素値いずれでもない所定の画素値に対応する変数に対して最大値をとる尤度関数を、前記対象物に関する尤度関数として用いて学習を実行することを特徴とする請求項1に記載の学習プログラム。
【請求項3】
前記学習を実行する処理は、画像の画素値に対応する確率変数が0より大きく1より小さい所定の値であるときに極大値を取るようにパラメータが設定されたベータ分布の確率密度関数に基づく尤度関数を、前記対象物に関する尤度関数として用いて学習を実行することを特徴とする請求項1に記載の学習プログラム。
【請求項4】
超音波入力画像における超音波反射状況に対応した影を含む影画像を生成する生成部と、
前記超音波入力画像と前記影画像を合成した合成画像が入力されたエンコーダからの出力を、第1のデコーダと第2のデコーダとに入力する入力部と、
前記第1のデコーダの出力である第1の画像と前記第2のデコーダの出力である第2の画像とを合成する結合関数の出力画像と前記合成画像との再構成誤差、前記第1の画像の前記影画像における影部分に対応する領域と前記影画像の前記影との誤差関数、前記第2の画像についての超音波画像における対象物に関する尤度関数に基づき、前記エンコーダ、前記第1のデコーダ、及び、前記第2のデコーダの学習を実行する学習部と、
を有することを特徴とする学習装置。
【請求項5】
超音波入力画像における超音波反射状況に対応した影を含む影画像を生成し、
前記超音波入力画像と前記影画像を合成した合成画像が入力されたエンコーダからの出力を、第1のデコーダと第2のデコーダとに入力し、
前記第1のデコーダの出力である第1の画像と前記第2のデコーダの出力である第2の画像とを合成する結合関数の出力画像と前記合成画像との再構成誤差、前記第1の画像の前記影画像における影部分に対応する領域と前記影画像の前記影との誤差関数、前記第2の画像についての超音波画像における対象物に関する尤度関数に基づき、前記エンコーダ、前記第1のデコーダ、及び、前記第2のデコーダの学習を実行する、
処理をコンピュータが実行することを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習プログラム、学習装置及び学習方法に関する。
【背景技術】
【0002】
従来、医療における診察や構造物の非破壊検査等を目的として、超音波画像を用いた画像処理による物体検出や状態判別等が行われている。このような超音波画像の画像処理には、機械学習により学習が行われたディープニューラルネット(DNN:deep neural net)等のモデルが利用される。
【0003】
また、超音波画像には、物質ごとの超音波の伝達速度の違いや超音波の反射等に起因し、影が映り込む場合がある。その場合、画像処理の精度が低下することになる。これに対し、人体の特定の部位を撮像した超音波画像における影の有無を、ルールベースで判別する技術が提案されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Hellier, Pierre, et al. "An automatic geometrical and statistical method to detect acoustic shadows in intraoperative ultrasound brain images." Medical Image Analysis 14.2 (2010): 195-204.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術では、超音波画像の影の有無の判別における汎用性が低くなる場合があるという問題がある。例えば、上記の技術では、人体の部位ごとにルール及び判別モデルを用意する必要があり、汎用的でない。
【0006】
1つの側面では、超音波画像の影の有無の判別における汎用性を向上させることを目的とする。
【課題を解決するための手段】
【0007】
1つの態様において、学習プログラムは、コンピュータに、超音波入力画像における超音波反射状況に対応した影を含む影画像を生成する処理を実行させる。学習プログラムは、コンピュータに、超音波入力画像と影画像を合成した合成画像が入力されたエンコーダからの出力を、第1のデコーダと第2のデコーダとに入力する処理を実行させる。学習プログラムは、コンピュータに、再構成誤差、誤差関数及び尤度関数に基づき、エンコーダ、第1のデコーダ、及び、第2のデコーダの学習を実行させる。再構成誤差は、第1のデコーダの出力である第1の画像と第2のデコーダの出力である第2の画像とを合成する結合関数の出力画像と合成画像との再構成誤差である。誤差関数は、第1の画像の影画像における影部分に対応する領域と影画像の影との誤差関数である。尤度関数は、第2の画像についての超音波画像における対象物に関する尤度関数である。
【発明の効果】
【0008】
1つの側面では、超音波画像の影の有無の判別における汎用性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例に係る学習装置の機能構成の一例を示す図である。
【
図2】
図2は、学習処理について説明するための図である。
【
図3】
図3は、影画像の生成について説明するための図である。
【
図4】
図4は、学習の経過を説明するための図である。
【
図5】
図5は、超音波画像のヒストグラムの一例を示す図である。
【
図6】
図6は、ベータ分布について説明するための図である。
【
図7】
図7は、実施例に係る画像処理システムの一例を示す図である。
【
図8】
図8は、実施例に係る認識装置の機能構成の一例を示す図である。
【
図9】
図9は、認識処理について説明するための図である。
【
図10】
図10は、学習処理の流れを示すフローチャートである。
【
図11】
図11は、更新処理の流れを示すフローチャートである。
【
図12】
図12は、画像認識処理の流れを示すフローチャートである。
【
図13】
図13は、後処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本発明にかかる学習プログラム、学習装置及び学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0011】
実施例1について説明する。ここで、実施例1におけるモデルは、DNNを利用したオートエンコーダに基づくものであって、1つのエンコーダと、影デコーダ及び対象物デコーダの2つのデコーダを有する。さらに、モデルは、2つのデコーダの出力を合成する結合関数を有する。なお。影デコーダは第1のデコーダの一例である。また、対象物デコーダは第2のデコーダの一例である。
【0012】
[機能構成]
図1を用いて、実施例に係る学習装置の機能構成について説明する。
図1は、実施例に係る学習装置の機能構成の一例を示す図である。
図1に示すように、学習装置10は、インタフェース部11、記憶部12及び制御部13を有する。
【0013】
インタフェース部11は、入出力装置との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部11は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、USBメモリ等の外部記憶装置との間でデータの入出力を行う。また、例えば、インタフェース部11はNIC(Network Interface Card)であり、インターネットを介してデータの通信を行う。
【0014】
記憶部12は、データや制御部13が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部12は、学習情報121、エンコーダ情報122、影デコーダ情報123及び対象物デコーダ情報124を記憶する。
【0015】
学習情報121は、モデルの学習の際に用いられるハイパーパラメータ等の情報である。例えば、学習情報121には、学習率、バッチサイズ、尤度関数の分布パラメータ等が含まれる。
【0016】
エンコーダ情報122は、エンコーダのパラメータである。また、影デコーダ情報123は、影デコーダのパラメータである。また、対象物デコーダ情報124は、対象物デコーダのパラメータである。以降、エンコーダ及び各デコーダの学習可能なパラメータをモデルパラメータと呼ぶ。例えば、モデルパラメータは、DNNの重み及びバイアスである。また、エンコーダ情報122、影デコーダ情報123及び対象物デコーダ情報124は、モデルの学習の際に更新される。
【0017】
制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、生成部130、入力部131、結合部132及び学習部133を有する。また、学習部133は、計算部133a及び更新部133bを有する。
【0018】
生成部130は、超音波入力画像における超音波反射状況に対応した影を含む影画像を生成する。生成部130は、所定の手法により影のみの画像を生成する。以降の説明では、生成部130が生成する影を生成影と呼び、生成影を含む画像を生成影画像と呼ぶ。ここで、実際にプローブを用いて生成した超音波入力画像に発生する影の形状や位置の傾向は、プローブの形状等に基づく超音波反射状況に応じて異なる。このため、生成部130は、超音波反射状況に応じて生成影画像を生成する。
【0019】
入力部131は、超音波入力画像と生成影画像を合成した合成画像が入力されたエンコーダからの出力を、影デコーダと対象物デコーダとに入力する。また、結合部132は、結合関数を用いて、影デコーダの出力である影の画像と対象物デコーダの出力である対象物の画像とを合成する。なお、影の画像は第1の画像の一例である。また、対象物の画像は第2の画像の一例である。
【0020】
学習部133は、再構成誤差、誤差関数及び尤度関数に基づき、エンコーダ、影デコーダ、及び、対象物デコーダの学習を実行する。再構成誤差は、影デコーダの出力である影の画像と対象物デコーダの出力である対象物の画像とを合成する結合関数の出力画像と合成画像との再構成誤差である。誤差関数は、影の画像の生成影画像における影部分に対応する領域と生成影画像の影との誤差関数である。尤度関数は、対象物の画像についての超音波画像における対象物に関する尤度関数である。
【0021】
計算部133aは、再構成誤差、誤差関数に基づく影の誤差、及び尤度関数に基づく尤度から損失関数を計算する。また、更新部133bは、損失関数が小さくなるようにエンコーダ、影デコーダ及び対象物デコーダのモデルパラメータを更新する。具体的には、更新部133bは、エンコーダ情報122、影デコーダ情報123及び対象物デコーダ情報124を更新する。
【0022】
ここで、
図2を用いて、学習装置10による学習処理について説明する。
図2は、学習処理について説明するための図である。
図2に示すように、入力部131は、入力画像をエンコーダに入力する。
【0023】
図2の超音波入力画像は、医療用のプローブを用いて得られた人の体内の超音波画像である。なお、以降の説明では、プローブから得られた信号を可視化した画像を超音波画像と呼ぶ。超音波画像においては、超音波を反射する臓器等の対象物がある部分が明るく表示されるものとする。一方、超音波画像において、映り込んだ影は暗く表示されるものとする。
【0024】
例えば、超音波が人体の内部を伝わる速度は、超音波が水中を伝わる速度と同程度であるが、人の体内を撮像する際に、撮像領域に空気があると、超音波が伝わりにくくなり、超音波画像に影が発生することがある。
図2の超音波入力画像は、図面の上側から対象物に超音波を当てて撮像した超音波画像である。また、超音波入力画像の斜線部は影である。
【0025】
生成部130は、生成影画像を生成する。
図2に示すように、生成影画像は、超音波入力画像と同サイズの枠の一部の領域に影を配置した画像である。生成部130は、任意の手法で生成影画像を生成することができる。
【0026】
図3を用いて、生成影画像の生成方法について説明する。
図3は、影画像の生成について説明するための図である。
図3の実線で囲まれた領域は、プローブによる撮像領域を示している。生成部130は、
図3の斜線領域に影を生成する。生成部130は、θ
1、θ
2及びlをランダムに決定することで斜線領域を決定することができる。
【0027】
ここで、撮像領域の形状はプローブの種類によって異なる。例えば、コンベックス型のプローブの場合、撮像領域の形状は
図3に示すような扇形の一部になる。また、リニア型のプローブの場合、撮像領域は矩形になる。生成部130は、プローブの種類に合わせて撮像領域を設定し、影の生成を行うようにしてもよい。なお、ここで説明した生成方法は一例であり、生成部130は他の方法で生成影画像を生成してもよい。
【0028】
入力部131は、超音波入力画像と生成影画像を合成し入力画像を生成する。超音波入力画像は、各画素に設定された画素値によって表される。画素値は、輝度を表す値であり、画素ごとに例えば0から255までの範囲(8bit)の数値で表される。一方、生成影画像は、影のない部分は1、影のある部分は[0,1)の範囲の数値(以降、影の数値)で表される。このため、入力部131は、超音波入力画像の画素値に生成影画像の影の数値を掛けることで、超音波入力画像の、生成影画像の影の部分に対応する部分が暗くなった画像を生成することができる。さらに、入力部131は、入力画像をエンコーダに入力する。
【0029】
入力部131は、入力画像が入力されたエンコーダからの出力を影デコーダ及び対象物デコーダに入力する。つまり、エンコーダを、第1層として所定数のノードを持ち、最終層として第1層よりも少ない数のノードを持つニューラルネットワークとすると、当該最終層は、同じくニューラルネットワークである各デコーダの第1層に接続されている。
【0030】
影デコーダ及び対象物デコーダは、画像を出力する。ここで、各デコーダの最終層のノード数をエンコーダの第1層のノード数と等しくすることで、各デコーダに入力画像と同サイズの画像を出力させることができる。
【0031】
図2に示すように、結合部132は、対象物の画像と影の画像とを掛ける結合関数を用いて各画像を合成し、出力画像を生成する。学習が進むと、影デコーダは、生成影画像と同様に、影のない部分は1、影のある部分は[0,1)の範囲の数値で表される画像を出力するようになる。一方、対象物デコーダは、超音波入力画像と同等のスケールの画素値で表される画像を出力するようになる。
【0032】
例えば、影の画像の座標(i,j)の画素の影の数値をpij、影の画像の座標(i,j)の画素の画素値をqijとすると、結合部132は、出力画像の座標(i,j)の画素の画素値rijを、rij=pij・qijのように計算することができる。
【0033】
計算部133aは、入力画像と、結合部132によって合成された出力画像との再構成誤差を計算する。計算部133aは、既知のオートエンコーダと同様の手法で再構成誤差を計算することができる。
【0034】
また、計算部133aは、影デコーダによって出力された影の画像と生成影画像との誤差を計算する。このとき、計算部133aは、誤差関数として、各画像の対応する画素の影の数値の二乗誤差を用いる。ただし、計算部133aは、生成影画像において影を配置した領域についてのみ誤差を計算する。
【0035】
ここで、学習が進むにしたがい、影デコーダが出力する影の画像は
図4のように変化する。
図4は、学習の経過を説明するための図である。
図4に示すように、学習初期には、生成影及び実際に発生した影に対応する影がぼんやりと映っている。そして、学習中期には、生成影及び実際に発生した影に対応する影がややはっきりとしてくる。さらに、学習後期には、領域201に生成影に対応する影が表示され、領域202に実際に発生した影に対応する影が表示されていることがはっきりと確認できる。ただし、計算部133aは、領域201についての誤差を計算するが、領域202についての誤差は計算しない。なお、学習初期、学習中期及び学習後期は、モデルパラメータの更新回数が一定回数だけ行われるたびに遷移していくものとする。
【0036】
さらに、計算部133aは、対象物の画像の尤度として、NLL(negative log likelihood)を計算する。このとき、計算部133aは、尤度関数として、画像の画素値に対応する値を変数とする関数であって、最大の画素値及び最小の画素値のいずれでもない所定の画素値に対応する変数に対して最大値をとる関数を用いる。これは、
図5に示すように、超音波画像において、対象物は影や背景と比べて比較的明るく表示され、ヒストグラム上で当該対象物に対応する山ができるためである。
図5は、超音波画像のヒストグラムの一例を示す図である。
【0037】
具体的には、計算部133aは、画像の画素値に対応する確率変数が0より大きく1より小さい所定の値であるときに最大値を取るようにパラメータが設定されたベータ分布の確率密度関数に基づく尤度関数を用いる。ベータ分布の確率密度関数は、(1)式のように表される。なお、(1)式のB(・)はベータ関数である。また、α、βはベータ分布の分布形状を決定するパラメータである。
【0038】
【0039】
図6を用いて、α、βに応じたベータ分布の形状について説明する。
図6は、ベータ分布について説明するための図である。ここで、
図6に示すように、例えばα=0.5、β=0.5の場合、確率変数xが0又は1のときにPDF(確率密度関数:probability density function)が最大値を取る。また、例えばα=2、β=5の場合、確率変数xが約0.2のときにPDFが最大値を取る。
【0040】
ここで、
図6のα、βの組み合わせのうち、「画像の画素値に対応する確率変数が0より大きく1より小さい所定の値であるときに最大値を取る」という条件を満たすのは、「α=2、β=2」及び「α=2、β=5」である。このため、計算部133aは、例えばα=2、β=2が設定されたベータ分布の確率密度関数、及び、例えばα=2、β=5が設定されたベータ分布の確率密度関数を尤度関数として用いることができる。なお、有効なα、βの設定値はここで説明したものに限られず、条件を満たす任意の設定値であってよい。
【0041】
対象物デコーダから出力される画像の画素値が0から255までの範囲で表されている場合であっても、計算部133aは、画素値に1/255を掛けること等により正規化を行うことで、当該正規化した画素値を0から1までの確率変数とすることができる。
【0042】
具体的には、計算部133aは、(2)式のように対象物デコーダから出力された画像のNLLを計算する。(2)式のp(・|・)は、(1)式のベータ分布の確率密度関数である。また、α、βには、前述の通り条件を満たす値が設定される。また、(2)式のmは、画像の各画素を示すインデックスである。また、xmは、画素mの正規化された画素値である。
【0043】
【0044】
計算部133aは、影の画像の誤差と、対象物の画像のNLLと、出力画像及び入力画像の構成誤差との線形和を損失関数として計算する。例えば、計算部133aは、損失関数を、W1×(構成誤差)+W2×(影の画像の誤差)+W3×(対象物の画像のNLL)のように計算する。ここで、W1、W2及びW3は、あらかじめ設定される重みであり、ハイパーパラメータとして学習情報121に含まれていてもよい。また、W1、W2及びW3は、いずれも正かつW1+W2+W3=1を満たすように設定されてもよい。
【0045】
更新部133bは、損失関数が小さくなるように、エンコーダ、影デコーダ及び対象物デコーダのモデルパラメータを更新する。例えば、更新部133bは、誤差逆伝播法を用いてモデルパラメータの更新を行う。
【0046】
画像処理システムは、学習装置10において学習が行われたエンコーダ及び影デコーダを用いて画像処理を行うことができる。ここで、
図7を用いて、画像処理システムについて説明する。
図7は、実施例に係る画像処理システムの一例を示す図である。
【0047】
図7に示すように、画像処理システム1は、認識装置20、表示装置30及びプローブ40を有する。認識装置20は、プローブ40から受け取った信号を基に、超音波画像の生成及び所定の後処理等を行い、生成した超音波画像及び後処理の結果を表示装置30に出力する。プローブ40は、超音波を発生させ、さらに反射してきた超音波を受信する。また、プローブ40は、超音波画像の生成を行い、生成した超音波画像を認識装置20に送信するようにしてもよい。
【0048】
画像処理システム1は、医師による診察に用いられる。例えば、プローブ40は、医師によって患者の体表に当てられ、受信した超音波を信号として認識装置20に送信する。認識装置20は、プローブ40から受け取った信号を基に生成した超音波画像を表示装置30に表示させる。さらに、認識装置20は、超音波画像における影の有無を判別し、影の有無に応じた後処理を行う。
【0049】
認識装置20は、後処理として、表示装置30又は他の出力装置を介して、超音波画像に影が映っていることを医師に通知する処理を行うことができる。また、
図7のように、認識装置20は、生成した影の画像を表示装置30に表示させてもよい。また、認識装置20は、超音波画像と影の画像を合成し、超音波画像から影を取り除いた画像を生成してもよい。
【0050】
ここでは、認識装置20は、後処理として、超音波画像における影の有無に基づき、超音波画像に対して所定の画像認識を適用可能か否かを判定し、可能であれば画像認識を行うものとする。なお、画像認識には、例えば物体検出や状態判別等が含まれる。
【0051】
図8を用いて、実施例に係る認識装置の機能構成について説明する。
図8は、実施例に係る認識装置の機能構成の一例を示す図である。
図8に示すように、認識装置20は、インタフェース部21、記憶部22及び制御部23を有する。
【0052】
インタフェース部21は、入出力装置との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部21は、表示装置30及びプローブ40との間でデータの入出力を行う。
【0053】
記憶部22は、データや制御部23が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部22は、エンコーダ情報222及び影デコーダ情報223を記憶する。
【0054】
エンコーダ情報222は、学習装置10において学習が行われた後のエンコーダ情報122と同様のデータである。また、影デコーダ情報223は、学習装置10において学習が行われた後の影デコーダ情報123と同様のデータである。このため、認識装置20は、エンコーダ情報222及び影デコーダ情報223を用いて、学習済みのエンコーダ及び影デコーダを構築することができる。
【0055】
制御部23は、例えば、CPU、MPU、GPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部23は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部23は、入力部231、判定部232、認識部233及び表示制御部234を有する。
【0056】
入力部231は、学習装置10の入力部131と同様の処理を行う。すなわち、入力部231は、入力画像が入力されたエンコーダからの出力を、影デコーダに入力する。また、判定部232は、影の画像に基づき、入力画像に画像認識を適用可能であるか否かを判定する。認識部233は、画像認識を適用可能と判定された場合に画像認識を実行する。また、表示制御部234は、超音波画像を表示装置30に表示させる。また、表示制御部234は、判定部232による判定処理、及び認識部233による画像認識の結果を表示装置30に表示させてもよい。
【0057】
ここで、
図9を用いて、認識装置20による認識処理について説明する。
図9は、認識処理について説明するための図である。
図9に示すように、入力部231は、入力画像をエンコーダに入力する。ここで、
図9の入力画像は、プローブ40を用いて得られた超音波画像である。
【0058】
入力部231は、入力画像が入力されたエンコーダからの出力を影デコーダに入力する。そして、認識装置20は、影デコーダによって出力された影の画像を基に、画像認識の適用可否判定及び画像認識処理を行う。例えば、判定部232は、影の画像の各画素の影の数値の合計が閾値以下である場合に影があると判定する。
【0059】
[処理の流れ]
図10を用いて、学習装置10による学習処理の流れを説明する。
図10は、学習処理の流れを示すフローチャートである。
図10に示すように、まず、学習装置10は、超音波入力画像を取得する(ステップS11)。また、学習装置10は、生成影画像を生成し超音波入力画像と合成する(ステップS12)。
【0060】
学習装置10は、生成した入力画像をエンコーダに入力する(ステップS13)。次に、学習装置10は、エンコーダからの出力を影デコーダに入力する(ステップS14)とともに、エンコーダからの出力を対象物デコーダに入力する(ステップS15)。
【0061】
ここで、学習装置10は、影デコーダから出力された影の画像と対象物デコーダから出力された対象物の画像とを結合関数により合成する(ステップS16)。そして、学習装置10は、各モデルパラメータの更新処理を行い(ステップS17)、更新処理が収束したか否かを判定する(ステップS18)。
【0062】
学習装置10は、更新処理が収束したと判定した場合(ステップS18、Yes)、学習処理を終了する。一方、学習装置10は、更新処理が収束していないと判定した場合(ステップS18、No)、ステップS13に戻り処理を繰り返す。例えば、学習装置10は、更新処理があらかじめ設定された回数だけ行われた場合、及び、モデルパラメータの更新量が閾値以下になった場合等に更新処理が収束したと判定する。
【0063】
ここで、
図11を用いて、ステップ17の更新処理の流れを説明する。
図11は、更新処理の流れを示すフローチャートである。
図11に示すように、まず、学習装置10は、生成影画像と影エンコーダから出力された影の画像との、影を生成した領域における誤差を計算する(ステップS171)。また、学習装置10は、対象物の画像のNLL(ステップS172)を計算する。次に、学習装置10は、合成した出力画像と入力画像との再構成誤差を計算する(ステップS173)。
【0064】
さらに、学習装置10は、損失関数として影の画像の誤差、対象物の画像のNLL及び再構成誤差の線形和を計算する(ステップS174)。そして、学習装置10は、損失関数が小さくなるようにモデルパラメータを更新する(ステップS175)。
【0065】
図12を用いて、認識装置20による認識処理の流れを説明する。
図12は、認識処理の流れを示すフローチャートである。
図12に示すように、まず、認識装置20は、入力画像を取得し(ステップS21)、取得した入力画像をエンコーダに入力する(ステップS22)。次に、認識装置20は、エンコーダからの出力を影デコーダに入力する(ステップS23)。そして、認識装置20は、影デコーダから出力された影の画像を使った後処理を実行する(ステップS24)。
【0066】
図13を用いて、ステップ24の後処理の流れを説明する。
図13は、後処理の流れを示すフローチャートである。
図13に示すように、まず、認識装置20は、影の画像の影の数値の合計を計算し(ステップS241)、合計値が閾値以下であるか否かを判定する(ステップS242)。
【0067】
認識装置20は、合計値が閾値以下でない場合(ステップS242、No)、影がないと判定し画像認識処理を実行する(ステップS243)。一方、認識装置20は、合計値が閾値以上である場合(ステップS242、Yes)、影があると判定し画像認識処理を実行しない。
【0068】
そして、認識装置20は、入力画像を表示装置30に表示させる(ステップS244)。さらに、認識装置20は、影がないと判定し画像認識処理を行った場合は、画像認識処理の結果を表示装置30に表示させる。一方、認識装置20は、影があると判定し画像認識処理を行った場合は、影がある旨のメッセージとともに影の画像を表示装置30に表示させる。
【0069】
[効果]
上述したように、学習装置10は、超音波入力画像における超音波反射状況に対応した影を含む影画像を生成する。学習装置10は、超音波入力画像と影画像を合成した合成画像が入力されたエンコーダからの出力を、第1のデコーダと第2のデコーダとに入力する。学習装置10は、再構成誤差、誤差関数及び尤度関数に基づき、エンコーダ、第1のデコーダ、及び、第2のデコーダの学習を実行する。再構成誤差は、第1のデコーダの出力である第1の画像と第2のデコーダの出力である第2の画像とを合成する結合関数の出力画像と合成画像との再構成誤差である。誤差関数は、第1の画像の影画像における影部分に対応する領域と影画像の影との誤差関数である。尤度関数は、第2の画像についての超音波画像における対象物に関する尤度関数である。このように、学習装置10は、自動的に生成した影の画像を教師データとして学習を行うことができる。このため、実施例によれば、超音波画像の影の有無の判別における汎用性を向上させることが可能になる。
【0070】
学習装置10は、画像の画素値に対応する値を変数とする尤度関数であって、最大の画素値及び最小の画素値のいずれでもない所定の画素値に対応する変数に対して最大値をとる尤度関数を、第1の尤度関数及び第2の尤度関数の少なくともいずれかとして用いて学習を実行する。このため、実施例によれば、背景や影とは異なる対象物らしさを尤度関数として表すことができる。
【0071】
学習装置10は、画像の画素値に対応する確率変数が0より大きく1より小さい所定の値であるときに最大値を取るようにパラメータが設定されたベータ分布の確率密度関数に基づく尤度関数を、第1の尤度関数及び第2の尤度関数の少なくともいずれかとして用いて学習を実行する。このため、実施例によれば、0から1までの範囲に正規化した画素値を用いて、背景や影とは異なる対象物らしさを尤度関数として表すことができる。
【0072】
なお、上記の実施例では、エンコーダへの入力データ、及び各デコーダの出力データが画像データであるものとしたが、これらの入力データ及び出力データは、画像として復元可能なものであれば画像データでなくてもよい。例えば、学習装置10は、プローブから得られた超音波信号そのものを入力データ及び出力データとして扱ってもよい。その場合、学習装置10は、超音波信号として出力された影デコーダから出力されたデータを、必要に応じて画像に変換することができる。
【0073】
また、画像処理システム1において、プローブ40が認識装置20と同等の機能を持つようにしてもよい。その場合、プローブ40は、超音波画像から影デコーダを用いて出力した影の画像から影の有無を判定し、判定結果を通知音等により通知することができる。
【0074】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0075】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0076】
[ハードウェア]
図14は、ハードウェア構成例を説明する図である。
図14に示すように、学習装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図14に示した各部は、バス等で相互に接続される。
【0077】
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、
図1に示した機能を動作させるプログラムやDBを記憶する。
【0078】
プロセッサ10dは、
図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図1等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、生成部130、入力部131、結合部132、学習部133と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、生成部130、入力部131、結合部132、学習部133等と同様の処理を実行するプロセスを実行する。プロセッサ10dは、例えば、CPU、MPU、ASIC等のハードウェア回路である。
【0079】
このように学習装置10は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、学習装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0080】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0081】
1 画像処理システム
10 学習装置
11、21 インタフェース部
12、22 記憶部
13、23 制御部
20 認識装置
30 表示装置
40 プローブ
121 学習情報
122、222 エンコーダ情報
123、223 影デコーダ情報
124 対象物デコーダ情報
130 生成部
131、231 入力部
132 結合部
133 学習部
133a 計算部
133b 更新部
232 判定部
233 認識部
234 表示制御部