当前位置: 首页 > news >正文

【Block总结】ESSamp,下采样|保留原始图像信息|即插即用

一、论文信息

PRNet 由研究者提出,专门针对航拍图像中的小目标检测难题。其核心思想是:“原始信息就是一切”。与其在信息丢失后再费力地去“修补”,不如从一开始就尽全力保留那些对小目标至关重要的原始细节。该工作已在 VisDrone、AI-TOD 和 UAVDT 等主流航拍数据集上验证了其卓越性能,并开源了代码 。

  • 论文链接:https://arxiv.org/pdf/2510.09531
  • 代码: https://github.com/hhao659/PRNet

二、核心创新点

PRNet 的创新直击现有方法的两大痛点:

  1. 信息退化严重:在模型的特征提取过程中,小目标本就稀少的像素信息会随着网络的层层下采样而迅速丢失。
  2. 特征无法对齐:传统的特征金字塔网络(FPN)试图将浅层的“空间细节”与深层的“语义信息”融合,但因细节已失真,导致融合效果不佳,产生大量漏检和误检。
    在这里插入图片描述

为解决这些问题,PRNet 设计了两个精巧的模块:

  • 渐进优化颈部(PRN):让模型能“反复回味”原始的高分辨率特征,进行多次优化。
  • 增强型 SliceSamp(ESSamp):改进下采样过程,像一个“信息守门员”,尽可能多地保留细节。

三、方法详解

1. 渐进优化颈部(PRN)——让细节“反复利用”

想象一下,你第一次看一张模糊的照片,可能看不清细节。但如果能反复回看原始高清图,并结合你每次的理解,就能越来越清晰。PRN 正是这个思路。

  • 传统方法:高分辨率的浅层特征(如 P2 层)在FPN中通常只被使用一次,用完即弃,造成巨大浪费。
  • PRN 做法:它通过骨干网络复用机制,将原始的浅层特征(P2, P3)多次引入到特征融合的过程中。通过“下采样-融合-上采样-再融合”的渐进式循环,让高分辨率的空间细节与深层语义信息充分对齐,从而构建出对小目标更鲁棒的特征表示。

2. 增强型 SliceSamp(ESSamp)——更聪明的“下采样”
在这里插入图片描述

下采样是信息丢失的“第一现场”。传统的步长卷积粗暴地丢弃像素,而 ESSamp 则更精细。

  • 增强特征表达:它在标准的深度卷积基础上,引入了“深度乘子”(depth multiplier),为每个输入通道分配多个卷积核,从而能捕捉到更复杂的局部模式,这对判别力微弱的小目标至关重要。
  • 改进空间重排:它用高效的 PixelUnShuffle 操作替代了原始 SliceSamp 中复杂的索引操作,不仅保留了细节,还提升了计算速度,更适合在无人机等边缘设备上部署。

PRN 和 ESSamp 形成了一个完美的闭环:ESSamp 为骨干网络提供了高质量的输入,而 PRN 则最大化地利用了这些高质量的原始信息。

四、效果如何?

实验结果非常亮眼!

  • 在 VisDrone 数据集上,PRNet 的轻量版仅用 2.2M 参数就达到了 43.4% AP50,比同级别模型高出一大截。其大型版本更是达到了 54.1% AP50 的SOTA(State-of-the-Art)水平。
  • 在极小目标数据集 AI-TOD 上,PRNet-L 创下了 35.6% AP 的新纪录。
  • 效率与精度兼得:相比基线模型 YOLO11-m,PRNet 在减少34%计算量的同时,还实现了更高的检测精度,完美诠释了“好钢用在刀刃上”。

可视化结果也清晰地表明,PRNet 能更准确地定位密集、微小的目标,热力图的响应也更集中、更精准。

五、ESSamp 代码

import torch
import torch.nn as nn
import torch.nn.functional as Fclass DSConv(nn.Module):  # EnhancedDepthwiseConvdef __init__(self, c1, c2, k=3, s=1, act=True, depth_multiplier=2):super(DSConv, self).__init__()self.block = nn.Sequential(nn.Conv2d(c1, c1*depth_multiplier, kernel_size=k, stride=s, padding=k//2, groups=c1, bias=False),nn.BatchNorm2d(c1 * depth_multiplier),nn.GELU() if act else nn.Identity(),nn.Conv2d(c1*depth_multiplier, c2, kernel_size=1, stride=1, padding=0, bias=False),nn.BatchNorm2d(c2),nn.GELU() if act else nn.Identity())def forward(self, x):return self.block(x)class ESSamp(nn.Module):def __init__(self, c1, c2, k=3, s=1, act=True, depth_multiplier=2):super(ESSamp, self).__init__()self.dsconv = DSConv(c1 * 4, c2, k=k, s=s, act=act,depth_multiplier=depth_multiplier)self.slices = nn.PixelUnshuffle(2)#self.slices = PixelSliceConcat()def forward(self, x):x = self.slices(x)return self.dsconv(x)if __name__ == "__main__":# 创建测试输入batch_size, channels, height, width = 4, 64, 32, 32x = torch.randn(batch_size, channels, height, width)# 测试 ESSamp 模块slcam = ESSamp(channels, channels)out = slcam(x)print(f"输入形状: {x.shape}")print(f"输出形状: {out.shape}")

输出结果:
在这里插入图片描述

六、总结

PRNet 的成功在于其返璞归真的设计哲学——珍视并高效利用最原始的信息。它没有堆砌复杂的后处理模块,而是从特征提取的源头(下采样)和特征融合的核心(颈部网络)入手,系统性地解决了小目标检测中的信息退化问题。

对于关注模型优化、下采样方法和多尺度特征融合的研究者与工程师而言,PRNet 提供了一个极具启发性的新范式。它不仅在学术上推动了小目标检测的发展,其优异的实时性能也为其在无人机、智慧城市等实际场景中的落地应用铺平了道路。

http://www.dtcms.com/a/511302.html

相关文章:

  • 政务服务中心 网站建设html代码模板免费
  • Java日志收集技术
  • Gartner发布2026年十大战略技术趋势
  • 2025无人机在农业生态中的应用实践
  • 在 UOS(统信操作系统,基于 Debian/Ubuntu 体系)上编译 OpenCV 4.10.0
  • High-quality Surface Reconstruction using Gaussian Surfels 论文阅读
  • 百度地图多维检索:自然语言理解的深度搜索实践
  • 软件下载网站地址网站建设好了怎么进行推广
  • 牛客:NC16783拼数
  • UV技术:高效杀菌与精准固化的未来之光
  • PB级数据洪流下的抉择:从大数据架构师视角,深度解析时序数据库选型与性能优化(聚焦Apache IoTDB)
  • 时序数据库TDengine用法
  • 重庆市建设网站公司经济师考试时间2023报名时间
  • 第3章,[标签 Win32] :窗口类06,实例句柄与图标光标
  • 带你了解STM32:PWR电源控制
  • React Hooks完全指南
  • 多线程之ThreadLocal
  • 如何修改root密码
  • (三)React技术核心思想——组件化编程
  • 国外唯美flash个人网站欣赏建设网银
  • 【NVIDIA-H200-3】3节点all-reduce-三节点扩展的性能边界:NVIDIA H200 24 卡集群 all-reduce 通信效率深度剖析
  • D026 vue3+django 论文知识图谱推荐可视化系统 | vue3+vite前端|neo4j 图数据库
  • 桃浦做网站常德经开区网站官网
  • ODOO数据文件(XML、CSV、SQL)是如何转换并加载到 Odoo 数据库
  • ArcGIS JSAPI 学习教程 - 要素图层(FeatureLayer)分类、分组设置可视化样式(ClassBreaksRenderer)
  • 10天!前端用coze,后端用Trae IDE+Claude Code从0开始构建到平台上线
  • [JavaEE初阶] 传输层协议---UDP 相关笔记
  • 考研408《操作系统》复习笔记,第二章《2.3 进程调度》
  • 网站开发流程有哪几个阶段网站关键词多少个合适
  • GitHub 热榜项目 - 日榜(2025-10-21)