GMM与Fisher Vector理解
查阅fisher vector资料时看到的几篇介绍fisher vector很不错的博文,要了解fisher vector你需要先了解GMM高斯混合模型,这两篇文章对GMM高斯混合模型讲解得很不错GMM,高斯混合模型。fisher vector讲解的博文比较多,查阅的时候,我觉得下面几篇博文对fv讲得还比较深入:Fisher Vector、Fisher Vecotr(1)、Fisher Vector(2)和Fisher Vector 通俗学习。
此外,查阅FV资料的时候还发现原来微信图像技术组也用到的FV:
在图像检索领域,比较常用的技术是提取局部特征(如SIFT,SURF等),量化,建倒排表的架构,微信扫一扫中的封面识别就是采用这种技术。然而在图像云平台服务中,基于局部特征的的图像检索技术存在种种弊端。首先,在图像云平台服务中,每个开发者的图片数据都是相互独立的,若对所有开发者只建一个倒排表,每次开发者修改数据库时都会影响到所有开发者。若为每个开发者建立独享的倒排表,则会对资源造成巨大的浪费。其次,采用倒排结构时,开发者修改图像数据时(如增、删图片),都需要对整个倒排表进行重建。
在图像识别云平台中,微信图像技术组采用了基于全局特征的图像检索方法,通过SIFT+Fisher Vector得到一幅图像的全局描述子,然后通过量化,将全局描述子量化为低比特的码流,每幅图像对应一个图像识别指纹,在微信图像云平台服务中,已无需构建倒排表,开发者增、删图像时,后台只需在数据库对应的增加、删除指纹即可。对开发者的增删操作可以做出实时的响应。识别过程时,只需比对开发者数据库中的指纹即可。
在识别效果上,通过对多个数据集测试,检索效果上均与基于倒排表结构的图像检索技术相当,甚至某些数据集上优于基于倒排表结构的技术。
原文链接:微信图像开放平台:让你的应用看懂世界。
FV的Python实现代码pyfishervector与其对应的博文Image Fisher Vector In Python,C++版本的可以参阅这里bLDFV。
SIFT和HOG
此外,还发觉了几篇对SIFT、HOG讲解得比较好的博文:SIFT算法,这篇文章讲SIFT讲得不是一般的好;HOG特征(1)、HOG特征(3)和HOG特征(3),博文3对HOG的生成过程配合着图解说明讲得很赞。
最后,翻看的几篇很简短的总结,都是关于检索的,留着供以后查阅:Spectral Hashing、Product quantization for nearest neighbor search、Efficient visual search of videos cast as text retrieval、热点技术探索:大规模相似检索。
端午节下午所看的,以上。