公司动态
个人笔记 - 拼图小游戏
如何提出一个好问题How-To-Ask-Questions-The-Smart-Way/README-zh_CN.md at main · ryanhanwu/How-To-Ask-Questions-The-Smart-Way · GitHub1. 雷达五分钟了解激光雷达基本参数 | 激光雷达学习笔记1_激光雷达参数-CSDN博客LiDAR传感器五-参数 - 哔哩哔哩激光雷达线束数什么是线束激光雷达的线数是越多越好吗线束是激光雷达发射的激光光束的垂直通道数量越多越清晰。但相应的数据量大散热差功耗大。自动驾驶出租车一般使用128/256线家用车辅助驾驶96/128线/半固态(禾赛AT128);低速清扫车16/32。“等效”线数其实就是用少量激光器通过高速二维扫描来实现类似高线数的扫描效果实际上内部并没有那么多根“线”。看激光雷达好不好除了看线数更要看“垂直角分辨率”。比如一个128线雷达如果角分辨率是0.2°未必比一个64线但角分辨率是0.1°的雷达看得更清楚。“均匀分布”比“单纯堆料”更重要。常用名词激光雷达LiDARLight Detection and Ranging 的缩写即光检测和测距。通过发射激光束并接收反射光来测量距离构建周围环境的三维模型。激光Laser激光雷达的发射光源具有高方向性、高单色性和高亮度等特点用于测量距离。光斑Spot激光束在目标物体表面的照射区域。光斑的大小和形状会影响激光雷达的测量精度。反射率Reflectivity物体反射激光光束的能力相对于入射光的强度的比例值通常以百分比表示。反射强度Intensity激光脉冲经目标表面反射并被激光器接收到的回波能量。TOFTime of Flight飞行时间通过测量激光脉冲从发射到返回的时间来计算距离。超声波测距就是最早使用 TOF 原理的应用。FMCWFrequency Modulated Continuous Wave调频连续波通过比较发射和接收信号的频率差来测量距离。应用 FMCW 原理的 LiDAR 被称为“调频连续波激光雷达”该技术可以实现更高的探测灵敏度和精度。HDLHigh Definition Lidar 高分辨率激光雷达。ROIRegion of Interest 直译为“感兴趣区域”又译为“精准感知区域”指在图像或数据中需要重点关注的部分。在图像处理中我们常常需要设置 ROI 来专注或者简化工作过程。FoVField of View视场角表示传感器覆盖的角度范围以度为单位。通常LiDAR 传感器的性能是在水平和垂直视场中测量的。所以 LiDAR 的主要参数包括垂直视场角Vertical FOV 和水平视场角Horizontal FOV。笛卡尔坐标Cartesian Coordinate用于描述点云数据的坐标系统以 X、Y、Z 轴表示。球坐标Spherical Coordinate另一种坐标系统以距离、方位角和俯仰角表示点的位置。方位角Azimuth指激光束在水平面上的旋转角度α通常以正北方向为参考范围为 0° 到 360°。它用于确定激光束在水平方向上的位置。俯仰角Elevation指激光束在垂直面上的倾斜角度ε范围通常为 -90° 到 90°。它用于确定激光束在垂直方向上的位置。RAERange-Azimuth-Elevation即“距离-方位角-俯仰角”模型这是激光雷达常用的测量模型。角度分辨率是指激光雷达能够区分两个相邻目标的最小角度差取决于激光雷达的波束宽度。影响角度分辨率的因素包括天线孔径大小孔径越大波束越窄角度分辨率越高。工作频率频率越高波长越短波束宽度越窄角度分辨率越高。信号处理能力高性能的信号处理算法可以提高角度分辨率。DBSDDigital Beam Steering Device数字波束转向设备一种利用数字信号处理技术来精确控制光束方向的装置广泛应用于光学通信、激光雷达、光学显示等领域。可提高扫描范围和分辨率同时优化成本与外形。机械式激光雷达通过机械旋转部件电机实现扫描的激光雷达具有较高的精度和稳定性。固态激光雷达无机械旋转部件的激光雷达体积小、可靠性高。典型技术路线包括光相控阵Optical Phased Array和 Flash 面阵。MEMS 激光雷达采用微机电系统MEMS技术实现扫描的激光雷达例如基于 MEMS 微振镜实现的激光雷达也称为“混合固态”或“半固态”激光雷达。单线激光雷达激光源发出的线束是单线的雷达。内部只包含一个发射-接收单元通常更为紧凑、轻便成本更低常用于扫地机器人、送餐机器人。多线激光雷达由多个发射器和接收器组成通过电机的旋转获得多条线束例如 32 线、64 线、128 线等。可以同时扫描多个方向从而实现对目标物体更为精细的探测和识别主要应用于无人驾驶领域。人眼安全是指激光雷达在工作时其发射的激光不会对人眼造成伤害。激光雷达的人眼安全标准主要基于国际电工委员会IEC发布的 IEC 60825-1 标准该标准将激光安全划分为 7 个等级数字越小安全性越高。汽车和机器人中使用的激光雷达通常能达到 Class 1 最高安全等级。激光波长激光雷达的激光波长是其核心参数之一影响其性能、成本和安全性。目前市场上常见的激光雷达波长主要有 905nm 和 1550nm它们各有优缺点适用于不同的应用场景。905nm 激光雷达广泛应用于中短距离的场景如机器人导航、室内环境监测等。1550nm 激光雷达更适合自动驾驶、复杂环境监测等对探测距离和安全性要求较高的场景。激光回波Laser Beam Return / Laser Echo是激光发射脉冲与目标物相互作用后会产生一个回波信号而部分激光脉冲会继续前进与光程中的其他目标物体作用产生更多的回波信号这些回波信号即激光回波。回波强度Return Intensity是指激光脉冲经目标表面反射并被激光器接收到的回波能量又称为后向散射强度或能量。多回波Multi-Return是指一束激光在传播过程中因遇到多个反射面或介质而产生多个返回信号的现象常用于激光雷达中以获取更丰富的环境信息。点云Point Cloud由大量离散点组成的集合包含三维坐标X、Y、Z以及反射强度等信息。原始点云经过预处理后通常以标准的二进制文件交换格式LAS 或者 PCD 文件存储每个点除了包含 X、Y、Z 坐标信息还包括点分类编号、回波强度值、回波编号、回波数目、扫描角度和颜色RGB等信息。点云密度Point Cloud Density单位面积上点的个数。它是描述激光雷达数据的一个重要指标单位为点/米²point/m²。影响点云密度的因素包括激光发射频率、角度分辨率、激光器-目标之间距离、入射角、目标材质及其表面反射率等。点云特征Point Cloud Feature点云数据中能够真实反映地物表面及边缘处特征的点、线、面等几何特征是进行地物分类、识别和建模的重要参考。从尺度上点云特征可分为局部特征描述和全局特征描述。局部特征如法线、曲率等几何形状特征全局特征如点的拓扑特征都属于点云特征的描述和提取范畴。从统计特征上点云特征表现为点云密度局部范围如网格化后内点云高程的均值、方差不同地物表面点云的强度信息等。点云滤波Point Cloud Filtering通过自动或人机交互方式从点云数据中分离出地面点和非地面点的技术。一般认为点云滤波是点云分类的预处理过程高精度的点云滤波是基于点云进行数字高程模型Digital Elevation Model简称 DEM生产的一道重要工序。点云分类Point Cloud Classification从点云中分离出一个或多个地物类别的点并对其进行类别标记的技术。根据分类前是否需要采样训练可以分为监督分类supervised classification和无监督分类unsupervised classification。点云分割Point Cloud Segmentation是依据一定的相似性原则将同类点聚集的技术。点云拟合Point Cloud Fitting是由离散的三维点坐标计算特征模型参数的技术。点云简化Point Cloud Simplification又称“基于点云的表面简化”。点云精化Point Cloud Refinement是提高点云数据质量或视觉效果的处理技术常用于利用点云生成三维模型或者对点云进行可视化渲染。点云去噪Point Cloud Denoising是降低和去除测量过程的点云数据表面噪声与离群点的技术。点云配准Point Cloud Registration是将两个或更多坐标系中的大容量三维空间数据点集转换到统一坐标系统中的数学计算过程其关键是同名特征的获取和坐标转换参数的稳健计算。脉冲测量Pulse Measurement是通过测量发射和接收激光脉冲的时间差确定传感器和目标之间距离的方法。激光扫描Laser Scanning是主动、快速测量空间坐标的技术。离散回波激光雷达Discrete Return LiDAR是指记录有限次回波信号的激光雷达系统通常记录首次回波、中间回波、末次回波。全波形激光雷达Full Waveform LiDAR是指按照回波返回时间序列能够以很小采样间隔对激光回波信号进行连续数字化记录的激光雷达系统可详细记录光斑范围内所有探测目标的垂直结构信息。波形分解Waveform Decomposition是通过特定算法对激光雷达波形进行处理从中分离出光斑内各目标地物的回波信号以提取其空间信息的过程。波形特征提取Waveform Feature Extraction是指激光雷达系统能够记录发射脉冲的能量分布波形和目标散射返回的能量分布波形利用波形采样点的能量分布计算各种反映信号能量分布特征的度量参数然后利用这些参数来提取相应的地物特征。半波能量高度Height of Median Energy, HOME是一种用于描述全波形激光雷达数据的特征参数指波形能量一半所对应的高度位置到地面波峰位置的距离取决于波形能量一半的高度和地面波峰的确定。激光雷达百分位高度LiDAR Height Percentile是激光雷达估算植被结构参数常用的变量与植被高度及生物量密切相关。激光截获指数Laser Interception Index, LII是指植被冠层回波数与总回波数的比值常用来反映植被的覆盖度。有序点云点云数据以规则的网格或矩阵形式排列通常由深度图还原而成点的顺序与图像的行列结构类似便于快速查找相邻点信息。无序点云点云中的点没有特定的顺序点的排列是随机的点的顺序可以随意交换而不影响点云的整体信息。深度图Depth Map一种图像其中每个像素值表示该像素对应物体与传感器之间的距离通常用于表示场景的深度信息可由激光雷达、立体视觉等技术生成。三维重建通过从多个视角获取的深度图或其他图像数据重建出场景的三维模型用于虚拟现实、增强现实和自动驾驶等领域。PCLPoint Cloud Library一个开源的、跨平台的库用于处理三维点云。PCDPoint Cloud Data点云数据的文件格式之一常用于 PCL 库。LAS点云数据的另一种标准二进制文件格式。PCAP一种文件格式用于存储网络数据包捕获信息常用于记录和分析激光雷达或传感器的原始数据流。VTKVisualization Toolkit一个开源的、跨平台的可视化工具包用于三维计算机图形学、图像处理和可视化。LidarView由 Kitware 开发的开源软件用于实时接收、记录、可视化和处理 3D 激光雷达数据基于 ParaView 和 VTK 技术。支持 Velodyne、Ouster、Opsys 等多种激光雷达传感器。CloudCompare一款开源的三维点云和网格处理软件支持点云可视化、过滤、配准、分割等操作适用于大规模点云数据处理。ROSRobot Operating System一个开源的机器人软件框架提供硬件抽象、通信机制和工具链用于简化机器人应用程序的开发。Foxglove Studio一个开源的、跨平台的机器人数据可视化和调试工具支持实时监控和分析机器人系统的传感器数据、控制指令和状态信息。SLAMSimultaneous Localization and Mapping即同时定位与地图构建是机器人和无人驾驶领域的核心技术之一通过传感器数据实时估计机器人或无人系统的位姿并构建环境地图。OpenGLOpen Graphics Library一个跨语言、跨平台的应用程序编程接口API用于渲染二维和三维矢量图形。OpenCVOpen Source Computer Vision Library一个开源的计算机视觉库包含数百种计算机视觉算法支持图像处理、视频分析、对象检测等功能。Eigen一个高效的 C 模板库用于线性代数、矩阵和向量运算广泛应用于科学计算。FLANNFast Library for Approximate Nearest Neighbors一个用于快速近似最近邻搜索的库支持多种数据类型和距离度量广泛应用于计算机视觉和机器学习。高反指高反射率物体对激光雷达信号的强烈反射。高反射率物体如金属表面、玻璃等会导致激光雷达接收到的回波信号过强可能影响测量精度或导致误判。串扰指激光雷达系统中不同激光发射通道或接收通道之间的相互干扰。这种干扰可能会影响测量数据的准确性和可靠性尤其是在多线激光雷达或多传感器系统中。拖尾指激光雷达接收到的回波信号在时间上出现延迟或扩散的现象。这种现象可能由目标物体的表面特性或激光雷达自身的光学系统不完善导致会影响点云数据的质量。鬼影指在激光雷达点云数据中出现的虚假反射点或异常信号。这些信号并非来自实际目标物体而是由于光学系统中的反射、折射或散射等现象引起的。APD雪崩光电二极管一种高灵敏度的光电探测器用于激光雷达中接收反射光信号。APD 具有高增益和快速响应的特点能够提高激光雷达的探测灵敏度。SPAD单光子雪崩二极管一种能够检测单个光子的高灵敏度光电探测器适用于低光强环境下的激光雷达系统。SiPM硅光电倍增管一种基于硅材料的高灵敏度光电探测器结合了 APD 和 SPAD 的优点具有高增益和低噪声的特点适用于激光雷达的高精度探测。测远能力指激光雷达对低反射率目标物通常为 10% 反射率的最远探测距离。最近测量距离指激光雷达能够输出可靠探测数据的最近距离在这个距离以内的区域则称为“盲区”。精度指测量结果中随机误差大小的程度反映测量结果的离散程度。精度越高表示测量值越集中误差越小。准度指测量值或预测值与实际值之间的接近程度反映测量结果的正确性。准度越高表示测量值越接近真实值。精度反映的是测量值的重复性和一致性而准度反映的是测量值的准确性。两者都是衡量激光雷达性能的重要指标。2. 模型Agent会感知、会思考、会行动的智能体。Agent 大模型大脑 记忆系统记忆 工具手脚 反馈循环学习CrewAI龙虾等就属于Agent。Model libraryhttps://github.com/CVHub520/X-AnyLabeling/blob/main/docs/en/model_zoo.md害想知道当前的主流模型进度最好的方法就是捡现成的 :D板端部署【YOLOv8部署至RK3588】模型训练→转换RKNN→开发板部署_yolov8转rknn-CSDN博客开发板RK来自中国芯片公司瑞芯微Rockchip是目前国内消费电子和AIoT领域最常见的SoC品牌之一。X3M来自地平线Horizon Robotics这是一家专注于AI芯片的公司它的芯片型号以“X3”打头后面跟着的“M”、“E”等字母代表这个系列里的不同配置版本。瑞芯微不自己进行开发他们只卖芯片。一些下游模组厂拿到芯片后将芯片设计成核心板SOM(把RK3588芯片、内存LPDDR4/5、存储eMMC等焊在一张小板上做成一个巴掌大的“计算核心”)或开发板(在核心板基础上再加上各种接口USB、HDMI、网口、GPIO引脚等做成一块完整的、拿到手就能通电玩起来的板子)。大部分的下游厂商是直接做成了开发板。使用的话选现成生态的开发板比较省力。SOC瑞芯微RK3588 SoC是瑞芯微出厂的RK3588开发板SOC是System on Chip的缩写中文叫“片上系统”。传统的电脑主板上有分开的 CPU处理器、GPU显卡芯片、内存芯片、声卡芯片、网卡芯片。而SoC 就是把所有这些核心部件的功能全部“塞进”一颗指甲盖大小的芯片里。一块SOC中包含CPU中央处理器负责逻辑运算和系统调度相当于大脑的“决策层”。GPU图形处理器负责图像渲染和显示相当于“视觉皮层”。NPU神经网络处理单元专门负责AI人工智能推理计算相当于“直觉区”这是智能设备的关键。ISP图像信号处理器专门处理摄像头传回来的原始图像数据。以及内存控制器、视频编解码器、各种接口控制器USB/PCIe/以太网等。训练激活函数一般都是使用Relu不使用Silu计算快耗能小虽然Silu精度更高但总体收益不大。这里的1x64x80x801x4x80x801x1x80x80可见图中详细描述。其中第一个的64没有介绍是64个不同的探测器每一个探测器每一层都只看一个特征比如某一层只学习边缘轮廓某一层只学习颜色某一层只学习纹理某一层只学习几何形状...一共有64个这样的层叠在一起就可以进行更复杂的组合和推理。至于为什么是64而不是102032因为硬件效率不够。大多数的NPU比如RK3588和GPU的内存访问单元宽度是固定的一次处理64位或128位。如果通道数是64刚好对齐硬件位宽没有浪费。如果通道数是1020硬件每次仍然要读64位浪费空间浪费资源。虽然不影响结果设成10也能正常跑就是又慢功耗又高。这个80*80是怎么得到的如果是640*640的图像步长是8特征图就是80*80大小对应大检测框。每次移动八个像素把这些内容合成一个新的像素最后拼起来变成一个80*80的。检测头尺寸为80小检测框语义弱需要辅助40中型空间信息和语义信息相对平衡20检测大目标并为80和40的检测头提供语义【通过FPN融合】。下采样倍数分别为81632。FPN语义下传20×20的高层语义 → 上采样 → 融合到40×40和80×80帮小目标头识别物体类别。细节上传80×80的浅层细节 → 下采样 → 融合到40×40和20×20帮大目标头精确定位边界。Netron不能加载bin文件。Netron需要同时知道网络结构和权重才能绘制。bin文件只有权重没有结构。推理框架如PyTorch/ONNX像是“菜谱食材包”里面既有菜的做法网络结构图也有处理好的材料权重。吃之前得先看菜谱按步骤来。板端的.bin文件像是“炒好的菜”。硬件NPU不需要知道这道菜是怎么做的、放了什么调料它只需要接收已经按特定顺序排列好的数字最终权重和参数然后直接进行计算。YOLOV8 - 模型结构分析data为14个类的onnx512x512的大小。data下的3为输入通道数RGB如果输入是灰度这里将会是1。Conv卷积Clip裁剪。交替出现是ReLU6激活函数的实现方式。W输出通道卷积核数量*输入通道*核高*核宽 B偏置第一层Conv16个3×3的卷积核去扫描RGB三通道的输入图像。每个核会提取一种特征比如边缘、颜色所以输出变成了16个通道。第二层Conv用32个3×3的卷积核对上一层输出的16个通道进行再处理。注意每个新核的深度变成了16为了匹配输入输出通道数则增加到32个。可以被更复杂的核捕捉到更抽象的模式比如拐角、纹理组合。通道数翻倍是模型在学习更复杂的特征。第三层Conv输入和输出通道数都是32但卷积核大小是1×1。这个层不提取空间信息不看周围的像素而是像一个“特征融合器”。它把32个通道在同一位置的值通过加权求和的方式混合起来生成一个新的32通道特征图。这种1×1卷积常用于调整通道数或增加非线性而计算量远小于3×3卷积。Clip(min0, max6)小于0的数变成0大于6的数变成6剩下保持不变。Clip后的结果被分成了三个部分。这样做的目的将后处理逻辑嵌入到模型计算图中。便于部署可以被NPU加速。第一部分负责预测边界框的回归参数通常是4个值中心点x偏移、中心点y偏移、宽度、高度。对应Slice后直接Concat的部分。YOLO的回归输出通常格式为(B, 4, H, W)也就是在通道维度的前4个位置。Slice操作就是把这4个通道切出来Concat操作则把不同尺度80×80, 40×40, 20×20的回归参数在维度上拼到一起方便统一处理。第二部分负责预测目标类别概率。它对应你提到的需要走Shape、Gather等操作的部分这是为了根据类别数量你的是14类动态地处理数据。Shape、Constant、Gather、Add、Div、Mul等是ONNX模型在导出时将动态的、与类别数相关的操作固化成静态计算图的结果。Shape Gather这两个操作组合通常是为了动态获取当前特征图的宽W和高H。因为不同的输入尺寸如你用的512×512会导致特征图的W和H不同模型需要实时知道这个值。Add, Div, Mul这些是归一化操作。模型输出的原始置信度和类别分数通常通过Sigmoid函数映射到0~1之间。但在ONNX里Sigmoid常被拆解成Add加一个偏置、Div除以一个常数、Mul乘以一个常数的组合。这里的“卷积和裁切”通常是1×1卷积加Clip就是对这部分数据进行最终的通道调整将其映射到类别数量14类的维度上。第三部分负责预测目标置信度即这个框里有没有物体。它通常也会被单独切分出来。对于第二部分由于类别数14是固定的其处理流程相对确定。而第三部分的关键在于Shape操作捕捉了特征图的动态尺寸H和WGather从中提取出具体数值再通过Add、Div、Mul等操作为特征图上的每一个网格点共H×W个计算出它对应的“偏移基准”。这个“偏移基准”就是每个网格点在原图上的实际坐标比如第一个网格点对应原图(0,0)第二个对应(8,0)等等。它存在的目的是为了与第一部分回归出的“相对偏移量”结合最终算出在原图上的绝对坐标。attributes属性dilations膨胀系数默认为1即标准卷积11是表示两个方向上都不膨胀均为标准卷积。group分组卷积数kernel_shape卷积核大小如 [1, 1]pads填充方式如 [1, 1, 1, 1]输出尺寸 (输入尺寸 - 核大小 2×填充) ÷ 步长 1[2, 2, 2, 2]若步长为1且核大小为3上下左右各补2圈0。输出尺寸 输入尺寸 2(输入尺寸 - 3 2×2) ÷ 1 1 (输入尺寸 1) 1 输入尺寸 2strides步长如 [1, 1]卷积核每次移动1个像素模型训练各步骤意义为什么数据输入必须是512*512,640*640这种为什么不能是其它大小的图像模型的head、backbone、neck的作用是什么1. backbone特征提取器从原始图像中提取语义特征由一系列卷积层Conv、激活函数和池化层堆叠而成。浅层卷积提取边缘、颜色等细节深层卷积提取物体形状、部件等高级语义。这就像人类看一幅画先看到线条和色块再看到物体和场景。为什么不能只用全连接层FC全连接层参数量巨大会丢失图像的空间位置信息且无法处理不同尺寸的输入。为什么要有“深度”更深的网络更多的层能学习更复杂的特征但也会带来梯度消失和计算量大的问题。残差连接ResNet和C2f模块YOLOv8中的就是为了解决深层网络训练困难而设计的。2. neck特征融合器解决目标检测中的尺度问题图像中物体大小不一。它把骨干网络不同层不同分辨率的特征图融合起来让每一层都既包含细节信息位置又包含语义信息类别。YOLO采用的特征金字塔网络FPN结构通过上采样Upsample让深层的大感受野特征与浅层的细节特征结合。这就像让一个团队协作有人看得远语义有人看得细位置Neck让它们互相分享信息。为什么不能只用最后一层特征高层特征图分辨率低对小物体感知差低层特征语义不足容易误检。融合是必需的。为什么用上采样Upsample为了把不同尺寸的特征图统一到相同尺寸进行融合最常见的做法是放大较小的特征图如使用“nearest”插值。3. head任务执行决定了模型是用于检测、分类还是分割检测头Detect Head作用预测物体的边界框BBox和类别Class。原理在特征图的每个位置或预定义的锚点上预测一组向量(tx, ty, tw, th, cls)分别代表框的中心偏移、宽高和类别概率。为什么输出是reg和cls因为这是两个不同的任务回归预测框的位置和分类预测框内是什么。将它们分开处理可以让网络各自学习最优的表示。分割头Segment Head作用预测每个物体的像素级掩码Mask。原理除了检测头预测的框和类分割头还会为每个候选框生成一组掩码系数mc1, mc2, ...然后与一个共享的掩码原型seg进行线性组合最终得到精确的二进制掩码。这是YOLO系列实现实例分割的高效方式YOLACT思想。为什么头部分为“几层”如P3/P4/P5每个头负责处理不同尺度的物体。大物体如汽车在低分辨率、大感受野的特征图上预测P5小物体如行人在高分辨率特征图上预测P3。这就是head_num和不同输出头reg1, reg2...的含义。为什么要输出多个头因为不同尺度的物体需要不同分辨率的特征图来检测一个头无法兼顾所有尺度。为什么需要模型量化作用模型压缩将模型权重和激活值从高精度如FP32转换为低精度如INT8。原理记录FP32数值的范围然后将这个范围线性映射到INT8的256个整数点上。推理时用整数运算替代浮点数运算。设计意义极速INT8计算在CPU和专用硬件如NPU、DSP上比FP32快得多。小巧模型文件大小缩减为原来的1/4。低功耗整数运算更省电对边缘设备如机器人的BPU至关重要。“为什么不能不做量化”可以但模型会更大、更慢、更耗电。对于部署在机器人、手机等资源受限设备上的模型量化几乎是必须的步骤。代价精度会有轻微损失通常1%但经过校准Calibration后对最终任务影响很小。量化的图片通常被称为“校准数据集”本质上是一个“数据映射”过程。它需要通过少量有代表性的图片来统计模型各层激活值Activation的分布范围从而计算出将高精度FP32数据映射到低精度INT8空间的最佳比例因子Scale和零点Zero Point什么是混合精度量化混合精度量化是一种模型优化技术它的核心思想是在将模型从高精度如FP32转换为低精度如INT8时允许模型的不同部分使用不同的数值精度。简而言之就是“对敏感部分用高精度对非敏感部分用低精度”。这个理论基础是建立在“神经网络的不同层对量化误差的敏感度是不同的”的基础上的。敏感层通常是网络的头部Head特别是检测头BBox回归和分割头Mask生成。这些层需要非常精细的数值来计算精确的边界框坐标或像素级掩码对量化噪声极其敏感。强行将它们压到INT8很容易导致预测结果发生明显偏移置信度塌缩。非敏感层通常是网络的骨干Backbone和颈部Neck。这些层负责提取语义特征对微小的数值扰动容忍度相对较高使用INT8计算可以在精度损失很小的情况下获得大幅加速。混合精度量化正是基于这一观察采用差异化的策略计算密集型且对精度不敏感的部分如大部分卷积→使用INT8以获得最快的速度。对精度敏感的关键部分如检测头→保留FP16甚至FP32以守住精度底线。混合精度量化会略微增加推理耗时但换来了精度的大幅提升。