YOLO26改进 - 下采样 | 轻量化突破:ADown 下采样让 YOLO26 参量减、精度升
前言本文介绍了一种轻量级的特征下采样模块 ADown它结合平均池化与最大池化策略实现更有效的信息保留与压缩。在传统卷积网络中特征下采样常造成信息损失而 ADown 通过双通道并行结构优化了下采样效果提升了模型的表达能力。在 YOLO26 中引入 ADown 替换原有的下采样模块后网络在保持高效性的同时显著提升了目标检测的精度与稳定性。文章详细介绍了 ADown 的核心代码实现、模块注册流程以及 YOLOv11-ADown 模型的配置和训练方法为轻量化目标检测模型的优化提供了实用参考。文章目录 YOLO26改进大全卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总专栏链接: YOLO26改进专栏文章目录前言介绍摘要文章链接基本原理核心代码YOLO26引入代码注册步骤1:步骤2配置yolo26-ADown.yaml实验脚本结果介绍摘要当今的深度学习研究主要聚焦于如何设计合适的目标函数以使模型的预测结果尽可能接近真实值。同时还需构建高效的网络架构以充分提取输入数据中的关键信息用于预测。然而现有方法普遍忽视了一个重要事实在输入数据经过深层特征提取与空间变换的过程中会不可避免地丢失大量信息。本文将深入探讨这一关键问题——数据在深度网络中的信息丢失机制并从信息瓶颈与可逆函数的角度进行分析。为解决深度网络在多目标学习中面临的梯度退化与信息缺失问题我们提出了**可编程梯度信息Programmable Gradient Information, PGI**的概念。PGI能够为目标任务保留完整的输入信息以在目标函数计算中提供可靠的梯度从而有效指导网络权重的更新。在此基础上我们设计了一种全新的轻量级网络结构——基于梯度路径规划的广义高效层聚合网络Generalized Efficient Layer Aggregation Network, GELAN。实验结果表明GELAN在轻量级模型中充分验证了PGI的有效性显著提升了模型的性能与参数利用率。我们在MS COCO 数据集上对所提出的 PGI 与 GELAN 进行了目标检测实验。结果显示GELAN 仅使用常规卷积算子即可超越基于深度卷积的多种先进方法实现更高的参数效率。PGI 机制具有良好的通用性可应用于从轻量级到大型模型的广泛场景并能帮助从零训练的模型在无预训练的条件下超越使用大规模数据集预训练的最先进模型。相关结果如图 1 所示。源代码已开源于https://github.com/WongKinYiu/yolov9。文章链接论文地址论文地址代码地址代码地址基本原理核心代码classADown(nn.Module):def__init__(self,c1,c2):# ch_in, ch_out, shortcut, kernels, groups, expandsuper().__init__()self.cc2//2self.cv1Conv(c1//2,self.c,3,2,1)self.cv2Conv(c1//2,self.c,1,1,0)defforward(self,x):xtorch.nn.functional.avg_pool2d(x,2,1,0,False,True)x1,x2x.chunk(2,1)x1self.cv1(x1)x2torch.nn.functional.max_pool2d(x2,3,2,1)x2self.cv2(x2)returntorch.cat((x1,x2),1)YOLO26引入代码在根目录下的ultralytics/nn/目录新建一个sample目录然后新建一个以ADown为文件名的py文件 把代码拷贝进去。importtorchimporttorch.nnasnndefautopad(k,pNone,d1):# kernel, padding, dilationPad to same shape outputs.ifd1:kd*(k-1)1ifisinstance(k,int)else[d*(x-1)1forxink]# actual kernel-sizeifpisNone:pk//2ifisinstance(k,int)else[x//2forxink]# auto-padreturnpclassConv(nn.Module):Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation).default_actnn.SiLU()# default activationdef__init__(self,c1,c2,k1,s1,pNone,g1,d1,actTrue):Initialize Conv layer with given arguments including activation.super().__init__()self.convnn.Conv2d(c1,c2,k,s,autopad(k,p,d),groupsg,dilationd,biasFalse)self.bnnn.BatchNorm2d(c2)self.actself.default_actifactisTrueelseactifisinstance(act,nn.Module)elsenn.Identity()defforward(self,x):Apply convolution, batch normalization and activation to input tensor.returnself.act(self.bn(self.conv(x)))defforward_fuse(self,x):Perform transposed convolution of 2D data.returnself.act(self.conv(x))classADown(nn.Module):def__init__(self,c1,c2):# ch_in, ch_out, shortcut, kernels, groups, expandsuper().__init__()self.cc2//2self.cv1Conv(c1//2,self.c,3,2,1)self.cv2Conv(c1//2,self.c,1,1,0)defforward(self,x):xtorch.nn.functional.avg_pool2d(x,2,1,0,False,True)x1,x2x.chunk(2,1)x1self.cv1(x1)x2torch.nn.functional.max_pool2d(x2,3,2,1)x2self.cv2(x2)returntorch.cat((x1,x2),1)注册在ultralytics/nn/tasks.py中进行如下操作步骤1:fromultralytics.nn.sample.ADownimportADown步骤2修改def parse_model(d, ch, verboseTrue):ADown配置yolo26-ADown.yamlultralytics/cfg/models/26/yolo26-ADown.yaml# Ultralytics AGPL-3.0 License - https://ultralytics.com/license# Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs# Model docs: https://docs.ultralytics.com/models/yolo26# Task docs: https://docs.ultralytics.com/tasks/detect# Parametersnc:80# number of classesend2end:True# whether to use end-to-end modereg_max:1# DFL binsscales:# model compound scaling constants, i.e. modelyolo26n.yaml will call yolo26.yaml with scale n# [depth, width, max_channels]n:[0.50,0.25,1024]# summary: 260 layers, 2,572,280 parameters, 2,572,280 gradients, 6.1 GFLOPss:[0.50,0.50,1024]# summary: 260 layers, 10,009,784 parameters, 10,009,784 gradients, 22.8 GFLOPsm:[0.50,1.00,512]# summary: 280 layers, 21,896,248 parameters, 21,896,248 gradients, 75.4 GFLOPsl:[1.00,1.00,512]# summary: 392 layers, 26,299,704 parameters, 26,299,704 gradients, 93.8 GFLOPsx:[1.00,1.50,512]# summary: 392 layers, 58,993,368 parameters, 58,993,368 gradients, 209.5 GFLOPs# YOLO26n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,ADown,[128]]# 1-P2/4-[-1,2,C3k2,[256,False,0.25]]-[-1,1,ADown,[256]]# 3-P3/8-[-1,2,C3k2,[512,False,0.25]]-[-1,1,ADown,[512]]# 5-P4/16-[-1,2,C3k2,[512,True]]-[-1,1,ADown,[1024]]# 7-P5/32-[-1,2,C3k2,[1024,True]]-[-1,1,SPPF,[1024,5,3,True]]# 9-[-1,2,C2PSA,[1024]]# 10# YOLO26n headhead:-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,2,C3k2,[512,True]]# 13-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,2,C3k2,[256,True]]# 16 (P3/8-small)-[-1,1,Conv,[256,3,2]]-[[-1,13],1,Concat,[1]]# cat head P4-[-1,2,C3k2,[512,True]]# 19 (P4/16-medium)-[-1,1,Conv,[512,3,2]]-[[-1,10],1,Concat,[1]]# cat head P5-[-1,1,C3k2,[1024,True,0.5,True]]# 22 (P5/32-large)-[[16,19,22],1,Detect,[nc]]# Detect(P3, P4, P5)实验脚本importwarnings warnings.filterwarnings(ignore)fromultralyticsimportYOLOif__name____main__:# 修改为自己的配置文件地址modelYOLO(./ultralytics/cfg/models/26/yolo26-ADown.yaml)# 修改为自己的数据集地址model.train(data./ultralytics/cfg/datasets/coco8.yaml,cacheFalse,imgsz640,epochs10,single_clsFalse,# 是否是单类别检测batch8,close_mosaic10,workers0,optimizerMuSGD,# optimizerSGD,ampFalse,projectruns/train,nameyolo26-ADown,)结果

相关新闻

破局时序数据困局:KingbaseES从医疗到交通的国产化实践启示录

破局时序数据困局:KingbaseES从医疗到交通的国产化实践启示录

2026/7/8 6:28:51 阅读更多 →
KingbaseES 解锁时序数据:国产数据库在物联网时代的突围之路

KingbaseES 解锁时序数据:国产数据库在物联网时代的突围之路

2026/7/7 22:44:18 阅读更多 →
如何强制ANY CPU的.net程序按32位或64位模式运行?

如何强制ANY CPU的.net程序按32位或64位模式运行?

2026/7/8 14:47:26 阅读更多 →

最新新闻

为什么有时候感觉 Codex写页面很难理解用户的真正意图?聊聊 GPT-5.5 在 Agent 场景下的一些体验

为什么有时候感觉 Codex写页面很难理解用户的真正意图?聊聊 GPT-5.5 在 Agent 场景下的一些体验

为什么有时候感觉 Codex写页面很难理解用户的真正意图?聊聊 GPT-5.5 在 Agent 场景下的一些体验 SEO关键词: Codex、GPT-5.5、Codex使用体验、Codex写网页、Codex写文档、Codex Skill、AI Agent、GPT5.5 文章摘要: 很多人在使用 Codex GPT-5…

2026/7/8 15:09:20 阅读更多 →
openEuler ROS多机通信:分布式机器人系统的部署与调试完整指南

openEuler ROS多机通信:分布式机器人系统的部署与调试完整指南

openEuler ROS多机通信:分布式机器人系统的部署与调试完整指南 【免费下载链接】ros It provides ROS source for openEuler 项目地址: https://gitcode.com/openeuler/ros 前往项目官网免费下载:https://ar.openeuler.org/ar/ 在机器人技术快速…

2026/7/8 15:07:19 阅读更多 →
免费开源图片元数据管理器:ExifToolGUI完整使用指南

免费开源图片元数据管理器:ExifToolGUI完整使用指南

免费开源图片元数据管理器:ExifToolGUI完整使用指南 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你是否曾经为成千上万张照片的管理而头疼?拍摄时间错乱、地点信息丢失、版权信息…

2026/7/8 15:07:19 阅读更多 →
AI实时抠像技术革新:obs-backgroundremoval插件如何实现无绿幕专业直播

AI实时抠像技术革新:obs-backgroundremoval插件如何实现无绿幕专业直播

AI实时抠像技术革新:obs-backgroundremoval插件如何实现无绿幕专业直播 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项…

2026/7/8 15:05:15 阅读更多 →
高压隔离技术:ISOM8710与PIC18F4585的工业应用方案

高压隔离技术:ISOM8710与PIC18F4585的工业应用方案

1. 高压安全隔离的核心需求与方案选型在工业自动化、电力监控和医疗设备等场景中,高压电路与低压控制系统的安全隔离是保障设备和人员安全的关键技术。传统光耦器件虽然能实现电气隔离,但在传输速率、抗干扰能力和功耗方面存在明显短板。ISOM8710作为TI推…

2026/7/8 15:03:13 阅读更多 →
Obsidian Excel插件终极指南:3步实现笔记与表格的无缝整合

Obsidian Excel插件终极指南:3步实现笔记与表格的无缝整合

Obsidian Excel插件终极指南:3步实现笔记与表格的无缝整合 【免费下载链接】obsidian-excel 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-excel 如果你正在寻找一种方法,将Excel的强大数据处理能力无缝融入Obsidian的知识管理体系中&…

2026/7/8 14:58:51 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻