「進化」した 1000 以上の画像フィルターを含む Android プラットフォーム用のアプリケーションを開発しています。
ユーザーが写真を選択すると、最も関連性の高いフィルターを最初に提示したいと考えています。
この「関連性」は、以前のユースケースに依存する必要があります。
フィルター処理された画像が保存されたときに登録するツールを既に開発しました。このフィルターと画像の組み合わせは、システムのトレーニング データと見なすことができます。
問題は、画像の選択と表示される次の画面の間で比較を行う必要があることです。UI の観点からは、プロセス全体にかかる時間を 4 秒未満にする必要があります。画像を選択 -> 類似性に使用するメトリックを取得 -> ユース ケースをチェック -> 最も近い 6 つの一致を返します。4 秒あれば、アニメーションと進行状況ダイアログを使用してユーザーを満足させることができると考えています。
プラットフォームの制約により、アルゴリズムの計算コストはかなり制限されています。G1 で C コードを実行するためのさまざまなオンライン チュートリアルを応用した手法を実装したため、この言語を使用できます。
特定の制約;
- Qualcomm® MSM7201A™、528 MHz プロセッサ
- 32 ビット ARGB の 320 x 480 ピクセル ビットマップ
- メトリックを取得するためのネイティブ メソッドの計算時間は ~ 2 秒
- 現在の画像のメトリックをトレーニング データと比較するのに約 2 秒
これは学術的なプロジェクトなので、あらゆるアイデアを歓迎します。あなたが考えたり聞いたりしたことがあれば、私は興味を持ちます。
私の考え;
- 近傍関数ではなくピクセル データのみを使用して、複雑さを抑えたい (O(n*m)?)
- 私は、画像のカラーヒストグラム/グレースケールヒストグラム/テクスチャ/エントロピーを使用して、それらを組み合わせて測定を行うことを検討していました。
- 明らかに情報が失われますが、結果のメトリックを画像のメモリ フットプリント (~0.512 MB) よりも大幅に小さくする必要があります。
私が言ったように、私の研究を方向付けるアイデアは素晴らしいものです。
敬具、
ギャビン