特許第6967056号(P6967056)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノン株式会社の特許一覧

特許6967056ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出
<>
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000002
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000003
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000004
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000005
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000006
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000007
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000008
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000009
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000010
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000011
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000012
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000013
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000014
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000015
  • 特許6967056-ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6967056
(24)【登録日】2021年10月26日
(45)【発行日】2021年11月17日
(54)【発明の名称】ディープブラインド画像領域予測を用いたアライメントフリービデオ変化検出
(51)【国際特許分類】
   G06T 7/20 20170101AFI20211108BHJP
   G06T 7/00 20170101ALI20211108BHJP
   H04N 7/18 20060101ALI20211108BHJP
【FI】
   G06T7/20 100
   G06T7/00 350B
   H04N7/18 K
【請求項の数】11
【全頁数】24
(21)【出願番号】特願2019-211687(P2019-211687)
(22)【出願日】2019年11月22日
(65)【公開番号】特開2020-95707(P2020-95707A)
(43)【公開日】2020年6月18日
【審査請求日】2019年11月22日
(31)【優先権主張番号】16/216,868
(32)【優先日】2018年12月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(72)【発明者】
【氏名】ジェフリー リチャード タイラー
【審査官】 秦野 孝一郎
(56)【参考文献】
【文献】 特開2018−97506(JP,A)
【文献】 特開2013−114510(JP,A)
【文献】 特開2001−266110(JP,A)
【文献】 特開平10−214328(JP,A)
【文献】 特表2009−538582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00−7/90
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
移動カメラにより、異なる時間に撮像された画像間のシーンの変化を検出する方法であって、
前記移動カメラによって撮像されたクエリ画像における1以上のパッチバウンディングボックスを決定するステップと、
前記移動カメラによって撮像された参照画像に基づく再構成モデルを用いて、前記クエリ画像の前記1以上のパッチバウンディングボックスのそれぞれについて予測パッチを計算するステップと、
前記クエリ画像の、前記1以上のパッチバウンディングボックスおよび対応する予測パッチに基づいて、前記予測パッチについて予測誤差を計算するステップと、
前記予測パッチおよび対応する予測誤差に基づいて、各画素位置で予測画素値を選択することによって前記クエリ画像を再構成するステップと、
前記クエリ画像と前記再構成されたクエリ画像とを比較することによって前記シーンの変化を検出するステップと、
を有することを特徴とする方法。
【請求項2】
更に、
前記参照画像から前記再構成モデルをトレーニングするステップを有し、該ステップは、
前記参照画像における1以上のパッチバウンディングボックスを決定するステップと、
前記再構成モデルを用いて、前記参照画像における前記1以上のパッチバウンディングボックスについて予測パッチを計算するステップと、
前記参照画像の前記1以上のパッチバウンディングボックスおよび対応する予測パッチに基づいてトレーニング損失を計算するステップと、
前記トレーニング損失に基づいて再構成モデルを更新するステップと、を有することを特徴とする請求項1に記載の方法。
【請求項3】
前記予測パッチの計算、前記トレーニング損失の計算、および前記再構成モデルの更新は、トレーニングが収束するまで繰り返されることを特徴とする請求項2に記載の方法。
【請求項4】
前記再構成モデルのトレーニングにおいて、前記参照画像の前記1以上のパッチバウンディングボックスは、前記参照画像において検出されたキーポイントに基づいて決定されることを特徴とする請求項2に記載の方法。
【請求項5】
前記予測画素値は、
予測誤差が最も小さい予測パッチから予測されることを特徴とする請求項に記載の方法。
【請求項6】
前記予測パッチの計算は、
前記参照画像の前記1以上のパッチバウンディングボックスのそれぞれを取り囲む環状領域から特徴を抽出し、前記抽出された特徴に基づいて計算されることを特徴とする請求項1ないし5のいずれか1項に記載の方法。
【請求項7】
更に、
前記環状領域から前記特徴が抽出されるように、前記特徴を抽出する前に前記参照画像を前処理するステップを有することを特徴とする請求項に記載の方法。
【請求項8】
前記参照画像は、異なる視点で前記シーンが撮像された複数の画像であることを特徴とする請求項1ないし7のいずれか1項に記載の方法。
【請求項9】
前記再構成モデルは、逆ガウスフィルタを備えることを特徴とする請求項1ないし8のいずれか1項に記載の方法。
【請求項10】
請求項1ないし請求項のうちいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項11】
請求項10に記載のプログラムを記憶したコンピュータ可読な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は一般に画像処理に関し、特に、それぞれの移動カメラによって取り込まれたシーンの画像シーケンスを比較することによってシーンの変化を検出することに関する。また、本明細書は、移動カメラから取り込まれたシーンの画像シーケンスを比較することによってシーンの変化を検出するためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【0002】
ショッピングセンター、駐車場、鉄道の駅などの公共の場は、ビデオカメラの大規模ネットワークを用いた監視をますます受けている。ビデオ監視のアプリケーション領域は、セキュリティ、安全性、交通管理、およびビジネス解析を含む。カメラネットワークによって生成される大量のビデオは、関心のあるオブジェクトおよびイベントを識別し、それらをユーザの注意に向けるために、「映像解析」として知られる自動化された方法を必要とする。「変化検出」として知られる映像解析における基本的なタスクは、シーンのどの部分が時間とともに変化したかを判定することである。追跡及び分類のような追加の解析は、典型的には変化したと判定されたシーンの部分に適用される。
【0003】
固定カメラにおける変化検出のための方法が利用可能である。「背景差分」と呼ばれる1つの方法では、固定カメラによって見られるシーンの背景モデルがガウスモデルの混合に従って各画像位置における画素値の分布を推定することによって形成される。テストフレームが与えられると、各画素は画素値が背景モデルに従って高い尤度を有する場合に「背景」として分類され、そうではない場合には画素は「前景」としてラベル付けされる。前景画素は、移動物体を検出するために連結領域にクラスタ化される。この方法の欠点は、カメラが固定されたままでなければならないことであり、さもなければ、異なる画素位置における分布が一緒に混合され、背景から前景を分離するために使用され得ない。
【0004】
広い地理的領域にわたるビデオ監視のために、固定されたビデオカメラのネットワークは、特に電力およびネットワークインフラストラクチャが制限されている遠隔地では実用的ではない。遠隔ビデオ監視のアプリケーションは、農業監視、重要なインフラストラクチャ監視、国境保護、探索および救助を含む。1つの方法では、監視カメラが固定経路に沿って鉄道軌道の周期的な巡回を行うエアボーン無人機に取り付けられる。上述したように、従来の背景差分方法は、カメラが絶えず動いているので、このシナリオでシーン変化を検出するために使用することができない。
【0005】
移動カメラからの変化検出のための1つの方法は、例えば、同じ固定ルートに沿った無人機の異なるパトロール中に、異なる時間に移動カメラによって取り込まれたシーンの2つの画像シーケンスを比較することである。変化を検出するためにシーンの2つの画像シーケンスを比較する問題は、本開示全体を通して「ビデオ変化検出」と呼ばれる。さらに、第1の画像シーケンスは「参照」シーケンスと呼ばれ、第2の画像シーケンスは本開示全体を通して「クエリ」シーケンスと呼ばれる。
【0006】
ビデオ変化の検出は、いくつかの理由で難しい。第1に、移動カメラからの各フレームはシーン全体の異なる部分を撮像しており、その結果、参照シーケンスからの所与のフレームは、クエリシーケンスからの所与のフレームと同じシーンの部分に対応しないことがある。第2に、カメラの移動軌跡、ひいてはカメラの視点は定位誤差および環境条件のために、2つのビデオの間で変化することがある。視点の変化は、「視差誤差」として知られ、シーンの変化として誤って検出される可能性がある、シーンの一部を他の部分に対してシフトさせる。最後に、参照シーケンスおよびクエリシーケンスは異なる環境条件で撮像され、観察される明るさ、影、および反射の変化を生成し、これらの変化はまた、シーン変化として誤って検出される可能性がある。
【0007】
上記の課題は、参照シーケンスおよびクエリシーケンスの時間的および空間的位置合わせを決定することによって対処され得る。1つの方法では、時間的位置合わせは各フレームについて低次元特徴ベクトルを計算し、効率的な探索アルゴリズムを使用して特徴空間内の各クエリフレームについて最近傍参照フレームを見つけることによって決定される。一対の最近傍フレームが与えられると、画像パッチ間の局所ホモグラフィを推定することに基づいて画素対応を決定することによって、空間的位置合わせが実行される。最後に、位置合わせされた画素間の差を計算することによって、シーン変化が検出される。この方法の欠点は、シーンの変化を、参照ビデオとクエリビデオとの間の視点の変化によって引き起こされる視差誤差による変化と区別することができないことである。この方法の別の欠点は、時間的位置合わせの計算コストが参照シーケンスの長さに比例して増加することである。これは、境界保護またはガスパイプライン監視のような大規模な実用的なアプリケーションにとってかなりのコストになることがある。この方法のさらに別の欠点は、シーンの変化を、参照シーケンスおよびクエリシーケンスが異なる気象条件で撮像された場合に生じる照明、影、および反射による変化と区別することができないことである。
【0008】
別の方法では、時間的および空間的位置合わせは、参照ビデオおよびクエリビデオの両方において所定の関心領域(ROI)を追跡し、特定の視点に対応するキーフレームを、グローバルポジショニングシステム(GPS)ロケーションなどの視点識別子に関連付けることによって確立される。参照シーケンスからのキーフレームは、低次元固有空間を学習するために使用される。対応する視点識別子を有する参照シーケンスおよびクエリシーケンスからのキーフレームが固有空間に投影され、投影された点間の距離が計算される。距離が閾値よりも大きい場合、シーンは変化したと判定される。この方法の欠点は、この方法が実質的に同じ視点から撮像されるべき参照シーケンスおよびクエリシーケンスを必要とすることである。実際には、GPSのような定位方法は数メートルまでの誤差を有するので、これを達成することは困難であり得る。別の欠点は、比較が元の画像ではなく固有空間で実行され、ROI内の特定の変化を局所化しないことである。さらに別の欠点は、参照シーケンスおよびクエリシーケンスの両方において、所定のROIが追跡されることを必要とすることである。ROIの外側の変化は検出されない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、既存の構成の1つまたは複数の欠点を実質的に克服するか、または少なくとも改善することである。
【0010】
参照ビデオシーケンスについてトレーニングされた画像パッチ予測器を使用してクエリ画像を再構成し、再構成されたクエリ画像と元のクエリ画像とを比較することによってシーン変化を検出することによって、上記の問題に対処しようとする、アライメントフリービデオ変化検出(AVCD)構成と呼ばれる構成が開示される。
【課題を解決するための手段】
【0011】
本開示の一態様によれば、移動カメラにより、異なる時間に撮像された画像間のシーンの変化を検出する方法であって、
前記移動カメラによって撮像されたクエリ画像における1以上のパッチバウンディングボックスを決定するステップと、
前記移動カメラによって撮像された参照画像に基づく再構成モデルを用いて、前記クエリ画像の前記1以上のパッチバウンディングボックスのそれぞれについて予測パッチを計算するステップと、
前記クエリ画像の、前記1以上のパッチバウンディングボックスおよび対応する予測パッチに基づいて、前記予測パッチについて予測誤差を計算するステップと、
前記予測パッチおよび対応する予測誤差に基づいて、各画素位置で予測画素値を選択することによって前記クエリ画像を再構成するステップと、
前記クエリ画像と前記再構成されたクエリ画像とを比較することによって前記シーンの変化を検出するステップと、
を有することを特徴とする方法が提供される。
【図面の簡単な説明】
【0012】
本発明の1つ以上の実施形態を、以下の図面を参照して説明する。
図1A】、
図1B図1Aおよび図1Bは、AVCD構成が適用され得る、異なる時間にシーンの2つの画像シーケンスを撮像する移動カメラの一例を集合的に示す。
図2A】、
図2B図2Aおよび図2Bは、説明したAVCD構成を実施することができる汎用コンピュータシステムの概略ブロック図である。
図3A】、
図3B】、
図3C】、
図3D図3A図3B図3C、および図3Dは、1つのAVCD構成に従ってシーンの変化を検出する例を集合的に示す。
図4図4は、1つのAVCD構成によるシーンの変化を検出する方法を示す概略的なフロー図である。
図5図5は、図4の方法で使用されるような参照画像のセットに基づいて再構成モデルをトレーニングするサブプロセスを示す概略フロー図である。
図6図6は、図5のサブプロセスに従ってキーポイントの周りに画像パッチを形成する例を示す。
図7図7は、図4の方法で使用されるようなトレーニングされた再構成モデルに基づいてクエリ画像を再構成するサブプロセスを示す概略フロー図である。
図8図8は、図7のサブプロセスで使用されるような画素位置で予測画素値を選択する例を示す。
図9図9は、図5および図7のサブプロセスで使用されるようなパッチを予測するサブプロセスを示す概略フロー図である。
図10図10は、図9の方法で使用されるような画像パッチの周りにドーナツ形状領域を形成する例を示す。
【発明を実施するための形態】
【0013】
添付の図面のうちの任意の1つまたは複数において、同じ参照番号を有するステップおよび/または特徴を参照する場合、これらのステップおよび/または特徴は本説明の目的のために、反対の意図が現れない限り、同じ機能または動作を有する。
【0014】
従来技術の構成に関する「背景」の節および上記の節に含まれる議論は、それぞれの公開および/または使用を通じて公知の知識を形成する文書または装置の議論に関することに留意されたい。そのような議論は、本発明者または特許出願人による表現として解釈されるべきではなく、そのような文書または装置はいかなる形でも、当技術分野における一般的な一般的知識の一部を形成する。
【0015】
コンテキスト
図3の画像310のような画像は、視覚的要素から構成される。用語「画素」、「画素位置」、および「画像位置」は、本明細書全体を通して、撮像された画像内の視覚要素のうちの1つを指すために互換的に使用される。画像の各画素は、集合的に「画素値」と呼ばれる1つ以上の値によって記述され、画像内の撮像されたシーンの特性を特徴付ける。画素値は、単一の強度値(画素位置におけるシーンの輝度を特徴付ける)、値のトリプレット(画素位置におけるシーンの色を特徴付ける)等を含む。
【0016】
図8のパッチ820のような画像内の「パッチ」、「画像パッチ」、または「領域」は、1つまたは複数の空間的に隣接する視覚要素の集合を指す。画像内の「キーポイント」は、明確な位置を有し、輝度変化または幾何学的変形などの局所摂動にもかかわらず高い再現性で検出することができる局所画像構造である。キーポイントの一例は「コーナー」であり、これは、複数の方向における画像勾配によって特徴付けられる局所画像構造である。キーポイントの別の例は「ブロブ」であり、これは、中央領域と周囲領域との間の高いコントラストによって特徴付けられる局所画像構造である。「バウンディングボックス」は、図3Bのバウンディングボックス322のような、画像内のパッチ、領域、キーポイント、またはオブジェクトを囲む直線境界を指す。「特徴」または「画像特徴」は、パッチ内の画素値から決定された導出値または導出値のセットを表す。特徴または画像特徴の例には、パッチ内の色値のヒストグラム、パッチ内の量子化画像勾配応答のヒストグラム、パッチに適用される人工ニューラルネットワークの特定の層における活性化のセットなどが含まれる。
【0017】
本開示はシーンの変化を判定するために、異なる時間に撮像された参照画像シーケンスとクエリ画像シーケンスとを比較する方法を提供する。図1Aおよび図1Bは、AVCD構成が適用され得る例示的なユースケースを示す。全体的な目標は、故障、環境上の脅威、セキュリティ上の脅威、またはその動作を妨害する可能性のある他の要因による変化について、ガスパイプライン110の近傍の領域を監視することである。この例では、クエリビデオおよび参照ビデオが、図1Aに示すようにエアボーン無人機130に取り付けられたビデオカメラ135によって撮像される。一構成では、無人機130がAVCD構成が適用され得るコンピュータシステムを搭載する。別の構成では、カメラ135によって撮像されたビデオが無線で転送されるか、またはAVCD構成が適用され得るリモートコンピュータシステムにダウンロードされる。
【0018】
参照ビデオを撮像するために、無人機130はパイプライン110の近くに配備され、パイプライン110の近くの領域140のビデオを記録しながら、所定のパス120に沿ってナビゲートする。その後、クエリビデオはパイプライン110の近傍の領域140のビデオを記録しながら、パス125(基準パス120に類似する)をたどるように無人機130を配備することによって撮像される。実際には、パス120およびパス125は、位置特定および飛行制御の不正確さのために、両方の配備中に無人機が同じウェイポイントを使用してナビゲートしても、同一である可能性は低い。したがって、参照ビデオおよびクエリビデオは、いくらか異なる視点からシーンを取り込む。
【0019】
図1Bに示す例では、車両150が、参照ビデオを撮像した後かつクエリビデオを撮像する前の時間中に、パイプライン110の近傍の領域140に進入する。コンピュータシステムは、参照ビデオとクエリビデオとを比較し、車両の存在によるシーンの変化を検出し、適切な応答をトリガする。適切な応答の例には、シーン変化を分類するためにクエリビデオおよび参照ビデオに追加の解析を適用するコンピュータシステム、検出された変化に関する情報をユーザに送信するコンピュータシステムなどが含まれる。
【0020】
この例示的なAVCD構成は、ビデオ監視の分野内外の両方のアプリケーションの範囲に適用される。1つのアプリケーションでは、カメラがトラック又は列車のような地上車両に取り付けられ、道路又は列車線のような輸送インフラストラクチャの欠陥を監視するために使用される。別のアプリケーションでは、参照シーケンスがCTスキャンなどの医療撮像方法を使用して撮像された患者の健康な内部組織の画像を含み、クエリ画像は後に撮像された同じ内部組織を表す。AVCD構成は、健康上の危険性を示す組織の変化を検出するために適用される。さらに別のアプリケーションでは、参照シーケンスが製造プロセスの特定の時点中に撮像された集積回路の正しく製造されたバッチの画像を含む。AVCD構成は製造欠陥を検出するために、後のバッチのクエリ画像に適用される。
【0021】
概要
参照画像シーケンスおよびクエリ画像を撮像するステップと、参照画像に基づいて再構成モデルをトレーニングするステップと、トレーニングされた再構成モデルを使用してクエリ画像を再構成するステップと、シーン変化を検出するためにクエリ画像と再構成されたクエリ画像とを比較するステップと、を含むAVCD構成が開示される。開示されたAVCD構成は、同一の視点から又は同一の環境条件の下でシーンを撮像するために、基準画像シーケンス及びクエリ画像を必要としない。さらに、開示されたAVCD構成は、参照画像に対するクエリ画像の時間的または空間的な位置合わせを必要としない。これは、AVCD構成がクエリ画像と、既に互いに位置合わせされ且つ同じ視点および環境条件を有する再構成されたクエリ画像とを比較するためである。最後に、開示されたAVCD構成は、参照シーケンスの長さとは無関係に、比較ステップおよび検出ステップのための固定された計算コストで実施することができる。
【0022】
図3A図3B図3C、および図3Dは、1つのAVCD構成による、シーン変化を検出するために、参照画像シーケンスとクエリ画像とを比較する例をまとめて示す。参照画像は、再構成モデルをトレーニングするために集合的に使用される。
【0023】
図3Aは、基準画像シーケンスの単一画像フレーム310の一例を示し、単一画像フレーム310はパッチ312を含む。1つのAVCD構成では、再構成モデルは、環状領域316内の画素から抽出された特徴に基づいてパッチ312内の画素値を予測するステップを含む。環状領域316は、パッチ312の境界と、より大きな同心パッチ315の境界と、によって境界付けられる。パッチ予測方法の例は、辞書学習モデル、人工ニューラルネットワーク(ディープニューラルネットワークともいう)等を含む。1つのAVCD構成では、再構成モデルは複数の参照画像から抽出された複数のパッチを使用してトレーニングされる。
【0024】
図3Bはクエリ画像320の一例を示し、図3Aの参照画像310と同じシーンの部分を示す。参照画像310の撮像とクエリ画像320の撮像との間の時間の間に、車両327の登場に起因してシーンが変化した。
【0025】
図3Cは、図3Aの参照画像310を含む参照画像についてトレーニングされた再構成モデルを使用してクエリ画像320を処理することによって計算された、再構成されたクエリ画像330の一例を示す。再構成されたクエリ画像330内の画素値333は、画素333を含むパッチ332を予測することによって部分的に決定される。パッチ332は、クエリ画像320内の同じ位置にある対応するパッチ322と、クエリ画像320内のより大きな同心パッチ325と、の間の環状領域内の画素から抽出された特徴に基づいて予測される。再構成プロセスは、再構成されたクエリ画像330全体を決定するために、すべての画素位置に適用される。車両327は、車両327が現れない参照画像310についてトレーニングされた再構成モデルによっては予測することができないので、クエリ画像320内の車両327は、再構成されたクエリ画像330内に現れない。
【0026】
図3[D]は、図3Cの再構成されたクエリ画像330と、図3Bのクエリ画像320と、を比較することによって決定される変化マスク340の一例を示す。1つのAVCD構成では、変化マスク340内の画素位置343における値が、再構成されたクエリ画像330内の対応する画素位置333における値と、クエリ画像320内の対応する画素位置323と、の間の絶対差を計算し、閾値を適用することによって決定されるバイナリ値である。
【0027】
図3Dの例では、再構成されたクエリ画像330の333の画素はクエリ画像320の323の画素と一致しないので、変化マスクの位置343の画素値にはバイナリ値1が割り当てられる。逆に、再構成されたクエリ画像330の334の画素はクエリ画像320の324の画素と一致するので、変化マスク340の344の画素にはバイナリ値0が割り当てられる。
【0028】
構造的環境
図2Aおよび図2Bは、説明した各種AVCD構成が実施可能な汎用コンピュータシステム250を示している。
【0029】
図2Aに見られるように、コンピュータシステム250は、コンピュータモジュール201と、キーボード202、マウスポインタデバイス203、スキャナ226、カメラ261および262のような1つまたは複数のカメラ、およびマイクロフォン280のような入力デバイスと、プリンタ215、ディスプレイデバイス214、およびスピーカ217を含む出力デバイスと、を含む。外部変調器−復調器(モデム)トランシーバデバイス216は、接続221を介して通信ネットワーク220を介して260のような遠隔カメラと通信するためにコンピュータモジュール201によって使用されてもよい。通信ネットワーク220は、インターネット、セルラ電気通信ネットワーク、またはプライベートWANなどのワイドエリアネットワーク(WAN)とすることができる。接続221が電話回線である場合、モデム216は、従来の「ダイヤルアップ」モデムとすることができる。代替として、接続221が大容量(例えば、ケーブル)接続である場合、モデム216は、ブロードバンドモデムであり得る。無線モデムはまた、通信ネットワーク220への無線接続のために使用され得る。
【0030】
コンピュータモジュール201は、典型的には少なくとも1つのプロセッサユニット205およびメモリユニット206を含む。例えば、メモリユニット206は、半導体RAM(random access memory)及び半導体ROM(read only memory)を有することができる。コンピュータモジュール201は、ビデオディスプレイ214、スピーカ217、およびマイクロフォン280に結合するオーディオビデオインターフェース207、キーボード202、マウス203、スキャナ226、カメラ261、およびオプションとしてジョイスティックまたは他のヒューマンインターフェースデバイス(図示せず)に結合するI/Oインターフェース213、ならびに外部モデム216およびプリンタ215のためのインターフェース208を含む、いくつかの入出力(I/O)インターフェースも含む。いくつかの実装形態では、モデム216がコンピュータモジュール201内、例えばインターフェース208内に組み込まれてもよい。コンピュータモジュール201はまた、ローカルエリアネットワーク(LAN)として知られるローカルエリア通信ネットワーク222への接続223を介してコンピュータシステム250の結合を可能にするローカルネットワークインターフェース211を有する。図2Aに示すように、ローカル通信ネットワーク222は、通常、いわゆる「ファイアウォール」デバイスまたは同様の機能の装置を含む接続224を介してワイドネットワーク220に結合することもできる。ローカルネットワークインターフェース211は、イーサネット(登録商標)回路カード、Bluetooth(登録商標)ワイヤレス構成、またはIEEE802.11ワイヤレス構成を備えることができるが、インターフェース211については多数の他のタイプのインターフェースを実施することができる。
【0031】
I/Oインターフェース208および213は、シリアルおよびパラレル接続性のいずれかまたは両方を提供することができ、前者は、典型的にはユニバーサルシリアルバス(USB)規格に従って実装され、対応するUSBコネクタ(図示せず)を有する。記憶装置209が提供され、典型的にはハードディスクドライブ(HDD)210を含む。フロッピー(登録商標)ディスクドライブおよび磁気テープドライブ(図示せず)などの他の記憶装置も使用することができる。光ディスクドライブ212は、典型的にはデータの不揮発性ソースとして働くように設けられる。例えば、光ディスク(例えば、CD−ROM、DVD、Blu ray DiscTM)、USB−RAM、ポータブル、外部ハードドライブ、およびフロッピー(登録商標)ディスクなどのポータブルメモリデバイスを、システム250へのデータの適切なソースとして使用することができる。
【0032】
コンピュータモジュール201のコンポーネント205〜213は、典型的には相互接続されたバス204を介して、当業者に知られているコンピュータシステム250の従来の動作モードをもたらすように通信する。例えば、プロセッサ205は、接続218を使用してシステムバス204に結合される。同様に、メモリ206および光ディスクドライブ212は、接続219によってシステムバス204に結合される。説明した構成を実施することができるコンピュータの例には、IBM−PCおよび互換機、Sun Sparcstations、Apple MacTM、または同様のコンピュータシステムが含まれる。
【0033】
AVCD方法は、コンピュータシステム250を使用して実施することができ、説明される図4、5、7、および9のプロセスは、コンピュータシステム250内で実行可能な1つまたは複数のAVCDソフトウェアアプリケーションプログラム233として実施することができる。具体的には、AVCD方法のステップがコンピュータシステム250内で実行されるソフトウェア233内の命令231(図2B)によって実行される。ソフトウェア命令231は、それぞれが1つまたは複数の特定のタスクを実行するための1つまたは複数のコードモジュールとして形成され得る。ソフトウェアはまた、2つの別個の部分に分割されてもよく、第1の部分および対応するコードモジュールがAVCD方法を実行し、第2の部分および対応するコードモジュールが第1の部分とユーザとの間のユーザインターフェースを管理する。
【0034】
AVCDソフトウェアは例えば、以下に記載される記憶装置を含むコンピュータ可読媒体に記憶されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム250にロードされ、次いで、コンピュータシステム250によって実行される。コンピュータ可読媒体に記録されたそのようなソフトウェアまたはコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム250におけるコンピュータプログラム製品の使用は、好ましくは、AVCD方法を実施するための有利な装置をもたらす。
【0035】
ソフトウェア233は、典型的にはHDD210またはメモリ206に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム250にロードされ、コンピュータシステム250によって実行される。したがって、例えば、ソフトウェア233は、光ディスクドライブ212によって読み取られる光学的に読み取り可能なディスク記憶媒体(例えば、CD−ROM)225に記憶されてもよい。そのようなソフトウェアまたはコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム250におけるコンピュータプログラム製品の使用は、好ましくは、AVCD構成を実施するための装置をもたらす。
【0036】
場合によっては、AVCDアプリケーションプログラム233が1つまたは複数のCD−ROM225上で符号化されてユーザに供給され、対応するドライブ212を介して読み取られてもよく、あるいはユーザによってネットワーク220または222から読み取られてもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム250にロードすることもできる。コンピュータ可読記憶媒体は、実行および/または処理のために記録された命令および/またはデータをコンピュータシステム250に提供する任意の一時的でない有形の記憶媒体を指す。そのような記憶媒体の例には、フロッピー(登録商標)ディスク、磁気テープ、CD−ROM、DVD、Blu−ray(登録商標)TM Disc、ハードディスクドライブ、ROMまたは集積回路、USBメモリ、光磁気ディスク、またはPCMCIAカードなどのコンピュータ可読カードなどが含まれ、そのようなデバイスがコンピュータモジュール201の内部または外部であるかどうかにかかわらない。コンピュータモジュール201へのソフトウェア、アプリケーションプログラム、命令および/またはデータの提供にも関与し得る一時的または非有形のコンピュータ可読伝送媒体の例は、無線または赤外線伝送チャネル、ならびに別のコンピュータまたはネットワーク化されたデバイスへのネットワーク接続、ならびに電子メール伝送およびウェブサイトなどに記録された情報を含むインターネットまたはイントラネットを含む。
【0037】
アプリケーションプログラム233の第2の部分および上述の対応するコードモジュールは、ディスプレイ214上にレンダリングまたは表現される1つまたは複数のグラフィカルユーザインターフェース(GUI)を実装するために実行することができる。典型的にはキーボード202およびマウス203の操作を通じて、アプリケーションおよびコンピュータシステム250のユーザは、機能的に適応可能な方法でインターフェースを操作して、GUIに関連するアプリケーションに制御コマンドおよび/または入力を提供することができる。スピーカ217を介して出力されるスピーチプロンプトおよびマイクロフォン280を介して入力されるユーザ音声コマンドを利用するオーディオインターフェースなど、他の形態の機能的に適応可能なユーザインターフェースも実装され得る。
【0038】
図2Bは、プロセッサ205および「メモリ」234の詳細な概略ブロック図である。メモリ234は、図2Aのコンピュータモジュール201がアクセス可能な全てのメモリモジュール(HDD209、半導体メモリ206を含む)の論理的な集合体を表す。
【0039】
最初にコンピュータモジュール201の電源を入れると、パワーオン自己テスト(POST)プログラム250が実行される。POSTプログラム250は、典型的には図2Aの半導体メモリ206のROM249に格納される。ソフトウェアを格納するROM249のようなハードウェアデバイスは、ファームウェアと呼ばれることがある。POSTプログラム250は、コンピュータモジュール201内のハードウェアを検査して、適切な機能を保証し、典型的には、プロセッサ205、メモリ234(209、206)、および、また典型的にはROM249に格納されている基本入出力システムソフトウェア(BIOS)モジュール251を、正しい動作について検査する。POSTプログラム250が正常に実行されると、BIOS251は図2Aのハードディスクドライブ210を起動する。ハードディスクドライブ210の起動により、ハードディスクドライブ210に常駐するブートストラップローダプログラム252が、プロセッサ205を介して実行される。これにより、オペレーティングシステム253がRAMメモリ206にロードされ、その上でオペレーティングシステム253が動作を開始する。オペレーティングシステム253はプロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインターフェース、および汎用ユーザインターフェースを含む、様々な高レベル機能を実行するために、プロセッサ205によって実行可能なシステムレベルアプリケーションである。
【0040】
オペレーティングシステム253は、メモリ234(209、206)を管理して、コンピュータモジュール201上で実行される各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するのに十分なメモリを有することを保証する。さらに、図2Aのシステム250で利用可能な異なるタイプのメモリは、各プロセスが効果的に実行できるように、適切に使用されなければならない。したがって、集約メモリ234は、メモリの特定のセグメントがどのように割り振られるかを示すことを意図するものではなく(特に断らない限り)、コンピュータシステム250によってアクセス可能なメモリの一般的なビューおよびそのようなものがどのように使用されるかを提供することを意図するものである。
【0041】
図2Bに示すように、プロセッサ205は、制御ユニット239、算術論理ユニット(ALU)240、およびキャッシュメモリと呼ばれることもあるローカルまたは内部メモリ248を含むいくつかの機能モジュールを含む。キャッシュメモリ248は、典型的にはレジスタセクション内に多数の記憶レジスタ244〜246を含む。1つまたは複数の内部バス241は、これらの機能モジュールを機能的に相互接続する。プロセッサ205は、典型的には、接続218を使用してシステムバス204を介して外部装置と通信するための1つまたは複数のインターフェース242も有する。メモリ234は、接続219を使用してバス204に結合される。
【0042】
AVCDアプリケーションプログラム233は、条件分岐およびループ命令を含むことができる一連の命令231を含む。プログラム233はまた、プログラム233の実行に使用されるデータ232を含むことができる。命令231およびデータ232は、それぞれメモリ位置228、229、230および235、236、237に格納される。命令231とメモリ位置228〜230の相対的なサイズに応じて、メモリ位置230に示される命令によって示されるように、特定の命令が単一のメモリ位置に記憶されてもよい。あるいは、命令が、メモリ位置228および229に示される命令セグメントによって示されるように、各々が別個のメモリ位置に格納されるいくつかの部分にセグメント化されてもよい。
【0043】
一般に、プロセッサ205には、そこで実行される命令のセットが与えられる。プロセッサ205は次の入力を待ち、プロセッサ205は、命令の別のセットを実行することによって、この入力に反応する。各入力は、入力デバイス202、203のうちの1つまたは複数によって生成されたデータ、ネットワーク220、202のうちの1つを介して外部ソースから受信されたデータ、記憶デバイス206、209のうちの1つから取り出されたデータ、または対応するリーダ212に挿入された記憶媒体225から取り出されたデータを含む、いくつかのソースのうちの1つまたは複数から提供することができ、すべて図2Aに示されている。命令のセットの実行は、場合によってはデータの出力をもたらし得る。実行はまた、データまたは変数をメモリ234に格納することを含むことができる。
【0044】
開示されたAVCD構成は、メモリ234内の対応するメモリ位置255、256、257に格納されている入力変数群254を使用する。AVCD構成は、出力変数群261を生成し、これは、メモリ234内の対応するメモリ位置262、263、264に格納される。中間変数群258は、メモリ位置259、260、266、および267に格納され得る。
【0045】
図2Bのプロセッサ205を参照すると、レジスタ244、245、246、算術論理ユニット(ALU)240、および制御ユニット239は、プログラム233を構成する命令セット内のすべての命令に対して「フェッチ、デコード、および実行」サイクルを実行するのに必要なマイクロオペレーションのシーケンスを実行するために協働する。各フェッチ、デコード、および実行サイクルは、
・ メモリ位置228、229、230から命令231をフェッチするかまたは読み出すフェッチ動作
・ 制御ユニット239が、どの命令がフェッチされたかを判定するデコード動作
・ 制御ユニット239及び/又はALU240が命令を実行する実行動作
を有する。
【0046】
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルが実行され得る。同様に、制御ユニット239がメモリ位置232に値を保存または書き込む保存サイクルが実行される。
【0047】
図4図5図7、および図8のプロセスにおける各ステップまたはサブプロセスは、プログラム233の1つまたは複数のセグメントに関連付けられ、レジスタセクション244、245、247、ALU240、およびプロセッサ205内の制御ユニット239が協働して、プログラム233の注目セグメントのための命令セット内のすべての命令についてフェッチ、デコード、および実行サイクルを実行することによって実行される。
【0048】
AVCD方法は代替的に、AVCD機能またはサブ機能を実行する1つまたは複数の集積回路などの専用ハードウェアで実装され得る。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、または1つ以上のマイクロプロセッサおよび関連するメモリを含み得、ビデオカメラなどのプラットフォーム上に存在し得る。
【0049】
AVCD方法
図4は、1つのAVCD構成による、参照画像シーケンスとクエリ画像とを比較することによってシーンの変化を検出する方法400を示す。方法400はハードディスクドライブ210に備えられ、プロセッサ205によってその実行が制御されるソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュールとして実施することができる。以下の説明は、方法400の主要なステップについての詳細、例、および代替的な実装を提供する。サブプロセス430および450のさらなる詳細、例、および代替の実装は、それぞれ図5および図7を参照して後述される。
【0050】
方法400は第1の読み出しステップ420で開始し、ここで、1組の参照画像が入力として受信される。一例では、参照画像が、所定のパスに沿ってナビゲートする無人機に搭載された移動カメラによって撮像されたシーンを示す。この例では、カメラが動いている場合、参照画像は互いに異なる視点からシーンを取り込む。別の例では、参照画像が医療用撮像装置によって撮像され、患者の健康な組織を示す。
【0051】
次いで、制御はステップ420から、参照画像に基づいて再構成モデルをトレーニングするトレーニングサブプロセス430へと移行する。再構成モデルは次に、再構成されたクエリ画像が参照画像内に存在したクエリ画像内のシーン構造の態様を含むように、クエリ画像の再構成されたクエリ画像を決定するために使用することができる。参照画像内に存在しなかったシーンの態様は、再構成されたクエリ画像内に表示されない。したがって、トレーニングプロセスの機能は、部分的には参照画像に表されるシーン構造を学習することである。サブプロセス430のさらなる詳細、例、および代替の実装は、図5を参照して後に説明される。
【0052】
次いで、制御はサブプロセス430から、参照画像と同じシーンに対応するクエリ画像を受信する第2の受信ステップ440へ移行する。クエリ画像は、参照画像とは異なる時間に撮像される。1つのAVCD構成では、撮像プロセスのために、クエリ画像は幾分異なる視点から参照画像と同じシーンを撮像する。一例では、クエリ画像は、参照画像シーケンスを撮像するために以前に使用されたパスと同様の所定のパスに沿ってナビゲートする無人機に搭載された移動カメラによって撮像されたシーンを示す。別の例では、クエリ画像は、同じ医療用撮像装置を使用して参照画像において以前に撮像された患者の組織を示す。
【0053】
1つの構成では、ステップ420および440は、サブプロセス430の前に実施することができる。したがって、この構成では、ステップ420および440はサブプロセス430の前に実行される。サブプロセス430が完了すると、この構成における方法400はステップ450に進む。
【0054】
次いで、制御はステップ440から、ステップ440で受信されたクエリ画像およびサブプロセス430で参照画像についてトレーニングされた再構築モデルに基づいて再構築されたクエリ画像を決定する再構成サブプロセス450に移行する。再構成されたクエリ画像は、参照画像内に存在したクエリ画像内のシーン構造の態様を含む。参照画像の撮像とクエリ画像との間で変化したシーンの態様は再構成されない。ステップ450のさらなる詳細、例、および代替的な実装は、図7を参照して後述される。
【0055】
次いで、制御はサブプロセス450から、ステップ440で受信されたクエリ画像およびサブプロセス450で決定された再構築されたクエリ画像に基づいてシーン変化を判定する検出ステップ460に移行する。1つのAVCD構成では、図3[B]、3[C]および3[D]に示されるように、検出ステップ460は、サブプロセス450で決定された対応する再構成されたクエリ画像330とクエリ画像320とを比較することによって、変化マスク340を決定する。変化マスク340内の画素位置343における値は、再構成されたクエリ画像330内の対応する画素位置333における値と、クエリ画像320内の対応する画素位置323と、の間の絶対差を計算し、閾値を適用することによって決定されるバイナリ値である。しきい値を適用する例は、差が30より大きい場合にはバイナリ値1を割り当て、そうではない場合には値0を割り当てることである。シーン内の変化は、非ゼロ値を含む変化マスク内の画素位置で発生したと判定される。
【0056】
シーン変化を決定する前に変化マスクを後処理することを含むステップ460の実施形態は、ステップ460において同様に実行されてもよい。1つの代替AVCD構成では、形態学的フィルタリング動作のセットが、ノイズを除去するためにバイナリ変化マスクに適用される。形態学的フィルタリング動作の一例は、バイナリエロージョンである。形態学的フィルタ演算の別の例は、バイナリ拡張である。別の代替のAVCD構成では、連結成分解析が別個の領域を識別するために変化マスクに適用される。さらに別の代替AVCD構成では、各検出されたオブジェクトの面積が決定され、固定面積閾値未満の面積を有する任意の領域がバイナリマスク内の対応する画素値をゼロに設定することによって破棄される。固定面積閾値の一例は、10x10の正方形画素である。さらに別の代替AVCD構成では、検出された領域の追加の特徴が計算される。付加的な特徴の一例は重心である。付加的な特徴の別の例は、バウンディングボックスである。付加的な特徴のさらに別の例は、面積の二次モーメントである。ルールは、対応する領域が廃棄されるべきかどうかを決定するために追加の特徴に適用される。ルールの一例は、重心が画像内の関心領域(AOI)の外側にある場合に領域を廃棄することである。AOIの一例は、ユーザによって画像内で指定され、ユーザが変化の検出を望む画像領域を示すバウンディングボックスである。
【0057】
方法400は、検出ステップ460を完了した後に終了する。
【0058】
図5は、参照画像のシーケンスに基づいて再構成モデルをトレーニングするサブプロセス430を示す。サブプロセス430は、ここで、図6からの例示的な実施例を使用して説明される。サブプロセス430は、ハードディスクドライブ210に備えられ、プロセッサ205によってその実行において制御されるソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュールとして実装され得る。以下の説明は、サブプロセス430の主なステップの詳細、例、および代替的な実施を提供する。
【0059】
サブプロセス430は、ステップ420で受信された参照画像の各々のキーポイントを検出する検出ステップ530で開始する。画像内の「キーポイント」は、明確な位置を有し、輝度変化または幾何学的変形などの局所摂動にもかかわらず高い再現性で検出することができる局所画像構造である。キーポイントの一例は「コーナー」であり、これは、複数の方向における画像勾配によって特徴付けられる局所画像構造である。キーポイントの別の例は「ブロブ」であり、これは、中央領域と周囲領域との間の高いコントラストによって特徴付けられる局所画像構造である。キーポイントは、コーナー検出方法、ブロブ検出方法等を用いて検出することができる。コーナー検出方法の例は、Harrisコーナー検出器、FASTコーナー検出器、Shi−Tomasiコーナー検出器等を含む。ブロブ検出方法の例は、difference of Gaussians(DOG)ブロブ検出器、maximally stable extremal regions(MSER)検出器等を含む。
【0060】
1つのAVCD構成では、ステップ530で適用されるキーポイント検出器が、検出された各キーポイントに関連付けられた応答値を生成する。応答値は、キーポイント検出器に対するキーポイントの応答の強さを示す。キーポイント検出器は、画像全体に適用され、固定閾値未満の応答値を有するキーポイントが破棄される。固定閾値の一例は、DOGコーナー検出器の場合0.001である。
【0061】
別のAVCD構成では、画像が固定サイズの重なり合わないセルの格子に分割され、各格子セルにおいて最も高い応答値を有する検出されたキーポイントが保持され、他のすべてのキーポイントは廃棄される。固定サイズの一例は16×16画素である。
【0062】
次に、制御はステップ530から、参照画像の各々における1つまたは複数のパッチバウンディングボックスを判定する判定ステップ535に移行する。1つのAVCD構成では、パッチバウンディングボックスは、ステップ530で検出された各キーポイントについて決定される。図6の例示的な実施例を参照すると、参照画像600内のパッチバウンディングボックス620は、キーポイント610を中心とする固定サイズの正方形として決定される。したがって、上記の構成は、検出されたキーポイントに基づいてパッチバウンディングボックスを決定する。
【0063】
別のAVCD構成では、パッチバウンディングボックスは、画素位置を中心とする固定サイズの矩形として、参照画像内の全ての画素位置で決定される。さらに別のAVCD構成では、ステップ535で、参照画像を固定サイズの正方形パッチの規則的なグリッドに分割することによって、重複しないパッチバウンディングボックスのセットが決定される。固定サイズの一例は16×16画素である。
【0064】
次に、制御はステップ535から、再構成モデルを初期化する初期化ステップ540に移行する。1つのAVCD構成では、再構成モデルは畳み込みディープニューラルネットワークであり、畳み込みディープニューラルネットワーク内の重みはランダムに初期化される。別のAVCD構成では、ディープニューラルネットワーク内の重みは、異なるタスクで以前にトレーニングされたディープニューラルネットワークから重みを取り出すことによって部分的に初期化される。異なるタスクの一例は画像分類である。当業者は、ディープニューラルネットワークにおける重みを初期化するための他の方法がステップ540において同様に実行され得ることを認識する。
【0065】
次いで、制御はステップ540から、再構成モデルを用いて、ステップ535で決定された各パッチについて予測されるパッチを計算する予測サブプロセス550に移行する。その結果、ステップ550の最初の実行で使用される再構成モデルは、ステップ540で初期化されたモデルである。ステップ550の後続の実行で使用される再構成モデルは、ステップ570で更新されたモデルである(以下で説明する)。
【0066】
1つのAVCD構成では、予測画像パッチが畳み込みディープニューラルネットワーク(すなわち、再構成モデル)を使用して参照画像を処理し、ステップ535で決定されたパッチバウンディングボックスに対応する畳み込みディープニューラルネットワークの出力層からアクティベーションを選択することによって決定される。サブプロセス550のさらなる詳細、例、および代替の実装は、図9の方法900を参照して後に説明される。
【0067】
次いで、制御はサブプロセス550から、ステップ535で決定されたパッチおよびサブプロセス550で決定された予測されるパッチに基づいてトレーニング損失を計算する計算ステップ560に移行する。1つのAVCD構成では、二乗誤差損失として知られるトレーニング損失が(ステップ535で決定された)参照画像からのパッチ内の画素と(サブプロセス550で計算された)対応する予測されるパッチ内の同じ位置にある画素との間の二乗差の、すべてのパッチバウンディングボックス内のすべての画素にわたる和として計算される。
【0068】
別のAVCD構成では、バイナリクロスエントロピー損失として知られるトレーニング損失が、予測されるパッチ内の画素値と、参照画像からの対応するパッチ内の同じ位置における画素値の対数と、の積の、すべてのパッチバウンディングボックス内のすべての画素にわたる和の負数として計算される。当業者であれば、ステップ560において他のトレーニング損失も同様に計算できることを理解するであろう。
【0069】
次に、制御はステップ560から、ステップ560で決定されたトレーニング損失に基づいて再構成モデルが更新される更新ステップ570に移行する。1つのAVCD構成では、再構成モデルはディープニューラルネットワークであり、モデル内の重みは反復最適化アルゴリズムの1回の反復を適用することによって更新される。反復最適化アルゴリズムの一例は、バックプロパゲーションを使用して決定された損失関数の勾配に基づく確率的勾配降下法である。反復最適化アルゴリズムの別の例は、AdaGradである。当業者は、他の反復最適化アルゴリズムの1つの反復がステップ560において同様に計算され得ることを認識する。
【0070】
次に、制御はステップ570から、トレーニングが収束して終了すべきかどうかを判定する判定ステップ580に移行する。1つのAVCD構成では、トレーニング反復の数、すなわちステップ550、560、および570の反復の数が固定反復閾値を超える場合、トレーニングが収束したと判定される。固定反復閾値の一例は250反復である。
【0071】
別のAVCD構成では、ステップ560で決定されたトレーニング損失が固定損失閾値を下回る場合、トレーニングは収束したと判定される。バイナリクロスエントロピー損失に対する固定損失閾値の一例は0.6である。当業者は、他の収束基準がステップ570において同様に適用されてもよいことを認識するであろう。
【0072】
トレーニングが収束していないと判定された場合(NO)、次に制御はステップ580から予測サブプロセス550に移行する。トレーニングが収束したと判定された場合(YES)、サブプロセス430は終了する。
【0073】
当業者であれば、再構成モデルをトレーニングするためのサブプロセス430のバリエーションが同様に実施され得ることを認識するであろう。サブプロセス430の1つの代替実施形態では、ステップ420で受け取った参照画像の1つまたは複数のランダム化変換に基づいて追加の参照画像を作成することによって、トレーニングデータを増強する。ランダム化変換の例は、参照画像のランダム回転、参照画像のランダムスケーリング、参照画像の並進、参照画像に適用されるランダムガンマ補正などを含む。当業者は、他のランダム化変換が拡張されたトレーニングデータを生成するために同様に適用され得ることを認識する。
【0074】
サブプロセス430の別の代替実施形態では、ステップ540が異なるランダム初期化を用いて再構成モデルの複数のインスタンスを初期化する。ステップ550、560、570および580のトレーニングプロセスは、再構成モデルの複数のインスタンスのそれぞれに独立して適用される。最後に、追加の選択ステップ(図5には示されていない)は、最も低いトレーニング損失を有する再構成モデルのインスタンスを選択し、再構成モデルの他のインスタンスを破棄する。
【0075】
図7は、図5のサブプロセス430を使用してトレーニングされた再構成モデルに基づいてクエリ画像を再構成するサブプロセス450を示す。ここで、サブプロセス450について、図6および図8からの例示的な例を使用して説明する。サブプロセス450は、ハードディスクドライブ210に常駐し、プロセッサ205によってその実行が制御されるソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュールとして実装することができる。以下の説明は、方法700の主なステップの詳細、例、および代替的な実施を提供する。
【0076】
サブプロセス450は読み出しステップ720で開始し、クエリ画像(方法400のステップ440で受信される)および再構成モデル(図5のサブプロセス430を使用してトレーニングされる)が、入力として受信される。
【0077】
次いで、制御はステップ720から、ステップ720で受信されたクエリ画像上のパッチバウンディングボックスのセットを決定する決定ステップ725に移行する。パッチバウンディングボックスのセットは、1つまたは複数のパッチバウンディングボックスを含む。1つのAVCD構成では、パッチバウンディングボックスがクエリ画像内のすべての画素位置で決定される。パッチバウンディングボックスは、図6に示すのと同様の方法で決定される。図6において、参照画像600の画素位置610におけるパッチバウンディングボックス620は、画素位置610を中心とする固定サイズの正方形境界として決定される。固定サイズの一例は16×16画素である。
【0078】
次いで、制御はステップ725から、図5のサブプロセス430を使用してトレーニングされた再構成モデルに基づいてステップ725で決定された各パッチバウンディングボックスに対応する予測されるパッチを計算する検出サブプロセス730に移行する。サブプロセス730は、図5のサブプロセス430のサブプロセス550と実施形態を共有する。サブプロセス730のさらなる詳細、例、および代替の実装は、図9の方法900を参照して後に説明される。
【0079】
次いで、制御はステップ730から、ステップ730で決定された各予測されるパッチの予測誤差を計算する計算ステップ740に移行する。1つのAVCD構成では、予測誤差が、ステップ720で受信されたクエリ画像内のパッチとステップ730で決定された対応する予測されるパッチとの間の距離として計算される。1つのAVCD構成では、計算された距離が、ステップ725および730からのパッチの対における対応する画素間の差の二乗にわたる和である。別のAVCD構成では、計算された距離が、ステップ725および730からのパッチの対の間の正規化された相互相関である。当業者であれば、ステップ740において他の距離測定値を同様に計算できることを理解するであろう。
【0080】
次いで、制御はステップ740から、ステップ730で予測されたパッチおよびステップ740で計算された予測誤差に基づき、各画素位置における画素値を選択することによってクエリ画像を再構成する選択ステップ750に移行する。図8は、再構成されたクエリ画像800内の位置810における画素値を選択することを示す。1つのAVCD構成では、画素値が単一のパッチ予測に基づいて選択される。一例では、予測されるパッチ830の中心画素が選択され、再構成されたクエリ画像800内の位置810に格納される。
【0081】
別のAVCD構成では、画素値が複数の予測に基づいて選択される。第1に、バウンディングボックス内の画素位置810を含むすべての予測されるパッチのセット、例えばパッチ820および830が決定される。次に、ステップ740で決定された最小の予測誤差を有するパッチが、このセットから選択される。最後に、選択されたパッチによって位置810で予測された画素値は、再構成されたクエリ画像内の位置810に格納される。
【0082】
当業者であれば、サブプロセス450について上述した実施形態の変形を同様に実施できることを理解するであろう。1つの代替AVCD構成では、画素810を含む複数のパッチが選択基準に基づいてステップ750で選択される。選択基準の一例は、ステップ740で決定された対応する予測誤差が固定閾値未満であることである。固定閾値の一例は0.1である。この構成では、選択されたパッチの機能が決定され、再構成されたクエリ画像内の位置810に格納される。機能の一例は、位置810での平均予測値である。機能の別の例は、位置810における中央値予測値である。別の代替AVCD構成では、ステップ725において、クエリ画像を固定サイズの正方形パッチの規則的なグリッドに分割することによって、重複しないパッチバウンディングボックスのセットが決定される。この構成では、ステップ730において、グリッド内の単一のパッチによって各画素位置が予測される。ステップ750では、再構成されたクエリ画像内の各位置における画素値が、対応する予測されるパッチから取得される。
【0083】
サブプロセス450は、選択ステップ750を完了した後に終了する。
【0084】
図9は、図5のサブプロセス430を使用してトレーニングされた再構成モデルに基づいてパッチを予測する方法900を示す。方法900は、図5に示されるサブプロセス550および図7に示されるサブプロセス730によって使用される。方法900は、ここで、図10からの例示的な例を使用して説明される。方法900は、ハードディスクドライブ210に常駐し、プロセッサ205によってその実行が制御されるソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュールとして実施することができる。
【0085】
方法900は、読み出しステップ920で開始し、画像(サブプロセス430のための参照画像またはサブプロセス450のためのクエリ画像のいずれか)、図5のサブプロセス430を使用してトレーニングされた(または初期化された)再構成モデル、およびパッチバウンディングボックスのセット(ステップ535および725を参照)が、入力として受信される。
【0086】
次に、制御はステップ920から、受信した画像に前処理を適用する前処理ステップ930に移行する。1つのAVCD構成では、受信した画像内の画素値が、強度色空間、CIELAB色空間などの特定の色空間に変換される。別のAVCD構成では、受信された画像がクロッピングされ、256×256画素などの固定サイズにリサイズされる。さらに別のAVCD構成では、画像が2画素の標準偏差を有するガウスぼかしフィルタなどのノイズ低減フィルタを使用してフィルタリングされる。さらに別のAVCD構成では、前処理ステップ930が画像の前処理を実行しない。
【0087】
次いで、制御はステップ930から、ステップ920で受信されたパッチバウンディングボックスおよび再構成モデルとステップ930で決定された前処理された画像とに基づいて各パッチを囲む環状領域から特徴を抽出する抽出ステップ940、に移行する。各パッチを取り囲む環状領域は、図3Aに示されるように、パッチ312とパッチ315との間の領域316によって定義されるようにすることができる。
【0088】
1つのAVCD構成では、特徴抽出が、1つ以上の層が環形状の畳み込みフィルタを有する畳み込みディープニューラルネットワークとして実施される。図10は、画像1000に適用される正方形畳み込みフィルタ1030および環状畳み込みフィルタ1010の一例を示す。正方形畳み込みフィルタ1030の形状はバウンディングボックス1035によって定義され、正方形畳み込みフィルタは、バウンディングボックス1035内の陰影を付けた領域の非ゼロ重みのみを含む。環状の畳み込みフィルタ1010の形状は、外側のバウンディングボックス1005と内側のバウンディングボックス1020とによって画定される。環状の畳み込みフィルタ1010は、外側のバウンディングボックス1005と内側のバウンディングボックス1020との間の陰影を付けた領域の非ゼロ重みのみを含む。
【0089】
特徴を抽出するために使用される畳み込みディープニューラルネットワークの一例では、入力層は単一チャネルのグレースケール画像である。次の層は、1のストライドと、正規化線形ユニット(ReLU)活性化と、を用いて適用される、3×3×1サイズの64個の正方形畳み込みフィルタを有する。次の層は、1のカーネル拡張、1のストライド、およびReLU活性化を用いて適用される、3×3×64サイズの64個の正方形畳み込みフィルタを有する。次の層は、2×2サイズのプーリングカーネルと1のストライドを用いて最大プーリングを適用する。次の層は、2のカーネル拡張、1のストライド、およびReLU活性化を用いて適用される、3×3×64サイズの128個の正方形畳み込みフィルタを有する。次の層は、2のカーネル拡張および1のストライドを用いて適用される、2×2サイズのプーリングカーネルで最大プーリングを適用する。次の層は、4のカーネル拡張、1のストライド、およびReLU活性化で適用される、3×3×128サイズの192個の正方形畳み込みフィルタを有する。次の層は、4のカーネル拡張および1のストライドを用いて適用される、2×2サイズのプーリングカーネルを用いて最大プーリングを適用する。次の層は、8のカーネル拡張、1のストライド、およびReLU活性化を用いて適用される、3×3×192サイズの384個の正方形畳み込みフィルタを有する。次の層は、8のカーネル拡張および1のストライドを用いて適用される、2×2サイズのプーリングカーネルを用いて最大プーリングを適用する。次の層は、16のカーネル拡張、1のストライド、およびReLU活性化を用いて適用された、7×7の外側サイズ、3×3の内側サイズを有する768個の環形状の畳み込みフィルタを有する。方法900のステップ940で抽出された特徴は、環状フィルタのアクティベーションである。すべての層における畳み込みフィルタは、ステップ920で受信された画像内のすべての位置について特徴が決定されるように、ゼロパディングを用いて適用される。
【0090】
当業者であれば、上述した畳み込みディープニューラルネットワークの実施形態の変形も同様に実施できることを理解するであろう。一代替実施形態では、バッチ正規化が各畳み込み層間で適用される。別の代替実施形態では、ReLUアクティベーションが異なるアクティベーション機能で置き換えられる。活性化関数の一例は、線形アクティベーションである。活性化関数の別の例は、Sigmoidアクティベーションである。別の代替実施形態では、最大プーリング層が異なるプーリング機能で置き換えられる。プーリング機能の一例は、平均プーリングである。別の代替実施形態では、環状フィルタが外側バウンディングボックスによって画定され、フィルタの中心で徐々にゼロに減少する重みを有する。一例では、フィルタ重みは、学習された重みと、バウンディングボックスを中心とする2次元逆ガウス関数と、の積である。逆ガウス関数は、1から固定標準偏差を有するガウス関数を引いたものとして定義される。固定標準偏差の一例は、外側バウンディングボックスの幅の10分の1である。
【0091】
次いで、制御はステップ940から、ステップ940で抽出された特徴に基づいて、ステップ920で受信された各パッチバウンディングボックスに対応する予測される画像パッチを計算する予測ステップ950に移行する。1つのAVCD構成では、再構成モデルが畳み込みディープニューラルネットワークであり、予測ステップは特徴抽出ネットワークの出力に適用されるネットワーク層を使用して実施される。一例では、予測ネットワークが1×1×768サイズの256個の畳み込みフィルタの層を備える。畳み込みフィルタの出力は、有界活性化関数を用いて有界間隔にマッピングされる。有界活性化関数の一例は、出力を範囲[0,1]に制限するシグモイドアクティベーションである。最後に、予測されるパッチは、ステップ920で受信したパッチのサイズに従って出力アクティベーションを再整形することによって形成される。一例では、特定の位置での256個の出力アクティベーションがその位置での予測されるパッチに対応する16×16パッチに再成形される。当業者であれば、ステップ950において、他の固定フィルタサイズおよび活性化関数が、畳み込みディープニューラルネットワークにおいて同様に使用され得ることを認識するであろう。
【0092】
方法900は、予測ステップ950を完了した後に終了する。
【0093】
サブプロセス430および450、ならびに方法900の上記の説明は、畳み込みディープニューラルネットワーク再構成モデルに基づく例を実施形態に提供する。当業者は、サブプロセス430および450ならびに方法900の代替実施形態において、他の機械学習モデルが再構成モデルとして同様に使用され得ることを認識するであろう。1つの代替AVCD構成では、再構成モデルが固定数のアトムを有する辞書を使用する辞書学習に基づく。固定数の一例は1024個のアトムである。サブプロセス430のステップ540の一実施形態では、辞書アトムはランダムに初期化される。サブプロセス430のステップ540の別の実施形態では、辞書アトムはK特異値分解(K−SVD)を適用することによって初期化される。サブプロセス430のステップ570の一実施形態では、辞書が交互最小化アルゴリズム(alternating minimization algorithm)の1回の反復を適用することによって更新される。方法900のステップ940の一実施形態では、ステップ920で受信したパッチバウンディングボックス内の画素値をベクトル化することによって、固定次元の特徴が計算される。固定次元の一例は256であり、16×16画素バウンディングボックス内のグレースケール画素値のベクトル化に対応する。方法900のステップ950の一実施形態では、ステップ940で計算された特徴およびステップ920で受信された辞書アトムに基づいて辞書符号化を計算し、次いで、符号化係数と対応する辞書アトムとの積にわたる和を計算することによってパッチを再構成することによって、パッチが予測される。一例では、辞書符号化が最小角度回帰法(least angle regression method)を使用して決定される。
図1A
図1B
図2A
図2B
図3A
図3B
図3C
図3D
図4
図5
図6
図7
図8
図9
図10