【论文】Triplet-Center Loss for Multi-View 3D Object
2018-04-03 16:38
771 查看
Triplet-Center Loss for Multi-View 3D Object Retrieval
原文(cvpr18接受):https://arxiv.org/abs/1803.06189摘要
任务3D object retrieval
目标
利用深度度量学习(deep metric learning)学习3D物体的差异特征(discriminative features)
本文贡献
介绍了三元损失(triplet loss)和中心损失(center loss), 并整合提出了新的triplet-center loss(TCL),通过loss来学习每一类的中心点,并使得类内距离(intra-class distance)尽可能小,类间距离(inter-class distance)尽可能大。 提高了特征的区分度(discriminative power)
-
相关工作
针对3D object retrieval,现阶段深度学习领域主要分两种解决方法:View-based methods
对3D物体的不同视角采集(渲染)一系列视角图(view projections)。 然后转化为2D图像问题,用CNN来解决
代表方法:
MVCNN(multi-view cnn)
(也是文章用的基础网络结构)
GIFT
Model-based methods
得到3D形状特征(polygan meshes, surfaces, voxel grid, point clouds et. al),然后利用3D CNN来解决。但是3D特征不论是获取还是计算都比较复杂。
代表方法:
3D CNN
Kd network
现阶段,view-based 要比 model-based 效果要好很多,并且 view-based methods比较方便,可以做到实时应用,并且随着gpu和数据量的增加,这种方法用的也越来越多。
针对3d object retrieval里用到的loss function:
triplet loss
优势在于增加特征区分度,适合于细粒度分类。
多数用在face recognition 和person re-identification(re-ID)上
相关基础知识:
https://blog.csdn.net/tangwei2014/article/details/46788025
不足之处
构造三元函数比较复杂,时间复杂度搞,并且依赖于挖掘难样本(mining hard sample),过程费时,也比较难训练。
center loss
主要是与softmax loss结合,减小类内距离
相关基础知识:
https://blog.csdn.net/u014380165/article/details/76946339
不足之处
只关注于减小类内变化(intra-class variations),没有对类间距离进行处理,因而可能导致不同类之间出现重叠,并且在训练的时候中心是每个mini-batch一更新,所以很不稳定,必须与softmax loss结合来维持稳定性。
本文工作
普通的深度学习网络大多专注于找到不同类之间的边界,没有过多考虑类内的距离和不同类之间的关系(比如空间关系),因此在3D object retieval任务中找到robust and discriminative features是提高性能的重要环节。上图从左到右依次为softmax loss, center loss + softmax loss, TCL。
可以看出普通分类只是在找类间边界而没有考虑类内变化,而center loss减小了类内变化,但是因为没有考虑latter one(不是很清楚怎么解释,可能是没有考虑类间边界样本的距离)容易造成类间重叠。而TCL解决了这些问题。
TCL(triplet-center loss)
先写一下triplet loss 和 center loss的公式:triplet loss
Ltpl=∑Ni=1max(1,m+D(f(xia),f(xi+))−D(f(xia),f(xi−))Ltpl=∑i=1Nmax(1,m+D(f(xai),f(x+i))−D(f(xai),f(x−i))
xa,x+,x−xa,x+,x−分别表示样本a、与a同类的样本、与a不同类的样本,f()f()表示网络的特征embedding output, D()D()表示向量之间的距离,m是类间margin。
center loss
Lc=12∑Ni=1D(f(xi),ciy)Lc=12∑i=1ND(f(xi),cyi)
ciycyi分别class yiyi的中心,D()D()是squared Euclidean distance。
之前提过triplet loss的优势是考虑了类间关系,主要不足是费时、center loss的优势是减少了类内变化,主要不足是没有考虑类间关系,所以为了同时改进这两点并且结合优势,作者把两种loss结合起来,提出了TCL:
Ltc=∑Mi=1max(D(f(xi),cyi)+m−minj≠yiD(f(xi),cj),0)Ltc=∑i=1Mmax(D(f(xi),cyi)+m−minj≠yiD(f(xi),cj),0)
D(f(xi),cyi=12∣∣∣∣f(xi)−cyi∣∣∣∣22D(f(xi),cyi=12||f(xi)−cyi||22
TCL只计算样本与同类中心之间的距离,减少了计算复杂度,并考虑到了离样本最近的不同类之间的距离,使得不同类之间可以保持一定的距离。
(还有一部分反向传播的过程,不太好写,感兴趣的可以去看论文)
同时论文结合了softmax loss,可以作为监督使得训练过程中可以找到更好的class centers也就将metric learning和classfication task结合起来,并且TCL和softmax loss互相独立,可以直接相加。
最后论文里用到的损失函数是
Ltotal=λtc+LsoftmaxLtotal=λtc+Lsoftmax
λλ是调整TCL对训练过程影响的超参数。最后的实验有如何选择和调整λλ的实验和验证。
本文用MVCNN做基本框架,大体流程为
与triplet loss和center loss的比较
triplet lossTCL的三元数只考虑样本、所属类中心、最近邻类的中心。对于N个样本的数据集,只需要建立N个triplets,而triplet loss的复杂度达到O(N3)O(N3),避免了建立triplets的复杂度和mining hard samples的难度
center loss
TCL同时增加了类内数据的紧实度(compactness)和类间的分离度(separability),避免了类间重叠,并且可以和softmax loss分离,更加易于训练。
通过实验的可视化效果,可以看到TCL和softmax loss结合效果要明显好一些,类间距离更远,类内距离更近。
实验
作者用ModelNet40 和ShapeNet Core 55数据集做的实验,实验做的很全,包括λλ的选取、不同损失函数的比较,不同数据集的比较、不同域间的比较、还和model-based 方法比较了一下。具体实验设置和配置参数建议看论文,写起来太多了。总结
实验结果看起来还是很好的,并且有可视化效果,但是用到的数据集都是CAD模型渲染出来的虚拟数据,背景单一,特征也都比较好提取,所以训练过程会简单点,如果加入噪声过多可能可视化效果就不会这么好了(猜测)如果知道数据集的类间空间关系的话,也许可以把空间关系作为center的一个监督信息,使得类间关系和真实的空间关系一致,也许对于视角估计之类的任务有帮助。
下一步复现一下。
相关文章推荐
- [论文解读]Multi-View 3D Object Detection Network for Autonomous Driving
- 论文翻译:Multi-View 3D Object Detection Network for Autonomous Driving
- 论文阅读:Volumetric and Multi-View CNNs for Object Classification on 3D Data
- Multi-View 3D Object Detection Network for Autonomous Driving
- 《Focal Loss for Dense Object Detection》论文阅读笔记
- Focal Loss for Dense Object Detection论文阅读
- [论文解读] 3DOP: 3D Object Proposals using Stereo Imagery for Accurate Object Class Detection
- Focal Loss for Dense Object Detection 论文阅读
- 论文阅读:Multi-view Convolutional Neural Networks for 3D Shape Recognition
- [论文解读] Monocular 3D Object Detection for Autonomous Driving Xiaozhi
- 论文阅读:Multi-Scale Triplet CNN for Person Re-Identification
- [论文笔记]Focal Loss for Dense Object Detection
- 1703.In Defense of the Triplet Loss for Person Re-Identification 论文阅读笔记
- [论文阅读] Focal Loss for Dense Object Detection
- 【论文笔记】In Defense of the Triplet Loss for Person Re-Identification
- 论文阅读-《Focal Loss for Dense Object Detection》
- Projective Feature Learning for 3D Shapes with Multi-View Depth Images
- 论文笔记之: Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function
- 论文解读Focal Loss for Dense Object Detection
- 深度学习论文理解1:what is the best multi-stage architecture for Object Recognition