图像搜索项目整理笔记

来源:互联网 发布:golang udp server 编辑:程序博客网 时间:2024/06/05 03:35

图像搜索

框架


1颜色特征提取

目标:统计图片的颜色成分->颜色聚类直方图

方法:使用K-means对图片进行lab进行聚类

颜色特征相似度计算

颜色直方图距离

EMD(earth mover distance)

两个图片颜色特征直方图之间的相似度

检索结果排序依据

色差距离

CIEDE2000

Lab空间中两个颜色之间的视觉相似度(EMD距离基础距离)


2. 相似纹理检索

重复模式:元素或基元按一定的规则排列

纹理特征

反映图像中同治现象的视觉特征

所有物体表面共有的内在特征

包括物理表面结构组织排列的重要信息

彩色图片灰度化

提取灰度图的Gabor滤波器特性

(1)6频率(尺度),8方向的Gabor

(2)48个同尺度的特征图

(3)每个像素对应48维的Gabor特征向量

使用K-means聚类所有的像素Gabor特征

K值 根据数据集纹理复杂度而定


3.相似形状检索

图像->灰度图->sobel梯度图,canny边缘图->每个子区域的直方图->级联得到PHOG特征向量

局部特征点检索

检测出所有局部特征点,特征描述子(SIFT)

图之间的相似匹配度

两个图SIFT点集之间的匹配对数

双向匹配


4.视觉词汇字典

由图片集所有的视觉词汇构成


大数据集的索引加速

KDtree  和 局部敏感哈希

感知哈希算法

1.缩小图片尺寸

将图片缩小到8*8尺寸,共64个像素,作用是去除各种图片尺寸和比例的差异,只保留结构,明暗等基本信息。

2装换灰度图片

将缩小后的图片,转为64级灰度图片。

3计算灰度平均值

计算图片中所有像素的平均灰度值。

4比较像素灰度

将每个像素灰度与平均值比较,大于或等于平均值为1,小于为0.

5计算哈希值

比较结果,组合在一起,构成64位二进制整数,就是指纹。

6得到图片指纹进行对比

计算64位中有多少位是不一样的,不相同超过5,相似,超过十,不是同一张图片。


代码:https://github.com/zy197997312


搜索效果(车)



原创粉丝点击