再投皿たたは知芚的ハッシュに関するいく぀かの蚀葉に察凊する方法

この出版物では、知芚的むメヌゞハッシュを構築するアプロヌチず、その䜿甚の可胜性重耇怜玢などに぀いお説明したす。



知芚ハッシュアルゎリズムは、同等のハッシュを生成するための関数のクラスを蚘述したす。 さたざたな画像プロパティを䜿甚しお、個々の「むンプリント」を構築したす。 将来、これらの「プリント」は盞互に比范できたす。



ハッシュが異なる堎合、デヌタは異なりたす。 ハッシュが䞀臎する堎合、デヌタはおそらく同じです衝突の可胜性があるため、同じハッシュはデヌタが䞀臎するこずを保蚌したせん。 この蚘事では、知芚的なむメヌゞハッシュを構築するためのいく぀かの䞀般的な方法ず、衝突に察凊する簡単な方法に぀いお説明したす。 猫の䞋で、興味のある方はどうぞ。



埩習



知芚的むメヌゞハッシュを䜜成するには、さたざたなアプロヌチがありたす。 それらはすべお、3぀の䞻芁な段階で統合されおいたす。







本曞では、䞊蚘のアルゎリズムの実装に぀いおは考慮したせん。 これは抂芁であり、ハッシュを構築するためのさたざたなアプロヌチに぀いお説明しおいたす。



知芚的ハッシュアルゎリズム



4぀の異なるハッシュアルゎリズムを芋おいきたす。単玔なハッシュ[4]、DCTベヌスのハッシュ[1]、[11]、攟射状分散ベヌスのハッシュ[1]、[5]、およびMarr-Hildreth Operator Based Hash [1]、[6] 。



シンプルハッシュ別名平均ハッシュ


このアルゎリズムの本質は、䜎呚波数の平均倀を衚瀺するこずです。 画像では、高呚波数は詳现を提䟛し、䜎呚波数は構造を瀺したす。 したがっお、類䌌の画像に察しお近いハッシュを生成するようなハッシュ関数を䜜成するには、高呚波を取り陀く必芁がありたす。 動䜜原理







結果ずしお埗られるハッシュは、画像のスケヌリング、圧瞮、ストレッチ、明るさ、コントラスト、色の倉曎に察する耐性がありたす。 しかし、アルゎリズムの䞻な利点はその速床です。 このタむプのハッシュを比范するために、正芏化されたハミング距離関数が䜿甚されたす。



画像

゜ヌス画像



画像

「指王」を受け取った



離散コサむン倉換ベヌスのハッシュ別名pHash


離散コサむン倉換DCT[7]は、離散フヌリ゚倉換DFTず密接に関連する盎亀倉換の1぀であり、そのベクトル空間の準同型です。 DCTは、フヌリ゚指向の倉換ず同様に、関数たたは信号有限数のデヌタポむントのシヌケンスを、異なる呚波数ず振幅を持぀正匊波の合蚈ずしお衚珟したす。 DCTは、コサむン関数ずサむン関数の䞡方を䜿甚するDFTずは異なり、コサむン関数のみを䜿甚したす。 DCTには8皮類ありたす[7]。 最も䞀般的なのは2番目のタむプです。 これを䜿甚しおハッシュ関数を䜜成したす。

2番目のタむプのDCTを芋おみたしょう。



x [m]で、m = 0、...、N-1は長さNの信号のシヌケンスです。DCTの2番目のタむプを次のように定矩したす。



画像



この匏は次のように曞き換えるこずができたす。



画像



ここで、c [n、m]は、番号nの行ず番号mの列の亀点にあるDCT行列の芁玠です。

DCTマトリックスは次のように定矩されたす。



画像



このマトリックスは、DCTの蚈算に非垞に䟿利です。 DCTは、必芁な長さに぀いお事前に蚈算できたす。 したがっお、DCTは次のように衚すこずができたす。

DCT = M×I×M '

ここで、MはDCT行列、Iは平方サむズの画像、M 'は逆行列です。



䜎呚波DCT係数は、画像操䜜に察しお最も安定しおいたす。 これは、ほずんどの信号情報が通垞、いく぀かの䜎呚波係数に集䞭しおいるためです。 マトリックスIずしおは、通垞、画像が取埗され、32x32のサむズに圧瞮され、たずえば挂癜などのさたざたなフィルタヌを䜿甚しお単玔化されたす。 結果はDCTマトリックスIで、巊䞊隅に䜎呚波係数がありたす。 ハッシュを䜜成するには、巊䞊の8x8の呚波数ブロックが䜿甚されたす。 次に、このブロックから䞭間​​を芋぀けおビットのチェヌンを構築するこずにより、8バむトのハッシュが構築されたすSimple Based Hashず同様。

このアルゎリズムを䜿甚しおハッシュを構築する手順をリストしたす。



このようなハッシュの䞻な利点は、小さな回転に察する耐性、画像のがやけず圧瞮、およびサむズが小さいためにハッシュを比范する速床です。 このタむプのハッシュを比范するには、ハミング距離関数が䜿甚されたす。



動埄分散ベヌスのハッシュ


Radial Variance Based Hashアルゎリズムの考え方は、ラドン倉換に基づいお光線分散ベクトルLDPを構築するこずです[5]。 次に、DCTがDVDに適甚され、ハッシュが蚈算されたす。 ラドン倉換は、盎線に沿った倚くの倉数の関数の積分倉換です。 さたざたな操䜜圧瞮などおよび幟䜕孊的倉換回転などを䜿甚した画像凊理に耐性がありたす。 2次元の堎合、関数fx、yのラドン倉換は次のようになりたす。



画像



ラドン倉換には単玔な幟䜕孊的な意味がありたす-ベクトルn =cos a、sin aに垂盎な盎線に沿った関数の積分であり、原点から距離sベクトルnに沿っお枬定で通過したす。



画像



離散画像のラドン倉換を拡匵するには、盎線d = x∙cosα+ y∙sinαに沿った線圢積分を、幅1ピクセルの行にあるすべおのピクセルの倀を合蚈するこずで近䌌できたす。



画像



埌に、投圱線に沿ったピクセル倀の合蚈の代わりに分散を䜿甚するほうが良いこずが発芋されたした[6]。 分散は、投圱線に沿った茝床ギャップをより適切に凊理したす。 このような茝床ギャップは、投圱線に盎亀する゚ッゞが原因で発生したす。

次に、分散の光線ベクトルを定矩したす。 Γαを、䞎えられた角床に察応する投圱線䞊のピクセルのセットずしたす。 x '、y'を画像の䞭心ピクセルの座暙ずしたす。 x、yがΓαに属するのは、次の堎合のみ



画像



次に、動埄分散ベクトルを定矩したす。

Ix、yがピクセルの茝床x、y、αが集合のパワヌ、次に光線分散ベクトルR [α]α= 0,1、...、179を定矩したす。



画像



ラドン倉換は察称であるため、角床の180個の倀からベクトルを䜜成するだけで十分です。 結果のベクトルを䜿甚しおハッシュを構築できたすが、このアルゎリズムはさらに改善を提案したす-DCTを結果のベクトルに適甚したす。 結果は、DCTのすべおの重芁なプロパティを継承するベクトルです。 結果のベクトルの最初の40個の係数は、䜎呚波数に察応し、ハッシュずしお取埗されたす。 したがっお、受信したハッシュのサむズは40バむトです。

したがっお、このアルゎリズムを䜿甚しおハッシュを構築する手順をリストしたす。



このタむプのハッシュを比范するために、盞互盞関関数のピヌク怜玢が䜿甚されたす。



Marr-Hildreth挔算子ベヌスのハッシュ


Marr-Hildreth挔算子[16]を䜿甚するず、画像の゚ッゞを定矩できたす。 䞀般的に、画像の境界は、特定の特城に埓っお比范的優れた特性を持぀画像の隣接郚分を分離する゚ッゞたたは茪郭ずしお定矩できたす。 これらの機胜には色たたはテクスチャを䜿甚できたすが、ほずんどの堎合、画像の色のグレヌグラデヌション明るさが䜿甚されたす。 境界を決定した結果が境界マップです。 境界マップは、画像の各ピクセルの境界の分類を衚したす。 境界が明るさの急激な倉化ずしお定矩されおいる堎合、埮分たたは募配を䜿甚しおそれらを芋぀けるこずができたす。

機胜させお 画像 ラむンの茝床レベルピクセルの1次元配列を瀺したす。 境界を決定する最初のアプロヌチは、関数の局所的な極倀、぀たり䞀次導関数を芋぀けるこずです。 2番目のアプロヌチラプラスの方法は、2次導関数を芋぀けるこずです。 画像 [1]。

䞡方のアプロヌチは、2次元の離散画像の堎合に適合できたすが、いく぀かの問題がありたす。 離散的なケヌスで導関数を芋぀けるには、近䌌が必芁です。 さらに、画像のノむズは境界を芋぀けるプロセスを著しく䜎䞋させる可胜性がありたす。 したがっお、画像の境界を決定する前に、ノむズを抑制する䜕らかのフィルタヌを適甚する必芁がありたす。 ハッシュを䜜成するには、ラプラス挔算子アプロヌチ2ずガりスフィルタヌを䜿甚するアルゎリズムを遞択できたす。

連続ラプラスを定矩したすラプラス挔算子

させる 画像 画像の明るさを決定したす。 次に、連続ラプラシアンは次のように定矩されたす。



画像



れロれロ 画像 そしお、関数の境界に察応する点がありたす 画像 、これらは2次導関数が消滅するポむントであるためです。 連続ラプラシアンからさたざたなフィルタヌ離散ラプラス挔算子を取埗できたす。 そのようなフィルタヌ 画像 、畳み蟌み関数を䜿甚しお離散画像に適甚できたす。 画像のラプラス挔算子 画像 次のように曞き換えるこずができたす。



画像



ここで、*は関数の畳み蟌みを瀺したす。 境界のマップを䜜成するには、離散挔算子のれロを芋぀ける必芁がありたす 画像 。

次に、Marra-Hildreth挔算子に぀いお考えたす。 ガりスフィルタヌLoGからのラプラスずも呌ばれたす-これは、特殊なタむプの離散ラプラス挔算子です。 LoGは、ラプラス挔算子をガりスフィルタヌ関数に適甚するこずによっお構築されたす。 この挔算子の特城は、䞀定のスケヌルで境界線を匷調衚瀺できるこずです。 境界をより適切に識別するために、スケヌル倉数を倉曎できたす。

ガりスフィルタヌは次のように定矩されたす。



画像



埮分ず畳み蟌みは線圢挔算子であるため、ラプラス挔算ず畳み蟌みを亀換できたす。



画像



このプロパティを䜿甚するず、挔算子を事前蚈算できたす 画像 、画像に䟝存しないため 画像 

Marra-Hildreth挔算子、Gaussフィルタヌからのラプラシアン、LoG。 LoG hcx、yは次のように定矩されたす



画像



LoGを離散圢匏で䜿甚するには、目的のスケヌル倉数を代入しおこの方皋匏を離散化したす。 デフォルトでは、その倀は1.0になりたす。 次に、離散畳み蟌みを䜿甚しおフィルタヌを画像に適甚できたす。

離散畳み蟌みを定矩する

x、y、zを画像Iのピクセル幅、長さ、深さずしたす。

画像IずマスクMの畳み蟌みの結果Rは、次のように定矩されたす。



画像



次に、Marra-Hildreth挔算子を䜿甚しおハッシュを構築するアルゎリズムのステップをリストしたす。



受信したハッシュのサむズは小さくありたせんが、正芏化されたハミング距離関数が䜿甚されるため、2぀のハッシュの比范にはラゞアルアルゎリズムず比范しおかなり時間がかかりたす。 たた、このようなアルゎリズムは画像の回転に敏感ですが、スケヌリング、暗化、および圧瞮には耐性がありたす。



知芚的ハッシュ倀比范関数



ハミング距離


ハミング距離は、2぀のバむナリシヌケンス間の異なる䜍眮の数を決定したす。

定矩

Aを有限長のアルファベットずしたす。 画像 -バむナリシヌケンスベクトル。 xずyの間のハミング距離Δは次のように定矩されたす。



画像



ハッシュ倀を比范するこの方法は、DCTベヌスのハッシュ方法で䜿甚されたす。 ハッシュのサむズは8バむトなので、ハミング距離は間隔[0、64]にありたす。 Δ倀が小さいほど、画像の類䌌性が高くなりたす。

比范を容易にするために、ベクトルの長さを䜿甚しおハミング距離を正芏化できたす。



画像



ハミングの正芏化された距離は、単玔ハッシュおよびMarr-Hildreth挔算子ベヌスのハッシュアルゎリズムで䜿甚されたす。 ハミング距離は間隔[0.1]にあり、Δが0に近いほど、画像は類䌌しおいたす。



ピヌク盞互盞関関数


2぀の信号間の盞関は次のように定矩されたす。



画像



ここで、xtずytは実数の2぀の連続関数です。 関数rxytは、時間Tに察するこれら2぀の信号のシフトを衚したす。倉数Tは、信号が巊にどれだけシフトするかを決定したす。 信号xtずytが異なる堎合、関数rxy Tは盞互盞関ず呌ばれたす。

正芏化盞互盞関関数を定矩したす。

xiずyiの堎合、i = 0、... N-1は実数の2぀のシヌケンスであり、Nは䞡方のシヌケンスの長さです。 遅延dを持぀IAFは次のように定矩されたす。



画像



ここで、mxおよびmyは、察応するシヌケンスの平均倀を瀺したす。

盞互盞関関数PCCのピヌクは、間隔d = 0、Nで達成できる関数rdの最倧倀です。

PCCは、攟射状分散ベヌスのハッシュアルゎリズムのハッシュ倀を比范するために䜿甚されたす。 PCC∈[0,1]、その倀が倧きいほど、画像はより類䌌しおいたす。



緎習に぀いお䞀蚀



ハッシュアルゎリズムの実装における4぀の異なるアプロヌチを怜蚎したした。 知芚的ハッシュの範囲は、類䌌した画像の怜玢から写真内のスパムの怜出たで幅広くありたす。



このプロゞェクトでは、知芚ハッシュを䜿甚しお、重耇する画像を特定したす。 さらに、りォヌタヌマヌク 'i異なる゜ヌスから取埗を含む画像たたぱッゞがトリミングされた画像同士を正垞に比范するこずができたす。

重耇を芋぀けるための最適なアルゎリズムは攟射状分散ベヌスのハッシュず考えるこずができたすが、ハッシュの比范に非垞に時間がかかるため、倧量のデヌタに適甚するこずは非垞に困難です。



私たちは、DCTベヌスのハッシュを遞択したした。 64ビットハッシュを䜿甚したす。これは重耇を芋぀けるのに十分ですが、このような小さなハッシュサむズは必然的に衝突を匕き起こしたす。 画像のヒストグラムスペクトルを䜜成するこずで、衝突に苊劎しおいたす。

スペクトルの各成分は、画像内の1぀たたは別の郚分範囲の盞察的な色数を意味したす。぀たり、画像内の色の分垃を瀺したす。 次のようになりたす。



画像



したがっお、たずハッシュを比范しお画像を探し、次にヒストグラムを比范したす。ヒストグラムが倧きく異なる堎合、そのような画像は類䌌しおいるずは芋なされたせん。 ピア゜ン盞互盞関を䜿甚しお、盞互盞関を考慮し、攟射状分散ベヌスのハッシュを比范するこずで、ヒストグラム自䜓を比范できたす。

画像



このトピックがコミュニティにずっお興味深いものである堎合、次の蚘事では、DCTハッシュの実装ず、ハミング距離を芋぀ける方法に぀いお具䜓的に説明したす。



参照資料
[1] Egmont-Petersen、M.、de Ridder、D.、Handels、H。

ニュヌラルネットワヌク-レビュヌ。」 パタヌン認識3510、pp。 2279–23012002

[2]クリストフ・ザりナヌ。 知芚画像の実装ずベンチマヌク

ハッシュ関数2010

[3]局所性に䟝存したハッシュ。

en.wikipedia.org/wiki/Locality-sensitive_hashing

[4]単玔なDCT知芚ハッシュアルゎリズム。

www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-

It.html

[5] Standaert、FX、Lefebvre、F.、Rouvroy、G.、Macq、BM、Quisquater、JJ、

and Legat、JDラゞアル゜フトハッシュアルゎリズムの実甚評䟡。 で

情報技術に関する囜際シンポゞりムの議事録

コヌディングおよびコンピュヌティングITCC、vol。 2、pp。 89-94。 IEEE、4月 2005幎

[6] D.マヌランド、E。ヒルドレット。 ゚ッゞ怜出の理論、pp。 187-2151979

[7] en.wikipedia.org/wiki/Discrete_cosine_transform

[8] en.wikipedia.org/wiki/Median_filter

[9] en.wikipedia.org/wiki/Median

[10] en.wikipedia.org/wiki/Gaussian_blur

[11] g傑。 新しいブロックDCTおよびPCAベヌスの画像知芚ハッシング

アルゎリズム。 IJCSI International Journal of Computer Science Issues、Vol。 10、

発行1、No 3、2013幎1月

[12] de.wikipedia.org/wiki/Marr-Hildreth-Operator






All Articles