论文1:
Learning Compact Binary Descriptors with Unsupervised Deep Neural Networks
同时参考了@cv_family_z 的博文Learning Compact Binary Descriptors with Unsupervised Deep Neural Networks
CVPR2016
开源代码: https://github.com/kevinlin311tw/cvpr16-deepbit
本文中提到的几个知识:
CNN特征提取、SIFT(Scale-invariant feature transform)检测局部特征
关于降低计算开销的几个使用二值化表达的方法:BRIEF、ORB、BRISK, FREAK 他们采用XOR计算相似度
但他们大多有些缺点,比如对缩放,旋转,噪声等不够宽容
本文提出:DeepBit 无监督的方法 重点是添加三个重要的loss约束优化参数,该模型还可以用来进行image matching, image retrival, object recognition.
相关工作:
针对Binary Descriptors相关工作追溯到BRIEF、ORB、BRISK, FREAK, 这些binary descriptor 基于手工制作的成对的采样得来的简单图案(翻译硬伤),虽然他们很有效,但他们对缩放、几何变换太敏感。
3.1 Overall Learning Objectives
第一:训练W,保持局部数据结构的上一层结构基本不变。非线性映射后的量化误差要尽量小。
第二:鼓励最后的binary descriptors 趋向于均匀分布,因此可以携带更加具有区分度的信息。
第三:使得descriptor对旋转,噪声产生不变性。
以上保证最后的descriptor 趋向于捕获更多不相关的信息。为了达到这个目的,我们设置了如下几个优化目标。
优化函数:
L1, L2,L3 分别对应:
1) Discriminative Binary Descriptors
更加具有辨别度,使得features 更加趋向于正好分成计算binary 的数值[-0.5, 0.5]
2) Efficient Binary Descriptors
更加有效的M位的binary descriptor,让每一个bit的可能性更加平均,熵越高,这样一bit更能表达更多的信息,
3) Rotation Invariant Binary Descriptors
更加容忍同一图片由于旋转带来的区别
=0时,带来的loss增益最大,因为本来此时不应该再有差。
算法流程如下: