2009-06-05 19 views
0

「進化した」1000以上の画像フィルタを含むAndroidプラットフォームのアプリケーションを開発しています。高速軽量画像比較メトリックアルゴリズム

ユーザーが写真を選択すると、最も関連性の高いフィルタが最初に表示されます。

この '関連性'は以前の使用例に依存する必要があります。

フィルタリングされた画像を保存するときに登録するツールを既に開発しています。このフィルタと画像の組み合わせは、私のシステムのトレーニングデータと見ることができます。

問題は、画像を選択すると次の画面が表示されるまでの間に比較が行われなければならないことです。 UIの観点から、私はプロセス全体を4秒以下で済ませる必要があります。イメージを選択 - >類似性に使用するメトリックを取得 - >ユースケースをチェック - > 6つの最も近いマッチを返します。 4秒で私は想像しています。私はアニメーションやプログレス・ダイアログを使ってユーザーを満足させることができます。

プラットフォームの制約のため、私はアルゴリズムの計算コストがかなり制限されています。私は、G1上でCコードを実行するためのさまざまなオンラインチュートリアルから適応されたテクニックを実装しました。したがって、この言語は利用可能です。

特定の制約。

  • Qualcomm®MSM7201A™、528メガヘルツ プロセッサ
  • 320×480ピクセルのビットマップの32ビットARGB
  • 〜2秒にメトリックを
  • 〜2秒を取得するネイティブメソッドのための計算時間現在の画像のメトリックをトレーニングデータと比較する

これは学術プロジェクトであり、すべてのアイデアが歓迎されているので、私には興味深いと聞いたことがあります。

私のアイデア;

  • 私はピクセルデータだけではなく、近傍関数を使用してダウン(O(n個の* m)を?)複雑さを維持したい
  • 私はカラーhistorgram /グレースケールヒストグラム/テクスチャ/エントロピーを使用して見ていた
  • 画像を結合して、それらを組み合わせて測定を行います。
  • は、情報の明らかな損失があるでしょうが、私は、画像のメモリフットプリント(〜0.512メガバイト)

私が言ったように、私の研究を指示する任意のアイデアよりも実質的に小さいことを結果としてメトリックが必要になります素晴らしいです。

敬具、

ギャビン

答えて

1

同様のSOの議論hereがあります - ヒストグラムが移動するための方法であるように見えるでしょう。あなたは、おそらくfast thumbnailing libraryを使って、高度に圧縮されたJPEGを比較することもできます。