其中Rl、Rr表示左眼右眼眼影的loss,Rf表示脸部粉底的loss,Rup、Rlow表示上唇下唇唇彩的loss,Rs表示结构的loss(计算公式与眼影loss相同,但Sb、Sr中元素值都为1)。人脸妆容的平滑性可以通过以下公式进行进一步约束:
本文用end-to-end深度卷积神经网络学习出妆前妆后面部特征部位的对应关系,并进行妆容的迁移,流程较为简单,在考虑了人脸结构对称性和平滑性约束后达到了理想的效果,部分实验结果如下:
Feature Learning based Deep Supervised Hashing with Pairwise Labels
在信息检索中,哈希学习算法将图像/文本/视频等复杂数据表示成一串紧致的二值编码(只由0/1或者±1构成的特征向量),从而实现时间、空间高效的最近邻搜索。在哈希学习算法中,给定一个训练集,目标是学到一组映射函数,使得训练集中的数据经过映射后,相似的样本被映射到相似的二值编码(二值编码的相似性用Hamming距离度量)。
南京大学李武军组的这篇文章中,作者提出了一种使用pairwise label进行哈希学习的方法。通常的图像标签指示的可能是图像中的物体属于哪个类别,或者图像所描绘的场景属于哪个类别,而这里的pairwise label则是基于一对图像定义的,指示的是这一对图像是否相似(通常可以根据这一对图像是否属于同一类别定义它们是否相似)。具体来说,对于一个数据库中的第i,j两幅图像,sij=1代表这两个图像相似,sij=0代表这两个图像不相似。
具体到这篇文章,作者使用了上图所示的网络结构,网络的输入为成对的图像,以及相应的pairwise label。该网络结构中包含了共享权值的两路子网络(这种结构被称为Siamese Network),每路子网络处理一对图像中的一张。在网络的后端,根据得到的样本的二值编码和pairwise label,作者设计了损失函数来指导网络的训练。
具体来说,理想情况下,网络前端的输出应该是只由±1构成的二值向量,在这种情况下,两个样本的二值编码向量的内积事实上是等价于Hamming距离的。基于这个事实,作者提出了如下的损失函数,希望用样本二值编码之间的相似性(内积)去拟合pairwise label(logistic regression):
在实际中,如果想让网络前端输出为只由±1构成的二值向量,则需要在网络中插入量化操作(如sign函数)。但是,因为量化函数在定义域上要么导数为0,要么不可导,因此在训练网络的时候无法使用基于梯度的算法,因此作者提出将网络前端的输出进行松弛,不再要求输出是二值的,转而通过在损失函数中增加一个正则项的方法,对网络输出进行约束:
其中U表示松弛后的“二值编码”,其余定义与J1相同。
在训练的时候,J2中的第一项可以直接根据图像对的标签和Ui计算得到,第二项需要对Ui进行量化得到bi后再计算。利用上述损失函数训练好网络后,当查询样本出现时,只需要将图像通过网络,并对最后一个全连接层的输出进行量化,即可得到样本的二值编码。
本文中的部分实验结果如下,文章提出的方法取得了state-of-the-art的性能,即使和使用了CNN特征作为输入的一些非深度哈希方法相比,在性能上也有比较显著的优势:
总体来说,本文提出的方法通过联合学习图像特征和哈希函数,在图像检索任务上取得了显著的性能提升。但是由于文中使用的pairwise label在描述一对样本的时候只有相似、不相似两种可能,相对比较粗糙,因此不可避免地限制了本文方法的适用场合。作者在后续的工作中可能会考虑使用更加灵活的监督信息形式来扩展方法的通用性。