(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075670
(43)【公開日】2024-06-04
(54)【発明の名称】Few-Shot学習を使用した組織染色パターンおよびアーチファクト分類
(51)【国際特許分類】
G01N 33/48 20060101AFI20240528BHJP
G01N 33/483 20060101ALI20240528BHJP
G06T 7/00 20170101ALI20240528BHJP
G06V 10/82 20220101ALI20240528BHJP
【FI】
G01N33/48 P
G01N33/483 C
G06T7/00 630
G06T7/00 350C
G06V10/82
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024043277
(22)【出願日】2024-03-19
(62)【分割の表示】P 2023513083の分割
【原出願日】2021-08-17
(31)【優先権主張番号】63/069,421
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】507179346
【氏名又は名称】ベンタナ メディカル システムズ, インコーポレイテッド
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】レスラー,クリスチャン
(72)【発明者】
【氏名】ニエ,ヤオ
(72)【発明者】
【氏名】シャイク,ナジム
(72)【発明者】
【氏名】バウアー,ダニエル
(57)【要約】 (修正有)
【課題】組織学的スライドの視野(FOV)画像を、特定の染色パターン、アーチファクト、および/または他の関心のある特徴を含む様々なカテゴリに分類するための方法およびシステムの提供。
【解決手段】より多数の画像クラスに属する染色画像を分類するために、少数の画像クラスに対して少数の訓練サンプルを使用して深層畳み込みニューラルネットワークを訓練するために、Few-Shot学習(例えば、プロトタイプネットワーク)技術が使用される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
生物学的サンプルの染色画像を分類するコンピュータ実装方法であって、
機械学習モデルと、染色画像クラスの第1のセットのうちの第1の染色画像クラスに対するサポート画像のセットと、未分類のクエリ画像とを取得することと、
前記機械学習モデルに基づいて、前記サポート画像のセットの各サポート画像のそれぞれの埋め込みを生成することと、
前記サポート画像のセットの前記埋め込みに基づいて、前記第1の染色画像クラスのプロトタイプを計算することであって、前記第1の染色画像クラスの前記プロトタイプが、前記第1の染色画像クラスを表す埋め込みを含む、前記第1の染色画像クラスのプロトタイプを計算することと、
前記機械学習モデルに基づいて、前記未分類のクエリ画像の埋め込みを生成することと、
前記未分類のクエリ画像の前記埋め込みと前記第1の染色画像クラスの前記プロトタイプとの間の類似度メトリックを決定することと、
前記類似度メトリックに基づいて、前記未分類のクエリ画像の分類を決定することであって、前記分類が、前記未分類のクエリ画像が前記第1の染色画像クラスに対応するという予測を含む、前記未分類のクエリ画像の分類を決定することと、
前記未分類のクエリ画像の前記分類を含む出力を生成することと
を含む、コンピュータ実装方法。
【請求項2】
前記第1の染色画像クラスの前記サポート画像のセットが、共通のタイプの染色アーチファクトを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記未分類のクエリ画像の前記分類を決定することが、
前記類似度メトリックが所定の閾値よりも大きいことを判定することと、
前記類似度メトリックが前記所定の閾値よりも大きいと判定したことに応答して、前記未分類のクエリ画像の別の分類を決定することであって、前記別の分類が、前記未分類のクエリ画像が、前記第1の染色画像クラスとは異なる染色画像クラスに関連付けられるという予測を含む、前記未分類のクエリ画像の別の分類を決定することと
を含む、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記未分類のクエリ画像の前記埋め込みと前記第1の染色画像クラスの前記プロトタイプとの間の前記類似度メトリックを決定することが、
前記埋め込みおよび前記プロトタイプを多次元埋め込み空間内で符号化することと、
前記多次元埋め込み空間内で符号化された前記埋め込みと前記プロトタイプとの間の距離を特定することと
を含む、請求項1~3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記機械学習モデルが、VGGネットワーク、Inceptionネットワーク、残差ニューラルネットワーク(ResNet)、高密度畳み込みネットワーク(DenseNet)、またはDenseNet-121ネットワークを含む、請求項1~4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記類似度メトリックが、マンハッタン距離、ユークリッド距離、チェビシェフ距離、ハミング距離、またはコサイン類似度を含む、請求項1~5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記未分類のクエリ画像の前記埋め込みと、前記染色画像クラスの第1のセットの残りの各染色画像クラスのプロトタイプとの間のそれぞれの類似度メトリックを決定することと、
前記それぞれの類似度メトリックに基づいて、前記未分類のクエリ画像の前記分類を決定することと
をさらに含む、請求項1~6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
染色画像クラスの第2のセットに属する訓練画像にアクセスすることと、
前記染色画像クラスの第2のセットから染色画像クラスのサブセットを選択することと、
前記染色画像クラスのサブセットの各染色画像クラスについて、
前記訓練画像から、前記染色画像クラス内のサポート画像のセットを選択することと、
前記機械学習モデルに基づいて、前記サポート画像のセットの埋め込みを生成することと、
前記サポート画像のセットの前記埋め込みに基づいて、前記染色画像クラスのプロトタイプを計算することと、
前記染色画像クラスのサブセットの各染色画像クラスについて、
前記訓練画像から、前記染色画像クラス内のクエリ画像のセットを選択することと、
前記機械学習モデルに基づいて、前記クエリ画像のセットの埋め込みを生成することと、
前記クエリ画像のセットの各クエリ画像について、前記クエリ画像の前記埋め込みと前記染色画像クラスのサブセットの前記プロトタイプとの間の類似度メトリックを計算することと、
前記類似度メトリックに基づいて、前記クエリ画像のセットの各クエリ画像についてのそれぞれの分類を決定することと、
前記染色画像クラスのサブセットの各染色画像クラスにおける前記クエリ画像のセットのそれぞれの分類に基づいて、前記機械学習モデルのパラメータを調整することと
をさらに含む、請求項1~7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記第1の染色画像クラスが、前記染色画像クラスの第2のセットに含まれない、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記機械学習モデルが、全結合層を含む予め訓練された深層ニューラルネットワークを含み、前記予め訓練された深層ニューラルネットワークが、染色画像を含まない画像を使用して訓練され、
前記機械学習モデルの前記パラメータを調整することが、前記全結合層のパラメータを調整することを含む、請求項8または9に記載のコンピュータ実装方法。
【請求項11】
前記染色画像クラスのサブセット内の染色画像クラスの数が、前記染色画像クラスの第1のセット内の染色画像クラスの数よりも少ない、請求項8~10のいずれか一項に記載のコンピュータ実装方法。
【請求項12】
前記第1の染色画像クラスの前記プロトタイプを計算することが、前記サポート画像のセットの前記埋め込みの平均、中央値、または中心を計算することを含む、請求項1~10のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
システムであって、
1つ以上のデータプロセッサと、
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令が、前記1つ以上のデータプロセッサ上で実行されると、前記1つ以上のデータプロセッサに、請求項1~12のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体と
を備える、システム。
【請求項14】
コンピュータで実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、1つ以上の処理デバイスによって実行されると、前記1つ以上の処理デバイスに、請求項1~12のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2020年8月24日に出願された米国仮特許出願第63/069,421号の利益および優先権を主張するものであり、その全体があらゆる目的のために参照により本明細書に組み込まれる。
【背景技術】
【0002】
背景
組織学は、切片化、染色、および電子顕微鏡または光学顕微鏡での検査による、動物および植物の細胞、組織、または他の生物学的サンプルの顕微鏡研究である。組織学的研究は、法医学的調査、剖検、診断、および教育に使用されることができる。組織学はまた、診断、予後予測および治療選択を容易にするために医療分野において広く使用されている。
【0003】
染色技術は、顕微鏡レベルで生物学的サンプル中の特定のタイプの生物学的オブジェクトのコントラストを高めるために、組織学ならびに組織病理学、血液学および細胞病理学の分野において広く使用されている。例えば、ヘマトキシリンおよびエオシン(H&E)染色は、組織切片における組織形態、核および細胞質の特徴を評価するための診断染色として使用される。染色プロセスは、一般に、特定の化合物、構造または特徴の存在を確認または定量するために、クラス特異的色素(例えば、DNA、タンパク質、脂質、炭水化物などについて)をサンプルの一部に添加することを含む。例えば、染色は、生物学的組織(例えば、筋線維または結合組織)、細胞集団(例えば、異なる血球)、または個々の細胞内の細胞小器官を同定または強調するために役立つことができる。生物学的染色が使用されて、フローサイトメトリーで細胞をマークし、ゲル電気泳動でタンパク質または核酸にフラグを立てることなどもできる。
【0004】
さらに、免疫組織化学(IHC)スライド染色は、組織切片の細胞中のタンパク質を同定するために利用される染色技術であり、したがって、生物学的組織中の癌性細胞および免疫細胞などの異なるタイプの細胞の研究において広く使用されている。したがって、IHC染色は、免疫反応研究のために、癌性組織における免疫細胞(T細胞やB細胞など)の差次的に発現するバイオマーカーの分布と局在を理解するための研究に使用されることができる。例えば、腫瘍は、免疫細胞の浸潤物を含む場合があり、これは、腫瘍の発生を妨げたり、腫瘍の増殖を促進したりする場合がある。
【0005】
組織学的染色は、1つ以上の組織学的染色を使用してサンプルの1つ以上の切片のそれぞれを染色することによって顕微鏡検査のためのサンプル(例えば、組織)を調製するための一連のプロセスを含む。組織学的染色プロセスは、一般に、固定、処理、包埋、切片化および染色を含む。組織学的染色プロセスの各段階中に、様々なタイプのアーチファクトまたは他の人工的な効果がサンプルに導入されることができる。アーチファクトおよび他の人工的な効果は、(例えば、オブジェクトの数、1つ以上のオブジェクトのサイズ、および/または1つ以上のオブジェクトの形状を識別するために)様々な生物学的オブジェクトが検出および/または特徴付けされることができる程度に影響を及ぼすことがある。したがって、アーチファクトは、病理画像が診断、予後および/または治療選択を知らせることができる程度に影響を及ぼすことがある。
【発明の概要】
【0006】
概要
[0001]本開示のいくつかの実施形態は、とりわけ、デジタル病理学などの生物学的サンプルの調製および分析に関する。より具体的には、組織学的スライドの視野(FOV)画像を、特定の染色パターン、アーチファクト、および/または他の関心のある特徴を含む様々なカテゴリに分類するための技術が本明細書に開示される。特定の実施形態によれば、少数の特徴クラス(例えば、異なるタイプのアーチファクト)を表示する少数の訓練サンプルを使用して深層畳み込みニューラルネットワーク(例えば、プロトタイプネットワーク)を訓練するために、few-shot学習技術および転移学習技術が使用される。次いで、訓練された深層畳み込みニューラルネットワークが、より多数の特徴クラスに属する染色画像を分類するために使用されることができる。本明細書に開示される技術は、単に転移学習技術に基づく既存の方法よりも優れている。本明細書に開示される技術は、FOV画像内の細胞タイプまたは他の標的生物学的オブジェクト(例えば、有糸分裂、破片、血管など)を分類するために使用されることができる。本明細書では、デバイス、システム、モジュール、材料、方法、1つ以上のプロセッサによって実行可能なプログラム、コード、または命令を記憶する非一時的コンピュータ可読記憶媒体などを含む様々な実施形態について説明する。
【0007】
[0002]特定の実施形態によれば、染色画像または他の画像を分類するための機械学習モデルを訓練するコンピュータ実装方法が提供される。コンピュータ実装方法は、予め訓練された機械学習モデルにアクセスすることを含むことができる。予め訓練された機械学習モデルは、パラメータのセットに対応するパラメータ値のセットを含むことができ、パラメータ値のセットは、第1の訓練データセットを使用して学習された。第1の訓練データセットは、複数の画像および対応する分類のセットを含むことができ、分類のセットの各分類は、複数の画像の対応する画像内の表示を特徴付けることができる。場合によっては、複数の画像の少なくとも50%の各画像について、画像は巨視的オブジェクトを表示する。
【0008】
[0003]コンピュータ実装方法はまた、デジタル病理画像のセットおよびアーチファクト分類の対応するセットにアクセスすることを含むことができる。デジタル病理画像のセットの各デジタル病理画像は、サンプルの染色された部分を表示することができ、アーチファクトを含むこともできる。場合によっては、デジタル病理画像のセットのデジタル病理画像は、IHC染色プロトコルまたはH&E染色プロトコルを使用して染色された組織切片を表示する。デジタル病理画像のセットの各デジタル病理画像について、デジタル病理画像は、微視的オブジェクトを表示することができる。
【0009】
[0004]アーチファクト分類のセットの各アーチファクト分類は、アーチファクトに対応するアーチファクトのタイプを示すことができ、第1の訓練データセットの分類のセットは、アーチファクト分類のセットとは異なることができる。場合によっては、アーチファクト分類のセットのアーチファクト分類の数は、第1の訓練データセットの分類の数よりも少ない。場合によっては、アーチファクト分類のセットの特定のアーチファクト分類は、対応するデジタル病理画像がアーチファクトを含まないことを示す。
【0010】
[0005]コンピュータ実装方法はまた、デジタル病理画像のセットおよびアーチファクト分類の対応するセットを使用して予め訓練された機械学習モデルをさらに訓練するためにfew-shot学習を使用することを含むことができる。予め訓練された機械学習モデルのさらなる訓練は、パラメータのセットに対するパラメータ値の新たなセットを生成することができる。場合によっては、予め訓練された機械学習モデルのさらなる訓練は、アーチファクト分類のセットの各アーチファクト分類について、新たなデジタル病理画像およびアーチファクト分類の表現を使用して類似度メトリックを生成することを含む。アーチファクト分類の表現は、アーチファクト分類に関連付けられたデジタル病理画像のセットのサブセットに基づいて生成されてもよい。
【0011】
[0006]コンピュータ実装方法はまた、新たなデジタル病理画像を受信することと、新たなデジタル病理画像が特定のタイプのアーチファクトを含むことを予測する出力を生成するために、さらに訓練された機械学習モデルを使用して新たなデジタル病理画像を処理することと、を含むことができる。場合によっては、予め訓練された機械学習モデルをさらに訓練するために使用されるデジタル病理画像のセットに対応するアーチファクト分類のセットは、特定のタイプのアーチファクトを含まない。
【0012】
[0007]特定の実施形態によれば、機械学習モデルおよびサポート画像のセットを使用してクエリ画像を分類するコンピュータ実装方法が提供される。コンピュータ実装方法は、機械学習モデル、染色画像クラスの第1のセットの第1の染色画像クラスのサポート画像のセット、および未分類のクエリ画像を取得することを含むことができる。第1の染色画像クラスのためのサポート画像のセットは、共通のタイプの染色アーチファクトを含むことができる。機械学習モデルは、VGGネットワーク、Inceptionネットワーク、残差ニューラルネットワーク(ResNet)、高密度畳み込みネットワーク(DenseNet)、またはDenseNet-121ネットワークを含むことができる。
【0013】
[0008]コンピュータ実装方法はまた、機械学習モデルに基づいて、サポート画像のセットの各サポート画像のそれぞれの埋め込みを生成することを含むことができる。
【0014】
[0009]コンピュータ実装方法はまた、サポート画像のセットの埋め込みに基づいて第1の染色画像クラスのプロトタイプを計算することを含むことができる。第1の染色画像クラスのプロトタイプは、第1の染色画像クラスを表す埋め込みを含むことができる。コンピュータ実装方法はまた、機械学習モデルに基づいて、未分類のクエリ画像の埋め込みを生成することを含むことができる。
【0015】
[0010]コンピュータ実装方法はまた、未分類のクエリ画像の埋め込みと第1の染色画像クラスのプロトタイプとの間の類似度メトリックを決定することを含むことができる。類似度メトリックは、マンハッタン距離、ユークリッド距離、チェビシェフ距離、ハミング距離、またはコサイン類似度を含むことができる。場合によっては、埋め込みおよびプロトタイプは、多次元埋め込み空間内で符号化され、多次元埋め込み空間内で符号化された埋め込みとプロトタイプとの間の距離が識別される。
【0016】
コンピュータ実装方法はまた、類似度メトリックに基づいて未分類のクエリ画像を分類することを含むことができる。未分類のクエリ画像を分類することは、類似度メトリックが所定の閾値よりも大きいと判定することを含むことができる。類似度メトリックが所定の閾値よりも大きいと判定したことに応答して、未分類のクエリ画像は、第1の画像クラスとは異なる画像クラスに関連付けられていると分類されることができる。未分類のクエリ画像は、類似度メトリックのセットに基づいて分類されることもできる。類似度メトリックのセットのそれぞれの類似度メトリックは、未分類のクエリ画像の埋め込みと、染色画像クラスの第1のセットの残りの各染色画像クラスのプロトタイプとの間で決定されることができる。
【0017】
コンピュータ実装方法はまた、機械学習モデルのパラメータを調整することを含むことができ、これは、染色画像クラスの第2のセットに属する訓練画像にアクセスすることと、染色画像クラスの第2のセットから染色画像クラスのサブセットを選択することと、染色画像クラスのサブセットの各染色画像クラスにおいてクエリ画像のセットを分類した結果に基づいてパラメータを調整することと、を含む。場合によっては、第1の染色画像クラスは、染色画像クラスの第2のセットに含まれない。染色画像クラスのサブセット内の
染色画像クラスの数は、染色画像クラスの第1のセット内の染色画像クラスの数よりも少なくてもよい。
【0018】
機械学習モデルのパラメータを調整するためにクエリ画像のセットを分類するために、クエリ画像のセットの埋め込みと染色画像クラスのサブセットのプロトタイプとの間の類似度メトリックが計算されることができる。場合によっては、画像クラスのサブセットの各染色画像クラスのプロトタイプは、染色画像クラスから選択されたサポート画像のセットから生成された埋め込みに基づいて計算される。第1の染色画像クラスのプロトタイプは、サポート画像のセットの埋め込みの平均、中央値、または中心とすることができる。
【0019】
機械学習モデルのパラメータを調整することは、予め訓練された深層ニューラルネットワークの全結合層のパラメータを調整することを含むことができ、予め訓練された深層ニューラルネットワークは、染色画像を含まない画像を使用して訓練されることができる。
【0020】
本開示のいくつかの実施形態は、1つ以上のデータプロセッサを含むシステムを含む。いくつかの実施形態では、システムは、命令を含む非一時的コンピュータ可読記憶媒体であって、命令が、1つ以上のデータプロセッサ上で実行されると、1つ以上のデータプロセッサに、本明細書に開示された1つ以上の方法の一部または全部および/または1つ以上のプロセスの一部または全部を実行させる、非一時的コンピュータ可読記憶媒体を含む。本開示のいくつかの実施形態は、1つ以上のデータプロセッサに、本明細書に開示された1つ以上の方法の一部または全部および/または1つ以上のプロセスの一部または全部を実行させるように構成された命令を含む、非一時的機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品を含む。
【0021】
使用されている用語および表現は、限定ではなく説明の用語として使用されており、そのような用語および表現の使用において、示され説明された特徴またはその一部の均等物を除外する意図はない。しかしながら、特許請求されるシステムおよび方法の範囲内で様々な変更が可能であることが認識される。したがって、本システムおよび方法は、例および任意の特徴によって具体的に開示されているが、本明細書に開示された概念の変更および変形は、当業者によって認識されるべきであり、そのような変更および変形は、添付の特許請求の範囲によって定義されるシステムおよび方法の範囲内にあると見なされることを理解されたい。
【0022】
この概要は、特許請求される主題の重要なまたは本質的な特徴を特定することを意図しておらず、特許請求される主題の範囲を決定するために単独で使用されることも意図していない。これらの例示的な例は、本開示を限定または定義するためではなく、その理解を助けるための例を提供するために言及される。さらなる実施形態および例は、詳細な説明において論じられ、さらなる説明がそこに提供される。主題は、本開示の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。
【0023】
上記は、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付の図面を参照するとより明らかになるであろう。
【図面の簡単な説明】
【0024】
本開示の特徴、実施形態、および利点は、以下の図面を参照して以下の詳細な説明を読むと、よりよく理解される。
【0025】
【
図3】画像または他のオブジェクト分類のための畳み込みニューラルネットワーク(CNN)の例を示している。
【
図4】特定の実施形態にかかる、染色画像を分類するための機械学習モデルの例を示している。
【
図5】特定の実施形態にかかる、機械学習モデルおよびサポート画像のセットを使用してクエリ画像を分類する方法の例を示すフローチャートを含む。
【
図6】特定の実施形態にかかる、染色画像または他の画像を分類するための機械学習モデルを訓練する方法の例を示すフローチャートを含む。
【
図7】特定の実施形態にかかる機械学習モデルの出力のt-sne視覚化の例を示している。
【
図8】特定の実施形態にかかる機械学習モデルの出力のt-sne視覚化の例を示している。
【
図9】特定の実施形態にかかるfew-shot学習および異なる数のサポート画像を使用して訓練された機械学習モデルの精度を示すグラフを含む。
【
図10】特定の実施形態にかかる、H&E染色組織切片を表示する画像を分類するための概略図の例を示している。
【
図11】特定の実施形態にかかる、H&E染色画像を処理することによって生成された関心のある領域の例を示している。
【
図12A】特定の実施形態にかかる、染色画像を分類するための訓練された機械学習モデルの性能結果をそれぞれ識別する混同行列の例を示している。
【
図12B】特定の実施形態にかかる、染色画像を分類するための訓練された機械学習モデルの性能結果をそれぞれ識別する混同行列の例を示している。
【
図13】いくつかの実施形態にかかる、訓練された機械学習モデルを使用して分類された画像結果の例示的なセットを示している。
【
図14】本明細書に開示される実施形態のいくつかを実装するためのコンピュータシステムの例を示している。
【発明を実施するための形態】
【0026】
詳細な説明
本明細書に開示される技術は、一般に、生物学的サンプルの調製および分析に関する。より具体的には、組織学的スライドの視野(FOV)画像を、特定の染色パターン、アーチファクト、および他の関心のある特徴を含む様々なカテゴリに分類するための技術が本明細書に開示される。特定の実施形態によれば、少数の特徴クラス(例えば、特定のタンパク質、異なる染色パターン、アーチファクト、および関心のある他の特徴)の各特徴クラスに属する少数(例えば、100未満、50未満、25未満または15未満、例えば約5から10)の訓練サンプルを使用して機械学習モデル(例えば、プロトタイプネットワーク)を訓練するために、few-shot学習技術および転移学習技術が使用される。次いで、訓練された機械学習モデルは、より多数の特徴クラスに属する染色画像を分類するために使用されることができる。本明細書では、デバイス、システム、材料、方法、1つ以上のプロセッサによって実行可能なプログラム、コード、または命令を記憶する非一時的コンピュータ可読記憶媒体などを含む様々な本発明の実施形態について説明する。
【0027】
組織学的染色は、組織学的スライド上の切片化された組織または細胞における関心のある特徴(例えば、H&E染色のための腫瘍核、IHC染色のための標的タンパク質)を強調し、関心のある特徴のコントラストを高めるために、デジタル病理学ワークフローにお
いて広く使用されている。例えば、腫瘍含有サンプルでは、染色は病理学的細胞およびそれらの微小環境を効率的に局在化するのを助け、それによってより正確な医学的診断を容易にすることができる。別の例では、3,3’-ジアミノベンジジン(DAB)染色などのIHC染色が使用されて、標本スライドに示された組織切片内のバイオマーカーの存在または分布を同定することができる。次いで、同定されたバイオマーカーが分析されて、腫瘍組織の診断を容易にすることができる(例えば)。場合によっては、IHCは、抗原(例えば、プログラム死リガンド1(PD-L1))、一次抗体(例えば、抗PD-L1抗体)、および二次抗体と考えられる異なる特異的タンパク質を同定するために使用される。しかしながら、組織学的スライド上の染色されたサンプル切片は、伝達されることができる情報を妨げる様々なタイプの問題を有することがある。例えば、染色された切片は、引き裂かれるか、または折り畳まれることがあり、および/またはスライドは、1つ以上のウォーターマークを含むことがある。さらに、染色された切片の画像の一部は、準最適であることがある(例えば、ぼやけている)。そのような問題は、画像の一部がサンプルを表さないものを表示しているという点で、「アーチファクト」の例である。スライド画像を正確に分析するために、そのようなアーチファクトまたは他の人工的な効果を検出し、可能であれば、解釈(例えば、病理診断、予後および/または治療選択が改善されることができる)のために、画像が被験者に関する正確な情報を伝達する程度を改善する画像処理を実行することが望ましい場合がある。この目的のために、現在、デジタル病理画像は、染色されたサンプル切片の画像が分析される前に品質(例えば、画像の、切片の、および/または一般的に)を評価するために、人間の病理学者によって頻繁に評価される(例えば、染色されたサンプル切片における特定の生物学的オブジェクトまたは特定のバイオマーカーを検出および/または特徴付けるために)。染色されたサンプル切片の品質が悪い場合、対応するデジタル病理画像は、所与の被験者に対して行われたデジタル病理分析から破棄されることができる。しかしながら、染色品質を評価し、染色画像におけるアーチファクトを検出することは、主観的で時間がかかる可能性がある。
【0028】
畳み込みニューラルネットワーク(CNN)モデルなどの機械学習技術は、画像分類、オブジェクト検出および認識、ビデオ行動認識などに首尾よく適用されている。CNNモデルは、局所的なフィルタを再利用して局所的な領域(受容野とも呼ばれる)から特徴を抽出することによって、空間的局所性および重み共有を効率的に実装する。正確なCNNモデルを達成するために、ニューラルネットワークを訓練するために多数のサンプルがしばしば使用される。しかしながら、デジタル病理学の場合、広範囲にラベル付けされたデータセットは利用できないことがあり、または画像を手動で分析および注釈付けする(例えば、分類するおよびラベル付け)のに必要な専門知識を考慮すると、そのようなデータセットを構築するのは高価で時間がかかることがある。
【0029】
特定の実施形態によれば、few-shot学習技術は、組織学的スライドのFOV画像を、特定の染色パターン、アーチファクト、および他の関心のある特徴を含む様々な画像クラスに分類するための機械学習モデル(例えば、ニューラルネットワーク)を訓練するために使用される。機械学習モデルは、1つ以上の全結合層を含む畳み込みニューラルネットワーク(例えば、高密度畳み込みネットワークなどの深層ニューラルネットワーク)を含むことができる。機械学習モデルの1つ以上の全結合層は、異なるタイプの特徴(例えば、アーチファクト)に対応する複数(例えば、M個)の画像クラスの各画像クラスに対して、few-shot学習技術および少数の訓練サンプル(例えば、染色画像)を使用して、複数の反復(エピソードと呼ばれる)で訓練されることができる。
【0030】
一例では、各訓練反復において、M個の画像クラスからK個(K<=M)の画像クラスが選択されることができる(例えば、ランダムに選択されるか、または擬似ランダムに選択される)。K個の画像クラスの各画像クラスに属する訓練画像から(例えば、ランダムまたは擬似ランダム技術を使用して)訓練画像がN個の「サポート」画像とQ個の「クエ
リ」画像とに分離されることができる。サポート画像の数(N)は、実装されているfew-shot学習技術におけるショット数に等しくてもよく、(例えば)200未満、100未満、50未満、25未満、20未満、または15未満(例えば、約5~10)であってもよい。K個の画像クラスの各画像クラスに対するN個のサポート画像の各サポート画像は、機械学習モデルに渡されることができ、機械学習モデルは、多次元埋め込み空間(本明細書では代替的に「多次元空間」と呼ばれる)内の対応する埋め込み(例えば、多次元ベクトル)にサポート画像を符号化することができる。各画像クラスに対するN個のサポート画像のN個の埋め込みの平均(または中央値)が計算されて、画像クラスを表すプロトタイプを決定することができる。Q個のクエリ画像の各クエリ画像はまた、同じ機械学習モデルによって対応する埋め込みに符号化されてもよい。クエリ画像の埋め込みと多次元空間内の各画像クラスのプロトタイプとの間の類似度メトリック(例えば、距離または類似度)が決定されることができる。次いで、クエリ画像は、そのプロトタイプがクエリ画像の埋め込みに最も近い画像クラスに属するものとして分類されることができる。損失(例えば、分類誤差)は、クエリ画像の分類の結果に基づいて計算されることができる。次いで、損失は、機械学習モデルの先行する層に逆伝播されて、全結合層のパラメータ(例えば、重み)などの機械学習モデルのパラメータを調整することができる。上記の訓練プロセス(エピソード)は、例えば、特定の学習率のAdamオプティマイザを使用して複数の反復に対して実行されてもよい。
【0031】
本明細書で開示される技術は、少数の既知の画像クラスからの少数の学習サンプルを使用して画像分類のための機械学習モデル(例えば、プロトタイプニューラルネットワークなどの深層畳み込みニューラルネットワーク)を訓練することができる。したがって、本明細書に開示される技術は、限られた数の注釈付きサンプルのみが利用可能である場合の使用に適することができる。
【0032】
少数の画像クラスの限られた数の訓練サンプルから学習された知識は、機械学習モデルを訓練するための訓練段階において使用される少数の画像クラスにないアーチファクトを有するデジタル病理画像などの他の画像クラスのクエリサンプルを分類するために転送されることができる。例えば、訓練された機械学習モデルが使用されて、機械学習モデルを再訓練することなく、クエリ画像と各新たな画像クラスの少数のサンプルとの間の関係スコア(例えば、距離または類似度)を計算することによって、クエリ画像内の新たなクラス(例えば、新たなバイオマーカー、新たな生物学的オブジェクト、他のタイプのアーチファクト)の存在を識別することができる。
【0033】
さらに、本明細書に開示される技術は、分類精度において単に転移学習に基づく既存の方法よりも優れている可能性があり、したがって、アーチファクトまたは他の欠陥を有する染色画像をより正確に識別するために使用されることができ、これにより、サンプル分析および診断の精度を向上させることができる。本明細書に開示される技術は、染色画像の品質を定性的または定量的に決定するためにさらに使用されることができる。本明細書に開示される技術はまた、FOV画像内の細胞タイプ(例えば、母体血漿中の腫瘍細胞、胎児細胞)または他の標的バイオマーカー(例えば、PD-L1、αフェトプロテイン、サイトケラチン)を分類するために使用されることができる。
【0034】
本明細書で使用される場合、「ニューラルネットワーク」という用語は、目標を達成するように訓練されることができる1つ以上のコンピュータ実装ネットワークを指す。別段の指示がない限り、本明細書におけるニューラルネットワークへの言及は、一緒に訓練された1つのニューラルネットワークまたは複数の相互に関連するニューラルネットワークを含む。ニューラルネットワークの例は、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、全結合ニューラルネットワーク、エンコーダニューラルネットワーク(例えば、「エンコーダ」)、デコーダニューラルネットワ
ーク(例えば、「デコーダ」)、高密度結合ニューラルネットワーク、および他のタイプのニューラルネットワークを含むが、これらに限定されない。いくつかの実施形態では、ニューラルネットワークは、特別なハードウェア(例えば、GPU、テンソル処理ユニット(TPU)、シストリックアレイ、単一命令複数データ(SIMD)プロセッサなど)を使用して、ソフトウェアコードおよび汎用プロセッサを使用して、または特別なハードウェアとソフトウェアコードとの組み合わせを使用して実装されることができる。
【0035】
本明細書で使用される場合、「層」または「ネットワーク層」という用語は、ニューラルネットワークにおける分析段階を指す。層は、ニューラルネットワークのタイプに関連する異なるタイプの分析を実行する。例えば、エンコーダ内の層は、入力画像を符号化するために入力画像に対して異なるタイプの解析を実行することができる。場合によっては、特定の層は、その層によって実行される特定の分析に基づく特徴を提供する。場合によっては、特定の層が受信画像をダウンサンプリングする。追加のレイヤは、追加のダウンサンプリングを実行する。場合によっては、ダウンサンプリングの各回は、出力画像の視覚的品質を低下させるが、その層によって実行される関連解析に基づく特徴を提供する。
【0036】
本明細書で使用される場合、「埋め込み」という用語は、高次元ベクトルが符号化または変換されることができる低次元ベクトルを指す。ニューラルネットワークの文脈では、埋め込みは、離散(例えば、カテゴリ)オブジェクトまたは変数(例えば、画像または単語)の、離散オブジェクトを表すための連続的な低次元空間内のベクトルへのマッピングである。場合によっては、埋め込みは、大きな入力特徴マップからニューラルネットワークまたはエンコーダによって抽出された特徴ベクトルまたは特徴マップであってもよい。埋め込みは、カテゴリ変数の次元を削減し、変換された空間内のカテゴリを有意に表すことができる。埋め込みは、埋め込み空間内の最近傍を見つけるために使用されることができる。埋め込みは、クラスタカテゴリに基づいて推奨を行うために使用されることができ、教師付きタスクのための機械学習モデルへの入力として使用されることができ、カテゴリ間の概念および関係を視覚化するために使用されることができる。
【0037】
以下の例は、特定の実施形態を紹介するために提供される。以下の説明では、説明の目的のために、本開示の例の完全な理解を提供するために具体的な詳細が記載される。しかしながら、これらの具体的な詳細なしで様々な例が実施されることができることは明らかであろう。例えば、デバイス、システム、構造、アセンブリ、方法、および他の構成要素は、例を不必要に詳細に不明瞭にしないために、ブロック図形式の構成要素として示されてもよい。他の例では、例を不明瞭にすることを避けるために、周知のデバイス、プロセス、システム、構造、および技術が必要な詳細なしに示されることができる。図面および説明は、限定を意図するものではない。本開示で使用されている用語および表現は、限定ではなく説明の用語として使用されており、そのような用語および表現の使用において、示され説明された特徴またはその一部の均等物を除外する意図はない。「例」という用語は、本明細書では「例、事例、または例示としての役割を果たす」を意味するために使用される。本明細書において「例」として説明される任意の実施形態または設計は、必ずしも他の実施形態または設計よりも好ましいまたは有利であると解釈されるべきではない。
I.組織の調製および分析
【0038】
組織学的染色は、関心のある特徴を強調し、生物学的サンプルの切片化された組織または細胞のコントラストを高めるために広く使用されている。腫瘍含有サンプルでは、組織学的染色は、病理学的細胞およびそれらの微小環境を効率的に局在化するのを助け、それによってより良好な医学的診断および治療を容易にすることができる。例えば、疾患細胞もしくは腫瘍細胞または他の病理学的細胞の位置を特定するために、サンプル組織の後縁および前縁に色素が適用されることができる。生物学的研究では、染色が使用されて細胞をマークし、核酸、タンパク質、またはゲル電気泳動にフラグを立てて顕微鏡検査を支援
することができる。組織学的染色のプロセスは、固定、処理、包埋、切片化、染色およびイメージングなどのいくつかの段階を含むことができる。
【0039】
いくつかの実施形態では、組織切片のIHC染色は、生物学的サンプル中のタンパク質の存在を同定するために使用される組織学的染色の一種である。例えば、特定のタンパク質(例えば、抗原)の発現レベルは、以下によって決定される:(a)特定の抗体タイプを有する腫瘍サンプルのIHC分析を実施すること;(b)サンプル中のタンパク質の存在および/または発現レベルを決定すること。いくつかの実施形態では、IHC染色強度が、参照サンプル(例えば、対照細胞株染色サンプル、非癌性患者からの組織サンプル、所定のレベルのタンパク質発現を有することが知られている参照サンプル)から決定される参照に対して決定される。
【0040】
図1は、組織学的染色プロセス100の例を示している。組織学的染色プロセス100の段階110は、組織を保存し、組織分解を遅らせるために使用されることができる組織固定を含むことができる。組織学において、固定とは、一般に、化学組成を保持し、天然組織構造を保存し、細胞構造を分解から維持するために化学物質を使用する不可逆的プロセスを指す。固定はまた、切片化のために細胞または組織を硬化させることができる。固定剤は、架橋タンパク質を使用して組織および細胞の保存を強化することができる。固定剤は、いくつかのタンパク質に結合して架橋し、脱水によって他のタンパク質を変性させることができ、これは組織を硬化させ、そうでなければ組織を分解する可能性がある酵素を不活性化することができる。固定剤はまた、細菌を死滅させることができる。固定剤は、例えば、調製された組織の灌流および浸漬によって投与されることができる。中性緩衝ホルマリン(NBF)およびパラフィン-ホルマリン(パラホルムアルデヒド-PFA)などのブイン固定剤およびホルムアルデヒド固定剤を含む様々な固定剤が使用されることができる。固定プロセスは、組織学的試験の目的のために組織および細胞の構造を保存するのに役立つことができるが、組織固定は、組織抗原の秘匿化をもたらし、それによって抗原検出を減少させることができる。したがって、ホルマリンは、抗原を架橋し、エピトープをマスクすることができるため、組織固定は、一般に、IHCの制限因子と考えられる。場合によっては、ホルマリン固定組織を無水シトラコン酸(可逆的タンパク質架橋剤)によって処理することおよび加熱することを含む、架橋の効果を逆転させるための追加のプロセスが行われる。
【0041】
組織学的染色プロセス100の段階120は、組織処理および包埋を含むことができる。組織処理は、固定後に動物またはヒトの組織を、組織がパラフィンワックスなどの適切な組織学的ワックスによって完全に浸潤された状態にすることができる。組織学的ワックスは、水またはアルコールに可溶性でなくてもよいが、キシレンなどのパラフィン溶媒に可溶性であってもよい。したがって、組織内の水がキシレンによって置換される必要があり得る。そうするために、サンプル中の水をアルコールで徐々に置換することによって組織が最初に脱水されることができ、これは組織を増加する濃度のエチルアルコール(例えば、0から約100%)に通過させることによって達成されることができる。水がアルコールによって置換された後、アルコールは、アルコールと混和性であるキシレンによって置換されてもよい。組織包埋は、組織を温パラフィンワックスに包埋することを含むことができる。パラフィンワックスは、キシレンに可溶であり得るため、溶融ワックスは、キシレンによって充填され、以前に水によって充填されていた空間を充填することができる。ワックス充填組織が冷却されて、切片切断のためにミクロトームにクランプすることができる硬化ブロックを形成することができる。場合によっては、上記の例示的な手順からの逸脱は、抗体、化学物質、または他の固定剤の浸透の阻害をもたらすパラフィンワックスの浸透をもたらす。
【0042】
組織学的染色プロセス100の段階130は、組織切片化を含むことができる。組織切
片化は、検査のためにサンプルを顕微鏡スライド上に取り付ける目的で、サンプルの薄い切片を包埋ブロックから切断するプロセスである。ミクロトームを使用して組織切片化が行われてもよい。場合によっては、組織はドライアイスまたはイソペンタン中で急速に凍結されることができ、次いで冷蔵キャビネット(例えば、クライオスタット)中でコールドナイフによって切断されることができる。液体窒素などの他のタイプの冷却剤が使用されて組織を凍結させることができる。光学顕微鏡によって使用するための組織切片は、一般に4~10μm程度の厚さである。場合によっては、切片はエポキシ樹脂またはアクリル樹脂に埋め込まれることができ、これは、より薄い切片(例えば、<2μm)が切断されることを可能にすることができる。組織切片は、ガラススライド上に置かれることができる。
【0043】
組織学的染色プロセス100の段階140は、組織切片染色を含むことができる。染色の目的は、色反応によって異なる組織成分を識別することである。ほとんどの細胞は無色透明である。したがって、細胞を可視化するために組織学的切片を染色する必要があり得る。染色プロセスは、一般に、特定の化合物、構造、分子、または特徴(例えば、細胞内特徴)の存在を確認または定量するために、色素または染色剤を切片化されたサンプルに添加することを含む。例えば、染色は、組織切片画像から特定のバイオマーカー(例えば、PD-L1)を同定または強調するのに役立つことができる。他の例では、染色が使用されて、生物学的組織(例えば、筋線維または結合組織)、細胞集団(例えば、異なる血球)、または個々の細胞内の細胞小器官を同定または強調することができる。多くの染色溶液は水性である。したがって、切片を染色するためには、染色溶液を切片に適用する前に、ワックスが溶解され、水によって置換される(再水和)必要があり得る。例えば、切片は、キシレン、エチルアルコールの濃度を減少させること(約100%から0%)、および水を順次通過させることができる。染色されると、切片が再度脱水され、キシレンに入れられてもよい。次いで、切片がキシレンに溶解した封入剤中の顕微鏡スライド上に封入されることができる。サンプル切片を保護するために、カバースリップが上部に配置されることができる。カバースリップの縁部の周りのキシレンの蒸発は、装着媒体を乾燥させ、カバースリップをスライドにしっかりと接合することができる。
【0044】
様々なタイプの染色プロトコルが使用されて組織染色を行うことができる。例えば、IHC染色プロトコルは、インキュベーション中にスライドからの試薬の漏出を防ぐために組織切片の周りに疎水性バリアラインを使用すること、非特異的染色の内因性源を遮断するために組織切片を試薬によって処理すること(例えば、酵素、遊離アルデヒド基、免疫グロブリン、特異的染色を模倣することができる他の無関係な分子)、組織への抗体および他の染色試薬の浸透を促進するために透過化緩衝液とともに組織切片をインキュベートすること、特定の温度(例えば、室温、6~8℃)で一定期間(例えば、1~24時間)一次抗体とともに組織切片をインキュベートすること、洗浄緩衝液を使用して組織切片をすすぐこと、別の特定の温度(例えば、室温)で別の期間二次抗体とともに組織切片をインキュベートすること、水緩衝液を使用して組織切片を再びすすぎ、すすいだ組織切片を色素原(例えば、DAB)とともにインキュベートすること、および反応を停止させるために色素原を洗い流すことを含む。場合によっては、その後、対比染色が使用されて組織切片の全体「ランドスケープ」を識別し、組織標的の検出に使用される主要な色の参照として機能する。対比染色剤の例は、ヘマトキシリン(青色から紫色の染色剤)、メチレンブルー(染色剤青色)、トルイジンブルー(核深青色、多糖類ピンク色から赤色の染色剤)、核ファストレッド(Kernechtrot色素とも呼ばれ、赤色に染色する)、メチルグリーン(染色剤緑色)、非核発色性染色剤、例えばエオシン(ピンク色の染色剤)などを含むことができる。当業者は、他のIHC染色技術を実施して組織切片染色を行うことができることを認識するであろう。
【0045】
別の例では、組織切片染色のためにH&E染色プロトコルが実施されることができる。
H&E染色プロトコルは、金属塩または媒染剤と混合したヘマトキシリン染色によって組織切片を適用することを含む。次いで、組織切片を弱酸溶液ですすいで過剰な染色(分化)を除去し、続いて弱アルカリ水中で青みを付けることができる。ヘマトキシリンの適用後、組織がエオシンによって対比染色されることができる。他のH&E染色技術が実施されることができることが理解されよう。
【0046】
いくつかの実施形態では、関心のある特徴がどれであるかに応じて、様々なタイプの染色を使用して組織染色を行うことができる。例えば、DABは、IHC染色のための様々な組織切片に使用されることができ、DABは、染色画像において関心のある特徴を表示する茶色をもたらす。別の例では、DAB色がメラニン色素によってマスクされることができるため、アルカリホスファターゼ(AP)がIHC染色のための皮膚組織切片に使用されることができる。一次染色技術に関して、適用可能な染色は、例えば、好塩基性および好酸性染色、ヘマチンおよびヘマトキシリン、硝酸銀、三色染色などを含むことができる。酸性染料は、組織または細胞中のカチオン性または塩基性成分、例えばタンパク質および細胞質中の他の成分と反応することができる。塩基性色素は、組織または細胞中のアニオン性または酸性成分、例えば核酸と反応することができる。上記のように、染色系の一例はH&Eである。エオシンは、負に帯電したピンク色の酸性染料とすることができ、ヘマトキシリンは、ヘマテインおよびアルミニウムイオンを含む紫色または青色の塩基性染料とすることができる。染色の他の例は、過ヨウ素酸-シッフ反応(PAS)染色、マッソンのトリクローム、アルシアンブルー、ファンギーソン、レチキュリン染色などを含むことができる。いくつかの実施形態では、異なるタイプの染色剤が組み合わせて使用されることができる。
【0047】
組織学的染色プロセス100の段階150は、電子顕微鏡または光学顕微鏡を使用してスライド内の染色された組織を検査するための医用イメージングを含むことができる。場合によっては、検査は、顕微鏡検査の前の肉眼検査を含むことができる。肉眼的検査は、病理医が塊(おそらく癌)を有する細胞または組織を識別するのを助けることができ、顕微鏡検査が使用されて確認することができる。顕微鏡は、組織の詳細を明らかにするために組織の画像を拡大することができる。例えば、光学顕微鏡は、約数百ナノメートルなど、1μm未満の分解能を有することができる。ナノメートルまたはサブナノメートルの範囲でより細かい詳細を観察するために、電子顕微鏡が使用されることができる。
【0048】
段階160において、染色された切片の画像が分析されることができ、その結果が報告されることができる。分析は、定性分析であってもよく、または定量分析であってもよい。組織病理学では、染色画像が分析されて、疾患の徴候を識別し、疾患過程の生物学的機構を理解することなどができる。例えば、免疫組織化学(IHC)組織学が使用されて、正確な腫瘍分類および診断を補助することができる特定のタンパク質マーカーの存在を検出することができる。細胞学において、染色画像は、細胞の構造、機能および化学、単離された細胞および細胞クラスタの存在、腺などのより複雑な構造の非存在などを研究するために使用されることができる。
【0049】
上記の組織学的染色プロセスは、様々なアーチファクトの存在に起因して、正常な形態学的特徴および細胞学的特徴に様々な変化を導入することができる。本明細書で使用される場合、「アーチファクト」という用語は、外因性因子の結果としての調製された顕微鏡スライドにおける人工構造または組織変化を指すことができる。アーチファクトは、例えば、外科的除去、固定、組織処理、包埋、セクショニング、染色、および取り付け手順中に発生する可能性がある。組織病理学におけるアーチファクトは、例えば、固定前アーチファクト、固定アーチファクト、骨組織に関連するアーチファクト、組織処理アーチファクト、切開に関連するアーチファクト、浮遊および取り付けに関連するアーチファクト、染色アーチファクト、取り付けアーチファクト、生物学的アーチファクト、イメージング
アーチファクトなどを含むことができる。
【0050】
例えば、固定前アーチファクトは、注入アーチファクト、スクイーズアーチファクト(例えば、組織の裂け目または組織のひだ)、硫化アーチファクト、デンプンアーチファクト、自己分解アーチファクトなどを含むことができる。固定アーチファクトは、例えば、ホルマリン顔料、水銀顔料、氷晶アーチファクト、凍結アーチファクト、ストリーミングアーチファクトなどを含むことができる。浮遊および取り付けに関連するアーチファクトは、例えば、断面のひだおよびしわ、汚染、気泡などを含むことができる。染色アーチファクトは、例えば、残留ワックス、エオシンへの酢酸の添加に関連するアーチファクト、ヘマトキシリンの媒染によるアーチファクト、ヘマトキシリンの蛍光光沢によるアーチファクトなどを含むことができる。取り付けアーチファクトは、例えば、残留水および気泡を含むことができる。
【0051】
図2A~
図2Fは、組織病理学的染色画像の例を示している。
図2Aは、ヘマトキシリンによって染色した組織の画像の例を示している。
図2Bは、ウォーターマークを有する組織の画像の例を示している。
図2Cは、膜/細胞質染色を有する組織の画像の例を示している。
図2Dは、結合線維または間質要素の非特異的染色を有する染色画像の例を示している。
図2Eは、核染色液の画像の例を示している。
図2Fは、組織ひだを有する画像の例を示している。
【0052】
アーチファクトは、染色されたサンプルセクションの画像の品質を低下させることがあり、これは誤診断または診断の遅延を引き起こすことがある。例えば、染色されたサンプルの画像に存在する複数のアーチファクト(例えば、焦点が合っていない、ウォーターマーク、および組織のひだ)は、診断特徴を不明瞭にすることがある。これらのアーチファクトは、組織の完全な使用不可能性をもたらすことさえもある。スライド画像を正確に分析するために、スライド画像内のそのようなアーチファクトまたは他の人工的な効果を検出し、可能であれば、アーチファクトおよび他の人工的な効果が病理診断に干渉しないようにスライド画像を処理することが望ましい場合がある。しかしながら、染色画像の品質を評価し、染色画像からアーチファクトを検出することは、主観的で時間がかかる可能性がある。
II.機械学習モデル
【0053】
CNNモデルなどの機械学習技術は、画像分類、オブジェクト検出および認識、ビデオ行動認識などに首尾よく適用されている。CNNモデルは、局所的なフィルタを再利用して局所的な領域から特徴を抽出することによって、空間的局所性および重み共有を効率的に実装する。畳み込みニューラルネットワークは、例えば、畳み込み、非線形性(または活性化)関数(例えば、ReLU)、プーリングまたはサブサンプリング、および分類を含む演算を実行することができる。異なるCNNは、これらの主な動作の異なる組み合わせ、ならびに他の追加の動作を有することができる。例えば、残差ニューラルネットワーク(ResNet)ネットワークは、大部分が畳み込み層および少数のプーリング層を含むネットワーク層を含むことができ、残差学習のための残差加算演算を実行することもできる。
【0054】
図3は、画像または他のオブジェクト分類のためのCNN300の例を示している。上述したように、CNN300は、畳み込み、非線形性(または活性化)関数、プーリングまたはサブサンプリング、および分類を含む演算を実行することができる。(入力特徴マップと呼ばれる)1つ以上の入力画像または他の入力データセットなどの分類されるオブジェクト310は、画素値の行列によって表されることができる。例えば、オブジェクト310は、複数のチャネル(例えば、複数の入力特徴マップ)を含むことができ、各チャネルは、オブジェクト310の特定の構成要素を表す。例えば、デジタルカメラまたは顕
微鏡からのカラー画像は、赤色チャネル、緑色チャネル、および青色チャネルを有することができ、各チャネルは、例えば0から255(すなわち、8ビット)の範囲の画素値を有する画素の行列によって表されることができる。グレースケール画像は、1つのチャネルのみを有することができる。以下の説明では、CNN300を使用した単一の画像チャンネルの処理について説明する。他のチャネルも同様に処理されることができる。
【0055】
図3に示すように、オブジェクト310(例えば、入力画像)は、最初に、フィルタの第1のセットを使用して第1の畳み込み層315によって処理されることができ、第1の畳み込み層315は、入力画像を表す行列とフィルタの第1のセット内の各フィルタを表す行列との間の畳み込みを実行することができる。畳み込みは、複数の行列乗算を含むことができる。第1の畳み込み層315はまた、非線形活性化関数(例えば、ReLU)を実行してもよい。第1の畳み込み層315からの出力行列320は、入力画像よりも小さい次元を有してもよい。第1の畳み込み層315は、フィルタの第1のセットを使用して入力画像に対して畳み込みを実行して、第1の畳み込み層315の出力特徴マップと呼ばれることがある複数の出力行列320を生成することができる。使用されるフィルタの数は、畳み込み層の深さと呼ばれることがある。
図3に示す例では、第1の畳み込み層315は、3の深さを有することができる。各出力行列320(例えば、出力特徴マップ)は、プーリング層325に渡されることができ、各出力行列320は、行列330を生成するためにサブサンプリングまたはダウンサンプリングされることができる。
【0056】
各行列330は、フィルタの第2のセットを使用して第2の畳み込み層335によって処理されることができる。非線形活性化関数(例えば、ReLU)もまた、上述したように第2の畳み込み層335によって実行されてもよい。第2の畳み込み層335からの出力行列340(例えば、出力特徴マップ)は、行列330よりも小さい次元を有してもよい。第2の畳み込み層335は、複数の出力行列340を生成するためにフィルタの第2のセットを使用して行列330に対して畳み込みを実行することができる。
図3に示す例では、第2の畳み込み層335は、6の深さを有することができる。各出力行列340は、プーリング層345に渡されることができ、各出力行列340は、出力行列350を生成するためにサブサンプリングまたはダウンサンプリングされることができる。
【0057】
プーリング層345からの出力行列350は、平坦化層355によってベクトルに平坦化されることができる。平坦化されたベクトルは、全結合層360(例えば、多層パーセプトロン(MLP))に渡されることができる。全結合層360は、平坦化層355から出力ベクトルを取得する入力層370を含むことができる。全結合層360はまた、隠れ層380および出力層390を含むことができる。全結合層360は、特徴マップまたは出力行列350、および例えばソフトマックス関数を使用して、入力画像内のオブジェクトをいくつかのカテゴリのうちの1つに分類することができる。全結合層の演算は、行列乗算によって表されることができる。例えば、入力層370上にM個のノードがあり、隠れ層380上にN個のノードがあり、入力層370上のM個のノードと隠れ層380上のN個のノードとの間の接続の重みを、M・N個の要素を含む行列Wによって表されることができる場合、隠れ層380の出力Yは、Y=X×Wによって決定されることができる。
【0058】
CNNにおける畳み込み演算は、入力画像から特徴を抽出するために使用されることができる。畳み込み演算は、入力画像の小領域を使用して画像特徴を抽出することによって、画素間の空間的関係を保存することができる。畳み込みでは、行列(フィルタ、カーネル、または特徴検出器と呼ばれる)は、特定のステップサイズ(ストライドと呼ばれる)において入力画像(または特徴マップ)上をスライドすることができる。全ての位置(またはステップ)について、入力画像内のフィルタ行列と重複行列との間の要素ごとの乗算が計算され、合計されて、出力行列内の単一の要素(例えば、特徴マップ)を表す最終値を生成することができる。フィルタは、元の入力画像から特定の特徴を検出するように作
用することができる。
【0059】
入力画素アレイ上で1つのフィルタ(または1つのフィルタセット)を使用する畳み込みが使用されて、1つの特徴マップを生成することができ、同じ入力画素アレイ上で別のフィルタ(または別のフィルタセット)を使用する畳み込みは、異なる特徴マップを生成することができる。CNNは、フィルタの数、フィルタサイズ、ネットワークのアーキテクチャなどのいくつかのユーザ指定パラメータ(ハイパーパラメータと呼ばれることがある)に基づいて、訓練プロセス中にフィルタ自体の重みを学習することができる。画像特徴抽出ならびに新たな画像におけるパターン認識を改善するために、特徴マップを生成するために、特定の数のフィルタおよび/またはフィルタの特定のサイズが決定されることができる。
【0060】
出力特徴マップのサイズは、深さ、ストライド、およびゼロパディングなどのパラメータに基づいて決定されることができる。上述したように、畳み込み層の深さは、畳み込み演算に使用されるフィルタ(またはフィルタのセット)の数に対応することができる。例えば、
図3に示すCNN300では、入力画像に対して畳み込み演算を実行するために第1の畳み込み層315において3つの別個のフィルタが使用され、したがって3つの異なる出力行列320(または特徴マップ)が生成される。ストライドは、フィルタ行列が入力画素アレイ上をスライドされる画素の数である。例えば、ストライドが1の場合、フィルタ行列は1画素ずつ移動する。ストライドが2の場合、フィルタ行列は2画素ずつ移動する。ストライドが大きいほど、より小さい特徴マップを生成することができる。いくつかの実装形態では、フィルタ行列が入力画素配列の境界要素に適用されることができるように、入力行列は、境界の周りにゼロでパディングされてもよい。ゼロパディングは、特徴マップのサイズの制御を可能にすることができる。
【0061】
図3に示すように、全ての畳み込み演算の後に、活性化関数(例えば、ReLU)を使用する追加の非線形演算が使用されることができる。ReLUは、特徴マップ内の全ての負の画素値をゼロに置き換える要素ごとの演算である。ReLU動作の目的は、CNNに非線形性を導入することである。tanhまたはシグモイド関数などの他の非線形関数も使用されることができるが、ReLUは、多くの状況においてより良好に機能することが分かっている。
【0062】
空間プーリング(サブサンプリングまたはダウンサンプリングとも呼ばれる)は、特定の重要な情報を保持しながら、各特徴マップの次元を削減することができる。特に、プーリングは、特徴次元をより小さく、より管理しやすくし、ネットワーク内のパラメータおよび計算の数を減らすことができる。空間プーリングは、最大プーリング、平均プーリング、総プーリングなどの様々な方法で実行されることができる。最大プーリングでは、各空間的近傍(例えば、2×2の窓)内の最大要素が使用されて、空間的近傍を表すことができる。最大要素をとる代わりに、各窓内の全ての要素の平均(平均プールの場合)または合計(合計プールの場合)が使用されて、空間的近傍を表すことができる。
【0063】
図3に示す例では、2組の畳み込み層およびプーリング層が使用される。これらの動作は、単一のCNNにおいて任意の回数繰り返されることができることに留意されたい。さらに、全ての畳み込み層の後にプーリング層が使用されなくてもよい。例えば、いくつかの実装形態では、CNNは、プーリング演算を実行する前に複数の畳み込み演算およびReLU演算を実行することができる。
【0064】
CNN300などの畳み込みニューラルネットワークの訓練プロセスは、任意のフィードフォワードニューラルネットワークの訓練プロセスと同様とすることができる。第一に、全てのパラメータおよび重み(フィルタ内の重みおよび全結合層の重みを含む)は、ラ
ンダム値または既知のニューラルネットワークのパラメータによって初期化されることができる。第二に、畳み込みニューラルネットワークは、訓練サンプル(例えば、訓練画像)を入力として取得し、順伝播ステップ(畳み込み演算、非線形活性化演算、およびプーリング演算、ならびに全結合層における順伝播演算を含む)を実行し、各可能なクラスの出力確率を決定することができる。訓練サンプルは、出力確率に基づいてソフトマックス関数を使用して分類されることができる。畳み込みニューラルネットワークによる訓練サンプルの分類結果は、予想結果と比較されてもよく、予想結果と分類出力との間の誤差は、前の層に逆伝播されてもよい。重みは、それに応じて誤差に基づいて調整されることができる。例えば、逆伝播法などの技術が使用されて、ネットワーク内で訓練されるパラメータに関する誤差の勾配を計算することができ、勾配降下法が使用されて、ネットワーク内で訓練されるパラメータを更新して出力誤差を最小化することができる。このプロセスは、特定の回数、特定の数の訓練サンプル、または出力誤差が所定の閾値を下回るまで繰り返されてもよい。
【0065】
訓練プロセスの終わりに、CNNの全てのパラメータは、訓練データセットから訓練サンプルを正しく分類するために最適化されていてもよい。見えないサンプル(例えば、試験サンプルまたは新たなサンプル)がCNNに入力されると、CNNは、順伝播ステップを経て、訓練されたパラメータを使用して各クラスの確率を出力することができ、これは訓練プロセスと比較して推論(または予測)プロセスと呼ばれることがある。訓練データセットが十分である場合、訓練されたネットワークは、見えていないサンプルを正しいクラスに分類することができる。
【0066】
CNNの一例は、高密度畳み込みネットワーク(DenseNets)である。DenseNetでは、各層は、フィードフォワード方式で先行する全ての層に接続されることができ、先行する全ての層の出力特徴マップと元の入力特徴マップとが連結されて、現在の層の入力特徴マップを形成することができる。DenseNetは、冗長な特徴マップを学習する必要がないため、同等の従来のCNNよりも少ないパラメータを使用することができる。DenseNetは、高性能を達成するために、より少ないメモリおよび計算を使用することができる。
III.few-shot学習および転移学習を使用した画像分類
【0067】
一般に、ニューラルネットワークまたは他の機械学習モデルを訓練するために多数のサンプルが必要とされる場合がある。デジタル病理学の場合、広範囲にラベル付けされたデータセットは利用できないか、または機械学習モデルを訓練するために医療専門家によって染色画像を手動で分析して注釈を付けることは高価で時間がかかることがある。
【0068】
特定の実施形態によれば、few-shot学習技術が使用されて、組織スライドの視野画像を、特定の染色パターン、アーチファクト、および他の関心のある特徴を含む様々なクラスに分類するための機械学習モデル(例えば、ニューラルネットワーク)を訓練する。機械学習モデルは、1つ以上の全結合層を含む予め訓練された畳み込みニューラルネットワークを含むことができる。予め訓練された畳み込みニューラルネットワークは、大きなベンチマークデータセット(例えば、CIFAR-10、CIFAR-100、SVHN、またはImageNetデータセット)を使用して訓練され、VGG、Inception V3、ResNet(例えば、ResNet-50)、DenseNetなどの公開された(ダウンロードのために利用可能な)深層ニューラルネットワークを含むことができる。全結合層以外の層は再訓練されなくてもよい。機械学習モデルの1つ以上の全結合層は、複数の(例えば、M個)画像クラスの各画像クラスに対して、few-shot学習技術および少数の訓練サンプル(例えば、染色画像)を使用して、複数の反復(エピソードと呼ばれる)において再訓練されることができる。M個の画像クラスの限られた数の訓練サンプルから学習された知識は、機械学習モデルを訓練するために使用される
M個の画像クラスにないアーチファクトを有する染色画像などの他のクラスのクエリサンプルを分類するために転送されることができる。例えば、訓練された機械学習モデルが使用されて、機械学習モデルを再訓練することなく、クエリ画像と各新たな画像クラスの少数の例との間の関係スコア(例えば、埋め込みの距離)を計算することによって、新たな画像クラスのクエリ画像を分類することができる。
【0069】
図4は、特定の実施形態にかかる、生物学的サンプルの染色画像を分類するための機械学習モデル400の例を示している。図示の例では、機械学習モデル400は、ニューラルネットワーク430(例えば、DenseNetまたは別の深層ニューラルネットワーク)を含むことができ、ニューラルネットワーク430の端部に複数の畳み込み層432および1つ以上の全結合層434を含むことができる。複数の画像クラス(例えば、アーチファクトのない染色画像およびタンパク質マーカーなどの異なるタイプのアーチファクトのある染色画像)の各画像クラスに属する少数(例えば、約20未満、例えば約5から15)のサポート画像410(例えば、染色画像)は、ニューラルネットワーク430によって対応する埋め込み(例えば、多次元特徴ベクトル)に符号化されることができる。同じ画像クラスに属するサポート画像の埋め込みは、多次元空間440内にクラスタを形成することができる。同じ画像クラスに属するサポート画像の埋め込みの平均、中央値、または中心が計算されて、多次元空間440内の画像クラスを表すプロトタイプを決定することができる。
【0070】
分類される各クエリ画像420(例えば、染色画像)はまた、ニューラルネットワーク430によって対応する埋め込みに符号化されてもよい。クエリ画像420の埋め込みと各画像クラスのプロトタイプとの間の距離または類似度メトリック(例えば、マンハッタン、ユークリッド、チェビシェフ、もしくはハミング距離、またはコサイン類似度)は、類似度メトリックエンジン450によって決定されることができる。次いで、クエリ画像420は、クエリ画像420の埋め込みと各クラスのプロトタイプとの間の類似度メトリックに基づいて予測エンジン460によって分類されることができる。例えば、クエリ画像420は、予測エンジン460によって、そのプロトタイプがクエリ画像420の埋め込みに最も近いクラスに分類されてもよい。
【0071】
ニューラルネットワーク430、類似度メトリックエンジン450、および予測エンジン460は、例えば、1つ以上の汎用CPU、GPU、TPU、またはシストリックアレイ、SIMDプロセッサなど、および機械学習モデル400の記述に基づいてコンパイラによって生成された命令を使用して実装されることができる。
【0072】
機械学習モデル400、より具体的にはニューラルネットワーク430は、いくつかの既知の画像クラスからの画像を使用して訓練されることができる。訓練された機械学習モデル400(またはニューラルネットワーク430)が使用されて、新たな画像クラス(例えば、新たなタイプのアーチファクトで)のクエリ画像を分類することもできる。例えば、クエリ画像が新たな画像クラスに属するかどうかを判定するために、新たな画像クラスの少数(例えば、1、5、10、15など、20未満)のサポート画像が提供され、入力として使用されることができる。サポート画像は、サポート画像の埋め込みを生成するために、ニューラルネットワーク430によって符号化または処理されてもよい。新たな画像クラスを表すプロトタイプは、(例えば)サポート画像の埋め込みの平均、中央値、または中心を計算することによって決定されることができる。クエリ画像の埋め込みは、ニューラルネットワーク430によって抽出されてもよい。既存の画像クラスおよび新たな画像クラスのプロトタイプに対するクエリ画像の埋め込みの類似度メトリックは、類似度メトリックエンジン450によって決定されてもよい。次いで、類似度メトリックが予測エンジン460によって使用されて、クエリ画像がどのクラスに属するかを決定することができる。
【0073】
図5は、特定の実施形態にかかる、機械学習モデルおよびサポート画像のセットを使用してクエリ画像を分類する方法の例を示すフローチャート500を含む。フローチャート500に記載された動作は、例えば、機械学習モデル400などの機械学習モデルを実装するコンピュータシステムによって実行されることができる。フローチャート500は、動作を順次プロセスとして説明することができるが、様々な実施形態では、動作の多くは、並行してまたは同時に実行されてもよい。さらに、動作の順序は変更されてもよい。動作には、図示されていない追加のステップがあってもよい。さらにまた、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実装されることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装される場合、関連するタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶されてもよい。
【0074】
動作510において、コンピュータシステムは、機械学習モデル、第1の画像クラス内のサポート画像のセット、およびクエリ画像を受信することができる。サポート画像およびクエリ画像は、例えば、アーチファクトの有無にかかわらず、染色画像であってもよい。例えば、第1の画像クラスのサポート画像は、ウォーターマーク、組織のひだ、ぼやけなどの、上述した一般的なタイプのアーチファクトを含むことができる。クエリ画像は、第1の画像クラスに属していてもいなくてもよい。機械学習モデルの一例は、機械学習モデル400であってよい。機械学習モデルは、第1の画像クラスを含んでも含まなくてもよいいくつかの画像クラスからの訓練画像を使用して訓練されることができる。機械学習モデルは、染色画像などの入力画像の埋め込みを生成するように訓練されてもよい。機械学習モデルは、特徴ベクトルを抽出するか、または入力画像の埋め込みを生成することができる深層ニューラルネットワーク(例えば、DenseNetなどのニューラルネットワーク430)を含むことができる。機械学習モデルはまた、埋め込み間の類似度メトリック(例えば、二乗ユークリッド距離)を決定することができる類似度メトリックエンジン(例えば、類似度メトリックエンジン450)と、クエリ画像に関連付けられた類似度メトリックに基づいてクエリ画像を分類する予測エンジン(例えば、予測エンジン450)とを含むことができる。
【0075】
動作520において、コンピュータシステムは、機械学習モデルに基づいて、サポート画像のセットの各サポート画像のそれぞれの埋め込みを生成することができる。例えば、サポート画像は、ResNetまたはDenseNetなどの深層畳み込みニューラルネットワークに渡されてもよく、これは、畳み込み、活性化、およびプーリング演算を介してサポート画像に様々なフィルタを適用して、多次元空間内のサポート画像を表すベクトルとして低次元特徴ベクトルを抽出することができる。
【0076】
動作530において、コンピュータシステムは、第1の画像クラスのプロトタイプを計算することができる。サポート画像のセットの埋め込みは、多次元空間内にクラスタを形成することができる。プロトタイプは、例えば、多次元空間におけるサポート画像のセットの埋め込みのクラスタの中心など、サポート画像のセットの埋め込みの平均、中央値、または中心であってもよい。機械学習モデルの訓練中に使用される画像クラスのプロトタイプは、既知であってもよく、またはこれらの画像クラスからのサポート画像を使用して決定されてもよい。
【0077】
動作540において、コンピュータシステムは、サポート画像の埋め込みを生成するために使用されたのと同じ機械学習モデルに基づいてクエリ画像の埋め込みを生成することができる。したがって、クエリ画像は、サポート画像と同じ多次元空間にマッピングされてもよい。
【0078】
動作550において、コンピュータシステムは、クエリ画像の埋め込みと第1の画像クラスのプロトタイプとの間の類似度メトリックを決定することができる。上述したように、類似度メトリックは、例えば、多次元空間における2つのベクトル間の二乗ユークリッド距離またはコサイン類似度を含むことができる。いくつかの実施形態では、クエリ画像の埋め込みと他の各画像クラスの既知のプロトタイプとの間の類似度メトリックも同様に決定されることができる。
【0079】
動作560において、コンピュータシステムは、クエリ画像の埋め込みと第1の画像クラスのプロトタイプとの間の類似度メトリック、および/またはクエリ画像の埋め込みと他の各画像クラスの既知のプロトタイプとの間の類似度メトリックに基づいて、クエリ画像を分類することができる。例えば、コンピュータシステムは、クエリ画像の埋め込みと第1の画像クラスのプロトタイプとの間の二乗ユークリッド距離が閾値よりも大きいと判定することに基づいて、クエリ画像が第1の画像クラス内にないと決定することができる。別の例では、コンピュータシステムは、クエリ画像の埋め込みと第2の画像クラスのプロトタイプとの間の二乗ユークリッド距離が画像クラスのプロトタイプの中で最も低いと決定することに基づいて、クエリ画像が第2の画像クラス内にあると決定することができる。
【0080】
上述した機械学習モデルは、few-shot学習技術および転移学習技術を使用して訓練されることができる。機械学習モデルは、予め訓練された畳み込みニューラルネットワークに基づくことができる。予め訓練された畳み込みニューラルネットワークは、大きなベンチマークデータセット(例えば、CIFAR-10、CIFAR-100、SVHN、またはImageNetデータセット)を使用して訓練され、VGG、Inception、ResNet、DenseNetなどの公開された(ダウンロードのために利用可能な)深層ニューラルネットワークを含むことができる。予め訓練された畳み込みニューラルネットワークの、1つ以上の全結合層などの少数の層のみが再訓練されて、染色画像を分類することができる。1つ以上の全結合層は、few-shot学習技術を使用して少数の訓練画像を使用して再訓練されることができる。
【0081】
図6は、特定の実施形態にかかる、染色画像または他の画像を分類するための機械学習モデルを訓練する方法の例を示すフローチャート600を含む。フローチャート600に記載された動作は、例えば、1つ以上のCPU、GPU、TPU、シストリックアレイ、またはSIMDプロセッサを含むコンピュータシステムによって実行されてもよい。フローチャート600は、動作を順次プロセスとして説明することができるが、様々な実施形態では、動作の多くは、並行してまたは同時に実行されてもよい。また、動作の順序は変更されてもよい。動作には、図示されていない追加のステップがあってもよい。さらにまた、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実装されることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装される場合、関連するタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶されてもよい。
【0082】
動作610において、コンピュータシステムは、予め訓練された深層ニューラルネットワークモデルおよびM個のクラスに属する訓練画像を受信することができる。予め訓練された畳み込み深層ニューラルネットワークモデルは、大きなベンチマークデータセット(例えば、CIFAR-10、CIFAR-100、SVHN、またはImageNetデータセット)を使用して訓練され、VGG、Inception、ResNet、DenseNetなどの公開された(ダウンロードのために利用可能な)深層ニューラルネットワークを含むことができる。一例では、予め訓練された深層ニューラルネットワークモデ
ルは、複数の畳み込み層を含むDenseNet-121を含むことができ、各畳み込み層への入力は、元の入力特徴マップおよび全ての先行する層の出力特徴マップを含むことができる。各畳み込み層は、先行する畳み込み層とは異なるレベルの特徴マップにアクセスすることができるため、DenseNet-121は、従来の畳み込みニューラルネットワークよりも良好な性能を有することができる。他の多くのニューラルネットワークと同様に、DenseNet-121は、例えば端部に1つ以上の全結合層を含むこともできる。DenseNet-121はまた、ソフトマックス層を含むことができる。訓練画像は、例えば、上述したように異なるタイプのパターンおよびアーチファクトを有する染色画像を含むことができる。訓練画像は、対応する画像クラス(例えば、パターンまたはアーチファクトのタイプ)でラベル付けされることができる。訓練画像は、画像クラスごとの訓練画像のそれぞれのセットを含むことができる。
【0083】
動作620において、コンピュータシステムは、M個のクラスからK個のクラスをランダムに、擬似ランダムに、または他の方法で選択することができ、K≦Mである。選択されたK個のクラスの各クラスにおける訓練画像のそれぞれのセットから、N個の訓練画像は、ランダムに、擬似ランダムに、またはそうでなければサポート画像として選択されてもよく、Q個の訓練画像は、ランダムに、擬似ランダムに、またはそうでなければクエリ画像として選択されてもよい。Nは、20未満、例えば約5から10などの小さい数であってもよい。Qもまた、約5から10などの小さい数である。一例では、各クラスの訓練画像のセットは、20個の訓練画像を含むことができ、Kは5とすることができ、Nは10とすることができ、Qは5とすることができる。したがって、50個のサポート画像および25個のクエリ画像が5つのクラスに属する100個の訓練画像から選択されることができる。
【0084】
動作630において、コンピュータシステムは、予め訓練された深層ニューラルネットワークモデルを使用して、K個のクラスの各クラスについてN個のサポート画像およびQ個のクエリ画像の埋め込みを生成することができる。各サポート画像またはクエリ画像は、予め訓練された深層ニューラルネットワークモデルに渡されて、それぞれの特徴ベクトル(すなわち、埋め込み)を生成することができる。一例では、各訓練画像は、256×256画素を含むことができる。各訓練画像は、2次元マトリックス(例えば、256・256)または3次元マトリックス(例えば、256・256・3のカラーチャネル)によって表されることができる。各訓練画像の特徴ベクトル(または埋め込み)は、1024要素ベクトルを含むことができる。サポート画像の埋め込みは、多次元空間内のクラスタを形成することができる。
【0085】
動作640において、コンピュータシステムは、K個のクラスの各クラスについて、多次元空間内のクラスを表すプロトタイプを計算することができる。例えば、クラスのプロトタイプは、クラスのN個のサポート画像の埋め込みの平均または中央値、またはクラスのN個のサポート画像の埋め込みのクラスタの中心であってもよい。
【0086】
動作650において、Q個のクエリ画像の各それぞれのクエリ画像の埋め込みとK個のクラスのプロトタイプとの間の類似度メトリックが決定されることができる。一例では、クエリ画像の類似度メトリックの各類似度メトリックは、クエリ画像の埋め込みとそれぞれのクラスのプロトタイプとの間の二乗ユークリッド距離であってもよい。次いで、Q個のクエリ画像の各クエリ画像は、クエリ画像の埋め込みとK個のクラスのプロトタイプとの間の類似度メトリックに基づいて分類されることができる。例えば、クエリ画像は、そのプロトタイプがクエリ言語の埋め込みに最も近い(例えば、ユークリッド距離が最も短い)クラスに分類されることができる。
【0087】
動作660において、Q個のクエリ画像の分類の結果に基づいて、全結合層のパラメー
タ(例えば、重み)などの予め訓練された深層ニューラルネットワークモデルのパラメータが調整されることができる。上述したように、予め訓練された深層ニューラルネットワークモデルのパラメータは、逆伝播技術を使用して調整されることができ、パラメータに関する分類誤差の勾配が計算され、パラメータを更新するために使用されることができる。いくつかの実施形態では、古典的な確率的勾配降下手順が使用されて、予め訓練された深層ニューラルネットワークモデルのパラメータを更新することができる。いくつかの実施形態では、適応モーメント(Adam)推定技術が使用されて、予め訓練された深層ニューラルネットワークモデルのパラメータを更新することができる。Adam推定技術は、深層ニューラルネットワークを訓練するための適応学習率最適化技術である。Adam推定技術は、適応学習率法の力を活用して、各パラメータの個々の学習率を見つける。Adam推定技術は、勾配の平均第1のモーメント(平均)および第2のモーメントの平均(非中心分散)に基づいてパラメータ学習率を適合させることができる。
【0088】
動作620~660は、深層ニューラルネットワークモデルのパラメータを最適化するために反復的に実行されてもよい。いくつかの実施形態では、動作620~660は、所定の回数実行されてもよい。いくつかの実施形態では、動作620~660は、M個のクラスについて受信した訓練画像内の全ての訓練画像が選択されるまで実行されることができる。いくつかの実施形態では、動作620~660は、分類誤差が特定の閾値を下回るまで実行されてもよい。
【0089】
特定の実施形態によれば、分類結果に基づいて、異なるアーチファクトクラスに分類された染色画像は、その後の分析のために染色画像の品質を改善するために除外、マーキング、または再取得されることができる。例えば、特定のアーチファクトを有する染色画像は、その後の分析から除外されることができる。特定のアーチファクトを有するいくつかの染色画像では、アーチファクトを有する染色画像の部分が識別またはマークされることができ、その結果、その部分がその後の分析から除外されることができる。特定のアーチファクトを有するいくつかの染色画像について、染色された切片の染色画像は、異なる視野から取得されることができる。
IV.IHC染色組織の例示的なアーチファクト分類
【0090】
一例では、BCL2、HER2、CD10、Ki67などの異なるバイオマーカーのIHC染色組織の画像が40倍でスキャンされる。スキャンされた画像は、様々な染色特徴およびアーチファクトを含むことができる。訓練データセットは、スライド組織画像から256×256画素のパッチを抽出し、病理学者によってパッチに手動で注釈を付けることによってキュレートされることができる。キュレートされた訓練データセットは、6つの画像クラスに属する染色画像を含むことができる。6つの画像クラスは、2つの染色クラス(核染色および膜細胞質染色)、3つのアーチファクトクラス(組織のひだ、組織上のウォーターマーク、および非特異的な間質染色)、および1つの非染色クラスを含むことができる。訓練データセットは、6つのクラスのそれぞれについて20個のサンプル(画像または画像パッチ)を含み、合計120個のサンプルを含むことができる。訓練データセットは、サポートセットとクエリセットとに分割されることができる。例えば、few-shot学習を実行するために、各クラスからの10個のサンプルは、ランダム、擬似ランダム、またはサポートセットとして機能するように選択されてもよく、各クラスからの残りの10個のサンプルは、クエリセットとして使用されてもよい。さらに、外科用切開インク、切断(すなわち、引き裂かれた組織)、およびぼやけた領域を含む3つのクラスの新規アーチファクトのそれぞれについて20個のサンプルがキュレートされ、訓練された機械学習モデルの精度を評価するために使用されることができる。
【0091】
機械学習モデルとして、DenseNet-121ネットワークを有するプロトタイプネットワークが使用されることができる。DenseNet-121ネットワークは、予
め訓練および/または公開モデル(例えば、CIFAR-10、CIFAR-100、SVHN、またはImageNetデータセットを使用して訓練される)とすることができ、DenseNet-121ネットワークの全結合層のみを訓練データセットを使用して再訓練されることができる。最終的な全結合層は、1024個のノードを含むことができ、入力画像の低次元表現を生成するために使用されることができる。これは、少数のサンプルの使用に起因するオーバーフィッティングの問題を克服するのに役立つことができる。バッチ正規化は、ネットワークを正規化するために使用される。単一のネットワークが使用されて、サポート画像とクエリ画像の双方の埋め込みを生成する。上述したように、6つの画像クラスの表現(例えば、プロトタイプ)は、サポート画像に基づいて決定され、クエリ画像を分類するために類似度メトリック(例えば、ユークリッド距離)を使用してクエリ画像の埋め込みに対して評価される。
【0092】
訓練段階では、機械学習モデルは、few-shot学習に基づいて複数の反復で訓練されることができる。各訓練反復は、エピソードと呼ばれることがある。各エピソードにおいて、選択されたサポート画像およびクエリ画像がネットワークに送信され、ネットワーク損失(例えば、分類誤差)が決定され、誤差勾配が全結合層に逆伝播される。各エピソードにおいて、K個の画像クラスは、ランダムに、擬似ランダムに、またはそうでなければM個の画像クラスから選択されることができ、K≦Mである。K個の画像クラスの各画像クラスについて、画像クラスのN個のサポート画像は、ランダムに、擬似ランダムに、または他の方法で選択されることができ、Nはハイパーパラメータ(ショット数)であり、利用可能なサンプルの数に基づいて選択されることができる。例えば、Nは、約5から10であってもよい。K個の画像クラスの各画像クラスについて、Q個のクエリ画像はまた、ランダムに、擬似ランダムに、または他の方法で選択されてもよい。サポート画像の埋め込み(例えば、d次元特徴ベクトルであり、一例ではd=1024である)は、サポート画像を機械学習モデルに渡すことによって生成されることができる。したがって、各画像クラスに対して、N個の埋め込みが生成されることができる。各クラスにおけるN個のサポート画像のN個の埋め込みの平均、中央値、または中心が計算されて、画像クラスを表すプロトタイプを決定することができる。Q個のクエリ画像を分類するために、Q個のクエリ画像内の各クエリ画像がクエリ埋め込みに符号化されることができる。二乗ユークリッド距離メトリックが計算されて、各プロトタイプから各クエリ埋め込みまでの距離を決定することができる。各クエリ画像は、クエリ埋め込みに最も近いクラスプロトタイプに分類されることができる。分類誤差は、負の対数尤度損失および0.001の固定学習率を有するAdamオプティマイザを使用して機械学習モデルのパラメータを最適化するために逆伝播されてもよい。機械学習モデルは、10回の反復で訓練される。
【0093】
図7は、特定の実施形態にかかる、10回の反復後に訓練された機械学習モデルの出力のt-sne視覚化の例を示す
図700を含む。
図700は、2つの染色クラス(核染色および膜細胞質染色)、3つのアーチファクトクラス(組織のひだ、組織上のウォーターマーク、および非特異的な間質染色)、および1つの非染色クラスを含む、上記の6つの画像クラスのクラス表現(例えば、プロトタイプ)を示している。
図700は、クエリ画像の埋め込みも示している。各画像クラスのプロトタイプは、10個のサポート画像を使用して作成される。各画像クラスの5つのクエリ画像が視覚化に使用される。
図7は、訓練された機械学習モデルが、対応するプロトタイプの周りのクエリ画像の埋め込みを効率的にクラスタリングすることができることを示している。
【0094】
推論段階では、訓練された機械学習モデルは、染色画像を、訓練段階において使用される画像クラスと、訓練段階において使用されない新たな画像クラスとに分類されることができる。新たな画像クラスは、例えば、新たなタイプのアーチファクトに対応することができる。機械学習モデルは、新たな画像クラスからの画像を使用して再訓練される必要はない。クエリ画像が新たな画像クラスに属するかどうかを予測するために、訓練された機
械学習モデルは、新たな画像クラスの少数のサポート画像を使用して、サポート画像の埋め込みのクラスタを生成し、サポート画像の埋め込みに基づいて新たな画像クラスを表すプロトタイプを決定し、クエリ画像をクエリ埋め込みに符号化し、上述したように、クエリ埋め込みと新たな画像クラスのプロトタイプとの間の類似度メトリックに基づいてクエリ画像を分類することができる。
【0095】
図8は、特定の実施形態にかかる、異なるクラスの入力画像に対する訓練された機械学習モデルの出力のt-sne視覚化の例を示す
図800を含む。
図8に示す例では、機械学習モデルは、
図7を参照して説明した機械学習モデルと同じである。機械学習モデルは、2つの染色クラス(核染色および膜細胞質染色)、3つのアーチファクトクラス(組織のひだ、組織上のウォーターマーク、および非特異的な間質染色)、および1つの非染色クラスを含む、上記の6つの画像クラスからの画像を使用して訓練される。これら6つの画像クラスのプロトタイプおよびこれら6つの画像クラスへのクエリ画像の埋め込みが
図8に示されている。
【0096】
図8はまた、機械学習モデルの訓練段階中に使用されない3つの新たな画像クラスからの染色画像に対する機械学習モデルの出力を示している。3つの新たな画像クラスは、外科用切開インク、切断(すなわち、引き裂かれた組織)、およびぼやけた領域のアーチファクトを含む。
図8は、3つの新たな画像クラスに関連付けられたサポート画像を使用して決定された3つの新たな画像クラスのプロトタイプを示している。
図8はまた、3つの新たな画像クラスのクエリ画像の埋め込みを示している。
図8は、機械学習モデルを訓練するために使用されない3つの新たな画像クラスについて、機械学習モデルはまた、対応するプロトタイプの周りのクエリ画像の埋め込みを効率的にクラスタリングすることができることを示している。
【0097】
比較のために、予め訓練されたDenseNet-121モデルに基づく機械学習モデルは、転送学習を使用して再訓練されるが、few-shot学習は使用されない。機械学習モデルは、0.001の学習率で10回の反復の反復訓練プロセスを使用して再訓練される。転送学習および異なる数の学習サンプルを使用して学習された機械学習モデルの分類精度、およびfew-shot学習と転送学習の双方を使用して学習された機械学習モデルの分類精度が表1に示されている。訓練された機械学習モデルの精度は、60個の試験サンプルの別個のセット(クラスごとに10個の画像を含む)を使用して評価される。表1に示すように、60個のサポート画像に基づく転移学習を使用して訓練された機械学習モデルは、約80%の精度を達成することができる。サポート画像とクエリ画像の双方を含む120個の訓練サンプルに基づく転送学習を使用して訓練された機械学習モデルは、約86%の精度を達成することができる。120個の訓練サンプルに基づいて転送学習とfew-shot学習の双方を使用して訓練された機械学習モデルは、約96%の精度を達成することができる(転送学習のみを使用して訓練された機械学習モデルよりも約10%の改善)。
【表1】
【0098】
図9は、特定の実施形態にかかるfew-shot学習および異なる数のサポート画像
(ショット数)を使用して訓練された機械学習モデルの精度を示すグラフ900を含む。
図9に示すように、サポート例の数(ショット数)を多くするほど、分類精度を向上させることができる。しかしながら、精度曲線は、ショット数が約5を超えると平坦になり始める。ショット数が約15を超えると、改善が減少し、精度が上限で飽和することがある。
V.H&E染色組織の例示的なアーチファクト分類
(A)プロセスの概要
【0099】
図10は、特定の実施形態にかかる、H&E染色組織切片を表示する画像を分類するための概略
図1000の例を示している。ブロック1005において、コンピュータシステムは、H&E染色された組織のスキャン画像を受信する。いくつかの実施形態では、スキャン画像は、1つ以上の染色パターン、アーチファクト、および/または他の関心のある特徴を含む。ブロック1010において、コンピュータシステムは、スキャン画像内の関心のある領域を識別する。場合によっては、スキャン画像内の関心のある領域を分離するためにマスクが生成される。マスクは、マスクが使用されて関心のある領域の周辺にあるスキャン画像内の情報を削除することができるように、関心のある領域の境界を表す画素情報を含むことができる。
【0100】
関心のある領域を識別するための様々な技術が使用されることができる。例えば、初期色空間(例えば、RGB色空間)におけるスキャン画像の画素が処理されて、色相、彩度、および明度(HSV)色空間下のスキャン画像の画素強度情報を識別することができる。次いで、一連の画像処理動作(例えば、マスキング、フィルタリング、平滑化)が画素強度情報に適用されて、関心のある領域を抽出することができる。別の例では、Okapi-Chamferマッチングアルゴリズムがスキャン画像に適用されて、関心のある領域を識別することができる。この例では、関心のある領域は、スキャン画像を表す特徴ベクトルと、それらの特徴類似度に基づいてクラスタリングされた訓練画像の特徴ベクトルとの間で計算された距離情報に基づいて識別されることができる。
【0101】
ブロック1015において、コンピュータシステムは、関心のある領域を複数の画像タイルに分割する。次いで、複数の画像タイルの各画像タイルが処理されて、画像タイルがアーチファクトを含むかどうかを予測することができる。いくつかの実施形態では、コンピュータシステムは、訓練された機械学習モデルを複数の画像タイルに適用する。機械学習モデルは、few-shot学習を使用して複数の反復で訓練されていてもよい。H&E染色組織の分類例に関して、few-shot学習が2回の訓練反復で使用されて、4つのアーチファクトクラスおよび1つの組織クラスを含む5つの画像クラスを識別した。最初の訓練反復では、機械学習モデルは、組織・ひだクラスおよびペン・マーククラスに対応する訓練画像で訓練された。2つの画像クラスは、他の画像クラスと比較してより一般的に遭遇し、特徴的である。第2の訓練反復では、機械学習モデルは、出血クラスおよびマイクロトーム・チャッタークラスに対応する訓練画像で訓練された。
【0102】
訓練段階が完了した後、コンピュータシステムは、分類のために複数の画像タイルの各画像タイルに訓練された機械学習モデルを適用することができる。例えば、画像タイルの第1のセット1020は、少なくとも1つのアーチファクト(例えば、出血領域、ペン・マーク)を含むものとして分類され、画像タイルの第2のセット1025は、アーチファクトを有しないものとして分類される。追加的または代替的に、コンピュータシステムは、訓練された機械学習モデルを適用して、各画像タイルに表示されたアーチファクトまたは組織の特定のタイプを予測する。H&E染色組織の分類例に関して、5つの画像クラスの表現(例えば、プロトタイプ)をサポート画像に基づいて決定し、各画像クラスは、特定のタイプのアーチファクトの存在を示した。5つの画像クラスは、出血クラス、マイクロトーム・チャッタークラス、ペン・マーククラス、組織・ひだクラス、および組織クラ
スを含んでいた。5つの画像クラスの表現は、類似度メトリック(例えば、ユークリッド距離)を使用して各画像タイルの埋め込みに対して評価され、画像タイルを特定のタイプのアーチファクトを有するものとして分類した。
【0103】
いくつかの実施形態では、機械学習モデルとして、DenseNet-121ネットワークを有するプロトタイプネットワークが使用される。DenseNet-121ネットワークは、予め訓練されたおよび/または公開されたモデル(例えば、CIFAR-10、CIFAR-100、SVHN、またはImageNetデータセットを使用して訓練される)であってもよく、1つ以上の層(例えば、DenseNet-121ネットワークの全結合層)は、訓練データセットを使用して再訓練されてもよい。単一のネットワークが使用されて、サポート画像とクエリ画像の双方の埋め込みを生成することができる(例えば、複数の画像タイル)。
【0104】
ブロック1030において、コンピュータシステムは、1つ以上のアーチファクトを含むと予測された各画像タイルについて、画像タイル内の1つ以上のアーチファクトの位置を識別する。場合によっては、1つ以上のアーチファクトの位置は、1つ以上のアーチファクトに対応する画像タイルの各画素のx-y座標値を含む。
(B)例示的な関心のある領域
【0105】
図11は、特定の実施形態にかかる、H&E染色画像1105を処理することによって生成された関心のある領域1110、1115、および1120の例を示している。いくつかの実施形態では、関心のある領域1110、1115、および1120のそれぞれは、HSV変換およびOkapi-Chamferマッチングアルゴリズムなどの様々な画像処理技術を実行することによって生成される。例えば、関心のある領域1105は、HSV変換によるスキャン画像の処理に基づいて生成された出力画像に対応することができる。別の例では、関心のある領域1110は、Okapi-Chamferマッチングアルゴリズムを介してスキャン画像を処理することに基づいて生成される出力画像に対応することができる。さらに別の例では、関心のある領域1120は、Pyris画像処理システムを介してスキャン画像を処理することに基づいて生成される出力画像に対応することができる。
図11に示すように、関心のある領域の形状、サイズ、および画素強度は、スキャン画像を処理するために使用される画像処理技術のタイプに基づいて異なることができる。
(C)訓練された機械学習モデルの性能評価
【0106】
訓練された機械学習モデルの精度は、試験サンプルのセットを使用して評価されることができる。例示的な試験シナリオでは、機械学習モデルは、上記の5つの画像クラス(すなわち、出血クラス、マイクロトーム・チャッタークラス、ペン・マーククラス、組織・ひだクラス、および組織クラス)のそれぞれについて100個の訓練サンプルで訓練された。訓練された機械学習モデルは、各画像クラスについて約30枚のスライド画像の試験サンプルを使用して評価された。表2に示すように、訓練された機械学習モデルは、アーチファクトの特定のタイプを予測するために96.67%の平均精度を達成した。さらに、訓練された機械学習モデルは、画像(例えば、H&E染色画像の画像タイル)が組織またはアーチファクトに対応するかどうかを予測するためのより高い精度(98%)を達成した。
【表2】
【0107】
図12Aは、特定の実施形態にかかる、染色画像を分類するための訓練された機械学習モデルの性能結果を識別する混同行列1200Aの例を示している。混同行列1200Aは、表2において識別された訓練サンプルおよび試験サンプルのセットに基づいて生成され、番号1~5は、それぞれ出血クラス、マイクロトーム・チャッタークラス、ペン・マーククラス、組織・ひだクラス、および組織クラスに対応する。混同行列1200Aの各列は、予測画像クラス内のインスタンスを表し、各行は、実際の画像クラス内のインスタンスを表す。
図12Aに示すように、訓練された機械学習モデルは、所与の画像が出血領域、マイクロトーム・チャッター領域、または組織・ひだ領域に対応するかどうかを判定するときに非常に高い精度を達成した。ペンマークを有する画像を分類すると、訓練された機械学習モデルの精度が僅かに低下した。しかしながら、誤差率は依然として比較的低かった(例えば、ペンマークに対応する29個の試験サンプルのうち2個が誤って分類された)。
【0108】
別の例示的な試験シナリオでは、機械学習モデルは、5つの画像クラスのそれぞれについて100個の訓練サンプルおよび20個の検証サンプルで訓練された。訓練された機械学習モデルは、各画像クラスに対して15個のサポートサンプルおよび70個の試験サンプルを使用して評価された。表3に示すように、訓練された機械学習モデルは、アーチファクトの特定のタイプを予測するために85.14%の平均精度を達成した。さらに、訓練された機械学習モデルは、画像(例えば、H&E染色画像の画像タイル)が組織またはアーチファクトに対応するかどうかを予測するための比較的高い精度(91.71%)を達成した。
【表3】
【0109】
図12Bは、特定の実施形態にかかる、染色画像を分類するための訓練された機械学習モデルの性能結果を識別する混同行列1200Bの例を示している。混同行列1200Bは、表3において識別された訓練サンプルおよび試験サンプルのセットに基づいて生成さ
れ、番号1~5は、それぞれ出血クラス、マイクロトーム・チャッタークラス、ペン・マーククラス、組織・ひだクラス、および組織クラスに対応する。混同行列1200Bの各列は、予測画像クラス内のインスタンスを表し、各行は、実際の画像クラス内のインスタンスを表す。
図12Bに示すように、訓練された機械学習モデルは、5つの画像クラスにわたって比較的高い精度を達成した。しかしながら、組織・ひだ領域に対応する画像を分類する精度は、約74.3%に低下する。
(D)アーチファクト分類の例示的な出力
【0110】
図13は、いくつかの実施形態にかかる、訓練された機械学習モデルを使用して分類された画像結果1300の例示的なセットを示している。訓練された機械学習モデルは、39個の組織画像のうち35個を正しく分類し、89.74%の精度率を達成した。4つの誤分類のうち、ペン・マーク領域を表示する画像1305は、出血領域を有するものとして誤って分類された。組織切片を表示する2つの画像1310は、ペン・マーク領域として誤って分類された。ペン・マーク領域を表示する画像1315は、組織・ひだ領域として誤って分類された。上述したように、訓練された機械学習モデルは、他のタイプのアーチファクトを有する画像よりもペン・マーク領域を有する画像を誤って分類することが多い。
VI.コンピューティング環境
【0111】
図14は、本明細書に開示された実施形態のいくつかを実装するためのコンピュータシステム1400の例を示している。コンピュータシステム1400は、分散アーキテクチャを有することができ、構成要素のいくつか(例えば、メモリおよびプロセッサ)は、エンドユーザデバイスの一部であり、他のいくつかの同様の構成要素(例えば、メモリおよびプロセッサ)は、コンピュータサーバの一部である。コンピュータシステム1400は、少なくともプロセッサ1402と、メモリ1404と、記憶デバイス1406と、入出力(I/O)周辺機器1408と、通信周辺機器1410と、インターフェースバス1412とを含む。インターフェースバス1412は、コンピュータシステム1400の様々な構成要素間でデータ、制御、およびコマンドを通信、送信、および転送するように構成される。プロセッサ1402は、CPU、GPU、TPU、シストリックアレイ、またはSIMDプロセッサなどの1つ以上の処理ユニットを含むことができる。メモリ1404および記憶デバイス1406は、RAM、ROM、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、ハードドライブ、CD-ROM、光記憶デバイス、磁気記憶デバイス、電子不揮発性コンピュータ記憶デバイス、例えばフラッシュ(登録商標)メモリ、および他の有形記憶媒体などのコンピュータ可読記憶媒体を含む。そのようなコンピュータ可読記憶媒体のいずれも、本開示の態様を具現化する命令またはプログラムコードを記憶するように構成されることができる。メモリ1404および記憶デバイス1406はまた、コンピュータ可読信号媒体を含む。コンピュータ可読信号媒体は、コンピュータ可読プログラムコードが具現化された伝搬データ信号を含む。そのような伝搬信号は、電磁的、光学的、またはそれらの任意の組み合わせを含むがこれらに限定されない様々な形態のいずれかをとる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、コンピュータシステム1400に関連して使用するためのプログラムを通信、伝播、または伝送することができる任意のコンピュータ可読媒体を含む。
【0112】
さらに、メモリ1404は、オペレーティングシステム、プログラム、およびアプリケーションを含む。プロセッサ1402は、記憶された命令を実行するように構成され、例えば、論理処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、および他のプロセッサを含む。メモリ1404および/またはプロセッサ1402は、仮想化されることができ、例えばクラウドネットワークまたはデータセンタの別のコンピューティングシステム内でホストされることができる。I/O周辺機器1408は、キーボード、スクリーン(例えば、タッチスクリーン)、マイクロフォン、スピーカ、他の入力/出力デバイ
スなどのユーザインターフェース、ならびにグラフィカル処理ユニット、シリアルポート、パラレルポート、ユニバーサルシリアルバス、および他の入力/出力周辺機器などのコンピューティング構成要素を含む。I/O周辺機器1408は、インターフェースバス1412に結合されたポートのいずれかを介してプロセッサ1402に接続される。通信周辺機器1410は、通信ネットワークを介したコンピュータシステム1400と他のコンピューティングデバイスとの間の通信を容易にするように構成され、例えば、ネットワークインターフェースコントローラ、モデム、無線および有線インターフェースカード、アンテナ、および他の通信周辺機器を含む。
【0113】
本主題をその特定の実施形態に関して詳細に説明してきたが、当業者は、上記の理解を達成すると、そのような実施形態に対する変更、変形、および均等物を容易に生成することができることが理解されよう。したがって、本開示は、限定ではなく例示を目的として提示されており、当業者には容易に明らかになるような本主題へのそのような変更、変形、および/または追加の包含を排除するものではないことを理解されたい。実際に、本明細書に記載の方法およびシステムは、様々な他の形態で具現化されてもよい。さらにまた、本開示の趣旨を逸脱することなく、本明細書に記載の方法およびシステムの形態における様々な省略、置き換え、変更を行うことができる。添付の特許請求の範囲およびその均等物は、本開示の範囲および趣旨に含まれるような形態または変更を包含することを意図している。
【0114】
特に明記しない限り、本明細書を通して、「処理」、「コンピューティング」、「計算」、「決定」、および「識別」などの用語を利用する議論は、コンピューティングプラットフォームのメモリ、レジスタ、または他の情報記憶デバイス、伝送デバイス、または表示デバイス内の物理的な電子量または磁気量として表されるデータを操作または変換する、1つ以上のコンピュータまたは同様の電子コンピューティングデバイスまたはデバイスなどのコンピューティングデバイスの動作またはプロセスを指すことが理解される。
【0115】
本明細書で説明する1つ以上のシステムは、任意の特定のハードウェアアーキテクチャまたは構成に限定されない。コンピューティングデバイスは、1つ以上の入力を条件とする結果を提供する構成要素の任意の適切な配置を含むことができる。適切なコンピューティングデバイスは、汎用コンピューティングデバイスから本主題の1つ以上の実施形態を実装する専用コンピューティング装置までコンピューティングシステムをプログラムまたは構成する記憶されたソフトウェアにアクセスする多目的マイクロプロセッサベースのコンピューティングシステムを含む。任意の適切なプログラミング、スクリプト、または他のタイプの言語または言語の組み合わせが使用されて、コンピューティングデバイスのプログラミングまたは構成に使用されるソフトウェアに本明細書に含まれる教示を実装することができる。
【0116】
本明細書に開示される方法の実施形態は、そのようなコンピューティングデバイスの動作において実行されることができる。上記の例に示されたブロックの順序は変更されることができ、例えば、ブロックは、並べ替えられ、結合され、および/またはサブブロックに分割されることができる。特定のブロックまたはプロセスは、並行して実行されることができる。
【0117】
本明細書で使用される条件付き言語、例えば、とりわけ、「できる(can)」、「できた(could)」、「ことがあった(might)」、「ことがある(may)」、「例えば(e.g.)」などは、特に明記しない限り、または使用される文脈内で他の意味で理解されない限り、一般に、特定の例は特定の特徴、要素、および/またはステップを含むが、他の例は含まないことを伝えることを意図している。したがって、そのような条件付き言語は、一般に、特徴、要素および/またはステップが1つ以上の例に何らかの
形で必要とされること、または1つ以上の例が、著者の入力またはプロンプトの有無にかかわらず、これらの特徴、要素および/またはステップが任意の特定の例に含まれるか、または実行されるべきかを判定するための論理を必然的に含むことを意味することを意図するものではない。
【0118】
「備える(comprising)」、「含む(including)」、「有する(having)」などの用語は同義語であり、包括的に、オープンエンド方式で使用され、追加の要素、特徴、動作、動作などを排除しない。また、「または(or)」という用語は、包括的な意味で(排他的な意味ではなく)使用され、例えば、要素のリストを接続するために使用される場合、「または」という用語は、リスト内の要素の1つ、いくつか、または全てを意味する。本明細書における「適合される(adapted to)」または「構成される(configured to)」の使用は、追加のタスクまたはステップを実行するように適合または構成されたデバイスを除外しないオープンで包括的な言語を意味する。さらに、「に基づいて(based on)」の使用は、1つ以上の列挙された条件または値に「基づいて」プロセス、ステップ、計算、または他の動作が、実際には列挙されたものを超える追加の条件または値に基づいてもよいという点で、オープンで包括的であることを意味する。同様に、「少なくとも部分的に基づいて(based at least in part on)」の使用は、1つ以上の列挙された条件または値に「少なくとも部分的に基づいて」プロセス、ステップ、計算、または他の動作が、実際には列挙されたものを超える追加の条件または値に基づいてもよいという点で、オープンで包括的であることを意味する。本明細書に含まれる見出し、リスト、および番号付けは、説明を容易にするためのものにすぎず、限定することを意味するものではない。
【0119】
上述した様々な特徴およびプロセスは、互いに独立して使用されてもよく、または様々な方法で組み合わされてもよい。全ての可能な組み合わせおよび部分的な組み合わせは、本開示の範囲内に入ることが意図されている。さらに、いくつかの実装形態では、特定の方法またはプロセスブロックが省略されてもよい。本明細書に記載の方法およびプロセスはまた、いかなる特定のシーケンスにも限定されず、それに関連するブロックまたは状態は、適切な他のシーケンスで実行されてもよい。例えば、記載されたブロックまたは状態は、具体的に開示された順序以外の順序で実行されてもよく、または複数のブロックまたは状態が単一のブロックまたは状態に組み合わされてもよい。例示的なブロックまたは状態は、直列、並列、または他の何らかの方法で実行されてもよい。ブロックまたは状態は、開示された例に追加されてもよく、または開示された例から削除されてもよい。同様に、本明細書に記載された例示的なシステムおよび構成要素は、記載されたものとは異なるように構成されてもよい。例えば、開示された例と比較して、要素が追加、除去、または再配置されてもよい。