【论文阅读】Triplet-Center Loss for Multi-View 3D Object

该文介绍了一种新的深度学习损失函数——Triplet-CenterLoss,用于3D对象检索任务。这种方法结合了tripletloss和centerloss的优点,旨在学习类内紧凑且类间区分明显的特征。通过减少计算复杂度并确保类间距离,TCL提高了特征的区分度。实验表明,TCL在ModelNet40和ShapeNetCore55数据集上的表现优于传统的loss函数。
摘要由CSDN通过智能技术生成

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-center loss,通过loss来学习每一类的中心点,并使得类内距离尽可能小,类间距离尽可能大,提高了特征的区分度

相关工作

  • 针对3D object retrieval,现阶段深度学习领域主要分两种解决方法:

  • View-based methods
    对3D物体的不同视角采集(渲染)一系列视角图。然后转化为2D图像问题,用CNN来解决

    • 代表方法:

       MVCNN(multi-view cnn)
       	(也是文章用的基础网络结构)
       GIFT
      
  • Model-based methods

     得到的3D形状特征,然后利用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上

      • 相关基础知识
      • 不足之处
        构造三元函数比较复杂,时间复杂度高,并且依赖于挖掘困难样本,过程费时也比较难训练
  • center loss

    主要是与softmax loss结合,减小类内距离
    相关基础知识
    不足之处
    只关注于减小类内变化,没有对类间距离进行处理,因而可能导致不同类之间出现重叠,并且在训练的时候中心是每个mini-batch——更新,所以很不稳定,必须与softmax loss结合来维持稳定性。

本文工作

普通的深度学习网络大多专注于找到不同类之间的边界,没有过多考虑类内的距离和不同类之间的关系,因此在3D object retrieval任务中找到robust and discriminative features是提高性能的重要环节。

在这里插入图片描述
上图从左到右依次为softmax loss,center loss+softmax loss,TCL。
可以看出普通分类只是在找类间边界而没有考虑类内变化,而center loss减小了类内变化,但是因为没有考虑到类间距离的边界距离,容易造成类间重叠。而TCL解决了这些问题

TCL(triplet-center loss)

先写一下triplet loss和center loss的公式:

  • triplet loss
    在这里插入图片描述
    x a , x + , x − x_{a},x{+},x{-} xa,x+,x分别表示样本a、与a同类的样本、与a不同类的样本,f()表示网络的特征embedding output,D()表示向量之间的距离,m是类间margin。

  • center loss
    在这里插入图片描述
    c y i c_{y}^{i} cyi分别class y i y_{i} yi的中心,D()是欧式距离
    之前提过的tripet loss的有势是考虑了类间关系,主要不足是费时,center loss的优势是减少了类内变化,主要不足是没有考虑类间关系,所以为了同时改进这两点并且结合优势,作者把这两种loss结合起来,提出了TCL

  • TCL
    在这里插入图片描述
    TCL只计算样本与同类中心之间的距离,减少了计算复杂度,并考虑到了离样本最近的不同类之间的距离,使得不同类之间可以保持一定的距离

同时论文结合了softmax loss,可以作为监督使得训练过程中可以找到更好的class centers也就将metric learning和classfication task结合起来,并且TCL和softmax互相独立,可以直接相加。最后论文里用到的损失函数
L t o t a l = λ t c + L s o f t m a x L_{total} = λ_{tc} + L_{softmax} Ltotal=λtc+Lsoftmax
λ是调整TCL对训练过程影响的超参数。最后的实验有如何选择和调整λ的实验和验证。

本文用MVCNN做基本框架,大体流程为
在这里插入图片描述

与triplet loss和center loss的比较

  • triplet loss

    • TCL的三元数只考虑样本、所属类中心、最近邻类的中心。对于N个样本的数据集,只需要建立N个triplets,而triplet loss的复杂度达到 O ( N 3 ) O(N^{3}) O(N3),避免了建立triplets的复杂度和mining hard samples的难度
  • center loss

    • TCL同时增加了类内数据的紧实度和类间的分类度,避免了类间重叠,并且可以和softmax loss分离,更加易于训练。
      在这里插入图片描述
      通过实验的可视化效果,可以看到TCL和softmax loss结合效果要明显好一些,类间距离更远,类内距离更近。

实验

作者用ModelNet 40和ShapeNet Core 55数据集做的实验,实验包括λ的选取、不同损失函数的比较,不同数据集的比较、不同域间的比较、还和model-based 方法比较了一下。具体实验设置和配置参数建议看论文

总结

实验结果看起来还是很好的,并且有可视化效果,但是用到的数据集都是CAD模型渲染出来的虚拟数据,背景单一,特征也都比较好提取,所以训练过程会简单点,如果加入噪声过多可能可视化效果就不会那么好了
如果知道数据集的类间空间关系的话,也许可以把空间关系作为center的一个监督信息,使得类间关系和真实的空间关系一致,也许对于视角估计之类的任务有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值