基于randomized visual phrase的目标检索

这个算法是用于目标检索的比较快速的一个算法,参考Randomized Visual Phrases for Object Search。

算法的流程如下:

//图片训练阶段

1读入N张图片

2 转换成灰度图

3 检测N张图片的特征点,本算法中应用的是SIFT特征。

4 生成描述子

5 描述子聚类,生成visual word,用kmeans()算法完成。

6 将图片库中的图片用另一种方式进行描述

将每个图片中所有的特征点用[ x,y,v ]表示。其中,x,y是每个特征点的坐标,v代表这个特征点对应的visualword的编号。

7 生成invert file

8 stop list算法

统计倒排文件中,对某一个word,包含这个word的图片的个数,对高频出现的word删去,这个步骤对于提高检索的正确率有很大帮助。


//目标搜索阶段

9 读入目标图片

10 转换成灰度图

11 提取特征点,生成描述子

12 生成目标的visual phrase

介绍一下什么是visual pharse,即是将目标图片中出现的所有特征点,用visual word词汇表中与之最接近的word进行代替,然后计算所有的word的出现的次数。本文算法中,是根据目标特征点的描述子向量与每个visual word的欧氏距离来进行匹配的。这种方法的速度比较慢,也有一些快速的匹配算法,目前正在研读中,以后会更新。

13 检索含有目标有图片

根据倒排文件中,检索与目标最相近的图片。通过计算目标图片的visual phrase矢量与图片的visual phrase矢量的直方图相交(HI或者NHI),找到与目标最匹配的图片。

14 对找到的图片,随机划分

把图片,随机的划分成一块一块的矩形方块,划分T次,每次划分是不重叠的。每次划分的方块的行数与列数是相同的,均为M*N。本文的算法中,可能通过调整T的大小 ,调整检索速度与调整精度。如果T的选择的比较大,那么它的精度比较大,速度比较慢。如果T选择的比较小,那么它的定位精度比较小,速度比较快。

15 计算每个随机方块的visual phrase

16 计算每个随机网格与目标的匹配程度

计算每个网格的visual phrase与目标的visualphrase之间的HI距离,这个距离越大,代表目标与这个网格中的内容越匹配。

17 投票

经过T次随机划分,会产生M*N*T个随机图片块,并且每个块与目标之间,都计算出了一个距离,把这个距离当成这个块的得分。然后每一个块,把这个得分投给它包含的每一个像素上。这样就会得到一个投票图,图片得分最高的部分,代表与目标接近的程度最高。

18 寻找投影图中,值最大的点A。

19 通过投影的像素值的大小,在A的周围,确定一个矩阵区域。认为这个矩形区域就是目标在原图中的位置。

20 显示这个矩形区域。

实验结果如下:


待检索目标


检索结果。

本文为CSDN博客,更多内容请点:http://write.blog.csdn.net/postlist/2867665/all

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大指挥官

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值