【发布时间】:2010-10-31 12:50:41
【问题描述】:
我正在为 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)
正如我所说,指导我的研究的任何想法都很棒。
亲切的问候,
加文
【问题讨论】:
标签: performance algorithm image comparison metrics