当前位置: 首页 > article >正文

视觉相关问题总结

问题总结

  • Python、C/C++ 相关问题
  • 模型训练相关问题
    • 目标检测类
      • 1 一阶段 二阶段检测网络的区别?以及为什么两阶段比一阶段精度高?
      • 2 Focal Loss
      • 3 如何在模型训练的时候判断是否过拟合,及模型过拟合问题如何解决?
      • 4 Yolo个版本
      • 5 为什么 CIoU Loss 比 IoU Loss 效果好
      • 6 RoI Pooling、RoI Align
      • 7

Python、C/C++ 相关问题

模型训练相关问题

目标检测类

1 一阶段 二阶段检测网络的区别?以及为什么两阶段比一阶段精度高?

两者的核心区别在于:是否有候选区域生成(Region Proposal)

  • 两阶段检测(Faster R-CNN) 先用一个区域提议网络(RPN) 生成候选框,再对这些候选框进行分类和边界框回归。这个过程类似于“先找可能的目标区域,再细化判断”。
  • 一阶段检测(YOLO) 直接在整张图像上进行密集预测,它将图像划分为网格,每个网格直接预测多个边界框及其类别。这种方法省略了 RPN,计算更快,但预测结果更粗糙。

两阶段检测因为有 RPN,能提供更精准的候选区域,使分类任务更简单,边界框更精准,所以精度较高。而 YOLO 牺牲了一部分精度,换取了更高的检测速度。
R-CNN原理
R-CNN原理及框架
Yolo详解

2 Focal Loss

Focal Loss 是 RetinaNet 论文提出的一种改进的交叉熵损失,主要用于解决目标检测任务中的类别不平衡问题,尤其是 正负样本比例严重失衡 时的情况。

在常规的交叉熵损失中,模型对所有样本的关注程度相同,容易受到大量易分类的负样本(如背景)的影响,导致难分类的正样本(如小目标、遮挡目标)学习效果不好。而 Focal Loss 通过引入一个调节因子 (1−p) ^γ,动态调整损失,使得:

  1. 对易分类的样本(( p ) 大)降低权重,减少它们的影响,避免模型过度关注简单负样本。
  2. 对难分类的样本(( p ) 小)提升权重,让模型更多关注这些样本,提高学习效果。
  3. 通过α因子进一步平衡正负样本的影响,使得正样本不会被负样本淹没。

最终,这种方法在保证高效训练的同时,减少了类别不平衡带来的影响,提升了检测任务中的召回率(recall),尤其是在目标小、数量少的情况下,效果更为明显。

3 如何在模型训练的时候判断是否过拟合,及模型过拟合问题如何解决?

过拟合是指模型对于训练数据拟合呈过当的情况,反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。欠拟合指的是模型在训练和预测时表现都不好的情况。

降低“过拟合”风险的方法

  • 训练数据方面:使用更多的训练数据是解决过拟合 问题最有效的手段;数据增强, 增加数据多样性;
  • 降低模型复杂度;
  • 正则化方法;
  • 集成学习方法。集成学习是把多个模型集成在一起,来降低单一模型的 过拟合风险,如Bagging方法。
  • Early Stopping (提前终止训练)。

降低“欠拟合”风险的方法

  • 添加新特征。当特征不足或者现有特征与样本标签的相关性不强时,模 型容易出现欠拟合。
  • 增加模型复杂度;
  • 减小正则化系数
  • 选择合适的优化器和学习速率

4 Yolo个版本

YOLO各版本原理和优缺点解析

5 为什么 CIoU Loss 比 IoU Loss 效果好

CIoU Loss 是对 IoU Loss 的改进,它通过引入更多因素来提高评估精度。CIoU 不仅考虑了框之间的重叠度,还包括了:

  • 中心点距离:即预测框和真实框的中心之间的距离,CIoU 鼓励框的中心尽量接近。
  • 宽高比:如果预测框和真实框的宽高比不一致,CIoU 会给出惩罚,以减少因形状差异导致的误差。
  • 重叠度:与 IoU 相同,CIoU 依然考虑了重叠区域。

6 RoI Pooling、RoI Align

RoI Pooling 是目标检测中用于将不同大小的候选区域(RoIs)转换为固定大小的特征图的技术。它的基本过程是:对于每个 RoI,我们将其映射到特征图上,然后将 RoI 区域分割成多个子区域,使用最大池化(Max Pooling)对每个子区域进行池化,最后输出一个固定大小的特征图。RoI Pooling 的作用是解决 RoI 尺寸不一致的问题,同时通过池化操作减少计算量,保留关键的局部特征信息。

RoI Align 是对 RoI Pooling 的改进,它解决了 RoI Pooling 在映射 RoI 区域时出现的量化误差问题。在 RoI Pooling 中,浮动位置会被四舍五入到最近的整数像素位置,这可能会丢失一些空间信息。而 RoI Align 使用双线性插值来计算每个子区域的特征值,避免了这种量化误差,从而提高了空间信息的精度。RoI Align 的改进点在于,它能更精确地对齐 RoI 区域,保留更多的细节,提升目标检测模型的精度,尤其在精细化特征学习时表现更加优越。

RoI Pooling系列方法介绍

7


http://www.kler.cn/a/551544.html

相关文章:

  • 地表放置机场和飞机(十)
  • 深入内存调试:Valgrind工具的终极指南(转)
  • Oracle Rac 多路径链路不稳定引发IO降速-光弱
  • 关于使用雪花算法生成唯一ID,返回给前端ID不一致的问题
  • 内容中台重构企业内容管理流程驱动智能协作升级
  • 个人系统架构技术分享
  • 沃丰科技大模型标杆案例 | 索尼大模型智能营销机器人建设实践
  • 【笔记】LLM|Ubuntu22服务器极简本地部署DeepSeek+API使用方式
  • ubuntu下载和编译Android源码
  • SOME/IP--协议英文原文讲解6
  • UE5控件组件显示UMG文本不正常
  • 【Python项目】文件销毁工具文档
  • Pearson相关分析法
  • Qt的QTabWidget的使用
  • Mistral Saba:为中东和南亚量身打造的AI模型
  • DeepSeek横空出世,真的拯救了算力焦虑吗?
  • JavaScript数组-创建数组
  • V8 引擎的内存优化原理
  • Unity3D实现自动打包AB包
  • 【鸿蒙Next】鸿蒙应用发布前的准备