返回列表

33rd place solution - LB 0.758

570. Google - American Sign Language Fingerspelling Recognition | asl-fingerspelling

开始: 2023-05-10 结束: 2023-08-24 计算机视觉 数据算法赛
第33名解决方案 - LB 0.758

第33名解决方案 - LB 0.758

作者:Wonjun, Dongjoo
发布日期:2023-08-25
排名:第33名
模型大小:16MB(INT8量化后)

TL;DR

我们使用了类Conformer模型,包含Transformer编码器、带CBAM的1D卷积和双向LSTM。模型经过INT8量化后大小约为16MB。训练目标采用CTC损失结合InterCTC损失。

数据预处理

  • 使用的特征点:
    • 鼻子:1个特征点
    • 惯用手:21个特征点
    • 嘴唇:40个特征点
    • 仅使用x, y坐标
  • 归一化处理:
    • 基于鼻子坐标标准化距离
  • 特征工程:
    • 拼接归一化位置、下一帧差值、手部关节距离
    • 总维度:582维
  • 移除输入帧长度小于目标短语长度2倍的数据

数据增强

  • 水平翻转特征点
  • 插值处理
  • 仿射变换

模型架构

  • 2层堆叠编码器,包含:
    • Transformer编码器
    • 带CBAM注意力机制的1D卷积
    • 双向LSTM
    • 隐藏层维度:352
  • 损失函数:
    • CTC损失
    • 在第一层编码器后添加Inter CTC损失
  • 参数量:1700万(INT8量化后16MB)

训练策略

  • 两阶段训练(300 + 200轮):
    • 前300轮:使用补充数据和训练数据
    • 后200轮:仅使用训练数据
  • 优化器:Ranger优化器
  • 学习率调度:余弦退火调度器(12轮预热)
  • AWP(对抗权重扰动):
    • 防止验证损失发散,但对编辑距离提升不明显
    • 用于支持长轮次训练

未采用的方法

  • 增强方法:
    • 时间、空间、特征点掩码
    • 时间反转
  • 自回归解码器:
    • 使用联合损失(编码器CTC损失 + 解码器交叉熵)
    • 推理时间更长且参数量更大,但性能提升不明显,故未采用
同比赛其他方案