快速轻量级图像比较度量算法

时间:2009-06-05 01:47:50

标签: performance algorithm image comparison metrics

我正在为Android平台开发一个应用程序,其中包含1000个已经“进化”的图像过滤器。

当用户选择照片时,我想先显示最相关的过滤器。

这种“相关性”应取决于以前的用例。

我已经开发了一些工具,可以在保存过滤后的图像时进行注册;过滤器和图像的组合可以看作我系统的训练数据。

问题是必须在选择图像和下一个屏幕之间进行比较。从UI的角度来看,我需要整个过程花费少于4秒;选择图像 - >获得用于相似性的度量 - >检查用例 - >返回6个最接近的匹配我用4秒钟计算,我可以使用动画和进度对话框让用户满意。

由于平台约束,我在算法的计算开销方面相当有限。我已经实现了一种改编自各种在线教程的技术,用于在G1上运行C代码,因此可以使用这种语言

特定约束;

  • Qualcomm®MSM7201A™,528 MHz 处理器
  • 320 x 480 32位ARGB中的像素位图
  • 〜2秒计算时间,本机方法获取指标
  • ~2秒将当前图像的度量与训练数据进行比较

这是一个学术项目,所以欢迎所有想法,我能感兴趣的任何你能想到或听说过的东西。

我的想法;

  • 我想通过仅使用像素数据而不是邻域函数来降低复杂度(O(n * m)?)
  • 我正在考虑使用图像的颜色历史图/灰度直方图/纹理/熵,将它们组合起来进行测量。
  • 信息明显丢失,但我需要得到的指标远远小于图像的内存占用量(~0.512 MB)

正如我所说,任何指导我研究的想法都会很棒。

亲切的问候,

加文

1 个答案:

答案 0 :(得分:1)

有一个类似的SO讨论here - 直方图似乎是要走的路。您还可以尝试比较高度压缩的JPEG - 可能使用fast thumbnailing library