本人运行环境:Matlab2018a + VS2015 + cuda9.1 + cudnn7 + matconvnet-1.0-beta25
花了一天时间配环境,主要卡在使用GPU编译matconvnet上了。由于之前我用的是VS2017,所以一直编译失败, 换成VS2015就成功了。
简单修改代码中的路径后开始跑SiameseFC代码,发现了一个问题:跟踪性能特别差,基本上过了前几帧之后跟踪框就已经飘的看不见了...后来看了Github上一位大佬的评论才知道原因是原代码执行imresize()函数使用的是CPU,正确的方法是使用GPU。所以应该略微修改代码,具体如下:
需要修改/tracking/tracker_eval.m中第21行,原代码为:
responseMapsUP(:,:,s) = imresize(responseMaps(:,:,s), p.responseUp, 'bicubic');
需要改为:
responseMapsUP(:,:,s) = gpuArray(imresize(gather(responseMaps(:,:,s)), p.responseUp, 'bicubic'));
再次运行代码,就会发现能够较好地跟踪了。