1. 读Leibe, B., A. Leonardis, et al. (2004). Combined object categorization and segmentation with an implicit shape model. ECCV.
本文提出的算法名为ISM,其集成识别和分割方法到一个普遍的概率框架中。为了得到好的分割效果,该算法能够产生一个基于每个像素的信任图,该信任图能够体现假设的支持度和真实度,通过该信任图能够处理一个场景中多个目标以及用基于MDL准则解决目标假设重叠的问题。
其识别的流程是首先用常见的特征点检测算子检测出图片的特征点,且以特征点为中心抽取出特征patchs,然后让这些特征patchs匹配codebook表,根据激活的cookbook entry来对目标的中心位置投票,接着在投票空间根据投票结果用meanshift算法找出极大值点,最后根据该中心点反投影并休整图片得到最后分割和识别的目的。其流程图如论文中所示:
2.读Leibe, B., A. Leonardis, et al. (2008). "Robust object detection with interleaved categorization and segmentation." International journal of computer vision 77(1): 259-289.
本文是上面一篇文章的继承,发表在IJCV上,对ISM的推导和介绍更系统化,全面化。文章太长了,也没有全部看完,只是看了一点后对ISM的整个过程更深入的了解了一点。对所有训练图片进行特征点检测后,进行聚类,作者采用的是RNN聚类方法,用了大篇的文献介绍之。聚类完后每一类就是一个codebook,这样整个codebook集合就当成了ISM的一个模型了。当新来的特征来临时就用其特征来激活codebook中的特征块,由于该特征块中已经包含了关于目标中心的相对坐标,所以这样所有被激活的特征块都可以在投影空间中对目标中心进行投票,最后是得到了一个3维的投影空间,即x,y,s空间。然后采用3D meanshift算法在该空间中搜索密度最大的地方,该地方就作为目标的中心,利用该中心和那些投票投过该中心的特征点反推出目标的形状,这也是隐式形状模型的魅力所在,可以反过来分割出目标,并不是仅仅对目标进行分类。对于分割出来的目标,有可能有重叠的区域(如果一个图片中有多个目标的话),所以作者采用了MDL,最小描述准则来处理这一矛盾,各种公式,各种看不懂啊!
作者在网站http://www.vision.ee.ethz.ch/~bleibe/code/ism.html 提供了ISM检测的二进制文件,linux下运行,可惜没有源码,哎...
3.读Carbonetto, P., G. Dorkó, et al. (2006). "A semi-supervised learning approach to object recognition with spatial integration of local features and segmentation cues." Toward Category-Level Object Recognition: 277-300.
本文用贝叶斯学习扩展了有区分能力的局部尺寸无关特征点的选择。同时也给出了2种广义的多实例学习方法——有约束的数据联合和组统计学习,这2种学习在高维噪声特征选择以及无标签训练数据且大范围内变化的特征非常有效。这些特征选择的方法在对分类时的局部特征选择非常有用。另外,作者提出了一个普遍的,基于概率框架的目标定位方法,是通过融合多种视觉信息。
因为提出的方法属于目标识别,所以需要对检测到的目标特征点进行分类,即是否属于所识别的目标。所以作者在分类器的设计时,提到了数据联合的重要性。何谓数据联合呢?数据联合可以大致这么理解,即检测到的特征点的数目是与图像中目标的大小有关的,如果目标比较大,那么检测到的数目也就比较多。也就是说图片的标注应该与图片的本身有关。作者采用的是半监督或者说是弱监督的方法来学习稀疏贝叶斯分类器的2个参数,即稀疏率和回归系数。他的大概思想是如果是负样本(即没有目标物体),则全部标注为负样本,如果是正样本,只需标注该样本大概有多少个特征点(相对于经验值而言的,如果目标占的空间比较大,则特征点的数目应该比经验值多,反之少)。当然这只是我的一些简单理解,毕竟文章中还要大量的公式,如果大家对核函数比较了解的话,估计看懂不难。反正我目前很难完全看懂。
对于目标的定位,即分割。作者采用的是条件随即场,利用特征点的上下文进行传播,这部分的公式就更看不懂了。
4.读Carbonetto, P., G. Dorkó, et al. (2008). "Learning to recognize objects with little supervision." International journal of computer vision 77(1): 219-237.
这篇文章与上面那篇文章写的内容差不多,毕竟是同一个作者。但是这篇文章对稀疏贝叶斯的介绍更为系统,且很多过程都给出了算法伪代码流程,比较清晰。但是里面的公式异常的多,多核函数,MCMC,Gibbs,CRF等知识点没有深入理解的话是很难读懂的。遗憾的是,上面几个知识点我都没有怎么了解过,所以也读不懂。另外作者提供了这几篇文章的源代码,c写的,代码写得很规范,大家有兴趣的可以去研究下。http://www.cs.ubc.ca/~pcarbo/objrecls/index.html#code 毕竟该方法用来对目标识别或者行为识别检测到的特征点进行滤波还是很有效果的。