Classify WeChat Audio Messages using Speaker Recognition

Problem

微信的聊天记录导出一直是挺麻烦的事, 尤其是在 iphone 上. 前几天想导出一部分语音聊天记录, 就到 iphone 的文件系统里去找了一下, 发现微信的语音记录存放在/var/mobile/Applications/{app id}/Documents/{user id}/Audio/{friend id}/*.aud

问题是, 微信将两人互相的对话音频存在一个目录下, 不知道如何区分, 去逆向微信的聊天记录格式恐怕比较困难, 于是想到使用上学期做的说话人识别 (Speaker Recognition) 系统来自动处理这个问题.

Read more

清华的数学学习

貌似中文标题的都偏吐槽向.

现状

清华的 "工科数学基础课", 课堂教学方式大致都是 抄课本.

当然, 抄有不同的抄法. 有的老师抄在黑板上, 有的抄在一学期改一页的 ppt 上. 一般他们在抄的同时会把文字部分匹配出来读一读, 遇到公式的话有的会读, 有的用指示代词替换掉了, 每个知识点下面抄一个例题. 总之像是个可以写程序控制机器人来完成的活.

Read more

Monte Carlo Tree Search & Monte Carlo Ray Tracing

这学期有两个有意思的大作业都跟 Monte Carlo 有那么点关系.


人智的大作业是写一个 Connect Four 游戏的 AI. 当然由于原本这个游戏是有必胜策略的, 所以老师对这个游戏做了小修改. 给了 50 个测试 AI, 编号 2~100 的偶数, 越牛的编号越大, 让我们打着玩, 评测时用另外一批 AI.

建议的方法是 剪枝, 但是写出来之后效果不行, 貌似缺一个好的估价函数. 但是编估价函数又有点蛋疼.... 这时候 maskray, zxytim, blahgeek 纷纷表示 Monte Carlo Tree Search 很靠谱.

Read more

SIFT and Image Stitching

图像处理课期中要写一个图像拼接程序.

这方面的技术当然已经很成熟了, 开源界最著名的当属 hugin, 拼全景图效果非常好. 在学术界也已经不是难题了, Lowe 在 IJCV2007 的一篇 Automatic Panoramic Image Stitching using Invariant Features 是一个完整的流程介绍. MSRA 的 Szeliski 有过一本几十页的 Image Alignment and Stitching: A Tutorial, 也详细的介绍了图像拼接的众多方法. 我基本就照着 Lowe, Szeliski 的一堆论文的方法在搞.

Read more

On the Solvability of 8-Puzzle

人智课一次作业是写一个 A* 程序算八数码问题的最优解. 一个自然的问题是, 什么样的初始状态有解?

一个熟知的结论是, 将矩阵元素排成一排, 忽略空格, 当且仅当逆序对个数为偶数时此问题有解.

必要性很好证明, 因为观察可知所有的移动操作不会改变逆序对个数的奇偶性. 那充分性呢?


要证明充分性, 需要将矩阵用另一种方式展开成一排:.

Read more

Number of Fixed Points in Random Permutations

概率论课, 一项作业是写篇小论文. 错排数是高中就总结过的, 恰好概率论某次习题课还讲到, 就花了一周时间又整理了下错排数 (Rencontres Number) 有关的东西. pdf 放在 github.

对于排列 , 设 是它的不动点集合:

是所有可能 元排列的集合, 则错排数 可定义如下:

Read more