IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オリンパス株式会社の特許一覧

特開2024-169386内視鏡システム、内視鏡移動制御装置、方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169386
(43)【公開日】2024-12-05
(54)【発明の名称】内視鏡システム、内視鏡移動制御装置、方法およびプログラム
(51)【国際特許分類】
   A61B 1/00 20060101AFI20241128BHJP
   A61B 1/045 20060101ALI20241128BHJP
【FI】
A61B1/00 655
A61B1/045 623
A61B1/00 552
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2024083855
(22)【出願日】2024-05-23
(31)【優先権主張番号】63/468906
(32)【優先日】2023-05-25
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】佐々井 亮太
(72)【発明者】
【氏名】高山 裕行
【テーマコード(参考)】
4C161
【Fターム(参考)】
4C161GG13
4C161HH55
(57)【要約】      (修正有)
【課題】挿入部の長手軸方向と、先端の光軸方向とが異なる場合でも、内視鏡画像から直感的に内視鏡を所望の方向に移動させることができる内視鏡システムを提供する。
【解決手段】挿入部2aと、その基端に長手軸回りに回転可能に配置された撮像素子2eと、長手軸方向とは異なる方向に光軸を傾ける光学素子2bとを備える内視鏡2と、内視鏡を長手軸回りに回転可能に保持して移動させる移動装置と、プロセッサとを備え、移動装置に対し内視鏡を長手軸方向に移動させる第1の信号を送信し、送信前後の画像を用いて被写体の第1の移動方向M1を検出し、光学素子の長手軸回りの第1の回転量を推定し、移動装置に対し内視鏡を長手軸方向に直交する方向に移動させる第2の信号を送信し、送信前後の画像を用いて被写体の第2の移動方向M2を検出し、第2の移動方向および第1の回転量に基づいて移動装置と内視鏡との間の長手軸回りの第2の回転量を推定する。
【選択図】図4
【特許請求の範囲】
【請求項1】
長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子と、を備える内視鏡と、
該内視鏡を前記長手軸回りに回転可能に保持して移動させる移動装置と、
少なくとも1つのプロセッサと、を備え、
該プロセッサが、
前記移動装置に対し、前記内視鏡を前記長手軸方向に移動させるための第1の信号を送信し、
該第1の信号の送信前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出し、
該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定し、
前記移動装置に対し、前記内視鏡を前記長手軸方向に直交する方向に移動させる第2の信号を送信し、
該第2の信号の送信前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出し、
該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定する内視鏡システム。
【請求項2】
前記プロセッサが、
前記画像内の前記被写体における複数の特徴点の移動方向を前記第1の移動方向として検出するとともに、前記複数の特徴点の各前記第1の移動方向に沿う直線の交点の位置を算出し、
該交点の位置に基づいて前記第1の回転量を推定する請求項1に記載の内視鏡システム。
【請求項3】
前記プロセッサが、
前記第2の信号の送信により前記移動装置が移動した方向と前記第2の移動方向との差を考慮して前記第2の回転量を推定する、請求項1に記載の内視鏡システム。
【請求項4】
前記プロセッサが、
前記第2の信号の送信による前記画像内における前記被写体の移動方向を前記第2の回転量を可変パラメータとした複数パターンのシミュレーションにより算出し、前記第2の移動方向と一致するシミュレーション結果における前記可変パラメータの値を前記第2の回転量として推定する、請求項1に記載の内視鏡システム。
【請求項5】
前記撮像素子が、前記長手軸方向に直交して配置された撮像面を備え、
前記長手軸が、前記撮像面の撮像中心を通過する請求項1に記載の内視鏡システム。
【請求項6】
前記移動装置が、複数の関節を備え、
前記プロセッサからの信号により前記複数の関節のうち少なくとも1つを駆動することによって、前記挿入部の先端を3次元空間の所定の位置に移動させると同時に、前記挿入部の姿勢を前記長手軸回りの回転を除き制御可能である請求項5に記載の内視鏡システム。
【請求項7】
前記プロセッサが、
前記第2の信号の送信前後に取得された2つの前記画像の前記長手軸回りの角度が一致するように、前記第2の信号の送信前後に取得された2つの前記画像の少なくとも一方を画像処理によって回転させて前記第2の移動方向を検出する請求項6に記載の内視鏡システム。
【請求項8】
前記複数の関節が、前記信号により駆動可能な3つの関節と、2つの受動関節とからなり、
前記挿入部がトロッカに挿通され、
前記プロセッサが、
前記移動装置に対し、第3の信号を送信して、前記挿入部が前記トロッカから所定の閾値以上の反力を受けるまで前記長手軸方向の傾斜角度を変化させた後に、前記第1の移動方向の検出を行う請求項6に記載の内視鏡システム。
【請求項9】
前記内視鏡が、前記挿入部に固定された操作環を備え、
前記第1の回転量が、前記操作環の前記撮像素子に対する前記長手軸回りの回転角度の変化量である請求項6に記載の内視鏡システム。
【請求項10】
前記プロセッサが、前記第1の移動方向および前記第2の移動方向をオプティカルフローによって計算する請求項1に記載の内視鏡システム。
【請求項11】
内視鏡を移動させる移動装置を制御する内視鏡移動制御装置であって、
前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、
前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、
少なくとも1つのプロセッサを備え、
該プロセッサが、
前記移動装置に対し、前記内視鏡を前記長手軸方向に移動させる第1の信号を送信し、
該第1の信号の送信前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出し、
該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定し、
前記移動装置に対し、前記内視鏡を前記長手軸方向に直交する方向に移動させる第2の信号を送信し、
該第2の信号の送信前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出し、
該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定する内視鏡移動制御装置。
【請求項12】
内視鏡を移動させる移動装置を制御する内視鏡移動制御方法であって、
前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、
前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、
前記移動装置によって前記内視鏡を前記長手軸方向に移動させることと、
前記長手軸方向の移動の前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出することと、
該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定することと、
移動装置によって前記内視鏡を前記長手軸方向に直交する方向に移動させることと、
前記長手軸方向に直交する方向の移動の前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出することと、
該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定することとを含む内視鏡移動制御方法。
【請求項13】
内視鏡を移動させる移動装置を制御する内視鏡移動制御プログラムであって、
前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、
前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、
前記移動装置によって前記内視鏡を前記長手軸方向に移動させることと、
前記長手軸方向の移動の前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出することと、
該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定することと、
移動装置によって前記内視鏡を前記長手軸方向に直交する方向に移動させることと、
前記長手軸方向に直交する方向の移動の前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出することと、
該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定することとをコンピュータに実行させる内視鏡移動制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内視鏡システム、内視鏡移動制御装置、方法およびプログラムに関するものである。
【背景技術】
【0002】
従来、電動ホルダのような移動装置によって内視鏡を移動させる内視鏡システムが知られている。内視鏡を正確に移動させるために、内視鏡の座標系と移動装置の座標系とが相互に一致していることが望ましい。
例えば、術者がユーザインタフェースを使用して電動ホルダを遠隔操作するとき、術者は、内視鏡画像に基づいて内視鏡の所望の移動方向をユーザインタフェースに入力する。内視鏡の座標系と移動装置の座標系とが一致している場合、ユーザは内視鏡を所望の方向に直感的にかつ正確に移動させることができる。一方、内視鏡の座標系と移動装置の座標系とが一致していない場合、内視鏡の実際の移動方向がユーザインタフェースに入力される移動方向とは異なるので、ユーザは内視鏡を所望の方向に直感的にかつ正確に移動させることが難しい。
【0003】
可動アームにカメラシステムが取り付けられたロボットシステムにおいて、ロボットの座標系とカメラシステムの座標系との間の変換を補正する方法が知られている(例えば、特許文献1参照。)。特許文献1では、ターゲットの画像をカメラシステムによって取得し、画像を取得したときの可動アームの位置と画像内のターゲットの特徴点の位置とから前記変換を決定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第9188973号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、内視鏡の挿入部の長手軸方向と、内視鏡先端の光軸方向とが異なる内視鏡システムの場合には、内視鏡の可動アームへの取付角度および内視鏡先端の光軸方向によっては、内視鏡画像を見ながら直感的に内視鏡を所望の方向に移動させることが困難である。
【0006】
本発明は、上述した事情に鑑みてなされたものであって、内視鏡の挿入部の長手軸方向と、内視鏡先端の光軸方向とが異なる場合においても、内視鏡画像を見ながら直感的に内視鏡を所望の方向に移動させることができる内視鏡システム、内視鏡回転量推定方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様は、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子と、を備える内視鏡と、該内視鏡を前記長手軸回りに回転可能に保持して移動させる移動装置と、少なくとも1つのプロセッサと、を備え、該プロセッサが、前記移動装置に対し、前記内視鏡を前記長手軸方向に移動させるための第1の信号を送信し、該第1の信号の送信前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出し、該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定し、前記移動装置に対し、前記内視鏡を前記長手軸方向に直交する方向に移動させる第2の信号を送信し、該第2の信号の送信前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出し、該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定する内視鏡システムである。
【0008】
本発明の他の態様は、内視鏡を移動させる移動装置を制御する内視鏡移動制御装置であって、前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、少なくとも1つのプロセッサを備え、該プロセッサが、前記移動装置に対し、前記内視鏡を前記長手軸方向に移動させる第1の信号を送信し、該第1の信号の送信前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出し、該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定し、前記移動装置に対し、前記内視鏡を前記長手軸方向に直交する方向に移動させる第2の信号を送信し、該第2の信号の送信前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出し、該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定する内視鏡移動制御装置である。
【0009】
本発明の他の態様は、内視鏡を移動させる移動装置を制御する内視鏡移動制御方法であって、前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、前記移動装置によって前記内視鏡を前記長手軸方向に移動させることと、前記長手軸方向の移動の前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出することと、該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定することと、移動装置によって前記内視鏡を前記長手軸方向に直交する方向に移動させることと、前記長手軸方向に直交する方向の移動の前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出することと、該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定することとを含む内視鏡移動制御方法である。
【0010】
また、本発明の他の態様は、内視鏡を移動させる移動装置を制御する内視鏡移動制御プログラムであって、前記内視鏡が、長手軸方向に延びる筒状の挿入部と、該挿入部の基端に前記長手軸回りに回転可能に配置された撮像素子と、前記挿入部に設けられ前記長手軸方向とは異なる方向に光軸を傾ける光学素子とを備え、前記移動装置が、前記内視鏡を前記長手軸回りに回転可能に保持し、前記移動装置によって前記内視鏡を前記長手軸方向に移動させることと、前記長手軸方向の移動の前後において前記撮像素子により取得された2つの画像を用いて該画像内における被写体の第1の移動方向を検出することと、該第1の移動方向に基づいて前記撮像素子に対する前記光学素子の前記長手軸回りの第1の回転量を推定することと、移動装置によって前記内視鏡を前記長手軸方向に直交する方向に移動させることと、前記長手軸方向に直交する方向の移動の前後において前記撮像素子により取得された2つの前記画像を用いて該画像内における前記被写体の第2の移動方向を検出することと、該第2の移動方向および前記第1の回転量に基づいて前記移動装置と前記内視鏡との間の前記長手軸回りの第2の回転量を推定することとをコンピュータに実行させる内視鏡移動制御プログラムである。
【発明の効果】
【0011】
本発明によれば、内視鏡の挿入部の長手軸方向と、内視鏡先端の光軸方向とが異なる場合においても、内視鏡画像を見ながら直感的に内視鏡を所望の方向に移動させることができるという効果を奏する。
【図面の簡単な説明】
【0012】
図1】本発明の第1実施形態に係る内視鏡システムの全体構成図である。
図2図1の内視鏡システムの全体構成を示すブロック図である。
図3】内視鏡画像内の処置具領域および他の領域の一例を示す図である。
図4図1の内視鏡システムの内視鏡とトロッカとを示す部分的な縦断面図である。
図5A図1の内視鏡システムによる内視鏡移動制御方法を説明するフローチャートである。
図5B図5Aに続くフローチャートである。
図6】内視鏡画像から算出された移動ベクトルの一例を示す図である。
図7】内視鏡画像に設定された仮消失点の一例を示す図である。
図8】内視鏡の画角と消失点との関係を示す図である。
図9図7において設定された仮消失点から消失点を求める処理を説明する図である。
図10】内視鏡の長手軸に直交する方向への移動前後の内視鏡画像から取得された移動ベクトルから回転量θを求める処理を説明する図である。
図11図1の内視鏡システムの第1の変形例であって、内視鏡画像内の処置具領域、マージンおよび他の領域の一例を示す図である。
図12図1の内視鏡システムの第3の変形例であって、図6の移動ベクトルから消失点を求める処理を説明する図である。
図13図1の内視鏡システムの第5の変形例であって、図5Aに続くフローチャートを示す図である。
図14図1の内視鏡システムの第6の変形例であって、図5Aに代わるフローチャートを示す図である。
図15図14のフローチャートの第3の信号による移動装置の動作を説明する図である。
図16図1の内視鏡システムの第7の変形例であって、図5Aに続くフローチャートを示す図である。
図17図1の内視鏡システムの第8の変形例であって、図5Aに続くフローチャートを示す図である。
図18図1の内視鏡システムの第9の変形例を説明する内視鏡およびトロッカの部分的な縦断面図である。
図19図18の内視鏡システムにおける登録点の登録処理を説明するフローチャートである。
図20図18の内視鏡システムにおける内視鏡の先端と、複数の登録点およびピボット点との距離を説明する図である。
図21図18の内視鏡システムの図5Aに代わるフローチャートを示す図である。
図22】本発明の第2実施形態に係る内視鏡システムにおける内視鏡の湾曲関節の角度、画角および消失点の関係を示す図である。
図23図22の内視鏡システムにおける内視鏡の長手軸回りの回転量を説明する図である。
図24図22の内視鏡システムの図5Aに代わるフローチャートを示す図である。
図25図22の内視鏡システムにおいて画像中心と消失点との距離および回転量を求める処理を説明する図である。
【発明を実施するための形態】
【0013】
(第1実施形態)
本発明の第1実施形態に係る内視鏡システム1、内視鏡移動制御装置5、方法およびプログラムおよび記録媒体について図面を参照して説明する。
図1に示されるように、本実施形態に係る内視鏡システム1は、内視鏡2と、内視鏡2を保持し移動させる移動装置3と、ユーザによって操作される操作装置4と、操作装置4からの操作信号に基づいて移動装置3を制御する制御装置(内視鏡移動制御装置)5と、表示装置6とを備える。
【0014】
内視鏡2は、長尺かつ硬性の鏡筒部(挿入部)2aと、鏡筒部2a内に配置された光学系(光学素子)2bと、鏡筒部2aの基端に配置されたカメラヘッド2cとを有する硬性鏡である。また、内視鏡2は、鏡筒部2aの径方向中心に沿って延びる長手軸Aに対し、光学系2bにより所定の角度だけ傾けられた視軸(光軸)Bを有する斜視型の内視鏡2である。
【0015】
鏡筒部2aはカメラヘッド2cに対し長手軸A回りに回転可能に取り付けられている。鏡筒部2aには操作環2dが固定されている。操作者がカメラヘッド2cを保持して操作環2dを長手軸A回りに回転させることにより、カメラヘッド2cに対して鏡筒部2aを長手軸A回りに回転させることができる。あるいは、操作者は、操作環2dを保持してカメラヘッド2cを長手軸A回りに回転させることによっても、カメラヘッド2cに対して鏡筒部2aを長手軸A回りに回転させることができる。
【0016】
カメラヘッド2c内には、光学系2bにより集光された光を撮影する撮像素子2eが固定されている。撮像素子2eは、長手軸Aに直交しかつ長手軸Aが中心を通過するように配置された撮像面を備えている。撮像素子2eは、CCD(Charge Coupled Device)イメージセンサまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等のイメージセンサである。
【0017】
内視鏡2は、1以上の処置具7と共に体内に挿入され、1以上の処置具7を含む内視鏡画像(画像)C(図3参照。)を撮像素子2eによって取得し、制御装置5を経由して表示装置6に送信する。表示装置6は、液晶ディスプレイ、有機ELディスプレイ等の任意のディスプレイである。術者は、表示装置6に表示される内視鏡画像Cを観察しながら処置具7を操作する。
【0018】
移動装置3は、複数、例えば、3つの駆動関節(関節)3Mと2つの受動関節3Pとを有する5自由度のロボットアームである。移動装置3は、例えば、水平面に設置されるベース3aと、鉛直な第1軸線J1回りにベース3aに対して回転駆動される第1リンク3bとを備える。また、移動装置3は、水平な第2軸線J2回りに第1リンク3bに対して回転駆動される第2リンク3cと、水平な第3軸線J3回りに第2リンク3cに対して回転駆動される第3リンク3dとを備える。さらに、移動装置3は、第3軸線J3に直交し、第1軸線J1を含む平面に沿って延びる第4軸線J4回りに第3リンク3dに対して回転自在に支持された第4リンク3eと、第4軸線J4に直交する第5軸線J5回りに第4リンク3eに対して回転自在に支持された第5リンク3fとを備える。
【0019】
移動装置3は、第5リンク3fの先端に、内視鏡2の鏡筒部2aを長手軸A回りに回転可能に保持するホルダ3gを備える。ホルダ3gは、鏡筒部2aの長手軸Aが第4軸線J4と第5軸線J5との交点を通過しかつ、第5軸線J5に直交するように鏡筒部2aを保持している。移動装置3は5自由度であるが、ホルダ3gが鏡筒部2aを長手軸A回りに回転可能に保持しているので、全体として6自由度となり、内視鏡2を所望の姿勢および位置に配置することができる。
【0020】
移動装置3の3つの駆動関節3Mと2つの受動関節3Pとの連動した動作によって、内視鏡2が移動し、内視鏡2の位置および姿勢が3次元的に変更される。
内視鏡2の使用時には、図4に示すように、患者の腹壁Wに、腹壁Wを貫通して装着されたトロッカ8の貫通孔8aに内視鏡2の鏡筒部2aを挿入することにより、患者の腹腔内を観察する。トロッカ8は、腹壁W近傍のピボット点Xを支点として揺動可能であり、貫通孔8aの内径は鏡筒部2aの外径よりも若干大きく形成されている。貫通孔8aと鏡筒部2aとの間の隙間は、図示しない弾性材料からなるシール部材によって密封されている。
【0021】
3つの駆動関節3Mを駆動することにより、第3リンク3dの先端の3次元的な位置が一義的に決定される。内視鏡2はトロッカ8によって移動方向を制限されている。このため、第3リンク3dの先端位置を変化させると、内視鏡2は、トロッカ8をピボット点X回りに揺動させあるいはトロッカ8の貫通孔8a内において鏡筒部2aを長手軸A方向に移動させ、それに倣うように、2つの受動関節3Pを受動的に回転させる。ホルダ3gに対する鏡筒部2aの長手軸A回りの回転は、操作者が手動で調節した状態に維持される。
【0022】
移動装置3の3つの駆動関節3Mには、各々の回転角度を検出する角度センサ3hが備えられている。角度センサ3hは、例えば、各駆動関節3Mに設けられたエンコーダ、ポテンショメータまたはホールセンサである。
【0023】
操作装置4は、キー、ジョイスティック、ボタンおよびタッチパネル等の入力デバイスを含むユーザインタフェース4aを有する。操作者は、ユーザインタフェース4aを操作することによって、内視鏡2を移動させるための指示を操作装置4に入力することができる。操作装置4は、ユーザインタフェース4aの操作に基づく操作信号を制御装置5に送信する。
また、ユーザインタフェース4aは、操作者からのトリガの入力を受け付けることができる。トリガは、後述するように、内視鏡2の回転量β,θを推定する処理を実行させるためのものである。
【0024】
図2に示されるように、制御装置5は、少なくとも1つのプロセッサ5aと、メモリ5bと、記憶部5cと、入力インタフェース5dと、出力インタフェース5eとを備える。
制御装置5は、入力インタフェース5dおよび出力インタフェース5eを経由して周囲の内視鏡2、移動装置3、操作装置4および表示装置6と接続され、内視鏡画像C、駆動関節3Mの回転角度の情報および信号等をインタフェース5d,5eを経由して送受信する。
【0025】
メモリ5bは、例えば、ROM(read-only memory)またはRAM(Random Access Memory)領域を含む半導体メモリである。
記憶部5cは、コンピュータにより読み取り可能な非一時的な記録媒体であり、例えば、ハードディスクまたはフラッシュメモリ等の半導体メモリを含む不揮発性の記録媒体である。
プロセッサ5aは、操作装置4からの操作信号に基づいて移動装置3を制御することによって、操作者がユーザインタフェース4aに入力した指示に従って内視鏡2を移動させる。
【0026】
ここで、操作者は、ホルダ3gに取り付けられた内視鏡2を操作することにより、内視鏡2を2通りの方法で長手軸A回りに回転させることができる。第1に、操作環2dの操作によって、カメラヘッド2cに対して鏡筒部2aを長手軸A回りに回転させ、カメラヘッド2cと鏡筒部2aとの相対角度(第1の回転量)βを変化させることができる。第2に、鏡筒部2aをホルダ3gに対して長手軸A回りに回転させることにより、ホルダ3gに対する鏡筒部2aの視軸Bの方向を表す角度(第2の回転量)θを変化させることができる。
【0027】
内視鏡2を移動装置3に装着し、表示装置6に表示された内視鏡画像Cを見ながら操作者が直感的に上下左右に内視鏡2を動かすには、移動装置3と内視鏡2との間の回転量β,θが把握されている必要がある。
本実施形態に係る内視鏡システム1は、プロセッサ5aが、記憶部5cに記録されメモリ5bに読み出されたプログラム(内視鏡移動制御プログラム)を実行することにより、内視鏡2の回転量β,θを推定する。
【0028】
以下、本実施形態に係る内視鏡システム1による内視鏡移動制御方法について、図面を参照して説明する。
内視鏡2の回転量β,θの推定処理は、操作者がユーザインタフェース4aに対してトリガを入力することにより開始される。
【0029】
プロセッサ5aは、図5Aに示すように、まず、トリガを受け付けたか否かを判定し(ステップS1)、受け付けた場合には、ループ回数Nβ,Nθをそれぞれ初期設定する(ステップS2)。次いで、プロセッサ5aは、Nβ=1であるか否かを判定し(ステップS3)、Nβ=1である場合には、その時点で内視鏡2により取得された第1の内視鏡画像Cをメモリ5bに記憶する(ステップS4)。また、プロセッサ5aは、人工知能による画像認識等の公知の方法を用いて第1の内視鏡画像C内の処置具(動体)7を認識し、処置具7の領域を処置具領域Dとしてメモリ5bに記憶する(ステップS5)。そして、プロセッサ5aは、ループ回数Nβをインクリメントし(ステップS6)、ステップS3からの工程を繰り返す。
【0030】
プロセッサ5aは、ステップS3において、Nβ≠1であると判定した場合には、内視鏡2を長手軸Aに沿って一方向に移動させるように移動装置3を作動させる第1の信号を送信する(ステップS7)。移動装置3が第1の信号によって作動させられることによる内視鏡2の移動量が所定の閾値以上であるか否かを判定し(ステップS8)、閾値以上である場合には、処理を終了する。
【0031】
プロセッサ5aは、内視鏡2の移動量が閾値よりも小さいと判定した場合には、その時点で内視鏡2により取得された第2の内視鏡画像Cをメモリ5bに記憶する(ステップS9)。また、プロセッサ5aは、第2の内視鏡画像C内の処置具(動体)7を認識し、処置具7の領域を処置具領域Dとしてメモリ5bに記憶する(ステップS10)。
【0032】
そして、第1の内視鏡画像Cと第2の内視鏡画像Cとを用いて、内視鏡画像C内の被写体Sの第1の移動方向Mを検出する(ステップS11)。具体的には、プロセッサ5aは、オプティカルフロー等の公知の方法を使用し、移動装置3による内視鏡2の移動前後に撮像された2つの内視鏡画像Cから、処置具領域Dを除いた他の領域Eにおける被写体Sの移動ベクトルvobjを推定する。移動ベクトルvobjは、図6に示すように、内視鏡画像C内の他の領域Eにおける複数の異なる特徴点の移動方向をそれぞれ示す2次元ベクトルである。
【0033】
次いで、プロセッサ5aは、推定された移動ベクトルvobjの大きさが閾値以上であるか否かを判定する(ステップS12)。移動ベクトルvobjの大きさの判定は、推定されたいずれかの移動ベクトルvobjの大きさ、または、推定された移動ベクトルvobjの大きさの平均値を用いて行われる。
【0034】
そして、プロセッサ5aは、移動ベクトルvobjの大きさが閾値よりも小さい場合にはステップS7からの工程を繰り返す。プロセッサ5aは、移動ベクトルvobjの大きさが閾値以上となった場合には、推定された移動ベクトルvobjから内視鏡2の回転量βを推定する(ステップS13)。
【0035】
内視鏡2の回転量βの推定は、以下のようにして行われる。
まず、プロセッサ5aは、内視鏡画像C上の複数の特徴点について推定された複数の移動ベクトルvobjの方向に沿う直線の交点(以下、消失点とも言う。)を算出する。具体的には、プロセッサ5aは、図7に示すように、内視鏡画像Cの中心O(以下、画像中心という。)から半径Lの円周上に仮消失点Q~Q12を等間隔に複数配置し、各仮消失点Q~Q12の位置を記憶する。図7は、消失点Q~Q12を30°間隔で配置した例である。
【0036】
半径Lは、画像中心Oから消失点までの距離であり、式(1)により算出できる。
【数1】
ここで、図8に示すように、
Hは内視鏡画像Cの高さ(ピクセル)、
αは内視鏡2の長手軸Aに対する視軸Bの角度、
ψは内視鏡2の画角
である。
例えば、角度αは30°であってもよい。
【0037】
プロセッサ5aは、回転量β=0°のときの消失点Qの位置と画像中心Oとを結ぶ直線を基準線Rとして、基準線Rを、例えば、画像中心O回りに30°ずつ回転させた直線と半径Lの円との交点に仮消失点Q~Q12を設定する。これにより、例えば、基準線Rに対して30°回転させた位置の仮消失点Qが消失点として選定されるときには、内視鏡2の回転量βはβ=30°と推定できる。
【0038】
プロセッサ5aは、各仮消失点Qに対して、各移動ベクトルvと、各移動ベクトルvの起点pと仮消失点Qとを結ぶベクトル(Q-p)との内積を算出する。図9に、仮消失点Qとベクトルvの起点pとを結ぶベクトル(Q-p)および仮消失点Q12とベクトルvの起点pとを結ぶベクトル(Q12-p)を例示する。そして、プロセッサは、例えば、式(2)に示すように、全ての移動ベクトルvに対する内積の和を評価関数Uとして求め、評価関数Uが最小となる仮消失点Qを消失点として選定する。
【0039】
【数2】
図9に示す例では、仮消失点Q12が消失点として選定される。
これにより、プロセッサ5aは、選定された消失点に対応する回転角度、図9に示す例では、330°を内視鏡2の回転量βとして推定する。
【0040】
次に、図5Bに示すように、プロセッサ5aは、ループ回数Nθが、Nθ=1であるか否かを判定する(ステップS14)。Nθ=1である場合には、その時点で内視鏡2により取得された第3の内視鏡画像Cをメモリ5bに記憶する(ステップS15)。また、プロセッサ5aは、ステップS5と同様にして第3の内視鏡画像C内の処置具(動体)7の領域を処置具領域Dとしてメモリ5bに記憶する(ステップS16)。そして、プロセッサ5aは、ループ回数Nθをインクリメントし(ステップS17)、ステップS14からの工程を繰り返す。
【0041】
ステップS14において、プロセッサ5aは、Nθ≠1であると判定した場合には、内視鏡2を長手軸Aに直交する一方向に移動させるように移動装置3を作動させる第2の信号を送信する(ステップS18)。プロセッサ5aは、移動装置3が第2の信号によって作動させられることによる内視鏡2の移動量が所定の閾値以上であるか否かを判定し(ステップS19)、閾値以上である場合には、回転量推定処理を終了する。
【0042】
プロセッサ5aは、内視鏡2の移動量が閾値よりも小さい場合には、ステップS13において推定された回転量βを用い、回転量θを所定値、例えば、0°とした場合の、第2の信号の送信による内視鏡画像C内の被写体Sの想定される移動ベクトルvsysを算出する(ステップS20)。図10に、(β,θ)=(-90°,0°)の場合の移動ベクトルvsysを例示する。
そして、プロセッサ5aは、第2の信号による内視鏡2の移動後に取得された第4の内視鏡画像Cをメモリ5bに記憶する(ステップS21)。また、プロセッサ5aは、第4の内視鏡画像C内の処置具(動体)7を認識し、処置具7の領域を処置具領域Dとしてメモリ5bに記憶する(ステップS22)。
【0043】
そして、第3の内視鏡画像Cと第4の内視鏡画像Cとを用いて、内視鏡画像C内の被写体Sの第2の移動方向Mを検出する(ステップS23)。具体的には、プロセッサ5aは、オプティカルフロー等の公知の方法を使用し、移動装置3による内視鏡2の移動前後に撮像された2つの内視鏡画像Cから、処置具領域Dを除いた他の領域Eにおける被写体Sの移動ベクトルVrealを推定する。
【0044】
次いで、プロセッサ5aは、推定された移動ベクトルvrealの大きさが閾値以上であるか否かを判定する(ステップS24)。移動ベクトルvrealの大きさの判定は、推定されたいずれかの移動ベクトルvrealの大きさ、または、推定された移動ベクトルvrealの大きさの平均値を用いて行われる。
【0045】
そして、プロセッサ5aは、移動ベクトルvrealの大きさが閾値よりも小さい場合にはステップS18からの工程を繰り返す。移動ベクトルvrealの大きさが閾値以上となった場合には、プロセッサ5aは、想定された移動ベクトルvsysと推定された移動ベクトルvrealとのなす角度、図10に示す例では180°を内視鏡2の回転量θとして推定し(ステップS25)、処理を終了する。
【0046】
内視鏡2の回転量β,θが推定されると、プロセッサ5aは、推定された回転量β,θを用いて、ホルダ座標系Σrと内視鏡座標系Σeとが相互に一致するように、ホルダ座標系Σrを補正する。内視鏡座標系Σeは、撮像素子2eに対して固定された座標系であり、ホルダ座標系Σrは、ホルダ3gの先端に対して固定された座標系である。
【0047】
一例において、内視鏡座標系Σeは、相互に直交するXe軸、Ye軸およびZe軸を有する直交座標系であり、ホルダ座標系Σrは、相互に直交するXr軸、Yr軸およびZr軸を有する直交座標系である。Xe軸およびXr軸は長手軸Aと一致し、Ye軸およびYr軸は、内視鏡画像Cの水平方向(左右方向)に平行であり、Ze軸およびZr軸は内視鏡画像Cの鉛直方向(上下方向)に平行である。ホルダ座標系Σrと内視鏡座標系Σeとが相互に一致するとは、Xe軸およびXr軸の方向が相互に一致し、Ye軸およびYr軸の方向が相互に一致し、かつ、Ze軸およびZr軸の方向が相互に一致することを意味する。
【0048】
ただし、内視鏡2が長手軸A回りに回転量β,θだけ回転させられると、内視鏡座標系Σeとホルダ座標系Σrとの間にずれが生じる。このように内視鏡座標系Σeがホルダ座標系Σrと一致していない場合、表示装置6に表示される内視鏡画像Cを観察している操作者は、ユーザインタフェース4aの操作によって内視鏡2を所望の方向に直感的にかつ正確に移動させることが難しい。
【0049】
プロセッサ5aは、回転量β,θに基づいてホルダ座標系Σrを補正することによって、ホルダ座標系Σrを内視鏡座標系Σeに一致させる。具体的には、プロセッサ5aは、ホルダ座標系Σrが内視鏡座標系Σeに一致するように、回転量β,θに基づいて移動装置3のDH(Denavit-Hartenberg)パラメータを補正する。
プロセッサ5aは、補正されたホルダ座標系Σrに基づいて移動装置3を制御する。
【0050】
このように、本実施形態によれば、操作者が手動によって調整する回転量β,θを推定し、推定された回転量β,θを用いてホルダ座標系Σrを補正する。したがって、斜視鏡からなる内視鏡2であっても、操作者が内視鏡画像Cを観察しながら、ユーザインタフェース4aの操作によって内視鏡2を所望の方向に直感的にかつ正確に移動させることができる。
【0051】
また、内視鏡2の回転量β,θを、それぞれ、移動装置3を作動させる前後に取得された2つ内視鏡画像Cから算出することができる。すなわち、回転量β,θを検出するためにセンサ等の機器の追加は不要であり、回転量β,θをセンサレスで推定することができる。
【0052】
内視鏡2の回転量β,θを検出するセンサ等の機器を移動装置3に追加すれば、回転量β,θの計測を容易に実現することができる。しかし、この場合には、既存の移動装置3を使用することができず、移動装置3の改良が必要である。また、移動装置3のサイズおよび重量が増大し、移動装置3が手術の邪魔になり得る。したがって、本実施形態によれば、移動装置3の改良が不要であると共に、移動装置3を容易に小型化することができる。
【0053】
また、本実施形態によれば、内視鏡画像Cの内、処置具領域Dを除いた他の領域Eが移動ベクトルvobjの推定に使用される。これにより、内視鏡画像C内に動く処置具7が存在する場合においても、内視鏡2の移動方向を正確に表す高精度の移動ベクトルvobjが推定される。このような高精度の移動ベクトルvobjに基づいて内視鏡2の回転量β,θを算出し、ホルダ座標系Σrを正確に補正することができる。さらに、正確に補正されたホルダ座標系Σrに基づいて、操作者が操作装置4に入力した方向と正確に対応する方向に移動装置3によって内視鏡2を移動させることができる。
【0054】
(第1の変形例)
なお、本実施形態において、図11に示されるように、処置具領域推定部51が、処置具領域DにマージンFを加えた領域を除いた他の領域E’に基づいて、被写体Sの移動方向を推定してもよい。
マージンFは、処置具領域Dの輪郭に沿って延び処置具領域Dを囲む領域であり、例えば、所定の幅を有する帯状の領域である。
【0055】
処置具7の近傍において、被写体Sの移動が処置具7の動きに影響される可能性がある。例えば、処置具7に押し引きされることによって、処置具7の近傍において被写体Sが部分的に動くことがある。
処置具領域DにマージンFを加えた領域を除外することによって、被写体Sの移動ベクトルvobj,vrealの推定精度を向上し、内視鏡2の回転量β,θをさらに正確に推定することができる。
【0056】
(第2の変形例)
また、本実施形態においては、回転量βに対応する複数の仮消失点Qを設定し、数2に示される評価関数Uによって消失点を選定した。この場合に、仮消失点を30°毎に設定したが、さらに小さい角度毎に設定してもよい。これにより、より精度よく回転量βを推定することができる。
【0057】
(第3の変形例)
また、回転量βに対応する複数の仮消失点Qを設定することに代えて、内視鏡画像C内の複数の特徴点の移動ベクトルvobjに沿う複数の直線の関数を求め、図12に示すように、これらの直線の交点を消失点として算出してもよい。そして、算出された交点と画像中心Oとを結ぶ直線の基準線Rに対する角度を回転量βとして算出してもよい。これにより、さらに精度よく回転量βを推定することができる。
【0058】
(第4の変形例)
また、上述したように、内視鏡2の鏡筒部2aとトロッカ8の貫通孔8aとの間には径方向に隙間が存在する。移動装置3が受動関節3Pを有する場合には、鏡筒部2aを長手軸A方向に移動させようとしても、隙間分だけ長手軸Aに交差する方向に移動してしまうことが起こり得る。回転量βを推定するために、鏡筒部2aを長手軸A方向に移動させたときのオプティカルフローを利用しているので、鏡筒部2aが長手軸Aに交差する方向に移動してしまったのでは、消失点ひいては回転量βの推定精度が低下する。
【0059】
そこで、鏡筒部2aとトロッカ8との間の隙間分よりも鏡筒部2aを長手軸A方向に十分に大きく(例えば、隙間が2~3mmの場合、20mm以上)移動させることが好ましい。これにより、隙間によって発生する移動ベクトルvobjのずれ量の割合を低減し、結果として、回転量βの推定精度を向上することができる。
【0060】
(第5の変形例)
また、内視鏡2の鏡筒部2aを所望の位置および姿勢に精度よく配置するには、6自由度の移動装置3が必要である。移動装置3としては、6自由度を有するロボットアームが一般的であるが、3自由度以上の移動装置を用いることができる。本実施形態においては、上述したように6自由度目のホルダ3gは、内視鏡2を長手軸A回りに手動によって回転可能に保持している。このため、例えば、内視鏡2の姿勢によっては、内視鏡2の鏡筒部2aを長手軸Aに直交する方向に移動させると、内視鏡2全体が長手軸A回りに回転する場合がある。この場合には、移動の前後において得られる内視鏡画像Cが回転し、被写体Sの移動方向を正しく算出することが難しくなる。
【0061】
そこで、図13に示すように、プロセッサ5aは、上述したステップS14において、Nθ=1ではないと判定された場合に、移動装置3を動作させるための移動装置3の先端の目標速度を設定する(ステップS26)。そして、プロセッサ5aは、設定された目標速度に基づいて、移動装置3が6自由度であると仮定して、逆運動学から各関節3M,3Pの角速度を算出し、算出された角速度を達成するための第2の信号を算出する(ステップS27)。
【0062】
この場合には、実際には存在しない内視鏡2を長手軸A回りに回転させる関節に対する第2の信号も算出される。このようにして算出された第2の信号が移動装置3に送信されると、移動装置3が6自由度である場合には、内視鏡2全体が長手軸A回りに回転させられることにより内視鏡2の姿勢が補償されるが、本実施形態の移動装置3は長手軸A回りの駆動関節を有しないので、補償はなされない。
【0063】
そこで、プロセッサ5aは、移動装置3の作動後にステップS21において記憶された内視鏡画像Cを、実際には存在しない長手軸A回りの関節に対して算出された第2の信号に対応する回転角度だけ回転させる(ステップS28)。これにより、内視鏡2により取得される内視鏡画像Cとしては、移動装置3が6自由度を有する場合と同じものを取得することができ、第2の信号の送信前後に取得された2つの内視鏡画像Cの長手軸A回りの角度が一致するように、第2の信号の送信前後に取得された2つの内視鏡画像Cの少なくとも一方を画像処理によって回転させて、移動の前後における被写体Sの移動方向を正しく算出することができる。
【0064】
(第6の変形例)
また、上述したように、本実施形態においては、移動装置3の先端の2つの関節は、受動関節3Pであり、モータおよび角度センサを有しない。このため、3つの駆動関節3Mを駆動させると、内視鏡2の鏡筒部2aがトロッカ8を揺動させ、トロッカ8から受ける反力によって、トロッカ8の貫通孔8aに沿って移動させられ、それに倣って、受動関節3Pが受動的に作動する。
【0065】
しかしながら、上述したように、トロッカ8の貫通孔8aの内面と内視鏡2の鏡筒部2aの外面との間に隙間が存在する。このため、図4に示すように、鏡筒部2aがトロッカ8から反力を受けていない状態では、第1の信号送信によって内視鏡2を長手軸A方向に移動させようとしても移動開始後、鏡筒部2aは長手軸A方向に交差する方向に移動してしまう場合がある。この場合には、正しい移動ベクトルvovjが得られないので、内視鏡2の回転量βの推定精度が低下する。
【0066】
そこで、図14に示すように、第1の内視鏡画像Cの取得前に、プロセッサ5aが移動装置3に対して、第3の信号を送信し(ステップS30)、鏡筒部2aがトロッカ8から所定の閾値以上の反力を受ける位置まで内視鏡2を移動させてもよい。例えば、第3の信号の送信により、図15に示すように、鏡筒部2aの傾斜角度を変化させて、鏡筒部2aと貫通孔8aとの間の図示しないシール部材および/または腹壁Wを弾性変形させ、所定の閾値以上の反力を発生させればよい。この後に、ステップS3からの工程を実施することにより、回転量βを精度よく推定することができる。
【0067】
(第7の変形例)
また、移動装置3が受動関節3Pを有する場合には、内視鏡2の回転量θを推定する際にも不都合が生じる場合がある。すなわち、鏡筒部2aとトロッカ8の貫通孔8aとの間に隙間がある場合には、内視鏡2を長手軸Aに直交する方向に真っ直ぐに移動させようとしても、受動関節3Pが隙間分だけ勝手に動いて、真っ直ぐに動かせない場合がある。
【0068】
そこで、図16に示すように、上述したステップS14において、Nθ=1ではないと判定された場合に、プロセッサ5aが、内視鏡2を真っ直ぐに動かすために受動関節3Pが動くこととなる内視鏡2の移動方向を実現するための第2の信号を算出する(ステップS31)。そして、プロセッサ5aは、このようにして算出された第2の信号を移動装置3に送信してもよい。
受動関節3Pが動く方向に内視鏡2を移動させるので、内視鏡2を長手軸Aに直交する方向に真っ直ぐに移動させることができ、回転量θの推定精度を向上することができる。
【0069】
(第8の変形例)
また、本実施形態においては、ステップS20において、想定される移動ベクトルvsysを算出し、ステップS25において、移動ベクトルvsysと推定される移動ベクトルvrealとのなす角度を内視鏡2の回転量θとして推定した。これに代えて、図17に示すように、プロセッサ5aが、複数の回転量θについてシミュレーションを行って、内視鏡画像C上の被写体Sの移動ベクトルを算出し、実際の移動ベクトルvrealと移動方向が一致するシミュレーションにおいて使用した回転量θを推定結果として採用してもよい。
【0070】
すなわち、まず、プロセッサ5aは、ステップS15,S16において、第1の内視鏡画像Cおよび処置具領域Dを記憶した時点での移動装置3の各駆動関節3Mの角度を記憶する(ステップS32)。そして、プロセッサ5aは、十分な大きさの実際の移動ベクトルvrealが算出された時点で、再度、移動装置3の各駆動関節3Mの角度を記憶する(ステップS33)。その後、プロセッサ5aは、回転量θを変化させたシミュレーションにより、それぞれ被写体Sの移動ベクトルvsimuを算出する(ステップS34)。そして、プロセッサ5aは、実際の移動ベクトルvrealに移動方向が一致する移動ベクトルvsimuが算出されたシミュレーションを選定し、そのシミュレーションにおいて使用された回転量θを、推定値として採用する(ステップS35)。
【0071】
シミュレーションにおいては、ステップS32,S33においてそれぞれ記憶した各関節3Mの角度、ステップS13において推定した回転量β、各リンク3b,3c,3dの長さおよび内視鏡2の先端から被写体Sまでの距離を固定値として用いる。そして、プロセッサ5aは、回転量θをパラメータとして、被写体Sの移動ベクトルvsimuを算出する複数のシミュレーションを行う。
【0072】
本実施形態によれば、移動の前後における移動装置の各駆動関節3Mの実際の角度を用いてシミュレーションを行うので、移動装置が5自由度であること、および受動関節3Pを有することによる内視鏡2の姿勢変動を加味して移動ベクトルvsimuを算出できる。したがって、内視鏡2の先端が長手軸Aに直交する方向に真っ直ぐに移動することを前提として算出される第1実施形態の移動ベクトルvsysと比較して、移動ベクトルvsimuを精度よく算出でき、回転量θの推定精度を向上することができる。
【0073】
また、第6~第8の変形例を個別に実施する場合について説明したが、これに代えて、これらの少なくとも2つを組み合わせて実施してもよい。
【0074】
(第9の変形例)
また、上述したようにトロッカ8を経由して内視鏡2を挿入する場合に、回転量βの推定のために内視鏡2を長手軸Aに沿って前進させ過ぎると、内視鏡2の先端が腹腔内の被写体Sに接触することが考えられる。一方、内視鏡2を長手軸Aに沿って後退させ過ぎると、内視鏡2の先端がトロッカ8内に入ってしまい、十分なオプティカルフローが得られないことが考えられる。
【0075】
そこで、操作者が、予め、内視鏡画像Cを確認しながら移動装置3を動作させて、図18に示すように、先端が体腔内の被写体Sに接触しない位置および姿勢に内視鏡2を移動させ、その時の内視鏡2の先端の3次元位置を登録点Tとして登録しておく。そして、回転量βの推定処理は、登録点Tに内視鏡2の先端を配置した状態から、内視鏡2を長手軸Aに沿って後退させる方向に移動させることにより実施すればよい。
【0076】
具体的には、図19に示すように、プロセッサ5aは、内視鏡2の先端の3次元位置を登録点Tとして登録する(ステップS36)。登録点Tは1個でもよいし複数でもよい。図20に示すように、複数の登録点Tを登録する場合、プロセッサ5aは、登録を終了するか否かを判定し(ステップS37)、任意の回数だけステップS36の工程を繰り返す。
【0077】
そして、内視鏡2の先端が任意の位置に配置されている状態で、回転量β,θの推定処理が開始されるときには、図21に示すように、プロセッサ5aは、内視鏡2の先端とピボット点Xとの距離Lを算出し(ステップS38)する。そして、プロセッサ5aは、距離Lが閾値以下であるか否かを判定し(ステップS39)、距離Lが閾値よりも大きい場合には、ステップS2からの工程を実施する。この場合に、ステップS7において送信される第1の信号による移動装置3の動作方向は、内視鏡2を長手軸Aに沿って前進させる方向または後退させる方向のいずれであってもよい。
【0078】
ステップS39において、距離Lが閾値以下であると判定された場合には、プロセッサ5aは、全ての登録点Tについて、内視鏡2の先端と登録点Tとの距離Lを算出する(ステップS40)。そして、プロセッサ5aは、算出された距離L2が最も小さい登録点Tに内視鏡2の先端を移動させ(ステップS41)、その後に、ステップS2からの工程を実施する。この場合には、ステップS7において送信される第1の信号により移動装置3の動作方向は、内視鏡2を長手軸Aに沿って後退させる方向に限られる。
【0079】
このように、本実施形態によれば、回転量βの推定処理において、トロッカ8内に入ってしまう不都合の発生を防止して、効率よく回転量βを推定することができる。特に、登録点Tを登録しておくだけで、推定開始時における内視鏡2の先端位置に関わらず、推定処理を実施できる。したがって、操作者が毎回、距離L1が閾値よりも大きく確保されている位置まで、手動で内視鏡2を動かす手間をなくすことができるという利点がある。
【0080】
また、移動装置3の作動によって内視鏡2の先端を登録点Tに移動させる場合に、プロセッサ5aは内視鏡2の先端を以下の通りに移動させることが好ましい。まず、内視鏡2の先端とピボット点Xとの距離L1が一定距離以下となるまで、内視鏡2を長手軸Aに沿って後退させる。次いで、内視鏡2の長手軸Aが、移動させたい登録点Tとピボット点Xとを結ぶ直線と平行となるように内視鏡2の姿勢を調整する。最後に、内視鏡2の先端が登録点Tに対して所定の閾値以下の距離となるまで、内視鏡2を長手軸Aに沿って移動させる。これにより、回転量βの推定処理の開始時における内視鏡2の先端と、移動させたい登録点Tとの間に組織、処置具等の障害物が存在しても、障害物に接触させることなく、内視鏡2の先端を登録点Tまで移動させることができる。
【0081】
また、本実施形態においては、3つの駆動関節3Mと2つの受動関節3Pとを備える移動装置3を例示した。これに代えて、5つ以上の駆動関節3Mを有する移動装置3を採用してもよい。これにより、内視鏡2の位置および姿勢をより精度よく制御することができる。しかしながら、駆動関節3Mはモータおよび角度センサを必要とするため、移動装置3が大型化する。したがって、本実施形態によれば、内視鏡2の位置および姿勢を達成可能な最低限の駆動関節3Mを備えることにより、移動装置3を小型化して、移動装置3が手術の邪魔になるのを防止することができる。
【0082】
また、本実施形態においては、カメラヘッド2c内の撮像素子2eが、鏡筒部2aの長手軸Aに直交しかつ長手軸Aが撮像面の中心を通るように配置されていることとした。これに代えて、カメラヘッド2c内において、ミラーやプリズム等の光学素子2bによって光軸Bを傾ける場合には、撮像素子2eは、長手軸Aに対して傾けられた光軸Bに直交しかつその光軸Bが撮像面の中心を通るように配置されてもよい。
【0083】
(第2実施形態)
次に、本発明の第2実施形態に係る内視鏡システム1、内視鏡移動制御装置5、方法およびプログラムおよび記録媒体について説明する。本実施形態において、第1実施形態と異なる点について説明し、第1実施形態と共通の構成については同一の符号を付して説明を省略する。
【0084】
本実施形態に係る内視鏡システム1は、内視鏡2が、鏡筒部2aに設けられた視軸Bを傾ける光学素子2bに代えて、図22および図23に示すように、鏡筒部2aの先端に2自由度の湾曲関節2fを有する点において、第1実施形態と相違する。湾曲関節2fが2自由度を有するので、光学素子2bによる視軸Bの傾き方向を長手軸A回りに回転させるための操作環2dは存在しない。
【0085】
本実施形態の説明において、図22に示すように、湾曲関節2fの湾曲による鏡筒部2aの長手軸Aに対する視軸Bの傾き角度を回転量γとし、図23に示すように、長手軸Aを中心とした湾曲関節2fの湾曲方向を示す角度を回転量δとする。これらの回転量γ,δによって、内視鏡2の湾曲関節2fの2自由度が定義される。また、回転量θは、第1実施形態と同様に、内視鏡2の鏡筒部2aのホルダ3gへの取付角度であり、操作者が移動装置3を介することなく手動で任意に変更することができる。
【0086】
本実施形態に係る内視鏡システム1は、プロセッサ5aが、記憶部5cに記録されメモリ5bに読み出されたプログラム(内視鏡移動制御プログラム)を実行することにより、内視鏡2の回転量γ,δ,θを推定する。
【0087】
以下、本実施形態に係る内視鏡システム1による内視鏡移動制御方法について、図面を参照して説明する。
図24に示すように、本実施形態に係る内視鏡移動制御方法は、ステップS42,S43,S44において、ループ回数Nβに代えてループ回数Nγδを用いる点で相違するが、ステップS12までの工程は、第1実施形態と同様に行う。
【0088】
本実施形態においては、回転量γ,δを推定する(ステップS45)において第1実施形態と相違している。
回転量γは、図22に示される位置関係において、θ=0°とし、消失点と画像中心Oとの距離Lを用いて、式(3)によって求めることができる。
【数3】
【0089】
ここで、距離Lを以下の通りに求める。
まず、図25に示すように、ステップS11において算出された内視鏡画像C上の2以上の特徴点の移動ベクトルvobjを用いて、各ベクトルの方向を示す直線の方程式を求め、これらの直線の方程式から、直線の交点を消失点として求める。これにより、画像中心Oから消失点までの距離Lが求められる。
【0090】
求められた距離Lを式(3)に代入することにより、回転量γを推定することができる。また、算出された消失点と画像中心Oとを結ぶ直線の基準線Rに対する角度を回転量δとして推定することができる。また、回転量θは、第1実施形態と同様にして推定することができる。
【0091】
このように、本実施形態によれば、操作者が手動によって調整する内視鏡2の湾曲関節2fの2自由度の回転量γ,δおよび手動によって調整する内視鏡2の取付角度である回転量θを推定し、推定された回転量γ,δ,θを用いてホルダ座標系Σrを補正する。したがって、湾曲関節2fを有する内視鏡2であっても、操作者が内視鏡画像Cを観察しながら、ユーザインタフェース4aの操作によって内視鏡2を所望の方向に直感的にかつ正確に移動させることができる。
【符号の説明】
【0092】
1 内視鏡システム
2 内視鏡
2a 鏡筒部(挿入部)
2b 光学系(光学素子)
2c カメラヘッド
2d 操作環
2e 撮像素子
3 移動装置
3M 駆動関節(関節)
3P 受動関節
5 制御装置(内視鏡移動制御装置)
5a プロセッサ
8 トロッカ
S 被写体
A 長手軸
B 光軸
第1の移動方向
第2の移動方向
β 第1の回転量
θ 第2の回転量
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25