科研工作者的精神
早上9:00,在伯克利的教工俱乐部(Faculty Club),Daniel给我们讲解了他目前和团队研发的IOT项目,一个基于医疗的应用:伯克利远程医疗监测项目(Berkeley Telemonitoring Project)。
一开始,Daniel就从宏观上给我们讲了技术产生的三个阶段:①出现新的现象;②提出理论,提出可再生可循环的解决机制;③可预测未来可能出现的问题。接着又给我们讲了一个现实生活中的事例——心力衰竭。心力衰竭具有极高的再受诊率。据统计,30天内再次就医的病人占了27%,6个月内再次就医的病人达到了50%。如果远程医疗可以在此领域被应用,将能大大降低心力衰竭复发的几率。
图1 Daniel介绍他们团队的研发项目
然后,Daniel就开始介绍他们目前的工作。简单来说,就是通过手机或其他设备,收集病人的各种生理数据,经过处理后,报告给医生,由医生向病人指导该如何调整。需要收集的数据包括:(1)每分钟的能量消耗(使用传感器监测);(2)用户传送的生活数据,如症状和每天重要的身体反应;(3)户外活动强度,可通过GPS测量用户的经度纬度来实现,其中用户的经度初始值是随机的,可用于保护病人隐私。
图2 远程医疗基本过程
一、 远程监测架构
(1)App设计:良好的容错性(fault tolerance)、低耗电、保护隐私及安全、使用简单、灵活性以及最重要的——有关用户身体健康的数据获取。其中,委托计算(delegate computing)是很重要的一点,即客户端将数据传送至服务器,由服务器进行数据处理,再将处理后的结果发回客户端。这样一来,既可以做到降低用户APP的耗电,又能保护用户数据不向外泄露
(2)体系结构:
图3远程医疗数据结构
整体系统不同于以往传统的循环式监听,是采取基于事件的响应(event based),只有在事件发生时会通知app进行处理。
(3)蓝牙连接
虽然实际上蓝牙仍然是传统的循环式响应,但是app中编写的函数只有在蓝牙响应时才会被激发响应,从而处理事件,所以对于app来讲是基于事件的响应。
(4)健康评估(内部信息)
基于手指的心率估计:手指上红色像素改变的频率,可以反映人的脉搏。利用这一原理,病人只需将手指放在手机摄像头前,由相机收集像素的数据,然后经过滤波、求平均等处理过程,得出病人的脉搏。
基于面部的心率估计:基本原理与手指心率估计一致,病人只需用脸部对准摄像头,几秒钟后即可得到脉搏数据。
(5)调查
患者填写App上医生设计的调查问卷,提交后由后台分析。问卷内容可由医生根据需要来设计,可以是选择题、填空题、甚至是图片题。
(6)客户端、服务器端数据传输
通过连接处理器(server/client handler)
设备无服务:将数据储存至Disk(磁盘)上,等到有服务后再传输数据。
服务器繁忙:通过客户端处理器访问服务器得到服务器的饱和程度,若饱和,则换到另一个不饱和的服务器。
数据安全:客户端处理器与服务器间传递的数据是经过加密后的数据。
讲完了基本框架,Daniel就介绍了他的实验室所研发的App:Running coach。这个应用可以检测用户的心率以及步速,给马拉松运动员提供专业的训练指导。
到了提问环节,一名同学马上提问:如今市场上与健康相关的App非常多,这个App与其他的相比有什么特点呢?“这是一个好问题,”Daniel说到,“这个App的目的不是单纯地做面向马拉松运动员的应用,而是借这个应用来检验前面所提到的框架(framework)。”与应用软件相比,整体框架才是最主要的。有了这个明确的框架,之后的工作就是一步步往这个框架添砖加瓦。先从最底层开始,用最基本的框架设计一个应用,验证这个框架是否正确,看看有什么问题。然后再开始一步步地往上走,最终达到我们远程医疗的目标。“有了严谨的实验验证,才给用户承诺。”这就是一个科研工作者的科学精神。
图4同学向Daniel教授赠送启明学院礼物
在这次寒假课程我们所接触到的老师当中,Daniel教授是同学们心目中上课最容易理解的一位,他也因此备受大家喜爱。 大家总结出他上课时的一些特点:
1.他很善于利用例子和细节,用多种方式阐述,帮助大家理解;
2.他的课堂非常生动形象,比如他会把自己的水杯假想成医疗设备。同时他对肢体语言的应用十分巧妙有趣;
3.他注重师生互动,善于启发听众。例如他询问我们,服务器和终端的通讯中可能出现的问题,带领大家一起思考。另外在学生提出问题时,他会用简洁准确地语言把问题重复一遍,让大家对这个问题都能有一个准确地理解和把握。
这节课结束之后,同学们给Daniel教授赠送了自己准备的小礼物,然后一起合影。他对同学们的表现给予了极高的赞扬。“你们是我教过的最棒的学生。”Daniel教授说道。
图5课程结束后Daniel教授与同学们合影
在下午前半段的小组讨论中,各个小组对即将到来的结业展示展开了激烈的讨论。讨论过后我们再一次见到了Laura。今天她主要给我们介绍了她所在的HART实验室以及她目前正在研究的项目human musculoskeletal dynamic modeling(人类肌肉动态建模)。就像前面课程中提到的,人机互动(human-robot interaction)的实现需要我们对人体的肌肉工作机理有深入了解,包括肌肉的信息传递和控制,这就引出了Laura以及她的同事们所做的建模工作。一个人的身上有六百多块肌肉,每一块肌肉之间的收缩和舒张相互配合,才实现了对人体的控制,因此模型的建立也非常困难。研究员们先从最简单的开始,取手臂上的一块肌肉作为对象进行建模,基本的模型如下:其中椭圆形的肌肉采用了希尔模型(Hill model),用两个弹簧以及一个非线性的收缩器件来模拟肌肉。
图6肌肉模型和希尔模型
有了模型之后,下一步就是确定参数。当前比较流行的方式有两种,一是利用肌电信号(EMG),在皮肤上安装传感器,检测肌肉在收缩和舒张时大脑发出的电信号。二是利用超声波,用超声波检测肌肉切片,当大脑传来控制信号时,肌肉切片的面积和形状都会有所变化。利用这两种方法得到数据,用模型对其拟合。拟合的过程中,既不能用过于简单的模型,也不能使用比实际模型更复杂的模型过拟合(overfitting)。举例来说,一个二阶的系统,如果用线性模型拟合,那么拟合的效果会与实际值相差甚远;但是模型的阶数也不是越高越好,假如使用的模型是21阶的,那这个模型的误差将会更大。同样的问题也曾出现在机器学习中。如何避免过拟合,是许多研究员在努力解决的问题。
完成了一块肌肉的建模,接下来就是把其他肌肉也加入考虑,建立一个整体的模型。这个过程又涉及到了模型的简化问题。假如我们把人体的六百块肌肉都精确建模,那么这个数据过大,计算过程将会消耗大量的时间,这样的模型就没有实际意义;但如果我们把肌肉简化为少数几个部分,那么模型的误差会大到让人无法接受。
这时,有一位脑筋灵活的同学提问:“既然可以通过检测肌肉来控制,为什么不可以检测骨头来进行控制呢?”Laura给出了肯定的答案:检测骨头是可行的。除了骨头,检测韧带也是另外一个方向。也许在将来,我们可以将肌肉、韧带、骨头的数据组合在一起,来实现更精确的建模。
图7 Laura给大家分享“人类肌肉动态建模”
建模部分讲完了,Laura又给我们介绍了她正在参与的另一个项目:多对象核磁共振分析和动态模拟(Multi-subject MRI Data Analysis and Dynamicl Simulation)。这个项目的目的,就是对上文所讲的肌肉模型进行检验。通过核磁共振收集肌肉的数据,与模型的预测结果进行分析对照来判断这个模型的好与坏。如果说肌肉模型是一把尺子用来度量机器人的运动,那么核磁共振分析就是用来度量尺子的尺子。这把大尺子的精确度,会直接影响其他尺子的准确度。
在整个讲课过程中,Laura多次提到了“合作”(collaboration)这个词。她说,她是一个专业的研究员,只关注于自己的研究方向,而并不太了解其他人做了些什么。因此,这就需要多种层次的合作。一是不同机构之间的合作,例如伯克利和斯坦福就在该项目上有合作。两所学校有不同的研究思路,在合作的过程中就可以激发出更多的点子。二是不同学科的合作。在Laura的课题组中,既有学计算机的,也有学机械、电路、生物的。学科交叉已经成为未来必然的趋势。三是不同研究方向的合作。就像上文提到的,有检测肌肉的、检测骨头的、检测韧带的,这些方向在最后都会综合在一起,以实现“建立一个好模型”的目标。
下午的一个半小时,我们基本都在讨论建模的问题,这在许多工科同学中引起了共鸣。无论在什么领域,建模的时候都是先作一些基本的假设,然后从最简单的部分开始,由浅入深,一步一步地考虑更多的因素,逐渐逼近物理现象的实质。模型建立出来之后,再利用实验和数据进行检验,并对不合理的地方不断地修正。建立了准确的模型之后,就可以用这个模型来对还没有进行实验的数据做预测。结合Daniel教授上午讲的先建立框架再一步步填写内容,我们对如何做研究,如何做学问似乎有了更深层的思考。
图8孙丁毅同学给Laura赠送小礼物
今天已经是1月22日了,离结业展示(Final Presentation)只有两天。晚上回到酒店后,每个小组都在忙着整理PPT,核对讲稿,用心地做着最后的完善。
图9夜晚,同学们在酒店餐厅里准备结业汇报文档
每个人都被自己和他人激励着,努力做好自己的工作。看到此情此景,相信24日的结业汇报一定会不负众望!