markdown笔记(没找到合适笔记软件,暂存)

机器学习基础概念

回归算法,就是让机器在多维空间中,找到一个连续的数学函数 f(x)f(x)f(x),使得输入 xxx 经过映射后,输出的 yyy 能够无限逼近真实的世界数值。

在训练阶段,模型首先通过前向传播计算预测输出,并评估与真实标签之间的损失 (Loss);随后,利用反向传播算法计算网络各层参数的梯度;最后,由优化器 (如 Adam 或 SGD) 根据梯度信息对网络权重进行参数更新,以此实现模型的不断迭代与收敛。

两阶段检测器

第一阶段:找候选区域

第二阶段:判断类别 + 修正框
先生成一批候选框,再对候选框进行分类和回归。

R-CNN

输入图像

→ Selective Search 生成约 2000 个候选区域 RoI

→ 把每个 RoI(Region of Interest,候选区域) 裁剪/拉伸成固定大小

→ 每个 RoI 单独送入 CNN 提特征

→ SVM 分类

→ bbox regression 修正框

Fast R-CNN:先整图卷积,再裁 RoI

输入图像

→ 整张图过 CNN,得到 feature map

→ 把 proposals(selective search来找) 映射到 feature map 上

→ 对每个 RoI 做 RoI Pooling(把不同大小的 RoI 特征变成固定大小)

→ 分类 + bbox regression

Faster R-CNN:让 CNN 自己生成 proposals

输入图像

→ backbone CNN 提取 feature map

→ RPN(Region Proposal Network,区域候选网络) 在 feature map 上生成 proposals

→ RoI Pooling / RoI Align(RoI Align 额外解决 RoI Pooling 的量化错位 问题,彻底打通了特征图与原图之间的像素级精确映射,产生了Mask R-CNN)

→ 分类 + bbox regression

→ 最终检测结果

单阶段检测器

在特征图上密集预测 bbox + confidence + class,没有单独的 proposal 阶段。

单阶段检测器不是完全没有候选框,而是没有 Faster R-CNN 那种"先 RPN 生成 proposal,再 RoI Head 二次处理"的独立阶段。它直接在 feature map 上密集预测框、类别和置信度。
直接预测最终候选框、类别、置信度

YOLO:快

整张图一次前向传播,就直接输出检测结果。

SSD:适配不同尺度目标

SSD(Single Shot MultiBox Detector,单阶段检测器)

在多个尺度的 feature map 上直接预测目标

为什么要多个尺度?

因为:

浅层 feature map 分辨率高,适合小目标

深层 feature map 语义强,适合大目标

SSD 会在不同 feature map 上放 default boxes,也就是类似 anchor 的预设框,然后直接分类和回归。

SSD = 多尺度特征图 + default boxes + 单次预测。

RetinaNet:解决正负样本极度不平衡

RetinaNet 的关键是:Focal Loss

Focal Loss 的作用:降低简单负样本的权重,提高困难样本的学习权重

后处理与评价

NMS(Non-Maximum Suppression,非极大值抑制)

保留最可信的框,删除重复框。

框可能都围着同一只狗,只是位置略有不同。

问题是:

同一个目标被重复检测了很多次。

所以需要后处理,把重复框删掉。

这就是 NMS。

  1. 按 score 从高到低排序
  2. 取分数最高的框作为保留框
  3. 删除和它 IoU 过高的其他框
  4. 对剩余框重复以上过程

评价指标

假设真实图像里有 3 只狗,模型预测了 4 个框。

其中:

2 个框正确检测到狗

1 个框框到了背景,却说是狗

1 只真实狗没有被检测出来

那么:

TP = True Positive = 检测正确的目标

FP = False Positive = 误检,把背景或错误目标当成目标

FN = False Negative = 漏检,真实目标没检测出来

相关推荐
夕除8 小时前
Redis 过期策略
redis·笔记·面试
Nuanyt10 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
叼烟扛炮11 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮11 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
songyuc12 小时前
【Manskill3】TableSceneBuilder学习笔记
pytorch·笔记·学习
゛凌乱的记忆づ14 小时前
好用的md文件编辑器——TyporaS与Typora
笔记·git·typora·markdown
zroooo14 小时前
计算机学习-知识庞大而繁杂
笔记·学习
坤坤子吖15 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
Zhao-Jichao16 小时前
AI Prompting for Everyone 课程笔记 - 05 使用深度搜索 Using Deep Research
人工智能·笔记
云析赢指标公式网417 小时前
指标开发笔记|主图搭配双副图成套指标逻辑拆解
人工智能·笔记