【论文笔记】Sign Language Transformers: Joint End-to-end Sign Language Recognition and Translation

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Sign Language Transformers: Joint End-to-end Sign Language Recognition and Translation
作者: Necati Cihan Camgo, Oscar Kollerq, Simon Hadfield and Richard Bowden
发表: 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)
DOI: 10.1109/CVPR42600.2020.01004

基本信息

摘要

先前关于手语翻译的研究表明,拥有中级手语词汇表示(有效识别单个手势)可以显著提高翻译性能。事实上,当前最先进的翻译技术需要词汇级别的标记化才能运行。我们提出了一种基于Transformer的新型架构,该架构可以联合学习连续手语识别和翻译,并且可以端到端地训练。 这是通过使用连接主义时序分类(CTC)损失将识别和翻译问题绑定到单个统一架构中实现的。这种联合方法不需要任何真实时间信息,同时解决了两个相互依赖的序列到序列学习问题,并导致了显著的性能提升。

我们评估了我们的方法在具有挑战性的RWTH-PHOENIX-Weather-2014T(PHOENIX14T)数据集上的识别和翻译性能。我们报告了我们的手语Transformer实现的最先进的手语识别和翻译结果。我们的翻译网络在签视频到口语和词素到口语翻译模型方面均表现优异,在某些情况下性能翻倍(9.58 vs. 21.80 BLEU-4得分)。我们还分享了使用Transformer网络进行其他几个文本到文本手语翻译任务的新基线翻译结果。

手语识别与手语翻译

连续手语识别与手语翻译

  • 孤立手语识别: Sign Language Video -> Single Sign Language Gloss
  • 连续手语识别: Sign Language Video -> Continuous Sign Language Glosses
  • 手语翻译: Sign Language Video -> Spoken Language Translations

以往工作与当前工作

Sign2Text

Sign2Text

直接建模手语视频自然语言文本的翻译任务。虽为端到端架构,但往往无法得到很好的性能。

Sign2Gloss2Text

Sign2Gloss2Text

将手语视频到自然语言文本任务分解为手语视频手语Gloss再到自然语言文本的两级任务。分解后的两级任务分别训练,能够利用到手语Gloss的标签,并且简化了翻译任务。由于显式得到了手语的Gloss,其无法进行端到端的训练,也带来了信息瓶颈

Sign2(Gloss+Text)

Sign2(Gloss+Text)

本文提出了一种新的架构,并不显式地获得手语Gloss,而是通过CTC损失来利用手语Gloss标签,并通过Transformer的Attention机制来捕获手语视频中的语义信息。

模型框架

Sign Language Transformers

A detailed overview of a single layered Sign Language Transformer.

结构基本等同于Transformer,区别如下:

  1. Encoder端的输入替换为了视频帧,因此原本的Word Embedding层被替换为了Spatial Embedding层(本质上为预训练过的CNN)。
  2. Encoder端的输出通过一个Classifier利用CTC损失进行训练。

实验

实验设置

实验设置

Spatial Embedding

Pretrained CNN

在手语数据集上预训练过的CNN会比仅在ImageNet上预训练的CNN效果更好。

BN & ReLU

使用 Batch Norm 和 ReLU 也能带来显著的性能提升。

Loss Weight

Loss Weight

识别损失(即CTC损失)并不仅仅作用于识别任务,它对下游的翻译任务也有帮助。因此适当的Loss权重选择对两个任务都有益。

主实验

主实验

本文表现最佳的翻译模型Sign2(Gloss+Text)结果超越了以往被视为手语翻译任务伪上限的Gloss2Text的结果(以往的观点认为,Gloss2Text相当于Sign2Gloss2Text中Sign2Gloss任务已完美完成,因此将Gloss2Text的结果作为Sign2Text的性能上限),一定程度上证明了显式使用Gloss确实会引入信息瓶颈。

总结与展望

总结与展望

  • 提出了一个端到端的基于Transformer的手语翻译架构,可以避开显示使用手语Gloss带来的信息瓶颈。
  • 联合学习(同时使用CTC损失和翻译损失)有益于两个任务,Sign2Text能够取得比Gloss2Text更好的效果。
  • Transformer结构表现良好,在翻译环节的各个任务中都取得了SOTA。
  • 仍然需要Gloss标签来监督训练,未来将会关注更多的手语发音器官(除双手以外,还包含面部以及其他肢体部分)。
### 软件测试实习生简历模板与写法 #### 1. 简历基本信息部分 在简历开头应清晰展示个人信息,包括姓名、联系方式、邮箱地址以及可选的GitHub链接或个人博客。这部分需简洁明了。 #### 2. 实习经历描述 对于软件测试实习生而言,实习经历是核心内容之一。以下是具体的写法示例: - **公司名称**: ABC科技有限公司 - **职位名称**: 软件测试实习生 - **工作时间**: 20XX年X月 - 20XX年X月 **职责描述**: - 参与功能测试、性能测试和兼容性测试,确保产品在不同设备上的稳定性和一致性[^1]。 - 使用工具(如 JMeter 或 Selenium)完成自动化脚本开发,提升测试效率并减少重复劳动[^3]。 - 编写详细的缺陷报告,并通过 Bugzilla 或 Jira 进行跟踪管理,推动问题及时解决。 - 协助团队分析测试数据,提供改进建议以优化用户体验。 #### 3. 技能清单 技能部分应当突出技术能力及相关经验,例如: - 掌握主流测试框架(Selenium, Appium),能够独立搭建自动化测试环境。 - 熟悉 SQL 数据库操作,具备基本的数据查询与维护能力。 - 对敏捷开发流程有一定了解,熟悉 Scrum 方法论及其应用。 #### 4. 项目经验模块 如果有参与过的具体项目,则需要单独列出并详述贡献价值。比如: - **项目名称**: 移动端电商APP质量保障方案设计 - **角色定位**: 测试工程师 - **成果亮点**: 设计了一套完整的回归测试计划,在两周内发现并修复超过50个潜在Bug;引入性能监控机制后,页面加载速度提升了约20%。 --- ```python # 自动化测试代码片段 (Python) from selenium import webdriver def test_login(): driver = webdriver.Chrome() try: # 打开目标网站 driver.get("https://example.com/login") # 定位用户名输入框并填写信息 username_field = driver.find_element_by_id('username') username_field.send_keys('test_user') # 密码字段处理同理... submit_button = driver.find_element_by_name('submit') submit_button.click() assert 'Dashboard' in driver.title finally: driver.quit() ``` 上述代码展示了如何利用 Selenium 构建简单的登录验证逻辑。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小嗷犬

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值