模型介绍
中文整理CAM++说话人识别模型
CAM++模型是基于密集连接时延神经网络的说话人识别模型。相比于一些主流的说话人识别模型,比如ResNet34和ECAPA-TDNN,CAM++具有更准确的说话人识别性能和更快的推理速度。该模型可以用于说话人确认、说话人日志、语音合成、说话人风格转化等多项任务。
模型简述
CAM++兼顾识别性能和推理效率,在公开的中文数据集CN-Celeb和英文数据集VoxCeleb上,相比主流的说话人识别模型ResNet34和ECAPA-TDNN,获得了更高的准确率,同时具有更快的推理速度。其模型结构如下图所示,整个模型包含两部分,残差卷积网络作为前端,时延神经网络结构作为主干。前端模块是2维卷积结构,用于提取更加局部和精细的时频特征。主干模块采用密集型连接,复用层级特征,提高计算效率。同时每一层中嵌入了一个轻量级的上下文相关的掩蔽(Context-aware Mask)模块,该模块通过多粒度的pooling操作提取不同尺度的上下文信息,生成的mask可以去除掉特征中的无关噪声,并保留关键的说话人信息。
更详细的信息见
论文:CAM++: A Fast and Efficient Network for Speaker Verification Using Context-Aware Masking
github项目地址:3D-Speaker
训练数据
本模型使用公开的英文说话人数据集VoxCeleb2进行训练,包含5994个说话人。
模型效果评估
在VoxCeleb1的3个测试集的EER评测结果对比:
Model VoxCeleb1-O VoxCeleb1-E VoxCeleb1-H
:-----: :------: :------: :------:
CAM++ 0.73% 0.89% 1.76%
ResNet34 0.97% 1.03% 1.88%
ECAPA-TDNN 0.89% 1.07% 1.98%
模型参数量、浮点运算数(FLOPs)以及单线程CPU下的推理实时率(RTF)对比:
Model Params FLOPs RTF
:-----: :------: :------: :------:
CAM++ 7.18M 1.72G 0.013
ResNet34 6.70M 6.84G 0.032
ECAPA-TDNN 14.66M 3.96G 0.033
如何快速体验模型效果
在Notebook中体验
对于有开发需求的使用者,特别推荐您使用Notebook进行离线处理。先登录ModelScope账号,点击模型页面右上角的“在Notebook中打开”按钮出现对话框,首次使用会提示您关联阿里云账号,按提示操作即可。关联账号后可进入选择启动实例界面,选择计算资源,建立实例,待实例创建完成后进入开发环境,输入api调用实例。
训练和测试自己的CAM++模型
本项目已在3D-Speaker开源了训练、测试和推理代码,使用者可按下面方式下载安装使用:
运行CAM++在VoxCeleb集上的训练样例
相关论文以及引用信息
如果你觉得这个该模型有所帮助,请引用下面的相关的论文
3D-Speaker 开发者社区钉钉群
优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。
你将获得什么
完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。
完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。
使用前须知
运行模型需要的设备、工具与依赖,以原作者说明为准。
是否允许商用、修改和分发,请查看模型许可证。
闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。
资料或下载有问题?
登录后可提交反馈。
