捡漏拿奖赛事(目前拿奖率71%):讯飞遥感倾斜舰船检测赛题

 Datawhale干货 

方向:计算机视觉,科大讯飞赛事

  • 赛题名称:遥感图像倾斜舰船小目标检测挑战赛

  • 赛题类型:计算机视觉、物体检测

  • 捡漏赛题:8月31截止,目前提交人数14人,目前拿奖率71%

  • 赛题举办:上海海事大学

  • 赛题链接👇:

https://challenge.xfyun.cn/topic/info?type=tilting-ship&ch=vWxQGFU

赛题背景

遥感图像中的小目标检测也是面临重大挑战的问题之一。随着遥感技术的发展和遥感图像数据的大量获取,小目标检测成为了遥感图像处理的重要研究方向。然而,由于小目标物体通常尺寸较小、形状复杂、背景复杂多变,目标检测的精度和效率很难得到保证。

目前,基于深度学习的小目标检测技术逐渐成熟,但在实际应用中,面临着许多挑战。比如,小目标物体数量多、目标尺寸小、背景复杂、光照条件差、噪声干扰大等问题。这些问题给小目标检测的精度和效率带来了很大的影响。

赛事任务

针对这些挑战,可以通过提高算法的鲁棒性和可靠性,改善数据质量、优化算法参数等方式来提升小目标检测的性能。同时,通过引入多种检测手段、加强数据清洗等措施来防止小目标检测中的误检和漏检问题。

赛题数据集

在给定的遥感图像数据集上,参赛者需要使用目标检测算法对图像中的倾斜舰船目标进行检测和识别,输出目标的类别和检测框信息。

ccff56dca1707f0d4114e2a220d50e9c.jpeg

  • 初赛数据集:数据集包含遥感图像,图像中可能会包含多个小目标,每个目标的类别和位置信息都有对应的标注文件。

  • 复赛数据集:数据集包含多种成像模式、多种极化方式、多种分辨率切片,通过自动标注和人工修正相结合的方式高效标注,具有旋转方向任意、长宽比大、小目标占比高和场景丰富的特点。

评价指标

本模型依据提交的结果文件,采用mAP@.5:0.95进行评价。

赛题思路

赛题是一个典型的物体检测任务,且赛题已经处理好了数据集为YOLO格式。接下来只需要定义YOLO 配置文件,就可以训练。

  • dataset.yaml

# Train/val/test sets as 
## 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]


#path: ../datasets/coco128  # dataset root dir
train: /home/lyz/work/kaggle/科大讯飞2023/遥感图像倾斜舰船小目标检测挑战赛/yolo-dataset/images/train  # train images (relative to 'path') 128 images
val: /home/lyz/work/kaggle/科大讯飞2023/遥感图像倾斜舰船小目标检测挑战赛/yolo-dataset/images/val # val images (relative to 'path') 128 images
# test:  # test images (optional)

# Classes
nc: 1  # number of classes
names: ['ship']  # class names
  • 训练代码

from ultralytics import YOLO
model = YOLO("./yolov8m.pt")
results = model.train(data="./yolo-dataset/dataset.yaml", epochs=20, batch=3, imgsz=1280, device='0')
  • 预测代码

from ultralytics import YOLO
import glob
model = YOLO("./best.pt")

for path in glob.glob('/work/data/object-detection-for-tilting-ships-test-set/*'):
    predictions = model.predict(path, imgsz=640)
    with open("/work/output/" + path.split('/')[-1][:-4] + '.txt', 'w') as file:
        for idx, prediction in enumerate(predictions[0].boxes.data):
            cls = int(predictions[0].boxes.cls[idx].item())
            cls = 'ship'
            score = predictions[0].boxes.conf[idx].item()
            file.write(f"{cls} {score} {int(prediction[0].item())} {int(prediction[1].item())} {int(prediction[2].item())} {int(prediction[3].item())}\n")
  • 模型打包和提交

!tar -cvzf tilting-ship.tar.gz tilting-ship
!s3cmd put tilting-ship.tar.gz s3://ai-competition/0fs76epw/tilting-ship.tar.gz

完整代码见👇:

https://github.com/datawhalechina/competition-baseline/tree/master/competition/%E7%A7%91%E5%A4%A7%E8%AE%AF%E9%A3%9EAI%E5%BC%80%E5%8F%91%E8%80%85%E5%A4%A7%E8%B5%9B2023

2aa5cb2bdb7008928e0606a2ff6ef624.png干货学习,三连

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值