下面的C++代码片段给出一个效果,使用SSI的机器学习库是怎样完成学习的。首先,原始音频文件(“user1.wav”)和一个注释文件(“user1.anno”)被加载。下一步,音频流被转换成一个样本列表,提取特征值并应用。最终,使用那些样本的模型被训练。 在训练数据之外,添加一个额外的评价步骤,可以看到模型是如何被执行的。
在经过训练阶段后, 我们就可以将预训练分类模型加入管道中. 要完成管道余下的工作, 还需要训练两个已连接到特征提取组件的模型: 一是检测声音中的笑声, 二是视频中的笑脸. 活动检测则用来判断某个帧包含的信息量是否够用来进行分类处理. 例如, 如果一个帧的图像没有检测到脸部, 或是音频信号的音量太低, 这个帧就会被丢弃. 否则, 就对它进行分类处理, 然后把结果传给 fusion 组件. 管道的头几个步骤基于数据流, 如, 信号持续不断的传给长度固定的窗口处理. 而后面那些负责检测和 fusion 的组件则基于事件, 只有在信号包含相关信息的时候才会触发. 将这两种处理结果结合在一起, 才能得到最终的决策数据. 这个管道是在之前那个记录管道的基础上扩充的, 包含了其他处理步骤. 要处理音频数据流, 需要把下列代码加上:
这部分是视频的代码:
由于加载的组件不同, frame/delta 的值需要调整, 才能适应相同的采样率, 但是这两部分的代码在结构上差不多. 注意, 这回我们把触发器 (voice_activity/face_activity) 放在 <input> 的 trigger 中. 给预训练模型检测声音和面部特征用的数据流, 是通过选项 trainer 从指定的文件加载的. 最后再由向量 fusion 将概率值合并起来 :
在单个或多维事件空间中作为独立向量的 fusion 的核心思想是处理检测到的事件(比如:笑容), 以及根据临时关系汇聚向量推导出最终决策(事件的影响力会随着时间减弱) [2]. 跟标准的基于分段的, 每一步都强制所有的模式做出决策的 fusion 方法对比, 基于向量的 fusion 只在需要的时候为某个模式做出决策. 在下面的动画中, 绿点表示检测到有用的线索, 红点表示什么都没检测到. 注意这里的最终 fusion 决策 – 动画中右边的绿色条形– 检测到有用线索的时候会变高, 随着检测的线索变少, 它会降低: 图 12: 预训练模型用来实时检测喜悦表情(绿色的点). 交叉模式能检测出更多的线索. 最后是 fusion 算法的输出的结果(绿色条形). 下面的视频教我们如何使用检测管道. 输入流显示在左边 (顶部: 包含脸部跟踪信息的视频流, 底部: 原始音频数据流和活动图表). 两种不同模式的笑容检测分别用条形图显示在各自的顶部. 最终的多模式笑容检测结果显示在右边的条形图中. 总结本文介绍的 SSI, 是一个多模式信号处理框架. 除了 SSI 的基本概念之外, 我们还用两个例子讲解如何用 XML 快速搭建管道. 虽然本文的例子用的是现有的组件, 但是, 作为一个支持插件的系统, 当然也允许开发者使用新的组件. 欢迎大家到多媒体社区分享自己的组件, 为扩充 SSI 的功能添砖加瓦. 如果你想查看更多的 SSI 资料或源代码, 请访问 http://openssi.net. 未来的工作目前, SSI 应用主要面对桌面电脑, 或者是分布在某个网络中的几台桌面电脑. 虽然, 现在的无线传感器越来越流行, 具备一定的便携性, 但是, 如果不给它们配上桌面电脑, 那只能在有限的范围内使用. 智能手机, 或类似的移动设备没有这种限制. 有个试点项目, 已经开发出一个能实时将音频, 视频和其他数据, 从 Android 设备通过无线网络传到 SSI 服务的组件. 服务器会即时对这些数据, 并将结果回传给移动设备. 这个例子告诉我们, 新的应用能在更广阔的空间中使用, 因为它能跟着用户到处走. CARE 项目 (一个给老年人用的情景感知推荐系统) 目前正在开发的一个推荐系统, 该系统根据生理, 心理以及社交情况, 给孤寡老人的居家生活提供实时帮助. 他们的目标是帮助老年人重拾生活的信心. 鸣谢本文提及的工作由 European Union under research grant CEEDs (FP7-ICT-2009-5) 和 TARDIS (FP7-ICT-2011-7), 和 ILHAIRE, a Seventh Framework Programme (FP7/2007-2013) under grant agreement n°270780 赞助. 文献[1] Johannes Wagner, Florian Lingenfelser, Tobias Baur, Ionut Damian, Felix Kistler, and Elisabeth André. 2013. 人类行为分析(SSI) 框架: 多模式信号实时处理与识别. 第 21 届 ACM 多媒体国际会议(MM ’13) 报刊. ACM, New York, NY, USA, 831-834. DOI=10.1145/2502081.2502223 http://doi.acm.org/10.1145/2502081.2502223. PDF [2] Florian Lingenfelser, Johannes Wagner, Elisabeth André, Gary McKeown, and Will Curran. 2014. 喜悦心情实时识别, 一个事件驱动 Fusion 方法. 第 22 届 ACM 多媒体国际会议报刊(MM ’14). ACM, Orlando, Florida, USA, to appear. |