- 博客(74)
- 资源 (2)
- 收藏
- 关注
原创 SegFormer算法详解
SegFormer是NVIDIA提出的高效Transformer语义分割框架,采用无位置编码的分层Transformer编码器和轻量级MLP解码器。其核心创新包括:1)重叠Patch嵌入实现多尺度特征提取;2)引入缩减比的高效注意力机制降低计算量;3)Mix-FFN隐式编码位置信息;4)纯MLP解码器仅0.3M参数。该框架提供从B0(3.8M)到B5(84.7M)的模型家族,B0在512×512分辨率下可达37FPS,在ADE20K等基准上以更少参数量实现SOTA性能,已成功应用于道路分割、地质识别等工业场
2025-10-27 14:55:07
1037
原创 Vision Transformer
摘要: Vision Transformer (ViT) 是一种基于纯Transformer架构的图像识别模型,由Google Research于2020年提出。其核心思想是将图像分割为多个块(patches),线性嵌入为向量序列后输入Transformer编码器,通过全局自注意力机制建模图像特征。ViT在大规模数据集(如JFT-300M)上表现优异,但需依赖大量数据以避免过拟合。模型结构包括Patch Embedding、位置编码和分类Token,典型变体包括DeiT、Swin Transformer等。
2025-10-27 11:49:27
1019
原创 FFN和MLP的区别
FFN(前馈网络)和MLP(多层感知机)在深度学习中常被混淆。MLP是广义的多层全连接网络,可任意设计层数和维度;而FFN特指Transformer中的两层MLP模块,具有固定结构(先升维后降维)和位置独立计算特性。简言之,FFN是MLP在Transformer中的专用实现形式,两者是包含关系而非并列概念。
2025-10-27 10:45:36
512
原创 segformer算法——Mix-FFN详细讲解
Mix-FFN(Mixed Feed-Forward Network)是 SegFormer 把“位置编码”这一老大难问题化繁为简的核心部件。下都能保持空间感知,既扔掉了位置编码的“插值包袱”,又给语义分割带来了 CNN 的局部归纳偏置——可谓“零成本”的位置编码替代方案。Mix-FFN 用“3×3 DWConv + 0-padding 泄露位置”这一极简偏方,让 Transformer 在。三、数学视角:为什么 3×3 就够了?五、实验效果:省参数、提速度、抗分辨率。一、设计动机:为什么不用位置编码?
2025-10-24 20:51:01
990
原创 transformer原理
核心创新完全摒弃循环和卷积,仅依赖注意力机制建模序列。自注意力实现全局依赖建模,解决长距离依赖问题。并行计算极大提升训练效率,支持大规模模型训练。Transformer 通过自注意力机制实现序列元素间的全局、动态、并行交互,彻底颠覆了传统序列建模范式,成为现代人工智能大模型的通用基础架构。📚 原始论文:Ashish Vaswani et al.,
2025-10-13 16:23:52
779
原创 图像分割——DeepLabv3
DeepLabv3 是语义分割从“依赖后处理”走向“纯端到端”的里程碑。它通过ASPP + 全局上下文的设计,证明了 CNN 本身足以建模复杂上下文,无需 CRF。虽然 DeepLabv3+ 因其 Decoder 结构更常用于实际部署,但v3 的 ASPP 思想已成为现代分割模型的标准组件。
2025-10-13 14:44:52
919
原创 分割——双线性插值
|←0.4→先算左右(x方向)→ 得到 R1、R2再算上下(y方向)→ 得到 P这就是“双两次线性插值。双线性插值 = 用周围 4 个像素,按距离远近“调和”出中间点的颜色/值。在语义分割中,它就是那个把神经网络的“小图”放大成“大图”的魔法工具,简单、有效、可微,所以大家都用它。
2025-10-13 11:24:49
528
原创 YOLOv8——TAL(Task-Aligned Learning)
TAL(Task-Aligned Learning)是 YOLOv8 在训练阶段用来“挑正样本”的核心标签分配器。,从而解决 cls 与 reg 两只任务互相打脸的问题。下面按“原理 → 公式 → 流程 → 代码 → 与 YOLOv5 差异”5 步拆分。
2025-09-29 17:17:41
294
原创 YOLOv8 —— Anchor-Free 设计
摘要:Anchor-Free(无锚框)是目标检测的新范式,直接预测目标中心点和边界框参数,摒弃了传统Anchor-Based方法预设锚框的复杂流程。YOLOv8采用Anchor-Free设计,通过动态标签分配(TAL)和分布聚焦损失(DFL)优化训练,解决了传统方法依赖数据集先验、超参数敏感等问题。相比YOLOv5,YOLOv8结构更简洁,泛化能力更强,在跨域场景和小目标检测中表现更优。Anchor-Free简化了模型设计,提升了训练效率和检测精度,成为YOLOv8的核心创新之一。
2025-09-29 15:43:58
1105
原创 完整讲解YOLOv8 算法
YOLOv8是Ultralytics公司于2023年推出的新一代目标检测算法,采用单阶段实时检测框架,支持检测、分割、姿态估计和分类多任务。其核心创新包括:C2f主干模块增强特征复用,Anchor-Free设计简化模型,解耦检测头提升精度,DFL损失实现高精度定位,以及Task-Aligned Assigner优化正样本分配。相比前代,YOLOv8在精度、速度和易用性上均有提升,提供5种模型尺寸适应不同场景,并支持主流部署格式。该算法集成了"算法+工程+生态"优势,成为现代计算机视觉的综
2025-09-29 15:16:50
1631
原创 YOLOv8——DFL(Distribution Focal Loss)
DFL(Distribution Focal Loss)是一种让神经网络通过“预测概率分布”来实现高精度连续值回归的技术。它不直接猜一个精确小数,而是猜“这个数更靠近哪两个整数,各自占多少比例”。太少(如 2 个 bin):只能分“左/右”,无法精确太多(如 100 个 bin):模型负担重,容易过拟合17 个 bin(reg_max=16)对 640 像素图像,最小分辨率达4 像素通过插值可达亚像素精度计算开销小,效果最佳📊 实验验证:17 是精度与效率的最佳平衡点。
2025-09-29 14:57:27
1031
原创 从YOLOv5 → YOLOv13中所用到的IoU变体
YOLO系列目标检测模型的框回归损失函数演变:Ultralytics家族的v5/v7/v8/v11均采用CIoU;YOLOv6根据模型规模分别使用SIoU(小模型)和GIoU(大模型);社区主导的v12和v13则分别切换为SIoU和EIoU作为默认选项,其中v13特别强调EIoU对微小目标定位的改进效果。整体呈现从传统CIoU向新型IoU变体过渡的趋势。
2025-09-28 17:39:10
181
原创 IoU及其变种完整总结:从基础到2025年最新进展
IoU变种发展综述(2019-2025):从基础IoU到2025年最新进展,IoU变种持续优化目标检测性能。基础变种(GIoU/DIoU/CIoU)通过引入包围框空白、中心点距离和宽高比惩罚,解决原始IoU无重叠不可优化等问题。2021-2022年进阶变种(EIoU/SIoU/WIoU)针对小目标和旋转场景提出专用优化。2025年最新方法(CMF-IoU/DAPIoU)融合多模态数据并联合优化维度与角度误差,在自动驾驶和遥感领域表现突出。不同变种在计算复杂度、小目标精度和旋转支持等方面各有侧重,需根据具体场
2025-09-28 17:30:26
838
原创 YOLOv5从训练到推理的整个算法流程
YOLOv5的成功得益于其端到端的设计强大的数据增强(尤其是Mosaic)、高效的网络结构(CSPDarknet+PANet)以及精心设计的损失函数和后处理流程。训练:是一个通过数据和优化算法不断调整模型参数,以最小化损失函数的过程。推理:是利用固定模型进行预测,并通过后处理(主要是NMS)将密集预测转化为可用结果的过程。
2025-09-28 16:12:38
899
原创 YOLOv5 损失函数讲解:从故事到原理,从分配到加权
摘要:YOLOv5的损失函数体系通过"快递分拣中心"的类比生动阐释其工作原理。该系统将25200个预测框比作分拣员,通过三步策略筛选正负样本:1)定位目标邻近网格;2)匹配合适锚框尺寸;3)区分正负样本。损失函数包含三大组件:1)Box Loss(CIoU Loss)综合评估框的重叠度、中心对齐和形状相似度;2)Objectness Loss(BCEWithLogitsLoss)使用软标签机制评判置信度预测;3)Class Loss处理多分类任务。该设计有效解决了目标检测中的样本不平衡问
2025-09-28 15:20:54
966
原创 BCEWithLogitsLoss
Sigmoid 激活函数:将模型输出的“原始 logits(无界实数)”压缩到(0,1)σx11e−xσx1e−x1常用于二分类任务中,输出“样本属于正类的概率”。BCELoss(二元交叉熵损失)BCELosspy−y⋅logp1−y⋅log1−pBCELosspy−y⋅logp1−y⋅log1−p)]其中,ppp是 Sigmoid 输出的概率,yyy。
2025-09-28 14:05:40
765
原创 yolov5中的anchor 的偏移量
一句话总结:YOLOv5不是直接预测目标框,而是基于预设的模板框(anchor),通过调整偏移量(tx,ty,tw,th)来微调框的位置和大小。 通俗比喻:就像贴海报时,先用墙上现成的网格模板框(anchor),再告诉助手“往右挪3cm,拉宽到34cm”(偏移量),而不是直接指定最终坐标。 关键点: Anchor:预先统计的常见框尺寸(如16×30),作为调整基准。 偏移量: tx/ty:中心点微调(如“偏右0.3格”)。 tw/th:宽高缩放倍数(如“宽度放大2.1倍”)。 优势:偏移量数值小(0~2范围
2025-09-28 10:45:07
863
原创 YOLOv5 完整技术流程详解(从输入到输出)
YOLOv5目标检测技术流程详解 YOLOv5是一种高效的单阶段目标检测算法,其完整流程包含预处理、网络结构、损失函数和后处理四大模块。预处理阶段通过图像格式转换、Letterbox无变形缩放、像素归一化等操作适配模型输入,训练时还加入Mosaic拼接等数据增强手段。网络采用CSPDarknet53骨干提取特征,PANet双向融合高低层特征,最后通过Anchor-Based检测头预测目标位置、类别和置信度。模型训练使用CIoU损失优化边界框回归,结合分类和置信度损失,实现端到端的高效检测。整个流程兼顾速度与
2025-09-26 14:27:56
1210
原创 FPN及其变种
FPN变体演进摘要(2017-2022) 背景:从基础FPN到16种改进方案,核心解决多尺度检测中的特征融合问题。 关键变体: PANet(2018):双向路径增强,AP提升1.8-3.0 BiFPN(2020):加权双向融合,EfficientDet核心,参数量最优 Recursive-FPN(2020):循环结构提升小目标检测,AP_s +3.8 ASFF(2021):动态空间权重融合,YOLOv3提升4.3 AP A²-FPN(2021):三路注意力机制,分割任务显著受益 实验数据: 最佳绝对AP提升
2025-09-26 10:34:23
992
原创 fpn中的顶部介绍
在计算机视觉和目标检测中,“顶部”指网络中靠近输出端的特征层,具有最高语义级别和最小空间分辨率(如FPN中的C5层)。它与“底部”低层特征形成对比,代表最抽象的信息。关键点:1)与图像位置无关;2)网络越深越“顶”;3)FPN的“自顶向下”路径从C5开始。这一概念适用于CNN和Transformer等架构。
2025-09-25 17:12:15
175
原创 vscode 无法连接到ssh
在win11中vscode 远程 SSH 连接失败这表明 VS Code 无法从服务器返回的输出中解析出远程端口号,这是连接失败的主要原因。这显示远程服务器上的 VS Code 执行服务器进程未能正常启动。
2025-06-13 09:25:38
683
原创 在WSL中的Ubuntu发行版上安装Anaconda、CUDA、CUDNN和TensorRT
本文详细介绍了在Windows 11的WSL(Windows Subsystem for Linux)环境中安装Anaconda、CUDA、CUDNN和TensorRT的步骤。首先,确保电脑已安装NVIDIA驱动,并通过WSL安装Ubuntu。接着,依次安装Anaconda、CUDA 12.4、CUDNN 8.9.7和TensorRT 9.1.0及以上版本。每个步骤包括下载、安装、设置环境变量和验证安装的详细命令。此外,还提供了NVIDIA驱动的卸载方法。通过本文,用户可以在WSL环境中成功配置深度学习开发
2025-05-17 19:22:32
1250
原创 如何迁移 WSL 卸载 Ubuntu WSL
本文详细介绍了如何将 WSL 上的 Ubuntu 22.04 LTS 从 C 盘迁移到 D 盘,以及如何卸载 Ubuntu 20.04 WSL。迁移步骤包括查看 WSL 状态、停止 WSL 运行、导出备份、注销现有 WSL、导入备份到新位置以及恢复默认用户。卸载步骤则通过 Windows 设置或 Windows 终端进行,包括查看已安装的 WSL 发行版、注销并确认卸载成功。这些操作可根据实际情况调整命令和路径。
2025-05-14 17:24:19
1083
原创 在vscode中使用ruff检查python代码和格式化
Ruff 是一个用 Rust 编写的高效 Python 代码检查与格式化工具,能够替代 Flake8、Black 等工具,并提供更快的执行速度。本文详细介绍了如何在 Visual Studio Code 中配置 Ruff 扩展。首先,通过 VS Code 扩展商店安装 Ruff 扩展,并使用 pip install ruff 命令安装 Ruff 工具。接着,通过 pyproject.toml 或 .ruff.toml 文件配置 Ruff 的规则,如行长度、启用规则集等。然后,在 VS Code 的 sett
2025-05-10 15:13:59
2505
原创 反向传播算法
反向传播算法通过计算损失函数对网络参数的梯度,并利用梯度下降法更新参数,从而最小化损失函数。这个过程包括前向传播、计算梯度、反向传播梯度和更新参数。通过不断迭代这个过程,神经网络可以逐渐学习到数据中的模式,从而提高模型的性能。
2025-03-21 14:50:09
627
原创 最小二乘法
最小二乘法(Least Squares Method)是一种数学优化技术,它通过最小化误差的平方和来寻找一组数据的最佳函数匹配。这种方法常用于线性回归分析中,用于估计线性模型的参数。最小二乘法的基本思想是:找到一个函数,使得所有数据点到这个函数的垂直距离的平方和最小。
2025-03-21 11:24:44
208
原创 切线、斜率、梯度和导数以及其关系
导数:描述单变量函数在某一点的变化率,是函数在该点的切线斜率。梯度:描述多变量函数在某一点的变化率,是一个向量,其方向是函数增加最快的方向,大小表示变化率。关系:单变量函数的导数是梯度的特例,多变量函数的梯度是偏导数的集合。应用:在优化问题中,通过求导(单变量)或梯度(多变量)并令其为零,可以找到函数的极值点。
2025-03-20 17:04:34
2185
原创 RK3576部署yolov5
为了使用 RKNPU,需要先在电脑上运行 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式的模型,然后在开发板上使用 RKNN C API 或 Python API 进行推理。然后再利用rknn-toolkit2//rknpu2/examples/rknn_yolov5_demo/convert_rknn_demo/yolov5做转化,转成rknn进行部署。下载之后安装相应的环境:yolov5的环境安装就不在此过多赘述了。模型做一些修改,主要是将官方的模型的box decode删除。
2024-12-04 10:35:45
933
原创 yolo中bx,by, bw, bh和tx, ty, tw, th的区别
网络实际学习的目标是tx、ty、tw、th这四个偏移量(offsets),通过这些偏移量可以求得真正需要的bx、by、bw、bh四个坐标。通过学习偏移量,可以对网络原始给定的锚框坐标进行线性回归微调,使其逐渐靠近真实边界框(groundtruth)。在YOLO算法中,bx、by、bw和bh与tx、ty、tw和th是预测边界框时使用的两组不同的参数,它们之间有直接的转换关系。其中,σ:表示sigmoid函数,cx和cy是网格单元左上角的坐标, pw和ph是锚框的宽度和高度。
2024-11-20 11:10:54
707
原创 RK3576部署测试mobilenet
RKNN-Toolkit-Lite2 为 Rockchip NPU 平台提供 Python 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。RKNN Runtime 为 Rockchip NPU 平台提供 C/C++ 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。RKNN-Toolkit2 是一款软件开发套件,供用户在 PC 和 Rockchip NPU 平台上进行模型转换、推理和性能评估。RKNN 软件栈可以帮助用户快速将 AI 模型部署到 Rockchip 芯片上。
2024-11-18 19:13:06
606
原创 Ubuntu 22.04 安装配置opencv
OpenCV下载:https://opencv.org/releases/编译与安装CMAKE_BUILD_TYPE=RELEASE:表示编译发布版本CMAKE_INSTALL_PREFIX:表示生成动态库的安装路径,可以自定义WITH_GTK=ON:这个配置是为了防止GTK配置失败:即安装了libgtk2.0-dev依赖,还是报错未安装OPENCV_GENERATE_PKGCONFIG=YES:表示自动生成OpenCV的pkgconfig文件,否则需要自己手动生成。
2024-11-13 18:50:45
728
原创 yolov5报错记录ckpt = torch.load(attempt_download(w), map_location=device)
解决方法:遇到的 FutureWarning 确实与 PyTorch 2.4.0 中的更改有关。要解决此问题,请确保您使用的是最新版本的 Ultralytics 软件包,因为更新可能包括与较新的 PyTorch 版本兼容的修复程序。
2024-10-17 20:03:11
1140
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅