(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-01
(54)【発明の名称】手術ツールの先端及び向きの決定
(51)【国際特許分類】
A61B 34/30 20160101AFI20220624BHJP
【FI】
A61B34/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021564314
(86)(22)【出願日】2020-06-10
(85)【翻訳文提出日】2021-10-28
(86)【国際出願番号】 IB2020055457
(87)【国際公開番号】W WO2020254920
(87)【国際公開日】2020-12-24
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】チェン シャオジン
(72)【発明者】
【氏名】ホアン コ-カイ アルバート
(72)【発明者】
【氏名】リュウ ミン-チャン
(57)【要約】
実装は、一般に、手術器具のツールの先端の位置及び手術器具の向きを決定することに関する。いくつかの実装では、方法は、複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップを含む。前記方法は、更に、前記少なくとも1つの画像フレーム内の手術ツールを検出するステップを含む。前記方法は、更に、前記手術ツールの先端の位置を決定するステップを含む。前記方法は、更に、前記手術ツールの向きを決定するステップを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムであって、
1又は2以上のプロセッサと、
前記1又は2以上のプロセッサによって実行するための1又は2以上の非一時的コンピュータ可読記憶媒体に符号化され、かつ実行時に動作を実行するように作動可能であるロジックと、
を含み、前記動作は、
複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップと、
前記少なくとも1つの画像フレーム内の手術ツールを検出するステップと、
前記手術ツールの先端の位置を決定するステップと、
前記手術ツールの向きを決定するステップと、
を含む、
ことを特徴とするシステム。
【請求項2】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応することを特徴とする、請求項1に記載のシステム。
【請求項3】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、
前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、
を含む、
ことを特徴とする、請求項1に記載のシステム。
【請求項4】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップと、
前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、
を含む、
ことを特徴とする、請求項1に記載のシステム。
【請求項5】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含むことを特徴とする、請求項1に記載のシステム。
【請求項6】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップと、
前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、
を含む、
ことを特徴とする、請求項1に記載のシステム。
【請求項7】
前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、ディープラーニングに基づいて実行するステップを含むことを特徴とする、請求項1に記載のシステム。
【請求項8】
プログラム命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記プログラム命令は、1又は2以上のプロセッサによって実行された時に、動作を実行するように作動可能であり、前記動作は、
複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップと、
前記少なくとも1つの画像フレーム内の手術ツールを検出するステップと、
前記手術ツールの先端の位置を決定するステップと、
前記手術ツールの向きを決定するステップと、
を含む、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項9】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応することを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項10】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、
前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、
を含む、
ことを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項11】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップと、
前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、
を含む、
ことを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項12】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含むことを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項13】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、
前記手術ツールの複数のキーポイントを生成するステップと、
前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、
を含む、
ことを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項14】
前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、ディープラーニングに基づいて実行するステップを含むことを特徴とする、請求項8に記載のコンピュータ可読記憶媒体。
【請求項15】
コンピュータ実装方法であって、
複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップと、
前記少なくとも1つの画像フレーム内の手術ツールを検出するステップと、
前記手術ツールの先端の位置を決定するステップと、
前記手術ツールの向きを決定するステップと、
を含む、
ことを特徴とする方法。
【請求項16】
更に、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応することを特徴とする、請求項15に記載の方法。
【請求項17】
更に、
前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、
前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、
を含む、
ことを特徴とする、請求項15に記載の方法。
【請求項18】
更に、
前記手術ツールの複数のキーポイントを生成するステップと、
前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、
を含む、
ことを特徴とする、請求項15に記載の方法。
【請求項19】
更に、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含むことを特徴とする、請求項15に記載の方法。
【請求項20】
更に、
前記手術ツールの複数のキーポイントを生成するステップと、
前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、
を含む、
ことを特徴とする、請求項15に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
[01] コンピュータ支援手術は、コンピュータ技術を使用して、内視鏡手術、腹腔鏡手術等を含む処置などの医療処置を誘導又は実行する。手術中に、外科医は、様々なツールを使用して、手術を行う必要がある場合がある。カメラ及びモニタは、外科医がロボットアームを使用して、複数の手術ツールを操作するのを助けることができる。しかしながら、手術中に手術ツールをモニタ上でよく見ることが困難である可能性がある。
【発明の概要】
【課題を解決するための手段】
【0002】
[02] 実装は、一般に、手術器具のツールの先端の位置及び手術器具の向きを決定することに関する。いくつかの実装では、システムは、1又は2以上のプロセッサを含み、前記1又は2以上のプロセッサによって実行するための1又は2以上の非一時的コンピュータ可読記憶媒体に符号化されるロジックを含む。前記ロジックは、実行時に、前記1又は2以上のプロセッサに動作を実行させるように作動可能であり、前記動作は、複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップと、前記少なくとも1つの画像フレーム内の手術ツールを検出するステップと、前記手術ツールの先端の位置を決定するステップと、前記手術ツールの向きを決定するステップと、を含む。
【0003】
[03] 更に、前記システムについて、いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応する。いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、を含む。いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップと、前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、を含む。いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含む。いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップと、前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、を含む。いくつかの実装では、前記ロジックは、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、ディープラーニングに基づいて実行するステップを含む。
【0004】
[04] いくつかの実施形態では、プログラム命令を記憶した非一時的コンピュータ可読記憶媒体が提供される。前記命令は、1又は2以上のプロセッサによって実行された時に、前記1又は2以上のプロセッサに動作を実行させるように作動可能であり、前記動作は、複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップと、前記少なくとも1つの画像フレーム内の手術ツールを検出するステップと、前記手術ツールの先端の位置を決定するステップと、前記手術ツールの向きを決定するステップと、を含む。
【0005】
[05] 更に、前記コンピュータ可読記憶媒体について、いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応する。いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、を含む。いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップと、前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、を含む。いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含む。いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの複数のキーポイントを生成するステップと、前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、を含む。いくつかの実装では、前記命令は、実行時に動作を実行するように更に作動可能であり、前記動作は、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、ディープラーニングに基づいて実行するステップを含む。
【0006】
[06] いくつかの実装では、方法は、複数の画像フレームのうちの少なくとも1つの画像フレームを受け取るステップを含む。前記方法は、更に、前記少なくとも1つの画像フレーム内の手術ツールを検出するステップを含む。前記方法は、更に、前記手術ツールの先端の位置を決定するステップを含む。前記方法は、更に、前記手術ツールの向きを決定するステップを含む。
【0007】
[07] 更に、前記方法について、いくつかの実装では、前記方法は、更に、前記手術ツールの複数のキーポイントを生成するステップを含み、前記複数のキーポイントのうちの各キーポイントは、前記手術ツールの異なる部分に対応する。いくつかの実装では、前記方法は、更に、前記手術ツールの複数のキーポイントを生成するステップであって、前記複数のキーポイントのうちの少なくとも1つのキーポイントは、前記手術ツールの前記先端に対応する、ステップと、前記手術ツールの前記先端に対応する前記少なくとも1つのキーポイントに基づいて、前記手術ツールの前記先端の前記位置を決定するステップと、を含む。いくつかの実装では、前記方法は、更に、前記手術ツールの複数のキーポイントを生成するステップと、前記複数のキーポイントに基づいて、前記手術ツールの前記向きを決定するステップと、を含む。いくつかの実装では、前記方法は、更に、前記手術ツールの前記先端の前記位置を決定するステップと、前記手術ツールの前記向きを決定するステップとを、実時間で実行するステップを含む。いくつかの実装では、前記方法は、更に、前記手術ツールの複数のキーポイントを生成するステップと、前記手術ツールの各キーポイントのキーポイント信頼スコアを決定するステップと、を含む。
【0008】
[08] 本明細書の残りの部分及び添付図面の参照により、本明細書に開示する特定の実装の特質及び利点の更なる理解を達成することができる。
【図面の簡単な説明】
【0009】
【
図1】本明細書で説明する実装のために使用することができる例示的な作業環境のブロック図である。
【
図2】いくつかの実装による、手術器具のツールの先端の位置及び手術器具の向きを決定するための例示的なフロー図である。
【
図3】いくつかの実装による、手術ツール及び境界ボックスを含む例示的な画像フレームを示す図である。
【
図4】いくつかの実装による、手術ツール及びキーポイントを含む例示的な画像フレームを示す図である。
【
図5】いくつかの実装による、手術器具のツールの先端の位置及び手術器具の向きを決定するための例示的なフロー図である。
【
図6】いくつかの実装による、手術器具のツールの先端の位置を決定するための例示的なフロー図である。
【
図7】本明細書で説明するいくつかの実装のために使用することができる例示的なネットワーク環境のブロック図である。
【
図8】本明細書で説明するいくつかの実装のために使用することができる例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0010】
[17] 実装は、一般に、手術器具のツールの先端の位置及び手術器具の向きを決定することに関する。本明細書でより詳細に説明するように、システムは、カメラから画像フレームを受け取る。様々な実装では、画像フレームは、ビデオストリームの一連の画像フレームのうちの1つとすることができる。システムは、画像フレームのうちの少なくとも1つの画像フレーム内の手術器具又はツールを検出する。システムは、更に、手術ツールの先端の位置を決定する。システムは、また、手術ツールの向きを決定する。
【0011】
[18]
図1に、本明細書で説明する実装のために使用することができる例示的な作業環境100のブロック図を示す。本明細書で説明する様々な実装を実行するシステム102が示されている。システム102は、カメラ104を制御し、カメラ104は、作業領域106、すなわち手術領域のビデオを取り込む。ビデオは、カメラ104によって記録される手術ビデオとすることができる。システム102は、カメラ104に、ネットワーク110を介してカメラ104からビューアクライアント108にビデオストリームを送らせる。様々な実装では、ビデオを使用して、腹腔鏡手術中に外科医などのユーザを楽にすることができる。例えば、外科医が、組織と相互に作用するように作業領域106内に示される手術ツール112を操作している時に、外科医は、組織と相互に作用する手術ツール112の視覚画像を見ることができる。様々な実装では、外科医は、その手で直接的に及び/又はロボットアームで手術ツール112を操作していようと、手術ツール112の視覚画像を見ることもできる。本明細書でより詳細に説明するように、システム102は、カメラ104によって取り込まれる手術ツール112の特性を分析する。
【0012】
[19]
図2に、いくつかの実装による、手術器具のツールの先端の位置及び手術器具の向きを決定するための例示的なフロー図を示す。以下により詳細に説明するように、システムは、手術器具のツールの先端の位置を決定することを含む様々な機能を実行する。
図1及び
図2の両方を参照すると、ブロック202において、方法を開始して、システム102などのシステムが、少なくとも1つの画像フレームを受け取る。様々な実装では、受け取られた画像フレームは、システムがビデオストリームからアクセス又は取得する一連の画像フレームからのものである。ビデオストリームは、例えば、手術ビデオとすることができる。
【0013】
[20] ブロック204において、システム102は、画像フレーム内の手術ツール112などの手術ツールを検出する。いくつかの実装では、システムは、まず、受け取られた画像フレーム内の1又は2以上のオブジェクトを検出する。システム102は、オブジェクト認識技術を使用して、受け取られた画像内の特定のオブジェクトを検出することができる。
【0014】
[21]
図3に、いくつかの実装による、手術ツール112及び境界ボックス304を含む例示的な画像フレーム302を示す。図示のように、様々な実装では、システムは、最初に、画像フレーム302に示される場面において境界ボックス304内の手術ツール112又は対象の画像を検出する。
【0015】
[22] 境界ボックス304は、手術ツール112の境界を画定する視覚インジケータである。境界ボックス304は矩形として示されているが、境界ボックス304の実際の形状及びサイズは、手術ツールの形状及びサイズに応じて変えることができる。
【0016】
[23] ブロック206において、システム102は、手術ツールの先端の位置を決定する。様々な実装では、システムは、システムが生成するキーポイントに基づいて、手術ツールの先端の位置を決定する。
【0017】
[24]
図4に、いくつかの実装による、手術ツール112及びキーポイントを含む例示的な画像フレーム302を示す。手術ツール112上の様々な位置にキーポイント402、404、406、及び408を示す。キーポイント402及び404は、手術ツール112の先端に位置決めされる又は位置する。この特定の例では、手術ツール112はハサミ410を含み、キーポイント402及び404は、ハサミ410の先端に位置する。
【0018】
[25] 4つのキーポイントが示されているが、キーポイントの特定の数は、手術ツールの構成要素の数、構成、及び形状に応じて変えることができる。また、キーポイントの特定の数及び位置は、手術ツールの構成要素の数、構成、及び形状に応じて変えることができる。手術ツールの先端の位置を決定することを対象とする例示的な実装について、
図5に関連して以下により詳細に説明する。
【0019】
[26] ブロック208において、システム102は、手術ツール112の向きを決定する。様々な実装では、システムは、システムが生成するキーポイントに基づいて、手術ツールの先端の位置を決定する。
図4を更に参照すると、キーポイント406及び408は、手術ツール112の向き412を規定する。手術ツールの先端の向きを決定することを対象とする例示的な実装について、
図6に関連して以下により詳細に説明する。
【0020】
[27] ステップ、作動、又は計算は、特定の順番で提示することができるが、この順番は、特定の実装では変更することができる。特定の実装に応じて、ステップの他の順番が可能である。いくつかの特定の実装では、本明細書で順次示される複数のステップは、同時に実行することができる。また、いくつかの実装は、示されるステップの全てを有さなくてもよく、かつ/又は本明細書で示されるものの代わりに又はそれらに加えて、他のステップを有することができる。
【0021】
[28] 手術ツールの先端の位置及び向きは、外科医にとって重要な情報であり、多くの用途に使用することができる。例えば、手術ツールの先端及び向きは、安全性の目的のために、外科医に視覚フィードバックを提供することができる。いくつかの実装では、システムは、手術ツールの先端の位置を知って、関連する作業領域上にズームインして、外科医が手術ツールと対象組織との間の相互作用をより良く見るようにすることができる。換言すれば、実装は、外科医に最適な視角を提供する。これにより、非対象組織などの他のオブジェクト、作業又は手術領域内の補助ツールなどの他のツールによって、手術ツールの先端が妨げられるのを最小限にする又はなくす。いくつかの実装では、システムは、手術ツールの先端の動きを追跡している時に、ツールの手術ツールの先端の周囲の画像の品質を局部的に向上させることができる。
【0022】
[29] 実装は、また、トレーニング中の外科医のパフォーマンスの評価を容易にする。例えば、情報を使用して、手術中の外科医の精度及び/又は効率を判定することができる。このような情報を使用して、トレーニング中の外科医のパフォーマンスを、経験を積んだ外科医のパフォーマンスと比較することができる。更に、手術ツールの先端の位置特定は、例えば、光コヒーレンス断層撮影(OCT)などの用途において断面図を位置合わせすることによって、手術対象(例えば、眼の網膜等)の近接推定を可能にする。他の例示的な用途分野は、自然ユーザインターフェイス設計、自動警告システム、意味的フィードバックシステム、スキル評価システム等を含むことができる。
【0023】
[30]
図5に、いくつかの実装による、手術器具のツールの先端の位置及び手術器具の向きを決定するための例示的なフロー図を示す。
図4及び
図5の両方を参照すると、ブロック502において、方法を開始して、システム102などのシステムが、画像フレーム302内の手術ツール112などのオブジェクトを検出する。いくつかの実装では、システムは、まず、受け取られた画像フレーム内の1又は2以上のオブジェクトを検出する。システム102は、オブジェクト認識技術を使用して、画像フレーム302内のオブジェクトを検出することができる。
【0024】
[31] ブロック504において、システムは、手術ツール112の属性又は特性を決定する。例えば、手術ツール112の属性は、手術ツール112の構成要素、手術ツール112の構成及びその構成要素、手術ツール112の形状等を含むことができる。システムが決定する手術ツール112の特定の属性は、画像フレーム内で検出及び識別される手術ツール又は対象のオブジェクトに応じて変えることができる。
【0025】
[32] ブロック506において、システムは、手術ツールのキーポイント402、404、406、及び408を生成する。様々な実装では、システムは、手術ツール112の属性に基づいてキーポイントを生成する。様々な実装では、各キーポイントは、手術ツールの異なる部分に対応する。例えば、
図4に示すように、キーポイント402、404、406、及び408は、手術ツール112のポイント又は位置に対応する。いくつかの実装では、システムは、キーポイント402~408を、既知のタイプの手術ツールの予め規定されたキーポイントと照合し、キーポイントの数及びキーポイントの相対位置が、既知の手術ツールの予め規定されたポイント又は位置に対応する。
【0026】
[33] ブロック508において、システムは、キーポイント402、404、406、及び408に基づいて、手術ツール112の先端の位置を決定する。例えば、キーポイントのうちの少なくとも1つが、手術ツールの先端に対応する。システム102は、手術ツールの先端に対応する1つのキーポイントに基づいて、手術ツールの先端の位置を決定する。
【0027】
[34] ツールの先端の数は、特定の実装に応じて変えることができる。例えば、図示の実装では、手術ツール112はハサミ410を含む。システムは、手術ツール112の当該部分の形状に基づいて、ハサミ410を識別することができる。システムは、キーポイント402がツールの先端であること、及びキーポイント404がツールの先端であることを決定することもできる。
【0028】
[35] ステップ、作動、又は計算は、特定の順番で提示することができるが、この順番は、特定の実装では変更することができる。特定の実装に応じて、ステップの他の順番が可能である。いくつかの特定の実装では、本明細書で順次示される複数のステップは、同時に実行することができる。また、いくつかの実装は、示されるステップの全てを有さなくてもよく、かつ/又は本明細書で示されるものの代わりに又はそれらに加えて、他のステップを有することができる。
【0029】
[36]
図6に、いくつかの実装による、手術器具のツールの先端の位置を決定するための例示的なフロー図を示す。
図4及び
図6の両方を参照すると、ブロック602において、方法を開始して、システム102などのシステムが、画像フレーム302内の手術ツール112などのオブジェクトを検出する。いくつかの実装では、システムは、まず、受け取られた画像フレーム内の1又は2以上のオブジェクトを検出する。システム102は、オブジェクト認識技術を使用して、画像フレーム302内のオブジェクトを検出することができる。
【0030】
[37] ブロック604において、システムは、手術ツール112の属性又は特性を決定する。システムは、
図5のブロック504に関連して説明した実装と同様の方法で、このような属性又は特性を決定することができる。
【0031】
[38] ブロック606において、システムは、手術ツール112の属性に基づいて、キーポイント402、404、406、及び408を生成する。システムは、
図5のブロック506に関連して説明した実装と同様の方法で、このような属性又は特性を決定することができる。様々な実装では、キーポイントは、手術ツールの部分をマッピングするランドマークとして機能することができる。
【0032】
[39] ブロック608において、システムは、キーポイント402、404、406、及び408の相対位置を決定する。例えば、システムは、異なるキーポイントペア間の距離を決定することができる。
【0033】
[40] ブロック610において、システムは、手術ツール112の向きを決定する。様々な実装では、システムは、複数のキーポイントに基づいて、手術ツールの向きを決定する。システムは、キーポイント(例えば、キーポイント406とキーポイント408)の間の直線状の線を決定して、手術ツールの2つのキーポイント間の部分が柄又は軸であると決定することができる。例えば、システムは、キーポイント406が手術ツール112の軸の末端にあること、及びキーポイント408が手術ツール112の軸の基端にあることを決定することができる。
【0034】
[41] 図示を容易にするために、手術ツール112の向きを、全体として軸の向きで示す。様々な実装では、システムは、また、手術ツール112の複数の部分の向きを決定する。例えば、システムは、ハサミ410が開閉している時に、及び手術ツール112が一般に動いている時に、ハサミ410の各刃の向きを決定することができる。
【0035】
[42] システムは、手術ツールの長さ及び/又は手術ツールの部分の長さを決定するために、一連の又は一列のキーポイントを決定することもできる。手術ツールが本体及び専門部分(例えば、ハサミ、グラバー等)などの複数の部分を有する場合、システムは、手術ツールの2又は3以上の部分の間の角度を決定することもできる。
【0036】
[43] ステップ、作動、又は計算は、特定の順番で提示することができるが、この順番は、特定の実装では変更することができる。特定の実装に応じて、ステップの他の順番が可能である。いくつかの特定の実装では、本明細書で順次示される複数のステップは、同時に実行することができる。また、いくつかの実装は、示されるステップの全てを有さなくてもよく、かつ/又は本明細書で示されるものの代わりに又はそれらに加えて、他のステップを有することができる。
【0037】
[44] 様々な実装では、手術ツールの先端の場所又は位置及び手術ツールの向きは、画像フレーム及び他のオブジェクト(例えば、組織、補助又は副ツール等)に対して2次元(2D)である。これにより、外科医が手術ツール112を操作して、手術ツール112の先端が他のオブジェクトによって妨げられるのを最小限にする又はなくすのを助ける。いくつかの実装では、システムは、対象手術ツールの3次元(3D)の向きを決定するために、第2のカメラ及び/又はディープラーニングを利用することができる。様々な実装では、システム102は、実時間で、手術ツールの先端の位置を決定し、手術ツールの向きを決定する。
【0038】
[45] システムは、キーポイント間のトポロジ関係及びキーポイントの妥当性検査を使用して、不正確なキーポイント予測をなくすことによって、高精度を達成する。例えば、様々な実装では、システムは、不正確なキーポイント予測をなくすために実行される妥当性検査プロセスを実行する。システムは、キーポイント間のトポロジ関係に基づいて、このような妥当性検査プロセスを実行することができる。例えば、システムは、2又は3以上のキーポイント間の距離を決定することができる。所与のキーポイントが他のキーポイントの一群又は一列から実質的に遠く離れている場合、システムは、所与のキーポイントをアウトライアとして見なすことができ、所与のキーポイントを無視することができる。システムは、これらの及び同様の技術を、対象手術ツールの異なる部分(例えば、ツールの先端、ツールの軸などのツールの構成要素等)に適用することができる。
【0039】
[46] いくつかの実装では、システムは、手術ツールの各キーポイントのキーポイント信頼スコアを決定することができる。様々な実装では、各キーポイント信頼スコアは、対応するキーポイントの決定の精度レベルを示す。信頼スコアは、低から高(例えば、0.0~1.0、0%~100%、等)の範囲とすることができる。いくつかの実装では、所定の信頼閾値を下回る信頼スコアに関連するキーポイントは、アウトライアとして見なして無視することができる。所定の信頼閾値は、特定の実装に応じて変えることができる。いくつかの実装では、システムは、キーポイントの信頼スコアをランク付けして、所定のランク閾値を下回る信頼スコアに関連するキーポイントを削除することができる。所定のランク閾値は、特定の実装に応じて変えることができる。
【0040】
[47] 様々な実装では、システムは、ツール検出及び手術ツールのキーポイント推定のためにディープラーニングを使用する。ツール検出及び手術ツールのキーポイント推定に関連する情報から、システムは、更に、手術ツールの先端の位置を決定し、手術ツールの向きを決定する。いくつかの実装では、システムは、ディープラーニングに少なくとも部分的に基づいて手術ツールの先端の位置及び手術ツールの向きを決定することができる。様々な実装では、システムは、実時間で対象手術ツールの特徴を検出及び識別するためのトレーニングデータセットを構築するために、何千もの画像フレームを処理することができる。これにより、キーポイント予測の妥当性検査のためのトポロジ情報を統合することによって最適な結果を達成する。
【0041】
[48] 様々な実装では、システムは、ディープラーニングネットワークを利用して、画像フレーム内の対象手術ツールを含むオブジェクトを検出及び分類する。システムは、ディープラーニング技術を使用してツールを分類することができ、これにより、精度及び速度のために軽量モデルを提供する。システムは、ディープラーニングを使用して、ハサミなどの主要又は利き手手術ツールとグラスパーなどの副又は補助手術ツールとを区別することもできる。例えば、外科医は、グラスパーを使用して、特定の組織を掴んで、ハサミ又はクリッパーによって切断されるべき組織から引き離すことができる。
【0042】
[49] 様々な実装では、システムは、ディープラーニングネットワークを利用して、オブジェクトを様々なツール分類に分類する。いくつかの実装では、システムは、ディープラーニングネットワークによって学習された既知の特徴を使用してトレーニングされる分類器を使用する。システムは、既知の特徴を使用して、システムが画像フレーム内で認識する特徴に基づいて、ツールのタイプ又はツール分類を決定する。
【0043】
[50] 例示的な手術ツールがハサミ又はクリッパーである文脈において、様々な実装を説明するが、これらの実装及び他の実装は、他の様々なタイプのツールにも適用される。例えば、ツールは、メス、ハサミ、ノコギリ等などの切断又は切開器具を含むことができる。ツールは、バイポーラ鉗子及びイルリガートルを含むことができる。ツールは、平滑鉗子及び歯付き鉗子、タオルクランプ、血管クランプ、臓器保持器等などの把持又は保持器具を含むことができる。ツールは、クランプ、止血鉗子、非外傷性止血鉗子等などの止血器具を含むことができる。ツールは、C字形層状フック、鈍歯付きフック、鋭歯付きフック、溝付きプローブ、タンプ(tamp)鉗子等などの開創器具を含むことができる。ツールは、針保持器、外科用縫合針、ステープラー、クリップ、粘着テープ等などの組織統合器具及び材料を含むことができる。検出される特定のツールは、変わる場合があり、特定の実装に依存する。手術ツールの文脈において、実装を本明細書で説明するが、これらの実装及び他の実装を、他のツール(例えば、非手術ツール)に適用することもできる。
【0044】
[51] 利き手ツール(例えば、利き手手術ツール)を実時間で検出して識別することは、様々な自然ユーザインターフェイスにとって有益である。例えば、利き手ツールの位置が与えられると、カメラは自動的にツールの方に移動して、ツールが再び中心に位置するようにすることができる。これにより、ユーザ(例えば、外科医等)により良く見える。様々な実装では、ビデオのフレーム毎に利き手ツールを位置決めするために、異なるタイプのモデルをトレーニングすることができる。したがって、全ての予測を規則的に組み合わせて、最終結果を生成することができる。
【0045】
[52] 本明細書で説明する実装は、様々な利益を提供する。例えば、実装は、手術中に1又は2以上の手術ツールの先端の位置又は場所を決定する。実装は、また、手術中に手術ツールの様々な構成要素の向きを含む手術ツールの向きを決定する。
【0046】
[53] 本明細書で説明する実装は、異なる種類の手術のためのコンピュータベースの支援における様々な用途に使用することができる。例えば、実装は、内視鏡手術及び腹腔鏡手術を含む処置に適用することができる。実装を使用して、手術中にカメラを自動的に調整する(例えば、オートフォーカス等のために、手術ツールの先端を画像の中心に配置する)ことができる。実装は、手術中にロボットアームと共に使用することができる(例えば、カメラホルダ、ツールホルダ等)。実装を使用して、警告を与えることもできる(例えば、手術ツールの先端が臓器の特定の部分に近すぎる場合等)。
【0047】
[54]
図7に、本明細書で説明するいくつかの実装のために使用することができる例示的なネットワーク環境700のブロック図を示す。いくつかの実装では、ネットワーク環境700は、サーバ装置704及びネットワークデータベース706を含むシステム702を含む。ネットワーク環境700は、また、直接又はシステム702を介して互いに通信することができるクライアント装置710、720、730及び740を含む。クライアント装置710、720、730及び740は、ビューアクライアント、カメラ、及び他の手術関連装置を含むことができる。ネットワーク環境700は、また、ネットワーク750を含む。
【0048】
[55] 図示を容易にするために、
図7は、システム702、サーバ装置704及びネットワークデータベース706の各々に対して1つのブロックを示し、クライアント装置710、720、730及び740については4つのブロックを示す。1つのクライアント装置を使用して手術処置のビデオを見る(例えば1人の外科医がビデオを見る)文脈において、いくつかの実装を説明するが、これらの実装及び他の実装は、複数のクライアント装置に適用することができる。例えば、他の内科医、及び/又は他の臨床医、及び/又は学生がビデオを見ることができる。
【0049】
[56] ブロック702、704及び706は、複数のシステム、サーバ装置及びネットワークデータベースを表すことができる。また、任意の数のクライアント装置が存在することができる。他の実装では、ネットワーク環境700は、示される構成要素の全てを有さなくてもよく、かつ/又は本明細書で示されるものの代わりに又はそれらに加えて、他のタイプの要素を含む他の要素を有することができる。様々な実装では、ユーザU1、U2、U3及びU4は、それぞれのクライアント装置710、720、730及び740を使用して、互いに又はシステム702と対話することができる。
【0050】
[57] 本明細書で説明する様々な実装では、システム702のプロセッサ及び/又は任意のクライアント装置710、720、730及び740のプロセッサが、本明細書で説明する要素(例えば、情報等)を、1又は2以上のディスプレイ画面上のユーザインターフェイスに表示させる。
【0051】
[58] 実装は、任意のネットワークシステムに適用することができ、かつ/又は個別ユーザに対してローカルに適用することができる。例えば、本明細書で説明する実装は、システム702及び/又は任意のクライアント装置710、720、730及び740によって実装することができる。システム702は、スタンドアロンコンピュータ、タブレットコンピュータ、スマートフォン等上で、本明細書で説明する実装を実行することができる。システム702及び/又はクライアント装置710、720、730及び740のいずれかは、個別に又は他の装置と組み合わせて、本明細書で説明する実装を実行することができる。
【0052】
[59]
図8に、本明細書で説明するいくつかの実装のために使用することができる例示的なコンピュータシステム800のブロック図を示す。例えば、コンピュータシステム800を使用して、
図1のシステム102及び/又は
図7のシステム702を実装するとともに、本明細書で説明する実装を実行することができる。いくつかの実装では、コンピュータシステム800は、プロセッサ802と、オペレーティングシステム804と、メモリ806と、入力/出力(I/O)インターフェイス808とを含むことができる。様々な実装では、プロセッサ802を使用して、本明細書で説明する様々な機能及び特徴を実装するとともに、本明細書で説明する方法の実装を実行することができる。プロセッサ802は、本明細書で説明する実装を実行するものとして説明されているが、コンピュータシステム800の任意の適切な構成要素又は構成要素の組み合わせ、又はコンピュータシステム800又は任意の適切なシステムに関連する任意の適切な単複のプロセッサは、説明されるステップを実行することができる。本明細書で説明する実装は、ユーザ装置上、サーバ上、又はこれらの両方の組み合わせにおいて実行することができる。
【0053】
[60] コンピュータシステム800は、また、ソフトウェアアプリケーション810を含み、ソフトウェアアプリケーション810は、メモリ806に又は他の任意の適切な記憶位置又はコンピュータ可読媒体に記憶することができる。ソフトウェアアプリケーション810は命令を与え、この命令によって、プロセッサ802は、本明細書で説明する実装及び他の機能を実行することができる。ソフトウェアアプリケーションは、1又は2以上のネットワーク及びネットワーク通信に関連する様々な機能を実行するためのネットワークエンジンなどのエンジンを含むこともできる。コンピュータシステム800の構成要素は、1又は2以上のプロセッサ又はハードウェア装置の任意の組み合わせ、及びハードウェア、ソフトウェア、ファームウェア等の任意の組み合わせによって実装することができる。
【0054】
[61] 図示を容易にするために、
図8は、プロセッサ802、オペレーティングシステム804、メモリ806、I/Oインターフェイス808及びソフトウェアアプリケーション810の各々に対して1つのブロックを示す。これらのブロック802、804、806、808及び810は、複数のプロセッサ、オペレーティングシステム、メモリ、I/Oインターフェイス及びソフトウェアアプリケーションを表すことができる。様々な実装では、コンピュータシステム800は、示される構成要素の全てを有さなくてもよく、かつ/又は本明細書で示されるものの代わりに又はそれらに加えて、他のタイプの構成要素を含む他の要素を有することができる。
【0055】
[62] 特定の実施形態に関連して説明してきたが、これらの特定の実施形態は単なる例示であり、限定的なものではない。例に示される概念は、他の例及び実装に適用することができる。
【0056】
[63] 様々な実装では、ソフトウェアは、1又は2以上のプロセッサによって実行するための1又は2以上の非一時的コンピュータ可読媒体に符号化される。ソフトウェアは、1又は2以上のプロセッサによって実行された時に、本明細書で説明する実装及び他の機能を実行するように作動可能である。
【0057】
[64] 特定の実施形態のルーチンを実装するために、C、C++、Java、アセンブリ言語等を含む任意の適切なプログラミング言語を使用することができる。手続き型又はオブジェクト指向などの異なるプログラミング技術を使用することができる。ルーチンは、単一の処理デバイス又は複数のプロセッサ上で実行することができる。ステップ、作動、又は計算は、特定の順番で提示することができるが、この順番は、異なる特定の実施形態では変更することができる。いくつかの特定の実施形態では、本明細書で順次示される複数のステップは、同時に実行することができる。
【0058】
[65] 特定の実施形態は、命令実行システム、装置、又はデバイスによって又はこれに関連して使用するための非一時的コンピュータ可読記憶媒体(機械可読記憶媒体とも呼ばれる)に実装することができる。特定の実施形態は、ソフトウェア又はハードウェア又はこれらの両方の組み合わせにおいて制御ロジックの形態で実装することができる。制御ロジックは、1又は2以上のプロセッサによって実行された時に、本明細書で説明する実装及び他の機能を実行するように作動可能である。例えば、ハードウェア記憶装置などの有形媒体を使用して、実行可能命令を含むことができる制御ロジックを記憶することができる。
【0059】
[66] 特定の実施形態は、プログラマブル汎用デジタルコンピュータを使用することによって、及び/又は特定用途向け集積回路、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ、光学、化学、生物学、量子又はナノ工学システム、構成要素及び機構を使用することによって実装することができる。一般に、特定の実施形態の機能は、本技術分野で公知の任意の手段によって達成することができる。分散型、ネットワーク型システム、構成要素、及び/又は回路を使用することができる。データの通信又は転送は、有線、無線、又は任意の他の手段によるものとすることができる。
【0060】
[67] 「プロセッサ」は、データ、信号又は他の情報を処理する任意の適切なハードウェア及び/又はソフトウェアシステム、機構又は構成要素を含むことができる。プロセッサは、汎用中央処理装置を有するシステム、複数の処理装置、機能を実現するための専用回路、又は他のシステムを含むことができる。処理は、地理的位置に限定されるか又は時間的制約を有する必要はない。例えば、プロセッサは、「実時間」、「オフライン」、「バッチモード」等で、その機能を実行することができる。処理の一部は、異なる(又は同じ)処理システムによって、異なる時間及び異なる場所で実行することができる。コンピュータは、メモリと通信する任意のプロセッサとすることができる。メモリは、プロセッサによって実行するための命令(例えば、プログラム又はソフトウェア命令)を記憶するのに適した、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、磁気記憶装置(ハードディスクドライブ等)、フラッシュ、光学記憶装置(CD、DVD等)、磁気又は光ディスク、又は他の有形媒体などの電子記憶装置を含む、任意の適切なデータストレージ、メモリ及び/又は非一時的コンピュータ可読記憶媒体とすることができる。例えば、ハードウェア記憶装置などの有形媒体を使用して、実行可能命令を含むことができる制御ロジックを記憶することができる。命令は、例えば、サーバ(例えば、分散型システム及び/又はクラウドコンピューティングシステム)から配信されるサービス(SaaS)としてソフトウェアの形態で、電子信号に含まれて、電子信号として供給することもできる。
【0061】
[68] 図面/図に示す要素の1又は2以上は、より分離された又は一体化された方法で、又は特定用途に応じて有用であるような特定の場合には更に取り外されるか又は作動不能にされて実装することもできることも理解されるであろう。上記の方法のいずれかをコンピュータに実行させるために機械可読媒体に記憶することができるプログラム又はコードを実装することも本発明の精神及び範囲内である。
【0062】
[69] 本明細書の説明及び以下に続く特許請求の範囲で使用される「a、an(英文不定冠詞)」及び「the(英文定冠詞)」は、文脈によって別途明確に指定しない限り、複数の参照物を含む。また、本明細書の説明及び以下に続く特許請求の範囲で使用される「内(in)」の意味は、文脈によって別途明確に指定しない限り、「内(in)」及び「上(on)」を含む。
【0063】
[70] したがって、本明細書で特定の実施形態を説明したが、修正、様々な変更、及び置換の自由が、以上の開示において意図されており、場合によっては、説明する範囲及び精神から逸脱することなく、特定の実施形態のいくつかの特徴は、他の特徴の対応する使用なしに使用されることは理解されるであろう。したがって、特定の状況又は内容を実質的な範囲及び精神に適合させるように、多くの修正を行うことができる。
【符号の説明】
【0064】
100 作業環境
102 システム
104 カメラ
106 作業領域
108 ビューアクライアント
110 ネットワーク
112 手術ツール
202 少なくとも1つの画像フレームを受け取る
204 画像フレーム内の手術ツールを検出
206 手術ツールの先端の位置を決定
208 手術ツールの向きを決定
302 画像フレーム
304 境界ボックス
402,404,406,408 キーポイント
410 ハサミ
412 向き
502 画像フレーム内の手術ツールを検出
504 手術ツールの属性又は特性を決定
506 キーポイントを生成
508 手術ツールの先端の位置を決定
602 画像フレーム内の手術ツールを検出
604 手術ツールの属性又は特性を決定
606 キーポイントを生成
608 キーポイントの相対位置を決定
610 手術ツールの向きを決定
700 ネットワーク環境
702 システム
704 サーバ装置
706 ネットワークデータベース
710,720,730,740 クライアント装置
750 ネットワーク
800 コンピュータシステム
802 プロセッサ
804 オペレーティングシステム
806 メモリ
808 入力/出力(I/O)インターフェイス
810 ソフトウェアアプリケーション
U1,U2,U3,U4 ユーザ
【国際調査報告】