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 = 漏检,真实目标没检测出来

相关推荐
sakiko_12 小时前
Swift学习笔记42-SwiftUI的属性包装器(讲解+面试)
笔记·学习·ios·swiftui·swift
自小吃多13 小时前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
存在morning14 小时前
【Paimon 学习笔记 三】工作流程:Paimon 的批写、流写、批读与流读
笔记·学习
老当益壮梁奶奶15 小时前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
qq_252941316815 小时前
航拍羊群目标检测数据集 | 航拍羊群 智慧畜牧业 动物检测 无人机巡检5010期
人工智能·yolo·目标检测·计算机视觉·无人机·羊群识别·羊群
yyk3332416 小时前
OpenCV中运动目标检测
opencv·目标检测·目标跟踪
weixin_4660681117 小时前
《十分钟冥想》精读笔记(上):每天10分钟,给大脑做一次“系统减负”
笔记
凯尔萨厮17 小时前
Java学习笔记十(注解)
java·笔记·学习
一条破秋裤19 小时前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
存在morning19 小时前
【Paimon 学习笔记 二】存储架构:快照、manifest、LSM 树、bucket
笔记·学习·架构