(57)【要約】      （修正有）【課題】移動カメラにより、異なる時間に撮像された画像間のシーンの変化を検出する方法を提供する。【解決手段】移動カメラにより、異なる時間に撮像された画像間のシーンの変化を検出する方法４００は、移動カメラによって撮像された参照画像に基づく再構成モデルを用いて、移動カメラによって撮像されたクエリ画像に対応する画像を生成し４５０、クエリ画像と生成された画像とを比較することによってシーンの変化を検出する４６０。【選択図】図４
2020095707.tif 000002
【特許請求の範囲】
【請求項１】
移動カメラにより、異なる時間に撮像された画像間のシーンの変化を検出する方法であって、
前記移動カメラによって撮像された参照画像に基づく再構成モデルを用いて、前記移動カメラによって撮像されたクエリ画像に対応する画像を生成するステップと、
前記クエリ画像と前記生成された画像とを比較することによって前記シーンの変化を検出するステップと、
を有することを特徴とする方法。
【請求項２】
更に、
前記参照画像から前記再構成モデルをトレーニングするステップを有し、該ステップは、
前記参照画像における１以上のパッチバウンディングボックスを決定するステップと、
前記再構成モデルを用いて、前記参照画像における前記１以上のパッチバウンディングボックスについて予測パッチを計算するステップと、
前記参照画像の前記１以上のパッチバウンディングボックスおよび対応する予測パッチに基づいてトレーニング損失を計算するステップと、
前記トレーニング損失に基づいて再構成モデルを更新するステップと、を有することを特徴とする請求項１に記載の方法。
【請求項３】
前記予測パッチの計算、前記トレーニング損失の計算、および前記再構成モデルの更新は、トレーニングが収束するまで繰り返されることを特徴とする請求項２に記載の方法。
【請求項４】
前記再構成モデルのトレーニングにおいて、前記参照画像の前記１以上のパッチバウンディングボックスは、前記参照画像において検出されたキーポイントに基づいて決定されることを特徴とする請求項２に記載の方法。
【請求項５】
前記クエリ画像に対応する画像を生成するステップは、
前記クエリ画像における１以上のパッチバウンディングボックスを決定するステップと、
前記再構成モデルを用いて、前記クエリ画像の前記１以上のパッチバウンディングボックスのそれぞれについて予測パッチを計算するステップと、
前記クエリ画像の、前記１以上のパッチバウンディングボックスおよび対応する予測パッチに基づいて、前記予測パッチについて予測誤差を計算するステップと、
前記予測パッチおよび対応する予測誤差に基づいて、各画素位置で予測画素値を選択することによって前記クエリ画像を再構成するステップと、を有することを特徴とする請求項１に記載の方法。
【請求項６】
前記予測画素値は、
予測誤差が最も小さい予測パッチから予測されることを特徴とする請求項５に記載の方法。
【請求項７】
前記予測パッチの計算は、
前記参照画像の前記１以上のパッチバウンディングボックスのそれぞれを取り囲む環状領域から特徴を抽出し、前記抽出された特徴に基づいて計算されることを特徴とする請求項２に記載の方法。
【請求項８】
更に、
前記環状領域から前記特徴が抽出されるように、前記特徴を抽出する前に前記参照画像を前処理するステップを有することを特徴とする請求項７に記載の方法。
【請求項９】
前記予測パッチの計算は、
前記クエリ画像の前記１以上のパッチバウンディングボックスのそれぞれを取り囲む環状領域から抽出された特徴に基づいて計算されることを特徴とする請求項５に記載の方法。
【請求項１０】
更に、
前記環状領域から前記特徴が抽出されるように、前記特徴を抽出する前に前記クエリ画像を前処理するステップを有することを特徴とする請求項９に記載の方法。
【請求項１１】
前記参照画像は、異なる視点で前記シーンが撮像された複数の画像であることを特徴とする請求項１に記載の方法。
【請求項１２】
前記再構成モデルは、逆ガウスフィルタを備えることを特徴とする請求項１に記載の方法。
【請求項１３】
請求項１ないし請求項１２のうちいずれか１項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したコンピュータ可読な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は一般に画像処理に関し、特に、それぞれの移動カメラによって取り込まれたシーンの画像シーケンスを比較することによってシーンの変化を検出することに関する。また、本明細書は、移動カメラから取り込まれたシーンの画像シーケンスを比較することによってシーンの変化を検出するためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【０００２】
ショッピングセンター、駐車場、鉄道の駅などの公共の場は、ビデオカメラの大規模ネットワークを用いた監視をますます受けている。ビデオ監視のアプリケーション領域は、セキュリティ、安全性、交通管理、およびビジネス解析を含む。カメラネットワークによって生成される大量のビデオは、関心のあるオブジェクトおよびイベントを識別し、それらをユーザの注意に向けるために、「映像解析」として知られる自動化された方法を必要とする。「変化検出」として知られる映像解析における基本的なタスクは、シーンのどの部分が時間とともに変化したかを判定することである。追跡及び分類のような追加の解析は、典型的には変化したと判定されたシーンの部分に適用される。
【０００３】
固定カメラにおける変化検出のための方法が利用可能である。「背景差分」と呼ばれる１つの方法では、固定カメラによって見られるシーンの背景モデルがガウスモデルの混合に従って各画像位置における画素値の分布を推定することによって形成される。テストフレームが与えられると、各画素は画素値が背景モデルに従って高い尤度を有する場合に「背景」として分類され、そうではない場合には画素は「前景」としてラベル付けされる。前景画素は、移動物体を検出するために連結領域にクラスタ化される。この方法の欠点は、カメラが固定されたままでなければならないことであり、さもなければ、異なる画素位置における分布が一緒に混合され、背景から前景を分離するために使用され得ない。
【０００４】
広い地理的領域にわたるビデオ監視のために、固定されたビデオカメラのネットワークは、特に電力およびネットワークインフラストラクチャが制限されている遠隔地では実用的ではない。遠隔ビデオ監視のアプリケーションは、農業監視、重要なインフラストラクチャ監視、国境保護、探索および救助を含む。１つの方法では、監視カメラが固定経路に沿って鉄道軌道の周期的な巡回を行うエアボーン無人機に取り付けられる。上述したように、従来の背景差分方法は、カメラが絶えず動いているので、このシナリオでシーン変化を検出するために使用することができない。
【０００５】
移動カメラからの変化検出のための１つの方法は、例えば、同じ固定ルートに沿った無人機の異なるパトロール中に、異なる時間に移動カメラによって取り込まれたシーンの２つの画像シーケンスを比較することである。変化を検出するためにシーンの２つの画像シーケンスを比較する問題は、本開示全体を通して「ビデオ変化検出」と呼ばれる。さらに、第１の画像シーケンスは「参照」シーケンスと呼ばれ、第２の画像シーケンスは本開示全体を通して「クエリ」シーケンスと呼ばれる。
【０００６】
ビデオ変化の検出は、いくつかの理由で難しい。第１に、移動カメラからの各フレームはシーン全体の異なる部分を撮像しており、その結果、参照シーケンスからの所与のフレームは、クエリシーケンスからの所与のフレームと同じシーンの部分に対応しないことがある。第２に、カメラの移動軌跡、ひいてはカメラの視点は定位誤差および環境条件のために、２つのビデオの間で変化することがある。視点の変化は、「視差誤差」として知られ、シーンの変化として誤って検出される可能性がある、シーンの一部を他の部分に対してシフトさせる。最後に、参照シーケンスおよびクエリシーケンスは異なる環境条件で撮像され、観察される明るさ、影、および反射の変化を生成し、これらの変化はまた、シーン変化として誤って検出される可能性がある。
【０００７】
上記の課題は、参照シーケンスおよびクエリシーケンスの時間的および空間的位置合わせを決定することによって対処され得る。１つの方法では、時間的位置合わせは各フレームについて低次元特徴ベクトルを計算し、効率的な探索アルゴリズムを使用して特徴空間内の各クエリフレームについて最近傍参照フレームを見つけることによって決定される。一対の最近傍フレームが与えられると、画像パッチ間の局所ホモグラフィを推定することに基づいて画素対応を決定することによって、空間的位置合わせが実行される。最後に、位置合わせされた画素間の差を計算することによって、シーン変化が検出される。この方法の欠点は、シーンの変化を、参照ビデオとクエリビデオとの間の視点の変化によって引き起こされる視差誤差による変化と区別することができないことである。この方法の別の欠点は、時間的位置合わせの計算コストが参照シーケンスの長さに比例して増加することである。これは、境界保護またはガスパイプライン監視のような大規模な実用的なアプリケーションにとってかなりのコストになることがある。この方法のさらに別の欠点は、シーンの変化を、参照シーケンスおよびクエリシーケンスが異なる気象条件で撮像された場合に生じる照明、影、および反射による変化と区別することができないことである。
【０００８】
別の方法では、時間的および空間的位置合わせは、参照ビデオおよびクエリビデオの両方において所定の関心領域（ＲＯＩ）を追跡し、特定の視点に対応するキーフレームを、グローバルポジショニングシステム（ＧＰＳ）ロケーションなどの視点識別子に関連付けることによって確立される。参照シーケンスからのキーフレームは、低次元固有空間を学習するために使用される。対応する視点識別子を有する参照シーケンスおよびクエリシーケンスからのキーフレームが固有空間に投影され、投影された点間の距離が計算される。距離が閾値よりも大きい場合、シーンは変化したと判定される。この方法の欠点は、この方法が実質的に同じ視点から撮像されるべき参照シーケンスおよびクエリシーケンスを必要とすることである。実際には、ＧＰＳのような定位方法は数メートルまでの誤差を有するので、これを達成することは困難であり得る。別の欠点は、比較が元の画像ではなく固有空間で実行され、ＲＯＩ内の特定の変化を局所化しないことである。さらに別の欠点は、参照シーケンスおよびクエリシーケンスの両方において、所定のＲＯＩが追跡されることを必要とすることである。ＲＯＩの外側の変化は検出されない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、既存の構成の１つまたは複数の欠点を実質的に克服するか、または少なくとも改善することである。
【００１０】
参照ビデオシーケンスについてトレーニングされた画像パッチ予測器を使用してクエリ画像を再構成し、再構成されたクエリ画像と元のクエリ画像とを比較することによってシーン変化を検出することによって、上記の問題に対処しようとする、アライメントフリービデオ変化検出（ＡＶＣＤ）構成と呼ばれる構成が開示される。
【課題を解決するための手段】
【００１１】
本開示の一態様によれば、異なる時間におけるシーンを撮像している画像間のシーンの変化を検出する方法であって、該画像は参照画像およびクエリ画像を含み、該方法は、再構成モデルを使用してクエリ画像を再構成することと、再構成モデルは参照画像に基づいており、クエリ画像と再構成されたクエリ画像とを比較することによってシーンの変化を検出することと、を含む方法が提供される。
【図面の簡単な説明】
【００１２】
本発明の１つ以上の実施形態を、以下の図面を参照して説明する。
【図１Ａ】、
【図１Ｂ】図１Ａおよび図１Ｂは、ＡＶＣＤ構成が適用され得る、異なる時間にシーンの２つの画像シーケンスを撮像する移動カメラの一例を集合的に示す。
【図２Ａ】、
【図２Ｂ】図２Ａおよび図２Ｂは、説明したＡＶＣＤ構成を実施することができる汎用コンピュータシステムの概略ブロック図である。
【図３Ａ】、
【図３Ｂ】、
【図３Ｃ】、
【図３Ｄ】図３Ａ、図３Ｂ、図３Ｃ、および図３Ｄは、１つのＡＶＣＤ構成に従ってシーンの変化を検出する例を集合的に示す。
【図４】図４は、１つのＡＶＣＤ構成によるシーンの変化を検出する方法を示す概略的なフロー図である。
【図５】図５は、図４の方法で使用されるような参照画像のセットに基づいて再構成モデルをトレーニングするサブプロセスを示す概略フロー図である。
【図６】図６は、図５のサブプロセスに従ってキーポイントの周りに画像パッチを形成する例を示す。
【図７】図７は、図４の方法で使用されるようなトレーニングされた再構成モデルに基づいてクエリ画像を再構成するサブプロセスを示す概略フロー図である。
【図８】図８は、図７のサブプロセスで使用されるような画素位置で予測画素値を選択する例を示す。
【図９】図９は、図５および図７のサブプロセスで使用されるようなパッチを予測するサブプロセスを示す概略フロー図である。
【図１０】図１０は、図９の方法で使用されるような画像パッチの周りにドーナツ形状領域を形成する例を示す。
【発明を実施するための形態】
【００１３】
添付の図面のうちの任意の１つまたは複数において、同じ参照番号を有するステップおよび／または特徴を参照する場合、これらのステップおよび／または特徴は本説明の目的のために、反対の意図が現れない限り、同じ機能または動作を有する。
【００１４】
従来技術の構成に関する「背景」の節および上記の節に含まれる議論は、それぞれの公開および／または使用を通じて公知の知識を形成する文書または装置の議論に関することに留意されたい。そのような議論は、本発明者または特許出願人による表現として解釈されるべきではなく、そのような文書または装置はいかなる形でも、当技術分野における一般的な一般的知識の一部を形成する。
【００１５】
コンテキスト
図３の画像３１０のような画像は、視覚的要素から構成される。用語「画素」、「画素位置」、および「画像位置」は、本明細書全体を通して、撮像された画像内の視覚要素のうちの１つを指すために互換的に使用される。画像の各画素は、集合的に「画素値」と呼ばれる１つ以上の値によって記述され、画像内の撮像されたシーンの特性を特徴付ける。画素値は、単一の強度値（画素位置におけるシーンの輝度を特徴付ける）、値のトリプレット（画素位置におけるシーンの色を特徴付ける）等を含む。
【００１６】
図８のパッチ８２０のような画像内の「パッチ」、「画像パッチ」、または「領域」は、１つまたは複数の空間的に隣接する視覚要素の集合を指す。画像内の「キーポイント」は、明確な位置を有し、輝度変化または幾何学的変形などの局所摂動にもかかわらず高い再現性で検出することができる局所画像構造である。キーポイントの一例は「コーナー」であり、これは、複数の方向における画像勾配によって特徴付けられる局所画像構造である。キーポイントの別の例は「ブロブ」であり、これは、中央領域と周囲領域との間の高いコントラストによって特徴付けられる局所画像構造である。「バウンディングボックス」は、図３Ｂのバウンディングボックス３２２のような、画像内のパッチ、領域、キーポイント、またはオブジェクトを囲む直線境界を指す。「特徴」または「画像特徴」は、パッチ内の画素値から決定された導出値または導出値のセットを表す。特徴または画像特徴の例には、パッチ内の色値のヒストグラム、パッチ内の量子化画像勾配応答のヒストグラム、パッチに適用される人工ニューラルネットワークの特定の層における活性化のセットなどが含まれる。
【００１７】
本開示はシーンの変化を判定するために、異なる時間に撮像された参照画像シーケンスとクエリ画像シーケンスとを比較する方法を提供する。図１Ａおよび図１Ｂは、ＡＶＣＤ構成が適用され得る例示的なユースケースを示す。全体的な目標は、故障、環境上の脅威、セキュリティ上の脅威、またはその動作を妨害する可能性のある他の要因による変化について、ガスパイプライン１１０の近傍の領域を監視することである。この例では、クエリビデオおよび参照ビデオが、図１Ａに示すようにエアボーン無人機１３０に取り付けられたビデオカメラ１３５によって撮像される。一構成では、無人機１３０がＡＶＣＤ構成が適用され得るコンピュータシステムを搭載する。別の構成では、カメラ１３５によって撮像されたビデオが無線で転送されるか、またはＡＶＣＤ構成が適用され得るリモートコンピュータシステムにダウンロードされる。
【００１８】
参照ビデオを撮像するために、無人機１３０はパイプライン１１０の近くに配備され、パイプライン１１０の近くの領域１４０のビデオを記録しながら、所定のパス１２０に沿ってナビゲートする。その後、クエリビデオはパイプライン１１０の近傍の領域１４０のビデオを記録しながら、パス１２５（基準パス１２０に類似する）をたどるように無人機１３０を配備することによって撮像される。実際には、パス１２０およびパス１２５は、位置特定および飛行制御の不正確さのために、両方の配備中に無人機が同じウェイポイントを使用してナビゲートしても、同一である可能性は低い。したがって、参照ビデオおよびクエリビデオは、いくらか異なる視点からシーンを取り込む。
【００１９】
図１Ｂに示す例では、車両１５０が、参照ビデオを撮像した後かつクエリビデオを撮像する前の時間中に、パイプライン１１０の近傍の領域１４０に進入する。コンピュータシステムは、参照ビデオとクエリビデオとを比較し、車両の存在によるシーンの変化を検出し、適切な応答をトリガする。適切な応答の例には、シーン変化を分類するためにクエリビデオおよび参照ビデオに追加の解析を適用するコンピュータシステム、検出された変化に関する情報をユーザに送信するコンピュータシステムなどが含まれる。
【００２０】
この例示的なＡＶＣＤ構成は、ビデオ監視の分野内外の両方のアプリケーションの範囲に適用される。１つのアプリケーションでは、カメラがトラック又は列車のような地上車両に取り付けられ、道路又は列車線のような輸送インフラストラクチャの欠陥を監視するために使用される。別のアプリケーションでは、参照シーケンスがＣＴスキャンなどの医療撮像方法を使用して撮像された患者の健康な内部組織の画像を含み、クエリ画像は後に撮像された同じ内部組織を表す。ＡＶＣＤ構成は、健康上の危険性を示す組織の変化を検出するために適用される。さらに別のアプリケーションでは、参照シーケンスが製造プロセスの特定の時点中に撮像された集積回路の正しく製造されたバッチの画像を含む。ＡＶＣＤ構成は製造欠陥を検出するために、後のバッチのクエリ画像に適用される。
【００２１】
概要
参照画像シーケンスおよびクエリ画像を撮像するステップと、参照画像に基づいて再構成モデルをトレーニングするステップと、トレーニングされた再構成モデルを使用してクエリ画像を再構成するステップと、シーン変化を検出するためにクエリ画像と再構成されたクエリ画像とを比較するステップと、を含むＡＶＣＤ構成が開示される。開示されたＡＶＣＤ構成は、同一の視点から又は同一の環境条件の下でシーンを撮像するために、基準画像シーケンス及びクエリ画像を必要としない。さらに、開示されたＡＶＣＤ構成は、参照画像に対するクエリ画像の時間的または空間的な位置合わせを必要としない。これは、ＡＶＣＤ構成がクエリ画像と、既に互いに位置合わせされ且つ同じ視点および環境条件を有する再構成されたクエリ画像とを比較するためである。最後に、開示されたＡＶＣＤ構成は、参照シーケンスの長さとは無関係に、比較ステップおよび検出ステップのための固定された計算コストで実施することができる。
【００２２】
図３Ａ、図３Ｂ、図３Ｃ、および図３Ｄは、１つのＡＶＣＤ構成による、シーン変化を検出するために、参照画像シーケンスとクエリ画像とを比較する例をまとめて示す。参照画像は、再構成モデルをトレーニングするために集合的に使用される。
【００２３】
図３Ａは、基準画像シーケンスの単一画像フレーム３１０の一例を示し、単一画像フレーム３１０はパッチ３１２を含む。１つのＡＶＣＤ構成では、再構成モデルは、環状領域３１６内の画素から抽出された特徴に基づいてパッチ３１２内の画素値を予測するステップを含む。環状領域３１６は、パッチ３１２の境界と、より大きな同心パッチ３１５の境界と、によって境界付けられる。パッチ予測方法の例は、辞書学習モデル、人工ニューラルネットワーク（ディープニューラルネットワークともいう）等を含む。１つのＡＶＣＤ構成では、再構成モデルは複数の参照画像から抽出された複数のパッチを使用してトレーニングされる。
【００２４】
図３Ｂはクエリ画像３２０の一例を示し、図３Ａの参照画像３１０と同じシーンの部分を示す。参照画像３１０の撮像とクエリ画像３２０の撮像との間の時間の間に、車両３２７の登場に起因してシーンが変化した。
【００２５】
図３Ｃは、図３Ａの参照画像３１０を含む参照画像についてトレーニングされた再構成モデルを使用してクエリ画像３２０を処理することによって計算された、再構成されたクエリ画像３３０の一例を示す。再構成されたクエリ画像３３０内の画素値３３３は、画素３３３を含むパッチ３３２を予測することによって部分的に決定される。パッチ３３２は、クエリ画像３２０内の同じ位置にある対応するパッチ３２２と、クエリ画像３２０内のより大きな同心パッチ３２５と、の間の環状領域内の画素から抽出された特徴に基づいて予測される。再構成プロセスは、再構成されたクエリ画像３３０全体を決定するために、すべての画素位置に適用される。車両３２７は、車両３２７が現れない参照画像３１０についてトレーニングされた再構成モデルによっては予測することができないので、クエリ画像３２０内の車両３２７は、再構成されたクエリ画像３３０内に現れない。
【００２６】
図３［Ｄ］は、図３Ｃの再構成されたクエリ画像３３０と、図３Ｂのクエリ画像３２０と、を比較することによって決定される変化マスク３４０の一例を示す。１つのＡＶＣＤ構成では、変化マスク３４０内の画素位置３４３における値が、再構成されたクエリ画像３３０内の対応する画素位置３３３における値と、クエリ画像３２０内の対応する画素位置３２３と、の間の絶対差を計算し、閾値を適用することによって決定されるバイナリ値である。
【００２７】
図３Ｄの例では、再構成されたクエリ画像３３０の３３３の画素はクエリ画像３２０の３２３の画素と一致しないので、変化マスクの位置３４３の画素値にはバイナリ値１が割り当てられる。逆に、再構成されたクエリ画像３３０の３３４の画素はクエリ画像３２０の３２４の画素と一致するので、変化マスク３４０の３４４の画素にはバイナリ値０が割り当てられる。
【００２８】
構造的環境
図２Ａおよび図２Ｂは、説明した各種ＡＶＣＤ構成が実施可能な汎用コンピュータシステム２５０を示している。
【００２９】
図２Ａに見られるように、コンピュータシステム２５０は、コンピュータモジュール２０１と、キーボード２０２、マウスポインタデバイス２０３、スキャナ２２６、カメラ２６１および２６２のような１つまたは複数のカメラ、およびマイクロフォン２８０のような入力デバイスと、プリンタ２１５、ディスプレイデバイス２１４、およびスピーカ２１７を含む出力デバイスと、を含む。外部変調器−復調器（モデム）トランシーバデバイス２１６は、接続２２１を介して通信ネットワーク２２０を介して２６０のような遠隔カメラと通信するためにコンピュータモジュール２０１によって使用されてもよい。通信ネットワーク２２０は、インターネット、セルラ電気通信ネットワーク、またはプライベートＷＡＮなどのワイドエリアネットワーク（ＷＡＮ）とすることができる。接続２２１が電話回線である場合、モデム２１６は、従来の「ダイヤルアップ」モデムとすることができる。代替として、接続２２１が大容量（例えば、ケーブル）接続である場合、モデム２１６は、ブロードバンドモデムであり得る。無線モデムはまた、通信ネットワーク２２０への無線接続のために使用され得る。
【００３０】
コンピュータモジュール２０１は、典型的には少なくとも１つのプロセッサユニット２０５およびメモリユニット２０６を含む。例えば、メモリユニット２０６は、半導体RAM(random access memory)及び半導体ROM(read only memory)を有することができる。コンピュータモジュール２０１は、ビデオディスプレイ２１４、スピーカ２１７、およびマイクロフォン２８０に結合するオーディオビデオインターフェース２０７、キーボード２０２、マウス２０３、スキャナ２２６、カメラ２６１、およびオプションとしてジョイスティックまたは他のヒューマンインターフェースデバイス（図示せず）に結合するＩ／Ｏインターフェース２１３、ならびに外部モデム２１６およびプリンタ２１５のためのインターフェース２０８を含む、いくつかの入出力（Ｉ／Ｏ）インターフェースも含む。いくつかの実装形態では、モデム２１６がコンピュータモジュール２０１内、例えばインターフェース２０８内に組み込まれてもよい。コンピュータモジュール２０１はまた、ローカルエリアネットワーク（ＬＡＮ）として知られるローカルエリア通信ネットワーク２２２への接続２２３を介してコンピュータシステム２５０の結合を可能にするローカルネットワークインターフェース２１１を有する。図２Ａに示すように、ローカル通信ネットワーク２２２は、通常、いわゆる「ファイアウォール」デバイスまたは同様の機能の装置を含む接続２２４を介してワイドネットワーク２２０に結合することもできる。ローカルネットワークインターフェース２１１は、イーサネット（登録商標）回路カード、Ｂｌｕｅｔｏｏｔｈ（登録商標）ワイヤレス構成、またはＩＥＥＥ８０２．１１ワイヤレス構成を備えることができるが、インターフェース２１１については多数の他のタイプのインターフェースを実施することができる。
【００３１】
Ｉ／Ｏインターフェース２０８および２１３は、シリアルおよびパラレル接続性のいずれかまたは両方を提供することができ、前者は、典型的にはユニバーサルシリアルバス（ＵＳＢ）規格に従って実装され、対応するＵＳＢコネクタ（図示せず）を有する。記憶装置２０９が提供され、典型的にはハードディスクドライブ（ＨＤＤ）２１０を含む。フロッピー（登録商標）ディスクドライブおよび磁気テープドライブ（図示せず）などの他の記憶装置も使用することができる。光ディスクドライブ２１２は、典型的にはデータの不揮発性ソースとして働くように設けられる。例えば、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、Blu ray DiscTM)、ＵＳＢ−ＲＡＭ、ポータブル、外部ハードドライブ、およびフロッピー（登録商標）ディスクなどのポータブルメモリデバイスを、システム２５０へのデータの適切なソースとして使用することができる。
【００３２】
コンピュータモジュール２０１のコンポーネント２０５〜２１３は、典型的には相互接続されたバス２０４を介して、当業者に知られているコンピュータシステム２５０の従来の動作モードをもたらすように通信する。例えば、プロセッサ２０５は、接続２１８を使用してシステムバス２０４に結合される。同様に、メモリ２０６および光ディスクドライブ２１２は、接続２１９によってシステムバス２０４に結合される。説明した構成を実施することができるコンピュータの例には、ＩＢＭ−ＰＣおよび互換機、Sun Sparcstations、Apple MacTM、または同様のコンピュータシステムが含まれる。
【００３３】
ＡＶＣＤ方法は、コンピュータシステム２５０を使用して実施することができ、説明される図４、５、７、および９のプロセスは、コンピュータシステム２５０内で実行可能な１つまたは複数のＡＶＣＤソフトウェアアプリケーションプログラム２３３として実施することができる。具体的には、ＡＶＣＤ方法のステップがコンピュータシステム２５０内で実行されるソフトウェア２３３内の命令２３１（図２Ｂ）によって実行される。ソフトウェア命令２３１は、それぞれが１つまたは複数の特定のタスクを実行するための１つまたは複数のコードモジュールとして形成され得る。ソフトウェアはまた、２つの別個の部分に分割されてもよく、第１の部分および対応するコードモジュールがＡＶＣＤ方法を実行し、第２の部分および対応するコードモジュールが第１の部分とユーザとの間のユーザインターフェースを管理する。
【００３４】
ＡＶＣＤソフトウェアは例えば、以下に記載される記憶装置を含むコンピュータ可読媒体に記憶されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２５０にロードされ、次いで、コンピュータシステム２５０によって実行される。コンピュータ可読媒体に記録されたそのようなソフトウェアまたはコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２５０におけるコンピュータプログラム製品の使用は、好ましくは、ＡＶＣＤ方法を実施するための有利な装置をもたらす。
【００３５】
ソフトウェア２３３は、典型的にはＨＤＤ２１０またはメモリ２０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２５０にロードされ、コンピュータシステム２５０によって実行される。したがって、例えば、ソフトウェア２３３は、光ディスクドライブ２１２によって読み取られる光学的に読み取り可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）２２５に記憶されてもよい。そのようなソフトウェアまたはコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２５０におけるコンピュータプログラム製品の使用は、好ましくは、ＡＶＣＤ構成を実施するための装置をもたらす。
【００３６】
場合によっては、ＡＶＣＤアプリケーションプログラム２３３が１つまたは複数のＣＤ−ＲＯＭ２２５上で符号化されてユーザに供給され、対応するドライブ２１２を介して読み取られてもよく、あるいはユーザによってネットワーク２２０または２２２から読み取られてもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム２５０にロードすることもできる。コンピュータ可読記憶媒体は、実行および／または処理のために記録された命令および／またはデータをコンピュータシステム２５０に提供する任意の一時的でない有形の記憶媒体を指す。そのような記憶媒体の例には、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ray（登録商標）TM Disc、ハードディスクドライブ、ＲＯＭまたは集積回路、ＵＳＢメモリ、光磁気ディスク、またはＰＣＭＣＩＡカードなどのコンピュータ可読カードなどが含まれ、そのようなデバイスがコンピュータモジュール２０１の内部または外部であるかどうかにかかわらない。コンピュータモジュール２０１へのソフトウェア、アプリケーションプログラム、命令および／またはデータの提供にも関与し得る一時的または非有形のコンピュータ可読伝送媒体の例は、無線または赤外線伝送チャネル、ならびに別のコンピュータまたはネットワーク化されたデバイスへのネットワーク接続、ならびに電子メール伝送およびウェブサイトなどに記録された情報を含むインターネットまたはイントラネットを含む。
【００３７】
アプリケーションプログラム２３３の第２の部分および上述の対応するコードモジュールは、ディスプレイ２１４上にレンダリングまたは表現される１つまたは複数のグラフィカルユーザインターフェース（ＧＵＩ）を実装するために実行することができる。典型的にはキーボード２０２およびマウス２０３の操作を通じて、アプリケーションおよびコンピュータシステム２５０のユーザは、機能的に適応可能な方法でインターフェースを操作して、ＧＵＩに関連するアプリケーションに制御コマンドおよび／または入力を提供することができる。スピーカ２１７を介して出力されるスピーチプロンプトおよびマイクロフォン２８０を介して入力されるユーザ音声コマンドを利用するオーディオインターフェースなど、他の形態の機能的に適応可能なユーザインターフェースも実装され得る。
【００３８】
図２Ｂは、プロセッサ２０５および「メモリ」２３４の詳細な概略ブロック図である。メモリ２３４は、図２Ａのコンピュータモジュール２０１がアクセス可能な全てのメモリモジュール（ＨＤＤ２０９、半導体メモリ２０６を含む）の論理的な集合体を表す。
【００３９】
最初にコンピュータモジュール２０１の電源を入れると、パワーオン自己テスト（ＰＯＳＴ）プログラム２５０が実行される。ＰＯＳＴプログラム２５０は、典型的には図２Ａの半導体メモリ２０６のＲＯＭ２４９に格納される。ソフトウェアを格納するＲＯＭ２４９のようなハードウェアデバイスは、ファームウェアと呼ばれることがある。ＰＯＳＴプログラム２５０は、コンピュータモジュール２０１内のハードウェアを検査して、適切な機能を保証し、典型的には、プロセッサ２０５、メモリ２３４（２０９、２０６）、および、また典型的にはＲＯＭ２４９に格納されている基本入出力システムソフトウェア（ＢＩＯＳ）モジュール２５１を、正しい動作について検査する。ＰＯＳＴプログラム２５０が正常に実行されると、ＢＩＯＳ２５１は図２Ａのハードディスクドライブ２１０を起動する。ハードディスクドライブ２１０の起動により、ハードディスクドライブ２１０に常駐するブートストラップローダプログラム２５２が、プロセッサ２０５を介して実行される。これにより、オペレーティングシステム２５３がＲＡＭメモリ２０６にロードされ、その上でオペレーティングシステム２５３が動作を開始する。オペレーティングシステム２５３はプロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインターフェース、および汎用ユーザインターフェースを含む、様々な高レベル機能を実行するために、プロセッサ２０５によって実行可能なシステムレベルアプリケーションである。
【００４０】
オペレーティングシステム２５３は、メモリ２３４（２０９、２０６）を管理して、コンピュータモジュール２０１上で実行される各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するのに十分なメモリを有することを保証する。さらに、図２Ａのシステム２５０で利用可能な異なるタイプのメモリは、各プロセスが効果的に実行できるように、適切に使用されなければならない。したがって、集約メモリ２３４は、メモリの特定のセグメントがどのように割り振られるかを示すことを意図するものではなく（特に断らない限り）、コンピュータシステム２５０によってアクセス可能なメモリの一般的なビューおよびそのようなものがどのように使用されるかを提供することを意図するものである。
【００４１】
図２Ｂに示すように、プロセッサ２０５は、制御ユニット２３９、算術論理ユニット（ＡＬＵ）２４０、およびキャッシュメモリと呼ばれることもあるローカルまたは内部メモリ２４８を含むいくつかの機能モジュールを含む。キャッシュメモリ２４８は、典型的にはレジスタセクション内に多数の記憶レジスタ２４４〜２４６を含む。１つまたは複数の内部バス２４１は、これらの機能モジュールを機能的に相互接続する。プロセッサ２０５は、典型的には、接続２１８を使用してシステムバス２０４を介して外部装置と通信するための１つまたは複数のインターフェース２４２も有する。メモリ２３４は、接続２１９を使用してバス２０４に結合される。
【００４２】
ＡＶＣＤアプリケーションプログラム２３３は、条件分岐およびループ命令を含むことができる一連の命令２３１を含む。プログラム２３３はまた、プログラム２３３の実行に使用されるデータ２３２を含むことができる。命令２３１およびデータ２３２は、それぞれメモリ位置２２８、２２９、２３０および２３５、２３６、２３７に格納される。命令２３１とメモリ位置２２８〜２３０の相対的なサイズに応じて、メモリ位置２３０に示される命令によって示されるように、特定の命令が単一のメモリ位置に記憶されてもよい。あるいは、命令が、メモリ位置２２８および２２９に示される命令セグメントによって示されるように、各々が別個のメモリ位置に格納されるいくつかの部分にセグメント化されてもよい。
【００４３】
一般に、プロセッサ２０５には、そこで実行される命令のセットが与えられる。プロセッサ２０５は次の入力を待ち、プロセッサ２０５は、命令の別のセットを実行することによって、この入力に反応する。各入力は、入力デバイス２０２、２０３のうちの１つまたは複数によって生成されたデータ、ネットワーク２２０、２０２のうちの１つを介して外部ソースから受信されたデータ、記憶デバイス２０６、２０９のうちの１つから取り出されたデータ、または対応するリーダ２１２に挿入された記憶媒体２２５から取り出されたデータを含む、いくつかのソースのうちの１つまたは複数から提供することができ、すべて図２Ａに示されている。命令のセットの実行は、場合によってはデータの出力をもたらし得る。実行はまた、データまたは変数をメモリ２３４に格納することを含むことができる。
【００４４】
開示されたＡＶＣＤ構成は、メモリ２３４内の対応するメモリ位置２５５、２５６、２５７に格納されている入力変数群２５４を使用する。ＡＶＣＤ構成は、出力変数群２６１を生成し、これは、メモリ２３４内の対応するメモリ位置２６２、２６３、２６４に格納される。中間変数群２５８は、メモリ位置２５９、２６０、２６６、および２６７に格納され得る。
【００４５】
図２Ｂのプロセッサ２０５を参照すると、レジスタ２４４、２４５、２４６、算術論理ユニット（ＡＬＵ）２４０、および制御ユニット２３９は、プログラム２３３を構成する命令セット内のすべての命令に対して「フェッチ、デコード、および実行」サイクルを実行するのに必要なマイクロオペレーションのシーケンスを実行するために協働する。各フェッチ、デコード、および実行サイクルは、
・  メモリ位置２２８、２２９、２３０から命令２３１をフェッチするかまたは読み出すフェッチ動作
・  制御ユニット２３９が、どの命令がフェッチされたかを判定するデコード動作
・  制御ユニット２３９及び／又はＡＬＵ２４０が命令を実行する実行動作
を有する。
【００４６】
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルが実行され得る。同様に、制御ユニット２３９がメモリ位置２３２に値を保存または書き込む保存サイクルが実行される。
【００４７】
図４、図５、図７、および図８のプロセスにおける各ステップまたはサブプロセスは、プログラム２３３の１つまたは複数のセグメントに関連付けられ、レジスタセクション２４４、２４５、２４７、ＡＬＵ２４０、およびプロセッサ２０５内の制御ユニット２３９が協働して、プログラム２３３の注目セグメントのための命令セット内のすべての命令についてフェッチ、デコード、および実行サイクルを実行することによって実行される。
【００４８】
ＡＶＣＤ方法は代替的に、ＡＶＣＤ機能またはサブ機能を実行する１つまたは複数の集積回路などの専用ハードウェアで実装され得る。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、または１つ以上のマイクロプロセッサおよび関連するメモリを含み得、ビデオカメラなどのプラットフォーム上に存在し得る。
【００４９】
ＡＶＣＤ方法
図４は、１つのＡＶＣＤ構成による、参照画像シーケンスとクエリ画像とを比較することによってシーンの変化を検出する方法４００を示す。方法４００はハードディスクドライブ２１０に備えられ、プロセッサ２０５によってその実行が制御されるソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュールとして実施することができる。以下の説明は、方法４００の主要なステップについての詳細、例、および代替的な実装を提供する。サブプロセス４３０および４５０のさらなる詳細、例、および代替の実装は、それぞれ図５および図７を参照して後述される。
【００５０】
方法４００は第１の読み出しステップ４２０で開始し、ここで、１組の参照画像が入力として受信される。一例では、参照画像が、所定のパスに沿ってナビゲートする無人機に搭載された移動カメラによって撮像されたシーンを示す。この例では、カメラが動いている場合、参照画像は互いに異なる視点からシーンを取り込む。別の例では、参照画像が医療用撮像装置によって撮像され、患者の健康な組織を示す。
【００５１】
次いで、制御はステップ４２０から、参照画像に基づいて再構成モデルをトレーニングするトレーニングサブプロセス４３０へと移行する。再構成モデルは次に、再構成されたクエリ画像が参照画像内に存在したクエリ画像内のシーン構造の態様を含むように、クエリ画像の再構成されたクエリ画像を決定するために使用することができる。参照画像内に存在しなかったシーンの態様は、再構成されたクエリ画像内に表示されない。したがって、トレーニングプロセスの機能は、部分的には参照画像に表されるシーン構造を学習することである。サブプロセス４３０のさらなる詳細、例、および代替の実装は、図５を参照して後に説明される。
【００５２】
次いで、制御はサブプロセス４３０から、参照画像と同じシーンに対応するクエリ画像を受信する第２の受信ステップ４４０へ移行する。クエリ画像は、参照画像とは異なる時間に撮像される。１つのＡＶＣＤ構成では、撮像プロセスのために、クエリ画像は幾分異なる視点から参照画像と同じシーンを撮像する。一例では、クエリ画像は、参照画像シーケンスを撮像するために以前に使用されたパスと同様の所定のパスに沿ってナビゲートする無人機に搭載された移動カメラによって撮像されたシーンを示す。別の例では、クエリ画像は、同じ医療用撮像装置を使用して参照画像において以前に撮像された患者の組織を示す。
【００５３】
１つの構成では、ステップ４２０および４４０は、サブプロセス４３０の前に実施することができる。したがって、この構成では、ステップ４２０および４４０はサブプロセス４３０の前に実行される。サブプロセス４３０が完了すると、この構成における方法４００はステップ４５０に進む。
【００５４】
次いで、制御はステップ４４０から、ステップ４４０で受信されたクエリ画像およびサブプロセス４３０で参照画像についてトレーニングされた再構築モデルに基づいて再構築されたクエリ画像を決定する再構成サブプロセス４５０に移行する。再構成されたクエリ画像は、参照画像内に存在したクエリ画像内のシーン構造の態様を含む。参照画像の撮像とクエリ画像との間で変化したシーンの態様は再構成されない。ステップ４５０のさらなる詳細、例、および代替的な実装は、図７を参照して後述される。
【００５５】
次いで、制御はサブプロセス４５０から、ステップ４４０で受信されたクエリ画像およびサブプロセス４５０で決定された再構築されたクエリ画像に基づいてシーン変化を判定する検出ステップ４６０に移行する。１つのＡＶＣＤ構成では、図３［Ｂ］、３［Ｃ］および３［Ｄ］に示されるように、検出ステップ４６０は、サブプロセス４５０で決定された対応する再構成されたクエリ画像３３０とクエリ画像３２０とを比較することによって、変化マスク３４０を決定する。変化マスク３４０内の画素位置３４３における値は、再構成されたクエリ画像３３０内の対応する画素位置３３３における値と、クエリ画像３２０内の対応する画素位置３２３と、の間の絶対差を計算し、閾値を適用することによって決定されるバイナリ値である。しきい値を適用する例は、差が３０より大きい場合にはバイナリ値１を割り当て、そうではない場合には値０を割り当てることである。シーン内の変化は、非ゼロ値を含む変化マスク内の画素位置で発生したと判定される。
【００５６】
シーン変化を決定する前に変化マスクを後処理することを含むステップ４６０の実施形態は、ステップ４６０において同様に実行されてもよい。１つの代替ＡＶＣＤ構成では、形態学的フィルタリング動作のセットが、ノイズを除去するためにバイナリ変化マスクに適用される。形態学的フィルタリング動作の一例は、バイナリエロージョンである。形態学的フィルタ演算の別の例は、バイナリ拡張である。別の代替のＡＶＣＤ構成では、連結成分解析が別個の領域を識別するために変化マスクに適用される。さらに別の代替ＡＶＣＤ構成では、各検出されたオブジェクトの面積が決定され、固定面積閾値未満の面積を有する任意の領域がバイナリマスク内の対応する画素値をゼロに設定することによって破棄される。固定面積閾値の一例は、１０ｘ１０の正方形画素である。さらに別の代替ＡＶＣＤ構成では、検出された領域の追加の特徴が計算される。付加的な特徴の一例は重心である。付加的な特徴の別の例は、バウンディングボックスである。付加的な特徴のさらに別の例は、面積の二次モーメントである。ルールは、対応する領域が廃棄されるべきかどうかを決定するために追加の特徴に適用される。ルールの一例は、重心が画像内の関心領域（ＡＯＩ）の外側にある場合に領域を廃棄することである。ＡＯＩの一例は、ユーザによって画像内で指定され、ユーザが変化の検出を望む画像領域を示すバウンディングボックスである。
【００５７】
方法４００は、検出ステップ４６０を完了した後に終了する。
【００５８】
図５は、参照画像のシーケンスに基づいて再構成モデルをトレーニングするサブプロセス４３０を示す。サブプロセス４３０は、ここで、図６からの例示的な実施例を使用して説明される。サブプロセス４３０は、ハードディスクドライブ２１０に備えられ、プロセッサ２０５によってその実行において制御されるソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュールとして実装され得る。以下の説明は、サブプロセス４３０の主なステップの詳細、例、および代替的な実施を提供する。
【００５９】
サブプロセス４３０は、ステップ４２０で受信された参照画像の各々のキーポイントを検出する検出ステップ５３０で開始する。画像内の「キーポイント」は、明確な位置を有し、輝度変化または幾何学的変形などの局所摂動にもかかわらず高い再現性で検出することができる局所画像構造である。キーポイントの一例は「コーナー」であり、これは、複数の方向における画像勾配によって特徴付けられる局所画像構造である。キーポイントの別の例は「ブロブ」であり、これは、中央領域と周囲領域との間の高いコントラストによって特徴付けられる局所画像構造である。キーポイントは、コーナー検出方法、ブロブ検出方法等を用いて検出することができる。コーナー検出方法の例は、Ｈａｒｒｉｓコーナー検出器、ＦＡＳＴコーナー検出器、Ｓｈｉ−Ｔｏｍａｓｉコーナー検出器等を含む。ブロブ検出方法の例は、difference of Gaussians（ＤＯＧ）ブロブ検出器、maximally stable extremal regions（ＭＳＥＲ）検出器等を含む。
【００６０】
１つのＡＶＣＤ構成では、ステップ５３０で適用されるキーポイント検出器が、検出された各キーポイントに関連付けられた応答値を生成する。応答値は、キーポイント検出器に対するキーポイントの応答の強さを示す。キーポイント検出器は、画像全体に適用され、固定閾値未満の応答値を有するキーポイントが破棄される。固定閾値の一例は、ＤＯＧコーナー検出器の場合０．００１である。
【００６１】
別のＡＶＣＤ構成では、画像が固定サイズの重なり合わないセルの格子に分割され、各格子セルにおいて最も高い応答値を有する検出されたキーポイントが保持され、他のすべてのキーポイントは廃棄される。固定サイズの一例は１６×１６画素である。
【００６２】
次に、制御はステップ５３０から、参照画像の各々における１つまたは複数のパッチバウンディングボックスを判定する判定ステップ５３５に移行する。１つのＡＶＣＤ構成では、パッチバウンディングボックスは、ステップ５３０で検出された各キーポイントについて決定される。図６の例示的な実施例を参照すると、参照画像６００内のパッチバウンディングボックス６２０は、キーポイント６１０を中心とする固定サイズの正方形として決定される。したがって、上記の構成は、検出されたキーポイントに基づいてパッチバウンディングボックスを決定する。
【００６３】
別のＡＶＣＤ構成では、パッチバウンディングボックスは、画素位置を中心とする固定サイズの矩形として、参照画像内の全ての画素位置で決定される。さらに別のＡＶＣＤ構成では、ステップ５３５で、参照画像を固定サイズの正方形パッチの規則的なグリッドに分割することによって、重複しないパッチバウンディングボックスのセットが決定される。固定サイズの一例は１６×１６画素である。
【００６４】
次に、制御はステップ５３５から、再構成モデルを初期化する初期化ステップ５４０に移行する。１つのＡＶＣＤ構成では、再構成モデルは畳み込みディープニューラルネットワークであり、畳み込みディープニューラルネットワーク内の重みはランダムに初期化される。別のＡＶＣＤ構成では、ディープニューラルネットワーク内の重みは、異なるタスクで以前にトレーニングされたディープニューラルネットワークから重みを取り出すことによって部分的に初期化される。異なるタスクの一例は画像分類である。当業者は、ディープニューラルネットワークにおける重みを初期化するための他の方法がステップ５４０において同様に実行され得ることを認識する。
【００６５】
次いで、制御はステップ５４０から、再構成モデルを用いて、ステップ５３５で決定された各パッチについて予測されるパッチを計算する予測サブプロセス５５０に移行する。その結果、ステップ５５０の最初の実行で使用される再構成モデルは、ステップ５４０で初期化されたモデルである。ステップ５５０の後続の実行で使用される再構成モデルは、ステップ５７０で更新されたモデルである（以下で説明する）。
【００６６】
１つのＡＶＣＤ構成では、予測画像パッチが畳み込みディープニューラルネットワーク（すなわち、再構成モデル）を使用して参照画像を処理し、ステップ５３５で決定されたパッチバウンディングボックスに対応する畳み込みディープニューラルネットワークの出力層からアクティベーションを選択することによって決定される。サブプロセス５５０のさらなる詳細、例、および代替の実装は、図９の方法９００を参照して後に説明される。
【００６７】
次いで、制御はサブプロセス５５０から、ステップ５３５で決定されたパッチおよびサブプロセス５５０で決定された予測されるパッチに基づいてトレーニング損失を計算する計算ステップ５６０に移行する。１つのＡＶＣＤ構成では、二乗誤差損失として知られるトレーニング損失が（ステップ５３５で決定された）参照画像からのパッチ内の画素と（サブプロセス５５０で計算された）対応する予測されるパッチ内の同じ位置にある画素との間の二乗差の、すべてのパッチバウンディングボックス内のすべての画素にわたる和として計算される。
【００６８】
別のＡＶＣＤ構成では、バイナリクロスエントロピー損失として知られるトレーニング損失が、予測されるパッチ内の画素値と、参照画像からの対応するパッチ内の同じ位置における画素値の対数と、の積の、すべてのパッチバウンディングボックス内のすべての画素にわたる和の負数として計算される。当業者であれば、ステップ５６０において他のトレーニング損失も同様に計算できることを理解するであろう。
【００６９】
次に、制御はステップ５６０から、ステップ５６０で決定されたトレーニング損失に基づいて再構成モデルが更新される更新ステップ５７０に移行する。１つのＡＶＣＤ構成では、再構成モデルはディープニューラルネットワークであり、モデル内の重みは反復最適化アルゴリズムの１回の反復を適用することによって更新される。反復最適化アルゴリズムの一例は、バックプロパゲーションを使用して決定された損失関数の勾配に基づく確率的勾配降下法である。反復最適化アルゴリズムの別の例は、ＡｄａＧｒａｄである。当業者は、他の反復最適化アルゴリズムの１つの反復がステップ５６０において同様に計算され得ることを認識する。
【００７０】
次に、制御はステップ５７０から、トレーニングが収束して終了すべきかどうかを判定する判定ステップ５８０に移行する。１つのＡＶＣＤ構成では、トレーニング反復の数、すなわちステップ５５０、５６０、および５７０の反復の数が固定反復閾値を超える場合、トレーニングが収束したと判定される。固定反復閾値の一例は２５０反復である。
【００７１】
別のＡＶＣＤ構成では、ステップ５６０で決定されたトレーニング損失が固定損失閾値を下回る場合、トレーニングは収束したと判定される。バイナリクロスエントロピー損失に対する固定損失閾値の一例は０．６である。当業者は、他の収束基準がステップ５７０において同様に適用されてもよいことを認識するであろう。
【００７２】
トレーニングが収束していないと判定された場合（ＮＯ）、次に制御はステップ５８０から予測サブプロセス５５０に移行する。トレーニングが収束したと判定された場合（ＹＥＳ）、サブプロセス４３０は終了する。
【００７３】
当業者であれば、再構成モデルをトレーニングするためのサブプロセス４３０のバリエーションが同様に実施され得ることを認識するであろう。サブプロセス４３０の１つの代替実施形態では、ステップ４２０で受け取った参照画像の１つまたは複数のランダム化変換に基づいて追加の参照画像を作成することによって、トレーニングデータを増強する。ランダム化変換の例は、参照画像のランダム回転、参照画像のランダムスケーリング、参照画像の並進、参照画像に適用されるランダムガンマ補正などを含む。当業者は、他のランダム化変換が拡張されたトレーニングデータを生成するために同様に適用され得ることを認識する。
【００７４】
サブプロセス４３０の別の代替実施形態では、ステップ５４０が異なるランダム初期化を用いて再構成モデルの複数のインスタンスを初期化する。ステップ５５０、５６０、５７０および５８０のトレーニングプロセスは、再構成モデルの複数のインスタンスのそれぞれに独立して適用される。最後に、追加の選択ステップ（図５には示されていない）は、最も低いトレーニング損失を有する再構成モデルのインスタンスを選択し、再構成モデルの他のインスタンスを破棄する。
【００７５】
図７は、図５のサブプロセス４３０を使用してトレーニングされた再構成モデルに基づいてクエリ画像を再構成するサブプロセス４５０を示す。ここで、サブプロセス４５０について、図６および図８からの例示的な例を使用して説明する。サブプロセス４５０は、ハードディスクドライブ２１０に常駐し、プロセッサ２０５によってその実行が制御されるソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュールとして実装することができる。以下の説明は、方法７００の主なステップの詳細、例、および代替的な実施を提供する。
【００７６】
サブプロセス４５０は読み出しステップ７２０で開始し、クエリ画像（方法４００のステップ４４０で受信される）および再構成モデル（図５のサブプロセス４３０を使用してトレーニングされる）が、入力として受信される。
【００７７】
次いで、制御はステップ７２０から、ステップ７２０で受信されたクエリ画像上のパッチバウンディングボックスのセットを決定する決定ステップ７２５に移行する。パッチバウンディングボックスのセットは、１つまたは複数のパッチバウンディングボックスを含む。１つのＡＶＣＤ構成では、パッチバウンディングボックスがクエリ画像内のすべての画素位置で決定される。パッチバウンディングボックスは、図６に示すのと同様の方法で決定される。図６において、参照画像６００の画素位置６１０におけるパッチバウンディングボックス６２０は、画素位置６１０を中心とする固定サイズの正方形境界として決定される。固定サイズの一例は１６×１６画素である。
【００７８】
次いで、制御はステップ７２５から、図５のサブプロセス４３０を使用してトレーニングされた再構成モデルに基づいてステップ７２５で決定された各パッチバウンディングボックスに対応する予測されるパッチを計算する検出サブプロセス７３０に移行する。サブプロセス７３０は、図５のサブプロセス４３０のサブプロセス５５０と実施形態を共有する。サブプロセス７３０のさらなる詳細、例、および代替の実装は、図９の方法９００を参照して後に説明される。
【００７９】
次いで、制御はステップ７３０から、ステップ７３０で決定された各予測されるパッチの予測誤差を計算する計算ステップ７４０に移行する。１つのＡＶＣＤ構成では、予測誤差が、ステップ７２０で受信されたクエリ画像内のパッチとステップ７３０で決定された対応する予測されるパッチとの間の距離として計算される。１つのＡＶＣＤ構成では、計算された距離が、ステップ７２５および７３０からのパッチの対における対応する画素間の差の二乗にわたる和である。別のＡＶＣＤ構成では、計算された距離が、ステップ７２５および７３０からのパッチの対の間の正規化された相互相関である。当業者であれば、ステップ７４０において他の距離測定値を同様に計算できることを理解するであろう。
【００８０】
次いで、制御はステップ７４０から、ステップ７３０で予測されたパッチおよびステップ７４０で計算された予測誤差に基づき、各画素位置における画素値を選択することによってクエリ画像を再構成する選択ステップ７５０に移行する。図８は、再構成されたクエリ画像８００内の位置８１０における画素値を選択することを示す。１つのＡＶＣＤ構成では、画素値が単一のパッチ予測に基づいて選択される。一例では、予測されるパッチ８３０の中心画素が選択され、再構成されたクエリ画像８００内の位置８１０に格納される。
【００８１】
別のＡＶＣＤ構成では、画素値が複数の予測に基づいて選択される。第１に、バウンディングボックス内の画素位置８１０を含むすべての予測されるパッチのセット、例えばパッチ８２０および８３０が決定される。次に、ステップ７４０で決定された最小の予測誤差を有するパッチが、このセットから選択される。最後に、選択されたパッチによって位置８１０で予測された画素値は、再構成されたクエリ画像内の位置８１０に格納される。
【００８２】
当業者であれば、サブプロセス４５０について上述した実施形態の変形を同様に実施できることを理解するであろう。１つの代替ＡＶＣＤ構成では、画素８１０を含む複数のパッチが選択基準に基づいてステップ７５０で選択される。選択基準の一例は、ステップ７４０で決定された対応する予測誤差が固定閾値未満であることである。固定閾値の一例は０．１である。この構成では、選択されたパッチの機能が決定され、再構成されたクエリ画像内の位置８１０に格納される。機能の一例は、位置８１０での平均予測値である。機能の別の例は、位置８１０における中央値予測値である。別の代替ＡＶＣＤ構成では、ステップ７２５において、クエリ画像を固定サイズの正方形パッチの規則的なグリッドに分割することによって、重複しないパッチバウンディングボックスのセットが決定される。この構成では、ステップ７３０において、グリッド内の単一のパッチによって各画素位置が予測される。ステップ７５０では、再構成されたクエリ画像内の各位置における画素値が、対応する予測されるパッチから取得される。
【００８３】
サブプロセス４５０は、選択ステップ７５０を完了した後に終了する。
【００８４】
図９は、図５のサブプロセス４３０を使用してトレーニングされた再構成モデルに基づいてパッチを予測する方法９００を示す。方法９００は、図５に示されるサブプロセス５５０および図７に示されるサブプロセス７３０によって使用される。方法９００は、ここで、図１０からの例示的な例を使用して説明される。方法９００は、ハードディスクドライブ２１０に常駐し、プロセッサ２０５によってその実行が制御されるソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュールとして実施することができる。
【００８５】
方法９００は、読み出しステップ９２０で開始し、画像（サブプロセス４３０のための参照画像またはサブプロセス４５０のためのクエリ画像のいずれか）、図５のサブプロセス４３０を使用してトレーニングされた（または初期化された）再構成モデル、およびパッチバウンディングボックスのセット（ステップ５３５および７２５を参照）が、入力として受信される。
【００８６】
次に、制御はステップ９２０から、受信した画像に前処理を適用する前処理ステップ９３０に移行する。１つのＡＶＣＤ構成では、受信した画像内の画素値が、強度色空間、ＣＩＥＬＡＢ色空間などの特定の色空間に変換される。別のＡＶＣＤ構成では、受信された画像がクロッピングされ、２５６×２５６画素などの固定サイズにリサイズされる。さらに別のＡＶＣＤ構成では、画像が２画素の標準偏差を有するガウスぼかしフィルタなどのノイズ低減フィルタを使用してフィルタリングされる。さらに別のＡＶＣＤ構成では、前処理ステップ９３０が画像の前処理を実行しない。
【００８７】
次いで、制御はステップ９３０から、ステップ９２０で受信されたパッチバウンディングボックスおよび再構成モデルとステップ９３０で決定された前処理された画像とに基づいて各パッチを囲む環状領域から特徴を抽出する抽出ステップ９４０、に移行する。各パッチを取り囲む環状領域は、図３Ａに示されるように、パッチ３１２とパッチ３１５との間の領域３１６によって定義されるようにすることができる。
【００８８】
１つのＡＶＣＤ構成では、特徴抽出が、１つ以上の層が環形状の畳み込みフィルタを有する畳み込みディープニューラルネットワークとして実施される。図１０は、画像１０００に適用される正方形畳み込みフィルタ１０３０および環状畳み込みフィルタ１０１０の一例を示す。正方形畳み込みフィルタ１０３０の形状はバウンディングボックス１０３５によって定義され、正方形畳み込みフィルタは、バウンディングボックス１０３５内の陰影を付けた領域の非ゼロ重みのみを含む。環状の畳み込みフィルタ１０１０の形状は、外側のバウンディングボックス１００５と内側のバウンディングボックス１０２０とによって画定される。環状の畳み込みフィルタ１０１０は、外側のバウンディングボックス１００５と内側のバウンディングボックス１０２０との間の陰影を付けた領域の非ゼロ重みのみを含む。
【００８９】
特徴を抽出するために使用される畳み込みディープニューラルネットワークの一例では、入力層は単一チャネルのグレースケール画像である。次の層は、１のストライドと、正規化線形ユニット（ＲｅＬＵ）活性化と、を用いて適用される、３×３×１サイズの６４個の正方形畳み込みフィルタを有する。次の層は、１のカーネル拡張、１のストライド、およびＲｅＬＵ活性化を用いて適用される、３×３×６４サイズの６４個の正方形畳み込みフィルタを有する。次の層は、２×２サイズのプーリングカーネルと１のストライドを用いて最大プーリングを適用する。次の層は、２のカーネル拡張、１のストライド、およびＲｅＬＵ活性化を用いて適用される、３×３×６４サイズの１２８個の正方形畳み込みフィルタを有する。次の層は、２のカーネル拡張および１のストライドを用いて適用される、２×２サイズのプーリングカーネルで最大プーリングを適用する。次の層は、４のカーネル拡張、１のストライド、およびＲｅＬＵ活性化で適用される、３×３×１２８サイズの１９２個の正方形畳み込みフィルタを有する。次の層は、４のカーネル拡張および１のストライドを用いて適用される、２×２サイズのプーリングカーネルを用いて最大プーリングを適用する。次の層は、８のカーネル拡張、１のストライド、およびＲｅＬＵ活性化を用いて適用される、３×３×１９２サイズの３８４個の正方形畳み込みフィルタを有する。次の層は、８のカーネル拡張および１のストライドを用いて適用される、２×２サイズのプーリングカーネルを用いて最大プーリングを適用する。次の層は、１６のカーネル拡張、１のストライド、およびＲｅＬＵ活性化を用いて適用された、７×７の外側サイズ、３×３の内側サイズを有する７６８個の環形状の畳み込みフィルタを有する。方法９００のステップ９４０で抽出された特徴は、環状フィルタのアクティベーションである。すべての層における畳み込みフィルタは、ステップ９２０で受信された画像内のすべての位置について特徴が決定されるように、ゼロパディングを用いて適用される。
【００９０】
当業者であれば、上述した畳み込みディープニューラルネットワークの実施形態の変形も同様に実施できることを理解するであろう。一代替実施形態では、バッチ正規化が各畳み込み層間で適用される。別の代替実施形態では、ＲｅＬＵアクティベーションが異なるアクティベーション機能で置き換えられる。活性化関数の一例は、線形アクティベーションである。活性化関数の別の例は、Ｓｉｇｍｏｉｄアクティベーションである。別の代替実施形態では、最大プーリング層が異なるプーリング機能で置き換えられる。プーリング機能の一例は、平均プーリングである。別の代替実施形態では、環状フィルタが外側バウンディングボックスによって画定され、フィルタの中心で徐々にゼロに減少する重みを有する。一例では、フィルタ重みは、学習された重みと、バウンディングボックスを中心とする２次元逆ガウス関数と、の積である。逆ガウス関数は、１から固定標準偏差を有するガウス関数を引いたものとして定義される。固定標準偏差の一例は、外側バウンディングボックスの幅の１０分の１である。
【００９１】
次いで、制御はステップ９４０から、ステップ９４０で抽出された特徴に基づいて、ステップ９２０で受信された各パッチバウンディングボックスに対応する予測される画像パッチを計算する予測ステップ９５０に移行する。１つのＡＶＣＤ構成では、再構成モデルが畳み込みディープニューラルネットワークであり、予測ステップは特徴抽出ネットワークの出力に適用されるネットワーク層を使用して実施される。一例では、予測ネットワークが１×１×７６８サイズの２５６個の畳み込みフィルタの層を備える。畳み込みフィルタの出力は、有界活性化関数を用いて有界間隔にマッピングされる。有界活性化関数の一例は、出力を範囲［０，１］に制限するシグモイドアクティベーションである。最後に、予測されるパッチは、ステップ９２０で受信したパッチのサイズに従って出力アクティベーションを再整形することによって形成される。一例では、特定の位置での２５６個の出力アクティベーションがその位置での予測されるパッチに対応する１６×１６パッチに再成形される。当業者であれば、ステップ９５０において、他の固定フィルタサイズおよび活性化関数が、畳み込みディープニューラルネットワークにおいて同様に使用され得ることを認識するであろう。
【００９２】
方法９００は、予測ステップ９５０を完了した後に終了する。
【００９３】
サブプロセス４３０および４５０、ならびに方法９００の上記の説明は、畳み込みディープニューラルネットワーク再構成モデルに基づく例を実施形態に提供する。当業者は、サブプロセス４３０および４５０ならびに方法９００の代替実施形態において、他の機械学習モデルが再構成モデルとして同様に使用され得ることを認識するであろう。１つの代替ＡＶＣＤ構成では、再構成モデルが固定数のアトムを有する辞書を使用する辞書学習に基づく。固定数の一例は１０２４個のアトムである。サブプロセス４３０のステップ５４０の一実施形態では、辞書アトムはランダムに初期化される。サブプロセス４３０のステップ５４０の別の実施形態では、辞書アトムはＫ特異値分解（Ｋ−ＳＶＤ）を適用することによって初期化される。サブプロセス４３０のステップ５７０の一実施形態では、辞書が交互最小化アルゴリズム（alternating minimization algorithm）の１回の反復を適用することによって更新される。方法９００のステップ９４０の一実施形態では、ステップ９２０で受信したパッチバウンディングボックス内の画素値をベクトル化することによって、固定次元の特徴が計算される。固定次元の一例は２５６であり、１６×１６画素バウンディングボックス内のグレースケール画素値のベクトル化に対応する。方法９００のステップ９５０の一実施形態では、ステップ９４０で計算された特徴およびステップ９２０で受信された辞書アトムに基づいて辞書符号化を計算し、次いで、符号化係数と対応する辞書アトムとの積にわたる和を計算することによってパッチを再構成することによって、パッチが予測される。一例では、辞書符号化が最小角度回帰法（least angle regression method）を使用して決定される。
【図１Ａ】
2020095707.tif 000003
【図１Ｂ】
2020095707.tif 000004
【図２Ａ】
2020095707.tif 000005
【図２Ｂ】
2020095707.tif 000006
【図３Ａ】
2020095707.tif 000007
【図３Ｂ】
2020095707.tif 000008
【図３Ｃ】
2020095707.tif 000009
【図３Ｄ】
2020095707.tif 000010
【図４】
2020095707.tif 000011
【図５】
2020095707.tif 000012
【図６】
2020095707.tif 000013
【図７】
2020095707.tif 000014
【図８】
2020095707.tif 000015
【図９】
2020095707.tif 000016
【図１０】
2020095707.tif 000017