yolo11卫星影像与光学遥感图像船舶与飞机等检测

发布时间:2026/5/21 8:40:20

yolo11卫星影像与光学遥感图像船舶与飞机等检测 文章目录卫星图像中的目标检测基于YOLOv11和DIOR数据集的实现项目结构引言目标数据集数据预处理模型训练与测试结论卫星图像中的目标检测基于YOLOv11和DIOR数据集的实现项目结构完整的代码位于名为 yolov8.ipynb 的Jupyter Notebook中。所有模型训练和测试的结果存储在项目的“runs”目录下。引言深度学习技术日新月异计算机视觉领域中出现了多种神经网络架构这些模型能够进行分类、检测、跟踪和分割等任务。然而在遥感图像或卫星影像的应用上仍然存在改进的空间。自然场景图像与卫星影像之间的主要区别在于图像表示方式的不同。卫星影像中物体的信息仅限于俯视角度即物体的顶部而自然场景图像则包含来自不同方向的各种信息。在卫星图像中物体边缘提供了大量关于物体表征的信息但这也可能使模型产生混淆此外阴影、季节变化、昼夜时间差异以及拍摄高度等因素都会影响图像的亮度和对比度从而对图像质量造成影响。因此对于计算机视觉模型而言处理卫星图像是一项具有挑战性的任务。目标本项目的首要目标是构建一个能够在卫星影像/光学遥感图像中分类并检测多个不同类型物体的模型。另一个目标是测试最新版本的YOLO模型YOLO V8的能力。数据集在这个项目中我使用了DIOR数据集。该数据集包含了20个不同的类别涵盖了从微小到大型的物体。整个数据集共有23,463张图像按照50%的比例划分为训练集和测试集。这些图像是随机打乱的并且具有高质量800 x 800像素。尽管如此数据集中也存在一些不足之处例如某些物体缺少标注信息以及各物体之间样本分布不均的问题。数据预处理预处理工作主要集中在注释文件上。原始注释采用Pascal VOC格式即.xml文件这种格式不适用于YOLO模型。因此我将注释文件转换为了符合YOLO格式的.txt文件。原始的数据划分是50%用于训练50%用于测试这样的比例并不理想。为了改善这一点我进行了调整保持50%的图像仅用于训练而将测试集进一步划分为20%-80%分别用于验证和最终测试。模型训练与测试我选择了的YOLOv8n模型来进行本项目的实验 - 。针对这个自定义数据集我在原始大小为800px的图像上以16的批量大小从零开始训练模型总共训练了50个epoch。我没有改变图像尺寸因为压缩图像会导致数据丢失而且考虑到物体本身已经很小这样做会降低物体及其整体数据集的质量。模型在9391张图像上进行了测试取得了良好的效果mAP50为0.71mAP50-95为0.485。您可以在Notebook和“runs”目录中查看完整的代码和模型结果。除了在数据集上的测试外我还使用了一段Google Earth视频片段来测试模型对视频文件的表现以下是部分测试结果ships_test_pred.1.mp4airplane_test_pred.1.mp4结论YOLOv8不仅速度快而且功能强大。最值得注意的是它的轻量级特性这使得它可以在成本较低的GPU上轻松运行。在我的案例中使用A4000 GPU训练超过20,000张图像的过程非常顺利整个模型训练耗时不到两个半小时。这对于利用小型数据集快速进行实验来说是非常理想的。DIOR数据集是一个大型且高质量的数据集。通过合并整个数据集并用不同大小的YOLOv8模型进行更小规模和受控的实验可以进一步提升性能。目前我只使用了最轻量级的模型实际上还有四个更大、更复杂的YOLOv8模型可供选择。

相关新闻