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

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

▶ ニューヴェイジヴ,インコーポレイテッドの特許一覧

<>
  • 特開-自動化された椎弓根スクリュー計画 図1
  • 特開-自動化された椎弓根スクリュー計画 図2
  • 特開-自動化された椎弓根スクリュー計画 図3
  • 特開-自動化された椎弓根スクリュー計画 図4
  • 特開-自動化された椎弓根スクリュー計画 図5
  • 特開-自動化された椎弓根スクリュー計画 図6
  • 特開-自動化された椎弓根スクリュー計画 図7
  • 特開-自動化された椎弓根スクリュー計画 図8
  • 特開-自動化された椎弓根スクリュー計画 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024096527
(43)【公開日】2024-07-16
(54)【発明の名称】自動化された椎弓根スクリュー計画
(51)【国際特許分類】
   A61B 34/10 20160101AFI20240708BHJP
   A61B 17/70 20060101ALI20240708BHJP
【FI】
A61B34/10
A61B17/70
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023222337
(22)【出願日】2023-12-28
(31)【優先権主張番号】18/149562
(32)【優先日】2023-01-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】508296440
【氏名又は名称】ニューヴェイジヴ,インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シーン オコナー
(72)【発明者】
【氏名】エイドリアン ポンティコルヴォ
(72)【発明者】
【氏名】サミュエル カドウリー
(72)【発明者】
【氏名】ウィリアム トゥルング ル
【テーマコード(参考)】
4C160
【Fターム(参考)】
4C160LL24
4C160LL62
(57)【要約】
【課題】従来技術の問題を解決する。
【解決手段】手術のための椎弓根スクリュー軌道を自動的に決定するためのシステム及び方法が提供され得る。脊椎のスキャンが受信されてもよく、スキャンにおいて1つ以上の椎骨、及び1つ以上の椎骨の1つ以上の構成要素の位置が識別されてもよい。次に、スクリュー軌道計画アルゴリズムは、1つ以上の椎骨及び1つ以上の構成要素の位置を使用して、初期スクリュー軌道計画を決定することができる。次いで、スクリュー軌道計画アルゴリズムは、重み付け係数に従って初期スクリュー軌道計画を訂正することによって、訂正されたスクリュー軌道計画を決定することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
個別仕様の椎弓根スクリュー軌道を生成するための方法であって、
脊椎のスキャンを受信することと、
前記スキャンにおいて、1つ以上の椎骨と、(i)終板、(ii)椎弓根、(iii)椎弓板、(iv)椎間関節、及び(v)(i)~(iv)の組み合わせのうちのいずれか1つを含む、前記1つ以上の椎骨の1つ以上の構成要素と、の位置を識別することと、
スクリュー軌道計画アルゴリズムによって、前記1つ以上の椎骨及び前記1つ以上の構成要素の前記位置を使用して、初期スクリュー軌道計画を決定することと、
前記スクリュー軌道計画アルゴリズムによって、重み付け係数に従って前記初期スクリュー軌道計画を訂正することによって、訂正されたスクリュー軌道計画を決定することと、を含む、
方法。
【請求項2】
前記1つ以上の椎骨及び構成要素の位置を識別することは、椎骨セグメント化ニューラルネットワークを使用することを含む、請求項1に記載の方法。
【請求項3】
前記初期スクリュー軌道計画は、所定の椎弓根スクリュー長さ及び所定の椎弓根スクリュー直径を有する椎弓根スクリューのための初期位置及び初期配向を含む、請求項1に記載の方法。
【請求項4】
前記初期スクリュー軌道計画を決定することは、アトラス技法を実施することを含む、請求項1に記載の方法。
【請求項5】
前記重み付け係数は、(a)スクリュー長さ、(b)スクリュー幅、(c)内側進入角度、(d)頭蓋進入角度、(e)進入点、及び(f)(a)~(f)の任意の組み合わせのうちのいずれか1つに関連付けられたパラメータに与えられた重みを含む、請求項1に記載の方法。
【請求項6】
前記重み付け係数の選択をユーザから受信することを更に含む、請求項1に記載の方法。
【請求項7】
前記重み付け係数は、椎弓根スクリュー挿入技法に関連付けられており、前記椎弓根スクリュー挿入技法は、Magerl技法、Roy-Camile技法、Anderson技法、Ann技法、解剖学的技法、又は修正された技法のうちのいずれか1つである、請求項1に記載の方法。
【請求項8】
前記訂正されたスクリュー軌道計画に基づいて、前記1つ以上の椎骨の中に1つ以上の椎弓根スクリューを埋め込むことを更に含む、請求項7に記載の方法。
【請求項9】
1つ以上の完成したスクリュー軌道計画を受信することと、
前記1つ以上の完成したスクリュー軌道計画を使用して、前記重み付け係数を決定することと、を更に含む、請求項1に記載の方法。
【請求項10】
前記初期スクリュー軌道計画をユーザに提供することと、
前記初期スクリュー軌道計画に対する1つ以上の修正を受信することであって、前記訂正されたスクリュー軌道計画を決定することは、前記1つ以上の修正を使用することを含む、受信することと、を更に含む、
請求項1に記載の方法。
【請求項11】
前記訂正されたスクリュー軌道計画は、前記訂正されたスクリュー軌道計画を実施するための、1つ以上のスクリュー寸法のスクリューの1つ以上の量を含むスクリュー在庫を含む、請求項1に記載の方法。
【請求項12】
前記訂正されたスクリュー軌道計画に基づいて、ロボットシステムにロボット構成要素を位置決めさせることを更に含む、請求項1に記載の方法。
【請求項13】
1つ以上のプロセッサと、メモリとを含む、コンピューティングデバイスを備える、システムであって、
前記メモリは、命令を含み、前記命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
脊椎のスキャンを受信することと、
前記スキャンにおいて、1つ以上の椎骨と、(i)終板、(ii)椎弓根、(iii)椎弓板、(iv)椎間関節、及び(v)(i)~(iv)の組み合わせのうちのいずれか1つを含む、前記1つ以上の椎骨の1つ以上の構成要素と、の位置を識別することと、
1つ以上の椎体及び前記1つ以上の構成要素の前記位置を使用して、初期スクリュー軌道計画を決定することと、
重み付け係数に従って前記初期スクリュー軌道計画を訂正することによって、訂正されたスクリュー軌道計画を決定することと、を行わせる、
システム。
【請求項14】
画像を表示するように構成されたディスプレイを更に備え、前記メモリは、更なる命令を含み、前記更なる命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
前記訂正されたスクリュー軌道計画を使用して、スクリュー挿入のための1つ以上の誘導線を前記脊椎の画像上に描画することと、
前記ディスプレイに、1つ以上の誘導線とともに前記脊椎の前記画像を表示させることと、を行わせる、
請求項13に記載のシステム。
【請求項15】
前記初期スクリュー軌道計画は、椎弓根スクリューのための初期位置及び初期配向を含み、
前記訂正されたスクリュー軌道計画は、前記訂正されたスクリュー軌道計画を実施するための、1つ以上のスクリュー寸法のスクリューの1つ以上の量を含むスクリュー在庫を含む、
請求項13に記載のシステム。
【請求項16】
前記重み付け係数は、(a)スクリュー長さ、(b)スクリュー幅、(c)内側進入角度、(d)頭蓋進入角度、(e)進入点、及び(f)(a)~(f)の任意の組み合わせのうちのいずれか1つに関連付けられたパラメータに与えられた重みを含む、請求項13に記載のシステム。
【請求項17】
前記重み付け係数は、椎弓根スクリュー挿入技法に関連付けられている、請求項13に記載のシステム。
【請求項18】
前記メモリは、更なる命令を含み、前記更なる命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
1つ以上の完成したスクリュー軌道計画を受信することと、
前記1つ以上の完成したスクリュー軌道計画を使用して、前記重み付け係数を決定することと、を行わせる、
請求項13に記載のシステム。
【請求項19】
前記メモリは、更なる命令を含み、前記更なる命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
前記初期スクリュー軌道計画をユーザに提供することと、
前記初期スクリュー軌道計画に対する1つ以上の修正を受信することであって、前記訂正されたスクリュー軌道計画を決定することは、前記1つ以上の修正を使用することを含む、受信することと、を行わせる、
請求項13に記載のシステム。
【請求項20】
前記訂正されたスクリュー軌道計画に従って、挿入に適切なスクリュー寸法を有する1つ以上のスクリューを更に備える、請求項13に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
椎弓根スクリューは、脊椎の安定化を支援するために、脊椎固定手技において使用される。1つ以上の椎弓根スクリューは、典型的には、固定が行われるべき椎間板腔の上下に配置される。椎骨の移動を低減して固定を容易にする方法で椎弓根スクリューを接続するために、ロッドが使用される。外科医は、手術前又は手術中の画像診断装置を使用して、椎弓根スクリューの軌道及びサイズを計画することができる。この計画プロセスは、特に、非常に多くの椎弓根スクリューの使用を伴う手術の場合、時間がかかり、かつ複雑になる場合がある。手術ナビゲーション又は手術ロボットのような益々普及している支援技術を利用する手術の場合、手術計画は、典型的には、手動で支援装置に入力され、これは、手術の作業の流れを更に妨げる可能性がある。計画プロセスを自動化することは、外科医に有意な利益を提供することになる。
【0002】
最適なスクリュー選択及びスクリュー配置は、場合によって異なる。したがって、自動計画プロセスが様々な手術技法、スクリュー選択、及びスクリュー配置を考慮することは、有益であろう。
【0003】
今日、椎弓根スクリュー計画を自動化するための3つのタイプの方策が、一般的に使用される。1つの方策は、いわゆるアトラス技法であり、各レベルにおいて平均椎体を作成し、次いで、平均椎体に基づいてレベルに対する椎弓根スクリュー軌道を画定することを含む。次いで、患者のスキャンが、平均椎体を使用して、典型的には、確立された目印を使用して(又はその逆に)、元のスクリュー軌道にマッピングされなければならない。第2の共通の方策は、いくつかの以前の事例から取得されたデータを使用してスクリュー軌道を決定するように訓練された機械学習モデルを採用する。訓練されると、このモデルは、新しいスキャンのための椎弓根スクリュー軌道を生成する。両方の技法は、理想的な椎弓根スクリュー軌道を定義するために、専門家からの注釈を必要とするが、アトラス技法の場合、平均的な椎体に注釈を付けなければならない。次いで、注釈付きスクリュー配置を使用して、将来の計画軌道を案内する。機械学習モデルの場合、訓練セットは、注釈を付けられるか、又は手術後のスキャンにおけるスクリューの配置から推測される必要がある。その結果として、この2つの技法は、訓練のために使用される元の注釈者及びスキャンによって偏りが生じ、将来の予測が、異なる外科医のために計画された軌道と一致しない場合がある。
【0004】
自動式椎弓根スクリュー計画のための第3の方策は、骨質量密度を使用する幾何学的手法を含む。この例については、Knezらによる「Computer-Assisted Pedicle Screw Placement Planning:Towards Clinical Practice,IEEE International Symposium on Biomedical Imaging(2018年4月)」に記載されている。
【発明の概要】
【0005】
ある例では、個別仕様の椎弓根スクリュー軌道を生成するための方法は、脊椎のスキャンを受信することと、スキャンにおいて、1つ以上の椎骨と、(i)終板、(ii)椎弓根、(iii)椎弓板、(iv)椎間関節、及び(v)(i)~(iv)の組み合わせのうちのいずれか1つを含む、1つ以上の椎骨の1つ以上の構成要素と、の位置を識別することと、スクリュー軌道計画アルゴリズムによって、1つ以上の椎骨及び1つ以上の構成要素の位置を使用して、初期スクリュー軌道計画を決定することと、スクリュー軌道計画アルゴリズムによって、重み付け係数に従って初期スクリュー軌道計画を訂正することによって、訂正されたスクリュー軌道計画を決定することと、を含む。1つ以上の椎骨及び構成要素の位置を識別することは、脊椎セグメント化機械学習モデルを使用することを含むことができる。初期スクリュー軌道計画は、所定の椎弓根スクリュー長さ及び所定の椎弓根スクリュー直径を有する椎弓根スクリューのための初期位置及び初期配向を含むことができる。初期スクリュー軌道計画を決定することは、アトラス技法を実施することを含むことができる。重み付け係数は、(a)スクリュー長さ、(b)スクリュー幅、(c)内側進入角度、(d)頭蓋進入角度、(e)進入点、及び(f)(a)~(f)の任意の組み合わせのうちのいずれか1つに関連付けられたパラメータに与えられた重みを含むことができる。この方法は、重み付け係数の選択をユーザから受信することを更に含むことができる。重み付け係数は、椎弓根スクリュー挿入技法に関連付けられ得、椎弓根スクリュー挿入技法は、Magerl技法、Roy-Camile技法、Anderson技法、Ann技法、解剖学的技法、又は修正された技法のうちのいずれか1つである。この方法は、1つ以上の完成したスクリュー軌道計画を受信することと、1つ以上の完成したスクリュー軌道計画を使用して、重み付け係数を決定することと、を更に含むことができる。アルゴリズムは、順方向又は逆方向に実行することができる。ユーザ又はシステムは、重みを調整して、スクリュー軌道計画を決定することができるか、又はスクリュー軌道計画を取り出して、その計画を再作成するのに必要となる重みを計算することができる。この方法は、初期スクリュー軌道計画をユーザに提供することと、初期スクリュー軌道計画に対する1つ以上の修正を受信することと、を更に含むことができ、訂正されたスクリュー軌道計画を決定することは、1つ以上の修正を使用することを含む。訂正されたスクリュー軌道計画は、訂正されたスクリュー軌道計画を実施するための、1つ以上のスクリュー寸法のスクリューの1つ以上の量を含む、スクリュー在庫を含むことができる。この方法は、訂正されたスクリュー軌道計画に基づいて、ロボットシステムにロボット構成要素を位置決めさせることを更に含むことができる。
【0006】
ある例では、システムがある。このシステムは、1つ以上のプロセッサと、メモリと、を含むコンピューティングデバイスを含むことができ、メモリは、命令を含み、この命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、脊椎のスキャンを受信することと、スキャンにおいて、1つ以上の椎骨と、(i)終板、(ii)椎弓根、(iii)椎弓板、(iv)椎間関節、及び(v)(i)~(iv)の組み合わせのうちのいずれか1つを含む、1つ以上の椎骨の1つ以上の構成要素と、の位置を識別することと、1つ以上の椎体及び1つ以上の構成要素の位置を使用して、初期スクリュー軌道計画を決定することと、重み付け係数に従って初期スクリュー軌道計画を訂正することによって、訂正されたスクリュー軌道計画を決定することと、を行わせる。このシステムは、画像を表示するように構成されたディスプレイを更に含むことができ、メモリは、更なる命令を含み、更なる命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、訂正されたスクリュー軌道計画を使用して、スクリュー挿入のための1つ以上の誘導線を脊椎の画像上に描画することと、ディスプレイに、1つ以上の誘導線とともに脊椎の画像を表示させることと、を行わせる。初期スクリュー軌道計画は、椎弓根スクリューのための初期位置及び初期配向を含むことができ、訂正されたスクリュー軌道計画は、訂正されたスクリュー軌道計画を実施するための、1つ以上のスクリュー寸法のスクリューの1つ以上の量を含む、スクリュー在庫を含むことができる。重み付け係数は、(a)スクリュー長さ、(b)スクリュー幅、(c)内側進入角度、(d)頭蓋進入角度、(e)進入点、及び(f)(a)~(e)の任意の組み合わせのうちのいずれか1つに関連付けられたパラメータに与えられた重みを含むことができる。重み付け係数は、椎弓根スクリュー挿入技法に関連付けられ得る。メモリは、更なる命令を含むことができ、更なる命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、1つ以上の完成したスクリュー軌道計画を受信することと、1つ以上の完成したスクリュー軌道計画を使用して、重み付け係数を決定することと、を行わせる。メモリは、更なる命令を含むことができ、更なる命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、初期スクリュー軌道計画をユーザに提供することと、初期スクリュー軌道計画に対する1つ以上の修正を受信することであって、訂正されたスクリュー軌道計画を決定することは、1つ以上の修正を使用することを含む、受信することと、を行わせる。このシステムは、訂正されたスクリュー軌道計画に従って、挿入に適切なスクリュー寸法を有する1つ以上のスクリューを更に含むことができる。
【図面の簡単な説明】
【0007】
図1】手術環境における例示的な椎弓根スクリュー計画システムを示す。
図2】例示的な椎弓根スクリュー計画システムを示す。
図3】椎弓根スクリュー計画のための例示的な方法を示す。
図4】例示的な手術スキャンを示す。
図5】例示的な椎骨の軸方向図を示す。
図6】例示的な椎骨の側面図を示す。
図7】例示的な技法に基づく例示的なスクリュー軌道を示す。
図8】例示的な手術画像及び描画されたスクリュー軌道を示す。
図9】例示的な機械学習方法を示す。
【発明を実施するための形態】
【0008】
開示される例は、椎弓根スクリュー軌道を決定するための方法及びシステムを含む。患者の手術前又は手術中のスキャンをセグメント化して、スキャン内の個々の椎骨及び椎骨構成要素を局所化及びセグメント化することができる。各椎骨セグメント化体積の外面メッシュが計算されて、その特性を分析することができる。少なくとも患者のスキャンに基づいて、初期スクリュー軌道計画が決定される。次いで、その初期計画は、修正されて、最適化された椎弓根スクリュー計画を形成する。例えば、初期スクリュー計画は、様々な制約及び最適化パラメータに従って修正される。
【0009】
セグメント化(例えば、生の機械学習モデル又は手動注釈を使用する)は、椎体、終板(及び上部終板と下部終板とを区別する)、並びに椎弓根チャネルなどの椎骨の部分、棘突起、横突起、椎間関節、椎弓板、椎骨レベルの配向(例えば、体心座標、頭/尾、患者の左/右、患者の前方/後方)、識別された領域の幾何学的特性(例えば、重心位置、最小位置、最大位置)、脊椎の正中線(例えば、患者の左側を右側から分離するための)、他の位置、又はそれらの組み合わせを識別するために使用される。特定の実施形態では、(2020年9月24日に米国特許第17/761,934号として出願された)米国特許出願公開第20220375079(A1)号に記載されている、三次元(three-dimensional、3D)医用画像をセグメント化するためのシステム及び方法が、使用され、その内容は、参照により本明細書に組み込まれる。
【0010】
初期スクリュー軌道は、セグメント化された部分の位置に対して決定することができる。初期スクリュー軌道計画は、初期位置及び初期配向、初期スクリュー長さ、並びに/又は初期スクリュー幅を有する初期スクリュー軌道を含むことができる。いくつかの例では、初期スクリュー計画は、臨床医から入力を受信することなどによって、手動で決定される。加えて又は代わりに、初期スクリュー軌道計画は、アトラス技法又は機械学習モデルを使用することなどによって自動的に決定される。例示的な実施態様では、機械学習モデルは、椎弓根スクリュー計画システムが初期スクリュー軌道計画を決定するために使用する深層ニューラルネットワーク(Deep Neural Network、DNN)である。解剖学的目印の位置は、それらの目印に対して好ましい軌道が異なる場合があっても、外科医によって概して同意されるため、初期スクリュー軌道計画は、異なる外科医に対して使用することができる。
【0011】
次いで、初期スクリュー軌道計画は、係数に基づいて、自動的に最適化されることができる。この係数には、スクリューの長さ、スクリューの幅、内側進入角度、頭蓋進入角度、最適進入点などが含まれ得る。いくつかの実施形態では、係数は、参照テーブル又はアルゴリズムを使用することなどによって重み付けされる。例えば、アルゴリズムは、椎体の表面に沿った点を定量化し、これらの点を使用して所与の位置にスクリューを配置する容易さに基づいて、最適な進入点係数のための重みを決定する。重み付け係数は、椎弓根スクリュー配置のために一般的に使用される方策のために予め決定することができる。例えば、スクリュー軌道計画システムは、Magerl技法、Roy-Camile技法、Anderson技法、Ann技法、解剖学的技法、修正された技法、他の技法、又はそれらの組み合わせなどの様々なスクリュー配置技法のための重みを予め決定する。個別仕様の重み付け係数はまた、特定の外科医の好みに合致するように、決定され、与えられることができる。いくつかの実施形態では、異なる技法のための選択肢が、各スキャンに伴って外科医に提示され、外科医の選択に基づいて適用される。訂正されたスクリュー軌道計画は、訂正された位置及び訂正された配向、訂正されたスクリュー長さ、並びに/又は訂正されたスクリュー幅を有する、訂正されたスクリュー軌道を含む。例示的な実施態様では、アルゴリズムを更新して、生成された訂正されたスクリュー軌道に基づいて重みをより良好に決定することができ、具体的には、安定した進入点を強調して、例えば、スクリューの亀裂を回避することができる。例えば、アルゴリズムは、アルゴリズムが以前に生成した正常な若しくはそれ以外の場合では最適な訂正されたスクリュー軌道、又はアルゴリズムが以前に生成したスクリュー軌道に関する改善を表す最適な訂正されたスクリュー軌道を受信することができる。次いで、アルゴリズムは、後続の訂正されたスクリュー軌道計画の生成が、正常な訂正されたスクリュー軌道に基づくように、構成することができる。特定の実施態様では、個別仕様の重み付け係数を使用して、外科医には見えない制約を最適化する新規のスクリュー計画を生成することができる。
【0012】
外科医などのユーザは、訂正されたスクリュー軌道計画を使用して、手術中にスクリューを手動で挿入することができる。いくつかの実施形態では、外科医は、アルゴリズムの出力軌道を、外科医が配置中に追従するための誘導線又は画像として表示する、手術ナビゲーションシステムを使用する。外科医などのユーザはまた、訂正されたスクリュー計画を使用して、ロボット手術を用いて支援される手術の間にスクリューを挿入することもできる。ロボットは、命令されるか又はそれ以外の場合ではスクリューの経路を保持及び/又は誘導されて、訂正されたスクリュー計画の出力軌道を合致させることができる。
【0013】
外科医又は外科手術スタッフなどのユーザは、在庫計画のために訂正された軌道計画を使用することができ、その理由は、訂正された軌道計画が、例示的な実施態様における各椎骨レベルに対して必要とされるスクリュー寸法(例えば、長さ及び幅)の推定値を提供するからである。したがって、ユーザは、手術のために必要なスクリューを決定し、手技のために決定された在庫を注文することができる。ユーザは、それによって、不要な部分を注文する必要がないため、ユーザは、出荷及び物流コストを削減することができる。外科医などのユーザはまた、訂正されたスクリュー軌道計画をテンプレートスクリュー計画として使用して、ユーザに表示又はそれ以外の場合は提示し、ユーザの手動の計画努力を支援及び合理化することもできる。例えば、外科医は、手術前の計画中に表示されたスクリュー軌道を使用して、訂正されたスクリュー軌道計画を調整することができ、外科医は、訂正されたスクリュー軌道計画に対して調整を行って、外科医の好みに適合させることができる。椎弓根スクリュー軌道を決定するための例示的なシステムが、図1に記載されている。
【0014】
図1は、手術環境100における例示的な椎弓根スクリュー計画システム110を例示している。この椎弓根スクリュー計画システム110は、入力装置112と、1つ以上のディスプレイと、を有する、表示装置114を含む。いくつかの実施形態では、入力装置112は、キーボード又はタッチスクリーンであり、外科医が、表示装置114が表示する画像を選択及び操作することを可能にする。表示装置114の1つ以上のディスプレイは、表示装置114が表示する画像を選択及び操作するためのタッチスクリーンとすることができる。手術環境100には、撮像装置120、手術ロボット130、患者P、及び外科医Sが含まれる。特定の実施形態では、外科医Sは、手術中に、手術部位においてインプラント又は器具Tを使用する。撮像装置120は、撮像装置120を制御するための制御パネル122、及び異なる位置において患者の画像(例えば、X線画像)を取り込むための撮像システム124を含む。撮像システム124は、X線撮像システム、Cアームシステム、他のシステム、又はそれらの組み合わせなど、様々な形態のうちのいずれかをとることができる。椎弓根スクリュー計画システム110は、撮像装置120と通信して、手術部位の画像及びスキャンを受信することができる。いくつかの実施形態では、椎弓根スクリュー計画システム110は、手術前に撮像装置120などから画像及び/又はスキャンを受信し、したがって、椎弓根スクリュー計画システム110は、手術前に椎弓根スクリュー軌道計画を決定することができる。画像は、x線、コンピュータ断層撮影(Computed Tomography、CT)スキャン、磁気共鳴撮像(Magnetic Resonance Imaging、MRI)画像等の脊椎の二次元(two dimensional、2D)又は3D画像とすることができる。画像が2Dである場合、椎弓根スクリュー計画システム110は、例示的な実施態様において、複数の2D画像を使用して撮像された脊椎の3D描画を決定する。
【0015】
ある例では、椎弓根スクリュー計画システム110は、スクリュー計画能力を提供する手術用カートの形態である。ある例では、手術用カートは、外科手技中に使用するための機能を提供する1つ以上の構成要素を含む移動局である。ある例では、手術用カートは、(出願番号17/688,574として2022-03-07に出願された)米国特許出願公開第2022/0296326号に記載されているようなものであり、それは、これによって、任意及び全ての目的のために、その全体が参照により本明細書に組み込まれる。
【0016】
いくつかの実施形態では、手術ロボット130は、外科医Sの手術を支援することができるロボットシステムである。この手術ロボット130は、スクリューを位置合わせすることができ、器具を位置合わせすることができ、かつ/又はその種の他のものを位置合わせすることができる。椎弓根スクリュー計画システム110は、手術ロボット130と通信することができ、よって、手術ロボット130は、椎弓根スクリュー計画システム110が決定するスクリュー軌道計画に基づいて、手術を支援することができる。
【0017】
特定の実施形態では、外科医などのユーザは、入力装置112を使用して、椎弓根スクリュー計画システム110に、椎弓根スクリュー軌道計画を生成させ、かつ/又は椎弓根スクリュー計画システム110に、椎弓根スクリュー軌道計画を調整させる。外科医は、入力装置112を使用して、Magerl技法、Roy-Camile技法、Anderson技法、Ann技法、解剖学的技法、修正された技法、外科医Sの以前の手術に基づく個別仕様技法、及び/又はその種の他のものなどに基づく椎弓根スクリュー軌道計画のための技法を選択することができる。椎弓根スクリュー計画システム110が使用している技法に基づいて(例えば、外科医Sからの入力を介して技法の選択を受信して)、椎弓根スクリュー計画システム110は、重みを選択して係数に与える。椎弓根スクリュー計画システム110は、例示的な実施態様において、重み付け係数を使用して、椎弓根スクリュー軌道を決定する。いくつかの実施形態では、外科医Sは、外科医が入力装置112を使用するとすぐに手術を実施することになる脊椎の部分を選択する。例えば、椎弓根スクリュー計画システム110は、1つ以上の椎骨レベルを決定し(例えば、外科医Sからの入力を介して椎骨レベルの選択を受信し)、かつ/又は手術に関連付けられた1つ以上の椎骨を選択する。椎弓根スクリュー計画システム110は、外科医Sの入力に応答して、選択された領域のスクリュー軌道計画を決定する。
【0018】
外科医Sは、椎弓根スクリュー計画システム110が決定するスクリュー軌道計画に基づいて、表示装置114上に描画されたスクリュー軌道とともに、患者Pの手術画像を閲覧することができる。椎弓根スクリュー計画システム110はまた、表示装置114上に器具Tを描画することもできる。いくつかの実施形態では、手術ロボット130は、椎弓根スクリュー計画システム110からスクリュー軌道計画を受信し、外科医Sの手術を支援する。例えば、手術ロボット130は、スクリュー軌道計画を使用して、計画に従ってロボット構成要素を位置決めし、スクリューを位置合わせし、外科医Sは、位置合わせされたスクリューを埋め込むことができる。
【0019】
ある例では、椎弓根スクリュー計画システム110は、手術室で使用されるシステムに対して遠方にあるシステムである(例えば、椎弓根スクリュー計画システム110の1つ以上の構成要素は、1つ以上のリモートサーバに配設される)。椎弓根スクリュー計画システム110は、ネットワークを介して、撮像装置120及び手術ロボット130などの、手術環境100内のシステムと通信することができる。いくつかの実施形態では、椎弓根スクリュー計画システム110はまた、椎弓根スクリュー計画システム110によって決定されたスクリュー軌道計画に基づいてスクリュー軌道を表示するためを含む手術ナビゲーションのために外科医Sが使用する装置と通信することもできる。外科医Sは、手術室内の装置を使用し、椎弓根スクリュー計画システム110と通信して、椎弓根スクリュー計画システム110に椎弓根スクリュー軌道計画を生成させ、かつ/又は椎弓根スクリュー計画システム110に椎弓根スクリュー軌道計画を調整させることができる。したがって、椎弓根スクリュー計画システム110は、異なる手術室において外科医によって使用される複数の装置のための椎弓根スクリュー計画を決定することができる。
【0020】
図2は、例示的な椎弓根スクリュー計画システム110を示している。この椎弓根スクリュー計画システム110は、メモリ220、1つ以上のプロセッサ222、及び1つ以上のインターフェース224を含む。
【0021】
メモリ220は、データ又は命令などの情報を記憶するように構成された1つ以上の物理的又は仮想的構成要素である。いくつかの例では、メモリ220は、コンピューティング環境の主メモリ(例えば、ランダムアクセスメモリ)又は長期記憶メモリ(例えば、半導体ドライブ)を含む。このメモリは、一時的又は非一時的コンピュータ可読記憶媒体又はプロセッサ可読記憶媒体とすることができる。メモリ220は、読み取り専用メモリ又は読み取り書き込みメモリを含むことができる。
【0022】
1つ以上のプロセッサ222は、命令を取得して実行するように構成された1つ以上の物理的又は仮想的構成要素である。多くの例では、1つ以上のプロセッサ222は、中央処理装置であるが、マイクロコントローラ、マイクロプロセッサ、フィールドプログラマブルゲートアレイ、画像処理ユニット、テンソル処理ユニット、他のプロセッサ、又はそれらの組み合わせなどの他の形態をとることができる。
【0023】
インターフェース224は、入力を受信することができ、かつ出力を提供することができる、1つ以上の構成要素のセットである。例えば、インターフェース224は、1つ以上のセンサ、ボタン、ポインタ、キーボード、マウス、ジェスチャー制御装置、タッチ制御装置(例えば、タッチセンシティブストリップ又はタッチスクリーン)、アイトラッカー、音声認識制御装置(例えば、適切な自然言語処理構成要素に結合されたマイクロフォン)、他のユーザ入力構成要素、又はそれらの組み合わせなどの、1つ以上のユーザ入力構成要素を含むことができる。インターフェース224は、1つ以上のライト、ディスプレイ、スピーカー、触覚フィードバック構成要素、他のユーザ出力構成要素、又はそれらの組み合わせ等の、1つ以上のユーザ出力構成要素を含むことができる。インターフェース224は、他の装置(例えば、埋め込まれた装置若しくは外部装置)に出力を提供するか、又は他の装置から入力を受信するように構成された、1つ以上の構成要素、例えば、1つ以上のポート(例えば、USBポート、THUNDERBOLT(登録商標)ポート、シリアルポート、パラレルポート、イーサネットポート)又は無線通信構成要素(例えば、WI-FI、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、若しくは他のプロトコルなどの1つ以上の無線周波数プロトコルに従って通信するように構成された構成要素)を更に含むことができる。
【0024】
例示されているように、メモリ220は、識別命令200、軌道命令202、入力命令204、表示命令206、通信命令208を含む。
【0025】
椎弓根スクリュー計画システム110は、通信命令208を使用して、他の装置(例えば、撮像装置120及び手術ロボット130)と通信することができる。例えば、椎弓根スクリュー計画システム110は、通信命令208を使用して、手術前及び/又は手術中の脊椎の画像を受信する。
【0026】
識別命令200は、1つ以上のプロセッサ222によって実行されたときに、1つ以上のプロセッサ222に、画像内の1つ以上の椎骨、及び1つ以上の椎骨の構成要素の位置を識別させる、命令である。識別命令200は、PCT出願国際公開第2021061878(A1)号に記載されている椎骨セグメント化DNNなどの機械学習モデルを使用して、椎骨及び椎骨の構成要素の位置、又は患者の脊椎の特性を決定するように動作することができる。加えて又は代わりに、識別命令200は、1つ以上のプロセッサ222に、手動の注釈を受信させることができる。
【0027】
軌道命令202は、1つ以上のプロセッサ222によって実行されたときに、1つ以上のプロセッサ222によって実行されたときに、1つ以上のプロセッサ222に、初期椎弓根スクリュー軌道計画及び/又は訂正された椎弓根スクリュー軌道計画を決定させる、命令である。軌道命令202は、機械学習アルゴリズムを使用してスクリュー軌道計画を決定するように動作することができる。いくつかの実施形態では、スクリュー軌道計画アルゴリズムは、メモリ220に記憶された技法に関連付けられた重みを使用し、技法に基づいて重みを決定し、かつ/又は、例えば、外科医の以前の手術のスキャンを使用して、外科医の技法に関連付けられた重みを決定する。軌道命令202は、アトラス技法及び/又は機械学習モデルを使用して、初期椎弓根スクリュー軌道計画を決定するように動作することができる。
【0028】
表示命令206は、1つ以上のプロセッサ222によって実行されたときに、1つ以上のプロセッサに、表示装置114におけるユーザインターフェースを提供させる、命令である。例えば、表示命令206は、初期椎弓根スクリュー軌道計画を表示するユーザインターフェースを提供するように動作することができる。特定の実施形態では、表示命令206は、初期椎弓根スクリュー軌道計画を変更するユーザ入力を受信するように構成される。
【0029】
通信命令208は、1つ以上のプロセッサ222によって実行されたときに、椎弓根スクリュー計画システム110に、(例えば、インターフェース224を使用して)1つ以上の他の装置と通信させる、命令である。例えば、通信命令208は、初期椎弓根スクリュー軌道計画を、ユーザが閲覧及び変更するための別の装置に送信するように動作することができる。
【0030】
軌道命令202又は本明細書で説明される他の態様によって実施される動作は、以下の表1に記載されるものを含む、様々な記号又は変数を使用して記述することができる。
【0031】
【表1】
【0032】
この例では、ハイパーパラメータは、アルゴリズムによって出力される予定のない、プロセス内で使用される値(例えば、係数であるが、プロセスによって調整されないパラメータ)とすることができる。対照的に、パラメータは、アルゴリズム又はプロセスによって決定されるべき値とすることができる。パラメータは、スクリュー計画(例えば、長さ、幅、配向、及び進入位置)を物理的に記述することができる。制約は、パラメータの許容される値に課された不可侵の規則として定義することができる。ハイパーパラメータは、最適化プロセス、及び/又はパラメータが連続反復にわたってどのように更新されるかを制御する、設定値、アルゴリズム選択、又は、アルゴリズム自体の他の特性とすることができる。
【0033】
コスト関数は、(各候補計画のパラメータのセットか、又はパラメータに由来する情報のいずれかを使用して)異なるスクリュー計画の値を比較することを可能にすることができる。コスト関数は、1つ以上の目的(例えば、長さ、幅、若しくは進入点の安定性を最大化すること、又は破損の数、好ましい角度若しくは侵襲性との差など、若しくはそれらの任意の組み合わせを最小化すること)をともに(例えば、係数の加重和を使用して)、又は独立して(例えば、パレートフロントを計算して)最適化することを可能にすることができる。
【0034】
記述子(進入)は、スクリュー進入位置の解剖学的領域の表面及び/若しくは形状記述子とすることができるか、又はそれらを含むことができる。ある例では、記述子は、表面メッシュ上の代表的な点(又はあらゆる点)に対するスカラー値を提供する、3D表面の幾何学的特性とすることができる。記述子(進入)は、形状分析の研究分野に属する。異なる表面記述子は、所与の幾何学的3Dオブジェクトに関する異なる情報を符号化する。例えば、3Dメッシュの曲率を計算して、平坦領域を湾曲領域と区別することができる。
【0035】
軌道命令202は、係数、及び/又は係数に与えられた重みを有する最適化コスト関数を使用して、訂正された椎弓根スクリュー軌道計画を決定するように動作することができる。一般に、関数の結果を使用して、スクリューの配置のためのパラメータのセットの望ましさを決定することができる。例えば、様々な異なる数値最適化アルゴリズムのいずれかを使用して、最適化関数の値を最大化又は最小化しながら(例えば、最適化関数が、最適化されているパラメータのコスト又は良好さを表すかどうかに基づいて、適宜、最大化又は最小化しながら)、軌道のためのパラメータを決定することができる。例示的な最適化アルゴリズムとしては、山登りアルゴリズム、勾配降下法、焼きなましアルゴリズム、遺伝的アルゴリズム、他のアルゴリズム、又はそれらの組み合わせが挙げられる。
【0036】
最適化コスト関数における1つの係数は、表面記述子又は形状記述子とすることができる。スクリューの進入点における解剖学的構造の様々な表面又は形状は、結果として生じるスクリュー計画の望ましさに影響を及ぼす可能性がある。例えば、特定の進入位置は、亀裂の可能性を増加又は減少させることができる。この望ましさは、進入のための記述子に直接符号化することができるか、又は(例えば、亀裂の可能性に基づいて)望ましさを決定するように構成された関数から決定することができる。様々な係数は、結果として得られたパラメータと、ハイパーパラメータとの間の差であり得る。例えば、ハイパーパラメータは、理想的なパラメータ(例えば、頭蓋、内側等の理想的なスクリュー角度)であり得、式は、パラメータが理想的なスクリュー角度からどれだけ離れているかを考慮に入れることができる。理想的なハイパーパラメータは、選択された技法(例えば、Magerl等)に基づいて、外科医の好みに基づいて、他の係数に基づいて、又はそれらの組み合わせに基づいて、予め決定することができる。多くの例では、パラメータの各々を理想的なパラメータに一致させることは不可能であり、よって、トレードオフが行われる必要があり得る。他の例も可能であるが、最適化コスト関数の一実施態様は、以下の式1とすることができる。
【0037】
【数1】
【0038】
上記の特定の例示的な式において、関数は、記述子(進入)の重み付けされた望ましさ、理想的な頭蓋角度ハイパーパラメータと、決定された頭蓋角度パラメータとの間の重み付けされた差、理想的な内側角度ハイパーパラメータと、決定された内側角度パラメータとの間の重み付けされた差、理想的なチャネル角度ハイパーパラメータと、決定されたチャネル角度パラメータとの間の重み付けされた差、理想的な進入ハイパーパラメータと、決定された進入パラメータとの間の重み付けされた差、理想的なスクリュー長さハイパーパラメータと、決定されたスクリュー長さとの間の重み付けされた差、及び理想的なスクリュー幅ハイパーパラメータと、決定されたスクリュー幅との間の重み付けされた差に基づき得る。
【0039】
他の要因も考慮に入れて、軌道を生成することができる。ある例では、骨タイプ(例えば、皮質骨若しくは海綿骨)及び/又は骨密度が考慮される。例えば、より密度の高い骨を通過する軌道は、より密度の低い骨を通過する軌道よりも有利に重み付けされる。
【0040】
軌道命令202は、技法に基づいて、かつ/又は外科医の以前の手術及び/若しくは好みに基づいて、異なる種類の重みλの各々を与えることができる。いくつかの例では、軌道アルゴリズムは、順方向又は逆方向に実行することができる。重みを調整してスクリュー軌道計画を決定することができるか、又はスクリュー軌道計画を取り込んでその計画を再作成するために必要な重みを計算することができる。骨密度は、手術前CTスキャンなどの様々なタイプの撮像をセグメント化すること又は他の場合には分析することを通じて決定することができる。
【0041】
チャネル角度は、椎骨の椎弓根チャネルを記述する変数とすることができる。チャネル角度は、チャネルの頭蓋側-尾側角度、及び内側-横側角度の両方に基づいて定義することができる。したがって、チャネルは、3D空間で定義することができる。チャネルの角度は、2つの値、すなわち、頭蓋角度及び内側角度のセットとして定義することができる。基準(0°)頭蓋角度は、椎体上位終板と平行であるものとして定義することができる。基準(0°)内側角度は、(棘突起の先端と、椎体の質量中心との間に引かれた)椎骨正中線と平行であるものとして定義することができる。
【0042】
進入位置は、三次元空間内の位置とすることができる。したがって、進入位置は、x、y、及びzの座標を用いて記述することができる。
【0043】
軌道命令202は、制約を定義又は負荷するように動作することができる。制約は、ハイパーパラメータとすることができる。例示的な制約としては、頭蓋角度、内側角度、進入角度、z位置、y位置、及びx位置の各々についての最大値及び最小値が挙げられる。スクリュー長さ及び直径に対する制約(例えば、可能な在庫値に抑制するためか、又は椎弓根若しくは椎体の前方部分の破損を回避するための)、他の制約、又はそれらの組み合わせ等、他の制約を指定することができる。進入点が椎骨上に配置されなければならないような更なる制約が存在し得る。表2(以下)は、例示的な制約値を示している。
【0044】
【表2】
【0045】
例示的な一実施態様では、最適化アルゴリズムにおいて、x、y、z制約は、最終的に生成される椎弓根スクリューの進入点の値に関係し、それを初期椎弓根スクリューの進入点の周りの半径5mm以内に制限する。この仮定は、アルゴリズムに提供される初期スクリューがローカル又はグローバルな最大(「最良」)の椎弓根スクリューの理想的位置から約10mm以内であることである。したがって、これは、探索すべき可能なスクリューの空間を制限し、アルゴリズムの速度及び集束率を改善する。それは、3D点を除いて、頭蓋/内側角度に関する制約と同じタイプの制約として考えることができる。いくつかの例では、任意の所与のパラメータ/目的に対して1つ超の制約があり得るため、x、y、及びzの制約は、表の中のBoundsentry x/y/z行と合併され得るか、又は完全に除去され得る。言い替えると、(例えば、進入点上の)別の種類の制約が同じ表の中の他所に記述されている可能性があるため、特定の制約を別個に記述する必要さえない場合がある。
【0046】
したがって、軌道命令202は、訂正されたスクリュー軌道計画内の各スクリューについて、訂正された軌道、進入位置、スクリュー長さ、及び/又はスクリュー幅を決定することができる。いくつかの実施形態では、訂正されたスクリュー軌道計画は、訂正された位置及び/若しくは訂正された配向、訂正されたスクリュー長さ、並びに/又は訂正されたスクリュー幅を有する訂正されたスクリュー軌道を含む。更に、訂正されたスクリュー軌道計画は、スクリュー軌道計画に関連付けられた手術に必要な各長さ及び幅についての、各スクリューの量を詳述するスクリュー在庫を含むことができる。外科医S及び/又は別のユーザは、手術中にスクリューを手動で挿入するために、ロボット手術を用いて支援される手術中にスクリューを挿入するために、在庫計画のために、かつ/又は手動計画努力を支援及び/若しくは合理化する初期近似スクリュー計画として使用するために、訂正されたスクリュー軌道計画を使用することができる。スクリュー軌道計画アルゴリズムはまた、訂正された軌道計画を使用し、更新又はそれ以外の場合は訓練し続けて、生成された訂正されたスクリュー軌道に基づいて重みをより良好に決定することもできる。
【0047】
表示命令206は、表示装置114上に手術画像を表示するように更に動作する。例示的な実施態様では、表示命令206は、表示装置114が表示する手術画像上に、進入位置を含めて、スクリュー軌道を描画する。表示命令206はまた、表示装置114が表示する手術画像上に、器具を描画することもできる。
【0048】
入力命令204は、入力装置112を介して受信される入力などの入力を受信するように動作する。入力命令204は、入力を識別命令200、軌道命令202、表示命令206、及び/又は通信命令208に送信することができる。例えば、入力命令204は、入力を受信して椎弓根スクリュー軌道計画を作成するように動作することができる。入力命令204は、撮像装置、記憶装置、及び/又はメモリ220と通信して、撮像装置に、患者の脊椎の画像を捕捉及び送信させ、かつ/又は患者の脊椎の画像を受信させる。入力命令204はまた、識別命令200に、椎弓根スクリュー軌道計画要求に関連付けられた画像内の椎骨及び/又は椎骨の構成要素を識別するように動作させることもできる。
【0049】
入力命令204はまた、椎弓根スクリュー軌道計画に基づく技法の選択を受信するように動作することもできる。入力命令204は、軌道命令202が、例えば、椎弓根スクリュー計画アルゴリズムを使用して、スクリュー軌道、スクリュー長さ、及び/又はスクリュー幅を決定するための係数に重みを与えるように動作するように、技法の選択を軌道命令202に送信することができる。入力命令204は、入力を受信して、椎弓根スクリュー軌道計画に基づいて画像上に描画されるスクリュー軌道を有する画像を表示することができ、入力命令204は、表示命令206に、表示装置上に画像、及び描画されたスクリュー軌道を表示させるように動作することができる。入力命令204はまた、通信命令208に、外部表示装置と通信させて、外部表示装置に、画像、及び描画されたスクリュー軌道を表示させることもできる。
【0050】
メモリ220は、椎弓根スクリュー挿入技法に関連付けられた所定の重みを記憶し、外科医の好みのために決定された重みを記憶し、かつ/又はその種の他のものを記憶するように動作する。軌道命令202は、メモリ220から重みにアクセスすることができる。メモリ220はまた、識別命令200、軌道命令202、表示命令206、及び/又は通信命令208が使用するための脊椎の画像を記憶することもできる。
【0051】
図3Aは、軌道命令202の実行によって実施することができる、椎弓根スクリュー計画のための例示的な方法300を示している。この方法300は、脊椎のスキャンを受信することを含む動作302から始まる。例えば、椎弓根スクリュー計画システム110は、手術中又は手術前の撮像システムから脊椎のスキャンを受信する。このスキャンは、手術前又は手術中の脊椎のスキャンとすることができ、よって、椎弓根スクリュー計画システム110は、手術前又は手術中にスキャンを受信することができる。例示的な実施態様では、椎弓根スクリュー計画システム110は、手術前スキャンを使用して椎弓根スクリュー計画を作成し、手術中のスキャンを使用して椎弓根スクリュー計画を訂正する。スキャンは、脊椎の3Dスキャン、及び/又は脊椎の複数の2D画像とすることができる。椎弓根スクリュー計画システム110は、複数の2D画像を使用して、脊椎の3Dモデルを決定することができる。いくつかの実施形態では、椎弓根スクリュー計画システム110は、撮像装置120などの撮像装置から脊椎のスキャンを受信する。動作302に続いて、本方法のフローは、動作304に移動することができる。
【0052】
動作304において、脊椎のスキャンにおいて、1つ以上の椎骨、及び1つ以上の椎骨の1つ以上の構成要素の位置が識別される。例えば、椎弓根スクリュー計画システム110は、椎骨、及び/又は椎骨の構成要素の位置を決定する。椎骨の構成要素は、椎骨の終板、椎体、及び椎弓根を含むことができる。この動作304は、本明細書の他所で説明された技法などを使用して、セグメント化を実施することを含むことができる。
【0053】
動作304は、椎骨セグメント化体積の外面メッシュを再構築し、その形状記述子特性を計算することを含むことができる。ある例では、表面再構築が実施され、次いで、矢状半球分割が実施され、次いで、スペクトル記述子分析が実施される。この表面再構築は、(例えば、Schroederらによる、Flying Edges:A High-Performance Scalable Isocontouring Algorithm、5th IEEE Symposium on Large Data Analysis and Visualization,October 2015に記載されているような)等化アルゴリズムを介するなどして、様々な技法のいずれかを使用して実施することができる。例示的なスペクトル記述子には、熱カーネル特徴、波カーネル特徴、スペクトルグラフウェーブレット特徴、グローバルポイント特徴、ShapeDNA、他の記述子、又はそれらの組み合わせが含まれる。ある例では、椎骨は、スケール不変熱カーネル特徴値を有するように示される。
【0054】
動作304に続いて、本方法のフローは、動作306に移動することができる。
【0055】
動作306において、初期スクリュー軌道計画が、1つ以上の椎骨及び1つ以上の構成要素の位置を使用して決定される。例えば、椎弓根スクリュー計画システム110は、様々な技法のいずれかを使用して、初期スクリュー軌道計画を決定する。これは、例えば、ユーザインターフェースを介して、ユーザから初期スクリュー計画を受信すること、アトラスベースの技法から初期スクリュー計画を受信すること、又は人工知能ベースの技法、他の技法、若しくはそれらの組み合わせから初期スクリュー計画を受信することを含むことができる。
【0056】
様々な方策を使用して、初期スクリュー軌道計画を決定することができる。一例として、アトラス技法の使用が挙げられる。アトラス内で識別された点を使用し、新しいスキャン内で類似の重要な点を見つけ、次いで、同じ相対位置にスクリューを配置する。ある例では、所与の理想的な椎骨に対する理想的な軌道が、多くの異なる椎骨上において、多くの異なる外科医からの適切なスクリュー軌道をモーフィングして単一モデル椎骨に対応させることによって、決定される。ある例では、軌道は、配置された椎弓根スクリューの多くの異なるスキャンから、平均的な椎骨上の軌道を決定することによって、見出すことができる。軌道を椎骨にマッピングすることは、見当合わせ技法を使用して達成することができる。例えば、患者スキャン基準空間は、注釈のために特定の患者空間に見当合わせすることができる。例示的なアトラス技法は、一般化プロクラステス分析を使用して実施される。
【0057】
別の方策としては、所与の椎骨の形態学的構造を評価して椎弓根チャネルのありそうな位置を識別し、かつそのチャネルを通過するスクリュー軌道が選択される、骨格技法がある。ここで、骨格とは、椎骨の位相幾何学的骨格を指す。次いで、位相幾何学的骨格を使用して、椎弓根を通る経路を見つける。チャネルの位置は、セグメント化アルゴリズムに基づいて識別することができる。この技法は、椎弓根の位相幾何学的骨格の中心を可能な限り近くで通過するスクリュー軌道を選択することができる。
【0058】
別の方策としては、椎弓根チャネルの質量中心を識別するための機械学習(例えば、DNN)を使用することであり、その質量中心を通過する固定軌道が決定される。別の方策としては、椎弓根チャネルの決定された質量中心を使用し、次いで、その点を通過する任意のスクリュー軌道が選択される。ある例では、任意の軌道は、解剖学的構造に対していくらかの固定された角度を有する(例えば、1回のスキャン毎に、スクリューが35度の頭蓋角度で椎弓根中心を通過するようになるであろう)。軌道は、単純な所定の定数に基づくことができる。他の例では、軌道は、ある範囲(例えば、制約に基づいた範囲)内で擬似乱数的である。
【0059】
動作306に続いて、本方法のフローは、動作308に移動することができる。
【0060】
動作308において、訂正されるスクリュー軌道計画は、重み付け係数に従って初期スクリュー軌道計画を訂正することによって決定される。例えば、椎弓根スクリュー計画システム110は、軌道命令202によって定義された椎弓根スクリュー計画アルゴリズムを使用して、訂正されるスクリュー軌道計画を決定する。いくつかの例では、訂正することは、進化アルゴリズムを使用して実施される。
【0061】
動作308を実施することは、動作312などの動作を含むことができる。
【0062】
動作312は、適用すべき1つ以上の係数セットを決定することを含む。例えば、係数セットは、一般的な軌道を、Roy-Camille軌道、Magerl軌道、及びKrag軌道、皮質軌道、直線内側角度軌道、直線頭蓋角度軌道、及び下方頭蓋角度軌道、ユーザ定義軌道、他の軌道、又はそれらの組み合わせなどの特定の軌道となるように修正することに関連付けることができる。例えば、係数セットのうちの1つは、初期軌道をRoy-Camille軌道になるように修正するために、使用可能であり得る。いくつかの例では、係数セットは、変換を提供する参照テーブル又は他のデータ構造である。他の例では、係数セットは、初期軌道を定義する入力に応答して、出力として補正を適用する機械学習技法又は人工知能技法である。更にまた、本明細書で説明される例を使用して、知られていない技法に従って軌道を生成することもできる。逆に、軌道は、ユーザ指定された(又は自動的に決定された)制約に対して最適化することができ、これは、事前定義されたスクリュー計画と比較して、より良好な特性又はトレードオフを伴う新規のスクリュー計画を生成することをもたらすことができる。
【0063】
係数セットは、様々な異なる種類の有用なフォーマットのいずれかとすることができる。ある例では、セット係数は、セットを満たすために順守されなければならない制約のセットであり得る。例えば、係数セットによって具現化される技法は、達成するための特定のスクリュー角度付け又は位置決めを必要とする。いくつかの例では、係数セットは、係数セットによって具現化される技法を記述する係数及び重みのセットであり得る。例えば、係数は、特定の技法のための椎弓根スクリューの軌道を定義する特定の程度であり得る。
【0064】
適用すべき1つ以上の係数セットを決定することには、システムが、適用すべきセットのユーザ選択を受信することが含まれ得る。例えば、システムは、係数を指定するユーザインターフェース要素(例えば、ドロップダウンメニュー)の作動を受信することができる。加えて又は代わりに、動作312は、好みのファイルからセットをロードすることによって、セットを決定することを含むことができる。加えて又は代わりに、動作312は、1つ以上の基準に基づく、アルゴリズム又は人工知能の選択によって、セットを決定することを含むことができる。例えば、特定の係数セットは、特定の利益又はリスクに関連付けることができ、セットは、1つ以上の利益を増加させながら、1つ以上のリスクを低減するように選択することができる。リスク又は利益に影響を及ぼす例示的な基準には、スクリュー脱落のリスク(例えば、これは、患者の骨密度、計画された脊椎構造の性質、他の要因、又はそれらの組み合わせに基づく増加又は減少の要因であり得る)、スクリュー挿入の容易さ、誤差マージン(例えば、これは、フリーハンド、ナビゲート、又はロボットなどの挿入技法に応じた増加又は減少の要因であり得る)、亀裂のリスク(例えば、これは、挿入技法に応じた増加又は減少の要因であり得る)、椎弓根破損のリスク、手術の性質(例えば、脊椎固定術又は脊椎側弯症矯正)、構造安定性、スクリュー破損のリスク、椎弓根破断のリスク、椎弓根破損のリスク、トグリングのリスク、他の状況、又はそれらの組み合わせが含まれる。これらの基準は、AI又は手動(例えば、ユーザによる)の判定に基づいて決定することができる。例えば、AIは、患者撮像又は患者記録を分析して、これらの状況(例えば、それらのリスク)を判定し、そのような状況の観点から適用すべき1つ以上の重み付け係数セットの選択を容易にすることができる。
【0065】
動作312に続いて、本方法のフローは、動作314に移動することができる。
【0066】
動作314は、決定された1つ以上のセットの適用を修正することを含む。ある例では、1つ以上の係数セットを適用するための1つ以上の異なる方法があり得る。例えば、セットによって定義された制約を満たす複数の異なる軌道が存在し得る。更に、ユーザは、それにもかかわらず制約に違反するように、軌道を修正したい場合がある。別の例では、セットは、それにもかかわらず修正され得る特定の軌道を定義することができる。この修正は、1つ以上の制約満足アルゴリズム又は問題解決プログラムを適用することなどによって、様々な技法のいずれかを使用して実施することができる。
【0067】
一例では、動作314は、進化アルゴリズムを使用することを含む。この進化アルゴリズムは、形態的な制約を最小化しながら、椎弓根スクリュー及び軌道の寸法を最大化する椎弓根スクリュー及び軌道を見つけるように構成することができる。アルゴリズムへの入力は、以前のステップから決定された情報を含むことができる。例示的な入力には、椎骨表面、椎骨配向、椎弓根スクリューチャネルの質量中心、ハイパーパラメータ、他の入力、又はそれらの組み合わせが含まれる。進化アルゴリズムは、初期化動作、シミュレーション動作、進化アルゴリズム、他の動作、又はそれらの組み合わせなどの種々の動作を含むことができる。
【0068】
進化アルゴリズムの例示的な実施態様は、以下のとおりである。
【0069】
【数2】
【0070】
初期化アルゴリズムは、以下のような様々な方法のいずれかで構成することができる。
【0071】
【数3】
【0072】
進化関数は、様々な方法のいずれかで構成することができる。ある例では、入力は、σ、Δe、Δc、及びΔmを含む。進化関数は、突然変異型、交差型等を含む候補スクリューを修正することができる。例えば、yの現在のパラメータσ、σ、又はσをランダムに変化させ、これらのパラメータは、標準偏差Δe、Δc、又はΔmを有する正規分布からそれぞれサンプリングされた大きさを有する。これは、修正されたスクリューy(σ)を返すことができる。
【0073】
シミュレーション関数は、様々な方法のいずれかで構成することができる。ある例では、シミュレーション関数は、y、v、及びoを入力として採用する。これは、そのパラメータy(σ)が与えられた椎弓根スクリューをシミュレーションすることができる。このプロセスは、以下の物理的制約を前提として、椎骨vの内側に嵌合する最も長く、かつ最も幅の広い可能なスクリューを計算し、その制約は、表面vを破損/交差せず、osagittalによって与えられる正中線を横切らないことである。このプロセスはまた、その進入点の位置における表面記述子も計算する。それは、修正されたスクリュー
【0074】
【数4】
であって、新しい特性
【0075】
【数5】
すなわち、長さ、幅、及び記述子値を有するものを返す。
【0076】
ソート機能は、様々なソーティング遺伝的アルゴリズムのいずれかを実装することができる。それは、要素y∈Yを多目的パレートフロントにソーティングして、上位n個の最良要素を返すように構成することができる。これは、異なる候補スクリューをランク付けする方法を提供するため、進化アルゴリズムの損失関数であり得る。ある例では、このソーティングアルゴリズムは、Debらによって、「A fast and elitist multiobjective genetic algorithm:NSGA-II」,IEEE Transactions on Evolutionary Computation(Vol.6,Issue 2,April 2002)に記載されている非優越ソーティング遺伝的アルゴリズムIIである。別の例では、関数は、トーナメント選択、ルーレット選択、NSGA I/II/III、SPEA I/II、他の関数、又はそれらの組み合わせを使用して、単一オブジェクト/複数オブジェクト/加重和オブジェクトなどの他の形態をとることができる。
【0077】
関数P(Y)は、Yのパレート最適サブセットを、オブジェクトo、o、...、oが与えられた上で選択するように構成することができ、そのオブジェクトは、ソート関数(例えば、NSGA-IIアルゴリズム)の第1のパレートフロントに対応する。
【0078】
関数U(下方、上方)は、下方包含的境界と上方包含的境界との間の実数を一様にランダムにサンプリングすることができる。
【0079】
標記[N]は、整数n={1、2、...、N}のソーティングされたセットを指すことができる。
【0080】
標記
【0081】
【数6】
は、集合X及び集合Yを一緒に連結することを指すことができる。
【0082】
変数
【0083】
【数7】
は、最適化の異なる段階における椎弓根スクリューを表すことができる。椎弓根スクリューは、パラメータσを有するモデルによって最小限に表すことができる。シミュレーションステップを通して、スクリューは、物理的特性
【0084】
【数8】
を用いて強化され得る。スクリューは、そのパラメータが変化するときはいつでも再シミュレーションされ得る。
【0085】
変数σ(例えば、σ、σ、及びσを含むことができる)は、新しい候補スクリュー解を生成するために進化アルゴリズム演算子によって使用される椎弓根スクリューのパラメータに対応することができる。変数は、スクリューの位置e={x,y,z}、頭蓋(極角又は仰角)角度c、及び内側(方位角又はヨー角)角度mを含むことができる。
【0086】
変数
【0087】
【数9】
(例えば、これは、
【0088】
【数10】
を含むことができる)は、損失関数(例えば、NSGA-II)のオブジェクトとして使用される3D空間において、椎弓根スクリューの物理的特性を記述することができる。これは、その円柱の長さ及び幅、並びに椎骨の表面上のその進入点における表面記述子値を含むことができる。
【0089】
変数φ(例えば、これは、φ、φ、φ、φ、φΠ、φΔe、φΔc、φΔm、...を含むことができる)は、以下の進化アルゴリズムのハイパーパラメータであり得、すなわち、候補スクリューの母集団のサイズ(P)、オプティマイザを実行するための世代数(G)、サンプリングするための初期スクリュー頭蓋(C)角度及び内側(M)角度の下限及び上限、各候補スクリューが進化イベントを受ける確率(Π)、進化イベント中の進入点(Δe)、頭蓋(Δc)角度及び内側(Δm)角度シフトの標準偏差である。簡略にするために、他のハイパーパラメータ(シミュレーションアルゴリズム、違反制約、進化演算子のための個々の確率、代替の形状記述子等)は、省略された。
【0090】
上記は、単に1つの例示的な進化アルゴリズム及び構成にすぎない。他のアルゴリズム(進化又はそれ以外)を使用することができる。
【0091】
動作316は、絶対制約が、動作314によって定義された軌道によって違反されているかどうかを判定することを含む。例えば、絶対制約には、椎弓根を破損させること、椎体を破損させること、突き出し過ぎること、禁止領域に入ること、他の制約、又はそれらの組み合わせが含まれ得る。制約が違反されている場合、本方法のフローは、動作312又は動作314に移動することができる。
【0092】
制約が違反されていない(又はユーザが、それにもかかわらず、軌道を使用したいことを認めた)場合、動作306は、完了することができ、軌道は、手術内で使用することができる。いくつかの例では、軌道(又は重みなどのその構成要素)は、将来の使用のために別のシステムに記憶又は提供することができる。例えば、軌道に関する情報(及び解剖学的情報などの他の情報)は、機械学習の重みを調整するために使用することができるか、又は機械学習ベースのシステムのための訓練データとして使用することができる。機械学習の重みのそのような調整は、オンラインで行う(例えば、ユーザのために製品をカスタマイズするためにその製品が使用されるときに、重みを微調整する)ことができ、又はオフラインで行う(例えば、次世代バージョンのために後で機械学習の重みを微調整する)ことができる。
【0093】
図4は、例示的な手術スキャン400を示している。椎弓根スクリュー計画システム110は、椎骨401、及びその椎骨401の構成要素の位置を決定するように動作する。例えば、椎弓根スクリュー計画システム110は、第1の前面402、中心線404、第2の前面406、及び/又は後面408を決定するように動作することができる。椎弓根スクリュー計画システム110は、ニューラルネットワークモデルを使用して、椎骨401及び/又はその椎骨401の構成要素の位置を決定することができる。ニューラルネットワークモデルは、第1の前面402、中心線404、第2の前面406、及び/若しくは後線面を決定することができ、かつ/又は椎骨401、並びに第1の前面402、中心線404、第2の前面406、及び/若しくは後面408の形態学的情報を使用して、椎骨401の位置を検出することができる。この例では、手術スキャン400が三次元であるため、平面を使用して形状を記述する。形状が二次元形状に低減されると、平面は、代わって、線の形態であり得る。
【0094】
図5は、3Dスキャンから取り出されたスライス(例えば、2D画像)の形態の椎骨401の軸方向図500を示している。椎骨401は、手術スキャン400に含まれる椎骨401のうちの1つであり得る。いくつかの実施形態では、椎弓根スクリュー計画システム110は、椎骨401の構成要素の位置を決定する。例えば、椎弓根スクリュー計画システム110は、軸方向図500を含むスキャンを受信し、椎弓根スクリュー計画システム110は、軸方向図500を使用して、椎骨401の構成要素の位置を決定する。代替的な実施態様では、このような2D表現は、3D体積内にスクリューを描画しようとするよりも理解し易い場合があるため、完全3D画像(例えば、単なるスライスではない)を使用して、椎骨の構成要素の位置を決定した後に、スライスが、ユーザに示される。構成要素には、椎体502、椎弓根504、終板506、及び他の構成要素(例えば、椎弓板、椎間関節等)が含まれ得る。椎弓根スクリュー計画システム110は、椎骨401のための椎弓根スクリューの内側角度軌道線520を決定することができる。この内側角度軌道線520は、内側基準線524に対して内側角度522にある。内側角度軌道線520は、軸方向図において、スクリューと椎骨正中線(又はそれに対して平行である任意の線)との間の角度であり得る。
【0095】
椎弓根スクリュー計画システム110はまた、いくつかの実施形態では、軸方向図500も表示する。例えば、椎弓根スクリュー計画システム110は、表示装置114上に軸方向図500を表示する。例示的な実施態様では、椎弓根スクリュー計画システム110は、椎骨401の表示された軸方向図500上に、構成要素及び/又は内側角度軌道線520の位置を描画する。
【0096】
図6は、椎骨401の側面図600を示している。椎弓根スクリュー計画システム110は、終板506の位置を決定することができる。例えば、椎弓根スクリュー計画システム110は、側面図600を含むスキャンを受信し、椎弓根スクリュー計画システム110は、側面図600を使用して、終板602などの椎骨401の構成要素の位置を決定する。椎弓根スクリュー計画システム110はまた、例示的な使用事例に従って、椎骨401の椎弓根スクリューの頭蓋角度軌道線610を決定するように動作することもできる。頭蓋角度軌道線610は、頭蓋基準面614に対して頭蓋角度612のところにある。
【0097】
椎弓根スクリュー計画システム110はまた、いくつかの実施形態では、側面図600を表示する。例えば、椎弓根スクリュー計画システム110は、表示装置114上に側面図600を表示する。例示的な実施態様では、椎弓根スクリュー計画システム110は、椎骨401の表示された側面図600上に、構成要素及び/又は頭蓋角度軌道線610の位置を描画する。
【0098】
図7は、例示的な技法に基づく例示的なスクリュー軌道700を示している。スクリュー軌道700は、椎弓根スクリュー計画システム110が作成する椎弓根スクリュー軌道計画のための軌道、例えば、Roy-Camille軌道710、Magerl軌道720、及びKrag軌道730を含む。椎弓根スクリュー計画システム110は、Roy-Camille技法に基づく重みを使用して、Roy-Camille軌道710を作成することができる。このRoy-Camille軌道710は、直線内側角度軌道712、直線頭蓋角度軌道714、及び下方頭蓋角度軌道716を含む。
【0099】
椎弓根スクリュー計画システム110は、Magerl技法に基づく重みを使用して、Magerl軌道720を作成することができる。このMagerl軌道720は、傾斜した内側角度軌道722、下方頭蓋角度軌道724、及び下方頭蓋角度軌道726を含む。椎弓根スクリュー計画システム110は、Krag技法に基づく重みを使用して、Krag軌道730を作成することができる。このKrag軌道730は、傾斜した内側角度軌道732、上方頭蓋角度軌道734、及び直線頭蓋角度軌道736を含む。
【0100】
図8は、例示的な手術画像800及び描画されたスクリュー軌道を示している。手術画像800は、軸方向図810、前方/後方図820、及び側面図830を含む。椎弓根スクリュー計画システム110は、表示装置114上に手術画像800を表示することができる。外科医Sなどのユーザは、入力装置112を使用して、図を変更することができる。例えば、外科医Sは、入力装置112を使用して、椎弓根スクリュー計画システム110に、別の椎骨の鳥瞰図を表示させる。
【0101】
軸方向図810は、表示された椎骨の内側角度軌道線520、及び描画されたスクリュー812を含む。内側角度軌道線520は、椎弓根スクリュー計画システム110が被表示椎骨のために決定する、内側角度であり得る。内側角度軌道線520は、椎弓根スクリュー計画システム110が決定する訂正されたスクリュー軌道計画に基づいて描画することができる。例示的な実施態様では、描画されたスクリュー812は、外科医Sが使用しているスクリュー及び/又は器具の現在位置に基づく。したがって、外科医は、手術画像800を使用して、描画されたスクリュー812を、内側角度軌道線520のうちの1つと位置合わせすることができる。
【0102】
前方/後方図820は、椎骨のためのスクリュー位置822、及び現在のスクリュー位置824を含む。椎弓根スクリュー計画システム110は、訂正されたスクリュー軌道計画の一部としてスクリュー位置822を決定するように動作し、椎弓根スクリュー計画システム110は、スクリュー位置822を前方/後方図820上で描画させることができる。現在のスクリュー位置824は、描画されたスクリュー812などのスクリューの現在の位置である。したがって、外科医Sは、現在のスクリュー位置824を使用して、スクリューを、スクリュー位置822のうちの1つと位置合わせすることができる。
【0103】
側面図830は、表示された椎骨の頭蓋角度軌道線610、及び描画されたスクリュー812を含む。この頭蓋角度軌道線610は、椎弓根スクリュー計画システム110がそれぞれの椎骨のために決定する頭蓋角度であり得る。頭蓋角度軌道線610は、椎弓根スクリュー計画システム110が決定する訂正されたスクリュー軌道計画に基づいて、描画される。描画されたスクリュー812は、外科医Sが使用しているスクリュー及び/又は器具の現在位置に基づき得る。したがって、外科医は、手術画像800を使用して、描画されたスクリュー812を、頭蓋角度軌道線610のうちの1つと位置合わせすることができる。
【0104】
図9は、本明細書に説明される技法を達成するために使用することができる機械学習フレームワークを訓練するための例示的な方法900を示している。この方法は、動作910から始めることができる。
【0105】
動作910は、訓練サンプルを取得することを含む。この訓練サンプルは、機械学習フレームワークを訓練するのに適切なデータの例である。そのようなデータは、データの実世界又は合成の例であり得る。訓練サンプルは、正の訓練サンプルだけでなく、負の訓練サンプルもまた含む必要がある。訓練サンプルは、サンプルについてのラベル(例えば、サンプルを入力として与えた場合の予想出力)を更に含むことができる。動作910に続いて、本方法900のフローは、動作920に移動することができる。
【0106】
動作920は、訓練サンプルを使用して、機械学習フレームワークを訓練することを含むことができる。機械学習フレームワークの1つ以上の態様は、GOOGLE INC.によるTENSORFLOW(登録商標)、PYTORCHコミュニティによるPYTORCH、及び/又は他のオープンソース又はクローズドソースの機械学習ライブラリを用いて、又はそれらに基づいて実装することができる。機械学習フレームワークは、学習のための構造体である1つ以上の機械学習モデルを含むことができる。このモデルは、機械学習ノード(例えば、ニューラルネットワーク、決定木、又は他の種類のニューラルネットワークのノード)、ノード間の接続、重み、マトリックス、他の構造体、又はそれらの組み合わせを表す、1つ以上の構造体を含むことができる。機械学習フレームワークは、1つ以上の機械学習モデルを確立し、維持し、訓練し、及び使用するための手順を定義することができる。機械学習フレームワークを訓練することは、有用なフォーマットで機械学習フレームワークに入力として訓練サンプルを提供すること、機械学習フレームワークを用いてサンプルを処理すること、及び機械学習フレームワークから出力を受信することを含むことができる。この出力は、一部として訓練サンプルに関連して定義された予想結果、及び損失関数(例えば、平均二乗誤差)を使用して決定された損失と比較され得る。機械学習フレームワーク(例えば、その1つ以上のモデル)は、出力に基づいて(例えば、出力と予想結果との間の差異に基づいて)修正することができる。訓練及び修正のプロセスは、誤差が十分に小さくなるまで、繰り返すことができる。動作920に続いて、本方法900のフローは、動作930に移動することができる。
【0107】
動作930は、訓練された機械学習フレームワークを記憶することを含むことができる。例えば、動作930は、機械学習フレームワークを、使用するためのメモリに記憶することを含むことができる。
【0108】
本開示の態様の様々な説明は、外科医又は複数の外科医について言及する場合があるが、そのような態様の機能は、文脈上必要に応じて他のユーザに拡張することができ、その結果、「外科医」という用語は、「ユーザ」という用語を裏付けることを理解されたい。いくつかの例では、外科医は、手術ロボットであり得る。ユーザが手術ロボットである場合、ロボットは、電子手術計画を使用することができる。そのような電子計画が自動的に提供されることができる場合、デジタル計画が外科医/ユーザによってロボットに変換される必要がないため、電子計画は、ワークフローを劇的に改善することができる。
【0109】
本明細書の例は、動作を含む方法を含む。各図の動作は、連続した順序で示されているが、それらの動作は、(場合によっては)並列に、かつ/又は本明細書で説明された順序とは異なる順序で実施することができる。加えて、様々な動作は、所望の実施態様に基づいて、より少ない動作に集約され、追加の動作に分割され、かつ/又は削除され得る。
【0110】
加えて、各図は、可能な実施態様の機能を示すことができる。動作は、モジュール、セグメント、又はプログラムコードの一部を表すことができ、それは、プロセスにおける特定の論理機能又はステップを実装するための、1つ以上のプロセッサ(例えば、CPU)によって実行可能な1つ以上の命令を含む。プログラムコードは、例えば、ディスク又はハードドライブを含む記憶装置などの任意のタイプのコンピュータ可読媒体上に記憶することができる。コンピュータ可読媒体は、例えば、レジスタメモリ、プロセッサキャッシュ、若しくはランダムアクセスメモリ(Random Access Memory、RAM)などの、短期間データを記憶する非一時的コンピュータ可読媒体、及び/あるいは読み取り専用メモリ(read only memory、ROM)、光ディスク若しくは磁気ディスク、又はコンパクトディスク読み取り専用メモリ(compact-disc read only memory、CD-ROM)などの永続的長期記憶装置を含むことができる。コンピュータ可読媒体は、任意の他の揮発性又は不揮発性の記憶システムを可能であり得、又はそれらを含み得る。コンピュータ可読媒体としては、例えば、コンピュータ可読記憶媒体、有形記憶装置、又は他の製造物品を考慮されてもよい。コンピュータ可読媒体は、1つ以上のプロセッサと通信可能に結合することができる。1つ以上のプロセッサは、データを、1つ以上のユーザ若しくは他の装置に提供するか、又はそれらから受信するための1つ以上のインターフェースに結合することができる。例示的なインターフェースとしては、ユニバーサルシリアルバス、ディスプレイ、スピーカー、ボタン、ネットワーキング構成要素(例えば、有線若しくは無線のネットワーキング構成要素)、他のインターフェース、又はそれらの組み合わせが挙げられる。
【0111】
動作は、プロセスにおいて特定の論理機能を実施するように配線されている回路を表すことができる。例示的な方法は、クラウド内及びシステム内の構成要素又は複数の構成要素によって、全体的に又は部分的に実行することができる。しかしながら、この例示的な方法は、代わりに、本発明の範囲を逸脱することなく、他のエンティティ、又はエンティティの組み合わせによって(例えば、他のコンピューティングデバイス、及び/又はコンピュータデバイスの組み合わせによって)実行することができることを理解されたい。例えば、特定の動作は、コンピューティングデバイス(又は1つ以上のプロセッサなどのコンピューティングデバイスの構成要素)によって完全に実施することができるか、又はコンピューティングデバイスの複数の構成要素にわたって、複数のコンピューティングデバイスにわたって、かつ/若しくはサーバにわたって、分散することができる。
【0112】
そのようなコンピュータ機能を実装するための例示的な技法は、デスクトップ及びブラウザベースのアプリケーション(例えば、本明細書で説明される態様を実装するアプリケーション)を実装するための万能なプラグアンドプレイ能力を提供するフレームワーク及び技術を含む。フレームワークは、NODEJS又はKATANAなどのHTTPサーバを特徴とするか又は使用するデスクトップウェブアプリケーションと、CHROMIUM EMBEDDED FRAMEWORK又はJAVA(登録商標)/.NET COREウェブビューなどの組み込み型ウェブブラウザコントロールと、を提供することができる。クライアント側フレームワークは、デスクトップ上及びウェブアプリケーションとしての両方で実行することが可能なアプリを提供するために、プラグアンドプレイ能力をデスクトップ及びウェブシェルに追加することによって、その概念を拡張することができる。1つ以上の構成要素は、従来の.NET実行時間を対象とする、MICROSOFT社によって構築されたOWIN(Open Web Interface for.NET)構成要素のセットを使用して実装することができる。KATANA、及び定義上からOWINにより、ミドルウェア(OWINに準拠したモジュール)をパイプラインに連鎖させることが可能になり、したがって、モジュール手法を提供してウェブサーバミドルウェアを構築することが可能になる。例えば、クライアント側フレームワークは、SIGNALR、セキュリティ、HTTPサーバ自体などのモジュールを特徴とするKatanaパイプラインを使用することができる。プラグアンドプレイ能力は、利用可能なプラグインからのアプリの実行時間アセンブリを可能にするフレームワークを提供することができる。プラグアンドプレイフレームワーク上に構築されたアプリは、数十のプラグインを有することができ、そのいくつかは、インフラストラクチャレベル機能を提供し、他のいくつかは、ドメイン固有の機能を提供する。CHROMIUM EMBEDDED FRAMEWORKは、CHROMIUMブラウザエンジンを、C#又はJAVA(登録商標)などの異なる言語のための結合部を用いて組み込むためのオープンソースフレームワークである。OWINは、標準インターフェースを定義することによって、ASP.NETアプリケーションとIISとの間の関係を切り離すことを目的とする、.NETウェブアプリケーションとウェブサーバとの間のインターフェースのための標準である。
【0113】
そのようなコンピュータ機能又はアルゴリズムを実装するための更なる例示的な技法は、プログラミング言語及び関連ライブラリによって、又はそれらと併せて提供される、フレームワーク及び技術を含む。例えば、C、C++、C#、PYTHON(登録商標)、JAVA(登録商標)、JAVASCRIPT(登録商標)、RUST、アセンブリ、HASKELL、他の言語、又はそれらの組み合わせなどの言語が使用され得る。そのような言語は、1つ以上の標準ライブラリ又はコミュニティ提供ライブラリを含み得るか、又はそれらに関連付けられ得る。当業者に託されているそのようなライブラリは、データの受信、処理、提供、及び提示を含む、本明細書の説明に基づくソフトウェアの作成を容易にすることができる。PYTHON(登録商標)及びC++のための例示的なライブラリとしては、OPENCV(例えば、これは、コンピュータビジョン技法及び画像処理技法を実装するために使用され得る)、TENSORFLOW(登録商標)(例えば、これは、機械学習技法及び人工知能技法を実装するために使用され得る)、及びGTK(例えば、これは、ユーザインターフェース要素を実装するために使用され得る)が挙げられる。更なる例には、PYTHON(登録商標)(例えば、これは、データ処理技法を実装するために使用され得る)のためのNUMPYが含まれる。加えて、他のソフトウェアが、本明細書で説明された1つ以上の態様を実装するために相互作用することができるアプリケーションプログラミングインターフェースを提供することができる。例えば、コンピューティング環境のためのオペレーティングシステム(例えば、MICROSOFT CORP.によるWINDOWS(登録商標)、APPLE INC.によるMACOS(登録商標)、若しくはCANONICAL LTD.によるUBUNTUなどのLINUXベースのオペレーティングシステム)又は本明細書の別の構成要素(例えば、ロボットがKUKA ROBOTICS CORPORATIONのモデルである、KUKA ROBOTICS CORPORATIONによるIIQKA.OS又はSUNRISE.OSなどのロボットのオペレーティングシステム)は、本明細書で説明された態様を実装するために使用可能であるアプリケーションプログラミングインターフェース又はライブラリを提供することができる。更なる例として、ナビゲーションシステム、レーザコンソール、無線カード、ディスプレイ、モータ、センサ、又は別の構成要素のプロバイダは、ハードウェア構成要素(例えば、センサ、カメラ、無線カード、モータ、又はレーザ発生器)だけでなく、構成要素に関する特徴を実装するために使用可能であるソフトウェア構成要素(例えば、ライブラリ、ドライバ、又はアプリケーション)も提供することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】