JP2010009606A - 局所化された2次元の視覚的指紋を使用してイメージコレクション内のピクチャイメージを見つけるシステムおよび方法 - Google Patents

局所化された2次元の視覚的指紋を使用してイメージコレクション内のピクチャイメージを見つけるシステムおよび方法 Download PDF

Info

Publication number
JP2010009606A
JP2010009606A JP2009153615A JP2009153615A JP2010009606A JP 2010009606 A JP2010009606 A JP 2010009606A JP 2009153615 A JP2009153615 A JP 2009153615A JP 2009153615 A JP2009153615 A JP 2009153615A JP 2010009606 A JP2010009606 A JP 2010009606A
Authority
JP
Japan
Prior art keywords
fingerprint
image
query
keypoints
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009153615A
Other languages
English (en)
Other versions
JP5180156B2 (ja
JP2010009606A5 (ja
Inventor
Kretter Doron
クレッター ドロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Palo Alto Research Center Inc
Original Assignee
Palo Alto Research Center Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Palo Alto Research Center Inc filed Critical Palo Alto Research Center Inc
Publication of JP2010009606A publication Critical patent/JP2010009606A/ja
Publication of JP2010009606A5 publication Critical patent/JP2010009606A5/ja
Application granted granted Critical
Publication of JP5180156B2 publication Critical patent/JP5180156B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)

Abstract

【課題】大きいイメージコレクション内の類似するイメージを発見する。
【解決手段】本発明の一態様の方法は、イメージコレクション内のイメージごとに安定したキーポイントを識別するステップと、前記キーポイントの局所グループから指紋情報を計算するステップと、前記計算の結果の指紋情報をコンパクトな指紋データベースに格納するステップと、前記コンパクトな指紋データベース内の入力指紋ごとに、候補指紋の組合せの列を生成するステップと、リアルタイムイメージクエリを実行し、前記コレクション内の一致するターゲットイメージまたはターゲットイメージのセットを判定するステップと、前記判定ステップに基づいて少なくとも1つのターゲットイメージを取り出すステップと、前記取り出された少なくとも1つのターゲットイメージを出力するステップと、を含む。
【選択図】図14

Description

本願は、ターゲットピクチャイメージの不完全なコピーであるクエリ(query)ピクチャイメージのイメージ(画像)に基づいて大きいイメージコレクション内のターゲットピクチャまたはターゲットピクチャセットのイメージを見つけるソフトウェアプログラムおよびアルゴリズムを組み込んだコンピュータ動作可能なシステムおよび方法を対象とする。
クエリイメージは、ディジタルカメラ、携帯情報端末、文書スキャナ、テキストリーダー、ビデオカメラ、動画カメラ、コンピュータ、セル電話機カメラ、またはターゲットイメージのイメージ表現を生成することのできる他のデバイスのうちの少なくとも1つ(これらに限定はされない)によって取り込むことができる。
ターゲットイメージを、モニタまたはコンピュータスクリーンに表示することができ、そのピクチャを、上のデバイスのうちの1つによって直接に撮影することができ、あるいは、ターゲットイメージを、まずプリンタまたは類似する出力デバイス上で印刷することができ、ピクチャを、ターゲットイメージの複写のために上のデバイスのうちの1つによって撮影することができる。代替案では、クエリイメージを、クエリイメージの格納された電子版から複写することができる。
クエリイメージを取り込むのに使用される形およびデバイスに起因して、しばしば、取り込まれたクエリイメージは、ターゲットイメージと比較して、低解像度を有し、ぼけており、回転および透視ビューイング条件によってひずみ、不均一な明るさを有する。
イメージの対応を照合する通常の方法は、次のステップからなる。
(1)第1ステップでは、キーポイントが、角、接続、および/または明るいもしくは暗い斑点などのイメージ内の特有の位置について識別される。目標は、異なるビューイング条件、ノイズ、およびさまざまなイメージ劣化の下で、同一のキーポイントを信頼できる形で見つけることである。多数の既存の方法の中の1つの方法は、非特許文献1に記載のScalable Invariant Feature Transform(SIFT)法である。もう1つの方法は、非特許文献2に記載のPCA−SIFT法である。両方の方法が、かなりの量の計算を必要とし、これが、大きいイメージコレクションに関する性能を制限する。
(2)第2ステップでは、「記述子」と呼ばれる特徴ベクトルを、すべてのキーポイントの局所近傍から計算する。記述子は、それに対応するキーポイントをイメージ内の他のすべてのキーポイントに対して高い確率で識別するために、非常に特徴的でなければならない。さらに、記述子は、ノイズ、キーポイント識別エラー(たとえば、欠けているキーポイントまたは余分なキーポイント)、カメラ対ターゲットイメージの配置、および一般的イメージ劣化に対して頑健(robust)でなければならない。記述子をスケール不変および回転不変にするために、スケール正規化されたイメージ近傍を選択し、その主方位を判定し、適用して、イメージをキーポイントの周りで回転して、イメージを位置合せされた状態にする。類似する尤度の複数の可能な主方位がある場合には、複数の記述子を単一のキーポイントから生成してもよい。
(3)最後に、クエリ時に、クエリイメージの記述子ベクトルを、コレクション内のすべてのさまざまなイメージの記述子ベクトルと比較して、可能な一致を判定する。照合は、通常、L1距離またはL2(ユークリッド)距離など、2つの特徴ベクトルの間の距離尺度に基づく。多くの場合、2つのイメージについて正確に同一のキーポイント順序を入手することは、不可能である(たとえば、2つのイメージがお互いに関して任意に回転される場合)。したがって、記述子の追加のソートおよびインデクシングが適用されない限り、すべての可能な記述子の対の組合せを比較する必要がある。所望の感度に依存して、通常のイメージが、数千個のキーポイント(および記述子)を生じる場合がある。したがって、記述子次元数(特徴の個数)を最小にすることが望ましい。というのは、記述子次元数が、性能(距離を計算するのに要する時間)に直接に影響するからである。
上述のように、キーポイント識別の技術の幅広い選択肢が、文献に既に存在する。とりわけ、ガウス微分、モーメント、複雑特徴(complex feature)、スティーラブル特徴(steerable filter)、およびフェーズ特徴(phase feature)を含む、さまざまな手法に基づくさらに幅広くさまざまな記述子が提案されてきた。非特許文献1で導入された特徴記述子の一つの特定のクラスは、正確さおよび速度に関してほとんどの他の記述子より性能が優れていることを実証された。このクラスの記述子(すなわち、SIFT記述子)は、キーポイント近傍内の局所的な小スケールの特徴の分布に基づく。SIFT記述子は、キーポイントの周囲の4×4グリッド内の8つの異なる方位で局所空間密度勾配のヒストグラムを計算し、その結果を128次元ベクトルに格納する。
ロウエ(D. G. Lowe),「Distinctive Image Features from Scale-Invariant Keypoints」,International Journal of Computer Vision,2004年,第60巻(Vol. 60),第2号(No. 2),p.91−110 ケ(Ke)およびスクトハンカー(Sukthankar),「PCA-SIFT: A More Distinctive Representation For Local Image Descriptors」,Conference on Computer Vision and Pattern Recognition,2000年,p.111−119
本発明は、テキストおよび線描などの追加のタイプのイメージ内容を利用することもできるが、大きいイメージコレクション内の類似するイメージの発見または照合を対象とする。自然なピクチャの発見は、潜在的に、コレクションのテキストイメージまたはラインアートイメージの発見または照合より難しい問題である。というのは、そのようなピクチャの内容が、輝度/グレイスケール領域で連続的であり、したがって、頑健で信頼できるキーポイントを識別することがはるかにむずかしいからである。
すべての使用可能な方法の中で、SIFT記述子は、最も広く使用されていると思われる。SIFT記述子は、適度な個数のイメージの照合のために比較的高速に計算される別個の記述子を提供する。しかし、SIFT記述子の高い次元数は、大きいイメージコレクションを用いるリアルタイムの応用例での使用についてSIFT記述子を非実用的にする。
本発明の一態様は、イメージコレクションの内容を前処理して、前記イメージコレクション内のイメージごとに安定した再現可能キーポイントを識別するステップと、前記キーポイントの局所グループから指紋情報を計算するステップと、前記計算の結果の指紋情報をコンパクトな指紋データベースに格納するステップと、前記コンパクトな指紋データベース内の入力指紋ごとに、候補指紋の組合せの列を生成するステップと、指紋データベースに入力された指紋ごとの候補指紋の組合せの前記列を、ファンツリーおよびハッシュテーブルの少なくとも一方と、対応する指紋データ構造と、に格納するステップと、キーポイントを識別することと、クエリイメージから指紋を計算することと、クエリ指紋を既存のファンツリー指紋データと照合することとによってリアルタイムイメージクエリを実行し、前記コレクション内の一致するターゲットイメージまたはターゲットイメージのセットを判定するステップと、前記判定ステップに基づいて少なくとも1つのターゲットイメージを取り出すステップと、前記取り出された少なくとも1つのターゲットイメージの表示、印刷、格納、または送信のうちの少なくとも1つを行うステップと、を含み、前記指紋情報の前記計算が、アンカキーポイントと呼ばれるイメージ内の最も強いキーポイントのサブグループと、加えて複数の局所的な非アンカキーポイントと、の組合せに基づく、ことを特徴とする、イメージデータを格納し、インデクシングし、検索し、および/または取り出すイメージ管理方法である。
前記クエリ指紋の前記既存のファンツリー指紋データとの前記照合は、クエリ指紋ごとに、オリジナルの指紋のイメージコレクションのサブセットを含む特定のファンツリー葉ノードリストにつながるファンツリーアドレスを計算することと、その後、前記サブセットリストからの各オリジナル指紋を順に現在のクエリ指紋と比較することと、前記クエリ指紋が前記取り出された指紋レコードのうちの1つと一致するたびに、そのイメージの一致する指紋の個数のカウントを増分することと、指紋スコア分析モジュールによって、各イメージの一致する指紋の結果の累算されたカウントを調べることと、最高スコア分析に基づいて、前記コレクション内の最もよく一致するイメージまたはイメージのセットを判定することと、を含んでいてよい。
また、前記アンカキーポイントは、前記クエリイメージおよびターゲットイメージ内で見つかる確率が前記非アンカキーポイントより高い。
本発明の他の一態様は、クエリ文書のクエリイメージ内のキーポイントおよび潜在的ターゲット文書のコレクションの潜在的ターゲット文書イメージ内のキーポイントを含む、イメージ内のキーポイントを識別するように構成された識別モジュールと、前記キーポイントから指紋情報を生成するように構成された指紋生成モジュールであって、前記指紋情報が、少なくとも1つのアンカキーポイントおよび所定の個数の非アンカキーポイントを含む、指紋生成モジュールと、前記クエリイメージの前記指紋情報を、潜在的ターゲット文書の前記コレクション内の前記潜在的ターゲット文書イメージの指紋情報と比較するように構成された比較モジュールと、前記クエリイメージの前記指紋情報と前記潜在的ターゲット文書イメージの前記指紋情報との間の最良一致を判定するように構成された照合モジュールと、前記照合モジュールにおける判定に基づいて少なくとも1つのターゲット文書イメージを取り出すように構成された取出しモジュールと、前記取り出された少なくとも1つのターゲット文書イメージの表示、印刷、格納または送信を行う、電子ディスプレイ、プリンタ、メモリストレージ、またはコンピュータネットワークのうちの少なくとも1つと、を含むことを特徴とする、イメージデータの格納、インデクシング、検索、および/または取出しを行う、コンピュータ動作可能システム内のイメージ管理システムである。
本発明の実施形態の概念を実施できる環境を示す図である。 本発明の実施形態によるシステムおよび方法を使用する安定したキーポイント識別動作の応用を表し、スクリーンに表示されたクエリカメライメージを示す図である。 本発明の実施形態によるシステムおよび方法を使用する安定したキーポイント識別動作の応用を表し、スクリーンに表示されたクエリカメライメージのキーポイントの識別された位置を示す図である。 本発明の実施形態によるシステムおよび方法を使用する安定したキーポイント識別動作の応用を表し、対応するターゲットイメージのキーポイントの識別された位置を示す図である。 ターゲットイメージを表す図である。 2D(2次元)視覚的指紋を用いた文書発見のための文書コレクションを準備する方法の概要を示す図である。 2D視覚的指紋を用いた文書発見のための文書コレクションを準備する方法の概要を示す図である。 2D視覚的指紋を用いた文書発見の継続されるクエリ動作を示す図である。 文書コレクションの指紋データベースを生成する方法を示す図である。 ターゲット文書内の候補キーポイントを識別する方法を示す図である。 ターゲットイメージ内の候補アンカキーポイントを識別する方法を示す図である。 指紋の構成のために三角形比を入手する方法を示す図である。 図8Aの三角形比の量子化ステップを示す図である。 解凍された指紋データ内容を示す図である。 アンカキーポイントおよび非アンカキーポイントの組合せから圧縮された指紋データベースを生成する方法を示す図である。 指紋データベースからファンツリーを作成する方法を示す図である。 ファンツリー構造および対応する指紋データ内容を示す図である。 文書コレクション指紋データベースからファンツリー構造を作成するステップを示す流れ図である。 リアルタイムでクエリイメージを照合するステップを示す流れ図である。 クエリ候補キーポイントの識別を示す流れ図である。 クエリ指紋化のステップを示す流れ図である。 クエリ指紋の照合および文書ヒットのカウントのステップを示す流れ図である。
本明細書で説明されるシステムおよび方法は、図1に示されたコンピュータネットワークのパラメータ内で働くことができる。コンピュータネットワーク100は、一連のワイヤ102からなるものとすることができ、ワイヤ102の多くは、分岐するかワイヤジャンクション104で第3のワイヤ106と接続されてもよく、独立型周辺デバイスに接続されるか、コンピュータ108,109などの他のデバイスに接続するために周辺機器を通過してもよく、ここで、コンピュータは、周辺デバイスと考えることができる。ネットワークは、カラープリンタ110またはカラー以外のプリンタ112、ならびに少なくともカラーレーザプリンタ120,122または1台のカラー以外のレーザプリンタ124を組み込んでもよい。ネットワークは、スキャナ130、またはファクシミリ機140、写真複写機150、カラー写真複写機152、あるいは組合せカラープリンタ/スキャナ/ファクシミリ機154を組み込むこともできる。ネットワークは、パーソナルコンピュータおよび/または独立型コンピュータ端末160、あるいは独立型ハードドライブデータストレージ媒体164を含むこともできる。ネットワークは、無線ネットワーク送受信器170を含み、少なくとも1つのラップトップコンピュータ172または複数のラップトップコンピュータ174とインターフェースすることもできる。ネットワークは、インターネット、イントラネット、または他の通信ネットワークを含むがこれらに限定されない任意の形のネットワーク180に相互接続されてもよい。別の形のネットワークとのインターフェースの使用を介して、本システムおよび方法は、ディジタルスチルカメラ191、ディジタルビデオカメラ192、セル電話機193、スキャナ194、携帯情報端末195、または文書インデクシングシステム196を含むがこれらに限定はされない複数の周辺データ取り込みデバイス190とインターフェースすることができる。本概念を、単一のデバイスを有するネットワークから数千個以上の接続されたデバイスを含むネットワークにいたる、上記のコンポーネントのさまざまな組合せを有するネットワーク内で実施できることを理解されたい。さらに、上記のコンポーネントのうちのさまざまなコンポーネントは、説明される概念を実施するのに有用である可能性がある複数の既知の構成のいずれかに配置されたメモリストレージエリアを有することができる。このストレージエリアは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、または本願の概念を組み込んだソフトウェアを保持できる他のメモリタイプとすることができる。他のメモリストレージエリアを、複数のデータベースフォーマットのいずれかにさまざまなディジタルイメージを保持するように構成してもよい。
コンピュータなどであるがこれに限定はされない図1のコンポーネントのうちのさらなるさまざまなコンポーネントは、そのコンポーネントにロードされるか他の形でそのコンポーネントによってアクセス可能なソフトウェアからの命令を処理するプロセッサを含む。プロセッサを有するコンポーネントのうちのさまざまなコンポーネントが、複数のプロセッサを有してもよく、これによって、命令の処理を複数のプロセッサの間で分割できることを理解されたい。代替案では、単一のプロセッサが、命令を分割するように動作でき、これによって、処理をマルチスレッド環境で行うことができる。
本発明の実施形態では、既存の方法およびシステムで使用される記述子の必要を完全になくす代替の方法およびシステムが展開される。その代わりに、本発明の実施形態の方法およびシステムは、キーポイント位置から直接に計算される局所化された2次元指紋を使用する。指紋は、記述子よりはるかにコンパクトであり、対応するキーポイントの識別において同様に有効である。記述子とは異なって、指紋は、非常に大きいイメージコレクションサイズまでたやすくスケーリングされる。さらに、指紋は、回転およびアフィン変換(affine transformation)に対して不変になるように設計され、したがって、SIFTのように特殊な方位処理を必要としない。
ピクチャコレクション内の類似するピクチャまたはピクチャセットを発見するための指紋の使用は、次の2つのステップからなる。
1.前処理ステージで、ターゲットピクチャのコーパスを分析して、各イメージから数百個の最も特徴的な指紋を抽出する。イメージの非常に大きいコーパスについて、低い確率で、所定の指紋が複数のターゲットピクチャ内で見つかる可能性がある。指紋は、高い次元(約35)を有する。指紋は、ハッシュテーブルにハッシュ化され、このハッシュテーブルのエントリは、リンクされた指紋レコードのリストを含む。代替案では、ファンツリーを構成し、指紋をそれにインデクス付けすることができる。各指紋レコードは、特定の指紋のアイデンティティ、その値(指紋ストリング)、およびその指紋を含むターゲットピクチャのアイデンティティを含む。指紋の値は、ハッシュテーブル衝突が許容される時に、同一のハッシュテーブルエントリにハッシュ化され得る異なる指紋の間で区別するために、ハッシュテーブル衝突の場合にのみ必要である。衝突は、メモリ内のハッシュテーブルサイズを制限した結果として発生する可能性がある。
2.クエリ時に、指紋がクエリイメージから抽出される。順次、各指紋が、ファンツリーまたはハッシュテーブルの内容を検索するためのキーとして使用されて、ターゲットピクチャの関連する候補の指紋レコードが取り出される。そのような指紋レコードのそれぞれについて、潜在的なファンツリーまたはハッシュテーブルの衝突のゆえに、クエリの指紋ストリングが、ターゲットピクチャの指紋ストリングと比較される。特定のターゲットピクチャの指紋ストリングとの正確な一致がある場合には、そのターゲットイメージの投票カウントを増分する。多数の投票が、クエリピクチャと候補ターゲットピクチャとの間の正しい一致について生じ、少数の投票が、少数の指紋の偶然の一致から生じる不正な一致について生じると期待される。
図2A〜図2Dに、本発明の実施形態の方法およびシステムを用いて成功したイメージクエリの検索を示す。図2Aでは、クエリイメージが、カメラ、スキャナ、または他のそのようなデバイスによって取り込まれ、あるいは、図2Dのイメージなどのターゲットイメージの格納された電子版から複写される。図2Aにおける手による部分的な妨害は、クエリイメージの一部が他の物体によって部分的にさえぎられる状況を含めて、クエリイメージがある形で劣化する状況であっても本願の概念を達成できることを強調することを意図されたものである。結果のクエリキーポイント位置を、図2Bに示す。クエリ指紋のセットが、クエリイメージのキーポイント位置から計算され、イメージコレクションからの指紋のデータベースと照合される。図2Cに、ピクチャコレクション内のターゲットイメージについて見つかったキーポイントを示す。
より具体的には、図2Aのイメージに対する本発明の実施形態のシステムおよび方法の動作によって得られるキーポイント位置を、図2Bに示す。3つのスケールで入手されたキーポイント位置が示され、最小スケールの位置は、「x」を用いてマークされ、中間スケールの位置は、「□」を用いてマークされ、最大スケールの位置は、「o」を用いてマークされている。最小スケールの位置は、最小サイズのフィルタの使用によって識別され、中間スケールの位置は、最小サイズのフィルタのスケールアップ版(スケールをより大きくしたバージョン)の使用によって識別され、最大スケールの位置は、最大サイズのフィルタの使用によって識別される。同様に、図2Dのターゲットイメージに対する本発明の実施形態のシステムおよび方法の動作によって得られるキーポイント位置を、図2Cに示す。したがって、図2Bおよび2Cは、本発明の実施形態のシステムおよび方法の動作の結果を示す。
本発明の実施形態の方法は、図3A〜図3Bおよび図4に概要を示された3つの処理ステップからなる。図3A〜図3Bおよび図4が、本システムおよび方法の概要を提示し、これらの図で導入される概念が、後のセクションでより詳細に説明されることを了解されたい。
(a)図3Aの流れ図300では、ピクチャコレクションの内容が、安定した再現可能なキーポイントを識別するために前処理される。ターゲットピクチャのコレクション310内のピクチャごとに、キーポイントを識別し320、キーポイントごとに、指紋化動作330を実行することによって指紋を計算する。結果の指紋データ情報340は、コンパクトな指紋データベース350に格納される。
一般に、テキストまたはラインアートの文書内よりも、連続トーンの画像内で安定したキーポイントを見つけることの方がむずかしいので、本発明の実施形態では、イメージ内の少数の最も強いキーポイント(アンカキーポイントと呼ばれる)と、加えて複数の他の(非アンカ)局所キーポイントとの組合せに基づく指紋化方法を詳細に述べる。その強さに起因して、アンカキーポイントは、クエリイメージとターゲットイメージとの両方で高い確率で見つかる可能性が高い。アンカポイントの使用は、近傍内の少数のより強いアンカキーポイントと共に、より弱い局所キーポイントを一緒に「グループ化する」ことによって、指紋組合せの総数をかなり減らすのを助ける。
(b)次に、図3Bに、指紋データベース350を編成するのに使用される流れ図355を示す。このプロセスでは、さまざまな指紋組合せ360を有する情報が、ファンツリーアドレッシング方法370に従ってファンツリーに編成される。指紋データベース350内の入力指紋ごとに、高速で効率的な指紋照合を容易にするために、候補指紋組合せ360の列が生成され、ファンツリー370および対応する指紋データ構造380に格納される。指紋組合せの列の目的は、クエリイメージのアフィン変換または透視変換などの可能な変換に起因して複数の(非アンカ)キーポイントが欠けることを可能にし、なおかつ、高い正確さで指紋を正しく検出できるようにすることである。
(c)図4に、特定のクエリイメージ410に関するリアルタイムイメージクエリの実行400を示す。これは、特定のクエリイメージ410内のキーポイント位置を識別し(420)、クエリキーポイントの局所グループからのクエリキーポイントごとに指紋情報を計算し(430)、クエリ指紋440と既存のファンツリー指紋データ480を照合し、コレクション内で最もよく一致するイメージまたはイメージのセットを判定することで行われる。各クエリ指紋は、ファンツリーアドレスを計算すること(450)に用いられる。ファンツリーアドレスは、オリジナルのイメージコレクション指紋レコード485のサブセット(下位集合)を含む特定のファンツリーの葉のノードリストにつながる。サブセットリストからの各オリジナル指紋は、順次、指紋照合460のために現在のクエリと比較される。クエリ指紋が取り出された指紋レコードのうちの1つと一致するたびに、そのイメージの一致する指紋の数のカウントを増分する。さらに、指紋の強さおよびそれがターゲット指紋にどれほど一意に相関するかに基づいて、指紋の一致のそれぞれに対してスコアを割り当てる。最後に、指紋スコア分析モジュール490が、イメージごとに、一致する指紋470の結果の累算されたスコアおよびカウントを調べて、クエリイメージ410に最もよく一致する、コレクション内の最良一致イメージまたは最良一致イメージのセット495を判定する。総合スコアを、指紋一致の個数とその相対スコアとを組み合わせることによって、一致する文書ごとに計算する。応用例に応じて、指紋スコア分析モジュール490は、最高の総合スコアを有する単一の文書を選択してもよく、あるいは、その代わりに、所定の値より大きい総合スコアを有するすべての文書を選択してもよい。次に、図1のコンポーネントのうちの1つによって、一致する文書セットを取り出し、プリントアウトし、電子的に送信し、表示し、および/または格納することができる。
I.a.イメージコレクション前処理
イメージコレクション前処理の流れ図500を、図5に示す。ターゲットイメージ510を、一時に1つずつ順次処理して、キーポイント識別に基づいてその視覚的指紋情報を抽出する。
キーポイント識別処理モジュール/ステップ520では、各ターゲットイメージ510を処理して、入力イメージ内容に基づいてキーポイントのセットを識別する。この方法の成功は、きれいなターゲットイメージ内と、ある一般的なひずみおよび変化する照明条件の下でのそのイメージの劣化した版とでほぼ同一のキーポイントを見つける能力に依存する。キーポイント識別モジュール520の出力は、キーポイントと、スケール、ページ上の位置、および相対強さなどのそれに関連する属性とのリストである。
次に、指紋構成処理ステップ530で、局所近傍内のキーポイントの小さいグループから指紋を計算する。局所化された指紋の使用は、特にカメライメージの配置の要件および全体的な照明の要件の緩和に関して、この方法の柔軟性および頑健性(robustness)に大いに寄与する。結果の指紋は、指紋データベース550に格納され、指紋データベース550では、各イメージが、ターゲットイメージ510に対応する一意イメージID540を有する。
I.a.1 イメージキーポイントの検出
キーポイント識別モジュール(たとえば、図5の520)の目標は、ノイズと、シーン照明変動と、スキュー、ワープ、回転、並進、スケール、解像度の変化などの一般的ひずみと、を受ける劣化したイメージにおいてさえ繰り返して信頼できる形で見つけられる可能性が高い、連続トーンピクチャイメージ内の安定したキーポイントを識別することである。
この方法は、複数のスケールでの入力イメージのスケール空間ピラミッド表現を構成する。各スケールで、特定のフィルタのセットが入力イメージに適用され、ここで、各連続するフィルタは、前のフィルタのスケールアップ版である。フィルタ出力は、スケールおよび空間の単一の関数D(x,y,s)を形成するために一緒に組み合わされる。安定したキーポイント位置は、関数D(x,y,s)がスケール空間近傍内で局所ピーク値(最大値または最小値のいずれか)を達成するピクセル位置として、各スケール内で識別される。
本願の一実施形態では、入力イメージ内で識別されるすべての使用可能なキーポイントが使用される。もう1つの実施形態では、使用可能なキーポイントが、相対強さと、キーポイントスケールおよび/または他のキーポイントへの近接などの他の考慮事項とによって、また、出力すべき最良のキーポイントのうちの固定された個数だけを選択することによって、ソートされる。さらに、第3の実施形態では、入力イメージ区域510を(オーバーラップするまたはオーバーラップしない)領域のセットに下位分割することができ、複数の好ましいキーポイントが、ある領域が他のすべての領域に優位を占めるのを防ぐために、各領域から選択される。
最後に、キーポイント識別モジュール520の最後の処理ステップは、2つのキーポイントが所定の公差レベル内で正確に同一の位置を有することがないことを保証するために、妥当性検査ステップを含む。この妥当性検査ステップは、すべての重複する位置のキーポイントを、この位置での最も強く最も望ましいキーポイント(その強さ、スケール、および/または他のキーポイントへの近接に依存する)だけを保持し、他のすべての同一位置のキーポイントを除去することによって、除去する。キーポイント識別モジュール520の出力での残りのキーポイントのリストが、最終候補キーポイントリストになる。
あるイメージ内で識別できるキーポイントの全体的な個数は、もちろん、入力イメージ内容と、キーポイントの強さのしきい値などのキーポイント識別パラメータの選択と、に依存する。通常の自然シーンイメージには、概して数百個から数千個までのキーポイントがあり得る。
ここで図6に移ると、ターゲットイメージ610の文書キーポイント位置を検出するプロセス600が示されている。適応しきい値の設定、ブラーリング(blurring)、および連結成分コレクションのイメージ処理は、文献で周知である。最良の結果のためには、人間の視覚系の特性に従う知覚イメージ空間内でのキーポイント識別プロセスを実行することが望ましい。
第1の適応しきい値モジュール620のバイナリ(二値)出力イメージ625は、CCサイズ推定モジュール630に送られる。ここで、用語「CC」は、連結成分(Connected Component)を表し、これは、同一極性を有するバイナリピクセルの最大限に接続されたサブグループである。2つのピクセルは、それらの間に同一極性のピクセルの経路が存在する場合に限って、同一の連結成分に含まれる。CCサイズ推定モジュール630の目的は、ターゲットイメージ610について、イメージごとに、後続のラジアルブラーモジュール640で適用されるブラーフィルタサイズなどのブラーパラメータ635を動的に推定することである。ブラーリングプロセスの目的は、頑健で信頼でき再現可能なキーポイント識別を提供することである。ブラーリングは、ごま塩ノイズなどのノイズを除去し、ページ上の小さい分離された特徴を除去するのも助ける。たとえば近似ガウシアン形状(approximated Gaussian shape)であるがこれに限定はされないブラーリングフィルタの形状は、望ましくないアーティファクトを導入するのを防ぐのに十分に滑らかでなければならない。
正しい量のブラーリングを判定する際の1つの問題は、入力ページ上の通常のテキスト文字のサイズが事前にはわからないことである。本願の一実施形態は、10ポイントから14ポイントまでのRomanフォントなど、ある範囲の標準タイプフォーマットにまたがるよい妥協を提供する、固定され前もって事前に決定されたラジアルブラーパラメータ635を開示する。本願の第2の実施形態では、ラジアルブラーパラメータ635は、ユーザが文書ごとに適用すべき最適セッティングを指定できるように、選択可能にされる。これらの実施形態のどちらでも、CC推定モジュール630は使用されず、その出力は、選択された事前定義のラジアルブラーパラメータ635によって置換される。
本願の第3の実施形態では、CC推定モジュール630は、入力ターゲットイメージ610内容を調べることによって最適ラジアルブラーパラメータを自動的に推定するのに使用される。この場合に、CC推定モジュール630は、適応しきい値620モジュールからのバイナリ出力625を使用する。CC推定モジュール630は、バイナリイメージ625を処理して、連結成分の要素を集め、連結成分の高さのヒストグラム化に進む。というのは、文字の高さは文字の幅より変化が少なく、ほとんどのロマンス語で文字の幅と比較して文字の高さの方がフォントサイズをよりよく示すからである。高さのヒストグラムは、発生の頻度に基づいて、適当なラジアルブラーパラメータを判定するのに使用される。このプロセス中に、CC推定モジュール630は、寸法が小さ過ぎる(たとえば、少数の分離されたピクセルからなる)または寸法が大きすぎる(たとえば、長い線またはフレームにページの中で出会う時)時など、ノイズによって誘導される連結成分を除去するよう取り計らい、その結果、提供される推定値が、少数の異常に大きいまたは異常に小さい連結成分要素によって偏ることがないようにする。さらに、ページは、フォントサイズの混合された寄せ集めを含む場合があるので、CC推定アルゴリズムは、混合されたフォントセットの場合であってもよい妥協を有する保守的な推定値を提供するように設計されている。
本願の第4の実施形態では、CCサイズ推定モジュール630は、局所化されたサブイメージの領域内の入力イメージの内容を分析することと、領域ごとに(たとえば、主に小さいポイントのテキストを含む1つのイメージ区域からより大きいフォントを含む別の近くの区域に動的に移動する時)ブラーリングパラメータを適応的に変更することとに基づいて、適応ブラーリングパラメータを動的に提供することができる。
ラジアルブラーモジュール640の出力は、グレイスケールイメージ645である。適応しきい値モジュール650は、ラジアルブラー640からのグレイスケールのイメージ出力645を、適応しきい値設定650によってバイナリ白黒出力655に変換する。
第2適応しきい値モジュール650のバイナリ出力は、バイナリイメージ655であり、連結成分モジュール660に転送される。連結成分法は、当技術分野で周知であり、グラフの最大限に接続された成分のセットと考えることができる。
本願の第1の実施形態では、使用可能な連結成分のすべてが使用される。第2の実施形態では、使用可能な連結成分が、たとえば、連結成分寸法の最適量、ピクセルカウント、アスペクト比、および/または他の連結成分への近接に重みを与えることによって、相対強さによってソートされ、連結成分のより小さいサブセットだけが出力される。第3の実施形態では、入力ターゲットイメージ610を、オーバーラップするまたはオーバーラップしない領域のセットに下位分割することができ、複数の連結成分を、ある領域が他のすべての領域に優位を占めるのを防ぐために、各領域から選択することができる。
重心計算モジュール670は、連結成分モジュール660の出力での各連結成分の視覚的中心を判定する。連結成分ごとに、水平重心位置は、連結成分の各メンバピクセルの水平座標を一緒に合計し、その結果をメンバピクセルの総数で割ることによって計算される。垂直重心位置は、各メンバピクセルの垂直座標を一緒に合計し、メンバピクセルの個数で割ることによって、同様に計算される。合計は、効果的に、連結成分分析中にオンザフライで行うことができる。所定の連結成分のピクセルメンバだけが、すべての他の非メンバのピクセルの「穴」を無視して、その重心位置に寄与することに留意されたい。各連結成分の視覚的重心は、サブピクセル精度で計算される。というのは、多くの言語で、連結成分が、テキスト行内に配置される傾向があるからである。
キーポイント識別フェーズの最後の処理ステップでは、重心計算モジュール670からの連結成分重心位置のリスト675が、重複除去モジュール680によって妥当性検査され、重複除去モジュール680は、キーポイントのリスト685を作る。この妥当性検査の目的は、2つの連結成分が所定の公差レベル内で同一の重心位置を有しないことを保証することである。ほぼ同一の重心位置を有する重複した連結成分が、除去される。
重複除去モジュール680の出力での残りの連結成分重心のリストが、最終候補クエリキーポイントリスト695になる。候補キーポイント690の総数は、入力イメージ内容と、連結成分処理のタイプとに依存する。通常の機械印刷されたページについて、数百個のキーポイントがあり得る。
I.a.2.指紋の構成
このセクションでは、キーポイントの局所グループから指紋を計算し、指紋データベース(たとえば、図5の550)での効率的な格納のために指紋を圧縮するプロセスを説明する。指紋は、指紋データベースサイズ要件および格納要件を減らすためにパックされる。
広範囲のノイズ、ビューイング条件、およびイメージひずみにまたがって安定な、頑健な2D視覚的指紋の識別が、入力イメージ内で探される。さらに、システムが非常に大きいイメージコレクションサイズ(たとえば、数百万個のイメージを含む)を効率的に処理するようにスケールアップすることを可能にするために、指紋サイズを最小にすることが有用である。というのは、指紋データベースが、コレクション内の有効な指紋のすべてからなるからである。それと同時に、指紋は、それが表す個々のイメージシグネチャを高い正確さおよび信頼度で識別するように設計される。
指紋は、パーシスタント・レシオ(persistent ratio)と呼ばれる、量子化された変換不変の2Dの比の列として構成され、パーシスタント・レシオは、所定のキーポイントとその(N−1)個の最近近傍キーポイントとの相対的な2D位置から導出される。したがって、各指紋は、処理対象のキーポイントの周囲の小さいイメージ近傍に局所化される。指紋の列は、処理対象のキーポイントとその(N−1)個の最も近いキーポイント近傍との間の相対的な2D配置だけに依存する。近傍の個数Nは、指紋の強さに影響する設計パラメータである。
指紋化法は、連続トーンイメージの場合に拡張される。ある種の単語重心特徴がバイナリイメージ内の頑健なキーポイントを識別するのに利用される機械印刷された文書の場合とは異なって、連続トーン画像内で安定したキーポイントを見つけることは、かなりよりむずかしい。したがって、機械印刷された文書に見られるキーポイントと比較して、より高い可変性が連続トーンイメージに見られるキーポイントに関して期待される。
連続トーンイメージに関する通常の問題は、2つのイメージの間のキーポイントの対での照合である。機械印刷された文書では、単語重心は、ノイズおよびイメージひずみに対して非常に頑健であり、両方のイメージ内に高い確率で現れる可能性が高い。対照的に、連続トーンイメージ内の顕著なスケール空間キーポイントの一部、特により弱いキーポイントは、それほど特徴的ではない場合がある。
連続トーンイメージに関する通常の状況は、キーポイントのほとんどを、クエリイメージとターゲットイメージとの両方で高い確率で共通して見つけることができるが、時々、ターゲットイメージ内の対応する一致するキーポイントを有しない、クエリイメージ内の少数の欠けているまたは余分なキーポイントがある場合があることである。欠けているキーポイントとは、ターゲットイメージには見られるがクエリイメージには見られないキーポイントである。余分なキーポイントとは、クエリイメージには見られるがターゲットイメージには見られないキーポイントである。
クエリイメージとターゲットイメージとの間の、個数が可変の欠けているキーポイントまたは余分なキーポイントの存在は、指紋の照合結果をすばやく劣化させる可能性がある。複数の要因に起因して、余分なキーポイントまたは欠けているキーポイントは、複数の指紋に影響する可能性が高い。というのは、所定のキーポイントが、通常は複数の局所的な指紋組合せに用いられるからである。
提示されるのは、イメージ内の少数の最も強いキーポイント(アンカキーポイントと呼ばれる)と、加えて他の(非アンカ)局所キーポイントとの特定の組合せに基づく新しい指紋化法である。その強さに起因して、アンカキーポイントは、クエリイメージとターゲットイメージとの両方で高い確率で見つかる可能性が高い。アンカポイントの使用は、近傍内の少数のより強いアンカキーポイントと共により弱い局所キーポイントを一緒に「グループ化する」ことによって、指紋の組合せの総数をかなり減らすのを助ける。アンカキーポイントは、その相対的な強さおよび他のアンカキーポイントへの距離に基づいて、候補キーポイントのリストから選択される。このアルゴリズムは、距離に基づいて同一のまたはより小さい強さのキーポイントを一緒にグループ化し、グループ代表として最も強いグループキーポイントだけを保持するために、クラスタ化技法を使用する。このアルゴリズムは、グループにマージすべきさらなるキーポイントがなくなり、および/または前の反復からのグループ内距離の変化が所定のしきい値未満になるまで、反復される。さらに、最小距離クラスタ化パラメータが、イメージについて良いアンカキーポイントの範囲を得るのに使用される。次に、結果のグループ代表(すなわち、各グループ内の最も強いキーポイント)が、アンカキーポイントのセットとして選択される。
指紋は、パーシスタント・レシオ(パーシスタント比,persistent ratio)と呼ばれる、量子化された変換不変の2Dの比の列として構成され、パーシスタント・レシオは、キーポイントのグループの相対的な2D位置から導出される。この実施形態では、欠けているキーポイントまたは余分なキーポイントに対して指紋を頑健にするために、指紋を構成するのに使用されるキーポイントの局所グループは、事前に決定される少ない個数のアンカキーポイントに加えて、局所キーポイントを含むように構成される。
したがって、本発明の実施形態による指紋を形成するキーポイントのグループは、所定のキーポイント、少数のアンカキーポイント、および他の(非アンカ)局所最近近傍キーポイントのセットからなる。指紋内のキーポイントの全体の個数およびアンカ対他のキーポイントの個数の比率は、指紋の強さおよび頑健性(robustness)に影響する2つのシステム設計パラメータである。
アンカキーポイントおよび他の局所キーポイントの組合せから指紋を計算する特定の方法を、図7に示す。指紋は、キーポイント識別モジュールの出力での候補キーポイントごとに計算される。指紋がそれについて計算される現在のキーポイント位置(1)が、図7の中央に正方形パターンを用いて示されている。指紋は、(a)現在のキーポイント位置(1)、(b)現在のキーポイント位置に最も近い事前に決定された個数のアンカキーポイント(図7で星パターンによって示された2、3)、および(c)複数の最近近傍非アンカキーポイント(図7で円パターンを用いて示された4から10まで)の2D位置から計算される。追加の非アンカキーポイント位置(図7の破線パターンの11から13までなど)は、現在のキーポイント位置(1)から事前に決定された距離より遠いので、指紋には含まれない。
各指紋が、所定のキーポイント位置(1)に対して相対的に最も近いアンカキーポイントならびに非アンカキーポイントを選択することによって、処理対象のキーポイントの周囲の小さいイメージ近傍に局所化されることに留意されたい。本実施形態の特定の態様は、ディジタルカメラ、セル電話機カメラ、または他のイメージ取り込みデバイスを用いるイメージのピクチャのスキャンまたは撮影のプロセス中に一般的に発生するある種のイメージひずみ(スキュー、ワープ、回転、並進、スケール、解像度の変化など)に対して指紋を頑健にすることにある。
本発明の実施形態において、N個のキーポイントのグループの2D位置から指紋を計算する方法では、キーポイントの一部が、通常のキーポイントではなくアンカポイントになるようにさらに制約される。任意のアンカキーポイントおよび/または非アンカキーポイントの非同一線上の組合せからなるP=4個のキーポイント{A,B,C,D}のグループごとに、三角形面積の比(ABC/ACD)が、計算され、Q個のレベルに量子化される。Qの値は、2の2進べきになるように便利に選択することができる。量子化プロセスを、Q=8の場合について図8A〜図8Bに示す。
図8Aに示されているように、三角形ABC850および第2の三角形ACD860を含む、物体表面上の4つの非同一線上の点{A,B,C,D}(すなわち、810、820、830、840)からなる任意の所定の多角形800について、三角形面積の比(ABC/ACD)870は、任意のアフィン変換の下で一定のままになることが、当技術分野で周知である。したがって、P=4個の点だけが、三角形比870として示されている、1つの三角形面積比を計算するのに必要である。このアフィン変換は、多くの実用的状況で、カメラ対平面物体ジオメトリを記述する受け入れられるモデルを提供することが示されている。
本願のもう1つの実施形態では、アフィンより高い変換次数がイメージモデルを記述するのに必要な状況について、その変換を、2つの三角形比の積である単一のパーシスタント・レシオを計算するためにP=5個の点(4個ではなく)を使用する透視変換を処理するように拡張することができる。
したがって、単一の指紋は、時計回りの順番でソートされたN個の最近近傍キーポイントのグループに関する量子化されたパーシスタント変換レシオの列からなる。指紋のサイズを小さく保つために、変換比870は、Q個のレベルに量子化される。一実施形態で、Qの値は、2のべき乗になるように便利に選択することができる。図8Bでは、量子化プロセスが、Q=8の場合について図8Aの三角形比870の量子化として図示されている。量子化の前の三角形比の有効範囲(0,∞)は、図8Bに示されているように‘0’から‘7’までのラベルを付けられたQ=8個のインターバル(区間)に分割される(890)。インターバルの境界は、代表的な文書の大きいセットにわたって量子化ラベルがほぼ一様に分布するように経験的に決定される。入力される三角形比値880は、順次、増加するインターバル境界と比較されて、最初のより大きいまたは等しいインターバル境界が判定され、その時に、このプロセスは終了され、対応するラベルインターバルが、量子化された結果として割り当てられる。たとえば、1.0より小さく前のインターバル境界より大きい0.8253694の三角形比の入力は、量子化された値‘3’を割り当てられる。
三角形面積比を使用することの利益は、その値がアフィン変換の下で一定(したがって、パーシスタント(永続的))のままになることである。アフィン変換は、多くの実用的状況で、カメラ対平面物体ジオメトリを記述する受け入れられるモデルを提供することが示されている。
指紋照合中に発生し得る1つの問題は、クエリイメージが、照合されるターゲットイメージに対して相対的に異なる方位である場合があることである。クエリイメージがターゲットイメージに対して相対的に回転される時に、結果として得られる指紋の列は、2つの指紋が数字の同一のセットを共有する場合であっても、列内の数字の異なる順序に起因してターゲットの列と一致しない可能性が高い。2つの指紋は、指紋の列全体ですべての対応する量子化された比の数字それぞれの間に1対1の一致がある場合に限って一致する。
所定の指紋の量子化された比の特定の列は、そのキーポイントの特定の順序付けに依存する。たとえば、クエリイメージが、基準オリジナルに対して相対的に回転される場合に、開始キーポイントが異なる可能性があり、これは、量子化された比の完全に異なる列につながる。可能な指紋一致を判定するために、2つの指紋を、まず、対応するキーポイントの同一の列の順にしなければならない。
上の問題を克服する1つの手法は、イメージ回転の結果として潜在的に発生する可能性があるすべての可能な指紋の列を生成し、これらを、照合すべき可能な候補指紋としてファンツリーに登録することである。しかし、この手法は、複数の一致についてチェックする必要において非効率的であると同時に、メモリ内に各候補指紋の複数の版を格納する必要において浪費的である。
SLCD(Smallest Least Common Quantization Digit)法は、クエリ指紋ごとに照合すべき候補指紋の全体的な個数を実質的に減らすことによって、大幅な性能向上をもたらす。
第1ステップでは、指紋の数字の列のヒストグラムを実行して、最小の最も数少ない量子化数字を判定する。例として、次の単一の指紋の列を検討されたい。
指紋=「14603616376756326322477662652206667」
指紋の列の数字をカウントして、各値のタイプがいくつあるかを判定する。たとえば、上の指紋は、2つの‘0’の数字、2つの‘1’の数字、6つの‘2’の数字、4つの‘3’の数字、2つの‘4’の数字などを有する。最小の最も数少ない数字は、指紋の列に少なくとも1回現れる最小の最も頻繁でない数字、すなわち、ゼロでないカウントを有する最小の数字である。上の指紋の例では、最小の最も頻繁でない数字は、数字‘0’である。というのは、1のカウントを有する数字がなく、この指紋の列内に2のカウントを有する少なくとも3つの数字(‘0’、‘1’、および‘4’)があり、‘0’が、他の数字‘1’または‘4’より小さいからである。優先順位は、順列の全体の数を最小にするために、必ずより小さいカウントに与えられる。
指紋の列内の最小の最も数少ない数字の値を判定した後に、列をスキャンして、最小の最も数少ない数字の指紋の列内の位置を判定する。位置ごとに、最小の最も数少ない数字の位置までの列の開始部分を、開始部分および終了部分の内部の列を変更しないままに保ちながら、指紋の列の終りに並べ替える。したがって、順列の数は、指紋ごとに異なる。指紋の列ごとに、順列の数は、指紋の最小の最も数少ない数のカウントと等しい。SLCD法の利益は、すべての可能な指紋の列の数字の順列空間全体における網羅的検索を必要とせずに、よいバランスのとれた計算負荷で指紋あたりの順列の数を最小にしようとすることである。
上のサンプル指紋のケースについて、SLCDの実施形態の方法による結果の順列は、次の2つの列の候補を含む。
したがって、クエリの指紋が、ソートされ、この例では2つの指紋の順列の候補と照合される。各順列は、オリジナルの指紋の列の先頭から最小の最も数少ない数字(このケースでは‘0’)の位置までが並び替えられた指紋の列の終りにシフトすることによって形成される。順列の下の‘^’マーカは、説明のために、オリジナルの指紋の列の終りの位置を示す。
本願の実施形態では、並び替えられた指紋の列が、オリジナルの指紋の列の代わりに使用される。順列を使用することの利益は、照合する必要がある指紋の列の候補の数がかなり減ることである。オリジナルの指紋の列のすべての可能な循環する組合せを調べるのではなく、最小の最も数少ない数字の少数の順列だけが調査される。順列は、指紋データベースの準備の間に前もって生成され、格納される。クエリの時には、クエリの指紋の列の最初の順列だけが、照合に使用され、追加のクエリの順列をチェックする必要はない。というのは、すべての順列が前もって格納され、正しい順列が自動的に見つけられるからである。
本願の実施形態による順列の使用は、順列の数が、平均してオリジナルの指紋の列の長さよりはるかに小さいので、わずかなストレージ増加について大きい性能向上をもたらす。
本願のもう1つの態様は、欠けているキーポイントまたは余分なキーポイントの場合の指紋の頑健性を高めるために、複数(通常は2つ以上)の非アンカ近傍キーポイントが、欠けていることを許容されることである。しかし、より強いアンカキーポイントは、指紋一致を得るために、クエリイメージとターゲットイメージとの両方に存在することを要求される。
本願の一実施形態の下では、小さい局所化された近傍内の限られたアフィンひずみの下で、3つまでのキーポイントを除外することが許容される。もちろん、システムでの考慮事項に依存して、3つを超えるキーポイントを除外することができる。したがって、各所定のキーポイントは、一回に3つの非アンカキーポイントを除外することによって、複数の指紋を生じる。各指紋は、方位の半径方向順で残りのアンカキーポイントおよび非アンカキーポイントを系統的にウォークすることと、P個の点(アフィン変換ではP=4、透視変換ではP=5)のすべての可能な組合せについて量子化されたパーシスタント・レシオの列を記録することとによって作成される。図9に、Na=2個のアンカキーポイント、N=8、P=4、およびQ=8の場合の単一のイメージの指紋の出力の例を示す。各キーポイントは、この場合では長さ35の複数の指紋の列を生じる。
指紋化プロセス1000を、図10に詳細に示す。指紋化プロセス1000への入力は、入力イメージ1005の候補キーポイントのリスト1010である。
図10での第1ステップは、アンカキーポイント識別モジュール1015が、上で述べたように、キーポイント強さ、スケール、位置、および/または他のキーポイントへの近接などのさまざまな判断基準に基づいて入力イメージ1005内で見つかる候補キーポイントの中でアンカキーポイントの適切なサブセットを選択することである。
指紋のセットを、候補キーポイントリスト1010内のキーポイントごとに計算する。各現在の候補キーポイントKpを、次キーポイント取得モジュール1020によって入力リストから順番に選択する。候補キーポイントごとに、最近アンカキーポイント発見モジュール1030が、所定のキーポイントKpまでの最も近い距離を有するNa個の最も近いアンカキーポイントを識別する。次に、最近近傍発見モジュール1040が、所定のキーポイントKpまでの最も近い距離を有する(N−Na−1)個の最近非アンカキーポイントを識別する。返されたキーポイントを、Kpからの増加する距離によってソートする。キーポイントの総数Nは、指紋の「強さ」(特徴性)と、全体的なシステム性能(指紋あたりの計算の回数)と、結果のデータベースサイズ(指紋サイズ)との間のよいトレードオフをもたらすように選択される。一実施形態では、値N=8、12、および16が使用される。
時計回り順でのソートモジュール1050は、ターゲットイメージとクエリイメージとの間の量子化された面積比の一貫した列を提供するために、増加する時計回りの方位で所定のキーポイントのN−1個の最も近いアンカおよび非アンカのキーポイントのリストをソートする。指紋ごとに、時計回り順でのソートモジュールは、現在のキーポイントおよびNa個の最近アンカキーポイントを使用して、サブグループの原点中心を計算する。非アンカキーポイントは、いくつかの余分な非アンカキーポイントまたは欠けている非アンカキーポイントの場合であっても原点が安定したままになることを保証するために、サブグループの原点中心の計算では使用されない。
現在の近傍キーポイントクラスタの原点中心を判定した後に、時計回り順でのソートモジュール1050は、増加する時計回り方位順でのキーポイントのソートに進む。ソートは、方位と距離との両方で行われる。主順序は、増加する時計回り方位順による。しかし、複数の点が、おおむね同一(事前定義の公差レベル以内)の方位を有する場合には、点を、ほぼ同一方位のすべての点について増加する距離によって下位順序付けする。原点中心の位置は、現在のキーポイント位置からの矢印によって指摘される(たとえば、図7の位置1)。
N個の最も近いアンカキーポイントおよび非アンカキーポイントの順序付けを所定のキーポイントについて確立したならば、指紋を生成することができる。指紋は、近傍内のサイズP=4のキーポイントの連続するサブセットから形成される。N個のキーポイントのP個のサブセットが、次サブグループ組合せモジュール1060によって、系統的な一貫した形で考慮される。それぞれについて、P個のサブセットのパーシスタント面積比を計算し、その面積比を整数にマッピングすることによって、整数を判定する。所定のキーポイントの指紋の長さは、そのようなP個のサブセットの総数である。これは、N個のキーポイントから一意のP個のキーポイントを選択するための組合せの個数によって決定される。たとえば、N=8かつP=4の場合に、可能なサブグループの組合せの個数は、70個のパーシスタント・レシオである。
N個のキーポイントの一意のサブセットのそれぞれについて、圧縮量子化比モジュール1070は、単一のパーシスタント・レシオを計算し、これを事前定義のしきい値のセットを使用して量子化する。量子化レベルの個数Qは、設計パラメータであり、たとえば、Q=8またはQ=16が使用される。量子化しきい値は、特定のカテゴリのピクチャの大きいコレクション内のパーシスタント・レシオの分布を調査することによって経験的に決定される。
指紋データベース1085のサイズをさらに減らすために、圧縮量子化比モジュール1070は、複数の結果の量子化されたパーシスタント・レシオを1つの機械語に圧縮(pack)する。たとえば、N=8、P=4、およびQ=8を用いると、指紋全体(70個の組合せの列)を、4つ未満の64ビット語に密に圧縮することができる。本願の一実施形態では、圧縮された指紋のサイズは、合計3つの64ビット語および3つの8ビットバイトを占める(複数の語および/またはバイトにまたがって部分的情報を分割する必要なしに)。
指紋を計算し圧縮するプロセスは、最後の組合せが最終組合せモジュール1080によって検出されるまで、一時に1パーシスタント・レシオずつ順番に継続する。現在のP個のサブグループの組合せが、まだ最後の組合せではない場合には(1081)、最終組合せモジュール1080は、フローを次サブグループ組合せモジュール1060に戻ってルーティングして、次のP個のサブグループを入手し、その量子化されたパーシスタント・レシオの計算に進み、これを圧縮する。このプロセスは、最後のP個のサブグループ組合せが処理される1082まで継続される。その時に、結果として得られる圧縮された指紋データ1083が、指紋データベース1085に書き込まれる。圧縮された指紋インスタンスのそれぞれが使用可能になる時に、一回に1つの指紋ずつ、指紋データを指紋データベース1085に順次書き込むことができることに留意されたい。
最後に、指紋を書き込むプロセスは、最後のキーポイントが最終キーポイントモジュール1090によって検出されるまで、残りのキーポイントのすべてについて順次継続される。現在のキーポイント組合せが、まだ最後のキーポイントではない場合(1091のNO)には、最終キーポイントモジュール1090は、フローを次キーポイント取得モジュール1020に戻って、次のキーポイントを入手し、その圧縮された指紋を計算するステップおよびそれを指紋データベース1085に追加するステップの繰り返しに進む。指紋化プロセスは、最後のキーポイントの組合せ(最後の対応する指紋)が処理され、指紋データベース1085に追加されるまで、この形で継続される。最後のキーポイントに対処したならば、このプロセスは終了する(1095)。
I.b.高速照合のための指紋情報の準備
図11に移ると、指紋データベース1110からファンツリーを作成するプロセス1100が示されている。指紋データベース1110内の指紋は、メモリサイズおよびローディング時間を減らすために、圧縮フォーマットで格納される。これらを使用できる前に、指紋は、まず、解凍され、効率的な指紋照合を容易にするためにファンツリーデータ構造に従って一意の形で編成される。最初のイメージクエリの際に、指紋データベースを1回だけ準備することが必要であることに留意されたい。ファンツリーデータ構造(解凍された指紋の列を含む)は、メモリ内に保持し、その後、任意の個数のイメージクエリについて再利用することができる。
最初に、キーポイント列除外モジュール1120が、複数の指紋非アンカキーポイント1130を除外することによって、複数の指紋キーポイントの組合せの候補を選択する。これは、局所近傍キーポイントの中の1つまたは複数の欠けているまたは余分な非アンカキーポイントを可能にする。この実施態様では、キーポイント除外モジュール1120は、固定された個数Ne個の非アンカキーポイントを除外する。N−Na個の非アンカキーポイントの局所近傍を用いると、これは、データベースエントリ(またはキーポイント)ごとに複数の指紋を生じる。
指紋列モジュール1150は、キーポイントごとに指紋の候補の列を生成する。たとえば、N=8について、キーポイント除外モジュール1120は、最初のNe個の非アンカキーポイントを除外することと、残りの非アンカキーポイントを選択することとによって、最初の指紋を生成させる。その後に、キーポイント除外モジュールは、第2の指紋を作成するために、第1、第2、および第4の非アンカキーポイントを除外した、キーポイントの次の組合せを生成する。このプロセスは、すべての除外されるキーポイント組合せに出会うまで継続される。
指紋列モジュール1150から出力される指紋データ1160は、データベースから取り出される現在のイメージの一意イメージID1140と一緒に、指紋レコード1180を形成する。指紋レコード1180は、ファンツリーモジュール1170によってアドレス付けされた対応するファンツリー葉ノードの位置に格納される。ファンツリー葉ノード情報は、対応する指紋データ構造1190内の指紋レコード1180のリンクリストとして格納される。実際のファンツリー葉ノード(実際の指紋に対応する)だけが、投入される。特定の葉ノードに最初に到着する指紋が、最初にその葉ノードに投入される。複数の指紋が、同一の葉ノードにもう一度(すなわち、同一のファンツリー経路に従って)たまたま到着する場合には、第2の指紋情報は、第2指紋情報をその葉ノード上の第1指紋情報にリンクすることによって、同一の葉ノードで追加される。
本願の実施形態で、指紋の列は、クエリイメージがターゲットイメージに対して相対的に回転される時であっても対応する指紋の照合を容易にし、取り込みプロセス中の透視ひずみおよび他のイメージ品質劣化に起因して非アンカキーポイントが欠けることを許容するために、前に説明したSLCD法に従って並び替えられる。
本願の文脈では、並び替えられた指紋の列が、オリジナルの指紋列の代わりに使用される。順列を使用することの利益は、照合する必要がある候補指紋列の数がかなり減ることである。オリジナルの指紋の列のすべての可能な循環する組合せを調べるのではなく、最小の最も数少ない数字の少数の順列だけが調査される。順列は、指紋データベース準備中に前もって生成され、格納される。クエリ時には、クエリ指紋の列の最初の順列だけが、照合に使用される(すべての順列が前もって格納され、正しい順列が自動的に見つけられるので)。
本願の実施形態による順列の使用は、順列の数が、平均してオリジナルの指紋の列の長さよりはるかに小さいので、わずかなストレージ増加で大きい性能向上をもたらす。
本願の一実施形態では、ターゲットイメージ位置に対する相対的なクエリイメージの最初の観察されるキーポイントの回転方位を確立するために、テストが実行される。このテストは、可能な最初の観察されるクエリキーポイントの組合せのそれぞれを評価することと、最良の列の一致を選択することとによって実行される。
本願の第2の好ましい実施形態では、N個の可能な最初に観察されるクエリキーポイントの組合せは、前もって事前計算され、照合すべき追加の指紋の候補の列として格納される。クエリ時に、N個の事前計算された組合せのうちの1つと一致するすべてのクエリ指紋が、一致と考えられる。誤ったクエリ指紋が余分な組合せのうちの1つと実際に一致する尤度は低い。この第2の実施形態の主な利益は、追加の候補の最初のキーポイントの指紋の組合せを含むために多少より大きいストレージを犠牲にして、第1の実施形態に対して相対的により高い照合性能を可能にし、クエリ計算負荷を下げることにある。
第3の好ましい実施形態では、Smallest Least Common Quantization Digit(SLCD)法が使用される。SLCD法は、最小の最も数少ない量子化数字を判定するために指紋の数字の列のヒストグラムを実行することと、最小の最も数少ない数字の位置ごとに指紋の列を並び替えることとに基づく。SLCD法の利益は、すべての可能な指紋の列の数字の順列の空間全体における網羅的検索を必要とせずに、よいバランスのとれた計算負荷で指紋あたりの順列の数を最小にしようとすることである。
並び替えられた指紋は、高速で効率的な指紋照合を容易にするために、独自の形で編成される。本願の一実施形態では、並び替えられた指紋の情報は、クエリイメージとピクチャコレクションン内の指紋の候補との間の高速指紋照合のために、ハッシング方式を使用して編成される。本願の第2の実施形態では、並び替えられた指紋情報は、ファンツリー法に従って編成される。一般的なハッシング技法とは異なって、ファンツリーは、高次元空間での効率的な近近傍指紋検索(たとえば、1つまたは少数の数字の変化を除く同一の列を有する目標に近いが不十分な指紋)を可能にし、少なくとも、ハッシュテーブル手法と同様に高速である。図12に、高速に指紋をインデクス付けする方法として、ファンツリー構造および指紋内容の対応する編成1200を示す。
ファンツリー構造および指紋内容の対応する編成1200は、格納されたデータを編成するのに使用される。ファンツリーは、3つのタイプのノードすなわち、(a)ルートノード1210、(b)中間レベルツリーノード(たとえば、1220,1221,1230,1231,および1232)、および(c)枝の終りの終端葉ノード(たとえば、1240,1241,1242,1243,および1244)からなる。ファンツリーは、ルートノード1210から始まる。ルートおよび中間レベルノードのそれぞれは、パーシスタント面積比の量子化レベルごとに1つの、N個(この場合にはN=8)までの子を有する。したがって、指紋は、ルートからファンツリーの葉ノードまでの、たどられる枝によってトレースされる経路である。
たとえば、図12の経路(1210−1220−1230−1240)は、ルートノード1210から特定の葉ノード1240につながる、1つの指紋に対応する。指紋のこの特定の表現は(この単純な例で)、目指す葉ノード1240に達するのに3つの分岐コード(すなわち、「各ノードの左経路をとる」すなわち、(0)ラベルを付けられた分岐を3回)を使用する。
ファンツリーの潜在的サイズは大きく、この場合には8×8^35であるが、実際のファンツリーは、分岐がデータベース内に実際に現れる指紋についてのみ任意の所定のノードで構成されるので、疎に構成される。ルートの近くでは、多くのノードが、8個すべての分岐を含むが、2〜3レベル下では少数の分岐だけが展開される可能性がある。
葉ノードは、外に出る分岐を有しないという点で、他のツリーノードタイプと異なる。その代わりに、各有効な葉ノードは、クエリ時にクエリ指紋と照合される、図12の要素(1250,1251,1252,1253,1254,1255,1260,1261,1262,および1265)を含むがこれらに限定はされない指紋レコードのリスト1270を含むリンクリストデータ構造を指し示している。これらは、指紋データ内容1280をも構成する。
指紋データは、データベース内の関連する指紋レコードへのすばやいアクセスを容易にし、それと同時に、現在の処理対象のクエリ指紋に関して関連しない指紋レコードを調査する必要を除去するように効率的に編成される。
ファンツリー手法は、ニアミス(near−miss)指紋を取り扱う2つの方法を使用可能にする。ニアミス指紋とは、少数の数字の変化を除いてほぼ同一の整数の列を有する指紋である。上述の2つの方法とは、次の2つである。(1)ニアミス指紋の組合せを前もって計算し、ファンツリーに事前に格納することができる。(2)ニアミス指紋の組合せは、クエリ時の間にクエリ指紋の列から計算され得、検索時にファンツリー経路をバックトラックすることができる。第1の方法は、ニアミス指紋の組合せを格納するためのより大きいメモリを犠牲にして、計算のほとんどをオフラインで実行するという利益を有する。その一方で、第2の方法は、実際のクエリ時に追加計算を必要とするが、ストレージ用の余分のメモリを必要としない。
ファンツリーは、効率的なシステム性能およびイメージの非常に大きいコレクション(たとえば、数百万個のピクチャを含む)までスケールアップする能力を可能にする。ファンツリーは、大きいイメージコレクションのサイズに特に適切である。実際に、よい指紋設計を用いると、ファンツリーを使用する検索の時間は、イメージコレクションサイズに伴ってゆっくり増加するのみである。それでも、小さいものから適度なものまでのイメージコレクションサイズに関して、より単純なハッシング方式を使用することができる。
I.b.1.ピクチャコーパスに関するファンツリーの作成
指紋データベース(たとえば、図11の1190)内の指紋は、メモリサイズおよびローディング時間を減らすために圧縮されたコンパクトなフォーマットで格納される。このセクションでは、ピクチャコレクションから抽出されたコンパクトな指紋データベースからファンツリーをどのように作成するかを説明する。ファンツリーは、所定のピクチャコーパスについて1回だけ作成する必要がある。ファンツリーが作成された後に、ファンツリーデータ構造(指紋を含む)を、メモリ内に保存し、その後、任意の個数のイメージクエリについて再利用することができる。
所定の指紋データベース1305からファンツリーを作成するプロセス1300を、図13に示す。このプロセスは、次ページモジュール1310を使用して一回に1ページのイメージずつ指紋データベース内容を読み取ることによって開始される。ページごとに、次の情報がデータベースから取り出される:(a)一意イメージID(指紋データベース作成時に一意イメージIDモジュール(たとえば、図11の1140)によって割り当てられる)、(b)現在のページ上の識別される指紋の個数、および(c)現在のページの指紋レコードの内容。
一意イメージIDは、特定のページのイメージならびにそれが属する文書を一意に識別する整数内部表現である。イメージID表現は、内部のインデクス付けに便利に使用される(文書の従来のUniversal Resource Locator(URL)ストリングを使用するよりコンパクトであり、より少ないスペースを占めるので)。実際のピクチャ内容は、指紋データベースには絶対に格納されず、指紋情報だけが格納される。
次指紋モジュール1320は、データベースから、現在のページに関する現在の圧縮された指紋エントリを取り出す。指紋解凍モジュール1330は、指紋内容を解凍し、進行して、キーポイント除外モジュール1340を使用して複数の非アンカキーポイントを除外することによって指紋の列を生成する。結果の指紋は、使用される方法に応じて、ハッシング構造またはファンツリー構造に格納される。
ファンツリーの場合に、新しい指紋は、一回に1つの指紋ずつ、順次追加される。キーポイント除外モジュール1340の出力の候補指紋ごとに、順列ソートモジュール1350が、候補指紋の組合せを処理して、smallest least common quantization digit(SLCD)アルゴリズムまたは他の方法に従って指紋の列の順列を生成する。
順列ソートモジュール1350の出力は、現在の処理対象の指紋の並び替えられた指紋量子化比の列のリストである。このリストは、smallest least common digitアルゴリズムの特性に従って、少なくとも1つの順列エントリを含むことが保証される。時々、並び替えられた指紋の列のリスト内に複数の順列がある場合がある。並べ替えられた指紋の列の数は、SLCD法の下では変化する可能性がある。順列を使用しない本願の実施形態では、順列ソートモジュール1350がバイパスされ、キーポイント除外モジュール1340からの並び替えられない指紋の列が、次置換モジュール1360の入力に直接に渡されることに留意されたい。
次順列モジュール1360は、順列ソートモジュール1350の出力から現在の指紋の順列の列を取り出す。並び替えられた指紋のそれぞれが、順次登録される。ファンツリー順列登録モジュール1370が、現在の順列をファンツリーに登録し、対応するデータレコードを既存の指紋データ内容に追加する。登録処理は、最初からファンツリーを作成する処理と同等であり、新しい指紋の列を記述するのに必要なノードおよび分岐のみを追加することにより行われる。指紋の経路全体がファンツリー内に既に存在する場合には、ツリー構造は変更されず、現在の指紋レコードだけが、最後の以前のエントリにそれをリンクすることによって既存の指紋データ内容に追加される。
その一方で、新しい指紋の経路が、まだ全体としてファンツリー内に存在しない場合には、欠けているツリーノードおよび分岐が、その経路を完成するために必要に応じてファンツリーに追加される。さらに、現在の指紋レコードが、既存の指紋データ内容に追加され、新たに形成される葉ノードにリンクされる。最終結果は、ファンツリーが現在の指紋を含むように拡張され、その内容レコードが、一回に1つの指紋の経路ずつ、指紋データ内容に追加されることである。
ファンツリーの代わりにハッシング方式が使用されるときには、指紋レコードは、当技術分野で周知の形で大きいハッシュテーブルにハッシュ化される。
ファンツリーまたはハッシング方式のいずれかに次の指紋の順列を追加するプロセスは、最後の順列が最終順列モジュール1375によって検出されるまで、一回に1つの順列ずつ順次継続される。現在の順列が、まだ最後ではない間(1376)は、最終順列モジュール1375は、フローを次順列モジュール1360に戻ってルーティングして、次の順列を入手し、その内容のファンツリー/ハッシュテーブルへの登録に進む。このプロセスは、最後の順列が処理されるまで(1377)、継続される。
現在の処理対象の指紋のすべての順列を登録した後に、この手順は、最終除外キーポイントモジュール1380に移る。これが最後の候補指紋の組合せではない場合(1381)には、このプロセスは、キーポイント除外モジュール1340に戻って、次のキーポイントを除外された次の候補指紋の組合せを処理する。これは、除外されるキーポイントのすべての可能な組合せがファンツリーに登録され1382、その内容が指紋データ1305に追加されるまで継続される。
解凍、キーポイントの除外、順列のソート、結果として得られるすべての順列のファンツリーまたはハッシング方式への登録のプロセスは、最後の指紋が最終指紋モジュール1385によって検出されるまで、一回に1つの指紋の組合せずつ順次継続される。現在の指紋が、まだ最後の指紋ではない間(1386)、最終指紋モジュール1385は、フローを次指紋モジュール1320に戻して、次の指紋を入手し、進行して、解凍し、置換をソートし、それらのすべてをファンツリーまたはハッシュテーブルに登録する。このプロセスは、現在の処理対象のページの最後の指紋が処理される(1387)まで継続される。
現在の処理対象のページのすべての指紋が、上で説明した形で処理され、そのすべての順列がファンツリーに成功して登録され、指紋データ内容に追加されたならば、ページURL追加モジュール1390が、現在のページのURL(Universal Resource Locator)を取り出し、内部の一意イメージIDから真の文書URLへの逆マッピングを別々のデータ構造テーブルに追加する。一意イメージID番号は、完全なURLの文字列よりコンパクトなので、内部的に使用される。
最後に、指紋データベース1305から指紋を取り出し、解凍し、ソートし、すべての順列をファンツリーおよび指紋データレコードに登録するためのページの処理は、最後のページが最終ページモジュール1395によって検出されるまで、一回に1ページずつ順次継続される。現在のページが、まだ最後のページではない場合には、最終ページモジュール1395は、フローを次ページモジュール1310に戻して、次のページを入手し、進行して、その指紋の順列の内容をファンツリーおよび関連する指紋データ内容に登録(1370)する。このプロセスは、最後のページが初期クエリの使用のために準備される(1397)まで継続され、その後、このプロセスは終了する(1398)。
ファンツリーの作成のプロセス全体を、最初のイメージクエリの前にオフラインで行うことができる。指紋データベースが、本願の実施形態に従って準備されたならば、それを、後続のイメージクエリについて再利用することができる。いくつかのターゲットイメージの追加または除去の後など、基準イメージデータが変更された場合にのみ、ファンツリーを再作成する必要がある。
I.c.ランタイムクエリ
クエリ指紋を照合するプロセス1400を、図14に示す。照合されるクエリイメージ1410が、入力で提示され、処理されて、キーポイント識別ステップ/モジュール1420によって候補キーポイント位置を識別される。1420でのキーポイント識別プロセスは、クエリイメージについて期待されるより低い品質に関連する顕著な相違を伴って、前に説明したピクチャコーパスに関するキーポイントを見つけるのに使用されるプロセスに類似する。
クエリイメージ1410の候補キーポイントのリスト1425を処理して、相対的なキーポイントの強さ、スケール、位置、および他のキーポイントへの近接に基づいて適切なアンカキーポイントの小さいサブセットを選択する。その強さに起因して、アンカキーポイントは、クエリイメージとターゲットイメージとの両方で高い確率で見つけられる可能性が高い。
キーポイントは、指紋化モジュール1430によって小さい局所近傍グループ内で処理されて、照合のための候補クエリ指紋が生成される。クエリ指紋は、キーポイント識別モジュールの出力での候補キーポイントごとに計算される。各クエリ指紋は、(a)現在のキーポイント位置、(b)現在のキーポイント位置に最も近い、事前に決定された個数のアンカキーポイント、および(c)複数の最近近傍非アンカキーポイントの2D位置、から計算される。クエリイメージに関する指紋化法は、ピクチャコーパスに関する指紋化方法に類似する。ただし、クエリイメージについて期待されるより低い品質(後述のノイズガード法を導入する)および異なるクエリ指紋順列方式に起因する顕著な例外を伴う。
本願の一実施形態では、入力イメージ内で識別される使用可能なキーポイントのすべてが使用される。もう1つの実施形態では、使用可能なキーポイントは、相対的な強さと、キーポイントのスケール、位置、および/または他のキーポイントへの近接などの他の考慮事項とによって、ならびに固定された個数の出力すべき最良のキーポイントだけを選択することによってソートされる。第3の実施形態では、入力イメージ区域1410を(オーバーラップするまたはオーバーラップしない)領域のセットに下位分割することができ、複数の好ましいキーポイントを、1つの領域が他のすべての領域に優位を占めるのを防ぐために、各領域から選択することができる。さらに本願の第4の実施形態では、指紋化モジュール1430は、指紋の列内の数字または数字パターン出現の頻度に分析に基づいて、最もよい指標となる候補のクエリ指紋だけを選択することができる(まれで異常な数字パターンが、よりよい指標となるものなので)。
指紋化モジュール1430の出力は、局所キーポイントのグループごとの候補クエリ指紋のリスト1435である。
候補クエリ指紋1435のリストは、特定の応用例および所望の性能レベル(処理時間および正確さに関する)に応じて、すべての識別可能な指紋のすべてまたはサブセットのみを含むことができる。たとえば、最もよい指標となる指紋の小さいサブセットだけを、相対的な指紋の強さに基づいて選択することができる。代替案では、処理時間が主な関心事ではないときに、すべての使用可能な候補クエリ指紋を、よりよい正確さのために使用することができる。したがって、指紋化モジュール1430の出力での候補指紋の個数を、正確さと速度との間のトレードオフとして調整することができる。
指紋化モジュール1430のクエリ指紋を、その後、ファンツリーアドレッシングモジュール1440によってファンツリー経路に変換し、ファンツリーアドレッシングモジュール1440は、各クエリ指紋の対応する葉ノードを判定する。葉ノード内容を、指紋データ構造1490内で検索して、特定の葉ノードの一致する指紋レコード1470のリストを取り出す。
ファンツリーではなくハッシング方式が使用されるときには、クエリ指紋をアドレッシングモジュール1440によってハッシュアドレスに変換する。ハッシュアドレスは、ハッシュテーブルの内容から候補指紋レコード1470の類似するリストを検索し、取り出すのに使用される。
指紋照合モジュール1450は、候補クエリ指紋1435の情報を、指紋レコードの葉ノードリストに含まれる各指紋エントリ1470と照合する。候補クエリ指紋1435と特定の指紋エントリとの間に正確な一致がある時に限って、このシステムは、一致する指紋レコード1470から対応するイメージIDおよび指紋ID組合せを取り出し、進行して、カウンタ配列における一意の<イメージID/指紋ID>の組合せについて、モジュール1450の指定された指紋のカウンタを初期化し(初回のみ)、増分する。このシステムは、(別々のデータ構造内で)指紋照合フェーズ中に少なくとも1つの一致する指紋に出会ったイメージIDのリストをも維持する。指紋照合1450は、すべての候補クエリ指紋1435をこの形で処理し終えるまで継続される。結果として得られる一致カウンタ結果1455の配列の内容は、次に、最終スコア分析およびコレクション内の最もよく一致するピクチャまたはピクチャのセットの判定のために、指紋分析フェーズ1460に転送される。
指紋分析フェーズ1460は、一致カウンタ配列の内容を分析して、最終的な一致結果を判定する。特定の分析1460は、応用例の特定の照合目的に依存する。複数の可能な照合目的があり得る。本願の一実施形態では、目的は、ピクチャコレクション内の最良イメージ一致を見つけることである。この場合、最も多い指紋一致(最高スコア)を集めたイメージIDすなわち指紋一致ID1465が、よい候補である。さらに、個々のカウントを、事前に指定された最小個数未満の指紋一致を有するページ一致を除外するために、信頼数として使用することができる。カウントを、より均一の相対的尺度を提供するために1ページ上の指紋の総数によって正規化することもできる(イメージ内容に応じて、いくつかのページが他のページより多数の指紋を有する場合があるので)。
本願のもう1つの実施形態では、目的は、事前に指定された指紋カウントの最小値(または上記と同様の信頼レベルの最小値)を満足するコレクション(またはそのサブセット)内のすべての一致するイメージのリストを返すこととすることができる。
さらに本願のもう1つの実施形態では、オリジナルイメージ区域をサブイメージのグリッドに下位分割する(オーバーラップを伴ってまたは伴わずに)ことができ、指紋照合分析を、よい指紋照合が得られる区域の荒い密度プロファイルを提供するために各サブイメージ内で別々に実行することができる。後者の分析は、オリジナルイメージの一部が欠けているか、シーン内の別の物体によって部分的にさえぎられる状況に特に適切である。この場合に、共通のイメージ区域(欠けておらず、またはさえぎられていない)は、それでも、高い度合の一致する指紋カウントを有する。さらに本願のもう1つの実施形態では、イメージの区分け(上記で概要を示したサブイメージへの分割による)を使用して、他のイメージ区域に対するあるイメージ区域の重みを強調することができる。たとえば、イメージの中央(焦点を合わされた物体がある場合がある)付近の指紋一致により大きい重みを与え、外側周辺の指紋一致により少ない重みを与えることである。この手法は、フレーム境界アーティファクト(イメージ外側境界に沿った)を除去するのに特に有用である。たとえば、電子オリジナルおよびその印刷された版の取り込まれたイメージ(たとえば、スキャナまたはセル電話機カメラからの)など、異なるソースからのイメージを照合する時である。後者の技法は、イメージ境界の外側の人工的背景の導入(たとえば、紙の白またはブルースクリーンカラーに対するイメージの角など)に起因する候補キーポイントの形成を避けるのに効果的に使用することができる。
指紋分析モジュール1460の出力は、所望の照合目的に応じて、単一のまたは複数の一致するイメージID1465の最終リストである。文書URLルックアップモジュール1480では、このリストが、指紋分析モジュール1460の一意イメージIDの内部整数表現から真の文書URL(Universal Resource Locator)に変換され、この文書URLは、1つまたは複数の一致するイメージの位置を識別する。この変換は、文書URL検索モジュール1480内で達成され、一致結果1485が作られる。一実施形態で、指紋データベース1490の生成時に一意イメージIDモジュールによって作成される逆マッピングテーブルが、一意イメージIDをインデックスとして使用してURLを検索するのに使用される。最後に、照合された結果1485が出力1495に渡される。出力1495は、電子ディスプレイなどのディスプレイ、ハードコピー出力を提供するプリンタ、メモリストレージとすることができる。あるいは、結果1485を他の互換デバイスに送ることができる。
I.c.1 候補クエリキーポイントの識別
クエリピクチャイメージ内で安定したキーポイントを識別する方法は、図6に関する議論を含む前述の議論で述べたピクチャコーパスに関する安定したキーポイントの識別に使用されるプロセスに類似する。この方法は、クエリイメージにフィルタの特定のセットを適用することと、スケールおよび空間の単一の関数D(x,y,s)を形成するためにフィルタ出力を一緒に組み合わせることとによって、複数のスケールでクエリイメージのスケール空間ピラミッド表現を構成することに基づく。安定したキーポイント位置は、関数D(x,y,s)が局所スケール空間近傍内でピーク値(最大値または最小値のいずれか)を達成するピクセル位置として各スケール内で識別される。
図15のクエリ候補キーポイント識別流れ図1500に示された、図6を用いる説明からの1つの相違は、イメージエンハンスメントモジュール1510が、クエリイメージの潜在的により低い品質に対処するために、適応しきい値モジュール620の前に導入されることである。ある種の応用例で、クエリイメージは、低品質なセル電話機カメラを用いて、ターゲットイメージの印刷されたハードコピーまたはスクリーン版から取り込まれる場合がある。この状況で、クエリイメージは、低解像度、ブラー、ノイズ、変化する照明、反射、透視ビューイングひずみなどの複数の要因に起因して、かなりのイメージ劣化を示す場合がある。したがって、クエリキーポイント識別の前に入力イメージ品質を改善するために必要なイメージエンハンスメント(image enhancement)を適用するために、第1のイメージエンハンスメントモジュールを追加することが望ましい場合がある。特定のエンハンスメントおよびイメージエンハンスメントモジュールに対する変更は、応用例、クエリイメージの期待される品質、予想されるイメージひずみ、ならびに所望の正確さおよび性能目標に依存する。イメージエンハンスメントモジュール1510を、リアルタイムでクエリイメージを照合するシステムおよび方法を表す図14のキーポイント識別モジュール1420の前に導入することもできることをも理解されたい。
本願の一実施形態では、イメージエンハンスモジュールは、クエリイメージのシーンにまたがる変化するカメラの照明を推定するために背景推定モジュールを含む。背景推定は、あるピクセル区域で最も明るいピクセルレベルの推定と、クエリのシーンにまたがってゆっくり変化する照明をモデル化するための低次2次元多項式曲線のあてはめと、を含むことができる。多項式モデルを反転することによって、イメージにまたがる変化する背景照明の影響を、中和し、キーポイント識別プロセスへの干渉および潜在的に明るいまたは暗いキーポイント特徴の適度な識別の失敗を防ぐことができる。
本願の他の実施形態では、イメージエンハンスモジュールは、キーポイント抽出の前にクエリイメージの品質をさらに改善するために、コントラスト強調、シャープニング(sharpening,鮮鋭化)、およびノイズ除去などの他の既知のイメージ処理技法を含むがこれらに限定はされない。
I.c.2 クエリ指紋の計算
このセクションでは、クエリ指紋を識別し、ファンツリー構造内の関連するピクチャコレクションの指紋との照合のためにそれらのクエリ指紋を準備するプロセスを説明する。
クエリ指紋化プロセスを、図16に示す。クエリイメージの指紋化方法は、図10に関して詳細に述べた、ピクチャコーパスの指紋化方法に類似する。したがって、説明の便宜のために、図10に対応するモジュールには、前と同一の符号を付す。しかし、クエリイメージについて期待されるより低い品質(たとえば、ノイズガードモジュール1630の導入)および異なるクエリ指紋化順列方式(たとえば、第1順列モジュール1640)に関連する複数の顕著な相違がある。
第1の相違は、指紋データベース内にクエリ指紋を保存する必要がないので、クエリ指紋が圧縮されない(したがって、図10の圧縮量子化比モジュール1070は使用されない)ことである。その代わりに、クエリ指紋は、単に、一回に1つのクエリ指紋ずつ、処理され(たとえば、量子化比追加モジュール1620、ノイズガードモジュール1630、第1順列モジュール1640)、照合される(たとえば、指紋照合モジュール1650)。各クエリ指紋は、照合すべき関連する候補指紋のリストを取り出すために、ファンツリーまたはハッシュテーブル内で検索される。所定のクエリ指紋の照合プロセスが完了したならば、そのクエリ指紋は、破棄され、照合結果(一致カウンタ配列に関する)だけが、あるクエリ指紋から次のクエリ指紋へ累算され続ける。
第2の相違は、クエリ指紋化が、順列のソートを必要としないことである。というのは、すべての順列が、ピクチャコレクションの準備フェーズ中に前もって生成され、クエリ時には1つの順列すなわち最初に現れる順列(第1順列モジュール1640)だけが使用されるからである。すべての可能な順列が、前もって準備され、ファンツリーまたはハッシュテーブル内に登録されているので、すべての有効な順列が、対応する一致を有しなければならない。
第3の相違は、以下で説明するノイズガードの概念(たとえば、1630)を、ファンツリー準備フェーズ中に、またはその代わりにクエリ時に適用できることである。ノイズガード法のクエリ時の適用は、余分なストレージメモリを必要としないという点でより経済的であり、ファンツリーは、計算のわずかな増加で、ニアミス指紋を扱う便利な形を提供する。
もう1つの重要な相違は、クエリ照合の時間を最小化する必要に関係する。多くの応用例で、クエリ照合は、リアルタイムで行われるが、システムは、ある厳しい性能要件を満足するかそれを超えることを期待される。そのような状況では、一般に、実際のクエリ照合時間を最小にするために、潜在的な指紋組合せのソートおよび可能なすべてのものを前もって準備することにより多くの時間を割り当てる、アンバランスな前倒し(front−loaded)システムを有することが望ましい。たとえば、ファンツリーまたはハッシュテーブルの作成のオフラインステージ中に、本願の実施形態の方法は、欠けているキーポイントの組合せを含むすべての可能な指紋の順列を前もって登録する。これらの組合せのうちのいずれか1つでも、指紋の一致を得るのに十分である。最初の一致(たとえば、1655)が観察されたならば、特定の指紋について追加の一致を探し続ける必要はない。
むしろ、このプロセスは、すべての一致するターゲット指紋のターゲット文書の一致カウンタ配列更新1660を増分し、このプロセスは、最後のキーポイントに出会ったかどうかを判定する(1090)ために進行する(1665)。その代わりに、指紋照合モジュール1650が、一致を見つけない(1656)ときには、このプロセスは、最終除外モジュール1670に進み、ここで、このプロセスが、最後のキーポイントを除外しなかったと判定された(1675のNO)ならば、このプロセスは、キーポイント除外モジュール1610に移動し、新しいキーポイントを除外し、そして、このプロセスはさらに進む。キーポイントが最後に除外されたキーポイントではないと判定される(1676のYES)ときには、このプロセスは、最終キーポイントモジュール1090に継続して、すべてのクエリキーポイントに出会ったかどうかを判定する。追加のまだ未処理のクエリキーポイントがある(1091のNO)場合には、フローは、次キーポイント1020に戻って、次のキーポイントを処理し、そうではない(1092のYES)場合には、このプロセスは、最後のクエリキーポイントで終了する。全体的なクエリ時間は、よりありそうな一致をソートし、ファンツリーまたはハッシュテーブル内に最初に配置することによって最小化される。
もう1つの相違は、照合すべき第1クエリ順列1640が、この実施形態による全体的照合時間を最小にするために、特定の指紋および他の欠けているキーポイントの組合せについてさらなる順列の検索を停止させることである。
I.c.3.ノイズガード法
図16で使用されて示されている、ノイズガードモジュール/方法1630は、既存の方法に共通する問題を克服するために指紋の計算中に任意選択で適用することができ、優れた指紋照合性能につながることができる。
ノイズガード1630は、パーシスタント・レシオ値が量子化の境界の近くに該当する時に、キーポイントの位置の小さい変化(たとえば、ノイズおよび/または有限の丸め誤差に起因する)が異なる量子化整数値につながるのを防ぐように設計される。ノイズガード法は、パーシスタント・レシオ値から最も近い量子化しきい値までの距離を監視する。この距離が、事前に指定された公差レベル未満である時に、ノイズガードモジュールは、いずれかの場合に指紋の一致が得られるように、可能な候補として両方の量子化列を生成する。
指紋
「14603616376756326322477662652206667」
を検討されたい。
第5パーシスタント・レシオの値が、1.0のインターバル境界のすぐ下の0.9999であり、したがって、図8Bに示されているように‘3’の整数値に量子化されると仮定する。これは、コレクション内のターゲットイメージに関する。
劣化したクエリイメージ内で、このパーシスタント・レシオの計算におけるノイズまたはある小さい丸め誤差の存在が、その値をインターバル境界のすぐ上、たとえば1.0001(0.9999からの0.0002という非常に小さい変化)に押し上げることが十分にあり得る。この値は、今は1.0より大きいので、‘3’ではなく‘4’に量子化され、結果のクエリ指紋は、もはや「14604616376756326322477662652206667」に一致しなくなる。第5の数字での分岐が、ここで、完全に異なるファンツリー経路につながる。
ノイズガード法は、量子化前の入ってくるパーシスタント・レシオを監視して、それらが整数境界の近くであるかどうかを調べる。十分に近いものに限って、両方の指紋の列が、ファンツリーに入力される。すなわち、単一の指紋の列ではなく、2つの指紋すなわち、ターゲットイメージの第5番目の数字に‘3’を有する指紋および‘4’を有する指紋が入力される。
クエリイメージの時に、クエリ指紋が計算され、‘3’または‘4’のどちらであるかは問題ではない。というのは、いずれもファンツリー内に存在し、正しい一致が必ず見つかるからである。
ノイズガード法の威力は、整数境界に近いときに限って組合せを追加することである。そうではなく、すべての数字について盲目的に追加を試みる場合には、極端に大きい数2^35の組合せが、指紋ごとに生成されるはずである。
従来のハッシング方式が、そのような数字の変化に敏感であることをも指摘しなければならない。これは、従来のハッシング方式において、入力列をランダムに「ハッシュ化」し、2つのほぼ同一の数字の列が通常はお互いからはるかに離れ、他方の位置を知ることによって一方の位置を判定する効果的な形がないからである。それが、ハッシュテーブルではなくファンツリー法を使用することの1つの利益である。
ノイズガードモジュールを使用することの1つの利益は、ノイズガードモジュールが、量子化のノイズ感度を下げることによって指紋化の頑健性を改善することである。しかし、これは、量子化がしきい値の近くになるたびに候補指紋の列の数が2倍になるので、追加計算という犠牲を払って達成される。幸運なことに、三角形比がしきい値の近くになる事象は、非常にまれであり(クエリイメージのノイズレベルに依存する)、したがって、影響は、平均して非常に大きくはない。さらに、全体的な性能レベルを維持するために、ノイズガードが各指紋で適用される回数に対して最大限度をセットする(量子化しきい値に近い多数の三角形比を有する指紋が、非常に特徴的ではないので)。この実施態様では、ノイズガードモジュールは、5回の限度を有して使用される。
ノイズガード法は、ピクチャコレクションの前処理時にオフラインで、またはクエリ時にオンラインでのいずれかで適用することができる。ストレージの展望からは、コレクション全体について前もって行うよりも、クエリ時に追加のノイズの組合せを生成する方が経済的である。しかし、クエリ時のノイズガードの適用は、追加計算に起因してリアルタイム性能をわずかに低下させる可能性がある。ストレージとリアルタイム性能との間のトレードオフは、期待されるノイズレベルおよび量子化誤差の尤度に依存して最適化することができる。
I.c.4.クエリ指紋一致のカウント
このセクションでは、指紋照合を高速で効率的にするように設計された、図16の指紋照合モジュール1650のさらなる詳細を説明する。
クエリ指紋照合モジュール1650は、照合結果を記憶するために、次の3つのタイプのデータ配列構造をメモリ内に含み、利用する。
(a)SeenDocs配列は、現在のクエリ指紋の照合の間にこれまでに出会った文書IDのリストを含む。SeenDocsリストは、新しいクエリ指紋の組合せのそれぞれの開始に伴ってクリアされる。
(b)SeenFinger配列は、現在のクエリ指紋の照合の間にこれまでに出会った指紋IDのリスト(文書IDごとの)を含む。SeenFinger配列は、新しいクエリイメージごとにクリアされる。
(c)MatchCount配列は、現在のクエリ指紋の照合の間にこれまでに出会った文書IDごとの一致する指紋のカウントのリストを含む。MatchCount配列は、新しいクエリイメージごとにクリアされる。
本願の実施形態で、連続するイメージインデックス番号が、便利に上記のアレイ(b)および(c)のピクチャイメージに割り当てられることに留意されたい。イメージインデックスから一意イメージID番号への変換は、別々のデータ構造内で維持される。
図16の指紋照合モジュール1650の詳細なブロック図を、図17に図1700として示す。指紋照合は、図16の第1順列モジュール1640の出力からのクエリ指紋の組合せの列から始まる。クエリ指紋の組合せは、上で説明したsmallest least common quantization digit(SLCD)に従って並べ替えられる。クエリ列取得モジュール1710は、使用可能なセットから、照合される現在のクエリ指紋の組合せの列を入手する。
ファンツリーアドレスモジュール1715は、現在のクエリ指紋の列を使用して、ファンツリー構造内の指紋経路をたどる。ファンツリー経路に沿ったいずれかの点で、現在のツリーノードが行き止まり(すなわち、投入されていないツリーノード)につながる場合には、現在の指紋の照合は、打ち切られ、このプロセスは、最終クエリモジュール1785に進み(1716)、照合すべき次のクエリ指紋の列に移る。空のツリーノードの場合は、現在のクエリ指紋の列が、量子化されたクエリ指紋の列をもはや一致しなくさせる可能性があるひずみおよびノイズによって激しく劣化される時に発生し得る。少数の指紋の組合せ(所定のページについて数千個のうちの)が照合に失敗する時には、空ノードの場合を単純に無視することができる。しかし、多数のクエリ指紋が、空のツリーノードにつながる挙動を示し始める場合には、それが、クエリイメージがコレクション内に一致するイメージを有しないことのよい表示である可能性がある。
通常の状況で、ファンツリーアドレスモジュール1715は、ルートノードから始まり、以前に説明した葉ノードで終わる、ファンツリーを通る現在のクエリ指紋の経路をたどる。葉ノードリスト取得モジュール1720が、対応する葉ノードリストのアドレスを取り出し、この葉ノードリストは、照合すべき関連する指紋レコードのリストを含む。
代替案で、ファンツリーではなくハッシュテーブルが使用される場合には、ハッシュアドレスが、クエリ指紋から計算され、ハッシュテーブル内容の検索と、照合すべき関連する指紋レコードのリストの取出しとに使用される。
リストレコード取得モジュール1725は、関連する指紋レコードのリストから現在の指紋レコードを取り出す。列比較モジュール1730は、クエリ指紋の列1726を、関連する指紋リストからのターゲット指紋の列(すなわち、コレクション指紋)1727と比較する。正確一致モジュール1735は、この2つの指紋の列の間の正確な一致を探す。正確な一致とは、すなわち、対応する量子化比の対のそれぞれが同一の値を有することである。単一の不一致は、1つの量子化比の位置であっても、不一致(1736)を宣言するのに十分である。クエリ指紋の列と現在のターゲットエントリとの間の正確な一致が見つからない場合には、フローは、最終リストエントリモジュール1780に進んで、次の葉ノードリストエントリに移る。
しかし、クエリ指紋の列とターゲット指紋の列との間に正確な一致が見つかる場合(1737)には、ページID/指紋ID取得モジュール1740が、現在の一意イメージIDおよび指紋IDを現在の葉ノードリストレコードから取り出す。既出ページIDモジュール1745は、一意イメージIDをSeenDocs配列内で検索して、現在のピクチャに現在のクエリ指紋の照合の間に既に出会ったかどうかを判定する。既に出会っている場合には、ページインデックス取得モジュール1750が、現在のピクチャの対応するページインデックスを、一意イメージID番号を使用してマッピングテーブルから取り出す。そうでない場合には、現在のページは、まだ出会ったことがない新しいピクチャである。新規ページインデックスモジュール1755が、新しいページインデックス番号を現在のピクチャに割り当て、今これに出会っていることを示すために一意イメージID番号を使用してSeenDoc配列に新しいエントリを追加する。それと同時に、新規ページインデックスモジュール1755は、Match Count配列の現在のページインデックスアドレスに新しいエントリを追加し、その値を0(このページの一致する指紋なし)に初期化もする。
次に、既出指紋IDモジュール1760が、現在の葉ノードリストレコードから得られた現在の指紋IDに現在のクエリ指紋の照合の間に既に出会っているかどうかを調べるためにチェックする。指紋IDをチェックする理由は、上述のように、各指紋が、それぞれが除外されるキーポイントの異なる組合せを用いてファンツリーまたはハッシュテーブルに複数回入力されるからである。しかし、組合せのうちのいくつかは、ノイズおよびイメージひずみの存在に起因して、正確な一致で終わらない場合がある。したがって、いくつかのイメージが他のイメージより高いカウントを複数の指紋の組合せから得る状況を防ぐために、各指紋の指紋IDを記憶する必要がある。本願の実施形態では、この問題に対する解決策は、指紋IDをチェックすることと、一意の指紋IDごとに1回だけMatch Count配列を増分することとによる。
既出指紋IDモジュール1760によって、現在の指紋IDに既に出会っている場合には、Match Count配列を増分する必要はない。指紋エントリ更新モジュール1765は、単に、必要に応じてページインデックスおよび指紋IDを用いてSeenFinger配列を更新する。その一方で、見られた指紋IDモジュール1760によって、現在の指紋IDにまだ出会ったことがない場合には、新規指紋エントリモジュール1770が、新しいSeenFingerエントリを割り振り、その内容が現在のページインデックスの現在の指紋ID値(すなわち、ページID/指紋ID取得モジュール1740での)になるようにセットアップする。さらに、ページカウント+1モジュール1775が、現在のページインデックスのMatch Count配列の内容を1つだけ増分して、この特定の指紋IDに現在のクエリ照合の間に出会った初めての時を示す。
現在の指紋レコードの照合が完了した後に、最終リストエントリモジュール1780は、まだ照合されていないエントリが取り出された指紋レコードリストにまだあるかどうかを調べるためにチェックする。現在の指紋レコードが、まだ最後の葉ノードエントリではない場合には、リストエントリモジュール1780は、フローをレコード取得モジュール1725に戻して、葉ノードリストから次の指紋レコードを入手し、進行して、それをクエリ指紋の列と照合する。対ごとの照合プロセスは、最後の指紋レコードが処理されるまで継続される。
現在の葉ノードリスト内のすべての指紋レコードが、すべて取り出され、指紋が、クエリ指紋の列と照合された後に、この手順は、最終クエリモジュール1785に移る。これが、最後の候補クエリ指紋の列ではない場合には、このプロセスは、クエリ列取得モジュール1710に戻ってルーティングされて、次の候補指紋の組合せを処理し、進行して、これを関連する指紋の列それ自体のリストと照合する。これは、クエリ指紋の列のすべての可能な組合せが、すべて、関連するファンツリーまたはハッシュテーブル内容と照合されるまで継続され、その後、このプロセスは終了する(1790)。
指紋照合プロセスの最終結果は、Match Count配列の内容であり、これは、クエリイメージと一致する少なくとも1つの指紋を有するコレクション内の関連するピクチャごとの一致する指紋のカウントを含む。Match Count配列内のエントリの個数は、クエリ照合プロセスの間に出会った新しいピクチャの個数と同一であり、通常、コレクション内のピクチャの総数の小さい部分にすぎない。ピクチャコレクションの大多数を含むすべての他のピクチャは、特定のイメージクエリ中に一度も見られない(それらが、クエリイメージと共通する指紋を有しないので)。Match Count配列内のイメージエントリが、そのランニングページインデックスによってアドレス付けされることに留意されたい。しかし、ページインデックスは、クエリ照合プロセス中に作成されるマッピングテーブルを検索することによって、簡単に一意イメージID番号に変換することができる。
最後に、Match Count配列内の照合結果が、最終スコアリング分析およびコレクション内の最良の一致するイメージまたはイメージのセットの判定のために、指紋分析モジュール(たとえば、図14の1460)に転送される。
I.c.5.最終判断
クエリ指紋照合プロセス中に、Match Count配列は、クエリイメージと一致する少なくとも1つの指紋を有する関連ピクチャのそれぞれの一致する指紋の個数を累算する。通常、コレクション内の一つの特定のイメージすなわち一致するピクチャは、多数の一致する指紋(大きいカウント)を有し、多数の他のイメージは、特にコレクションサイズが大きい時に、少数の偶然の一致する指紋を有する可能性がある。
上述のように、Match Count配列の結果の内容は、最終スコア分析およびコレクション内の最もよく一致するピクチャまたはピクチャのセットの判定のために、指紋分析モジュールに転送される。複数の可能な照合目的があり得る。目的が、ピクチャコレクション内で最良のイメージ一致を見つけることである場合には、最も多い指紋一致(最高スコア)を集めたイメージIDが返される。さらに、一致カウントを、事前に指定された最小個数未満の指紋一致を有するページ一致を除外するために、信頼数として使用することができる(ひずみおよび/またはノイズに起因する偶然の少数の迷いカウントを除外するために)。カウントを、より均一の尺度を提供するために1ページ上の指紋の総数によって正規化することもできる(イメージ内容に応じて、いくつかのページが他のページより多数の指紋を有する場合があるので)。
代替案では、目的は、事前に指定された一致する指紋カウントの最小値(または上記と同様の信頼レベルの最小値)を満足するコレクション(またはそのサブセット)内のすべての一致するイメージのリストを返すこととすることができる。
本願の一実施形態では、オリジナルイメージの区域をサブイメージのグリッドに下位分割する(オーバーラップを伴ってまたは伴わずに)ことができ、指紋照合の分析を、よい指紋照合が得られる区域の荒い密度プロファイルを提供するために各サブイメージ内で別々に実行することができる。後者の分析は、オリジナルイメージの一部が欠けているか、シーン内の他の物体によって部分的にさえぎられる状況に特に適切である。この場合に、クエリとオリジナルとの間の共通のイメージ区域(欠けておらず、またはさえぎられていない)は、それでも、高い度合の一致する指紋カウントを有する。
さらに本願のもう1つの実施形態では、イメージの区分け(上で概要を示したサブイメージへの分割による)を使用して、他のイメージ区域に対するあるイメージ区域の重みを強調することができる。たとえば、イメージの中央(焦点を合わされた物体がある場合がある)付近の指紋一致により大きい重みを与え、外側周辺の指紋一致により少ない重みを与えることである。この手法は、フレーム境界アーティファクト(イメージ外側境界に沿った)を除去するのに特に有用である。たとえば、電子オリジナルおよびピクチャの取り込まれたイメージ(たとえば、スキャナまたはセル電話機カメラからの)または印刷された版など、異なるソースからのイメージを照合する時であり、ここで、取り込まれたイメージは、オリジナルイメージの一部ではないいくつかの境界または白い紙のフレームを含む場合がある。後者の技法は、上のイメージ区分け技法を利用することによって、人工的背景の導入(たとえば、紙の白またはブルースクリーンに対する回転されたイメージの角など)に起因するイメージ境界に沿った候補キーポイントの形成を効果的に避けるのに使用することもできる。
図14の指紋分析モジュール1460の出力は、1つまたは複数の一致するイメージIDの最終リストである。次に、文書URL検索モジュール1480は、このリストを、内部一意イメージID整数表現から真のピクチャURL(Universal Resource Locator)に変換し、このピクチャURLは、一致するピクチャまたはピクチャセットの位置および対応するページ番号を識別する。最後に、一致するピクチャまたはピクチャセットが出力され(1490)、これは、一致するピクチャまたはピクチャセットが、ディスプレイに表示され、プリンタによって印刷され、メモリに格納され、あるいはある他の互換デバイスに送られることを意味する。
SIFTおよびそれから派生する手法とは異なって、本方法およびシステムは、並列実施に特に適する。というのは、本方法およびシステムが、本質的に、(a)クエリイメージ内のキーポイントの識別および指紋の列の計算と、その後の(b)効率的なファンツリー検索およびクエリイメージの(多数の)独立な指紋の照合(指紋照合中の)という2つの連続するステップからなるからである。新規のキーポイント抽出方法を使用すると、キーポイント識別フェーズ(a)は、各ピラミッドレベルの計算が、他のピラミッドレベルと完全に独立であり、フィルタにかかわりなく正確に同一の時間を要するので、並列実施に適する。対照的に、一連のガウシアンフィルタリングおよびダウンサンプリングを利用する従来のキーポイント検出技法の反復的性質は、簡単に並列実施には向かない。フェーズ(b)に関して、各ファンツリー検索を、完全に並列で行うことができる。たとえば、大きいファンツリーを、複数のプロセッサまたは独立の機械の間で分割することができる。クエリ指紋を一回に1つずつ順次処理するのではなく、すべてのクエリ指紋が、まず、そのファンツリーまたはハッシュテーブルアドレスを判定する(たとえば図17のモジュール1715による、アドレス検索だけを使用して)ために処理される。次に、ソートフェーズが続いて、ファンツリー/ハッシュテーブルアドレスによってクエリ指紋のセット全体を並べ変え、所定のアドレス範囲の指紋の各グループを、ファンツリー/ハッシュテーブルのその特定の部分を含む対応するプロセッサまたは機械に送り出す。したがって、複数のファンツリー/ハッシュテーブルルックアップを、それぞれ異なる機械またはプロセッサ内で、完全に並列に行うことができ、照合結果を記録し、1つの指定された機械に転送し、最後に1つの指定された機械で組み合わせることができる。したがって、本方法は、その全体において十分に並列なマルチスケールピクチャ照合方式を提供するという利益を有する。
100 コンピュータネットワーク、102,106 ワイヤ、104 ワイヤジャンクション、108,109 コンピュータ、110 カラープリンタ、112 カラー以外のプリンタ、120,122 カラーレーザプリンタ、124 カラー以外のレーザプリンタ、130 スキャナ、140 ファクシミリ機、150 写真複写機、152 カラー写真複写機、154 組合せカラープリンタ/スキャナ/ファクシミリ機、160 独立型コンピュータ端末、164 独立型ハードドライブデータストレージ媒体、170 無線ネットワーク送受信器、172,174 ラップトップコンピュータ、180 ネットワーク、190 周辺データ取り込みデバイス、191 ディジタルスチルカメラ、192 ディジタルビデオカメラ、193 セル電話機、194 スキャナ、195 携帯情報端末、196 文書インデクシングシステム。

Claims (4)

  1. イメージコレクションの内容を前処理して、前記イメージコレクション内のイメージごとに安定した再現可能キーポイントを識別するステップと、
    前記キーポイントの局所グループから指紋情報を計算するステップと、
    前記計算の結果の指紋情報をコンパクトな指紋データベースに格納するステップと、
    前記コンパクトな指紋データベース内の入力指紋ごとに、候補指紋の組合せの列を生成するステップと、
    指紋データベースに入力された指紋ごとの候補指紋の組合せの前記列を、ファンツリーおよびハッシュテーブルの少なくとも一方と、対応する指紋データ構造と、に格納するステップと、
    キーポイントを識別することと、クエリイメージから指紋を計算することと、クエリ指紋を既存のファンツリー指紋データと照合することとによってリアルタイムイメージクエリを実行し、前記コレクション内の一致するターゲットイメージまたはターゲットイメージのセットを判定するステップと、
    前記判定ステップに基づいて少なくとも1つのターゲットイメージを取り出すステップと、
    前記取り出された少なくとも1つのターゲットイメージの表示、印刷、格納、または送信のうちの少なくとも1つを行うステップと、
    を含み、
    前記指紋情報の前記計算は、アンカキーポイントと呼ばれるイメージ内の最も強いキーポイントのサブグループと、加えて複数の局所的な非アンカキーポイントと、の組合せに基づく、
    ことを特徴とする、イメージデータを格納し、インデクシングし、検索し、および/または取り出すイメージ管理方法。
  2. 請求項1に記載の方法であって、
    前記クエリ指紋の前記既存のファンツリー指紋データとの前記照合は、
    クエリ指紋ごとに、オリジナルの指紋のイメージコレクションのサブセットを含む特定のファンツリー葉ノードリストにつながるファンツリーアドレスを計算することと、
    その後、前記サブセットリストからの各オリジナル指紋を順に現在のクエリ指紋と比較することと、
    前記クエリ指紋が前記取り出された指紋レコードのうちの1つと一致するたびに、そのイメージの一致する指紋の個数のカウントを増分することと、
    指紋スコア分析モジュールによって、各イメージの一致する指紋の結果の累算されたカウントを調べることと、
    最高スコア分析に基づいて、前記コレクション内の最もよく一致するイメージまたはイメージのセットを判定することと、
    を含むことを特徴とする方法。
  3. 請求項1に記載の方法であって、
    前記アンカキーポイントは、前記クエリイメージおよびターゲットイメージ内で見つかる確率が前記非アンカキーポイントより高いことを特徴とする方法。
  4. クエリ文書のクエリイメージ内のキーポイントおよび潜在的ターゲット文書のコレクションの潜在的ターゲット文書イメージ内のキーポイントを含む、イメージ内のキーポイントを識別するように構成された識別モジュールと、
    前記キーポイントから指紋情報を生成するように構成された指紋生成モジュールであって、前記指紋情報が、少なくとも1つのアンカキーポイントおよび所定の個数の非アンカキーポイントを含む、指紋生成モジュールと、
    前記クエリイメージの前記指紋情報を、潜在的ターゲット文書の前記コレクション内の前記潜在的ターゲット文書イメージの指紋情報と比較するように構成された比較モジュールと、
    前記クエリイメージの前記指紋情報と前記潜在的ターゲット文書イメージの前記指紋情報との間の最良一致を判定するように構成された照合モジュールと、
    前記照合モジュールにおける判定に基づいて少なくとも1つのターゲット文書イメージを取り出すように構成された取出しモジュールと、
    前記取り出された少なくとも1つのターゲット文書イメージの表示、印刷、格納または送信を行う、電子ディスプレイ、プリンタ、メモリストレージ、またはコンピュータネットワークのうちの少なくとも1つと、
    を含むことを特徴とする、イメージデータの格納、インデクシング、検索、および/または取出しを行う、コンピュータ動作可能システム内のイメージ管理システム。
JP2009153615A 2008-06-27 2009-06-29 局所化された2次元の視覚的指紋を使用してイメージコレクション内のピクチャイメージを見つけるシステムおよび方法 Expired - Fee Related JP5180156B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/163,186 US8144947B2 (en) 2008-06-27 2008-06-27 System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
US12/163,186 2008-06-27

Publications (3)

Publication Number Publication Date
JP2010009606A true JP2010009606A (ja) 2010-01-14
JP2010009606A5 JP2010009606A5 (ja) 2012-08-16
JP5180156B2 JP5180156B2 (ja) 2013-04-10

Family

ID=41138780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009153615A Expired - Fee Related JP5180156B2 (ja) 2008-06-27 2009-06-29 局所化された2次元の視覚的指紋を使用してイメージコレクション内のピクチャイメージを見つけるシステムおよび方法

Country Status (3)

Country Link
US (1) US8144947B2 (ja)
EP (1) EP2138957A3 (ja)
JP (1) JP5180156B2 (ja)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4988408B2 (ja) * 2007-04-09 2012-08-01 株式会社デンソー 画像認識装置
US8126858B1 (en) 2008-01-23 2012-02-28 A9.Com, Inc. System and method for delivering content to a communication device in a content delivery system
JP5408128B2 (ja) * 2008-05-15 2014-02-05 株式会社ニコン 画像処理装置、画像処理方法、処理装置、およびプログラム
US8233716B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated System and method for finding stable keypoints in a picture image using localized scale space properties
US8233722B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
US8498487B2 (en) * 2008-08-20 2013-07-30 Sri International Content-based matching of videos using local spatio-temporal fingerprints
US10210179B2 (en) * 2008-11-18 2019-02-19 Excalibur Ip, Llc Dynamic feature weighting
US8374442B2 (en) * 2008-11-19 2013-02-12 Nec Laboratories America, Inc. Linear spatial pyramid matching using sparse coding
US8254697B2 (en) * 2009-02-02 2012-08-28 Microsoft Corporation Scalable near duplicate image search with geometric constraints
KR101016656B1 (ko) * 2009-05-19 2011-02-25 주식회사신도리코 스캔 기능을 구비한 화상 형성 장치 및 이의 스캔 방법
US20100309225A1 (en) * 2009-06-03 2010-12-09 Gray Douglas R Image matching for mobile augmented reality
US8548193B2 (en) * 2009-09-03 2013-10-01 Palo Alto Research Center Incorporated Method and apparatus for navigating an electronic magnifier over a target document
DE102009049849B4 (de) * 2009-10-19 2020-09-24 Apple Inc. Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells
US8559050B2 (en) * 2009-11-09 2013-10-15 Xerox Corporation Controlling placement and minimizing distortion of images in an imaging device
CN102763123B (zh) * 2009-12-02 2015-03-25 高通股份有限公司 通过使查询图像和模型图像中的检测到的关键点成群集而进行特征匹配
CN102110122B (zh) * 2009-12-24 2013-04-03 阿里巴巴集团控股有限公司 一种建立样本图片索引表和图片过滤、搜索方法及装置
US9514103B2 (en) * 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
US8086039B2 (en) * 2010-02-05 2011-12-27 Palo Alto Research Center Incorporated Fine-grained visual document fingerprinting for accurate document comparison and retrieval
US9233399B2 (en) 2010-02-09 2016-01-12 Xerox Corporation Document separation by document sequence reconstruction based on information capture
US8285057B2 (en) 2010-05-14 2012-10-09 Palo Alto Research Center Incorporated Learning image anchor templates for document classification
US8285058B2 (en) 2010-05-14 2012-10-09 Palo Alto Research Center Incorporated Learning image templates for content anchoring and data extraction
WO2012004792A1 (en) 2010-07-06 2012-01-12 Team Of Light Ltd. Method and system for book reading enhancement
US20120011119A1 (en) * 2010-07-08 2012-01-12 Qualcomm Incorporated Object recognition system with database pruning and querying
EP2407910B1 (de) * 2010-07-14 2018-09-26 Deutsche Telekom AG Verfahren und Vorrichtung zum Erstellen einer Objekt-Datenbank und zum Auffinden von Objekten
US8712930B1 (en) 2010-08-09 2014-04-29 Google Inc. Encoding digital content based on models for predicting similarity between exemplars
US8285074B2 (en) 2010-09-01 2012-10-09 Palo Alto Research Center Incorporated Finding low variance regions in document images for generating image anchor templates for content anchoring, data extraction, and document classification
US8990199B1 (en) 2010-09-30 2015-03-24 Amazon Technologies, Inc. Content search with category-aware visual similarity
US8463036B1 (en) * 2010-09-30 2013-06-11 A9.Com, Inc. Shape-based search of a collection of content
US8422782B1 (en) * 2010-09-30 2013-04-16 A9.Com, Inc. Contour detection and image classification
US8447107B1 (en) * 2010-09-30 2013-05-21 A9.Com, Inc. Processing and comparing images
CN102368237B (zh) * 2010-10-18 2013-03-27 中国科学技术大学 图像检索方法、装置及系统
US8750624B2 (en) 2010-10-19 2014-06-10 Doron Kletter Detection of duplicate document content using two-dimensional visual fingerprinting
US8554021B2 (en) 2010-10-19 2013-10-08 Palo Alto Research Center Incorporated Finding similar content in a mixed collection of presentation and rich document content using two-dimensional visual fingerprints
CN102622724A (zh) * 2011-01-27 2012-08-01 鸿富锦精密工业(深圳)有限公司 外观专利图像切割方法及系统
CN102622366B (zh) * 2011-01-28 2014-07-30 阿里巴巴集团控股有限公司 相似图像的识别方法和装置
US8612441B2 (en) * 2011-02-04 2013-12-17 Kodak Alaris Inc. Identifying particular images from a collection
US9047534B2 (en) * 2011-08-11 2015-06-02 Anvato, Inc. Method and apparatus for detecting near-duplicate images using content adaptive hash lookups
JP4976578B1 (ja) 2011-09-16 2012-07-18 楽天株式会社 画像検索装置およびプログラム
WO2013102503A1 (en) * 2012-01-02 2013-07-11 Telecom Italia S.P.A. Method and system for image analysis
US9530221B2 (en) * 2012-01-06 2016-12-27 Pelco, Inc. Context aware moving object detection
ITVI20120041A1 (it) * 2012-02-22 2013-08-23 St Microelectronics Srl Rilevazione di caratteristiche di un'immagine
US8942481B2 (en) * 2012-03-11 2015-01-27 Universidad De Santiago De Compostela Three dimensional CMOS image processor for feature detection
JP5577372B2 (ja) 2012-03-29 2014-08-20 楽天株式会社 画像検索装置、画像検索方法、プログラムおよびコンピュータ読取り可能な記憶媒体
JP5577371B2 (ja) * 2012-03-29 2014-08-20 楽天株式会社 画像検索装置、画像検索方法およびプログラム
US10685234B2 (en) 2012-03-31 2020-06-16 Xerox Corporation Automatic and semi-automatic metadata generation via inheritance in homogeneous and heterogeneous environments
US8977648B2 (en) * 2012-04-10 2015-03-10 Seiko Epson Corporation Fast and robust classification algorithm for vein recognition using infrared images
KR20130117378A (ko) 2012-04-17 2013-10-28 한국전자통신연구원 이미지 정보를 활용한 온라인 정보 제공 방법
US9904866B1 (en) * 2012-06-21 2018-02-27 Amazon Technologies, Inc. Architectures for object recognition
US8811772B2 (en) * 2012-08-21 2014-08-19 Tianzhi Yang Mapping evaluating for spatial point sets
US9436864B2 (en) * 2012-08-23 2016-09-06 Apple Inc. Electronic device performing finger biometric pre-matching and related methods
US8805865B2 (en) * 2012-10-15 2014-08-12 Juked, Inc. Efficient matching of data
US9092697B2 (en) * 2013-02-07 2015-07-28 Raytheon Company Image recognition system and method for identifying similarities in different images
WO2014138745A2 (en) * 2013-03-08 2014-09-12 Curalate, Inc. Method and system for clustering and classifying online visual information
CN107657280B (zh) * 2013-03-15 2021-08-03 英特尔公司 用于处理样本的方法和装置
JP5889265B2 (ja) * 2013-04-22 2016-03-22 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 画像処理方法および装置並びにプログラム
US9734195B1 (en) * 2013-05-16 2017-08-15 Veritas Technologies Llc Automated data flow tracking
US11080318B2 (en) * 2013-06-27 2021-08-03 Kodak Alaris Inc. Method for ranking and selecting events in media collections
EP3146461A1 (en) * 2014-05-23 2017-03-29 Catchoom Technologies S.L. Offline, hybrid and hybrid with offline image recognition
US9576218B2 (en) * 2014-11-04 2017-02-21 Canon Kabushiki Kaisha Selecting features from image data
US9866631B2 (en) * 2014-12-30 2018-01-09 TCL Research America Inc. System and method for sharing information among multiple devices
CN104978572B (zh) * 2015-06-30 2018-10-23 魅族科技(中国)有限公司 一种指纹采集方法及终端
US9836535B2 (en) * 2015-08-25 2017-12-05 TCL Research America Inc. Method and system for content retrieval based on rate-coverage optimization
US9754182B2 (en) 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
US10169684B1 (en) * 2015-10-01 2019-01-01 Intellivision Technologies Corp. Methods and systems for recognizing objects based on one or more stored training images
US9946918B2 (en) * 2015-11-16 2018-04-17 MorphoTrak, LLC Symbol detection for desired image reconstruction
US10136103B2 (en) * 2015-11-23 2018-11-20 Lexmark International, Inc. Identifying consumer products in images
US10474745B1 (en) 2016-04-27 2019-11-12 Google Llc Systems and methods for a knowledge-based form creation platform
US20170317905A1 (en) * 2016-04-29 2017-11-02 Hewlett Packard Enterprise Development Lp Metric fingerprint identification
US11039181B1 (en) 2016-05-09 2021-06-15 Google Llc Method and apparatus for secure video manifest/playlist generation and playback
US10750216B1 (en) 2016-05-10 2020-08-18 Google Llc Method and apparatus for providing peer-to-peer content delivery
US10750248B1 (en) 2016-05-10 2020-08-18 Google Llc Method and apparatus for server-side content delivery network switching
US10595054B2 (en) 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US10785508B2 (en) 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US10771824B1 (en) 2016-05-10 2020-09-08 Google Llc System for managing video playback using a server generated manifest/playlist
US11069378B1 (en) 2016-05-10 2021-07-20 Google Llc Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
US11032588B2 (en) 2016-05-16 2021-06-08 Google Llc Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US10739142B2 (en) 2016-09-02 2020-08-11 Apple Inc. System for determining position both indoor and outdoor
US10255526B2 (en) 2017-06-09 2019-04-09 Uptake Technologies, Inc. Computer system and method for classifying temporal patterns of change in images of an area
US10803740B2 (en) 2017-08-11 2020-10-13 Cubic Corporation System and method of navigating vehicles
US10636298B2 (en) 2017-08-11 2020-04-28 Cubic Corporation Adaptive traffic control using object tracking and identity details
US10636299B2 (en) 2017-08-11 2020-04-28 Cubic Corporation System and method for controlling vehicular traffic
US10373489B2 (en) 2017-08-11 2019-08-06 Cubic Corporation System and method of adaptive controlling of traffic using camera data
US11250699B2 (en) 2017-08-14 2022-02-15 Cubic Corporation System and method of adaptive traffic management at an intersection
US10395522B2 (en) 2017-08-14 2019-08-27 Cubic Corporation Adaptive traffic optimization using unmanned aerial vehicles
US11100336B2 (en) 2017-08-14 2021-08-24 Cubic Corporation System and method of adaptive traffic management at an intersection
US10935388B2 (en) 2017-08-14 2021-03-02 Cubic Corporation Adaptive optimization of navigational routes using traffic data
CN107562350B (zh) * 2017-09-22 2020-09-04 北京小米移动软件有限公司 一种上报按键事件的方法和装置
US10559198B1 (en) 2018-08-08 2020-02-11 Cubic Corporation System and method of adaptive controlling of traffic using zone based occupancy
US10963733B2 (en) * 2019-06-17 2021-03-30 Tianzhi Yang Associating spatial point sets with candidate correspondences
CN110413807B (zh) * 2019-06-24 2021-04-20 华中科技大学 一种基于内容语义元数据的图像查询方法与系统
CN111104484B (zh) * 2019-12-19 2021-09-03 南京中孚信息技术有限公司 文本相似度检测方法、装置及电子设备
US11164325B2 (en) 2020-02-06 2021-11-02 Tianzhi Yang Generating and evaluating mappings between spatial point sets
US11823412B2 (en) 2020-11-30 2023-11-21 Tianzhi Yang Generating and evaluating mappings between spatial point sets with constraints
US11721085B2 (en) 2020-12-20 2023-08-08 Tianzhi Yang Generating and evaluating mappings between spatial point sets in multi-levels
US11461578B2 (en) * 2021-02-04 2022-10-04 Verizon Patent And Licensing Inc. Methods and systems for generating composite image descriptors
US11798136B2 (en) 2021-06-10 2023-10-24 Bank Of America Corporation Automated teller machine for detecting security vulnerabilities based on document noise removal
CN116796021B (zh) * 2023-08-28 2023-12-05 上海任意门科技有限公司 图像检索方法、系统、电子设备和介质
CN116842210B (zh) * 2023-09-01 2023-12-26 南通语森家纺科技有限公司 一种基于纹理特征的纺织品印花纹理智能检索方法
CN117830301B (zh) * 2024-03-04 2024-05-14 青岛正大正电力环保设备有限公司 基于红外可见光融合特征的捞渣区域检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006092957A1 (ja) * 2005-03-01 2006-09-08 Osaka Prefecture University Public Corporation 文書・画像検索方法とそのプログラム、文書・画像登録装置および検索装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2077274C (en) * 1991-11-19 1997-07-15 M. Margaret Withgott Method and apparatus for summarizing a document without document image decoding
US5465303A (en) * 1993-11-12 1995-11-07 Aeroflex Systems Corporation Automated fingerprint classification/identification system and method
US5613014A (en) * 1994-10-12 1997-03-18 Martin Marietta Corp. Fingerprint matching system
US5850476A (en) * 1995-12-14 1998-12-15 Xerox Corporation Automatic method of identifying drop words in a document image without performing character recognition
US6041133A (en) * 1996-12-13 2000-03-21 International Business Machines Corporation Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences
US7844594B1 (en) 1999-06-18 2010-11-30 Surfwax, Inc. Information search, retrieval and distillation into knowledge objects
US7359532B2 (en) * 2003-12-11 2008-04-15 Intel Corporation Fingerprint minutiae matching using scoring techniques
US7702673B2 (en) * 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US20060104484A1 (en) * 2004-11-16 2006-05-18 Bolle Rudolf M Fingerprint biometric machine representations based on triangles
US7809722B2 (en) * 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
EP1974300A2 (en) * 2006-01-16 2008-10-01 Thomson Licensing Method for determining and fingerprinting a key frame of a video sequence
US8055079B2 (en) * 2007-03-06 2011-11-08 Sharp Kabushiki Kaisha Image processing method, image processing apparatus, and image forming apparatus
US8972299B2 (en) * 2008-01-07 2015-03-03 Bally Gaming, Inc. Methods for biometrically identifying a player
US8233716B2 (en) 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated System and method for finding stable keypoints in a picture image using localized scale space properties
US8233722B2 (en) 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006092957A1 (ja) * 2005-03-01 2006-09-08 Osaka Prefecture University Public Corporation 文書・画像検索方法とそのプログラム、文書・画像登録装置および検索装置

Also Published As

Publication number Publication date
JP5180156B2 (ja) 2013-04-10
US20090324026A1 (en) 2009-12-31
EP2138957A3 (en) 2014-12-24
US8144947B2 (en) 2012-03-27
EP2138957A2 (en) 2009-12-30

Similar Documents

Publication Publication Date Title
JP5180156B2 (ja) 局所化された2次元の視覚的指紋を使用してイメージコレクション内のピクチャイメージを見つけるシステムおよび方法
US8233722B2 (en) Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
JP5753473B2 (ja) 二次元ビジュアルフィンガープリントを用いる複製ドキュメントコンテンツの検出方法
JP5662917B2 (ja) 二次元ビジュアルフィンガープリントを用いるプレゼンテーション及びリッチドキュメントコンテンツの混合コレクションにおける類似コンテンツの発見方法
US8086039B2 (en) Fine-grained visual document fingerprinting for accurate document comparison and retrieval
US8655056B2 (en) Content-based matching of videos using local spatio-temporal fingerprints
US8738647B2 (en) Method and system for image matching
AU2012261715B2 (en) Method, apparatus and system for generating a feature vector
CN106462728A (zh) 用于基于图像特征的识别的系统和方法
CN108287833A (zh) 一种用于艺术品鉴定的以图搜图方法
CN113723410B (zh) 一种数码管数字识别方法及装置
CN109508408B (zh) 一种基于帧密度的视频检索方法及计算机可读存储介质
US20220414393A1 (en) Methods and Systems for Generating Composite Image Descriptors
US8938118B1 (en) Method of neighbor embedding for OCR enhancement
Nikolopoulos et al. Image replica detection system utilizing R-trees and linear discriminant analysis
Taspinar et al. Fast camera fingerprint matching in very large databases
JP2009070066A (ja) 文書および/または画像のデータベースへの登録方法およびその検索方法
JP2005208977A (ja) 文書ファイリング装置および文書ファイリング方法
CN111581416A (zh) 一种图片检索方法、装置、及存储介质
Valsesia et al. Image retrieval based on compressed camera sensor fingerprints
Nikolopoulos et al. Image replica detection using R-trees and linear discriminant analysis
Jun et al. Iriw: Image retrieval based image watermarking for large-scale image databases

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120628

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20120628

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5180156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees