突然ですが画像がたくさんあってそれを人の目で分類するのって大変ですよね。 自動でこういったものを分類できないか興味があったので調べてみました。 perceptual hashとは perceptual hash というのは、ハッシュ関数の実装なのですがSHA1等のハッシュ関数とは違い、以下の様な特徴があります。 得られるハッシュ値は64bit 対象は静止画, 画像, 音声等のマルチメディアデータ コンテンツ内容が類似しているケースでハッシュを得た場合、例えば静止画画像の拡大、縮小といった加工の場合ハッシュ値が全く同じになる また、色調の修正やノイズが加わった場合も得られるハッシュ値間のハミング距離が近くなる 64bitのハッシュ値なので最も遠いハミング距離は64 (=全くコンテンツが異なっている) 逆にハミング距離が0であればperceptual hashで得られた結果上は同一コンテンツ
![perceptual hash(phash)を利用して画像比較をしてみる - テノニッキ (@hideack 's diary)](https://cdn-ak-scissors.b.st-hatena.com/image/square/71b4a0af5281722106a262cac47c53609006e47f/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhideack%2F20150314%2F20150314210109.jpg)