
深度学习目标检测(YOLO)专栏
文章平均质量分 89
针对深度学习目标检测(YOLO系列化)从理论、改进、部署的文章
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
浩瀚之水_csdn
路漫漫其修远兮,吾将上下而求索,立刻行动,坚持,努立
展开
-
【YOLO】ONNX Opset 版本全解析
通过合理选择 Opset 版本,开发者可在 功能丰富性、性能优化 和 跨平台兼容性 之间找到最佳平衡原创 2025-05-21 20:58:00 · 225 阅读 · 0 评论 -
【算能】bm_image_alloc_contiguous_mem(_heap_mask) 和 bm_image_attach_contiguous_mem区别
在算能(Sophgo)的 BMCV 库中,bm_image_alloc_contiguous_mem、bm_image_alloc_contiguous_mem_heap_mask 和 bm_image_attach_contiguous_mem 均是用于管理 bm_image 内存的核心接口,但其功能、控制粒度和应用场景存在显著差异。原创 2025-05-21 14:46:50 · 2 阅读 · 0 评论 -
【YOLO】Softer-NMS 详解
Softer-NMS是目标检测中非极大值抑制(NMS)的改进算法,由卡内基梅隆大学与旷视科技联合提出。该算法通过高斯分布建模和置信度加权平均,解决了传统NMS中分类置信度与定位置信度不匹配的问题,显著提升了定位精度。Softer-NMS的核心思想是利用KL散度优化预测框的分布,使其更接近真实框的分布,并通过加权平均提升最终框的定位精度。原创 2025-05-20 17:26:48 · 207 阅读 · 0 评论 -
【Pytorch】model.forward输入类型解析
在libtorch中,model.forward的输入数据类型通常应使用std::vector<torch::jit::IValue>,因为IValue能够封装Tensor、标量、列表、字典等多种数据类型,适用于多输入或复杂输入结构。原创 2025-05-20 13:37:04 · 9 阅读 · 0 评论 -
Soft NMS(非极大值抑制改进算法)详解
SoftNMS是对传统非极大值抑制(NMS)算法的改进,旨在解决密集目标检测中因固定IoU阈值导致的误删问题。传统NMS直接删除重叠框,而SoftNMS通过动态衰减重叠框的置信度,保留更多潜在的正确检测结果,从而提升检测精度。原创 2025-05-18 17:31:05 · 115 阅读 · 0 评论 -
深度学习中的特征图详解
特征图(FeatureMap)是卷积神经网络(CNN)中的核心组成部分,记录了输入数据在不同层次上的特征提取结果。它通过卷积核的滑动计算生成,每个特征图对应一个卷积核,反映了输入局部区域与该卷积核模式的匹配程度。特征图的生成过程包括卷积操作、激活函数、填充和步长控制,逐步从浅层提取低级特征(如边缘、纹理)到深层组合高级语义(如物体形状)。原创 2025-05-18 17:22:04 · 43 阅读 · 0 评论 -
NMS(非极大值抑制)在NumPy、PyTorch和C++中的实现方法
非极大值抑制(NMS)是一种用于目标检测任务中过滤重叠框的算法。本文介绍了NMS在NumPy、PyTorch和C++中的实现方法。NumPy实现适合无GPU环境下的原型开发,代码简洁但效率较低。PyTorch实现支持GPU加速,适用于深度学习模型集成,且在多类别NMS中通过类别偏移避免跨类别抑制。C++实现包括依赖OpenCV的版本和无依赖的纯C++版本,分别适合嵌入式或高性能场景以及资源受限环境。选择实现方式时需考虑适用场景、性能和依赖等因素,同时注意IoU阈值的选择和多类别处理。原创 2022-05-12 15:28:26 · 858 阅读 · 0 评论 -
【YOLO】标准NMS(Non-Maximum Suppression)详解
非极大值抑制(NMS) 是目标检测中用于消除冗余检测框的后处理算法,其核心目的是在多个重叠的候选框中保留对同一目标的最佳预测结果,同时剔除其他低质量的重复框。原创 2025-05-18 08:47:33 · 25 阅读 · 0 评论 -
【YOLO】深度学习中的置信度概念详解
在深度学习中,置信度(Confidence) 是模型对自身预测结果确定性程度的量化表达。与传统统计学中的置信区间不同,深度学习置信度直接关联模型输出的概率分布,是模型自我评估的“可信度标尺”。原创 2025-05-18 08:43:30 · 32 阅读 · 0 评论 -
【算能】BMCV枚举bm_image_data_format_ext详解
bm_image_data_format_ext 是算能(Sophgo)BMCV(BITMAIN Computer Vision Library) 中用于定义图像数据存储格式与数据类型的枚举类型,直接关联 TPU 硬件加速的图像处理逻辑。原创 2025-05-18 07:20:57 · 19 阅读 · 0 评论 -
【YOLO】NCHW与NHWC格式区别
在深度学习中,NCHW(Batch-Channel-Height-Width)和NHWC(Batch-Height-Width-Channel)是两种主要的数据排布格式,它们对模型的计算效率、内存占用和硬件适配性有显著影响。NCHW格式以通道优先,适合GPU上的并行计算,尤其在卷积运算中表现优异;而NHWC格式以空间优先,更适合CPU的缓存优化,减少内存访问延迟。不同深度学习框架对这两种格式的支持各异,如PyTorch和Caffe默认使用NCHW,TensorFlow则倾向于NHWC。原创 2025-05-17 11:10:19 · 99 阅读 · 0 评论 -
【算能】BMCV结构体bmcv_convert_to_attr详解
bmcv_convert_to_attr 是算能(Sophgo)BMCV(BITMAIN Computer Vision Library) 中用于配置图像格式转换参数的核心结构体。它定义了如何将输入的 bm_image(TPU 图像对象)转换为目标格式、数据类型和内存布局,是调用 bmcv_image_convert_to 等图像处理接口的关键参数。原创 2025-05-17 05:02:34 · 16 阅读 · 0 评论 -
【YOLO】目标检测中NMS综述
NMS及其变体的核心目标是在保证检测精度的同时消除冗余框。选择方法需权衡场景特点(如目标密度、遮挡程度)和计算效率。随着目标检测技术的发展,NMS的改进仍是一个活跃的研究领域。原创 2025-05-16 15:08:57 · 93 阅读 · 0 评论 -
BCEBlurWithLogitsLoss与BCEWithLogitsLoss对比
BCEWithLogitsLoss是PyTorch原生实现的标准二元交叉熵损失,适用于标签完整且准确的常规分类任务。而BCEBlurWithLogitsLoss是YOLOv5中提出的改进版本,针对标签缺失和假阳性样本进行优化,适用于目标检测中的标注噪声问题。原创 2025-05-16 08:19:58 · 29 阅读 · 0 评论 -
【YOLO】YOLOv12 损失函数解析
YOLOv12 作为 YOLO 系列的最新迭代,通过 动态标签分配、多任务协同优化 和 几何建模增强 等关键技术,进一步提升了目标检测的精度与鲁棒性。其损失函数在继承 YOLO 系列经典设计的基础上,引入了多项创新性改进,原创 2025-05-15 08:33:56 · 462 阅读 · 0 评论 -
【算能】bmodel 文件功能模块标识
在算能(Sophgo)的 .bmodel 文件(编译后的 TPU 模型文件)中,功能模块标识是模型内部对独立计算单元或子网络结构的命名与分类机制。这些标识通过 bmrt_get_network_names 等接口对外暴露,是模型模块化设计的核心体现。原创 2025-05-15 05:42:44 · 113 阅读 · 0 评论 -
【YOLO】YOLOv5选择BCE而非CE作为分类损失的解析
YOLOv5采用二元交叉熵损失,是目标检测任务特性(多标签、类别独立、背景主导)与工程实践(效率、稳定性、可扩展性)的最优权衡。这一设计使其在复杂场景中保持高精度与高效率,成为工业级目标检测的首选原创 2025-05-15 05:42:10 · 169 阅读 · 0 评论 -
【算能】BMCV 库中bm_tensor_t 结构体详解
bm_tensor_t 是算能(Sophgo)BMRuntime 和 BMCV 库中用于表示 多维张量数据 的核心结构体,专为 TPU 硬件加速设计。它封装了张量的形状、数据类型、设备内存指针等关键信息,是模型推理、数据预处理和后处理的核心数据结构。原创 2025-05-14 20:50:10 · 25 阅读 · 0 评论 -
【算能】BMRuntime C API函数之bmrt_get_network_names详解
bmrt_get_network_names 是算能(Sophgo)BMRuntime C API 中用于获取已加载模型中所有网络名称列表的关键函数。它常用于处理多网络模型(如级联模型或多任务模型),原创 2025-05-14 05:31:33 · 145 阅读 · 0 评论 -
【算能】bmruntime结构体bm_stage_info_t详解
bm_stage_info_t 是算能(Sophgo)BMRuntime C API 中用于描述 模型推理阶段(Stage)配置信息 的核心结构体。它通常与 bm_net_info_t 配合使用,用于管理动态形状适配、多阶段推理流程及显存预分配等场景。原创 2025-05-13 15:14:51 · 28 阅读 · 0 评论 -
【算能】bmruntime结构体bm_net_info_t详解
bm_net_info_t 是 算能(Sophgo)BMRuntime C API 中用于描述加载的神经网络模型信息的核心结构体。它包含了模型的输入/输出张量的元数据(如形状、数据类型、内存占用等),是模型部署过程中配置输入输出、预分配内存和动态调整模型的关键依据。原创 2025-05-13 11:17:10 · 220 阅读 · 0 评论 -
【YOLO】二元交叉熵(BCE)和交叉熵(CE)的对比
二元交叉熵(BCE)与交叉熵(CE)的对比分析,涵盖定义、数学形式、应用场景及实践差异原创 2025-05-13 08:09:11 · 34 阅读 · 0 评论 -
【YOLO】单标签多分类、多标签分类及二分类概念区分
在机器学习和深度学习中,分类任务根据样本与标签的关联方式可分为三种主要类型:二分类、单标签多分类和多标签分类。二分类适用于预测样本属于两个互斥类别中的一个,如垃圾邮件检测,使用Sigmoid函数和二元交叉熵损失。单标签多分类用于预测样本属于多个互斥类别中的一个,如图像分类,使用Softmax函数和交叉熵损失。多标签分类则用于预测样本可能属于多个非互斥类别,如医学影像诊断,使用Sigmoid函数和二元交叉熵扩展损失。原创 2025-05-13 08:08:47 · 25 阅读 · 0 评论 -
二元交叉熵损失详解
二元交叉熵损失(BinaryCross-EntropyLoss)是二分类任务中常用的损失函数,用于衡量模型预测概率分布与真实标签之间的差异。其数学表达式基于真实标签和模型预测概率,通过平均所有样本的损失来计算总损失。原创 2025-05-12 09:19:24 · 262 阅读 · 0 评论 -
【YOLO】解析train2017.cache
YOLOv5中的train2017.cache文件是训练过程中自动生成的标签缓存文件,主要用于加速数据加载并确保数据一致性。该文件存储了预处理后的标签数据(如边界框坐标、类别ID)、图像原始尺寸及数据统计信息,避免了重复解析原始标签文件。缓存文件采用字典结构的二进制格式保存,包含版本号、哈希值、标签数组、图像尺寸等字段。原创 2025-05-12 09:03:33 · 21 阅读 · 0 评论 -
【RKNN】RKNN-Toolkit2 Python API之hybrid_quantization_step1 函数详解
hybrid_quantization_step1 是 RKNN-Toolkit2 中用于 混合量化(混合精度量化)的第一步,通过分析模型各层的量化敏感度,生成建议的量化策略文件(CSV 格式)。开发者可基于此文件手动调整关键层的量化精度(如将敏感层设为 FP16),以在精度和性能之间取得平衡。原创 2025-05-11 13:39:16 · 23 阅读 · 0 评论 -
标签平滑(Label Smoothing)技术详解
标签平滑是一种正则化技术,通过软化目标标签的表示形式,减少模型对训练数据的过度自信,从而提升泛化能力并缓解过拟合。其核心原理是将传统的one-hot标签替换为“软标签”,即正确类别的概率调整为1-α,其他类别的概率均匀分配为α/(K-1)。这种方法能够提升模型的泛化性能、缓解过拟合,并改善模型校准,适用于多分类任务、易混淆类别任务及噪声标签数据集。实现上,标签平滑通过调整交叉熵损失函数中的标签分布来实现,平滑系数α通常取0.1,但需根据任务特性进行调整。尽管标签平滑在提升模型鲁棒性方面效果显著,但其超参数敏原创 2025-05-11 05:53:36 · 33 阅读 · 0 评论 -
Circular Smooth Label(CSL)损失函数解析
CircularSmoothLabel(CSL)损失函数是旋转目标检测中的关键技术,通过将角度预测转化为分类任务并引入平滑标签策略,有效解决了角度周期性的边界问题。CSL的核心原理包括角度离散化、平滑标签生成和损失函数结构,其中损失函数由目标分类损失、角度分类损失和回归损失三部分构成。窗口函数的选择(如高斯函数、矩形函数、三角函数)及其半径的调整对模型性能有显著影响。CSL在实际应用中表现出色,尤其在遥感检测和自动驾驶等高精度场景中,通过联合训练框架和轻量化策略,进一步提升了检测精度和效率。实验表明,CSL原创 2025-05-11 05:53:11 · 35 阅读 · 0 评论 -
【RKNN】RKNN-Toolkit2 Python API之get_sdk_version函数详解
rknn.get_sdk_version() 是 RKNN-Toolkit2 中用于 获取当前 NPU 工具链及硬件驱动的版本信息 的关键接口,帮助开发者验证开发环境与硬件驱动的兼容性。原创 2025-05-10 18:39:06 · 31 阅读 · 0 评论 -
【YOLO】标签缓存机制详解
通过标签缓存机制,YOLOv5 在保证数据一致性的前提下,显著提升了数据加载效率,尤其适用于大规模或高频次训练场景。用户需理解其原理,合理管理缓存文件以发挥最大效用。原创 2025-05-10 15:35:04 · 139 阅读 · 0 评论 -
IOU(Intersection over Union)发展综述
IOU的演进史是目标检测领域追求更高精度、更强鲁棒性的缩影。从几何约束到概率建模,从静态计算到动态适应,其发展始终围绕“如何更全面地描述目标匹配”这一核心问题展开。未来,随着多模态学习、自适应优化等技术的融合,IOU衍生方法将继续推动检测模型在复杂场景中的性能边界。原创 2025-05-10 10:28:28 · 244 阅读 · 0 评论 -
Circular Smooth Label(CSL)角度离散化解析
Circular Smooth Label(CSL)角度离散化是一种将连续角度预测转化为分类任务的技术,旨在解决旋转目标检测中的边界不连续和周期性误差问题。原创 2025-05-10 05:33:17 · 113 阅读 · 0 评论 -
直接回归、CSL分类与ProbIoU的对比分析
本文对比了三种旋转目标检测方法:直接回归、CSL分类和ProbIoU。直接回归通过预测旋转框参数实现,计算高效但存在边界不连续问题;CSL分类将角度离散化,通过平滑标签解决边界问题,但计算成本较高;ProbIoU基于概率分布建模,精度高但计算复杂。实验表明,CSL分类在遥感检测中表现优异,ProbIoU在复杂场景下精度最优。选型建议:追求速度选直接回归,平衡精度与速度选CSL分类,极致精度需求选ProbIoU。原创 2025-05-10 05:33:00 · 35 阅读 · 0 评论 -
【YOLO】ProbIoU(Probability Intersection over Union)技术详解
ProbIoU(概率交并比)是一种创新的目标检测评估指标,通过将边界框建模为概率分布,解决了传统IoU在非重叠情况下的梯度消失问题,并提升了对模糊边界和不确定性的鲁棒性。其核心思想是将边界框视为二维高斯分布,通过概率密度函数的交并比衡量匹配度,确保即使无几何重叠也能提供梯度。ProbIoU在数学上通过高斯分布的乘积和积分计算交集和并集概率,最终得到连续可微的ProbIoU值。该方法在实现上通过协方差矩阵简化和对数空间计算优化效率,并在实验中表现出检测精度和训练稳定性的提升。原创 2025-05-09 17:55:19 · 163 阅读 · 0 评论 -
Circular Smooth Label(CSL)窗口函数技术解析
CSL(Circular Smooth Label)中的窗口函数是解决旋转目标检测中角度周期性边界不连续问题的关键工具。其核心原理包括角度离散化和邻域平滑,通过为真实角度邻域赋予平滑的概率分布,替代传统的硬分类(One-hot编码)。常用的窗口函数包括高斯窗口、矩形窗口和三角窗口,各自具有不同的特点,如高斯窗口平滑性最佳,矩形窗口计算简单,三角窗口则平衡了计算效率与平滑性。窗口半径和离散粒度的设置对性能有显著影响,通常需要根据具体场景(如遥感或自然图像)进行优化。高斯窗口在精度上表现最优但计算量较大,矩形窗原创 2025-05-09 09:03:18 · 94 阅读 · 0 评论 -
环形平滑标签(Circular Smooth Label, CSL)技术详解
环形平滑标签(CSL)是一种优化算法,旨在解决旋转目标检测中角度预测的边界问题。通过将角度回归转化为分类任务,并利用窗口函数平滑标签分布,CSL有效处理了角度周期性的梯度突变问题。其核心原理包括角度离散化和平滑标签编码,通过高斯、矩形、三角等窗口函数生成概率分布。CSL在技术实现上涉及标签转换流程、模型结构调整和损失函数优化,显著提升了检测精度和稳定性。在DOTA数据集上的实验表明,CSL在mAP和角度误差方面优于传统方法。应用场景包括遥感图像分析、自动驾驶和工业质检,部署时需注意旋转NMS编译和ONNX导原创 2025-05-09 08:45:55 · 232 阅读 · 0 评论 -
角度分类损失函数设计详解
在旋转目标检测(如遥感、自动驾驶中的物体方向预测)任务中,角度分类损失(Angle Classification Loss)通过将连续角度离散化为多个类别,并结合分类与回归的混合优化策略,显著提升了模型对目标方向的预测精度。原创 2025-05-08 21:50:25 · 34 阅读 · 0 评论 -
旋转目标检测中的Gliding Vertex方法详解
Gliding Vertex(滑动顶点)是一种基于顶点偏移预测的旋转目标检测方法,旨在通过动态调整水平框的顶点位置生成旋转矩形框。该方法由Xu等人在2020年提出,核心思想是将旋转框的几何参数转化为顶点偏移量的回归问题,有效解决传统旋转框回归中的角度跳变和长宽比敏感性问题。原创 2025-05-08 08:17:13 · 37 阅读 · 0 评论 -
EAST(Efficient and Accurate Scene Text Detector)在旋转目标检测中的应用详解
EAST通过端到端的单阶段架构和灵活的几何表示(旋转矩形或四边形),成为旋转目标检测的高效解决方案。在文本、遥感和工业检测中表现优异,但需针对特定场景优化角度回归、特征对齐和后处理流程。未来可结合Transformer等新型架构,进一步提升对复杂旋转目标的建模能力。原创 2025-05-08 08:10:37 · 34 阅读 · 0 评论 -
【机器学习】过拟合与欠拟合的综合解析
将模型在训练数据上拟合的比在潜在分布中更接近的现象称为过拟合(overfitting), 将模型在训练数据上拟合的比在潜在分布中更接近的现象称为过拟合(overfitting), 用于对抗过拟合的技术称为正则化(regularization)。原创 2025-05-08 08:07:35 · 194 阅读 · 0 评论