自制图片搜索引擎(一)

来源:互联网 发布:node.js sqllite 编辑:程序博客网 时间:2024/04/30 14:18


      一般来说有三种模式的图片搜索引擎:基于元数据、基于例子和混合模式。

    基于元数据的搜索引擎是指手动为图片添加注释或标签,这种方式很少检测图像本身的内容,而是用相关的文本信息。

     基于例子搜索仅仅依赖于图像的内容,不需要提供关键字。引擎会分析、量化并存储图像,然后返回其他相关的图像。

     混合式图像搜索引擎可以同时基于图像和文本描述搜索。


    

      在构建图像搜索引擎时,首先要对数据集编列索引。索引化数据集是量化数据集的过程,即通过图像描述符(image descriptor,也称描述子)提取每幅图像的特征

       构建CBIR系统的大致步骤可归纳为:

       

  1. 定义图像描述符:在这一阶段,需要决定描述图像的哪一方面。是关注图像的颜色,还是图像中的物体形状,或是图像中的纹理?
  2. 索引化数据集:现在有了图像描述符,接着就是将这个图像描述符应用得到数据集中的每幅图像,提取这些图像的特征,将其存储起来(如CSV文件、RDBMS、Redis数据库中,等),这样后续步骤就能使用以便比较。
  3. 定义相似矩阵:很好,现在有了许多特征向量。但如何比较这些特征向量呢?流行的方式是比较欧几里德距离、余弦距离、或卡方距离。但实际中取决于两点:1、数据集;2、提取的特征类型。
  4. 搜索:最后一步是进行实际的搜索。用户会向系统提交一幅需要搜索的图片(例如从上传窗口或通过移动App提交),而你的任务是:1、提取这幅图像的特征;2、使用相似度函数将这幅图像的特征与已经索引化的特征进行比较。这样,只需根据相似度函数的结果,返回相关的图像就可以了。
    


0 0