形状情報処理方法、形状情報処理装置及び形状情報処理プログラム
【課題】所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮すること。
【解決手段】第1の情報で示される第1の三次元形状と第2の情報で示される第2の三次元形状とマッチングする場合、まず、第1の情報及び第2の情報の入力が受け付けられる。続いて、第1の三次元形状上に複数の基準点が設けられる。続いて、設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点が、第2の三次元形状上の限定された範囲から算出される。そして、設定された複数の基準点と、算出された複数の対応点との位置関係に基づいて、第1の情報を変換することで、第1の形状と第2の形状とがマッチングされる。
【解決手段】第1の情報で示される第1の三次元形状と第2の情報で示される第2の三次元形状とマッチングする場合、まず、第1の情報及び第2の情報の入力が受け付けられる。続いて、第1の三次元形状上に複数の基準点が設けられる。続いて、設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点が、第2の三次元形状上の限定された範囲から算出される。そして、設定された複数の基準点と、算出された複数の対応点との位置関係に基づいて、第1の情報を変換することで、第1の形状と第2の形状とがマッチングされる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の情報で示される形状同士を位置合わせする形状情報処理方法、形状情報処理装置及び形状情報処理プログラムに関する。
【背景技術】
【0002】
従来から、複数の形状を位置合わせするための手法が知られている。例えば、ある装置が、物体を複数の視点から部分的に計測して、物体各部の三次元形状を示す情報を複数取得し、それら三次元形状を位置合わせすることで、物体全体を表す三次元形状を生成する手法がある。このような手法は、近年の三次元計測装置の普及もあって、コンピュータグラフィクス、CAD(Computer-Aided Design、コンピュータ支援設計)、コンピュータビジョンなど、様々な研究開発分野・産業分野で利用されている。
【0003】
このような位置合わせを行う代表的な手法として、反復最近傍点アルゴリズム(Iterative Closest Point Algorithm、以下「ICPアルゴリズム」という)がある。このICPアルゴリズムでは、まず、二つの形状がある程度重なり合っているという初期状態が仮定される。続いて、一方の形状の複数の基準点のそれぞれについて、当該基準点と最短距離にある対応点が他方の形状から抽出される。続いて、複数の基準点と複数の対応点との仮の対応付けが行われ、その仮の対応付けに基づいて座標変換パラメータが推定される。このような、仮の対応付け、及び座標変換パラメータの推定を反復的に行うことにより、二つの形状が位置合わせされる。
【0004】
このように、ICPアルゴリズムは、基準点から最短距離にある対応点を算出して対応付けを行うので、汎用性が非常に高い。また、このICPアルゴリズムによれば、剛体運動を算出する側の形状が他方の形状の一部である場合に、位置合わせを精度良く行うことが可能である。このICPアルゴリズムを用いる手法は、例えば下記特許文献1〜4に開示されている。
【特許文献1】特開平06−044361号公報
【特許文献2】特開2000−251092号公報
【特許文献3】特開2002−175521号公報
【特許文献4】特開2003−162549号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ICPアルゴリズムでは、一つの対応点を抽出するために、対応点の候補となる点(以下「候補点」という)すべてについてユークリッド距離を計算する必要がある。しかも、このような計算は、抽出すべきすべての対応点について行われる必要があり、且つ座標変換パラメータの推定は反復的に実行される。従って、点対の数が多くなるほど、ICPアルゴリズムにおける計算量が膨大になり、形状の変換のための計算時間が長くなってしまう。
【0006】
計算時間を短縮する手法として、基準点の個数を少なくするものや、位置合わせを行う形状を予め人為的に近い位置に配置した上で自動処理を行うものが考えられている。しかし、基準点の個数を少なくすると位置合わせの精度が低下してしまう。また、人為的に自動処理を補助することは、煩雑であり効率的でない。
【0007】
本発明は、上記課題を解決するためになされたものであり、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することが可能な形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る形状情報処理方法は、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付ステップと、受付ステップにおいて受け付けられた第1の情報で示される第1の形状、及び受付ステップにおいて受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定ステップと、設定ステップにおいて設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出ステップと、設定ステップにおいて設定された複数の基準点と、算出ステップにおいて算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせステップと、を含む。
【0009】
また、本発明に係る形状情報処理装置は、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付手段と、受付手段により受け付けられた第1の情報で示される第1の形状、及び受付手段により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定手段と、設定手段により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出手段と、設定手段により設定された複数の基準点と、算出手段により算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせ手段と、を備える。
【0010】
また、本発明に係る形状情報処理プログラムは、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付機能と、受付機能により受け付けられた第1の情報で示される第1の形状、及び受付機能により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定機能と、設定機能により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出機能と、設定機能により設定された複数の基準点と、算出機能により算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせ機能と、をコンピュータに実行させる。
【0011】
このような形状情報処理方法、形状情報処理装置及び形状情報処理プログラムによれば、まず、第1の情報で示される第1の形状、及び第2の情報で示される第2の形状のうち一方の形状上に複数の基準点が設けられる。続いて、設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点が、他方の形状の限定された範囲から算出される。そして、複数の基準点と複数の対応点との位置関係に基づいて、第1の情報又は第2の情報が変換されることにより、第1の形状と第2の形状とが位置合わせされる。これにより、第1の形状と第2の形状とを位置合わせする際に、対応点を算出する範囲が限定されるので、対応点を他方の形状全体から算出する場合と比較して、対応点の算出に要する時間が短縮される。なお、この際に、基準点の個数を抑えたり人為的操作を加えたりする必要はない。そのため、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【0012】
本発明の形状情報処理方法では、算出ステップは、第1の基準点に対応する算出済の対応点の位置と、当該第1の基準点とは異なる第2の基準点の位置とに基づいて、当該算出済の対応点を中心とする範囲を算出し、当該範囲を、第2の基準点から最短距離にある対応点を算出するための限定された範囲とすることが好ましい。このような構成によれば、既知の情報(既知の基準点の位置、及び既知の対応点の位置)に基づいて、未知の対応点(第2の基準点から最短距離にある対応点)を算出するための限定された範囲が設定されるので、より早く未知の対応点を算出することができる。
【0013】
本発明の形状情報処理方法では、限定された範囲は、算出済の対応点を中心とし、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第2の基準点と算出済の対応点との距離とを加算した値を半径とする範囲であることが好ましい。このような構成によれば、算出済の対応点の位置と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第2の基準点と算出済の対応点との距離とに基づいて、未知の対応点を算出するための限定された範囲が設定される。そのため、より早く未知の対応点を算出することができる。
【0014】
本発明の形状情報処理方法では、限定された範囲は、算出済の対応点を中心とし、第1の基準点と算出済の対応点との距離と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第1の基準点と第2の基準点との距離とを加算した値を半径とする範囲であることが好ましい。このような構成によれば、算出済の対応点の位置と、第1の基準点と算出済の対応点との距離と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第1の基準点と第2の基準点との距離とに基づいて、未知の対応点を算出するための限定された範囲が設定される。そのため、より早く未知の対応点を算出することができる。
【発明の効果】
【0015】
本発明では、基準点から最短距離にある対応点が、他方の形状の限定された範囲から算出される。この際、基準点の個数を抑えたり人為的操作を加えたりする必要はない。従って、本発明によれば、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【発明を実施するための最良の形態】
【0016】
以下、図面とともに本発明に係る形状情報処理方法、形状情報処理装置及び形状情報処理プログラムの好適な実施形態について詳細に説明する。本実施形態では、これら形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを、手術支援情報表示装置、手術支援情報表示方法及び手術支援情報表示プログラムに適用する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【0017】
図1は、本発明に係る手術支援情報表示装置1の実施形態を概略的に示す構成図である。手術支援情報表示装置1は、患者60に対する手術の際に、内視鏡により撮像された画像に関する情報を術者等に提供する装置である。本実施形態に係る手術支援情報表示装置1が用いられる手術は、例えば、耳鼻咽頭科における副鼻腔の内視鏡手術等のように、内視鏡による撮像が行われるものを対象とする。
【0018】
図1に示すように、手術支援情報表示装置1は、内視鏡11と、標識球12と、撮像装置20と、CT装置30と、PC(Personal Computer)40と、モニタ50とを含んで構成されている。
【0019】
内視鏡11は、術者により操作され、患者60の内部に挿入されて当該内部を撮像する装置である。内視鏡11は、患者の生体内の挿入できるように細長い形状をしており、その先端部には患者60の内部を撮像するための機構が設けられている。その機構としては、例えば、被撮像部に向くように位置決めして設けられたレンズ及び、レンズの決像位置に設けられたCCDイメージセンサ(Charge Coupled Device Image Sensor)等の撮像素子である。上記の機構の位置決めのされ方によって、内視鏡11の撮像方向Aが決まる。通常は、レンズの光軸方向が、内視鏡11の撮像方向Aとなる。内視鏡11により撮像された画像の情報は、ケーブルにより内視鏡11と接続されたPC40に出力される。なお、上記の内視鏡11としては、特殊な構成を有している必要はなく、従来から用いられている内視鏡を用いることができる。
【0020】
標識球12は、内視鏡11の撮像方向に対して予め定められた相対的な位置関係の位置に固定されて設けられるマーカである。標識球12は、撮像装置20により撮像されて、撮像された画像から三次元座標を求められる。具体的には、標識球12は、複数内視鏡11に対して棒状の部材13を介して固定される、それぞれ大きさが異なる球状の部材である。大きさが異なることとしているのは、撮像装置20により撮像された画像から、それぞれを区別して検出するためである。
【0021】
標識球12が内視鏡11に設けられる位置は、患者60に挿入される部分から更に後方の、患者60に挿入されない位置である。また、標識球12と内視鏡11の撮像方向Aとの位置関係が一定となるように、内視鏡11における、患者60の内部に挿入される部分から標識球12が設けられる部分までは、硬質の材質で形成されており屈曲できないようになっている。但し、内視鏡11の撮像方向と標識球12との位置関係が把握できればよいので、例えば、内視鏡11の先端部のみが決められた方向のみに動くような構成となっていてもよい。
【0022】
なお、内視鏡11に設けられるマーカは、内視鏡11の撮像方向に対して定められた相対的な位置関係の位置にあり、撮像装置20により撮像された画像から三次元座標を求められるものであればよいので、必ずしも、本実施形態の標識球12のような球状のものでなくてもよい。また、内視鏡11自体の形状が、容易に三次元座標を求められるものであれば、内視鏡11自体の形状がマーカとなるので、必ずしも標識球12を設ける必要はない。
【0023】
撮像装置20は、患者60に内視鏡11が差し込まれるときに、患者60の表面及び標識球12を撮像する。図1に示すように、患者60の鼻の穴から内視鏡11を挿入して、内視鏡11により患者60の頭部を撮像する場合には、患者60の顔面と標識球12とが撮像できるような位置に撮像装置20が設けられる。撮像装置20としては具体的には、例えば、CCDカメラが用いられる。撮像装置20は、PC40と接続されており、撮像した画像の情報をPC40に送信する。
【0024】
撮像装置20により撮像された画像は、撮像されたものの三次元座標(三次元位置情報)を算出するために用いられる。そのために必要な構成も併せて撮像装置20に備えておく必要がある。画像から撮像されたものの三次元座標を算出する方法としては光学的な方法を用いるものがあり、例えば、特開2003−254732号公報に記載された方法を用いることができる。この方法を用いる場合は、そのために必要な、撮像装置20により撮像される範囲にキセノンライトから発せられる自然太陽光に似た白色光に似た格子模様を投影する装置を更に設けておく。
【0025】
なお、特開2003−254732号公報に記載された方法によれば、1秒の計測時間で、90±10cmの距離から撮像が可能となる。また、分解能は0.1〜0.6mmである。即ち、1秒で三次元位置情報を持った解像度の高いカラー画像が取得できる。また、曇りの日中(屋外)の約28%の照度の白色光であり、レーザ等を使うことなく安全に三次元位置情報を取得できる。本方法により、患者60の顔面を撮像して、情報処理されて三次元位置情報を持った解像度の高いカラー画像とした例を図2に示す。
【0026】
CT装置30は、内視鏡11が挿入される患者60の内部を構成する面と患者60の表面の第1の三次元形状とを示す第1の情報を取得する。内視鏡11が挿入される患者60を構成する面は、例えば、患者60の副鼻腔に内視鏡11が挿入される場合、副鼻腔を構成する面である。また、患者60の表面は、上記の場合、患者60の顔面である。ここで、CT装置30により取得される三次元形状を示す第1の情報は、例えば予めCT装置30に設定されている所定の座標軸に対する座標毎に三次元形状を示す情報を保持することによって構成されている。この座標軸は、第1の座標軸である。即ち、第1の情報は、第1の座標軸上における情報である。なお、三次元形状を示す第1の情報は、例えば三次元配列で構成される。この場合、三次元配列の各要素は、第1の情報で示される三次元形状を構成する各点の座標に対応する。
【0027】
CT装置30は、放射線等を利用して物体を走査し、コンピュータを用いて処理された内部構造を等間隔(例えば、1mm)毎に輪切りにしたような画像(CT画像)を、患者60の三次元形状を示す情報として構成するものであり、既存のCT装置を用いることができる。CT画像の例を図3に示す。CT装置30はPC40と接続されており、取得した患者60の三次元形状を示す情報を、PC40に送信する。なお、CT装置30は、撮像装置20と同じ場所に設置されている必要はなく、通常、撮像装置20による撮像と、CT装置30による三次元形状を示す情報の取得とは別々に行われる。なお、CT画像から三次元形状を示す情報の構成には、例えば特開2005−278992号公報に記載の方法を用いることができる。
【0028】
なお、手術支援情報表示装置1では、患者60の内部を含む三次元形状を示す情報が取得できればよい。従って、CT装置30に代えてMRI装置などが用いられてもよい。
【0029】
PC40は、撮像装置20により撮像された画像の情報及びCT装置30により取得された患者60の三次元形状を示す第1の情報を受信して、これらの情報に対して情報処理を行う装置である。PC40は、具体的には、CPU(Central Processing Unit)、メモリ等のハードウェアにより構成され、これらの情報処理装置が動作することにより、下記のPC40の機能が実現される。図1に示すように、PC40は、機能的な構成要素として、患者形状取得部41と、撮像画像取得部42と、表面形状算出部43と、座標軸一致部44と、内視鏡光軸算出部45と、交点算出部46と、出力部47とを備えている。
【0030】
患者形状取得部41は、CT装置30から送信される、患者60の三次元形状を示す第1の情報を受信する手段である。患者形状取得部41は、受信した第1の情報を、必要に応じて座標軸一致部44及び交点算出部46等に出力する。なお、手術支援情報表示装置1では、必ずしもCT装置30自体を備えている必要はなく、患者形状取得部41により(手術支援情報表示装置1に含まれないCT装置で撮像等された)患者60の三次元形状を示す第1の情報が受信さえされればよい。
【0031】
撮像画像取得部42は、撮像装置20により撮像され送信された画像の情報を受信する手段である。即ち、撮像画像取得部42は、患者60に内視鏡11が差し込まれるときに撮像装置20により撮像された患者の表面の画像を取得する手段である。撮像画像取得部42は、受信した画像を表面形状算出部43及び内視鏡光軸算出部45等に出力する。
【0032】
表面形状算出部43は、撮像装置20により撮像された患者60の表面の画像から、患者60の表面の第2の三次元形状を示す第2の情報を算出する手段である。患者60の表面は、本実施形態の場合、患者60の顔面である。画像から三次元形状を算出する方法は、例えば、上述した特開2003−254732号公報に記載された方法を用いることができる。第2の情報は、例えば予め表面形状算出部43に設定されている所定の座標軸に対する座標毎に三次元形状を示す情報を構成することにより算出される。この座標軸は、上述した第1の座標軸とは異なるものであり第2の座標軸である。即ち、第2の情報は、第2の座標軸上における情報である。なお、三次元形状を示す第2の情報は、例えば、第1の情報と同様に三次元配列で構成される。表面形状算出部43は、算出した第2の情報を、座標軸一致部44に出力する。
【0033】
座標軸一致部44は、患者形状取得部41により取得された第1の情報と、表面形状算出部43により算出された第2の情報とをマッチング(位置合わせ)することで、第1の座標軸と第2の座標軸とを一致させる手段である。即ち、座標軸一致部44は、CT装置30により取得された第1の情報と、撮像装置20により撮像された画像から算出された第2の情報とを同じ座標軸上で処理できるようにするための手段である。このために、座標軸一致部44は、図4に示すように、情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dを備えている。
【0034】
なお、下記に示す、情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dの機能に必要な式やルール等は、これら情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dのそれぞれに記憶されており、機能を実行する際に必要に応じて読み出される。
【0035】
情報受付部44aは、患者形状取得部41により取得された第1の情報、及び表面形状算出部43により算出された第2の情報の入力を受け付ける受付手段である。この情報受付部44aは、受け付けた第1の情報を基準点設定部44bに出力するとともに、受け付けた第2の情報を対応点算出部44cに出力する。
【0036】
基準点設定部44bは、情報受付部44aから入力された第1の情報で示される第1の三次元形状上に複数の基準点を設ける設定手段である。具体的には、基準点設定部44bは、どの点が基準点に設定されたかを判別可能にするために、設定された基準点を示す基準点情報を第1の情報に付加する。例えば、第1の情報が三次元配列で構成されている場合、基準点設定部44bは、当該三次元配列を構成する複数の要素(点の座標)のうち基準点に設定された要素のそれぞれについて、当該要素と基準点情報(例えばフラグ)とを関連付ける。なお、設定される基準点の個数(密度)は限定されない。例えば、基準点設定部44bが、所定の距離毎に基準点を設けてもよいし、第1の三次元形状上を構成する点すべてを基準点に設定してもよい。基準点設定部44bは、基準点情報を付加した第1の情報を対応点算出部44cに出力する。
【0037】
対応点算出部44cは、基準点設定部44bにより設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を、情報受付部44aから入力された第2の情報で示される第2の三次元形状の限定された範囲から算出する算出手段である。なお、限定された範囲を算出するために必要な式、ルール、データ等は、対応点算出部44cに記憶されており、限定された範囲を算出する際に読み出される。
【0038】
対応点算出部44cは、対応点を算出すると、どの点が対応点として算出されたかを判別可能にするために、算出された対応点を示す対応点情報を第2の情報に付加する。例えば、第2の情報が三次元配列で構成されている場合、対応点算出部44cは、当該三次元配列を構成する複数の要素(点の座標)のうち、対応点として算出された要素のそれぞれについて、当該要素と対応点情報(例えばフラグ)とを関連付ける。そして、対応点算出部44cは、基準点設定部44bから入力された第1の情報と、対応点情報を付加した第2の情報とを位置合わせ部44dに出力する。
【0039】
対応点算出部44cの処理を、図5を参照して説明する。なお、図5では、説明の簡単のため、マッチングする図形を二次元の曲線p及びmとする。また、図5に示す例では、曲線mを固定し、曲線pを曲線mにマッチングさせるものとする。図5に示す二次元空間におけるマッチングは、本実施形態のような三次元空間におけるマッチングに簡単に拡張することができる。例えば、曲線pを第1の情報で示される第1の三次元形状と読み替えるとともに、曲線mを第2の情報で示される第2の三次元形状と読み替えることで、座標軸一致部44による第1の情報と第2の情報とのマッチングを説明できる。
【0040】
対応点算出部44cは、まず、曲線m周辺の最短距離場を算出する。ここで、最短距離場とは、ある図形から最短距離(最短パスの長さ)に存在する点で構成される近傍空間である。次に、対応点算出部44cは、曲線p上にある任意の基準点(第1の基準点)Paを選択し、その基準点Paから最短距離にある、曲線m上の対応点Maを探索(算出)する。この対応点Maの探索は、曲線m上のすべての点について基準点Paとの距離を算出し、算出された距離を比較することで行われる。なお、対応点算出部44cは、基準点Paとの距離を算出する曲線m上の点の位置を、所定の関係式や、曲線mを構成する点の配列などにより予め算出できる。例えば、対応点算出部44cは、第1の情報又は第2の情報により、第1の三次元形状又は第2の三次元形状上に存在する点の位置を取得できる。
【0041】
なお、基準点と対応点との位置関係は、それら二つの三次元形状が共通の座標軸上に存在することを前提に定義される。例えば、基準点Paと曲線m上の点との距離の算出は、曲線pと曲線mとが共通の座標軸上に存在することを前提とする。すなわち、最短距離とは、これら二つの曲線が共通の座標軸上に存在するとした場合の、基準点と対応点との距離である。
【0042】
次に、対応点算出部44cは、曲線p上にある別の基準点(第2の基準点)Pbを選択し、その基準点Pbから最短距離にある、曲線m上の対応点Mbを探索(算出)する。この際、対応点算出部44cは、曲線m上の限定された範囲に存在する複数の点と基準点Paとの距離を算出する。
【0043】
このために、対応点算出部44cは、基準点Pa及びPbの座標値と、対応点Maの座標値と、基準点Paと対応点Maとの距離lと、基準点Pbと対応点Maとの距離dと、基準点Pbの座標値、及び曲線m周辺の最短距離場によって定まる距離l’とを取得する。これらの値は、既知のもの、又は既知の値から算出可能なものである。そして、対応点算出部44cは、取得したこれらの値に基づいて、対応点Mbを探索する範囲を決定する。
【0044】
この場合において、基準点Pbと、既知の対応点Maと、未知の対応点Mbとの位置関係から、下記の三角不等式が成り立つ。なお、dmは、既知の対応点Maと未知の対応点Mbとの距離である。
dm≦l’+d
【0045】
したがって、未知の対応点Mbを探索すべき曲線mの範囲は、既知の対応点Maを中心とし、且つ半径が下記式で表される円C内に限定される。
r=l’+d …(1)
この半径rは、下記式を用いて算出してもよい。ただし、dpは、既知の基準点Pa及びPbの間の距離である。
r=l+l’+dp …(2)
【0046】
なお、第1及び第2の情報で示される図形は三次元形状であるから、本実施形態において、対応点算出部44cは、上記理論に準じて算出された所定の半径を有する球内で対応点を探索する。
【0047】
すなわち、対応点算出部44cは、曲線mのうち、対応点Maから上記式(1)又は(2)で定義される半径rの範囲にある点についてのみ、当該点と基準点Pbとの距離を算出する。そして、対応点算出部44cは、基準点Pbとの距離が最短である点を対応点Mbと決定する。なお、対応点算出部44cは、曲線m上の点の位置を予め算出し取得することができる。したがって、対応点算出部44cは、予め取得した曲線m上の点の位置と、対応点Maの位置と、上記式(1)又は(2)で定義される半径rとに基づいて、基準点Pbとの距離を算出すべき曲線m上の点を取得できる。
【0048】
その後、対応点算出部44cは、曲線p上にある一以上の別の基準点に対する対応点を探索(算出)する。この対応点の算出方法は、対応点Mbの算出方法と同様である。すなわち、二番目以降の対応点を算出する場合、対応点算出部44cは、当該対応点を曲線m上の限定された範囲から算出する。
【0049】
位置合わせ部44dは、基準点設定部44bにより設定された複数の基準点と、対応点算出部44cにおいて算出された複数の対応点との位置関係に基づいて第1の情報を変換することで、第1の情報で示される第1の三次元形状と第2の情報で示される第2の三次元形状とを位置合わせする位置合わせ手段である。
【0050】
具体的には、位置合わせ部44dは、基準点と、その基準点に対応する対応点との距離の平均値を算出する。なお、基準点は、第1の情報を構成するデータに付加された基準点情報に基づいて抽出可能であり、対応点は、第2の情報を構成するデータに付加された対応点情報とに基づいて抽出可能である。
【0051】
続いて、位置合わせ部44dは、複数算出された基準点と対応点との位置関係に基づいて回転行列R及び平行移動行列Tを算出し、これら二つの行列を用いて剛体変換を行う。この剛体変換は、図5の例の場合、剛体変換前の曲線pの位置をpi-1、剛体変換後の曲線pの位置をpiとして、下記式で表される。この剛体変換により、曲線pが回転移動又は平行移動し、曲線pと曲線mとが位置合わせされる。
pi=R*pi-1+T …(3)
【0052】
位置合わせ部44dは、上記式(3)に基づいて、第1の情報を変換する。これにより、第1の三次元形状が回転移動又は平行移動し、第1の三次元形状と第2の三次元形状とが位置合わせされる。続いて、位置合わせ部44dは、今回算出した平均値と前回算出した平均値との差が所定の閾値未満か否かを判定する。なお、この差が所定の閾値未満になるということは、第1の情報と第2の情報とがマッチング(位置合わせ)され、第1の座標軸と第2の座標軸とが一致したということである。これは、第1の座標軸及び第2の座標軸の何れか一方の座標軸をもう一方の座標軸に変換する関数が算出されたことを意味する。この場合、位置合わせ部44dは、座標軸を一致させた結果として算出された座標軸を変換する関数等を、必要に応じて内視鏡光軸算出部45、交点算出部46及び出力部47等に出力する。
【0053】
これに対し、今回算出した平均値と前回算出した平均値との差が所定の閾値以上である場合、位置合わせ部44dは、上記式(3)を用いて変換された第1の情報を対応点算出部44cに出力する。これにより、対応点算出部44cにおいて、当該変換された第1の情報と取得済みの第2の情報とに基づく対応点の算出が行われる。すなわち、対応点の算出から剛体変換までの処理が繰り返し実行される。
【0054】
このような座標軸一致部44の処理により、上記の座標軸を一致させる処理以降は、内視鏡光軸算出部45、交点算出部46及び出力部47等において上記の関数等が、三次元形状を示す情報に適用されることによって、CT装置30による三次元形状を示す情報と、撮像装置20により撮像された画像から算出された三次元形状を示す情報とが同じ座標軸上で処理される。
【0055】
内視鏡光軸算出部45は、撮像装置20により撮像された標識球12の画像から、座標軸一致部44により一致された座標軸上における、標識球12の三次元座標を算出して、標識球12と内視鏡11の撮像方向Aとの位置関係から内視鏡11の撮像方向Aである光軸を示す半直線を算出する手段である。なお、ここで言う撮像方向Aである光軸を示す半直線には、半直線の起点となる位置も含まれる。即ち、内視鏡11の撮像方向Aである光軸を示す半直線は、どの点からどの方向に撮像が行われるかを示したものである。内視鏡光軸算出部45は、予め、標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報を保持している。当該位置関係を示す情報としては、具体的には例えば、内視鏡11の光軸(撮像方向Aである光軸を示す半直線)を通るように内視鏡11の基部の所定の位置と先端の位置とを特定して、その2点と標識球12との位置関係を示す情報が用いられる。
【0056】
内視鏡11の撮像方向Aである光軸を示す半直線の算出は、具体的には、以下のように行われる。まず、内視鏡光軸算出部45は、表面形状算出部43における三次元形状を算出する方法と同様の方法で、撮像装置20により撮像された標識球12から三次元形状及び三次元座標を算出する。標識球12が複数設けられている場合、内視鏡光軸算出部45は、例えば標識球12の大きさ等からそれぞれの標識球12を識別する。
【0057】
続いて、内視鏡光軸算出部45は、算出された上記の座標軸上における標識球12の三次元座標と、標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報とから、上記の座標軸上における撮像方向Aである光軸を示す半直線を算出する。内視鏡光軸算出部45は、算出した撮像方向である光軸を示す半直線の情報を、交点算出部46に出力する。
【0058】
交点算出部46は、内視鏡光軸算出部45により算出された内視鏡11の撮像方向Aである光軸を示す半直線と患者形状取得部41により取得された第1の情報に係る患者60の内部を構成する面との交点を算出する手段である。この交点は、CT装置30による三次元形状を示す第1の情報において、内視鏡11が撮像を行っている点(中心点)を示すものである。具体的には、交点算出部46は、患者60の内部を構成する面をポリゴンデータにして、当該ポリゴンデータを構成する各面と内視鏡11の撮像方向Aである光軸を示す半直線との交点を算出する。交点の算出については、より詳細には後述する。交点算出部46は、算出した交点の情報を出力部47に出力する。
【0059】
出力部47は、交点算出部46により算出された交点を示す情報を、患者形状取得部41により取得された患者60の内部を構成する面を示す情報であるCT画像に重畳して、モニタ50に出力する手段である。また、出力部47は、内視鏡11により撮像されてPC40に入力された内視鏡画像を併せて、モニタ50に出力することとしてもよい
【0060】
モニタ50は、PC40から入力された情報を表示する。術者はモニタ50を参照することにより、内視鏡11が患者60内部のどの部分を撮像しているのかを知ることができる。以上が、手術支援情報表示装置1の構成の構成である。
【0061】
引き続いて、手術支援情報表示装置1の動作(手術支援情報表示方法)について、図6のフローチャートを参照して説明する。この動作は、例えば、患者60に対する手術の際に内視鏡11を挿入して治療等を行うときの動作である。この説明においては、手術前の処理と手術時の処理とに分けて説明する。
【0062】
まず手術前に、CT装置30を用いた、患者60に対するCTスキャン撮影が行われる(ステップS01)。このCTスキャン撮影は、内視鏡11が挿入される患者60の部位に対して行われる。これにより、患者60の表面である顔面と、内視鏡11が挿入される患者60の内部を構成する面との第1の三次元形状を示す第1の情報が取得される。CT装置30によりCTスキャン撮影が行われ取得された第1の情報は、PC40に送信される。PC40では、患者形状取得部41により当該情報が取得されて、PC40内に格納される(ステップS02)。上記が手術前の処理であり、例えば、手術の前日等に行われる。
【0063】
引き続いて、手術時の処理を説明する。まず、患者60を手術室に入室させて、図1に示すように、内視鏡11を鼻の穴から挿入できるように手術台70の上の仰向けに配置する。患者60を配置した後、内視鏡11を挿入する前に、撮像装置20によって、配置された患者60が撮像される(ステップS03)。撮像された画像は、撮像装置20からPC40に送信されて、PC40において撮像画像取得部42によって受信される。受信された画像は、撮像画像取得部42から表面形状算出部43に出力される。
【0064】
表面形状算出部43では、当該画像から患者60の表面である顔面の第2の三次元形状を示す第2の情報が算出される(ステップS04)。算出された第2の情報は、表面形状算出部43から座標軸一致部44に出力される。これと同じタイミングで、PC40内に格納されていた、CT装置30による患者60の三次元形状を示す情報が、患者形状取得部41から座標軸一致部44に出力される。
【0065】
CT装置30による第1の情報と、撮像装置20による画像から算出された第2の情報とに係るそれぞれの座標軸は、一致していない。これらの情報を共に表示すると、図7(a)に示すように、CT装置30による情報81と、撮像装置20の画像による情報82とが位置合わせされていない状態となる。
【0066】
ここで、座標軸一致部44によって、図7(b)に示すように、これら2つの情報81,82における顔面の形状がマッチングされて、2つの情報に係る座標軸が一致される(ステップS05)。なお、マッチングする部位は、顔面全体や顔面の鼻や頬等の特徴ある部位等、予め設定しておく。
【0067】
座標軸を一致させる処理を、図8のフローチャートを参照して詳細に説明する。まず、患者形状取得部41により取得された第1の情報、及び表面形状算出部43により算出された第2の情報の入力が、情報受付部44aにより受け付けられる(ステップS51、受付ステップ)。続いて、基準点設定部44bにより、第1の情報で示される第1の三次元形状上に基準点が複数設定される(ステップS52、設定ステップ)。続いて、対応点算出部44cにより、設定された複数の基準点それぞれについて、当該基準点に対応する対応点が、第2の情報で示される第2の三次元形状から抽出される(ステップS53、算出ステップ)。この抽出は、予め定められた個数分の対応点をすべて抽出するまで繰り返し実行される(ステップS54;NO、算出ステップ)。このとき、二番目以降の対応点の抽出において、対応点は、第2の三次元形状の限定された範囲から抽出される。
【0068】
そして、すべての対応点が抽出されると(ステップS54;YES、算出ステップ)、位置合わせ部44dによって、以下の一連の処理が行われる。具体的には、まず、基準点と対応点との距離の平均値が算出される(ステップS55)。続いて、複数算出された基準点と対応点との位置関係に基づいて、回転行列及び平行移動行列が算出される(ステップS56、位置合わせステップ)。続いて、その回転行列及び平行移動行列に基づいて、第1の情報が剛体変換される(ステップS57、位置合わせステップ)。この変換により、第1の三次元形状と第2の三次元形状とが位置合わせされる。続いて、今回算出された平均値と前回算出された平均との差が閾値未満か否かが判定される(ステップS57)。
【0069】
ここで、平均値の差が閾値以上であれば(ステップS58;NO)、上記ステップS52の以降の処理が繰り返し実行される。一方、その差が閾値未満の場合(ステップS58;YES)、処理が終了する。これにより、第1の座標軸と第2の座標軸とが一致される。
【0070】
一致した座標軸に係る情報は、座標軸一致部44(位置合わせ部44d)から、内視鏡光軸算出部45、交点算出部46及び出力部47にそれぞれ出力されて座標軸の変換等が行われて、これ以降、一致した座標軸を基準として三次元形状に対する情報処理が行われる。上記が手術開始までの処理である。
【0071】
続いて、手術が開始され、術者によって、内視鏡11が患者60に挿入される。この際、患者60の頭部は、S03〜S05の処理を行ったときから動かさないようにする。座標軸がずれることを防止するためである。内視鏡11が患者60に挿入される際に、撮像装置20によって、患者60及び標識球12が撮像される(ステップS06)。図9(a)に示すように、撮像された画像には、標識球12(の画像)が含まれている。撮像された画像は、撮像装置20からPC40に送信されて、PC40において撮像画像取得部42によって受信される。受信された画像は、撮像画像取得部42から内視鏡光軸算出部45に出力される。
【0072】
続いて、内視鏡光軸算出部45によって、図9(b)に示すように、画像から標識球12の三次元座標が算出される(ステップS07)。続いて、内視鏡光軸算出部45によって、算出された標識球12の三次元座標から、予め保持していた標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報に基づいて、一致された座標軸上での内視鏡11の撮像方向Aである光軸を示す半直線が算出される(ステップS08)。
【0073】
算出された半直線の情報は、内視鏡光軸算出部45から交点算出部46に出力される。これと同じタイミングで、PC40内に格納されていた、CT装置30による第1の情報が、患者形状取得部41から交点算出部46に出力される。続いて、交点算出部46によって、内視鏡11の撮像方向Aである光軸を示す半直線と、患者60の内部を構成する面との交点が算出される(ステップS09)。
【0074】
交点の算出は、以下のように行われる。まず、交点算出部46によって、CT装置30による第1の情報が、ポリゴンデータに変換される。この変換により、患者60(の内部)を構成する面が、例えば多数の三角形で構成させることとなる。次に、それらの各三角形と、内視鏡11の撮像方向Aである光軸を示す半直線との交点が算出される。
【0075】
この交点の算出について、図10を用いて説明する。ポリゴンを構成する三角形の基準となる点をPT、三角形の2辺のベクトルをそれぞれvecA及びvecBとし、2つの媒介変数をα及びβとすると、三角形は以下の式で表すことができる。
P1=PT+αvecA+βvecB
また、内視鏡11の撮像方向Aの基準となる点(例えば、内視鏡11の先端の点)をPL、半直線の方向を示すベクトルをvecCとし、媒介変数をγとすると、内視鏡11の撮像方向Aは以下の式で表すことができる。
P2=PL+γvecC
【0076】
ここで、両者が交わるときはP1=P2となる。P1=P2となる点が、三角形の内部に存在する条件は、媒介変数が以下の条件を満たす場合である。
条件1:0<α,0<β
条件2:0<α+β<1
条件3:γ>0
これらの条件を満たす点を全てのポリゴンデータを構成する三角形について導出し、それら全ての点と内視鏡11の先端の点との距離を計算する。この距離が最も小さくなる交点を、内視鏡11の撮像方向Aである光軸を示す半直線と患者60の内部を構成する面との交点とする。
【0077】
算出された交点の座標の情報は、交点算出部46から出力部47に出力される。このタイミングで、患者60の内部を構成する面を示す情報であるCT画像が、患者形状取得部41から出力部47に出力される。交点の情報は、出力部47によって、患者60の内部を構成する面を示す情報であるCT画像に当該交点の座標に応じた箇所に重畳されて、モニタ50に入力される。入力された画像は、モニタ50によって表示される(ステップS10)。交点の表示は、具体的には例えば、図11に示すように、内視鏡11により撮像されている箇所がどの点に位置しているかが分かるように、十字の表示90として行われる。術者は表示された画像を参照することにより、内視鏡11が患者60内部のどの部分を撮像しているのかを知ることができる。
【0078】
また、内視鏡11により撮像された画像も、PC40によって受信されて出力部47からモニタ50に出力されるようにして、上記の内視鏡11により撮像されている箇所がどの点に位置しているかの表示と併せて表示されるようにすることが望ましい。例えば、図12に示す画面例91のように、内視鏡11により撮像された画像92と、内視鏡11により撮像されている箇所がどの点に位置しているかが示されたCT画像93a〜93cとを1つの画面に示すこととするのがよい。また、その際の内視鏡11の画像には、交点に対応する箇所を示す情報(例えば、十字形(+)のマーク)94を重畳させることが望ましい。内視鏡11の画像における交点に対応する箇所を示す情報の位置は、例えば、画像の中心等、内視鏡11の撮像方向に応じて予め出力部47に記憶させておく。また、術者が対応する箇所を理解しやすいように、CT画像93a〜93cは、断面がそれぞれ異なるもの(断面がそれぞれ直交するものがよい)を複数、表示することとするのがよい。図12では、CT画像93aは横断面のもの、CT画像93bは冠状断面のもの、CT画像93cは、矢状断面のものである。更に、CT画像93a〜93cには、交点の情報(画像とは色違いの四角95で示す)に加えて、内視鏡11が挿入されている方向(内視鏡11の撮像方向である光軸)96を示すことが望ましい。
【0079】
上記のS06〜S10までの処理は、例えば、1秒間間隔等の等間隔で繰り返し行われる。なお、PC40におけるS03〜S05の処理と、S06〜S10の処理とは異なっているが、例えば、S05の座標軸の一致の処理が行われたら、自動的にS06以降の処理に移るようにしてもよい。また、術者等の操作により処理の切替が行われてもよい。
【0080】
また、S03〜S05の処理による初回の位置合わせ後に患者60の頭部を動かした場合でも、再度S03〜S05の処理を行い改めて位置合わせを行なうこととすればよい。再度の位置合わせは、例えば、術者等の操作により行われてもよいし、位置合わせしたときの画像とその後の画像とを比較して、頭部が動いたことを検出して、それをトリガとして行われてもよい。
【0081】
上述したように、本実施形態に係る手術支援情報表示装置1(手術支援情報表示方法)では、第1の三次元形状と第2の三次元形状とを位置合わせする際に、対応点を算出する範囲が限定されるので、対応点を第2の三次元形状全体から算出する場合と比較して、対応点の算出に要する時間が短縮される。なお、この際、基準点は任意に設定可能である。また、対応点の算出にあたり、人為的操作は介在しない。その結果、第1の三次元形状と第2の三次元形状とを位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【0082】
このような効果は、形状を構成する要素(点)の数が多ければ多いほど顕著である。例えば、それぞれ数十万個の点で構成されている第1の三次元形状及び第2の三次元形状について、第1の三次元形状上の全点を基準点に設定して位置合わせをした場合、従来法(第2の三次元形状の全範囲から対応点を算出する方法)と比較し、10-4から10-5程度の時間短縮が可能である。
【0083】
また、対応点算出部44cは、例えば図5に示すように、算出済の対応点Maを中心とし、当該対応点Maの位置と、基準点Pbの位置と、曲線mの最短距離場とに基づいて算出される値(l’+d)を半径rとする円Cを限定された範囲とする。加えて、座標軸一致部44は、例えば図5に示すように、算出済の対応点Maを中心とし、当該対応点Maの位置と、基準点Paの位置と、基準点Pbの位置と、曲線mの最短距離場とに基づいて算出される値(l+l’+dp)を半径rとする円Cを限定された範囲とすることもできる。これにより、未知の対応点Mbを算出するための限定された範囲(円C)が設定されるので、より早くその対応点Mbを算出することができる。このことは、他の対応点を算出する場合も同様である。
【0084】
引き続いて、上述した一連の手術支援情報の表示を行う処理をコンピュータに実行させるための手術支援情報表示プログラムを説明する。図13に示すように、手術支援情報表示プログラム82は、コンピュータが備える記録媒体80に形成されたプログラム格納領域80a内に格納されている。
【0085】
手術支援情報表示プログラム81は、手術支援情報の表示処理を統括的に制御するメインモジュール810と、患者形状取得モジュール811と、撮像画像取得モジュール812と、表面形状算出モジュール813と、座標軸一致モジュール814と、内視鏡光軸算出モジュール815と、交点算出モジュール816と、出力モジュール817とを備えて構成される。座標軸一致モジュール814は、情報受付モジュール814a、基準点設定モジュール814b、対応点算出モジュール814c及び位置合わせモジュール814dを有している。患者形状取得モジュール811、撮像画像取得モジュール812、表面形状算出モジュール813、座標軸一致モジュール814、基準点設定モジュール814b、対応点算出モジュール814c、位置合わせモジュール814d、内視鏡光軸算出モジュール815、交点算出モジュール816及び出力モジュール817を実行させることにより実現される機能は、上述したPC40の患者形状取得部41、撮像画像取得部42、表面形状算出部43、座標軸一致部44、情報受付部44a、基準点設定部44b、対応点算出部44c、位置合わせ部44d、内視鏡光軸算出部45、交点算出部46及び出力部47の機能とそれぞれ同様である。
【0086】
なお、手術支援情報表示プログラム81は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。
【0087】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【0088】
上記実施形態では、本発明に係る形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを、手術支援情報表示装置、手術支援情報表示方法及び手術支援情報表示プログラムに適用したが、これら形状情報処理方法、形状情報処理装置及び形状情報処理プログラムは、様々な研究開発分野・産業分野に適用可能である。応用例としては、例えば、CAD、部品表面の品質検査、試作モデルの製作、ロボットの自律移動制御が挙げられるが、当然ながら、これらに限定されるものではない。
【図面の簡単な説明】
【0089】
【図1】本発明の実施形態に係る手術支援情報表示装置の構成を示す図である。
【図2】撮像装置により撮像され、情報処理されて三次元位置情報を持った、患者の顔面の画像を示す図である。
【図3】CT装置により取得されたCT画像を示す図である。
【図4】図1に示す座標軸一致部の構成を示す図である。
【図5】図1に示す座標軸一致部の処理の概念を示す図である。
【図6】本発明の実施形態に係る手術支援情報表示装置での処理を示すフローチャートである。
【図7】CT装置による患者の三次元形状を示す情報と、撮像装置による画像から算出された患者の三次元形状を示す情報とのマッチング処理を示す図である。
【図8】図6に示す座標軸一致処理を示すフローチャートである。
【図9】撮像装置による画像から標識球の三次元座標を算出する処理を示した図である。
【図10】患者の面を構成する三角形と内視鏡の撮像方向である光軸を示す半直線との交点を示した図である。
【図11】内視鏡により撮像されている点が示されたCT画像を示す図である。
【図12】内視鏡により撮像されている点が示されたCT画像、及び内視鏡により撮像されている画像を示す図である。
【図13】本発明に係る手術支援情報表示プログラムの構成を示す図である。
【符号の説明】
【0090】
1…手術支援情報表示装置、11…内視鏡、12…標識球、20…撮像装置、30…CT装置、40…PC、41…患者形状取得部、42…撮像画像取得部、43…表面形状算出部、44…座標軸一致部、44a…情報受付部、44b…基準点設定部、44c…対応点算出部、44d…位置合わせ部、45…内視鏡光軸算出部、46…交点算出部、47…出力部、50…モニタ、60…患者、70…手術台、80…記録媒体、80a…プログラム格納領域、81…手術支援情報表示プログラム、810…メインモジュール、811…患者形状取得モジュール、812…撮像画像取得モジュール、813…表面形状算出モジュール、814…座標軸一致モジュール、814a…情報受付モジュール、814b…基準点設定モジュール、814c…対応点算出モジュール、814d…位置合わせモジュール、815…内視鏡光軸算出モジュール、816…交点算出モジュール、817…出力モジュール。
【技術分野】
【0001】
本発明は、所定の情報で示される形状同士を位置合わせする形状情報処理方法、形状情報処理装置及び形状情報処理プログラムに関する。
【背景技術】
【0002】
従来から、複数の形状を位置合わせするための手法が知られている。例えば、ある装置が、物体を複数の視点から部分的に計測して、物体各部の三次元形状を示す情報を複数取得し、それら三次元形状を位置合わせすることで、物体全体を表す三次元形状を生成する手法がある。このような手法は、近年の三次元計測装置の普及もあって、コンピュータグラフィクス、CAD(Computer-Aided Design、コンピュータ支援設計)、コンピュータビジョンなど、様々な研究開発分野・産業分野で利用されている。
【0003】
このような位置合わせを行う代表的な手法として、反復最近傍点アルゴリズム(Iterative Closest Point Algorithm、以下「ICPアルゴリズム」という)がある。このICPアルゴリズムでは、まず、二つの形状がある程度重なり合っているという初期状態が仮定される。続いて、一方の形状の複数の基準点のそれぞれについて、当該基準点と最短距離にある対応点が他方の形状から抽出される。続いて、複数の基準点と複数の対応点との仮の対応付けが行われ、その仮の対応付けに基づいて座標変換パラメータが推定される。このような、仮の対応付け、及び座標変換パラメータの推定を反復的に行うことにより、二つの形状が位置合わせされる。
【0004】
このように、ICPアルゴリズムは、基準点から最短距離にある対応点を算出して対応付けを行うので、汎用性が非常に高い。また、このICPアルゴリズムによれば、剛体運動を算出する側の形状が他方の形状の一部である場合に、位置合わせを精度良く行うことが可能である。このICPアルゴリズムを用いる手法は、例えば下記特許文献1〜4に開示されている。
【特許文献1】特開平06−044361号公報
【特許文献2】特開2000−251092号公報
【特許文献3】特開2002−175521号公報
【特許文献4】特開2003−162549号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ICPアルゴリズムでは、一つの対応点を抽出するために、対応点の候補となる点(以下「候補点」という)すべてについてユークリッド距離を計算する必要がある。しかも、このような計算は、抽出すべきすべての対応点について行われる必要があり、且つ座標変換パラメータの推定は反復的に実行される。従って、点対の数が多くなるほど、ICPアルゴリズムにおける計算量が膨大になり、形状の変換のための計算時間が長くなってしまう。
【0006】
計算時間を短縮する手法として、基準点の個数を少なくするものや、位置合わせを行う形状を予め人為的に近い位置に配置した上で自動処理を行うものが考えられている。しかし、基準点の個数を少なくすると位置合わせの精度が低下してしまう。また、人為的に自動処理を補助することは、煩雑であり効率的でない。
【0007】
本発明は、上記課題を解決するためになされたものであり、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することが可能な形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る形状情報処理方法は、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付ステップと、受付ステップにおいて受け付けられた第1の情報で示される第1の形状、及び受付ステップにおいて受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定ステップと、設定ステップにおいて設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出ステップと、設定ステップにおいて設定された複数の基準点と、算出ステップにおいて算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせステップと、を含む。
【0009】
また、本発明に係る形状情報処理装置は、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付手段と、受付手段により受け付けられた第1の情報で示される第1の形状、及び受付手段により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定手段と、設定手段により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出手段と、設定手段により設定された複数の基準点と、算出手段により算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせ手段と、を備える。
【0010】
また、本発明に係る形状情報処理プログラムは、第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付機能と、受付機能により受け付けられた第1の情報で示される第1の形状、及び受付機能により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定機能と、設定機能により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出機能と、設定機能により設定された複数の基準点と、算出機能により算出された複数の対応点との位置関係に基づいて、第1の情報又は第2の情報を変換することで、第1の形状と第2の形状とを位置合わせする位置合わせ機能と、をコンピュータに実行させる。
【0011】
このような形状情報処理方法、形状情報処理装置及び形状情報処理プログラムによれば、まず、第1の情報で示される第1の形状、及び第2の情報で示される第2の形状のうち一方の形状上に複数の基準点が設けられる。続いて、設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点が、他方の形状の限定された範囲から算出される。そして、複数の基準点と複数の対応点との位置関係に基づいて、第1の情報又は第2の情報が変換されることにより、第1の形状と第2の形状とが位置合わせされる。これにより、第1の形状と第2の形状とを位置合わせする際に、対応点を算出する範囲が限定されるので、対応点を他方の形状全体から算出する場合と比較して、対応点の算出に要する時間が短縮される。なお、この際に、基準点の個数を抑えたり人為的操作を加えたりする必要はない。そのため、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【0012】
本発明の形状情報処理方法では、算出ステップは、第1の基準点に対応する算出済の対応点の位置と、当該第1の基準点とは異なる第2の基準点の位置とに基づいて、当該算出済の対応点を中心とする範囲を算出し、当該範囲を、第2の基準点から最短距離にある対応点を算出するための限定された範囲とすることが好ましい。このような構成によれば、既知の情報(既知の基準点の位置、及び既知の対応点の位置)に基づいて、未知の対応点(第2の基準点から最短距離にある対応点)を算出するための限定された範囲が設定されるので、より早く未知の対応点を算出することができる。
【0013】
本発明の形状情報処理方法では、限定された範囲は、算出済の対応点を中心とし、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第2の基準点と算出済の対応点との距離とを加算した値を半径とする範囲であることが好ましい。このような構成によれば、算出済の対応点の位置と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第2の基準点と算出済の対応点との距離とに基づいて、未知の対応点を算出するための限定された範囲が設定される。そのため、より早く未知の対応点を算出することができる。
【0014】
本発明の形状情報処理方法では、限定された範囲は、算出済の対応点を中心とし、第1の基準点と算出済の対応点との距離と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第1の基準点と第2の基準点との距離とを加算した値を半径とする範囲であることが好ましい。このような構成によれば、算出済の対応点の位置と、第1の基準点と算出済の対応点との距離と、第2の基準点の位置と他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、第1の基準点と第2の基準点との距離とに基づいて、未知の対応点を算出するための限定された範囲が設定される。そのため、より早く未知の対応点を算出することができる。
【発明の効果】
【0015】
本発明では、基準点から最短距離にある対応点が、他方の形状の限定された範囲から算出される。この際、基準点の個数を抑えたり人為的操作を加えたりする必要はない。従って、本発明によれば、所定の情報で示される形状同士を位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【発明を実施するための最良の形態】
【0016】
以下、図面とともに本発明に係る形状情報処理方法、形状情報処理装置及び形状情報処理プログラムの好適な実施形態について詳細に説明する。本実施形態では、これら形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを、手術支援情報表示装置、手術支援情報表示方法及び手術支援情報表示プログラムに適用する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【0017】
図1は、本発明に係る手術支援情報表示装置1の実施形態を概略的に示す構成図である。手術支援情報表示装置1は、患者60に対する手術の際に、内視鏡により撮像された画像に関する情報を術者等に提供する装置である。本実施形態に係る手術支援情報表示装置1が用いられる手術は、例えば、耳鼻咽頭科における副鼻腔の内視鏡手術等のように、内視鏡による撮像が行われるものを対象とする。
【0018】
図1に示すように、手術支援情報表示装置1は、内視鏡11と、標識球12と、撮像装置20と、CT装置30と、PC(Personal Computer)40と、モニタ50とを含んで構成されている。
【0019】
内視鏡11は、術者により操作され、患者60の内部に挿入されて当該内部を撮像する装置である。内視鏡11は、患者の生体内の挿入できるように細長い形状をしており、その先端部には患者60の内部を撮像するための機構が設けられている。その機構としては、例えば、被撮像部に向くように位置決めして設けられたレンズ及び、レンズの決像位置に設けられたCCDイメージセンサ(Charge Coupled Device Image Sensor)等の撮像素子である。上記の機構の位置決めのされ方によって、内視鏡11の撮像方向Aが決まる。通常は、レンズの光軸方向が、内視鏡11の撮像方向Aとなる。内視鏡11により撮像された画像の情報は、ケーブルにより内視鏡11と接続されたPC40に出力される。なお、上記の内視鏡11としては、特殊な構成を有している必要はなく、従来から用いられている内視鏡を用いることができる。
【0020】
標識球12は、内視鏡11の撮像方向に対して予め定められた相対的な位置関係の位置に固定されて設けられるマーカである。標識球12は、撮像装置20により撮像されて、撮像された画像から三次元座標を求められる。具体的には、標識球12は、複数内視鏡11に対して棒状の部材13を介して固定される、それぞれ大きさが異なる球状の部材である。大きさが異なることとしているのは、撮像装置20により撮像された画像から、それぞれを区別して検出するためである。
【0021】
標識球12が内視鏡11に設けられる位置は、患者60に挿入される部分から更に後方の、患者60に挿入されない位置である。また、標識球12と内視鏡11の撮像方向Aとの位置関係が一定となるように、内視鏡11における、患者60の内部に挿入される部分から標識球12が設けられる部分までは、硬質の材質で形成されており屈曲できないようになっている。但し、内視鏡11の撮像方向と標識球12との位置関係が把握できればよいので、例えば、内視鏡11の先端部のみが決められた方向のみに動くような構成となっていてもよい。
【0022】
なお、内視鏡11に設けられるマーカは、内視鏡11の撮像方向に対して定められた相対的な位置関係の位置にあり、撮像装置20により撮像された画像から三次元座標を求められるものであればよいので、必ずしも、本実施形態の標識球12のような球状のものでなくてもよい。また、内視鏡11自体の形状が、容易に三次元座標を求められるものであれば、内視鏡11自体の形状がマーカとなるので、必ずしも標識球12を設ける必要はない。
【0023】
撮像装置20は、患者60に内視鏡11が差し込まれるときに、患者60の表面及び標識球12を撮像する。図1に示すように、患者60の鼻の穴から内視鏡11を挿入して、内視鏡11により患者60の頭部を撮像する場合には、患者60の顔面と標識球12とが撮像できるような位置に撮像装置20が設けられる。撮像装置20としては具体的には、例えば、CCDカメラが用いられる。撮像装置20は、PC40と接続されており、撮像した画像の情報をPC40に送信する。
【0024】
撮像装置20により撮像された画像は、撮像されたものの三次元座標(三次元位置情報)を算出するために用いられる。そのために必要な構成も併せて撮像装置20に備えておく必要がある。画像から撮像されたものの三次元座標を算出する方法としては光学的な方法を用いるものがあり、例えば、特開2003−254732号公報に記載された方法を用いることができる。この方法を用いる場合は、そのために必要な、撮像装置20により撮像される範囲にキセノンライトから発せられる自然太陽光に似た白色光に似た格子模様を投影する装置を更に設けておく。
【0025】
なお、特開2003−254732号公報に記載された方法によれば、1秒の計測時間で、90±10cmの距離から撮像が可能となる。また、分解能は0.1〜0.6mmである。即ち、1秒で三次元位置情報を持った解像度の高いカラー画像が取得できる。また、曇りの日中(屋外)の約28%の照度の白色光であり、レーザ等を使うことなく安全に三次元位置情報を取得できる。本方法により、患者60の顔面を撮像して、情報処理されて三次元位置情報を持った解像度の高いカラー画像とした例を図2に示す。
【0026】
CT装置30は、内視鏡11が挿入される患者60の内部を構成する面と患者60の表面の第1の三次元形状とを示す第1の情報を取得する。内視鏡11が挿入される患者60を構成する面は、例えば、患者60の副鼻腔に内視鏡11が挿入される場合、副鼻腔を構成する面である。また、患者60の表面は、上記の場合、患者60の顔面である。ここで、CT装置30により取得される三次元形状を示す第1の情報は、例えば予めCT装置30に設定されている所定の座標軸に対する座標毎に三次元形状を示す情報を保持することによって構成されている。この座標軸は、第1の座標軸である。即ち、第1の情報は、第1の座標軸上における情報である。なお、三次元形状を示す第1の情報は、例えば三次元配列で構成される。この場合、三次元配列の各要素は、第1の情報で示される三次元形状を構成する各点の座標に対応する。
【0027】
CT装置30は、放射線等を利用して物体を走査し、コンピュータを用いて処理された内部構造を等間隔(例えば、1mm)毎に輪切りにしたような画像(CT画像)を、患者60の三次元形状を示す情報として構成するものであり、既存のCT装置を用いることができる。CT画像の例を図3に示す。CT装置30はPC40と接続されており、取得した患者60の三次元形状を示す情報を、PC40に送信する。なお、CT装置30は、撮像装置20と同じ場所に設置されている必要はなく、通常、撮像装置20による撮像と、CT装置30による三次元形状を示す情報の取得とは別々に行われる。なお、CT画像から三次元形状を示す情報の構成には、例えば特開2005−278992号公報に記載の方法を用いることができる。
【0028】
なお、手術支援情報表示装置1では、患者60の内部を含む三次元形状を示す情報が取得できればよい。従って、CT装置30に代えてMRI装置などが用いられてもよい。
【0029】
PC40は、撮像装置20により撮像された画像の情報及びCT装置30により取得された患者60の三次元形状を示す第1の情報を受信して、これらの情報に対して情報処理を行う装置である。PC40は、具体的には、CPU(Central Processing Unit)、メモリ等のハードウェアにより構成され、これらの情報処理装置が動作することにより、下記のPC40の機能が実現される。図1に示すように、PC40は、機能的な構成要素として、患者形状取得部41と、撮像画像取得部42と、表面形状算出部43と、座標軸一致部44と、内視鏡光軸算出部45と、交点算出部46と、出力部47とを備えている。
【0030】
患者形状取得部41は、CT装置30から送信される、患者60の三次元形状を示す第1の情報を受信する手段である。患者形状取得部41は、受信した第1の情報を、必要に応じて座標軸一致部44及び交点算出部46等に出力する。なお、手術支援情報表示装置1では、必ずしもCT装置30自体を備えている必要はなく、患者形状取得部41により(手術支援情報表示装置1に含まれないCT装置で撮像等された)患者60の三次元形状を示す第1の情報が受信さえされればよい。
【0031】
撮像画像取得部42は、撮像装置20により撮像され送信された画像の情報を受信する手段である。即ち、撮像画像取得部42は、患者60に内視鏡11が差し込まれるときに撮像装置20により撮像された患者の表面の画像を取得する手段である。撮像画像取得部42は、受信した画像を表面形状算出部43及び内視鏡光軸算出部45等に出力する。
【0032】
表面形状算出部43は、撮像装置20により撮像された患者60の表面の画像から、患者60の表面の第2の三次元形状を示す第2の情報を算出する手段である。患者60の表面は、本実施形態の場合、患者60の顔面である。画像から三次元形状を算出する方法は、例えば、上述した特開2003−254732号公報に記載された方法を用いることができる。第2の情報は、例えば予め表面形状算出部43に設定されている所定の座標軸に対する座標毎に三次元形状を示す情報を構成することにより算出される。この座標軸は、上述した第1の座標軸とは異なるものであり第2の座標軸である。即ち、第2の情報は、第2の座標軸上における情報である。なお、三次元形状を示す第2の情報は、例えば、第1の情報と同様に三次元配列で構成される。表面形状算出部43は、算出した第2の情報を、座標軸一致部44に出力する。
【0033】
座標軸一致部44は、患者形状取得部41により取得された第1の情報と、表面形状算出部43により算出された第2の情報とをマッチング(位置合わせ)することで、第1の座標軸と第2の座標軸とを一致させる手段である。即ち、座標軸一致部44は、CT装置30により取得された第1の情報と、撮像装置20により撮像された画像から算出された第2の情報とを同じ座標軸上で処理できるようにするための手段である。このために、座標軸一致部44は、図4に示すように、情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dを備えている。
【0034】
なお、下記に示す、情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dの機能に必要な式やルール等は、これら情報受付部44a、基準点設定部44b、対応点算出部44c、及び位置合わせ部44dのそれぞれに記憶されており、機能を実行する際に必要に応じて読み出される。
【0035】
情報受付部44aは、患者形状取得部41により取得された第1の情報、及び表面形状算出部43により算出された第2の情報の入力を受け付ける受付手段である。この情報受付部44aは、受け付けた第1の情報を基準点設定部44bに出力するとともに、受け付けた第2の情報を対応点算出部44cに出力する。
【0036】
基準点設定部44bは、情報受付部44aから入力された第1の情報で示される第1の三次元形状上に複数の基準点を設ける設定手段である。具体的には、基準点設定部44bは、どの点が基準点に設定されたかを判別可能にするために、設定された基準点を示す基準点情報を第1の情報に付加する。例えば、第1の情報が三次元配列で構成されている場合、基準点設定部44bは、当該三次元配列を構成する複数の要素(点の座標)のうち基準点に設定された要素のそれぞれについて、当該要素と基準点情報(例えばフラグ)とを関連付ける。なお、設定される基準点の個数(密度)は限定されない。例えば、基準点設定部44bが、所定の距離毎に基準点を設けてもよいし、第1の三次元形状上を構成する点すべてを基準点に設定してもよい。基準点設定部44bは、基準点情報を付加した第1の情報を対応点算出部44cに出力する。
【0037】
対応点算出部44cは、基準点設定部44bにより設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を、情報受付部44aから入力された第2の情報で示される第2の三次元形状の限定された範囲から算出する算出手段である。なお、限定された範囲を算出するために必要な式、ルール、データ等は、対応点算出部44cに記憶されており、限定された範囲を算出する際に読み出される。
【0038】
対応点算出部44cは、対応点を算出すると、どの点が対応点として算出されたかを判別可能にするために、算出された対応点を示す対応点情報を第2の情報に付加する。例えば、第2の情報が三次元配列で構成されている場合、対応点算出部44cは、当該三次元配列を構成する複数の要素(点の座標)のうち、対応点として算出された要素のそれぞれについて、当該要素と対応点情報(例えばフラグ)とを関連付ける。そして、対応点算出部44cは、基準点設定部44bから入力された第1の情報と、対応点情報を付加した第2の情報とを位置合わせ部44dに出力する。
【0039】
対応点算出部44cの処理を、図5を参照して説明する。なお、図5では、説明の簡単のため、マッチングする図形を二次元の曲線p及びmとする。また、図5に示す例では、曲線mを固定し、曲線pを曲線mにマッチングさせるものとする。図5に示す二次元空間におけるマッチングは、本実施形態のような三次元空間におけるマッチングに簡単に拡張することができる。例えば、曲線pを第1の情報で示される第1の三次元形状と読み替えるとともに、曲線mを第2の情報で示される第2の三次元形状と読み替えることで、座標軸一致部44による第1の情報と第2の情報とのマッチングを説明できる。
【0040】
対応点算出部44cは、まず、曲線m周辺の最短距離場を算出する。ここで、最短距離場とは、ある図形から最短距離(最短パスの長さ)に存在する点で構成される近傍空間である。次に、対応点算出部44cは、曲線p上にある任意の基準点(第1の基準点)Paを選択し、その基準点Paから最短距離にある、曲線m上の対応点Maを探索(算出)する。この対応点Maの探索は、曲線m上のすべての点について基準点Paとの距離を算出し、算出された距離を比較することで行われる。なお、対応点算出部44cは、基準点Paとの距離を算出する曲線m上の点の位置を、所定の関係式や、曲線mを構成する点の配列などにより予め算出できる。例えば、対応点算出部44cは、第1の情報又は第2の情報により、第1の三次元形状又は第2の三次元形状上に存在する点の位置を取得できる。
【0041】
なお、基準点と対応点との位置関係は、それら二つの三次元形状が共通の座標軸上に存在することを前提に定義される。例えば、基準点Paと曲線m上の点との距離の算出は、曲線pと曲線mとが共通の座標軸上に存在することを前提とする。すなわち、最短距離とは、これら二つの曲線が共通の座標軸上に存在するとした場合の、基準点と対応点との距離である。
【0042】
次に、対応点算出部44cは、曲線p上にある別の基準点(第2の基準点)Pbを選択し、その基準点Pbから最短距離にある、曲線m上の対応点Mbを探索(算出)する。この際、対応点算出部44cは、曲線m上の限定された範囲に存在する複数の点と基準点Paとの距離を算出する。
【0043】
このために、対応点算出部44cは、基準点Pa及びPbの座標値と、対応点Maの座標値と、基準点Paと対応点Maとの距離lと、基準点Pbと対応点Maとの距離dと、基準点Pbの座標値、及び曲線m周辺の最短距離場によって定まる距離l’とを取得する。これらの値は、既知のもの、又は既知の値から算出可能なものである。そして、対応点算出部44cは、取得したこれらの値に基づいて、対応点Mbを探索する範囲を決定する。
【0044】
この場合において、基準点Pbと、既知の対応点Maと、未知の対応点Mbとの位置関係から、下記の三角不等式が成り立つ。なお、dmは、既知の対応点Maと未知の対応点Mbとの距離である。
dm≦l’+d
【0045】
したがって、未知の対応点Mbを探索すべき曲線mの範囲は、既知の対応点Maを中心とし、且つ半径が下記式で表される円C内に限定される。
r=l’+d …(1)
この半径rは、下記式を用いて算出してもよい。ただし、dpは、既知の基準点Pa及びPbの間の距離である。
r=l+l’+dp …(2)
【0046】
なお、第1及び第2の情報で示される図形は三次元形状であるから、本実施形態において、対応点算出部44cは、上記理論に準じて算出された所定の半径を有する球内で対応点を探索する。
【0047】
すなわち、対応点算出部44cは、曲線mのうち、対応点Maから上記式(1)又は(2)で定義される半径rの範囲にある点についてのみ、当該点と基準点Pbとの距離を算出する。そして、対応点算出部44cは、基準点Pbとの距離が最短である点を対応点Mbと決定する。なお、対応点算出部44cは、曲線m上の点の位置を予め算出し取得することができる。したがって、対応点算出部44cは、予め取得した曲線m上の点の位置と、対応点Maの位置と、上記式(1)又は(2)で定義される半径rとに基づいて、基準点Pbとの距離を算出すべき曲線m上の点を取得できる。
【0048】
その後、対応点算出部44cは、曲線p上にある一以上の別の基準点に対する対応点を探索(算出)する。この対応点の算出方法は、対応点Mbの算出方法と同様である。すなわち、二番目以降の対応点を算出する場合、対応点算出部44cは、当該対応点を曲線m上の限定された範囲から算出する。
【0049】
位置合わせ部44dは、基準点設定部44bにより設定された複数の基準点と、対応点算出部44cにおいて算出された複数の対応点との位置関係に基づいて第1の情報を変換することで、第1の情報で示される第1の三次元形状と第2の情報で示される第2の三次元形状とを位置合わせする位置合わせ手段である。
【0050】
具体的には、位置合わせ部44dは、基準点と、その基準点に対応する対応点との距離の平均値を算出する。なお、基準点は、第1の情報を構成するデータに付加された基準点情報に基づいて抽出可能であり、対応点は、第2の情報を構成するデータに付加された対応点情報とに基づいて抽出可能である。
【0051】
続いて、位置合わせ部44dは、複数算出された基準点と対応点との位置関係に基づいて回転行列R及び平行移動行列Tを算出し、これら二つの行列を用いて剛体変換を行う。この剛体変換は、図5の例の場合、剛体変換前の曲線pの位置をpi-1、剛体変換後の曲線pの位置をpiとして、下記式で表される。この剛体変換により、曲線pが回転移動又は平行移動し、曲線pと曲線mとが位置合わせされる。
pi=R*pi-1+T …(3)
【0052】
位置合わせ部44dは、上記式(3)に基づいて、第1の情報を変換する。これにより、第1の三次元形状が回転移動又は平行移動し、第1の三次元形状と第2の三次元形状とが位置合わせされる。続いて、位置合わせ部44dは、今回算出した平均値と前回算出した平均値との差が所定の閾値未満か否かを判定する。なお、この差が所定の閾値未満になるということは、第1の情報と第2の情報とがマッチング(位置合わせ)され、第1の座標軸と第2の座標軸とが一致したということである。これは、第1の座標軸及び第2の座標軸の何れか一方の座標軸をもう一方の座標軸に変換する関数が算出されたことを意味する。この場合、位置合わせ部44dは、座標軸を一致させた結果として算出された座標軸を変換する関数等を、必要に応じて内視鏡光軸算出部45、交点算出部46及び出力部47等に出力する。
【0053】
これに対し、今回算出した平均値と前回算出した平均値との差が所定の閾値以上である場合、位置合わせ部44dは、上記式(3)を用いて変換された第1の情報を対応点算出部44cに出力する。これにより、対応点算出部44cにおいて、当該変換された第1の情報と取得済みの第2の情報とに基づく対応点の算出が行われる。すなわち、対応点の算出から剛体変換までの処理が繰り返し実行される。
【0054】
このような座標軸一致部44の処理により、上記の座標軸を一致させる処理以降は、内視鏡光軸算出部45、交点算出部46及び出力部47等において上記の関数等が、三次元形状を示す情報に適用されることによって、CT装置30による三次元形状を示す情報と、撮像装置20により撮像された画像から算出された三次元形状を示す情報とが同じ座標軸上で処理される。
【0055】
内視鏡光軸算出部45は、撮像装置20により撮像された標識球12の画像から、座標軸一致部44により一致された座標軸上における、標識球12の三次元座標を算出して、標識球12と内視鏡11の撮像方向Aとの位置関係から内視鏡11の撮像方向Aである光軸を示す半直線を算出する手段である。なお、ここで言う撮像方向Aである光軸を示す半直線には、半直線の起点となる位置も含まれる。即ち、内視鏡11の撮像方向Aである光軸を示す半直線は、どの点からどの方向に撮像が行われるかを示したものである。内視鏡光軸算出部45は、予め、標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報を保持している。当該位置関係を示す情報としては、具体的には例えば、内視鏡11の光軸(撮像方向Aである光軸を示す半直線)を通るように内視鏡11の基部の所定の位置と先端の位置とを特定して、その2点と標識球12との位置関係を示す情報が用いられる。
【0056】
内視鏡11の撮像方向Aである光軸を示す半直線の算出は、具体的には、以下のように行われる。まず、内視鏡光軸算出部45は、表面形状算出部43における三次元形状を算出する方法と同様の方法で、撮像装置20により撮像された標識球12から三次元形状及び三次元座標を算出する。標識球12が複数設けられている場合、内視鏡光軸算出部45は、例えば標識球12の大きさ等からそれぞれの標識球12を識別する。
【0057】
続いて、内視鏡光軸算出部45は、算出された上記の座標軸上における標識球12の三次元座標と、標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報とから、上記の座標軸上における撮像方向Aである光軸を示す半直線を算出する。内視鏡光軸算出部45は、算出した撮像方向である光軸を示す半直線の情報を、交点算出部46に出力する。
【0058】
交点算出部46は、内視鏡光軸算出部45により算出された内視鏡11の撮像方向Aである光軸を示す半直線と患者形状取得部41により取得された第1の情報に係る患者60の内部を構成する面との交点を算出する手段である。この交点は、CT装置30による三次元形状を示す第1の情報において、内視鏡11が撮像を行っている点(中心点)を示すものである。具体的には、交点算出部46は、患者60の内部を構成する面をポリゴンデータにして、当該ポリゴンデータを構成する各面と内視鏡11の撮像方向Aである光軸を示す半直線との交点を算出する。交点の算出については、より詳細には後述する。交点算出部46は、算出した交点の情報を出力部47に出力する。
【0059】
出力部47は、交点算出部46により算出された交点を示す情報を、患者形状取得部41により取得された患者60の内部を構成する面を示す情報であるCT画像に重畳して、モニタ50に出力する手段である。また、出力部47は、内視鏡11により撮像されてPC40に入力された内視鏡画像を併せて、モニタ50に出力することとしてもよい
【0060】
モニタ50は、PC40から入力された情報を表示する。術者はモニタ50を参照することにより、内視鏡11が患者60内部のどの部分を撮像しているのかを知ることができる。以上が、手術支援情報表示装置1の構成の構成である。
【0061】
引き続いて、手術支援情報表示装置1の動作(手術支援情報表示方法)について、図6のフローチャートを参照して説明する。この動作は、例えば、患者60に対する手術の際に内視鏡11を挿入して治療等を行うときの動作である。この説明においては、手術前の処理と手術時の処理とに分けて説明する。
【0062】
まず手術前に、CT装置30を用いた、患者60に対するCTスキャン撮影が行われる(ステップS01)。このCTスキャン撮影は、内視鏡11が挿入される患者60の部位に対して行われる。これにより、患者60の表面である顔面と、内視鏡11が挿入される患者60の内部を構成する面との第1の三次元形状を示す第1の情報が取得される。CT装置30によりCTスキャン撮影が行われ取得された第1の情報は、PC40に送信される。PC40では、患者形状取得部41により当該情報が取得されて、PC40内に格納される(ステップS02)。上記が手術前の処理であり、例えば、手術の前日等に行われる。
【0063】
引き続いて、手術時の処理を説明する。まず、患者60を手術室に入室させて、図1に示すように、内視鏡11を鼻の穴から挿入できるように手術台70の上の仰向けに配置する。患者60を配置した後、内視鏡11を挿入する前に、撮像装置20によって、配置された患者60が撮像される(ステップS03)。撮像された画像は、撮像装置20からPC40に送信されて、PC40において撮像画像取得部42によって受信される。受信された画像は、撮像画像取得部42から表面形状算出部43に出力される。
【0064】
表面形状算出部43では、当該画像から患者60の表面である顔面の第2の三次元形状を示す第2の情報が算出される(ステップS04)。算出された第2の情報は、表面形状算出部43から座標軸一致部44に出力される。これと同じタイミングで、PC40内に格納されていた、CT装置30による患者60の三次元形状を示す情報が、患者形状取得部41から座標軸一致部44に出力される。
【0065】
CT装置30による第1の情報と、撮像装置20による画像から算出された第2の情報とに係るそれぞれの座標軸は、一致していない。これらの情報を共に表示すると、図7(a)に示すように、CT装置30による情報81と、撮像装置20の画像による情報82とが位置合わせされていない状態となる。
【0066】
ここで、座標軸一致部44によって、図7(b)に示すように、これら2つの情報81,82における顔面の形状がマッチングされて、2つの情報に係る座標軸が一致される(ステップS05)。なお、マッチングする部位は、顔面全体や顔面の鼻や頬等の特徴ある部位等、予め設定しておく。
【0067】
座標軸を一致させる処理を、図8のフローチャートを参照して詳細に説明する。まず、患者形状取得部41により取得された第1の情報、及び表面形状算出部43により算出された第2の情報の入力が、情報受付部44aにより受け付けられる(ステップS51、受付ステップ)。続いて、基準点設定部44bにより、第1の情報で示される第1の三次元形状上に基準点が複数設定される(ステップS52、設定ステップ)。続いて、対応点算出部44cにより、設定された複数の基準点それぞれについて、当該基準点に対応する対応点が、第2の情報で示される第2の三次元形状から抽出される(ステップS53、算出ステップ)。この抽出は、予め定められた個数分の対応点をすべて抽出するまで繰り返し実行される(ステップS54;NO、算出ステップ)。このとき、二番目以降の対応点の抽出において、対応点は、第2の三次元形状の限定された範囲から抽出される。
【0068】
そして、すべての対応点が抽出されると(ステップS54;YES、算出ステップ)、位置合わせ部44dによって、以下の一連の処理が行われる。具体的には、まず、基準点と対応点との距離の平均値が算出される(ステップS55)。続いて、複数算出された基準点と対応点との位置関係に基づいて、回転行列及び平行移動行列が算出される(ステップS56、位置合わせステップ)。続いて、その回転行列及び平行移動行列に基づいて、第1の情報が剛体変換される(ステップS57、位置合わせステップ)。この変換により、第1の三次元形状と第2の三次元形状とが位置合わせされる。続いて、今回算出された平均値と前回算出された平均との差が閾値未満か否かが判定される(ステップS57)。
【0069】
ここで、平均値の差が閾値以上であれば(ステップS58;NO)、上記ステップS52の以降の処理が繰り返し実行される。一方、その差が閾値未満の場合(ステップS58;YES)、処理が終了する。これにより、第1の座標軸と第2の座標軸とが一致される。
【0070】
一致した座標軸に係る情報は、座標軸一致部44(位置合わせ部44d)から、内視鏡光軸算出部45、交点算出部46及び出力部47にそれぞれ出力されて座標軸の変換等が行われて、これ以降、一致した座標軸を基準として三次元形状に対する情報処理が行われる。上記が手術開始までの処理である。
【0071】
続いて、手術が開始され、術者によって、内視鏡11が患者60に挿入される。この際、患者60の頭部は、S03〜S05の処理を行ったときから動かさないようにする。座標軸がずれることを防止するためである。内視鏡11が患者60に挿入される際に、撮像装置20によって、患者60及び標識球12が撮像される(ステップS06)。図9(a)に示すように、撮像された画像には、標識球12(の画像)が含まれている。撮像された画像は、撮像装置20からPC40に送信されて、PC40において撮像画像取得部42によって受信される。受信された画像は、撮像画像取得部42から内視鏡光軸算出部45に出力される。
【0072】
続いて、内視鏡光軸算出部45によって、図9(b)に示すように、画像から標識球12の三次元座標が算出される(ステップS07)。続いて、内視鏡光軸算出部45によって、算出された標識球12の三次元座標から、予め保持していた標識球12と内視鏡11の撮像方向Aとの位置関係を示す情報に基づいて、一致された座標軸上での内視鏡11の撮像方向Aである光軸を示す半直線が算出される(ステップS08)。
【0073】
算出された半直線の情報は、内視鏡光軸算出部45から交点算出部46に出力される。これと同じタイミングで、PC40内に格納されていた、CT装置30による第1の情報が、患者形状取得部41から交点算出部46に出力される。続いて、交点算出部46によって、内視鏡11の撮像方向Aである光軸を示す半直線と、患者60の内部を構成する面との交点が算出される(ステップS09)。
【0074】
交点の算出は、以下のように行われる。まず、交点算出部46によって、CT装置30による第1の情報が、ポリゴンデータに変換される。この変換により、患者60(の内部)を構成する面が、例えば多数の三角形で構成させることとなる。次に、それらの各三角形と、内視鏡11の撮像方向Aである光軸を示す半直線との交点が算出される。
【0075】
この交点の算出について、図10を用いて説明する。ポリゴンを構成する三角形の基準となる点をPT、三角形の2辺のベクトルをそれぞれvecA及びvecBとし、2つの媒介変数をα及びβとすると、三角形は以下の式で表すことができる。
P1=PT+αvecA+βvecB
また、内視鏡11の撮像方向Aの基準となる点(例えば、内視鏡11の先端の点)をPL、半直線の方向を示すベクトルをvecCとし、媒介変数をγとすると、内視鏡11の撮像方向Aは以下の式で表すことができる。
P2=PL+γvecC
【0076】
ここで、両者が交わるときはP1=P2となる。P1=P2となる点が、三角形の内部に存在する条件は、媒介変数が以下の条件を満たす場合である。
条件1:0<α,0<β
条件2:0<α+β<1
条件3:γ>0
これらの条件を満たす点を全てのポリゴンデータを構成する三角形について導出し、それら全ての点と内視鏡11の先端の点との距離を計算する。この距離が最も小さくなる交点を、内視鏡11の撮像方向Aである光軸を示す半直線と患者60の内部を構成する面との交点とする。
【0077】
算出された交点の座標の情報は、交点算出部46から出力部47に出力される。このタイミングで、患者60の内部を構成する面を示す情報であるCT画像が、患者形状取得部41から出力部47に出力される。交点の情報は、出力部47によって、患者60の内部を構成する面を示す情報であるCT画像に当該交点の座標に応じた箇所に重畳されて、モニタ50に入力される。入力された画像は、モニタ50によって表示される(ステップS10)。交点の表示は、具体的には例えば、図11に示すように、内視鏡11により撮像されている箇所がどの点に位置しているかが分かるように、十字の表示90として行われる。術者は表示された画像を参照することにより、内視鏡11が患者60内部のどの部分を撮像しているのかを知ることができる。
【0078】
また、内視鏡11により撮像された画像も、PC40によって受信されて出力部47からモニタ50に出力されるようにして、上記の内視鏡11により撮像されている箇所がどの点に位置しているかの表示と併せて表示されるようにすることが望ましい。例えば、図12に示す画面例91のように、内視鏡11により撮像された画像92と、内視鏡11により撮像されている箇所がどの点に位置しているかが示されたCT画像93a〜93cとを1つの画面に示すこととするのがよい。また、その際の内視鏡11の画像には、交点に対応する箇所を示す情報(例えば、十字形(+)のマーク)94を重畳させることが望ましい。内視鏡11の画像における交点に対応する箇所を示す情報の位置は、例えば、画像の中心等、内視鏡11の撮像方向に応じて予め出力部47に記憶させておく。また、術者が対応する箇所を理解しやすいように、CT画像93a〜93cは、断面がそれぞれ異なるもの(断面がそれぞれ直交するものがよい)を複数、表示することとするのがよい。図12では、CT画像93aは横断面のもの、CT画像93bは冠状断面のもの、CT画像93cは、矢状断面のものである。更に、CT画像93a〜93cには、交点の情報(画像とは色違いの四角95で示す)に加えて、内視鏡11が挿入されている方向(内視鏡11の撮像方向である光軸)96を示すことが望ましい。
【0079】
上記のS06〜S10までの処理は、例えば、1秒間間隔等の等間隔で繰り返し行われる。なお、PC40におけるS03〜S05の処理と、S06〜S10の処理とは異なっているが、例えば、S05の座標軸の一致の処理が行われたら、自動的にS06以降の処理に移るようにしてもよい。また、術者等の操作により処理の切替が行われてもよい。
【0080】
また、S03〜S05の処理による初回の位置合わせ後に患者60の頭部を動かした場合でも、再度S03〜S05の処理を行い改めて位置合わせを行なうこととすればよい。再度の位置合わせは、例えば、術者等の操作により行われてもよいし、位置合わせしたときの画像とその後の画像とを比較して、頭部が動いたことを検出して、それをトリガとして行われてもよい。
【0081】
上述したように、本実施形態に係る手術支援情報表示装置1(手術支援情報表示方法)では、第1の三次元形状と第2の三次元形状とを位置合わせする際に、対応点を算出する範囲が限定されるので、対応点を第2の三次元形状全体から算出する場合と比較して、対応点の算出に要する時間が短縮される。なお、この際、基準点は任意に設定可能である。また、対応点の算出にあたり、人為的操作は介在しない。その結果、第1の三次元形状と第2の三次元形状とを位置合わせする際の精度及び効率を維持しつつ、その位置合わせに要する計算時間を短縮することができる。
【0082】
このような効果は、形状を構成する要素(点)の数が多ければ多いほど顕著である。例えば、それぞれ数十万個の点で構成されている第1の三次元形状及び第2の三次元形状について、第1の三次元形状上の全点を基準点に設定して位置合わせをした場合、従来法(第2の三次元形状の全範囲から対応点を算出する方法)と比較し、10-4から10-5程度の時間短縮が可能である。
【0083】
また、対応点算出部44cは、例えば図5に示すように、算出済の対応点Maを中心とし、当該対応点Maの位置と、基準点Pbの位置と、曲線mの最短距離場とに基づいて算出される値(l’+d)を半径rとする円Cを限定された範囲とする。加えて、座標軸一致部44は、例えば図5に示すように、算出済の対応点Maを中心とし、当該対応点Maの位置と、基準点Paの位置と、基準点Pbの位置と、曲線mの最短距離場とに基づいて算出される値(l+l’+dp)を半径rとする円Cを限定された範囲とすることもできる。これにより、未知の対応点Mbを算出するための限定された範囲(円C)が設定されるので、より早くその対応点Mbを算出することができる。このことは、他の対応点を算出する場合も同様である。
【0084】
引き続いて、上述した一連の手術支援情報の表示を行う処理をコンピュータに実行させるための手術支援情報表示プログラムを説明する。図13に示すように、手術支援情報表示プログラム82は、コンピュータが備える記録媒体80に形成されたプログラム格納領域80a内に格納されている。
【0085】
手術支援情報表示プログラム81は、手術支援情報の表示処理を統括的に制御するメインモジュール810と、患者形状取得モジュール811と、撮像画像取得モジュール812と、表面形状算出モジュール813と、座標軸一致モジュール814と、内視鏡光軸算出モジュール815と、交点算出モジュール816と、出力モジュール817とを備えて構成される。座標軸一致モジュール814は、情報受付モジュール814a、基準点設定モジュール814b、対応点算出モジュール814c及び位置合わせモジュール814dを有している。患者形状取得モジュール811、撮像画像取得モジュール812、表面形状算出モジュール813、座標軸一致モジュール814、基準点設定モジュール814b、対応点算出モジュール814c、位置合わせモジュール814d、内視鏡光軸算出モジュール815、交点算出モジュール816及び出力モジュール817を実行させることにより実現される機能は、上述したPC40の患者形状取得部41、撮像画像取得部42、表面形状算出部43、座標軸一致部44、情報受付部44a、基準点設定部44b、対応点算出部44c、位置合わせ部44d、内視鏡光軸算出部45、交点算出部46及び出力部47の機能とそれぞれ同様である。
【0086】
なお、手術支援情報表示プログラム81は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。
【0087】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【0088】
上記実施形態では、本発明に係る形状情報処理方法、形状情報処理装置及び形状情報処理プログラムを、手術支援情報表示装置、手術支援情報表示方法及び手術支援情報表示プログラムに適用したが、これら形状情報処理方法、形状情報処理装置及び形状情報処理プログラムは、様々な研究開発分野・産業分野に適用可能である。応用例としては、例えば、CAD、部品表面の品質検査、試作モデルの製作、ロボットの自律移動制御が挙げられるが、当然ながら、これらに限定されるものではない。
【図面の簡単な説明】
【0089】
【図1】本発明の実施形態に係る手術支援情報表示装置の構成を示す図である。
【図2】撮像装置により撮像され、情報処理されて三次元位置情報を持った、患者の顔面の画像を示す図である。
【図3】CT装置により取得されたCT画像を示す図である。
【図4】図1に示す座標軸一致部の構成を示す図である。
【図5】図1に示す座標軸一致部の処理の概念を示す図である。
【図6】本発明の実施形態に係る手術支援情報表示装置での処理を示すフローチャートである。
【図7】CT装置による患者の三次元形状を示す情報と、撮像装置による画像から算出された患者の三次元形状を示す情報とのマッチング処理を示す図である。
【図8】図6に示す座標軸一致処理を示すフローチャートである。
【図9】撮像装置による画像から標識球の三次元座標を算出する処理を示した図である。
【図10】患者の面を構成する三角形と内視鏡の撮像方向である光軸を示す半直線との交点を示した図である。
【図11】内視鏡により撮像されている点が示されたCT画像を示す図である。
【図12】内視鏡により撮像されている点が示されたCT画像、及び内視鏡により撮像されている画像を示す図である。
【図13】本発明に係る手術支援情報表示プログラムの構成を示す図である。
【符号の説明】
【0090】
1…手術支援情報表示装置、11…内視鏡、12…標識球、20…撮像装置、30…CT装置、40…PC、41…患者形状取得部、42…撮像画像取得部、43…表面形状算出部、44…座標軸一致部、44a…情報受付部、44b…基準点設定部、44c…対応点算出部、44d…位置合わせ部、45…内視鏡光軸算出部、46…交点算出部、47…出力部、50…モニタ、60…患者、70…手術台、80…記録媒体、80a…プログラム格納領域、81…手術支援情報表示プログラム、810…メインモジュール、811…患者形状取得モジュール、812…撮像画像取得モジュール、813…表面形状算出モジュール、814…座標軸一致モジュール、814a…情報受付モジュール、814b…基準点設定モジュール、814c…対応点算出モジュール、814d…位置合わせモジュール、815…内視鏡光軸算出モジュール、816…交点算出モジュール、817…出力モジュール。
【特許請求の範囲】
【請求項1】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付ステップと、
前記受付ステップにおいて受け付けられた第1の情報で示される第1の形状、及び前記受付ステップにおいて受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定ステップと、
前記設定ステップにおいて設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出ステップと、
前記設定ステップにおいて設定された複数の基準点と、前記算出ステップにおいて算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせステップと、
を含む形状情報処理方法。
【請求項2】
前記算出ステップは、第1の前記基準点に対応する算出済の前記対応点の位置と、当該第1の基準点とは異なる第2の前記基準点の位置とに基づいて、当該算出済の対応点を中心とする範囲を算出し、当該範囲を、前記第2の基準点から最短距離にある対応点を算出するための前記限定された範囲とする、
請求項1に記載の形状情報処理方法。
【請求項3】
前記限定された範囲は、前記算出済の対応点を中心とし、前記第2の基準点の位置と前記他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、前記第2の基準点と前記算出済の対応点との距離とを加算した値を半径とする範囲である、
請求項2に記載の形状情報処理方法。
【請求項4】
前記限定された範囲は、前記算出済の対応点を中心とし、前記第1の基準点と前記算出済の対応点との距離と、前記第2の基準点の位置と前記他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、前記第1の基準点と前記第2の基準点との距離とを加算した値を半径とする範囲である、
請求項2に記載の形状情報処理方法。
【請求項5】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付手段と、
前記受付手段により受け付けられた第1の情報で示される第1の形状、及び前記受付手段により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定手段と、
前記設定手段により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出手段と、
前記設定手段により設定された複数の基準点と、前記算出手段により算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせ手段と、
を備える形状情報処理装置。
【請求項6】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付機能と、
前記受付機能により受け付けられた第1の情報で示される第1の形状、及び前記受付機能により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定機能と、
前記設定機能により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出機能と、
前記設定機能により設定された複数の基準点と、前記算出機能により算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせ機能と、
をコンピュータに実行させる形状情報処理プログラム。
【請求項1】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付ステップと、
前記受付ステップにおいて受け付けられた第1の情報で示される第1の形状、及び前記受付ステップにおいて受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定ステップと、
前記設定ステップにおいて設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出ステップと、
前記設定ステップにおいて設定された複数の基準点と、前記算出ステップにおいて算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせステップと、
を含む形状情報処理方法。
【請求項2】
前記算出ステップは、第1の前記基準点に対応する算出済の前記対応点の位置と、当該第1の基準点とは異なる第2の前記基準点の位置とに基づいて、当該算出済の対応点を中心とする範囲を算出し、当該範囲を、前記第2の基準点から最短距離にある対応点を算出するための前記限定された範囲とする、
請求項1に記載の形状情報処理方法。
【請求項3】
前記限定された範囲は、前記算出済の対応点を中心とし、前記第2の基準点の位置と前記他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、前記第2の基準点と前記算出済の対応点との距離とを加算した値を半径とする範囲である、
請求項2に記載の形状情報処理方法。
【請求項4】
前記限定された範囲は、前記算出済の対応点を中心とし、前記第1の基準点と前記算出済の対応点との距離と、前記第2の基準点の位置と前記他方の三次元形状の所定の近傍空間を示す最短距離場とに基づいて定義される距離と、前記第1の基準点と前記第2の基準点との距離とを加算した値を半径とする範囲である、
請求項2に記載の形状情報処理方法。
【請求項5】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付手段と、
前記受付手段により受け付けられた第1の情報で示される第1の形状、及び前記受付手段により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定手段と、
前記設定手段により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出手段と、
前記設定手段により設定された複数の基準点と、前記算出手段により算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせ手段と、
を備える形状情報処理装置。
【請求項6】
第1の形状を示す第1の情報、及び第2の形状を示す第2の情報の入力を受け付ける受付機能と、
前記受付機能により受け付けられた第1の情報で示される第1の形状、及び前記受付機能により受け付けられた第2の情報で示される第2の形状のうち一方の形状上に複数の基準点を設ける設定機能と、
前記設定機能により設定された複数の基準点のそれぞれについて、当該基準点から最短距離にある対応点を他方の形状の限定された範囲から算出する算出機能と、
前記設定機能により設定された複数の基準点と、前記算出機能により算出された複数の対応点との位置関係に基づいて、前記第1の情報又は前記第2の情報を変換することで、前記第1の形状と前記第2の形状とを位置合わせする位置合わせ機能と、
をコンピュータに実行させる形状情報処理プログラム。
【図1】
【図4】
【図5】
【図6】
【図8】
【図10】
【図13】
【図2】
【図3】
【図7】
【図9】
【図11】
【図12】
【図4】
【図5】
【図6】
【図8】
【図10】
【図13】
【図2】
【図3】
【図7】
【図9】
【図11】
【図12】
【公開番号】特開2008−262555(P2008−262555A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2008−73890(P2008−73890)
【出願日】平成20年3月21日(2008.3.21)
【出願人】(304023318)国立大学法人静岡大学 (416)
【出願人】(504300181)国立大学法人浜松医科大学 (96)
【Fターム(参考)】
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願日】平成20年3月21日(2008.3.21)
【出願人】(304023318)国立大学法人静岡大学 (416)
【出願人】(504300181)国立大学法人浜松医科大学 (96)
【Fターム(参考)】
[ Back to top ]