コンピュータサイエンス において、幾何学的ハッシュ法は、 アフィン変換を 受けた離散点によって表現される2次元オブジェクトを効率的に見つけるための手法ですが、他のオブジェクト表現や変換への拡張も存在します。オフラインステップでは、各点のペアを幾何学的基底 として扱うことでオブジェクトがエンコードされます。残りの点は、2つのパラメータを使用して、この基底に関して不変な 方法で表現できます。各点について、量子化された変換座標が ハッシュテーブル にキーとして格納され、基底点のインデックスが値として格納されます。次に、新しい基底点のペアが選択され、このプロセスが繰り返されます。オンライン(認識)ステップでは、ランダムに選択されたデータ点のペアが候補基底として考慮されます。各候補基底について、残りのデータ点が基底に従ってエンコードされ、オブジェクトからの可能な対応関係が、以前に構築されたテーブル内で見つかります。十分な数のデータ点が一貫したオブジェクト基底をインデックス付けしている場合、候補基底が受け入れられます。
幾何学的ハッシュ法は、もともとコンピュータビジョン において2Dおよび3Dの物体認識 のために提案されたものですが[ 1 ] 、後にタンパク質 の構造アライメント などのさまざまな問題に応用されました[ 2 ] [ 3 ] 。
コンピュータビジョンにおける幾何学的ハッシュ 幾何学的ハッシュは、物体認識に用いられる手法です。例えば、入力画像の中にモデル画像が写っているかどうかを確認したい場合、幾何学的ハッシュを用いることでこれを実現できます。この手法は、ベース内の複数の物体の中から特定の物体を認識するために使用できます。この場合、ハッシュテーブルには姿勢情報だけでなく、ベース内の物体モデルのインデックスも格納する必要があります。
例 簡略化のため、この例では多くの点特徴は 使用せず、それらの記述子は座標のみで与えられるものとします(実際には、SIFT などのローカル記述子を インデックス付けに使用できます)。
トレーニング段階 画像座標系におけるオブジェクトの点、および基底座標系の軸(P2、P4) モデルの特徴点を見つけます。モデル画像には座標が 5 つの特徴点があると仮定します。( 12 、 17 ) ; {\displaystyle (12,17);} ( 45 、 13 ) ; {\displaystyle (45,13);} ( 40 、 46 ) ; {\displaystyle (40,46);} ( 20 、 35 ) ; {\displaystyle (20,35);} ( 35 、 25 ) {\displaystyle (35,25)} 写真をご覧ください。 特徴点の位置を記述するための基底を導入します。2D空間と相似変換 の場合、基底は2つの点によって定義されます。原点は、2つの点(この例ではP2、P4)を結ぶ線分の中央に配置されます。x ′ {\displaystyle x'} 軸はそれらの1つに向かっており、y ′ {\displaystyle y'} は直交しており、原点を通ります。スケールは、の絶対値が x ′ {\displaystyle x'} どちらのベーシスポイントも1です。 その基底に関して特徴の位置を記述します。つまり、新しい座標軸への投影を計算します。認識がノイズに対して頑健に なるように、座標を離散化する必要があります。ビンサイズは0.25とします。したがって、座標は次のようになります。( − 0.75 、 − 1.25 ) ; {\displaystyle (-0.75,-1.25);} ( 1.00 、 0.00 ) ; {\displaystyle (1.00,0.00);} ( − 0.50 、 1.25 ) ; {\displaystyle (-0.50,1.25);} ( − 1.00 、 0.00 ) ; {\displaystyle (-1.00,0.00);} ( 0.00 、 0.25 ) {\displaystyle (0.00,0.25)} 基底を特徴量(この場合は変換された座標のみ)でインデックス付けされたハッシュテーブル に格納します。照合するオブジェクトが複数ある場合は、基底ペアとともにオブジェクト番号も格納する必要があります。別の基底ペアに対して同じプロセスを繰り返します(ステップ2)。これは、遮蔽を 処理するために必要です。理想的には、すべての非共線 ペアを列挙する必要があります。2回の反復後にハッシュテーブルを提供します。2回目の反復ではペア(P1、P3)が選択されます。 ハッシュテーブル:
ほとんどのハッシュテーブルでは、同じキーを異なる値にマッピングすることはできません。そのため、実際にはハッシュテーブルに基本キー(1.0、0.0)と(-1.0、0.0)をエンコードすることはありません。
認識段階 入力画像の中から興味深い特徴点を見つけ出す。 任意の基底を選択してください。適切な任意の基底が存在しない場合、入力画像に目的の物体が含まれていない可能性が高いです。 特徴点の座標を新しい基底で記述します。取得した座標は、以前と同様に量子化します。 入力画像内のすべての変換済み点特徴をハッシュテーブルと比較します。点特徴が同一または類似している場合は、対応する基底(およびオブジェクトの種類があればその種類)のカウントを増やします。 カウントが一定の閾値を超える各基底について、それがステップ2で選択した画像基底に対応するという仮説を検証します。画像座標系を(想定されるオブジェクトの)モデル座標系に転送し、それらを一致させようと試みます。一致すれば、オブジェクトが見つかります。一致しない場合は、ステップ2に戻ります。
鏡像パターンの発見 この方法は拡大縮小、平行移動、回転しか処理できないようです。しかし、入力画像には鏡像変換されたオブジェクトが含まれている可能性があります。そのため、幾何学的ハッシュ法でもオブジェクトを検出できるはずです。鏡像オブジェクトを検出するには2つの方法があります。
ベクトルグラフの場合、左側を正、右側を負にします。x座標に-1を掛けても同じ結果が得られます。 基底に3点を使用します。これにより、鏡像(または鏡像オブジェクト)を検出できます。実際、基底に3点を使用することは、幾何学的ハッシュ化の別の手法です。
高次元における幾何ハッシュ法 上記の例と同様に、ハッシュ化は高次元データにも適用できます。3次元データ点の場合、基底には3つの点が必要です。最初の2つの点がx軸を定義し、3番目の点がy軸を定義します(最初の点と合わせて)。z軸は、右手の法則 を用いて作成された軸に垂直です。点の順序が結果として得られる基底に影響を与えることに注意してください。
参考文献 ↑ AS Mian、M. Bennamoun、R. Owens、「混雑したシーンにおける3次元モデルベースの物体認識とセグメンテーション」、IEEE Transactions on Pattern Analysis and Machine Intelligence、vol. 28、2006年10月、pp. 1584-601。 ↑ Moll, Mark; Bryant, Drew H.; Kavraki, Lydia E. (2010-11-11). "サブストラクチャマッチングのための LabelHash アルゴリズム" . BMC Bioinformatics . 11 555. doi : 10.1186/1471-2105-11-555 . ISSN 1471-2105 . PMC 2996407 . PMID 21070651 . ↑ Nussinov, R.; Wolfson, HJ (1991-12-01). "Efficient detection of three-dimensional structural motifs in biological macromolecules by computer vision techniques" . Proceedings of the National Academy of Sciences of the United States of America . 88 (23): 10495– 10499. Bibcode : 1991PNAS...8810495N . doi : 10.1073/pnas.88.23.10495 . ISSN 0027-8424 . PMC 52955. PMID 1961713 . Wolfson, HJ & Rigoutsos, I (1997).幾何学的ハッシュ:概要. IEEE Computational Science and Engineering, 4(4), 10-21.