AnalyticDB向量检索+AI 实战:声纹识别( 二 )


通过以下sql , 我们可以在数据库中创建声纹特征提取的算法模型 。
SELECT open_analytic.pipeline_create('speaker_feature_extractor');注:*左右滑动阅览
3.4 获取说话人声纹特征
通过以下sql可以使用3.3创建的pipeline 。 这个UDF的输入是pipeline名称和目标文本 。 输出是一个说话人声音的特征向量 。
# 通过声音文件识别SELECT open_analytic.pipeline_run_dist_random('speaker_feature_extractor',<声音文件>);注:*左右滑动阅览
3.5 说话人声纹特征导入AnalyticDB
获取声音特征后, 我们可以使用一下sql来讲数据插入3.1创建的表中 。
INSERT INTO speaker_table VALUES (<说话人id>,<声音文件>, <声音特征向量>);注:*左右滑动阅览
3.6 在数据库中搜索最相似的的人
通过以下sql , 我们可以在声音特征库中搜索最相似的说话人 。 然后我们可以根据特征间距离是否满足预设的阈值来判断是否是同一个人 。
SELECT speaker_id, l2_distance(feature,<声音特征向量>) ORDER BY feature <-> <声音特征向量>LIMIT 10;注:*左右滑动阅览
3.7 比较两个声音是否为同一个人
我们还可以提取出两个人的声音特征然后直接计算二者的距离来判断这两个声音是否来自同一个说话人 。 SQL如下
SELECTl2_distance(feature1,feature2);04 AnalyticDB介绍
分析型数据库(AnalyticDB)是阿里云上的一种高并发低延时的PB级实时数据仓库 , 可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索 。 AnalyticDB for MySQL 全面兼容MySQL协议以及SQL:2003 语法标准, AnalyticDB forPostgreSQL 支持标准 SQL:2003 , 高度兼容 Oracle 语法生态 。
向量检索和非结构化数据分析是AnalyticDB的进阶功能 。 目前两款产品都包含向量检索功能, 可以支持人脸, 人体, 车辆等的相似查询和推荐系统 。 AnalyticDB在真实应用场景中可以支持10亿级别的向量数据的查询, 毫秒级别的响应时间 。 AnalyticDB已经在多个城市的重大项目中大规模部署 。
在一般的包含向量检索的的应用系统中, 通常开发者会使用向量检索引擎(例如Faiss)来存储向量数据, 然后使用关系型数据库存储结构化数据 。 在查询时也需要交替查询两个系统, 这种方案会有额外的开发工作并且性能也不是最优 。 AnalyticDB支持结构化数据和非结构化数据(向量)的检索 , 仅仅使用SQL接口就可以快速的搭建起以图搜图或者图片+结构化数据混合检索等功能 。 AnalyticDB的优化器在混合检索场景中会根据数据的分布和查询的条件选择最优的执行计划 , 在保证召回的同时 , 得到最优的性能 。 AnalyticDB向量版采用了多项创新性技术, 这些技术在我们的论文 AnalyticDB-V: A Hybrid Analytical Engine Towards Query Fusion for Structured and Unstructured Data 中有详细介绍介绍 。 目前论文已经被数据库三大顶会之一的VLDB接受, 具有技术领先性 。
结构化信息+非结构化信息(图片)混合检索在实际应用中被广泛使用的 。 例如人脸门禁系统被部署在多个小区时, 我们使用一张表存储了所有小区的人脸特征, 在人脸检索时我们只需要检索当前小区的人脸特征 。 在这种情况下, 使用AnalyticDB我们只需要在SQL中增加where 小区名 ='xxx' 就可以轻易实现 。 AnalyticDB同时提供了先进的图像文本分析算法, 能够提取非结构化数据的特征和标签, 用户仅仅需要使用SQL就可以完成图像文本内容的分析 。
点击可阅读:戴口罩也能刷门禁?疫情下AnalyticDB亮出社区管理的宝藏神器
05 参考文献
[1] Heigold G, Moreno I, Bengio S, et al. End-to-end text-dependent speaker verification[C]//2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016: 5115-5119.
[2]Li C, Ma X, Jiang B, et al. Deep speaker: an end-to-end neural speaker embedding system[J]. arXiv preprint arXiv:1705.02304, 2017.
[3] Snyder D, Garcia-Romero D, Sell G, et al. X-vectors: Robust den embeddings for speaker recognition[C]//2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018: 5329-5333.
[4] Wang F, Cheng J, Liu W, et al. Additive margin softmax for face verification[J]. IEEE Signal Processing Letters, 2018, 25(7): 926-930.
[5] Dang J, Guo J, Xue N, et al. Arc face: Additive angular margin loss for deep face recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 4690-4699.
[6] Ranjan R, Castillo C D, Chellappa R. L2-constrained softmax loss for discriminative face verification[J]. arXiv preprint arXiv:1703.09507, 2017.