博客
关于我
以图搜图系统概述及工程实践(上)
阅读量:460 次
发布时间:2019-03-06

本文共 1295 字,大约阅读时间需要 4 分钟。

以图搜图系统概述

以图搜图(Content-Based Image Retrieval, CBIR)是一种根据图像内容进行搜索的技术,旨在从图像数据库中快速找到与给定图像相似的图片。该技术的核心任务包括图像特征提取和特征检索。

在构建以图搜图系统时,两个关键问题需要重点解决:图像特征的提取以及特征数据的检索引擎设计。特征提取的目标是将图像的视觉信息转化为可以量化描述的特征向量,而检索引擎则需要基于这些特征向量快速匹配相似图片。

图像特征表示

图像特征表示是以图搜图系统的基础,主要包括以下三种方法:

图像哈希(Image Hashing)

图像哈希是一种将图像转化为固定长度的二进制字符串的方法,通过对图像进行一系列变换处理后生成哈希值。常用的算法包括Average Hash、PHash等。其中,Average Hash算法通过以下步骤生成图像哈希值:

1. **图像缩减(Reduce size)**:将原图像压缩至固定大小(如8x8,共64个像素),忽略细节信息。

2. **图像灰度化(Reduce color)**:将彩色图像转换为64级灰度图像。

3. **图像均值化(Average the colors)**:对灰度图像进行均值计算,生成一维特征向量。

4. **二值化(Compute the bits)**:将均值向量转化为二进制形式,确定每个像素是否高于均值值,并生成64位二进制字符串。

5. **哈希值构建(Construct the hash)**:将二进制字符串转化为整数,得到图像的均值哈希值。

图像哈希具有简单高效的特点,可对抗一定程度的图像处理干扰(如压缩、噪声等),但其局限性在于对整体图像的破坏会导致哈希值发生较大变化。

传统特征

在计算机视觉领域,传统特征提取方法通过手工设计算法提取图像的局部特征。典型代表是SIFT算法,它通过特征点检测和描述生成一系列多维向量。这些特征点需要进行融合编码(如BOW、Fisher vector、VLAD等方法),将局部特征向量转化为全局特征向量,以表示图像的整体特性。

深度学习特征(CNN特征)

随着人工智能技术的发展,基于卷积神经网络(CNN)的特征提取逐渐成为主流。CNN通过多层非线性变换自动学习图像特征,能够捕捉图像中复杂的视觉信息。例如,CNN提出的VGG网络能够有效提取图像的空间特征,为图像分类和相似度计算提供强有力的支持。

搜索引擎

在以图搜图系统中,特征向量的检索是核心任务。推荐使用开源工具如Milvus进行高效的向量检索,支持快速的相似性搜索。其优势在于:

1. **快速检索**:基于向量索引结构,实现子向量匹配和ANN(Approximate Nearest Neighbor)搜索,提升检索效率。

2. **灵活扩展**:支持多种向量索引算法(如Annoy、LSH等),适用于不同规模的图像数据。

推荐阅读

如果需要深入了解以图搜图系统的实现细节,可以参考以下内容:

1. 《图像处理与内容基于的检索》

2. 《深度学习在图像检索中的应用》

3. 《Milvus开源项目文档》

转载地址:http://drrfz.baihongyu.com/

你可能感兴趣的文章
oracle 查询clob
查看>>
oracle 行转列
查看>>
Oracle 表
查看>>
Oracle 递归
查看>>
oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
查看>>
oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
查看>>
oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
查看>>
oracle--用户,权限,角色的管理
查看>>
Oracle-定时任务-JOB
查看>>
oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
查看>>
oracle00205报错,Oracle控制文件损坏报错场景
查看>>
Oracle10g EM乱码之快速解决
查看>>
Oracle10g下载地址--多平台下的32位和64位
查看>>
Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
查看>>
oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
查看>>
Oracle11G基本操作
查看>>
Oracle11g服务详细介绍及哪些服务是必须开启的?
查看>>
Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
查看>>
oracle12安装软件后安装数据库,然后需要自己配置监听
查看>>
Oracle——08PL/SQL简介,基本程序结构和语句
查看>>