【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解
定义一个分类器:
D t r a i n = { ( x i , y i ) } i = 1 N ⊂ X × C D_{train} = \{(x_i, y_i)\}^N _{i=1} ⊂ X × C Dtrain={(xi,yi)}i=1N⊂X×C
- X:输入空间
- ( x i , y i ) (x_i, y_i) (xi,yi): 输入的图像x以及其对象的类别标签y
- C :已知类的集合
1 For closed-set 闭集检测
测试时:用于测试模型性能的图像也都属于已知类别 C C C
D t e s t − c l o s e d = { ( x i , y i ) } i = 1 M ⊂ X × C D_{test-closed} = \{(x_i, y_i)\}^M _{i=1} ⊂ X × C Dtest−closed={(xi,yi)}i=1M⊂X×C
- 模型最终会返回一个概率分布: p ( y ∣ x ) p(y|x) p(y∣x)
分类器为每个输入示例x返回一个关于已知类别的概率分布 p ( y ∣ x ) p(y|x) p(y∣x),意味着对于给定的输入示例x,分类器会生成一个概率分布,其中每个类别y都对应一个概率值。这个概率值表示分类器对于该输入示例属于每个已知类别的置信度或可能性。
解析
具体而言,对于每个已知类别 c ∈ C c ∈ C c∈C,分类器会计算条件概率 p ( y = c ∣ x ) p(y=c|x) p(y=c∣x),表示在给定输入示例x的条件下,该示例属于类别c的概率。这样,对于每个输入示例x,分类器会为每个已知类别c生成一个概率值,最终形成一个概率分布 p ( y ∣ x ) p(y|x) p(y∣x),其中概率值的总和为1。
通过这个概率分布,我们可以了解分类器对于每个已知类别的相对置信度。通常情况下,预测类别会选择具有最高概率值的类别,因为它被认为是最有可能的类别。
这种概率分布的输出使我们能够获得更多关于分类器对于每个输入示例的不确定性和置信度的信息。它可以帮助我们进行后续的决策和分析,比如设置一个概率阈值来确定分类结果或者进行不确定性建模。
2 For open-set 开放集检测
测试时:用于测试模型性能的图像不仅仅属于已知类别 C C C,还可能属于位置类别 U U U
D t e s t − o p e n = { ( x i , y i ) } i = 1 M ′ ⊂ X × ( C ⋃ U ) D_{test-open} = \{(x_i, y_i)\}^{M'} _{i=1} ⊂ X × (C \bigcup U) Dtest−open={(xi,yi)}i=1M′⊂X×(C⋃U)
-
返回的概率分布: p ( y ∣ x , y ⊂ C ) p(y|x,y\subset C) p(y∣x,y⊂C) over known classes (理解:输入的图像为已知类的概率)
-
返回一个分数score: S ( y ∈ C ∣ x ) S(y\in C|x) S(y∈C∣x) indicate whether or not the test sample belongs to any of the known classes.
解析
在这种情况下,模型需要处理两种情况:已知类别和未见类别。
-
对于已知类别 C C C,模型会计算条件概率 p ( y ∈ C ∣ x ) p(y ∈ C|x) p(y∈C∣x),表示在给定输入示例x的条件下,该示例属于任何已知类别的概率。这样,模型可以返回一个关于已知类别的概率分布 p ( y ∣ x , y ∈ C ) p(y|x, y ∈ C) p(y∣x,y∈C),用于表示模型对于每个已知类别的置信度。
-
同时,模型还会返回一个分数 S ( y ∈ C ∣ x ) S(y ∈ C|x) S(y∈C∣x),该分数用于指示测试样本是否属于任何已知类别。 这个分数可以是一个连续值或二进制值,表示测试样本属于已知类别的程度。较高的分数表明测试样本更有可能属于已知类别,而较低的分数则表明测试样本可能属于未见类别 U U U。
3 关于概率分布 p ( y ∣ x ) 和 p ( y ∣ x , y ∈ C ) p(y|x)和p(y|x, y ∈ C) p(y∣x)和p(y∣x,y∈C)
关系:
- p(y|x):表示在给定输入示例x的条件下,该示例属于类别y的概率。这是一个针对已知类别的条件概率分布,在封闭集合的情景下使用。
- p(y|x, y ∈ C):表示在给定输入示例x的条件下,该示例属于任何已知类别y的概率。这也是一个针对已知类别的条件概率分布,但在开放集合的情景下使用。
区别:
- 范围:概率分布p(y|x)仅考虑已知类别C,而概率分布p(y|x, y ∈ C)同时考虑已知类别C和未知类别U。
- 输出:概率分布p(y|x)仅给出关于已知类别的概率信息,而概率分布p(y|x, y ∈ C)还会给出关于已知类别的分数信息,用于指示测试样本是否属于已知类别。
- 用途:概率分布p(y|x)主要用于封闭集合的分类任务,而概率分布p(y|x, y ∈ C)主要用于开放集合的分类任务,可以处理未见过的类别U。
相关文章:
【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解
定义一个分类器: D t r a i n { ( x i , y i ) } i 1 N ⊂ X C D_{train} \{(x_i, y_i)\}^N _{i1} ⊂ X C Dtrain{(xi,yi)}i1N⊂XC X:输入空间 ( x i , y i ) (x_i, y_i) (xi,yi): 输入的图像x以及其对象的类别标签yC :已知…...

【Flink】Flink核心概念简述
目录 一、Flink 简介二、Flink 组件栈1. API & Libraries 层2. runtime层3. 物理部署层 三、Flink 集群架构四、Flink基本编程模型五、Flink 的部署模式六、Flink 任务的执行模式五、Flink 的优点 一、Flink 简介 Apache Flink 的前身是柏林理工大学一个研究性项目&#x…...
linux-tar命令、解压、压缩
压缩 文件夹 命令:tar -zcvf ~/test/tar_t.tar.gz /target/ 将/target/文件夹及其子文件夹和文件压缩成tar_t.tar.gz文件,并放于~/test/路径下 文件 命令:tar -zcvf ~/test/tar_t.tar.gz /target/file 将/target/file文件压缩成tar_t.tar…...

Kafka Connect :构建强大分布式数据集成方案
Kafka Connect 是 Apache Kafka 生态系统中的关键组件,专为构建可靠、高效的分布式数据集成解决方案而设计。本文将深入探讨 Kafka Connect 的核心架构、使用方法以及如何通过丰富的示例代码解决实际的数据集成挑战。 Kafka Connect 的核心架构 Kafka Connect 的核…...

基于 Flink CDC 构建 MySQL 的 Streaming ETL to MySQL
简介 CDC 的全称是 Change Data Capture ,在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC 技术的应用场景非常广泛…...

创建vue项目:node.js下载安装、配置环境变量,下载安装cnpm,配置npm的目录、镜像,安装vue、搭建vue项目开发环境(保姆级教程一)
今天讲解 Windows 如何创建 vue 项目,搭建 vue 开发环境,这是这个系列的第一章,有什么问题请留言,请点赞收藏!!! 文章目录 一、Vue简单介绍二、开始搭建1、安装node.js环境2、配置npm下载时的默…...

uni-app 微信小程序之好看的ui登录页面(一)
文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…...
[ES]ElasticSearch强转日期的时区问题
问题 由于ES不能修改时区,且默认时区始终为UTC。 当才查询数据时,通过强转获得的日期并不是想要的,通过分析发现,正是由于默认时区导致结果相差了8个小时。 查询语句: POST http://localhost:9200/_sql?formattext {&…...

YOLOv5结合BiFPN,如何替换YOLOv5的Neck实现更强的检测能力?
一、BiFPN是什么? 1、什么是BiFPN BiFPN是一种基于特征金字塔网络(FPN)和双向特征金字塔网络(BiFPN)的对象检测神经网络结构,它被用于提高目标检测的准确度和速度。在目标检测领域,FPN用于将不同…...

3.PyTorch——常用神经网络层
import numpy as np import pandas as pd import torch as t from PIL import Image from torchvision.transforms import ToTensor, ToPILImaget.__version__2.1.13.1 图像相关层 图像相关层主要包括卷积层(Conv)、池化层(Pool)…...

状态机的练习:按键控制led灯
设计思路: 三个按键控制led输出。 三个按键经过滤波(消抖),产生三个按键标志信号。 三个led数据的产生模块(流水,跑马,闪烁模块),分别产生led信号。 这六路信号(三路按键信号&am…...
看图学源码之 CopyOnWriteArraySet源码分析
基本介绍 使用内部CopyOnWriteArrayList进行所有操作的Set 特点 它最适合以下应用程序:集合大小通常较小、只读操作的数量远远多于可变操作,并且您需要在遍历期间防止线程之间的干扰。它是线程安全的。突变操作( add 、 set 、 remove等&…...
almaLinux centos8 下载ffmpeg离线安装包、离线安装
脚本 # 添加RPMfusion仓库 sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm wget -ymkdir -p /root/ffmpeg cd /root/ffmpegwget http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.14-2.el7.x86_64.rpmyum instal…...
CSS3 属性: transition过渡 与 transform动画
CSS3 提供了很多强大的功能,使开发人员可以创建更加吸引人的视觉效果,而不需要依赖于 JavaScript 或 Flash。其中,transition 和 transform 是两个常用的属性,它们分别用于创建平滑的过渡效果和元素的变形效果。下面我们将详细介绍…...

TCP通讯
第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式,也有着优点和缺点 …...

(NeRF学习)3D Gaussian Splatting Instant-NGP
学习参考: 3D Gaussian Splatting入门指南【五分钟学会渲染自己的NeRF模型,有手就行!】 三维重建instant-ngp环境部署与colmap、ffmpeg的脚本参数使用 一、3D Gaussian Splatting (一)3D Gaussian Splatting环境配置…...

uni-app 微信小程序之好看的ui登录页面(三)
文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…...
Android 默认打开应用的权限
有项目需要客户要安装第三方软件,但是要手动点击打开权限,就想不动手就打开。 //安装第三方软件,修改方式 frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java //找到如下源码: //有三种方…...

2023年广东工业大学腾讯杯新生程序设计竞赛
E.不知道叫什么名字 题意:找一段连续的区间,使得区间和为0且区间长度最大,输出区间长度。 思路:考虑前缀和,然后使用map去记录每个前缀和第一次出现的位置,然后对数组进行扫描即可。原理:若 s …...
FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码
学习FFmpeg的时候,经常要到GitHub下载各种开源代码,比如FFmpeg的源码页面位于https://github.com/FFmpeg/FFmpeg。然而国内访问GitHub很不稳定,经常打不开该网站,比如在命令行执行下面的ping命令。 ping github.com 上面的ping结…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Monorepo架构: Nx Cloud 扩展能力与缓存加速
借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...