---
title: ShipsEarNoiseMixed
canonical_url: "https://www.modelscope.cn/datasets/schwarz11/ShipsEarNoiseMixed"
md_url: "https://www.modelscope.cn/datasets/schwarz11/ShipsEarNoiseMixed.md"
repository: schwarz11/ShipsEarNoiseMixed
chinese_name: "音频识别在海洋工程中的应用-ShipsEar(混噪）数据集"
last_updated: 2026-10-31
license: "MIT License"
storage_size: "6.0 GB"
downloads: 12538
stars: 0
---

# ShipsEarNoiseMixed

> ShipsEarNoiseMixed - schwarz11 在 ModelScope 开源的数据集。ShipsEarNoiseMixed —— 西班牙西北部近岸实测船舶辐射噪声（ShipsEar 原始录音）+ 两种噪声、四个信噪比等级的混噪子集，面向水声目标识别（UATR）与低信噪比鲁棒性评测。

schwarz11/ShipsEarNoiseMixed 是 ModelScope 魔搭社区上的数据集，存储大小 6.0 GB，采用 MIT License 许可。

- **Repository**: schwarz11/ShipsEarNoiseMixed
- **License**: MIT License
- **Storage size**: 6.0 GB
- **Downloads**: 12538
- **Stars**: 0
- **Last updated**: 2026-10-31

Source: https://www.modelscope.cn/datasets/schwarz11/ShipsEarNoiseMixed

---

# ShipsEar（混噪）数据集

**ShipsEarNoiseMixed** —— 西班牙西北部近岸实测船舶辐射噪声（ShipsEar 原始录音）+ 两种噪声、四个信噪比等级的混噪子集，面向水声目标识别（UATR）与低信噪比鲁棒性评测。

| 项目 | 内容 |
| --- | --- |
| 数据来源 | 西班牙维戈大学（Universidade de Vigo）ShipsEar 数据库 |
| 数据规模 | 90 条原始录音（约 3.15 h）＋ 1,999 个 5 s 片段 × 9 个版本（干净 ×1、混噪 ×8） |
| 音频格式 | 原始：44.1 / 52.734 kHz、16 / 24 bit 单声道 PCM；片段：16 kHz、32 bit float 单声道 |
| 任务类型 | 音频分类（4 类）、低信噪比鲁棒性评测 |
| 标注方式 | 按原始录音所属船舶类别（文件夹名即标签），片段标签继承自所属录音 |
| 文件总量 | 约 6.4 GB |
| 许可协议 | MIT License（原始 ShipsEar 数据版权归 Universidade de Vigo 所有，详见下文） |
| 原论文 | http://dx.doi.org/10.1016/j.apacoust.2016.06.008
---

## 数据集描述

### 数据集简介

ShipsEar 由西班牙维戈大学在西班牙西北部（Ría de Vigo 及其邻近海域）采集，使用水下听音器记录过往船舶的辐射噪声，共 90 条录音，涵盖 11 种船舶类型以及海洋环境噪声。按船舶类型划分为 A、B、C、D 四个目标类别，另以 E 类表示实测海洋环境噪声（风、雨、浪、海流等）。

本数据集在保留 ShipsEar 原始录音（未切割）的同时，额外提供一套**统一预处理 + 混噪**的片段版本，用于水声目标识别模型在低信噪比条件下的训练与评测：

- 所有目标录音统一重采样至 **16 kHz**，按**不重叠 5 s** 切片，共得到 **1,999** 个片段；
- 在干净片段上分别叠加两类噪声——**加性高斯白噪声（GaussN）** 与 **同数据集 E 类实测海洋环境噪声（SelfN）**；
- 每个噪声类型生成 **+5、0、−5、−10 dB** 四个信噪比版本，每个版本均包含 1,999 个片段；
- 混噪流程、信噪比定义与归一化方式详见下文「数据集生成的相关信息」。

该数据集适用于：水声目标识别基线复现、噪声鲁棒性与低信噪比性能评估、数据增强/去噪/域适应方法验证。

### 数据集支持的任务

| 任务 | 说明 |
| --- | --- |
| 音频分类（Audio Classification） | 4 类船舶目标（A/B/C/D）单标签分类 |
| 低信噪比鲁棒性评测 | 在 +5 / 0 / −5 / −10 dB 下比较模型性能衰减 |
| 噪声类型泛化 | 高斯噪声训练 → 实测噪声测试（及反向）的跨噪声泛化 |
| 数据增强 / 语音增强 | 以干净片段为标签、混噪片段为输入的有监督增强 |

---

## 数据集的格式和结构

### 目录结构

```text
ShipsEarNoiseMixed/
├── Original ShipsEar Dataset/          # 原始录音（未切割，90 条）
│   ├── A/                              # 17 条：渔船、拖网船、贻贝养殖船、拖船、挖泥船
│   ├── B/                              # 19 条：摩托艇、引航船、帆船
│   ├── C/                              # 30 条：客渡船
│   ├── D/                              # 12 条：远洋邮轮、滚装船
│   └── E/                              # 12 条：海洋环境噪声（风、雨、浪、海流）
├── GaussN/                             # 高斯白噪声混噪片段（4 个 SNR）
│   ├── Gaussian_SNR_5dB.zip            # 1,999 个 wav
│   ├── Gaussian_SNR_0dB.zip
│   ├── Gaussian_SNR_neg5dB.zip
│   └── Gaussian_SNR_neg10dB.zip
├── SelfN/                              # 实测海洋环境噪声（E 类）混噪片段（4 个 SNR）
│   ├── SNR_5dB.zip                     # 1,999 个 wav
│   ├── SNR_0dB.zip
│   ├── SNR_neg5dB.zip
│   └── SNR_neg10dB.zip
├── dataset_infos.json                  # 数据集元信息（audio 特征）
└── README.md
```

> 说明：所有混噪数据以 ZIP 压缩包分发，每个压缩包约 575–593 MB。解压后根目录名与压缩包一致（如 `Gaussian_SNR_0dB/`、`SNR_0dB/`），其下按类别 `A/ B/ C/ D/` 组织。

### 数据格式

**（1）原始录音**

| 字段 | 说明 |
| --- | --- |
| 文件命名 | `<序号>__<日期DD_MM_YY>_<船名/类型>_<状态>.wav`，如 `15__10_07_13_radaUno_Pasa.wav` |
| E 类命名 | `85__E__1L.wav`、`93__A__Draga_1.wav` 等 |
| 采样率 | 44,100 Hz 或 52,734 Hz（各文件不一致，读取时请以文件头为准） |
| 位深 / 声道 | 16 bit 或 24 bit PCM，单声道 |
| 时长 | 单条 10 s–11.4 min，合计约 3.15 h |

**（2）混噪片段**

| 字段 | 说明 |
| --- | --- |
| 文件命名 | `<原始文件名>_<类别>-Segment_<k>.wav`，如 `15__10_07_13_radaUno_Pasa_A-Segment_1.wav` |
| 采样率 / 位深 | 16,000 Hz，32 bit float（IEEE float，WAV_FORMAT_EXTENSIBLE），单声道 |
| 单文件大小 | 320,080 B（5 s × 16,000 Hz × 4 B ＋ 80 B 头） |
| 片段长度 | 5 s（80,000 采样点），不重叠 |
| 标签来源 | 目录名（`A`/`B`/`C`/`D`），与原始录音类别一致 |

---

## 数据集加载方式

推荐使用 ModelScope CLI 或 Git 拉取，再按需解压 ZIP。示例环境：Python ≥ 3.9，`soundfile`、`numpy`、`torch`（可选）。

### 1. 下载数据

```bash
# 方式一：ModelScope CLI（推荐）
pip install modelscope
modelscope download --dataset schwarz11/ShipsEarNoiseMixed --local_dir ./ShipsEarNoiseMixed

# 方式二：Git（需安装 git-lfs）
git lfs install
git clone https://www.modelscope.cn/datasets/schwarz11/ShipsEarNoiseMixed.git
```

### 2. 解压混噪子集并读取片段

```python
import os
import glob
import zipfile
import soundfile as sf

root = "./ShipsEarNoiseMixed"
zip_path = os.path.join(root, "GaussN", "Gaussian_SNR_0dB.zip")
out_dir = os.path.join(root, "GaussN_0dB")

with zipfile.ZipFile(zip_path) as z:
    z.extractall(out_dir)

files = sorted(glob.glob(os.path.join(out_dir, "Gaussian_SNR_0dB", "*", "*.wav")))
print(len(files))                       # 1999

x, sr = sf.read(files[0], dtype="float32")
print(x.shape, sr)                      # (80000,) 16000

label = os.path.basename(os.path.dirname(files[0]))   # 'A' / 'B' / 'C' / 'D'
print(label)
```

### 3. 构建 PyTorch Dataset（对数梅尔谱示例）

```python
import torch
import torchaudio

class ShipsEarSeg(torch.utils.data.Dataset):
    def __init__(self, wav_files, labels=("A", "B", "C", "D")):
        self.files = wav_files
        self.lut = {c: i for i, c in enumerate(labels)}
        self.mel = torchaudio.transforms.MelSpectrogram(
            sample_rate=16000, n_fft=2048, hop_length=512,
            n_mels=224, f_min=20, f_max=8000)
        self.db = torchaudio.transforms.AmplitudeToDB()

    def __len__(self):
        return len(self.files)

    def __getitem__(self, idx):
        path = self.files[idx]
        wav, sr = torchaudio.load(path)          # (1, 80000)
        feat = self.db(self.mel(wav)).squeeze(0) # (224, T)
        label = self.lut[path.split(os.sep)[-2]]
        return feat, label
```

### 4. 读取原始录音（未切割）

```python
import soundfile as sf

path = "./ShipsEarNoiseMixed/Original ShipsEar Dataset/A/15__10_07_13_radaUno_Pasa.wav"
info = sf.info(path)
print(info.samplerate, info.channels, info.subtype, info.duration)
# 52734 1 PCM_24 44.53...

x, sr = sf.read(path, dtype="float32")   # 建议随后统一重采样至 16 kHz
```

### 数据集分片

片段级划分在**类别内**按约 70% / 15% / 15% 随机划分（随机种子 42）。混噪实验中，同一片段的 5 个版本（干净 + 4 个 SNR）绑定为一个整体，只会落入训练、验证或测试之一；训练/验证集每个片段随机取一个版本，测试集中 5 个版本全部参与评测。

| 类别 | 船舶类型 | 原始录音 | 原始时长 | 5 s 片段 | 训练 | 验证 | 测试（干净） | 测试（含 5 个 SNR 版本） |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| A | 渔船、拖网船、贻贝养殖船、拖船、挖泥船 | 17 | 31.4 min | 369 | 258 | 55 | 56 | 280 |
| B | 摩托艇、引航船、帆船 | 19 | 26.1 min | 301 | 210 | 45 | 46 | 230 |
| C | 客渡船 | 30 | 71.3 min | 843 | 590 | 126 | 127 | 635 |
| D | 远洋邮轮、滚装船 | 12 | 41.0 min | 486 | 340 | 72 | 74 | 370 |
| E | 海洋环境噪声（仅作混噪噪声源） | 12 | 19.1 min | — | — | — | — | — |
| **合计** | — | **90** | **约 3.15 h** | **1,999** | **1,398** | **298** | **303** | **1,515** |

> 划分仅为本数据集维护者提供的参考划分，可按需重新划分；重新划分时建议保持"片段版本绑定"与"按类别分层"两条约束。

---

## 数据集生成的相关信息

### 原始数据

原始数据为 ShipsEar 数据库公开发布的 90 条实测录音，采集于西班牙西北部近岸海域，覆盖不同季节、海况与船舶操纵状态（进港、出港、等待、通过等）。本仓库中的 `Original ShipsEar Dataset/` 为其**未切割**版本，未做重采样或重编码。

### 数据集标注

ShipsEar 的标注即录音所属的船舶类别，由原始数据提供方依据船舶类型完成：

| 类别 | 包含船舶类型 |
| --- | --- |
| A | 渔船（fishing boats）、拖网船（trawlers）、贻贝养殖船（mussel boats）、拖船（tugboats）、挖泥船（dredgers） |
| B | 摩托艇（motorboats）、引航船（pilot boats）、帆船（sailboats） |
| C | 客渡船（passenger ferries） |
| D | 远洋邮轮（ocean liners）、滚装船（ro-ro vessels） |
| E | 海洋环境噪声（风、雨、浪、海流），不参与目标分类，仅作为混噪噪声源 |

片段标签由所属录音继承，`A-Segment_k` 即表示该片段属于 A 类录音的第 k 个 5 s 片段。

### 混噪流程

1. **重采样与切片**：目标录音（A–D）统一重采样至 16 kHz，按不重叠 5 s 切分，得到 1,999 个片段（A 369 / B 301 / C 843 / D 486）。
2. **噪声构造**：GaussN 为与片段等长的加性高斯白噪声（随机种子固定为 42）；SelfN 取自同数据集 E 类实测海洋环境噪声，截取/拼接至与片段等长。
3. **按目标 SNR 缩放叠加**：噪声按目标信噪比缩放后与干净片段相加，使混合信号在**波形域的 RMS 信噪比**等于目标值。
4. **防削波归一化**：若混合信号峰值超过 1，则整体归一化，避免削波失真。
5. **版本生成**：每个噪声类型生成 +5、0、−5、−10 dB 四个版本，每个版本 1,999 个片段；同一实验内训练、验证、测试使用**同一种噪声类型**。

### 数据统计

| 项目 | 数值 |
| --- | --- |
| 原始录音 | 90 条 / 约 3.15 h / 约 1.6 GB |
| 干净片段 | 1,999 × 5 s ≈ 2.78 h |
| 混噪版本 | 8 套（GaussN ×4 SNR，SelfN ×4 SNR），每套 1,999 个片段 |
| 混噪片段总量 | 15,992 个（8 × 1,999） |
| 混噪数据体积 | 约 4.6 GB（8 个 ZIP，单个 575–593 MB） |

---

## 数据集版权信息

- **原始 ShipsEar 数据**：版权归 Universidade de Vigo（西班牙维戈大学）所有，仅供学术研究使用。使用原始录音请引用 Santos-Domínguez 等（2016）。
- **本仓库的整理与混噪派生数据**（切片、混噪版本、划分、文档）：以 **MIT License** 发布，可自由用于研究与商业用途，但须保留版权与许可声明，并引用下文文献。
- 若需将数据用于商业产品或再分发原始录音，请先与原始数据版权方确认授权范围。

---

## 引用方式

若使用本数据集（尤其是混噪子集），请引用原始 ShipsEar 论文：

```bibtex
@article{santos2016shipsear,
  title   = {ShipsEar: An underwater vessel noise database},
  author  = {Santos-Dom{\'i}nguez, David and Torres-Guijarro, Soledad and
             Cardenal-L{\'o}pez, Antonio and Pena-Gimenez, Antonio},
  journal = {Applied Acoustics},
  volume  = {113},
  pages   = {64--69},
  year    = {2016},
  doi     = {10.1016/j.apacoust.2016.06.008}
}

```

---

## 其他相关信息

- **类别不均衡**：C 类（客渡船）片段数约为 B 类的 2.8 倍，训练时建议使用类别平衡采样，评测时建议同时报告总体准确率与各类别召回率/宏平均 F1。
- **噪声为人工叠加**：GaussN 与 SelfN 均为仿真混噪，与真实海试中的信道失真、混响、多目标干扰仍有差异；结论外推到实际海况时需谨慎。
- **单一海域**：原始录音均来自西班牙西北部近岸，船舶类型与海洋环境具有地域性，跨海域泛化需额外验证。
- **采样率不一致**：原始录音为 44.1 kHz 或 52.734 kHz，直接混用前请统一重采样；混噪片段已统一为 16 kHz。
- **评测建议**：报告 +5 / 0 / −5 / −10 dB 四档结果，并注明噪声类型（GaussN / SelfN）与划分种子，便于横向比较。

## 更新日志

| 日期 | 说明 |
| --- | --- |
| 2026-10-31 | 重构数据集卡片：补充数据来源、类别定义、混噪流程、划分统计与加载示例 |
| 2026-10-30 | 上传原始录音与 GaussN / SelfN 混噪子集 |
