0%

前言

又鸽了一个月的博客,忙于实验也没有刷论文,没有刷论文就莫得博客了……

最近在用 MATLAB 做信号处理,有一些小坑需要注意,尤其是 fft 与 stft 的输出让我走了很多弯路……简要来说,fft 和 stft 的输出是不一致的,不止是因为 stft 的输出有时间这一维度,两者即使抛去时间,输出的内容也是平移的关系:stft 是 fft 沿频率正方向循环平移一半的采样频率的结果。

好像还是没说清楚,再从另一个角度说明可能会清晰一点: fft (对于单一信号)输出是一个 N (采样点数)维向量(设它为 s),其中 s(1) 就是直流分量,也就是频率为 0 的部分,之后一直到 N/2 *都是 (0, fs/2) 的频率分量,剩余右半部分则是(-fs/2, -fs/N) 的频率分量。

* 而具体是 到 N/2 还是 N/2 +- 1 我也不是很确定……待之后需要非常精确的时候考证吧。因为 N 的取值为了加速 fft 通常都是 2 的幂,比如说 1024。 那这 1024 维中,有一个直流分量频率为 0 ,剩余的正频谱和负频谱必然不是对称的,必然是一个比另一个多一个数据。至于哪个多哪个少我还没有找到具体的文档,也许和 FFT 的数学原理关系比较大,但是我并没有下功夫看 FFT 的数学原理……

而对于 stft 来说,如果 N = 1024,他的 s(512) 就是直流分量,大于 512 的索引表示正频谱,小于的表示负频谱。

结论:如果只取非负的频谱,对于 fft 是取 (0, N/2),对于 stft 是取 (N/2, N) 。

具体可以参见正文的 MATLAB 代码与输出。

阅读全文 »

前言

本篇续上一篇,跑通了 post 请求,贴贴代码再凑一篇 Blog。Volley 在 谷歌的文档里没有看到 POST 的示例(也有可能就是我没看到)差评。

阅读全文 »

前言

时间过得太快了……

本篇也是一篇语音的欺骗防御,利用了扬声器在播放时的磁场来区分真人与扬声器。同时在防御 mimicry attack 时,使用了已有的方案 SPEAR。但是在使用方法上,的确有些奇怪……要用户拿着手机在头部附近运动……所以这一点被后面的许多论文都提到过于 Cumbersome。

阅读全文 »

前言

最近需要写一款与服务器进行交互的 App,搜索了一下发现主要都是使用 HTTP 而不是之前学编程语言时用的 Socket。

Android 环境下的 HTTP 库目前做的最好的有 2 个:Volley 和 OKHTTP,这两个直到现在都还在维护。

试了一下 OkHttp 的 demo 如果直接扔进安卓项目会提示经典的报错:主线程不能做网络操作。由于我连创建线程的代码都懒的搞,所以这里就用 Volley 了。(最后跑通发现,Volley也要自己新开线程,还以为亲儿子有黑科技的)

阅读全文 »

前言

周一到周三搞 CaField 的复现,学信号处理,太难了,傅里叶变换的返回值都不知道怎么用。要恶补基础了。

每周为了周报搞阅读报告成功成为周更博主。

本篇的思路是把手机当成雷达,发送超声波观察用户发声姿势(舌头,下颚,嘴唇等的动作和位置)。然后由于不同用户的发声器官形状与发声习惯不同,就可以完成分类(扬声器由于使用膜的震动发声,可以很好的区分)。

阅读全文 »

前言

星期一一天内算是精读完了一篇,12页图也蛮多,努力保证一周两篇,刷完两篇报告就可以安心搞实验了。搞特征太难了……

本篇题目很简洁,第一眼让人以为是在执行敏感指令时问安全问题来提高安全性,没想到是很多该领域论文都引用了的 VAuth。而这些论文在证明自身优点的时候无一例外都提到 VAuth 需要额外的穿戴设备,不方便。尽管如此,似乎大家并没有在性能或其他方面对 VAuth 做出批判。

阅读全文 »

前言

要保持一周至少精读两篇的速度要保持一周至少精读两篇的速度要保持一周至少精读两篇的速度。

看来这周又凉凉了。

本篇是三星投在 CHI Conference on Human Factors in Computing Systems (没想到是人机交互与普适计算 A 会)的论文,让人联想到同是三星出品的 Void。本篇无数地方暗示某 Large IT Company 真是够了,直接千万级的真实用户数据集,有钱真好。本篇也做的是语音命令的攻击检测,但是本篇没有从信号处理的角度出发,而是从文本的角度出发,另辟蹊径,分类器也没有使用 DNN,而是传统的 Logistic 回归,反而能够达到很好的效果。

本文提出的方案名叫 “Text-conVerted VoICE command analysis” (Twice),第一次看了半天才反应过来 Twice 是缩写名字…… VV=W

阅读全文 »

前言

好些天没有精读论文,因为没有 Idea,所以这几天一直在好几个可能的方向上反复横跳。总的来说还是在语音方面做语音设备的攻击与防御。

本篇论文利用了从声场(Sound Field)中提取出的特征(fieldprint),提出了一个区分真人人声与扬声器播放人声的方案 CaField。作者发现不同的发声源的 filedprint 有非常明显的不同(人与人之间,人与扬声器之间)。利用这些特征,方案在不同的场景和输入中总的达到了99.16%的准确率和0.85%的 EER 。

一些本文的背景知识及相关名词解释:

  • RMS Value : Root Mean Square Value,均方根值。先平方、再平均、然后开方。
阅读全文 »

前言

本篇记录在尝试使用 DeepSpeech2 过程中,安装NVIDIA Driver 过程中的报错及解决方法(没能解决的优雅一些)。

阅读全文 »

前言

本篇工作做得是攻击语音设备的对抗样本。因为没有做图像对抗样本的经验,所以第一次阅读时还是比较一头雾水的。单纯阅读本篇需要有一些对抗样本相关的知识(比如 FGM,Fast Gradient Method 等用于生成对抗样本的方法),还需要对作者团队的上一篇工作 CommanderSong: A Systematic Approach for Practical Adversarial Voice Recognition 有一些了解,有一些概念在上一篇工作中做了详细介绍,却在本篇不做解释,(比如 pdf-id),所以直接阅读可能会有困难。

阅读全文 »