gpt4 book ai didi

iphone - 硬件加速图像比较/搜索?

转载 作者:行者123 更新时间:2023-11-29 13:24:51 25 4
gpt4 key购买 nike

我需要找到小图像在大图像中的位置。较小的图像是较大图像的子集。要求还包括像素值可能略有不同,例如,如果图像是由不同的 JPEG 压缩生成的。我已经通过使用 CPU 比较字节来实现该解决方案,但我现在正在研究加速该过程的任何可能性。我能以某种方式利用 OpenGLES 并因此利用 iPhone GPU 吗?

注意:图像是灰度的。

最佳答案

@Ivan,这是视频压缩中的一个非常标准的问题(找到当前宏 block 在前一帧中的位置)。您可以使用像素差异的度量,例如绝对差异之和 (SAD)、平方差异之和 (SSD) 或 Hadamard 变换差异之和 (SATD)。我假设您不是在尝试压缩视频,而是在寻找水印之类的东西。在许多情况下,您可以使用梯度下降类型搜索来查找局部最小值(最佳匹配),根据经验观察将图像(您的小图像)与相同的稍微偏移版本(匹配其位置已经'被准确地找到)产生比与另一幅图像的随机部分比较更接近的度量。因此,您可以先对所有可能的偏移量/位置(视频编码中的运动矢量)的空间进行相当粗略的采样,然后围绕最佳结果进行局部优化。局部优化的工作原理是将匹配项与一定数量的相邻匹配项进行比较,如果有比当前匹配项更好的匹配项,则移动到其中最好的匹配项,重复。这比蛮力(检查每个可能的位置)快得多,但它可能并非在所有情况下都有效(这取决于所匹配内容的性质)。不幸的是,这种算法不能很好地转化为 GPU,因为每一步都依赖于前面的步骤。它可能仍然值得;例如,如果您检查 256x256 图像位置的 16 个邻居,这足以将并行计算发送到 GPU,是的,它绝对可以在 OpenGL-ES 中完成。然而,所有这些问题的答案实际上取决于您是在进行蛮力搜索还是局部最小化类型的搜索,以及局部最小化是否适合您。

关于iphone - 硬件加速图像比较/搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13417530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com