YOLT遥感图像检测算法详解

article/2025/9/29 14:18:23

You Only Look Twice: Rapid Multi-Scale Object Detection InSatellite Imagery-论文链接-代码链接

目录

    • 1、需求解读
    • 2、遥感图像处理和普通图像处理的区别与联系
    • 3、YOLT检测算法分析
        • 3.1 遥感图像中的视觉挑战
        • 3.2 YOLT检测算法简介
    • 4、YOLT检测算法实现详解
        • 4.1 YOLT检测算法网络架构简介
        • 4.2 YOLT检测算法如何解决YOLO检测算法中存在的问题
        • 4.3 YOLT检测算法实现步骤
    • 5、YOLT检测算法效果展示
    • 6、个人总结
    • 参考资料
    • 注意事项

1、需求解读

  遥感图像处理(processing of remote sensing image data)是对遥感图像进行辐射校正和几何纠正、图像整饰、投影变换、镶嵌、特征提取、分类以及各种专题处理等一系列操作,以求达到预期目的的技术。遥感图像处理可分为两类:一是利用光学、照相和电子学的方法对遥感模拟图像(照片、底片)进行处理,简称为光学处理;二是利用计算机对遥感数字图像进行一系列操作,从而获得某种预期结果的技术,称为遥感数字图像处理。本文侧重于后者,在现实场景中,由于当前的卫星系统已经比较完善,已经收集到大量的数据集,针对这些数据进行有效的分析和处理可以提取出一些更加有用的信息,从而更好的服务于人类的生活。

2、遥感图像处理和普通图像处理的区别与联系

区别:

  • 遥感图像并不局限在红绿蓝三个波段。即普通图像处理一般都是RGB三通道的,而遥感图像可以是1-n个波段,这个n可以到几百;
  • 遥感图像大多有自己准确的地理坐标。即普通图像处理一般是以像点坐标为准,而遥感图像一般是具有大地(或地理)坐标的;
  • 遥感图像的值-反射率。普通的图像中,颜色被采样成了0-255这个范围。遥感图像使用反射率使得不同时期,不同地区拍的图像有了可比性;
  • 遥感图像处理的目的是为了获取地面的信息。虽然遥感在军事上的利用前景很广,但考虑到高分影像的敏感性,军事研究的保密性,遥感在学术上的意义更多的还是去反演生态参数,农业估产,气候变化,土地资源管理等;
  • 遥感图像处理强调的是如何利用影像之间的时空相关性。由于在遥感图像中检测对象总是地表,而沧海桑田这种事儿又不会在短时间内发生,所以,遥感图像是具有空间相关性和时间相关性的。

联系:
  本质上它们两者都是一种数字图像处理技术,因此遥感图像处理也可以被称之为是数字图像处理的一种特例。比如一些常见的滤波算法(均值滤波、拉普拉斯滤波),直方图拉伸这些在遥感图像中也同样适用。
  总而言之,遥感图像处理和普通图像处理具有共同的数学原理,不同的数据特征;相同的处理机制,不同的应用目标;相同的图像运算,不同的解译结果;相同的发展趋势,不同的专业侧重。

3、YOLT检测算法分析

3.1 遥感图像中的视觉挑战

  与传统的图像算法相比,遥感图像处理中面临着一些不同的视觉挑战,具体包括:

  • 小空间范围。遥感图像中的感兴趣目标通常都比较小,而且目标分布的比较密集;而不像传统图像处理中的那种大目标;
  • 复杂的旋转不变性。遥感图像中的感兴趣目标通常会具有多种旋转角度,0-360度,对算法提出了一个新的要求,即算法需要具有很好的旋转不变性;
  • 训练数据比较少。遥感图像处理中的训练数据集比较难以收集和标注,因而通常的训练数据集都比较小,这就给检测算法提出了一个新的要求;
  • 超大的分辨率。遥感图像通常具有较大的分辨率,而传统的图像处理算法都需要将图像裁剪到固定大小,对于遥感图像处理算法而言,简单的图像裁剪已经满足不了它的需求。

3.2 YOLT检测算法简介

  对于遥感图像而言,主要面临着两个主要的视觉挑战。即1)每个图像的像素数量和地理范围:单个DigitalGlobe卫星图像覆盖面积 > 64 k m 2 >64 \mathrm{km}^{2} >64km2且超过250万像素;2)感兴趣目标一般都比较小(有的甚至是0到10像素)。为了很好的解决以上的两个视觉挑战,该算法可能很好的处理任意输入大小的图片;可以使用少量的训练数据获得一个可以准确的检测到具有不同尺度的目标;该算法甚至可以很好地检测到5个像素点大小的目标

4、YOLT检测算法实现详解

4.1 YOLT检测算法网络架构简介

在这里插入图片描述
  上图展示了YOLT检测算法的网络架构。该算法是在Yolo算法的基础上面进行改进的,通过观察上图,我们可以发现:该网络共有21层;该网络中将输入图片 下采样了16倍,即将416x 416的输入图片裁剪成26x26的特征映射;为了提升算法对小目标的检测精度,网络中增加了一个Passthrough层,该层的具体细节请看该论文,其主要的作用是通过类似于ResNet的残差结构将多个层的特征连接起来来获取到更加细粒度的特征表示。

4.2 YOLT检测算法如何解决YOLO检测算法中存在的问题

在这里插入图片描述
  上图展示了YOLT算法针对YOLO算法中存在的问题所提出的解决方案。具体的问题和相应的解决方案如下所示:

  • 问题1:YOLO算法不能很好的处理具有新的或者不同寻常的比例或者不同配置的目标?
  • 解决思路:使用图片缩放和图片旋转来增强训练数据。
  • 问题2:YOLO算法不能很好的对成群的小目标进行检测,例如成群的鸟?
  • 解决思路:首先,使用一个新的网络架构来获取更加细粒度的特征;然后,对小的目标进行上采样操作;最后,在多个图像尺度上使用检测器集成。
  • 问题3:由于YOLO网络中使用到了多个下采样层,YOLO算法中使用粗粒度的特征执行BB预测?
  • 解决思路:首先,使用一个新的网络架构来获取更加细粒度的特征;然后,对小的目标进行上采样操作;最后,在多个图像尺度上使用检测器集成。
  • 问题4:YOLO网络支持的最大输入大小是600像素左右?
  • 解决思路:首先,在多个图像尺度上使用检测器集成;然后,将大的输入图片进行分块和组合。

4.3 YOLT检测算法实现步骤

步骤1-用户定义bin sizes和overlap,如果你和作者的场景比较类似,可以不用修改;
步骤2-将输入的大分辨率图片且分为特定大小的输入,论文中作者使用了416x416的输入;
步骤3-搭建上图所示的网络架构,执行网络训练;
步骤4-将裁剪好的图像块依次送入训练好的网络中执行前向推理,获取到相应的BB;
步骤5-将多个图像块的结果组合起来,15%的重复率保证了所有的区域都能被处理;
步骤6-在合成的结果上面执行NMS操作来抑制掉一部分重复的检测结果。

5、YOLT检测算法效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  上图展示了YOLT算法的检测效果。通过上面的观察,我们可以得出:YOLT可以准确的检测出图片中的车、船、飞机、房屋和机场等多个类别;YOLT可以很好的检测到图像中的小目标。
在这里插入图片描述
  上图分别展示了YOLT算法在不同的5种目标中的检测性能和速度。通过上图我们可以发现:YOLT在机场类别上能够获得最高的检测精度;同时在机场目标上能够获得最快的检测速度,主要的原因可能是机场的范围比较大。

6、个人总结

  通过上面的分析,我们可以发现,基于YOLO的改进算法YOLT能够很好的解决小目标的检测问题;该算法能够很好的解决遥感图像中的目标检测问题;该算法当前支持的类别包括:车辆、飞机、船舶、房屋和机场,对于一些新的类别,用户需要在该网络的基础上进行微调操作除此之外,作者提出了一个YOLT的改进版本simrdwn,具体的实现细节请看该链接

参考资料

[1] 原始论文

注意事项

[1] 如果您对AI、自动驾驶、AR、ChatGPT等技术感兴趣,欢迎关注我的微信公众号“AI产品汇”,有问题可以在公众号中私聊我!
[2] 该博客是本人原创博客,如果您对该博客感兴趣,想要转载该博客,请与我联系(qq邮箱:1575262785@qq.com),我会在第一时间回复大家,谢谢大家的关注.
[3] 由于个人能力有限,该博客可能存在很多的问题,希望大家能够提出改进意见。
[4] 如果您在阅读本博客时遇到不理解的地方,希望您可以联系我,我会及时的回复您,和您交流想法和意见,谢谢。
[5] 本人业余时间承接各种本科毕设设计和各种小项目,包括图像处理(数据挖掘、机器学习、深度学习等)、matlab仿真、python算法及仿真等,有需要的请加QQ:1575262785详聊,备注“项目”!!!


http://chatgpt.dhexx.cn/article/oJFsVLM4.shtml

相关文章

opencv 简单的图像检测,识别,标注,

2022/4/19 刚刚做了个升级版,就是第二种读取文件的方式,另外分函数写了 链接: python opencv 简单图像识别,标注 [升级版]_死非死的…

医学图像3D目标检测

医学图像3D目标检测 论文:3D Bounding Box Detection in Volumetric Medical Image Data: A Systematic Literature Review 这篇论文综述了近五年在三维医学数据中进行3D Bouding Box Detection的方法。 1、论文背景 VOI的提取是重要的预处理步骤,例如…

图像检测常用评价指标与数据集

评价指标 1.准确率(Accuracy) 检测时分对的样本数除以所有的样本数。准确率一般被用来评估检测模型的全局准确程度,包含的信息有限,不能完全评价一个模型性能。 2.混淆矩阵(Confusion Matrix) 混淆矩阵是以模型预测的类别数量统计信息为横轴&#xff0c…

基于Yolov5的医学图像检测

yolov5医学图像检测练手项目: 数据集分布如下: 5S改进检测结果如下,可加入注意力机制、多尺度等技术提升检测精度 专注于各个行业的落地应用,如工业检测、医学图像检测等;

图像边缘检测

文章目录 1. 什么是边缘检测2 边缘检测的常用方法及Python应用2.1 一阶微分算子2.1.1 Roberts算子2.1.2 Prewitt算子2.1.3 Sobel算子 2.2 二阶微分算子2.2.1 Laplacian算子2.2.2 Canny算子 3. 源码仓库地址 1. 什么是边缘检测 边缘检测是图像处理与计算机视觉中的重要技术之一…

图像检测:图像分类

图像分类 判断图片中是否有某个物体,一个图对应一个标签 卷积神经网络(CNN) 网络进化: 网络: AlexNet→VGG→GoogLeNet→ResNet 深度: 8→19→22→152 VGG结构简洁有效: 容易修改,迁移到其…

相似图像的检测方法

背景 以图搜图,是日常生活中我们经常会用到,例如在选购一款商品时,想要对比价格,往往会在各个购物app上通过搜图的形式来看同一款产品的价格;当你碰到某种不认识的植物时,也可以通过以图搜图的方式来获取该…

图像检测

图像中的目标检测涉及识别各种子图像并且围绕每个识别的子图像周围绘制一个边界框。 不需要判断是什么类型,后面可以做图像识别 经典网络: 图像分类的深度学习工具是区域卷积神经网络(R-CNN) 第一阶段:R-CNN->S…

计算机视觉-深度学习图像检测方法梳理

计算机视觉-深度学习图像检测方法梳理 由于之后要转方向啦,趁这段时间整理手中硕士研究方向的一些阅读笔记,这是一篇关于计算机视觉的基础知识梳理 先搞清一些小知识点 首先我们要弄清楚图像分类、目标定位、语义分割、实例分割的区别 a. 图像分类 &…

树上倍增法

一 点睛 树上倍增法不仅可以解决 LCA问题,还可以解决很多其他问题。 F[i,j] 表示 i 2^j 辈祖先,即 i 节点向根节点走 2^j 步到达的节点。 u 节点向上走 2^0步,即为 u 的父节点 x, F[u,0] x ;向上走 2^1…

光电倍增管国产型号及相关知识

国产光电倍增管 南京永纪,GDB235 参考网址 请教光电倍增管在安装、使用注意事项,谢谢 (amobbs.com 阿莫电子论坛) 光电倍增管(PMT)使用注意 光电倍增管(PMT)使用注意_滨松光子学商贸(中国)有限公司 (ham…

倍增node

倍增 普及组的内容,思想很简单,但是考的可以挺难 倍增是啥东西 “ 倍增,顾名思义,就是每次增加一倍。 展开来说,就是每次根据已经得到的信息,将考虑的范围增加一倍, 从而加速操作。倍增思想有…

倍增求LCA

一:定义 LCA指的是最近公共祖先。具体地,给定一棵有根数,若结点z既是结点x的祖先,也是结点y的祖先,则称z是x,y的公共祖先。在x,y的公共祖先中,深度最大的那个节点成为x,y…

倍增数组基础

应用: 给定一个数列a, 基本的倍增数组可以用O(1)的时间复杂度计算出区间[i,j]的最值。 具体操作: 维护倍增数组 1、状态 dp[j][i]表示区间从i到 i(2^j)-1,即以i开始长度为2^j 这个区间范围的最值。(下面以最小值为例) 2、状态转移…

倍增LCA

朴素算法求LCA,即暴力求解,当树近乎为一条链时,找祖先时一级一级向上跳,时间复杂度接近O(n),所以可以考虑一次跳尽可能大的距离,即倍增算法;一次跳2^i(i0,1,2....)级。 倍增法 一个节…

倍增算法

倍增算法 【序言】 我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标…

浅谈倍增及应用

浅谈倍增 倍增思想 原理: 倍增,即成倍增长。在处理一系列序列数据时,倍增可通过指数级的增长快速覆盖所有数据。 倍增算法采用2倍增长的方式,其核心思想是建立以下数组T a[i][j] ,表示自i向后共 2 j 2^j 2j个数据的…

倍增(ST表与LCA)

倍增(ST表与LCA) 什么是倍增? 倍增,就是成倍增长。指我们进行递推时,如果状态空间很大,通常线性递推无法满足时空复杂度要求,那么可以通过成倍增长的方式,只递推状态空间中 2 的整…

V4L2-框架

1.概述 V4L2 是专门为linux 设备设计的一套视频框架,其主体框架在linux内核,可以理解为是整个linux系统上面的视频源捕获驱动框架。 相机驱动层位于HAL Moudle 与硬件层之间,借助linux 内核驱动框架,以文件节点的方式暴露接口给用…

V4L2学习笔记

首先附上,Linux内核网站: 入口 v4l2非常棒的一篇文章 入口 内核代码查看: 入口 一个博客文档: 入口 https://lwn.net/Articles/204545/ 别人整理 关于linux内核头函数: /usr/src/xxx 系列文 在其内部有media文件…