读书笔记 Learning to Compare Image Patches via Convolutional Neural Networks
无监督学习可以用于获取特征,优于SIFT方法。
神经网络的输入是一对图片。输入彩色图片可以增加网络的训练性能。但是文章全部用的灰度图像。图片size是64*64。
三个基本的神经网络框架:2-channel, Siamese, Pseudo-siamese。
Essentially these architectures stem from the different way that each of them attempts to address the following question: 我们要在描述子上找相似性还是说跳过描述子计算这一步,继续做相似性估计呢?
3.2 Additional models
Deep network。将大的卷积层分解成小的卷积核(如:3*3的卷积核),层与层之间用Relu激励函数分开。提高了网络内部的非线性。这一变化可以进一步提升性能。
Central-surround two-stream network。
高精度像素和低精度像素(是通过降采样获得的)作为两个输入流,中心的高精度被计算了两次,使得更加关注中心部分的像素点,而更少的关注周围的像素点。有利于提高匹配精度,因为池化被用于降采样的图片,所以在匹配期间允许外围像素具有更多的变化。请注意,在这种情况下,总输入尺寸减少了2倍,训练更快,这也是另一个实际的优势。
Spatial pyramid pooling (SPP) network for comparing patches。这基本上相当于插入在卷积层和网络的完全连接层之间的空间金字塔池化层。SSP这一层增加了最后一层全连接层的特征,可以使得全连接层的输入维度是确定大小的。因此考虑将SSP用于上面提及的网络。
损失函数:hinge损失和L2正则。
文章的损失函数为:
其中,O是网络的输出,是预测值,y是实际的label。
L1归一化和L2归一化范数的详解和区别 见这篇文章,非常详细了。
http://blog.csdn.net/u014381600/article/details/54341317
一句话,加了正则的好处就是提高测试集的正确率。
优化算法用的是ASGD。