• CV面试知识点总结


    一.Batch Normalization(批归一化,简称BatchNorm)

    1.缓解梯度消失

    在神经网络中Batch Norm在线性层的后面,激活函数层的前面。
    它把线性层的输出变成了以0为中心,标准差为1的分布,进入sigmoid激活函数的非饱和区。
    激活函数如sigmoid和双曲正切激活函数,在0附近是非饱和区, 如果输出太大或者太小,则会进入激活函数的饱和区(饱和区意味着梯度消失,难以训练)
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述
    如上,就算没有把区间压到0附近,也会往中间靠

    在这里插入图片描述

    batch norm前,某一层的输出
    在这里插入图片描述
    batch norm后,某一层的输出
    在这里插入图片描述
    都在0附近,在sigmoid的非饱和区。大大减少梯度消失的问题。

    Batch norm可以与优化器配合使用,因为它可以将参数的量级进行统一

    允许模型使用更大的学习率,加快训练速度

    在这里插入图片描述
    Batch Normalization(Batch norm)可以加快收敛主要因为它有以下优点:

    如图线性层的输出大于5时,就将要进入梯度函数的饱和区(梯度接近0),造成梯度消失(反向传播的时候是要用到激活函数的梯度的)。
    在采用了Batch Normalization之后,线性层的输出始终被压缩到0附近,因此可以容忍更高的学习率,使得梯度下降的幅度更大,从而加快训练速度。
    
    • 1
    • 2

    让模型对初始化参数不敏感

    可以充当正则化的作用

    在这里插入图片描述

    batch norm的方法和流程

    在这里插入图片描述

    batch norm的好处总结

    在这里插入图片描述

    补充:batch norm 和 dropout不能同时使用

    同时使用时性能降低

    二.手撕IOU

    在这里插入图片描述

    一.卷积操作和图像处理中的中值滤波操作有什么区别?

    1.1卷积操作

    卷积操作是一种线性操作,通常用于特征的提取,通过卷积核的加权求和来得到新的像素值。
    
    • 1

    1.2中值滤波

    在这里插入图片描述
    原文:
    https://blog.csdn.net/weixin_51571728/article/details/121545254

    欧式距离和余弦距离的区别

    余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比欧氏距离,余弦距离更加注重两个向量在方向上的差异。

    yolov5模型s,l,m,x的区别

    yolov5s

    是什么?yolov5系列最小的模型,s是small。
    适合什么情况下使用?适合在计算资源有限的设备上使用。如移动设备或边缘设备。
    速度和准确率:速度最快,准确率最低
    输入分辨率:通常为640x640

    # Parameters
    nc: 80  # number of classes
    depth_multiple: 0.33  # 控制模型的深度
    width_multiple: 0.50  # layer channel multiple
    anchors:
      - [10,13, 16,30, 33,23]  # P3/8
      - [30,61, 62,45, 59,119]  # P4/16
      - [116,90, 156,198, 373,326]  # P5/32
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    yolov5m

    是什么?yolov5系列中等的模型,m是medium。
    适合什么情况下使用?适合有一定计算能力的设备。
    速度和准确率:速度,准确率

    yolov5l

    是什么?yolov5系列较大的模型,l是large。
    适合什么情况下使用?适合较强计算能力的设备。
    速度和准确率:速度,准确率较高
    输入分辨率:通常为896x896

    之前用Yolonas的large版,3050显卡的设备连接网络摄像头进行检测,很卡。摄像头上面的时间,两秒左右才跳一下。所以该模型适合3050以上的显卡。

    yolov5 l的yaml文件

    # Parameters
    nc: 80  # number of classes
    depth_multiple: 1.0  # model depth multiple
    width_multiple: 1.0  # layer channel multiple
    anchors:
      - [10,13, 16,30, 33,23]  # P3/8
      - [30,61, 62,45, 59,119]  # P4/16
      - [116,90, 156,198, 373,326]  # P5/32
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    yolov5x

    是什么?这是 YOLOv5 系列中最大的模型。“x” 代表 “extra large”(超大)。
    适合什么情况下使用?适用于需要极高准确度的任务,且具有强大计算能力(如 GPU)的设备。
    速度和准确率:速度最慢,准确率最高

    YOLOv5n

    YOLOv5n:这是 YOLOv5 系列中的一个变体,专为 Nano 设备(如 NVIDIA Jetson Nano)进行优化。YOLOv5n 在保持较快速度的同时,提供适用于边缘设备的准确度。

  • 相关阅读:
    python3:random()返回随机实数 2023-11-17
    通过条件竞争实现内核提权
    12 岁印度少年出手,Ubuntu Unity 桌面 6 年后起死回生
    内存池简单案例
    一氧化碳单位换算 以及环保最低排放
    开源3D激光(视觉)SLAM算法汇总(持续更新)
    OpenKruise原理介绍和安装
    挑战字节软件测试岗,原来这么轻松...
    二、T100固定资产之固定资产数据建立篇
    LuatOS-SOC接口文档(air780E)--iotauth - IoT鉴权库, 用于生成各种云平台的参数
  • 原文地址:https://blog.csdn.net/qq_42864343/article/details/132695187