图像识别的起点?

时间:2015-12-22 13:41:59

标签: algorithm image-processing computer-vision image-recognition

我有一组274个彩色图像(每个图像为200x150像素)。每个图像在视觉上是不同的我想构建一个应用程序,它接受一组基本图像的上/下缩放版本,并确定最接近的匹配。

我是一名高级软件工程师,但对图像识别来说还是全新的。我真的很感激任何关于从哪里开始的建议。

1 个答案:

答案 0 :(得分:1)

如果您要比较非常相似的图像,理论上它足以计算2幅图像之间的欧几里德距离。图像的大小必须与此相同,因此通常需要重新缩放图像才能这样做(通常会缩小较大的图像)。请注意,此处可能会发生aliasing个问题,因此请注意您的downsampling algorithm。如果您的图片没有相同的宽高比,那么也会出现问题。

然而,这几乎从未在实践中完成,因为它非常慢。对于尺寸为WxH和3个颜色通道的N个图像,它需要N×W×H×3比较,这很快变得不可行(考虑到许多用户可以具有超过1000个大小> 1000x1000的图像)。

通常我们会尝试将图像缩小为更小的数组,以便更简单地捕获图像信息,称为visual descriptor。例如,拍摄1024x1024x3图像并将其缩小为128长度矢量。这仅需要为参考图像计算一次,然后存储在适当的数据结构中。然后我们可以将查询图像的描述符与参考图像的描述符进行比较。

计算长度为L的描述符的N个图像数据集的距离的成本则为N x L而不是原始N x W x H x 3

所以问题在于找到有效的描述符,这些描述符(a)计算成本低廉,(b)准确捕获图像。这仍然是一个活跃的研究领域,但我可以提出一些建议:

  • 直方图可能是最简单的方法,尽管它们对任何光照变化都很差,并且只包含颜色信息,没有空间信息。确保在进行任何比较之前对直方图进行标准化
  • 感知哈希适用于非常相似的图像或略微裁剪的图像。请参阅here
  • GIST描述符功能强大,但更复杂,请参阅here