无人机图像中的小目标检测新利器:深入解析 LAM-YOLO 模型

【导读】

随着无人机技术的发展,从交通监控到农业测绘,各类任务中对“空中视角下的小目标检测”需求激增。然而,由于无人机拍摄视角多变、目标尺寸微小、环境光照复杂等因素,传统检测模型常常出现“漏检”“误检”问题

LAM-YOLO 的提出正是为了解决这些关键难题——它不仅提升了检测准确率,还保持了优秀的实时性能,是 YOLOv8 在无人机检测场景下的重磅升级。

目录

一、LAM-YOLO 背景

二、LAM-YOLO 模型结构详解

Lighting-Occlusion Attention Module (LAM)

Involution Block

SIB-IoU Loss

多尺度辅助检测头

三、实验结果详解

模型对比实验

消融实验

分类精度提升分析

结论


一、LAM-YOLO 背景

无人机应用日益广泛,但由于拍摄视角多变、目标尺寸微小、环境光照处于府处的原因,导致当前大多数目标检测模型对小目标、重叠、遮挡目标无能不力。

  • 目标尺寸小且尺度差异大:图像中既有远处行人,也有近处车辆,尺寸跨度大。

  • 目标遮挡与密集分布:小目标往往被建筑、树木、光照遮挡,易被漏检。

  • 环境复杂:光照变化强烈,如阳光直射或夜间低光,影响模型判别能力。

LAM-YOLO 就是针对这些特点设计的专用检测模型,它基于高效的 YOLOv8 架构,通过应对性地引入光照-遮挡注意力(LAM)模块、重构性 Involution 特征融合单元、有益的框回归损失 SIB-IoU ,并增加多规格小目标检测头,从而全面推动小目标检测效果和重要特征的抽取能力。

揭示人类观觉中光照和注意力之间的关系,将人类的非观觉效应精神绘装到模型设计中,是该模型最大的特色。


二、LAM-YOLO 模型结构详解

图片

LAM-YOLO 构建在 YOLOv8 基础上,但进行三大方向的结构升级,包括注意力增强模块、特征融合方式、损失函数设计,并额外引入两个小目标检测头,全面提升小目标检测精度。

  • Lighting-Occlusion Attention Module (LAM)

图片

LAM 模块是模型核心创新,它结合了通道注意力和带窗自注意力,重点抽取遮挡和光照处理下小目标的闪烁特征。

LAM 模块包括:

  • 浅层特征提取(Conv3x3)

  • RHAG 混合注意力组,包括 Vision-Aware Attention Block (VAB) 和 Overlapping Light Attention Block (OLAB)

  • 重构单元:通过 pixel shuffle 接入高分辨率特征

LAM 模块是唯一展现所谓“云间选择注意力”的组件,能够动态调整网络对光照处理特征的敏感度。

  • Involution Block

image.png

传统卷积在空间特征对齐上存在信息损失,特别是在FPN阶段。LAM-YOLO引入Involution模块(可逆卷积),用以:

  • 针对每个像素动态生成不同卷积核

  • 实现特征图各尺度间的“位置感知”卷积处理

  • 增强局部特征细节与全局上下文之间的桥接能力

公式设计上,每个像素根据其位置和通道生成局部卷积核,通过自适应调整不同区域的处理策略。

  • SIB-IoU Loss

为提高小目标回归精度,作者设计了融合式的 Soft Inner-section Bounding-box IoU (SIB-IoU),其融合了:

  • 考虑了相对地址距离、形状绝对误差、角度损失

  • 引入多个缩放系数的辅助框,并通过 Inner-IoU 维持经验系统的放大和收缩扩展能力

  • 有效提升较低 IoU 样本的回归精度和训练收敛速度

image.png

最终损失函数为:

image.png

效果:对低IoU样本提供更强梯度信号,加速训练收敛速度,提升最终精度。

  • 多尺度辅助检测头

LAM-YOLO 在原 YOLOv8 的基础上新增两个分辨率为 320×320(P1)和 160×160(P2)的检测头,主要针对远距离极小目标。这种设计显著降低了低分辨率下的漏检率。


三、实验结果详解

  • 模型对比实验

在 VisDrone2019 数据集上,LAM-YOLO 与主流方法的对比如下:

image.png

image.png

image.png

  • LAM-YOLO mAP@0.5 = 48.8%,比 YOLOv9 提升 1.1%

  • mAP@0.5:0.95 = 29.9%,比 Cascade R-CNN 高 0.3%,超越大部分 two-stage 方法;

  • 在多元环境下同样表现出艰强的实际通用性

  • 消融实验

image.png

image.png

各模块贡献总结:

  • 小目标检测头提升最大(+3.4%)

  • LAM模块贡献约+1.1%;

  • Involution略优于传统卷积;

  • 损失函数替换(CIoU→SIB-IoU)提升 0.7%。

  • 分类精度提升分析

image.png

显然,LAM-YOLO在“人/车/摩托”等小目标上效果显著提升。


结论

LAM-YOLO 的提出,为复杂环境下的无人机小目标检测提供了全新解决方案:

  • 强化注意力机制适应复杂光照与遮挡;

  • 利用 Involution 弥补多尺度信息缺失;

  • 自定义 SIB-IoU 损失提升训练效率与精度;

  • 增设小目标检测头解决“极小目标”问题。

这使得 LAM-YOLO 在精度与实时性之间取得了良好平衡,非常适合部署在实际的无人机巡检、监控系统中。

未来方向:轻量化部署、跨场景泛化、多模态融合(如红外+可见光)等,都将是LAM-YOLO继续拓展的潜力空

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914809.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust 基础大纲

Rust 基础大纲1.Summary安装教材2 Rust 源1.Summary 安装 https://www.rust-lang.org/zh-CN/tools/install curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh# 安装完成后,验证是否成功 rustc -V cargo -V# 创建项目 cargo new my_project # 编译项…

PostgreSQL 大数据量(超过50GB)导出方案

1.正常导出导出指定库./pg_dump -d test_db -p 2360 > /home/softwares/postgresql/test_db.sql导出指定表./pg_dump -p 2360 -U postgres -t test_schema.test_table test_db > /home/softwares/postgresql/m.sql-t参数说明,-t test_schema.test_table test…

终端安全最佳实践

什么是终端安全?终端安全通过保护组织中的设备的过程,来保护公司网络免受漏洞和网络攻击。主要的任务包括:更新终端补丁、遵循相关安全标准和要求、满足各种合规性策略设置等等。终端安全和防病毒之间的区别是什么?杀毒软件可以帮…

【UE4 UE5】UE设置屏幕分辨率 全屏、窗口设置的方法

1.在蓝图中设置如下 设置全屏模式蓝图节点可以选择全屏或者窗口 2.通过执行控制台命令设置 注意:"x"是英文字母x w:窗口 f:全屏 3.通过修改项目配置文件设置。 打开 项目路径\Saved\Config\Windows下的GameUserSettings.ini文件 在文件中进行相应修改 ​…

非控制器(如 Service、工具类)中便捷地获取当前 HTTP 请求的上下文信息

非控制器(如 Service、工具类)中便捷地获取当前 HTTP 请求的上下文信息 在 Spring 框架的 Web 开发中,RequestContextHolder 是一个非常实用的工具类,它的主要作用是在非控制器(如 Service、工具类)中便捷地…

Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中创建甘特图

时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码,即可将简单的任务数据转换为动态清晰的可视化时间轴,非常适合用于报表、仪表板和规划文档。 Aspose.Cells官方试…

【RK3568 平台I2C协议与AGS10驱动开发】

RK3568 平台I2C协议与AGS10驱动开发一、I2C 总线协议基础二、I2C 通信过程详解三、AGS10 传感器概述四、AGS10驱动开发1. 硬件连接2. 设备树(DTS)配置3. 内核驱动开发五、调试与验证六、总结引言在嵌入式系统开发中,传感器数据采集是常见需求…

arm版本的ubuntu安装git或者vim等方法

看起来你在基于 ARM 的 Ubuntu 系统上安装 Vim 时遇到了问题,错误提示为“E: 无法定位软件包 vim”。这通常是因为系统的软件包列表未更新,或者该软件包在你检查的标准软件源中不可用。以下是通常可以解决这个问题的方法:1. 更新软件包列表“…

MFC扩展库BCGControlBar Pro v36.2新版亮点:可视化设计器升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v36.2已全新发布了,在这个版本中添加了一个新的扩展器控件、改进了网格和报表…

小杰学C(eleven day)——莫道浮云终蔽日,总有云开雾散时。

1.结构体(1)内容定义:1.用户自定义的数据类型2.可以包含若干不同数据类型(可相同)的成员变量3.这些数据项组合起来反应某一信息格式:struct 结构体名 (用户自定义的数据类型){数据类型 成员变量1;数据类型 …

海豚远程控制APP:随时随地,轻松掌控手机

在快节奏的现代生活中,我们常常需要在不同设备之间切换,管理手机也变得越来越重要。无论是远程办公、远程学习还是日常生活中对手机的管理,一款高效、便捷的远程控制软件都能极大地提升我们的效率。海豚远程控制APP正是这样一款功能强大的手机…

Linux/Ubuntu安装go

Linux/Ubuntu安装go1. 首先移除旧版本(如有):2. 下载Go 1.23.9安装包:3. 解压到系统目录:4. 设置环境变量(添加到~/.profile或~/.bashrc文件末尾):5.使环境变量生效:6. 验…

教程:如何快速查询 A 股实时 K线和5档盘口

实时行情数据是量化交易策略、看板系统和交易决策系统的重要输入。本文将以 Infoway API 提供的 WebSocket API 为例,教你如何使用 Python 快速接入并获取 A 股的实时 K线数据 和 盘口数据。一、准备工作安装 WebSocket 库:pip install websockets二、查…

施易德门店管理系统应用案例分析:零售女装品牌伊芙丽的全球化布局

在零售品牌的全球化进程中,如何应对不同市场的合规要求、实现本地化精细化运营,是企业面临的重要课题。施易德(Cegid)门店管理系统凭借40年的全球零售数字化服务经验,为多个品牌的海外拓展提供了支持。其中&#xff0c…

安全初级作业2

一、作业要求 1、xss-labs 1~8关 2、python实现自动化sql布尔育注代码优化(二分查找) 二、操作过程 (一)xss-labs 1~8关 1、前期准备 (1)打开小皮面板,并启动Apache和MySQL (2)将 xss-labs…

多模态大语言模型arxiv论文略读(157)

Automatic Evaluation for Text-to-image Generation: Task-decomposed Framework, Distilled Training, and Meta-evaluation Benchmark ➡️ 论文标题:Automatic Evaluation for Text-to-image Generation: Task-decomposed Framework, Distilled Training, and M…

面试150——数组字符串

88. 合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。倒序比较,避免覆…

深入理解设计模式:命令模式详解

在软件开发中,我们经常遇到需要将"请求"或"操作"封装成对象的情况。比如,GUI中的按钮点击、遥控器控制家电、事务系统中的操作回滚等场景。命令模式(Command Pattern)正是为解决这类问题而生的设计模式。本文…

自己写的 MyHttpServlet 和直接继承 HttpServlet 的区别

继承你自己写的 MyHttpServlet 和直接继承 HttpServlet 的区别如下:1. 继承 HttpServlet(官方推荐用法)HttpServlet 是 Java EE 官方提供的 Servlet 基类,已经实现了 Servlet 接口的大部分方法。它内部已经实现了 service() 方法&…

python库 maya 库的各种案例的使用详解(人性化的日期时间处理)

文章目录 一、Maya库概述 1.1 maya介绍 1.2 安装 maya 1.3 注意事项 二、基本使用 2.1 创建 MayaDT 对象 2.2 格式化输出 2.3 时间运算 三、高级使用 3.1 时区处理 3.2 时间间隔 3.3 网络时间获取 四、实际应用示例 4.1 日志时间处理 4.2 会议时间提醒 4.3 国际化时间显示 5. M…