2009-03-05 12 views
25

画像間の差異を計算するために使用できるアルゴリズムについて知っていますか?画像間の差異を計算する

たとえば、このウェブページをご覧ください。http://tineye.com/あなたはリンクを張ったり画像をアップロードしたりすると、類似した画像が見つかります。問題の画像をすべての画像と比較しているかどうかは疑問です。

計算すると、Levenshtein_distanceまたはHamming distanceが文字列の場合と同じ意味です。

私はちょうどウェブサイトを見つけて非常に興味があるように、プロジェクトや何かのために正しい答えをする必要はありません。私は彼らのウェブサイトのための類似したサービスのためのdiggが支払うことを知っている。

+0

を使用している場合は...少なくとも、その有用

多分buildHistograms()

https://jpicsort.dev.java.net/source/browse/jpicsort/ImageComparator.java?rev=1.7&ビュー=マークアップ以外のそれのどの部分を見ていけないあなたはそれを使用する可能性がありますと思いますかさらにファイル名の一致?その原因を助けることができます.... – alex

+0

面白い:http://tineye.com/search/789b9c5d3a71fe1609725c8fab0597a825258463 – OscarRyz

+0

productoverview、本当にstackoverflowのロゴのように見えます – OscarRyz

答えて

21

非常に最も簡単な対策は、例えば、RMS-誤差ベースのアプローチであることを行っています特定の圧縮方式が元の画像をどれくらいうまく保っているかを見ているように、既に非常に近い2つの画像がある場合、結果は実際には意味があります。また、どのような種類のアーティファクトが存在するかによって、どちらの比較からも同じ結果が得られる可能性があります(RMS/PSNRの写真の例では誤解を招く可能性があります)。

これ以外にも、画像の類似性に関する研究分野があります。私は専門家だが、ここではいくつかのポインタされています

  • 作業の多くは、画像の主要な構成要素を選び出すためにdimensionality reduction(PCA、SVD、固有値解析、など)を使用してのアプローチに入ったと異なる画像間でそれらを比較する。

  • 他のアプローチ(特に医療用画像)画像の重要な部分を取り出すためにsegmentation技術を使用し、それらは

  • 見つかったものに基づいて画像がまだ他にはいくつかの回避類似性指標を考案しようとした比較RMSエラーとPSNRの欠陥。 spatial domain structural similarity (SSIM)小節には非常にクールな論文がありました。それは、直接的な数学的な誤りの概念ではなく、イメージの誤りに対する人々の認識を模倣しようとしています。同じ人がthis paper on WSSIMwavelet analysisを使用して、翻訳/回転不変のバージョンを改良しました。

  • TinEyeは、属性を比較するためにlotsの値を持つ特徴ベクトルを使用しているようです。あなたは自分のサイト上で探し回る場合は、最終的にIdeé Labsページを取得し、their FAQは、いくつかの(しかし、あまりにも多くはない)を持っている具体的なアルゴリズムについて:

    Q:どのように視覚的な検索が動作しますか?

    A:IDEEのビジュアル検索技術は、画像の数百は、色、形状、質感、明るさ、複雑さ、オブジェクトとして属性を解析するために高度なアルゴリズムを使用し、そしてregions.These属性が外観を記述するコンパクトデジタル署名を形成しますこれらの署名は、当社のソフトウェアによって計算され、インデックスされます。視覚的な検索を実行すると、これらのシグネチャは検索エンジンによって迅速に比較され、視覚的に似た結果が返されます。

これは完全決して(それは私が私自身の研究の過程で遭遇した技術のほんの一握りだ)であるが、あなたは技術論文のために、Googleや画像の最近の会議の議事録に目を通す場合処理するには、このような方法のためのメソッドを見つける必要があります。それは解決された問題ではありませんが、うまくいけば、これらのポインタはあなたに何が関係しているかのアイデアを与えるでしょう。

1

TinEyeは、イメージまたはその一部の一種のハッシュです(FAQ参照)。類似した(またはほぼ同じ)画像に対しても同様の "ハッシュ"が必要なので、おそらく実際のハッシュ関数ではありません。しかし、ハッシュとそのサブストリングを比較して、イメージが類似しているか同一であるか、またはイメージが他のイメージに含まれているかどうかを判断するだけです。

1

Heresはimage similarityページですが、ポリゴン用です。色と形に基づいて画像を有限数のポリゴンに変換し、それぞれのアルゴリズムを実行することができます。

0

相関技法は、マッチのジャンプアウトを行います。それらがJPEGの場合、各8x8ブロックの支配的な係数を比較し、まともなマッチを得ることができます。これはちょうど相関関係ではありませんが、それは余弦変換に基づいているため、最初のいとこです。

5

1つの手法は、color histogramsです。機械学習アルゴリズムを使用して、使用した再記入に基づいて類似の画像を見つけることができます。例えば、一般的に使用されるk-means algorithmedge detectionを使った後、画像の縦線と横線を分析しようとする他の解決策を見てきました。 Texture analysisも使用されます。

最新のpaper picasa webのクラスターイメージ。私が取り組んでいるclustering algorithmもお試しください。

4

損失のあるwavelet compressionを使用し、画像の関連性の高い要素を比較することを検討してください。

これらはおそらく距離措置のあなたの概念を用いたゲルが、その:

+0

私はこのテクニックを使用していくつかの作業を行い、良い結果を得ました(完全な開発プロジェクトに資金を供給するには十分ではありません)。 –

1

ここに私が書いたコードは4年前のjava yikesヒストグラムを使った画像比較です。あなたはクールなサイトが社のJava

関連する問題