对整篇paper的一个总结:https://blog.csdn.net/xbinworld/article/details/69049680
github:1.https://github.com/Dive-frank/caffe_stn 有prototxt,并且prototxt看起来写的还不错
2.https://github.com/christopher5106/last_caffe_with_stn,最原始的用caffe写stn的
stn就是一个模块,可以加在任何两个卷积之间,是无监督学习的.通过localisation net学theta参数,6个值用来做仿射变换.可以这样认为,localisation net之前是输入,暂且叫feature map i,之后就是输出,暂且叫feature map o.必须清楚一点是:经过stn处理之后,feature map的大小保持不变,localisation net之后的feature map虽然没有像素值,但是是有坐标值的.这些localisation net之后的feature map(里面所有的坐标点)通过仿射变换找到在输入feature map上的坐标点,然后从这些坐标点取出像素值给输出的feature map,一一对应.可以这样理解,其实输出的feature map就是从输入的feature map里面抠出的一部分放大,所以,输出的feature map的所有点都会在输入上有相应的映射点.这时你在想,实际上输入输出是一样大的,把输出的所有点映射到输入的一部分区域,那肯定在输出落在输入的点肯定不全是整数点,因为个数不够,所以会有许多浮点数的点,这个时候就利用插值来求这些点的像素值了.
stn这种主要是解决分类问题,因为是整张图来做,如果用在detection,我觉得可以把那个物体抠出来单独做stn