usv无人船视角水面全景分割与目标检测数据集part1:全景分割数据集可用于usv无人船自动驾驶,水面全景分割等场景,数据集共1GB,2800张标准图像 part2:usv无人船目标检测数据集

 usv无人船视角水面全景分割与目标检测数据集


part1:全景分割数据集可用于usv无人船自动驾驶,水面全景分割等场景,数据集共1GB,2800张标准图像(PNG mask图标注方式)
Static Obstacle: 静态障碍物
Water: 水
Sky: 天空
Boat/ship: 船/舰船
Row boats: 划艇
Paddle board: 滑板划艇
Buoy: 浮标
Swimmer: 游泳者
Animal: 动物
Float: 浮动物体
Other: 其他
part2:usv无人船目标检测数据集,共7000余张图像,1.7GB数据量,标注桥,货船,小游船,球,垃圾,岩石,浮标,水面平台,船坞,桅杆,树,动物,草地,人类共14类目标20000余标注,涵盖雨,雾,黑夜等多种情况,

USV无人船视角水面全景分割与目标检测数据集介绍

Part 1: 全景分割数据集
  • 名称:USV无人船视角水面全景分割数据集
  • 规模:2800张标准图像,每张图像附带PNG格式的mask标注。
  • 数据量:约1GB
  • 价格:39人民币
  • 类别
    • 静态障碍物 (Static Obstacle)
    • 水 (Water)
    • 天空 (Sky)
    • 船/舰船 (Boat/ship)
    • 划艇 (Row boats)
    • 滑板划艇 (Paddle board)
    • 浮标 (Buoy)
    • 游泳者 (Swimmer)
    • 动物 (Animal)
    • 浮动物体 (Float)
    • 其他 (Other)
  • 应用场景:适用于USV无人船自动驾驶、水面环境感知等任务。
Part 2: 目标检测数据集

  • 名称:USV无人船目标检测数据集
  • 规模:7000余张图像,超过20000个标注框。
  • 数据量:约1.7GB
  • 类别
    • 桥 (Bridge)
    • 货船 (Cargo ship)
    • 小游船 (Small boat)
    • 球 (Ball)
    • 垃圾 (Garbage)
    • 岩石 (Rock)
    • 浮标 (Buoy)
    • 水面平台 (Water platform)
    • 船坞 (Dock)
    • 桅杆 (Mast)
    • 树 (Tree)
    • 动物 (Animal)
    • 草地 (Grass)
    • 人类 (Human)
  • 多样性:涵盖多种天气条件,如雨、雾、黑夜等。
  • 应用场景:适用于USV无人船的目标识别、跟踪以及避障系统开发。

代码示例

这里提供一个使用Python和常见的计算机视觉库来处理这两个数据集的基本代码示例。我们将使用cv2(OpenCV)来读取图像,并使用xml.etree.ElementTree来解析XML标注文件。

全景分割数据集加载与显示
 
import os
import cv2
import numpy as np

def load_segmentation_data(image_dir, mask_dir):
    images = []
    masks = []
    
    for filename in os.listdir(image_dir):
        if filename.endswith('.jpg') or filename.endswith('.png'):
            # 加载图像
            img_path = os.path.join(image_dir, filename)
            image = cv2.imread(img_path)
            
            # 加载对应的mask
            mask_filename = filename.replace('.jpg', '.png')
            mask_path = os.path.join(mask_dir, mask_filename)
            mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE)
            
            images.append(image)
            masks.append(mask)
    
    return images, masks

# 假设图像和mask分别存储在'image'和'mask'目录下
image_dir = 'path_to_your_image_directory'
mask_dir = 'path_to_your_mask_directory'

images, masks = load_segmentation_data(image_dir, mask_dir)

# 显示第一张图像及其对应的mask
cv2.imshow('Image', images[0])
cv2.imshow('Mask', masks[0])
cv2.waitKey(0)
cv2.destroyAllWindows()
目标检测数据集加载与显示
import os
import cv2
from xml.etree import ElementTree as ET

def parse_annotation(xml_file):
    tree = ET.parse(xml_file)
    root = tree.getroot()
    
    boxes = []
    labels = []
    
    for obj in root.findall('object'):
        label = obj.find('name').text
        bndbox = obj.find('bndbox')
        
        xmin = int(bndbox.find('xmin').text)
        ymin = int(bndbox.find('ymin').text)
        xmax = int(bndbox.find('xmax').text)
        ymax = int(bndbox.find('ymax').text)
        
        boxes.append([xmin, ymin, xmax, ymax])
        labels.append(label)
    
    return boxes, labels

def load_detection_data(image_dir, annotation_dir):
    images = []
    annotations = []
    
    for filename in os.listdir(image_dir):
        if filename.endswith('.jpg') or filename.endswith('.png'):
            # 加载图像
            img_path = os.path.join(image_dir, filename)
            image = cv2.imread(img_path)
            
            # 加载对应的annotation
            annotation_filename = filename.replace('.jpg', '.xml').replace('.png', '.xml')
            annotation_path = os.path.join(annotation_dir, annotation_filename)
            boxes, labels = parse_annotation(annotation_path)
            
            images.append(image)
            annotations.append((boxes, labels))
    
    return images, annotations

# 假设图像和标注文件分别存储在'image'和'annotation'目录下
image_dir = 'path_to_your_image_directory'
annotation_dir = 'path_to_your_annotation_directory'

images, annotations = load_detection_data(image_dir, annotation_dir)

# 显示第一张图像及其对应的标注框
img = images[0]
boxes, labels = annotations[0]

for box, label in zip(boxes, labels):
    cv2.rectangle(img, (box[0], box[1]), (box[2], box[3]), (0, 255, 0), 2)
    cv2.putText(img, label, (box[0], box[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36, 255, 12), 2)

cv2.imshow('Image with Annotations', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

这段代码提供了如何从文件系统中加载全景分割和目标检测数据集的方法,并展示了如何可视化这些数据。请根据实际情况调整路径和其他细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ_1309399183

一角两角不嫌少

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值