模板中心点与匹配中心点有几个像素偏差
你好,meiqua!我运行实例shape_based_matching-fusion_by_hand中的angle_test,得到的结果如下:
得到的匹配中心点坐标:(364-100,342-100),即就是(264,242).
而模板中心坐标为(130 + 270/2,110+270/2),即就是(265,245).
中心坐标有1至3个像素偏差,请问正常吗?谢谢。
正常,在步长范围内。得用icp提高精度
line2Dup::Detector detector(128, { 4,8 });对于这个设置,步长是不是就是2呢?我应用icp,得到的结果是:
提升精度后的坐标:(364.54,341.549),对应Y轴坐标偏差还是比较大
测试实例图:
图片看不到。一般有偏移是因为物体在那个方向是平行的
你好,你说的这句话:一般有偏移是因为物体在那个方向是平行的,不理解,能详细点吗?谢谢!补充一下测试图片:

好吧,这个图应该不会有偏移。把模板点画出来是什么样子的?
这是模板点。
ICP之后呢
ipc之后的结果:

把sim3关掉试试,因为受到杂乱边缘影响,看上去产生了一点缩放
首先非常感谢分享! 疑问:icp后,有对icp的结果的评分机制么?我通过摄像头实时取图匹配,发现有结果不稳定的现象:旋转角度 > 1° 还有就是利用icp进行亚像素匹配,有相关文档可以帮助理解吗? 谢谢!
好的,谢谢!我试试。我有个疑问就是你是从知道我开启了sim3呢?
你好!我做了测试。现把结果描述一下:
1 无sim3的submix程序代码配置:
运行结果:
检测得到的亚像素模板中心点为(464.566-200,441.515-200)->(264.566,241.515),而实际模板中心点为(265,245),最大相差3个多像素。得分99.
运行结果图:
2sim3+submix程序代码配置
运行结果:
检测得到的亚像素模板中心点为(464.044-200,445.445-200)->(264.044,245.435),而实际模板中心点为(265,245),最大相差1个像素不到。得分97.
运行结果图:
测试结果总结:sim3+subpixel精确度比较好,但得分低点;subpixel精度度偏差较大,得分高点。请问这正常吗?
@patrickwf 可以参考这里,ICP会有一个距离error,不过一般都比较小
@wly2020-robot 我怎么觉得无sim3的比较好,可以看到圆圈上画出来的点基本都在边缘,跟训练时候一致
仔细看,会发现sim3更接近模板,如模板图:
检测图:

@wly2020-robot 依据是什么?
没有在理论上论证,只是凭观察对比看而已。
如果看那个黑圈点的位置,明显没有在边缘上,训练的时候是在的
但是我测试下来sim3+subpixel比无sim3得到的中心点偏移效果要好。
可能是哪里没注意,ground truth是怎么得到的?
ground truth?调试代码好像没动过这个,没明白,能详细点吗?
实际模板中心点为(265,245),
这个是怎么知道的?
训练模板取的矩形区域(130,110,270,270),那实际模板中心点就是(130+270/2,110+270/2)->(265,245)
测试的这个图不是训练图吧
是的
这样就能看出精度
可是这个是test.png,并没有说跟train.png中心一致
嗯,你说的对!我在试试。
顺便问一下,能匹配部分被遮挡的物体吗?
可以的,分数会按比例下降