以下、適宜図面を参照しながら、本開示に係る血管内視鏡システムおよび血管径測定方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明および実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(実施の形態1)
図1は、実施の形態1に係る血管内視鏡システム5の構成例を示す図である。血管内視鏡システム5は、人体等の被検体を対象とし、その被検体内の血管の血管径を測定する。血管内視鏡システム5は、血管内視鏡100と、オートプルバック装置80と、中継器20と、カメラコントロールユニット30と、PC50(Personal Computer)と、モニタ70と、を含む構成である。
(血管内視鏡システムの構成)
内視鏡の一例としての血管内視鏡100は、カテーテル200の先端に血管内視鏡カメラ10が取り付けられた、手術時あるいは検査時に使用される専用の医療器具である。血管内視鏡100は、いわゆる血管内視鏡カテーテルと称されることがある。血管内視鏡100の外径は、例えば最大外径として1.8mmΦであるが、このサイズに限定されなくてよい。血管内視鏡100は、被検体内の観察部位(例えば血管)内に予め挿通されたガイドワイヤ150に沿って、被検体内の血管内を進退自在に挿通される。ここで、血管内視鏡カメラ10が被検体内の観察部位に向かって挿入される方向を進行方向と定義し、反対に血管内視鏡カメラ10が被検体外に向かって引き抜かれる方向を退避方向と定義する。したがって、進退自在とは、血管内視鏡カメラ10が被検体内に向かって挿入されることも引き抜かれることも可能であることを意味する。血管内視鏡カメラ10は、手術あるいは検査の対象部位(例えば患部)までに予め挿通されたガイドワイヤ150に案内されて観察対象の部位までスムーズに挿入可能である。血管内視鏡100は、通常のカテーテルの先端部に血管内視鏡カメラ10が交換自在に装着されたものでよい。カテーテル200は、例えば、体液の排出あるいは薬液の注入に用いられる医療用の管である。カテーテル200には、血管内視鏡カメラ10の他、バルーンもしくはステント等が交換自在に装着されてよい。
血管内視鏡カメラ10は、例えば、血管を撮像可能な画像センサ(後述参照)が先端側に実装された48万画素の高解像度カメラである。なお、48万画素はあくまで一例であり、画素数は48万画素に限定されなくてよい。血管内視鏡100が被検体内の血管に挿入されると、血管内視鏡カメラ10は、血管の内壁(以下、「血管壁」という)を撮像可能である。血管内視鏡カメラ10は、画像センサとして、例えばCCD(Charge Coupled Device)あるいはCMOS(Complementary Metal-Oxide Semiconductor)等の固体撮像素子(つまりイメージセンサ)を内蔵し、被写体(例えば患部である血管内の血管壁)からの光を撮像面に結像し、結像した光学像を電気信号に変換して撮像画像のデータ信号を出力する。血管内視鏡カメラ10は、血管内に挿入されると、ユーザの操作に基づくオートプルバック装置80の駆動により定速で引き戻されるので等間隔で血管壁を撮像し、血管壁の撮像画像のデータ信号を出力する。以後、血管壁等の撮像画像を「血管画像」と称する。なお、血管画像のデータ信号は、静止画像および動画像のいずれの信号でもよい。また、血管内視鏡100は、被写体を照明するために、LED(Light Emission Diode)光源あるいは後段のカメラコントロールユニット30からの照射光を導くファイバを内蔵してもよい。
駆動機器の一例としてのオートプルバック装置80は、ガイドワイヤ150に案内されて観察対象の部位(例えば血管)に挿入された血管内視鏡100をプルバック速度(例えば定速)で基端側に引き戻す(言い換えると、牽引する)動作を行う。このとき、オートプルバック装置80がカテーテル200(言い換えると、血管内視鏡100)を引き戻す長さは、患部付近の位置に挿通された血管内視鏡カメラ10が基端側に向かって引き戻される長さと略一致すると考えることができる。血管内視鏡カメラ10は、オートプルバック装置80によって血管内視鏡100が引き戻される際、血管壁を等間隔で撮像する。オートプルバック装置80は、中継器20に対し、血管内視鏡100(より具体的には、血管内視鏡カメラ10。以下同様。)の位置情報および撮像位置の速度情報のデータを送る。
ここで、血管内視鏡100の撮像位置の速度情報は、血管内視鏡100の血管内視鏡カメラ10が基端側に引き戻される際に、血管内視鏡カメラ10の撮像位置(つまり、血管内視鏡カメラ10の位置)が基端側に定速で移動する時の速度であり、プルバック速度(上述参照)と略一致する。血管内視鏡100の撮像位置の速度情報は、医師等のユーザの操作によりオートプルバック装置80にて設定され、一例として、0.5mm/秒、1.0mm/秒あるいは2.0mm/秒である。また、撮像の開始位置は、例えば、医師等のユーザが血管内視鏡100により撮像された被検体の観察部位(例えば血管)の撮像画像をモニタ70で確認した上で決定される。血管内視鏡100の引き戻しは、例えば、医師等のユーザによるオートプルバック装置80のボタンbn2の押下によって開始される。
オートプルバック装置80の筐体80zの前面には、撮像位置の速度情報を選択可能なボタンbn1と、押下することでスタートとストップとを切り替えて指示するボタンbn2と、カテーテル200(言い換えると、血管内視鏡100)を自動的に基端側の初期位置に復帰させるボタンbn3とがそれぞれ配置されている。血管内視鏡100の撮像位置の速度情報(単に、「速度情報」とも称する場合がある)は、ボタンbn1の押下によって選択される一定速度、例えば0.5mm/秒、1.0mm/秒あるいは2.0mm/秒である。また、筐体80zの前面には、血管内視鏡カメラ10による撮像の開始位置(言い換えると、観察部位の開始位置)から血管内視鏡カメラ10の基端側への移動量を表す測定長,カテーテル200(言い換えると、血管内視鏡100)が移動する速度,加速度をそれぞれ表示するディスプレイd1,d2,d3が配置されている。また、筐体80zの前面には、血管内視鏡100の位置を模式的に表示するディスプレイd4が配置されている。
中継器20は、FPGA(Field Programmable Gate Array)21と、AFE(Analog Front End)22と、入力インターフェース23,24と、出力インターフェース25とを含む構成である。図1および図7のそれぞれでは、インターフェースを「I/F」と略記している。
入力インターフェース23は、血管内視鏡100との間でデータ信号の入力を可能に接続され、血管内視鏡カメラ10で撮像された血管画像のデータ信号(例えば、動画あるいは静止画)を入力してAFE22に出力する。
入力インターフェース24は、オートプルバック装置80との間でデータの入力を可能に接続され、オートプルバック装置80から出力される血管内視鏡100の位置情報および速度情報のデータを入力してFPGA21に出力する。
AFE22は、増幅器、AD(Analog Digital)コンバータおよびフィルタを少なくとも含む集積回路により構成される。AFE22は、入力インターフェース23を介して入力された血管画像のデータ信号に対し、増幅処理、アナログデジタル変換処理、フィルタリング処理等を行ってFPGA21に出力する。
FPGA21は、AFE22により処理された後の血管画像のデータと、血管内視鏡100の位置情報および速度情報のデータとを結合する。以下の説明において、血管画像データと位置情報および速度情報のデータとの結合データを、単に「結合データ」と称する場合がある。
出力インターフェース25は、FPGA21により生成された結合データ(つまり、血管画像データと血管内視鏡100の位置情報および速度情報のデータとが結合されたデータ)を画像コンソール90に出力する。なお、ここでは、中継器20に使用されるプロセッサの一例として、FPGA21が用いられるが、FPGA21以外にCPU(Central Processing Unit)、GPU(Graphical Processing Unit)、MPU(Micro Processing Unit)等が用いられてもよい。
中継器20は、血管内視鏡カメラ10とカメラコントロールユニット30との間で行われる各種の信号を中継する。各種の信号は、例えば、血管内視鏡カメラ10で撮像された血管画像のデータ信号以外に、カメラコントロールユニット30が血管内視鏡カメラ10を制御するための各種の制御信号を含む。
上述したように、中継器20は、血管内視鏡カメラ10で撮像された血管画像のデータと、オートプルバック装置80で引き戻される血管内視鏡100の位置情報および速度情報のデータとを結合する。ここで、血管画像のデータと位置情報および速度情報のデータとの結合の処理は、これらのデータを連結することで、例えばこれらのデータを足し合わせて1つのデータにすることで行われる。このように、中継器20による結合により、オートプルバック装置80から提供される血管内の撮像位置と、血管内視鏡100から提供される血管画像の取得タイミングとが一致(同期)するように対応付けられる。
なお、上述したデータの結合は、例えば、血管画像の上に位置情報および速度情報を描画する、つまり重畳させることで行われてもよい。また、血管画像のデータと、血管内視鏡100の位置情報および速度情報のデータとは、別ファイルとして対応付けられてもよい。この対応付けは、例えば一方のデータファイルのメタデータの格納領域に他方のデータファイルの識別情報を格納することで行われる。結合された血管画像と位置情報および速度情報とは、別々の画面で表示されてもよいし、あるいはスーパーインポーズ方式で同一の画面で表示されてもよい。なお、オートプルバック装置80がカテーテル200(つまり、血管内視鏡100)を自動モードにより一定速度で引き戻す際、観察部位である血管内の途中で引っかかる等の原因で、予め設定された一定の速度が得られなくなる場合がある。このような場合、一定の速度が得られない時に血管内視鏡100から提供された血管画像は、後述する等速動画を作成する際に高速時には必要数省かれ(つまり、使用されない)、低速時には同じ画像を必要数付加する。
カメラコントロールユニット30(CCU:Camera Control Unit)は、中継器20を介して血管内視鏡カメラ10と電気的に接続され、血管内視鏡カメラ10による撮像動作、血管内視鏡カメラ10からの血管画像のデータ信号に基づく血管画像のデータの生成を制御する。カメラコントロールユニット30は、血管画像のデータと血管内視鏡の位置情報および速度情報のデータとが結合されたデータ(つまり、上述した結合データ)にメタデータを付加する。メタデータは、血管内視鏡カメラ10から提供される血管画像の撮像日時等のデータを含む。
カメラコントロールユニット30は、画像入力部(図示略)、画像処理部(図示略)および画像出力部(図示略)を少なくとも含む。画像入力部(図示略)は、血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとが結合された結合データを入力する。画像入力部(図示略)は、専用の画像入力インターフェースの他、映像データを高速に転送可能なHDMI(登録商標)(High-Definition Multimedia Interface)あるいはUSB(Universal Serial
Bus) Type-C等を用いたインターフェースでもよい。画像処理部(図示略)は、入力された結合データにメタデータを付加する等の処理を行う。また、画像処理部(図示略)は、中継器20から送られた結合データに対し、所定の画像処理を行うことで、モニタ70において視認可能なRGB形式あるいはYUV形式の結合されたデータを生成してもよい。画像出力部(図示略)は、メタデータが付加された結合されたデータをPC50に送信する。
演算装置の一例としてのPC50は、プロセッサ51と、メモリ52と、入出力インターフェース53と、操作部54と、ストレージ55とを含む構成である。PC50は、中継器20により生成された結合データを、カメラコントロールユニット30を介して受信する。PC50は、結合データに含まれる血管画像のデータ、あるいはこの血管画像のデータに対して所定の画像処理を施した後の血管画像のデータ等をストレージ55に記録して保存する。PC50は、血管画像のデータを基に、観察部位(例えば被検体である患者の患部の血管)の血管径を算出する処理を行う。PC50は、血管径の測定結果あるいは血管画像のデータをモニタ70に出力し、血管径の算出結果を可視化する処理を行う。
また、PC50は、中継器20から随時入力されてくる結合データを用いて、複数枚の血管画像から構成される等速動画を作成する。ここでいう等速動画は、例えば、複数枚の血管画像の中から、血管内視鏡カメラ10の撮像位置および血管内視鏡100の速度情報を用いて、同一の一定速度で撮像された撮像位置の異なる複数枚の血管画像が時系列に順次選択されることでて構成された動画である。
プロセッサ51は、メモリ52に記憶された各種の処理用のプログラムを実行することで、例えば上述した血管径測定処理および可視化処理等のそれぞれを実行する。プロセッサ51は、例えば画像処理に適したGPUでもよいし、MPU、CPU、ASIC(Application Specific Integrated Circuit)等で設計された専用の電子回路、またはFPGA等で再構成可能に設計された電子回路で構成されてもよい。
メモリ52は、プロセッサ51のワーキングメモリとして使用されるRAM(Random Access Memory)と。プロセッサ51により実行される各種の処理用のプログラムを記憶するROM(Read Only Memory)と、を含む。
入出力インターフェース53は、専用の画像入力インターフェースの他、映像データを高速に転送可能なHDMI(登録商標)あるいはUSB Type-C等を用いたインターフェースでもよい。
操作部54は、血管内視鏡システム5を起動させる起動スイッチを含み、医師等のユーザによる操作を受け付ける。操作部54は、上述した起動スイッチの他に、例えば、マウス、キーボード、タッチパッド、タッチパネル、マイクロホンまたはその他の入力デバイスを含んでよい。
メモリの一例としてのストレージ55は、大容量の記憶装置であり、血管内視鏡カメラ10で撮像された血管画像データ等を蓄積する。ストレージ55は、例えば二次記憶装置(例えばHDD(Hard Disk Drive)もしくはSSD(Solid StateDrive))、あるいは三次記憶装置(例えば光ディスク、SDカード)を含んでよい。
モニタ70は、PC50から出力される血管径の測定結果あるいは血管画像のデータを表示する。モニタ70は、例えばLCD(Liquid Crystal Display)、有機EL(Electroluminescence)、CRT(Cathode
Ray Tube)等の表示デバイスを有する。なお、カメラコントロールユニット30、PC50およびモニタ70は、画像コンソール90として、単一の筐体に搭載される。
(血管内視鏡システムの動作)
次に、実施の形態1に係る血管内視鏡システム5の動作を説明する。
例えば、被検体内の血管内に血栓があったり、血管壁にプラークができていたりする等、被検体内の血管の状態を観察するために、血管内視鏡100は、血管内に挿入される。医師等のユーザが血管内視鏡100を血管内に挿入する際、ガイドワイヤ150が先行して血管内に挿通される。ガイドワイヤ150が観察したい血管内に届くと、ユーザは、ガイドワイヤ150に案内されるように、血管内視鏡カメラ10が先端側に実装された血管内視鏡100(言い換えると、先端に血管内視鏡100が取り付けられたカテーテル200)を血管内に進行させて挿入していく。血管内視鏡カメラ10が観察したい血管内に達すると、ユーザは、オートプルバック装置80を作動させ、カテーテル200(言い換えると、血管内視鏡100)をプルバック速度(つまり、一定の速度)で引き戻す動作を開始させる。また、血管内視鏡カメラ10で血管内を撮像する場合、ユーザは、血管内を鮮明に撮像できるように、血管内視鏡100が取り付けられたカテーテル200の基端側から低分子デキストラン、もしくは造影剤、もしくは生理食塩水等の透明液を血管内に注入する。
図2は、実施の形態1に係る血管内視鏡システム5の動作手順の一例を示すフローチャートである。図2では、血管内視鏡システム5を構成する血管内視鏡100、中継器20および画像コンソール90の他に、オートプルバック装置80のそれぞれによる動作が時系列に示されている。
図2において、医師等のユーザが画像コンソール90の筐体に収容されたPC50の操作部54に含まれる起動スイッチを押下すると、血管内視鏡システム5は、起動する(S1)。血管内視鏡システム5が起動すると、血管内視鏡100、オートプルバック装置80、中継器20、および画像コンソール90は、それぞれ動作を開始する。
ユーザは、オートプルバック装置80に対し、被検体内の観察部位である血管内に挿入された血管内視鏡100を引き戻すための計測の開始位置および終了位置を設定する。このとき、ユーザは、血管内視鏡カメラ10で撮像される血管画像をその血管画像が表示されたモニタ70で実際に目視によって確認し、計測の開始位置および終了位置を決定する。オートプルバック装置80による血管内視鏡100の引き戻し(計測)の開始位置から終了位置までの長さが血管の測定長に相当する。
オートプルバック装置80は、測定長の範囲内でカテーテル200(つまり、血管内視鏡100)を定速で引き戻す際に一定時間ごとに計測した、血管内視鏡100の位置情報および速度情報を取得する(S11)。オートプルバック装置80は、血管内視鏡100の位置情報および撮像位置の速度情報のデータを中継器20に出力する(S12)。
一方で、血管内視鏡100は、血管内視鏡カメラ10で撮像された血管画像のデータ信号を取得する(S21)。血管内視鏡100は、血管画像のデータ信号を中継器20に出力する(S22)。
一方で、中継器20は、血管内視鏡100からの血管画像のデータ信号を入力する(S31)。中継器20は、オートプルバック装置80から血管内視鏡100の位置情報および速度情報を入力する(S32)。中継器20は、血管画像のデータ信号の入力タイミング(つまり入力した時と同時刻)にオートプルバック装置80から入力された血管内視鏡100の位置情報および速度情報のデータを、上述した入力タイミングに入力された血管画像のデータに結合する(S33)。つまり、中継器20に入力される血管内視鏡100からの血管画像のデータとオートプルバック装置80からの血管内視鏡100の位置情報および速度情報とは時間的に一致(同期)するように中継器20によってデータの結合が行われる。
中継器20は、ステップS33により生成された結合データ(つまり、血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータ)を画像コンソール90に送信する(S34)。この結合データの送信は、例えば、血管内視鏡100により撮像される血管画像を医師等のユーザがリアルタイムで閲覧かつモニタ70にて表示可能なフレームレートで行われる。
一方で、画像コンソール90では、カメラコントロールユニット30は、中継器20により生成された結合データ(つまり、血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータ)を受信する(S41)。PC50は、この結合データをストレージ55に蓄積する。PC50は、結合データを基に、等速動画(上述参照)を作成する(S42)。
PC50は、等速動画を構成する少なくとも2枚の血管画像のデータを用いて、被検体の観察部位である血管内の血管径を算出する(S43)。このステップS43の処理の詳細については後述する。また、PC50は、血管画像と血管内視鏡100の位置情報および速度情報とを別々に表示するために、結合された血管画像と血管内視鏡100の位置情報および速度情報のデータを分離する(S44)。PC50は、血管画像と、血管内視鏡100の位置情報および速度情報と、血管径とをモニタ70に表示する(S45)。なお、位置情報と速度情報は、同時に表示されてもよいし、個別に表示されてもよい。この後、血管内視鏡システム5は、図2に示す動作を終了する。
図3は、図2のステップS43の血管径の算出処理の動作手順の一例を示すフローチャートである。この処理は、例えば、図2のステップS42において作成される等速動画を構成する2枚の血管画像を用いて、血管径を算出する処理である。ユーザは、PC50に対し、円の中心と半径を入力するだけでよい。プロセッサ51は、操作部54を介して、ユーザ入力による円の中心と半径を受け付ける。プロセッサ51は、カメラコントロールユニット30から入力した血管画像のデータに対し、画像全体に配置された複数(例えば1156)個の測定点の中から、円の中心と半径に基づく円周上に複数(例えば128)個の特徴点e1を検出する(S51)。なお、1156個の測定点および128個の特徴点の数は、一例である。
図4は、血管画像上における特徴点の配置、特徴点と対応点の位置関係、および3次元点を用いて推定された血管径を示す図である。血管内視鏡カメラ10で撮像された血管画像GZ1に対し、ユーザにより指定された円の円周上に128個の特徴点e1が重畳して描画される。
プロセッサ51は、特徴点e1を検出した血管画像GZ1が1フレーム目の画像であるか否かを判別する(S52)。1フレーム目の画像である場合(S52、YES)、プロセッサ51は、図3に示す処理を終了し、血管径を算出することなく元の処理に復帰する。
一方、ステップS52で2フレーム目以降の画像である場合(S52、NO)、プロセッサ51は、第1の特徴点マッチングを行う(S53)。第1の特徴点マッチングでは、プロセッサ51は、前フレーム(言い換えると、第(n-1)番目フレーム)の特徴点近傍の矩形領域をテンプレートとして取得する(n:2以上の整数)。一例として、テンプレートサイズは、幅16ピクセル×高さ16ピクセルのサイズである。
プロセッサ51は、現フレーム(言い換えると、第n番目フレーム)の特徴点位置を中心とした矩形領域を、探索範囲としてテンプレートと一致する領域を探索する。探索範囲のサイズは、幅128ピクセル×高さ128ピクセルのサイズである。プロセッサ51は、ZNCC(Zero-means Normalized Cross Correction)値が最小となる位置を特徴点e1に対応する対応点f2とする。なお、第n番目フレームは、第(n-1)番目フレームに対し、血管内視鏡100が手前に引かれた状態の画像であるので、複数の対応点f2が形成する円は、複数の特徴点e1が形成する円と比べ、小さくなる。
プロセッサ51は、第(n-1)番目フレームに含まれる特徴点e1と第n番目フレームに含まれる対応点f2を用いて、消失点dpを推定する(S54)。消失点dpの推定では、プロセッサ51は、全ての特徴点e1および対応点f2に対し、特徴点e1から対応点f2へのフローを求める。プロセッサ51は、2つのフローの交点を求める。プロセッサ51は、全ての特徴点e1から交点までのベクトルを求める。プロセッサ51は、このフローと各ベクトルとの類似度(ここでは角度差)を求め、この類似度が閾値を超えるか否か、例えばフローとベクトルの角度差が3°未満であるか否かを判別する。プロセッサ51は、角度差が3°未満である場合、この特徴点e1を有効な特徴点(以下、「インライア」と称する場合がある)であると判定する。一方、プロセッサ51は、角度差が3°以上である場合、この特徴点e1を無効な特徴点(以下、「アウトライア」と称する場合がある)であると判定する。プロセッサ51は、全てのフローの交点に対し、インライアの数を算出する。プロセッサ51は、インライアの数が最も多いフローの交点を消失点dpとする。
プロセッサ51は、クロスチェックのために第2の特徴点マッチングを行う(S55)。第2の特徴点マッチングでは、プロセッサ51は、現フレーム(つまり、第n番目フレーム)の対応点近傍の矩形領域をテンプレートとして取得する。一例として、テンプレートサイズは、幅16ピクセル×高さ16ピクセルのサイズである。プロセッサ51は、前フレーム(つまり、第(n-1)番目フレーム)の対応点位置を中心とした矩形領域を、探索範囲としてテンプレートと一致する領域を探索する。探索範囲のサイズは、幅128ピクセル×高さ128ピクセルのサイズである。プロセッサ51は、ZNCC値が最小となる位置を対応点f2に対応する特徴点(対応特徴点)とする。プロセッサ51は、前フレーム(つまり、第(n-1)番目フレーム)における、特徴点e1と対応特徴点とが略一致するか否かを判別する。特徴点e1と対応特徴点との略一致は、例えば位置座標を基に判別可能である。プロセッサ51は、特徴点e1と対応特徴点とが略一致する場合、対応点f2が信頼性ありと判断し、特徴点e1と対応特徴点とが略一致しない場合、対応点f2が信頼性なしと判断する。プロセッサ51は、信頼性ありと判断された特徴点e1をインライアとして採用し、信頼性なしと判断された特徴点e1をアウトライアとして採用しない。
プロセッサ51は、インライアである特徴点e1の3次元位置を算出する(S56)。特徴点e1の3次元位置の算出には、例えば三角測量が用いられる。三角測量は、2点間の距離およびこれら2点から測定したい特徴点への角度をそれぞれ測定することで、特徴点の位置を求める、三角法および幾何学を用いた周知の測量方法である。
図5は、3次元位置の算出例を説明する図である。ここで、特徴点e1の3次元座標Eを(X,Y,Z)とする。Xは、血管の径(短軸)方向を表すx軸の座標値である。Yは、x軸に対し垂直な血管の径方向を表すy軸の座標値である。Zは、血管の長手(長軸)方向を表すz軸の座標値である。第(n-1)番目フレームのカメラ位置g1における、特徴点e1の画像座標p1を(u1,u2)とする。第n番目フレームのカメラ位置g2における、対応点f2の画像座標p2を(u2,v2)とする。第(n-1)番目フレームのカメラ位置g1と第n番目フレームのカメラ位置g2の間の距離をDとする。ここで、距離Dは、オートプルバック装置80がガイドワイヤ150を一定のプルバック速度で牽引する際、第(n-1)番目フレームのカメラ位置と第n番目フレームのカメラ位置の撮像時間差とプルバック速度との積で算出される。
カメラの内部パラメータの行列Kを数式(1)で表す。
ここで、fx:焦点距離を水平画素ピッチで割った値、fy:焦点距離を垂直画素ピッチで割った値、Cx:画像中心のx座標、Cy:画像中心のy座標である。
特徴点e1の画像座標p1と3次元座標Eは、数式(2)で表される。
対応点f2の画像座標p2と3次元座標Eは、数式(3)で表される。
プロセッサ51は、例えば三角測量関数を使用し、画像座標p1と画像座標p2に対応する、特徴点e1の3次元座標Eを求める。
プロセッサ51は、特徴点e1の3次元座標Eを3次元の立体画像としてモニタ70に表示(3D表示)可能である。
プロセッサ51は、複数の特徴点e1の3次元座標Eを基に、楕円フィッティングが行われる平面を検出する(S57)。平面の検出では、プロセッサ51は、複数の特徴点e1(3次元点という)の中から3点を選択し、これら3点を含む平面を表す式(平面式という)を求める。プロセッサ51は、求めた平面との距離が所定距離以内で平面に近い3次元点の数を計数する。プロセッサ51は、計数した3次元点の数が最も多くなる平面式を選択する。プロセッサ51は、選択した平面式で表される平面に近い3次元点を抽出する。プロセッサ51は、抽出した3次元点群を基に、主成分分析(PCA:Principal Component Analysis)を行い、平面を検出する。主成分分析は、相関のある多数の変数から相関のない少数で全体のばらつきを最もよく表す主成分と呼ばれる変数を合成する多変量解析の一手法である。
プロセッサ51は、平面からの距離が所定距離を超えて離れている特徴点e1をアウトライアとし、所定距離以内である特徴点e1をインライアとして血管径の推定に採用する。
プロセッサ51は、複数の特徴点e1を基に、楕円フィッティングを行って血管径を推定する(S58)。楕円フィッティングでは、複数の特徴点e1をx-y平面に投影し、x-y平面に投影された2次元点に対し、RANSAC(Random Sample Consensus)を利用したフィッティングが行われる。RANSACは、外れ値を含まないように、楕円パラメータを推定する手法である。
プロセッサ51は、RANSACを利用することで、複数の2次元点に外れ値が含まれても、その影響を抑えて楕円を推定できる。したがって、楕円の推定精度が向上する。具体的に、プロセッサ51は、複数の2次元点を入力し、入力した複数の2次元点の中から5点をランダムに抽出する。プロセッサ51は、抽出した5点を用いて楕円パラメータを求める。楕円パラメータは、長径および短径を含む。プロセッサ51は、各2次元点から楕円弧までの最短距離を算出し、その距離が閾値より小さくなる2次元点の数(インライア数)を計数し、メモリ52に記録する。プロセッサ51は、入力した複数の2次元点の中から別の5点を抽出し、上記と同様の手順で、インライア数を計数する。プロセッサ51は、計数したインライア数がメモリ52に記録されたインライア数を超える場合、メモリ52に記録されたインライア数を更新する。プロセッサ51は、同様の手順を繰り返し、メモリ52に記録されるインライア数が一定回数連続して更新されなかった場合、つまり最大となるインライア数が得られた場合、2次元点の抽出を終了する。プロセッサ51は、全ての2次元点に対し、インライア数が最大となる楕円パラメータを用いて、各2次元点から楕円弧までの最短距離が閾値より小さくなる2次元点をインライアとして決定する。プロセッサ51は、決定した全てのインライアを用いて、楕円パラメータを求める。全てのインライアを用いて楕円パラメータを求めた結果、プロセッサ51は、楕円パラメータの1つである長径を血管径φ1と推定する。プロセッサ51は、血管径を長径とすることで、血管に挿通可能なステントのサイズを適正に決定できる。
なお、ここでは、プロセッサ51は、特徴点に対応する対応点をテンプレートマッチングによって取得したが、例えば第(n-1)番目フレームの特徴点および第n番目フレームの対応点を用いて、ディープラーニングによる機械学習を行い、機械学習の結果生成された学習済みモデルを使用し、第(n-1)番目フレームの特徴点に対応する第n番目フレームの対応点を取得してもよい。
また、プロセッサ51は、楕円パラメータの長径を血管径として推定したが、短径を血管径として推定してもよい。また、プロセッサ51は、長径と短径を用い、例えば長径と短径を加算しその半分の値を用いて、血管径を推定してもよい。
オートプルバック装置80によって血管内視鏡100が定速で引き戻される際、PC50は、血管内視鏡カメラ10で撮像される、血管内視鏡100の位置情報に対応する血管画像を順次取得し、ストレージ55に短軸断面の血管画像として記録する。ここで、短軸断面とは、血管を略円筒形状とみなした場合に、血管径の方向(つまり直径方向である短軸方向)の断面を示す。また、短軸方向に垂直な方向を長軸方向と定義する。また、PC50は、オートプルバック装置80から順次入力される血管内視鏡100の位置情報を基に、血管の測定長を算出する。PC50は、ストレージ55に記録された複数枚の短軸断面の血管画像を基に、血管の3次元画像を生成し、血管の3次元画像を血管の長軸方向に沿って切断することで長軸断面の血管画像を生成する。長軸断面とは、同様に血管を略円筒形状とみなした場合に、血管の長さ方向(長手方向)の断面を示す。PC50は、血管径の測定情報、短軸断面の血管画像とともに、長軸断面の血管画像をモニタ70に表示する。
図6は、モニタ70に表示される画面例を示す図である。モニタ70に表示される画面GMには、例えば、血管径の測定結果と、短軸断面の血管画像GZ5と、長軸断面の血管画像GZ6とが同時に表示される。血管径の測定結果の情報は、例えば、撮像日付:2019年10月1日、患者ID:ABC100、計測値 血管内径:2.5mm、血管長:30mm、狭窄部内径:2.0mmを含む。短軸断面の血管画像GZ5には、血管径(血管内径):2.5mmを表すインジケータi1が数値とともに重畳される。長軸断面の血管画像GZ6には、測定長を表すインジケータi2が長さ13mmの数値とともに重畳される。
実施の形態1に係る血管内視鏡システム5では、中継器20は、血管内視鏡100から提供(送信)された血管画像のデータ信号と、オートプルバック装置80から提供(送信)された血管内視鏡100の位置情報および速度情報のデータとを結合する。中継器20は、結合データを画像コンソール90のPC50に送信する。PC50は、複数枚の血管画像の中から、血管内視鏡100の位置情報と血管内視鏡100の撮像位置の速度情報とを用いて、同一の一定速度で撮像された、撮像位置の異なる複数枚の血管画像を時系列に順次選択して構成される等速動画を作成する。PC50は、等速動画を構成する少なくとも2枚の血管画像を用いて、血管径を算出する(図3参照)。血管径の算出では、血管画像に映る測定点の中から円状に配置した特徴点が検出され、2枚の血管画像間における特徴点の変位量が用いられる。同一の一定速度で撮像された(等速)の2枚の血管画像を用いることで、特徴点の変位量のバラツキが抑えられ、血管径の算出精度が向上する。したがって、医師等のユーザは、血管が狭窄している血管箇所にステントを挿入する場合に、ステントのサイズを適正に選択できる。また、中継器20は、血管内視鏡カメラ10で撮像された血管画像のデータ信号と、オートプルバック装置80がカテーテル200(言い換えると、血管内視鏡100)を引き戻す際の血管内視鏡100の位置情報および速度情報のデータとを同期したタイミングで取得し、これらのデータを結合するので、血管画像と血管内視鏡100の位置情報および速度情報との対応付けが容易である。
このように、血管内視鏡システム5では、血管内視鏡100は、先端側が被検体の血管内に挿入されかつ基端側がオートプルバック装置80により一定速度で引かれ、被検体の血管を撮像可能な血管内視鏡カメラ10が先端側に実装される。中継器20は、血管内視鏡100により撮像された血管画像のデータとオートプルバック装置80から送られる血管内視鏡100の位置情報および速度情報のデータとを入力して結合する。PC50は、中継器20から送られる血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータをストレージ55に保存する。また、PC50は、ストレージ55に保存された血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータを用いて血管画像の等速動画を生成し、等速動画を構成する複数枚の血管画像に基づいて血管の血管径を算出する。
これにより、血管内視鏡システム5は、医師等のユーザによるスムーズな医療行為の進行を遮ることなく、血管内視鏡の撮像画像を利用して患者等の被検体の観察部位である血管の血管径を高精度に測定できる。したがって、血管内視鏡システム5は、医師等のユーザによる被検体内に挿通される適切な径のステントの選択を支援することができる。特に、中継器20が血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとを結合するので、PC50は、血管画像のデータ取得と同期(一致)したタイミングで取得した位置情報および速度情報のデータを用いて、血管画像の等速動画をリアルタイムに生成し、被検体の観察部位である血管の血管径を高精度に算出できる。
また、PC50は、血管の血管径の測定結果と、血管径を表すインジケータi1と、その数値(つまり血管径の数値)とを血管画像GZ1に重畳してモニタ70に表示する。これにより、医師等のユーザは、血管径を視覚的に分かり易く把握できる。
また、PC50は、入力される複数の短軸断面の血管画像GZ5を用いて、血管の長軸断面の血管画像GZ6(長軸断面画像の一例)を生成し、短軸断面の血管画像GZ5と長軸断面の血管画像GZ6とを対応付けてモニタ70に表示する。これにより、ユーザは、血管の長軸方向に沿って血管径を把握することができる。したがって、ユーザは、血管が長軸方向に歪んでいる状態であっても、血管径を把握でき、血管の長軸方向の歪みを考慮して適切なステントを選択できる。
また、PC50は、オートプルバック装置80から順次入力される血管内視鏡100の位置情報および速度情報のデータに基づいて血管の測定長を算出し、測定長の算出結果を示すインジケータi2をその数値とともに長軸断面の血管画像GZ6に重畳して表示する。これにより、ユーザは、観察部位である、例えば血管の狭窄部の長さを視覚的にかつ正確に把握できる。
また、PC50は、等速動画を構成する複数枚の血管画像の中から、血管内視鏡100の位置情報に対応する2枚の血管画像を選択し、これら2枚の血管画像のそれぞれに対して円状に配置される複数個の特徴点のそれぞれの移動方向から消失点を推定し、複数個の特徴点の中から、オートプルバック装置80による血管内視鏡100の移動に基づく消失点の方向へのベクトルを有する有効特徴点を抽出し、血管内視鏡100の移動距離に対応する有効特徴点の移動変化量を用いて有効特徴点の3次元座標を算出し、有効特徴点の3次元座標に基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、血管画像に配置された、血管径の測定に有効な特徴点を用いて、血管径を正確に測定できる。
また、PC50は、ストレージ55に保存された複数の血管画像の中から、血管内視鏡100の位置情報が異なる、速度情報が同一である血管画像を複数選択し、選択された複数の血管画像を用いて等速動画を生成する。これにより、血管内視鏡システム5は、等速動画を構成する、速度情報が同一である少なくとも2枚の血管画像を用いて血管径を高精度に算出できる。また、等速動画が作成される血管の長軸方向に沿って血管径が算出されるので、ユーザは、血管の長軸方向に沿って血管径を正確に把握でき、血管内に挿入するステントの径を適正に選択できる。
なお、オートプルバック装置80は、上述した一定速度でカテーテル200(つまり、血管内視鏡100)を引く自動モード以外に、医師等のユーザの判断でマニュアルモードにより作動させる(言い換えると、カテーテル200(つまり、血管内視鏡100)を引く)ことができる。マニュアルモードでは、オートプルバック装置80は、測定長の範囲内でカテーテル200(つまり、血管内視鏡100)を可変速度で引き戻す(手動になるので一定速度にはならない)際に一定時間ごとに計測した、血管内視鏡100の位置情報および加速度情報(つまり、一定時間ごとの可変速度の時間変化により求まる加速度の情報)を取得する。オートプルバック装置80は、血管内視鏡100の位置情報および距離情報のデータを中継器20に出力する。PC50は、血管内視鏡100の位置情報に加えて距離情報(例えば血管の測定長)をモニタ70に表示するようにしてもよい。
また、マニュアルモードでは、オートプルバック装置80は、測定長の範囲内でカテーテル200(つまり、血管内視鏡100)を可変速度で引き戻す(手動になるので一定速度にはならない)際に一定時間ごとに計測した、血管内視鏡100の位置情報および加速度情報と速度情報とを取得し、血管内視鏡100の位置情報とフレーム位置を合わせた撮像位置情報のデータを中継器20に出力し、モニタ70に表示するようにしてもよい。
(実施の形態2)
実施の形態1では、中継器20が、血管内視鏡カメラ10で撮像された血管画像のデータと、オートプルバック装置80がカテーテル200(言い換えると、血管内視鏡100)を引き戻す際の血管内視鏡100の位置情報および速度情報のデータを取得し、これらの同期したデータ(つまり、取得タイミングが一致するデータ)を結合した。実施の形態2では、PC50Aが、血管内視鏡カメラ10で撮像された血管画像のデータと、オートプルバック装置80がカテーテル200(言い換えると、血管内視鏡100)を引き戻す際の血管内視鏡100の位置情報および速度情報のデータを別々に入力する例を説明する。この場合、血管画像のデータと、血管内視鏡100の位置情報および速度情報のデータとは、PC50への入力タイミングによっては同期したデータ(つまり、取得タイミングが一致するデータ)になるとは限らない。このため、実施の形態2では、PC50Aは、例えば、血管画像のデータ取得に時間がかかる場合、血管内視鏡100の位置情報および速度情報のデータ取得時刻に所定の遅延時間(ディレイ)を加えることで、これらのデータの対応付け(つまり、上述した同期したデータの生成)が可能となる。ここでは、PC50Aは、入力された血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとのそれぞれに、PC50Aに入力された時刻を示すタイムスタンプを付与し、これらのデータを対応付ける。
図7は、実施の形態2に係る血管内視鏡システム5Aの構成例を示す図である。実施の形態2に係る血管内視鏡システム5Aの構成は、実施の形態1に係る血管内視鏡システム5とほぼ同一の構成を有する。実施の形態2に係る血管内視鏡システム5Aの構成の説明において、実施の形態1に係る血管内視鏡システム5の構成と同一の構成については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
血管内視鏡システム5Aでは、オートプルバック装置80は、カテーテル200(言い換えると、血管内視鏡100)を引き戻す際の血管内視鏡100の位置情報および速度情報のデータを画像コンソール90のPC50Aに送信する。血管内視鏡カメラ10で撮像される血管画像のデータは、実施の形態1と同様に中継器20Aに送られる。中継器20Aは、血管画像のデータを画像コンソール90のカメラコントロールユニット30に送信する。
PC50Aのプロセッサ51は、オートプルバック装置80から受信した血管内視鏡100の位置情報および速度情報のデータにタイムスタンプを付与する。このタイムスタンプは、例えばプロセッサ51がオートプルバック装置80から受け取ったデータをストレージ55に保存した時の時刻を示す。また、PC50Aのプロセッサ51は、血管内視鏡100から中継器20Aおよびカメラコントロールユニット30を介して入力した血管画像のデータにタイムスタンプを付与する。このタイムスタンプは、例えばプロセッサ51がカメラコントロールユニット30から受け取ったデータをストレージ55に保存した時の時刻を示す。
PC50Aのプロセッサ51は、血管画像のデータの取得と血管内視鏡100の位置情報および速度情報のデータの取得との時間差が予め分かっている場合、一方のデータの取得時間に遅延時間を加算もしくは減算することで、これらのデータを対応付ける。また、血管画像のデータの取得と、血管内視鏡100の位置情報および速度情報のデータの取得とに特に時間差が無く、単に異なるタイミングでこれらのデータがPC50Aに入力される場合、PC50Aのプロセッサ51は、タイムスタンプが略一致する、これらのデータを対応付ける。PC50Aのプロセッサ51は、異なる血管内視鏡100の位置情報ごとに、対応付けられた血管画像のデータと、血管内視鏡の位置情報および速度情報のデータとをストレージ55に順次記録する。
図8は、実施の形態2に係る血管内視鏡システム5Aの動作手順の一例を示すフローチャートである。図8の説明において、図2に示す処理と同一の処理については、同一のステップ番号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
図8において、ユーザが画像コンソール90の操作部54の起動スイッチを押下すると、血管内視鏡システム5Aは起動する(S1)。血管内視鏡システム5Aが起動すると、オートプルバック装置80、中継器20A、血管内視鏡100、および画像コンソール90は、それぞれ動作を開始する。
ユーザは、オートプルバック装置80に対し、血管内に挿入した血管内視鏡100を引き戻すための計測の開始位置および終了位置を設定する。
オートプルバック装置80は、計測の開始位置および終了位置の範囲(測定長)内で血管内視鏡100を引き戻しながら血管内視鏡100で血管内を撮像する際に計測した、位置情報および速度情報を取得する(S11)。オートプルバック装置80は、位置情報および速度情報のデータを画像コンソール90に出力する(S12A)。PC50Aのプロセッサ51は、血管内視鏡100の位置情報および速度情報のデータにタイムスタンプを付与する。このタイムスタンプは、例えばプロセッサ51がオートプルバック装置80から受け取ったデータをストレージ55に保存した時の時刻を示す。
一方で、血管内視鏡100は、血管内視鏡カメラ10で撮像された血管画像のデータを取得する(S21)。血管内視鏡100は、血管画像のデータを中継器20に出力する(S22)。
一方で、中継器20は、血管内視鏡100から血管画像のデータを入力する(S31)。中継器20は、血管画像のデータを画像コンソール90に送信する(S34A)。画像コンソール90では、カメラコントロールユニット30は、血管画像のデータを受信する(S41A)。PC50Aのプロセッサ51は、カメラコントロールユニット30が受信した血管画像のデータに対し、タイムスタンプを付与する。上述したように、このタイムスタンプは、例えばプロセッサ51がカメラコントロールユニット30から受け取ったデータをストレージ55に保存した時の時刻を示す。
一方で、PC50Aは、両者のタイムスタンプを基に、血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとを対応付ける。この対応付けは、例えば一方のデータファイルのメタデータに他方のデータファイルの識別情報を含めることで行われる。PC50Aは、対応付けた血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとをストレージ55に蓄積する。PC50Aは、対応付けられた血管画像のデータと血管内視鏡100の位置情報および速度情報のデータを基に、等速動画を作成する(S42A)。等速動画の作成は、実施の形態1と同様である。
PC50Aは、等速動画を構成する2枚の血管画像を用いて、血管径を算出する(S43)。また、PC50Aは、血管画像と血管内視鏡100の位置情報および速度情報とを別々に表示するために、対応付けられた血管画像データと血管内視鏡100の位置情報および速度情報データを分離する(S44)。血管径の算出は、実施の形態1と同様である。この後、PC50Aは、血管画像、位置情報および速度情報、および血管径をモニタ70に表示する(S45)。この表示態様は、実施の形態1と同様である。
実施の形態2に係る血管内視鏡システム5Aでは、PC50Aは、血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとの対応付けをソフトウェア処理で行う。したがって、中継器20Aは、血管内視鏡100から取得した血管画像のデータを画像コンソール90に転送するだけでよく、中継器20Aの構成を簡略化でき、電子部品等のハードウェアを削減できる。
以上により、血管内視鏡システム5Aでは、血管内視鏡100は、先端側が被検体の血管内に挿入されかつ基端側がオートプルバック装置80により一定速度で引かれ、被検体の血管を撮像可能な血管内視鏡カメラ10(画像センサの一例)が先端側に実装される。PC50Aは、血管内視鏡100により撮像された血管画像のデータとオートプルバック装置80から送られる血管内視鏡100の位置情報および速度情報のデータとを入力して対応付けてストレージ55に保存する。PC50Aは、ストレージ55に保存された血管画像のデータの入力タイミングと血管内視鏡100の位置情報および速度情報のデータの入力タイミングとの差分に基づいて血管画像の等速動画を生成し、等速動画を構成する複数枚の血管画像に基づいて血管の血管径を測定する。
これにより、血管内視鏡システム5Aは、医師等のユーザによるスムーズな医療行為の進行を遮ることなく、血管内視鏡の撮像画像を利用して患者等の被検体の観察部位である血管径を高精度に測定できる。したがって、血管内視鏡システム5Aは、被検体内に挿入される適切な径のステントの選択を支援することができる。特に、PC50Aが血管画像のデータと内視鏡の位置情報および速度情報のデータとを対応付けるので、中継器を簡単な構成にできる。
また、PC50Aは、血管の血管径の測定結果と、血管径を表すインジケータi1と、その数値(つまり血管径の数値)とを血管画像GZ1に重畳してモニタ70に表示する。これにより、医師等のユーザは、血管径を視覚的に分かり易く把握できる。
また、PC50Aは、入力される複数の短軸断面の血管画像GZ5を用いて、血管の長軸断面の血管画像GZ6(長軸断面画像の一例)を生成し、短軸断面の血管画像GZ5と長軸断面の血管画像GZ6とを対応付けてモニタ70に表示する。これにより、ユーザは、血管の長軸方向に沿って血管径を把握することができる。したがって、ユーザは、血管が長軸方向に歪んでいる状態であっても、血管径を把握でき、血管の長軸方向の歪みを考慮して適切なステントを選択できる。
また、PC50Aは、オートプルバック装置80から順次入力される血管内視鏡100の位置情報および速度情報のデータに基づいて血管の測定長を算出し、測定長の算出結果を示すインジケータi2をその数値とともに長軸断面の血管画像GZ6に重畳して表示する。これにより、ユーザは、観察部位である、例えば血管の狭窄部の長さを視覚的にかつ正確に把握できる。
また、PC50Aは、等速動画を構成する複数枚の血管画像の中から、血管内視鏡100の位置情報に対応する2枚の血管画像を選択し、これら2枚の血管画像のそれぞれに対して円状に配置される複数個の特徴点のそれぞれの移動方向から消失点を推定し、複数個の特徴点の中から、オートプルバック装置80による血管内視鏡100の移動に基づく消失点の方向へのベクトルを有する有効特徴点を抽出し、血管内視鏡100の移動距離に対応する有効特徴点の移動変化量を用いて有効特徴点の3次元座標を算出し、有効特徴点の3次元座標に基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、血管画像に配置された、血管径の測定に有効な特徴点を用いて、血管径を正確に測定できる。
また、PC50Aは、ストレージ55に保存された複数の血管画像の中から、血管内視鏡100の位置情報が異なる、速度情報が同一である血管画像を複数選択し、選択された複数の血管画像を用いて等速動画を生成する。これにより、血管内視鏡システム5は、等速動画を構成する、速度情報が同一である少なくとも2枚の血管画像を用いて血管径を高精度に算出できる。また、等速動画が作成される血管の長軸方向に沿って血管径が算出されるので、ユーザは、血管の長軸方向に沿って血管径を正確に把握でき、血管内に挿入するステントの径を適正に選択できる。
(実施の形態3)
実施の形態1,2では、PC50,50Aは、結合データ(つまり、血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータ)に基づいて等速動画を作成し、等速動画を構成する少なくとも2枚の血管画像のデータを用いて、被検体の観察部位である血管内の血管径を算出した。言い換えると、PC50,50Aは、血管内の血管径を算出するために、等速動画を構成する少なくとも2枚の血管画像のデータを必要とする。そこで、実施の形態3では、PC(例えばPC50)は、結合データ(つまり、血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータ)と、被検体内に挿通されるガイドワイヤの幅方向のサイズと、予め学習処理により形成(構築)された人工知能(AI)の学習モデルとを用いて、1枚の血管画像から被検体の観察部位である血管内の血管径を算出する例を説明する。
実施の形態3に係る血管内視鏡システムの構成は、実施の形態1に係る血管内視鏡システム5と同一である。このため、実施の形態3に係る血管内視鏡システム5の構成の説明において、実施の形態1に係る血管内視鏡システム5の構成と同一の構成については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。なお、実施の形態3に係る血管内視鏡システム5の構成は、実施の形態2に係る血管内視鏡システム5Aと同一であってもよい。
実施の形態3に係る血管内視鏡システム5では、被検体内に挿通されるガイドワイヤ150の幅方向のサイズ(言い換えると、太さ)の情報は、PC50のメモリ52あるいはストレージ55内に予め保存(いわゆるプリセット)されている。ガイドワイヤ150のサイズは、例えば0.36mm(0.14inch)である。なお、ガイドワイヤ150のサイズは、ガイドワイヤの種類によって異なるものが存在するため、固定値でなくてよく、例えば使用されるガイドワイヤの種類に応じてユーザ操作により任意に設定可能であり、上述した実施の形態1,2においても同様である。これにより、PC50は、手術あるいは検査等において使用されるガイドワイヤの種類に応じて、柔軟にガイドワイヤのサイズを調整可能となり適切な血管径の算出を支援できる。
PC50は、血管内視鏡システム5を用いて血管内視鏡100により撮像された実際の(つまり生の)血管画像中の血管径を算出する前に、所定の学習処理を経て形成(構築)された学習モデルをメモリ52あるいはストレージ55に保存してよい。所定の学習処理は、PC50で実行されてもよいし、外部装置(図示略)で実行されてもよい。学習処理が外部装置で実行された場合には、外部装置から学習処理の結果として作成された学習モデルがPC50に入力されてメモリ52あるいはストレージ55に保存される。
PC50は、メモリ52あるいはストレージ55に保存された学習モデルに基づくAI(例えばニューラルネットワーク)を形成し、このAIにより、血管画像あるいは疑似血管画像中にピントが合うように映っている血管内壁と交差する(重なる)ガイドワイヤ150の近傍の位置を示す基準ポイント(後述参照)と、基準ポイントを含む血管の形状(例えば円形状)と同一形状を構成可能な複数の検出ポイント(後述参照)とを特定する。疑似血管画像は、実際の血管画像ではないが、血管画像と同じ被写体(つまり血管)が少なくとも配置され実質的に実際の血管画像と同等の画像とみなすことができる画像である。したがって、学習処理は、複数枚の血管画像あるいは疑似血管画像を用いて、それぞれの血管画像あるいは疑似血管画像中に基準ポイントおよび検出ポイントのそれぞれを推定(検出)可能となるための学習処理を示す。なお、PC50は、上述した基準ポイントおよび検出ポイントを特定する際に、上述したAIを必ずしも使用しなくてもよい。例えば、PC50は、中継器20から入力されてメモリ52あるいはストレージ55に保存された血管画像の中で、血管径の対象となる1枚の血管画像に対する所定の画像処理(例えば血管の形状と同一形状を構成する複数の特徴点の探索)を施すことで、基準ポイントおよび検出ポイントを特定してもよい(図11参照)。
PC50は、メモリ52あるいはストレージ55に保存された、ガイドワイヤ150の幅方向のサイズと血管内視鏡100の位置情報および速度情報に対応する1枚の血管画像とに基づいて、被検体の血管の血管径を算出する。血管径の算出の詳細な動作手順については後述する。
図9は、実施の形態3に係る血管内視鏡システム5の動作手順の一例を示すフローチャートである。図9の説明において、図2に示す処理と同一の処理については、同一のステップ番号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
図9において、画像コンソール90では、カメラコントロールユニット30は、中継器20により生成された結合データ(つまり、血管画像と血管内視鏡100の位置情報および速度情報とが結合されたデータ)を受信する(S41)。PC50は、この結合データをストレージ55に蓄積する。PC50は、メモリ52あるいはストレージ55に保存された、ガイドワイヤ150の幅方向のサイズの情報を読み出す(S42B)。PC50は、ステップS42Bで読み出されたガイドワイヤ150の幅方向のサイズの情報と、ステップS41で受信された結合データに含まれる1枚の血管画像(つまり、血管内視鏡100の位置情報および速度情報に対応する1枚の血管画像)とに基づいて、被検体の血管の血管径を算出する(S43B)。ステップS43Bの詳細については、図10~図17を参照して詳述する。
PC50は、血管画像と血管内視鏡100の位置情報および速度情報とを別々に表示するために、結合された血管画像と血管内視鏡100の位置情報および速度情報のデータを分離する(S44)。PC50は、血管画像と、血管内視鏡100の位置情報および速度情報と、血管径とをモニタ70に表示する(S45)。なお、位置情報と速度情報は、同時に表示されてもよいし、個別に表示されてもよい。この後、血管内視鏡システム5は、図2に示す動作を終了する。
次に、実施の形態3に係る血管径の算出処理の動作手順について、図10~図17を参照して説明する。この血管径の算出処理は、主にPC50のプロセッサ51により実行される。実施の形態3では、血管径の算出処理を4通り説明する。PC50は、4通りの算出処理のうちいずれの処理を用いて血管径を算出してよい。なお、図12~図17の説明において、図10あるいは図11の要素と同一の要素については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
[第1の算出処理]
図10は、実施の形態3に係る血管径の第1の算出処理の概要例を示す図である。図11は、図9のステップS43Bの血管径の第1の算出処理の動作手順の一例を示すフローチャートである。図11の処理は、PC50のメモリ52あるいはストレージ55に蓄積された結合データ(上述参照)を構成する1枚の血管画像(いわゆるフレーム)がプロセッサ51に取得されるごとに実行される。
図10では、血管内視鏡100により撮像された、被検体内の実際の(つまり生の)血管VSL1の血管画像IMG1が示される。被検体内にはガイドワイヤ150がa方向に向かって挿通されるので、血管画像IMG1にもガイドワイヤ150が映る。ガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)は、例えば0.36mm(0.14inch)である。つまり、血管画像IMG1全体のうち被写体となる略中心部分の血管VSL1の内壁にピントが合うように血管画像IMG1は撮像されているので、ピントが合っている血管VSL1の内壁(単に「血管内壁」と称する)とガイドワイヤ150とが交差する(重なる)位置(基準ポイントW1)からガイドワイヤ150を跨ぐ線分WD1の血管画像IMG1上の長さが0.36mm(0.14inch)となる。
図11において、PC50のプロセッサ51は、血管内視鏡100により撮像された実際の(つまり生の)血管画像IMG1を取得すると、血管画像IMG1中のガイドワイヤ150近傍であってかつ血管画像IMG1中のピントが合っている血管内壁に相当する基準ポイントW1を決定して位置決めする(S61)。PC50のプロセッサ51は、上述した学習モデルに基づくAIにより、基準ポイントW1を含む血管VSL1の形状と同一形状(つまり円形状)を構成すると推定される複数の検出ポイントW2,W3,W4,W5,W6,W7,W8を特定して位置決めする(S62)。例えば、基準ポイントW1および複数の検出ポイントW2~W8のそれぞれは、血管画像IMG1中のピントの合う血管内壁を構成し、等間隔に配置される。
PC50のプロセッサ51は、基準ポイントW1および複数の検出ポイントW2~W8の全てを含む形状FT1(例えば、血管画像IMG1中のピントの合う血管内壁の形状に模した形状)をフィッティングする(S63)。この形状フィッティングには、例えば楕円フィッティング、プラーク型フィッティングなどのいわゆる公知のフィッティング処理が実行されてよい。
PC50のプロセッサ51は、血管画像IMG1中のピントが合っているガイドワイヤ150のサイズG1と、血管内視鏡カメラ10からの距離が同一となる(言い換えると、ステップS63でフィッティングされた形状FT1(例えば円形状)上に存在する)基準ポイントW1から隣接の検出ポイント(例えば検出ポイントW2)までの長さとに基づいて、血管径Dmを算出する(S64)。
具体的には、PC50のプロセッサ51は、血管画像IMG1中の基準ポイントW1からの線分WD1の長さがガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)であることを利用し、血管画像IMG1中の基準ポイントW1から検出ポイントW2までの円弧の長さを算出する。また、PC50のプロセッサ51は、基準ポイントW1から検出ポイントW2までの円弧の長さの算出結果を用いてステップS63のフィッティング形状(つまり円を示す形状FT1)の円周の長さを算出し、その算出された円周の長さを円周率πで除することで血管径Dm(つまり検出ポイントW2から検出ポイントW6までの長さ)を算出する。
[第2の算出処理]
図12は、実施の形態3に係る血管径の第2の算出処理の概要例を示す図である。図13は、図9のステップS43Bの血管径の第2の算出処理の動作手順の一例を示すフローチャートである。図13の処理は、PC50のメモリ52あるいはストレージ55に蓄積された結合データ(上述参照)を構成する1枚の血管画像(いわゆるフレーム)がプロセッサ51に取得されるごとに実行される。
図12の血管画像IMG2は、血管内視鏡100により撮像された被検体内の実際の(つまり生の)血管VSL1の血管画像でもよいし、上述した学習処理用に予め用意された血管画像あるいは疑似血管画像でもよい。また、血管画像IMG2が疑似血管画像である場合、被検体内にはガイドワイヤ150がa方向に向かって挿通されることを想定して血管画像IMG2にもガイドワイヤ150が映るように配置される。ガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)は、例えば0.36mm(0.14inch)である。つまり、血管画像IMG2全体のうち被写体となる略中心部分の血管VSL1にピントが合うように血管画像IMG2は撮像されているので、ピントが合っている血管内壁とガイドワイヤ150とが交差する(重なる)線分WD1の血管画像IMG2上の長さが0.36mm(0.14inch)となる。基準ポイントW9は、図11の基準ポイントW1と同様に、血管画像IMG2中のピントの合っている血管内壁の部分であって、かつ、ガイドワイヤ150あるいはその近傍の任意の位置を示す。
図13において、PC50のプロセッサ51は、AI(例えば、公知の教師学習による単眼推定あるいは自動学習単眼推定)向けに、複数枚の血管画像IMG2(疑似血管画像でもよい)を用いて、基準ポイントW9の位置決め用の学習モデルを学習処理により形成する(S60)。なお、このステップS60の処理は、PC50とは異なる外部装置により実行されて学習処理により得られた学習モデルがPC50に入力されてストレージ55に保存されてもよい。
そして、PC50のプロセッサ51は、ステップS60Aの学習処理を経て形成された学習モデルに基づくAIにより、血管内視鏡100により撮像された、被検体内の実際の(つまり生の)血管VSL1の血管画像中のガイドワイヤ150近傍であってかつ血管画像中のピントが合っている血管内壁に相当する基準ポイントW9を決定して位置決めする(S61A)。ステップS61A以降の処理は図12と同様であるため、説明を省略する。
[第3の算出処理]
図14は、実施の形態3に係る血管径の第3の算出処理の概要例を示す図である。図15は、図9のステップS43Bの血管径の第3の算出処理の動作手順の一例を示すフローチャートである。図15の処理は、PC50のメモリ52あるいはストレージ55に蓄積された結合データ(上述参照)を構成する1枚の血管画像(いわゆるフレーム)がプロセッサ51に取得されるごとに実行される。
図14の血管画像IMG3は、上述した学習処理用に予め用意された血管画像あるいは疑似血管画像でもよい。また、血管画像IMG3が疑似血管画像である場合、被検体内にはガイドワイヤ150がa方向に向かって挿通されることを想定して血管画像IMG2にもガイドワイヤ150が映るように配置される。また、血管画像IMG3では、等間隔に目盛りが付されたスケールSCL1(つまり定規)がガイドワイヤ150と対称的に配置されている。ガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)は、例えば0.36mm(0.14inch)である。つまり、血管画像IMG3全体のうち被写体となる略中心部分の血管VSL1にピントが合うように血管画像IMG3は撮像されているので、ピントが合っている血管内壁とガイドワイヤ150とが重なる線分WD1の血管画像IMG3上の長さが0.36mm(0.14inch)となる。基準ポイントW10は、血管画像IMG3中のピントの合っている血管内壁の部分であって、かつ、血管内壁とスケールSCL1とが交差する(重なる)位置を示す。
学習処理では、血管画像IMG3ごとに、ピントが合っている血管内壁の位置(例えば基準ポイントW10の位置)とスケールSCL1の起点B1からの目盛りの値とが対応付けて記憶される。また、図11の基準ポイントW1と同様に、血管画像IMG3中のピントの合っている血管内壁の部分であって、かつ、ガイドワイヤ150あるいはその近傍の任意の位置を基準ポイントW11としてもよい。
図15において、PC50のプロセッサ51は、図14を参照して説明した血管画像IMG3ごとに、血管画像IMG3中のピントが合っている血管内壁の位置(つまり、血管画像IMG3中のピントの合っている血管内壁の部分であって、かつ、血管内壁とスケールSCL1とが交差する(重なる)位置)とスケールSCL1の起点B1からの目盛りの値との関連付けを用いた学習処理を行うことで、基準ポイントW10の位置決め用の学習モデルを形成する(S60B)。なお、このステップS60Bの処理は、PC50とは異なる外部装置により実行されて学習処理により得られた学習モデルがPC50に入力されてストレージ55に保存されてもよい。
そして、PC50のプロセッサ51は、ステップS60Bの学習処理を経て形成された学習モデルに基づくAIにより、血管内視鏡100により撮像された、被検体内の実際の(つまり生の)血管VSL1の血管画像中のピントが合っている血管内壁に相当する基準ポイントW10、あるいは血管画像中のガイドワイヤ150近傍であってかつ血管画像中のピントが合っている血管内壁に相当する基準ポイントW11を決定して位置決めする(S61B)。ステップS61B以降の処理は図12と同様であるため、説明を省略する。
[第4の算出処理]
図16は、実施の形態3に係る血管径の第4の算出処理の概要例を示す図である。図17は、図9のステップS43Bの血管径の第4の算出処理の動作手順の一例を示すフローチャートである。図17の処理は、PC50のメモリ52あるいはストレージ55に蓄積された結合データ(上述参照)を構成する1枚の血管画像(いわゆるフレーム)がプロセッサ51に取得されるごとに実行される。
図16の血管画像IMG4は、血管内視鏡100により撮像された、被検体内の実際の(つまり生の)血管VSL1の血管画像でもよいし、上述した学習処理用に予め用意された血管画像あるいは疑似血管画像でもよい。また、血管画像IMG4が疑似血管画像である場合、被検体内にはガイドワイヤ150Aがa方向に向かって挿通されることを想定して血管画像IMG4にもガイドワイヤ150Aが映るように配置される。ガイドワイヤ150Aは、例えば0.01mm~1mmの任意の値ごとに等間隔に目盛りが付されている。ガイドワイヤ150Aの幅方向のサイズG1(言い換えると、太さ)は、例えば0.36mm(0.14inch)である。つまり、血管画像IMG4全体のうち被写体となる略中心部分の血管VSL1にピントが合うように血管画像IMG4は撮像されているので、ピントが合っている血管内壁とガイドワイヤ150とが重なる線分WD1の血管画像IMG4上の長さが0.36mm(0.14inch)となる。基準ポイントW12は、血管画像IMG4中のピントの合っている血管内壁の部分であって、かつ、ガイドワイヤ150Aの近傍の位置を示す。
学習処理では、血管画像IMG4ごとに、ピントが合っている血管内壁の位置(例えば基準ポイントW12の位置)とガイドワイヤ150Aとが交差する(重なる)位置の血管画像IMG4上の座標と、ガイドワイヤ150Aの起点(図15参照)からの目盛りの値とが対応付けて記憶される。
図17において、PC50のプロセッサ51は、図16を参照して説明した血管画像IMG4ごとに、血管画像IMG4中のピントが合っている血管内壁の位置(つまり、血管画像IMG4中のピントの合っている血管内壁の部分であって、かつ、血管内壁とガイドワイヤ150Aとが交差する(重なる)位置)とガイドワイヤ150Aの起点(図15参照)からの目盛りの値との関連付けを用いた学習処理を行うことで、基準ポイントW12の位置決め用の学習モデルを形成する(S60C)。なお、このステップS60Cの処理は、PC50とは異なる外部装置により実行されて学習処理により得られた学習モデルがPC50に入力されてストレージ55に保存されてもよい。
そして、PC50のプロセッサ51は、ステップS60Cの学習処理を経て形成された学習モデルに基づくAIにより、血管内視鏡100により撮像された、被検体内の実際の(つまり生の)血管VSL1の血管画像中のピントが合っている血管内壁に相当する基準ポイントW12を決定して位置決めする(S61C)。ステップS61Cの後、ステップS62,S63の処理が実行される。ステップS63の後、PC50のプロセッサ51は、血管内視鏡100により撮像された血管画像中のピントが合っているガイドワイヤ150のサイズG1あるいはガイドワイヤ150Aの起点(図15参照)からの目盛りの値(目盛り間隔)と、血管内視鏡カメラ10からの距離が同一となる(言い換えると、ステップS63でフィッティングされた形状FT1(例えば円形状)上に存在する)基準ポイントW12から隣接の検出ポイント(例えば検出ポイントW2)までの長さとに基づいて、血管径Dmを算出する(S64C)。
以上により、実施の形態3に係る血管内視鏡システム5では、血管内視鏡100は、ガイドワイヤ150が予め挿通された被検体の血管内に挿入され、駆動機器(例えばオートプルバック装置80)を介して引かれながら被検体の血管を撮像可能である。中継器20は、血管内視鏡100により撮像された血管画像と駆動機器から送られる血管内視鏡100(具体的には、血管内視鏡カメラ10)の位置情報および速度情報とを入力して結合する。PC50は、中継器20から送られる血管画像と血管内視鏡100の位置情報および速度情報とを対応付けてメモリ52あるいはストレージ55に保存し、メモリ52あるいはストレージ55に保存されたガイドワイヤ150の幅方向のサイズG1と血管内視鏡100の位置情報および速度情報に対応する1枚の血管画像(例えば血管画像IMG1)とに基づいて、血管の血管径を算出する。
これにより、血管内視鏡システム5は、医師等のユーザによるスムーズな医療行為の進行を遮ることなく、血管内視鏡の撮像画像を利用して患者等の被検体の観察部位である血管の血管径を、1枚の血管画像を用いてシンプルかつ高精度に測定できる。したがって、血管内視鏡システム5は、医師等のユーザによる被検体内に挿通される適切な径のステントの選択を支援することができる。特に、中継器20が血管画像のデータと血管内視鏡100の位置情報および速度情報のデータとを結合するので、PC50は、血管画像のデータ取得と同期(一致)したタイミングで取得した位置情報および速度情報のデータを用いて、1枚の血管画像を用いて、被検体の観察部位である血管の血管径をシンプルかつ高精度に算出できる。
また、ガイドワイヤ150の幅方向のサイズG1は、ユーザ操作に応じて変更可能な値である。これにより、手術あるいは検査時に使用されるガイドワイヤの種類に応じて、柔軟に血管径の算出が可能となる。
また、PC50は、1枚の血管画像中のガイドワイヤ150近傍の血管内壁の位置を示す基準ポイントW1と、基準ポイントW1を含む血管の形状と同一形状を構成可能な位置を示す複数の検出ポイントW2~W8とを特定し、基準ポイントW1および複数の検出ポイントW2~W8を含む血管の形状をフィッティングする。PC50は、血管の形状のフィッティング結果と基準ポイントW1からいずれかの検出ポイントまでの長さとガイドワイヤ150の幅方向のサイズG1とに基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、被検体内に挿通されるガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)を利用して、被検体の観察部位である血管の血管径をシンプルかつ高精度に算出できる。
また、PC50は、学習処理を経て、被検体内に挿通されるガイドワイヤ150が映る血管画像中のガイドワイヤ150近傍の血管内壁の位置を示す基準ポイントW9を検出可能な学習モデルをメモリ52あるいはストレージ55に保存する。PC50は、学習モデルに基づくAI(人工知能)により、1枚の血管画像中の基準ポイントW9と、基準ポイントW9を含む血管の形状と同一形状を構成可能な位置を示す複数の検出ポイントW2~W8とを特定し、基準ポイントW9および複数の検出ポイントW2~W8を含む血管の形状をフィッティングする。PC50は、血管の形状のフィッティング結果と基準ポイントW9からいずれかの検出ポイントまでの長さとガイドワイヤ150の幅方向のサイズG1とに基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、既に学習処理により形成された基準ポイントの位置決め用のAIを用いることで、簡易かつ高精度に血管画像中の基準ポイントW9を位置決め可能となり、被検体内に挿通されるガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)を利用して、被検体の観察部位である血管の血管径をシンプルかつ高精度に算出できる。
また、PC50は、学習処理を経て、被検体内に挿通されるガイドワイヤ150と等間隔の目盛りが付されたスケールSCL1とが映る血管画像中のスケールSCL1近傍の血管内壁の位置を示す基準ポイントW10を検出可能な学習モデルをメモリ52あるいはストレージ55に保存する。PC50は、学習モデルに基づくAI(人工知能)により、1枚の血管画像中の基準ポイントW10あるいは基準ポイントW11と、基準ポイントW10あるいは基準ポイントW11を含む血管の形状と同一形状を構成可能な位置を示す複数の検出ポイントW2~W8とを特定し、基準ポイントW10あるいは基準ポイントW11および複数の検出ポイントW2~W8を含む血管の形状をフィッティングする。PC50は、血管の形状のフィッティング結果と基準ポイントW10あるいは基準ポイントW11からいずれかの検出ポイントまでの長さとガイドワイヤ150の幅方向のサイズG1とに基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、既に学習処理により形成された基準ポイントの位置決め用のAIを用いることで、簡易かつ高精度に血管画像中の基準ポイントW10あるいは基準ポイントW11を位置決め可能となり、被検体内に挿通されるガイドワイヤ150の幅方向のサイズG1(言い換えると、太さ)を利用して、被検体の観察部位である血管の血管径をシンプルかつ高精度に算出できる。
また、PC50は、学習処理を経て、被検体内に挿通されかつ幅方向に等間隔の目盛りが付されたガイドワイヤ150Aが映る血管画像中のガイドワイヤ150A近傍の血管内壁の位置を示す基準ポイントW12を検出可能な学習モデルをメモリ52あるいはストレージ55に保存する。PC50は、学習モデルに基づくAI(人工知能)により、1枚の血管画像中の基準ポイントW12と、基準ポイントW12を含む血管の形状と同一形状を構成可能な位置を示す複数の検出ポイントW2~W8とを特定し、基準ポイントW12および複数の検出ポイントW2~W8を含む血管の形状をフィッティングする。PC50は、血管の形状のフィッティング結果と基準ポイントW12からいずれかの検出ポイントまでの長さとガイドワイヤ150Aの幅方向のサイズG1とに基づいて、血管の血管径を算出する。これにより、血管内視鏡システム5は、既に学習処理により形成された基準ポイントの位置決め用のAIを用いることで、簡易かつ高精度に血管画像中の基準ポイントW12を位置決め可能となり、被検体内に挿通されるガイドワイヤ150Aの幅方向のサイズG1(言い換えると、太さ)あるいはガイドワイヤ150Aの起点(図15参照)からの目盛りの値(目盛り間隔)を利用して、被検体の観察部位である血管の血管径をシンプルかつ高精度に算出できる。
また、PC50は、血管の血管径の測定結果を血管画像GZ5に重畳してモニタ70に表示する(図6参照)。これにより、医師等のユーザは、血管径を視覚的に分かり易く把握できる。
以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
例えば、上述した実施の形態1では、等速動画は、撮像位置の異なる複数枚の血管画像を時系列に順次選択して構成される動画であったが、複数枚の血管画像は、時間軸上で等間隔に選択されてもよいし、不等間隔に選択されてもよい。