aihot  2017-05-18 01:46:58  图像处理 |   查看评论   

二、模型在图像中的匹配(fit)

说白了,也就是在图像中找到模型的匹配点,前面已经说过了,可以利用其它方法大致找到模型的位置大小方向(不要小瞧这步,如果预处理的不好,是很容易陷入局部最小的),接下来就是如何改善参数得到好的匹配结果了。模型中可以调整的参数有b、Xt、Yt、s、theta这5个参数。这里作者提到了两种手段:

1)先验信息认为特征点主要是图像的强边缘点,并且图像灰度的梯度服从高斯分布,只要找到模型特征点附近梯度最大的值,即认为是特征点所在的位置


示意图如下:

 

这种方法很明显,对图像的噪声很敏感,我这里不太推荐

2)对模型特征点周围的纹理信息进行采样,对比图像和模型训练集的纹理,找到纹理最接近的点即认为是特征点。作者这里比较纹理的工具是马氏距离。为了提高搜索的效率,作者还提到了多分辨率搜索周围像素纹理,对于粗糙的尺度,搜索范围大,对于细致的尺度,进行细致的搜索,提高了匹配的效率。这个方法是我比较推荐的。

至于,找到了很多版本,有基于的,也有matlab的,大家可以到wiki的asm页面找到对应的链接,但我自己实践下来,总结一下,matlab我不是太熟悉,代码量太大,我放弃了学习。asmlib-opencv是一个在国外读书的国人写的,有源代码,但效果一般。还有个很牛的国人的作品asmlibrary,但核心部分只提供了lib,他的方法效果很好,代码风格也非常棒,实时性也很好,这里感谢作品作者对我的指点。还有个牛人猛写了不基于opencv的stasm,代码量太大,我果断放弃了。至于其他的一些作品都是只有demo,没有code,很让人遗憾。如果哪位大神有asm效果很好的基于opencv的源代码,能提供给小弟,不胜感激。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自ASM(active shape models)算法介绍

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]