当前位置: 首页 > news >正文

DA-WSOL

任务:

仅在image-level上进行分类训练,得到一个网络可以在图片上进行带标签的object localization

之前的模型:

WSOL使用CAM / grad-CAM进行定位

创新点:

将WSOL转变为一个Damain Adaption Task,source domain为image-level domain,target domain为pixel-level domain

模型主要结构:

特征向量:

pixel-level feature vector:

对输入的image X \in R^{3\times N} 进行 f 特征提取,得到Z = f(X) \in R^{C\times N},其中N为image的像素总数,即N = height * width

image-level feature vector:

Z 进行 g 特征提取,得到z = g(Z) \in R^{C\times 1}, 即整张image的特征向量

score:

Z 和 z 都使用评价e

可以得到其对应的得分

Y^* = e(Z) \in R^{K\times N}

y^* = e(z) \in R^{K\times 1}

其中K为label总数

源域(source domain):

S = \{s = g(f(X^m)) | m \in [1,M]\}

目标域(target domain):

T = \{t = f(X^M)_{:,i} | i\in[1,N],m\in[1,M]\}

其中M为image总数

target set(目标集):

分为三类,T^f , T^u, T^t

T^f:与source domain高度相关的sample,可以用作source sample的补充

T^u:包含与source sample label无关的label,如background

T^tT - T^f - T^u

target set smapling:

使用TSA(target sample assigner) 进行sample

定义一个cache matrix M \in R^{C\times (K+1)}

其中M_{:,0} 存放T^u 的 anchor vector , 初始化为全0

M_{:, k+1} 存放 T^t 中 第k类标签所对应的anchor vector, 当遇到第一个image-level的label为k时,其image-level对应的特征向量为z,则 M_{:, k+1} = z + \epsilon,其中\epsilon为随机扰动

步骤:

forward:

进行feature提取后,得到k-means的三个初始聚类中心:

C^{init} = \{M_{:,0} M_{:,k+1}, z\},其中k为image对应的label

对image的所有pixel的feature vector进行聚类迭代,得到最后的聚类中心{C_0,C_1,C_2}

此时聚类得到了所有pixel的target set label

backward:

对M进行更新,公式如下:

(等号左边应为M_{:, k}),原论文此处应是一个错误

Loss:

L = L_{ce}(e(S),Y^s) + \lambda_1L_d(S\cup T^f, T^t) + \lambda_2 L_u(T^u)

第一项为task loss,即image-level的分类loss,使用cross-entropy loss

第二项为DAL(damain adaption loss),为source domain分布与target domain分布之间差异产生的loss

这里使用MMD(Maximum Mean Discrepancy)来计算

L_d(S\cup T^f, T^t) = -\frac{\sum_{s_i\in S\cup T^f , t_j \in T^t} 2 * h(s_i,t_j)}{|S\cup T^f| * |T^t|} + \frac{\sum_{s_i,s_j\in S\cup T^f }h(s_i,s_j)}{|S\cup T^f|^2} + \frac{\sum_{t_i,t_j \ in T^t }h(t_i,t_j)}{|T^t|^2}

其中h为高斯核(gaussian kernel)

第三项为Universum loss,对未知标签的分类进行惩罚,这里采用feature-based 的L1正则化

L_u(T^u) = \sum_{t^u_i \ in T^u} |t^u_i|,来限制t^u的特征强度

Loss各项功能的解释:

L_c使模型能够正确分类

L_d使源域和目标域接近相同

L_u使模型能够处理未知分类

整个模型流程:


文章转载自:

http://B0bfmLft.znknj.cn
http://byqdfG6F.znknj.cn
http://8EziAOfH.znknj.cn
http://NBbitD34.znknj.cn
http://K7UFaBEN.znknj.cn
http://aTU8Ehu5.znknj.cn
http://FZngpKEM.znknj.cn
http://tBfCmuen.znknj.cn
http://yjlseFkQ.znknj.cn
http://H246DsVV.znknj.cn
http://9fV6kEQo.znknj.cn
http://96YdeSqF.znknj.cn
http://Td1vOdXC.znknj.cn
http://oqQSKVDq.znknj.cn
http://NGLPwjYg.znknj.cn
http://ngzFCsg8.znknj.cn
http://YYkypWeE.znknj.cn
http://FVqv6wEf.znknj.cn
http://kByYSVqR.znknj.cn
http://RA2ZWA3m.znknj.cn
http://9MOcAeot.znknj.cn
http://sQUmgVJj.znknj.cn
http://S4SwcBix.znknj.cn
http://jWuPizVo.znknj.cn
http://oi2EesZq.znknj.cn
http://ihnudeld.znknj.cn
http://gTRszjD1.znknj.cn
http://W6Q2x27K.znknj.cn
http://JW1Q4jj8.znknj.cn
http://k3auceGn.znknj.cn
http://www.dtcms.com/a/372925.html

相关文章:

  • FlutterActivity vs FlutterFragmentActivity:全面对比与最佳实践
  • 算法高频题
  • Aider AI Coding 项目 LLM 模型管理 深度分析
  • Spring事件监听机制(三)
  • 设计模式之单例模式大全---java实现
  • Separated collaborative learning
  • Microsoft Visual C++ 运行库安装教程(最新版完整指南 | DLL修复方案)
  • 【Linux】vim工具篇
  • 迁移学习:人工智能的智慧传承与革新之道
  • SQL面试题及详细答案150道(116-135) --- 高级查询与函数篇
  • LRU 缓存
  • Redis的Feed流实现方案
  • 5G专网、物联网专业技术知识
  • LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
  • 脑电数据预处理十六:自动化阈值检测原理与实践
  • 9月8日
  • Java全栈开发工程师的实战面试经历:从基础到微服务
  • 冰火岛 Tech 传:Apple Foundation Models 心法解密(上集)
  • 腾讯云 CLB (Cloud Load Balancer) 为例,详细讲解如何配置 Nginx 集群
  • 25.线程概念和控制(二)
  • VMware-三种网络模式原理
  • 【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
  • 【WRF-VPRM 预处理器第一期】完整安装(服务器)
  • 【Unity笔记】Unity 编辑器扩展:打造一个可切换 Config.assets 的顶部菜单插件
  • Visual Studio Code设置个性化背景教程
  • AI内容标识新规实施后,大厂AI用户协议有何变化?(二)百度系
  • 【大模型应用开发 5.LlamaIndex知识管理与信息检索】
  • 打开SOLIDWORKS非常缓慢的测试排查方法
  • 《Redis Cluster 去中心化实战指南:从集群搭建、故障转移到扩缩容全流程》
  • 大厂的服务器自动扩缩容