(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-02
(45)【発行日】2023-05-15
(54)【発明の名称】画像検索プログラム、画像検索装置、及び画像検索方法
(51)【国際特許分類】
A61B 6/03 20060101AFI20230508BHJP
G06T 7/00 20170101ALI20230508BHJP
【FI】
A61B6/03 360J
A61B6/03 360G
G06T7/00 612
(21)【出願番号】P 2018210418
(22)【出願日】2018-11-08
【審査請求日】2021-08-10
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】石原 正樹
(72)【発明者】
【氏名】鄭 明燮
(72)【発明者】
【氏名】宮▲崎▼ 信浩
(72)【発明者】
【氏名】森脇 康貴
(72)【発明者】
【氏名】杉村 昌彦
(72)【発明者】
【氏名】武部 浩明
(72)【発明者】
【氏名】馬場 孝之
【審査官】倉持 俊輔
(56)【参考文献】
【文献】特開2011-048481(JP,A)
【文献】特開2017-215876(JP,A)
【文献】特開2016-221052(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 6/00,6/03
G06T 1/00,7/00,
G06F 16/55
JSTPlus/JMEDPlus/JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置のコンピュータに実行させる画像検索プログラムであって、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出し、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成し、
前記二値化画像から前記候補領域の画像の中心線を抽出し、
前記中心線
を分岐点
で複数の分割線に分割し、前記分割線と前記中心線とが成す角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割し、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する
処理を前記コンピュータに実行させる画像検索プログラム。
【請求項2】
前記角度が閾値以下のとき、前記候補領域内の
前記分割線を含む領域を前記気管支の領域、前記角度が閾値より大きいとき、前記候補領域内の
前記分割線を含む領域を前記蜂巣肺の領域と判定して、前記候補領域の画像を分割することを特徴とする請求項1記載の画像検索プログラム。
【請求項3】
抽出した前記候補領域の画像の画素値を二値化して背景画像と前景画像を含む前記二値化画像を生成し、
前記二値化画像から、前記背景画像の各画素の画素値を、前記背景画像からの最短距離を表す距離値に変換し、前記距離値に基づいて前記候補領域の画像の中心線を抽出する
ことを特徴とする請求項1記載の画像検索プログラム。
【請求項4】
分割した前記中心線に近似した直線を生成し、前記直線を用いて前記角度を算出することを特徴する請求項1記載の画像検索プログラム。
【請求項5】
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置において、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出する候補領域抽出部と、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成する二値化画像生成部と、
前記二値化画像から前記候補領域の画像の中心線を抽出する中心線抽出部と、
前記中心線
を分岐点
で複数の分割線に分割する中心線分割部と、
前記分割線と前記中心線とが成す角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割する領域分割部と、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する照合処理部と
を備えることを特徴とする画像検索装置。
【請求項6】
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置における画像検索方法であって、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出し、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成し、
前記二値化画像から前記候補領域の画像の中心線を抽出し、
前記中心線
を分岐点
で複数の分割線に分割し、前記分割線と前記中心線とが成す角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割し、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づ
いて、前記第1の画像から前記第2の画像を検索する
ことを特徴とする画像検索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像検索プログラム、画像検索装置、及び画像検索方法に関する。
【背景技術】
【0002】
従来から、医療分野においては、過去の類似症例を検索し、検索結果を参照して、医師の診断を支援する画像検索装置がある。例えば、データベースに過去の症例を表す画像が記憶され、画像検索装置において、処理対象である画像の画像特徴が類似した画像をデータベースから検索し、検索した画像を順番に表示する、などである。画像検索装置では、検索した画像に症例が紐づけられている。そのため、画像検索装置により、例えば、患者の症例に類似する症例をデータベースから検索することが可能となる。このような画像検索装置では、例えば、CT(Computed Tomography:コンピュータ断層撮影)画像が用いられる。
【0003】
CT画像で撮影される異常陰影の1つとして、蜂巣肺がある。蜂巣肺とは、例えば、肺の肺胞構造が破壊消失した線維化(又は硬化)の中にみられる不規則に拡張した気腔の形成を指す。蜂巣肺とは、例えば、炎症等による線維化が進行した状態の肺のことである。
【0004】
また、気管支は肺と連結しており、蜂巣肺も気管支と連結している。この場合、蜂巣肺による肺の線維化による収縮で、気管支が拡張する場合がある。肺の線維化に伴い変形した状態となった気管支のことを、例えば、牽引性細気管支拡張と呼ぶ場合がある。
【0005】
牽引性細気管支拡張となった気管支は、陰影ではないものの、画像検索装置においては、誤って蜂巣肺と識別する場合がある。すなわち、蜂巣肺と、この蜂巣肺と連結した、牽引性細気管支拡張となった気管支とでは、画像検索装置においては、識別が困難であり、気管支を蜂巣肺と誤って認識する場合がある。牽引性細気管支拡張となった気管支に限らず、正常な気管支であっても、個体差もあるため、画像検索装置においては、そのような気管支を蜂巣肺と識別する場合もある。
【0006】
その原因としては、例えば、上述したように、物理的に蜂巣肺と気管支とは連結していることが考えられる。気管支と蜂巣肺は、ともに、中空構造であるため、空気のCT値(-1000)に相当する画素値を閾値にして領域抽出すると、類似した濃度の領域が連結して抽出されてしまう。
【0007】
画像検索装置では、このような気管支を蜂巣肺と識別する識別ミスによって、症例検索の精度が低下する場合がある。
【0008】
他方、例えば、肺のCT画像を中枢と末梢の2領域に分割し、それぞれの領域に存在する異常陰影の位置と数とをヒストグラムで表し、同様に表された過去の症例のヒストグラムとを照合して、類似症例を検索する画像検索装置もある。ヒストグラムとは、例えば、棒状グラフのことである。異常陰影の位置と数が棒状グラフとして表されることで、例えば、異常陰影の分布を定量的に症例間で比較することが可能となる。このような画像検索装置により、例えば、類似症例を高精度に検索することができ、診断時間も短縮することが可能となる。
【0009】
画像検索に関する技術として、例えば、以下がある。すなわち、複数の断面画像から目的部位に関する領域を抽出し、抽出された領域から気管支などの気管支樹の末梢点を検出し、末梢点から気管支樹の環状構造を抽出する画像処理装置がある。
【0010】
この技術によれば、高い分岐レベルの樹形管状構造を取得できる、とされる。
【0011】
また、胸部断層画像から抽出した肺辺縁領域から取得した特徴量に基づき、肺辺縁領域内の正常部及び蜂巣肺を含む1以上の病変部を識別して分類し、病変の識別結果と分類結果とを出力する診断支援装置がある。
【0012】
この技術によれば、間質性肺炎などの肺野病変の診断性能に優れ、従来非常に困難であったIPF(idiopathic pulmonary fibrosis:突発性肺線維症)とNSIP(nonspecific interstitial pneumonia:突発性非特異性間質性肺炎)との識別が可能になる、とされる。
【先行技術文献】
【特許文献】
【0013】
【文献】特開2014-223311号公報
【文献】国際公開第2017/150497号
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、上述したように、気管支と蜂巣肺とが物理的に連結しているなどの理由から、画像検索装置においては、気管支と蜂巣肺との識別が困難な場合がある。ヒストグラムを用いた画像検索装置でも、気管支を蜂巣肺と識別することで、実際よりも中枢方向に多めに蜂巣肺の領域を抽出する場合がある。この場合、画像検索装置では、誤ったヒストグラムを用いてデータベースから症例を検索することになり、本来検索される症例が検索されず、症例検索の精度が低下する場合がある。
【0015】
また、上述した、気管支樹の末梢点を検出し、末梢点から気管支樹の環状構造を抽出する画像処理装置は、気管支と蜂巣肺との識別については何ら議論されていない。また、上述した、肺辺縁領域から取得した特徴量に基づき、肺辺縁領域内の正常部及び蜂巣肺を含む1以上の病変部を識別する診断支援装置も、蜂巣肺を識別しているものの、気管支と蜂巣肺とをどのように識別するかについては何ら議論されていない。
【0016】
そこで、一開示は、気管支と蜂巣肺とを正確に分割することが可能な画像検索プログラム、画像検索装置、及び画像検索方法を提供することにある。
【0017】
また、一開示は、症例検索の精度を向上させることが可能な画像検索プログラム、画像検索装置、及び画像検索方法を提供することにある。
【課題を解決するための手段】
【0018】
一開示は、第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置のコンピュータに実行させる画像検索プログラムであって、被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出し、抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成し、前記二値化画像から前記候補領域の画像の中心線を抽出し、前記中心線が分岐した分岐点で前記中心線を分割し、分割した前記中心線の角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割し、分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する処理を前記コンピュータに実行させるプログラムにある。
【発明の効果】
【0019】
一開示によれば、蜂巣肺と気管支の領域を正確に分割することが可能となる。また、一開示によれば、症例検索の精度を向上させることが可能となる。
【図面の簡単な説明】
【0020】
【
図1】
図1は画像検索システムの構成例を表す図である。
【
図2】
図2(A)は辞書登録モジュール、
図2(B)は検索モジュールの構成例を夫々表す図である。
【
図3】
図3(A)はCT画像の例、
図3(B)はヒストグラムの例を夫々表す図である。
【
図4】
図4は気管支領域分割部の構成例を表す図である。
【
図5】
図5(A)と
図5(B)は気管支と蜂巣肺が写っているCT画像の例を表す図である。
【
図6】
図6(A)と
図6(B)は気管支と蜂巣肺の分布例を表す模式図である。
【
図7】
図7(A)から
図7(D)は各処理により生成される画像などの例を表す図である。
【
図8】
図8(A)から
図8(D)は各処理の例を表す図である。
【
図9】
図9は特徴抽出処理の例を表すフローチャートである。
【
図10】
図10は気管支領域抽出処理の例を表すフローチャートである。
【
図11】
図11は中心線抽出処理の例を表すフローチャートである。
【
図24】
図24は蜂巣肺領域と気管支領域の例を表す図である。
【
図25】
図25は画像検索装置のハードウェア構成例を表す図である。
【
図27】
図27は画像検索装置のハードウェア構成例を表す図である。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態について説明する。なお、以下の実施の形態は開示の技術を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0022】
[第1の実施の形態]
<画像検索システムの構成例>
図1は画像検索システム10の構成例を表す図である。
【0023】
画像検索システム10は、画像検索装置100と、画像データベース(以下、「画像DB」(DB:Data Base)と称する場合がある。)200、及びCT画像撮像装置300を備える。
【0024】
画像DB200は、過去に撮影された患者の肺野領域の断面画像が症例などとともに記憶されている。CT画像撮像装置300は、患者の肺野領域の断面画像を撮影し、撮影した断面画像を画像検索装置100へ出力する。画像DB200もCT画像撮像装置300も、いずれも、断面画像として、CT画像が用いられる。
【0025】
画像検索装置100は、CT画像撮像装置300で撮影されたCT画像に対して、画像DB200に登録された過去の症例を表すCT画像と類似するCT画像を検索する。そして、画像検索装置100は、検索したCT画像を、UI(User Interface)140により表示する。医師は、表示されたCT画像に基づいて、患者の診断を行う。画像検索装置100は、例えば、類似症例検索装置でもある。
【0026】
なお、以下では、画像DB200から読み出されたCT画像を「CT画像」、CT画像撮像装置300から出力されたCT画像を「クエリ画像」とそれぞれ称する場合がある。また、第1の実施の形態では、画像として、CT画像を例にして説明するが、断面画像として、例えば、MRI(Magnetic Resonance Imaging)画像でもよい。
【0027】
画像検索装置100は、辞書登録モジュール(又は辞書登録部)110、特徴量辞書データベース(又は特徴量辞書DB(Data Base))120、検索モジュール(又は検索部)130、及びUI140を備える。
【0028】
なお、「モジュール」は、例えば、プログラム内において、ある機能を実現するサブプログラムを表す。ただし、以下では、そのような機能を実現する処理ブロックを「モジュール」として表す場合がある。従って、「辞書登録モジュール」110は、例えば、CT画像の特徴量を特徴量辞書DB120へ登録するなどの機能を有する処理ブロックであり、「検索モジュール」130は、例えば、クエリ画像に類似するCT画像を検索するなどの機能を有する処理ブロックである。
【0029】
辞書登録モジュール110は、画像DB200から、過去の症例を表すCT画像を読み出し、読み出したCT画像のCT値(又は画像データ)に基づいて、CT画像の特徴量を抽出する。その際、辞書登録モジュール110は、CT画像から候補領域を抽出し、抽出した候補領域から気管支の領域と蜂巣肺の領域とを分割し、分割した気管支の領域又は蜂巣肺の領域に基づいて、陰影識別を行い、特徴量を抽出する。辞書登録モジュール110は、特徴量を特徴量辞書DB120へ出力する。辞書登録モジュール110の詳細は後述する。
【0030】
特徴量辞書DB120は、例えば、メモリや記憶装置であり、特徴量を記憶する。
【0031】
検索モジュール130は、CT画像撮像装置300から出力されたクエリ画像のCT値(又は画像データ)に基づいて、特徴量算出処理を行い、クエリ画像の特徴量を算出する。その際、検索モジュール130は、CT画像から候補領域を抽出し、抽出した候補領域から気管支の領域と蜂巣肺の領域とを分割し、分割した気管支の領域又は蜂巣肺の領域に基づいて、陰影識別を行い、特徴量を抽出する。検索モジュール130は、特徴量辞書DB120からCT画像の特徴量を読み出し、読み出した特徴量と、クエリ画像の特徴量とを照合し、クエリ画像に類似する特徴量を有するCT画像を検索する。検索モジュール130は、検索結果をUI140へ出力する。検索モジュール130の詳細は後述する。
【0032】
UI140は、例えば、モニタ141やキーボード142などであって、ユーザ(例えば医師)と画像検索装置100との間で情報をやりとりするためのインタフェースである。UI140は、例えば、モニタ141などを介して、検索結果を表示する。この場合、UI140は、検索結果に対応するCT画像を画像DB200から読み出して表示してもよい。また、UI140は、例えば、検索キーを検索モジュール130へ出力し、CT画像撮像装置300で撮影されたCT画像の閲覧や、検索処理対象となるクエリ画像の選択、などを行うことも可能である。UI140は、例えば、検索結果として、検索したCT画像に紐付けされた症例を表示することも可能である。
【0033】
画像DB200は、例えば、メモリや記憶装置であって、過去の症例を表すCT画像を記憶する。なお、画像DB200は、各CT画像のファイル名や各CT画像のID(Identification)、対応する症例なども記憶してもよい。辞書登録モジュール110は、CT画像とこれらの情報とを、画像DB200から読み出し、特徴量とともに、対応するCT画像のこれらの情報を、特徴量辞書DB120に記憶してもよい。
【0034】
CT画像撮像装置300は、例えば、照射器を回転させて人体にX線などの放射線を照射し、検出器により照射された放射線を検出することで、各画素においてCT値(又は画素値。以下では、CT値と画素値とを区別しないで用いる場合がある。)を有するCT画像を得る。CT画像撮像装置300は、撮影したCT画像をクエリ画像として、画像検索装置100へ出力する。
【0035】
<辞書登録モジュールと検索モジュールの各構成例>
図2(A)は、辞書登録モジュール110の構成例を表す図である。
【0036】
辞書登録モジュール110は、特徴量抽出部111を備える。特徴量抽出部111は、画像DB200から出力されたCT画像に対して特徴量を抽出し、抽出した特徴量を特徴量辞書DB120に記憶する。特徴量は、例えば、CT画像を格子状に分割した各格子領域において、異常陰影と判定された格子領域の数である。特徴量抽出部111は、特徴量として、ヒストグラムを特徴量辞書DB120に記憶してもよい。以下では、特徴量とヒストグラムを区別しないで用いる場合がある。
【0037】
図3(A)はCT画像(又はクエリ画像)の例、
図3(B)はヒストグラムの例をそれぞれ表す図である。
【0038】
図3(A)に示すように、CT画像は、例えば、被検体の肺野領域を、体幹を中心にしてアキシャル面で断面(又はスライス)した断面画像(又は断層画像)である。辞書登録モジュール110では、各CT画像を、グリッド状の格子領域に分割し、格子領域毎に異常陰影か正常陰影かを識別する。
【0039】
また、辞書登録モジュール110では、各CT画像を、肺の中枢(例えば、体の中心部分)と末梢(例えば、体の中心部分以外の部分)に関する領域の三次元モデルに基づいて、中枢部分と末梢部分とに分割し、中枢部分毎、末梢部分毎に、異常陰影と識別した格子領域の数をカウントする。
【0040】
図3(B)の例では、辞書登録モジュール110は、このような三次元モデルに基づいて、左肺の中枢部分と末梢部分、右肺の中枢部分と末梢部分とに分割し、それぞれの部分で、異常陰影と識別した格子領域の数をカウントして生成したヒストグラムの例を表している。辞書登録モジュール110は、例えば、1人分の複数枚のCT画像に対して、
図3(B)に示す1つのヒストグラムを作成する。
【0041】
図3(B)に示すヒストグラムでは、図面上、上側が被検体の「頭」の方向であり、下側が「足」の方向である。また、
図3(B)において、横方向は、例えば、その位置において異常陰影と識別された格子領域の数を表している。
【0042】
図2(A)に戻り、特徴量抽出部111は、候補領域抽出部112と気管支領域分割部113、及び陰影識別及び分布特徴抽出部(以下、「分布特徴抽出部」と称する場合がある。)114を備える。
【0043】
候補領域抽出部112は、CT画像から候補領域を抽出する。例えば、候補領域抽出部112は、CT画像の各画素のCT値が「-1000」以下(CT値≦-1000)を満たす領域を、候補領域(又は候補領域画像)として抽出する。CT値が「-1000」以下は、例えば、その画素が空気であることを示している。
図7(A)は、例えば、CT画像に対する候補領域の例を表す図である。
【0044】
図2(A)に戻り、気管支領域分割部113は、CT画像における候補領域の画像を、例えば、気管支の領域と、気管支以外の肺野領域とに分割し、気管支以外の肺野領域の画像を分布特徴抽出部114へ出力する。この場合、気管支領域分割部113は、分割した気管支領域の画像を分布特徴抽出部114へ出力してもよい。気管支領域分割部113の詳細は後述する。
【0045】
図2(B)は検索モジュール130の構成例を表す図である。
【0046】
検索モジュール130は、特徴量抽出部131と照合処理部135を備える。特徴量抽出部131は、候補領域抽出部132と気管支領域分割部133、及び分布特徴抽出部134を備える。特徴量抽出部131は、例えば、辞書登録モジュール110の特徴量抽出部111と同様である。
【0047】
ただし、特徴量抽出部131は、CT画像撮像装置300から取得したクエリ画像に対して、候補領域抽出部132で候補領域を抽出し、気管支領域分割部133で気管支とそれ以外の肺野領域に分割し、分布特徴抽出部134で、気管支以外の肺野領域に対して特徴量を抽出する。気管支領域分割部133は、例えば、気管支領域分割部113と同様に、分割した気管支領域の画像を出力してもよい。特徴量抽出部131も、例えば、クエリ画像に対して、
図3(B)に示すヒストグラムを作成することができる。
【0048】
図2(B)に戻り、照合処理部135は、特徴量抽出部131から出力された特徴量と、特徴量辞書DB120から読み出した特徴量とを照合し、クエリ画像の特徴量に類似する特徴量を有するCT画像を検索する。照合処理部135は、検索結果として、例えば、このような類似する特徴を有するCT画像をUI140へ出力する。この場合、照合処理部135は、検索したCT画像に紐付けされた症例情報も、特徴量辞書DB120から読み出して、検索結果として、CT画像とともに症例情報とをUI140へ出力してもよい。
【0049】
<気管支領域分割部の構成例>
図4は気管支領域分割部113の構成例を表す図である。検索モジュール130の気管支領域分割部133も、例えば、
図4に示す構成例と同一構成である。代表して、辞書登録モジュール110の気管支領域分割部113について説明する。
【0050】
本第1の実施の形態における気管支領域分割部113では、気管支と蜂巣肺の肺内における分布の性質が異なることに着目し、その性質を利用して気管支と蜂巣肺の各領域を分割する。
【0051】
図5(A)は気管支の分布例、
図5(B)は蜂巣肺の分布例をそれぞれ表すCT画像の例を表す。また、
図6(A)と
図6(B)は、気管支と蜂巣肺の分布の相違を表す模式図である。
【0052】
図5(A)に示すように気管支は、中枢から末梢方向へ、又は、末梢から中枢方向へ向かって分布している。一方、
図5(B)に示すように蜂巣肺は、末梢(又は肺の輪郭)に沿って分布している。
図6(B)に示すように、本第1の実施の形態における気管支領域分割部113では、このような気管支と蜂巣肺の分布の相違に着目し、中枢方向からだけではなく、末梢方向からも、その領域を辿って、気管支と蜂巣肺の各領域を分割するようにしている。
【0053】
図4に戻り、気管支領域分割部113は、二値化画像生成部1130と、中心線抽出部1131、中心線分割部1134、角度算出部1135、ラベリング部1136、及び領域分割部1137を備える。
【0054】
二値化画像生成部1130は、候補領域の画像に対して、所定の閾値を用いて二値化する。例えば、二値化画像生成部1130は、候補領域の画像の各画素のCT値が閾値以上のときは、その画素の画素値を「255」、CT値が閾値より小さいときには、その画素の画素値を「0」に設定する。二値化画像生成部1130は、候補領域の画像のCT値を二値化することで、背景画像と前景画像を含む二値化画像を生成する。
【0055】
図7(B)は二値化画像の例を表す図である。例えば、二値化画像生成部1130は、画素値を「255」に設定した画素の領域を前景領域、画素値を「0」に設定した画素の領域を背景領域に設定することで、背景画像と前景画像の二値化画像を生成する。二値化画像生成部1130は、二値化画像などを中心線抽出部1131へ出力する。
【0056】
図4に戻り、中心線抽出部1131は、距離変換部1132と中心線抽出処理部1133を備える。
【0057】
距離変換部1132は、二値化画像において、前景画像の各画素値を、前景画像からの距離を表す距離値に変換することで、二値化画像を距離変換画像へ変換する。距離変換画像では、例えば、前景画像の各画素値が、背景画像との境界面からの最短距離(又は最短画素数)に応じた距離値へ変換された画像となっている。
【0058】
図7(C)は、例えば、距離変換画像の例を表す図である。
図7(C)に示すように、前景画像の中心付近が、前景画像の中で、背景画像からの距離が最も遠いため、最も大きな距離値を有している。距離変換部1132における距離変換の詳細は動作例で説明する。距離変換部1132は、距離変換画像などを中心線抽出処理部1133へ出力する。
【0059】
図4に戻り、中心線抽出処理部1133は、距離変換画像の距離値に基づいて中心線を抽出する。
【0060】
図7(D)は、中心線抽出処理部1133により抽出した中心線の例を表す図である。中心線抽出処理の詳細は動作例で説明する。中心線抽出処理部1133は、抽出した中心線に関する情報などを中心線分割部1134へ出力する。
【0061】
図4に戻り、中心線分割部1134は、中心線が分岐した分岐点で中心線を各枝に分割する。
図8(A)は各枝の例を表す図である。
図8(A)の例では、分岐点b1を中心にして、中心線が、枝a1b1と枝b1c、及び枝b1d1に分割される例を表している。中心線の分割処理の詳細は動作例で説明する。中心線分割部1134は、分割した各枝の情報などを角度算出部1135へ出力する。
【0062】
図4に戻り、角度算出部1135は、分岐した各枝を直線で近似し、近似した直線を利用して、各枝(又は各直線)の角度を算出する。例えば、角度算出部1135は、最小二乗法などを用いて、中心線の各点から直線を近似し、近似した直線を利用して、2つの直線の角度を算出する。直線近似と角度算出の詳細は動作例で説明する。
図8(B)は、角度算出の例を表す図である。
図8(B)では、角度算出部1135が、枝a1b1と枝b1d1との角度を算出する例を表している。角度算出部1135は、算出した角度に関する情報と各枝に関する情報などをラベリング部1136へ出力する。
【0063】
図4に戻り、ラベリング部1136は、角度算出部1135で算出された角度に基づいて、各枝に対して、気管支又は蜂巣肺のラベリングを行う。
【0064】
図8(C)はラベリングの例を表す図である。
図8(C)の例では、ラベリング部1136は、枝a1b1と、枝b1cとを蜂巣肺、枝b1d1を気管支とそれぞれラベリングする。ラベリング部1136は、各中心線の情報と各中心線にラベリングした情報などを、領域分割部1137へ出力する。
【0065】
図4に戻り、領域分割部1137は、例えば、各枝にラベリングした情報に基づいて、候補領域を気管支の領域と蜂巣肺の領域とに分割する。
図8(D)は、領域分割の例を表す図である。詳細については動作例で説明する。領域分割部1137は、例えば、分割した気管支の領域を候補領域の画像から取り除いた肺野領域の画像を出力する。
【0066】
<動作例>
次に動作例について説明する。動作例については、最初に、辞書登録モジュール110の特徴量抽出部111や検索モジュール130の特徴量抽出部131で行われる特徴量抽出処理(又は特徴抽出処理。以下では、「特徴抽出処理」と称する場合がある。)について説明する。次に、検索モジュール130の照合処理部135で行われる照合処理について説明する。
【0067】
<1.特徴抽出処理>
図9は、画像検索装置100における特徴抽出処理の例を表すフローチャートである。
【0068】
画像検索装置100は、特徴抽出処理により、画像データに基づいて、画像の特徴量を算出する。例えば、辞書登録モジュール110が、画像DB200から読み出したCT画像に対して、特徴抽出処理を行って特徴量を抽出する。また、例えば、検索モジュール130が、CT画像撮像装置300から出力されたクエリ画像に対して、特徴抽出処理を行って特徴量を抽出する。ここでは、辞書登録モジュール110で行われる場合を例にして、
図9を説明する。
【0069】
辞書登録モジュール110の特徴量抽出部111は、特徴抽出処理を開始すると(S10)、CT画像を読み出して、CT画像から候補領域を抽出する(S11)。例えば、候補領域抽出部112は、CT画像の各画素のCT値と閾値(例えば、-1000)とを比較して、閾値より小さいCT値を有するCT画像の領域を抽出する。
【0070】
次に、特徴量抽出部111は、気管支領域抽出処理を行う(S12)。例えば、気管支領域分割部113が気管支領域抽出処理を行う。
【0071】
図10は、気管支領域抽出処理の例を表すフローチャートである。
【0072】
気管支領域分割部113は、気管支領域抽出処理を開始すると(S120)、二値化画像を取得する(S121)。例えば、二値化画像生成部1130は、候補領域画像のCT値が閾値以上のとき、その画素の画素値を「255」、CT値が閾値より小さいときは、その画素の画素値を「0」にして、二値化画像を取得する。この場合、例えば、背景画像はその画素の画素値が「0」となっている画像であり、前景画像はその画素の画素値が「255」となっている画像のことである。
【0073】
次に、気管支領域分割部113は、中心線抽出処理を行う(S122)。
【0074】
図11は、中心線抽出処理の例を表すフローチャートである。
【0075】
中心線抽出部1131は、中心線抽出処理を開始すると(S1220)、距離変換を行う(S1221)。
【0076】
図12(A)は、8×9画素の二値化画像の例を表す図である。距離変換の処理(S1221)については、例えば、
図12(A)に示す二値化画像から距離変換画像が生成される例で説明する。例えば、距離変換部1132では、以下の処理を行う。
【0077】
すなわち、距離変換部1132は、
図12(B)に示す順方向ラスター走査用マスクを、
図12(A)に示す二値化画像に対して順方向へ走査(順方向ラスター走査)する。この際、距離変換部1132では、画素P(x,y)が「0」以外の前景画像の画素のとき、画素P(x,y)に隣接する4画素(P(x-1,y-1),P(x,y-1),P(x+1,y-1),P(x-1,y))の各画素値(又は距離値)を調べ、最小値に「1」を加えた値を、画素P(x,y)の距離値として設定する。
【0078】
図13(A)は、画素(2,2)をP(x,y)として、画素(2,2)から順番に、順方向ラスター走査用マスクを利用して走査する様子を表す図である。距離変換部1132は、図面上、左上から右下に向けて、順方向ラスター走査用マスクを走査する。
【0079】
また、
図13(B)は、画素(4,2)に対して距離値を設定している様子を表す図である。
図13(B)に示すように、画素(4,2)をP(x,y)としたとき、P(x,y)は「0」以外の前景画像の画素となっている。そのため、距離変換部1132は、隣接する4画素((3,1),(3,2),(3,3),(4,1)の4画素)の画素値の最小値である「0」に「1」を加えた「1」を、画素(4,2)の距離値として設定する。
【0080】
また、
図14(A)も距離値を設定している様子を表す図である。
図14(B)では、距離変換部1132は、画素(5,3)をP(x,y)とし、隣接する4画素の画素値の最小値「1」に「1」を加えた「2」を距離値に設定している。
【0081】
図14(B)は、順方向ラスター走査用マスクの順方向への走査が終了したときの、距離変換画像の例を表す図である。
図14(B)に示すように、前景画像の各画素の距離値は、例えば、背景画像との境界面からの距離が画素数で表されたものとなっている。例えば、画素(4,2)は、背景画像の境界面から「1」画素の距離があるため、距離値として「1」が設定され、画素(5,3)は、背景画像の境界面から「2」画素の距離があるため、距離値として「2」が設定される。
【0082】
ただし、画素(6,3)から画素(6,6)までの距離値は、境界面からの距離に対応していない値となっている。
【0083】
これは、例えば、
図12(B)に示す順方向ラスター走査用マスクでは、画素P(x,y)に対して、左側の画素(P(x-1,y-1)とP(x-1,y)など)と上側の画素(P(x-1,y-1),P(x,y-1)など)の画素値(又は距離値)に着目して、距離値が設定されるからである。
【0084】
そのため、距離変換部1132は、
図12(C)に示す逆方向ラスター走査用マスクを利用して、順方向への走査が終了した距離画像に対して、
図15(A)に示すように、図面上、右下から左上に向けて、逆方向への走査を行って、最終的な距離画像への変換を行う。
【0085】
この場合、距離変換部1132は、画素P(x,y)が「0」以外の前景画像の画素のとき、画素P(x,y)に隣接する4画素(P(x+1,y),P(x-1,y+1),P(x,y+1),P(x+1,y+1))の各距離を調べる。そして、距離変換部1132は、最小距離値に「1」を加算した値と、設定済の画素P(x,y)の距離値とを比較して、小さい値を、画素P(x,y)の距離値に採用する。
【0086】
図15(B)は、画素(6,7)に対して距離値を設定する例を表す図である。この場合、距離変換部1132は、隣接画素の最小距離値「0」に「1」を加えた値「1」と、既に設定済の画素(6,7)の距離値「1」とを比較して、小さい方の値「1」を採用する。従って、距離変換部1132は、画素(6,7)に距離値として「1」を設定する。
【0087】
図16(A)は、画素(6,6)に距離値を設定する例を表す図である。この場合、距離変換部1132は、隣接画素の最小距離値「0」に「1」を加えた値「1」と、画素(6,6)に設定済の「2」とを比較して、小さい値「1」を、画素(6,6)の距離値に設定する。
【0088】
図16(B)は、逆方向ラスター走査用マスクの逆方向への走査が終了したときの、距離変換画像の例を表す図である。
図16(B)に示すように、画素画素(6,3)から画素(6,6)までの距離値は、境界面からの距離に対応した値となっている。
【0089】
これは、例えば、
図12(C)に示すように、画素P(x,y)に対して、右側の画素(P(x+1,y)とP(x+1,y+1)など)と下側の画素(P(x-1,y+1)とP(x,y+1)など)の距離値に着目して、画素P(x,y)の距離値が設定されるからである。
【0090】
以上が距離変換処理(S1221)の例である。
図12(A)から
図16(B)の例では、二次元の場合の距離変換の例である。例えば、本第1の実施の形態では、三次元の場合も距離変換でも実施可能である。
【0091】
図17(A)は、三次元の場合における順方向の走査例を表す図である。また、
図17(B)は、三次元の場合で利用される順方向ラスター走査用マスクの例を表す図である。
【0092】
この場合、順方向ラスター走査用マスクの画素B
20に着目し、各CT画像について、
図17(A)に示すように、距離変換部1132は、左上から右下(
図17(A)では左下から右上)に向けてラスター走査(順方向ラスター走査)をしながら、画素B
20の距離値を設定していく。距離変換部1132は、画素B
20が「0」以外の前景画像の画素のとき、画素B
20に隣接する13画素(B
10~B
18,B
24~B
27)の画素値(又は距離値)を調べ、最小値に「1」を加えた値を、画素B
20の距離値として設定する。距離変換部1132は、順方向のラスター走査が終了後、逆方向のラスター走査を行う。
【0093】
図18(A)は逆方向ラスター走査の例、
図18(B)は逆方向ラスター走査用マスクの例を夫々表す図である。距離変換部1132は、画素B
20に隣接する13画素(B
21~B
23,B
30~B
38)の最小距離値を調べ、その距離値に「1」を加算した値と、設定済の画素B
20の距離値とを比較し、小さい方の距離値を、画素B
20の距離値に設定する。
【0094】
図11に戻り、距離変換部1132は距離変換処理(S1221)を終了すると、次に、中心線抽出処理部1133は、中心線抽出処理を行う(S1222~S1226)。
【0095】
すなわち、中心線抽出処理部1133は、距離変換後の画像に対して、順ラスター走査で、距離値が「1」より大きい点(又は画素。以下では、「点」と称する場合がある。)iについて、当該点iの距離Rを半径に持つ円を定義する。そして、中心線抽出処理部1133は、距離値「1」の点を、輪郭線を構成する点と定義する(S1222)。距離値が「1」の点の集合は、例えば、輪郭線となる。
【0096】
図19(A)は、点Aが点iのとき、点Aの距離値Rを半径に持つ円の例を表す図である。上述したように各画素の距離値は、例えば、前景画像と背景画像の境界線(又は輪郭線。以下、「輪郭線」と称する場合がある。)からの距離を画素数で表された値となっている。従って、点A(又はこの点Aの位置にある画素A)の距離値は、輪郭線からの距離を表し、その距離を半径に持つ円を定義することが可能である。点Bがi点のとき、点Bの距離rを半径に持つ円も定義することが可能であり、点Cがi点のとき、点Cの距離rを半径に持つ円も定義することが可能である。
【0097】
なお、距離が「1」の点(又はこの点の位置にある画素)は輪郭線を構成する点と定義している。
【0098】
図11に戻り、次に、中心線抽出処理部1133は、ある点iの円が点i以外の任意の点jの円に対して、常に以下の式(1)が成り立つか否かを判定する(S1223)。
【0099】
Ri>Rj、かつ 点iと点jの距離<Ri ・・・(1)
式(1)において、Riは点iにおける円の半径(又は距離値)を表し、Rjは任意の点jにおける円の半径(又は距離値)を表す。
【0100】
図19(A)の例では、点Aが点iのとき、任意の点jを点Bとすると、点Aを中心とする円の半径Rは、点Bを中心とする円の半径rよりも大きく、かつ、2点間の距離dは、点Aを中心とする円の半径Rより小さい。この場合、中心線抽出処理部1133は、式(1)は成立すると判定する。
【0101】
一方、点Aが点iで、任意の点jが点Cのとき、点Aを中心とする円の半径Rは、点Cを中心とする円の半径rより大きいものの、2点AC間の距離は、点Aを中心とする円の半径Rより大きい。この場合、中心線抽出処理部1133は、式(1)は成立しないと判定する。
【0102】
本処理(S1223)では、例えば、中心線抽出処理部1133が、点iの輪郭線までの最短距離を半径とする円が他の任意の点における円に囲まれない円を見つけ出すようにしている。
【0103】
例えば、
図19(A)の例において、点Aが点i、点Bが点jの場合、式(1)を満たし、点Aが点i、点Cが点jのとき、式(1)を満たさない。この場合、点Aを中心とする円は、点Bを中心とする円を囲むが、点Cを中心とする円は囲まない。また、点Aを中心とする円は、式(1)を満たす他の円により囲まれることはない。従って、点Aを中心とする円は、他の円を囲むが、他の円によって囲まれることはない。
【0104】
中心線抽出処理部1133は、点Aの距離値が、他の点(例えば点B)の距離値よりも大きく、かつ、点Aと他の点との距離が点Aの距離値よりも小さいとき、点Aを中心とする円は、他の点を中心とする円に囲まれない円(S1223でYes)と判定している。
【0105】
他の円に囲まれない円を有する点iを、例えば、「スケルトン」と称する場合がある。点Aや点Cはスケルトンであるが、点Bはスケルトンではない。
【0106】
図11に戻り、中心線抽出処理部1133は、式(1)が成立すると判定したとき(S1223でYes)、点iを、中心線を構成する点とし、当該点iを中心とする半径Riの円を極大円と定義する(S1224)。
図19(A)の例では、点Aは中心線を構成する点であり、点Aを中心とする半径Rの円は極大円となる。点Cも同様である。
【0107】
図11に戻り、次に、中心線抽出処理部1133は、順ラスターの走査が終了したか(距離値が「1」より大きい点を全て走査し終えたか)否かを判定する(S1225)。
【0108】
中心線抽出処理部1133は、順ラスターの走査が終了したと判定したとき(S1225でYes)、中心線を構成する点をつなげることで、中心線を形成する(S1226)。すなわち、中心線抽出処理部1133は、距離値が「1」より大きい点Aを中心とする円が、距離値が「1」より大きい他の点(例えば点B)を中心とする円に対して囲まれない円のとき、点Aの集合を候補領域画像の中心線として抽出する。
【0109】
そして、中心線抽出処理部1133は、中心線を構成する各点について、下記のルールに基づき、4種類に分類する(S1226)。
【0110】
1)端点:輪郭線と一致するすべての点が連結しているような極大円の中心
2)分岐点:3つ以上の分離した連結部分が輪郭線と接するような極大円の中心
3)枝:両端が端点又は分岐点であり、点の集合で構成される線分
4)円中心:輪郭線の一部と一致するような極大円の中心
【0111】
図19(B)は、ある領域内の端点Tと分岐点Bの例を表す図である。端点については、上記1)のように定義されるが、言い換えると、例えば、輪郭線と接している極大円の中心点である。
図19(B)に示すように、点Tはいずれも、輪郭線と接する極大円の中心点となっている。
【0112】
また、分岐点は、上記2)のように定義されるが、言い換えると、例えば、輪郭線と接する点が3か所以上ある極大円の中心点である。
図19(B)に示すように、点Bの極大円はいずれも3か所で輪郭線と接している。
【0113】
さらに、
図19(B)の例では、線分TBや線分BBは、いずれも両端が端点又は分岐点となっているため、枝である。
【0114】
さらに、
図19(C)は、円中心Cの例を表す図である。
図19(C)に示すように点Cの極大円は、輪郭線の一部と一致しており、その中心Cは円中心となり得る。
【0115】
なお、中心線は、例えば、このように分類された各点の集合と考えることができる。
【0116】
図11に戻り、中心線抽出処理部1133は、中心線を構成する点を4種類に分類すると(S1226)、中心線抽出処理を終了する(S1227)。
【0117】
一方、中心線抽出処理部1133は、順ラスター走査が終了していないとき(S1225でNo)、S1222へ移行して、順ラスター走査が終了するまで、S1222以降の処理を行う。
【0118】
一方、ある点iの円が、点i以外の任意の点jに対して式(1)が成立しないとき(S1223でNo)、そのような点iを中心とする円は他の任意の点jを中心とする円に囲まれる。そのため、中心線抽出処理部1133は、そのような点iを中心線と定義することははせず、また、その点iを中心とする円は極大円とは定義することもせず、S1225へ移行する。
【0119】
なお、距離変換(S1221)の際に、三次元の例について説明した。中心線抽出処理(S1222からS1226)についても三次元の例でも実施可能となる。
【0120】
この場合、S1222では、中心線抽出処理部1133は、距離変換後の画像に対して、順ラスター走査で距離値が「1」より大きい点iについて、点iの距離値Rを半径に持つ球を定義し、距離値が「1」の点は輪郭面を構成する点と定義する。
【0121】
また、S1223では、中心線抽出処理部1133は、点iを中心にした半径Rの球が、点i以外の任意の点jの球に対して、式(1)が成立するか否かを判定する。
【0122】
そして、中心線抽出処理部1133は、式(1)が成立するとき(S1223でYes)、点iを中心とする半径Riの球を極大球と定義する(S1225)。さらに、S1226で、中心線抽出処理部1133は、中心線を構成する点(S1224)を、つなげることで中心線を形成し、中心線を構成する点を4種類に分類する(S1226)。
【0123】
この場合、中心線抽出処理部1133は、二次元の例では輪郭線と極大円としたものを、三次元では輪郭面や極大球として、4種類に分類すればよい。
【0124】
中心線抽出処理部1133は、例えば、中心線を構成する各点の情報、分類した各点の情報などを、中心線分割部1134へ出力する。
【0125】
以上が中心線抽出処理の動作例(S1220~S1227)である。
【0126】
図10に戻り、気管支領域分割部113は、中心線抽出処理(S122)を終了すると、中心線を分割する(S123)。例えば、中心線分割部1134は、中心線を構成する各点の情報、分類した各点の情報などに基づいて、分岐点を中心にして中心線を枝に分割する。
図8(A)の例では、中心線分割部1134は、分岐点b1を中心にして、中心線を、枝a1b1と、枝b1c、及枝b1d1に分割する。枝a1b1,枝b1c,及び枝b1d1は、例えば、分割された各中心線でもある。中心線分割部1134は、分割した各枝の情報、各枝を構成する各点の情報などを、角度算出部1135へ出力する。
【0127】
図10に戻り、次に、気管支領域分割部113は、分割した各枝に対して直線近似を行い、近似した直線に対して角度を検出する(S124)。例えば、角度算出部1135は、直線近似について以下の処理を行う。
【0128】
すなわち、角度算出部1135は、中心線分割部1134で分割した各枝を構成する各点に対して、最小二乗法を適用して、各枝に近似した直線を生成する。具体的には、角度算出部1135は、枝を構成する各点(x,y)に対して、最小二乗法を適用して、二次方程式y=ax+bの傾きaとy切片bを以下の式を利用して算出し、二次方程式を生成することで、枝に近似した直線を生成する。
【0129】
【0130】
【0131】
式(2)と式(3)で、xi,yiは中心線を構成する各点(x,y)の位置、x(-),y(-)は、各点(x,y)の平均値を夫々表す。
【0132】
式(2)と式(3)の例は、各点(x,y)が二次元座標で表された例である。中心線を構成する点が(x,y,z)のように三次元座標で表される例もある。
【0133】
図20(A)は、中心線を構成する各点A~Eが三次元座標で表された場合の例を表す。三次元座標の場合、角度算出部1135は、各点(x,y,z)を極座標系(r,θ、φ)へ変換し、(θ,φ)空間における各枝の最頻値を算出することで、(θ,φ)空間における直線近似を行う。角度算出部1135は、以下の式を用いて、極座標系への変換を行う。
【0134】
【0135】
【0136】
【0137】
図20(B)は、このようにして算出されたある枝の極座標点の例を表す図である。
図20(B)の場合、角度算出部1135は、最頻値として、(θ,φ)=(45度,30度)を算出する。そして、角度算出部1135は、(θ,φ)空間においては、(45度,30度)とする直線により、直線近似を行う。
【0138】
なお、三次元座標(x,y,z)についても、二次元座標の場合と同様に、最小二乗法を利用して、直線近似を行ってもよい。この場合、角度算出部1135は、主成分分析(PCA:Principal Component Analysis)を用いた公知の手法を利用して、各三次元座標点からの垂直距離が最小となる直線を算出することで、近似した直線を得ることが可能である。
【0139】
以上が、直線近似の例である。直線近似の例は、上述した最小二乗法や最頻値を求める方法以外の公知の方法で行われてもよい。なお、角度算出部1135は、例えば、内部メモリに式(2)から式(6)を記憶し、処理の際に読み出して、各点の位置を代入することで、近似した直線を得る。
【0140】
次に、角度算出部1135は、直線の角度を算出する。
【0141】
図21(A)は、近似直線の例を表す図である。
図21(A)において、枝a1b1は、直線abで近似され、枝b1cは直線bcで近似され、枝b1d1は、直線bdで近似される。角度算出部1135は、例えば、以下のようにして角度を算出する。
【0142】
すなわち、角度算出部1135は、枝を構成する各点が二次元座標で表されている場合、式(2)で算出した各近似直線の傾きaに基づいて、角度を算出する。具体的には、
図21(A)の例では、直線abの傾きをa2、直線bdの傾きをa3、2つの直線のなす角度をθ1(0≦θ1≦π/2)とすると、角度算出部1135は、以下の式を用いて、角度θ1を算出する。
【0143】
【0144】
図21(A)の例に示すように、角度算出部1135は、他の直線bcと直線bdに対しても、直線bcの傾きをa2、直線bdの傾きをa3とし、式7を利用して、θ1を角度θ2として、角度θ2を算出する。
【0145】
なお、角度算出部1135は、枝を構成する各点が三次元座標で表されている場合、算出した(θ,φ)の最頻値を、そのまま直線の角度として用いてもよい。また、角度算出部1135は、枝を構成する各点が三次元座標で表され、最小二乗法で近似直線を算出した場合、式(7)を用いて、角度を算出する。
【0146】
角度算出部1135は、例えば、内部メモリに式(7)を記憶し、処理の際に読み出して、直線の傾きを式(7)に代入することで、角度θを得る。角度算出部1135は、算出した角度に関する情報、各直線に関する情報などをラベリング部1136へ出力する。
【0147】
図10に戻り、次に、気管支領域分割部113は、ラベリングを行う(S125)。例えば、ラベリング部1136は、算出した角度(S124)に基づいて、各直線(又は各枝)を気管支又は蜂巣肺にラベリングする。
【0148】
図21(B)は、ラベリングの例を表す図である。例えば、ラベリング部1136は、S124で算出した角度θが、閾値θth以下のとき、直線を気管支とラベリングし、角度θが閾値θthより大きいとき、直線を蜂巣肺とラベリングする。
【0149】
これは、例えば、
図5(B)や
図6(B)で説明したように、気管支は中枢方向から末梢方向へ又は末梢方向から中枢方向へ向けて分布しているのに対して、蜂巣肺は、肺の輪郭に沿って分布していることに基づいている。例えば、2つの気管支がある場合、気管支の分布を近似した2つの直線の角度は、ほぼ同じ角度となる。一方で、一方が気管支で他方が蜂巣肺のとき、例えば、2つの近似した直線の角度は、大きく異なり、90度に近い角度となる場合がある。このような気管支と蜂巣肺の分布の相違を考慮して、例えば、閾値θthを設定すればよい。
【0150】
図21(A)の例では、ラベリング部1136は、直線abに対して、直線bdとのなす角度θ1は閾値θth以上のため、直線abは蜂巣肺とラベリングする。この場合、ラベリング部1136は、例えば、一方の直線abを蜂巣肺と判定したときは、他方の直線bdを気管支とラベリングしてもよい。直線bcと直線bdとの関係も、ラベリング部1136は、直線bcに対して、直線bdとの角度θ2は閾値θth以上のため、直線bcは蜂巣肺、直線bdは気管支とラベリングする。
【0151】
なお、
図21(A)の例で、例えば、直線abと直線bdとのなす角度θ1が閾値θ以下のとき、ラベリング部1136は、直線abは気管支と判定して、直線abと直線bdとを気管支とラベリングする。この場合、後述する領域分割部1137では、例えば、気管支と判別した2つの直線abと直線bdを含む領域に対しては、領域分割をしなくてもよい。
【0152】
なお、枝を構成する各点が三次元座標で表されている場合、ラベリング部1136は、最小二乗法で直線を近似したときは、二次元座標の場合と同様に閾値θth判定で、各直線をラベリングする。また、ラベリング部1136は、例えば、(θ,φ)の最頻値を算出した場合は、以下のようにしてラベリングを行う。すなわち、ラベリング部1136は、最頻値(θ,φ)について、θが閾値θthよりも小さく、かつ、φが閾値φthよりも小さいとき、(θ,φ)で表された直線を、気管支とラベリングし、それ以外のとき、蜂巣肺とラベリングする。
【0153】
図10に戻り、次に、気管支領域分割部113は、領域分割を行う(S126)。
【0154】
図22は、領域分割の例を表す図である。
図22の例を用いて説明すると、領域分割部1137は、例えば、以下のようにして領域分割を行う。
【0155】
すなわち、領域分割部1137は、二値化画像生成部1130から候補領域の二値化画像を受け取り、二値化画像で境界領域(「0」から「255」へ変化する画素)と、直線bcとの交点eを算出する。領域分割部1137は、二値化画像の境界領域の画素のうち、直線bcを表す二次方程式を満たす画素(x,y)を、交点eとしてもよい。また、領域分割部1137は、同様にして、直線abと、二値化画像での境界領域との交点fを算出する。そして、領域分割部1137は、直線abと直線bcとの交点gに対して、直線geと直線gfにより、候補領域を蜂巣肺領域と気管支領域とに分割する。
【0156】
そして、領域分割部1137は、候補領域抽出部112から受け取った候補領域画像に対して、直線geと直線gfにより、候補領域を分割し、蜂巣肺とラベリングした直線abと直線bcを含む領域を、蜂巣肺領域として抽出する。一方、領域分割部1137は、直線geと直線gfにより、候補領域を分割し、気管支とラベリングした直線bdを含む領域を、気管支領域として抽出する。
【0157】
或いは、領域分割部1137は、候補領域抽出部112から受け取った候補領域画像に対して、端点a1を開始点として、公知の領域拡大法を用いて、直線geと直線gfまで、領域を拡大して、拡大した領域を蜂巣肺領域としてもよい。また、領域分割部1137は、端点d1(又は分岐点d1)を開始点として、公知の領域拡大法を用いて、直線geと直線gfまで、領域を拡大して、拡大した領域を気管支領域としてもよい。領域拡大法は、例えば、開始点から開始して、ある一定の基準を満たす点などを領域に含めるようにして、一定基準を満たす領域を拡大する方法である。
【0158】
領域分割部1137は、例えば、候補領域から気管支領域を除いた肺野領域の画像を、分布特徴抽出部114へ出力する。又は、領域分割部1137は、例えば、分割した気管支領域の画像を、分布特徴抽出部114へ出力してもよい。
【0159】
図10に戻り、気管支領域分割部113は、領域を分割する(S126)と、気管支領域抽出処理を終了する(S127)。
【0160】
図9に戻り、辞書登録モジュール110は、気管支領域抽出処理(S12)を終了すると、陰影識別を行い(S13)、分布特徴を抽出する(S14)。
【0161】
例えば、分布特徴抽出部114は、気管支領域分割部113から出力された肺野領域の画像所定画素範囲毎に格子領域に分割し、格子領域毎に、正常な画像か、異常な画像かを識別する。分布特徴抽出部114は、例えば、SVM(Support Vector Machine)を用いて、正常か異常かを識別してもよい。
【0162】
SVMは、例えば、教師あり学習を用いるパターン認識モデルの1つである。例えば、辞書登録モジュール110は、正常な格子の画像と、異常な格子の画像とを教師データとして、内部メモリに保持し、入力した格子状の肺野画像について、教師データを用いて正常か否かを判定する。
【0163】
そして、例えば、分布特徴抽出部114は、分布特徴として、ヒストグラムを作成(又は抽出)する。分布特徴抽出部114は、異常と識別した格子領域の数を、特徴量とするヒストグラムを作成する。ヒストグラムの例としては、
図3(B)がある。
【0164】
図9に戻り、辞書登録モジュール110は、特徴抽出処理を終了する(S15)。
【0165】
辞書登録モジュール110は、作成したヒストグラムを、特徴量辞書DB120へ記憶する。
【0166】
図9に示す処理は、上述したように検索モジュール130でも行われる。検索モジュール130の特徴量抽出部131も、分布特徴としてヒストグラムを作成して、照合処理部135へ出力する。
【0167】
<2.検索処理>
図23は、検索処理の例を表すフローチャートである。
【0168】
検索モジュール130は、処理を開始すると(S20)、クエリ画像をCT画像撮像装置300から入力する(S21)。
【0169】
次に、検索モジュール130は、特徴抽出処理を行う(S10)。検索モジュール130は、辞書登録モジュール110における特徴抽出処理(
図9のS10からS15)と同一の処理を行い、クエリ画像に対して、ヒストグラムを作成する。
【0170】
次に、検索モジュール130は、照合処理を行う(S22)。例えば、照合処理部135は、クエリ画像に対するヒストグラムに対して、一定の範囲にあるCT画像のヒストグラムを抽出する。一定の範囲としては、例えば、ヒストグラムにおける各位置において、異常と識別された格子領域数が同じ又は一定の範囲内(±1や±2など)などがある。例えば、照合処理部135は、公知の手法を用いて、クエリ画像のヒストグラムに対して類似度を判別して、その類似度と一定の範囲内にある、CT画像のヒストグラムを抽出してもよい。照合処理部135は、照合結果を、UI140へ出力する。
【0171】
次に、画像検索装置100は、検索結果を表示する(S23)。例えば、UI140は、照合結果として、クエリ画像とともに、クリエ画像のヒストグラムと一定の範囲内にあるヒストグラムを有するCT画像を、モニタ141に表示する。
【0172】
そして、画像検索装置100は、検索処理を終了する(S24)。
【0173】
例えば、医師は、検索結果が表示されたモニタ141を見ながら、陰影の診断を行い、症例判断を行う。
【0174】
このように、本第1の実施の形態における画像検索装置100では、気管支と蜂巣肺の分布の性質が異なることに着目し、その性質を利用して気管支と蜂巣肺の各領域を分割する。具体的には、画像検索装置100では、候補領域画像から二値化画像を生成し、二値化画像から中心線を抽出し、分岐点を中心にして中心線を分割して、分割した各中心線(又は各枝)の角度を算出する。そして、画像検索装置100では、その角度が閾値θth以下のとき、分割した中心線は気管支、その角度が閾値θthより大きいとき、分割した中心線は蜂巣肺と判定する(
図10のS125、
図21(B))。
【0175】
図24は、領域拡大法を利用して、気管支領域を分割する例を表す図である。領域拡大法は、例えば、上述したように、開始点から一定の基準内にある画素又は小領域を領域に追加して、領域を拡大する方法である。
図24の例では、開始点として、喉元、一定の基準として、喉元からの距離が30cmの範囲内、とし、この範囲内にある画素又は小領域を気管支領域とする。この場合、
図24に示すように、領域拡大法によって、喉元から30cmの範囲内が気管支領域と判定される。
【0176】
しかし、蜂巣肺によって、気管支が牽引性細気管支拡張となる場合がある。また、気管支の領域は個人差や変形が生じる場合がある。このような場合、気管支が喉元から30cmとはならず、
図24に示すように34cmまで伸びる場合がある。この場合、領域拡大法では、喉元から30cmから34cmまでの領域を、気管支領域ではなく蜂巣肺領域であると誤判定する場合がある。
【0177】
そこで、本第1の実施の形態では、気管支と蜂巣肺の分布の性質の相違を考慮して、分割した各中心線の角度に基づいて、気管支領域と蜂巣肺領域とを判定している。そのため、本画像検索装置100では、このような分布の相違に基づいて、気管支と蜂巣肺の各領域を分割しているため、領域拡大法を用いる場合と比較して、気管支と蜂巣肺の各領域を正確に分割することが可能となる。
【0178】
従って、例えば、本画像検索装置100は、喉元から30cmから34cmまでを蜂巣肺領域ではなく気管支領域と判定して、この部分が気管支領域となっている類似症例を検索することが可能となる。よって、本画像検索装置100は、類似症例の検索精度を向上させることが可能となる。また、類似症例の検索精度が向上することで、例えば、医師の画像診断業務も効率化を図ることも可能となる。
【0179】
[その他の実施の形態]
図25は、画像検索装置100のハードウェア構成例を表す図である。
【0180】
画像検索装置100は、CPU(Central Processing Unit)160、IF(Interface)161、ROM(Read Only Memory)162、RAM(Random Access Memory)163、メモリ164、モニタ141、及びキーボード142を備える。
【0181】
CPU160は、例えば、ROM162に記憶されたプログラムを読み出して、RAM163にロードし、ロードしたプログラムを実行することで、辞書登録モジュール110と検索モジュール130の機能を実現する。CPU160は、例えば、辞書登録モジュール110と検索モジュール130に対応する。
【0182】
なお、CPU160に代えて、MPU(Micro Processing Unit)やDSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのプロセッサやコントローラなどが用いられてもよい。
【0183】
IF161は、画像DB200からCT画像の画像データを入力し、入力した画像データをCPU160へ出力する。また、IF161は、CT画像撮像装置300からクエリ画像の画像データを入力し、入力した画像データをCPU160へ出力する。IF161は、例えば、辞書登録モジュール110と検索モジュール130に対応する。
【0184】
メモリ164は、例えば、特徴量辞書DB120に対応する。
【0185】
上述した第1の実施の形態の画像検索装置100は、例えば、クラウドサーバ装置として、検索結果を他の装置(例えば、クライアント装置)へ送信するようにしてもよい。
図26は、この場合の画像検索装置100の構成例を表す図である。画像検索装置100は、更に、IF170を備える。IF170は、検索モジュール130から出力された検索結果を、他の装置へ送信する。IF170は、例えば、検索結果を有線方式のみならず無線方式で送信してもよい。
図27は、この場合の画像検索装置100のハードウェア構成例を表す図である。IF161は、例えば、IF170に対応し、検索結果を他の装置へ送信すること可能である。
【0186】
上述した第1の実施の形態では、辞書登録モジュール110と検索モジュール130は、CT画像やクエリ画像の特徴量を抽出後、照合処理を行う例について説明した。例えば、辞書登録モジュール110と検索モジュール130は、特徴量を抽出しなくてもよい。この場合、検索モジュール130は、CT画像やクエリ画像をそのまま用いて照合処理を行ってもよい。この場合、辞書登録モジュール110の特徴量抽出部111では、分布特徴抽出部114がなく、気管支領域分割部113から出力される肺野領域の画像が特徴量辞書DB120に記憶される。また、検索モジュール130においても、特徴量抽出部131では分布特徴抽出部134がなく、気管支領域分割部133から出力される肺野領域の画像がそのまま照合処理部135へ出力される。照合処理部135は、CT画像の肺野画像とクエリ画像の肺野画像とを直線照合し、各画像の各画素の画素値(又はCT値)やある一定領域内に含まれる画素の画素値に基づいて、クエリ画像に類似するCT画像を検索してもよい。
【0187】
以上まとめると、付記のようになる。
【0188】
(付記1)
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置のコンピュータに実行させる画像検索プログラムであって、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出し、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成し、
前記二値化画像から前記候補領域の画像の中心線を抽出し、
前記中心線が分岐した分岐点で前記中心線を分割し、
分割した前記中心線の角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割し、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する
処理を前記コンピュータに実行させる画像検索プログラム。
【0189】
(付記2)
前記角度が閾値以下のとき、前記気管支の領域、前記角度が閾値より大きいとき、前記蜂巣肺の領域と判定して、前記候補領域の画像を分割することを特徴とする付記1記載の画像検索プログラム。
【0190】
(付記3)
前記分岐点で前記中心線を第1の中心線と第2の中心線に分割し、
前記第1の中心線に対して前記第2の中心線とのなす角度が閾値以下のとき、前記第1及び第2の中心線は気管支とラベリングし、前記第1の中心線に対して前記第2の中心線とのなす角度が閾値より大きいとき、前記第1の中心線は蜂巣肺、前記第2の中心線は気管支と夫々ラベリングし、蜂巣肺とラベリングした前記第1の中心線を含む領域を蜂巣肺の領域、気管支とラベリングした前記第2の中心線を含む領域を気管支の領域として、前記候補領域の画像を気管支の領域と蜂巣肺の領域とに分割する
ことを特徴とする付記2記載の画像検索プログラム。
【0191】
(付記4)
前記第1の画像の画素値が-1000以下の画素を含む領域を前記候補領域の画像として抽出することを特徴とする付記1記載の画像検索プログラム。
【0192】
(付記5)
抽出した前記候補領域の画像の画素値を二値化して背景画像と前景画像を含む前記二値化画像を生成し、
前記二値化画像から、前記背景画像の各画素の画素値を、前記背景画像からの最短距離を表す距離値に変換し、前記距離値に基づいて前記候補領域の画像の中心線を抽出する
ことを特徴とする付記1記載の画像検索プログラム。
【0193】
(付記6)
前記距離値が「1」より大きい第1の画素を中心とする第1の円又は球が、距離値が「1」より大きい第2の画素を中心とする第2の円又は球に対して夫々囲まれない円又は球のとき、前記第1の画素の集合を前記候補領域の画像の中心線として抽出することを特徴とする付記5記載の画像検索プログラム。
【0194】
(付記7)
前記第1の画素の距離値が、前記第2の画素の距離値よりも大きく、かつ、前記第1の画素と前記第2の画素との距離が前記第1の画素の距離値よりも小さいとき、前記第1の円又は球は前記第2の円又は球に対して夫々囲まれない円又は球と判定されることを特徴とする付記6記載の画像検索プログラム。
【0195】
(付記8)
距離値が「1」の画素の集合である輪郭線と3点以上で接する、前記距離値が「1」より大きい第1の画素を中心とする第1の円又は球における前記第1の画素を前記分岐点として、前記分岐点を中心に前記中心線を分岐することを特徴とする付記1記載の画像検索プログラム。
【0196】
(付記9)
分割した前記中心線に近似した直線を生成し、前記直線を用いて前記角度を算出することを特徴する付記1記載の画像検索プログラム。
【0197】
(付記10)
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置において、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出する候補領域抽出部と、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成する二値化画像生成部と、
前記二値化画像から前記候補領域の画像の中心線を抽出する中心線抽出部と、
前記中心線が分岐した分岐点で前記中心線を分割する中心線分割部と、
分割した前記中心線の角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割する領域分割部と、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する照合処理部と
を備えることを特徴とする画像検索装置。
【0198】
(付記11)
第1の画像から前記第1の画像に類似する第2の画像を検索する画像検索装置における画像検索方法であって、
被検体の肺野領域の断面画像である前記第1の画像から候補領域の画像を抽出し、
抽出した前記候補領域の画像の画素値を二値化した二値化画像を生成し、
前記二値化画像から前記候補領域の画像の中心線を抽出し、
前記中心線が分岐した分岐点で前記中心線を分割し、
分割した前記中心線の角度に基づいて、前記候補領域の画像を蜂巣肺の領域と気管支の領域とに分割し、
分割した前記気管支以外の肺野領域の画像又は分割した前記気管支の領域の画像に基づいて、前記第1の画像から前記第2の画像を検索する
ことを特徴とする画像検索方法。
【符号の説明】
【0199】
10:画像検索システム 100:画像検索装置
110:辞書登録モジュール 111,131:特徴量抽出部
112,132:候補領域抽出部 113,133:気管支領域分割部
114,134:陰影識別及び分布特徴抽出部(分布特徴抽出部)
1130:二値化画像生成部 1131:中心線抽出部
1132:距離変換部 1133:中心線抽出処理部
1134:中心線分割部 1135:角度算出部
1136:ラベリング部 1137:領域分割部
120:特徴量辞書DB 130:検索モジュール
135:照合処理部 140:UI
160:CPU 170:IF
200:画像DB 300:CT画像撮像装置