记录复现过程A Simple Multi-Modality Transfer Learning Baseline forSign Language Translation

论文代码和Two-Stream Network for Sign Language Recognition是一样的。https://github.com/FangyunWei/SLRT/

在github上找到其他人成功复现的过程(非常感谢!)qbdl/SingleStream-SLT: 论文复现:A Simple Multi-modality Transfer Learning Baseline for Sign Language Translation (SingleStream-SLT Baseline) (github.com)

Prerequisites

该项目所需的虚拟环境的依赖和pip安装包都在environment.yml里。



报错,两个需要pip的包版本不一致,于是我在environment.yml里注释掉了这两个包的版本。

继续重新创建环境


说环境已经存在了

把需要pip的包放在requirements.txt里重新下



pycocotools下不下来,按网上教程,只下了2.0.7的,项目本来要求2.0.4的。



最后pip list查看安装的包

Download

Datasets

项目给的download.sh(它会下载数据集并解压到对应文件夹,并预处理)会报错

下载数据集,这里以phoenix-2014t为例:

wget --no-check-certificate https://www-i6.informatik.rwth-aachen.de/ftp/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz -O data/phoenix-2014t/phoenix-2014-T.v3.tar.gz`

代码含义解释:

--no-check-certificate #不检查证书
-O,  --output-document=文件 #将文档写入 FILE

我尝试用download.sh里的命令tar -xvf data/phoenix-2014t/phoenix-2014-T.v3.tar.gz data/phoenix-2014t/​​解压,报错了

我搜到了解压.tar.gz的命令,然后cd 到phoenix-2014t文件夹(解压后的文件需要放在的地方),直接输入

tar -xzvf phoenix-2014-T.v3.tar.gz
#之后需要压缩成一个zip文件,但由于文件同名问题,没有成功压缩,所以后续都是用原有论文提供的特征提取后的数据文件
# zip -r -j data/phoenix-2014t/phoenix-2014t-videos.zip data/phoenix-2014t/phoenix-2014t.v3/PHOENIX-2014-T/features/fullFrame-210x260px/

Pretrained Models

下载预训练模型,创建并放在pretrained_models文件夹下:

下载路径: here

文件夹结构如下:

Training and Evaluation

下载Checkpoints

理解Checkpoint - 知乎 (zhihu.com)

Checkpoint是用于描述在每次训练后保存模型参数(权重)的惯例或术语。这就像在游戏中保存关卡时你可以随时通过加载保存文件回复游戏。你可以加载保存的模型权重重新开启训练甚至可以之后进行一个推理。复杂模型的训练阶段通常很长(数小时到数天到数周)。因此,为了不丢失训练进度,建议在每个epoch或每个epoch中当它在当前这个point中是这个时间下的最好权重时执行模型参数(权重)的checkpoint。

We provide checkpoints trained by each stage here.

点击here下载checkpoint并放置在目录下:

先进行测试Evaluation试试效果

这里以phoenix-2014t为例

执行下面代码,运行Sign2Text测试

dataset=phoenix-2014t #phoenix-2014t / csl-daily
python prediction.py --config experiments/configs/SingleStream/${dataset}_s2t.yaml

测试运行结果:

与项目的结果基本一致

Pretraining

这里跳过了预训练,直接拿原论文训练好的模型(s2g以及g2t) here.(原论文没有提供csl-daily的g2t文件,需要自己运行获得)。上一步已经存在路径下了,不需要额外操作。

Feature Extract

使用s3D进行视频特征提取。

特征提取这里也跳过了,采用原论文提取好的特征,上一步已经存在路径下了,不需要额外操作。

Multi-modal Joint Training

dataset=phoenix-2014t #phoenix-2014t / csl-daily
python -m torch.distributed.launch --nproc_per_node 1 --use_env training.py --config experiments/configs/SingleStream/${dataset}_s2t.yaml

训练日志在/experiments/outputs/SingleStream/phoenix-2014t_s2t/train.rank0.log,我让结果可视化:

【Pytorch】利用SSH查看远程服务器上的tensorboard可视化界面_连接服务器怎么查看它的可视化页面-CSDN博客

使用VSCode以及其提供的Remote - SSH插件通过ssh登录远程服务器。
点击终端 > 新终端创建一个bash终端出来。在这个bash终端中执行:

tensorboard --logdir='/root/TwoStreamNetwork/experiments/outputs/SingleStream/phoenix-2014t_s2t'

启动成功后会在bash终端中显示:

到这一步就可以直接在本地浏览器访问http://localhost:6006/就打开了远程服务器上的tensorboard。

点击SCALARS,出现可视化结果:

  • 38
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨模态融合变压器用于多光谱目标检测是一种先进的目标检测方法。多光谱图像由不同波段的传感器捕获,每个波段提供了目标的不同特征信息。传统的目标检测算法往往局限于单一光谱波段,无法在多光谱图像中有效提取目标信息。而跨模态融合变压器能够将不同波段的光谱信息融合,并在融合后的特征上进行目标检测,从而提高目标检测的准确性和鲁棒性。 跨模态融合变压器结合了Transformer模型和跨模态融合方法。Transformer模型是一种基于自注意力机制的神经网络架构,能够有效地建模长距离依赖关系。它将目标的特征信息转化为一系列的注意力权重,然后利用这些权重来对不同波段的特征进行加权融合。这种融合方式可以将信息从一个波段传递到另一个波段,使得各个波段的特征能够共同影响目标检测结果。 跨模态融合变压器还引入了多尺度的注意力机制,以适应不同尺度目标的检测需求。它通过在特征提取的过程中引入多个不同大小的注意力窗口,来对不同尺度的目标进行建模。通过这种方式,跨模态融合变压器能够在多光谱图像中准确地检测到各种尺度的目标。 总之,跨模态融合变压器是一种能够融合不同波段特征并进行多光谱目标检测的先进方法。它的引入可以提高目标检测的准确性和鲁棒性,适用于各种需要从多光谱图像中提取目标信息的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值