基于一种改进的提取形状特征向量方法,实现图像检索

 图像检索

 

图像检索项目效果图如下:

简单图像集:MPEG图像集(里面有大约有20个类,每个类20个二值图像)。图像集特点:图像中都是单一对象,这样更容易凸显出图形的特征,从而更容易用评价PAF算法的好坏。

以下是针对MPEG图像集的检索效果图:

 

 《基于一种改进的提取形状特征向量方法,实现图像检索》

                                                                                           

再来一张

 

《基于一种改进的提取形状特征向量方法,实现图像检索》

 

接下来是将提取的形状特征向量与其它的特征向量(如颜色、纹理等)相结合,对标准的图像集进行图像检索。

 

标准图像集:corel5K图像集

图像集特点:比较完美的图像集,考虑到颜色、纹理,形状等多方面的因素。

检索效果图:

   

检索界面:

《基于一种改进的提取形状特征向量方法,实现图像检索》

 

单击检索界面点击左侧SubmitQuery Image弹出选择检索图像界面:

 

《基于一种改进的提取形状特征向量方法,实现图像检索》

选择图像界面,点击其中一幅图像:

 

《基于一种改进的提取形状特征向量方法,实现图像检索》

预检索阶段点击Search可直接进行图像检索或在右侧Query Key words里输入检索

词,可进行联合图像与词的联合检索。

 

《基于一种改进的提取形状特征向量方法,实现图像检索》

《基于一种改进的提取形状特征向量方法,实现图像检索》

《基于一种改进的提取形状特征向量方法,实现图像检索》

联合检索:在检索词中输入sun

 

《基于一种改进的提取形状特征向量方法,实现图像检索》

通过评价函数,对PAF算法进行评价。结果图:

图中最上面的曲线是PAF+质心距离提取形状特征向量算法的Recall-Precision曲线。中间的是质心距离的。最下面的是PAF自己的。接下来开始的是项目介绍:

《基于一种改进的提取形状特征向量方法,实现图像检索》

图中最上面的曲线是PAF+质心距离提取形状特征向量算法的Recall-Precision曲线。中间的是质心距离的。最下面的是PAF自己的。接下来开始的是项目介绍:

基于一种改进的提取形状特征向量方法,实现图像检索

 

一. 工作目的与工作内容

   工作目的:为了找到一种更好的提取形状特征向量的方法。

工作内容:将“Shape retrieval using combined Fourierfeatures”论文中提到的Perimeter areafunctionPAF)方法,通过评价函数(金鑫写的统计Recall率和Precision率,用来对检索效果进行评价的函数)与以往的提取特征向量方法做比较。并将其结合其他图像处理技术,实现图像检索。

二. Perimeter area function(PAF)的原理

2.1变量介绍:在形状边界上按顺时针方向连续取N个点(points是边界点座标。N代表边界点的个数。因为形状轮廓边界是封闭的,所以。质心点O的座标是通过公式和公式给出的。

 

 

2.2PAF方法具体算法步骤如下:

1. 对每个边界点计算质心距离.

2 .为基点,逆时针跟踪边界,找到距点为弧长的点,记为。同理,沿着顺时针跟踪边界找到距离的点,记为(如图Fig2)。

《基于一种改进的提取形状特征向量方法,实现图像检索》

1  Fig2

因为形状边界是一条数字曲线,一定位于相邻点(假设是点和点)连接的一条线段上。如果,则的横座标,纵座标。如果,按照公式分别计算点的横纵座标,式子中的求法为:。同理,我们可以得到点的横座标和纵座标。在这里,三个点组成一个三角形,这个三角形的面积,                   (注意,行列式的每一行的顺序不能颠倒)

通过以上的步骤,会产生一个以三角型面积为元素的序列,其中k=012,···,N-1。这个序列就是一个崭新的特征向量(即PAF)。值得一提的是:PAF刻画的是图形轮廓边界局部的信息,每一个是由行列式求的的,所以含有正负。而质心距离既刻画了形状边界的全局信息也刻画了形状边界的局部信息。

三.项目任务分配(深感项目负责人不好当)

将编写的程序分为四部分:

第一部分:特征向量的提取—————提取三种特征向量:

1. 质心距离特征向量(提取之后进行傅立叶变换)

2. PAF特征向量(文中提到的面积特征向量,提取之后进行傅立叶变换)

3. 联合特征向量(  fftPAF)前16维和 fftCD)前16维组成的混合特征向量)

需要注意的是:联合特征向量的提取方法为

其中a代表经过傅立叶变换之后的CD特征向量,B代表经过傅立叶变换之后的PAF特征向量。

第二部分:利用第一部分生成的三种特征向量分别进行循环检索,分别生成3个检索矩阵。矩阵中每一行代表一个图像id号检索的结果序列。此部分生成的结果矩阵用于统计函数统计。

第三部分:对检索结果进行循环统计。根据统计图像个数的不同,得到不同的Recall-Precision统计结果。对于MPEG-7图像集可以得到1400对儿Recall-Precision值。

第四部分:利用第三部分得到的Recall-Precision数值,描绘出Recall-Precision统计结果图。

四.检索效果图和评价结果图

效果图和评价的结果图见本文开头。评价图中最上面的曲线代表联合特征向量(CD+PAF)的Recall-Precision。中间的曲线代表质心距离的Recall-Precision结果图。第三条曲线代表PAF统计结果图。对结果图进行分析,可以发现我们暂时我做的还不理想,照论文中给的结果还有差距。希望在日后慢慢完善。

五.我的建议和新的想法

 1)我们之前的一个想法是有可行性的,即:以为原点,除了以为弧长找以外,还可以分别以为弧长找另外两组点(假设为),这样就可以形成三组不同的PAF特征向量,联合这三组特征向量进行检索,检索效果有显著提高。我在其它的图像集验证过,但是在MPEG-7leaf图像集还没有做相关试验,因为现在CDPAF基本的算法还没有达到论文中的要求。

 2)关于为什么没有达到论文中的效果我做了几个猜想:

   1.傅立叶变换用错了,在形成的CD特征向量之后直接运用了Matlab中自带的fft()函数,可是我观察论文中有提到归一化的问题,可能是我们没经过归一化处理。

    2.统计函数可能存在问题,因为统计函数不是我亲手做的,而是我将金鑫已经做好的关于词检索的统计函数改成了图形检索的统计函数。可能在我改的过程中引入了Bug

    3.将MPEG-7图像集读入Matlab之后,发现图像都是二值图像,我直接用跟踪函数获取了图像信息,并没有对二值图像进行任何平滑处理。          

《基于一种改进的提取形状特征向量方法,实现图像检索》

这个是我项目组成员的全家福了,左边第一个童鞋叫段聪(万能聪),黑客高手,大一的时候把我血虐。第二个就是本人了,当时比较壮,现在是虚胖。第三个是岳青宇,给人很踏实的感觉。第四个是金鑫(本次项目的评价函数就是他写的,下面文中有提到)。最后一个,人看起来挺邋遢,不过我们很多事情都要指望他的。

《基于一种改进的提取形状特征向量方法,实现图像检索》

这个是工作室照片,转眼间要各奔东西了···小伤感一下。

 

 

 

点赞