(57)【要約】  物体の一連の画像フレームから物体のモザイク表現をレンダリングする顕微鏡撮像システム及び方法が開示される。現在の画像フレームが処理されて、１つ又は複数のキーフレームからの現在の画像の相対変位に基づいて、モザイク表現内の相対ロケーション又は相対位置を特定する。現在の画像フレームの位置が特定されると、現在の画像フレームは近傍キーフレームと共にレンダリングされ、物体のモザイク表現を提供する。【選択図】図１
2014529922.tif 000002
【特許請求の範囲】
【請求項１】
物体の一連の画像フレームから前記物体のモザイク表現をレンダリングする方法において、
前記物体の現在の画像フレームを取得すること、
前の画像フレームの前の画像フレーム位置及び前記前の画像フレームからの前記現在の画像フレームの相対変位に基づいて、前記現在の画像フレームの現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、前記少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のそれぞれが、閾値よりも大きいと判断される場合、前記現在の画像フレームを新しいキーフレームとして前記キーフレームデータベースに記憶すること、
前記少なくとも１つの近傍キーフレームのそれぞれの前記キーフレームフレーム位置及び前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位に基づいて、前記現在の画像フレームの現在画像フレーム位置を特定すること、
前記現在画像フレーム位置の平均を、前記新しいキーフレームに関連付けられた新しいキーフレーム位置として前記キーフレームデータベースに記憶すること、
前記キーフレームデータベースからの前記キーフレームを、ディスプレイの、関連付けられた各キーフレーム位置にレンダリングして、前記物体の前記モザイク表現を得ること、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記新しいキーフレームを記憶することは、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位を記憶することを含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法において、
各キーフレーム位置の最適化に基づいて、前記複数のキーフレームの前記キーフレーム位置を調整して、前記キーフレーム位置の誤差を補正し、各キーフレームとその近傍キーフレームとの前記相対変位への１つ又は複数の制約を満たすことを更に含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、
前記検索エリア内での少なくとも１つの近傍キーフレームの識別に失敗するか、又は任意の近傍キーフレームへの前記現在の画像フレームの前記相対位置の特定に失敗する場合、前記方法は、
前記検索エリアを反復的に増大させて、少なくとも１つの近傍キーフレームを識別することを更に含むことを特徴とする方法。
【請求項５】
請求項４に記載の方法において、
前記検索エリアを反復的に増大させた後、少なくとも１つの近傍キーフレームの識別に失敗する場合、前記方法は、
前記現在画像フレーム位置を前記現在画像フレーム追跡位置又は前記前の画像フレーム位置に割り当てることを更に含むことを特徴とする方法。
【請求項６】
請求項１に記載の方法において、
特徴強度閾値を設定し、
前記特徴強度閾値を超える少なくとも１つの潜在的特徴を含む潜在的特徴リストを取得し、
前記潜在的特徴リストから、予め定義される近傍領域内で最大の特徴強度を有する特徴のみを選択することにより、前記一連の画像フレームのそれぞれにおいて前記特徴集合を識別すること
により、前記一連の画像のそれぞれにおいて特徴集合を識別することを更に含むことを特徴とする方法。
【請求項７】
請求項１に記載の方法において、
前記前の画像フレームからの前記現在の画像フレームの前記相対変位は、前記現在の画像フレーム及び前記前の画像フレーム内の少なくとも１つの特徴に基づいて、前記現在の画像フレームと前記前の画像フレームとを見当合わせすることにより特定されることを特徴とする方法。
【請求項８】
請求項１に記載の方法において、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位は、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれにおける前記少なくとも１つの特徴に基づいて、前記現在の画像フレームと前記少なくとも１つのキーフレームのそれぞれとを見当合わせすることにより特定されることを特徴とする方法。
【請求項９】
請求項８に記載の方法において、
前記現在の画像フレームと前記少なくとも１つの近傍キーフレームのそれぞれとを見当合わせすることは、
前記現在の画像フレームにおいて識別された特徴集合を、前記少なくとも１つの近傍キーフレームのそれぞれ内の対応する特徴集合と照合して、一致特徴対集合を取得すること、
前記一致特徴対集合から許容可能な一致特徴対を選択すること、及び
画像見当合わせのために、前記許容可能な一致特徴対の前記相対変位に基づいて、前記現在の画像フレームと前記少なくとも１つの近傍キーフレームのそれぞれとの平均変位を特定すること、
を含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、
識別される各特徴は、Ｎ個の要素の記述子行ベクトルを含み、Ｎは整数であり、前記特徴集合を照合すること及び許容可能な一致特徴対を選択することは、
前記現在の画像フレームにおいて識別された前記特徴集合における各特徴の前記記述子行と、前記少なくとも１つの近傍キーフレームのそれぞれの前記対応する特徴集合における各特徴の前記記述子行ベクトルとを比較すること、及び
前記現在の画像フレーム内の各特徴の、前記少なくとも１つの近傍キーフレームでの最良一致特徴を識別することであって、前記最良一致特徴は、前記現在の画像フレーム内の前記特徴から最小記述子距離を有する、識別すること、
を含むことを特徴とする方法。
【請求項１１】
請求項９に記載の方法において、
各識別された特徴は、座標、向きパラメータ、スケールパラメータ、及びＮ個の要素の記述子行ベクトルを含み、Ｎは整数であり、前記特徴集合を照合すること及び許容可能な一致特徴対を選択することは、
前記少なくとも１つの近傍キーフレームのそれぞれにおける対応する特徴集合から、前記現在の画像フレームにおいて識別された前記特徴集合の各特徴の一致候補集合を特定することであって、各一致候補は、前記現在の画像フレームにおける前記対応する特徴の向きパラメータ及びスケールパラメータと同様の向きパラメータ及びスケールパラメータを有する、特定すること、並びに
前記現在の画像フレーム内の前記特徴から最小記述子距離を有する前記一致候補集合からの一致候補に基づいて、前記少なくとも１つの近傍キーフレームにおける最良一致特徴を識別すること、
を含むことを特徴とする方法。
【請求項１２】
請求項９に記載の方法において、
各一致特徴対のｘ座標及びｙ座標のそれぞれに基づいて、各一致特徴対の特徴変位を計算すること、
計算された特徴変位を２Ｄヒストグラムに蓄積すること、並びに
前記２Ｄヒストグラムに最も高い蓄積を有するビン及びその近傍ビンに蓄積された前記一致特徴対を、許容可能な一致特徴対として選択すること、
を更に含むことを特徴とする方法。
【請求項１３】
請求項９に記載の方法において、
前記平均変位からの各一致特徴対の残余値を特定すること、
全ての一致特徴対の平均残余値を特定すること、
閾値残余値未満の残余値を有する前記一致特徴対を、許容可能な一致特徴対として選択すること、
を更に含むことを特徴とする方法。
【請求項１４】
請求項１に記載の方法において、
前記キーフレーム特徴をレンダリングすることは、
テクスチャアトラス集合を生成することであって、各テクスチャアトラスは、関連付けられた解像度を有し、前記関連する解像度でダウンサンプリングされた少なくとも１つのキーフレームを含む、生成すること、
前記レンダリングの表示エリア及び表示解像度を選択すること、
前記テクスチャアトラス集合から、前記表示解像度に最も近い解像度を有するテクスチャアトラスを選択し更新すること、並びに
関連付けられたキーフレーム位置が前記表示エリア内にある、前記テクスチャアトラスからの前記キーフレームをレンダリングすること、
を更に含むことを特徴とする方法。
【請求項１５】
請求項１４に記載の方法において、
前記テクスチャアトラスを更新することは、
前記キーフレームデータベースから、前記表示エリア内にあるが、前記テクスチャアトラスにはまだない関連付けられたキーフレーム位置を有するキーフレーム集合を識別すること、
前記テクスチャアトラスの前記関連付けられた解像度で前記キーフレーム集合をダウンサンプリングすること、及び
前記ダウンサンプリングされたキーフレーム集合を前記テクスチャアトラスに挿入すること、
を更に含むことを特徴とする方法。
【請求項１６】
請求項１に記載の方法において、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のうちの少なくとも１つが、前記閾値未満であると判断される場合、
相対変位が前記閾値未満である少なくとも１つの近傍キーフレームを識別すること、
前記現在の画像フレームと前記少なくとも１つの近傍キーフレームとの重複領域を特定して、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれでの対象領域を取得すること、
前記現在の画像フレームの前記対象領域が、画像鮮鋭度パラメータに基づいて、前記近傍キーフレームのうちの１つの前記対象領域よりも鮮鋭であると判断される場合、前記少なくとも１つの近傍キーフレームの前記対象領域を、前記現在の画像フレームの前記対象領域で置換すること、
を更に含むことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法において、
前記画像鮮鋭度パラメータが、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれの前記対象領域の勾配画像から得られる勾配和であり、前記現在の画像フレームの前記対象領域が、前記現在の画像フレームの前記対象領域の前記勾配和が、前記近傍キーフレームのうちの１つの前記対象領域の前記勾配和よりも大きい場合、前記近傍キーフレームのうちの１つの前記対象領域よりも鮮鋭であると判断されることを特徴とする方法。
【請求項１８】
請求項１６に記載の方法において、
前記少なくとも１つの近傍キーフレームの前記対象領域を置換することは、前記少なくとも１つの近傍キーフレームの前記対象領域の内容を、前記現在の画像フレームの前記対象領域の内容で上書きすることを含むことを特徴とする方法。
【請求項１９】
請求項１６に記載の方法において、
前記現在の画像フレームの前記対象領域の境界における内容を、前記少なくとも１つの近傍キーフレームの内容とブレンドすることを更に含むことを特徴とする方法。
【請求項２０】
請求項１に記載の方法において、
関連付けられたキーフレーム位置に基づいて、前記キーフレームデータベース内の各キーフレームを複数のセルのうちの１つに割り当てること、及び
各キーフレームをタグ付けして、関連付けられたキーフレーム位置及び割り当てられた各セルをマッピングすること、
を更に含むことを特徴とする方法。
【請求項２１】
請求項２０に記載の方法において、
前記複数のセルはグリッドにおいて位置合わせされ、前記セルは二次元インデックスを使用してインデックス付けられることを特徴とする方法。
【請求項２２】
請求項２１に記載の方法において、
前記検索エリアは、少なくとも１つ又は複数のインデックス付きセルを含むことを特徴とする方法。
【請求項２３】
請求項１に記載の方法において、
前記物体の前記モザイク表現をレンダリングすることは、異なる倍率の対物レンズから得られるモザイク表現をレンダリングすることを含み、前記方法は、
各倍率の対物レンズに関連付けられた別個のキーフレームデータベースを保持すること、
各対物レンズの光心の相対変位に基づいて、各倍率の対物レンズから得られる前記モザイク表現を関連付けること、及び
前記関連付けられたモザイク表現に基づいて、前記物体の結合モザイク表現をレンダリングすること、
を更に含むことを特徴とする方法。
【請求項２４】
請求項１に記載の方法において、
前記現在の画像フレームを事前処理することを更に含み、前記事前処理は、視野にわたる照明のばらつきを補正する画像較正、カラースケールからグレースケールへの変換、ダウンサンプリング、特徴検出、又は勾配計算を含むことを特徴とする方法。
【請求項２５】
請求項１に記載の方法において、
前記キーフレームをレンダリングすることは、重複するキーフレームをブレンドすることを含むことを特徴とする方法。
【請求項２６】
請求項２５に記載の方法において、
重複するキーフレームをブレンドすることは、
キーフレームを分解して複数のバンドにすること、
前記複数のバンドをブレンドすること、及び
前記ブレンドされた複数のバンドを統合して、前記物体の前記モザイク表現を得ること、
を含むことを特徴とする方法。
【請求項２７】
請求項２６に記載の方法において、
キーフレームを分解することは空間周波数に基づくことを特徴とする方法。
【請求項２８】
請求項１に記載の方法において、
前記複数のキーフレームの利得と突き合わせて比較することにより、前記現在の画像フレームの利得を実質的に均一なレベルの輝度に調整することを更に含むことを特徴とする方法。
【請求項２９】
請求項１に記載の方法において、
閾値強度未満の平均画像ピクセル強度に基づいて、前記現在の画像フレームの遮蔽を検出すること、及び
続く画像フレームの露出時間の変化を検出して、画像フレームの取得に使用される対物レンズの変更を判断すること、
を更に含むことを特徴とする方法。
【請求項３０】
請求項１に記載の方法において、
前記一連の画像フレーム内の第１の画像フレームは、基準キーフレーム位置を有する基準キーフレームとして割り当てられることを特徴とする方法。
【請求項３１】
物体の現在の画像フレームを取得する画像取得モジュールと、
プロセッサと、
レンダラーと
を備え、前記プロセッサは、
前の画像フレームの前の画像フレーム位置及び前記前の画像フレームからの前記現在の画像フレームの相対変位に基づいて、前記現在の画像フレームの現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、前記少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のそれぞれが、閾値よりも大きいと判断される場合、前記現在の画像フレームを新しいキーフレームとして前記キーフレームデータベースに記憶すること、
前記少なくとも１つの近傍キーフレームのそれぞれの関連付けられた前記キーフレームフレーム位置及び前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位から、前記現在の画像フレームの現在画像フレーム位置を特定すること、
前記現在画像フレーム位置の平均を、前記新しいキーフレームに関連付けられた新しいキーフレーム位置として前記キーフレームデータベースに記憶することを行うように構成され、
前記レンダラーは、前記キーフレームデータベースからの前記キーフレームを、ディスプレイの、それぞれの関連付けられたキーフレーム位置にレンダリングして、前記物体の前記モザイク表現を表示する
ことを特徴とする画像システム。
【請求項３２】
請求項３１に記載の撮像システムにおいて、
入力装置又は前記プロセッサから入力を受信して、前記受信入力に応答して、前記画像取得モジュール又は前記レンダラーを制御するコントローラを更に備え、
前記画像取得モジュールは、
少なくとも１つの対物レンズを有する顕微鏡と、
前記物体の一連の画像フレームを取得するビデオカメラと、
を含むことを特徴とする撮像システム。
【請求項３３】
コンピュータにより実行されると、請求項１に記載の方法を実行するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを含むことを特徴とするコンピュータプログラム製品。
【請求項３４】
物体のモザイク表現をレンダリングする、前記物体の一連の画像フレームからキーフレームを生成する方法において、
前の画像フレームの既知の位置に相対する現在の画像フレームの変位に基づいて、現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置を囲んだ所定の検索エリアを用いて、少なくとも１つの近傍キーフレームを識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれの既知の各キーフレーム位置と、前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位とに基づいて、前記少なくとも１つの近傍キーフレームのそれぞれに相対する前記現在の画像フレームの現在位置を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位が閾値を超える場合、前記現在の画像フレームを新しいキーフレームとして記憶すること、
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１１年８月２日に出願された米国仮特許出願第６１／５１４，１８６号明細書の優先権の利益を主張するものであり、この仮特許出願を参照により本明細書に援用する。
【０００２】
本開示は、一般的にはデジタル撮像に関する。より詳細には、本開示は顕微鏡の分野での画像のレンダリングに関する。
【背景技術】
【０００３】
通常、顕微鏡を通して取得される物体の画像は、使用される顕微鏡の視野により制限される。より小さなデジタル画像のモザイク又はモンタージュを使用して物体のより大きなデジタル画像を提供する試みがなされてきた。モザイク画像をレンダリングするためには、互い及び最終的なモザイク画像に対するより小さな画像のロケーションを特定しなければならない。
【０００４】
Ａｔｋｉｎに付与された米国特許第６，６８７，４１９号明細書では、対応するピクセルの共分散を連続して計算して、共分散を最大化する現在の画像の位置を特定しながら、現在の画像をモンタージュ画像にわたってシフトすることにより、現在の画像がモザイク画像内に配置される方法が記載されている。
【０００５】
モザイク画像を構成する個々の画像のロケーションの特定と、ディスプレイにレンダリングするモザイク画像の生成とは、計算集約的である。顕微鏡の視野により制限されない、顕微鏡の横長のインタラクティブ且つ正確で大きなモザイク表現を生成する手段に対する改良が望ましい。
【発明の概要】
【０００６】
本開示の一態様では、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法が提供される。本方法は、物体から現在の画像フレームを取得すること、前の画像フレームの前の画像フレーム位置及び前の画像フレームからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のそれぞれが、閾値よりも大きいと判断される場合、現在の画像フレームを新しいキーフレームとしてキーフレームデータベースに記憶すること、少なくとも１つの近傍キーフレームのそれぞれのキーフレームフレーム位置及び少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム位置を特定すること、現在画像フレーム位置の平均を、新しいキーフレームに関連付けられた新しいキーフレーム位置としてキーフレームデータベースに記憶すること、キーフレームデータベースからのキーフレームを、ディスプレイの、関連付けられた各キーフレーム位置にレンダリングして、物体のモザイク表現を得ることを含む。
【０００７】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位は、新しいキーフレームと共に記憶することもできる。
【０００８】
本方法は、各キーフレーム位置の最適化に基づいて、複数のキーフレームのキーフレーム位置を調整して、キーフレーム位置の誤差を補正し、各キーフレームとその近傍キーフレームとの相対変位への１つ又は複数の制約を満たすことを更に含み得る。検索エリア内での少なくとも１つの近傍キーフレームの識別に失敗するか、又は任意の近傍キーフレームへの現在の画像フレームの相対位置の特定に失敗する場合、検索エリアを反復的に増大させて、少なくとも１つの近傍キーフレームを識別し得る。検索エリアを反復的に増大させた後、少なくとも１つの近傍キーフレームの識別に失敗する場合、現在画像フレーム位置を現在画像フレーム追跡位置又は前の画像フレーム位置に割り当て得る。
【０００９】
本方法は、特徴強度閾値を設定し、特徴強度閾値を超える少なくとも１つの潜在的特徴を含む潜在的特徴リストを取得し、潜在的特徴リストから、予め定義される近傍領域内で最大の特徴強度を有する特徴のみを選択することにより、一連の画像フレームのそれぞれにおいて特徴集合を識別することにより、一連の画像のそれぞれにおいて特徴集合を識別することを更に含み得る。
【００１０】
前の画像フレームからの現在の画像フレームの相対変位は、現在の画像フレーム及び前の画像フレーム内の少なくとも１つの特徴に基づいて、現在の画像フレームと前の画像フレームとを見当合わせすることにより特定し得る。
【００１１】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位は、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれにおける少なくとも１つの特徴に基づいて、現在の画像フレームと少なくとも１つのキーフレームのそれぞれとを見当合わせすることにより特定し得る。
【００１２】
現在の画像フレームと少なくとも１つの近傍キーフレームのそれぞれとを見当合わせすることは、現在の画像フレームにおいて識別された特徴集合を、少なくとも１つの近傍キーフレームのそれぞれ内の対応する特徴集合と照合して、一致特徴対集合を取得すること、一致特徴対集合から許容可能な一致特徴対を選択すること、及び画像見当合わせのために、許容可能な一致特徴対の相対変位に基づいて、現在の画像フレームと少なくとも１つの近傍キーフレームのそれぞれとの平均変位を特定することを含み得る。
【００１３】
識別される各特徴は、Ｎ個の要素の記述子行ベクトルを含み得、Ｎは整数である。特徴集合を照合すること及び許容可能な一致特徴対を選択することは、現在の画像フレームにおいて識別された特徴集合における各特徴の記述子行と、少なくとも１つの近傍キーフレームのそれぞれの対応する特徴集合における各特徴の記述子行ベクトルとを比較すること、及び現在の画像フレーム内の各特徴の、少なくとも１つの近傍キーフレームでの最良一致特徴を識別することであって、最良一致特徴は、現在の画像フレーム内の特徴から最小記述子距離を有する、識別することを含み得る。
【００１４】
識別される各特徴は、座標、向きパラメータ、スケールパラメータを含むこともできる。特徴集合を照合すること及び許容可能な一致特徴対を選択することは、少なくとも１つの近傍キーフレームのそれぞれにおける対応する特徴集合から、現在の画像フレームにおいて識別された特徴集合の各特徴の一致候補集合を特定することであって、各一致候補は、現在の画像フレームにおける対応する特徴の向きパラメータ及びスケールパラメータと同様の向きパラメータ及びスケールパラメータを有する、特定すること、並びに現在の画像フレーム内の特徴から最小記述子距離を有する一致候補集合からの一致候補に基づいて、少なくとも１つの近傍キーフレームにおける最良一致特徴を識別することを含み得る。
【００１５】
この方法は、各一致特徴対のｘ座標及びｙ座標のそれぞれに基づいて、各一致特徴対の特徴変位を計算すること、計算された特徴変位を２Ｄヒストグラムに蓄積すること、並びに２Ｄヒストグラムに最も高い蓄積を有するビン及びその近傍ビンに蓄積された一致特徴対を、許容可能な一致特徴対として選択することを更に含み得る。
【００１６】
この方法は、平均変位からの各一致特徴対の残余値を特定すること、全ての一致特徴対の平均残余値を特定すること、及び閾値残余値未満の残余値を有する一致特徴対を、許容可能な一致特徴対として選択することを更に含み得る。
【００１７】
キーフレーム特徴をレンダリングすることは、テクスチャアトラス集合を生成することであって、各テクスチャアトラスは、関連付けられた解像度を有し、関連する解像度でダウンサンプリングされた少なくとも１つのキーフレームを含む、生成すること、レンダリングの表示エリア及び表示解像度を選択すること、テクスチャアトラス集合から、表示解像度に最も近い解像度を有するテクスチャアトラスを選択し更新すること、並びに関連付けられたキーフレーム位置が表示エリア内にある、テクスチャアトラスからのキーフレームをレンダリングすることを更に含み得る。
【００１８】
テクスチャアトラスを更新することは、キーフレームデータベースから、表示エリア内にあるが、テクスチャアトラスにはまだない（又は存在しない）関連付けられたキーフレーム位置を有するキーフレーム集合を識別すること、テクスチャアトラスの関連付けられた解像度でキーフレーム集合をダウンサンプリングすること、及びダウンサンプリングされたキーフレーム集合をテクスチャアトラスに挿入することを更に含み得る。
【００１９】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のうちの少なくとも１つが、閾値未満であると判断される場合、方法は、相対変位が閾値未満である少なくとも１つの近傍キーフレームを識別すること、現在の画像フレームと少なくとも１つの近傍キーフレームとの重複領域を特定して、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれでの対象領域を取得すること、現在の画像フレームの対象領域が、画像鮮鋭度パラメータに基づいて、近傍キーフレームのうちの１つの対象領域よりも鮮鋭であると判断される場合、少なくとも１つの近傍キーフレームの対象領域を、現在の画像フレームの対象領域で置換することを更に含み得る。
【００２０】
画像鮮鋭度パラメータは、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれの対象領域の勾配画像から得られる勾配和であり得、現在の画像フレームの対象領域は、現在の画像フレームの対象領域の勾配和が、近傍キーフレームのうちの１つの対象領域の勾配和よりも大きい場合、近傍キーフレームのうちの１つの対象領域よりも鮮鋭であると判断し得る。
【００２１】
少なくとも１つの近傍キーフレームの対象領域を置換することは、少なくとも１つの近傍キーフレームの対象領域の内容を、現在の画像フレームの対象領域の内容で上書きすることを含み得る。現在の画像フレームの対象領域の境界における内容は、少なくとも１つの近傍キーフレームの内容とブレンドし得る。
【００２２】
方法は、関連付けられたキーフレーム位置に基づいて、キーフレームデータベース内の各キーフレームを複数のセルのうちの１つに割り当てること、並びに各キーフレームをタグ付けして、関連付けられたキーフレーム位置及び割り当てられた各セルをマッピングすることを更に含み得る。複数のセルはグリッドにおいて位置合し得、セルは二次元インデックスを使用してインデックス付け得る。検索エリアは、少なくとも１つ又は複数のインデックス付きセルを含み得る。少なくとも１つの近傍キーフレームのそれぞれは、少なくとも１つ又は複数のインデックス付きセルに割り当て得る。
【００２３】
物体のモザイク表現をレンダリングすることは、異なる倍率の対物レンズから得られるモザイク表現をレンダリングすることを含み得る。方法は、各倍率の対物レンズに関連付けられた別個のキーフレームデータベースを保持すること、各対物レンズの光心の相対変位に基づいて、各倍率の対物レンズから得られるモザイク表現を関連付けること、及び関連付けられたモザイク表現に基づいて、物体の結合モザイク表現をレンダリングすることを更に含み得る。
【００２４】
方法は、現在の画像フレームを事前処理することを更に含み得る。事前処理は、視野にわたる照明のばらつきを補正する画像較正、カラースケールからグレースケールへの変換、ダウンサンプリング、特徴検出、又は勾配計算を含み得る。
【００２５】
キーフレームをレンダリングすることは、重複するキーフレームをブレンドすることを含み得る。重複するキーフレームをブレンドすることは、キーフレームを分解して複数のバンドにすること、複数のバンドをブレンドすること、及びブレンドされた複数のバンドを統合して、物体のモザイク表現を得ることを含み得る。キーフレームを分解することは空間周波数に基づき得る。
【００２６】
方法は、複数のキーフレームの利得と突き合わせて比較することにより、現在の画像フレームの利得を実質的に均一なレベルの輝度に調整することを更に含み得る。
【００２７】
方法は、閾値強度未満の平均画像ピクセル強度に基づいて、現在の画像フレームの遮蔽を検出すること、及び続く画像フレームの露出時間の変化を検出して、画像フレームの取得に使用される対物レンズの変更を判断することを更に含み得る。
【００２８】
一連の画像フレーム内の第１の画像フレームは、基準キーフレーム位置を有する基準キーフレームとして割り当て得る。
【００２９】
本開示の一態様によれば、画像取得モジュールと、プロセッサと、レンダラーとを備える撮像システムが提供される。画像取得モジュールは、物体の現在の画像フレームを取得するように構成される。構成されるプロセッサは、前の画像フレームの前の画像フレーム位置及び前の画像フレームからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のそれぞれが、閾値よりも大きいと判断される場合、現在の画像フレームを新しいキーフレームとしてキーフレームデータベースに記憶すること、少なくとも１つの近傍キーフレームのそれぞれの関連付けられたキーフレームフレーム位置及び少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム位置を特定すること、現在画像フレーム位置の平均を、新しいキーフレームに関連付けられた新しいキーフレーム位置としてキーフレームデータベースに記憶することを行うことである。レンダラーは、キーフレームデータベースからのキーフレームを、ディスプレイの、関連付けられた各キーフレーム位置にレンダリングして、物体のモザイク表現を表示する。
【００３０】
画像は、入力装置又はプロセッサから入力を受信して、受信入力に応答して、画像取得モジュール又はレンダラーを制御するコントローラを更に備え、画像取得モジュールは、少なくとも１つの対物レンズを有する顕微鏡と、物体の一連の画像フレームを取得するビデオカメラとを含む。
【００３１】
本開示の一態様では、コンピュータプログラム製品が提供され、この製品は、コンピュータにより実行されると、上記の物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法を実行するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを含む。
【００３２】
本開示の別の態様では、物体のモザイク表現をレンダリングする、物体の一連の画像フレームからキーフレームを生成する方法が提供される。この方法は、前の画像フレームの既知の位置に相対する現在の画像フレームの変位に基づいて、現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置を囲んだ所定の検索エリアを用いて、少なくとも１つの近傍キーフレームを識別すること、少なくとも１つの近傍キーフレームのそれぞれの既知の各キーフレーム位置と、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位とに基づいて、少なくとも１つの近傍キーフレームのそれぞれの現在の画像フレームの現在位置を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位が閾値を超える場合、現在の画像フレームを新しいキーフレームとして記憶することを含む。
【００３３】
本開示の他の態様及び特徴が、添付図と併せて特定の実施形態の以下の説明を検討することで当業者には明らかになるだろう。
【００３４】
これより、本発明の実施形態について、添付図を参照して例としてのみ説明する。
【図面の簡単な説明】
【００３５】
【図１】図１は、本開示の一実施形態によるシステム構成要素の一構成例の高レベル概略図である。
【図２】図２は、本実施形態により、キーフレームをキーフレームデータベースの各推定位置にレンダリングすることにより形成されるモザイクの一例である。
【図３】図３は、本実施形態により、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法の一例のフローチャートである。
【図４】図４は、本開示の特定の実施形態による、ビジョンモデルモジュールの構成の一例の概略図である。
【図５Ａ】図５Ａは、２つのリンクされたフレーム間の変位ベクトルＩ１，２の例を示す。
【図５Ｂ】図５Ｂは、現在の画像フレームと近傍キーフレームとの間の変位ベクトルＩｉ，ｃの例を示す。
【図６】図６は、現在の画像フレーム（Ｉｄｓｔ）内の各特徴Ｄ［ｉ］の、近傍キーフレーム（Ｉｓｒｃ）内の対応する特徴Ｓ［ｉ］への一致の識別を示す。
【図７】図７は、本開示の特定の実施形態によるフォーカス置換方法で使用される、現在の画像フレームと基準画像フレームとの重複エリア（ＲＯＩ）を決定する一例を示す。
【図８】本開示の特定の実施形態による２Ｄ空間ハッシュマップの一例を示す。
【図９】図９は、本開示の特定の実施形態によるＧＰＵ照合方法の一例の概略図を示す。
【図１０】図１０は、本開示の特定の実施形態によるＧＰＵ照合アーキテクチャの一例の概略図を示す。
【図１１】図１１は、本開示の特定の実施形態による様々なテクスチャアトラス及び各解像度を示す。
【図１２】図１２は、本開示の特定の実施形態によるレンダラーの概略例の概略図である。
【図１３】図１３は、本開示の特定の実施形態によるコントローラの状態図例の概略図である。
【図１４】図１４は、本開示の特定の実施形態によるコントローラの仮想カメラの一例を示す。
【図１５】図１５は、本開示の特定の実施形態によりファイルを保存するマルチバンドブレンド機能の構成例である。
【図１６】図１６は、本開示の特定の実施形態によるファイル保存機能の一例を示すフローチャート図である。
【図１７】図１７は、本開示の特定の実施形態によるキーフレーム位置を解像するバンドル調整機能の一使用例である。
【図１８】図１８は、本開示の特定の実施形態による対物レンズ切り替え検出機能の方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
一般に、本開示は、物体の一連の画像フレームから物体のモザイク表現を取得しレンダリングする際の効率を向上させる方法及びシステムを提供する。現在の画像フレームが処理され、１つ又は複数のキーフレームからの現在の画像の相対変位に基づいて、モザイク表現内の相対ロケーション又は位置を特定する。現在の画像フレームの位置が特定されると、その位置は近傍キーフレームと共にレンダリングされて、物体のモザイク表現を提供する。
【００３７】
本開示の特定の実施形態によるシステム１００は、顕微鏡１０２に搭載されたデジタルビデオカメラ１０４、ビデオカメラ画像を処理するＰＣ（図示せず）、システム出力を表示するディスプレイ／モニタ１１０、及びユーザ入力用のキーボード／マウス１２６からなる。デジタルビデオカメラ１０４は、ユーザが物体、例えば、スライドに載せられた試料を移動する際に画像をリアルタイムで捕捉する。ＰＣで実行される命令及びコードが、これらのビデオ画像をリアルタイムで処理し、顕微鏡を通して見られる複数のビューを一緒にステッチングし、大きなモザイクを生成する。システム構成要素の構成例の高レベル概略図を図１に示す。
【００３８】
画像プロセッサは３つのモジュールを含むことができる：ビジョンモデルモジュール１１４、レンダラー１０８、及びコントローラ１０６。特定の実施形態によれば、ビジョンモデルモジュール１１４は、デジタル画像を処理し、画像データを含み得る。レンダラー１０８は、ビジョンモデルモジュール１１４内の画像データをモニタ１１０にレンダリングする。コントローラ１０６はユーザ入力を処理し、システム１００内の他の全てのモジュールの挙動を制御する。
【００３９】
本開示の特定の実施形態によれば、ビジョンモデルモジュール１１４は、各入力カメラ画像フレームを処理する。画像フレーム毎に、ビジョンモデルモジュール１１４はフレーム位置を推定する。ビジョンモデルモジュール１１４はキーフレームの概念を利用する。この概念によれば、入力カメラ画像フレームのうちの幾つかのみが、システム１００に記憶されるものとして選択される。選択されたフレームはキーフレームと呼ばれる。キーフレームは、その推定位置と共に、例えば、図１に示されるようにビジョンモデルモジュール１１４内のキーフレームデータベース４０６に記憶される。キーフレームデータベース４０６は、ビジョンモデルモジュール１１４から離れて記憶することもでき、システム１００から離れて記憶することさえも可能である。キーフレームデータベースがリモートサーバにある場合、キーフレームデータベースへの適する通信（有線又は無線）を、システム１００が適宜機能するために提供し得る。
【００４０】
対物レンズ変更検出器１１２、高速保存モジュール１１６、品質保存モジュール１１８、バンドル調整モジュール１２０、利得補償モジュール１２２、及びハードディスクドライブ（ＨＤＤ）等の記憶手段１２４を含むシステム１００の他の構成要素については、本開示の他の箇所で詳細に考察する。
【００４１】
物体のモザイク表現は、データベース内のキーフレームを各推定位置にレンダリングすることにより形成される。キーフレームデータベース４８６内のキーフレーム２０２１、２０２２、．．．、２０２５を各推定位置にレンダリングすることにより形成されるモザイク表現の一例を図２に示す。
【００４２】
本開示の特定の実施形態によれば、レンダラー１０８は、キーフレームデータベース４０６内のキーフレームを各位置に効率的に描画又はレンダリングする。例えば、レンダラー１０８は、キーフレームの重複領域をリアルタイムでブレンドして、処理効率を実現し得る。
【００４３】
本開示の特定の実施形態によれば、コントローラ１０６はユーザ入力を受信し、カメラ１０４と、ビジョンモデルモジュール１１４又はレンダラー１０８等の他のモジュールとの挙動を制御する。例えば、ユーザは、マウスの「ドラッグ」を使用して、ユーザがモニタ１１０で見たいモザイクの領域を変更することができる。このモザイクドラッグ入力はコントローラ１０６により受信され、次に、コントローラ１０６は、レンダラー１０８がレンダリングするモザイクの領域を変更する。コントローラ１０６は、ビジョンモデルモジュール１１４の状態も監視する。ビジョンモデルモジュール１１４が、現在の画像フレームの位置を推定することができない場合、ユーザへの警告を提供し得る。ロストフレーム処理機能については、「ロストフレーム処理」項で詳細に考察する。
【００４４】
図３は、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法の一例のフローチャートである。この方法は、３０２において、物体の現在の画像フレームを取得すること及び３０４において、前の画像フレームに基づいて現在の画像フレームの現在画像フレーム追跡位置を特定することを含む。これは、前の画像フレームの位置と、前の画像フレームからの現在の画像フレームの相対変位との関数として、現在画像フレーム追跡位置を特定することを含み得る。
【００４５】
３０６において、現在画像フレーム追跡位置に基づいて、少なくとも１つの近傍キーフレームが識別される。近傍キーフレームは、現在画像フレーム追跡位置に相対して定義される検索エリア内のキーフレームとして定義される。近傍キーフレームは、キーフレームデータベース４２６に記憶された複数のキーフレームから識別される。キーフレームデータベース４２６内の各キーフレームは、関連付けられたキーフレーム位置を有する。
【００４６】
近傍キーフレームが識別されると、３０８において、近傍キーフレームのそれぞれからの現在の画像フレームの相対変位が特定される。さらに、３０８において、近傍キーフレームに相対する現在画像フレーム位置も特定される。
【００４７】
現在の画像フレーム及びその近傍キーフレームは、３１２において、物体のモザイク表現としてレンダリングされる。近傍キーフレームのそれぞれとの現在の画像フレームの相対変位が、閾値よりも大きい場合、現在の画像フレームは、新しいキーフレームとしてキーフレームデータベースに記憶される。
【００４８】
以下の項に、上記方法の実施形態例の様々な構成要素の例を更に詳細に提供する。
【００４９】
ビジョンモデルモジュール
上述したように、ビジョンモデルモジュール１１４は、カメラ画像フレームをリアルタイムで受信して処理し、ビジョンモデルモジュール１１４について図４を参照してさらに詳細に説明する。ビジョンモデルモジュール１１４は、キーフレームデータベースに記憶された、推定された現在画像フレーム位置、キーフレーム、及びキーフレームの推定位置をレンダラー１０８又は他の外部モジュールに出力する。一般に、キーフレームは、永続的に記憶すべき画像フレームの入力ストリームから選択される画像フレームである。物体のモザイク表現は、キーフレームをその推定位置にレンダリングすることにより生成される。
【００５０】
初期化中、第１のカメラ画像フレームが基準キーフレームとして記憶される。基準キーフレームはグローバル位置（０，０）に割り当てられる。各画像フレームの通常処理で実行されるステップの概略は以下である。図４、図５Ａ、及び図５Ｂを参照する。
【００５１】
１）事前処理：４０２において、システムの処理効率を向上させるために、システム１００の残りの部分が、図４では現在の画像フレームとして示される各入力画像フレームを使用する前に、各入力画像フレームを事前処理し得る。例えば、画像フレームの事前処理は、（ｉ）視野にわたる照明のばらつきを補正する静止白色画像較正を含み得る。事前処理により、入力カラー画像のホワイトバランスをとることを保証する、（ｉｉ）グレースケール変換−処理を容易にするために、カラー画像フレームをグレースケール画像に変換し得、（ｉｉｉ）ダウンサンプリング−画像フレームをダウンサンプリングしてより速い特徴検出を可能にし得、（ｉｖ）特徴検出−特徴検出をダウンサンプリングされた画像に実行し得、及び（ｖ）勾配計算−入力画像フレームからの勾配画像を計算し、「フォーカス置換」項で考察される、レンダリングされたモザイク画像の品質向上に使用し得る。
【００５２】
特徴検出段階において識別された特徴は、画像見当合わせ（リンク）に使用される。極大特徴検出手法を使用する特徴検出技法が、「極大特徴検出」項で説明される。
【００５３】
２）近傍キーフレームへのリンク：次に、４０４において、各入力画像フレームが近傍キーフレームにリンクされる。本明細書で使用される場合、２つのフレームを「リンクする」という用語は、２つのフレームで画像見当合わせ（「画像見当合わせ」項で後述する）を実行し、相対変位を得ることとして定義される。図５Ａのリンクプロセスの図に示されるように、フレーム１（例えば、前の画像フレーム５０４）がフレーム２  ５０２（例えば、現在の画像フレーム５０２）にリンクされる場合、２つのフレームの変位ベクトルＩ１，２が見つけられる。近傍キーフレームリンクステップでは、図５Ｂに示されるように、現在の画像フレーム５０２は近傍キーフレーム５０６、５０８、５１０にリンクされて、相対変位ベクトルＩ１，ｃ、Ｉ２，ｃ、及びＩ３，ｃがそれぞれ得られる。
【００５４】
実施形態例では、近傍キーフレームへのリンクに関わるステップは以下である。（ｉ）追跡−現在画像フレーム追跡位置ｐｔがまず、現在の画像フレームを前の画像フレームにリンクすることにより推定される。現在画像フレーム追跡位置ｐｔは、ｐｔ＝ｐｔ−１＋Ｉｔ，ｔ−１として推定され、式中、ｐｔ−１は前の画像フレームの位置であり、Ｉｔ，ｔ−１は、前の画像フレームから現在の画像フレームへのリンク（変位）ベクトルである。（ｉｉ）近傍キーフレームの検索−推定された現在フレーム追跡位置ｐｔを使用して、キーフレームデータベースが検索されて、検索エリア内にある近傍キーフレーム｛Ｋ０，Ｋ１，Ｋ２，．．．｝が識別される。検索エリアは、現在画像フレーム追跡位置ｐｔに相対して定義される。（ｉｉｉ）リンク：次に、現在画像フレームが近傍キーフレームＫ０、Ｋ１、Ｋ２、．．．のそれぞれにリンクされて、対応する変位ベクトル｛ＩＫ０，ｃ，ＩＫ１，ｃ，ＩＫ２，ｃ，．．．｝が得られる。
【００５５】
３）現在フレーム位置推定：リンクされた各近傍キーフレームＫｉは、４０８において、現在画像フレーム位置ＰｃＫｉの独立した推定を提供する。数学的に、これは、ＰｃＫｉ＝ＰＫｉ＋ＩＫｉ，ｃとして表現することができ、式中、ｐＫｉはキーフレームＫｉの位置であり、ＩＫｉ，ｃは、キーフレームＫｉからの現在の画像フレームへのリンク又は変位ベクトルである。現在の画像フレームの位置の個々の推定は、完全には一致しないことがあるため、現在フレーム位置は、個々の全ての推定ＰｃＫｉの平均として推定し得、ここで、ｉ＝１，２，３，．．．である。
【００５６】
４）キーフレームフィルタリング：ビジョンモデルモジュール１１４は、４１０において、現在の画像フレームをキーフレームとしてキーフレームデータベース４０６に追加すべきか否かを判断する。一実施形態例では、現在の画像フレームがキーフレームであるか否かについての判断は、全ての近傍キーフレームへの現在の画像フレームの距離に基づく。現在の画像フレームが任意の近傍キーフレームに近すぎる場合、すなわち、任意の近傍キーフレームへの現在の画像フレームの変位ベクトルが閾値未満である場合、現在の画像フレームはキーフレームとして追加されない。その他の場合、現在の画像フレームは、新しいキーフレームとしてキーフレームデータベース４０６に追加される。現在の画像フレームがキーフレームとして追加される場合、既存のキーフレームへのそのリンク｛ＩＫ０，ｃ，ＩＫ１，ｃ，ＩＫ２，ｃ，．．．｝も記憶される。この情報は、「バンドル調整」項で考察されるように、キーフレーム位置を事後処理調整するバンドル調整に使用することもできる。
【００５７】
現在の画像フレームが、キーフレームとしてキーフレームデータベースに追加されない場合、その画像内容は、既存のキーフレームのフォーカス置換に使用し得る。フォーカス置換については、「フォーカス置換」項で考察する。
【００５８】
図４に示される２Ｄ空間ハッシュマップモジュール４１２及びフォーカス置換モジュール４１４についてはそれぞれ、「フォーカス置換」及び「画像見当合わせ」の項で考察する。
【００５９】
ロスト処理
システム１００は、ビジョンモデルモジュール１１４が現在の画像フレームを既存の任意のキーフレームにリンクすることができない場合、ロスト状態になる。この場合、現在画像フレーム位置は、上述した追跡ステップから推定し得る。すなわち、現在画像フレーム追跡位置（前の画像フレームに基づいて特定される）は、現在の画像フレームの位置（通常状態では近傍キーフレームに基づいて特定される）として設定し得る。追跡ステップも同様に失敗する場合、現在の画像フレームの位置は前の画像フレームの位置として設定し得る。
【００６０】
システム１００がロスト状態である場合、新しい各入力カメラ画像フレームの高レベルステップは以下のように説明し得る。
【００６１】
１）事前処理−動作は通常状態と同じである。
【００６２】
２）近傍キーフレームへのリンク−動作は通常状態と同じであるが、近傍キーフレームを識別する検索半径又は検索エリアを増大し得る。半径／エリアの増大は、システム１００が失う連続画像フレームの数に依存し得る。現在の画像フレームのリンクに成功する場合、システム１００は、次の画像フレームに対して通常状態に戻る。その他の場合、近傍キーフレーム検索半径は、近傍キーフレームにリンクするステップにおいて、次の画像フレームに対して増大される。
【００６３】
３）現在フレームの位置の推定−現在の画像フレームが既存の任意のキーフレームにリンクすることができない場合、現在の画像フレームの位置は、上述したように推定される。しかし、リンクに成功する場合、現在フレームの位置は、通常状態と同様に推定される。
【００６４】
４）キーフレームフィルタリング／フォーカス置換−システム１００がロスト状態にある場合、これらのステップは実行されない。
【００６５】
ビジョンモデルモジュールの特定の実施形態の更なる詳細を以下に説明する。
【００６６】
極大特徴検出
通常、通常の特徴検出技法は、対象点又は特徴を選択する方法として特徴強度閾値を使用する。特徴強度閾値の使用に伴う問題は、特徴強度が、同じシーンを所与として、画像のコントラストに依存することである。さらに、特定の画像内容では、特徴閾値を超える非常に多数の対象点があり得、画像処理が劇的に遅くなる。検出される特徴の数を制限する一方法は、検出される特徴の数を一定に保つように試みる可変閾値を有することである。しかし、この方法は、対象点を画像フレームの小さな高コントラスト領域にクラスタ化する傾向を有し、これは、画像見当合わせプロセスのロバスト性を低減するおそれがある。
【００６７】
極大特徴検出技法により、かなり一定数の特徴を検出することが可能である。極大特徴検出技法は、画像フレームにわたって均等に検出特徴点を分布させ、様々な状況でのロバストな画像見当合わせを容易にする。この技法検出は、画像コントラストの変化にも不変である。
【００６８】
極大特徴検出技法はやはり、最初に通常特徴点検出を実行し得る。低い特徴強度閾値を設定し得、大きな潜在的特徴点の大きなリストを得る。極大特徴強度がＮ×Ｎ近傍領域内にある場合のみ、潜在的な特徴点のリストから特徴点が選択される。パラメータＮは、選択される特徴が疎になる程度を制御する。Ｎが大きいほど、特徴は疎になり、選択される特徴の総数が少なくなる。
【００６９】
画像見当合わせ
近傍キーフレームへのリンクは、画像見当合わせを使用して、近傍キーフレームを現在の画像フレームにリンクする。画像見当合わせモジュールは、ソース画像Ｉｓｒｃから宛先画像Ｉｄｓｔへのリンク／変位（Ｉｘ，Ｉｙ）を見つける。近傍キーフレームにリンクする際、図６に示されるように、近傍キーフレーム６１２は、ソース画像として設定され、現在の画像フレーム６１０は宛先画像として設定される。
【００７０】
見当合わせは、リアルタイム実行のために特徴に基づき得る。画像見当合わせモジュールは、２つの画像のそれぞれの特徴が、例えば、図４に関連して先に考察された事前処理ステップ４０２から既に見つけられていることを前提とする。求められる特徴タイプは特定的ではない。画像見当合わせモジュールは、特徴が、１）画像の座標（ｘ，ｙ）、２）向き、３）尺度、及び４）特徴の記述に使用される記述子を有することのみを前提する。記述子は、特徴を表すＮ個の要素の行ベクトルであり得る。Ｎは、例えば、６４又は１２８であり得る。同様の特徴では、記述子ベクトル間のユークリッド距離は小さいはずである。
【００７１】
画像見当合わせでのステップは以下である。
【００７２】
１）照合：宛先画像Ｉｄｓｔにおいて検出された特徴Ｄの集合を、ソース画像Ｉｓｒｃにおいて検出された特徴Ｓの集合と照合する。Ｉｄｓｔ内の特徴Ｄ［ｉ］毎に、Ｉｓｒｃでの最良一致が見つけられる。最良一致を見つける２つの方法例について説明する。使用される方法は、システム１００のハードウェア構成及び／又は処理能力に依存し得る。
【００７３】
ａ．高速ＣＰＵの場合：Ｄ［ｉ］毎に、Ｉｓｒｃ内の一致候補Ｓｉの集合がまず、Ｓからフィルタリングされる。次に、Ｄ［ｉ］の記述子が、Ｓｉ内の全ての特徴の記述子と比較される。最小記述子距離を有するＳｉ内の特徴が、Ｄ［ｉ］の最良一致として見つけられる。
【００７４】
ｂ．高速ＧＰＵの場合：総当たり特徴照合を実行し得る。Ｄ［ｉ］の記述子は、Ｉｓｒｃ内の全ての特徴の記述子と比較される。最小記述子距離を有するＩｓｒｃ内の特徴は、Ｄ［ｉ］の最良一致として見つけられる。総当たり照合は、ＧＰＵマッチャーモジュール（図４のボックス４０４参照）を使用して実行されて、高速実行される。
【００７５】
代替の実施形態では、最良一致及び最良一致距離を記録し記憶し得る。２番目に最良の一致及び２番目に最良の一致距離も、一致検証のために記録し得る。
【００７６】
２）一致検証：２つの画像フレームの特徴の一致が識別されると、一致検証ステップが実行される。一致検証プロセスの実施形態例について次に説明する。
【００７７】
ａ．２Ｄヒストグラムによる一致検証。ヒストグラムのｘ軸は特徴のｘ変位を表す。ヒストグラムのｙ軸は特徴のｙ変位を表す。一致対毎に、各Ｘ座標及びｙ座標（Δｘ，Δｙ）に基づく特徴変位が計算される。計算された変位は、２Ｄヒストグラムの蓄積に使用される。正確な特徴一致は、一貫した変位を有する。異常値の特徴一致はランダムな変位を有する。したがって、正確な特徴一致は同じビンに群がるはずである。最高の蓄積値ｂｘ，ｙを有するビン又はｂｘ，ｙの８つの近傍ビンのうちの１つに投じられた特徴一致が保持される。他の全ての特徴一致は破棄し得る。
【００７８】
ｂ．反復的幾何学的検証による一致検証。ここでは、推定された特徴変位が改良される。保持されている一致対応性から、平均特徴変位が見つけられる。一致特徴対毎に、平均変位からの残余が計算され、残余閾値未満の残余値を有する対のみが、許容可能な一致特徴対として保持される。例えば、一致特徴対が、平均残余の２倍を超えて平均変位から異なる場合、一致特徴対は破棄される。この幾何学的検証は、幾つかの繰り返しで、又は一致特徴対を破棄する必要がなくなるまで実行し得る。
【００７９】
あるいは、一致検証は記述子距離に基づいて行い得る。Ｉｄｓｔ内の各特徴の最良一致距離が、閾値未満であることが検証される。最良一致距離が大きすぎる場合、一致対を破棄し得る。一致検証は、最近傍比率テストに基づくこともできる。最良一致距離は２番目の最良の距離と比較される。比率が１に近すぎる場合、これは一致距離が非常に類似することを意味し、一致対は曖昧として破棄される。
【００８０】
残りの一致した特徴対（すなわち、許容可能な一致特徴対）からの最終的な平均特徴変位が、２つの画像の相対変位として使用される。最終的なチェックとして、残りの一致対の数は、特定の閾値を超える必要があり得る。残りの一致対からの平均残余も、設定されたピクセルユニット数未満である必要があり得る。結果が上記要件を満たすことができない場合、画像見当合わせプロセスは不成功として報告し得る。
【００８１】
図６に示されるように、Ｉｄｓｔ内の特徴Ｄ［ｉ］毎に、Ｉｓｒｃ内の最良特徴一致が見つけられる。
【００８２】
フォーカス置換
キーフレームデータベース内の既存のキーフレーム及びそのキーフレームに重複する現在の画像フレーム（例えば、２つの相対変位が、閾値未満であり、重複を示す場合）を所与として、現在の画像がより鮮鋭であると判断される場合、フォーカス置換モジュールは、キーフレーム画像を現在の画像からの内容で置換する。図７に示されるように、キーフレームデータベース内の既存のキーフレームは、現在の画像フレーム７０２に対する基準画像フレーム７０４として示される。
【００８３】
一実施形態例によれば、フォーカス置換モジュールは基準画像フレーム、現在の画像フレーム、及び互いの相対変位が、画像フレームの先の処理から既知であることを前提とする。フォーカス置換のステップは以下である。
【００８４】
１）基準画像フレーム７０４及び現在の画像フレーム７０２の両方の勾配画像を計算する。
【００８５】
２）２つの画像のそれぞれでの重複領域を計算する。重複領域は、現在の画像フレーム及び基準画像フレームの陰影の付いた対象領域（ＲＯＩ）７０６、７０６’として示される。図７に示されるように、基準画像フレーム７０４と現在の画像フレーム７０２との変位を所与として、各画像フレームでの重複エリア（又はＲＯＩ）を見つけることができる。フォーカス置換方法の一実施形態例では、重複エリアのみが比較されて、画像の鮮鋭さが特定される。
【００８６】
３）各画像フレームのＲＯＩの勾配和を計算する。勾配和は、画像の鮮鋭さを示すパラメータである。
【００８７】
４）現在の画像フレームのＲＯＩ７０８の勾配和が、基準画像フレームＲＯＩ７０６’の勾配和よりも大きい場合、現在の画像フレームがより鮮鋭であると見なされる。この場合、基準画像フレームＲＯＩ７０６’の内容を現在の画像フレームＲＯＩ７０６の内容で上書きすることにより、画像置換を実行し得る。ブレンドは任意選択的に、より「漸次的な」置換のために、基準ＲＯＩの境界周囲で行うことができる。
【００８８】
幾つかの実施形態によれば、最適化方法をフォーカス置換に使用し得る。現在の画像フレーム（Ｉｃ）が複数の既存のデータベースキーフレーム（Ｋ１，Ｋ２，Ｋ３，．．．）に重なる状況では、上記の基本方法が各対間（Ｉｃ，Ｋ１）、（Ｉｃ，Ｋ２）、（Ｉｃ，Ｋ３）、．．．でそれぞれ実行される。基本方法が実行される都度、勾配画像が再計算されるため、これにはかなり時間がかかり得る。最適化は、勾配画像を再計算する必要をなくすことを目的とする。これは以下のうちの１つ又は複数により行われる。
【００８９】
１）各カメラフレームがビジョンモデルモジュールの処理ステップを通って流れる際に、各カメラフレームの勾配画像を計算する。したがって、各フレームは、それに関連付けられた予め計算された勾配画像を有する。
【００９０】
２）カメラ画像フレーム（現在の画像フレーム）がデータベースキーフレームとして選択される場合、カメラ画像フレーム及びそれに関連付けられた勾配画像は一緒に記憶され、したがって、各キーフレームは予め計算された勾配画像を有する。
【００９１】
３）ここで、勾配を再計算せずに、キーフレーム及び現在の画像フレームに関連付けられた勾配画像を使用して、基本方法を実行することができる。画像置換がキーフレーム内で行われる場合、キーフレーム勾配画像も、現在の画像フレームからの勾配画像を使用して同じように置換される。
【００９２】
キーフレームデータベース
キーフレームデータベース４０６は、モザイクが拡大する場合、多数のキーフレームを含み得る。他のモジュールで要求される重要な一機能は、対象領域内に配置されたキーフレームを効率的に検索する能力である。例えば、近傍キーフレームへのリンクでは、現在の画像フレーム周囲のキーフレームを検索する必要があるとともに、検索機能が必要である。多くのキーフレームをキーフレームデータベースに有することにより、検索性能問題がもたらされる。特定の領域内のキーフレームを見つけるために、大きなキーフレームリストを通して検索し、対象のキーフレームを見つけるために、性能が低下するおそれがあることがあり得る。本開示の実施形態例は、２Ｄハッシュマップを作成することによりこの問題に対処する。
【００９３】
２Ｄハッシュマップは、図８に示されるように、キーフレームの位置に基づいてキーフレームをセルにグループ化する。セルはグリッド８０２に位置合わせされ、二次元インデックス（ｉ，ｊ）を使用することによりインデックス付け得る。セルがインデックス付けされる場合、そのセル内の全てのキーフレームが得られる。各キーフレームはハッシュを有するか、又はその位置（ｘ，ｙ）からセルインデックス（ｉ，ｊ）へのマッピングを有する。このハッシュは以下のように定義し得る。
ｉ＝フロア（ｘ／幅）
ｊ＝フロア（ｙ／高さ）
式中、幅及び高さは各セルの指定された幅及び高さである。本開示では、画像フレームの幅及び高さをこれらの値として使用することが好都合である。その結果、間隔［ｃ＊ｗｉｄｔｈ，（ｃ＋１）＊ｗｉｄｔｈ］内の全てのセルは、同じセルインデックスｃにグループ化され、ここで、ｃはある整数の定数である。これらのセルは全て近傍と見なされ、位置間の距離が幅であることが許される場合、所与のセルから多くとも１セル離れたセルはｃ−１、ｃ、ｃ＋１としてインデックス付けられる。
【００９４】
各セル内部にはキーフレームリストがあり、このリストは最初は空のリストである。新しいキーフレームが、ハッシュに基づいてセルに配置され、これは、新しいキーフレームが追加されるセルのインデックスを見つけるために使用される。セルが、何のキーフレームがあるかを見つけるように問い合わせられる場合、セル内のキーフレームを識別するキーフレームリストが返される。領域、例えば、複数のセルを包含するクエリ領域８０４が問い合わせられる場合、クエリ領域内部の各セルからのキーフレームリストが一緒に添付され、添付付きリストが返される。
【００９５】
ディスプレイ（例えば、矩形表示領域）にレンダリングする必要があるキーフレームを決定するために、表示矩形にカメラの最小及び最大位置を使用する同様の参照。最小位置がインデックスｃ＿ｍｉｎを提供し、最大位置がインデックスｃ＿ｍａｘを提供すると考えると、ｃ＿ｍｉｎからｃ＿ｍａｘへの反復クエリは全ての可視キーフレームをもたらす。キーフレームデータベースに追加される各キーフレームが、小さな円で示される図８に示されるように、クエリ領域８０４はセルの４つのみのキーフレームを評価する。したがって、処理時間が短縮され、モザイク表現のレンダリングがより高速且つより効率的になる。
【００９６】
複数対物レンズステッチングへのビジョンモデルモジュールの拡張
特定の実施形態例では、異なる倍率の対物レンズから生成されたモザイクを結合することが可能である。対物レンズ毎に別個のキーフレームデータベースを保持し得る。対物レンズの光心間の変位が既知の場合（例えば、較正から）、各対物レンズからの異なるモザイクを関連付け、結合して単一のモザイクにすることができる。
【００９７】
ＧＰＵ照合方法
ビジョンモデルモジュールに関して上述したように、顕微鏡カメラにより捕捉された任意の画像フレームが解析されて、特徴を抽出する。特定の実施形態によるＧＰＵ照合方法例９００の概略について、図９を参照して後述する。
【００９８】
特徴のそれぞれは、前にステッチングされた画像で見つけられた特徴と比較され、任意の類似性を識別する。このステップは、特徴照合９０６と呼ばれ、モザイク内部の新しいキーフレームの位置を推定する。そのようなプロセスは、キーフレーム毎に数百個の要素を経なければならないため、幾つかの動作を必要とし、リアルタイムシステムでの性能の問題に繋がるおそれがある。しかし、ＧＰＵを使用して並列に実行することが可能である。
【００９９】
特定の実施形態では、本開示は、ＣＵＤＡライブラリを使用するグラフィックスカードの性能を利用する特徴照合方法のマルチスレッド版を開発する解決策を提供する。
【０１００】
以下の考察の最初の部分では、方法自体を説明し、方法をマルチスレッド用に構成する。第２の部分は、方法をＧＰＵシステムで実行するプログラムのアーキテクチャの開発に当てられる。図９及び図１０はそれぞれ、ＧＰＵ照合方法及びアーキテクチャの概略表現である。
【０１０１】
特徴照合９０６は通常、宛先特徴（Ｄ）及びソース特徴（Ｓ）（図９の「入力データ」９０４参照）と示される特徴の２つの集合に対して実行される。方法の目標は、Ｄからの特徴毎に、Ｓからのどの２つの特徴が最良及び２番目に最良の一致であるかを判断する。例えば、特徴は、特定の対象点を記述する１２８個の要素の行ベクトルとして定義し得る。
【０１０２】
ｐ＝（ｐ１，ｐ２，．．．，ｐ１２８）及びｑ＝（ｑ１，ｑ２，．．．，ｑ１２８）
であるような２つの特徴ｐ及びｑが考えられる。
【０１０３】
ｐとｑとの比較は、以下のように定義されるそれぞれのユークリッド距離Ｅ（ｐ，ｑ）に基づく。
2014529922.tif 000003
【０１０４】
２つの特徴ｐ及びｑは、ｐとｑとの距離Ｅ（ｐ，ｑ）がゼロに近い場合、同様であると見なされる。次に、最小距離を探すことにより、最良一致を見つけ得る。
2014529922.tif 000004
であるように、ＳをＭ個の特徴の集合として考え、ＤをＮ個の特徴の集合であると考える。式中、Ｓ［ｉ］はソース特徴ｉであり、Ｄ［ｊ］は宛先特徴ｊである。
【０１０５】
インデックスｉのソース特徴Ｓ［ｉ］は、距離Ｅ（Ｓ［ｉ］，Ｄ［ｊ］）がＤ［ｊ］と任意のソース特徴：
2014529922.tif 000005
との最小距離である場合、宛先特徴Ｄ［ｉ］の最良一致と見なされる。
【０１０６】
上述したように、この方法は、宛先特徴毎に２つの最良一致を見つける。これらの結果は、２行及びＮ列のＩｄｘとして示される二次元アレイで返され、このアレイでは、１列が１つの宛先特徴の最良一致に対応し、１行目及び２行目はそれぞれ、最良及び２番目に最良に一致するソース特徴のインデックスである。この方法は、宛先特徴とその一致要素との間で見つけられる距離を返すこともできる。一致する要素は、Ｉｄｘと同じ構造のＥｄと示されるアレイに記憶される（図９の「出力データ」９１０参照）。出力データはビジョンモデルモジュールに提供し得る（図９に示されず）。
【０１０７】
この方法で最もコストのかかる動作は、ユークリッド距離の処理（図９の「ユークリッド距離」９０８参照）である。距離は一緒に比較されるため、平方根をスキップすることによりこの処理を改良し得る。この処理は、約分演算を使用して並列化することもできる。約分演算は、作業を幾つかのスレッドに分けることからなる。ユークリッド距離の処理に使用される式は主に、処理された項の和で形成される。そのため、計算する一項を各スレッドに与えることが可能である。次に、結果を一緒に合算し得る。そうするために、各スレッドに２つの要素の和を割り当て得る。次に、出力は入力アレイの１／２のベクトルになる。このプロセスは、図９の９０８に示されるように、ユークリッド距離の二乗に対応する一固有値が得られるまで繰り返される。
【０１０８】
リンクモジュール９０２による特徴照合は、２つの主な関数を用いて開発し得る。第１の関数は、宛先特徴毎に各ソース特徴を処理し、マルチスレッド処理を使用してユークリッド距離を処理する第２の関数を呼び出し得る。
【０１０９】
ＧＰＵ照合アーキテクチャ
特定の実施形態によるＧＰＵマッチングの実施形態例のアーキテクチャ１０００について、図１０に関連して後述する。ＧＰＵ版の特徴照合を実施するために、幾つかの態様を説明しなければならない。最初に、メモリが、ＣＰＵとは異なるようにＧＰＵにおいて管理され、ニーズに応じて幾つかの解決策が利用可能なことを考慮しなければならない。第２に、スレッドを各グラフィックスカードのマルチコアプロセッサに割り当てる方法を確立しなければならない。
【０１１０】
ＧＰＵシステムは３種のメモリを提供する：グローバルメモリ１００４、テクスチャメモリ１００２、及び共有メモリ（Ｓ．Ｍ．）。グローバルメモリ１００４を使用して、読み書きでシステム内の任意のスレッドからアクセス可能な任意の種類の変数を記憶する。テクスチャメモリ１００２は、読み出しのみが可能なことを除き、グローバルメモリと同様である。その結果、テクスチャメモリ１００２はより高速のメモリアクセスを提供する。共有メモリは、同様に読み出しのみに制限され、特定数のスレッドの間で共有されるデータスタックである。共有メモリは、後述するブロック構造１０１０の内部で使用される。共有メモリはテクスチャメモリ１００２よりも高速であるが、そおサイズはかなり制限される（例えば、１６ＫＢ）。
【０１１１】
グラフィックスカードは、ＣＰＵ（ＲＡＭ）が使用するメモリにアクセスすることができず、次に、第１のステップは、入力データをＧＰＵメモリにコピーすることである。上述したように、入力データは２つのアレイに記憶される：Ｄ１００６及びＳ１００８。アレイＳ１００８は読み出しの場合のみ必要とされ、入力データをテクスチャメモリ１００２にコピーすることがより効率的である。
【０１１２】
出力データも、ＲＡＭに転送する前に、ＧＰＵメモリに記憶しなければならない。上述したように、出力データは２行及び２列の２つのアレイを含む：Ｉｄｘ１０１６及びＥｄ１０１８（上記参照）。Ｅｄ１０１８は、スレッドにより編集され、グローバルメモリ１００４に記憶される。
【０１１３】
共有メモリの使用について、ブロック構造の一部としてより詳細に後述する。
【０１１４】
ＣＵＤＡはブロック構造の使用に基づく。これらのそれぞれは、実行するスレッドの集合と、スレッドで共有されるメモリブロックとの複合である。図１０に示されるように、ブロックはグリッド１０１０に配置される。カーネルが呼び出される場合（図１０の１０１２参照）、ハードウェア容量に応じて、宣言された各ブロックをストリーミングマルチプロセッサ１０１４に割り当て得る。
【０１１５】
特徴照合の場合、１つの宛先特徴の解析がブロック毎に割り当てられる。したがって、あらゆるスレッドが宛先特徴への高速アクセスを有することができるように、宛先特徴はブロックの共有メモリにコピーされる。このアーキテクチャでは、あらゆるブロックがソース特徴Ｓｒｃの全体アレイにアクセスする必要がある。共有メモリが制限され、テクスチャメモリ１００２がそのようなアレイへの高速アクセスを提供することを知り、スレッドはテクスチャメモリ１００２から直接読み出す。ＧＰＵ照合方法を参照して上述したように、ブロックの各スレッドを使用して、ユークリッド距離をもたらす約分演算を処理し得る。特徴が１２８個の値のベクトルであることを知り、ブロック毎に１２８個のスレッドが必要である。その結果、各ブロックは、割り当てられた宛先特徴の２つの最良一致を出力する。
【０１１６】
レンダラー
上述されたレンダラーについて、図１１及び図１２に関連してこれよりさらに詳細に提示する。
【０１１７】
多くのキーフレームを空間内のランダムな位置にレンダリングするタスクは困難であり得る。単純に常時、全てのキーフレームをレンダリングし、各レンダリング時に全てのテクスチャを更新する代わりに、これらの問題に対処する幾つかの方法が提案されている。ハッシュマップ４１２を使用して、何が画面上にあるのかの高速探索を実行し、専用テクスチャアトラス１１１０を使用して、１つのバッチで全てのキーフレームをレンダリングすることが可能であり、リアルタイムブレンドシェーダー１２０６が、フレーム間の継ぎ目があまり目立たないように使用される。
【０１１８】
これらのキーフレームの全てをレンダリングしようとすることに伴う問題の１つは、それら全てのテクスチャを所与の時点でメモリに記憶することが略不可能且つ非効率的であることである。別の問題は、各キーフレームのテクスチャを記憶することも非効率的であることであり、これは、キーフレーム毎にｇｌＢｉｎｄＴｅｘｔｕｒｅ  ＯｐｅｎＧＬ呼び出し１２０４を導入し、実行を妨げる。これらの両問題を一度に解決するために、複数解像度テクスチャアトラス１２０２が使用される。
【０１１９】
テクスチャアトラスは大きなテクスチャであり、多くのサブテクスチャ（又はここでは、キーフレーム画像）を記憶する。異なるテクスチャを呼び出すのではなく、異なるテクスチャ座標が、キーフレームがレンダリングされている各ポリゴンに指定される。しかし、全てのキーフレーム画像を１つの大きなテクスチャに当て嵌めることにより、同じメモリ制限が生じる。キーフレームのモザイクを完全にズームインした場合、多くのキーフレームがビューエリア内部にないことに留意する。他方、完全にズームアウトした場合、全てのキーフレームをレンダリングする必要があり得るが、解像度ははるかに低い。このことを利用して、異なる「レベル」と呼ばれるもので、設定された数のテクスチャアトラスを有する。
【０１２０】
図１１に示されるように、各テクスチャアトラスは、同じ解像度１１０２であるが、異なるレベル１１１２にあり、記憶される画像は各レベルで半分の解像度である。例えば、画像の幅及び高さ２０４８並びにテクスチャトラスの幅及び高さが全て４０９６である場合。底のレベル（レベル０）で、４つの画像（２０４８×２０４８）を記憶することができる。次のテクスチャアトラスレベルは４０９６×４０９６であるが、ここでは、記憶される画像は１０２４×１０２４であり、したがって、前のレベルの４倍の数の画像をこのレベルで記憶し得る（レベル１では１６）。同様に、レベル２は１６＊４の画像を有することになり、レベル３は１６＊４＊４の画像を有することになり、以下同様である。アトラスレベルはカメラ及び現在のズームレベルによって決まる。ズームレベルが、１つの画像ピクセルが１つの画面ピクセルと同じサイズ以下であるようなものである場合、最大解像度を使用し得る。ズームアウトすると、一度に見られるのは画像ピクセルの半分だけであり、したがって、次のレベルを使用することができる。
【０１２１】
キーフレームをレンダリングするために、テクスチャアトラスの集合を生成し得る。上述したように、各テクスチャアトラスは、関連付けられた解像度を有し、関連付けられた解像度でダウンサンプリングされた少なくとも１つのキーフレームを含み得る。レンダリングの表示エリア及び表示解像度が選ばれる。表示解像度に最も近い解像度を有するテクスチャアトラスが、テクスチャアトラスの集合から選択される（必要な場合には更新される）。関連付けられたキーフレーム一が表示エリア内にあるテクスチャアトラスからのキーフレームを次に、ディスプレイにレンダリングし得る。
【０１２２】
キーフレームデータベースからの１つ又は複数のキーフレームが、表示エリア内に関連付けられたキーフレーム位置を有するものとして識別されるが、まだテクスチャアトラスにない（又は存在していない）場合、レンダリング前に、これらのキーフレームを含むようにテクスチャアトラスを更新し得る。例えば、欠けているキーフレームを、テクスチャアトラスの関連付けられた解像度でダウンサンプリングし、テクスチャアトラスに挿入し得る。
【０１２３】
なお、これらのキーフレームをレンダリングするために、キーフレームが最初にアトラス内に存在する必要がある。新しいキーフレームは最初、全てのアトラスレベルに配置して、配置の時間を償却する。レンダリング時、所与のレベルでレンダリングするために必要な全てのキーフレームが得られ、キーフレームテクスチャアトラスにない場合には、キーフレームは、例えば、十分に高速であるＯｐｅｎＧＬのフレームバッファオブジェクト拡張１２０８を使用してテクスチャにレンダリングされる。
【０１２４】
キーフレームがフォーカス置換を必要とする場合、そのキーフレームの全てのアトラスレベルを更新しなければならない。レンダリングすべきキーフレーム毎に、ビジョンモデルモジュールにより設定されるそのキーフレームのチェックフラグを調べて、テクスチャアトラスでの更新を必要とするか否かを判断し得、キーフレームを、上述したように、全てのレベルでテクスチャアトラスにアップロードし得る。
【０１２５】
テクスチャが、容易な探索のためにテクスチャアトラスに詰め込まれると、クワッド／画像矩形をレンダリングする場合、テクスチャ座標がテクスチャアトラスから得られる。このプロセスは、レンダリングカメラに重複する現在のキーフレームを探してビジョンモデルモジュールを照会して、ＩＤ集合を得ることにより開始される。これらのＩＤを用いて、キーフレームがチェックされ、キーフレームが所与のズームレベルでテクスチャアトラス内にあるか否かが判断される。ない場合、キーフレームは追加される。すでにある場合、何も行われない。両方の場合で、キーフレームがテクスチャアトラスのどこにあるか（キーフレームがテクスチャアトラスに存在するロケーション）を示すテクスチャ座標が得られる。各クワッドにテクスチャ座標を用いて、各クワッドの位置が生成される。クワッドの左上位置は、キーフレーム構造から既知であり、３つの他の頂点は、フレームの幅／高さを左上位置に追加することを通して生成される。位置及びテクスチャ座標はバッチ（大きなアレイ）でＯｐｅｎＧＬ１２０４に渡されて、数千ものＯｐｅｎＧＬ呼び出しを節減する。
【０１２６】
キーフレームは、レンダリングされる場合、あるフレームが終わり、別のフレームが始まる急なエッジを有する。これを解決するために、両フレームの線形結合をレンダリングし得、換言すれば、キーフレームをブレンドし得る。フレームの重複がないフレームの領域では、寄与はそのフレームからのみであるはずである。重複領域がある場合、キーフレームは、エッジにどの程度近いかに基づいて加重される。
【０１２７】
このために、キーフレームと同じサイズを有する中央にセンタリングされたガウス画像を予め計算し得る。複数のフレームが重複する場合、２パスピクセルシェーダーの使用により、それらのフレームを一緒にブレンドし得る。第１のパスで、全てのフレームはＯｐｅｎＧＬからの加法ブレンドを可能にし、基本的に全てのフレームが一緒に加算され、加重平均として第１のピクセルシェーダーにおいて以下のように加重し得る。
ｐａｓｓ１ｃｏｌｏｕｒ．ｒｇｂ＋＝ｇａｕｓｓ＊ｆｒａｍｅｃｏｌｏｕｒ．ｒｇｂ
ｐａｓｓ１ｃｏｕｌｕｒ．ａ＋＝ｇａｕｓｓ
【０１２８】
第２のピクセルシェーダーにおいて、全てのフレームは一緒に加算され、寄与重みの追加に基づいて正規化し得る。
ｐｉｘｅｌｃｏｌｏｕｒ＝ｐａｓｓ１ｃｏｌｏｕｒ．ｒｇｂ／ｐａｓｓ１ｃｏｌｏｕｒ．ａ
【０１２９】
したがって、各ピクセルは、キーフレームでの元のピクセルの位置に依存する加重平均である（フレームの中央は最も大きな重みを取得し、エッジは最も小さな重みを取得する）。
【０１３０】
リアルタイムでレンダリングされたシーンは、固定グリッドロケーションにおいて仮想カメラをシーンのあちこちで移動させて（ユーザがマウスを用いて仮想カメラを移動させる）、各タイルを生成することにより、ハードドライブに保存し得る。ビューエリアを増大させて（仮想カメラでのズームアウト）、ｔｉｌｅｄ．ｔｉｆｆファイルを生成することもできる。レンダリングはリアルタイム動作であるため、この保存機能のコストは、各タイルを最初に事前処理するのとは対照的に、ハードドライブに保存する時間によって制限される。
【０１３１】
コントローラ
本開示のコントローラについて、図１３に関連してこれより考察する。
【０１３２】
コントローラ１０６は、ユーザがシステム１００の残りの部分とどうように対話するかを定義する。通常、コマンドは、カメラ１０４、ビジョンモデルモジュール１１４、レンダラー１０８のようなものへのコマンドの単純なリダイレクトであるが、コントローラ１０６は仮想情報も追跡する。
【０１３３】
図１４に示されるように、コントローラ１０６は、仮想カメラ又はキーフレームをどこで見るかについての情報を提供するカメラを収容する。例えば、仮想カメラは、１つのみのキーフレームを見て、そのキーフレームで画面を埋めることができるか、又はよりズームアウトされた、その全てを示すモザイクを表示することができる。仮想カメラは、スキャンされた画像の仮想表現１４０２を通してのナビゲーションがどのように実行されるかを定義する。例えば、仮想カメラは矩形領域として構成することができ、その領域は、レンダリングパイプラインを介して画面にマッピングされる。図１４に示される例では、２つの仮想カメラがあり、一方はよりズームインしたビュー１４０４を示し、もう一方はよりズームアウトしたビュー１４０６を示す。
【０１３４】
ユーザが迷った（すなわち、現在のキーフレームと既存のモザイクとを一致させることができない）場合、矢印（ＵＩ矢印）を表示し得る。矢印の方向は、現在のキーフレームから付近の近傍キーフレームの平均への方向であり得る。これは、ユーザがモザイク領域に戻ろうとする概ね「良好」な方向をもたらす。とにかくこの種のフィードバックを有することは、十分な特徴を有さない領域にいるか、又はあまりに速く移動しているために、迷っていることをユーザに知らせるために有益である。
【０１３５】
本開示の特定の実施形態はストリームモード１３０２を含む。ストリームモード１３０２の目標は、顕微鏡の対物レンズを較正するとともに、カメラのライブストリームを見て、ステッチングに大丈夫であるか否かを確認することである。カメラのスナップショットを保存する選択肢、現在の対物レンズを較正する選択肢、新しい対物レンズを挿入する選択肢、現在の対物レンズを除去する選択肢がある。セットアップが適宜較正されると、システムを適宜使用する準備ができる。ユーザは、現在のカメラ画像フレームに十分な特徴が存在する場合、「ステッチ開始」を選択することができる。十分な特徴がない場合、方法が、機能するのに十分な内容を有さないため、ユーザによるステッチングは許可されない。
【０１３６】
更なる実施形態はステッチモード１３０４を有する。ステッチモードにおいて、ユーザは、顕微鏡ステージを用いてあちこち移動することにより画像を自在にステッチすることができる。ユーザがマウスを用いてのナビゲートを望む場合、同様にそうすることができる。ユーザに現在のカメラストリームを同時に見せて、フォーカスを支援するライブビュー選択肢もある。ユーザが異なる対物レンズに切り替える場合、システムはステッチの試みを自動的に停止し、現在のカメラビューを表示し続ける。ステッチモード及びストリーミングモードの両方で、対物レンズは、自動的に切り替えられ較正される。ユーザが、前にステッチングしていた対物レンズに再び切り替える場合、ステッチングの再開を試みる。随時、ユーザはステッチングされた画像を保存し、利得補償をアクティブ化し、ストリームモードに戻り、又は現在のカメラフレームを保存することができる。
【０１３７】
高速保存
上記に加えて、本開示の実施形態は、種々雑多な機能及びモジュールを備えることができる。そのような一モジュールは「高速保存」特徴１１６であることができる。モザイクを保存するために、まず、全ての個々のキーフレームからモザイクを生成しなければならない。モザイク生成での主要ステップは、キーフレームの重複を扱うことである、ブレンドすることである。高速保存は、レンダラーの内蔵高速ブレンドを使用して、全体モザイクを生成する。モザイクが生成されると、モザイクは、「レンダリング」項で上述したように、Ｂｉｇ−ＴＩＦＦフォーマットで保存される。
【０１３８】
品質保存
本開示の実施形態は、品質保存又は「マルチバンドブレンド」特徴１１８を含むこともでき、これについては図１５及び図１６を参照して後述する。これは、高速保存特徴１１６と比較して、モザイク保存の高品質版である。品質保存は、マルチバンドブレンドを使用してモザイクを生成し、このブレンドは、レンダラー１０８が使用する単純なものと比較してより高度なブレンド方法である。品質保存機能の構成例について、図１５及び図１６を参照して後述する。
【０１３９】
ビジョンモデルモジュールにおいて説明されたように、画像モザイクのブレンドの本質は、デジタルカメラにより捕捉された画像集合のステッチングにある。理論上、各画像は同じ条件下でサンプリングされる。しかし、現実では、特定の予期されない影響がこれらの理想的なパラメータを損なうおそれがある。その結果、照明の変動、シーンの移動、又は露出の違いが目に付き、見当合わせ誤差、不均一輝度、又は目に見えるエッジ等のモザイクの不連続性を生じさせる。その場合、モザイクを保存する前に、事後処理技法を適用する必要がある。
【０１４０】
第１の解決策は、利得補償を適用することである。利得補償は、輝度差を軽減することに対するその効率が証明されているが、目に見える画像の境界を完全には除去せず、見当合わせ誤差には効果がない。画像を一緒にブレンドするロバストなプロセスが望ましい。
【０１４１】
単純な手法は、線形ブレンドを使用することである。線形ブレンドの本質は、加重和をモザイクの各画像に適用して、画像間で平滑な遷移を有することにある。この方法は、目に見えるエッジの除去に効率的であり、比較的高速である。しかし、線形ブレンドは、幾つかの見当合わせ誤差を残しがちであり、画像内の輪郭線を変える場合があり、これは最終的な結果の品質に影響する。代替は、Ｐ．Ｂｕｒｔ  ａｎｄ  Ｅ．Ａｄｌｓｏｎ，Ａ  Ｍｕｌｔｉｒｅｓｏｌｕｔｉｏｎ  Ｓｐｌｉｎｅ  Ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏＩｍａｇｅ  Ｍｏｓａｉｃｓ，１９９３に記載されているマルチバンドブレンド方法であり、これを参照により本明細書に援用する。さらに、画像ステッチングの異なる実施態様が開発され、Ｍ．Ｂｒｏｗｎ  ａｎｄ  Ｄ．Ｌｏｗｅ、Ａｕｔｏｍａｔｉｃ  Ｐａｎｏｒａｍｉｃ  Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｕｓｉｎｇ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅｓ，２００７に記載され、これを参照により本明細書に援用する。この画像ステッチングの異なる実施態様は、ディテール周波数に応じて、各サンプルをバンド単位で分解するという概念に基づく。それゆえ、変化する空間範囲にわたって生成されるバンドをブレンドすることが可能になる。最高周波数に低い範囲を選ぶことにより、輪郭線は維持され、よりよい品質を保証する。また、高い範囲が低周波数に適用されて、画像のディテールを変更することなく、強い不連続性を除去する。
【０１４２】
以下は、マルチバンドブレンド方法１５００を記載し、本開示の実施形態に構成されるマルチバンドブレンド方法の最適化された実施を提供する。
【０１４３】
マルチバンドブレンド方法について幾つかのステップを通して説明する。最初に、重み関数を定義する必要があり、重み関数は、画像間の平滑な遷移を特定する。次に、プロセスを実行して、各画像をいくつかのバンドに分解する。最後のステップは、各バンドをブレンドし、一緒に混合して、最終的なモザイクを得ることである。
【０１４４】
一般に、画像のブレンドは加重和に基づく。概念は、ピクセル毎に０〜１の値を設定し、最終的な結果へのピクセルの影響を設定することであり、１は、完全に使用するピクセルの場合であり、一方、０はモザイクから除外されるピクセルの場合である。次に、中間値のピクセルを使用して、画像間の平滑な遷移を得る。マルチバンドブレンドの場合、遷移エリアのサイズは、ディテールを保存するためにバンド毎に変わる。
【０１４５】
ブレンド範囲を設定する前に、画像間の適切な境界線を選ぶべきである。そうするために、各画像の各ピクセルの信頼度を設定する中間重み関数Ｄ（ｘ，ｙ）が設定される。画像の中心が、境界よりも多くの信頼可能な情報を含むと仮定する。関数Ｄ（ｘ，ｙ）は次に、中心における１からエッジでの０まで変化する値を設定する。最高度：
2014529922.tif 000006
を有するピクセルを選ぶことにより、二値重みマップ１５０２が構築され、ここで、ｊは、０≦ｊ＜ｎであるような整数であり、ｎはブレンドする画像の数である。
【０１４６】
最後に、結果として生成される重みマップをぼやけさせることにより、遷移エリアが処理され、ぼやけの強度がブレンド範囲を設定する。
【０１４７】
マルチバンドブレンドでは、ディテールを背景から分離する必要がある。この動作は、空間周波数に応じて画像を分解することにより処理することができる。空間周波数は、空間領域での時間周波数と同様の測定値である。視覚的知覚の場合、高空間周波数は、エッジ等の急な空間変化を表し、一方、低空間周波数は、背景のようなより大域的な情報を表す。マルチバンドブレンドは元々は、任意の数のバンドで機能する。しかし、幾つかのテスト後、バンドの数が増大するにつれて、結果は顕著には改良されないことが分かった。したがて、２つのバンドを使用する実施形態例を本明細書において説明する。
【０１４８】
空間周波数を分解する一般的な方法は、ガウスフィルタを適用することであり、この方法について図１５に示されるブレンド１５０４を参照して説明する。ガウスフィルタはローパスフィルタであり、高周波数を除去することにより画像をぼやけさせる効果を有する。標準偏差σのガウスぼかしカーネルｇσ（ｘ，ｙ）を考える。この関数を、畳み込みによりモザイクのｉ番目の画像Ｉｉ（ｘ，ｙ）に適用することができる。
2014529922.tif 000007
結果として生成される画像
2014529922.tif 000008
は、波長λ≧σでの元画像の空間周波数を表す。
【０１４９】
高周波数は、結果を元画像から減算することにより取り出される。
2014529922.tif 000009
2014529922.tif 000010
及び
2014529922.tif 000011
はそれぞれ、モザイクのｉ番目の画像Ｉｉ（ｘ，ｙ）の１番目及び２番目のバンドである。
【０１５０】
分解は各画像で行われ、バンドを一緒にブレンドしなければならない。上述したように、マルチバンドブレンドの利点は、波長範囲に応じて、異なる遷移エリアにわたってブレンドする可能性を提供することである。そうするために、ブレンドするｋ番目のバンドに応じて異なる標準偏差σｋを適用することにより、重みマップはぼかされる。
2014529922.tif 000012
2014529922.tif 000013
は、画像Ｉｉ（ｘ，ｙ）のｋ番目のバンドに適用される重みマップである。
【０１５１】
次のステップは、各バンドの加重和を処理することにより画像サンプルをブレンドすることである。
2014529922.tif 000014
式中、Ｉｋ（ｘ，ｙ）は最終的なモザイクのｋ番目のバンドを表す。
【０１５２】
結果として生成される２つのブレンドされたバンドを一緒に加算して、最終的な結果を得ることができる。
【０１５３】
この方法は重い処理を必要とし、高速事後処理方法のニーズを満たさない場合がある。以下の項において、ＧＰＵプログラミング等の最近の開発を使用して、より強力でより高速なプログラムを可能にするプロセスセットについて説明する。
【０１５４】
まず、モザイクをチャンクに分割し（図１５の１５０６参照）、次に、重みマップの記憶を最適化することにより、メモリの使用を低減することに焦点を合わせる。事後処理されたモザイクをファイルに保存する解決策が次に実施される。最後に、ＧＰＵプログラミングを使用する最適化の解決策について説明する。
【０１５５】
メモリの使用は、この方法にとって重要な問題であった。分かった問題は、オペレーティングシステムＷｉｎｄｏｗｓ（商標）に起因した。実際に、プログラムは、４ＧＢよりも大きなメモリを割り振ろうとする場合にクラッシュするように見える。この状況は、画像サンプルの大きな集合をステッチしようとする間によく見られるようである。この問題に対して見つかった解決策は、モザイクを小さなチャンクに分割し、チャンクがメモリの４ＧＢを超えないことを保証することであった。チャンク毎に画像をブレンドするためには、どの画像がチャンクと交わるかを識別する必要がある。次に、各チャンクを別個のモザイクとして扱うことができる（図１６の１６０２及び１６０４参照）。処理するピクセル数を削減するために、画像サンプルをクロッピングして、チャンクの内部で実際に使用されるものにすることが魅力的であり得る。クロッピングは、加重和の処理中の良好な最適化であり得るが、これは、重みマップを構築する間にトラブルを生じさせるおそれがある。重みマップが、ぼやけさせる前にクロッピングされる場合、同じ状況が非一貫性をもたらすおそれがある。例えば、重複領域がプロセスでクロッピングされる場合、ローパスフィルタは、チャンクの境界を考慮に入れる。それゆえ、遷移エリアは、チャンクなしで行われるものと一致しなくなり、最終的なモザイク内部への目に見えるエッジの挿入に繋がるおそれがある。
【０１５６】
考慮される別の側面は、重みの計算である。２つの解決策がこのために可能であるように思える。第１の解決策は、必要な場合に重みマップを処理することを含む。チャンクが十分に小さい場合、チャンクは多数の画像を含まないはずである。しかし、このプロセスは、各チャンク内の各キーフレームに対して繰り返される。理論上、サンプルも幾つかのチャンクに出現し得る。その結果、このプロセスは必要な回数を超えて繰り返されて、プログラムの実行を遅くさせることに繋がるおそれがある。他方の解決策は重みマップを事前処理し、後で使用するために記憶することである。この方法により、画像の重みマップが一度のみ処理されることを保証することができる。しかし、キーフレームの数が増大するにつれて、これも同様にメモリ使用のかなりの増大に繋がる。最初の解決策がより適切であるように思われる。メモリの使用が、システムのクラッシュ又はかなりの低速化に繋がるおそれがある実際の問題であることは既知のテストである。チャンク内のキーフレームのみを考慮して重みマップを処理することができる場合、これは、扱う事例数を低減することができる。したがって、この解決策は費用効率的な方法であるように見える。
【０１５７】
上述したように、方法が、ブレンドされたモザイクを保存する必要がある。この方法は、大きなデータセットで機能することを目的とし、Ｂｉｇ  ＴＩＦＦと呼ばれる特定のファイルフォーマットを使用する。しかし、他のファイルフォーマットを使用することもできる。Ｂｉｇ  ＴＩＦＦフォーマットは、画像全体をタイルに分割し、ファイルを表示し閲覧するより高速の方法を提供するという利点を有する。この方法により、ディテールレベルの使用が可能になり、これは、大きな画像で素早くズームイン及びズームアウトを行う強力な特徴である。そのようなファイルを保存する関数が既に開発されているが、異なるディテールレベルのタイルを提供する必要がある。したがって、最終的なモザイクをブレンドした後、プログラムは、レベル毎にブレンドされたモザイクを一度閲覧して、タイルを抽出し、より低いディテールレベルに適切なサイズにサイズ変更すべきである。
【０１５８】
第１の手法は、マルチバンドブレンドの終わりにデータを保存することである（図１６の１６０２参照）。しかし、この方法は、プロセスの終わりまで、プログラムにあらゆるチャンクをメモリに保持させることを強いる。この状況は重大な問題ではないが、１つのみのチャンクをＲＡＭに保持することにより、メモリの過剰な使用を回避することに価値があり得る。そうするために、チャンクをタイルと見なし、オンザフライで保存し得る（図１６の１６０４参照）。ブレンド方法が終わった場合、第１のディテールレベルが既に生成され、ファイルに保存され、次に構築する必要があるのはその他のディテールレベルのみである。この手法に伴う問題は、モザイクがもはやメモリになく、既に保存されたデータを抽出しなければならないことである。保存機能が、読み出し及び保存を同時に処理するように構築されていないため、これは問題を生じさせるおそれがある。ファイル上の２つのストリームが次に必要とされ、一方は前のレベルの保存用であり、もう一方は前のレベルの読み出し用である。次に、必要とされる動作は、前のレベルから４つのタイルを抽出し、次のレベルの１つのタイルを生成することである。
【０１５９】
図１６に示されるプロセス図は、上述した２つの手法を要約する。
【０１６０】
前節では、メモリの使用の最適化について説明した。しかし、これらの変更は、プロセスの実行を高速化しない場合があり、特定の時点でシステムを低速化させる場合さえある。実行時間を低減するために、ＧＰＵ処理を使用して、ハードウェア性能を利用する。実際に、特定の状況では、ＧＰＵプロセッサがＣＰＵよりもはるかに効率的であり得ることが分かっている。ＧＰＵプロセッサは、多数のスレッドを管理している場合に非常に効率的である。したがって、ＧＰＵプロセッサは、行列への計算等の高度に並列化可能な演算に使用し得る。残っているボトルネックを識別し、それをＧＰＵで実施する方法を見つけるマルチバンドブレンドの異なるステップが検討されてきた。ガウスブラーは、大きなボトルネックとして識別された。この動作は、重い処理を含み、キーフレームガットに数回繰り返される。ＮＶＩＤＩＡはＣＵＤＡライブラリを使用して、リアルタイムフィルタを有する。この実施は、本開示の実施形態用に構成するように変更された。
【０１６１】
ＧＰＵプログラミングで検討する重要なことは、メモリの使用である。実際には、ＣＰＵ及びＧＰＵは両方とも各自のメモリ記憶装置を有する。したがって、データをＲＡＭからＧＰＵに転送する必要があり、繰り返される回数が多すぎる場合、これはプログラムを遅くするおそれがある。したがって、ＧＰＵプログラミングをフィルタ間の動作にも同様に使用することが決定されている。このようにして、データ転送は、キーフレーム毎に２回のみ行われる。そうするために、ＧＰＵでの行列を容易に操作するための新しいクラスであるＧｐｕＭａｔが開発された。
【０１６２】
利得補償
特定の実施形態は、利得補償１２２を利用することもでき、利得補償はキーフレームデータベースから全てのキーフレームを読み出して、キーフレームが均一に明るく見えるように個々のキーフレーム画像利得を調整するモジュールである。
【０１６３】
幾つかの顕微鏡では、光源サンプリングに起因して、連続フレーム間の強度のばらつきが見られる。これは、重複する各フレームの強度に一貫性を持たせようとすることにより軽減される。この手法は「利得補償」又は各フレームを乗算する値を見つけることと呼ばれ、したがって、結果として生成されるモザイクは重複フレーム間で急な差を有さなくなる。
【０１６４】
これは、Ａｕｔｏｍａｔｉｃ  ｐａｎｏｒａｍｉｃ  ｉｍａｇｅ  ｓｔｉｔｃｈｉｎｇ  ｕｓｉｎｇ  ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅｓ，Ｂｒｏｗｎ  Ｍ．ａｎｄ  Ｌｏｗｅ  Ｄ．Ｇ．，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｖｏｌｕｍｅ  ７４，Ｎｕｍｂｅｒ  １，ｐｐ．５９−７３，２００７，Ｓｐｒｉｎｇｅｒに記載のように、線形系として解決され、これを参照により本明細書に援用する。
【０１６５】
利得行列ｇ＿ｉが決定され、この行列は、全体画像を乗算する定数としてフレームｉに適用される。利得補償解決行列には項の２つの集合がある。第１の集合は、フレームが別のフレームに重なる場合の行列に行を有する。２つのフレーム（ｉ及びｊ）が、重複領域（Ｉ＿ｉ，Ｉ＿ｊ）内に平均強度を有すると考えると、行列内の行は、
ｓｉｇｍａ＿１＊（ｇ−ｉ＊Ｉ＿ｉ−ｇ＿ｊ＊Ｉ＿Ｊ）＾２＝０
のように見える。
【０１６６】
式中、ｓｉｇｍａ＿１はこの式集合の加重係数である。基本的に、利得が適用されると、重複する画像は同じ強度を有するべきである。重複する画像Ｉ及びｊのあらゆる集合は、行列内に１行を有する。
【０１６７】
これに対する自明な解は、全ての利得ｇ＿ｉをゼロに設定する。これを解消するために、以下のように、利得が１の近くであるべきであること（１方程式（ｕｎｉｔｙ  ｅｑｕａｔｉｏｎ））を記述する新しい項が各画像に導入される。
ｓｉｇｍａ＿２＊（ｇ＿ｉ−１）＾２＝０
【０１６８】
式中、ｓｉｇｍａ＿２は、方程式の１セット（ｕｎｉｔｙ  ｓｅｔ  ｏｆ  ｅｑｕａｔｉｏｎ）の加重係数である。本発明では、これらの２つの方程式セットを最小二乗の意味で解く。
【０１６９】
バンドル調整
さらに、バンドル調整モジュール１２０もあり得、バンドル調整モジュールは、キーフレームデータベースから全てのキーフレームを読み出すとともに、互いへのキーフレームリンクも読み出す。このモジュールは、全てのリンク制約が満たされるようにキーフレーム位置を調整する。
【０１７０】
時間の経過に伴い、キーフレーム位置推定は、追跡誤差の蓄積に起因して不整合を有するおそれがある。そのような１つの状況は、モザイクが大きな循環ループとして構築される場合である。ユーザがループの開始点に戻る場合、最後のキーフレームから推定される現在位置は、初期基準キーフレームへの見当合わせからの推定と一致しないことがある。
【０１７１】
図１７は、（キーフレーム１７０２からの）ｄ２，０からのｐ２の推定と、（キーフレーム１７０４からの）（ｄ１，０＋ｄ２，１）からののｐ２の推定との不一致がある場合を示す。通常、（ｄ１，０＋ｄ２，１）から蓄積される追跡誤差がある。バンドル調整は、測定される全てのリンクが厳密に満たされるように、全てのキーフレーム位置を解くのに役立つ。
【０１７２】
追跡誤差の蓄積を修正するために、バンドル調整を実行して、全ての測定リンクを考慮に入れるとともに、全てのキーフレーム位置が全てのリンク制約を厳密に満たすように、各キーフレームの位置の大域的最適化を実行することができる。
【０１７３】
方程式のセットアップは、初期キーフレームＫ０が位置ｐ０＝（０，０）を有すると仮定して以下のようになる。
2014529922.tif 000015
【０１７４】
測定ｄ１，０、ｄ２，１、ｄ２，０が既知であり、方程式の上記線形系を使用してｐ１、ｐ２を解く。
【０１７５】
対物レンズ変更検出器
本開示の幾つかの実施形態は、対物レンズ変更検出器１１２も利用し、この検出器は、各入力フレームを監視し、顕微鏡の対物レンズが切り替えられたか否か及びどの倍率に切り替えられたかを判断する。この検出器はコントローラに通知し、次に、コントローラは適切な動作をとる。検出器は、対物レンズの変更が行われたか否かを適宜判断するのに役立つように、カメラ露出時間の制御を必要する。
【０１７６】
対物レンズ変更検出器は、自動的に、両方ともカメラ画像ストリームを処理するだけで、１）顕微鏡の対物レンズの切り替えを検出し、２）新しい対物レンズのズームレベルを特定することを目的とする。
【０１７７】
１）対物レンズ切り替え検出：カメラ画像が、対物レンズ変更検出モジュールをとおって固定レートで連続してストリーミングされことを前提とする。検出の原理は、カメラビューが一時的に、対物レンズの切り替える間に遮蔽されることに基づく。したがって、カメラ画像の急な暗化は、対物レンズ変更の指示である。
【０１７８】
対物レンズ変更検出方法が、図１８のフローチャートに提示される。遮蔽をチェックするために、方法は、１８０２において、各入力画像の平均画像ピクセル強度値を計算する。平均画像ピクセル強度が閾値を下回る場合、１８０４において、遮蔽が検出される。次に、１８０６において、システムは平均画像強度値が、連続フレーム数（例えば、１０フレーム）にわたり閾値を超えて上昇するのを待ち、それから、１８０８において、対物レンズ変更が完了したことを宣言する。
【０１７９】
低ズーム対物レンズを高ズーム対物レンズに切り替えられる場合、問題が生じる。高ズーム対物レンズは一般に、低ズームと比較してはるかに少ない光を通すため、画像は非常に暗いままである。その結果、モジュールは、対物レンズがまだ変更中であると誤って考える場合がある。改善措置は、１８０４において、アルゴリズムが「対物レンズ変更」状態に入るとき、カメラのシャッター時間を最大値にし、それにより、高ズーム対物レンズの場合に十分な光を検出できるようにすることである。
【０１８０】
２）対物レンズズーム検出：対物レンズ変更が特定されると、対物レンズズーム検出方法が続く。検出原理は、異なるズームの対物レンズが顕微鏡を通してカメラ内に異なる量の光を通すことに基づく。カメラシャッター時間も、同じ画像輝度を維持するために、異なる対物レンズと共に変更しなければならない。したがって、この方法は、カメラの自動露出アルゴリズムから得られる露出時間を使用して、使用される対物レンズを特定する。検出方法について以下に説明する。
【０１８１】
まず、顕微鏡の各対物レンズを較正して、その対物レンズのカメラ露出時間を見つけなければならない。対物レンズを較正するために、顕微鏡光は最大に設定され、全ての対物レンズ較正にわたり、且つ実際の使用中、一定のままでなければならない。白色画像を保証するために、顕微鏡に試料があるべきでもある。次に、カメラの自動露出アルゴリズムが実行されて、現在の対物レンズでの白色画像のシャッター時間を決定する。このシャッター時間は記録され、対物レンズに関連付けられる。この記録されたシャッター時間が、その対物レンズに適する最小シャッター時間であることに留意することが重要であり、その理由は、ビュー内に試料がないためである。ビュー内に試料がある場合、幾らかの光を遮り、自動露出時間をわずかに高くさせる。
【０１８２】
次に、システムが実行中であるとき、システムは対物レンズの変更を能動的にチェックする。対物レンズ変更が検出される場合、対物レンズズーム検出がまず、自動露出を実行する。結果としての露出時間は、各対物レンズの較正された露出時間と比較される。試料がビュー内にあり得、したがって、結果としての自動露出時間が、対物レンズの較正された露出時間よりもわずかに高いことが予期される。したがって、現在の露出時間よりも低く、且つ現在の露出時間に最も近い較正された露出時間を有する対物レンズが、使用されている対物レンズとして特定される。
【０１８３】
前の説明では、説明のため、実施形態の完全な理解を提供するために、多くの詳細が記載される。しかし、これらの特定の詳細が必要ではないことが当業者には明らかだろう。他の場合、周知の電気構造及び回路については、理解を曖昧にしないように、ブロック図の形態で示される。例えば、本明細書に記載される実施形態が、ソフトウェアルーチンとして実施されるか、ハードウェア回路として実施されるか、ファームウェアとして実施されるか、それともそれらの組み合わせで実施されるかについての特定の詳細は提供されない。
【０１８４】
本開示の実施形態は、機械可読媒体（コンピュータ可読媒体、プロセッサ可読媒体、又はコンピュータ可読プログラムコードが内部に具現されるコンピュータ使用可能媒体とも呼ばれる）に記憶されたコンピュータプログラム製品として表すことができる。機械可読媒体は、ディスケット、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、メモリ装置（揮発性又は不揮発性）、又は同様の記憶機構を含む磁気媒体、光学媒体、又は電気記憶媒体を含む任意の適する有形、非有形媒体であることができる。機械可読媒体は、様々な命令、コードシーケンス、構成情報、又は他のデータの集合を含むことができ、これらは、実行されると、プロセッサに本開示の一実施形態による方法のステップを実行させる。記載される実施態様を実施するために必要な他の命令及び動作を機械可読媒体に記憶することができることも当業者は理解するだろう。機械可読媒体に記憶される命令は、プロセッサ又は他の適する処理装置により実行することができ、回路とインタフェースして、記載されるタスクを実行することができる。
【０１８５】
本明細書に記載の特徴はまた、必ずしも本明細書に記載される特定の実施形態に限定されるわけではない。一実施形態例からの特徴は、可能な場合、他の実施形態例と結合し得る。
【０１８６】
上記の実施形態は単なる例示を意図される。本明細書に添付される特許請求の範囲によってのみ規定される範囲から逸脱せずに、当業者は特定の実施形態に対して変更、修正、及び変形を行うことができる。
【図１】
2014529922.tif 000016
【図２】
2014529922.tif 000017
【図３】
2014529922.tif 000018
【図４】
2014529922.tif 000019
【図５】
2014529922.tif 000020
【図６】
2014529922.tif 000021
【図７】
2014529922.tif 000022
【図８】
2014529922.tif 000023
【図９】
2014529922.tif 000024
【図１０】
2014529922.tif 000025
【図１１】
2014529922.tif 000026
【図１２】
2014529922.tif 000027
【図１３】
2014529922.tif 000028
【図１４】
2014529922.tif 000029
【図１５】
2014529922.tif 000030
【図１６】
2014529922.tif 000031
【図１７】
2014529922.tif 000032
【図１８】
2014529922.tif 000033
【手続補正書】
【提出日】平成25年5月31日(2013.5.31)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１１年８月２日に出願された米国仮特許出願第６１／５１４，１８６号明細書の優先権の利益を主張するものであり、この仮特許出願を参照により本明細書に援用する。
【０００２】
本開示は、一般的にはデジタル撮像に関する。より詳細には、本開示は顕微鏡の分野での画像のレンダリングに関する。
【背景技術】
【０００３】
通常、顕微鏡を通して取得される物体の画像は、使用される顕微鏡の視野により制限される。より小さなデジタル画像のモザイク又はモンタージュを使用して物体のより大きなデジタル画像を提供する試みがなされてきた。モザイク画像をレンダリングするためには、互い及び最終的なモザイク画像に対するより小さな画像のロケーションを特定しなければならない。
【０００４】
Ａｔｋｉｎに付与された米国特許第６，６８７，４１９号明細書では、対応するピクセルの共分散を連続して計算して、共分散を最大化する現在の画像の位置を特定しながら、現在の画像をモンタージュ画像にわたってシフトすることにより、現在の画像がモザイク画像内に配置される方法が記載されている。
【０００５】
モザイク画像を構成する個々の画像のロケーションの特定と、ディスプレイにレンダリングするモザイク画像の生成とは、計算集約的である。顕微鏡の視野により制限されない、顕微鏡の横長のインタラクティブ且つ正確で大きなモザイク表現を生成する手段に対する改良が望ましい。
【発明の概要】
【０００６】
本開示の一態様では、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法が提供される。本方法は、物体から現在の画像フレームを取得すること、前の画像フレームの前の画像フレーム位置及び前の画像フレームからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のそれぞれが、閾値よりも大きいと判断される場合、現在の画像フレームを新しいキーフレームとしてキーフレームデータベースに記憶すること、少なくとも１つの近傍キーフレームのそれぞれのキーフレームフレーム位置及び少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム位置を特定すること、現在画像フレーム位置の平均を、新しいキーフレームに関連付けられた新しいキーフレーム位置としてキーフレームデータベースに記憶すること、キーフレームデータベースからのキーフレームを、ディスプレイの、関連付けられた各キーフレーム位置にレンダリングして、物体のモザイク表現を得ることを含む。
【０００７】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位は、新しいキーフレームと共に記憶することもできる。
【０００８】
本方法は、各キーフレーム位置の最適化に基づいて、複数のキーフレームのキーフレーム位置を調整して、キーフレーム位置の誤差を補正し、各キーフレームとその近傍キーフレームとの相対変位への１つ又は複数の制約を満たすことを更に含み得る。検索エリア内での少なくとも１つの近傍キーフレームの識別に失敗するか、又は任意の近傍キーフレームへの現在の画像フレームの相対位置の特定に失敗する場合、検索エリアを反復的に増大させて、少なくとも１つの近傍キーフレームを識別し得る。検索エリアを反復的に増大させた後、少なくとも１つの近傍キーフレームの識別に失敗する場合、現在画像フレーム位置を現在画像フレーム追跡位置又は前の画像フレーム位置に割り当て得る。
【０００９】
本方法は、特徴強度閾値を設定し、特徴強度閾値を超える少なくとも１つの潜在的特徴を含む潜在的特徴リストを取得し、潜在的特徴リストから、予め定義される近傍領域内で最大の特徴強度を有する特徴のみを選択することにより、一連の画像フレームのそれぞれにおいて特徴集合を識別することにより、一連の画像のそれぞれにおいて特徴集合を識別することを更に含み得る。
【００１０】
前の画像フレームからの現在の画像フレームの相対変位は、現在の画像フレーム及び前の画像フレーム内の少なくとも１つの特徴に基づいて、現在の画像フレームと前の画像フレームとを見当合わせすることにより特定し得る。
【００１１】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位は、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれにおける少なくとも１つの特徴に基づいて、現在の画像フレームと少なくとも１つのキーフレームのそれぞれとを見当合わせすることにより特定し得る。
【００１２】
現在の画像フレームと少なくとも１つの近傍キーフレームのそれぞれとを見当合わせすることは、現在の画像フレームにおいて識別された特徴集合を、少なくとも１つの近傍キーフレームのそれぞれ内の対応する特徴集合と照合して、一致特徴対集合を取得すること、一致特徴対集合から許容可能な一致特徴対を選択すること、及び画像見当合わせのために、許容可能な一致特徴対の相対変位に基づいて、現在の画像フレームと少なくとも１つの近傍キーフレームのそれぞれとの平均変位を特定することを含み得る。
【００１３】
識別される各特徴は、Ｎ個の要素の記述子行ベクトルを含み得、Ｎは整数である。特徴集合を照合すること及び許容可能な一致特徴対を選択することは、現在の画像フレームにおいて識別された特徴集合における各特徴の記述子行と、少なくとも１つの近傍キーフレームのそれぞれの対応する特徴集合における各特徴の記述子行ベクトルとを比較すること、及び現在の画像フレーム内の各特徴の、少なくとも１つの近傍キーフレームでの最良一致特徴を識別することであって、最良一致特徴は、現在の画像フレーム内の特徴から最小記述子距離を有する、識別することを含み得る。
【００１４】
識別される各特徴は、座標、向きパラメータ、スケールパラメータを含むこともできる。特徴集合を照合すること及び許容可能な一致特徴対を選択することは、少なくとも１つの近傍キーフレームのそれぞれにおける対応する特徴集合から、現在の画像フレームにおいて識別された特徴集合の各特徴の一致候補集合を特定することであって、各一致候補は、現在の画像フレームにおける対応する特徴の向きパラメータ及びスケールパラメータと同様の向きパラメータ及びスケールパラメータを有する、特定すること、並びに現在の画像フレーム内の特徴から最小記述子距離を有する一致候補集合からの一致候補に基づいて、少なくとも１つの近傍キーフレームにおける最良一致特徴を識別することを含み得る。
【００１５】
この方法は、各一致特徴対のｘ座標及びｙ座標のそれぞれに基づいて、各一致特徴対の特徴変位を計算すること、計算された特徴変位を２Ｄヒストグラムに蓄積すること、並びに２Ｄヒストグラムに最も高い蓄積を有するビン及びその近傍ビンに蓄積された一致特徴対を、許容可能な一致特徴対として選択することを更に含み得る。
【００１６】
この方法は、平均変位からの各一致特徴対の残余値を特定すること、全ての一致特徴対の平均残余値を特定すること、及び閾値残余値未満の残余値を有する一致特徴対を、許容可能な一致特徴対として選択することを更に含み得る。
【００１７】
キーフレーム特徴をレンダリングすることは、テクスチャアトラス集合を生成することであって、各テクスチャアトラスは、関連付けられた解像度を有し、関連する解像度でダウンサンプリングされた少なくとも１つのキーフレームを含む、生成すること、レンダリングの表示エリア及び表示解像度を選択すること、テクスチャアトラス集合から、表示解像度に最も近い解像度を有するテクスチャアトラスを選択し更新すること、並びに関連付けられたキーフレーム位置が表示エリア内にある、テクスチャアトラスからのキーフレームをレンダリングすることを更に含み得る。
【００１８】
テクスチャアトラスを更新することは、キーフレームデータベースから、表示エリア内にあるが、テクスチャアトラスにはまだない（又は存在しない）関連付けられたキーフレーム位置を有するキーフレーム集合を識別すること、テクスチャアトラスの関連付けられた解像度でキーフレーム集合をダウンサンプリングすること、及びダウンサンプリングされたキーフレーム集合をテクスチャアトラスに挿入することを更に含み得る。
【００１９】
少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のうちの少なくとも１つが、閾値未満であると判断される場合、方法は、相対変位が閾値未満である少なくとも１つの近傍キーフレームを識別すること、現在の画像フレームと少なくとも１つの近傍キーフレームとの重複領域を特定して、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれでの対象領域を取得すること、現在の画像フレームの対象領域が、画像鮮鋭度パラメータに基づいて、近傍キーフレームのうちの１つの対象領域よりも鮮鋭であると判断される場合、少なくとも１つの近傍キーフレームの対象領域を、現在の画像フレームの対象領域で置換することを更に含み得る。
【００２０】
画像鮮鋭度パラメータは、現在の画像フレーム及び少なくとも１つの近傍キーフレームのそれぞれの対象領域の勾配画像から得られる勾配和であり得、現在の画像フレームの対象領域は、現在の画像フレームの対象領域の勾配和が、近傍キーフレームのうちの１つの対象領域の勾配和よりも大きい場合、近傍キーフレームのうちの１つの対象領域よりも鮮鋭であると判断し得る。
【００２１】
少なくとも１つの近傍キーフレームの対象領域を置換することは、少なくとも１つの近傍キーフレームの対象領域の内容を、現在の画像フレームの対象領域の内容で上書きすることを含み得る。現在の画像フレームの対象領域の境界における内容は、少なくとも１つの近傍キーフレームの内容とブレンドし得る。
【００２２】
方法は、関連付けられたキーフレーム位置に基づいて、キーフレームデータベース内の各キーフレームを複数のセルのうちの１つに割り当てること、並びに各キーフレームをタグ付けして、関連付けられたキーフレーム位置及び割り当てられた各セルをマッピングすることを更に含み得る。複数のセルはグリッドにおいて位置合し得、セルは二次元インデックスを使用してインデックス付け得る。検索エリアは、少なくとも１つ又は複数のインデックス付きセルを含み得る。少なくとも１つの近傍キーフレームのそれぞれは、少なくとも１つ又は複数のインデックス付きセルに割り当て得る。
【００２３】
物体のモザイク表現をレンダリングすることは、異なる倍率の対物レンズから得られるモザイク表現をレンダリングすることを含み得る。方法は、各倍率の対物レンズに関連付けられた別個のキーフレームデータベースを保持すること、各対物レンズの光心の相対変位に基づいて、各倍率の対物レンズから得られるモザイク表現を関連付けること、及び関連付けられたモザイク表現に基づいて、物体の結合モザイク表現をレンダリングすることを更に含み得る。
【００２４】
方法は、現在の画像フレームを事前処理することを更に含み得る。事前処理は、視野にわたる照明のばらつきを補正する画像較正、カラースケールからグレースケールへの変換、ダウンサンプリング、特徴検出、又は勾配計算を含み得る。
【００２５】
キーフレームをレンダリングすることは、重複するキーフレームをブレンドすることを含み得る。重複するキーフレームをブレンドすることは、キーフレームを分解して複数のバンドにすること、複数のバンドをブレンドすること、及びブレンドされた複数のバンドを統合して、物体のモザイク表現を得ることを含み得る。キーフレームを分解することは空間周波数に基づき得る。
【００２６】
方法は、複数のキーフレームの利得と突き合わせて比較することにより、現在の画像フレームの利得を実質的に均一なレベルの輝度に調整することを更に含み得る。
【００２７】
方法は、閾値強度未満の平均画像ピクセル強度に基づいて、現在の画像フレームの遮蔽を検出すること、及び続く画像フレームの露出時間の変化を検出して、画像フレームの取得に使用される対物レンズの変更を判断することを更に含み得る。
【００２８】
一連の画像フレーム内の第１の画像フレームは、基準キーフレーム位置を有する基準キーフレームとして割り当て得る。
【００２９】
本開示の一態様によれば、画像取得モジュールと、プロセッサと、レンダラーとを備える撮像システムが提供される。画像取得モジュールは、物体の現在の画像フレームを取得するように構成される。構成されるプロセッサは、前の画像フレームの前の画像フレーム位置及び前の画像フレームからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位のそれぞれが、閾値よりも大きいと判断される場合、現在の画像フレームを新しいキーフレームとしてキーフレームデータベースに記憶すること、少なくとも１つの近傍キーフレームのそれぞれの関連付けられたキーフレームフレーム位置及び少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位に基づいて、現在の画像フレームの現在画像フレーム位置を特定すること、現在画像フレーム位置の平均を、新しいキーフレームに関連付けられた新しいキーフレーム位置としてキーフレームデータベースに記憶することを行うことである。レンダラーは、キーフレームデータベースからのキーフレームを、ディスプレイの、関連付けられた各キーフレーム位置にレンダリングして、物体のモザイク表現を表示する。
【００３０】
画像は、入力装置又はプロセッサから入力を受信して、受信入力に応答して、画像取得モジュール又はレンダラーを制御するコントローラを更に備え、画像取得モジュールは、少なくとも１つの対物レンズを有する顕微鏡と、物体の一連の画像フレームを取得するビデオカメラとを含む。
【００３１】
本開示の一態様では、コンピュータプログラム製品が提供され、この製品は、コンピュータにより実行されると、上記の物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法を実行するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを含む。
【００３２】
本開示の別の態様では、物体のモザイク表現をレンダリングする、物体の一連の画像フレームからキーフレームを生成する方法が提供される。この方法は、前の画像フレームの既知の位置に相対する現在の画像フレームの変位に基づいて、現在画像フレーム追跡位置を特定すること、現在画像フレーム追跡位置を囲んだ所定の検索エリアを用いて、少なくとも１つの近傍キーフレームを識別すること、少なくとも１つの近傍キーフレームのそれぞれの既知の各キーフレーム位置と、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位とに基づいて、少なくとも１つの近傍キーフレームのそれぞれの現在の画像フレームの現在位置を特定すること、少なくとも１つの近傍キーフレームのそれぞれからの現在の画像フレームの相対変位が閾値を超える場合、現在の画像フレームを新しいキーフレームとして記憶することを含む。
【００３３】
本開示の他の態様及び特徴が、添付図と併せて特定の実施形態の以下の説明を検討することで当業者には明らかになるだろう。
【００３４】
これより、本発明の実施形態について、添付図を参照して例としてのみ説明する。
【図面の簡単な説明】
【００３５】
【図１】図１は、本開示の一実施形態によるシステム構成要素の一構成例の高レベル概略図である。
【図２】図２は、本実施形態により、キーフレームをキーフレームデータベースの各推定位置にレンダリングすることにより形成されるモザイクの一例である。
【図３】図３は、本実施形態により、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法の一例のフローチャートである。
【図４】図４は、本開示の特定の実施形態による、ビジョンモデルモジュールの構成の一例の概略図である。
【図５Ａ】図５Ａは、２つのリンクされたフレーム間の変位ベクトルＩ１，２の例を示す。
【図５Ｂ】図５Ｂは、現在の画像フレームと近傍キーフレームとの間の変位ベクトルＩｉ，ｃの例を示す。
【図６】図６は、現在の画像フレーム（Ｉｄｓｔ）内の各特徴Ｄ［ｉ］の、近傍キーフレーム（Ｉｓｒｃ）内の対応する特徴Ｓ［ｉ］への一致の識別を示す。
【図７】図７は、本開示の特定の実施形態によるフォーカス置換方法で使用される、現在の画像フレームと基準画像フレームとの重複エリア（ＲＯＩ）を決定する一例を示す。
【図８】本開示の特定の実施形態による２Ｄ空間ハッシュマップの一例を示す。
【図９】図９は、本開示の特定の実施形態によるＧＰＵ照合方法の一例の概略図を示す。
【図１０】図１０は、本開示の特定の実施形態によるＧＰＵ照合アーキテクチャの一例の概略図を示す。
【図１１】図１１は、本開示の特定の実施形態による様々なテクスチャアトラス及び各解像度を示す。
【図１２】図１２は、本開示の特定の実施形態によるレンダラーの概略例の概略図である。
【図１３】図１３は、本開示の特定の実施形態によるコントローラの状態図例の概略図である。
【図１４】図１４は、本開示の特定の実施形態によるコントローラの仮想カメラの一例を示す。
【図１５】図１５は、本開示の特定の実施形態によりファイルを保存するマルチバンドブレンド機能の構成例である。
【図１６】図１６は、本開示の特定の実施形態によるファイル保存機能の一例を示すフローチャート図である。
【図１７】図１７は、本開示の特定の実施形態によるキーフレーム位置を解像するバンドル調整機能の一使用例である。
【図１８】図１８は、本開示の特定の実施形態による対物レンズ切り替え検出機能の方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
一般に、本開示は、物体の一連の画像フレームから物体のモザイク表現を取得しレンダリングする際の効率を向上させる方法及びシステムを提供する。現在の画像フレームが処理され、１つ又は複数のキーフレームからの現在の画像の相対変位に基づいて、モザイク表現内の相対ロケーション又は位置を特定する。現在の画像フレームの位置が特定されると、その位置は近傍キーフレームと共にレンダリングされて、物体のモザイク表現を提供する。
【００３７】
本開示の特定の実施形態によるシステム１００は、顕微鏡１０２に搭載されたデジタルビデオカメラ１０４、ビデオカメラ画像を処理するＰＣ（図示せず）、システム出力を表示するディスプレイ／モニタ１１０、及びユーザ入力用のキーボード／マウス１２６からなる。デジタルビデオカメラ１０４は、ユーザが物体、例えば、スライドに載せられた試料を移動する際に画像をリアルタイムで捕捉する。ＰＣで実行される命令及びコードが、これらのビデオ画像をリアルタイムで処理し、顕微鏡を通して見られる複数のビューを一緒にステッチングし、大きなモザイクを生成する。システム構成要素の構成例の高レベル概略図を図１に示す。
【００３８】
画像プロセッサは３つのモジュールを含むことができる：ビジョンモデルモジュール１１４、レンダラー１０８、及びコントローラ１０６。特定の実施形態によれば、ビジョンモデルモジュール１１４は、デジタル画像を処理し、画像データを含み得る。レンダラー１０８は、ビジョンモデルモジュール１１４内の画像データをモニタ１１０にレンダリングする。コントローラ１０６はユーザ入力を処理し、システム１００内の他の全てのモジュールの挙動を制御する。
【００３９】
本開示の特定の実施形態によれば、ビジョンモデルモジュール１１４は、各入力カメラ画像フレームを処理する。画像フレーム毎に、ビジョンモデルモジュール１１４はフレーム位置を推定する。ビジョンモデルモジュール１１４はキーフレームの概念を利用する。この概念によれば、入力カメラ画像フレームのうちの幾つかのみが、システム１００に記憶されるものとして選択される。選択されたフレームはキーフレームと呼ばれる。キーフレームは、その推定位置と共に、例えば、図１に示されるようにビジョンモデルモジュール１１４内のキーフレームデータベース４０６に記憶される。キーフレームデータベース４０６は、ビジョンモデルモジュール１１４から離れて記憶することもでき、システム１００から離れて記憶することさえも可能である。キーフレームデータベースがリモートサーバにある場合、キーフレームデータベースへの適する通信（有線又は無線）を、システム１００が適宜機能するために提供し得る。
【００４０】
対物レンズ変更検出器１１２、高速保存モジュール１１６、品質保存モジュール１１８、バンドル調整モジュール１２０、利得補償モジュール１２２、及びハードディスクドライブ（ＨＤＤ）等の記憶手段１２４を含むシステム１００の他の構成要素については、本開示の他の箇所で詳細に考察する。
【００４１】
物体のモザイク表現は、データベース内のキーフレームを各推定位置にレンダリングすることにより形成される。キーフレームデータベース４８６内のキーフレーム２０２１、２０２２、．．．、２０２５を各推定位置にレンダリングすることにより形成されるモザイク表現の一例を図２に示す。
【００４２】
本開示の特定の実施形態によれば、レンダラー１０８は、キーフレームデータベース４０６内のキーフレームを各位置に効率的に描画又はレンダリングする。例えば、レンダラー１０８は、キーフレームの重複領域をリアルタイムでブレンドして、処理効率を実現し得る。
【００４３】
本開示の特定の実施形態によれば、コントローラ１０６はユーザ入力を受信し、カメラ１０４と、ビジョンモデルモジュール１１４又はレンダラー１０８等の他のモジュールとの挙動を制御する。例えば、ユーザは、マウスの「ドラッグ」を使用して、ユーザがモニタ１１０で見たいモザイクの領域を変更することができる。このモザイクドラッグ入力はコントローラ１０６により受信され、次に、コントローラ１０６は、レンダラー１０８がレンダリングするモザイクの領域を変更する。コントローラ１０６は、ビジョンモデルモジュール１１４の状態も監視する。ビジョンモデルモジュール１１４が、現在の画像フレームの位置を推定することができない場合、ユーザへの警告を提供し得る。ロストフレーム処理機能については、「ロストフレーム処理」項で詳細に考察する。
【００４４】
図３は、物体の一連の画像フレームから物体のモザイク表現をレンダリングする方法の一例のフローチャートである。この方法は、３０２において、物体の現在の画像フレームを取得すること及び３０４において、前の画像フレームに基づいて現在の画像フレームの現在画像フレーム追跡位置を特定することを含む。これは、前の画像フレームの位置と、前の画像フレームからの現在の画像フレームの相対変位との関数として、現在画像フレーム追跡位置を特定することを含み得る。
【００４５】
３０６において、現在画像フレーム追跡位置に基づいて、少なくとも１つの近傍キーフレームが識別される。近傍キーフレームは、現在画像フレーム追跡位置に相対して定義される検索エリア内のキーフレームとして定義される。近傍キーフレームは、キーフレームデータベース４２６に記憶された複数のキーフレームから識別される。キーフレームデータベース４２６内の各キーフレームは、関連付けられたキーフレーム位置を有する。
【００４６】
近傍キーフレームが識別されると、３０８において、近傍キーフレームのそれぞれからの現在の画像フレームの相対変位が特定される。さらに、３０８において、近傍キーフレームに相対する現在画像フレーム位置も特定される。
【００４７】
現在の画像フレーム及びその近傍キーフレームは、３１２において、物体のモザイク表現としてレンダリングされる。近傍キーフレームのそれぞれとの現在の画像フレームの相対変位が、閾値よりも大きい場合、現在の画像フレームは、新しいキーフレームとしてキーフレームデータベースに記憶される。
【００４８】
以下の項に、上記方法の実施形態例の様々な構成要素の例を更に詳細に提供する。
【００４９】
ビジョンモデルモジュール
上述したように、ビジョンモデルモジュール１１４は、カメラ画像フレームをリアルタイムで受信して処理し、ビジョンモデルモジュール１１４について図４を参照してさらに詳細に説明する。ビジョンモデルモジュール１１４は、キーフレームデータベースに記憶された、推定された現在画像フレーム位置、キーフレーム、及びキーフレームの推定位置をレンダラー１０８又は他の外部モジュールに出力する。一般に、キーフレームは、永続的に記憶すべき画像フレームの入力ストリームから選択される画像フレームである。物体のモザイク表現は、キーフレームをその推定位置にレンダリングすることにより生成される。
【００５０】
初期化中、第１のカメラ画像フレームが基準キーフレームとして記憶される。基準キーフレームはグローバル位置（０，０）に割り当てられる。各画像フレームの通常処理で実行されるステップの概略は以下である。図４、図５Ａ、及び図５Ｂを参照する。
【００５１】
１）事前処理：４０２において、システムの処理効率を向上させるために、システム１００の残りの部分が、図４では現在の画像フレームとして示される各入力画像フレームを使用する前に、各入力画像フレームを事前処理し得る。例えば、画像フレームの事前処理は、（ｉ）視野にわたる照明のばらつきを補正する静止白色画像較正を含み得る。事前処理により、入力カラー画像のホワイトバランスをとることを保証する、（ｉｉ）グレースケール変換−処理を容易にするために、カラー画像フレームをグレースケール画像に変換し得、（ｉｉｉ）ダウンサンプリング−画像フレームをダウンサンプリングしてより速い特徴検出を可能にし得、（ｉｖ）特徴検出−特徴検出をダウンサンプリングされた画像に実行し得、及び（ｖ）勾配計算−入力画像フレームからの勾配画像を計算し、「フォーカス置換」項で考察される、レンダリングされたモザイク画像の品質向上に使用し得る。
【００５２】
特徴検出段階において識別された特徴は、画像見当合わせ（リンク）に使用される。極大特徴検出手法を使用する特徴検出技法が、「極大特徴検出」項で説明される。
【００５３】
２）近傍キーフレームへのリンク：次に、４０４において、各入力画像フレームが近傍キーフレームにリンクされる。本明細書で使用される場合、２つのフレームを「リンクする」という用語は、２つのフレームで画像見当合わせ（「画像見当合わせ」項で後述する）を実行し、相対変位を得ることとして定義される。図５Ａのリンクプロセスの図に示されるように、フレーム１（例えば、前の画像フレーム５０４）がフレーム２  ５０２（例えば、現在の画像フレーム５０２）にリンクされる場合、２つのフレームの変位ベクトルＩ１，２が見つけられる。近傍キーフレームリンクステップでは、図５Ｂに示されるように、現在の画像フレーム５０２は近傍キーフレーム５０６、５０８、５１０にリンクされて、相対変位ベクトルＩ１，ｃ、Ｉ２，ｃ、及びＩ３，ｃがそれぞれ得られる。
【００５４】
実施形態例では、近傍キーフレームへのリンクに関わるステップは以下である。（ｉ）追跡−現在画像フレーム追跡位置ｐｔがまず、現在の画像フレームを前の画像フレームにリンクすることにより推定される。現在画像フレーム追跡位置ｐｔは、ｐｔ＝ｐｔ−１＋Ｉｔ，ｔ−１として推定され、式中、ｐｔ−１は前の画像フレームの位置であり、Ｉｔ，ｔ−１は、前の画像フレームから現在の画像フレームへのリンク（変位）ベクトルである。（ｉｉ）近傍キーフレームの検索−推定された現在フレーム追跡位置ｐｔを使用して、キーフレームデータベースが検索されて、検索エリア内にある近傍キーフレーム｛Ｋ０，Ｋ１，Ｋ２，．．．｝が識別される。検索エリアは、現在画像フレーム追跡位置ｐｔに相対して定義される。（ｉｉｉ）リンク：次に、現在画像フレームが近傍キーフレームＫ０、Ｋ１、Ｋ２、．．．のそれぞれにリンクされて、対応する変位ベクトル｛ＩＫ０，ｃ，ＩＫ１，ｃ，ＩＫ２，ｃ，．．．｝が得られる。
【００５５】
３）現在フレーム位置推定：リンクされた各近傍キーフレームＫｉは、４０８において、現在画像フレーム位置ＰｃＫｉの独立した推定を提供する。数学的に、これは、ＰｃＫｉ＝ＰＫｉ＋ＩＫｉ，ｃとして表現することができ、式中、ｐＫｉはキーフレームＫｉの位置であり、ＩＫｉ，ｃは、キーフレームＫｉからの現在の画像フレームへのリンク又は変位ベクトルである。現在の画像フレームの位置の個々の推定は、完全には一致しないことがあるため、現在フレーム位置は、個々の全ての推定ＰｃＫｉの平均として推定し得、ここで、ｉ＝１，２，３，．．．である。
【００５６】
４）キーフレームフィルタリング：ビジョンモデルモジュール１１４は、４１０において、現在の画像フレームをキーフレームとしてキーフレームデータベース４０６に追加すべきか否かを判断する。一実施形態例では、現在の画像フレームがキーフレームであるか否かについての判断は、全ての近傍キーフレームへの現在の画像フレームの距離に基づく。現在の画像フレームが任意の近傍キーフレームに近すぎる場合、すなわち、任意の近傍キーフレームへの現在の画像フレームの変位ベクトルが閾値未満である場合、現在の画像フレームはキーフレームとして追加されない。その他の場合、現在の画像フレームは、新しいキーフレームとしてキーフレームデータベース４０６に追加される。現在の画像フレームがキーフレームとして追加される場合、既存のキーフレームへのそのリンク｛ＩＫ０，ｃ，ＩＫ１，ｃ，ＩＫ２，ｃ，．．．｝も記憶される。この情報は、「バンドル調整」項で考察されるように、キーフレーム位置を事後処理調整するバンドル調整に使用することもできる。
【００５７】
現在の画像フレームが、キーフレームとしてキーフレームデータベースに追加されない場合、その画像内容は、既存のキーフレームのフォーカス置換に使用し得る。フォーカス置換については、「フォーカス置換」項で考察する。
【００５８】
図４に示される２Ｄ空間ハッシュマップモジュール４１２及びフォーカス置換モジュール４１４についてはそれぞれ、「フォーカス置換」及び「画像見当合わせ」の項で考察する。
【００５９】
ロストフレーム処理
システム１００は、ビジョンモデルモジュール１１４が現在の画像フレームを既存の任意のキーフレームにリンクすることができない場合、ロスト状態になる。この場合、現在画像フレーム位置は、上述した追跡ステップから推定し得る。すなわち、現在画像フレーム追跡位置（前の画像フレームに基づいて特定される）は、現在の画像フレームの位置（通常状態では近傍キーフレームに基づいて特定される）として設定し得る。追跡ステップも同様に失敗する場合、現在の画像フレームの位置は前の画像フレームの位置として設定し得る。
【００６０】
システム１００がロスト状態である場合、新しい各入力カメラ画像フレームの高レベルステップは以下のように説明し得る。
【００６１】
１）事前処理−動作は通常状態と同じである。
【００６２】
２）近傍キーフレームへのリンク−動作は通常状態と同じであるが、近傍キーフレームを識別する検索半径又は検索エリアを増大し得る。半径／エリアの増大は、システム１００が失う連続画像フレームの数に依存し得る。現在の画像フレームのリンクに成功する場合、システム１００は、次の画像フレームに対して通常状態に戻る。その他の場合、近傍キーフレーム検索半径は、近傍キーフレームにリンクするステップにおいて、次の画像フレームに対して増大される。
【００６３】
３）現在フレームの位置の推定−現在の画像フレームが既存の任意のキーフレームにリンクすることができない場合、現在の画像フレームの位置は、上述したように推定される。しかし、リンクに成功する場合、現在フレームの位置は、通常状態と同様に推定される。
【００６４】
４）キーフレームフィルタリング／フォーカス置換−システム１００がロスト状態にある場合、これらのステップは実行されない。
【００６５】
ビジョンモデルモジュールの特定の実施形態の更なる詳細を以下に説明する。
【００６６】
極大特徴検出
通常、通常の特徴検出技法は、対象点又は特徴を選択する方法として特徴強度閾値を使用する。特徴強度閾値の使用に伴う問題は、特徴強度が、同じシーンを所与として、画像のコントラストに依存することである。さらに、特定の画像内容では、特徴閾値を超える非常に多数の対象点があり得、画像処理が劇的に遅くなる。検出される特徴の数を制限する一方法は、検出される特徴の数を一定に保つように試みる可変閾値を有することである。しかし、この方法は、対象点を画像フレームの小さな高コントラスト領域にクラスタ化する傾向を有し、これは、画像見当合わせプロセスのロバスト性を低減するおそれがある。
【００６７】
極大特徴検出技法により、かなり一定数の特徴を検出することが可能である。極大特徴検出技法は、画像フレームにわたって均等に検出特徴点を分布させ、様々な状況でのロバストな画像見当合わせを容易にする。この技法検出は、画像コントラストの変化にも不変である。
【００６８】
極大特徴検出技法はやはり、最初に通常特徴点検出を実行し得る。低い特徴強度閾値を設定し得、大きな潜在的特徴点の大きなリストを得る。極大特徴強度がＮ×Ｎ近傍領域内にある場合のみ、潜在的な特徴点のリストから特徴点が選択される。パラメータＮは、選択される特徴が疎になる程度を制御する。Ｎが大きいほど、特徴は疎になり、選択される特徴の総数が少なくなる。
【００６９】
画像見当合わせ
近傍キーフレームへのリンクは、画像見当合わせを使用して、近傍キーフレームを現在の画像フレームにリンクする。画像見当合わせモジュールは、ソース画像Ｉｓｒｃから宛先画像Ｉｄｓｔへのリンク／変位（Ｉｘ，Ｉｙ）を見つける。近傍キーフレームにリンクする際、図６に示されるように、近傍キーフレーム６１２は、ソース画像として設定され、現在の画像フレーム６１０は宛先画像として設定される。
【００７０】
見当合わせは、リアルタイム実行のために特徴に基づき得る。画像見当合わせモジュールは、２つの画像のそれぞれの特徴が、例えば、図４に関連して先に考察された事前処理ステップ４０２から既に見つけられていることを前提とする。求められる特徴タイプは特定的ではない。画像見当合わせモジュールは、特徴が、１）画像の座標（ｘ，ｙ）、２）向き、３）尺度、及び４）特徴の記述に使用される記述子を有することのみを前提する。記述子は、特徴を表すＮ個の要素の行ベクトルであり得る。Ｎは、例えば、６４又は１２８であり得る。同様の特徴では、記述子ベクトル間のユークリッド距離は小さいはずである。
【００７１】
画像見当合わせでのステップは以下である。
【００７２】
１）照合：宛先画像Ｉｄｓｔにおいて検出された特徴Ｄの集合を、ソース画像Ｉｓｒｃにおいて検出された特徴Ｓの集合と照合する。Ｉｄｓｔ内の特徴Ｄ［ｉ］毎に、Ｉｓｒｃでの最良一致が見つけられる。最良一致を見つける２つの方法例について説明する。使用される方法は、システム１００のハードウェア構成及び／又は処理能力に依存し得る。
【００７３】
ａ．高速ＣＰＵの場合：Ｄ［ｉ］毎に、Ｉｓｒｃ内の一致候補Ｓｉの集合がまず、Ｓからフィルタリングされる。次に、Ｄ［ｉ］の記述子が、Ｓｉ内の全ての特徴の記述子と比較される。最小記述子距離を有するＳｉ内の特徴が、Ｄ［ｉ］の最良一致として見つけられる。
【００７４】
ｂ．高速ＧＰＵの場合：総当たり特徴照合を実行し得る。Ｄ［ｉ］の記述子は、Ｉｓｒｃ内の全ての特徴の記述子と比較される。最小記述子距離を有するＩｓｒｃ内の特徴は、Ｄ［ｉ］の最良一致として見つけられる。総当たり照合は、ＧＰＵマッチャーモジュール（図４のボックス４０４参照）を使用して実行されて、高速実行される。
【００７５】
代替の実施形態では、最良一致及び最良一致距離を記録し記憶し得る。２番目に最良の一致及び２番目に最良の一致距離も、一致検証のために記録し得る。
【００７６】
２）一致検証：２つの画像フレームの特徴の一致が識別されると、一致検証ステップが実行される。一致検証プロセスの実施形態例について次に説明する。
【００７７】
ａ．２Ｄヒストグラムによる一致検証。ヒストグラムのｘ軸は特徴のｘ変位を表す。ヒストグラムのｙ軸は特徴のｙ変位を表す。一致対毎に、各Ｘ座標及びｙ座標（Δｘ，Δｙ）に基づく特徴変位が計算される。計算された変位は、２Ｄヒストグラムの蓄積に使用される。正確な特徴一致は、一貫した変位を有する。異常値の特徴一致はランダムな変位を有する。したがって、正確な特徴一致は同じビンに群がるはずである。最高の蓄積値ｂｘ，ｙを有するビン又はｂｘ，ｙの８つの近傍ビンのうちの１つに投じられた特徴一致が保持される。他の全ての特徴一致は破棄し得る。
【００７８】
ｂ．反復的幾何学的検証による一致検証。ここでは、推定された特徴変位が改良される。保持されている一致対応性から、平均特徴変位が見つけられる。一致特徴対毎に、平均変位からの残余が計算され、残余閾値未満の残余値を有する対のみが、許容可能な一致特徴対として保持される。例えば、一致特徴対が、平均残余の２倍を超えて平均変位から異なる場合、一致特徴対は破棄される。この幾何学的検証は、幾つかの繰り返しで、又は一致特徴対を破棄する必要がなくなるまで実行し得る。
【００７９】
あるいは、一致検証は記述子距離に基づいて行い得る。Ｉｄｓｔ内の各特徴の最良一致距離が、閾値未満であることが検証される。最良一致距離が大きすぎる場合、一致対を破棄し得る。一致検証は、最近傍比率テストに基づくこともできる。最良一致距離は２番目の最良の距離と比較される。比率が１に近すぎる場合、これは一致距離が非常に類似することを意味し、一致対は曖昧として破棄される。
【００８０】
残りの一致した特徴対（すなわち、許容可能な一致特徴対）からの最終的な平均特徴変位が、２つの画像の相対変位として使用される。最終的なチェックとして、残りの一致対の数は、特定の閾値を超える必要があり得る。残りの一致対からの平均残余も、設定されたピクセルユニット数未満である必要があり得る。結果が上記要件を満たすことができない場合、画像見当合わせプロセスは不成功として報告し得る。
【００８１】
図６に示されるように、Ｉｄｓｔ内の特徴Ｄ［ｉ］毎に、Ｉｓｒｃ内の最良特徴一致が見つけられる。
【００８２】
フォーカス置換
キーフレームデータベース内の既存のキーフレーム及びそのキーフレームに重複する現在の画像フレーム（例えば、２つの相対変位が、閾値未満であり、重複を示す場合）を所与として、現在の画像がより鮮鋭であると判断される場合、フォーカス置換モジュールは、キーフレーム画像を現在の画像からの内容で置換する。図７に示されるように、キーフレームデータベース内の既存のキーフレームは、現在の画像フレーム７０２に対する基準画像フレーム７０４として示される。
【００８３】
一実施形態例によれば、フォーカス置換モジュールは基準画像フレーム、現在の画像フレーム、及び互いの相対変位が、画像フレームの先の処理から既知であることを前提とする。フォーカス置換のステップは以下である。
【００８４】
１）基準画像フレーム７０４及び現在の画像フレーム７０２の両方の勾配画像を計算する。
【００８５】
２）２つの画像のそれぞれでの重複領域を計算する。重複領域は、現在の画像フレーム及び基準画像フレームの陰影の付いた対象領域（ＲＯＩ）７０６、７０６’として示される。図７に示されるように、基準画像フレーム７０４と現在の画像フレーム７０２との変位を所与として、各画像フレームでの重複エリア（又はＲＯＩ）を見つけることができる。フォーカス置換方法の一実施形態例では、重複エリアのみが比較されて、画像の鮮鋭さが特定される。
【００８６】
３）各画像フレームのＲＯＩの勾配和を計算する。勾配和は、画像の鮮鋭さを示すパラメータである。
【００８７】
４）現在の画像フレームのＲＯＩ７０８の勾配和が、基準画像フレームＲＯＩ７０６’の勾配和よりも大きい場合、現在の画像フレームがより鮮鋭であると見なされる。この場合、基準画像フレームＲＯＩ７０６’の内容を現在の画像フレームＲＯＩ７０６の内容で上書きすることにより、画像置換を実行し得る。ブレンドは任意選択的に、より「漸次的な」置換のために、基準ＲＯＩの境界周囲で行うことができる。
【００８８】
幾つかの実施形態によれば、最適化方法をフォーカス置換に使用し得る。現在の画像フレーム（Ｉｃ）が複数の既存のデータベースキーフレーム（Ｋ１，Ｋ２，Ｋ３，．．．）に重なる状況では、上記の基本方法が各対間（Ｉｃ，Ｋ１）、（Ｉｃ，Ｋ２）、（Ｉｃ，Ｋ３）、．．．でそれぞれ実行される。基本方法が実行される都度、勾配画像が再計算されるため、これにはかなり時間がかかり得る。最適化は、勾配画像を再計算する必要をなくすことを目的とする。これは以下のうちの１つ又は複数により行われる。
【００８９】
１）各カメラフレームがビジョンモデルモジュールの処理ステップを通って流れる際に、各カメラフレームの勾配画像を計算する。したがって、各フレームは、それに関連付けられた予め計算された勾配画像を有する。
【００９０】
２）カメラ画像フレーム（現在の画像フレーム）がデータベースキーフレームとして選択される場合、カメラ画像フレーム及びそれに関連付けられた勾配画像は一緒に記憶され、したがって、各キーフレームは予め計算された勾配画像を有する。
【００９１】
３）ここで、勾配を再計算せずに、キーフレーム及び現在の画像フレームに関連付けられた勾配画像を使用して、基本方法を実行することができる。画像置換がキーフレーム内で行われる場合、キーフレーム勾配画像も、現在の画像フレームからの勾配画像を使用して同じように置換される。
【００９２】
キーフレームデータベース
キーフレームデータベース４０６は、モザイクが拡大する場合、多数のキーフレームを含み得る。他のモジュールで要求される重要な一機能は、対象領域内に配置されたキーフレームを効率的に検索する能力である。例えば、近傍キーフレームへのリンクでは、現在の画像フレーム周囲のキーフレームを検索する必要があるとともに、検索機能が必要である。多くのキーフレームをキーフレームデータベースに有することにより、検索性能問題がもたらされる。特定の領域内のキーフレームを見つけるために、大きなキーフレームリストを通して検索し、対象のキーフレームを見つけるために、性能が低下するおそれがある。本開示の実施形態例は、２Ｄハッシュマップを作成することによりこの問題に対処する。
【００９３】
２Ｄハッシュマップは、図８に示されるように、キーフレームの位置に基づいてキーフレームをセルにグループ化する。セルはグリッド８０２に位置合わせされ、二次元インデックス（ｉ，ｊ）を使用することによりインデックス付け得る。セルがインデックス付けされる場合、そのセル内の全てのキーフレームが得られる。各キーフレームはハッシュを有するか、又はその位置（ｘ，ｙ）からセルインデックス（ｉ，ｊ）へのマッピングを有する。このハッシュは以下のように定義し得る。
ｉ＝フロア（ｘ／幅）
ｊ＝フロア（ｙ／高さ）
式中、幅及び高さは各セルの指定された幅及び高さである。本開示では、画像フレームの幅及び高さをこれらの値として使用することが好都合である。その結果、間隔［ｃ＊ｗｉｄｔｈ，（ｃ＋１）＊ｗｉｄｔｈ］内の全てのセルは、同じセルインデックスｃにグループ化され、ここで、ｃはある整数の定数である。これらのセルは全て近傍と見なされ、位置間の距離が幅であることが許される場合、所与のセルから多くとも１セル離れたセルはｃ−１、ｃ、ｃ＋１としてインデックス付けられる。
【００９４】
各セル内部にはキーフレームリストがあり、このリストは最初は空のリストである。新しいキーフレームが、ハッシュに基づいてセルに配置され、これは、新しいキーフレームが追加されるセルのインデックスを見つけるために使用される。セルが、何のキーフレームがあるかを見つけるように問い合わせられる場合、セル内のキーフレームを識別するキーフレームリストが返される。領域、例えば、複数のセルを包含するクエリ領域８０４が問い合わせられる場合、クエリ領域内部の各セルからのキーフレームリストが一緒に添付され、添付付きリストが返される。
【００９５】
ディスプレイ（例えば、矩形表示領域）にレンダリングする必要があるキーフレームを決定するために、表示矩形にカメラの最小及び最大位置を使用する同様の参照。最小位置がインデックスｃ＿ｍｉｎを提供し、最大位置がインデックスｃ＿ｍａｘを提供すると考えると、ｃ＿ｍｉｎからｃ＿ｍａｘへの反復クエリは全ての可視キーフレームをもたらす。キーフレームデータベースに追加される各キーフレームが、小さな円で示される図８に示されるように、クエリ領域８０４はセルの４つのみのキーフレームを評価する。したがって、処理時間が短縮され、モザイク表現のレンダリングがより高速且つより効率的になる。
【００９６】
複数対物レンズステッチングへのビジョンモデルモジュールの拡張
特定の実施形態例では、異なる倍率の対物レンズから生成されたモザイクを結合することが可能である。対物レンズ毎に別個のキーフレームデータベースを保持し得る。対物レンズの光心間の変位が既知の場合（例えば、較正から）、各対物レンズからの異なるモザイクを関連付け、結合して単一のモザイクにすることができる。
【００９７】
ＧＰＵ照合方法
ビジョンモデルモジュールに関して上述したように、顕微鏡カメラにより捕捉された任意の画像フレームが解析されて、特徴を抽出する。特定の実施形態によるＧＰＵ照合方法例９００の概略について、図９を参照して後述する。
【００９８】
特徴のそれぞれは、前にステッチングされた画像で見つけられた特徴と比較され、任意の類似性を識別する。このステップは、特徴照合９０６と呼ばれ、モザイク内部の新しいキーフレームの位置を推定する。そのようなプロセスは、キーフレーム毎に数百個の要素を経なければならないため、幾つかの動作を必要とし、リアルタイムシステムでの性能の問題に繋がるおそれがある。しかし、ＧＰＵを使用して並列に実行することが可能である。
【００９９】
特定の実施形態では、本開示は、ＣＵＤＡライブラリを使用するグラフィックスカードの性能を利用する特徴照合方法のマルチスレッド版を開発する解決策を提供する。
【０１００】
以下の考察の最初の部分では、方法自体を説明し、方法をマルチスレッド用に構成する。第２の部分は、方法をＧＰＵシステムで実行するプログラムのアーキテクチャの開発に当てられる。図９及び図１０はそれぞれ、ＧＰＵ照合方法及びアーキテクチャの概略表現である。
【０１０１】
特徴照合９０６は通常、宛先特徴（Ｄ）及びソース特徴（Ｓ）（図９の「入力データ」９０４参照）と示される特徴の２つの集合に対して実行される。方法の目標は、Ｄからの特徴毎に、Ｓからのどの２つの特徴が最良及び２番目に最良の一致であるかを判断する。例えば、特徴は、特定の対象点を記述する１２８個の要素の行ベクトルとして定義し得る。
【０１０２】
ｐ＝（ｐ１，ｐ２，．．．，ｐ１２８）及びｑ＝（ｑ１，ｑ２，．．．，ｑ１２８）
であるような２つの特徴ｐ及びｑが考えられる。
【０１０３】
ｐとｑとの比較は、以下のように定義されるそれぞれのユークリッド距離Ｅ（ｐ，ｑ）に基づく。
2014529922.tif 000034
【０１０４】
２つの特徴ｐ及びｑは、ｐとｑとの距離Ｅ（ｐ，ｑ）がゼロに近い場合、同様であると見なされる。次に、最小距離を探すことにより、最良一致を見つけ得る。
2014529922.tif 000035
であるように、ＳをＭ個の特徴の集合として考え、ＤをＮ個の特徴の集合であると考える。式中、Ｓ［ｉ］はソース特徴ｉであり、Ｄ［ｊ］は宛先特徴ｊである。
【０１０５】
インデックスｉのソース特徴Ｓ［ｉ］は、距離Ｅ（Ｓ［ｉ］，Ｄ［ｊ］）がＤ［ｊ］と任意のソース特徴：
2014529922.tif 000036
との最小距離である場合、宛先特徴Ｄ［ｉ］の最良一致と見なされる。
【０１０６】
上述したように、この方法は、宛先特徴毎に２つの最良一致を見つける。これらの結果は、２行及びＮ列のＩｄｘとして示される二次元アレイで返され、このアレイでは、１列が１つの宛先特徴の最良一致に対応し、１行目及び２行目はそれぞれ、最良及び２番目に最良に一致するソース特徴のインデックスである。この方法は、宛先特徴とその一致要素との間で見つけられる距離を返すこともできる。一致する要素は、Ｉｄｘと同じ構造のＥｄと示されるアレイに記憶される（図９の「出力データ」９１０参照）。出力データはビジョンモデルモジュールに提供し得る（図９に示されず）。
【０１０７】
この方法で最もコストのかかる動作は、ユークリッド距離の処理（図９の「ユークリッド距離」９０８参照）である。距離は一緒に比較されるため、平方根をスキップすることによりこの処理を改良し得る。この処理は、約分演算を使用して並列化することもできる。約分演算は、作業を幾つかのスレッドに分けることからなる。ユークリッド距離の処理に使用される式は主に、処理された項の和で形成される。そのため、計算する一項を各スレッドに与えることが可能である。次に、結果を一緒に合算し得る。そうするために、各スレッドに２つの要素の和を割り当て得る。次に、出力は入力アレイの１／２のベクトルになる。このプロセスは、図９の９０８に示されるように、ユークリッド距離の二乗に対応する一固有値が得られるまで繰り返される。
【０１０８】
リンクモジュール９０２による特徴照合は、２つの主な関数を用いて開発し得る。第１の関数は、宛先特徴毎に各ソース特徴を処理し、マルチスレッド処理を使用してユークリッド距離を処理する第２の関数を呼び出し得る。
【０１０９】
ＧＰＵ照合アーキテクチャ
特定の実施形態によるＧＰＵマッチングの実施形態例のアーキテクチャ１０００について、図１０に関連して後述する。ＧＰＵ版の特徴照合を実施するために、幾つかの態様を説明しなければならない。最初に、メモリが、ＣＰＵとは異なるようにＧＰＵにおいて管理され、ニーズに応じて幾つかの解決策が利用可能なことを考慮しなければならない。第２に、スレッドを各グラフィックスカードのマルチコアプロセッサに割り当てる方法を確立しなければならない。
【０１１０】
ＧＰＵシステムは３種のメモリを提供する：グローバルメモリ１００４、テクスチャメモリ１００２、及び共有メモリ（Ｓ．Ｍ．）。グローバルメモリ１００４を使用して、読み書きでシステム内の任意のスレッドからアクセス可能な任意の種類の変数を記憶する。テクスチャメモリ１００２は、読み出しのみが可能なことを除き、グローバルメモリと同様である。その結果、テクスチャメモリ１００２はより高速のメモリアクセスを提供する。共有メモリは、同様に読み出しのみに制限され、特定数のスレッドの間で共有されるデータスタックである。共有メモリは、後述するブロック構造１０１０の内部で使用される。共有メモリはテクスチャメモリ１００２よりも高速であるが、そおサイズはかなり制限される（例えば、１６ＫＢ）。
【０１１１】
グラフィックスカードは、ＣＰＵ（ＲＡＭ）が使用するメモリにアクセスすることができず、次に、第１のステップは、入力データをＧＰＵメモリにコピーすることである。上述したように、入力データは２つのアレイに記憶される：Ｄ１００６及びＳ１００８。アレイＳ１００８は読み出しの場合のみ必要とされ、入力データをテクスチャメモリ１００２にコピーすることがより効率的である。
【０１１２】
出力データも、ＲＡＭに転送する前に、ＧＰＵメモリに記憶しなければならない。上述したように、出力データは２行及び２列の２つのアレイを含む：Ｉｄｘ１０１６及びＥｄ１０１８（上記参照）。Ｅｄ１０１８は、スレッドにより編集され、グローバルメモリ１００４に記憶される。
【０１１３】
共有メモリの使用について、ブロック構造の一部としてより詳細に後述する。
【０１１４】
ＣＵＤＡはブロック構造の使用に基づく。これらのそれぞれは、実行するスレッドの集合と、スレッドで共有されるメモリブロックとの複合である。図１０に示されるように、ブロックはグリッド１０１０に配置される。カーネルが呼び出される場合（図１０の１０１２参照）、ハードウェア容量に応じて、宣言された各ブロックをストリーミングマルチプロセッサ１０１４に割り当て得る。
【０１１５】
特徴照合の場合、１つの宛先特徴の解析がブロック毎に割り当てられる。したがって、あらゆるスレッドが宛先特徴への高速アクセスを有することができるように、宛先特徴はブロックの共有メモリにコピーされる。このアーキテクチャでは、あらゆるブロックがソース特徴Ｓｒｃの全体アレイにアクセスする必要がある。共有メモリが制限され、テクスチャメモリ１００２がそのようなアレイへの高速アクセスを提供することを知り、スレッドはテクスチャメモリ１００２から直接読み出す。ＧＰＵ照合方法を参照して上述したように、ブロックの各スレッドを使用して、ユークリッド距離をもたらす約分演算を処理し得る。特徴が１２８個の値のベクトルであることを知り、ブロック毎に１２８個のスレッドが必要である。その結果、各ブロックは、割り当てられた宛先特徴の２つの最良一致を出力する。
【０１１６】
レンダラー
上述されたレンダラーについて、図１１及び図１２に関連してこれよりさらに詳細に提示する。
【０１１７】
多くのキーフレームを空間内のランダムな位置にレンダリングするタスクは困難であり得る。単純に常時、全てのキーフレームをレンダリングし、各レンダリング時に全てのテクスチャを更新する代わりに、これらの問題に対処する幾つかの方法が提案されている。ハッシュマップ４１２を使用して、何が画面上にあるのかの高速探索を実行し、専用テクスチャアトラス１１１０を使用して、１つのバッチで全てのキーフレームをレンダリングすることが可能であり、リアルタイムブレンドシェーダー１２０６が、フレーム間の継ぎ目があまり目立たないように使用される。
【０１１８】
これらのキーフレームの全てをレンダリングしようとすることに伴う問題の１つは、それら全てのテクスチャを所与の時点でメモリに記憶することが略不可能且つ非効率的であることである。別の問題は、各キーフレームのテクスチャを記憶することも非効率的であることであり、これは、キーフレーム毎にｇｌＢｉｎｄＴｅｘｔｕｒｅ  ＯｐｅｎＧＬ呼び出し１２０４を導入し、実行を妨げる。これらの両問題を一度に解決するために、複数解像度テクスチャアトラス１２０２が使用される。
【０１１９】
テクスチャアトラスは大きなテクスチャであり、多くのサブテクスチャ（又はここでは、キーフレーム画像）を記憶する。異なるテクスチャを呼び出すのではなく、異なるテクスチャ座標が、キーフレームがレンダリングされている各ポリゴンに指定される。しかし、全てのキーフレーム画像を１つの大きなテクスチャに当て嵌めることにより、同じメモリ制限が生じる。キーフレームのモザイクを完全にズームインした場合、多くのキーフレームがビューエリア内部にないことに留意する。他方、完全にズームアウトした場合、全てのキーフレームをレンダリングする必要があり得るが、解像度ははるかに低い。このことを利用して、異なる「レベル」と呼ばれるもので、設定された数のテクスチャアトラスを有する。
【０１２０】
図１１に示されるように、各テクスチャアトラスは、同じ解像度１１０２であるが、異なるレベル１１１２にあり、記憶される画像は各レベルで半分の解像度である。例えば、画像の幅及び高さ２０４８並びにテクスチャトラスの幅及び高さが全て４０９６である場合。底のレベル（レベル０）で、４つの画像（２０４８×２０４８）を記憶することができる。次のテクスチャアトラスレベルは４０９６×４０９６であるが、ここでは、記憶される画像は１０２４×１０２４であり、したがって、前のレベルの４倍の数の画像をこのレベルで記憶し得る（レベル１では１６）。同様に、レベル２は１６＊４の画像を有することになり、レベル３は１６＊４＊４の画像を有することになり、以下同様である。アトラスレベルはカメラ及び現在のズームレベルによって決まる。ズームレベルが、１つの画像ピクセルが１つの画面ピクセルと同じサイズ以下であるようなものである場合、最大解像度を使用し得る。ズームアウトすると、一度に見られるのは画像ピクセルの半分だけであり、したがって、次のレベルを使用することができる。
【０１２１】
キーフレームをレンダリングするために、テクスチャアトラスの集合を生成し得る。上述したように、各テクスチャアトラスは、関連付けられた解像度を有し、関連付けられた解像度でダウンサンプリングされた少なくとも１つのキーフレームを含み得る。レンダリングの表示エリア及び表示解像度が選ばれる。表示解像度に最も近い解像度を有するテクスチャアトラスが、テクスチャアトラスの集合から選択される（必要な場合には更新される）。関連付けられたキーフレーム一が表示エリア内にあるテクスチャアトラスからのキーフレームを次に、ディスプレイにレンダリングし得る。
【０１２２】
キーフレームデータベースからの１つ又は複数のキーフレームが、表示エリア内に関連付けられたキーフレーム位置を有するものとして識別されるが、まだテクスチャアトラスにない（又は存在していない）場合、レンダリング前に、これらのキーフレームを含むようにテクスチャアトラスを更新し得る。例えば、欠けているキーフレームを、テクスチャアトラスの関連付けられた解像度でダウンサンプリングし、テクスチャアトラスに挿入し得る。
【０１２３】
なお、これらのキーフレームをレンダリングするために、キーフレームが最初にアトラス内に存在する必要がある。新しいキーフレームは最初、全てのアトラスレベルに配置して、配置の時間を償却する。レンダリング時、所与のレベルでレンダリングするために必要な全てのキーフレームが得られ、キーフレームテクスチャアトラスにない場合には、キーフレームは、例えば、十分に高速であるＯｐｅｎＧＬのフレームバッファオブジェクト拡張１２０８を使用してテクスチャにレンダリングされる。
【０１２４】
キーフレームがフォーカス置換を必要とする場合、そのキーフレームの全てのアトラスレベルを更新しなければならない。レンダリングすべきキーフレーム毎に、ビジョンモデルモジュールにより設定されるそのキーフレームのチェックフラグを調べて、テクスチャアトラスでの更新を必要とするか否かを判断し得、キーフレームを、上述したように、全てのレベルでテクスチャアトラスにアップロードし得る。
【０１２５】
テクスチャが、容易な探索のためにテクスチャアトラスに詰め込まれると、クワッド／画像矩形をレンダリングする場合、テクスチャ座標がテクスチャアトラスから得られる。このプロセスは、レンダリングカメラに重複する現在のキーフレームを探してビジョンモデルモジュールを照会して、ＩＤ集合を得ることにより開始される。これらのＩＤを用いて、キーフレームがチェックされ、キーフレームが所与のズームレベルでテクスチャアトラス内にあるか否かが判断される。ない場合、キーフレームは追加される。すでにある場合、何も行われない。両方の場合で、キーフレームがテクスチャアトラスのどこにあるか（キーフレームがテクスチャアトラスに存在するロケーション）を示すテクスチャ座標が得られる。各クワッドにテクスチャ座標を用いて、各クワッドの位置が生成される。クワッドの左上位置は、キーフレーム構造から既知であり、３つの他の頂点は、フレームの幅／高さを左上位置に追加することを通して生成される。位置及びテクスチャ座標はバッチ（大きなアレイ）でＯｐｅｎＧＬ１２０４に渡されて、数千ものＯｐｅｎＧＬ呼び出しを節減する。
【０１２６】
キーフレームは、レンダリングされる場合、あるフレームが終わり、別のフレームが始まる急なエッジを有する。これを解決するために、両フレームの線形結合をレンダリングし得、換言すれば、キーフレームをブレンドし得る。フレームの重複がないフレームの領域では、寄与はそのフレームからのみであるはずである。重複領域がある場合、キーフレームは、エッジにどの程度近いかに基づいて加重される。
【０１２７】
このために、キーフレームと同じサイズを有する中央にセンタリングされたガウス画像を予め計算し得る。複数のフレームが重複する場合、２パスピクセルシェーダーの使用により、それらのフレームを一緒にブレンドし得る。第１のパスで、全てのフレームはＯｐｅｎＧＬからの加法ブレンドを可能にし、基本的に全てのフレームが一緒に加算され、加重平均として第１のピクセルシェーダーにおいて以下のように加重し得る。
ｐａｓｓ１ｃｏｌｏｕｒ．ｒｇｂ＋＝ｇａｕｓｓ＊ｆｒａｍｅｃｏｌｏｕｒ．ｒｇｂ
ｐａｓｓ１ｃｏｕｌｕｒ．ａ＋＝ｇａｕｓｓ
【０１２８】
第２のピクセルシェーダーにおいて、全てのフレームは一緒に加算され、寄与重みの追加に基づいて正規化し得る。
ｐｉｘｅｌｃｏｌｏｕｒ＝ｐａｓｓ１ｃｏｌｏｕｒ．ｒｇｂ／ｐａｓｓ１ｃｏｌｏｕｒ．ａ
【０１２９】
したがって、各ピクセルは、キーフレームでの元のピクセルの位置に依存する加重平均である（フレームの中央は最も大きな重みを取得し、エッジは最も小さな重みを取得する）。
【０１３０】
リアルタイムでレンダリングされたシーンは、固定グリッドロケーションにおいて仮想カメラをシーンのあちこちで移動させて（ユーザがマウスを用いて仮想カメラを移動させる）、各タイルを生成することにより、ハードドライブに保存し得る。ビューエリアを増大させて（仮想カメラでのズームアウト）、ｔｉｌｅｄ．ｔｉｆｆファイルを生成することもできる。レンダリングはリアルタイム動作であるため、この保存機能のコストは、各タイルを最初に事前処理するのとは対照的に、ハードドライブに保存する時間によって制限される。
【０１３１】
コントローラ
本開示のコントローラについて、図１３に関連してこれより考察する。
【０１３２】
コントローラ１０６は、ユーザがシステム１００の残りの部分とどうように対話するかを定義する。通常、コマンドは、カメラ１０４、ビジョンモデルモジュール１１４、レンダラー１０８のようなものへのコマンドの単純なリダイレクトであるが、コントローラ１０６は仮想情報も追跡する。
【０１３３】
図１４に示されるように、コントローラ１０６は、仮想カメラ又はキーフレームをどこで見るかについての情報を提供するカメラを収容する。例えば、仮想カメラは、１つのみのキーフレームを見て、そのキーフレームで画面を埋めることができるか、又はよりズームアウトされた、その全てを示すモザイクを表示することができる。仮想カメラは、スキャンされた画像の仮想表現１４０２を通してのナビゲーションがどのように実行されるかを定義する。例えば、仮想カメラは矩形領域として構成することができ、その領域は、レンダリングパイプラインを介して画面にマッピングされる。図１４に示される例では、２つの仮想カメラがあり、一方はよりズームインしたビュー１４０４を示し、もう一方はよりズームアウトしたビュー１４０６を示す。
【０１３４】
ユーザが迷った（すなわち、現在のキーフレームと既存のモザイクとを一致させることができない）場合、矢印（ＵＩ矢印）を表示し得る。矢印の方向は、現在のキーフレームから付近の近傍キーフレームの平均への方向であり得る。これは、ユーザがモザイク領域に戻ろうとする概ね「良好」な方向をもたらす。とにかくこの種のフィードバックを有することは、十分な特徴を有さない領域にいるか、又はあまりに速く移動しているために、迷っていることをユーザに知らせるために有益である。
【０１３５】
本開示の特定の実施形態はストリームモード１３０２を含む。ストリームモード１３０２の目標は、顕微鏡の対物レンズを較正するとともに、カメラのライブストリームを見て、ステッチングに大丈夫であるか否かを確認することである。カメラのスナップショットを保存する選択肢、現在の対物レンズを較正する選択肢、新しい対物レンズを挿入する選択肢、現在の対物レンズを除去する選択肢がある。セットアップが適宜較正されると、システムを適宜使用する準備ができる。ユーザは、現在のカメラ画像フレームに十分な特徴が存在する場合、「ステッチ開始」を選択することができる。十分な特徴がない場合、方法が、機能するのに十分な内容を有さないため、ユーザによるステッチングは許可されない。
【０１３６】
更なる実施形態はステッチモード１３０４を有する。ステッチモードにおいて、ユーザは、顕微鏡ステージを用いてあちこち移動することにより画像を自在にステッチすることができる。ユーザがマウスを用いてのナビゲートを望む場合、同様にそうすることができる。ユーザに現在のカメラストリームを同時に見せて、フォーカスを支援するライブビュー選択肢もある。ユーザが異なる対物レンズに切り替える場合、システムはステッチの試みを自動的に停止し、現在のカメラビューを表示し続ける。ステッチモード及びストリーミングモードの両方で、対物レンズは、自動的に切り替えられ較正される。ユーザが、前にステッチングしていた対物レンズに再び切り替える場合、ステッチングの再開を試みる。随時、ユーザはステッチングされた画像を保存し、利得補償をアクティブ化し、ストリームモードに戻り、又は現在のカメラフレームを保存することができる。
【０１３７】
高速保存
上記に加えて、本開示の実施形態は、種々雑多な機能及びモジュールを備えることができる。そのような一モジュールは「高速保存」特徴１１６であることができる。モザイクを保存するために、まず、全ての個々のキーフレームからモザイクを生成しなければならない。モザイク生成での主要ステップは、キーフレームの重複を扱うことである、ブレンドすることである。高速保存は、レンダラーの内蔵高速ブレンドを使用して、全体モザイクを生成する。モザイクが生成されると、モザイクは、「レンダリング」項で上述したように、Ｂｉｇ−ＴＩＦＦフォーマットで保存される。
【０１３８】
品質保存
本開示の実施形態は、品質保存又は「マルチバンドブレンド」特徴１１８を含むこともでき、これについては図１５及び図１６を参照して後述する。これは、高速保存特徴１１６と比較して、モザイク保存の高品質版である。品質保存は、マルチバンドブレンドを使用してモザイクを生成し、このブレンドは、レンダラー１０８が使用する単純なものと比較してより高度なブレンド方法である。品質保存機能の構成例について、図１５及び図１６を参照して後述する。
【０１３９】
ビジョンモデルモジュールにおいて説明されたように、画像モザイクのブレンドの本質は、デジタルカメラにより捕捉された画像集合のステッチングにある。理論上、各画像は同じ条件下でサンプリングされる。しかし、現実では、特定の予期されない影響がこれらの理想的なパラメータを損なうおそれがある。その結果、照明の変動、シーンの移動、又は露出の違いが目に付き、見当合わせ誤差、不均一輝度、又は目に見えるエッジ等のモザイクの不連続性を生じさせる。その場合、モザイクを保存する前に、事後処理技法を適用する必要がある。
【０１４０】
第１の解決策は、利得補償を適用することである。利得補償は、輝度差を軽減することに対するその効率が証明されているが、目に見える画像の境界を完全には除去せず、見当合わせ誤差には効果がない。画像を一緒にブレンドするロバストなプロセスが望ましい。
【０１４１】
単純な手法は、線形ブレンドを使用することである。線形ブレンドの本質は、加重和をモザイクの各画像に適用して、画像間で平滑な遷移を有することにある。この方法は、目に見えるエッジの除去に効率的であり、比較的高速である。しかし、線形ブレンドは、幾つかの見当合わせ誤差を残しがちであり、画像内の輪郭線を変える場合があり、これは最終的な結果の品質に影響する。代替は、Ｐ．Ｂｕｒｔ  ａｎｄ  Ｅ．Ａｄｌｓｏｎ，Ａ  Ｍｕｌｔｉｒｅｓｏｌｕｔｉｏｎ  Ｓｐｌｉｎｅ  Ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏＩｍａｇｅ  Ｍｏｓａｉｃｓ，１９９３に記載されているマルチバンドブレンド方法であり、これを参照により本明細書に援用する。さらに、画像ステッチングの異なる実施態様が開発され、Ｍ．Ｂｒｏｗｎ  ａｎｄ  Ｄ．Ｌｏｗｅ、Ａｕｔｏｍａｔｉｃ  Ｐａｎｏｒａｍｉｃ  Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｕｓｉｎｇ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅｓ，２００７に記載され、これを参照により本明細書に援用する。この画像ステッチングの異なる実施態様は、ディテール周波数に応じて、各サンプルをバンド単位で分解するという概念に基づく。それゆえ、変化する空間範囲にわたって生成されるバンドをブレンドすることが可能になる。最高周波数に低い範囲を選ぶことにより、輪郭線は維持され、よりよい品質を保証する。また、高い範囲が低周波数に適用されて、画像のディテールを変更することなく、強い不連続性を除去する。
【０１４２】
以下は、マルチバンドブレンド方法１５００を記載し、本開示の実施形態に構成されるマルチバンドブレンド方法の最適化された実施を提供する。
【０１４３】
マルチバンドブレンド方法について幾つかのステップを通して説明する。最初に、重み関数を定義する必要があり、重み関数は、画像間の平滑な遷移を特定する。次に、プロセスを実行して、各画像をいくつかのバンドに分解する。最後のステップは、各バンドをブレンドし、一緒に混合して、最終的なモザイクを得ることである。
【０１４４】
一般に、画像のブレンドは加重和に基づく。概念は、ピクセル毎に０〜１の値を設定し、最終的な結果へのピクセルの影響を設定することであり、１は、完全に使用するピクセルの場合であり、一方、０はモザイクから除外されるピクセルの場合である。次に、中間値のピクセルを使用して、画像間の平滑な遷移を得る。マルチバンドブレンドの場合、遷移エリアのサイズは、ディテールを保存するためにバンド毎に変わる。
【０１４５】
ブレンド範囲を設定する前に、画像間の適切な境界線を選ぶべきである。そうするために、各画像の各ピクセルの信頼度を設定する中間重み関数Ｄ（ｘ，ｙ）が設定される。画像の中心が、境界よりも多くの信頼可能な情報を含むと仮定する。関数Ｄ（ｘ，ｙ）は次に、中心における１からエッジでの０まで変化する値を設定する。最高度：
2014529922.tif 000037
を有するピクセルを選ぶことにより、二値重みマップ１５０２が構築され、ここで、ｊは、０≦ｊ＜ｎであるような整数であり、ｎはブレンドする画像の数である。
【０１４６】
最後に、結果として生成される重みマップをぼやけさせることにより、遷移エリアが処理され、ぼやけの強度がブレンド範囲を設定する。
【０１４７】
マルチバンドブレンドでは、ディテールを背景から分離する必要がある。この動作は、空間周波数に応じて画像を分解することにより処理することができる。空間周波数は、空間領域での時間周波数と同様の測定値である。視覚的知覚の場合、高空間周波数は、エッジ等の急な空間変化を表し、一方、低空間周波数は、背景のようなより大域的な情報を表す。マルチバンドブレンドは元々は、任意の数のバンドで機能する。しかし、幾つかのテスト後、バンドの数が増大するにつれて、結果は顕著には改良されないことが分かった。したがて、２つのバンドを使用する実施形態例を本明細書において説明する。
【０１４８】
空間周波数を分解する一般的な方法は、ガウスフィルタを適用することであり、この方法について図１５に示されるブレンド１５０４を参照して説明する。ガウスフィルタはローパスフィルタであり、高周波数を除去することにより画像をぼやけさせる効果を有する。標準偏差σのガウスぼかしカーネルｇσ（ｘ，ｙ）を考える。この関数を、畳み込みによりモザイクのｉ番目の画像Ｉｉ（ｘ，ｙ）に適用することができる。
2014529922.tif 000038
結果として生成される画像
2014529922.tif 000039
は、波長λ≧σでの元画像の空間周波数を表す。
【０１４９】
高周波数は、結果を元画像から減算することにより取り出される。
2014529922.tif 000040
2014529922.tif 000041
及び
2014529922.tif 000042
はそれぞれ、モザイクのｉ番目の画像Ｉｉ（ｘ，ｙ）の１番目及び２番目のバンドである。
【０１５０】
分解は各画像で行われ、バンドを一緒にブレンドしなければならない。上述したように、マルチバンドブレンドの利点は、波長範囲に応じて、異なる遷移エリアにわたってブレンドする可能性を提供することである。そうするために、ブレンドするｋ番目のバンドに応じて異なる標準偏差σｋを適用することにより、重みマップはぼかされる。
2014529922.tif 000043
2014529922.tif 000044
は、画像Ｉｉ（ｘ，ｙ）のｋ番目のバンドに適用される重みマップである。
【０１５１】
次のステップは、各バンドの加重和を処理することにより画像サンプルをブレンドすることである。
2014529922.tif 000045
式中、Ｉｋ（ｘ，ｙ）は最終的なモザイクのｋ番目のバンドを表す。
【０１５２】
結果として生成される２つのブレンドされたバンドを一緒に加算して、最終的な結果を得ることができる。
【０１５３】
この方法は重い処理を必要とし、高速事後処理方法のニーズを満たさない場合がある。以下の項において、ＧＰＵプログラミング等の最近の開発を使用して、より強力でより高速なプログラムを可能にするプロセスセットについて説明する。
【０１５４】
まず、モザイクをチャンクに分割し（図１５の１５０６参照）、次に、重みマップの記憶を最適化することにより、メモリの使用を低減することに焦点を合わせる。事後処理されたモザイクをファイルに保存する解決策が次に実施される。最後に、ＧＰＵプログラミングを使用する最適化の解決策について説明する。
【０１５５】
メモリの使用は、この方法にとって重要な問題であった。分かった問題は、オペレーティングシステムＷｉｎｄｏｗｓ（商標）に起因した。実際に、プログラムは、４ＧＢよりも大きなメモリを割り振ろうとする場合にクラッシュするように見える。この状況は、画像サンプルの大きな集合をステッチしようとする間によく見られるようである。この問題に対して見つかった解決策は、モザイクを小さなチャンクに分割し、チャンクがメモリの４ＧＢを超えないことを保証することであった。チャンク毎に画像をブレンドするためには、どの画像がチャンクと交わるかを識別する必要がある。次に、各チャンクを別個のモザイクとして扱うことができる（図１６の１６０２及び１６０４参照）。処理するピクセル数を削減するために、画像サンプルをクロッピングして、チャンクの内部で実際に使用されるものにすることが魅力的であり得る。クロッピングは、加重和の処理中の良好な最適化であり得るが、これは、重みマップを構築する間にトラブルを生じさせるおそれがある。重みマップが、ぼやけさせる前にクロッピングされる場合、同じ状況が非一貫性をもたらすおそれがある。例えば、重複領域がプロセスでクロッピングされる場合、ローパスフィルタは、チャンクの境界を考慮に入れる。それゆえ、遷移エリアは、チャンクなしで行われるものと一致しなくなり、最終的なモザイク内部への目に見えるエッジの挿入に繋がるおそれがある。
【０１５６】
考慮される別の側面は、重みの計算である。２つの解決策がこのために可能であるように思える。第１の解決策は、必要な場合に重みマップを処理することを含む。チャンクが十分に小さい場合、チャンクは多数の画像を含まないはずである。しかし、このプロセスは、各チャンク内の各キーフレームに対して繰り返される。理論上、サンプルも幾つかのチャンクに出現し得る。その結果、このプロセスは必要な回数を超えて繰り返されて、プログラムの実行を遅くさせることに繋がるおそれがある。他方の解決策は重みマップを事前処理し、後で使用するために記憶することである。この方法により、画像の重みマップが一度のみ処理されることを保証することができる。しかし、キーフレームの数が増大するにつれて、これも同様にメモリ使用のかなりの増大に繋がる。最初の解決策がより適切であるように思われる。メモリの使用が、システムのクラッシュ又はかなりの低速化に繋がるおそれがある実際の問題であることは既知のテストである。チャンク内のキーフレームのみを考慮して重みマップを処理することができる場合、これは、扱う事例数を低減することができる。したがって、この解決策は費用効率的な方法であるように見える。
【０１５７】
上述したように、方法が、ブレンドされたモザイクを保存する必要がある。この方法は、大きなデータセットで機能することを目的とし、Ｂｉｇ  ＴＩＦＦと呼ばれる特定のファイルフォーマットを使用する。しかし、他のファイルフォーマットを使用することもできる。Ｂｉｇ  ＴＩＦＦフォーマットは、画像全体をタイルに分割し、ファイルを表示し閲覧するより高速の方法を提供するという利点を有する。この方法により、ディテールレベルの使用が可能になり、これは、大きな画像で素早くズームイン及びズームアウトを行う強力な特徴である。そのようなファイルを保存する関数が既に開発されているが、異なるディテールレベルのタイルを提供する必要がある。したがって、最終的なモザイクをブレンドした後、プログラムは、レベル毎にブレンドされたモザイクを一度閲覧して、タイルを抽出し、より低いディテールレベルに適切なサイズにサイズ変更すべきである。
【０１５８】
第１の手法は、マルチバンドブレンドの終わりにデータを保存することである（図１６の１６０２参照）。しかし、この方法は、プロセスの終わりまで、プログラムにあらゆるチャンクをメモリに保持させることを強いる。この状況は重大な問題ではないが、１つのみのチャンクをＲＡＭに保持することにより、メモリの過剰な使用を回避することに価値があり得る。そうするために、チャンクをタイルと見なし、オンザフライで保存し得る（図１６の１６０４参照）。ブレンド方法が終わった場合、第１のディテールレベルが既に生成され、ファイルに保存され、次に構築する必要があるのはその他のディテールレベルのみである。この手法に伴う問題は、モザイクがもはやメモリになく、既に保存されたデータを抽出しなければならないことである。保存機能が、読み出し及び保存を同時に処理するように構築されていないため、これは問題を生じさせるおそれがある。ファイル上の２つのストリームが次に必要とされ、一方は前のレベルの保存用であり、もう一方は前のレベルの読み出し用である。次に、必要とされる動作は、前のレベルから４つのタイルを抽出し、次のレベルの１つのタイルを生成することである。
【０１５９】
図１６に示されるプロセス図は、上述した２つの手法を要約する。
【０１６０】
前節では、メモリの使用の最適化について説明した。しかし、これらの変更は、プロセスの実行を高速化しない場合があり、特定の時点でシステムを低速化させる場合さえある。実行時間を低減するために、ＧＰＵ処理を使用して、ハードウェア性能を利用する。実際に、特定の状況では、ＧＰＵプロセッサがＣＰＵよりもはるかに効率的であり得ることが分かっている。ＧＰＵプロセッサは、多数のスレッドを管理している場合に非常に効率的である。したがって、ＧＰＵプロセッサは、行列への計算等の高度に並列化可能な演算に使用し得る。残っているボトルネックを識別し、それをＧＰＵで実施する方法を見つけるマルチバンドブレンドの異なるステップが検討されてきた。ガウスブラーは、大きなボトルネックとして識別された。この動作は、重い処理を含み、キーフレームガットに数回繰り返される。ＮＶＩＤＩＡはＣＵＤＡライブラリを使用して、リアルタイムフィルタを有する。この実施は、本開示の実施形態用に構成するように変更された。
【０１６１】
ＧＰＵプログラミングで検討する重要なことは、メモリの使用である。実際には、ＣＰＵ及びＧＰＵは両方とも各自のメモリ記憶装置を有する。したがって、データをＲＡＭからＧＰＵに転送する必要があり、繰り返される回数が多すぎる場合、これはプログラムを遅くするおそれがある。したがって、ＧＰＵプログラミングをフィルタ間の動作にも同様に使用することが決定されている。このようにして、データ転送は、キーフレーム毎に２回のみ行われる。そうするために、ＧＰＵでの行列を容易に操作するための新しいクラスであるＧｐｕＭａｔが開発された。
【０１６２】
利得補償
特定の実施形態は、利得補償１２２を利用することもでき、利得補償はキーフレームデータベースから全てのキーフレームを読み出して、キーフレームが均一に明るく見えるように個々のキーフレーム画像利得を調整するモジュールである。
【０１６３】
幾つかの顕微鏡では、光源サンプリングに起因して、連続フレーム間の強度のばらつきが見られる。これは、重複する各フレームの強度に一貫性を持たせようとすることにより軽減される。この手法は「利得補償」又は各フレームを乗算する値を見つけることと呼ばれ、したがって、結果として生成されるモザイクは重複フレーム間で急な差を有さなくなる。
【０１６４】
これは、Ａｕｔｏｍａｔｉｃ  ｐａｎｏｒａｍｉｃ  ｉｍａｇｅ  ｓｔｉｔｃｈｉｎｇ  ｕｓｉｎｇ  ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅｓ，Ｂｒｏｗｎ  Ｍ．ａｎｄ  Ｌｏｗｅ  Ｄ．Ｇ．，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｖｏｌｕｍｅ  ７４，Ｎｕｍｂｅｒ  １，ｐｐ．５９−７３，２００７，Ｓｐｒｉｎｇｅｒに記載のように、線形系として解決され、これを参照により本明細書に援用する。
【０１６５】
利得行列ｇ＿ｉが決定され、この行列は、全体画像を乗算する定数としてフレームｉに適用される。利得補償解決行列には項の２つの集合がある。第１の集合は、フレームが別のフレームに重なる場合の行列に行を有する。２つのフレーム（ｉ及びｊ）が、重複領域（Ｉ＿ｉ，Ｉ＿ｊ）内に平均強度を有すると考えると、行列内の行は、
ｓｉｇｍａ＿１＊（ｇ−ｉ＊Ｉ＿ｉ−ｇ＿ｊ＊Ｉ＿Ｊ）＾２＝０
のように見える。
【０１６６】
式中、ｓｉｇｍａ＿１はこの式集合の加重係数である。基本的に、利得が適用されると、重複する画像は同じ強度を有するべきである。重複する画像Ｉ及びｊのあらゆる集合は、行列内に１行を有する。
【０１６７】
これに対する自明な解は、全ての利得ｇ＿ｉをゼロに設定する。これを解消するために、以下のように、利得が１の近くであるべきであること（１方程式（ｕｎｉｔｙ  ｅｑｕａｔｉｏｎ））を記述する新しい項が各画像に導入される。
ｓｉｇｍａ＿２＊（ｇ＿ｉ−１）＾２＝０
【０１６８】
式中、ｓｉｇｍａ＿２は、方程式の１セット（ｕｎｉｔｙ  ｓｅｔ  ｏｆ  ｅｑｕａｔｉｏｎ）の加重係数である。本発明では、これらの２つの方程式セットを最小二乗の意味で解く。
【０１６９】
バンドル調整
さらに、バンドル調整モジュール１２０もあり得、バンドル調整モジュールは、キーフレームデータベースから全てのキーフレームを読み出すとともに、互いへのキーフレームリンクも読み出す。このモジュールは、全てのリンク制約が満たされるようにキーフレーム位置を調整する。
【０１７０】
時間の経過に伴い、キーフレーム位置推定は、追跡誤差の蓄積に起因して不整合を有するおそれがある。そのような１つの状況は、モザイクが大きな循環ループとして構築される場合である。ユーザがループの開始点に戻る場合、最後のキーフレームから推定される現在位置は、初期基準キーフレームへの見当合わせからの推定と一致しないことがある。
【０１７１】
図１７は、（キーフレーム１７０２からの）ｄ２，０からのｐ２の推定と、（キーフレーム１７０４からの）（ｄ１，０＋ｄ２，１）からののｐ２の推定との不一致がある場合を示す。通常、（ｄ１，０＋ｄ２，１）から蓄積される追跡誤差がある。バンドル調整は、測定される全てのリンクが厳密に満たされるように、全てのキーフレーム位置を解くのに役立つ。
【０１７２】
追跡誤差の蓄積を修正するために、バンドル調整を実行して、全ての測定リンクを考慮に入れるとともに、全てのキーフレーム位置が全てのリンク制約を厳密に満たすように、各キーフレームの位置の大域的最適化を実行することができる。
【０１７３】
方程式のセットアップは、初期キーフレームＫ０が位置ｐ０＝（０，０）を有すると仮定して以下のようになる。
2014529922.tif 000046
【０１７４】
測定ｄ１，０、ｄ２，１、ｄ２，０が既知であり、方程式の上記線形系を使用してｐ１、ｐ２を解く。
【０１７５】
対物レンズ変更検出器
本開示の幾つかの実施形態は、対物レンズ変更検出器１１２も利用し、この検出器は、各入力フレームを監視し、顕微鏡の対物レンズが切り替えられたか否か及びどの倍率に切り替えられたかを判断する。この検出器はコントローラに通知し、次に、コントローラは適切な動作をとる。検出器は、対物レンズの変更が行われたか否かを適宜判断するのに役立つように、カメラ露出時間の制御を必要する。
【０１７６】
対物レンズ変更検出器は、自動的に、両方ともカメラ画像ストリームを処理するだけで、１）顕微鏡の対物レンズの切り替えを検出し、２）新しい対物レンズのズームレベルを特定することを目的とする。
【０１７７】
１）対物レンズ切り替え検出：カメラ画像が、対物レンズ変更検出モジュールをとおって固定レートで連続してストリーミングされことを前提とする。検出の原理は、カメラビューが一時的に、対物レンズの切り替える間に遮蔽されることに基づく。したがって、カメラ画像の急な暗化は、対物レンズ変更の指示である。
【０１７８】
対物レンズ変更検出方法が、図１８のフローチャートに提示される。遮蔽をチェックするために、方法は、１８０２において、各入力画像の平均画像ピクセル強度値を計算する。平均画像ピクセル強度が閾値を下回る場合、１８０４において、遮蔽が検出される。次に、１８０６において、システムは平均画像強度値が、連続フレーム数（例えば、１０フレーム）にわたり閾値を超えて上昇するのを待ち、それから、１８０８において、対物レンズ変更が完了したことを宣言する。
【０１７９】
低ズーム対物レンズを高ズーム対物レンズに切り替えられる場合、問題が生じる。高ズーム対物レンズは一般に、低ズームと比較してはるかに少ない光を通すため、画像は非常に暗いままである。その結果、モジュールは、対物レンズがまだ変更中であると誤って考える場合がある。改善措置は、１８０４において、アルゴリズムが「対物レンズ変更」状態に入るとき、カメラのシャッター時間を最大値にし、それにより、高ズーム対物レンズの場合に十分な光を検出できるようにすることである。
【０１８０】
２）対物レンズズーム検出：対物レンズ変更が特定されると、対物レンズズーム検出方法が続く。検出原理は、異なるズームの対物レンズが顕微鏡を通してカメラ内に異なる量の光を通すことに基づく。カメラシャッター時間も、同じ画像輝度を維持するために、異なる対物レンズと共に変更しなければならない。したがって、この方法は、カメラの自動露出アルゴリズムから得られる露出時間を使用して、使用される対物レンズを特定する。検出方法について以下に説明する。
【０１８１】
まず、顕微鏡の各対物レンズを較正して、その対物レンズのカメラ露出時間を見つけなければならない。対物レンズを較正するために、顕微鏡光は最大に設定され、全ての対物レンズ較正にわたり、且つ実際の使用中、一定のままでなければならない。白色画像を保証するために、顕微鏡に試料があるべきでもある。次に、カメラの自動露出アルゴリズムが実行されて、現在の対物レンズでの白色画像のシャッター時間を決定する。このシャッター時間は記録され、対物レンズに関連付けられる。この記録されたシャッター時間が、その対物レンズに適する最小シャッター時間であることに留意することが重要であり、その理由は、ビュー内に試料がないためである。ビュー内に試料がある場合、幾らかの光を遮り、自動露出時間をわずかに高くさせる。
【０１８２】
次に、システムが実行中であるとき、システムは対物レンズの変更を能動的にチェックする。対物レンズ変更が検出される場合、対物レンズズーム検出がまず、自動露出を実行する。結果としての露出時間は、各対物レンズの較正された露出時間と比較される。試料がビュー内にあり得、したがって、結果としての自動露出時間が、対物レンズの較正された露出時間よりもわずかに高いことが予期される。したがって、現在の露出時間よりも低く、且つ現在の露出時間に最も近い較正された露出時間を有する対物レンズが、使用されている対物レンズとして特定される。
【０１８３】
前の説明では、説明のため、実施形態の完全な理解を提供するために、多くの詳細が記載される。しかし、これらの特定の詳細が必要ではないことが当業者には明らかだろう。他の場合、周知の電気構造及び回路については、理解を曖昧にしないように、ブロック図の形態で示される。例えば、本明細書に記載される実施形態が、ソフトウェアルーチンとして実施されるか、ハードウェア回路として実施されるか、ファームウェアとして実施されるか、それともそれらの組み合わせで実施されるかについての特定の詳細は提供されない。
【０１８４】
本開示の実施形態は、機械可読媒体（コンピュータ可読媒体、プロセッサ可読媒体、又はコンピュータ可読プログラムコードが内部に具現されるコンピュータ使用可能媒体とも呼ばれる）に記憶されたコンピュータプログラム製品として表すことができる。機械可読媒体は、ディスケット、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、メモリ装置（揮発性又は不揮発性）、又は同様の記憶機構を含む磁気媒体、光学媒体、又は電気記憶媒体を含む任意の適する有形、非有形媒体であることができる。機械可読媒体は、様々な命令、コードシーケンス、構成情報、又は他のデータの集合を含むことができ、これらは、実行されると、プロセッサに本開示の一実施形態による方法のステップを実行させる。記載される実施態様を実施するために必要な他の命令及び動作を機械可読媒体に記憶することができることも当業者は理解するだろう。機械可読媒体に記憶される命令は、プロセッサ又は他の適する処理装置により実行することができ、回路とインタフェースして、記載されるタスクを実行することができる。
【０１８５】
本明細書に記載の特徴はまた、必ずしも本明細書に記載される特定の実施形態に限定されるわけではない。一実施形態例からの特徴は、可能な場合、他の実施形態例と結合し得る。
【０１８６】
上記の実施形態は単なる例示を意図される。本明細書に添付される特許請求の範囲によってのみ規定される範囲から逸脱せずに、当業者は特定の実施形態に対して変更、修正、及び変形を行うことができる。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物体の一連の画像フレームから前記物体のモザイク表現をレンダリングする方法において、
前記物体の現在の画像フレームを取得すること、
前の画像フレームの前の画像フレーム位置及び前記前の画像フレームからの前記現在の画像フレームの相対変位に基づいて、前記現在の画像フレームの現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、前記少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれの前記キーフレーム位置及び前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位に基づいて、前記現在の画像フレームの現在画像フレーム位置を特定すること、
前記現在画像フレーム位置の平均として、現在画像フレーム位置を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のそれぞれが閾値よりも大きいと判断される場合、前記現在の画像フレームを新しいキーフレームとして前記キーフレームデータベースに記憶すること、
前記現在画像フレーム位置を、前記新しいキーフレームに関連付けられた新しいキーフレーム位置として前記キーフレームデータベースに記憶すること、
前記現在の画像フレームをその現在画像フレーム位置にレンダリングするとともに、前記キーフレームデータベースからの前記キーフレームをそれぞれの関連付けられたキーフレーム位置にレンダリングして、前記物体の前記モザイク表現を得ること、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記新しいキーフレームを記憶することは、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位を記憶することを含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法において、
各キーフレーム位置の最適化に基づいて、前記複数のキーフレームの前記キーフレーム位置を調整して、前記キーフレーム位置の誤差を補正し、各キーフレームとその近傍キーフレームとの前記相対変位への１つ又は複数の制約を満たすことを更に含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、
前記検索エリア内での少なくとも１つの近傍キーフレームの識別に失敗するか、又は任意の近傍キーフレームへの前記現在の画像フレームの前記相対位置の特定に失敗する場合、前記方法は、
前記検索エリアを反復的に増大させて、少なくとも１つの近傍キーフレームを識別することを更に含むことを特徴とする方法。
【請求項５】
請求項４に記載の方法において、
前記検索エリアを反復的に増大させた後、少なくとも１つの近傍キーフレームの識別に失敗する場合、又は任意の近傍キーフレームへの前記現在の画像フレームの前記相対位置を特定することに失敗する場合、前記方法は、
前記現在画像フレーム位置を前記現在画像フレーム追跡位置であるものとして割り当てるか、又は前記現在画像フレーム追跡位置の特定に失敗する場合には前の画像フレーム位置であるものとして割り当てることを更に含むことを特徴とする方法。
【請求項６】
請求項１に記載の方法において、
特徴強度閾値を設定し、
前記特徴強度閾値を超える少なくとも１つの潜在的特徴を含む潜在的特徴リストを取得し、
前記潜在的特徴リストから、予め定義される近傍領域内で最大の特徴強度を有する特徴のみを選択することにより、前記一連の画像フレームのそれぞれにおいて前記特徴集合を識別すること
により、前記一連の画像のそれぞれにおいて特徴集合を識別することを更に含むことを特徴とする方法。
【請求項７】
請求項１に記載の方法において、
前記前の画像フレームからの前記現在の画像フレームの前記相対変位は、前記現在の画像フレーム及び前記前の画像フレーム内の少なくとも１つの特徴に基づいて、前記現在の画像フレームと前記前の画像フレームとを見当合わせすることにより特定されることを特徴とする方法。
【請求項８】
請求項１に記載の方法において、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位は、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれにおける前記少なくとも１つの特徴に基づいて、前記現在の画像フレームと前記少なくとも１つのキーフレームのそれぞれとを見当合わせすることにより特定されることを特徴とする方法。
【請求項９】
請求項８に記載の方法において、
前記現在の画像フレームと前記少なくとも１つの近傍キーフレームのそれぞれとを見当合わせすることは、
前記現在の画像フレームにおいて識別された特徴集合を、前記少なくとも１つの近傍キーフレームのそれぞれ内の対応する特徴集合と照合して、一致特徴対集合を取得すること、
前記一致特徴対集合から許容可能な一致特徴対を選択すること、及び
前記許容可能な一致特徴対の前記平均変位に基づいて、前記現在の画像フレームと前記少なくとも１つの近傍キーフレームのそれぞれとの相対変位を特定すること、
を含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、
識別される各特徴は、座標、Ｎ個の要素の記述子行ベクトルを含み、Ｎは整数であり、前記特徴集合を照合することは、
前記現在の画像フレームにおいて識別された前記特徴集合における各特徴の前記記述子行ベクトルと、前記少なくとも１つの近傍キーフレームのそれぞれの前記対応する特徴集合における各特徴の前記記述子行ベクトルとを比較すること、及び
前記現在の画像フレーム内の各特徴の、前記少なくとも１つの近傍キーフレームでの最良一致特徴を識別して、一致特徴対を形成することであって、前記最良一致特徴は、前記現在の画像フレーム内の前記特徴から最小記述子距離を有する、形成すること、
を含むことを特徴とする方法。
【請求項１１】
請求項９に記載の方法において、
各識別された各特徴は、座標、向きパラメータ、スケールパラメータ、及びＮ個の要素の記述子行ベクトルを含み、Ｎは整数であり、前記特徴集合を照合することは、
前記少なくとも１つの近傍キーフレームのそれぞれにおける対応する特徴集合から、前記現在の画像フレームにおいて識別された前記特徴集合の各特徴の一致候補集合を特定することであって、各一致候補は、前記現在の画像フレームにおける前記対応する特徴の向きパラメータ及びスケールパラメータと同様の向きパラメータ及びスケールパラメータを有する、特定すること、並びに
前記現在の画像フレーム内で識別される前記特徴集合の各特徴について、前記現在の画像フレーム内の前記特徴から最小記述子距離を有する前記一致候補集合からの一致候補に基づいて、前記少なくとも１つの近傍キーフレームにおける最良一致特徴を識別して、一致特徴対を形成すること、
を含むことを特徴とする方法。
【請求項１２】
請求項９に記載の方法において、
各一致特徴対のｘ座標及びｙ座標のそれぞれに基づいて、各一致特徴対の特徴変位を計算すること、
計算された特徴変位を２Ｄヒストグラムに蓄積すること、並びに
前記２Ｄヒストグラムに最も高い蓄積を有するビン及びその近傍ビンに蓄積された前記一致特徴対を、許容可能な一致特徴対として選択すること、
を更に含むことを特徴とする方法。
【請求項１３】
請求項９に記載の方法において、
前記一致特徴対集合から許容可能な一致特徴対を選択することが、
前記一致特徴対集合からの平均特徴変位を特定すること、
前記平均変位からの各一致特徴対の残余値を特定すること、
全ての一致特徴対の平均残余値を特定すること、及び
閾値残余値未満の残余値を有する前記一致特徴対を、許容可能な一致特徴対として選択すること、
を含むことを特徴とする方法。
【請求項１４】
請求項１に記載の方法において、
前記キーフレーム特徴をレンダリングすることは、
テクスチャアトラス集合を生成することであって、各テクスチャアトラスは、関連付けられた解像度を有し、前記関連する解像度でダウンサンプリングされた少なくとも１つのキーフレームを含む、生成すること、
前記レンダリングの表示エリア及び表示解像度を選択すること、
前記テクスチャアトラス集合から、前記表示解像度に最も近い解像度を有するテクスチャアトラスを選択し更新すること、並びに
関連付けられたキーフレーム位置が前記表示エリア内にある、前記テクスチャアトラスからの前記キーフレームをレンダリングすること、
を更に含むことを特徴とする方法。
【請求項１５】
請求項１４に記載の方法において、
前記テクスチャアトラスを更新することは、
前記キーフレームデータベースから、前記表示エリア内にあるが、前記テクスチャアトラスにはまだない関連付けられたキーフレーム位置を有するキーフレーム集合を識別すること、
前記テクスチャアトラスの前記関連付けられた解像度で前記キーフレーム集合をダウンサンプリングすること、及び
前記ダウンサンプリングされたキーフレーム集合を前記テクスチャアトラスに挿入すること、
を更に含むことを特徴とする方法。
【請求項１６】
請求項１に記載の方法において、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のうちの少なくとも１つが、前記閾値未満であると判断される場合、
相対変位が前記閾値未満である少なくとも１つの近傍キーフレームを識別すること、
前記現在の画像フレームと前記少なくとも１つの近傍キーフレームとの重複領域を特定して、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれでの対象領域を取得すること、
前記現在の画像フレームの前記対象領域が、画像鮮鋭度パラメータに基づいて、前記近傍キーフレームのうちの１つの前記対象領域よりも鮮鋭であると判断される場合、前記少なくとも１つの近傍キーフレームの前記対象領域を、前記現在の画像フレームの前記対象領域で置換すること、
を更に含むことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法において、
前記画像鮮鋭度パラメータが、前記現在の画像フレーム及び前記少なくとも１つの近傍キーフレームのそれぞれの前記対象領域の勾配画像から得られる勾配和であり、前記現在の画像フレームの前記対象領域が、前記現在の画像フレームの前記対象領域の前記勾配和が、前記近傍キーフレームのうちの１つの前記対象領域の前記勾配和よりも大きい場合、前記近傍キーフレームのうちの１つの前記対象領域よりも鮮鋭であると判断されることを特徴とする方法。
【請求項１８】
請求項１６に記載の方法において、
前記少なくとも１つの近傍キーフレームの前記対象領域を置換することは、前記少なくとも１つの近傍キーフレームの前記対象領域の内容を、前記現在の画像フレームの前記対象領域の内容で上書きすることを含むことを特徴とする方法。
【請求項１９】
請求項１６に記載の方法において、
前記現在の画像フレームの前記対象領域の境界における内容を、前記少なくとも１つの近傍キーフレームの内容とブレンドすることを更に含むことを特徴とする方法。
【請求項２０】
請求項１に記載の方法において、
関連付けられたキーフレーム位置に基づいて、前記キーフレームデータベース内の各キーフレームを複数のセルのうちの１つに割り当てること、及び
各キーフレームをタグ付けして、関連付けられたキーフレーム位置及び割り当てられた各セルをマッピングすること、
を更に含むことを特徴とする方法。
【請求項２１】
請求項２０に記載の方法において、
前記複数のセルはグリッドにおいて位置合わせされ、前記セルは二次元インデックスを使用してインデックス付けられることを特徴とする方法。
【請求項２２】
請求項２１に記載の方法において、
前記検索エリアは、少なくとも１つ又は複数のインデックス付きセルを含むことを特徴とする方法。
【請求項２３】
請求項１に記載の方法において、
前記物体の前記モザイク表現をレンダリングすることは、異なる倍率の対物レンズから得られるモザイク表現をレンダリングすることを含み、前記方法は、
各倍率の対物レンズに関連付けられた別個のキーフレームデータベースを保持すること、
各対物レンズの光心の相対変位に基づいて、各倍率の対物レンズから得られる前記モザイク表現を関連付けること、及び
前記関連付けられたモザイク表現に基づいて、前記物体の結合モザイク表現をレンダリングすること、
を更に含むことを特徴とする方法。
【請求項２４】
請求項１に記載の方法において、
前記現在の画像フレームを事前処理することを更に含み、前記事前処理は、視野にわたる照明のばらつきを補正する画像較正、カラースケールからグレースケールへの変換、ダウンサンプリング、特徴検出、又は勾配計算を含むことを特徴とする方法。
【請求項２５】
請求項１に記載の方法において、
前記キーフレームをレンダリングすることは、重複するキーフレームをブレンドすることを含むことを特徴とする方法。
【請求項２６】
請求項２５に記載の方法において、
重複するキーフレームをブレンドすることは、
キーフレームを分解して複数のバンドにすること、
前記複数のバンドをブレンドすること、及び
前記ブレンドされた複数のバンドを統合して、前記物体の前記モザイク表現を得ること、
を含むことを特徴とする方法。
【請求項２７】
請求項２６に記載の方法において、
キーフレームを分解することは空間周波数に基づくことを特徴とする方法。
【請求項２８】
請求項１に記載の方法において、
前記複数のキーフレームの利得と突き合わせて比較することにより、前記現在の画像フレームの利得を実質的に均一なレベルの輝度に調整することを更に含むことを特徴とする方法。
【請求項２９】
請求項１に記載の方法において、
閾値強度未満の平均画像ピクセル強度に基づいて、前記現在の画像フレームの遮蔽を検出すること、及び
続く画像フレームの露出時間の変化を検出して、画像フレームの取得に使用される対物レンズの変更を判断すること、
を更に含むことを特徴とする方法。
【請求項３０】
請求項１に記載の方法において、
前記一連の画像フレーム内の第１の画像フレームは、基準キーフレーム位置を有する基準キーフレームとして割り当てられることを特徴とする方法。
【請求項３１】
物体の現在の画像フレームを取得する画像取得モジュールと、
プロセッサと、
レンダラーと
を備え、前記プロセッサは、
前の画像フレームの前の画像フレーム位置及び前記前の画像フレームからの前記現在の画像フレームの相対変位に基づいて、前記現在の画像フレームの現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置に相対して画定される検索エリア内で少なくとも１つの近傍キーフレームを識別することであって、前記少なくとも１つの近傍キーフレームは、キーフレームデータベースに記憶された複数のキーフレームのうちの１つであり、各キーフレームは、関連付けられたキーフレーム位置を有する、識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれの関連付けられたキーフレームフレーム位置及び前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変異から、前記現在の画像フレームの現在画像フレーム位置を特定すること、
前記現在画像フレーム位置の平均として、現在の画像フレーム画像のフレーム位置を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位のそれぞれが閾値よりも大きいと判断される場合、前記現在の画像フレームを新しいキーフレームとして前記キーフレームデータベースに記憶すること、
前記現在画像フレーム位置を、前記新しいキーフレームに関連付けられた新しいキーフレーム位置として前記キーフレームデータベースに記憶することを行うように構成され、
前記レンダラーは、前記現在の画像フレームを現在画像フレーム位置にレンダリングするとともに、前記キーフレームデータベースからの前記キーフレームを、ディスプレイの、それぞれの関連付けられたキーフレーム位置にレンダリングして、前記物体の前記モザイク表現を表示する
ことを特徴とする画像システム。
【請求項３２】
請求項３１に記載の撮像システムにおいて、
入力装置又は前記プロセッサから入力を受信して、前記受信入力に応答して、前記画像取得モジュール又は前記レンダラーを制御するコントローラを更に備え、
前記画像取得モジュールは、
少なくとも１つの対物レンズを有する顕微鏡と、
前記物体の一連の画像フレームを取得するビデオカメラと、
を含むことを特徴とする撮像システム。
【請求項３３】
コンピュータにより実行されると、請求項１に記載の方法を実行するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを含むことを特徴とするコンピュータプログラム製品。
【請求項３４】
物体のモザイク表現をレンダリングする、前記物体の一連の画像フレームからキーフレームを生成する方法において、
前の画像フレームの既知の位置に相対する現在の画像フレームの変位に基づいて、現在画像フレーム追跡位置を特定すること、
前記現在画像フレーム追跡位置を囲んだ所定の検索エリア内の少なくとも１つの近傍キーフレームを識別すること、
前記少なくとも１つの近傍キーフレームのそれぞれの既知の各キーフレーム位置と、前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの相対変位とに基づいて、前記少なくとも１つの近傍キーフレームのそれぞれに相対する前記現在の画像フレームの現在位置を特定すること、
前記少なくとも１つの近傍キーフレームのそれぞれからの前記現在の画像フレームの前記相対変位が閾値を超える場合、前記現在の画像フレームを新しいキーフレームとして記憶すること、
を含むことを特徴とする方法。
【請求項３５】
第１の画像及び第２の画像を見当合わせする方法であって、
前記第１の画像内の特徴集合及び前記第２の画像内の対応する特徴集合を識別することであって、識別される各特徴は座標、向きパラメータ、スケールパラメータ、及びＮ個の要素の記述子行ベクトルを含み、Ｎは整数である、識別すること、
前記第２の画像フレーム内の前記対応する特徴集合からの前記第１の画像フレームの前記特徴集合内の各特徴の一致候補集合を特定することであって、各一致候補は、前記第１の画像フレーム内の前記対応する特徴の向きパラメータ及びスケールパラメータと同様の向きパラメータ及びスケールパラメータを有する、特定すること、
前記第１の画像の前記特徴集合内の各特徴について、前記一致候補集合から、前記第１の画像内の前記特徴から最小記述子距離を有する最良一致候補を特定して、一致特徴対を形成すること、
各一致特徴対の特徴変位を、それぞれのｘ座標及びｙ座標に基づいて計算すること、
前記計算された特徴変位を２Ｄヒストグラムに蓄積すること、
前記２Ｄヒストグラムにおいて最高の蓄積を有するビン及びその近傍ビンに蓄積される前記一致特徴対を選択すること、
前記選択された一致特徴対から平均特徴変位を特定すること、
前記平均特徴変位から、選択された各一致特徴対の残余値を特定すること、
選択されたすべての一致特徴対から平均残余値を特定すること、
許容可能な一致特徴対として、前記平均残余値の閾値係数未満の残余値を有する一致特徴対を保持すること、並びに
画像見当合わせのために、前記許容可能な一致特徴対の前記相対変位に基づいて、前記第１の画像と前記第２の画像との平均変位を特定すること、
を含むことを特徴とする方法。
【請求項３６】
カメラからの画像ストリームを処理するだけで、自動的に対物レンズの切り替えを検出し、切り替えられている前記対物レンズの倍率を識別する方法において、
平均画像ピクセル強度が閾値強度値を下回ることに基づいて、前記カメラ画像ストリームの現在の画像フレームでの遮蔽を検出することにより、対物レンズ切り替えの開始を識別すること、
前記平均画像ピクセル強度が、連続した数の画像フレームにわたって前記閾値強度値を超えるとの判断により、対物レンズ切り替えの終了を識別すること、
カメラ自動露出ルーチンを実行して、切り替え先の前記対物レンズの最適な露出時間を決定すること、
切り替え先の前記対物レンズの最適な露出時間を、前記カメラと共に使用される幾つかの対物レンズの予め較正された露出時間と比較することにより、切り替え先の前記対物レンズ及びその倍率を識別することであって、前記切り替え先の対物レンズは、前記最適な露出時間よりも低く、且つ前記最適な露出時間に最も近い予め較正される露出時間を有する、識別すること、
を含むことを特徴とする方法。
【国際調査報告】
2014529922.tif 000047
2014529922.tif 000048
2014529922.tif 000049
2014529922.tif 000050