JP2022544717A - リアルタイム複数モダリティ画像アライメントのためのシステム及び方法 - Google Patents

リアルタイム複数モダリティ画像アライメントのためのシステム及び方法 Download PDF

Info

Publication number
JP2022544717A
JP2022544717A JP2022536909A JP2022536909A JP2022544717A JP 2022544717 A JP2022544717 A JP 2022544717A JP 2022536909 A JP2022536909 A JP 2022536909A JP 2022536909 A JP2022536909 A JP 2022536909A JP 2022544717 A JP2022544717 A JP 2022544717A
Authority
JP
Japan
Prior art keywords
data points
point cloud
processors
data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022536909A
Other languages
English (en)
Inventor
モハメッド シャー ラーヒル
マリア アミッチ マネロ ホセ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Z IMAGING
Original Assignee
Z IMAGING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Z IMAGING filed Critical Z IMAGING
Publication of JP2022544717A publication Critical patent/JP2022544717A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • G06T2207/10088Magnetic resonance imaging [MRI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Image Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Multimedia (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Image Analysis (AREA)

Abstract

画像データに基づいて環境内の複数の奥行きカメラをアライメント調整する方法は、1つ以上のプロセッサによって、被写体に対する第1のポーズに対応する複数の第1の点群データ点及び被写体に対する第2のポーズに対応する複数の第2の点群データ点にアクセスするステップを含むことができる。本方法は、1つ以上のプロセッサによって、第1のポーズ又は第2のポーズの少なくとも一方に基づいて、画像データの基準フレームを決定するステップを含むことができる。本方法は、1つ以上のプロセッサによって、複数の第1の点群データ点又は複数の第2の点群データ点のうちの少なくとも一方を変換して、基準フレームにアライメント調整するステップを含むことができる。【選択図】図1

Description

関連出願の相互参照
本出願は、米国仮特許出願第62/888,099号の利益及び優先権を主張し、その開示内容は参照により全体が本明細書に組み込まれる。
画像位置合わせ(又は画像レジストレーション:image registration)は、様々な用途で利用することができる。例えば、カメラからの画像データを3Dモデルに位置合わせし、画像データと保存されている3D情報との相互関連付けを行うことができる。
本開示は、一般に、画像検出及び位置合わせ(detection and registration)の分野に関するものである。より具体的には、本開示は、リアルタイムの複数モダリティ画像アライメント(alignment)のためのシステム及び方法に関するものである。この技術的ソリューションのシステム及び方法は、医用分析又は外科的用途などのリアルタイム3D点群並びに画像位置合わせのために使用することができる。
様々な態様は、一般に、3次元(3D)画像データを用いたリアルタイム複数モダリティ画像アライメントのためのシステム及び方法に関し、マーカーなしで、サブミリメートルの精度で実施することが可能である。CT又はMRIなどのスキャンを含む3D画像は、1つ以上のキャプチャデバイスを使用してリアルタイムでキャプチャされる患者の身体などの被写体に直接位置合わせすることができる。これにより、被写体の点群表現とともに、内部組織の情報など特定のスキャン情報をリアルタイムに表示することができる。これは、CTスキャンで同じ基準フレームに器具を配置するために手動プロセスを利用することになる外科手術に有益である。器具をトラッキングし、器具の軌跡を描き、スキャン上でターゲットを強調することができる。本ソリューションは、奥行きキャプチャ情報の医用スキャンに対するアライメント調整(又は整列:aligning)(例えば、外科手術のナビゲーションのために)、奥行きキャプチャ情報のCADモデルに対するアライメント調整する(例えば、製造及びトラブルシューティングのために)、複数医用画像モダリティのアライメント調整及び融合(例えば、MRI及びCT、CT及び3D超音波、MRI及び3D超音波)、複数CADモデルのアライメント調整(例えば、モデル間の差異を見つけるために)、及び複数の画像キャプチャデバイスからの奥行きキャプチャデータの融合のような様々な用途のための、サブミリメートル精度におけるリアルタイムな位置合わせ(レジストレーション:registration)を提供することができる。
本ソリューションは、手術室、外来患者設定、CTスイート、ICU、及び救急室などの様々な設定における画像誘導処置のために実施することができる。本ソリューションは、外脳室配置及びVPシャント配置などのCSF分流処置、脳腫瘍切除及び生検、並びに電極配置などの脳外科用途に使用することができる。腹部及び肺の生検、切除、吸引、ドレナージなどのインターベンショナルラジオロジーに使用することができる。本発明のソリューションは、脊椎固定術処置のような整形外科手術に使用することができる。
本開示の少なくとも1つの態様は、3次元点群を異なる基準フレームに変換する方法に関する。本方法は、例えば、データ処理システムの1つ以上のプロセッサによって実施することができる。本方法は、1つ以上のプロセッサによって、第1のポーズを有する第1のキャプチャデバイスによってキャプチャされた第1の点群のデータ点(データポイント)の第1のセット(集合)と、前記第1のポーズとは異なる第2のポーズを有する第2のキャプチャデバイスによってキャプチャされた第2の点群のデータ点(データポイント)の第2のセット(集合)とにアクセスすることを含むことができる。本方法は、前記データ点の第1のセットに基づいて基準フレームを選択するステップを含むことができる。本方法は、前記基準フレーム及び前記データ点の第1のセットを使用して、前記データ点の第2のセットに対する変換データ構造を決定するステップを含むことができる。本方法は、前記変換データ構造及び前記データ点の第2のセットを使用して、前記データ点の第2のセットをデータ点の変換されたセットに変換するステップを含むことができる。
本方法のいくつかの実装(実施形態)では、第1の点群の前記データ点の第1のセットにアクセスするステップは、前記第1のキャプチャデバイスから3次元画像データを受信するステップを含むことができる。この方法のいくつかの実装では、第1の点群の前記データ点の第1のセットにアクセスするステップは、前記第1のキャプチャデバイスからの前記3次元画像データを使用して、前記データ点の第1のセットを有するように前記第1の点群を生成するステップを含むことができる。
本方法のいくつかの実装では、前記第2のキャプチャデバイスは、前記第1のキャプチャデバイスと同一であることができる。この方法のいくつかの実装では、前記基準フレームを選択するステップは、前記第1の点群の第1の基準フレームを前記第1の基準フレームとして選択するステップを含むことができる。本方法のいくつかの実装では、前記基準フレームを選択するステップは、前記第1の点群の前記データ点の第1のセットのうちの1つ以上に割り当てられたカラーデータを取得するステップを含むことができる。本方法のいくつかの実装では、前記基準フレームを選択するステップは、前記カラーデータに基づいて前記基準フレームを決定するステップを含むことができる。本方法のいくつかの実装では、前記変換データ構造を決定するステップは、前記データ点の第2のセット内における少なくとも1つの点の位置の変化又は回転の変化を含むように前記変換データ構造を生成するステップを含むことができる。
本方法のいくつかの実装では、前記データ点の第2のセットを変換するステップは、前記データ点の第2のセット内における前記少なくとも1つの点に前記位置の変化又は前記回転の変化を適用して、データ点の変換されたセットを生成するステップを含むことができる。本方法のいくつかの実装では、前記データ点の第1のセット及び前記データ点の変換されたセットを含むデータ点の結合セットを生成するステップを更に含むことができる。本方法のいくつかの実装では、前記データ点の第1のセット及び前記データ点の第2のセットにアクセスするステップは、前記データ点の第1のセット又は前記データ点の第2のセットのうちの少なくとも1つをダウンサンプリングするステップを含むことができる。本方法のいくつかの実装では、前記データ点の第2のセットを変換するステップは、前記データ点の第1のセットにおける少なくとも1つの第1の点を前記データ点の第2のセットにおける少なくとも1つの第2の点にマッチングさせるステップを含むことができる。
本開示の少なくとも1つの他の態様は、3次元点群を異なる基準フレームに変換するように構成されたシステムに関する。本システムは、機械可読命令によって構成された1つ以上のプロセッサを含むことができる。本システムは、1つ以上のプロセッサによって、第1のポーズを有する第1のキャプチャデバイスによってキャプチャされた第1の点群のデータ点の第1のセットと、第1のポーズとは異なる第2のポーズを有する第2のキャプチャデバイスによってキャプチャされた第2の点群のデータ点の第2のセットとにアクセスすることができる。本システムは、前記1つ以上のプロセッサによって、前記データ点の第1のセットに基づいて基準フレームを選択することができる。本システムは、前記1つ以上のプロセッサによって、前記基準フレーム及び前記データ点の第1のセットを使用して、前記データ点の第2のセットに対する変換データ構造を決定することができる。本システムは、前記1つ以上のプロセッサによって、前記変換データ構造及び前記データ点の第2のセットを使用して、前記データ点の第2のセットを変換されたデータ点のセットに変換することができる。
いくつかの実装では、本システムは、前記第1のキャプチャデバイスから3次元画像データを受信することによって、第1の点群の前記データ点における第1のセットにアクセスすることができる。いくつかの実装では、本システムは、前記第1のキャプチャデバイスからの前記3次元画像データを使用して、前記データ点の第1のセットを有するように前記第1の点群を生成することによって、前記第1の点群の前記データ点における第1のセットにアクセスすることができる。本システムのいくつかの実装では、前記第2のキャプチャデバイスは、前記第1のキャプチャデバイスと同一であることができる。いくつかの実装では、システムは、前記第1の点群の第1の基準フレームを前記第1の基準フレームとして選択することによって、前記基準フレームを選択することができる。
いくつかの実装では、本システムは、前記第1の点群の前記データ点の第1のセットのうちの1つ以上に割り当てられたカラーデータを取得することができる。いくつかの実装では、本システムは、前記カラーデータに基づいて前記基準フレームを決定することができる。いくつかの実装では、本システムは、前記データ点の第2のセットにおける少なくとも1つの点の位置の変化又は回転の変化を含むように前記変換データ構造を生成することによって、前記変換データ構造を決定することができる。いくつかの実装では、本システムは、前記位置の変化又は前記回転の変化を前記データ点の第2のセット内の少なくとも1つの点に適用してデータ点の変換されたセットを生成することにより、前記データ点の第2のセットを変換することができる。
いくつかの実装では、本システムは、前記データ点の第1のセット及び前記データ点の変換されたセットを含むデータ点の結合されたセットを生成することができる。いくつかの実装では、本システムは、前記データ点の第1のセット又は前記データ点の第2のセットのうちの少なくとも1つをダウンサンプリングすることができる。いくつかの実装では、本システムは、前記データ点の第1のセットの少なくとも1つの第1の点を、前記データ点の第2のセットの少なくとも1つの第2の点にマッチングさせることができる。
本開示の少なくとも1つの他の態様は、3次元点群データをダウンサンプリングするための方法に関するものである。本方法は、物体の表面を表す点群に対応するデータ点のセットにアクセスするステップを含むことができる。本方法は、前記データ点のセットにレスポンス関数を適用して、前記データ点のセットにそれぞれのレスポンス値のセットを割り当てるステップを含むことができる。本方法は、選択ポリシー及び前記レスポンス値のセットを使用して、前記データ点のセットのサブセットを選択するステップを含むことができる。本方法は、前記データ点のセットの前記サブセットを含むデータ構造を生成するステップを含むことができる。
本方法のいくつかの実装では、前記データ点のセットにアクセスするステップは、少なくとも1つのキャプチャデバイスから3次元画像データを受信するステップを含むことができる。この方法のいくつかの実装では、前記データ点のセットにアクセスするステップは、前記3次元画像データを使用して、前記オブジェクトの前記表面を表す前記点群を生成するステップを含むことができる。この方法のいくつかの実装では、前記データ点のセットに前記レスポンス関数を適用するステップは、前記オブジェクトの前記表面を表す前記点群に対応する前記データ点のセットを使用してグラフデータ構造を生成するステップを含むことができる。本方法のいくつかの実装では、前記データ点のセットに前記レスポンス関数を適用するステップは、前記レスポンス関数の一部としてグラフフィルタを決定するステップを含むことができる。
本方法のいくつかの実装では、前記グラフフィルタを決定するステップは、前記データ点のセットを使用してk次元二分木を生成するステップを含むことができる。本方法のいくつかの実装では、前記グラフフィルタを決定するステップは、前記k次元二分木を使用して前記グラフフィルタを生成するステップを含むことができる。本方法のいくつかの実装では、前記グラフフィルタを決定するステップは、前記データ点のセットのデータ点の対の間におけるユークリッド距離を使用して前記グラフフィルタを生成するステップを含むことができる。本方法のいくつかの実装では、前記データ点のセットにおける前記データ点の対間の前記ユークリッド距離を使用して前記グラフフィルタを生成するステップは、さらに、前記データ点のセットの前記データ点のペアーの少なくとも1つのカラーチャンネルに基づくことができる。
本方法のいくつかの実装では、グラフフィルタを生成するステップは、前記データ点のセットの明度パラメータを特定するステップを含むことができる。本方法のいくつかの実装では、グラフフィルタを生成するステップは、前記データ点のセットにおける前記データ点の対の少なくとも1つのカラーチャンネルに基づいて前記グラフフィルタを生成するか否かを決定するステップを含むことができる。本方法のいくつかの実装では、前記データ点のセットの前記サブセットを選択するステップは、前記レスポンス値のセットの各レスポンス値を重みとして使用して加重ランダム選択を実施するステップを含むことができる。本方法のいくつかの実装では、前記選択ポリシーは、前記オブジェクトの前記表面上の1つ以上の輪郭に対応する前記データ点のサブセットを選択するように構成することができる。本方法のいくつかの実装では、さらに、前記データ点のセットの前記サブセットを含む前記データ構造をメモリに格納するステップを含むことができる。
本開示の少なくとも1つの他の態様は、3次元点群データをダウンサンプリングするために構成されたシステムに関する。本システムは、機械可読命令によって構成された1つ以上のプロセッサを含むことができる。本システムは、オブジェクトの表面を表す点群に対応するデータ点のセットにアクセスすることができる。本システムは、前記データ点のセットにレスポンス関数を適用して、前記データ点のセットにそれぞれのレスポンス値のセットを割り当てることができる。本システムは、選択ポリシー及び前記レスポンス値のセットを使用して、前記データ点のセットのサブセットを選択することができる。本システムは、前記データ点のセットの前記サブセットを含むデータ構造を生成することができる。
いくつかの実装では、本システムは、少なくとも1つのキャプチャデバイスから3次元画像データを受信することができる。いくつかの実装では、本システムは、前記3次元画像データを使用して、前記オブジェクトの前記表面を表す前記点群を生成することができる。いくつかの実装では、本システムは、前記オブジェクトの前記表面を表す前記点群に対応する前記データ点のセットを使用して、グラフデータ構造を生成することができる。いくつかの実装では、本システムは、前記レスポンス関数の一部としてグラフフィルタを決定することができる。いくつかの実装では、本システムは、前記データ点のセットを使用してk次元二分木を生成することができる。いくつかの実装では、本システムは、前記k次元二分木を使用して前記グラフフィルタを生成することができる。
いくつかの実装では、本システムは、前記データ点のセットにおけるデータ点の対の間のユークリッド距離を使用して前記グラフフィルタを生成することができる。いくつかの実装では、本システムは、さらに、前記データ点のセットにおける前記データ点の対の少なくとも1つのカラーチャネルに基づいて、前記データ点のセットにおける前記データ点の対間のユークリッド距離を使用して前記グラフフィルタを生成することができる。いくつかの実装では、本システムは、前記データ点のセットの明度パラメータを特定することができる。いくつかの実装では、本システムは、前記データ点のセットにおける前記データ点の対の前記少なくとも1つのカラーチャンネルに基づいて、前記グラフフィルタを生成するか否かを決定することができる。
いくつかの実装では、本システムは、前記レスポンス値のセットの各レスポンス値を重みとして使用して加重ランダム選択を実施することができる。いくつかの実装では、前記選択ポリシーは、前記オブジェクトの前記表面上における1つ以上の輪郭に対応する前記データ点の前記サブセットを本システムに対して選択させるように構成することができる。いくつかの実装では、本システムは、前記データ点のセットの前記サブセットを含む前記データ構造をメモリに格納することができる。
本開示の少なくとも1つの他の態様は、点群及び画像位置合わせのための処理ジョブをスケジューリングする方法に関するものである。本方法は、第1のメモリを有する第1の処理デバイス、及び第2のメモリを有する第2のマルチプロセッサデバイスを特定するステップを含むことができる。本方法は、第1の点群に対する第1の処理ジョブを特定するステップを含むことができる。本方法は、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップを含むことができる。本方法は、第1の点群を含む前記第1の処理ジョブのための情報を第2のメモリに割り振るステップを含むことができる。本方法は、第2の点群に対する第2の処理ジョブを受信するステップを含むことができる。本方法は、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップを含むことができる。本方法は、前記第2の処理ジョブの情報を前記第1のメモリに割り振るステップを含むことができる。本方法は、前記1つ以上のプロセッサによって、前記第2のマルチプロセッサデバイスに対して前記第1の処理ジョブを実行させるための第1の命令を、前記第2のマルチプロセッサデバイスに転送するステップを含むことができる。前記第1の命令は、前記第2のマルチプロセッシングデバイスに対して固有なものとすることができる。本方法は、前記1つ以上のプロセッサによって、前記第1の処理デバイスに対して前記第2の処理ジョブを実行させるための第2の命令を、前記第1の処理デバイスに転送するステップを含むことができる。前記第2の命令は、前記第1の処理デバイスに対して固有なものとすることができる。
本方法のいくつかの実装では、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップは、前記第1の処理ジョブが前記第1の点群における特徴検出のための演算(オペレーション)を含むことを決定するステップを含むことができる。本方法のいくつかの実装では、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップは、さらに、前記第1の点群のデータ点の数が所定の閾値未満であること、第2のマルチプロセッサデバイスの利用量が所定の閾値未満であること、又は前記第1のジョブの処理複雑度が複雑度閾値を超えることのうち少なくとも1つに基づくことができる。本方法のいくつかの実装では、前記第1の点群に対する前記第1の処理ジョブを特定するステップは、前記第1の点群を第1のキャプチャデバイスから受信するステップを含むことができる。
本方法のいくつかの実装では、前記第2の点群に対する前身第2の処理ジョブを特定するステップは、前記第1の点群に対する前記第1の処理ジョブを特定するステップに応答するものとすることができる。本方法のいくつかの実装では、前記第1の処理ジョブ又は前記第2の処理ジョブは、ダウンサンプリング演算、正規化演算、特徴検出演算、輪郭検出演算、位置合わせ(レジストレーション)演算、又はレンダリング演算のうちの少なくとも1つを含むことができる。本方法のいくつかの実装では、前記第2の点群は、キャプチャデバイスからキャプチャされた画像又は3D医用画像のうちの少なくとも一方から抽出することができる。本方法のいくつかの実装では、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップは、前記第2の点群を3D医用画像から抽出することを決定するステップに応答し得るものとすることができる。
本方法のいくつかの実装では、前記第1の処理ジョブは、第1の優先値と関連付けることができる。本方法のいくつかの実装では、前記第2の処理ジョブは、第2の優先値と関連付けることができる。本方法のいくつかの実装では、第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップは、前記第1の優先値が前記第2の優先値よりも大きいと決定するステップに応答するものであることを含み、またさらに、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップを含むことができる。本方法のいくつかの実装では、前記第1の優先値の各々は、前記第1の処理ジョブが実施される第1の頻度に基づくことができる。本方法のいくつかの実装では、前記第2の優先値は、前記第2の処理ジョブが実施される第2の頻度に基づくことができる。
本開示の少なくとも1つの他の態様は、点群及び画像位置合わせのための処理ジョブをスケジューリングするためのシステムに関するものである。本システムは、機械可読命令によって構成された1つ以上のプロセッサを含むことができる。本システムは、第1のメモリを有する第1の処理デバイス、及び第2のメモリを有する第2のマルチプロセッサデバイスを特定することができる。本システムは、第1の点群に対する第1の処理ジョブを特定することができる。本システムは、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定することができる。本システムは、第1の点群を含む前記第1の処理ジョブの情報を前記第2のメモリに割り振ることができる。本システムは、第2の点群に対する第2の処理ジョブを受信することができる。本システムは、第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定することができる。本システムは、前記第2の処理ジョブの情報を前記第1のメモリに割り振ることができる。本システムは、前記1つ以上のプロセッサによって、前記第2のマルチプロセッサデバイスに対して前記第1の処理ジョブを実施させるための第1の命令を、前記第2のマルチプロセッサデバイスに転送することができる。前記第1の命令は、前記第2のマルチプロセッシングデバイスに固有であることができる。本システムは、前記1つ以上のプロセッサによって、前記第1の処理デバイスに対して前記第2の処理ジョブを実施させるための第2の命令を、前記第1の処理デバイスに転送することができる。前記第2の命令は、第1の処理デバイスに固有のものとすることができる。
いくつかの実装では、本システムは、前記第1の処理ジョブが前記第1の点群における特徴検出のための演算を含むことを決定することができる。いくつかの実装において、本システムは、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定することが、前記第1の点群のデータ点の数が所定の閾値未満であること、前記第2のマルチプロセッサデバイスの利用量が所定の閾値未満であること、又は前記第1のジョブの処理複雑度が複雑度閾値を超えることのうち少なくとも1つに基づくことができる。いくつかの実装において、本システムは、前記第1の点群を第1のキャプチャデバイスから受信することができる。
いくつかの実装では、本システムは、前記第1の点群に対する前記第1の処理ジョブを特定することに応答して、前記第2の点群に対する前記第2の処理ジョブを特定することができる。本システムのいくつかの実装では、前記第1の処理ジョブ又は前記第2の処理ジョブは、ダウンサンプリング演算、正規化演算、特徴検出演算、輪郭検出演算、位置合わせ演算、又はレンダリング演算のうちの少なくとも1つを含むことができる。いくつかの実装では、本システムは、キャプチャデバイスからキャプチャされた画像又は3D医用画像のうちの少なくとも一方から前記第2の点群を抽出することができる。いくつかの実装では、本システムは、前記第2の点群が3D医用画像から抽出されると決定することに応答して、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定することができる。
本システムのいくつかの実装では、前記第1の処理ジョブは、第1の優先値と関連付けることができる。本システムのいくつかの実装では、前記第2の処理ジョブは、第2の優先値に関連付けることができる。いくつかの実装では、本システムは、前記第1の優先値が前記第2の優先値よりも大きいと決定することに応答して、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定することができる。本システムのいくつかの実装では、前記第1の優先値は、前記第1の処理ジョブが実施される第1の頻度に基づくことができ、前記第2の優先値は、前記第2の処理ジョブが実施される第2の頻度に基づくことができる。
本開示の少なくとも1つの他の態様は、3次元医用画像を点群に位置合わせするための方法に関する。本方法は、第1の基準フレームを有するグローバルシーンを表す第1の点群のデータ点の第1のセットにアクセスするステップを含むことができる。本方法は、前記第1の基準フレームとは異なる第2の基準フレームを有する3次元医用画像の特徴の特徴データ点のセットを特定するステップを含むことができる。本方法は、前記第1の基準フレーム、前記第1のデータ点のセット、及び前記特徴データ点のセットを使用して、前記3次元医用画像のための変換データ構造を決定するステップを含むことができる。本方法は、前記3D医用画像が前記第1の基準フレームに対して位置決めされるように、前記変換データ構造を使用して、前記3D医用画像を、前記グローバルシーンを表す前記第1の点群に位置合わせするステップを含むことができる。
本方法のいくつかの実装では、前記変換データ構造を決定するステップは、前記第1のデータ点のセットをダウンサンプリングして、節減された第1のデータ点のセットを生成するステップを含むことができる。本方法のいくつかの実装では、前記変換データ構造を決定するステップは、前記節減された第1のデータ点のセットを使用して前記3D医用画像に対する前記変換データ構造を決定するステップを含むことができる。本方法のいくつかの実装では、さらに、前記変換データ構造を決定するステップは、前記3D医用画像の位置の変化又は回転の変化を含むように前記変換データ構造を生成するステップを含むことができる。本方法のいくつかの実装では、さらに、前記3D医用画像を、前記グローバルシーンを表す前記第1の点群に位置合わせするステップは、前記3D医用画像に前記位置の変更又は前記回転の変更を適用して、前記3D医用画像の前記特徴を前記第1の点群内の対応する点とアライメント調整するステップを含むことができる。
本方法のいくつかの実装では、前記3D医用画像の前記特徴の前記特徴データ点のセットを特定するステップは、前記医用画像内の各データ点に重み値を割り当てて、重み値のそれぞれのセットを生成するステップを含むことができる。本方法のいくつかの実装では、前記3D医用画像の前記特徴の前記特徴データ点のセットを特定するステップは、前記特徴データ点のセットとして、重み値閾値を満たす重み値に対応する前記3D医用画像の前記データ点を選択するステップを含むことができる。本方法のいくつかの実装では、さらに、前記3D医用画像を、前記第1の点群に位置合わせすることに応答して、前記第1の点群及び前記3D医用画像のレンダリングを表示するステップを含むことができる。この方法のいくつかの実施態様では、外科用器具からトラッキングデータを受信するステップを含むことができる。この方法のいくつかの実施態様では、前記外科用器具を形成する前記トラッキングデータを前記第1の基準フレームに変換して、変換されたトラッキングデータを生成するステップを含むことができる。この方法のいくつかの実施態様では、前記変換されたトラッキングデータを、前記第1の点群及び前記3D医用画像の前記レンダリング内でレンダリングするステップを含むことができる。
本方法のいくつかの実施態様では、前記第1の点群及び前記3D医用画像に関連する前記第1の基準フレーム内の関心対象位置を決定するステップを含むことができる。本方法のいくつかの実装では、前記第1の点群、前記3D医用画像、及び前記関心対象位置に基づいて、外科用器具のための動作命令を生成するステップを含むことができる。この方法の幾つかの実施態様では、前記動作命令を前記外科器具に送信するステップを含むことができる。この方法のいくつかの実施態様では、さらに、前記3D医用画像及び前記第1の点群の前記レンダリング内に、関心対象位置に対応する強調された領域を表示するステップを含むことができる。この方法のいくつかの実施態様では、さらに、前記第1の点群の生成に少なくとも部分的に関与するキャプチャデバイスからの前記3D医用画像に表された患者の距離を決定するステップを含むことができる。
本開示の少なくとも1つの他の態様は、3次元医用画像を点群に位置合わせするために構成されたシステムに関する。本システムは、機械可読命令によって構成された1つ以上のプロセッサを含むことができる。本システムは、第1の基準フレームを有するグローバルシーンを表す第1の点群のデータ点の第1のセットにアクセスすることができる。本システムは、前記第1の基準フレームとは異なる第2の基準フレームを有する3次元医用画像の特徴の特徴データ点のセットを特定することができる。本システムは、前記第1の基準フレーム、前記第1のデータ点のセット、及び前記特徴データ点のセットを使用して、前記3D医用画像のための変換データ構造を決定することができる。本システムは、前記3D医用画像が前記第1の基準フレームに対して位置決めされるように、前記変換データ構造を使用して、前記3D医用画像を、グローバルシーンを表す前記第1の点群に位置合わせすることができる。
いくつかの実装では、本システムは、前記第1のデータ点のセットをダウンサンプリングして、節減された第1のデータ点のセットを生成することができる。いくつかの実装では、本システムは、前記節減された第1のデータ点のセットを使用して、前記3D医用画像に対する前記変換データ構造を決定することができる。いくつかの実装では、本システムは、前記3D医用画像の位置の変化又は回転の変化を含むように前記変換データ構造を生成することができる。いくつかの実装では、本システムは、前記3D医用画像の前記特徴を前記第1の点群内の対応する点とアライメント調整するために、前記3D医用画像に前記位置の変更又は前記回転の変更を適用することができる。
いくつかの実装では、本システムは、前記医用画像内の各データ点に重み値を割り当てて、重み値のそれぞれのセットを生成することができる。いくつかの実装では、本システムは、重み値の閾値を満たす重み値に対応する前記3D医用画像の前記データ点を、前記特徴データ点のセットとして選択することができる。いくつかの実装では、本システムは、前記3D医用画像を前記第1の点群に位置合わせすることに応答して、前記第1の点群及び前記3D医用画像のレンダリングを表示することができる。いくつかの実装では、本システムは、外科用器具からトラッキングデータを受信することができる。いくつかの実装では、本システムは、前記外科用器具を形成する前記トラッキングデータを前記第1の基準フレームに変換して、変換されたトラッキングデータを生成することができる。いくつかの実装では、本システムは、前記変換されたトラッキングデータを、前記第1の点群及び前記3D医用画像のレンダリング内でレンダリングすることができる。
幾つかの実装では、本システムは、前記第1の点群及び前記3D医用画像に関連する前記第1の基準フレーム内の関心対象位置を決定することができる。いくつかの実装では、本システムは、前記第1の点群、前記3D医用画像、及び前記関心対象位置に基づいて、外科用器具のための動作命令を生成することができる。いくつかの実施態様では、本システムは、前記動作命令を前記外科用器具に送信することができる。いくつかの実施態様では、本システムは、前記3D医用画像及び前記第1の点群の前記レンダリング内に、関心対象位置に対応する強調された領域を表示することができる。いくつかの実施態様では、本システムは、前記第1の点群の生成に少なくとも部分的に関与するキャプチャデバイスからの前記3D医用画像に表された患者の距離を決定することができる。
これら及び他の態様及び実装は、以下で詳細に説明される。前述の情報及び以下の詳細な説明は、様々な態様及び実装の例示的な例を含み、請求された態様及び実装の性質並びに特徴を理解するための概要又は枠組みを提供する。図面は、様々な態様及び実施態様の例示並びに更なる理解を提供し、本明細書に組み込まれ、本明細書の一部を構成するものである。態様は組み合わせることができ、本発明の1つの態様の文脈で説明された特徴は、他の態様と組み合わせることができることが容易に理解されるであろう。態様は、任意の便利な形態で実施することができる。例えば、有形のキャリア媒体(例えばディスク)又は無形のキャリア媒体(例えば通信信号)であり得る適切なキャリア媒体(コンピュータ可読媒体)上で運搬され得る適切なコンピュータプログラムによってである。態様はまた、適切な装置を使用して実施することができ、この装置は、対応を実施するように配置されたコンピュータプログラムを実行するプログラム可能なコンピュータの形態をとることができる。本明細書及び特許請求の範囲で使用される場合、「a」、「an」、並びに「the」の単数形は、文脈によってそれ以外を明示しない限り、複数の指示対象を含む。
添付の図面は、縮尺通りに描かれることを意図していない。様々な図面における同様の参照番号及び呼称は、同様の要素を示す。明瞭化のために、すべての図面においてすべての構成要素が表示されているとは限らない。
本開示の一実施形態による、画像処理システムの透視図である。 本開示の実施形態による、画像処理システムのブロック図である。 本開示の実施形態による、複数モダリティからの画像データをアライメント調整(aligning)するための方法のフロー図である。 本開示の実施形態による、画像データに基づいた環境内の複数の奥行きカメラをアライメント調整するための方法のフロー図である。 本開示の実施形態による、医用画像の表面をセグメント化するための方法のフロー図である。 本開示の実施形態による、セグメンテーションに基づいて3D表面モデルを医用画像から生成するための方法のフロー図である。 本開示の実施形態による、セグメンテーションに基づいて3D表面モデルを医用画像から生成するための方法のフロー図である。 本開示の実施形態による、画像アライメント効率(image alignment efficiency)を改善するために3D表面モデルから生成される点群をダウンサンプリングするための方法のフロー図である。 本開示の実施形態による、ダウンサンプリングされた点群から輪郭点を検出し、輪郭点の優先順位付け解析するための方法のフロー図である。 本開示の実施形態による、医用画像の点群をグローバルシーン点群に位置合わせするための方法のフロー図である。 本開示の実施形態による、事前にキャプチャされた医用画像及びグローバルシーン画像を使用してリアルタイム外科手術計画視覚化を行うための方法のフロー図である。 本開示の実施形態による、3D画像環境において器具の動きを動的にトラッキングするための方法のフロー図である。 本開示の一実施形態による、コンピューティング環境のブロック図である。 本開示の一実施形態による、コンピューティング環境のブロック図である。 本開示の実施形態による、再サンプリングされた画像を示す図である。 本開示の実施形態による、処理回路内の異なる計算オブジェクトに処理リソースを動的に割り振るための方法のフロー図である。
以下、リアルタイム複数マルチモダリティ画像アライメント(alignment)のための技術、アプローチ、方法、装置、及びシステムに関する様々な概念、及びその実装を詳細に説明する。上記で紹介した、また以下でより詳細に説明される様々な概念は、説明された概念が実装の特定様式に限定されないので、多数のやり方のいずれかで実装することができる。特定の実装及び用途の例は、主に説明目的のために提示される。
I.概要
本ソリューションに従ったシステム及び方法は、3D画像データを医療用スキャンデータにアライメント調整又は位置合わせする(align or register)など、複数モダリティからの画像データのリアルタイムアライメントを実施するために使用することが可能である。いくつかのシステムは、位置合わせ(registration)のためにマーカーを使用することができ、これは、大量であり、被写体への貼り付け(attachment)を必要とし、又は1つ以上の画像キャプチャデバイスに干渉するおそれがある。画像処理パイプラインにおける処理要件に起因して、サブミリメートル精度のような高精度かつリアルタイムでそのようなシステムを演算することは困難であるおそれがある。さらに、様々な画像処理演算は、照明、陰影、遮閉(オクルージョン)、センサノイズ、及びカメラ姿勢(ポーズ)などの画像データに影響を与える要因に非常に敏感であるおそれがある。
本解決に従ったシステム及び方法は、様々な画像処理ソリューションを適用して、複数ソースからの画像データが処理及びアライメント調整される速度を改善することができ、これにより、マーカーを使用せずに、所望の性能ベンチマークを達成するための性能を改善し、処理ハードウェア要件を低減させることができる。本ソリューションは、精密で応答性が高く、使いやすい外科手術ナビゲーションプラットフォームを可能にすることができる。例えば、本ソリューションは、CTスキャン又はMRIスキャンなどの3Dスキャンを被写体(若しくは被写体を表す画像データ)に直接位置合わせし、さらに、器具をトラッキングし、器具の軌道を描き、スキャン上のターゲットを強調することを可能にすることができる。
図1~2は、画像処理システム100を示す。画像処理システム100は、3次元カメラなどの複数の画像キャプチャデバイス104を含むことができる。カメラは、可視光カメラ(例えば、カラー又は白黒)、赤外線カメラ、又はそれらの組合せとすることができる。各画像キャプチャデバイス104は、1つ以上のレンズ204を含むことができる。いくつかの実施形態では、画像キャプチャデバイス104は、各レンズ204のためのカメラを含むことができる。画像キャプチャデバイス104は、所定の解像度であるように、及び/又は所定の視野を有するように、選択若しくは設計することができる。画像キャプチャデバイス104は、オブジェクトを検出及びトラッキングするための解像度並びに視野を有することができる。画像キャプチャデバイス104は、パン、チルト、又はズーム機構を有することができる。画像キャプチャデバイス104は、画像キャプチャデバイス104の位置及び向きに対応するポーズ(姿勢)を有することができる。画像キャプチャデバイス104は、奥行きカメラとすることができる。画像キャプチャデバイス104は、マイクロソフト社製のキネクト(KINECT)とすることができる。
画像キャプチャデバイス104によってキャプチャされる画像の光は、1つ以上のレンズ204を介して受け取られる。画像キャプチャデバイス104は、電荷結合素子(CCD)又は相補型金属酸化膜半導体(CMOS)回路を含むがこれに限定されないセンサ回路を含むことができ、1つ以上のレンズ204を介して受け取った光を検出し、また受け取った光に基づき画像208を生成することができる。
画像キャプチャデバイス104は、例えば通信バスを介して処理回路212に画像208を提供することができる。画像キャプチャデバイス104は、画像208に対応するタイムスタンプを提供することができ、これは、画像208に対して画像処理が実行されるときに画像208の同期を容易にとることができる。画像キャプチャデバイス104は、3D画像(例えば、奥行き情報を有する画像)を出力することができる。画像208は、複数の画素を含むことができ、各画素は、空間位置データ(例えば、水平、垂直、及び奥行きデータ)、明度若しくは輝度データ、及び/又はカラーデータを割り当てられる。
各画像キャプチャデバイス104は、プラットフォーム112と結合することができる1つ以上のアーム108のそれぞれの端部と結合することができる。プラットフォーム112は、移動のための車輪と、プラットフォーム112と共に使用されるデバイスを支持するための様々な支持面とを含むことができるカートとすることができる。
アーム108は、回転、伸展、後退、又は抜き差し伸縮することによって位置及び向きを変えることができ、画像キャプチャデバイス104のポーズを制御することができる。プラットフォーム112は、処理回路212の少なくとも一部を含む処理ハードウェア116、及びユーザーインターフェース120を支持することができる。画像208は、ユーザーインターフェース120を介した提示のために処理回路212によって処理することができる。
処理回路212は、図13A及び図13Bを参照して説明したコンピューティングデバイス1300の特徴を取り入れることができる。例えば、処理回路212は、プロセッサ(複数可)及びメモリを含むことができる。プロセッサは、特定目的プロセッサ、特定用途向け集積回路(ASIC)、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、処理コンポーネント群、又は他の適切な電子処理コンポーネントとして実装することができる。メモリは、本開示で説明する様々なユーザー又はクライアントのプロセス、レイヤ、及びモジュールを完成また促進するためのデータ及びコンピュータコードを格納するための1つ以上のデバイス(例えば、RAM、ROM、フラッシュメモリ、ハードディスク記憶装置)である。メモリは、揮発性メモリ又は不揮発性メモリであるか、若しくはそれらを含むことができ、データベースコンポーネント、オブジェクトコードコンポーネント、スクリプトコンポーネント、若しくは本明細書に開示する発明概念の様々な活動及び情報構造を支援するための任意な他タイプの情報構造を含むことができる。メモリは、プロセッサに通信可能に接続され、本明細書に記載される1つ以上の処理を実行するためのコンピュータコード又は命令モジュールを含む。メモリは、プロセッサに、本明細書に記載されたシステム及び方法を実行させる様々な回路、ソフトウェアエンジン、並びに/又はモジュールを含む。
処理回路212のいくつかの部分は、プラットフォーム112から離れた1つ以上のデバイスによって設けることができる。例えば、1つ以上のサーバ、クラウドコンピューティングシステム、又はモバイルデバイス(例えば、図13A及び図13Bを参照して説明したような)は、本明細書に記載される画像処理パイプラインの様々な部分を実施するために使用することができる。
画像処理システム100は、通信回路216を含むことができる。通信回路216は、ネットワークインターフェース1318など、図13A及び図13Bを参照して説明したコンピューティングデバイス1300の特徴を実装することができる。
画像処理システム100は、1つ以上の赤外線(IR)センサ220を含むことができる。IRセンサ220は、画像処理システム100の周囲の環境における様々なデバイスからのIR信号を検出することができる。例えば、IRセンサ220は、機器をトラッキングするために機器に結合することができるIRエミッタからのIR信号を検出するために使用することができる。IRセンサ220は、画像処理システム100の他の構成要素が、本明細書で後述するように、画像処理パイプラインにおける適切な動作においてIR信号を利用できるように、画像処理システム100の他の構成要素に通信可能に結合することが可能である。
図3は、画像処理システム100が1つ以上の画像モダリティの画像データを使用して実施することができる画像処理パイプライン300を表している。画像処理システム100が高精度のリアルタイム画像アライメントを実施することを可能にし得る画像処理パイプライン300の様々な特徴について、本明細書において更に説明する。
いくつかの実施形態では、画像処理システム100が本明細書に記載される様々な機能を実施することを可能にするために、セットアップ手順を実施することができる。例えば、プラットフォーム112は、患者などの被写体に近接して位置決めすることができる。画像キャプチャデバイス104は、被写体に関する画像データを検出するために様々なポーズで位置決め及び配向させることができる。画像キャプチャデバイス104は、複数の方向から被写体に対面するように、異なるポーズで配置することができ、これにより、画像キャプチャデバイス104からの画像データを融合することによって生成される画像データの品質を向上させることができる。
305において、第1の画像データを受信することができる。第1の画像データは、CT、MRI、超音波、又はCADデータなどのモデルデータ(例えば、医療スキャンデータ、DICOMデータ)とすることができる。モデルデータは、画像アーカイブ及び通信システム(PACS)と接続されたネットワークなどのヘルスケア施設のネットワークを介して、リモートソース(例えば、クラウドサーバ)から受信することができ、又は処理回路216のメモリ内にあり得る。モデルデータは、手術中データ(例えば、被検体に対して処置が行われている間に検出された)又は手術前データであり得る。
310において、第2の画像データを受信することができる。第2の画像データは、第1の画像データとは異なるモダリティのものとすることができる。例えば、第2の画像データは、3Dカメラからの3D画像データとすることができる。
315において、第1の画像データは、ダウンサンプリングのような再サンプリングすることができ、この再サンプリングは、第1の画像データの主要な特徴を保持するとともに、第1の画像データのデータ複雑性を減少させ、第1の画像データに対して実施される更なる演算の効率を高めるように行う。同様に、320において、第2の画像データは、再サンプリングすることができる。再サンプリングは、画像データにおいて画像位置合わせに関連しない特徴を識別し、それらを除去して、節減又はダウンサンプリングされた画像を生成することを含むことができる。
325において、1つ以上の第1の特徴記述子を、再サンプリングされた第1の画像データに関して決定することができる。特徴記述子は、再サンプリングされた第1の画像データによって表される3D表面に対応する、再サンプリングされた第1の画像データの輪郭又は他の特徴に関連するように決定することができる。同様に、330において、1つ以上の第2の特徴記述子を、第2の画像データに関して決定することができる。
335において、1つ以上の第1の特徴記述子と1つ以上の第2の特徴記述子との間で特徴マッチングを実施することができる。例えば、特徴マッチングは、それぞれの第1の特徴記述子及び第2の特徴記述子を比較してマッチ(一致)スコアを決定し、またマッチスコアがマッチ(一致)閾値を満たすことに応答してマッチ(一致)を特定することによって実施することができる。
340において、特徴マッチングに応答して、第1の画像データと第2の画像データとの間で1つ以上のアライメントを実施することができる。1つ以上のアラインメントは、第1の画像データ又は第2の画像データの少なくとも1つを共通の基準フレームに変換するために実施することができる。
II.画像データに基づいて環境内の複数の奥行きカメラをアライメント調整するためのシステム及び方法
3Dカメラなどの奥行きカメラを複数台使用することで、被写体、及び被写体周りの環境について収集した3D画像データの品質を向上させることができる。しかし、姿勢が異なる複数の奥行きカメラの画像データのアライメント調整が困難な場合がある。本ソリューションは、様々な点群データポイントを変換し、またアライメント調整された画像データを生成するために点群データポイントを参照フレームにアライメント調整するための基準フレームを効果的に決定することができる。
ここで、図1及び図2に参照を戻すと、画像処理システム100は、画像キャプチャデバイス104を3Dカメラとして利用し、被写体のリアルタイムの3D画像データをキャプチャすることができる。例えば、画像キャプチャデバイス104はそれぞれ、被写体、物体、又は環境の少なくとも1つの3D画像をキャプチャすることができる。この環境は、医学的に環境内に存在する被写体ではあり得ない他の特徴を含むことができる。3D画像は、画像キャプチャデバイスによって提供される基準フレーム内における多数又はセット(集合)の点(ポイント)で構成されることができる。3D画像を構成する点のセットは、カラー情報を有することができる。いくつかの実装では、このカラー情報は破棄され、更なる処理ステップでは使用されない。それぞれの画像キャプチャデバイス104によってキャプチャされた点の各セットは、「点群」と称することができる。複数の画像キャプチャデバイス104が被写体の画像をキャプチャするために利用される場合、画像キャプチャデバイス104の各々は、異なる基準フレームを有することができる。いくつかの実装では、画像キャプチャデバイス104によってキャプチャされた3D画像は、リアルタイムで記録することができる。そのような実装では、単一の画像キャプチャデバイス104を使用し、また第1のポーズで第1の3D画像をキャプチャし、また次に第2のポーズに再配置されて、被写体の第2の3D画像をキャプチャすることができる。
少なくとも1つの3D画像(例えば、画像208の少なくとも1つとして、等)をキャプチャすることに応答して、画像キャプチャデバイス104は、例えば通信バスを介して処理回路212に画像208を提供することができる。画像キャプチャデバイス104は、画像208に対応するタイムスタンプを提供することができ、これは、画像208に対して画像処理が実行されるときに画像208の同期を容易にとることができる。画像キャプチャデバイス104は、3D画像(例えば、奥行き情報を有する画像)を出力することができる。画像208は、複数の画素を含むことができ、各画素は、空間位置データ(例えば、水平、垂直、及び奥行きデータ)、明度若しくは輝度データ、又はカラーデータが割り当てられる。いくつかの実装では、処理回路212は、処理回路212のメモリに画像208を格納することができる。例えば、画像208を格納することは、処理回路212のメモリ内の1つ以上のデータ構造において画像208をインデックス付けすることを含むことができる。
処理回路212は、第1ポーズを有する第1キャプチャデバイス104によってキャプチャされた第1点群のデータ点の第1セット、及び第1ポーズと異なる第2ポーズを有する第2キャプチャデバイス104によってキャプチャされた第2点群のデータ点の第2セットにアクセスする。例えば、3D画像(例えば、画像208)の各々は、点群を構成する1つ以上の3D次元データ点を含むことができる。データ点は、3Dカメラによって撮影された単一の画素に対応することができ、少なくとも3次元データ点(例えば、それぞれが次元に対応する少なくとも3つの座標を含む)とすることができる。3次元データ点は、それぞれの画像208に示される基準フレーム内の少なくとも3つの座標を含むことができる。このように、異なるポーズの異なる画像キャプチャデバイス104は、異なる基準フレームで3D画像を生成することができる。被写体の3D画像が取り込まれる際のシステムの全体的な精度及び特徴密度を向上させるために、システムは、画像キャプチャデバイス104によって取り込まれる3D画像の点群を整列させて、単一合成3D画像を生成することができる。画像208の1つを構成する3次元データ点は、まとめて1つの「点群」としてみなすことができる。
処理回路212は、画像キャプチャデバイス104から受信した画像208の各データ点から3次元データを抽出して、第1画像キャプチャデバイス104に対応する第1点群及び第2画像キャプチャデバイス104に対応する第2点群を生成することができる。点群から3次元データを抽出することは、3次元画像内におけるデータ点の3つの座標(例えば、x軸、y軸、及びz軸など)だけにアクセスして抽出する(例えば、処理回路212内のメモリの異なる領域等にコピーする)ことのみを含むことができる。このような処理は、更なる処理ステップにおいて、カラー(色彩)情報若しくは他の無関係な情報を除去又は破棄することができる。
いくつかの実装では、システムの全体的な計算効率を向上させるために、処理回路は、3D画像を構成する特定のデータ点をダウンサンプリングする、又は選択的に破棄して、データ点のダウンサンプリング済みセット(集合)を生成することができる。処理回路212は、例えば、画像内の4つのデータ点のうち1つを破棄する(例えば、画像からデータ点を抽出しない等)ことにより、一様にデータ点を選択的に除去することができる(例えば、点の75%が一様に抽出される等)。いくつかの実装では、処理回路212は、ポイントの異なる割合(例えば、5%、10%、15%、20%、任意な他の割合など)を抽出することができる。したがって、3D画像の点群内のデータ点を抽出又はアクセスするとき、処理回路212は、更なる処理ステップの精度に大きな影響を与えることなく、点群をダウンサンプリングしてその全体サイズを節減し、画像処理を改善することが可能である。
画像キャプチャデバイス104の各々からの3D画像データが、2つ以上の点群として変換される、又はそうでなければアクセスされることに応答して、処理回路212は、点群の1つを選択して、他の点群のいずれかのアライメントのためのベースライン基準フレームとして機能させることができる。環境内の被写体の表面を表す点群の精度及び全体的な解像度を向上させるために、2つ以上の画像キャプチャデバイス104は、被写体の3D画像をキャプチャすることができる。処理回路212は、それらが単一の基準フレーム内に存在するように画像を合成することができる。例えば、処理回路212は、第1画像キャプチャデバイス104によってキャプチャされた1つの3D画像に対応する点群のうちの1つを基準フレームとして選択することができる。点群を基準フレームとして選択することは、選択された点群(例えば、点群を構成するデータ点及び座標等)をメモリの異なる領域にコピーすることを含むことができる。いくつかの実装では、点群を選択することは、選択された点群が格納されている処理回路212のメモリの少なくとも一部にメモリ点を割り当てることを含むことができる。
基準フレームを選択することは、第1点群におけるデータ点の第1セットのうちの1つ以上に割り当てられたカラーデータを取得することを含むことができる。例えば、処理回路212は、画像キャプチャデバイス104から受信した3D画像208内の画素又はデータ点からカラーデータ(例えば、赤/緑/青(RGB)値、シアン/黄/マゼンタ/明度(CMYK)値など)を抽出し、それぞれの点群のデータ点にカラーデータを格納することが可能である。処理回路212は、各データ点のカラーデータを輝度値(例えば、平均カラー値の閾値など)と比較することによって、1つの基準フレームがより均一に照明されているかどうかを判断することができる。処理回路212は、例えば、N個のデータ点ごとにループし、カラー閾値を各データ点のカラーデータと比較することによって、各点群における一定数のデータ点に対してこの比較を実施することができる。いくつかの実装では、処理回路212は、平均カラー明度値を計算するために、各ポイントクラウド内のデータ点にわたってカラーデータを平均化することができる。平均カラー明度値が所定の閾値よりも大きいことに応答して、処理回路212は、点群が均一に照らされていると決定することができる。
いくつかの実装では、処理回路212は、最も照明された(例えば、最も均一に照明された)点群を決定することによって、基準フレームを選択することができる。最も均一に照明された(例えば、したがって、高品質の画像を有する)点群は、更なるアライメント計算のための基準フレームとして選択することができる。いくつかの実装では、処理回路は、基準フレームを、最も均一に照明されていない点群の基準フレームとして選択することができる。いくつかの実装では、処理回路212は、任意に(例えば、擬似乱数などを使用して)点群の基準フレームを基準フレームとして選択することができる。
処理回路212は、基準フレーム及びデータ点の第1セットを使用して、データ点の第2セットに対する変換データ構造を決定することができる。変換データ構造は、1つ以上の変換行列を含むことができる。変換行列は、例えば、4×4剛体変換行列とすることができる。変換データ構造の変換行列を生成するために、処理回路212は、例えば、図9と関連して本明細書に後述する方法900におけるステップの1つ以上を実施することによって、1つ以上の特徴ベクトルを特定することができる。この処理の結果は、1つの点群が基準フレームとして使用される(例えば、その点群の点は変換されない)、各点群に対する特徴ベクトルのセットを含むことができる。処理回路212は、各行列がそれぞれの点群を適用する(例えば、変換するために使用する)とき、変換された点群の特徴が基準フレーム点群における同様の特徴とアライメント調整するように、変換行列を生成することができる。
変換行列を生成するために(例えば、変換データ構造の一部として、又は変換データ構造として)、処理回路212は、各点群に対応する特徴に、アクセスするか、又はさもなければ処理回路212のメモリから取得することができる。変換される点群の点に対応する基準フレーム点群内の点を見つけるために、処理回路212は、各点群内の特徴ベクトル間のL距離を計算することができる。各点群における特徴の点のL距離を計算すると、各点に対する初期(及び潜在的に不正確な)対応関係のリストが返される。対応関係は、あるデータ点が各点群に表現される物体表面上の同じ位置に対応することを示すことができる。これらの初期対応関係が列挙された後、処理回路212は、ランダムサンプルコンセンサス(RANSAC)アルゴリズムを適用して、不正確な対応関係を特定し、拒否することができる。RANSACアルゴリズムは、初期対応関係のリストを使用して、各点群間の対応関係を反復的に特定し、適合させるために使用することができる。
RANSACアルゴリズムは、両方の点群の特徴におけるどの対応がアライメントプロセスに関連し、どれが誤った対応(例えば、変換又はアライメント調整される点群における特徴に対応すると誤って特定される一方の点群における特徴)であるかを決定するために使用することができる。RANSACアルゴリズムは反復可能であり、また満足のいくモデルが適合されるまで、2つの点群間の誤った対応を拒絶することができる。出力される満足のいくモデルは、変換される点群に対応するデータ点を有する基準点群の各データ点を特定することができ、その逆もまた可能である。
RANSACアルゴリズムを実施する際に、処理回路212は、特徴ベクトル間のL距離を使用して特定された初期対応関係のフルセット(全体集合)から、最小対応関係を含んでいる特徴対応関係のサンプルサブセット(部分集合)をランダムに(例えば、疑似ランダムに、等)選択することができる。処理回路212は、このサンプルサブセットの要素を使用して、適合モデル及び対応するモデルパラメータを計算することができる。サンプルサブセットのカーディナリティ(濃度)は、モデルパラメータを決定するのに十分な最小のものとすることができる。処理回路212は、対応関係のフルセットのどの要素が、推定されたモデルパラメータによってインスタンス化されたモデルと一致するかをチェックすることができる。対応関係は、ノイズの影響に起因する最大偏差を定義する幾分のエラー閾値(例えば、1%、5%、10%など)内で推定モデルパラメータのセットによってインスタンス化された適合モデルに適合しない場合に外れ値(アウトライア)としてみなすことができる。適合モデルに対して得られたインライアのセットは、対応関係のコンセンサスセットと称することができる。処理回路212は、ある反復において得られたコンセンサスセットが十分なインライア(例えば、所定の閾値以上など)を有するまで、RANSACアルゴリズムのステップを反復して繰り返すことができる。コンセンサスセットは、RANSACアルゴリズムのパラメータに適合する各点群内のデータ点間の対応関係の正確なリストとすることができる。RANSACアルゴリズムのためのパラメータは、予め定められたパラメータとすることができる。次に、コンセンサスセットは、変換データ構造を決定するための反復最接近点(ICP)アルゴリズムにおいて使用することができる。
処理回路212は、RANSACアルゴリズムを使用することによって生成された対応する特徴のコンセンサスセットを使用して、ICPアルゴリズムを実施することができる。コンセンサスセット内の各対応する特徴は、各点群内の1つ以上のデータ点を含むことができる。ICPアルゴリズムを実施するとき、処理回路212は、基準点群(又は選択されたセット)内の最も近い点を、変換される点群内の点クローゼットポイントにマッチングさせることができる。次に、処理回路212は、点群内の各点を基準点群内の一致に変換するのに最適な二乗平均平方根点間距離メトリック最小化技術を使用して、回転及び並進の組み合わせを推定することができる。処理回路212は、点群内の点を変換して、点群内の特徴間の誤差の量を決定し、このプロセスを使用して反復し、変換される点群の位置及び回転に対する最適な変換値を決定することができる。これらの出力値は、4×4の剛体変換行列などの変換行列にまとめることができる。この出力された変換行列を、変換データ構造とすることができる。
処理回路212は、変換データ構造を使用して、変換される点群のデータ点のセットを変換し、変換されたデータ点のセットを作成する。変換データ構造は、1つ以上の変換行列を含むことができる。変換行列は、変換される点群内の点の位置又は回転の変化を示す変換値を含む。処理回路212は、変換データ構造内の値を、変換される点群内の各点に適用して(例えば、位置をオフセットする、又は基準点の周りの回転を適用する等)、そのそれぞれの位置又は回転を変更することができる。この変換された点群は、その後、基準フレームとして選択された点群と同じ基準フレームにすることができる。
処理回路212は、データ点の第1のセットとデータ点の変換されたセットとを含むデータ点の結合されたセットを生成することができる。いくつかの実装では、データ点の結合されたセットは、基準点群及び変換された点群におけるデータ点の全てを含むことができる。データ点は、2つの異なる角度からの同じ被写体のキャプチャを表すので、処理回路212は、データ点の結合されたセットを使用して、より完全な3Dポイントベースの画像を組み立てることができる。例えば、データ点の結合されたセットの各々は、分析中の被写体の3D画像を表すことができる。この3D画像は、表示データ(例えば、3Dレンダリング技術を使用してレンダリングされた3Dポイントベースのメッシュ等)に変換され、表示のためにユーザーインターフェース120に提供することができる。処理回路212は、更なる処理のために、データポイントの結合されたセットを処理回路212のメモリに格納することができる。
ここで図4を参照すると、描かれているのは、画像データに基づいて環境内の複数の奥行きカメラをアライメント調整するための方法400のフローチャートである。方法400は、画像処理システム100又は図1及び2と合わせて本明細書で上述したそのコンポーネント若しくはモジュールなど、本明細書で説明した様々なデバイス及びシステムを使用して実施することができる。
405において、第1の点群データ点及び第2の点群データ点がアクセスされる。点群データ点は、空間座標、及び空間座標に割り当てられた様々なパラメータを含むことができる。例えば、点群データ点は、特定の基準フレーム(例えば、デカルト座標、円筒座標、球座標)における空間座標を含むことができる。点群データ点は、輝度又は明度、グレースケールデータ、カラーデータ(例えば、RGB、CYMK)、密度、若しくはそれらの様々な組み合わせなどの情報を示すことができる。いくつかの実施形態では、画像データは、点群データ点を生成するために処理される。
第1の点群データ点は、被写体に対する第1のポーズに対応することができ、第2の点群データ点は、被写体に対する第2のポーズに対応することができる。ポーズは、画像キャプチャデバイス(例えば、カメラ)、MRI機械、又はCT機械などの、点群データ点に対応する画像データを検出したデバイスの位置及び向きを表すことができる。
第1のポーズ又は第2のポーズの少なくとも一方は、それぞれの画像キャプチャデバイスから受信したポーズデータに基づいて決定することができる。例えば、ポーズは、画像キャプチャデバイスに結合された位置センサ(例えば、加速度計)から受信されたデータに基づいて決定することができる。
第1のポーズ又は第2のポーズの少なくとも一方は、被写体の周囲の環境において1つ以上の画像キャプチャデバイスによってキャプチャされた画像データに基づいて決定することができる。例えば、第1の画像キャプチャデバイスによってキャプチャされた画像データは、第2の画像キャプチャデバイスが第1の画像キャプチャデバイスの視野内にある場合、第2の画像キャプチャデバイスを特定するように処理することができる。第2の画像キャプチャデバイスのポーズは、第2の画像キャプチャデバイスが特定された画像データから決定することができる。
410において、第1のポーズ又は第2のポーズの少なくとも一方に基づいて、画像データに対する基準フレームが決定される。基準フレームは、第1の点群データ点と第2の点群データ点とを比較することによって決定することができる。例えば、点群データ、又は点群データから抽出された特徴を比較し、比較に基づいてマッチスコアを生成(例えば、類似性を決定)し、及びマッチスコアに基づいてアライメント変換を決定することができる。
いくつかの実施形態では、点群データ点からのカラーデータは、基準フレームを決定するために使用することができる。例えば、明度値又は輝度値に加えて、各点群データ点に割り当てられた1つ以上のカラーチャンネルからのデータを、点群データ点の比較時に使用することができ、これは、比較に基づいて生成されるマッチスコアの精度を増加することができる。
415において、第1の点群データ点又は第2の点群データ点の少なくとも一方は、基準フレームにアライメント調整するように変換される。例えば、基準フレームが第1のポーズ(又は第2のポーズ)に対応する場合、第2の点群データ点(又は第1の点群データ点)は、基準フレームとアライメント調整するように変換することができる。いくつかの実施形態では、基準フレームは、第1のポーズ及び第2のポーズのそれぞれと異なり、第1の点群データ点及び第2の点群データ点はそれぞれ、基準フレームとアライメント調整するように変換することができる。
いくつかの実施形態では、カラーデータは、点群データ点を変換する際に使用されない。例えば、変換は、点群データ点の空間座標に適用され、カラーデータには適用されないようにできる。カラーデータは、点群データ点を変換する前に破棄することができ、又は後の検索のために点群データ構造内に保持することができる。
III.医用画像の表面をセグメント化するシステム及び方法
医用画像又は3D画像などの画像をセグメント化することで、画像処理パイプラインで画像に対して実施される更なる演算の効率を向上させることができる。しかしながら、画像処理が実施される用途に関連する情報を保持しつつ、計算効率の良い方法で画像をセグメント化することは困難である場合がある。本ソリューションは、解剖学的に関連する情報を効果的に保持し、計算効率を向上させることができるセグメンテーションモデルを実装することができる。例えば、本ソリューションは、被写体の表面と周囲環境との間の密度の差を特定することによって、又は点群データ点を被写体の表面に対応するものとして分類するように養成された機械学習モデルを使用することによって、その解剖学的特徴を含む被写体の表面を周囲環境から効果的に区別するセグメンテーションモデルを実装することができる。
図5は、医用画像の表面をセグメント化するための方法500を示す図である。方法500は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。
505において、点群データ点がアクセスされる。点群データ点は、被写体の表面に対応することができる。例えば、点群データ点は、3Dカメラ、MRIデバイス、又はCTデバイスによって検出された被写体の医用画像又は3D画像に対応することができる。
510において、複数の点群データ点は、セグメンテーションモデルへの入力として適用される。セグメンテーションモデルは、点群データ点の画像データによって示される密度データに基づいてセグメントを生成する(例えば、点群データ点の明度データに基づいて空気から表面をセグメント化する)1つ以上の関数を含むことができる。セグメントは、オブジェクトを取り囲む空気からオブジェクトの表面を表す画素又はデータポイントのグループの領域など、同様の特性を共有する画素若しくはデータポイントのグループとすることができる。
いくつかの実施形態では、セグメンテーションモデルは、機械学習モデルを含む。機械学習モデルは、所定の画像(例えば、所定の画像データ)及び画像に関連付けられたラベル付けされたセグメント(例えば、所定のセグメント)を含む学習データを使用して学習することができる。例えば、機械学習モデルは、点群データ点などの画像データを含む入力データに基づいて、1つ以上のセグメントを含む出力データを生成するように養成されたニューラルネットワークを含むことができる。
515において、複数のセグメントが生成される。セグメントは、セグメンテーションモデルを使用して生成することができる。セグメントは、セグメンテーションモデルへの入力に応答する被写体の表面に対応することができる。
520において、複数のセグメントが出力される。セグメントは、被写体の表面の3D表面モデルを生成するために出力することができる。
IV.セグメンテーションに基づいて医用画像から3D表面モデルを生成するためのシステム及び方法
MRI又はCTスキャンなどの医用画像に基づく3D表面モデルは、外科手術のナビゲーション、プランニング、及び器具のトラッキングなど様々な用途に使用することができる。3D表面モデルを使用して効果的にレンダリングし、画像処理演算を実施するために、基礎となる3D画像データのセグメンテーションから3D表面モデルを生成することが有用である場合がある。例えば、三角形又は四角形の3D表面モデルは、本明細書に記載されるようなセグメンテーションモデルを使用して生成されるセグメントから生成することができる。点群データは、3D表面モデルから、又はセグメンテーションデータから直接(例えば、セグメンテーションモデルによって生成されたセグメントから)生成することができる。
図6は、セグメンテーションに基づいて医用画像から3D表面モデルを生成するための方法600を示す。方法600は、画像処理システム100など、本明細書に記載された様々なデバイス及びシステムを使用して実施することができる。
605において、複数のセグメントがアクセスされる。セグメントは、被写体の3次元表面に対応することができる。例えば、セグメントは、表面の検出された画像に対応する3D点群データ点など、表面を代表する画像データから生成することができる。
610において、複数のセグメントの3次元モデルが生成される。3次元モデルは、被写体の3次元表面を表すことができる。3Dモデルは、セグメントの点を結んで三辺又は四辺の表面部分を形成するなど、三角形又は四角形の3D表面モデルとして生成することができる。
615において、点群データ構造が生成される。点群データ構造は、被写体の3次元表面を表すことができる。例えば、点群データ構造は、セグメントを使用して生成された表面の表面部分を形成する点をサンプリングすることによって生成することができる。点群データ構造は、表面部分に対応する複数の点群データ点を含むことができる。
620において、点群データ構造が出力される。点群データ構造は、3D表面モデルを他のモダリティの画像データ(例えば、3D画像データ)とマッチングするためなど、3D表面モデルを表現するために出力することができる。
図7は、セグメンテーションに基づいて医用画像から3D表面モデルを生成するための方法700を示す図である。方法700は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。方法700は、方法600と同様とすることができるが、表面のセグメンテーションから(例えば、3D表面モデルを介してではなく)被写体の表面の点群表現を直接生成する。
705において、複数のセグメントがアクセスされる。セグメントは、被写体の3次元表面に対応することができる。例えば、セグメントは、表面の検出された画像に対応する3D点群データ点など、表面を代表する画像データから生成することができる。
710において、点群データ構造が生成される。点群データ構造は、被写体の3次元表面を表すことができる。例えば、点群データ構造は、セグメントを使用して点をサンプリングすることによって生成することができる。点群データ構造は、セグメントに対応する複数の点群データ点を含むことができる。
715において、点群データ構造が出力される。点群データ構造は、他のモダリティの画像データ(例えば、3D画像データ)と3D表面をマッチングするためなど、被写体の表面を表現するために出力することができる。
V.画像アライメント効率を向上させるために3D表面モデルから生成された点群をダウンサンプリングするシステム及び方法
複数のモダリティの点群データを比較及び照合することで、点群データのアライメントを行い、様々な用途に利用することができる。しかしながら、被写体の3次元表面を表す点群データ、3次元画像データ、及び3次元モデルなどは、サイズが大きく複雑であるため、画像処理パイプラインで効率的に処理することが困難な場合がある。例えば、マイクロソフト社製のキネクトは、1秒間に900万点の点群データを生成することができる。3次元点群データを利用する画像処理演算の実行時間は、3次元点群データの密度に直接関係することがある(線形時間で実行するより遅くなることを含む)。さらに、様々な画像処理演算は、照明、陰影、遮閉、及びポーズなどの画像データに影響を与える環境要因に非常に敏感であり得る。
本ソリューションは、更なる画像処理に関与する計算複雑性を低減しつつ、オブジェクトの輪郭及びエッジを保持するなど、解剖学的又はその他の物理的に関連する情報及び点群データ点間の関係を効果的に保持する方法で点群の再サンプリング(例えば、ダウンサンプリング)を効果的に行うことが可能である。本ソリューションは、関連する情報を保持しながら、より速い画像処理を可能にするために点群密度を減少させることができる。このように、本ソリューションは、サブミリメートル精度(例えば、点群データ点間の距離が1ミリメートル未満である画像データを保持すること)などの目標性能基準を満たすリアルタイム画像処理を可能にすることができる。
ここで図1及び図2に戻り、参照すると、画像処理システム100は、画像位置合わせ(レジストレーション)の精度を大幅に低下させることなく、画像処理パイプラインにおける計算効率を向上させるために点群を再サンプリング(リサンプリング)、又はダウンサンプリングすることができる。所望の3D画像位置合わせを達成するために処理する必要がある点の総数を選択的に減らすことによって、画像処理システム100は、全体の計算要件を低減しながら、3D画像位置合わせ技術の速度を向上させることができる。画像処理システム100は、点群データの輪郭ベース再サンプリングを実施することができ、これにより、輪郭及びエッジなどのような、関連する点並びに点間の関係を保持しながら、3D画像(例えば、画像キャプチャデバイスによってキャプチャされた、又はCTスキャン若しくはMRI画像などの3D医用画像から抽出された)の点群の密度を減少させることができる。点群における関連する部分とは、本明細書で説明する画像位置合わせ処理に大きな影響又は重要性を有する部分である。
処理回路212は、オブジェクトの表面を表す点群に対応するデータ点のセットにアクセスすることができる。点群を構成する3Dデータ点(例えば、3D医用画像等から抽出されたもの)は、特定の基準フレームにおける座標のセットを記述する多次元データ点とすることができる。例えば、点群の3Dデータ点(例えば、データ点の集まり)は、3つの座標(例えば、デカルト座標、円柱座標など)を含むことができる。データ点は、3Dカメラによって撮影された単一の画素に対応することができ、少なくとも3次元データ点(例えば、それぞれが空間次元に対応する少なくとも3つの座標を含む)とすることができる。いくつかの実装では、データ点は、CTスキャンモデル又はMRI画像などの3D医用画像内の点又は頂点に対応することができる。いくつかの実装では、アクセスされる(例えば、処理回路212によってのメモリ内の1つ以上のデータ構造から取得されるなど)データ点は、2つ以上の画像キャプチャデバイス104からキャプチャされた点群から生成されたデータ点の結合セットとすることができる。いくつかの実装では、処理回路212は、画像キャプチャデバイス104が被写体又は環境の3D画像をキャプチャする際に、例えばリアルタイムで、画像キャプチャデバイス104の少なくとも1つからデータポイントのセットにアクセス又は受信する。
データ点のセットにアクセスすることは、3D画像データを使用して、被写体の表面を表す点群を生成することを含むことができる。いくつかの実装では、処理回路212は、3Dデータ点のセットを含む3D画像又はモデルを受信若しくは取得することができる。これらのデータ点は、他の関連する点データ(例えば、カラー、各点における温度などの他の要因)と共に、3D画像又はモデルから抽出することができる。例えば、3Dモデル(例えば、CTスキャンメッシュ又はMRI画像モデル等)の場合、処理回路212は、3Dモデル内に存在するデータを使用して、1つ以上のスライス又は頂点を抽出することができる。いくつかの実装では、処理回路212は、図6及び7と関連して本明細書で上述した方法600又は方法700のステップを使用して、3Dモデルから点群を生成することができる。
処理回路212は、データ点のセットにレスポンス関数を適用して、データ点のセットに各々のレスポンス値のセットを割り当てることができる。レスポンス関数は、(例えば、点群から)データ点のセットを取り、入力点間の関係に基づいてレスポンス値を生成する関数とすることができる。レスポンス関数は、点群内の点に1つ以上の行列演算を適用することによって、各入力データ点に対するレスポンス値を生成することができる。レスポンス値は、各データ点が輪郭のような関心対象の特徴の一部であるかどうかを示す重み値とすることができる。例えば、輪郭はより複雑な構造であるため、画像位置合わせ又は2つの異なる点群の位置合わせに、より関連性が高いとみなすことができる。点群内の各データ点のレスポンス値を決定するために、処理回路212は、1つ以上の隣接するデータ点に関して各データ点の分析を実施することができる。例えば、処理回路212は、輪郭、エッジ、セグメント、又は解剖学的特徴若しくは外科用器具を代表する可能性が高い他の画像特徴などの関心対象の特徴とのより大きな関連性を有するデータ点に基づいて、より大きな重みを有するレスポンス値を生成するために、レスポンス関数を適用することが可能である。
例えば、処理回路212は、点群内のデータ点から生成されたグラフデータ構造に適用することができるグラフフィルタを含むレスポンス関数を適用することができる。グラフフィルタは、グラフデータ構造を入力として受け取り、同じグラフデータによってインデックス付けされる出力を生成する関数とすることができる。グラフデータ構造は、グラフ内の異なるノード(例えば、点群データ点)間の関係を示す隣接行列とすることができる。隣接行列は、グラフ内のノード間のエッジの重みに対応する値を有する正方行列とすることができる。
グラフデータ構造を生成するために、処理回路212は、以下のようなエッジ重みWを有する隣接行列を生成することができる。
Figure 2022544717000002
ここで、Wは点群内の点間の隣接行列とすることができ、xi及びxjはそれぞれ点群内のi番目及びj番目のデータ点に対応し、シグマはグラフフィルタレスポンス関数に対する調整可能なパラメータである。いくつかの実装では、処理回路212は、エッジによって結合された点間の距離が所定の閾値よりも大きい場合、データ点に対するエッジ重みがゼロに設定されるように隣接行列を生成することができる。上記隣接行列を使用して、処理回路212は、グラフフィルタ関数を利用することができる。
Figure 2022544717000003
ここで、h(A)はグラフフィルタであり、Aは以下のようなグラフシフト演算子である。
Figure 2022544717000004
ここで、Wは上記で概説した隣接行列であり、Dは対角行列であり、Di,jはWのi行のすべての要素の合計とすることができる。上記グラフフィルタを使用して、処理回路212はレスポンス関数を次のように定義することができる。
Figure 2022544717000005
レスポンス関数は、データ点Xのセット全体にわたって動作し、データ点Xの各々に、それぞれの点が輪郭の一部である尤度を示す重み値を割り当てることが可能である。
計算効率を改善するために、処理回路212は、隣接行列Wを生成するためにデータ点のセットを使用してk次元二分木(本明細書では「k-d木」と呼ばれることもある)を生成することができる。いくつかの実装では、処理回路212はk-d木を作成せず、代わりに、点群内の各データ点から点群内の他の各データ点までの非ゼロの辺を含むよう隣接行列を生成する。
処理回路212は、点群データ点を使用して、空間座標などの点群データ点のパラメータに基づいて点群データ点をノードにソートする二分木としてk次元木を生成し、さらに、各点群データ点に割り当てられた明度、輝度、カラー、密度、又は他のパラメータを使用してk次元木を生成することが可能である。特定の点群データ点の隣接行列Wは、特定の点群データ点からk次元木においてk近傍以上離れた各点群データ点に対して重みWi,jがゼロに設定されるように、k次元木に基づいて生成することができる。kの次元の数は、k次元ツリーを生成するために使用される異なるパラメータの数に対応することができる(例えば、3つの空間座標次元又は3つのカラー次元など)。次元の数kは、レスポンス関数を生成し、レスポンス関数を点群データ点に適用することに関連する計算需要を制御するために使用することができる所定のパラメータとすることが可能である。
いくつかの実装では、隣接行列を組み立てるとき、処理回路212は、データ点のセットのデータ点のペア(対)における少なくとも1つのカラーチャンネルに基づいてユークリッド距離を決定することができる(例えば、任意のカラーチャンネルデータから独立している位置データのみに基づいてx-xを決定するのではなく)。いくつかの実装では、処理回路212は、各データ点に含まれる赤、緑、又は青のカラーチャンネルデータ(又は、場合によりシアン、黄、マゼンタ、明度のカラーチャンネルデータ)に追加的に基づいてユークリッド距離を計算することができる。例えば、処理回路212は、例えば0~1の範囲にわたることができる3つの追加的かつ独立した距離として、各々のカラーチャンネルを使用してユークリッド距離を決定又は計算することができる。カラー値は、例えば0~255の範囲にわたる8ビットカラーデータ(各カラーチャンネルに対して一つの8ビット数)として、データ点の一部として又はデータ点と関連付けて記憶することが可能である。
グラフフィルタを生成することは、データ点のセットの明度パラメータを特定することを含むことができる。明度パラメータは、例えば、点群のデータ点のカラー値に含まれる又はカラー値から計算されるチャネルを記述するパラメータとすることができる。例えば、データ点がCYMKカラーチャンネルを格納する場合、データ点は、データ点の明度値としてKを利用することができる。データ点がRGBカラーチャンネルを記憶している場合など、いくつかの実装では、処理回路212は、各データ点におけるカラーチャンネルの加重平均を計算して、各データ点の明度値を計算することができる。処理回路212は、点群内のデータ点に対して生成又はアクセスされた明度値を比較し、明度値の有意な数(例えば、10%、15%、40%、50%、任意な他の所定の量よりも大きいなど)の間における変動が所定の閾値よりも大きいかどうかを決定することができる。この変動が所定の閾値よりも大きい場合、点群によって表される表面を均一に照明することができず、処理回路212は、非カラーベースのグラフフィルタ変種(バリアント)を使用することができる。これに対して、変動が所定の閾値よりも大きくない場合、表面は均一にかつ明確に照明することができ、処理回路212は、カラーベースのグラフフィルタの変種を利用することが可能である。
処理回路212は、選択ポリシー、及び点群内のデータ点の各々に対応するレスポンス値のセットを使用して、データ点のセットのサブセットを選択することができる。選択ポリシーは、例えば、どの点が更なる処理演算に関連し、どの点が画像位置合わせ精度を犠牲にすることなく全体の点群から削除することができるかを示すことができる。処理回路212によって実行される選択ポリシーは、例えば、データ点の各々のレスポンス値を所定の閾値と比較することができる。レスポンス値が所定の閾値以上の場合、選択ポリシーは、データ点が点群からカリング(間引き)されるべきではないことを示すことができる。レスポンス値が所定の閾値より小さい場合、選択ポリシーは、その点が点群から除去されるべき、又はダウンサンプリングされるべきであることを示すことができる。したがって、選択ポリシーは、点群によって表されるオブジェクトの表面上の1つ以上の輪郭に十分に対応する点群内のデータ点のサブセットを選択するように構成することができる。
いくつかの実装では、選択ポリシーは、擬似ランダムベースで点を削除することができる。計算されたレスポンス値に基づいてデータ点を除去することに加えて、処理回路212は、点群からデータ点を一様に除去することによって性能を更に向上させることができる。例えば、点群全体からデータ点を擬似ランダムかつ一様に除去するために、選択ポリシーは、点群内の各データ点に対して擬似乱数を生成するための命令を含むことができる。擬似乱数は、0~100の間のような値の範囲間における値とすることができる。処理回路212は、データ点の疑似乱数値が所定の閾値より小さいかどうかを決定することができる。前の例に従って、選択ポリシーが、データ点の約25%が点群から一様にカリングされるべきであることを示す場合、選択ポリシーは、25未満である疑似ランダム値を割り当てられたデータ点を除去又はカリングする命令を含むことができる。
選択ポリシーが、どの点がシステムの精度を犠牲にすることなく点群から除去することができるかを示すと、処理回路212は、選択ポリシーによってカリングされなかったデータ点のセットの選択されたサブセットを含むデータ構造を生成することができる。データ構造は、点群内のデータ点のセット全体を含むデータ構造よりも小さくすることができる。いくつかの実装では、サブセット内のデータ点は、データ構造内のデータ点のそれぞれの位置に対応するインデックス値を割り当てることができる。その後、処理回路212は、データ点の被写体の生成されたデータ構造を処理回路212のメモリに格納することができる。
図8は、画像アライメント効率を改善するために3D表面モデルから生成された点群をダウンサンプリングするための方法800を示す図である。方法800は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。方法800は、点群データの輪郭ベースの再サンプリングを実施するために使用することができ、これは、輪郭及びエッジなどの関連する点及び点間の関係を保持しながら点群データの点群の密度を減少させることができる。
805において、複数の点群データポイントにアクセスする。点群データ点は、被写体の表面に対応することができる。例えば、点群データ点は、3Dカメラ、MRIデバイス、又はCTデバイスによって検出された被写体の医用画像又は3D画像に対応することができる。
810において、グラフフィルタに基づくレスポンス関数が、複数のデータポイントの各点群データポイントに適用される。レスポンス関数は、複数の点群データ点のそれぞれの点群データ点にレスポンス値を割り当てるために適用することができる。
例えば、グラフフィルタは、数式2([数2])とすることができ、ここで、Aは、グラフシフト演算子数式3([数3])である。Wは、Wがエッジ重み数式1([数1])を有するような点群データ点の隣接行列とすることができ、Dは、Di,iがWのi行のすべての要素の合計である対角行列である。レスポンス関数は、数式4([数4])として定義することができる。
いくつかの実施形態では、グラフフィルタは、k次元の木を使用して生成され、これにより、計算要件を低減することができる。例えば、k次元木は、空間座標などの点群データ点のパラメータに基づいて点群データ点をノードにソートする二分木として点群データ点を使用して生成することができ、さらに、各点群データ点に割り当てられた明度、輝度、カラー(色彩)、密度、又は他のパラメータを使用して生成することができる。特定の点群データ点の隣接行列Wは、特定の点群データ点からk次元木においてk近傍以上離れた各点群データ点に対して重みWi,jがゼロに設定されるように、k次元木に基づいて生成することができる。次元の数kは、k次元ツリーを生成するために使用される異なるパラメータの数(例えば、3つの空間座標次元又は3つのカラー次元)に対応することができる。次元の数kは、レスポンス関数を生成し、レスポンス関数を点群データ点に適用することに関連する計算需要を制御するために使用することができる、所定のパラメータとすることができる。パラメータσもまた、予め定められたパラメータとすることができる。レスポンス関数は、各々の点群データ点に適用され、それぞれの各点群データ点に対応するレスポンス値を生成することができる。
815において、複数の点群データ点のサブセットが選択される。サブセットは、選択ポリシー及び複数のレスポンス値を使用して選択することができる。例えば、サブセットは、レスポンス値に基づいて選択することができる。選択ポリシーは、各点が点に割り当てられたレスポンス値に基づいて(例えば、レスポンス値が閾値を満たすことに基づいて)サブセットに対して選択される、加重選択を実施することができる。いくつかの実施形態では、選択ポリシーは、レスポンス値を比較するための1つ以上の閾値をランダムに生成することなどにより、ランダム加重選択を実施する。
820において、複数の点群データ点のサブセットが出力される。サブセットは、特徴マッチング及び点群アライメントなどの更なる画像処理演算のために出力することができ、これは、点群データ点のサブセットの減少した密度に起因して改善することができる。図14は、k=10及びσ=0.0005で本ソリューションに従ってリサンプリングされ、1405で保持される点の19.31%及び1410で保持される点の5.30%を生じた画像1400の一例を示す図である。図13に示されるように、本ソリューションは、被写体のエッジ及び輪郭などの関連する特徴を保持しながら、点群データ点の密度を約4倍から20倍減少させることが可能である。
上述したように、隣接行列Wのエッジ重みを決定するために使用される点群データ点xとxとの間の距離は、点群データ点の空間座標に基づくユークリッド距離(例えば、x-xを決定するためのLノルム)とすることができる。このように、カラーデータは隣接行列Wを生成するために使用されない。いくつかの実施形態では、点群データ点x及びx間の距離は、点群データ点に割り当てられた1つ以上のカラーチャンネルからのカラーデータに基づいて(例えば、空間座標に加えて)更に決定することができる。例えば、点群データ点間のユークリッド距離を決定する際に、空間次元に加えて、1つ以上のそれぞれのカラーチャンネル(例えば、赤、緑、青チャンネル)からの1つ以上のカラーデータ値を追加次元として使用することができる。カラーデータは、特定のスケール(例えば、0から1までのスケール)に正規化することができ、これは、空間次元が比較されるものと同じスケールとすることができ、又は、空間距離及びカラー距離に異なる重み付けが適用されるように、異なるスケールとすることができる。
カラーデータを使用すること(例えば、カラー認識フィルタを実施すること)は、点群データ点を再サンプリングする計算複雑さが増加し得るが、様々な状況で効果的であり得る。例えば、テキスト(例えば、カラー付きテキスト)は、テキストが被写体のエッジ又は輪郭を形成するのではなく、テキストが位置する平面の一部を形成すると検出することができるので、カラーデータを使用する場合により頻繁にサンプリングすることができる。さらに、点群データを生成するために使用される画像キャプチャデバイスによってキャプチャされたカラーデータは、画像データがキャプチャされたときに存在する照明に大きく依存し得る。そのため、照明、陰影、遮閉などの要因が、カラーデータの使用効果に影響を与える可能性がある。ダウンストリームで比較をするためにリサンプリングされる点群が、類似の、又は均一な照明である場合、カラーデータを使用することで変換の推定を改善することができる。また、カラーデータを使用することで、フライング画素(被写体の端の画素と同じカラーをとることがある)などの画像キャプチャデバイスの問題を軽減することができる。
いくつかの実施形態では、レスポンス関数は、カラーデータを使用する第1の動作モード又はカラーデータを使用しない第2の動作モードで適用することができる。動作モードは、点群データ点の明度パラメータなど、画像データからの情報に基づいて選択することができる。例えば、明度パラメータが、点群データ点の照明が均等性の閾値尺度(例えば、明度の中央値、平均値、又は標準偏差などの明度の統計的尺度に基づく)よりも大きいことを示す場合、第1の動作モードを選択することができる。
いくつかの実施形態では、レスポンス関数及びグラフフィルタを使用した再サンプリングの前に、1つ以上の予備フィルタが点群データ点に適用される。例えば、ボクセルグリッドフィルタを点群データ点に適用することができ、レスポンス関数をボクセルグリッドフィルタの出力に適用することができるが、これは、再サンプリングの全体的な有効性を改善することができる。ボクセルグリッドフィルタを適用することは、点群データ点の上に辺長lのグリッド(例えば、各ボクセルが特定の空間座標の容器として動作する3Dグリッド)を生成し、点群データ点の空間座標に基づいて各点群データ点をそれぞれのボクセルに割り当て、その後、それぞれの各ボクセルに割り当てられた各点群データ点のセントロイド(質量中心)位置及びセントロイドカラーにおいて更新点群データ点を生成することを含むことができる。ボクセルグリッドフィルタは、点群データ点の均一な密度(例えば、カメラがいくつかのランダムな再サンプリング方法において保持することができる画像データを検出する方法によるカメラからの距離が増加するにつれて減少する密度と比較して)を可能にするとともに、ローカルノイズ変動を平滑化することができる。
VI.ダウンサンプリングされた点群から輪郭点を検出し、輪郭点の解析に優先順位付けするためのシステム及び方法
さらなる画像処理演算を実施するために、輪郭点などリサンプリングされた点群の特徴を特定することができる。例えば、特徴を特定することにより、特徴マッチング及び特徴マッチングに基づく点群のアライメントを可能にし得る。特徴の効果的な選択(例えば、物理的に関連する特徴を保持すること)は、アライメントの目標性能及び品質を維持しながら、アライメントを実施するための計算要件を低減させることができる。いくつかの実施形態では、特徴は、スケール不変特徴変換(SIFT)又はスピードアップしたロバスト特徴(SURF)アルゴリズムなどのキーポイント検出方法を使用して選択される。
図9は、ダウンサンプリングされた点群から輪郭点を検出し、輪郭点の解析を優先させるための方法900を示す図である。方法900は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。とりわけ、処理回路212は、本明細書に記載された動作のいずれかを実施することができる。
905において、複数の点群データ点がアクセスされる。点群データ点は、被写体の表面に対応することができる。例えば、点群データ点は、3Dカメラ、MRIデバイス、又はCTデバイスによって検出された被写体の医用画像又は3D画像に対応することができる。
910において、点群データ点の特徴ベクトルが生成される。点群データ点の特徴ベクトルは、複数の点群データ点の少なくとも一つのサブセットの各点群データ点に対して生成することができる。点群データ点の特徴ベクトルは、点群データ点及び複数の隣接する点群データ点に基づくことができる。
いくつかの実施形態では、特徴ベクトルは、特徴ベクトルを表す複数の空間容器の各々に点群データ点と複数の隣接する点群データ点との間の複数の回転値を割り当てることによって生成される。例えば、特徴ベクトルは、高速点特徴ヒストグラム(FPFH)を使用して生成することができる。各空間軸上の回転値(例えば、シータ、ファイ、及びアルファ角度)は、空間容器の各々について決定することができる。各空間容器は、点群データ点の所定の半径内にある隣接する点群データ点を割り当てることができ、例えば、11個の空間容器を使用することができ、長さ33のベクトルをもたらす(11個の空間容器はそれぞれ3つの回転角度を割り当てられる)。特徴ベクトルの生成は、O(n*k)のオーダーとすることができ、ここで、nは点群データ点の数であり、kは点群データ点の半径内の隣接点の数である。
いくつかの実施形態では、特徴ベクトルは、点群データ点の所定の半径内の隣接する点群データ点を使用して点群データ点の基準フレームを決定し、基準フレーム及び複数の空間容器に基づいて特徴ベクトルを生成することによって生成される。例えば、特徴ベクトルは、ヒストグラムの向きの符号数(SHOT)を使用して生成することができる。基準フレームは、隣接する点群データ点を使用して決定される9次元の基準フレームとすることができる。グリッド(例えば、等方性グリッド)は、32個の容器及び各容器に割り当てられた10個の角度を有するグリッドなど、複数の空間容器を特定するために生成することができ、これは、長さ329(容器を記述する320次元及び基準フレーム用の9次元)の特徴ベクトルをもたらすことができる。いくつかの実施形態では、特徴ベクトルはカラーデータを含み、これは追加の容器に割り当てられることができる。特徴ベクトルの生成は、O(n*k)のオーダーとすることができる。
特徴ベクトルを生成するために実施される処理は、精度及び計算時間などの要因に基づいて選択することができる。例えば、基準フレームを使用して特徴ベクトルを生成することは、被写体に関する関連情報を保持する精度及び忠実度の点で同様の性能で、計算時間を低減させることができる。リサンプリングに関して上述したように、カラーデータの使用は、環境の照明の均等性に影響され得るので、特徴ベクトルの生成は、照明に応答するカラーデータを使用することができる又は使用しないことができる種々の動作モードで実施することができる。例えば、カラーデータを使用することは、点群データをシーンに位置合わせするシーン位置合わせモード(例えば、被写体の3D画像データに位置合わせされた医療スキャンデータ)で動作する場合に有用であり得る。
915では、各特徴ベクトルが出力される。例えば、特徴ベクトルは、特徴マッチングを実施するために出力することができ、本ソリューションが特徴ベクトルを生成する態様に起因して、計算効率を向上させることができる。特徴ベクトルは、処理回路212のメモリなどのメモリ内の1つ以上のデータ構造に格納することができる。
VII.画像アライメント及び点群生成演算のための並列処理環境において処理リソースを動的に割り振るためのシステム及び方法
本明細書で説明する画像処理パイプラインは、並列処理演算を使用して、画像アライメント及び点群生成の計算時間を向上させることができる。例えば、処理回路212は、別々のスレッド、別々の処理コア、又は別々の仮想マシン(例えば、ハイパーバイザーによって制御されるような)などの処理リソースを割り振ることができ、点群リサンプリング及び特徴ベクトルの決定(例えば、2つの異なる点群を並列的にリサンプリングする、又は並列的にリサンプリングした点群から特徴ベクトルを生成する)などの並行処理の実施に使用することができる。処理回路212は、グラフィックス処理ユニット、フィールドプログラマブルゲートアレイ、複数のプロセッサ又はコンピューティングノードを有するコンピューティングクラスタ、若しくは他の並列処理デバイスなどの他のコンピューティングデバイス若しくはコンピューティング機械類を含むことができる。処理リソースの現在の需要及び処理ジョブのサイズに基づいて、処理回路212は、特定の処理ジョブを並列処理に特化した処理機械に動的に割り振り、他の処理ジョブを逐次処理に特化した処理機械に割り当てることが可能である。
いくつかの実装では、並列処理演算は、画像データ又は画像ストリームキャプチャソースのタイプに基づいて実施することができる。例えば、DICOMデータ(例えば、CTデータ、MRIデータ)は、奥行きカメラによって検出された3D画像データとは異なる特定の特徴を有することができる。本ソリューションは、各ソースから受信した各点群に異なる処理スレッドを割り当てることができ、各モダリティで実行される処理間の同期を維持するために、予想される計算需要に基づいて異なる画像ソースモダリティに大きい又は小さい処理リソースを割り振ることができる。適宜、並列及び逐次コンピューティングデバイスにわたって緊密にスケジュールされた方法で点群計算を実施することにより、処理回路212は、リアルタイムで正確な画像位置合わせを実施することができる。
ここで図15を参照すると、点群位置合わせ演算の計算性能を改善するために異なるコンピューティング機械に処理リソースを割り振るための方法1500の例示的なフロー図が描かれている。方法1500は、画像処理システム100、とりわけ少なくとも処理回路212、図13A及び13Bと関連して本明細書に記載されたコンピュータシステム1300、又は本明細書に記載される任意の他のコンピューティングデバイスによって実施、実行、又はその他の方法で遂行することができる。
1505において、処理回路212は、第1のメモリを有する第1の処理デバイス及び第2のメモリを有する第2のマルチプロセッサデバイスを特定することができる。処理回路212は、並列演算に特化した処理機械(例えば、演算ノードのクラスタ、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)等)、及び順次演算に特化した演算機械(例えば、高周波シングルコア又はマルチコアデバイス等)といった異なる処理機械を含むことができる。これらのデバイスの各々は、処理動作のためのメモリバンク又はコンピュータ可読メモリを含むことができる。いくつかの実装では、メモリバンク又は他のコンピュータ可読媒体は、異なる処理デバイス間で共有することができる。さらに、いくつかの処理デバイスのメモリは、他の処理デバイスのメモリよりも高帯域幅にすることができる。
いくつかの実装では、画像処理システム100の処理回路212は、モジュール化することができる。例えば、特定の処理デバイス及びメモリは、1つ以上のシステムバス又は通信バスを介してシステムに追加若しくは削除することができる。通信バスは、PCIエクスプレス及びイーサネットなどを含むことができる。異なるシステムバス及びその演算の更なる説明は、図13A及び13Bと関連して後述する。処理回路212は、1つ以上の通信又はシステムバスに問い合わせ、点群データを処理するために利用可能な処理リソースを特定し、列挙することができる。例えば、処理回路212は、1つ以上の並列処理ユニット(例えば、コンピューティングノードのクラスタ、GPU、FPGAなど)又は逐次処理ユニット(例えば、高周波シングルコア若しくはマルチコアデバイスなど)を特定することができる。デバイスが特定されると、処理回路212は、各処理デバイスと通信して、各デバイスに関連するパラメータ及びメモリバンク、マップ、又は領域を決定することができる。パラメータは、処理能力、コア、メモリマップ、構成情報、及び処理に関連する他の情報を含むことができる。
1510において、処理回路212は、第1の点群に対する第1の処理ジョブを特定することができる。処理回路212の処理デバイスが特定された後、処理回路212は、本明細書に詳述されている処理タスクの実施を開始することができる。処理回路212は、画像キャプチャデバイス104の点群情報、複合点群(例えば、グローバルシーン点群)、又は3D画像データに関連する点を処理するための命令を実行することができる。例えば、そのような処理ジョブの1つは、本明細書で上述したように、点群に対するk次元ツリーを計算することである。処理回路212によって特定することができる他の処理ジョブは、グラフフィルタ生成、ユークリッド距離の計算、全体明度値の決定、点群のダウンサンプリング、法線マップの計算、点群に対する特徴の生成、3D医用画像データ(例えば、セグメント化)を点群として表すことができる3D画像に変換、などを含むことができる。いくつかの実装では、本明細書に記載されるジョブ又は演算は、処理回路212が特定することができる特定の順序を有する。
処理回路212によって特定される処理ジョブは、処理回路212によって処理されるべき情報についてのメタデータなどのジョブ情報を含むことができる。ジョブ情報は、ジョブが実行されるときに処理されるべき情報を含むコンピュータメモリの1つ以上のデータ構造又は領域も含むことができる。いくつかの実装では、ジョブ情報は、ジョブが実行されるときに処理されるべきその情報を含むメモリの領域へのポインタを含むことができる。処理回路212によって特定された他のジョブ情報は、特定された処理デバイスによって実行されると、処理デバイスに、処理ジョブを遂行するために処理されるべき情報に対して計算タスクを実施させることができる命令を含むことができる。いくつかの実装では、第1の処理ジョブは、少なくとも1つの画像処理デバイス104から点群データを受信することに応答して特定することができる。
1515において、処理回路212は、第1の処理ジョブを第2のマルチプロセッサデバイスに割り当てることを決定することができる。特定の処理ジョブは、異なるより高性能処理ハードウェア上でより迅速に実施することができる。例えば、処理ジョブが、点群における特徴検出のための演算を含み、それが、並列的に実施することができる多くの演算を含む場合、処理回路212は、処理ジョブを並列コンピューティングデバイス上で実施するように決定することができる。処理デバイス(複数可)は、実施されるジョブに関する情報に基づいて、特定のジョブのために選択することができる。そのような情報は、ジョブによって処理される点群内のデータ点の数、処理回路212の一部である処理デバイスの利用量、又はジョブの全体的な処理複雑度を含むことができる。
特定のジョブで処理される点の数が閾値を超え、かつ処理ジョブが逐次ベースのアルゴリズムでない場合、処理回路212は、後述のデバイスのいずれかが存在するのであれば、GPU、クラスタ、又はFPGAなどのマルチプロセッサデバイス上でジョブを処理することを決定する処理を行うことができる。そうでなければ、点群が3D医用画像のものである場合など、処理すべき点の数が所定の閾値以下である場合(例えば、はるかに小さい、又は少ない点など)、処理回路212は、逐次処理を専門に行う処理デバイス上でジョブを処理するように決定することができる。別の例では、処理デバイスの1つが過度に利用されている場合(例えば、利用量が所定の閾値よりも大きい等)、処理回路212は、ジョブを異なるコンピューティングデバイスに割り当てるように決定することができる。これに対して、処理回路212は、ある処理デバイスが利用不足であり(例えば、利用量がそれぞれ所定の閾値よりも大きい、又は小さい、など)、妥当な時間で処理ジョブを実施するのに適していると判断した場合、処理回路は、処理ジョブをその処理デバイスに割り当てるように決定することができる。ジョブの処理の複雑さが所定の閾値よりも大きい場合(例えば、非常に高い計算順序など)、処理回路212は、マルチプロセッサデバイスなど、複雑さに適したコンピューティングデバイスにジョブを割り当てることができる。処理回路212が、処理ジョブは、逐次的な計算動作に特化した処理デバイスで実施されるべきであると決定した場合、処理デバイスは、ステップ1520Aを実施することができる。処理回路212が、処理ジョブは、並列コンピューティング演算に特化した第2のマルチプロセッサデバイスで実施されるべきであると決定した場合、処理デバイスは、ステップ1520Bを実施することができる。
1520A及び1520Bにおいて、処理回路212は、第1点群を含む第1処理ジョブの情報を、第2メモリ又は第1メモリに割り振ることができる。処理デバイスが特定のジョブに対して決定されると、処理回路212は、ジョブを遂行するためのジョブ固有のリソースを適切な処理デバイスに割り振ることができる。処理回路212が、1つ以上の並列処理デバイスを使用してジョブを実施すると決定した場合、処理回路212は、点群又は他の関連するデータ構造などのジョブ固有データを並列処理デバイスのメモリに送信するか、若しくは他の方法で割り振ることができる。ジョブ固有リソースが、並列処理デバイスと共有される位置のメモリに常駐する場合、処理回路212は、ジョブ関連データの位置へのポインタを処理デバイスに提供することができる。そうでなければ、処理回路212は、処理特定データを並列処理デバイスのメモリに伝送するか、又はそうでなければコピー(例えば、直接メモリアクセス(DMA)などを介して)して、実行のためのジョブを準備することが可能である。処理回路212は、NVIDIA CUDA又はOpenMPなどの1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、任意の数の並列処理デバイス若しくはリソースと通信し、若しくは本明細書に開示される演算のいずれかを実施することができる。
処理回路212が、逐次処理デバイスを使用してジョブを実施すると決定した場合、処理回路212は、点群又は他の任意の関連するデータ構造などのジョブ固有データを、逐次処理デバイスのメモリに送信するか、さもなければ割り振ることが可能である。ジョブ固有リソースが、並列処理デバイスと共有される位置のメモリに常駐する場合、処理回路212は、ジョブ関連データの位置へのポインタを処理デバイスに提供することができる。そうでなければ、処理回路212は、処理特定データを逐次処理デバイスのメモリに伝送するか、又は他の方法でコピーして(例えば、直接メモリアクセス(DMA)などを介して)、実行のためのジョブを準備することが可能である。処理回路212は、OpenMPなどの1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、任意な数の逐次処理デバイス又はリソースと通信し、若しくは本明細書に開示される演算のいずれかを実施することが可能である。
1525において、処理回路212は、第2の点群に対する第2の処理ジョブを特定することができる。別のジョブが他のコンピューティングデバイスによって割り振られ、又は実行されている間でも、処理回路212は、画像キャプチャデバイス104の点群情報、複合点群(例えば、グローバルシーン点群)、若しくは3D画像データに関連する点を処理し、これらのジョブを他のコンピューティングデバイスに割り振るための命令を実行することが可能である。例えば、そのような処理ジョブの1つは、本明細書で上述したように、点群に対するk次元ツリーを計算することである。処理回路212によって特定され得る他の処理ジョブは、グラフフィルタ生成、ユークリッド距離の計算、全体明度値の決定、点群のダウンサンプリング、法線マップの計算、点群に対する特徴の生成、3D医用画像データ(例えば、セグメント化)を点群として表すことができる3D画像に変換、又は本書に記載された他の処理演算のいずれかを含むことができる。いくつかの実装では、本明細書で説明されるジョブ又は演算は、処理回路212が特定することができる特定の順序を有する。いくつかの実装では、処理回路212は、現在のジョブが依存する前のジョブが処理回路212のコンピューティング機械によってまだ処理されている場合、ジョブの処理を停止させることができる。
処理回路212によって特定される処理ジョブは、処理回路212によって処理されるべき情報についてのメタデータなどのジョブ情報を含むことができる。ジョブ情報は、ジョブが実行されるときに処理されるべき情報を含むコンピュータメモリの1つ以上のデータ構造又は領域も含むことができる。いくつかの実装では、ジョブ情報は、ジョブが実行されるときに処理されるべきその情報を含むメモリの領域へのポインタを含むことができる。処理回路212によって特定された他のジョブ情報は、特定された処理デバイスによって実行されると、処理デバイスに、処理ジョブを遂行するために処理されるべき情報に対して計算タスクを実施させることができる命令を含むことができる。いくつかの実装では、処理ジョブは、少なくとも1つの画像処理デバイス104から点群データを受信することに応答して特定することができるか、又は別のジョブが完了することに応答してすることができる。
1530において、処理回路212は、第2の処理ジョブを第1の処理デバイスに割り当てることを決定することができる。特定された処理ジョブが高次の複雑さを有し、かつ並列的に実施することができる多くの動作を有しない場合、処理回路212は、処理ジョブを高いクロック周波数を有する逐次コンピューティングデバイスに割り当てるように決定することができる。この決定は、実施されるジョブに関する情報に基づいて行われることも可能である。そのような情報は、ジョブによって処理される点群内のデータ点の数、処理回路212の一部である処理デバイスの利用量、又はジョブの全体的な処理の複雑さを含むことができる。いくつかの実装では、ジョブは、優先値に基づいて特定のコンピューティングデバイスに割り当てられることができる。例えば、逐次コンピューティングデバイスに対して高い優先値を有するジョブは、非逐次コンピューティングデバイスに割り当てられる前に、逐次コンピューティングデバイスに割り当てられることになる。
特定のジョブにおいて処理されるポイントの数が閾値を超え、処理ジョブが逐次ベースのアルゴリズムではない場合、処理回路212は、後述のデバイスのいずれかが存在するのであれば、GPU、クラスタ、又はFPGAなどのマルチプロセッサデバイス上でジョブを処理することを決定する処理を行うことができる。そうでなければ、点群が3D医用画像のものである場合など、処理すべき点の数が所定の閾値以下である場合(例えば、はるかに小さい、又は少ない点など)、処理回路212は、逐次処理を専門に行う処理デバイス上でジョブを処理するように決定することが可能である。別の例では、処理デバイスの1つが過度に利用されている場合(例えば、利用量が所定の閾値よりも大きいなど)、処理回路212は、ジョブを異なるコンピューティングデバイスに割り当てるように決定することができる。これに対して、処理回路212は、ある処理デバイスが利用不足であり(例えば、利用量がそれぞれ所定の閾値よりも大きい、又は小さい、など)、妥当な時間で処理ジョブを実施するのに適していると判断した場合、処理回路は、処理ジョブをその処理デバイスに割り当てるように決定することができる。ジョブの処理の複雑さが所定の閾値よりも大きい場合(例えば、非常に高い計算順序など)、処理回路212は、マルチプロセッサデバイスなど、複雑さに適した計算デバイスにジョブを割り当てることができる。さらに、特定のアルゴリズム又はプロセスが、並列に実施することができない大多数の演算を含む場合、処理回路212は、ジョブを逐次処理デバイスに割り当てることができる。処理回路212が、処理ジョブは逐次計算演算に特化した処理デバイスで実施されるべきであると決定した場合、処理デバイスは、ステップ1535Aを実施することができる。処理回路212が、処理ジョブは、並列計算演算に特化した第2のマルチプロセッサデバイスで実施されるべきであると決定した場合、処理デバイスは、ステップ1535Bを実施することができる。
1535A及び1535Bにおいて、処理回路212は、第2の処理ジョブの情報を第1のメモリ又は第2のメモリに割り振ることができる(ステップ1535A及び1535B)。処理デバイスが特定のジョブに対して決定されると、処理回路212は、ジョブを遂行するためのジョブ固有リソースを適切な処理デバイスに割り振ることができる。処理回路212が、逐次処理デバイスを使用してジョブが実施されると決定した場合、処理回路212は、点群又は他の関連するデータ構造などのジョブ固有データを、逐次処理デバイスのメモリに送信するか、若しくは他の方法で割り振ることができる。ジョブ固有リソースが、並列処理デバイスと共有される位置のメモリに常駐する場合、処理回路212は、ジョブ関連データの位置へのポインタを処理デバイスに提供することができる。そうでなければ、処理回路212は、処理特定データを逐次処理デバイスのメモリに伝送するか、又は他の方法でコピーして(例えば、直接メモリアクセス(DMA)などを介して)、実行のためのジョブを準備することが可能である。処理回路212は、OpenMPなどの1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、任意な数の逐次処理デバイス又はリソースと通信し、若しくは本明細書に開示される演算のいずれかを実施することが可能である。
処理回路212が、1つ以上の並列処理デバイスを使用してジョブが実施されると決定した場合、処理回路212は、点群又は他の任意の関連データ構造などのジョブ特定データを並列処理デバイスのメモリに送信するか、そうでなければ割り振ることができる。ジョブ固有リソースが、並列処理デバイスと共有される位置のメモリに常駐する場合、処理回路212は、ジョブ関連データの位置へのポインタを処理デバイスに提供することができる。そうでなければ、処理回路212は、処理特定データを並列処理デバイスのメモリに伝送するか、又はそうでなければコピー(例えば、直接メモリアクセス(DMA)などを介して)して、実行のためのジョブを準備することが可能である。処理回路212は、NVIDIA CUDA又はOpenMPなどの1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、任意の数の並列処理デバイス又はリソースと通信し、若しくは本明細書に開示される演算のいずれかを実施することが可能である。
1540において、処理回路212は、第1の処理デバイス及び第2のマルチ処理デバイスにそれらの割り当てられた処理ジョブを実施させるために、命令を転送することができる。適切な処理デバイスに特定のジョブの処理を遂行させるために、処理回路212は、各ジョブに関連する命令を適切なコンピューティングデバイスに(例えば、1つ以上のシステムバス又は通信バス等を介して)転送することができる。いくつかの実装では、コンピューティングデバイスに転送される命令は、デバイス固有命令を含むことができる。例えば、GPUデバイスが処理ジョブに選択された場合、処理回路212は、ジョブを実行するためにGPU固有命令(例えば、CUDA命令など)を特定して送信することができる。同様に、標準的なCPUデバイス(例えば、逐次処理デバイスなど)が選択される場合、処理回路212は、処理ジョブを遂行するためにCPU固有命令を特定し、送信することができる。各コンピューティングデバイスに対する処理命令は、処理回路212によって特定されたジョブ情報に含むことができる。処理ジョブが特定の処理デバイス上で完了すると、処理回路212は、そのデバイスからのジョブが完了したことを示す信号を特定することができる。その後、処理回路212は、処理ジョブの一部として遂行された計算の結果を含むメモリの領域を特定し、更なる処理のために作業メモリの別の領域にコピーすることができる。
VIII.医用画像の点群をグローバルシーン点群に位置合わせするためのシステム及び方法
キャプチャデバイス104から取り込んだ画像208をダウンサンプリングして計算効率を向上させ、点群から特徴ベクトルを抽出したら、処理システムは、CTスキャン画像又はMRI画像から生成した3Dモデルなどの3D医用画像を点群に位置合わせすることが可能である。CTスキャン画像をリアルタイムで点群に位置合わせすることにより、医用画像はリアルタイムの被写体情報と同じ基準フレームで描画されるため、医療従事者は医用画像に示された特徴に手術器具をより容易にアライメント調整することが可能となる。さらに、基準フレームデータは、手術器具からの位置情報と組み合わせて使用することができる。トラッキングデータは、被写体の点群データ及び変換された医用画像と同じ基準フレームに変換され、外科的治療の正確な適用を改善することができる。
図1及び2に戻って説明すると、画像処理システム100の処理回路212は、1つ以上の画像キャプチャデバイス104からの点群を被写体の3D医用画像に位置合わせすることができる。3D医用画像は、例えば、CTスキャン画像又はMRI画像から生成された3Dモデルとすることができる。位置合わせ処理の処理速度を向上させるために、処理回路212は、オフライン処理で医用画像の特徴ベクトルを特定するために使用することができる。したがって、医用画像を点群に位置合わせする際に、処理回路212は、リアルタイムで撮影される点群の特徴ベクトルを計算すればよいので、システム全体のパフォーマンスを向上させることができる。
処理回路212は、第1の基準フレームを有するグローバルシーンを表す第1の点群のデータ点のセットにアクセスすることができる。グローバルシーンは、例えば、点群のデータ点のセットによって表されるシーンとすることができる。例えば、キャプチャデバイス104などの3Dカメラを使用して画像をキャプチャする場合、被写体が位置する周囲又は部屋など、解析対象以外の特徴もキャプチャすることができる。したがって、点群は、被写体などの関心対象領域の表面のみを表すことができず、画像位置合わせ処理にあまり関連しない環境の表面も含むことができる。グローバルシーン点群は、本明細書で上述したように、画像キャプチャデバイス104から生成された結合点群とすることができる。
処理回路212は、第1の基準フレームとは異なる第2の基準フレームを有する3D医用画像の特徴のデータ点のセットを特定することができる。特徴データ点は、例えば、オフラインプロセスで取得された3D医用画像から抽出された1つ以上の特徴ベクトルとすることができる。特徴ベクトルは、例えば、処理回路212が、図9と関連して本明細書で上述した方法900の1つ以上のステップを実施することによって生成することができる。3次元医用画像の特徴ベクトルにアクセスすることは、処理回路212のメモリ内の1つ以上のデータ構造から特徴ベクトルを取り出すことを含むことができる。
いくつかの実装では、3D医用画像に存在する特徴ベクトルを決定する前に、処理回路212は、本明細書において上述した態様に従って、3D医用画像から生成された点群をダウンサンプリングすることが可能である。例えば、処理回路212は、3D医用画像から1つ以上のデータ点を抽出して、3D医用画像を表す点群を生成することができる。3D医用画像から抽出された点群は、画像キャプチャデバイス104によって生成された点群のものとは異なる基準フレームを有することができる。いくつかの実装では、3D医用画像から取り込まれた点群はダウンサンプリングされず、代わりに、特徴ベクトルは3D医用画像の点全体に基づいて決定される。
処理回路212は、特徴ベクトルからの第1の基準フレーム、データ点の第1のセット、及び特徴データ点のセットを使用して、3D医用画像に対する変換データ構造を決定することができる。グローバルシーンを表す点群又は3D医用画像を表す点群の少なくとも一方がダウンサンプリングされた実装では、処理回路212は、縮小された、又はダウンサンプリングされた点群(複数可)を使用して変換データ構造を生成することができる。変換データ構造は、1つ以上の変換行列を含むことができる。変換行列は、例えば、4×4の剛体変換行列とすることができる。変換データ構造の変換行列を生成するために、処理回路212は、例えば、図9と関連して本明細書で上述した方法900のステップの1つ以上を実施することによって、グローバルシーン点群の1つ以上の特徴ベクトルを特定することができる。この処理の結果は、各点群に対する特徴ベクトルのセットを含むことができ、ここで、グローバルシーン点群は、基準フレームとして使用することができる(例えば、その点群の点は、変換されない)。処理回路212は、各行列が医用画像の点群に適用される(例えば、変換するために使用される)とき、医用画像の特徴がグローバルシーン点群における同様の特徴とアライメント調整するように変換行列を生成することが可能である。
変換行列を生成するために(例えば、変換データ構造の一部として、又は変換データ構造として)、処理回路212は、処理回路212のメモリから、各点群に対応する特徴にアクセスするか、若しくは他の方法で取得することができる。変換される点群のものに対応する基準フレーム点群内の点を見つけるために、処理回路は、各点群内の特徴ベクトル間のL距離を計算することができる。これらの対応関係が列挙された後、処理回路212は、ランダムサンプルコンセンサス(RANSAC)アルゴリズムを適用して、誤った対応関係を特定し、拒絶することができる。
RANSACアルゴリズムは、各点群の特徴におけるどの対応がアライメントプロセスに関連し、どれが偽の対応(例えば、変換またはアライメント調整される点群における特徴に対応すると誤って特例される1つの点群における特徴)であるかを決定するために使用することができる。RANSACアルゴリズムは反復可能であり、満足のいくモデルが適合されるまで、2つの点群間の誤った対応を拒絶することができる。出力される満足のいくモデルは、変換される点群に対応するデータ点を有する基準点群の各データ点を特定することができ、その逆もまた可能である。
RANSACアルゴリズムを実施する際に、処理回路212は、特徴ベクトル間のL距離を使用して特定された対応関係のフルセットから、最小対応関係を含む特徴対応関係のサンプルサブセットをランダムに(例えば、疑似ランダムに、等)選択することができる。処理回路212は、このサンプルサブセットの要素を使用して、適合モデル及び対応するモデルパラメータを計算することができる。サンプルサブセットのカーディナリティは、モデルパラメータを決定するのに十分な最小のものとすることができる。処理回路212は、対応関係のフルセットのどの要素が、推定されたモデルパラメータによってインスタンス化されたモデルと一致するかをチェックすることができる。対応関係は、ノイズの影響に起因する最大偏差を定義するある誤差閾値(例えば、1%、5%、10%など)内で推定モデルパラメータのセットによってインスタンス化された適合モデルに適合しない場合に外れ値としてみなすことができる。適合モデルに対して得られたインライアのセットは、対応関係のコンセンサスセットと呼ぶことができる。処理回路212は、ある反復において得られたコンセンサスセットが十分なインライア(例えば、所定の閾値以上など)を有するまで、RANSACアルゴリズムのステップを反復して繰り返すことができる。その後、コンセンサスセットは、変換データ構造を決定するための反復最接近(ICP)アルゴリズムで使用することができる。
処理回路212は、RANSACアルゴリズムを使用することによって生成された対応する特徴のコンセンサスセットを使用して、ICPアルゴリズムを実施することができる。コンセンサスセット内の各対応する特徴は、各点群における1つ以上のデータ点を含むことができる。ICPアルゴリズムを実施するとき、処理回路212は、基準点群(又は選択されたセット)内の最も近い点を、変換される点群内の点クローゼットポイントにマッチングさせることができる。その後、処理回路212は、変換される点群内の各点が基準点群内のその一致点と最適にアライメントする二乗平均平方根点間距離メトリック最小化技術を使用して、回転及び並進の組み合わせを推定することができる。処理回路212は、点群内の点を変換して、点群内の特徴間の誤差の量を決定し、この処理を使用して反復し、変換される点群の位置及び回転に対する最適な変換値を決定することができる。これらの出力値は、3次元医用画像の位置の変化又は回転の変化を含む4×4の剛体変換行列などの変換行列に組み立てることができる。この出力された変換行列を、変換データ構造とすることができる。
3次元医用画像の変換行列は、3次元医用画像の位置の変化又は回転の変化に対応させることができる。3次元医用画像を、グローバルシーンを表す点群に位置合わせするために、処理回路212は、3次元医用画像内の点に変換行列の位置の変更又は回転の変更を適用することができる。変換行列を適用することによって、3D医用画像は、キャプチャデバイス104によって撮像された点群と同じ基準フレームに変換される。したがって、変換行列の適用により、3D医用画像は、グローバルシーンの点群とアライメント調整される。変換行列の計算及び3D医用画像のアライメントは、リアルタイムで実施することができる。いくつかの実装では、グローバルシーンのデータ点及び変換された3D医用画像のデータ点は、3D医用画像がグローバルシーン点群のデータ点と共にグローバルシーンの基準フレームに対して位置付けられるように、単一の基準フレーム内に配置することができる。
処理回路212は、3D医用画像を第1の点群に位置合わせすることに応答して、第1の点群及び3D医用画像のレンダリングを表示するために、ユーザーインターフェース120に表示情報を提供することができる。グローバルシーン基準フレームは、変換された3D医用画像と共に、1つ以上の3Dレンダリング処理を使用して表示データを生成するために使用することができる。表示データは、例えば、画像処理システム100のユーザーインターフェース120に表示することができる。
画像処理システム100は、グローバルシーン点群の基準フレームにおける変換された3D画像に加え、情報を含むことができる。例えば、処理回路212は、外科用器具からトラッキングデータを受信し、グローバルシーン点群の基準フレームにおける外科手術指示の表示を提供することができる。例えば、グローバルシーン点群の基準フレームが生成される画像キャプチャデバイス104の1つを使用して、手術指示の画像データ(例えば、位置、動き、トラッキングデータなど)を受信することができる。器具はグローバルシーン点群と同じ基準フレームにあるので、手術器具の位置及びトラッキングデータは、グローバルシーン点群を含めた変換された3D医用画像と共に表示することができる。
いくつかの実装では、処理回路212は、外科用器具からのトラッキングデータを第1の基準フレームに変換して、変換されたトラッキングデータを生成することができる。変換されたトラッキングデータは、位置、回転、又は外科用器具から受信した他の情報の変更を含むことができる。例えば、外科用器具の位置及びグローバルシーンの基準フレームとの間に検出されたオフセットがある場合、処理回路212は、オフセットを補償するためにトラッキングデータを再配置又は変形させることができる。オフセットは、ユーザー入力によって手動で補正することができる。例えば、ユーザーインターフェース120を観察しているユーザーがオフセットに気付いた場合、手動で変換値を入力して、外科用器具のトラッキングデータを変換して補正することができる。いくつかの実装では、このプロセスは、処理回路212によって自動的に実施することができる。その後、処理回路212は、変換されたトラッキングデータを使用して、グローバルシーン点群及び変換された3D医用画像と共にグローバルシーン基準フレームにおいて変換された外科用器具トラッキングデータをレンダリングする表示情報を作成することができる。
グローバルシーンからの情報を使用して、処理回路212は、第1の点群及び3D医用画像に関連する第1の基準フレーム内の関心位置を決定することができる。例えば、関心位置は、3D医用画像がグローバルシーンと適切にアライメント調整できない(例えば、許容誤差の範囲内ではない等)領域を含むことができる。ある状況下では、3D医用画像は古くなり、グローバルシーンに適切に位置合わせされないことがある。本明細書において上記で詳述したICPプロセスからの出力値から、処理回路は、特徴対応関係のペア(対)が許容誤差範囲内でアライメント調整されなかった若干の場所を特定することができる。関心対象位置が検出された場合、処理回路212は、ユーザーインターフェース120にレンダリングされた表示データ内にハイライトされた領域(例えば、何らかの方法で強調される、赤く点滅する、など)を生成することができる。強調された領域は、3D医用画像又はグローバルシーン上の関心対象位置に対応することができる。いくつかの実装では、関心対象位置を決定することは、病変、骨折、又は外科的情報を使用して治療することができる他の医学的問題などの特許データから取得することができる。この位置は、医療専門家によって入力されるか、又は他の処理を使用して自動的に検出することができる。医療従事者は、例えば、ユーザーインターフェース上の1つ以上の入力を使用して、場所を入力又は特定することができる。
関心対象位置が、ロボットデバイスによって部分的に自動化することができる外科手術又は他の医療処置に関連する位置である場合、処理回路212は、グローバルシーン点群、3D医用画像、及び関心位置に基づいて、外科用器具又は他のロボットデバイスに対する動作指示を生成することができる。グローバルシーン点群データ及び外科用器具のトラッキングされた位置を使用して、処理回路は、グローバルシーン点群に干渉しない(例えば、外科用器具を望ましくない方法で被写体に衝突させる等)経路、又は一連の位置を特定することができる。グローバルシーン点群はリアルタイムで計算することができ、外科用器具はリアルタイムでトラッキングすることができるので、処理回路212は、外科用器具をある期間内に関心対象位置に移動させるための最新の移動指示を計算し、提供することができる。作られた移動命令は、外科用器具を特定の場所に移動させる命令、又は外科用器具が望ましくない方法で患者に干渉することなく関心対象位置に到達することを可能にする処理回路212によって計算された経路に沿って、外科用器具を移動させる命令を含む。移動命令を生成した後、処理回路212は、外科用器具に通信可能に結合することができる通信回路216を使用して、移動命令を外科用器具に送信することができる。命令は、例えば、1つ以上のメッセージ又はデータパケットで送信することができる。
処理回路212は、第1の点群の生成に少なくとも部分的に責任を負うキャプチャデバイスからの3D医用画像に表される患者の距離を決定するように構成することができる。例えば、処理回路212は、グローバルシーン内の基準マーカー又はオブジェクトを利用して、グローバルシーン点群をキャプチャするキャプチャデバイス104と撮像される被写体との間における実際の距離を決定することができる。既知の距離又は長さを有するグローバルシーン点群内の基準オブジェクト若しくは場がある場合、処理回路212は、既知の距離又は長さを利用して、画像キャプチャデバイス104からグローバルシーン内の他の特徴までの距離など、グローバルシーン点群の異なる寸法若しくはパラメータを決定若しくは計算することができる。次元医用画像内の特徴に対応するグローバルポイントクラウド内の被写体の特徴を使用して、処理回路212は、被写体の平均位置を決定することができる。この平均位置と基準長さ又は距離とを使用して、処理回路212は、画像キャプチャデバイス104からの被写体の距離を決定することができる。
図10は、医用画像の点群をグローバルシーン点群に位置合わせするための方法1000を示す図である。方法1000は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。
1005において、複数の第1の特徴ベクトルがアクセスされる。第1の特徴ベクトルは、被写体の第1の画像データを表す第1の点群に対応することができる。例えば、第1の特徴ベクトルは、特徴検出の前に再サンプリングすることができる被写体の第1の点群データから生成することができる。第1の画像データは、医用画像(例えば、CT、MRI)であることができる。
1010において、複数の第2の特徴ベクトルがアクセスされる。第2の特徴ベクトルは、被写体の第2の画像データを表す第2の点群に対応することができる。例えば、第2の特徴ベクトルは、特徴検出の前に再サンプリングすることができる被写体の第2の点群データから生成することができる。
複数の第2の特徴ベクトルは、基準フレームにマッピングすることができる。例えば、第1の画像データは、基準のフレームに対応するグローバルシーン点群(これは、時間と共に生成及び更新され得る)のものとすることができる。
1015において、複数の第1の特徴ベクトルの変換が決定される。変換は、複数の第1の特徴ベクトルを基準フレームとアライメントさせるために決定することができる。いくつかの実施形態では、1つ以上の第1の特徴ベクトルと1つ以上の第2の特徴ベクトルとの間に(例えば、特徴ベクトル間のL2距離に基づいて)対応関係が生成される。変換は、ランダムサンプルコンセンサス(RANSAC)及び反復最接近(ICP)などの、特徴ベクトル又は特徴ベクトル間の対応関係に1つ以上のアライメントアルゴリズムを適用することによって決定することができ、いくつかの実施形態では、第1のパスがRANSACを使用して実施され、第2のパスがICPを使用して実施され、これは、特定される変換の正確さを向上させることができる。変換は、第1の点群データ点に適用することができる変換行列として、アライメントアルゴリズム(複数可)を使用して決定することができる。
1020において、複数の第1の特徴ベクトル(又は第1の点群データ点)は、第2の点群と(例えば、グローバルシーンの基準フレームと)アライメント調整される。アライメントは、第1の特徴ベクトル又は第1の特徴ベクトルに関連付けられた第1の点群データ点に変換(例えば、変換行列)を適用することによって実施することができる。
IX.事前にキャプチャされた医用画像及びグローバルシーン画像を使用したリアルタイム外科手術計画視覚化のためのシステム及び方法
本明細書で説明する画像処理パイプラインは、医用画像及びモデルと一緒に3D画像を器具ナビゲーションのための計画軌道と共に可視化することなど、改善された手術計画可視化を可能にすることができる。
図11は、事前にキャプチャされた医用画像及びグローバルシーン画像を使用してリアルタイムで外科手術計画視覚化を行うための方法1100を表している。方法1100は、画像処理システム100など、本明細書に記載される様々なデバイス及びシステムを使用して実施することができる。
1105において、被写体に関する医用画像及び被写体に関する3次元画像データがアクセスされる。医用画像は、CT画像又はMRI画像などの様々な医用画像を含むことができる。3次元画像データは、奥行きカメラなどの1つ以上の3次元カメラから受信することができる。
1110において、医用画像は、3次元画像データに位置合わせされる。位置合わせは、医用画像データ及び3次元画像データをリサンプリング(再サンプリング)すること、リサンプリングされたデータから特徴を決定すること、医用画像データ及び3次元画像データを(例えば、互いに又はグローバル基準フレームに)アライメント調整させるための変換を特定すること、並びに医用画像データ又は3次元画像データの一方又は両方に変換を適用することなど、本書に記載する様々なプロセスを使用して実施することができる。
1115において、ユーザーインターフェースを介した視覚的インジケータを受信する。視覚的インジケータは、医用画像データ及び3D画像データを使用して提示された環境における軌跡又は経路を示すことができる。例えば、視覚的インジケータは、器具が被写体に導入される経路を示すことができる。
1120で、視覚的インジケータは、医用画像にマッピングされる。例えば、視覚的インジケータを受信する基準フレームを特定することができ、視覚的インジケータを医用画像にマッピングするために、視覚的インジケータの医用画像への変換を決定することができる。
1125において、医用画像、3次元画像データ、及び視覚的インジケータの表現が提示される。医用画像、3次元画像データ、及び視覚的インジケータは、ディスプレイデバイスを使用して提示することができる。例えば、視覚的インジケータは、被検体の3次元画像、及び被検体のCT又はMRI画像上にオーバーレイとして提示することができる。医用画像を提示することは、被写体の目標特徴のハイライト又は器具の軌跡の少なくとも一方を含む視覚的インジケータに対応する表示データを提示することを含むことができる。
X.3次元画像環境において器具の動きを動的にトラッキングするためのシステム及び方法
上述したように、IRセンサは、被写体の周囲の環境における器具をトラッキングするためだけでなく、器具が被写体に対してオペレーションされている間にも使用することができる。本ソリューションは、トラッキングデータを使用して、トラッキングされた器具の表現を3D画像データ及び医用画像データ(例えば、CT又はMRI)と共に表示し、器具が被写体とどのように相互作用するかをユーザーが効果的に視覚化することを可能にすることができる。
1205において、被写体についての環境に関する3次元画像データにアクセスすることができる。3次元画像データは、奥行きカメラなどの1つ以上の3次元カメラから受信することができる。
1210において、被写体に関する医用画像にアクセスすることができる。医用画像は、CT又はMRI画像などの様々な医用画像を含むことができる。
1215で、医用画像は、3次元画像データに位置合わせすることができる。位置合わせは、医用画像データ及び3次元画像データをリサンプリングすること、リサンプリングされたデータから特徴を決定すること、医用画像データ及び3次元画像データを(例えば、互いに又はグローバル基準フレームに)アライメントする変換を特定すること、並びに医用画像データ又は3次元画像データの一方若しくは双方に変換を適用することなど、本書に記載する様々なプロセスを使用して実施することが可能である。
1220において、3D画像データから器具を特定することができる。器具は、物体のテンプレート特徴を取得し、テンプレート特徴を3D画像データから抽出された特徴と比較するなど、3D画像データを使用して様々なオブジェクト(物体)認識処理のいずれかを実施することによって特定することができる。器具は、器具に結合された識別子(例えば、視覚的インジケータ)に基づいて特定することができ、これは、器具が特定される3D画像データの探索空間を減少させることによって、器具を特定するための計算要件を減少させることができる。
1225において、器具のモデルにアクセスする。モデルは、器具の形状、輪郭、エッジ、又は他の特徴を示すことができる。モデルは、機器を特定するために使用されるテンプレートの特徴を含むことができる。
1230において、器具を表す3次元画像データの一部を器具のモデルにマッチングさせることにより、器具に関する位置データがトラッキングされる。例えば、画像データから抽出された特徴を器具のモデルにマッチングさせることに応答して、3次元画像データにおける器具の位置を特定し、画像(例えば、3Dカメラからの画像のストリーム)にわたって監視して、器具をトラッキングすることが可能である。
XI.リアルタイム複数モダリティ画像アライメントのためのコンピューティング環境
図13A及び13Bは、コンピューティングデバイス1300のブロック図を示している。図13A及び13Bに示すように、各コンピューティングデバイス1300は、中央処理装置ユニット(CPU)1321、及びメインメモリユニット1322を含む。図13Aに示すように、コンピューティングデバイス1300は、ストレージデバイス1328、インストールデバイス1316、ネットワークインターフェース1318、I/Oコントローラ1323、ディスプレイデバイス1324a~1324n、キーボード1326及びポインティングデバイス1327、例えばマウスを含むことができる。ストレージデバイス1328は、限定されないが、オペレーティングシステム、ソフトウェア、及びシステム200のソフトウェアを含むことができる。図13Bに示すように、各コンピューティングデバイス1300は、追加のオプション要素、例えば、メモリポート1303、ブリッジ1370、1つ以上の入力/出力デバイス1330a~1330n(一般に参照符号1330を用いて呼ばれる)、及びCPU1321と通信するキャッシュメモリ1340も含むことが可能である。
CPU1321は、メインメモリユニット1322からフェッチされた命令に応答して処理する任意の論理回路である。多くの実施形態では、CPU1321は、マイクロプロセッサユニット、例えば、カリフォルニア州マウンテンビューのインテル社によって製造されたもの、イリノイ州シャンバーグのモトローラ社によって製造されたもの、ARMプロセッサ(例えば、ARMホールディングスから、ST、TI、ATMELなどになどによって製造されたもの)及びカリフォルニア州サンタクララのNvidiaによって製造されるTEGRAシステムオンチップ(SoC)、ニューヨーク州ホワイトプレーンズのインターナショナルビジネスマシーンズ若しくはカリフォルニア州サニーベールのアドバンストマイクロデバイスによって製造されるPOWER7プロセッサ、又はカリフォルニア州サンホーズのアルテラ、インテル社、カリフォルニア州サンホーズのXlinix、若しくはカリフォルニア州アリソビエホのマイクロセミなどからのフィールドプログラムアレイ(「FPGAs」)などによって提供される。コンピューティングデバイス1300は、これらのプロセッサのいずれか、又は本明細書に記載されるように動作することができる他のプロセッサをベースとすることができる。CPU1321は、命令レベル並列処理、スレッドレベル並列処理、異なるレベルのキャッシュ、及びマルチコアプロセッサを利用することができる。マルチコアプロセッサは、単一のコンピューティングコンポーネント上に2つ以上の処理ユニットを含むことができる。マルチコアプロセッサの例としては、AMD PHENOM IIX2、INTEL CORE i5、INTEL CORE i7が含まれる。
メインメモリユニット1322は、データを記憶することができ、任意の記憶場所をマイクロプロセッサ1321によって直接アクセスすることができる1つ以上のメモリチップを含むことができる。メインメモリユニット1322は、ストレージ1328のメモリよりも揮発性で高速であることができる。メインメモリユニット1322は、動的ランダムアクセスメモリ(DRAM)又は静的ランダムアクセスメモリ(SRAM)、バーストSRAM若しくはシンクバーストSRAM(BSRAM)、高速ページモードDRAM(FPM DRAM)、拡張DRAM(EDRAM)、拡張データ出力RAM(EDO RAM)、拡張データ出力DRAM(EDO DRAM)、バースト拡張データ出力DRAM(BEDO DRAM)、シングルデータレート同期DRAM(SDR SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、ダイレクトラムバスDRAM(DRDRAM)、若しくはエクストリームデータレートDRAM(XDR DRAM)などの任意の変種とすることができる。いくつかの実施形態では、メインメモリ1322又はストレージ1328は、不揮発性であることができ、例えば、不揮発性リードアクセスメモリ(NVRAM)、フラッシュメモリ不揮発性スタティックRAM(nvSRAM)、強誘電体RAM(FeRAM)、磁気抵抗RAM(MRAM)、相変化メモリ(PRAM)、コンダクティブブリッジRAM(CBRAM)、シリコン-酸化物-窒化物-シリコン(SONOS)、抵抗RAM(RRAM)、レーストラック、ナノRAM(NRAM)、又はミリペードメモリである。メインメモリ1322は、上述したメモリチップのいずれかに基づくことができ、又は本明細書で説明するように動作することができる他の任意の利用可能なメモリチップに基づくことができる。図13Aに示す実施形態では、プロセッサ1321は、システムバス1350(以下でより詳細に説明する)を介してメインメモリ1322と通信を行う。図13Bは、プロセッサがメモリポート1303を介してメインメモリ1322と直接通信するコンピューティングデバイス1300の一実施形態を描いている。例えば、図13Bでは、メインメモリ1322は、DRDRAMとすることができる。
図13Bは、メインプロセッサ1321が、時にバックサイドバスと呼ばれる二次バスを介してキャッシュメモリ1340と直接通信する実施形態を示す。他の実施形態では、メインプロセッサ1321は、システムバス1350を使用してキャッシュメモリ1340と通信する。キャッシュメモリ1340は、基本的には、メインメモリ1322よりも高速な応答時間を有し、基本的には、SRAM、BSRAM、又はEDRAMによって提供される。図13Bに示す実施形態では、プロセッサ1321は、ローカルシステムバス1350を介して、様々なI/Oデバイス1330と通信を行う。CPU1321をI/Oデバイス1330のいずれかに接続するために、PCIバス、PCI-Xバス、又はPCI-Expressバス、又はNuBusを含む様々なバスを使用することができる。I/Oデバイスがビデオディスプレイ1324である実施形態については、プロセッサ1321は、ディスプレイ1324又はディスプレイ1324のためのI/Oコントローラ1323と通信するために、アドバンストグラフィックスポート(AGP)を使用することができる。図13Bは、メインプロセッサ1321が、HYPERTRANSPORT、RAPIDIO、又はINFINIBAND通信技術を介してI/Oデバイス1330b若しくは他のプロセッサ1321´と直接通信するコンピュータ1300の一実施形態を示す図である。また、図13Bは、プロセッサ1321がローカルインターコネクトバスを使用してI/Oデバイス1330aと通信する一方で、I/Oデバイス1330bと直接通信する混在した実施形態を示す図である。いくつかの実施形態では、プロセッサ1321は、処理ユニット1321に接続された様々なバスを介して、他のプロセッサ1321´、GPU、及びFPGAなどの他の処理デバイスと通信することができる。例えば、プロセッサ1321は、PCIバス、PCI-Xバス、又はPCI-Expressバス、又はNuBusなどの1つ以上の通信バスを介してGPUと通信することができる。
コンピューティングデバイス1300には、多種多様なI/Oデバイス1330a~1330nを存在させることができる。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、タッチパッド、タッチマウス、マルチタッチタッチパッド及びタッチマウス、マイク(アナログ又はMEMS)、マルチアレイマイク、描画タブレット、カメラ、一眼レフカメラ(SLR)、デジタル一眼レフ(DSLR)CMOSセンサ、CCD、加速度センサ、慣性計測ユニット、赤外線光学センサ、圧力センサ、地磁気センサ、角速度センサ、奥行きセンサ、近接センサ、環境光センサ、ジャイロセンサ、若しくはその他センサなどを含むことができる。出力デバイスは、ビデオディスプレイ、グラフィカルディスプレイ、スピーカー、ヘッドフォン、インクジェットプリンタ、レーザープリンタ、及び3Dプリンタを含むことができる。
デバイス1330a~1330nは、例えば、Microsoft KINECT、WII用任天堂Wiimote、任天堂WII U GAMEPAD、又はApple IPHONEを含む、複数の入力若しくは出力デバイスの組合せを含むことが可能である。一部のデバイス1330a~1330nは、入力と出力の一部を組み合わせることによって、ジェスチャー認識入力を可能にする。いくつかのデバイス1330a~1330nは、認証及び他のコマンドを含む異なる目的のための入力として利用することができる顔認識を提供する。いくつかのデバイス1330a~1330nは、例えば、Microsoft KINECT、AppleによるIPHONE用のSIRI、Google NowまたはGoogle音声検索を含む、音声認識及び入力を提供する。
追加のデバイス1330a~1330nは、例えば、触覚フィードバックデバイス、タッチスクリーンディスプレイ、又はマルチタッチディスプレイを含む、入力及び出力の両方の能力を有する。タッチスクリーン、マルチタッチディスプレイ、タッチパッド、タッチマウス、又は他のタッチ感知デバイスは、例えば、容量性、表面容量性、投影容量性タッチ(PCT)、インセル容量性、抵抗性、赤外線、導波管、分散信号タッチ(DST)、インセル光学、表面音響波(SAW)、屈曲波タッチ(BWT)、又は力ベースの感知技術など、タッチ感知に異なる技術を使用することができる。マルチタッチデバイスの中には、表面との接触点が2つ以上あるものもあり、ピンチ、スプレッド、回転、スクロールなどのジェスチャーを含む高度な機能を可能にするものもある。例えば、Microsoft PIXELSENSE又はマルチタッチコラボレーションウォールを含むいくつかのタッチスクリーンデバイスは、テーブルトップ上若しくは壁など、より大きな表面を有することができ、他の電子デバイスと相互作用することもできる。いくつかのI/Oデバイス1330a~1330n、ディスプレイデバイス1324a~1324n又はデバイスのグループは、拡張現実デバイスとすることができる。I/Oデバイスは、図13Aに示されるように、I/Oコントローラ1321によって制御することができる。I/Oコントローラ1321は、例えば、キーボード126及びポインティングデバイス1327、例えば、マウス又は光学ペンなどの、1つ以上のI/Oデバイスを制御することができる。さらに、I/Oデバイスは、コンピューティングデバイス1300のためのストレージ及び/又はインストール媒体116を提供することも可能である。さらに他の実施形態では、コンピューティングデバイス1300は、ハンドヘルドUSBストレージデバイスを受け取るために、USB接続(図示せず)を提供することができる。さらなる実施形態では、I/Oデバイス1330は、システムバス1350と外部通信バス、例えばUSBバス、SCSIバス、FireWireバス、イーサネットバス、ギガビットイーサネットバス、ファイバチャネルバス、又はThunderboltバスとの間のブリッジとすることができる。
いくつかの実施形態では、ディスプレイデバイス1324a~1324nは、I/Oコントローラ1321に接続することができる。ディスプレイデバイスは、例えば、液晶ディスプレイ(LCD)、薄膜トランジスタLCD(TFT-LCD)、ブルーフェーズLCD、電子ペーパー(Eインク)ディスプレイ、フレキシルディスプレイ、発光ダイオードディスプレイ(LED)、デジタル光処理(DLP)ディスプレイ、シリコン上の液晶(LCOS)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス有機発光ダイオード(AMOLED)ディスプレイ、液晶レーザディスプレイ、時間多重光学シャッター(TMOS)ディスプレイ、又は3Dディスプレイなどを含むことができる。3Dディスプレイの例は、例えば、ステレオスコピー、偏光フィルタ、アクティブシャッター、又はオートステレオスコピーを使用することができる。ディスプレイデバイス1324a~1324nはまた、ヘッドマウントディスプレイ(HMD)であってもよい。いくつかの実施形態では、ディスプレイデバイス1324a~1324n又は対応するI/Oコントローラ1323は、OPENGL若しくはDIRECTX API若しくは他のグラフィックスライブラリを通して制御することができるか、若しくはそれらのハードウェアサポートを有することができる。
いくつかの実施形態では、コンピューティングデバイス1300は、複数のディスプレイデバイス1324a~1324nを含むか、又はそれに接続することができ、これらのディスプレイデバイスはそれぞれ、同じ若しくは異なるタイプ及び/若しくは形態であることができる。このように、I/Oデバイス1330a~1330n及び/又はI/Oコントローラ1323のいずれかは、コンピューティングデバイス1300による複数のディスプレイデバイス1324a~1324nの接続並びに使用をサポート、有効化若しくは提供するために、適切なハードウェア、ソフトウェア、若しくはハードウェアとソフトウェアの組み合わせの任意のタイプ並びに/若しくはフォームを含むことが可能である。例えば、コンピューティングデバイス1300は、ディスプレイデバイス1324a~1324nをインターフェース、通信、接続、又はその他の方法で使用するために、ビデオアダプタ、ビデオカード、ドライバ、及び/若しくはライブラリの任意のタイプ並びに/若しくはフォームを含むことが可能である。一実施形態では、ビデオアダプタは、複数のディスプレイデバイス1324a~1324nにインターフェースするために、複数のコネクタを含むことができる。他の実施形態では、コンピューティングデバイス1300は、複数のビデオアダプタを含むことができ、各ビデオアダプタは、1つ以上のディスプレイデバイス1324a~1324nに接続される。いくつかの実施形態では、コンピューティングデバイス1300のオペレーティングシステムの任意の部分は、複数のディスプレイ1324a~1324nを使用するために構成することができる。他の実施形態では、ディスプレイデバイス1324a~1324nのうちの1つ以上は、ネットワーク1340を介して、コンピューティングデバイス1300に接続された1つ以上の他のコンピューティングデバイス1300a又は1300bによって提供することができる。いくつかの実施形態では、コンピューティングデバイス1300のための第2のディスプレイデバイス1324aとして他のコンピュータのディスプレイデバイスを使用するように、ソフトウェアを設計及び構築することができる。例えば、一実施形態では、Apple iPadは、コンピューティングデバイス1300に接続し、デバイス1300のディスプレイを拡張デスクトップとして使用できる追加のディスプレイ画面として使用することができる。当業者であれば、コンピューティングデバイス1300が複数のディスプレイデバイス1324a~1324nを有するように構成することができる様々な方法及び実施形態を認識し、理解するであろう。
再び図13Aを参照すると、コンピューティングデバイス1300は、オペレーティングシステム又は他の関連ソフトウェアを格納するため、及びシステム200用のソフトウェアに関連する任意のプログラムなどのアプリケーションソフトウェアプログラムを格納するためのストレージデバイス1328(例えば、1つ以上のハードディスクドライブまたは独立ディスクの冗長アレイ)を構成することができる。ストレージデバイス1328の例としては、例えば、ハードディスクドライブ(HDD)、CDドライブ、DVDドライブ、又はBLU-RAYドライブを含む光学ドライブ、ソリッドステートドライブ(SSD)、USBフラッシュドライブ、若しくはデータを記憶するのに適した任意の他のデバイスが含まれる。いくつかのストレージデバイスは、例えば、ハードディスクとソリッドステートキャッシュを組み合わせたソリッドステートハイブリッドドライブを含む、複数の揮発性及び不揮発性のメモリを含むことができる。いくつかのストレージデバイス1328は、不揮発性、変更可能、又は読み取り専用とすることができる。いくつかのストレージデバイス1328は、内部であり、バス1350を介してコンピューティングデバイス1300に接続することができる。いくつかのストレージデバイス1328は、外部であり、外部バスを提供するI/Oデバイス1330を介してコンピューティングデバイス1300に接続することができる。いくつかのストレージデバイス1328は、例えば、AppleによるMACBOOK AIR用のリモートディスクを含む、ネットワークを介してネットワークインターフェース1318を介してコンピューティングデバイス1300に接続することができる。いくつかのクライアントデバイス1300は、不揮発性ストレージデバイス1328を必要とせず、シンクライアント又はゼロクライアント202とすることができる。いくつかのストレージデバイス1328は、インストールデバイス1316としても使用することができ、ソフトウェア及びプログラムをインストールするのに適したものとすることができる。さらに、オペレーティングシステム及びソフトウェアは、ブータブル媒体、例えば、ブータブルCD、例えば、knoppix.netからGNU/Linuxディストリビューションとして入手できるGNU/Linux用のブータブルCDであるKNOPPIXから実行することができる。
コンピューティングデバイス1300は、アプリケーション配布プラットフォームからソフトウェア又はアプリケーションをインストールすることも可能である。アプリケーション配布プラットフォームの例としては、Apple社が提供するiOS用のApp Store、Apple社が提供するMac App Store、Google社が提供するAndroid OS用のGOOGLE PLAY、Google社が提供するCHROME OS用のChrome Webstore、Amazon.com社が提供するAndroid OS及びKINDLE FIRE用のAmazon AppStoreが含まれる。
さらに、コンピューティングデバイス1300は、標準電話回線LAN又はWANリンク(例えば、802.11、T1、T3、ギガビットイーサネット、Infiniband)、ブロードバンド接続(例えば、ISDN、フレームリレー、ATM、ギガビットイーサネット、イーサネット-オーバー-ソネット、ADSL、VDSL、BPON、GPON、FiOSなどの光ファイバ)、無線接続若しくは上記のいずれか若しくは全ての組み合わせを含むが、それだけに限らない多様な接続を介してネットワーク1340にインターフェース接続するネットワークインターフェース1318を含むことが可能である。接続は、様々な通信プロトコル(例えば、TCP/IP、イーサネット、ARCNET、SONET、SDH、ファイバ分散データインターフェース(FDDI)、IEEE 802.11a/b/g/n/ac CDMA、GSM、WiMax及び直接非同期接続)を使用して確立することが可能である。一実施形態では、コンピューティングデバイス1300は、ゲートウェイ又はトンネリングプロトコル例えばSSL(Secure Socket Layer)若しくはTLS(Transport Layer Security)、若しくはフロリダ州フォートローダーデールのCitrix Systems社製のCitrix Gateway Protocolの任意のタイプ及び/若しくは形式を介して他のコンピューティングデバイス1300´と通信を行う。ネットワークインターフェース1318は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、EXPRESSCARDネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、又はコンピューティングデバイス1300を通信可能かつ本書に記載の動作を実施する任意のタイプのネットワークにインターフェース接続するために適した任意の他のデバイスを備えることができる。
図13Aに描かれた種類のコンピューティングデバイス1300は、タスクのスケジューリング及びシステムリソースへのアクセスを制御するオペレーティングシステムの制御下で動作することができる。コンピューティングデバイス1300は、MICROSOFT WINDOWSオペレーティングシステムのいずれかのバージョン、Unix及びLinuxオペレーティングシステムの異なるリリース、Macintoshコンピュータ用のMAC OSのいずれかのバージョン、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意の専有オペレーティングシステム、モバイルコンピューティングデバイス用の任意なオペレーティングシステム、又はコンピューティングデバイス上で実行可能でかつ本明細書に記載のオペレーションを実施する他の任意のオペレーティングシステムなど任意のオペレーションシステムを実施することが可能である。代表的なオペレーティングシステムには、以下のものが含まれるが、これらに限定されるものではない。ワシントン州レドモンドのMicrosoft社によって製造されているWINDOWS 7000、WINDOWS Server 2012、WINDOWS CE、WINDOWS Phone、WINDOWS XP、WINDOWS VISTA、及びWINDOWS 7、WINDOWS RT、並びにWINDOWS 8、カリフォルニア州クパチーノのApple社によって製造されているMAC OS及びiOS、並びに英国ロンドンのCanonical社が配布するLinux Mintディストリビューション(「ディストロ」)若しくはUbuntuなどの自由に利用できるOSであるLinux、Unix若しくはその他のUnix系派生オペレーティングシステム、並びにカリフォルニア州マウンテンビューのGoogleが設計するAndroidなどである。例えば、GoogleによるCHROME OSを含むいくつかのオペレーティングシステムは、例えば、CHROMEBOOKSを含むゼロクライアント又はシンクライアント上で使用することができる。
コンピュータシステム1300は、任意のワークステーション、電話、デスクトップコンピュータ、ラップトップ又はノートブックコンピュータ、ネットブック、ULTRABOOK、タブレット、サーバ、ハンドヘルドコンピュータ、携帯電話、スマートフォン若しくは他の携帯通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、若しくは通信可能な任意の他のタイプ並びに/若しくは形態のコンピュータ、テレコミュニケーション若しくはメディアデバイスとすることができる。コンピュータシステム1300は、本明細書に記載された動作を実施するのに十分なプロセッサパワー及びメモリ容量を有する。いくつかの実施形態では、コンピューティングデバイス1300は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有することができる。サムスンGALAXYスマートフォンは、例えば、Google社によって開発されたAndroidオペレーティングシステムの制御下で動作する。GALAXYスマートフォンは、タッチインターフェースを介して入力を受け取る。
いくつかの実施形態において、コンピューティングデバイス1300は、ゲームシステムである。例えば、コンピュータシステム1300は、日本の東京都のソニー株式会社によって製造されたPLAYSTATION 3、若しくはPSP(PERSONAL PLAYSTATION PORTABLE)、若しくはPLAYSTATION VITAデバイス、日本の京都府の任天堂株式会社によって製造された任天堂DS、任天堂3DS、任天堂WII、若しくは任天堂WII Uデバイス、ワシントン州レッドモンドのMicrosoft社が製造するXBOX 360、又はカリフォルニア州メンロパークのOCULUS VR社が製造するOCULUS RIFT若しくはOCULUS VRを含むことができる。
いくつかの実施形態では、コンピューティングデバイス1300は、カリフォルニア州クパチーノのApple社によって製造されたデバイスのApple IPOD、IPOD Touch、及びIPOD NANOラインなどのデジタルオーディオプレーヤである。いくつかのデジタルオーディオプレーヤは、例えば、ゲームシステム、又はデジタルアプリケーション配布プラットフォームからのアプリケーションによって利用可能になる任意の機能を含む、他の機能性を有することができる。例えば、IPOD Touchは、Apple App Storeにアクセスすることができる。いくつかの実施形態では、コンピューティングデバイス1300は、MP3、WAV、M4A/AAC、WMA保護AAC、AIFF、Audible audiobook、Apple Losslessオーディオファイル形式及びmov、m4v、mp4 MPEG-4(H.264/MPEG-4 AVC)ビデオファイル形式など(ただしこれだけに限らない)を含むファイル形式をサポートする携帯メディアプレーヤー又はデジタルオーディオ再生機である。
いくつかの実施形態では、コンピューティングデバイス1300は、タブレット例えば、AppleによるデバイスのIPADライン、サムスンによるデバイスのGALAXY TABファミリー、又はワシントン州シアトルのAmazon社によるKINDLE FIREなどである。他の実施形態では、コンピューティングデバイス1300は、電子ブックリーダー、例えば、Amazon社によるデバイスのKINDLEファミリー、又はニューヨーク州ニューヨーク市のBarnes & Noble社によるデバイスのNOOKファミリーである。
いくつかの実施形態では、通信デバイス1300は、デバイスの組み合わせ、例えば、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされたスマートフォンを含む。例えば、これらの実施形態の1つは、スマートフォン、例えば、Apple社製のスマートフォンのIPHONEファミリー、Samsung社製のスマートフォンのSamsung GALAXYファミリー、又はスマートフォンのMotorola DROIDファミリーである。さらに別の実施形態では、通信デバイス1300は、ウェブブラウザと、マイク及びスピーカシステム、例えばテレフォニーヘッドセットとを備えたラップトップ又はデスクトップコンピュータである。これらの実施形態において、通信デバイス1300は、ウェブ対応であり、電話を受信し、開始することができる。いくつかの実施形態では、ラップトップ又はデスクトップコンピュータはまた、ビデオチャット及びビデオ通話を可能にするウェブカメラ又は他のビデオキャプチャデバイスを備えている。
いくつかの実施形態では、ネットワーク内の1つ以上のマシン1300のステータスは、一般にネットワーク管理の一部として、監視される。これらの実施形態の1つでは、マシンのステータスは、負荷情報(例えば、マシン上のプロセスの数、CPU及びメモリ使用率)、ポート情報(例えば、利用可能な通信ポートの数及びポートアドレス)、又はセッションステータス(例えば、プロセスの期間及びタイプ、並びにプロセスがアクティブかアイドルか)の特定を含むことができる。これらの実施形態の別のものでは、この情報は、複数のメトリクスによって特定することができ、複数のメトリクスは、本明細書に記載される本ソリューションのオペレーションの任意の態様と同様に、負荷分散、ネットワークトラフィック管理、及びネットワーク障害回復における決定に向けて少なくとも部分的に適用することができる。上述した動作環境及び構成要素の態様は、本明細書に開示されるシステム並びに方法の文脈で明らかになるであろう。
本明細書に記載された主題及び動作の実装は、デジタル電子回路で、又は有形媒体、ファームウェア、若しくはハードウェア上に具現化されたコンピュータソフトウェアで、本明細書に開示された構造並びにそれらの構造的等価物を含む、又はそれらの1以上の組み合わせで実装することが可能である。本明細書に記載された主題の実装は、データ処理装置による実行、又はデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化された1つ以上のコンピュータプログラム、例えば、コンピュータプログラム命令の1つ以上の構成要素として実装することができる。プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理デバイスによる実行のために適切な受信装置に送信するための情報を符号化するために生成される機械生成電気信号、光学信号、又は電磁信号に符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダム又はシリアルアクセスメモリアレイ若しくはデバイス、若しくはそれらの1つ以上の組合せとすることができ、若しくはそれらに含まれることができる。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号で符号化されたコンピュータプログラム命令のソース又は宛先を含むことができる。また、コンピュータ記憶媒体は、1つ以上の別個の物理的構成要素又は媒体(例えば、複数のCD、ディスク、若しくは他の記憶デバイス)であるか、若しくはそれらに含まれることも可能である。
本明細書に記載された動作は、1つ以上のコンピュータ可読記憶デバイスに記憶された、又は他のソースから受信したデータに対してデータ処理装置が実施する動作として実装することができる。
データ処理装置」、「データ処理システム」、「クライアントデバイス」、「計算プラットフォーム」、「コンピューティングデバイス」、又は「デバイス」という用語は、一例として、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、若しくは前述の複数のもの、若しくは組み合わせを含むデータを処理するすべての種類の装置、デバイス、及びマシンを包含している。装置は、特別な目的の論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を構築するコード、例えば、プロセッサ・ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行環境、仮想マシン、又はそれらの1つ以上の組合せを構成するコードも含むことができる。本装置及び実行環境は、Webサービス、分散コンピューティング、グリッドコンピューティング基盤など、様々な異なるコンピューティングモデル基盤を実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとも呼ばれる)は、コンパイル言語又はインタプリタ言語、宣言型言語若しくは手続き型言語を含む任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、若しくはモジュール、コンポーネント、サブルーチン、オブジェクト、若しくはコンピューティング環境での使用に適した他のユニットとしてなど任意の形式でデプロイすることができる。コンピュータプログラムは、そうである必要はないが、ファイルシステム内のファイルに対応することができる。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)を保持するファイルの一部、当該プログラム専用の単一のファイル、若しくは複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、若しくはコードの一部を格納するファイル)に格納することが可能である。コンピュータプログラムは、1台のコンピュータで実行されるようにデプロイする、又は1つ以上のサイトに分散して配置され通信ネットワークによって相互接続されている複数のコンピュータで実行されるようにデプロイすることができる。
本明細書に記載されたプロセス及び論理フローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施され、入力データに作用して出力を生成することによってアクションを実施することが可能である。プロセス及び論理フローはまた、特別な目的の論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)によって実施することができ、装置はまた、そのように実装することもできる。
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用並びに特殊目的のマイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリ若しくはその両方から命令及びデータを受信する。コンピュータの要素は、命令に従って動作を実施するためのプロセッサ、及び命令並びにデータを格納するための1つ以上のメモリデバイスを含む。一般的に、コンピュータは、データを格納するための1つ以上の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、又は光ディスクからデータを受信するか、若しくはその両方にデータを転送するように動作可能に結合されるか、若しくはその両方を含むことになる。しかし、コンピュータは、そのようなデバイスを持つ必要はない。さらに、コンピュータは、例えば、携帯電話、パーソナルデジタルアシスタント(PDA)、携帯オーディオ若しくはビデオプレーヤー、ゲーム機、全地球測位システム(GPS)受信機、又は携帯ストレージデバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別のデバイスに組み込むことが可能である。コンピュータプログラム命令及びデータを格納するのに適したデバイスは、例として、半導体メモリデバイス、例えばEPROM、EEPROM、並びにフラッシュメモリデバイス、磁気ディスク、例えば内蔵ハードディスク又はリムーバルディスク、光磁気ディスク、並びにCD-ROM並びにDVD-ROMディスクを含むあらゆる形態の不揮発メモリ、メディア並びにメモリデバイスを含んでいる。プロセッサ及びメモリは、特別な目的の論理回路によって補足され、又は組み込まれることができる。
ユーザーとの対話を提供するために、本明細書に記載の主題の実装は、ユーザーに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)、プラズマ、又はLCD(液晶ディスプレイ)モニタ、及びユーザーがコンピュータに入力を提供できるキーボード並びにポインティングデバイス、例えばマウス若しくはトラックボール、を有するコンピュータ上に実装することができる。また、他の種類のデバイスを使用して、ユーザーとの対話を提供することも可能であり、例えば、ユーザーに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意の形式の感覚的フィードバックを含むことができ、ユーザーからの入力は、音響、音声、若しくは触覚入力などの任意の形式で受け取ることができる。さらに、コンピュータは、ユーザーが使用するデバイスに文書を送信し、デバイスから文書を受信することによって、ユーザーと対話することができ、例えば、ウェブブラウザから受信したリクエストに応答して、ユーザーのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザーと対話することができる。
本明細書に記載される主題の実装は、バックエンド構成要素、例えばデータサーバとして、又はミドルウェア構成要素、例えばアプリケーションサーバを含むコンピューティングシステム、若しくはフロントエンド構成要素、例えば、ユーザーが本明細書に記載の主題の実装と対話することができるグラフィックユーザーインタフェース若しくはWebブラウザを有するクライアントコンピュータ、若しくは1つ以上のかかるバックエンド、ミドルウェア若しくはフロントエンド構成の任意の組み合わせにおいて実装することが可能である。システムの構成要素は、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、並びにピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が挙げられる。
本明細書は、多くの特定の実装の詳細を含むが、これらは、任意の発明の範囲又は請求できるものの制限として解釈されるべきではなく、むしろ、本明細書に記載されるシステム及び方法の特定の実装に特有の特徴の説明として解釈されるべきである。本明細書で個別の実装の文脈で説明されている特定の特徴は、単一の実装において組み合わせて実装することもできる。逆に、単一の実装の文脈で説明される様々な特徴は、複数の実装において別々に又は任意の適切な下位組み合わせで実装することも可能である。さらに、特徴は、特定の組み合わせで作用するものとして上記で説明され、当初はそのように主張されることさえあるが、主張された組み合わせからの1つ以上の特徴は、場合によっては組み合わせから切除され、主張された組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられることが可能である。
同様に、オペレーションは特定の順序で図面に描かれているが、これは、望ましい結果を達成するために、そのようなオペレーションを示された特定の順序で、又は順次実施すること、若しくは図示されたすべてのオペレーションを実施することを要求していると理解されるべきではない。場合によっては、特許請求の範囲に記載された動作は、異なる順序で実施することができ、それでも望ましい結果を達成することができる。さらに、添付の図に描かれた処理は、望ましい結果を達成するために、必ずしも示された特定の順序、又は順次的な順序を必要としない。
特定の状況下では、マルチタスク及び並列処理が有利になることがある。さらに、上述した実施態様における様々なシステム構成要素の分離は、すべての実施態様においてそのような分離を必要とすると理解すべきではなく、説明したプログラム構成要素及びシステムは、一般に単一のソフトウェア製品に一緒に統合でき、又は複数のソフトウェア製品にパッケージングできることが理解されるべきである。
さて、いくつかの例示的な実装及び実施例を説明したが、前述は例示的に提示されたものであり、限定的なものではないことは明らかである。とりわけ、本明細書に提示された例の多くは、方法行為またはシステム要素の特定の組み合わせを含むが、それらの行為及びそれらの要素は、同じ目的を達成するために他の方法で組み合わすことができる。1つの実装に関連してのみ論じられた行為、要素、及び特徴は、他の実装又は実施例における同様の役割を排除することを意図していない。
本明細書で使用される言い回し及び用語は、説明のためのものであり、限定的なものと見なしてはならない。本明細書における「含む(including)」「備える(comprising)」「有する(having)」「包含する(containing)」「伴う(involving)」「~によって特徴付けられる(characterized by)」「~ことを特徴とする(characterized in that)」及びそのバリエーションの使用は、その後に列挙した項目、その同等物、及び追加の項目、並びにその後に列挙した項目のみからなる代替実装を包含することを意図するものである。1つの実装では、本明細書に記載のシステム及び方法は、記載された要素、行為、又は構成要素の1つ、2つ以上の各組み合わせ、若しくはすべてから構成される。
単数形で言及される本明細書におけるシステム及び方法の実装又は要素若しくは行為へのいかなる言及も、これらの要素の複数を含む実装を包含することもでき、本明細書における任意の実装又は要素若しくは行為への複数形の言及は、単一の要素のみを含む実装を包含することもできる。単数形又は複数形の参照は、現在開示されているシステム又は方法、それらの構成要素、行為、若しくは要素を単一若しくは複数の構成に限定することを意図していない。任意の行為又は要素が任意の情報、行為又は要素に基づいていることへの言及は、行為若しくは要素が任意の情報、行為若しくは要素に少なくとも部分的に基づいている実装を含むことができる。
本明細書に開示された任意の実装は、他の任意の実装と組み合わせることができ、「或る実装(an implementation)」、「いくつかの実装(some implementation)」、「代替実装(an alternate implementation)」、「様々な実装(various implementation)」、「1つの実装(one implementation)」等への言及は、必ずしも相互に排他的ではなく、実装と関連して説明される特定の特徴、構造、又は特性が少なくとも1つの実装に含まれ得ることを示すことが意図されている。本明細書で使用されるそのような用語は、必ずしもすべてが同じ実装を指すわけではない。任意の実装は、本明細書に開示された態様及び実装と一致する任意の方法で、包括的又は排他的に、他の任意の実装と組み合わせることができる。
「又は(or)」への言及は、「又は」を用いて説明される任意の用語が、単一の、複数の、及び説明される用語のすべてを示すことができるように、包括的に解釈することができる。
図面、詳細な説明、又は請求項における技術的特徴の後に参照符号が続く場合、参照符号は、図面、詳細な説明、及び請求項の理解度を高めることのみを目的として含まれたものである。したがって、参照符号又はその不在は、いかなる請求項の要素の範囲にも制限的な影響を及ぼさない。
本明細書に記載されたシステム及び方法は、その特徴から逸脱することなく、他の具体的な形態で具現化することができる。提供された例は、3次元点群を異なる基準フレームに変換するのに有用であるが、本明細書に記載されたシステム及び方法は、他の環境にも適用することが可能である。前述の実施例は、説明されたシステム及び方法を限定するのではなく、例示するものである。したがって、本明細書に記載されたシステム及び方法の範囲は、前述の説明よりもむしろ添付の請求項によって示すことができ、請求項の意味並びに等性の範囲内に入る変更は、そこに包含される。

Claims (80)

  1. 方法であって、
    1つ以上のプロセッサによって、第1のポーズを有する第1のキャプチャデバイスによってキャプチャされた第1の点群のデータ点の第1のセット、及び前記第1のポーズとは異なる第2のポーズを有する第2のキャプチャデバイスによってキャプチャされた第2の点群のデータ点の第2のセットとにアクセスするステップと、
    前記1つ以上のプロセッサによって、前記データ点の第1のセットに基づいて基準フレームを選択するステップと、
    前記1つ以上のプロセッサによって、基準フレーム及びデータ点の第1のセットを使用して、前記データ点の第2のセットに対する変換データ構造を決定するステップと、
    前記1つ以上のプロセッサによって、前記変換データ構造、及び前記データ点の第2のセットを使用して、前記データ点の第2のセットを変換されたデータ点のセットに変換するステップと、
    を備える、方法。
  2. 請求項1に記載の方法であって、前記第1の点群の前記データ点の第1のセットにアクセスするステップは、
    前記1つ以上のプロセッサによって、前記第1のキャプチャデバイスから3次元(3D)画像データを受信するステップ、及び、
    前記1つ以上のプロセッサによって、前記3D画像データを使用して、前記第1のデータ点のセットを有するように前記第1の点群を生成するステップ、
    を含む、方法。
  3. 請求項1に記載の方法であって、前記第2のキャプチャデバイスは、前記第1のキャプチャデバイスと同一である、方法。
  4. 請求項1に記載の方法であって、前記基準フレームを選択するステップは、前記第1の点群の第1の基準フレームを前記第1の基準フレームとして選択するステップを含む、方法。
  5. 請求項1に記載の方法であって、基準フレームを選択するステップは、
    前記1つ以上のプロセッサによって、前記第1の点群の前記データ点の第1のセットの1つ以上に割り当てられたカラーデータを取得するステップ、及び
    前記1つ以上のプロセッサによって、前記カラーデータに基づいて前記基準フレームを決定するステップ、
    を含む、方法。
  6. 請求項1に記載の方法であって、前記変換データ構造を決定するステップは、位置の変化又は回転の変化を含むように前記変換データ構造を生成するステップを含む、方法。
  7. 請求項6に記載の方法であって、前記データ点の第2のセットを変換するステップは、前記1つ以上のプロセッサによって、前記位置の変化又は前記回転の変化を前記データ点の第2のセットにおける少なくとも1つのデータ点に適用して、変換されたデータ点のセットを生成するステップを含む、方法。
  8. 請求項1に記載の方法であって、さらに、前記1つ以上のプロセッサによって、前記第1のデータ点のセット、及び前記変換されたデータ点のセットを含む結合されたデータ点のセットの表示情報を生成するステップを備える、方法。
  9. 請求項1に記載の方法であって、さらに、
    前記1つ以上のプロセッサによって、前記データ点の第1のセット又は前記データ点の第2のセットのうち少なくとも一方をダウンサンプリングするステップと、
    前記1つ以上のプロセッサによって、前記第1のデータ点又は前記第2のデータ点のうち少なくとも一方をダウンサンプリングすることに応答して、前記変換データ構造を決定するステップと、
    を備える、方法。
  10. 請求項1に記載の方法であって、前記データ点の第2のセットを変換するステップは、前記1つ以上のプロセッサによって、前記データ点の第1のセットのうち少なくとも1つの第1のポイントを、前記データ点の第2のセットのうち少なくとも1つの第2のポイントにマッチングさせるステップを含む、方法。
  11. システムであって、
    機械可読命令によって以下のステップを行うよう構成される1つ以上のプロセッサであり、すなわち、
    第1のポーズを有する第1のキャプチャデバイスによってキャプチャされた第1の点群のデータ点の第1のセット、及び前記第1のポーズとは異なる第2のポーズを有する第2のキャプチャデバイスによってキャプチャされた第2の点群のデータ点の第2のセットにアクセスするステップと、
    前記データ点の第1のセットに基づいて基準フレームを選択するステップと、
    前記基準フレーム及び前記データ点の第1のセットを使用して、前記データ点の第2のセットに対する変換データ構造を決定するステップと、及び
    前記変換データ構造及び前記データ点の第2のセットを使用して、前記データ点の第2のセットを変換されたデータ点のセットに変換するステップと、
    を行うよう構成される、該1つ以上のプロセッサを備える、システム。
  12. 前請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、以下のステップ、すなわち、
    前記第1のキャプチャデバイスから3次元(3D)画像データを受信するステップと、及び、
    前記第1のキャプチャデバイスから前記3D画像データを使用して、前記第1のデータ点のセットを有するように前記第1の点群を生成するステップと、
    を行うよう構成される、システム。
  13. 請求項11に記載のシステムであって、前記第2のキャプチャデバイスは、前記第1のキャプチャデバイスと同一である、システム。
  14. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の点群の第1の基準フレームを前記第1の基準フレームとして選択するステップを行うよう構成される、システム。
  15. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記第1の点群の前記データ点の第1のセットの1つ以上に割り当てられたカラーデータを取得するステップと、及び
    前記カラーデータに基づいて前記基準フレームを決定するステップと、
    を行うよう構成される、システム。
  16. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、位置の変化又は回転の変化を含むように前記変換データ構造を生成するステップを行うよう構成される、システム。
  17. 請求項16に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記位置の変化又は前記回転の変化を前記データ点の第2のセットの少なくとも1つのデータ点に適用して、変換されたデータ点のセットを生成するステップを行うよう構成される、システム。
  18. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1のデータ点のセット、及び前記変換されたデータ点のセットを含む結合されたデータ点のセットの表示情報を生成するステップを行うよう構成される、システム。
  19. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械読み取り可能な命令によって、以下のステップ、すなわち、
    前記データ点の第1のセット又は前記データ点の第2のセットのうち少なくとも一方をダウンサンプリングするステップと、及び
    前記第1のデータ点又は前記第2のデータ点のうち少なくとも一方をダウンサンプリングするステップに応答して、前記変換データ構造を決定するステップと、
    を行うよう構成される、システム。
  20. 請求項11に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記データ点の第1のセットにおける少なくとも1つの第1のポイントを前記データ点の第2のセットにおける少なくとも1つの第2のポイントにマッチングさせるステップを行うよう構成される、システム。
  21. 方法であって、
    1つ以上のプロセッサによって、オブジェクトの表面を表す点群に対応するデータ点のセットにアクセスするステップと、
    前記1つ以上のプロセッサによって、前記データ点のセットにレスポンス関数を適用して、前記データ点のセットにそれぞれのレスポンス値のセットを割り当てるステップと、
    選択ポリシー及びレスポンス値のセットを使用して、前記データ点のセットのサブセットを選択するステップと、及び
    前記1つ以上のプロセッサによって、前記データ点のセットの前記サブセットを含むデータ構造を生成するステップと、
    を備える、方法。
  22. 請求項21に記載の方法であって、前記レスポンス関数は、グラフデータ構造を入力として取り入れ、前記レスポンス値のそれぞれのセットを出力として提供する、方法。
  23. 請求項21に記載の方法であって、前記レスポンス関数を前記データ点のセットに適用するステップは、
    前記1つ以上のプロセッサによって、前記オブジェクトの前記表面を表す前記点群に対応する前記データ点のセットを使用してグラフデータ構造を生成するステップと、及び
    前記1つ以上のプロセッサによって、前記レスポンス関数の一部として、グラフフィルタを決定するステップと、
    を含む、方法。
  24. 請求項23に記載の方法であって、前記グラフフィルタを決定するステップは、
    前記1つ以上のプロセッサによって、前記データ点のセットを使用してk次元の二分木を生成するステップと、及び
    前記1つ以上のプロセッサによって、前記k次元の二分木を使用して前記グラフフィルタを生成するステップと、
    を含む、方法。
  25. 請求項23に記載の方法であって、前記グラフフィルタを決定するステップは、前記データ点のセットのデータ点の対の間におけるユークリッド距離を使用して前記グラフフィルタを生成するステップを含む、方法。
  26. 請求項25に記載の方法であって、前記データ点のセットにおける前記データ点の対間の前記ユークリッド距離を使用して前記グラフフィルタを生成するステップは、さらに、前記データ点のセットにおける前記データ点の対の少なくとも1つのカラーチャンネルに基づく、方法。
  27. 請求項26に記載の方法であって、前記グラフフィルタを生成するステップは、
    前記データ点のセットの明度パラメータを特定するステップと、及び
    前記1つ以上のプロセッサによって、前記データ点のセットにおける前記データ点の対の前記少なくとも1つのカラーチャンネルに基づいて、前記グラフフィルタを生成するか否かを、決定するステップと、
    を含む、方法。
  28. 請求項21に記載の方法であって、前記データ点のセットの前記サブセットを選択するステップは、前記1つ以上のプロセッサによって、前記レスポンス値のセットの各レスポンス値を重みとして使用して加重ランダム選択を実施するステップを含む、方法。
  29. 請求項21に記載の方法であって、選択ポリシーは、前記オブジェクトの前記表面上の1つ以上の輪郭に対応する前記データ点のサブセットを選択するように構成される、方法。
  30. 請求項21に記載の方法であって、さらに、前記1つ以上のプロセッサによって、前記データ点のセットにおける前記サブセットを含む前記データ構造をメモリに格納するステップを備える、方法。
  31. システムであって、
    機械可読命令によって以下のステップを行うよう構成される1つ以上のプロセッサであり、すなわち、
    オブジェクトの表面を表す点群に対応するデータ点のセットにアクセスするステップと、
    前記データ点のセットにレスポンス関数を適用して、前記データ点のセットにそれぞれのレスポンス値のセットを割り当てるステップと、
    選択ポリシー及び前記レスポンス値のセットを使用して、前記データ点のセットのサブセットを選択するステップと、及び
    前記データ点のセットの前記サブセットを含むデータ構造を生成するステップと、
    を行うよう構成される、該1つ以上のプロセッサを備える、システム。
  32. 請求項31に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    少なくとも1つのキャプチャデバイスから3次元(3D)画像データを受信するステップと、及び、
    前記3D画像データを使用して、前記オブジェクトの前記表面を表す前記点群を生成するステップと、
    を行うよう構成される、システム。
  33. 請求項31に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記オブジェクトの前記表面を表す前記点群に対応する前記データ点のセットを使用して、グラフデータ構造を生成するステップと、及び、
    前記レスポンス関数の一部としてグラフフィルタを決定するステップと、
    を行うよう構成される、システム。
  34. 請求項33に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記データ点のセットを使用してk次元の二分木を生成するステップと、及び
    前記k次元の二分木を使用して前記グラフフィルタを生成するステップと、
    を行うよう構成される、システム。
  35. 請求項33記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記データ点のセットにおけるデータ点の対の間のユークリッド距離を使用して前記グラフフィルタを生成するステップを行うよう構成される、システム。
  36. 請求項35記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記データ点のセットにおける前記データ点の対の少なくとも1つのカラーチャンネルに基づいて前記グラフフィルタを生成するステップを行うよう構成される、システム。
  37. 請求項36に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記データ点のセットの明度パラメータを特定するステップと、及び
    前記データ点のセットにおける前記データ点の対の前記少なくとも1つのカラーチャンネルに基づいて、前記グラフフィルタを生成するか否かを、決定するステップと、
    を行うよう構成される、システム。
  38. 請求項31記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記レスポンス値のセットの各レスポンス値を重みとして使用する加重ランダム選択を実施するステップを行うよう構成される、システム。
  39. 請求項31記載のシステムであって、前記1つ以上のプロセッサは、機械可読命令によって、前記オブジェクトの前記表面上における1つ以上の輪郭に対応する前記データ点の前記サブセットを選択するステップを行うよう構成される、システム。
  40. 請求項31記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記データ点のセットにおける前記サブセットを含む前記データ構造をメモリに格納するステップを行うよう構成される、システム。
  41. 方法であって、
    1つ以上のプロセッサによって、第1のメモリを有する第1の処理デバイス、及び第2のメモリを有する第2のマルチプロセッサデバイスを特定するステップと、
    前記1つ以上のプロセッサによって、第1の点群に対する第1の処理ジョブを特定するステップと、
    前記1つ以上のプロセッサによって、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップと、
    前記1つ以上のプロセッサによって、前記第1の点群を含む前記第1の処理ジョブの情報を前記第2のメモリに割り振るステップと、
    1つ以上のプロセッサによって、前記第2の点群に対する第2の処理ジョブを特定するステップと、
    前記1つ以上のプロセッサによって、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップと、
    前記1つ以上のプロセッサによって、前記第1の点群を含む前記第2の処理ジョブの情報を前記第1のメモリに割り振るステップと、
    前記1つ以上のプロセッサによって、前記第2のマルチプロセッサデバイスに対して前記第1の処理ジョブを実行させるための第1の命令を、前記第2のマルチプロセッサデバイスに転送し、前記第1の命令は、前記第2のマルチプロセッサデバイスに対して固有のものである、ステップと、及び
    前記1つ以上のプロセッサによって、前記第1の処理デバイスに対して前記第2の処理ジョブを実行させるための第2の命令を、前記第1の処理デバイスに転送し、前記第2の命令は、前記第1の処理デバイスに対して固有のものである、ステップと、
    を備える、方法。
  42. 請求項41に記載の方法であって、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップは、前記1つ以上のプロセッサによって、前記第1の処理ジョブが前記第1の点群における特徴検出のための演算を含むことを決定するステップを含む、方法。
  43. 請求項41に記載の方法であって、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップは、さらに、前記第1の点群のデータ点の数が所定の閾値未満であること、前記第2のマルチプロセッサデバイスの利用量が所定の閾値未満であること、又は前記第1のジョブの処理複雑度が複雑度閾値を超えることのうち少なくとも1つに基づく、方法。
  44. 請求項41に記載の方法であって、前記第1の点群に対する前記第1の処理ジョブを特定するステップは、前記第1の点群を第1のキャプチャデバイスから受信するステップを含む、方法。
  45. 請求項41に記載の方法であって、前記第2の点群に対する前記第2の処理ジョブを特定するステップは、前記第1の点群に対する前記第1の処理ジョブを特定するステップに応答するものである、方法。
  46. 請求項41に記載の方法であって、前記第1の処理ジョブ又は前記第2の処理ジョブは、ダウンサンプリング演算、正規化演算、特徴検出演算、輪郭検出演算、位置合わせ演算、又はレンダリング演算のうちの少なくとも1つを含む、方法。
  47. 請求項41に記載の方法であって、前記第2の点群は、キャプチャデバイスからキャプチャされた画像又は3D医用画像のうちの少なくとも一方から抽出される、方法。
  48. 請求項41に記載の方法であって、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップは、前記1つ以上のプロセッサによって、前記第2の点群を3D医用画像から抽出することを決定するステップに応答するものである、方法。
  49. 請求項41に記載の方法であって、前記第1の処理ジョブは第1の優先値と関連付けられ、また前記第2の処理ジョブは第2の優先値と関連付けられ、及び方法は、さらに、
    前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定する決定ステップであって、前記1つ以上のプロセッサによって、前記第1の優先値が前記第2の優先値よりも大きいと決定することに応答するものである、該決定ステップを備える、方法。
  50. 請求項49に記載の方法であって、前記第1の優先値は、前記第1の処理ジョブが実施される第1の頻度に基づいており、前記第2の優先値は、前記第2の処理ジョブが実施される第2の頻度に基づいている、方法。
  51. システムであって、
    機械可読命令によって以下のステップを行うよう構成される1つ以上のプロセッサであり、すなわち、
    第1のメモリを有する第1の処理デバイス、及び第2のメモリを有する第2のマルチプロセッサデバイスを特定するステップと、
    第1の点群に対する第1の処理ジョブを特定するステップと、
    前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定するステップと、
    前記第1の点群を含む前記第1の処理ジョブの情報を前記第2のメモリに割り振るステップと、
    前記第2の点群に対する第2の処理ジョブを特定するステップと、
    前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するステップと、
    前記第2の処理ジョブの情報を前記第1のメモリに割り振るステップと、
    前記1つ以上のプロセッサによって、前記第2のマルチプロセッサデバイスに対して前記第1の処理ジョブを実施させるための第1の命令を、前記第2のマルチプロセッサデバイスに転送し、前記第1の命令は、前記第2のマルチプロセッサデバイスに対して固有のものであるステップと、
    前記1つ以上のプロセッサによって、前記第1の処理デバイスに対して前記第2の処理ジョブを実施させるための第2の命令を、前記第1の処理デバイスに転送し、前記第2の命令は、前記第1の処理デバイスに対して固有のものであるステップと、
    を行うよう構成される、該1つ以上のプロセッサを備える、システム。
  52. 請求項51に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の処理ジョブが前記第1の点群における特徴検出のための演算を含むことを決定するように構成される、システム。
  53. 請求項51に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の処理ジョブを前記第2のマルチプロセッサデバイスに割り当てることを決定することが、前記第1の点群のデータ点の数が所定の閾値未満であること、前記第2のマルチプロセッサデバイスの利用量が所定の閾値未満であること、又は前記第1のジョブの処理複雑度が複雑度閾値を超えることのうち少なくとも1つに基づくように構成される、システム。
  54. 請求項51に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の点群を第1のキャプチャデバイスから受信するように構成される、システム。
  55. 請求項51に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の点群に対する前記第1の処理ジョブを特定することに応答して、前記第2の点群に対する前記第2の処理ジョブを特定するように構成される、システム。
  56. 請求項51に記載のシステムであって、前記第1の処理ジョブ又は前記第2の処理ジョブは、ダウンサンプリング演算、正規化演算、特徴検出演算、輪郭検出演算、位置合わせ演算、又はレンダリング演算のうちの少なくとも1つを含む、システム。
  57. 請求項51に記載のシステムであって、前記第2の点群は、キャプチャデバイスからキャプチャされた画像又は3D医用画像のうちの少なくとも一方から抽出される、システム。
  58. 請求項51に記載のシステムであって、前記1つ以上のプロセッサは、機械可読命令によって、更に前記第2の点群を3D医用画像から抽出することを決定することに応答して、前記第2の処理ジョブを前記第1の処理デバイスに割り当てることを決定するように構成される、システム。
  59. 請求項51に記載のシステムであって、前記第1の処理ジョブは第1の優先値と関連付けられ、また前記第2の処理ジョブは第2の優先値と関連付けられ、及び前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の優先値が前記第2の優先値よりも大きいと決定することに応答して、前記第1の処理デバイスに前記第2の処理ジョブを割り当てることを決定するように構成される、システム。
  60. 請求項59に記載のシステムであって、前記第1の優先値は、前記第1の処理ジョブが実施される第1の頻度に基づいており、前記第2の優先値は、前記第2の処理ジョブが実施される第2の頻度に基づいている、システム。
  61. 3次元医用画像を点群に位置合わせする方法であって、
    1つ以上のプロセッサによって、第1の基準フレームを有するグローバルシーンを表す第1の点群のデータ点の第1のセットにアクセスするステップと、
    前記第1の基準フレームとは異なる第2の基準フレームを有する3D医用画像の特徴の特徴データ点のセットを特定するステップと、
    前記1つ以上のプロセッサによって、前記第1の基準フレーム、前記第1のデータ点のセット、及び前記特徴データ点のセットを使用して、前記3D医用画像のための変換データ構造を決定するステップと、及び
    前記1つ以上のプロセッサによって、前記3D医用画像が前記第1の基準フレームに対して位置決めされるように、前記変換データ構造を使用して、前記3D医用画像を、前記グローバルシーンを表す前記第1の点群に位置合わせするステップと、
    を含む、方法。
  62. 請求項61に記載の方法であって、前記変換データ構造を決定するステップは、
    前記第1のデータ点のセットをダウンサンプリングして、節減された第1のデータ点のセットを生成するステップと、及び
    前記1つ以上のプロセッサによって、前記縮小された第1のデータ点のセットを使用して前記3D医用画像に対する前記変換データ構造を決定するステップと、
    を含む、方法。
  63. 請求項61に記載の方法であって、前記変換データ構造を決定するステップは、さらに、前記3D医用画像の位置の変化又は回転の変化を含むように前記変換データ構造を生成することを含む、方法。
  64. 請求項63に記載の方法であって、前記3D医用画像を、前記グローバルシーンを表す前記第1の点群に位置合わせするステップは、さらに、前記1つ以上のプロセッサによって、前記3D医用画像に前記位置の変更又は前記回転の変更を適用して、前記3D医用画像の前記特徴を前記第1の点群内の対応する点とアライメント調整するステップを含む、方法。
  65. 請求項61に記載の方法であって、前記3D医用画像の前記特徴の前記特徴データ点のセットを特定するステップは、前記1つ以上のプロセッサによって、オフラインプロセスで前記3D医用画像の特徴ベクトルを決定するステップを含む、方法。
  66. 請求項61に記載の方法であって、さらに、前記1つ以上のプロセッサによって、前記3D医用画像を、前記第1の点群に位置合わせすることに応答して、前記第1の点群及び前記3D医用画像のレンダリングを表示するステップを備える、方法。
  67. 請求項66に記載の方法であって、さらに、
    前記1つ以上のプロセッサによって、外科用器具からトラッキングデータを受信するステップと、
    前記1つ以上のプロセッサによって、前記外科用器具を形成する前記トラッキングデータを前記第1の基準フレームに変換して、変換されたトラッキングデータを生成するステップと、及び
    前記1つ以上のプロセッサによって、前記変換されたトラッキングデータを、前記第1の点群及び前記3D医用画像の前記レンダリング内でレンダリングするステップと、
    を備える、方法。
  68. 請求項61に記載の方法であって、さらに、
    前記1つ以上のプロセッサによって、前記第1の点群及び前記3D医用画像に関連する前記第1の基準フレーム内の関心対象位置を決定するステップと、
    前記1つ以上のプロセッサによって、前記第1の点群、前記3D医用画像、及び前記関心対象位置に基づいて、外科用器具のための動作命令を生成するステップと、及び
    前記1つ以上のプロセッサによって、前記動作命令を前記外科用器具に送信するステップと、
    を備える、方法。
  69. 請求項66に記載の方法であって、さらに、前記3D医用画像及び前記第1の点群のレンダリング内に、関心対象位置に対応する強調された領域を表示するステップを備える、方法。
  70. 請求項61に記載の方法であって、さらに、前記1つ以上のプロセッサによって、前記第1の点群の生成に少なくとも部分的に関与するキャプチャデバイスからの前記3D医用画像に表された患者の距離を決定するステップを備える、方法。
  71. システムであって、
    機械可読命令によって以下のステップを行うよう構成される1つ以上のプロセッサであり、すなわち、
    1つ以上のプロセッサによって、第1の基準フレームを有するグローバルシーンを表す第1の点群のデータ点の第1のセットにアクセスするステップと、
    前記第1の基準フレームとは異なる第2の基準フレームを有する3次元医用画像の特徴である特徴データ点のセットを特定するステップと、
    前記第1の基準フレーム、前記第1のデータ点のセット、及び前記特徴データ点のセットを使用して、前記3D医用画像のための変換データ構造を決定するステップと、及び
    前記3D医用画像が前記第1の基準フレームに対して位置決めされるように、前記変換データ構造を使用して、前記3D医用画像を、前記グローバルシーンを表す前記第1の点群に位置合わせするステップと、
    を行うよう構成される、該1つ以上のプロセッサを備える、システム。
  72. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記第1のデータ点のセットをダウンサンプリングして、節減された第1のデータ点のセットを生成するステップ、及び
    前記節減された第1のデータ点のセットを使用して前記3D医用画像に対する前記変換データ構造を決定するステップ、
    を行うよう構成される、システム。
  73. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記3D医用画像の位置の変化又は回転の変化を含むように前記変換データ構造を生成するように構成される、システム。
  74. 請求項73に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記3D医用画像に前記位置の変更又は前記回転の変更を適用して、前記3D医用画像の前記特徴を前記第1の点群内の対応する点とアライメント調整するように構成される、システム。
  75. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、オフラインプロセスで前記3D医用画像の特徴ベクトルを決定するように構成される、システム。
    るシステム。
  76. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記3D医用画像を前記第1の点群に位置合わせすることに応答して、前記第1の点群及び前記3D医用画像のレンダリングを表示するように構成される、システム。
  77. 請求項76に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    外科用器具からトラッキングデータを受信するステップ、
    前記外科用器具を形成する前記トラッキングデータを前記第1の基準フレームに変換して、変換されたトラッキングデータを生成するステップ、及び
    前記変換されたトラッキングデータを、前記第1の点群及び前記3D医用画像の前記レンダリング内でレンダリングするステップ、
    を行うよう構成される、システム。
  78. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、
    前記第1の点群及び前記3D医用画像に関連する前記第1の基準フレーム内の関心対象位置を決定するステップ、
    前記第1の点群、前記3D医用画像、及び前記関心対象位置に基づいて、外科用器具のための動作命令を生成するステップ、
    前記動作命令を前記外科用器具に送信するステップ、
    を行うよう構成される、システム。
  79. 請求項76に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記3D医用画像及び前記第1の点群のレンダリング内に、関心対象位置に対応する強調された領域を表示するように構成される、システム。
  80. 請求項71に記載のシステムであって、前記1つ以上のプロセッサは、さらに、機械可読命令によって、前記第1の点群の生成に少なくとも部分的に関与するキャプチャデバイスからの前記3D医用画像に表された患者の距離を決定するように構成される、システム。
JP2022536909A 2019-08-16 2020-08-14 リアルタイム複数モダリティ画像アライメントのためのシステム及び方法 Pending JP2022544717A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962888099P 2019-08-16 2019-08-16
US62/888,099 2019-08-16
PCT/US2020/046473 WO2021034701A1 (en) 2019-08-16 2020-08-14 Systems and methods for real-time multiple modality image alignment

Publications (1)

Publication Number Publication Date
JP2022544717A true JP2022544717A (ja) 2022-10-20

Family

ID=72243264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022536909A Pending JP2022544717A (ja) 2019-08-16 2020-08-14 リアルタイム複数モダリティ画像アライメントのためのシステム及び方法

Country Status (6)

Country Link
US (2) US20220285009A1 (ja)
EP (1) EP4014203A1 (ja)
JP (1) JP2022544717A (ja)
CN (1) CN115516508A (ja)
AU (1) AU2020332683A1 (ja)
WO (1) WO2021034701A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11304282B2 (en) * 2018-12-10 2022-04-12 Electronic Theatre Controls, Inc. Systems and methods for determining lighting fixture arrangement information
EP3828704B1 (en) * 2019-11-29 2023-06-28 My Virtual Reality Software AS Real-time data acquisition and visualization for point-cloud recording
US20220066794A1 (en) * 2020-08-28 2022-03-03 UiPath, Inc. Robotic process automation data connector
US11698707B2 (en) * 2021-03-31 2023-07-11 Sy Interiors Pvt. Ltd. Methods and systems for provisioning a collaborative virtual experience of a building
CN113506368B (zh) * 2021-07-13 2023-03-24 阿波罗智能技术(北京)有限公司 地图数据融合方法、装置、电子设备、介质和程序产品
CN118251189A (zh) * 2021-09-07 2024-06-25 泽塔外科手术公司 用于机器人手术控制和导航的系统和方法
CN116781920A (zh) * 2022-03-11 2023-09-19 腾讯科技(深圳)有限公司 点云编解码方法、装置、计算机、存储介质
CN117409161A (zh) * 2022-07-06 2024-01-16 戴尔产品有限公司 点云处理方法和电子设备
CN115631275B (zh) * 2022-11-18 2023-03-31 北京红棉小冰科技有限公司 多模态驱动的人体动作序列生成方法及装置
CN115861666B (zh) * 2022-12-22 2023-06-27 河北工程大学 一种3d图像点云匹配方法、系统、设备及介质
CN116468597B (zh) * 2023-02-16 2023-11-17 深圳技术大学 基于多gpu的图像渲染方法、装置及可读存储介质
WO2024188414A1 (en) * 2023-03-10 2024-09-19 Robert Bosch Gmbh System and method for object identification
CN117095033B (zh) * 2023-07-25 2024-05-24 重庆邮电大学 一种基于图像与几何信息引导的多模态点云配准方法
CN117740186B (zh) * 2024-02-21 2024-05-10 微牌科技(浙江)有限公司 隧道设备温度检测方法、装置和计算机设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5531520A (en) * 1994-09-01 1996-07-02 Massachusetts Institute Of Technology System and method of registration of three-dimensional data sets including anatomical body data
US20170032527A1 (en) * 2015-07-31 2017-02-02 Iwk Health Centre Method and system for head digitization and co-registration of medical imaging data
US9665936B2 (en) * 2015-09-25 2017-05-30 Siemens Healthcare Gmbh Systems and methods for see-through views of patients
WO2018191145A1 (en) * 2017-04-09 2018-10-18 Indiana University Research And Technology Corporation Motion correction systems and methods for improving medical image data
CN112085797B (zh) * 2019-06-12 2024-07-19 通用电气精准医疗有限责任公司 3d相机-医疗成像设备坐标系校准系统和方法及其应用

Also Published As

Publication number Publication date
EP4014203A1 (en) 2022-06-22
CN115516508A (zh) 2022-12-23
AU2020332683A1 (en) 2022-03-24
WO2021034701A1 (en) 2021-02-25
US20220285009A1 (en) 2022-09-08
US20240169566A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
US20240169566A1 (en) Systems and methods for real-time multiple modality image alignment
JP7355821B2 (ja) 疎結合されたリローカライゼーションサービスおよびアセット管理サービスを介して人工環境内でデジタルアセットを提示するためのシステムおよび方法
US10977818B2 (en) Machine learning based model localization system
JP7250709B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
US10311648B2 (en) Systems and methods for scanning three-dimensional objects
KR20220009393A (ko) 이미지 기반 로컬화
KR101453815B1 (ko) 사용자의 시점을 고려하여 동작인식하는 인터페이스 제공방법 및 제공장치
Pintaric et al. Affordable infrared-optical pose-tracking for virtual and augmented reality
US9129435B2 (en) Method for creating 3-D models by stitching multiple partial 3-D models
US11373329B2 (en) Method of generating 3-dimensional model data
WO2024169384A1 (zh) 视线估计方法、装置、可读存储介质及电子设备
JP2021530016A (ja) 汎用処理ユニットからハードウェアアクセラレータユニットに画像ベースの追跡オペレーションをオフローディングするためのシステム及び方法
JP2015184054A (ja) 同定装置、方法及びプログラム
US20180033200A1 (en) System and method for multiple device augmented surface
US11657568B2 (en) Methods and systems for augmented reality tracking based on volumetric feature descriptor data
JP6086491B2 (ja) 画像処理装置およびそのデータベース構築装置
JP6818968B2 (ja) オーサリング装置、オーサリング方法、及びオーサリングプログラム
WO2023250131A1 (en) Systems for real-time noninvasive surgical navigation
JP2014032628A (ja) 対応点探索装置、そのプログラムおよびカメラパラメータ推定装置
Jain et al. Mobile based real-time occlusion between real and digital objects in Augmented Reality
TWI785332B (zh) 基於光標籤的場景重建系統
Alkhalifah Optimizing graphics for understanding real-scene using 3D image registration and tracking and mapping
JP2020173617A (ja) 位置推定システム、位置推定装置、位置推定方法、及びプログラム
CN112070175A (zh) 视觉里程计方法、装置、电子设备及存储介质
Gao User-oriented markerless augmented reality framework based on 3D reconstruction and loop closure detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240919