18
SIFT SIFT SIFT SIFT 的一些总结 的一些总结 的一些总结 的一些总结 2011.4.1 [email protected]

Sift的一些总结

  • Upload
    mie

  • View
    3.651

  • Download
    4

Embed Size (px)

DESCRIPTION

介绍基于sift的图像检索和感知哈希算法

Citation preview

Page 1: Sift的一些总结

SIFTSIFTSIFTSIFT的一些总结的一些总结的一些总结的一些总结

[email protected]

Page 2: Sift的一些总结

1、SIFT相关介绍

Page 3: Sift的一些总结

局部特征的比较局部特征的比较局部特征的比较局部特征的比较[1][1][1][1]

光照影响光照影响光照影响光照影响不变不变不变不变

旋转不变旋转不变旋转不变旋转不变 伸缩不伸缩不伸缩不伸缩不变变变变

特征值数量特征值数量特征值数量特征值数量 特征值维数特征值维数特征值维数特征值维数 用途用途用途用途

SIFTSIFTSIFTSIFT ○ ○ ○ 与特征点相关 128 掌握细微的特征:图像配准、拼接;图像检索

HOGHOGHOGHOG ○ × × 每个图像1个*1

3240*2

掌握大体的特征:行人检测

Haar-likeHaar-likeHaar-likeHaar-like ○ × ○ 与像素相关 矩形种类数 能较好分辨颜色、形状固定的物体:人脸识别

*1 将每个block取得的特征值合并起来*2 30x60 pixel的图像,每5x5 pixel组成一个cell,每3x3个cell组成一个block的情况下

Page 4: Sift的一些总结

SIFT V.S. SURFSIFT V.S. SURFSIFT V.S. SURFSIFT V.S. SURF[2][2][2][2]

特征点检测特征点检测特征点检测特征点检测 特征点主特征点主特征点主特征点主方向方向方向方向 生成生成生成生成DDDDescriptorsescriptorsescriptorsescriptors

SIFTSIFTSIFTSIFT 用不同尺度的图片与高斯函数做卷积

特征点邻接矩形区域内,利用梯度直方图计算

20*20(单位为pixel)区域划分为4*4的子区域,每个子域计算8个梯度直方图,得到8*4*4=128维特征向量

SURFSURFSURFSURF 用不同大小的方框滤波与积分图像做卷积,以近似高斯卷积,大大提高计算速度

特征点邻接圆域内,计算x、y方向上的Haar小波响应

20*20(单位为sigma)区域划分为4*4子域,每个子域计算5*5个采样点的Haar小波响应,求出四维的矢量(∑dx, ∑dy, ∑|dx|,∑|dy|),最终得到4*4*4=64维特征向量

Page 5: Sift的一些总结

A comparison of SIFT, PCA-SIFT and A comparison of SIFT, PCA-SIFT and A comparison of SIFT, PCA-SIFT and A comparison of SIFT, PCA-SIFT and SURFSURFSURFSURF[2][2][2][2]

methodmethodmethodmethod TimeTimeTimeTime ScaleScaleScaleScale RotationRotationRotationRotation BlurBlurBlurBlur IlluminationIlluminationIlluminationIllumination AffineAffineAffineAffine

SSSSIFTIFTIFTIFT common best best common common good

PCA-PCA-PCA-PCA-SIFTSIFTSIFTSIFT good good good best good best

SURFSURFSURFSURF best common common good best good

Page 6: Sift的一些总结

参考资料参考资料参考资料参考资料

[1].画像認識の初歩、 SIFT、SURF特徴量 http://www.slideshare.net/lawmn/siftsurf[2].谈谈SIFT、PCA-SIFT、SURF及我的一点思考

http://blog.csdn.net/ijuliet/archive/2009/10/07/4640624.aspx

Page 7: Sift的一些总结

2、基于SIFT的图像检索

Page 8: Sift的一些总结

基于基于基于基于SIFTSIFTSIFTSIFT的图像检索的图像检索的图像检索的图像检索

�建立索引:将SIFT特征量化成visual words�一般使用K-Means方法对特征进行聚类,同一个子类

下的特征视为同一个visual word�特征维数D = 128 , 树的深度L =6 , 分叉k = 10 , 最后

有 1 M 个叶子节点,占用内存 143MB[1]

Page 9: Sift的一些总结

基于基于基于基于SIFTSIFTSIFTSIFT的图像检索的图像检索的图像检索的图像检索

�用图像的特征点检索:一般采用tf-idf机制[2]

�图像取k个特征点,则图像可以表示为k维向量 Vd=(t1,…,ti,…,tk)T

nid:该图像里visual word i出现的次数nd:该图像里visual words的个数N:索引中图像总个数ni:索引中含visual word i的图像个数

id

idi n

Nlognnt =

Page 10: Sift的一些总结

基于基于基于基于SIFTSIFTSIFTSIFT的图像检索的图像检索的图像检索的图像检索

�各种改进�聚类方法用HKM[1]、AKM[3]代替K-Means�用特征点间的相关位置信息减少误配对

1. 在索引中加入空间信息[4]

2. 对检索结果进行重排[3][5]

�Soft Assignment of Visual Words[5]

Page 11: Sift的一些总结

聚类算法聚类算法聚类算法聚类算法[6][6][6][6]

� K-Means1. 选定 K 个中心的初值。2. 将每个数据点归类到离它最近的那个中心点所代表的

聚类中。3. 计算出每个聚类的新的中心点。4. 重复2、3步,一直到迭代了最大的步数或者前后中心

的差值小于一个阈值为止。�优点�简单高效,算法保证每次迭代能得到更好或相同的结

果(收敛)�缺点�结果与所选初值相关,不一定是全局最优解,一般做

多次运算求最优结果

Page 12: Sift的一些总结

聚类算法聚类算法聚类算法聚类算法[6][6][6][6]

� K-Medoids1. K-Means的中心点是取聚类的均值;K-Medoids的中心

点是在聚类中选取(求中心点的时间大大增加)2. K-Means要求用欧氏距离描述数据点间的距离

�优点�应用范围更广,通常有更好的精度

�缺点�计算量增加,不一定收敛

Page 13: Sift的一些总结

聚类算法聚类算法聚类算法聚类算法[6][6][6][6]

� Gaussian Mixture Model1. 假设数据集由K个高斯分布组成

2. GMM迭代计算量较大,通常先用K-Means得到一个结果,将其作为初值,再用GMM迭代

� Hierarchical Clustering

K-MeansK-MeansK-MeansK-Means 给出每个数据点被分配到的聚类

GMMGMMGMMGMM 给出每个数据点被分配到每个聚类的概率

Page 14: Sift的一些总结

参考资料参考资料参考资料参考资料

[1].Scalable Recognition with a Vocabulary Tree,David Nist´er and Henrik Stew´enius,Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006.

[2].Video Google: A Text Retrieval Approach to Object Matching in Videos,Josef Sivic and Andrew Zisserman,Proceedings of the Ninth IEEE International Conference on Computer Vision,2003.

[3].Object retrieval with large vocabularies and fast spatial matching,James Philbin and etc.,2007.

[4].Spatial Coding for Large Scale Partial-Duplicate Web Image Search,Wengang Zhou and etc.,MM’10,2010.

[5].Lost in Quantization:Improving Particular Object Retrieval in Large Scale Image Databases,James Philbin and etc.,2008.

[6].漫谈 Clustering http://blog.pluskid.org

Page 15: Sift的一些总结

3、基于SIFT的感知哈希

Page 16: Sift的一些总结

基于基于基于基于SIFTSIFTSIFTSIFT的感知哈希算法的感知哈希算法的感知哈希算法的感知哈希算法[1][1][1][1]

�取 m个特征点I = { F1, . . . , Fm } ,Fi ∈ R 128;

�特征点Fi(i=1,……,m)生成哈希值ti�对于每个超平面Hj ∈ R 128(j=1,……,d):

如果Fi在超平面Hj的左边,ti ← ti ⊕ 0否则ti ← ti ⊕ 1

�得到V ← { t1, t2, . . . , tm } , ti ∈ {0 , 1} d;

�添加若干个特征点的坐标位置信息P,得到最终的哈希值h ← { V, P } , | P | = l。

Page 17: Sift的一些总结

pHashpHashpHashpHashThe open source perceptual hash libraryThe open source perceptual hash libraryThe open source perceptual hash libraryThe open source perceptual hash library[2][2][2][2]

� DCT-based image hash(8 bytes)� Radial-based (RADISH) image hash�Marr wavelet based image hash(72 bytes)� Block mean value based image hash(32 bytes)

Page 18: Sift的一些总结

参考资料参考资料参考资料参考资料

[1].ROBUST HASH FOR DETECTING AND LOCALIZING IMAGE TAMPERING,Sujoy Roy and Qibin Sun,2007.

[2].pHash http://www.phash.org