説明

画像処理装置、画像処理方法、及び、画像処理プログラム

【課題】画像レジストレーションの処理速度を向上する画像処理装置を提供する。
【解決手段】参照画像と浮動画像との位置を合わせる画像処理システムであって、前記画像処理システムは、前記参照画像の画素値の1次元のヒストグラムを生成し、前記生成された参照画像のヒストグラムの各ビンに属する画素の位置を記憶装置に格納する第1の手段と、所定の幾何変換情報に従って浮動画像の座標を変換し、前記生成された参照画像のヒストグラムの一つのビンに属する参照画像の画素の位置に対応する前記変換された浮動画像の画素の画素値の頻度を示す、浮動画像の1次元ヒストグラムを、ローカルメモリ上に生成する処理を実行する第2の手段と、前記生成された浮動画像の1次元ヒストグラムを合成することによって、前記浮動画像の2次元の結合ヒストグラムを生成する第3の手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元又は3次元の複数枚の画像の位置を合わせる画像処理装置に関する。
【背景技術】
【0002】
2次元又は3次元の複数枚の画像の位置合わせ技術は、様々な分野で重要な技術である。
【0003】
例えば、医用画像の分野では、CT画像、MR画像、PET画像、超音波画像など、様々な種類の3次元画像の位置を合わせて、重ね合わせて表示するために、画像の位置合わせ技術が利用される。このような表示方法はフュージョン画像表示と呼ばれており、画像の特徴を生かした表示が可能となる。たとえば、CT画像は詳細な形状の表示に適しており、PET画像は代謝や血流などの体の機能の表示に適している(例えば、特許文献1参照。)。
【0004】
さらに、同一患者の経過を観察するためには、時系列に取得した医用画像の位置を合わせることによって、病変を容易に観察することが可能である。
【0005】
医用画像の分野では、3次元画像だけではなく、2次元画像の位置合わせも重要である。例えば、エネルギーを変更した2種類の胸部放射線画像を用いることによって、骨部を除去した軟部画像を生成することができ、軟部を詳細に観察することが可能となる。この場合にも、2つの画像は撮像時刻が異なるため、位置合わせが必要となる(例えば、特許文献2参照。)。
【0006】
一方、リモートセンシングの分野では、様々なセンサ及び様々な方法で取得された画像データを総合的に検証することによって、多くの情報が取得できる。
【0007】
2次元又は3次元の複数枚の画像の位置合わせ、すなわち、レジストレーションは、前述したように幅広い分野で応用されている。レジストレーションでは、固定される画像を参照画像と呼び、位置合わせのために座標変換される画像を浮動画像と呼ぶ。レジストレーションでは、浮動画像に対して座標変換を行い、変換された浮動画像と参照画像との類似度を求め、類似度が最大となる座標変換を繰り返し計算によって求める。レジストレーションでは、二つの画像が正しく位置合わせができたかの指標として、差の二乗や相互相関、相互情報量(Mutual Information)などが用いられている。これらの指標のなかでも、特に、相互情報量は、対象となる画像の種類が異なっていても良好なレジストレーションが可能となるという特徴がある(例えば、非特許文献1参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−112468号公報
【特許文献2】特開2009−195471号公報
【特許文献3】特開2008−142137号公報
【非特許文献】
【0009】
【非特許文献1】F. Maes, A. Collignon, D. Vandermeulen, G. Marchal, and P. Suetens, “Multi-modality image registration maximization of mutual information”, In Proceedings of MMBIA, pp. 14-22, 1996.
【非特許文献2】R. Shams and N. Barnes: "Speeding up mutual information computation using NVIDIA CUDA hardware", Digital Image Computing Techniques and Applications, pp. 555-560,2007.
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述した従来の相互情報量を用いたレジストレーションによると、計算量が多く、処理時間が長いという問題がある。このため、相互情報量を用いたレジストレーションの高速化が重要な課題となっている。高速化のために、画素データのメモリアクセスが連続となる方法が提案されている(例えば、特許文献3参照。)。
【0011】
一方、近年のマルチプロセッサやGPU(グラフィックプロセッシングユニット)の進歩に伴い、並列処理によるレジストレーションを高速化の期待が高まっている。また、GPUを用いた高速化方法も提案されている(例えば、非特許文献2参照。)。しかし、並列処理を行うとしても、相互情報量を計算するために必要な結合ヒストグラムの算出の計算量が多いという問題がある。
【0012】
すなわち、相互情報量を計算するためには、位置合わせの対象となる二つの画像の結合ヒストグラムを計算する必要がある。結合ヒストグラムは2次元のヒストグラムであり、ヒストグラムに含まれるビン数が大きくなる。例えば、一つの画像のヒストグラムのビン数を64とすると、結合ヒストグラム全体のビン数は64×64=4096となる。
【0013】
一般に、GPUは、高速にアクセスできるローカルメモリの容量が小さい。GPUを用いて結合ヒストグラムを計算する場合、このような大きなビン数のヒストグラムをローカルメモリに格納することができず、アクセスが低速なグローバルメモリにデータを格納する必要がある。このため、結合ヒストグラムを計算する処理に時間がかかるという問題がある。この問題は、高速にアクセスできるローカルメモリが少ない並列計算機においても同様である。
【0014】
本発明は、画像レジストレーションの処理速度を向上する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明の代表的な一例を示せば以下の通りである。すなわち、2次元又は3次元画像の参照画像と浮動画像との間で相互情報量が大きくなる条件で、両画像の位置を合わせる画像処理システムであって、前記画像処理システムは、1以上のプロセッシングエレメントと、前記各プロセシングエレメントから高速にアクセス可能なローカルメモリと、前記各プロセシングエレメントに共有されるデータを格納するグローバルメモリと、を備え、前記画像処理システムは、前記参照画像の画素値の1次元のヒストグラムを生成し、前記生成された参照画像のヒストグラムの各ビンに属する画素の位置を記憶装置に格納する第1の手段と、所定の幾何変換情報に従って浮動画像の座標を変換し、前記生成された参照画像のヒストグラムの一つのビンに属する参照画像の画素の位置に対応する前記変換された浮動画像の画素の画素値の頻度を示す、浮動画像の1次元ヒストグラムを、前記ローカルメモリ上に生成する処理を実行する第2の手段と、前記生成された浮動画像の1次元ヒストグラムを合成することによって、前記浮動画像の2次元の結合ヒストグラムを生成する第3の手段と、前記生成された結合ヒストグラムから相互情報量を計算する第4の手段と、を備える。
【発明の効果】
【0016】
本発明の実施の形態によると、各プロセッシングユニットに保持されるヒストグラムのビン数を削減でき、使用されるローカルメモリの容量を削減することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態の画像処理装置の論理的な構成を示す図である。
【図2】本発明の実施の形態の画像処理装置のハードウェア構成を示すブロック図である。
【図3】本発明の実施の形態の画像処理装置の構成の一例を示すブロック図である。
【図4】本発明の実施の形態の処理を示すフローチャートである。
【図5A】レジストレーションの対象となる参照画像を説明する図である。
【図5B】レジストレーションの対象となる浮動画像を説明する図である。
【図6A】レジストレーション処理の概要を説明する図である。
【図6B】レジストレーション処理の概要を説明する図である。
【図7A】従来技術によって結合ヒストグラムを計算する一般的な方法を説明する図である。
【図7B】本発明によって結合ヒストグラムを計算する方法を説明する図である。
【図8】本発明の実施の形態の参照画像ヒストグラム作成処理の手順の詳細を示すフローチャートである。
【図9】本実施の形態の座標リスト群の詳細を説明する図である。
【図10】本発明の実施の形態の相互情報量計算処理の手順の詳細を示すフローチャートである。
【図11】本発明の実施の形態の浮動画像のヒストグラムを説明する図である。
【図12】本発明の実施の形態の結合ヒストグラムを説明する図である。
【図13】本発明の実施の形態の画像処理装置で実行される処理を示すシーケンス図である。
【図14A】本発明の実施の形態の結合ヒストグラムの具体例を説明する図である。
【図14B】本発明の実施の形態の結合ヒストグラムの具体例を説明する図である。
【図15】本発明の実施の形態の画像処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
<構成>
図1は、本発明の実施の形態の画像処理装置の論理的な構成を示す図である。
【0019】
本発明の実施の形態の画像処理装置は、前処理部16及びレジストレーション部17を備える。本実施の形態の画像処理装置は、レジストレーションの対象となる参照画像1及び浮動画像2が入力されると、レジストレーション済の浮動画像15を生成して、生成された画像を出力する。
【0020】
前処理部16に参照画像1が入力されると、ヒストグラム生成部4は1次元のヒストグラムを生成し、参照画像ヒストグラムの各ビンの座標リストである座標リスト群5を生成する。
【0021】
レジストレーション部17に前記座標リスト群5及び浮動画像2が入力されると、相互情報量計算部18は、幾何変換情報3を参照して、相互情報量12を求める。なお、相互情報量計算部18の処理内容の詳細は後述する。相互情報量最大化部13は、求められた相互情報量12の幾何変換情報3を更新し、相互情報量計算部18が、相互情報量12を再計算し、相互情報量12を最大化する。浮動画像幾何変換部14は、相互情報量が最大となる幾何変換情報3を用いて浮動画像2を幾何変換することによって、レジストレーション済の浮動画像15を生成し、生成された画像を出力する。以上の処理によってレジストレーションが実行される。
【0022】
次に、相互情報量計算部18によって実行される処理の概要について説明する。相互情報量計算部18は、幾何変換情報3を参照して、座標リスト群5の各画素を座標変換し、変換後の座標を求める。浮動画像参照・量子化部7は、変換後の座標に基づいて浮動画像2を参照し、輝度値を量子化し、参照画像ヒストグラムのビンごとに浮動画像のヒストグラム8を生成する。結合ヒストグラム生成部9は、参照画像ヒストグラムのビンごとの浮動画像のヒストグラム8から結合ヒストグラム10を求める。相互情報量計算部11は、結合ヒストグラム10を用いて相互情報量12を求める。
【0023】
図2は、本発明の実施の形態の画像処理装置のハードウェア構成を示すブロック図である。
【0024】
本実施の形態の画像処理装置は、GPU及び/又は並列プロセッサシステムを備える一般的な計算機上に実装可能である。画像処理装置は、CPU40、ROM21、RAM22、記憶装置23、GPU41、画像入力部30、媒体入力部26、入力制御部28及び画像生成部29を備える。CPU40、ROM21、RAM22、ハードディスク23、GPU41、画像入力部30、媒体入力部26、入力制御部28及び画像生成部29は、データバス24によって相互に接続される。
【0025】
CPU40は、ROM21又はRAM22に記憶されたプログラムを実行することによって、各種処理を実行する。
【0026】
ROM21及びRAM22は、各種処理を実行するために必要なプログラム及びデータを記憶する。ROM21は、データの読み出し専用の記憶媒体である。RAM22は、データの読み書きが可能な記憶媒体である。
【0027】
記憶装置23は、入力画像などを格納する磁気記憶装置である。記憶装置23は、不揮発性半導体記憶媒体(例えば、フラッシュメモリ)を備えてもよい。また、ネットワークなどを介して接続された外部記憶装置を利用してもよい。
【0028】
GPU41は、画像データの処理に適する集積回路であり、その構成は図3を用いて詳述する。なお、GPU41は並列プロセッサシステムでもよい。
【0029】
本実施の形態の画像処理装置において実行されるプログラムは、記憶媒体25(例えば、光ディスク)に格納されており、媒体入力部26(例えば、光ディスクドライブ)によって読み込まれ、読み込まれたプログラムがRAM22に格納される。なお、記憶装置23に当該プログラムを格納し、記憶装置23からプログラムをRAM22にロードしてもよい。また、ROM21にあらかじめプログラムを記憶させてもよい。
【0030】
画像処理装置においてプログラムが実行されることによって、図1に示す前処理部16及びレジストレーション部17が機能する。RAM22は、図1に示す座標リスト群5、幾何変換情報3、浮動画像のヒストグラム8、結合ヒストグラム10、相互情報量12及びレジストレーション済浮動画像15を格納する。
【0031】
なお、GPU41がレジストレーション処理を実行する場合、GPU41上のグローバルメモリが、座標リスト群5、幾何変換情報3、浮動画像のヒストグラム8、結合ヒストグラム10、相互情報量12及びレジストレーション済浮動画像15を格納してもよい。
【0032】
画像入力部30は、画像撮像装置20が接続され、画像撮像装置20によって撮影された画像が入力されるインターフェースである。画像撮像装置20から入力された画像は、CPU40によって各種処理がされる。
【0033】
媒体入力部26は、記憶媒体25に記憶されたデータ及びプログラムを読み出す。記憶媒体25から読み出されたデータ及びプログラムは、CPU40によって、RAM22又はハードディスク23に格納される。
【0034】
入力制御部28は、入力装置27(例えば、キーボード)から、ユーザによって入力されたデータを受け付けるインターフェースである。入力制御部28が受けたデータは、CPU40によって処理される。
【0035】
画像生成部29は、図1に示すレジストレーション部17によってレジストレーション処理がされた浮動画像15から画像データを生成し、生成された画像データをディスプレイ14に送る。
【0036】
図3は、GPU41の構成の一例を示すブロック図である。
【0037】
GPU41は、グローバルメモリ403及び複数のマルチプロセッシングユニット405を備える。各マルチプロセッシングユニット405は、ローカル共有メモリ402及び複数のプロセッシングユニット401を備える。プロセッシングユニット401は、同じマルチプロセッシングユニット405内のローカル共有メモリ402を読み書き可能である。しかし、プロセッシングユニット401は、別のマルチプロセッシングユニット405のローカル共有メモリ402にはアクセスできない。各プロセッシングユニット401は、グローバルメモリ403を読み書き可能であるので、グローバルメモリ403には、複数のプロセッシングユニット401で共有されるデータが格納される。
【0038】
なお、一般的にGPUのローカル共有メモリ402は高速に読み書き可能であるが、グローバルメモリ403へのアクセスは、ローカル共有メモリ402のアクセスと比較すると低速である。このため、GPUを用いて効率よく処理を実行するためには、グローバルメモリ403のアクセスを削減し、ローカル共有メモリ402を用いて処理を実行することが重要である。ただし、ローカル共有メモリ402は、一般にその容量に制限があるので、ローカル共有メモリの容量内で効率のよいアルゴリズムを用いることがGPUを用いた処理の高速化において重要である。
【0039】
図15は、図2の構成において、GPU41の代わりにマルチプロセッサシステムを用いる場合のマルチプロセッサシステムの構成の一例を示すブロック図である。
【0040】
マルチプロセッサシステムは、グローバルメモリ1505及び複数のマルチプロセッシングエレメント1503を備える。各マルチプロセッシングエレメント1503は、プロセッシングユニット1501とローカルメモリ1502を備える。ローカルメモリはバス1504を介してグローバルメモリ1505と結合される。またバス1504はホストインターフェース1506を介して、図2のバス24と接続される。
図15に示すマルチプロセッサシステムを用いる場合には,ローカルメモリ1502は高速に読み書き可能であるが、グローバルメモリ1505へのアクセスは、ローカルメモリ1502のアクセスと比較すると低速である。このため、マルチプロセッサシステムを用いて効率よく処理を実行するためには、グローバルメモリ1505のアクセスを削減し、ローカルメモリ1502を用いて処理を実行することが重要である。ただし、ローカルメモリ1502は、一般にその容量に制限があるので、ローカルメモリの容量内1502で効率のよいアルゴリズムを用いることがGPUを用いた処理の高速化において重要である。
【0041】
本願発明は、以上の点を考慮した効率的なレジストレーション方法を提案するものである。
【0042】
<動作>
次に、本発明の実施の形態の動作について説明する。
【0043】
図4は、本発明の実施の形態の処理を示すフローチャートである。
【0044】
図4に示す処理のうち、ステップS101及びS102の処理が、前処理部16によって実行される処理であり、ステップS103〜S108の処理が、レジストレーション部17によって実行される処理である。
【0045】
まず、画像入力部30が、参照画像1の入力を受け付ける(S101)。
【0046】
次に、ヒストグラム生成部4が、入力された参照画像1から1次元のヒストグラムを作成する(S102)。さらに、ヒストグラムの各ビンに属する参照画像の画素の座標を座標リスト群5に格納する。なお、S102の処理内容の詳細は、図8を用いて後述する。
【0047】
次に、画像入力部30が、浮動画像2の入力を受け付ける(S103)。その後、幾何変換情報3の初期値を設定する(S104)。レジストレーションでは、二つの画像の相互情報量が最大となる幾何変換を求めるために収束計算を行う。このため、幾何変換情報3の初期値が必要となる。幾何変換情報の初期値は、ユーザが与えてもよく、まったく幾何変換しない、すなわち恒等変換を初期値として与えてもよい。
【0048】
次に、相互情報量計算部18が、相互情報量12を求め、メモリに格納する(S105)。その後、求められた相互情報量が収束したかどうかを判定する(S106)。判定の結果、相互情報量が収束していない場合、より高い相互情報量を得るために、幾何変換情報3を更新する(S107)。そして、更新された幾何変換情報3を用いて、相互情報量12を再計算し(S105)、再度収束を判定する(S106)。
【0049】
一方、相互情報量が収束している場合、求められた幾何変換情報3を用いて、浮動画像2を幾何変換し、レジストレーションされた浮動画像15にRAM22に格納する(S108)。以上の処理によって、画像のレジストレーションが完了する。
【0050】
図5Aは、レジストレーションの対象となる参照画像1を説明する図であり、図5Bは、レジストレーションの対象となる浮動画像2を説明する図である。
【0051】
図5A、図5Bでは、簡単のため画像を2次元として図示しているが、参照画像1及び浮動画像2は3次元画像である。参照画像1は、図5Aに示すように、X軸方向にRx画素、Y軸方向にRy画素、図示は省略したがZ軸方向にRz画素、合計Rx×Ry×Rz個の画素301から構成される3次元画像である。同様に、浮動画像2は、X軸方向にFx画素、Y軸方向にFy画素、図示は省略したがZ軸方向にFz画素、合計Fx×Fy×Fz個の画素302から構成される3次元画像である。
【0052】
図6A、図6Bは、レジストレーション処理の概要を説明する図である。
【0053】
図6Aに示すように、参照画像1と浮動画像2は類似した画像ではあるが、その位置又は方向が違っている。例えば、異なる視点から同一の患者のCT画像、PET画像などを撮影した場合、類似した複数の画像が取得される。また、CT画像とPET画像のように、輝度値の性質が異なる場合も、類似した複数の画像が取得される。
【0054】
そして、図6Bに示すように、浮動画像2にレジストレーション処理を行うことによって、浮動画像2を幾何変換し、幾何変換された浮動画像13と参照画像1とを位置合わせすることができる。
【0055】
レジストレーション処理における幾何変換は、3次元の移動及び回転から構成される剛体変換を用いることが可能である。また、一般的なアフィン変換や、Bスプライン関数を用いた非剛体変換を適用することもできる。
【0056】
剛体変換を用いた幾何変換には、式(1)を用いることができる。
【0057】
【数1】

【0058】
式(1)において,(x,y,z)は幾何変換前の座標、(x’,y’,z’)は変換後の座標、Rx(θx)、Ry(θy)、Rz(θz)はそれぞれ,X軸周りの回転行列、Y軸周りの回転行列、Z軸周りの回転行列である。また、(tx,ty,tz)は移動ベクトルである、すなわち、3次元画像の剛体変換は6自由度を有する。なお、2次元画像の剛体変換では、x方向への移動、y方向への移動及び回転の3自由度を有する。
【0059】
アフィン変換を用いた幾何変換には、式(2)を用いることができる。
【0060】
【数2】

【0061】
式(2)において、(x,y,z)は幾何変換前の座標、(x’,y’,z’)は変換後の座標、a、b、c、d、e、f、g、h、iはアフィン変換のパラメータ、(tx,ty,tz)は移動ベクトルである。
【0062】
Bスプライン関数を用いた非剛体変換には、式(3)を用いることができる。
【0063】
【数3】

【0064】
Bスプライン関数を用いた非剛体変換では、変換パラメータはBスプライン立体の格子点位置となる。式(3)において、φi,j,kは、nx×ny×nz個の制御点である。
【0065】
ここで、本発明との対比のため従来技術における結合ヒストグラムの計算について説明する。図7Aは、従来技術によって結合ヒストグラムを計算する一般的な方法を説明する図である。
【0066】
従来の結合ヒストグラムの計算方法では、図7Aに示すように、参照画像1の画素値と、幾何変換された浮動画像の対応する位置における画素値とを求める。画素値には、例えば、各画素の輝度値を用いることができる。なお、特定波長の輝度値を用いてもよい。
【0067】
そして、この求められた二つの輝度値に基づいて、結合ヒストグラムを求める。具体的には、参照画像のヒストグラムのビン数Nrを参照して、参照画像の輝度値が属する参照画像ヒストグラムのビンiを求める。同様に、幾何変換された浮動画像のヒストグラムのビン数Nfを参照して、浮動画像の輝度値が属する浮動画像のヒストグラムのビンjを求める。求められた(i,j)から対応する結合ヒストグラムのビンの頻度を更新する。
【0068】
以上説明したように、従来技術によると、参照画像1と幾何変換された浮動画像13とに基づいて結合ヒストグラム10を求めていた。レジストレーション処理における画像の類似度の指標である相互情報量を求めるためには、前述した結合ヒストグラムの算出が必要である。しかし、結合ヒストグラムは2次元のヒストグラムであり、その容量が大きい性質があることから、結合ヒストグラムを記憶するために大きなメモリ容量が必要である。相互情報量の算出では、ヒストグラムのビン数は64〜256程度である。ビン数が64の場合では、結合ヒストグラムの総ビン数は64×64=4096ビンとなる。
【0069】
一般に、GPU及び並列プロセッサでは、各プロセッサユニットが局所的に利用できるメモリ容量に制限がある場合が多い。これは、例えば、図3に示すGPU装置において、ローカル共有メモリ402の容量が制限されているためである。このため、共有メモリの容量の不足が、GPUや並列プロセッサで結合ヒストグラムを計算する場合の問題点となっていた。
【0070】
一方、本実施の形態では、図7Bに示すように、参照画像ヒストグラムの座標リスト5を作成し、その後、参照画像ヒストグラムのビンごとに浮動画像の1次元ヒストグラム8を生成して、結合ヒストグラムを生成する。このように、各プロセッサユニットが2次元の結合ヒストグラムを保持する必要がなく、1次元のヒストグラムを保持するだけでよい計算方法を提供することによって、前述した問題を解決することができる。
【0071】
相互情報量の計算には、まず、参照画像1と浮動画像2の同じ位置の画素値から生成される2次元ヒストグラムを計算する。その後、計算された2次元ヒストグラムを用いて計算される確率密度関数を用いて、相互情報量を計算することができる。
【0072】
相互情報量とは、2つの事象AとBについて、事象Aが有している事象Bに関する情報量を定量化した尺度である。レジストレーションで用いられる正規化相互情報量NMI(A,B)は事象Aと事象Bの2次元の結合ヒストグラムHist(A,B)から下式(4)によって求められる。
【0073】
【数4】

【0074】
ここで、H(A)は事象Aのエントロピー、H(B)は事象Bのエントロピー、H(A,B)は事象A,Bの結合エントロピーである。p(a)はaの確率密度分布、p(b)はbの確率密度分布、p(a,b)はa,bの同時確率分布であり、式(4)のように、Hist(A,B)から求められる。
【0075】
事象Aと事象Bが完全に独立である場合には、H(A,B)=H(A)+H(B)となる。また、事象Aと事象Bが完全に従属である場合には、H(A,B)=H(A)=H(B)となる。以上から,NMI(A,B)のとりうる範囲は、1以上2以下となる。
【0076】
図8は、図4のフローチャートにおける参照画像ヒストグラム作成(S102)の処理手順の詳細を示すフローチャートである。
【0077】
まず、変数Zを1から参照画像のZ軸方向の画素数Rzまで増加させながら、ステップS202からS208の処理を繰り返し実行する(S201)。次に、変数Yを1から参照画像のY軸方向の画素数Ryまで増加させながら、ステップS203からS207の処理を繰り返し実行する(S202)。さらに、変数Xを1から参照画像のX軸方向の画素数Rxまで増加させながら、ステップS204からS206の処理を繰り返し実行する(S203)。以上の処理によって、参照画像のすべての画素(X,Y,Z)について、ステップS204からS206の処理が実行される。
【0078】
ステップS204では、参照画像の画素値R(X,Y,Z)を変数Iに代入する。次に、画素値Iを量子化して、量子化された画素値Iを用いて参照画像のヒストグラムのビンを求める(S205)。この処理は、例えば、参照画像の輝度値の最大値と最小値との間をNr個の領域に分割し、輝度値が属する領域の番号からビンを求める。
【0079】
その後、ヒストグラムのビンと、座標値(X,Y,Z)とを用いて、座標リスト群5にデータを格納する(S206)。座標リスト群5へのデータの格納方法の詳細は、図9を用いて後述する。
【0080】
なお、前述した説明では、参照画像の全画素について、ヒストグラム及びヒストグラムリストを求めたが、ダウンサンプリングを行って少ないサンプル数の画素についてヒストグラム及びヒストグラムリストを求めてもよい。また、スーパーサンプリングを行って、サンプル数を増やしてもよい。さらに、等間隔にサンプリングするのではなく、ランダムにサンプリングしてもよい。
【0081】
図9は、本実施の形態の座標リスト群5の詳細を説明する図である。
【0082】
ヒストグラムリスト5は、Nr個の可変長のリストを含む。各リストの構成要素は、画素の座標である。
【0083】
図8のステップS206において、ビン番号bに座標(X,Y,Z)を登録する場合、b番目のリストの最後尾に座標(X,Y,Z)を追加する。
【0084】
図9に示すように、参照画像1のすべての画素に対して、座標(X,Y,Z)を追加した場合の、b番目のリストの長さをB(b)とする。B(b)は参照画像の1次元のヒストグラムと等価である。
【0085】
図10は、図4のフローチャートにおける相互情報量計算(S105)の処理手順の詳細を示すフローチャートである。
【0086】
まず、変数bを1から参照画像のヒストグラムのビン数Nrまで増加させながら、ステップS302からステップS308を繰り返し実行する(S301)。
【0087】
次に、変数iを1からヒストグラムの長さB(b)まで増加させながら、ステップS303からステップS307を繰り返し実行する(S302)。
【0088】
ループ内では、座標リスト群5を参照して、対応する座標(X,Y,Z)を取り出し(S303)、幾何変換情報3を用いて座標(X,Y,Z)を座標変換し、対応する浮動画像の座標系に変換する(S304)。
【0089】
次に、浮動画像の対応する画素値R(X,Y,Z)を変数Iに代入し(S305)、画素値Iから浮動画像のヒストグラムのビンを求める。この処理は、浮動画像の最大値と最小値とをNf個の領域に分割し、輝度値が属する領域の番号からビンを求めることで実現できる(S306)。
【0090】
その後、量子化された値に対応するビン番号b’の浮動画像ヒストグラム8を更新する(S307)。処理の詳細は後述する。
【0091】
ステップS301からステップS309のループによって、参照画像の全画素に対応する参照画像ヒストグラムのビンごとの浮動画像のヒストグラム8が求められる。ヒストグラム8は、図11に示すように、ビン数Nfの1次元ヒストグラムをNr個含む。
【0092】
その後、参照画像ヒストグラムのビンごとの浮動画像のヒストグラム8を合成して、2次元の結合ヒストグラム10を求める(S310)。結合ヒストグラム10は、図12に示すように、ヒストグラム8に含まれる一次元ヒストグラムを結合したもので、Nr×Nfのマトリックスで構成されている。
【0093】
結合ヒストグラム10の具体例を図14A、図14Bに示す。図14Aに示すように、参照画像1と浮動画像2との位置を合わせない場合、結合ヒストグラム10には複数のピークが現れる。しかし、図14Bに示すように、参照画像1と浮動画像2との位置が合っている状態では、結合ヒストグラム10には一つのピークが現れる。
【0094】
その後、結合ヒストグラム10から相互情報量12を求める(S311)。
【0095】
次に、図10のステップS307の処理の詳細について説明する。
【0096】
ステップS307では、参照画像のビンがb、浮動画像のビンがb’である場合、b番目のヒストグラムのb’のビンの頻度に1を加算する。すなわち、2次元の結合ヒストグラム10ではなく、1次元のヒストグラム8が更新される。
【0097】
このことから、ステップS302からのループであるステップS303からステップS308の処理をGPU又は並列プロセッサで実行する場合、各プロセッシングユニット401は2次元のヒストグラムをローカル共有メモリ402に保持する必要がなく、1次元のヒストグラムをローカル共有メモリ402に保持するだけでよい。
【0098】
さらに、ステップS301からのループであるステップS302からステップ309の処理をGPU又は並列プロセッサで実行することも可能である。この場合にも、各プロセッシングユニット401は2次元のヒストグラムをローカル共有メモリ402に保持する必要がなく、1次元のヒストグラムをローカル共有メモリ402に保持するだけでよい。
【0099】
3次元画像のレジストレーション実験によれば、本発明は非特許文献2の方法と比較して、より高速である。具体的な実験は、ファントムのCT画像を用いてレジストレーションの性能を評価した。使用したファントム画像は512×512×200ボクセルの3次元画像である。ファントム画像に対して、X軸、Y軸及びZ軸に対して10度回転したボリュームデータを作成しレジストレーションを行った。レジストレーション実験によればもとの位置に正しく座標変換された。
【0100】
レジストレーションに使用するサンプル数を種々に変更して計算時間を計測した。サンプル数が64×64×64の場合の計算時間は、CPU実装が14.2秒、非特許文献2の方法が1.82秒、本発明による方法が1.16秒であった。サンプル数が256×256×256の場合にはCPU実装の計算時間は780秒、非特許文献2の方法が14.9秒、本発明による方法が5.7秒であった。以上のように本発明による方法はCPU実装と比較して数10倍以上、非特許文献2の方法と比較して1.5倍から2.6倍程度の高速化が実現されている。
【0101】
図13は、本実施の形態の画像処理装置で実行される処理を示すシーケンス図である。
【0102】
まず、レジストレーション命令が発行されると、入力装置27は、ユーザからの参照画像及び浮動画像の指定を受けて、画像の指定を入力制御部28を介してCPU40に伝える(1301)。CPU40は、指定された参照画像及び浮動画像を取得し、取得した参照画像及び浮動画像を記憶装置23に格納する(1302)。GPU41は、記憶装置23に格納された参照画像を取得し、参照画像ヒストグラムを生成し(1303)、生成された参照画像ヒストグラムを記憶装置に格納する。
【0103】
さらに、入力装置27は、ユーザからの幾何変換情報の指定を受けて、入力された幾何変換情報を入力制御部28を介してCPU40に伝える(1304)。この幾何変換情報は、幾何変換の初期条件を含み、さらに、幾何変換情報を更新する条件を含んでもよい。CPU40は、入力された幾何変換情報をGPU41に転送する(1305)。
【0104】
GPU41は、幾何変換を受けると、浮動画像を幾何変換し、幾何変換された浮動画像の画素値をサンプリングし、参照画像ヒストグラムのビンごとに浮動画像の1次元ヒストグラム8を生成する(1306)。このため、GPU41は、浮動画像の1次元ヒストグラム8をローカル共有メモリ402に格納すればよく。小容量で高速アクセス可能なメモリのみを用いて(すなわち、大容量だがアクセス速度が低いグローバルメモリ403を用いることなく)、浮動画像の1次元ヒストグラム8を生成することができる。その後、GPU41は、生成された浮動画像の1次元ヒストグラム8を、記憶装置23に格納する。
【0105】
GPU41は、全ての1次元ヒストグラムの計算を終了した後、記憶装置23から1次元ヒストグラム8を読み出して、読み出された1次元ヒストグラム8を結合する。そして結合されたヒストグラム10から相互情報量を計算する(1307)。計算された相互情報量はCPU40に転送される(1308)。
【0106】
CPU40は、相互情報量が最大となるように幾何変換情報を更新し(1309)、更新された幾何変換情報をGPUに転送する(1310)。
【0107】
GPU41は、転送された幾何変換情報に基づいて、1306〜1309の処理と同様に、幾何変換された浮動画像の1次元ヒストグラム8を生成し、結合ヒストグラムを生成し、相互情報量を計算し(1311)、計算された相互情報量をCPU40に転送する(1312)。
【0108】
CPU40は、相互情報量が最大となる幾何変換情報で浮動画像を変換し(1313)、この条件で幾何変換された浮動画像(レジストレーション済画像)をディスプレイ31に表示する(1314)。
【0109】
以上に説明したように、本発明の実施の形態では、2次元の結合ヒストグラムの計算をGPU又は並列プロセッサで実行する場合に、各プロセッシングユニットは1次元のヒストグラムにアクセスするので、必要なメモリ容量を削減することができる。このため、結合ヒストグラムを効率よく計算でき、レジストレーション計算を効率的に処理することができる。
【符号の説明】
【0110】
1 参照画像
2 浮動画像
3 幾何変換情報
5 参照画像ヒストグラム(座標リスト群)
8 浮動画像ヒストグラム
10 結合ヒストグラム
12 相互情報量
15 レジストレーション済み浮動画像
16 前処理部
17 レジストレーション部
41 GPU

【特許請求の範囲】
【請求項1】
2次元又は3次元画像の参照画像と浮動画像との間で相互情報量が大きくなる条件で、両画像の位置を合わせる画像処理システムであって、
前記画像処理システムは、1以上のプロセッシングエレメントと、前記各プロセシングエレメントから高速にアクセス可能なローカルメモリと、前記各プロセシングエレメントに共有されるデータを格納するグローバルメモリと、を備え、
前記画像処理システムは、
前記参照画像の画素値の1次元のヒストグラムを生成し、前記生成された参照画像のヒストグラムの各ビンに属する画素の位置を記憶装置に格納する第1の手段と、
所定の幾何変換情報に従って浮動画像の座標を変換し、前記生成された参照画像のヒストグラムの一つのビンに属する参照画像の画素の位置に対応する前記変換された浮動画像の画素の画素値の頻度を示す、浮動画像の1次元ヒストグラムを、前記ローカルメモリ上に生成する処理を実行する第2の手段と、
前記生成された浮動画像の1次元ヒストグラムを合成することによって、前記浮動画像の2次元の結合ヒストグラムを生成する第3の手段と、
前記生成された結合ヒストグラムから相互情報量を計算する第4の手段と、を備えることを特徴とする画像処理システム。
【請求項2】
前記画像処理システムは、並列して演算処理が可能な複数の前記プロセッシングエレメントと、前記ローカルメモリと、前記グローバルメモリとを備えるメニーコアプロセッサシステムによって構成され、
前記各プロセシングエレメントが所定のプログラムを実行することによって、前記ローカルメモリを用いて、参照画像のヒストグラムのビン毎に並列して、前記第2の手段を実現することを特徴とする請求項1に記載の画像処理システム。
【請求項3】
前記メニーコアプロセッサシステムは、グラフィックプロセッシングユニットであることを特徴とする請求項2に記載の画像処理システム。
【請求項4】
前記第2の手段は、前記生成された参照画像のヒストグラムの一つのビンに属する画素の位置を取得し、前記取得された画素の位置に対応する前記浮動画像の画素の画素値を取得し、前記取得された浮動画像の画素の画素値を量子化し、前記量子化された画素値に画素数を積算することによって、浮動画像の1次元ヒストグラムを生成する処理を、前記参照画像のヒストグラムのビン数だけ実行することを特徴とする請求項1に記載の画像処理システム。
【請求項5】
前記第1の手段は、前記参照画像の画素を表すパラメータを変化させ、当該パラメータによって特定される画素の画素値を量子化し、前記量子化された画素値のビンに前記特定された画素の位置を記録することによって、前記参照画像のヒストグラムを生成することを特徴とする請求項1に記載の画像処理システム。
【請求項6】
前記第2の手段は、
前記生成された参照画像のヒストグラムの一つのビンに属する画素に対応する位置の前記変換された浮動画像の画素値を取得し、前記取得された浮動画像の画素値を量子化し、前記量子化された画素値を前記浮動画像のヒストグラムに加える処理を、前記参照画像のヒストグラムの一つのビンに属する画素の数だけ実行し、
さらに、前記の処理を、前記生成された1次元ヒストグラムの一つのビンの数だけ実行することを特徴とする請求項1に記載の画像処理システム。
【請求項7】
2次元又は3次元画像の参照画像と浮動画像との間で相互情報量が大きくなる条件で、両画像の位置を合わせるためのパラメータを計算する画像処理方法であって、
前記画像処理方法が実行されるシステムは、1以上のプロセッシングエレメントと、前記各プロセシングエレメントから高速にアクセス可能なローカルメモリと、前記各プロセシングエレメントに共有されるデータを格納するグローバルメモリと、を備え、
前記画像処理方法は、
前記参照画像の画素値の1次元のヒストグラムを生成し、前記生成された参照画像のヒストグラムの各ビンに属する画素の位置を記憶装置に格納する第1のステップと、
前記各プロセッシングエレメントが、所定の幾何変換情報に従って浮動画像の座標を変換し、前記生成された参照画像のヒストグラムの一つのビンに属する参照画像の画素の位置に対応する前記変換された浮動画像の画素の画素値の頻度を示す、浮動画像の1次元ヒストグラムを、前記ローカルメモリ上に生成する処理を実行する第2のステップと、
前記生成された浮動画像の1次元ヒストグラムを合成することによって、前記浮動画像の2次元の結合ヒストグラムを生成する第3のステップと、
前記生成された結合ヒストグラムから相互情報量を計算する第4のステップと、を含むことを特徴とする画像処理方法。
【請求項8】
前記画像処理システムは、複数の前記プロセッシングエレメントと、前記ローカルメモリと、前記グローバルメモリとを備え、各プロセシングエレメントが並列して演算処理が可能なメニーコアプロセッサシステムによって構成され、
前記画像処理システムは、並列して演算処理が可能な複数の前記プロセッシングエレメントと、前記ローカルメモリと、前記グローバルメモリとを備えるメニーコアプロセッサシステムによって構成され、
前記各プロセシングエレメントは、前記ローカルメモリを用いて、参照画像のヒストグラムのビン毎に並列して、前記第2のステップの処理を実行することを特徴とする請求項7に記載の画像処理方法。
【請求項9】
前記第2ステップでは、前記生成された参照画像のヒストグラムの一つのビンに属する画素の位置を取得し、前記取得された画素の位置に対応する前記浮動画像の画素の画素値を取得し、前記取得された浮動画像の画素の画素値を量子化し、前記量子化された画素値に画素数を積算することによって、浮動画像の1次元ヒストグラムを生成する処理を、前記参照画像のヒストグラムのビン数だけ実行することを特徴とする請求項7に記載の画像処理方法。
【請求項10】
前記第1ステップでは、前記参照画像の画素を表すパラメータを変化させ、当該パラメータによって特定される画素の画素値を量子化し、前記量子化された画素値のビンに前記特定された画素の位置を記録することによって、前記参照画像のヒストグラムを生成することを特徴とする請求項7に記載の画像処理方法。
【請求項11】
前記第2ステップでは、
前記生成された参照画像のヒストグラムの一つのビンに属する画素に対応する位置の前記変換された浮動画像の画素値を取得し、前記取得された浮動画像の画素値を量子化し、前記量子化された画素値を前記浮動画像のヒストグラムに加える処理を、前記参照画像のヒストグラムの一つのビンに属する画素の数だけ実行し、
さらに、前記の処理を、前記生成された1次元ヒストグラムの一つのビンの数だけ実行することを特徴とする請求項7に記載の画像処理方法。
【請求項12】
2次元又は3次元画像の参照画像と浮動画像との間で相互情報量が大きくなる条件で、両画像の位置を合わせるためのパラメータを画像処理システムに計算させるための画像処理プログラムであって、
前記画像処理方法が実行されるシステムは、1以上のプロセッシングエレメントと、前記各プロセシングエレメントから高速にアクセス可能なローカルメモリと、前記各プロセシングエレメントに共有されるデータを格納するグローバルメモリと、を備え、
前記プログラムは、
前記各プロセッシングエレメントが、前記参照画像の画素値の1次元のヒストグラムを生成し、前記生成された参照画像のヒストグラムの各ビンに属する画素の位置を記憶装置に格納する第1の手順と、
前記各プロセッシングエレメントが、所定の幾何変換情報に従って浮動画像の座標を変換し、前記生成された参照画像のヒストグラムの一つのビンに属する参照画像の画素の位置に対応する前記変換された浮動画像の画素の画素値の頻度を示す、浮動画像の1次元ヒストグラムを、前記ローカルメモリ上に生成する処理を実行する第2の手順と、
前記各プロセッシングエレメントが、前記生成された浮動画像の1次元ヒストグラムを合成することによって、前記浮動画像の2次元の結合ヒストグラムを生成する第3の手順と、
前記各プロセッシングエレメントが、前記生成された結合ヒストグラムから相互情報量を計算する第4の手順と、を含むことを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図15】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図14A】
image rotate

【図14B】
image rotate


【公開番号】特開2011−239812(P2011−239812A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−111882(P2010−111882)
【出願日】平成22年5月14日(2010.5.14)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】