我想使用-p1命令将替代兴趣点作为SURF的输入(我正在使用作者实现:http://www.vision.ee.ethz.ch/~surf/download.html)。但我不确定如何制作参数。
我需要为每个兴趣点提供x,y,a,b,c
,并根据自述文件,a=c
和radius= 1/a^2
([a,b;b,c]
是第二时刻矩阵的条目) 。但是当我查看surf的IP检测输出文件时,a,c参数总是非常小(例如0.003
)。如果radius=1/a^2
,则会产生1/(0.003^2) > 100.000
像素的区域半径。我是否误解了README文件,或者冲浪返回的a,c
参数是否错误?
答案 0 :(得分:0)
我认为README文件具有误导性。如果你看到代码。它实际上是a = 1 /半径^ 2。在您的示例中,半径约为20像素。通过库中的main.cpp来查看a的计算方法。
答案 1 :(得分:0)
双倍图片尺寸:-d 如果你需要高精度的兴趣点和描述符,这是很好的。三维重建。如果您使用自己的兴趣点,可以尝试使用较小的描述符区域(仅当您确定您的兴趣点具有高精度时)。
自定义波瓣大小:-ms 3 这定义了兴趣点检测器的波瓣大小。如果您有自己的兴趣点,则不需要这样做。
八度音程数:-oc 4 这决定了您要分析的比例。如果您使用自己的兴趣点,则不需要这样做。
初始抽样步骤:-ss 2 Hessian探测器的采样步骤。如果您使用自己的兴趣点,则不需要。
U-SURF(非旋转不变): - u 这对你来说可能很有意思。它不使用方向不变性。这使得使用直立式摄像机拍摄的图像集更快,例如机器人。
扩展描述符(SURF-128): - e 如果要进行3D重建和稳健点匹配,请使用扩展描述符。不知何故,它对物体识别效果不佳。对OR使用较小的描述符。
描述符大小:-in 4 这定义了描述符窗口的正方形大小/数字(默认为4x4)。如果您将此数字减少到例如2,它将产生一个16维描述符,对于对象识别来说并不是那么糟糕。
希望有所帮助。