Deep Ordinal Hashing

Deep Ordinal Hashing
主要采用的是ranking to hashing的方式。
大部分的deep hashing的方式是直接使用全连接层的输出并将其映射到hash code空间。但是全局的信息会带来空间信息损失
的问题,导致学习到的hash code不是最优的。所以文章提出来使用注意力机制,来抽取局部空间特征。
考虑到在hash code进行量化的时候,通常使用的sign()
和threshold()
函数对噪音数值敏感,所以提出来使用基于排序的函数
- 强调了局部空间的特征。
- 利用排序结构对局部特征和全局特征进行排序,从而得到一个秩相关的表示。
网络主要分为三部分:
- 通过FCN和CNN学习局部空间和全局语意信息。
- 通过一个子网络来对局部和全局的语意信息进行encoding,构架排序模型。
- 使用一个有序表示学习来产生紧凑的hash code。
CNN部分
CNN部分主要采用AlexNet,在conv1-conv5, fc6-fc7, fc-c的基础之上再添加了一层全连接层fc-8. 这部分主要用来学习全局的语意特征。
FCN部分
同样基于AlexNet,将fc-6, fc-7替换成了两个卷积层conv6, conv7,再在之后添加了一fc-c。其中conv7后面连接了一个Global Average Pooling层 pool7