在 SSI 中, 跟数据流相对应的是事件. 跟具有持续性的数据流不同, 事件的产生是异步的, 且有明确的开始和结束. 我们修改下前面的例子, 加入一个活动检测器, 让频谱图只在有声音信号的时候才显示, 以此解释下事件的特点. 首先, 我们需要添加两个组件. 一个转换器(AudioActivity), 用来计算音量大小(method=“0“), 和将阈值(threshold=“0.1“)以下的数据置零. 另一个是 consumer (ZeroEventSender), 用来获取信号中非零的数据. 如果检测到这些数据, 而且时长超过 1 秒 (mindur=“1.0“), 事件就会触发. 事件的标识符由事件名称和触发事件的对象名称组成:<event>@<sender>. 在本例中, 选项 ename 和 sname 用来设置事件标识符 activity@audio.
我们现在可以把频谱的显示, 由原来的连续显示, 改成由事件触发. 所以, 要把属性 frame 换成 listen=“activity@audio“. 同时把图形的长度设为 0 (size=“0“), 这样就可以在事件触发的时候自动调整图形的长度.
要把框架里面当前所有的事件都列出来, 我们需要一个 EventMonitor 对象. 由于它只跟事件互动, 与consumer, 或转换器无关, 所以要放在 <object>里面. 通过 <listen> 我们可以指定要接受哪个事件. 设置属性 address=“@“ 和 span=“10000“, 可以显示过去 10 秒内的任意事件.
新管道的输出结果如下. 包含连续的原始音频信号图表和活动信号(左上). 图表的下面是由事件触发的频谱图, 显示的是最新一次活动事件的数据 (18.2s – 19.4s). 也就是监控器中最顶上那一行记录 (右下). 此外还有最新 3 个事件. 由于活动事件不包含其他元数据, 所以占用的空间是 0 字节. 如果是分类事件就会包含类名和概率值. 图 9: 本例中, 通过活动检测驱动频谱显示 (看原始音频信号和频谱中间那张图). 每过一段时间, 就会触发一次事件, 由此驱动频谱的显示. 在命令行窗口中列出的是已经触发过的事件. 多模式喜悦程序检测我们现在将(注意力)转移至更复杂的应用程序 – 多模式喜悦程序检测。 我们要关注的系统是欧洲计划的一部分(FP7) ILHAIRE (把笑合并到人类的虚拟交互中去(Incorporating Laughter into Human Avatar Interactions): 研究和实验, 可以看 http://www.ilhaire.eu/)。它结合了两个传感器的输入,一个麦克风和一个照相机, 来实时检测用户的喜悦水平。 在这篇文章中,我们通过视觉和听觉的暗示来指示出喜悦,并定义喜悦是一个积极的感情场景,例如微笑和狂笑。基于频率和强度的暗示,喜悦的程度就可以被确定下来。 图10:喜悦程度的更多暗示来自用户的展示(输入),这样系统就会有更高的输出。 微调检测模型的训练数据记录在 3~4 个正在聊天的用户的 session 中, 每个 session 的寿命大概是 1.5 小时. 记录期间, 用户的装备有耳麦,Kinect 和 HD 相机. 要同时给 4 个用户记录数据, 就要进行设置, 包括由网络同步 pc 机. 要在分布在网络中的几台机器中保持管道, 就要通过同步创建多个用户的多模式(multi-modal). 在这个例子中, SSI 捕捉到的原始数据每分钟高达 4.78 GB, 包括音频数据, Kinect 对身体, 脸部的跟踪数据, 以及 HD 视频流. 下列管道代码的作用是, 连接到音频和 Kinect 传感器, 并把捕捉到的信号存到磁盘中. 注意, 音频流数据和 Kinect 的 rgb 视频数据混合放在一个文件中. 因此要将音频包含在 <xinput> 中. 还有就是要在文件的顶部配置<framework> , 指定在端口 1234 等待同步信号.
根据音频和视频的内容, 评估者(rater)要标注出音频和视频中有笑声或笑容表的地方. 然后, 从原始数据中把特征信息提取出来, 并根据标注的数据给这些特征打上标签. 而打上标签的特征则作为学习阶段的输入数据, 用来分离特征空间(feature space), 以此给各类标签做出适当的分离. 如, 用来衡量嘴角扩张的特征, 可能跟微笑表情有关. 因此, 可以用来当作喜悦的指标. 由于复杂的识别任务不存在明确的映射关系, 所以解决的办法也不只一个. SSI 自带了几个效果不错的学习算法, 如 K-Nearest Neighbours, Gaussian Mixture Models, 和 Support Vector Machines. 这些算法属于 SSI 机器学习库的一部分, 允许其他工具以最佳的方式模拟管道, 并根据期望的识别精度评估模型. 图 11: 人工标注的喜悦表情用来训练每个模式的检测模型. |