请教具有尺度、旋转不变性的模板匹配方法。

Q_Jizi 2009-03-08 10:15:17
对于模板匹配算法,目前有哪些常用较好的具有尺度和旋转不变性的方法?
我做手形的识别,目前已经能分割出手势,想采用模板匹配的方法进行手形识别,想让匹配具有尺度和旋转不变性。
请问目前有什么较好的算法?
...全文
2729 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
郭国国 2011-12-26
  • 打赏
  • 举报
回复
你好,我刚开始入门人手识别,感觉很乱,您能给我一些建议吗?万分感激
Q_Jizi 2009-03-12
  • 打赏
  • 举报
回复
恩 链码法不能很好的区分平滑与非平滑的物体
会把形状大体相似的归为一类 因此个人觉得不太适合做手势识别
问题解决 结贴 谢谢各位^_^
zxx_0405 2009-03-10
  • 打赏
  • 举报
回复
矩特征
eblis88 2009-03-09
  • 打赏
  • 举报
回复
canny的非闭合边界只有下面这个情况会产生

前提条件: a点是边界(人为判断),canny做出不是边界,全局阈值设置合理
结论: a点的梯度模不是极大值

边缘链码是这样。

从1点出发一圈的闭合边界,两个像素点的行进路线有8个方向。分别用2进制表示
这串2进制编码就可以认为是边缘链码

旋转后,2进制编码相当于只进行了一次旋转变换。乘个仿射变换矩阵。所以可以根据矩阵来判断旋转的角度

但是这个方法有一点不好,没有尺度不变性。


所以有人改进了这个方法,用concave feature来判断。
concave feature是判断3个像素的行进关系,一共有6*8种。其中,3个像素呈直线排列的行进关系被去除了

对边缘链码进行这个8*8个concave feature分析,可以得到尺度变换的关系。


所以,将这一系列concave feature组合起来,并且乘以放射变换矩阵,可以得到结果。


这个是论文上摘抄的。用于手写识别。
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
顶上去
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
哈哈 楼上同趣啊
只是有了个雏形
还有很多问题要做 ^_^
cadinfo 2009-03-09
  • 打赏
  • 举报
回复
哈哈恭喜啊,乐趣就在过程,事实上如果完成了,往那里一搁也就那么回事。
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
恩 谢谢各位了
刚用不变矩做了下,感觉效果还可以。
我再接着调试下,有精力的话采用链码做下,暂不揭帖,希望各位继续关注此贴。^_^
fire_woods 2009-03-09
  • 打赏
  • 举报
回复
产生链码还是很快的,差不多是扫描一遍图像,每个点遍历几个方向.
1. 主要是链码匹配,由于每次链码的长度不一样,所以一般采用类似于字符串匹配的方式来做.
计算从链码A到链码B转换的距离.

2. 另外也有根据链码上不同码的统计学规律来做的,也就是说在链码上在提取特征,这个需要针对特定的应用来定制.

个人感觉用链码来做如果采样1方案的话,无法满足缩放不变性,2方案相对可行一点,不过特征提取是关键.
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
恩 是哈
先用不变矩做下吧
应该要比模板快些,另外,你对链码法熟悉吗?
不知道它的识别精读和速度如何?
fire_woods 2009-03-09
  • 打赏
  • 举报
回复
额.
模式识别是统称,模板匹配,神经网络都是模式识别里面的概念.

模板匹配,神经网络是分类器,是根据特征来分类的.
除了这个还需要特征提取.有了特征来好根据特征来分类的.
一般分类器的研究已经很成熟的,每种分类器都有自己的优缺点.
但是特征提取就需要根据不同的应该来分别对待.这个才是模式识别里面的关键.
特征的好坏会直接影响到分类的效果.
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
恩 手势已经分割出了
而且静态手势的识别无非就几种方法:
1 模板匹配
2 神经网络
3 模式识别
但是要实现平移、尺度和旋转不变以及实时性,第一种方法需要大量模板,而且很难达实时性;
第二种速度也块不到哪去;现在考虑先用不变矩做下看看效果吧。
fire_woods 2009-03-09
  • 打赏
  • 举报
回复
个人感觉主要是分割,主要能把手的主体分割出来以后,识别难度应该不大.
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
这个难度很大
如果仅是跟踪的话,可以用一些具有预测的算法,想camshift+卡尔曼滤波等等。
如果是识别的话就有难度了,有一篇论文降到过
model-based hand tracking using a hierarchical bayesian dilter.
是东芝计算机视觉组的人写的,目前东芝新款笔记本带手势识别功能。
但不知道是不是用得这种技术。
fire_woods 2009-03-09
  • 打赏
  • 举报
回复
效果还可以,想问一下楼主,如果手部与别的辐射重叠怎么处理?

比如手和脸.
Q_Jizi 2009-03-09
  • 打赏
  • 举报
回复
哦 谢谢 了解了
边缘链的速度如何呢?
还有你看过我的贴的效果图了嘛?
http://p.blog.csdn.net/images/p_blog_csdn_net/Q_Jizi/339164/o_xiaoguo.JPG
我对得到的原始肤色图进行了腐蚀膨胀 去除了盐椒噪声,得到了手部轮廓。
以你的经验看 什么方法比较合适?而且使其具有尺度、旋转不变性?
fire_woods 2009-03-09
  • 打赏
  • 举报
回复
手势识别还是比较有难度的.
eblis88 2009-03-08
  • 打赏
  • 举报
回复
canny不一定闭合。
只有两个阈值取得好,效果才好

同4楼,基于shape的可以算分形维数,轮廓也是。
Q_Jizi 2009-03-08
  • 打赏
  • 举报
回复
谢谢楼上两位
用模板匹配的方法可能速度上会有些问题
我现在通过肤色分割 已经将背景去掉 得到的是有手势和人脸了
对整个人手区域做不变量的匹配可能速度也会很慢
现在想是不是可以先对分割得到的图像进行canny边缘检测得到边缘信息。
(canny边缘应该是闭合的吧???这个我还没查过) 然后再对这个闭合轮廓进行匹配呢?(不知道有什么好的匹配方法?)
eblis88 2009-03-08
  • 打赏
  • 举报
回复
刚刚搜了一下,似乎
<旋转人脸的模板匹配定位与旋转角度估算方法>

提到了角度的解决方法

<模板匹配的恒常性特征及频域实现>

提到了用fft来解决。lz可以看下



我的东西还没成熟,抱歉。。。我只做了一个试验。没有用fwt的。fast wavelet transform的推导有些烦

512*512的图片,尺度取3,5,7,9,11,13,15. 旋转角度取24个离散量。模板是高斯函数。没有用fwt
cpu: xeon 2.66*2 双线程.vc实现,内存占用140M

1846ms


我想,如果用fwt,应该能像dft和fft的差距一样,提升60倍左右。30ms.内存貌似也能减少5倍。20M大概。
加载更多回复(11)

4,506

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧