meiqua
meiqua
对,这样可以直接查找
匹配结果在angle_test里显示的过程中有写出来,也可以参考这个[文档](https://github.com/meiqua/shape_based_matching/blob/master/Transforms%20in%20shape-based%20matching.pdf)。确实一开始做模板就提亚像素会提高精度,可以参考这里的[讨论](https://github.com/meiqua/shape_based_matching/issues/76#issuecomment-615288429)
中心粗匹配误差在底层金字塔stride的一半,也就是4/2=2个pixel内。高精度需要[乘ICP结果](https://github.com/meiqua/shape_based_matching/blob/9df472de966b0ddcc149562200da104124755b5b/test.cpp#L280)
可以参考[这里](https://github.com/meiqua/shape_based_matching/issues/21#issuecomment-489664586)
opencl效果这么明显应该是用到并行了。 不过我说的这个不是单独针对某个算子,而是把所有算子fuse起来,这样只需要从主存中读一次数据。
是的,因为都是局部读一块进去算,所以可以合并一下
可以参考halide github上的教程,讲的挺详细的
``` c++ GaussianBlur(kernelX, fused_kernel, Size(g_k_size, g_k_size), 0, 0, BORDER_REPLICATE); ``` 这一句有些不对,想得到fused_kernel直接乘起来就好。 另外最好弄成seperatable filter的形式,两个维度分开算要快点。
把两个kernel逐元素相乘,用GaussianBlur在边界的地方有问题
不是点乘,直接对应位置相乘; 是的,所以能两个kernel相乘,大小不一样可以补0