目标检测-One Stage-RetinaNet

文章目录

  • 前言
  • 一、RetinaNet的网络结构和流程
  • 二、RetinaNet的创新点
    • Balanced Cross Entropy
    • Focal Loss
  • 总结


前言

根据前文目标检测-One Stage-YOLOv2可以看出YOLOv2的速度和精度都有相当程度的提升,但是One Stage目标检测模型仍存在一个很大的问题:

  • 前景(positive)和背景(negatives)类别的不平衡

ps:假设我们有一个医学图像分类任务,要识别是否患有一种罕见的疾病。在这个场景中,正类别是患有疾病的图像,负类别是健康的图像。由于罕见疾病的患者数量相对较少,数据集中正类别的样本数量远远少于负类别。这就是前景和背景的类别不平衡问题。

RetinaNet 针对上述缺点做了改进


提示:以下是本篇文章正文内容,下面内容可供参考

一、RetinaNet的网络结构和流程

  • 将影像输入卷积网络(ResNet)+特征金字塔网络(FPN)得到多尺度特征图(P3-P7, 3 2 2 32^2 322 to 51 2 2 512^2 5122

ps:和SSD的多尺度特征图相比加入了自顶而下的特征融合机制

  • 引入anchor机制,每个特征点对应9个anchor(3种横纵比×3种尺寸)
  • 将上一步得到的anchor输入不同的分类和边框回归器
  • 使用非极大值抑制NMS去除冗余窗口

在这里插入图片描述

二、RetinaNet的创新点

  • 最核心的就是提出Focal Loss损失函数来解决前景和背景类别的不平衡问题

在One Stage目标检测网络中损失函数中一般分为两部分(分类损失+回归损失),正负样本都会计算分类损失,然后仅对正样本进行回归损失的计算。

Balanced Cross Entropy

正负样本都计算分类损失,会造成的问题是,负样本是远远多于正样本的,为了解决这种类别不平衡问题,可以采用平衡交叉熵损失(Balanced Cross Entropy),即在交叉熵损失的基础上,引入一个权重因子 α ,当类标签是 1 时,权重因子是 α ,当类标签是 -1 时,权重因子是 1 − α 。

B C E ( p , y ) = − α t ​ l o g ( p t ​ ) BCE(p,y)=−α_t​log(p_t​) BCE(p,y)=αtlog(pt)

其中pt = p if y=1 else pt = 1-p,p范围在 [0, 1] , a 1 − a = n m \frac{a}{1-a}=\frac{n}{m} 1aa=mn ,m为正样本数,n为负样本数

Balanced Cross Entropy 解决了正负样本的比例失衡问题(positive/negative examples),但是这种方法仅仅解决了正负样本之间的平衡问题,并没有区分简单还是难分样本(easy/hard examples)。当容易区分的负样本(easy negatives)的泛滥时,整个训练过程都是围绕容易区分的样本进行(小损失积少成多超过大损失),而被忽略的难区分的样本才是训练的重点。

Focal Loss

因此,Focal Loss将权重因子 α修改为调制因子 ( 1 − p t ​ ) γ (1−p_t​)^γ (1pt)γ ,整个公式如下

F L ( p t ​ ) = − ( 1 − p t ​ ) γ l o g ( p t ​ ) FL(p_t​)=−(1−p_t​)^γlog(p_t​) FL(pt)=(1pt)γlog(pt)

γ \gamma γ 也是一个参数,范围在 [0, 5], p t p_t pt趋向于1时(概率大),说明该样本比较容易区分,此时,调制因子趋向于 0 的样本的loss贡献值会很小,反之则知难区分的样本loss贡献值占比大,当 γ = 0 \gamma = 0 γ=0 的时候,FL 就是原来的交叉熵损失 CE,随着 γ \gamma γ 的增大,调整速率也在变化,实验表明,在 γ = 2 \gamma = 2 γ=2 时,效果最佳

在这里插入图片描述


总结

在coco test-dev数据集上,RetinaNet达到当时的SOTA(最高39.1mAP,图中未给出)
在这里插入图片描述


http://www.niftyadmin.cn/n/5300891.html

相关文章

二、Redis的特性与应用场景

Redis是一个在内存中存储数据的中间件,主要用于作为数据库、数据缓存,在分布式系统中有着非常重要的地位。面试中可以围绕Redis的特性进行介绍。 一、Redis特性 1、在内存中存储数据 MySQL主要是“表”的方式来存储组织数据的,是“关系型数…

【竞技宝】LOL:S14新赛季改动 将trueskill2隐藏分算法

北京时间2024年1月3日,随着英雄联盟德玛西亚杯的进行,英雄联盟赛事已经进入新赛季的征途。每个赛季的春季赛之前,都会进行一次大的版本更新。据爆料,今年的S14版本大更新中,除了游戏内的英雄、道具、地图的更新之外,排位的隐藏分算法也将进行重大改变。 昨日,英雄联盟设计总监…

15. 从零用Rust编写正反向代理, 如果将nginx.conf转成yaml,toml,json会怎么样

wmproxy wmproxy是由Rust编写,已实现http/https代理,socks5代理, 反向代理,静态文件服务器,内网穿透,配置热更新等, 后续将实现websocket代理等,同时会将实现过程分享出来&#xff…

计算机网络 VLAN

路由器将多个局域网连接起来,而交换机将一个局域网里的设备连接起来。 路由器的端口分配局域网的网段(子网网段),局域网的内部设备的ip都在这个网段里,再由交换机将数据派发到目的设备,交换机是按照MAC地址…

git提交操作(不包含初始化仓库)

1.进入到本地的git仓库 查看状态 git status 如果你之前有没有成功的提交,直接看第5步。 2.追踪文件 git add . 不要提交大于100M的文件,如果有,看第5步 3.提交评论 git commit -m "你想添加的评论" 4.push (push之前可以再…

阿里云服务器端口PPTP 1723放行教程

阿里云服务器安装PPTP VPN需要先开通1723端口,阿里云服务器端口是在安全组中操作的,阿里云服务器网aliyunfuwuqi.com来详细说明阿里云服务器安全组开放PPTP VPN专用1723端口教程: 阿里云服务器放行1723端口教程 PPTP是点对点隧道协议&#…

Docker仓库搭建与镜像推送拉取

1.Docker镜像仓库 搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址:https://hub.docker.com/_/registry 1.1.简化版镜像仓库 Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,…

2023机器人行业总结,2024机器人崛起元年(具身智能)

2023总结: 1.Chatgpt引爆了通用人工智能,最大的受益者或是机器人,2023年最热门的创业赛道便是人形机器人,优必选更是成为人形机器人上市第一股, 可以说2023年是机器人开启智能化的元年,而2024则将成为机器…