技术实践 | 如何在YOLO11中训练tif格式4波段遥感图像?

文摘   2024-11-14 17:58   荷兰  

 RS   DL 

介绍

YOLO系列是常用的目标检测模型,目前已发展到YOLO11。很多公开的遥感数据集仅包含3个波段的RGB图像,而在实际应用中,遥感数据通常包含超过3个波段。因此,需要调整代码以适应多波段的遥感图像处理。

对于我们自己编写的代码,这个调整相对简单,但对于官方发布的复杂代码,需要逐步定位相应模块,逐一进行修改,本文基于YOLO11官方代码修改。

近期国产大模型 Kimi 推出了探索版,这里我们使用Kimi (http://kimi.ai),帮助我们找到需要调整的位置,以及代码等修改办法。

这里清晰地出了需要注意的3个部分,我们也将根据3个部分来进行说明。

  1. 对TIF格式文件的读取

这里直接给出了需要的代码,我们会在后面详细介绍。

2. 数据归一化的问题

3. 模型通道的设置

后面我们将对Kimi提到的这3个部分逐一处理。

注:关于YOLO11 RGB普通图像的基本使用,可以查看:技术实践 | YOLO11 遥感数据应用全流程, 基于DIOR遥感目标检测数据集

tif格式文件的读取

首先我们要找到要修改的代码位置

这里我们看到提到了torch.utils.data.Dataset类,通过项目内搜索,我们找到dataset.py文件

进一步我们要找到关于数据读取的部分:

根据提示我们找到了 base.py

然后,将base.py内容输入,并询问如何修改

直接得到具体的修改方式:

这样修改起来就很方便清楚了,我们根据提示加入对应内容:

数据归一化

因为我们的示例数据也是0-255的,所以这一步没有修改,需要修改时可参考Kimi的提示:

模型通道的设置

通道的设置非常关键,根据kimi的提示,可以修改配置文件,也可以修改代码。

我们可以先根据"input channels" 找到代码位置(nn/tasks.py)

这里可以直接写上 ch =4

也可以修改配置文件,加入对通道的设置即可

ch: 4


运行测试

报错,运行出现在plotting.py函数,我们先了解一下

根据提示,这个函数主要影响可视化部分,错误也是在通道数方面。搜索到关于3个通道的内容,并进行如下修改:

另外,根据Kimi的提示,mosaic可能会受到影响,我们暂时将参数设置中的mosaic 设为0(依然想使用的小伙伴可以尝试修改data/augment.py 部分内容)

顺利运行,也无报错:

拓展

这一次的过程我们尝试使用国产Kimi来辅助,可以看到能力也是非常强。我们进一步尝试了其它问题和操作:

1. 更多编程实践

2. 遥感问答

Kimi探索版会阅读网页并找到依据

3. 写作辅助

4. 联网搜索

前段时间ChatGPT新增了联网浏览器功能ChatGPT search我们发现,Kimi这个功能的出现比ChatGPT更早,而且ChatGPT search的界面显示形式也和更早的Kimi相同。

在ChatGPT的提问和界面

下面是Kimi 同样问题的结果,右侧找到的具体网站也和ChatGPT很相似。

然而,一般提到遥感数据源,更准确的是指卫星或传感器等,而不是数据数据下载平台,这里Kimi探索版的结果更准确:

总结来看,与ChatGPT相比,Kimi在日常科研中也能发挥很好的作用,且国内更容易访问。在一些尤其是中文提出的问题上,比ChatGPT理解更准确。

点击阅读原文可直接体验Kimi网页版。

遥感与深度学习
聚焦遥感与深度学习,分享相关技术、论文、书籍、资讯,团队来自国内外著名期刊作者及审稿人
 最新文章