LSTD: A Low-Shot Transfer Detector for Object Detection论文阅读笔记

news2024/11/24 9:21:35

LSTD: A Low-Shot Transfer Detector for Object Detection论文阅读笔记

提出low-shot Transfer detector,来解决标注样本数据不足的情况。利用source domain知识,来构建高效的target-domain检测器,仅需要很少的训练样本。

  • 提出了一个高效的架构,集成了Faster-RCNN和SSD的优点。
  • 为low-shot dection引入了一个新颖的正则化迁移学习架构。提出了tranfer knowledge(TK)和background depression(BD)正则化,分别从source domain 和 target domain利用object knowledge,进一步增强对少数目标图像进行微调。

1、Introduction

transfer learning for low-shot detection challenge:

  • 首先,当目标检测集受限时,将物体检测的通用迁移策略(即,从预训练的深度分类器初始化深度检测器)应用起来是不合适的。主要原因是,使用这样的小型目标集进行微调通常很难消除检测和分类之间的任务差异。
  • 与深度分类器相比,深度检测器在迁移学习过程中更容易过拟合。主要原因是,检测器需要为检测的定位和分类任务学习更多的对象特定表示
  • 简单的微调可能会降低可迁移性,因为它经常忽略了源域和目标域中的重要对象知识。

本文贡献:

  • LSTD架构。结合了Faster RCNN和SSD的优点
  • 提出了一个正则化迁移学习框架,该架构可以灵活的从源域转到目标域(避免了任务差异,例如从分类转为检测)。还是用了Transfer knowledge(TK) he background depreesion(BD)组成新的正则化来增强微调,TK为每个target-domain proposal transfers the source-object detection。BD 将目标图像的边界框知识集成到特征图上的额外监督中,使 LSTD 可以抑制背景干扰

2、Related-work

由于文章是2018年的,就跳过了

3、Low-Shot Transfer Detector(LSTD)

3.1Basic Deep Architecture of LSTD

image-20230706111502053

  • bounding box regression in the fashion of SSD

    • Bouding box Regression
  • object classification in the fashion of faster rcnn

    • coarse-to-fine design for object classification

总的来说,就是结合了SSD的多尺度信息,结合了Faster RCNN的Proposal Generation、ROI Pooling层,让其分类会更加准确。中间有一个小trick就是,在SSD和Faster RCNN拼接部分,增加了一个二分类的检测器,来检查框内是否有object,进行一个先行过滤。

值得一提的是,在最后的分类过程中,使用卷积层代替了原始的全连接层。

3.2 Regularized Transfer Learning for LSTD

End to end regularized transfer learning framework

image-20230706204215749

首先,LSTD现在大规模的source data中进行训练。然后再对预训练的LSTD模型在target data微调。

微调使用了新的正则化方法:

image-20230706205212238

其中 L m a i n L_{main} Lmain是指loss summation of multi-layer bounding box regression and coarse-to-fine object classification in LSTD。由于target data中会有很多新类,所以(K+1 K个类别+1个背景)Object classification需要进行重新的初始化,即使bounding box regression and object-or-not classification 可以被source data初始化。为了避免过拟合,所以就引入了分 L r e g L_{reg} Lreg

image-20230706205602919

  • Background-Depression (BD) Regularization

具体来说,我们首先从LSTD的中间卷积层生成convolutional feature cube,然后用GT bbox mask 掉 convolutional cube中所有目标。那么不在bbox,也就是剩下的就是背景 F B D F_{BD} FBD,为了去抑制背景,我们使用了L2正则去惩罚 F B D F_{BD} FBD L B D = ∣ ∣ F B D ∣ ∣ 2 L_{BD}=||F_{BD}||2 LBD=∣∣FBD∣∣2

  • Transfer-Knowledge (TK) Regularization

在迁移学习过程中,特征提取,边界框回归,二分类等过程都可以利用在源数据集上预训练得到的结果作为初始化,但因为源数据集和目标数据集所包含的物体类别和数量都不相同,所以最后的多分类阶段无法利用源数据预训练的结果,只能从随机状态开始初始化。虽然source data和target data的数据集类别不同,但还是有关联的,不管是形态上还是颜色上。所以对于每个proposal都应用了transfer-Knowledge(TK)。

第一步:我们将训练数据(也就是target data)分别喂给原来用source data训练好的LSTD(后面叫1号)和重新初始化分类起的target LSTD(后面叫2号)。然后我们将target LSTD生成的proposal,传给1号的ROI pooling哪一块后面进行分类。得到

image-20230706212457211

第二步:我们更改2号的多任务学习架构,也就是说加一个source-object soften classification,这个分类器和一号的一样,但是权重是重新初始化的,就相当于加了一个辅助分支。得到:

image-20230706212733166

第三步,计算上面得到的俩个的交叉熵损失, 就是希望上面俩个结果一样,也就相当于用源域的知识来指导目标域的收敛和分类。

image-20230706212754317

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/725370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一课:Figma 软件安装与汉化

Figma软件基本介绍 Figma 是一款可在线协作的UI设计软件,最大的亮点在于它基于 WEB 平台研发,能支撑全平台操作系统的运行,适合各种场景下的使用。Figma软件特色功能: 在线编辑,适配全平台:使用软件 Figma…

Python 利用opencv实现识别最大面积验证码

此篇文章解决的是某象的最大验证码,这个最大面积验证码,就是识别图中划线区域中最大面积的验证码,我一开始打算用深度学习去做,但是结合了网上的资料以及自己的想法来看,还是用opencv处理又快又较为准确,而且还不用准备深度学习的一些环境 我准备了大概几十张验证码,经过…

Linux运维-修改密码报错提示:authentication token manipulation error

背景 今天在Linux Centos7环境的使用中,突然遇到了这个问题,为了以后再次遇到后可以快速的解决问题,特此记录。 首先是无法进入系统,然后通过单用户进入系统后修改密码,然后遇到该问题。 单用户进入系统 在如下位置添加init/bin/bash 后按Ctrl X 重启系统 进入b…

联想凌拓数据管理平台—— MagnaScale 分布式存储软件

MagnaScale 分布式存储软件 MagnaScale 数据管理平台是联想凌拓自研 ThinkSystem DXN 非结构化存储的核心软件,具有高性能、高可用性、横向扩展的特点。 MagnaScale 解决方案 是 DXN 非结构化存储的核心软件,能够真正实现软硬件解耦,为客户提…

在 VS Code 的 User Snippets 中使用美元符号 $ 失败的问题

在 VS Code 的 User Snippets 中使用美元符号 $ 失败的问题 在日常工作里经常会用到一些常用的代码片段, 比如创建一个 .vue 文件的初始结构, 所以我会选择在 VS Code 的 User Snippet 中创建一个代码片段, 如下 {"Print to console": {"scope": "v…

异常处理在开源SpringBoot/SpringCloud微服务框架的最佳实践

目录导读 异常处理在开源SpringBoot/SpringCloud微服务框架的最佳实践1. Java为什么要有异常2 Java异常分类3. JDK异常处理4. 模块化异常处理5. 服务化异常处理5.1 web服务化异常处理5.1.1 web参数校验服务化异常最佳实践5.1.1.1 web参数校验服务化异常分析5.1.1.2 web参数校验…

七、html表格

1、表格 表格 组织内容:推荐 布局:不推荐,嵌套非常复杂,影响SEO,采用列表代替布局 2、表格的结构 标题 头部 列标题 主体 行、列、单元格 脚部 在JavaScript默认提供主体 3、表格的使用 4、列与行合并&#xff1…

Kubernetes(k8s)实战:使用k8s+jenkins实现CICD

文章目录 一、什么是CICD二、准备k8s环境三、jenkins环境准备(选择一台服务器)1、安装java(最新版jenkins只支持jdk11以上)(1)找到jdk资源上传到指定机器(2)配置环境变量 2、安装mav…

stm32 freertos多任务状态迁移,中断临界段,任务延时

freertos的作用 处理器运行模式 arm中SP,LR,PC寄存器以及其它所有寄存器以及处理器运行模式介绍 一、xTaskCreate() 1、prvInitialiseNewTask() 2、prvAddNewTaskToReadyList() (1…

mysql迁移

目录 1.SQLyog 2.阿里云DTS 1.创建任务 2.配置源库及目标库信息 3.配置任务对象及高级配置 4.高级配置 1.SQLyog 适用于离线迁移,全量迁移,少量迁移,数据库大小在几百兆范围内,时间需要几十秒到几分钟不等。 选择源库&…

java网络编程、TCP和UDP、三次握手和四次挥手

一、网络编程入门 (1)概念 在网络通信协议下,不同计算机上运行的程序,可以进行数据传输 (2)网络编程三要素: IP地址 设备在网络中的地址,是唯一的标识。全称”互联网协议地址”&a…

value_counts()方法--Pandas

1. 函数功能 返回DataFrame中值与计算组成的Series 2. 函数语法 DataFrame.value_counts(subsetNone, normalizeFalse, sortTrue, ascendingFalse, dropnaTrue)3.函数参数 参数含义subset可选参数,标签或者标签列表 ,计算时要用的列normalize布尔值&…

android原生工程测试opencv库与opencl功能

1.jni原生工程main文件夹中创建jniLibs 2.复制opencv库到jniLibs 3.复制opencv头文件 头文件库导入后如下: 头文件与库路径包含 头文件直接复制出来外面,不然识别不了 断点调试

Jetson nano中使用tensorrt推理yolov5

克隆下载yolov5项目 准备yolov5项目, 从仓库下载5 5.0版本 git clone -b v5.0 https://github.com/ultralytics/yolov5.git下载权重地址 https://github.com/ultralytics/yolov5/releases/tag/v5.0自行安装必要的库 pip3 install -r requirements.txt准备tensorrtx项目 下载后可…

88、基于STM32单片机学习型搬运机器人四自由度机械臂机械手遥感控制设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

单片机主芯片选择方案 方案一:AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元&a…

VR智慧景区:数字文旅新模式,你体验了吗?

传统的旅游行业如果想要破局,就势必要发展线上业务,VR智慧文旅就是一个很好的发展选择。随着5G技术的发展,我们该如何进一步的探索数字文旅的新趋势、新机遇和新发展呢? VR智慧景区可以帮助文旅行业实现全景漫游、实景导航、电子沙…

UG\NX二次开发 获取基准面的点和方向

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 获取基准面的点和方向,包括坐标系上的基准面。 效果: 代码: #include "me.hpp" #include <stdio.h> #include <string.h> #include <uf.h> #include <uf_ui.h&…

《CAPL编程语言》来啦!!!

目标人群 想入门CAPL编程的 想提高CAPL编程能力的 想系统性学习CAPL编程语言的 时长 30小时 报名方式 联系作者微信 内容 &#xff01;&#xff01;&#xff01;始于CAPL&#xff0c;又不止于CAPL&#xff01;&#xff01;&#xff01; 这里不只有CAPL语法介绍&#xf…

力扣 216. 组合总和 III

题目来源&#xff1a;https://leetcode.cn/problems/combination-sum-iii/description/ C题解&#xff1a;由 进入for循环进行回溯&#xff0c;到 ......&#xff0c;以此类推。 递归法&#xff1a; 确定递归函数参数&#xff1a;要求集合的个数k&#xff0c;目标和n&#x…

ES6模块化的基本语法

ES6模块化的基本语法 1、默认导出与默认导入2、按需导出和按需导入3、直接导入并执行模块中的代码 1、默认导出与默认导入 默认导出的语法 export default 默认导出的成员示例 let n110let n220function show(){}export default{n1,show }默认导入的语法 import 接收名称 f…