2015年休斯顿大学实习周记(六)

作者:编辑:刘艳红发布:2015-11-20点击量:

程天舒

更加robust的F-measure评估方法

周一一到实验室,导师就把周末邮件提到的新的f-measure算法的m文件给了我。新算法和之前先膨胀轮廓再比对的思路类似,但是衡量标准更加精确灵活----首先对标准轮廓图使用bwdist函数,bwdist函数返回的值是二值图像上各点像素到最近的“1”的距离,如果该点本身为“1”则返回值为0。然后用normpdf函数对这张距离图进行标准正态化,这样一来得到的就是一张标准轮廓膨胀后的图像,与之前算法不同的是膨胀区域内并不是填充的全1,而是以标准轮廓为中心轴线分布的高斯系数(标准轮廓上的值都是1,随着离标准轮廓的距离增大取值按正态曲线下降)。然后再将这样的轮廓图与轮廓提取结果相乘积分得到F-measure score。导师建议我用该方法测试经测试sobel、canny、prewitt三种轮廓提取算法的F-measure score验证算法的可靠性,如果三种算法的F-measure score都不高且保持恒定(因为这三种算法的精确度类似且都不怎么高),则说明算法有效。经测试,新评估方法下sobel、canny、prewitt等算法的F-measure score基本都在0.6-0.7,这与paper中的结果相近。

虽然F-measure更加可靠,但是经过训练的轮廓提取结果的质量却没有很大改善。于是我们将目光投向了paper作者提供的源代码,相比较一下轮廓提取的结果,以确定提取过程中没有出现错误。可谁知公开的代码包里需要调用的几个重要函数只有linux系统和mac系统的版本唯独没有windows系统,面对实验室电脑清一色的蓝色win7画面,源代码只好先搁置了。

Watershed算法进行图像分割

在导师的授意下我可以向最令人exciting的segmentation部分进军了。Paper中的segmentation是以轮廓提取的结果gPb为起点的。第一步是用watershed(分水岭,集水区)算法进行图像分割。这是一个非常有趣的算法,因为他有一个非常形象直观的解释:如果用灰度值表示海拔,以最亮的白色表示水平面,颜色越深表示深度越深,那么一幅灰度图就可以看作是一个坑坑洼洼的表面,图上的两块深色区域就好比表面的两个洞,而我们的目标就是要找到一条界线来划分这两个洞,watershed的做法就是往这张有洞的表面注水,刚开始水都处于两个洞的地步,即在俯视图中是两个分立的集水区,随着水的继续注入两个洞里的积水水面同时上升直到溢出洞口,而两个分立的集水区在融成一个大集水区过程中第一次接触的地方就是我们要找的界线,如图所示。直观上看这是一个令人信服和满意的方法,更令人高兴的是你无需为其中的数学理论而操心,因为matlab的图像工具箱中就有一个可以直接使用的函数watershed。它会将你输入的图像用watershed算法划分成许多小块,并用不同的数值区分每一块不同的区域。

Capture.JPGCapture1.JPGCapture2.JPGCapture3.JPG

Watershed原理示意图

然而,这还远远不是我们想要的结果,因为我们希望的是把一个人按照躯干和四肢大卸八块,但watershed是直接把这个人粉身碎骨了,即oversegmentation,分过头了。于是我们要在watershed的结果上进行有序的聚合,希望从粉身碎骨中拼凑组合成四肢或躯干。

0820_01_sPb_watershed_weighted_down6.24s.PNG

轮廓概率图与watershed结果

第二步,得到具有轮廓权重的watershed分割图。watershed上的分割线并不都是我们想要的,例如,我们希望留下人的头部的主干界线而忽略面部五官的次要界线,于是我们要给watershed中任意两个区域的界线加上权重值。那么难题来了:如何对任意两个区域的界线进行标记呢?对这个问题我从中午一直想到晚上,终于有了思路,如图所示是watershed结果中一块轮廓比较复杂的部分的放大图,白色界线上的点可以分成两类:节点和边线上的点,节点的8临近点中(除轮廓本身外)会出现3或4种区域颜色,而边线上的点的8临近点中(除轮廓本身外)一定含有两种不同颜色。依据这个特征就可以标记出任意两个区域的界线,具体实施方法不再赘述。

0823_03_gPb_gauss_seg_k_0.46.PNG

node.JPG

轮廓概率图与加权后的watershed分割图 节点与边线上的点

第三步,融合。先找到所有界线中权值最小的界线,先删除,再对剩下的界线进行重新加权。重复上述循环知道到达设定的阈值。随着循环的进行,次要的轮廓逐渐被删除,剩下权值较大的主干轮廓。

0823_03_gPb_gauss_seg_k_0.46.PNG

Watershed结果与最终结果

黄煜

这周基本时间都花在MATLAB编程上面了,而且我渐渐开始体会到尽管当时在华科上课的时候感觉线性系统很简单,并且貌似也可以解决很多问题,但是很多我们觉得可以看成线性系统的问题仔细一想都是非线性的。比如说Aaron一开始就让我接触的平板球系统(plate-ball system见图一)。

直觉就告诉我这个东西是个可以用理论力学的原理来研究的线性系统,列出来的很多方程也都是线性方程,但是仔细一想,这个东西其实真的是量子系统(quantum system),具体地说:我现在仿真的系统只包含4个球,应用力学的理论很容易规划轨迹,但是Aaron最后想用统一信号控制上万个纳米机器人,并且这些机器人有某一类特性都是不可知的;所以很显然这个系统的“轨迹”也是不可预测的,就像量子物理里面那个电子衍射实验差不多。以上只是我深入思考这个系统之后的想法,确实有点抽象,下面具体谈谈这周做的东西。

上周用MATLAB画了几个图,其实它们就向我展示了一些Aaron想告诉我但是又没时间告诉我的东西:1. plate-ball system由很多球组成,并且每个球的半径(未知)都不一样我们只能控制那个数控平台给出统一的信号,所以系统如果有一个任意初始扰动之后我们不可能让它到达一个终态误差为零的状态,但是我们可以控制它的误差到一个很小的状态作为最终状态。2.让平板做一个圆弧运动,球会回到原点但是相对于初始状态有一个关于z轴的旋转(具体证明和定量计算还用到了Lee algebra)。这是一个可以利用的运动,通过它可以找到误差减小的新方向。这周我利用以上两个结论来实现使这个系统误差减小的控制算法。

Aaron一开始建议我用梯度下降法(gradient descent method),我实现了这个算法,结果如下:

最上面是误差随控制步数变化的曲线,可以看出总体误差(所有球z轴指向误差角度代数和)确实在一直下降,但是速度不快,要上千步,控制平板的轨迹是中间那个,一开始我还以为画错了,放大之后(见最下方的图)我才知道没错,只是一直在走小碎步;除此之外终态误差也很大,见下图:

截止处的放大图,我把数据点一起标在上面了,可以看出100度的最终误差是很大的。

我个人觉得这个主要是因为梯度下降法的缺点在这个问题里面体现得太彻底了。目标函数是由好多三角函数加起来的,所以根本不是凸规划,并且局部最优解还特别多。然后我就想了一个简单粗暴的方法,给一个大点的范围去穷举,然后找数列的最优解。实现这个算法之后结果如下:

误差随步数减少的曲线,可以看出这种算法收敛得非常快,100多步就差不多了。下面展示的是这个算法给出的控制信号,也就是平板中心运动轨迹(trajectory):

红色集中的那一块放大之后如下:

每一个红色的圆圈意味着平板做一个圆周运动,数控平台依靠圆弧插补功能可以完成这个命令。这个算法运行速度也很快18秒多一点,而之前那个梯度下降法要700多秒。

除了这些东西之外,这周学校里面开了一个迎接新生的派对。我室友是个典型美国人,然而他不喜欢派对;我是个典型的中国人,然而觉得派对还不错。下面几张是夕阳下的派对照片,后面的建筑物就是这个校园里面的学生寝室:

王泽

这个星期的主题就是实验实验实验。学长在制作NPGD的时候改变了一些参数和变量。比如adhesion layer的厚度,dealloy的厚度等等。我需要帮他测量每一种sample的特性。主要的测量方法就是在surface lab里面,分别注射air、ethnoal、20%tol、40%tol、60%tol、80tol%、tol.分别来看其peak红移的程度。实验的量比较大。

在surface lab里面,我们还做了一个有趣的实验是。把硝酸稀释,然后注入到里面。立马take数据。观察dealloy过程中peakshift的程度。这个是为了更加真实的看出来这个dealloy的过程对于这个的影响。而且数据看起来会十分的直观。这样在surface lab那边光测量,大概就要花两天的时间,而且其中有的会操作不当引起来重新测量的情况。其中比较容易错误的地方就是那个注射器的使用,注意不要随便拿错注射器了,然后就是针头不要提前拔出来,这样大气压会改变,导致介质折射率在测量过程中间会改变,这样会使测得的数据不是很合理。

这个绿色的曲线显示的是在空气中NPGD的吸收光谱。

这个蓝色的曲线指的是在ethano(乙醇)里面的曲线,在强度和peak的位置上都出现了变化。

这个红色的曲线是指在toluene里面测试的曲线,也可以看到强度和peak的位置的变化。

从这个里面可以看出来我们实验的可行性。

第二个实验就是还是用那些不同的样品,在楼上用光学仪器测量吸收光谱,之前也是提到过,由于样品的数量比较多,处理起来会比较的麻烦。这个大概也会花两天的时间去处理。之前的一个大学姐,叫qi ji。她开发了这个平台,被后来这个实验室的所有人使用。我们主要是用来做吸收光谱的。除了与之前用的sample holder不一样,其他的基本都是一样的。这个硬件喜用配合着一个叫winspec的软件使用,winspec使用起来就是设置参数比较麻烦,其余的都还好,比较高级的就是他可以对两幅光强图来做除法,得到最终的吸收曲线。比较麻烦的就是由于层数太多,会导致其有的时候由于层与层之间的不完全平行,会产生明显的干涉条纹。一般的情况下是由于我们用来粘sample的PDMS不够平整,这个时候就需要我们在做的时候就把PDMS压的比较平,完全是手工作坊了。

这个星期还专门学习了一下这个对应的matlab处理数据的子程序。

其中,知道了spe这个文件格式是princeton仪器专门的一种文件格式,后来有人专门在matlab上写了一个读取的文件,很长,注释也很全。不得不感慨,的确很牛叉。

李慧晗

在这一周里,每天上午还是做同样的实验,即对试验者使用Rex进行训练。前面四天的实验流程是一样的,包含Training_1,Block_1,Block_2,Block_3,Block_4,Six Minute Stop,Six Minute Walk。在刚刚开始的时候试验者用思维对Rex的控制能力很差,想要行走的时候,信号水平达不到Rex进行行走的设定值,Rex不动。但是随着每天的训练,试验者对Rex的掌控能力越来越好,可以很容易地控制Rex的行动和停止。在之后的训练里,用Free Walk代替Training_1。进行Free Walk时,试验者可以按照自己的想法让Rex行动,而不是按照一定的模式去让Rex行动。

在实验室下午的时候就看一些关于Ground Reaction Force(GRF)的论文,最开始以为可以从论文里找到Walking时计算GRF的公式,但是看了许多之后还是没有找到相关公式。论文里大多数是通过传感器测量GRF,并且分析误差,而不是采用纯计算的方法。跟Jeff讨论之后,他建议可以发邮件给论文作者,让论文作者把测量的原始数据给我们,再换算成标准重量,套用到儿童的身高体重上。

对行走步态的分析主要分为五个部分,如上图所示分别为:

HS-HELL STRIKE

FF-FOOT FLAT

MS-MIDSTANCE

HR-HEEL RISE

TO-TOE OFF

在一个完整的步态下,测量出来的处置方向的力如下图所示,第一张图为右腿的力,第二张图为左腿的力。

下图为压力中心的x坐标和y坐标随步态完成程度的变化图。

叶庆莹

这周终于把meal plan和housing的事情解决了,整个人轻松不少。可能由于人少的原因,大学里的办事效率实在是有些低,但好歹是圆满解决,给我们housing refund,以及一个special mealplan。拿到meal plan的我们一群人愉快地享受了我们第一顿meal plan晚餐。

IMG_20150820_181426

图1在Moody tower的meal plan聚会

在美国吃的这么多,保持身材也是很重要的。休大的体育馆绝对称得上豪华,不仅运动项目齐全(包括跑道、游泳、攀岩、篮球、羽毛球、乒乓球、壁球等等),而且器材也很多。为残疾人服务的人性化设置更是比比皆是,我去的那天正好看了半场精彩的残疾人篮球赛。不仅为他们的出色而赞叹也为美国对the disabled权利的保护与尊重。后来我和另外两位队友与休大的三个中国PhD进行3对3的PK,玩的非常尽兴。在这样一个热爱运动的氛围下,人真的很容易被大家所感染所带动。

mmexport1439692970017

图2体育馆一角

因为钥匙的问题,学校录掉了信息,因此我也经常跑到图书馆工作。休大的图书馆建的非常早,虽然设施比较老了,但从里到外都透着古典的气息。图书馆分区很明确,有讨论区、自习区、安静区。还有专门的小教室供团体讨论。我经常在里面呆着,看自己的资料或者找图书馆的书,感觉不是一般的好。

mmexport1439692977165

图3图书馆

IMG_20150822_193858

图4 barbecue

这周是正式开学的前夕,新生都陆续到校。比起暑假,学校也热闹了许多。还有许多为新生准备的welcome party,让他们能尽快融入UH这个集体中。我们在 Lynn Eusan的Park有barbecue,在 Student Center有乐队Karaoke and Games Room的表演。

IMG_20150822_185040

图5乐队表演

储晓青

周一Dr. Yao考察了我对safety manual的阅读情况,出了一些简单的实验安全问题让我回答,还好我仔细看了安全手册,所以这些问题基本都答得上来。这边的老师都很注重实验安全问题,先要让我们通过了测试才能进实验室开始做实验。

周三下午的组会,实验室的各个小组分别介绍了该小组中做实验时要注意的安全问题,并将演示的ppt放到了实验室成员的共享文件夹dropbox中。这周我们还花了一下午时间集体清理了实验室的化学药品和试剂,各种各样的化学药品都需要分好类放在指定的位置,防止出现药品互相作用产生的安全问题。有些易燃易爆的化学试剂要放到防爆冰箱中保存,毒性大的有机溶剂放在专门的橙色带锁的柜子里。实验室的化学药品众多,所以整理这些东西需要整个实验室成员的互相协作,也花费了比较多的时间。本周的其余时间主要还是在看文献,寻找实验中一个关键问题的解决办法。

戴政泓

来美国一个月了,刚来时的新奇感早就褪去,日子归于平淡。这周是休斯顿大学的开学季,校园里的人也多了不少,新生们也都陆续搬进了宿舍。这周实验没什么多大的进展,主要的工作还是积累实验经验,例如如何控制硫气氛的进入时间和对基片的预处理。做了3次CVD实验,薄膜生长温度分别为650,700和750摄氏度,发现只有750度有圆形的薄片生成,romel和我都不确定是不是硫化钼薄膜,请教了实验室里做测试的学长,准备下周做PL和拉曼测试。

这周健身达人韩聪领我们去了学校的体育馆,游泳,攀岩,篮球,足球和羽毛球应有尽有,韩聪还带我逛了下器械区,教了一些简单器械的用法,希望用剩下的两个月时间里让自己在身体上有一个全面的改变吧!

韩聪

时间过得很快,在休斯顿已经度过了一个月。现在慢慢喜欢这里的生活了。

在实验室,上周末仿得了Sample组的数据,与我设计的算法估算的结果很一致,证明在Plate上的SAR估计还是很准的。接下来就要解决最复杂的问题,就是考虑钉子的问题。这的确是一个复杂的问题,因为涉及的参量有很多,钉长,钉子直径,钉距,钉子排列位置。我先选择考虑单一的钉子长度问题,为了保证数据充足,仿真了将近两天,21组数据。最后的结果虽然单一曲线较为平滑,但是不同Plate间的数据规律性实在不足。由于电磁理论基础不足,让我一度很痛苦,不知道接下来要如何进行。因为通过仿真获取数据量实在太慢了(每一个数据仿真都要将近2个小时,所以这也是我们进行这个项目的原因,就是寻求算法来估算SAR来避免逐一仿真)。所以接下来,我需要再寻找思路看有没有新的想法,比如一些数字图像处理方面的手段,或者神经网络方面的方法。另外,为了追求数据的准确性,我把Plate上的SAR和钉子上的SAR分离开,这样改进后数据更加准确,而且能确定PEAKSAR具体在哪个位置。

在生活方面,这周前两天一直在中餐馆吃饭,感到很亲切,后几天进入了期待了已久的自助食堂,感觉很不错。明天就是休大正式开学的日子了,我的室友已经到了,但是我们还没见面,希望我能和他有很好的交流!

熊诚

在到达UH第四周后,UH终于开学了,学校里面的人也开始变多了,我的室友Justin也回来了,Justin是computer science的同学,人很好。

在实验室的日子,虽然比较无聊,但是还是在做很多事,这一周完成了MATLAB的关于图像自动寻找的算法,老板还布置了学习Epsilon的任务,虽然现在还没有太懂,但是也在逐渐的认识学习,师兄们做的传感器也在不断改进,我也开始主动和美国同学接触,在星期六,我们residence举办了一个big party,认识了很多人,有Lee,Mariso等,感觉美国校园活动还是比较好玩的,有barbecue,有music band等等,每个人都可以走过去交流,打招呼,也是个练口语的好机会。

这一周也在准备GRE,不断地背单词,实验室Iran小哥介绍了他的GRE经历,还是收益良多的,这一周UH也下了自从来到这里后为时最长最凶的一场雨,果然被淹不是夸张的。

经历重重险阻,终于办好了meal plan,在Moody吃了一顿,还是怀念中国菜。

Copyright © 华中科技大学启明学院 版权所有