这段时间一直在复现一个经典的视觉跟踪算法。大部分的结果都对了,但是总感觉有些小地方出错了。这种找bug是非常折腾人的,而且很耗时间。想起一位神牛说过的话,应该把主要精力放在research上,写code只是一个工具。看来自己还是不够专注和细心,把时间浪费在折腾bug上真是得不偿失。
虽然说问题算是被解决了,但是浪费了好几天的时间,尤其是现在赶着出paper的时候。。。。
我实现的算法每一帧处理需要两三秒,出问题的帧又是在几千帧之后,这尼玛怎么弄啊。换成一段小分辨率的视频,发现结果又都没问题,一下子我都不知道怎么办了。后来无意中发现,我的实现分别在debug和release模式下的,结果会有细微的区别,这其实就是问题的所在。虽然说,release模式会对code进行一些优化,但是,根据经验,当release模式和debug模式下跑出来结果不一致时,哪怕是轻微的差别,那么99%是你的code写错了,根本轮不到你去怀疑是release模式的代码优化造成的,而这种错误往往是变量没初始化等等。找到bug并改正后,两种模式下的结果完全一样。