Deep domain adaptation for describing people based on fine-grained clothing attributes

介绍DDAN网络,一种由IBM和新加坡国立大学联合研发的跨域衣物识别技术,旨在解决网店与自拍场景下衣物识别的挑战。通过双分支网络结构,DDAN能够学习与数据集无关的特征,实现不同数据域之间的有效迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2015   IBM和National University of Singapore联合发布

DDAN没有使用相同图片对(pair reltions)

总结:目的是适应多种数据域的网络

现有的方法迁移学习,固定某几层;本文的方法是训练两个分支的网络,分别接受不同数据集。这么做的出发点是学得和数据集无关的层次特征。

#########  目的和难点   ##############

目的:衣物识别有现实需求,如FBI。衣物数据集总体视觉有天然的两种:网店,自拍。跨域的识别能力需要具备。衣物属性特征:细粒度属性,视觉位置搜索

难点

现状是可以在诸如天猫这些网站上爬取到结构化的描述,可认为这是有效标注了的信息。但是与现实场景是两个域。

细粒度的衣物属性

域转换:

1.       神经网络的域转换,通常的做法是fine-tuning。

2.       特殊差异的数据集,本文将打算使用不一样的方式,对不同域的衣物图片的特征也有区分能力,这篇文章想训练对域特征具有不变性的feature层。对应的方法是参考了深度神经网络的DLID学得适应不同特征空间的数据集。使用分支+triplet loss。

 

网络的总体结构:

整体来看是自定义的R-CNN和NiN网络结构,也设计了一个数据集域转换的方法deep domain adaptation approach。

Body Detection:使用改进版rcnn,选择性搜索提供候选框;然后NIN在候选框中提取特征;最后,不是使用IOU方法,而是线性回归的方式linear support vector regression (SVR)预测候选框和真实值间的交并集。

关于SVR

提出的初衷是因为使用阈值方式舍弃的候选框可能也丢掉了一些有意义的。方法是计算IoU的值,然后根据IOU的值平分成10个类别{0.1,0.2…,1.0},在训练阶段控制使每个IoU类的传入数据是一样的。这一点类似于在线选取数据online hard-feature mining的做法。再然后就是常规的回归的方式使候选框接近真值。

Deepdomain adaptation

衣物不可避免的需要考虑两个域(online shopping & street)的适应性。这篇文章是设计了两个分支的网络(a specific double-path deep convolutional neural network for thedomain adaptation)。

首先,每条路径各自接收不同的数据集,两条路径卷积层结构相同。并且两分支结构共享低层次的网络参数,因为认为它们学得的东西是一样的。高层次的网络使用树状结构的全连接层来学习表达识别能力。

其次,两分支使用alignment cost layers连接,cost是使用输入feature层的相似度来衡量的,结果也会输入到loss function中去。——这样特征层参数差的不太大,且两分支的高层特征足够相似。

最后,使用了merge layer将两分支合并。融合层使用简单的max 操作。

 

补充:关于数据,这里两个分支,需要填入相似衣物的数据。这儿是先根据标签相似度选择一组目标数据(因为是细粒度特征,所以对图片内容有一定的指示作用);然后再根据视觉相似度,排序选择出和目标数据最相似的一幅图片(first one)。两者组成图片对pair。

DDAN的实施细节

分支网络path使用的Alexnet。校准用损失layer(alignment cost layer)设在conv5,FC1。Merging layer设置在FC2.测试时,将丢弃merging layer以及其中一个分支的网络。检索的时候,FC2的输出就是输出,由此导出label

### 基于分类器的域适应方法 在机器学习领域,基于分类器的域适应(Classifier-Based Domain Adaptation, CBDA)旨在解决源域和目标域之间的分布差异问题。CBDA通过调整模型参数来最小化这种差距,从而提高模型在未见过的目标域数据上的泛化能力。 #### 模型结构设计 为了实现有效的域适应,通常采用两种主要策略: - **特征对齐**:通过对来自不同域的数据进行映射,使得它们共享相似的表示空间。这可以通过对抗训练机制完成,在该过程中引入了一个判别网络试图区分输入样本属于哪个域,而另一个编码器则努力混淆这些信息[^1]。 - **分类损失优化**:除了传统的交叉熵等监督信号外,还会加入额外项用于惩罚跨域间预测概率分布的不同。例如,可以利用最大均值差异(Maximum Mean Discrepancy, MMD)度量两个集合间的统计距离并将其作为正则化因子加到总成本函数里去[^2]。 ```python import torch.nn as nn class ClassifierBasedDomainAdaptation(nn.Module): def __init__(self): super(ClassifierBasedDomainAdaptation, self).__init__() # 定义特征提取层 self.feature_extractor = nn.Sequential( nn.Linear(input_dim, hidden_dim), nn.ReLU(), ... ) # 定义类别预测分支 self.class_classifier = nn.Sequential( nn.Linear(hidden_dim, num_classes), nn.LogSoftmax(dim=1) ) # 定义域辨别分支 self.domain_discriminator = nn.Sequential( nn.Linear(hidden_dim, 2), # 输出二元标签(0/1),分别代表source/target nn.LogSoftmax(dim=1) ) ``` 上述代码展示了如何构建一个简单的CBDA架构实例。其中`feature_extractor`负责抽取公共表征;`class_classifier`用来做最终的任务决策;而`domain_discriminator`则是辅助工具帮助我们评估当前学到的特征是否具有良好的迁移性质。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值