NOAI 2025 复赛题解|第3题:声音变成图片,然后当CV题做
NOAI复赛 计算机视觉 / 音频处理
需要真题、资料,请拉到文末添加艾斯老师微信。
题目回顾
区分真实人声和 AI 合成语音。原始音频已转成梅尔频谱图,以 .pt 格式存储,形状 (1, 128, 94)。bonafide = 真实(标签 0),spoof = 合成(标签 1)。
题目提示:"可以把这道题纯当做计算机视觉题来做。"
梅尔频谱图是什么
不用纠结物理细节 😌声音 → 梅尔频谱图 = 把声音变成一张"图片"。横轴时间,纵轴频率,颜色深浅表示能量大小。形状 (1, 128, 94):单通道、128 个频率带、94 个时间帧。跟灰度图一样。
你要做的就是:对一张 128×94 的单通道图片做二分类。
思路一:ResNet18 Fine-tune
model = models.resnet18(pretrained=True) # 改第一层:频谱图是1通道,不是3通道 model.conv1 = nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False) # 改最后一层:二分类 model.fc = nn.Linear(512, 1)
ImageNet 预训练的特征提取能力(边缘、纹理、模式)对频谱图也部分适用,fine-tune 比从头训练收敛更快。
思路二:轻量 CNN
3 层 Conv + BatchNorm + MaxPool,最后用 AdaptiveAvgPool2d(1) 全局平均池化——不用手算 feature map 尺寸。比 ResNet18 小很多,训练更快,如果数据量不大效果可能接近。
思路三:频谱图的数据增强
频谱图和普通图片有一个重要区别:横轴(时间)和纵轴(频率)语义不同。
| 合理的增强 | 不合理的增强 |
| 时间方向随机裁剪 | 水平翻转(= 时间倒转) |
| 随机遮挡频率带(SpecAugment) | 垂直翻转(= 频率颠倒) |
| 加高斯噪声 | 旋转 |
知道"哪些增强能用、哪些不能用",需要理解数据本身的物理含义,这是做过音频或信号处理项目的同学的优势。
容易踩的坑
坑 1通道数不匹配
频谱图是 1 通道,ResNet18 默认 3 通道。要么改 conv1,要么 x.repeat(1,3,1,1) 复制成 3 通道。
坑 2模型太大 epoch 不够
题目提示"如果选择比 ResNet18 规模大的模型,需控制训练 epoch 数量"。不要选 ResNet50 或更大的模型。
坑 3忘了归一化
频谱图数值可能是 dB 值(负数),也可能是 0~1。检查实际范围,做归一化。
区分度在哪
• ResNet18 fine-tune 最稳,但要正确处理通道数
• 轻量 CNN 效果可能接近但训练更快
• 数据增强要尊重频谱图的物理语义
这道题不难,但"当 CV 题做"不意味着无脑套 CV 的所有技巧。频谱图有自己的规则。