20130315

水木关站纪念

水木关站纪念

明天,是水木清华关站纪念日。事情过去的时间太久了,久到我都不记得那是哪一年。好好回忆了一下,结合学习两会精神,想起来,那是十年前。

水木清华,是清华大学当年的BBS,当时最大的BBS,也许没有之一吧。当时的高校BBS面向全社会开放,免费注册,随便浏览和发言。十年前的3月,高校们说,高校的BBS是属于高校自己的,只为校内师生服务,开始关闭对外的注册,也关闭了对外的连接。

南大小百合和水木清华的站务做出了相当激烈的反抗,结果之一就是现在的水木社区
[http://www.newsmth.net]。然而,十年,一切都烟消云散了吧。上次课的时候讲到理想电压源,它的端电压只由电压源本身决定,不随外界的变化而变化。我顺口讲到什么是理想,什么是不变,然后我问,"你们还记得当初的理想吗?"最后排有几位同学大声喊,"记得!"我不由得楞了那么一下,当时,我真想喊回去,"你们的理想是什么?"

你的理想是什么。你背弃了你的理想么。

十年。也许水木自己都忘记3-16关站纪念了吧。黑色的背景,也不知道明天还会不会出现,当初向清华校训献纸鹤的少年,此刻在为什么而忧虑。

我听说过这样的言论,高校的教育工作者们提出的问题,如何才能吸引青年学生们不只上人人网,而是"回归"到严肃的校内的讨论中来,应该建个什么样的站点。我哈哈大笑,有啊,这样的站点早就有啦,不就是被你们关掉了吗。而且,即使再建个这样的站点,你就能容忍同学们讨论你不喜欢的话题了吗,如果你不能容忍,他们一样还是会再离开。离开,然后变成你所期待的奴才,或者,成为你这样的人。很多人都可以说,他们根本没有背弃理想,只是换了一个,或者修正了而已。这,又有什么难的。

我愿意孤独地死去,一个也不原谅。

--

冬天过去,春天也还是灰色的。各种失望的人和事。某天中午,我以为有个特别好的消息,当真是欣喜得很。我当时想,这么久来,终于有一件让我能高兴那么一下的事。结果,空欢喜。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130314

云服务就是个渣:云服务或者google reader有多可靠

云服务就是个渣:云服务或者google reader有多可靠

云服务就是个渣,这是我纯从用户的角度发出的感慨,如果与云服务的技术从业人员或投入资本的家们的观点有所不同,深感遗憾。

当年我哪位导师就教导过我,"杨,你别把邮件放在服务器上,得放在本地。"我当时年少轻狂,说,"我相信google。"再说了,我当时也没有1个G的硬盘,那都是昂贵的设备。我也非常悲欢gmail的搜索,我想,分类算什么,纯是浪费时间,搜索快得多。我还使用
google reader 订阅
rss,一个原因是它用起来很方便,还有一个重要的原因是,通过它订阅到墙外的新语丝。google后来把服务都转移到https下,我还想过,真是贴心。

我用过 google note做笔记,记了不少东西,后来,这个服务关闭了。网速太慢,那些笔记最后就消失在不知道哪个空间里,再也找不到了。此后,我的笔记再也没有记在网上,本地硬盘,定期备份。我用过mybase,之前还用过什么忘记了,后来改用
emacs org-mode。mybase可以导出成rtf格式,org-mode干脆就是纯文本,目前看到处处通用。google
note的沉没没有引起我的警惕,只是抱怨了几句而已。不过,后来的有道笔记之类,我绝无尝试的勇气,盖源于此。

昨天听到噩耗传来, google reader将在2013年7月1日关闭。我才又一次猛然意识到,google
reader不是一个摸得着看得见的产品,而是一项服务--完全操纵在别人的手里,人家要停止,你连个P都放不出来啊。可怜我等小众在上面积累了这么久的阅读习惯、订阅的rss、各种趋势。g+初现的时候,为了强推之,google
reader被阉割掉share分享功能,那个时候,使用者们就应该有觉悟知道会有今日吧。

云服务是一种服务,而不是真实的机器,数据操在人家的手里,任由生杀予夺。我等不过是实验室中的小白鼠,你自以为人家是要饲候好你,其实只是为了记录哪种环境饮食能把咱们养育得更胖更白。当然,我们对此也不该有什么怨言,虽然我们看了广告,但是如果赚得不够,机主也确实有权利终止协议--估计律师们早就研究透了,对契约遵守什么的肯定绝无妨碍。

所以,当悲剧发生的时候就是这样:我倒是想把gmail的数据都整到本地来,可怜网速不够,而且gmail的pop3和imap似乎料到有此一招,批量下载数据的时候会时断时续。不信你亲自试试,或者google一下,早有讨论。

所以,永远也不要把希望寄托在这种不靠谱的东西上。你说那是个承诺,他说你当初完全误会了他的意思。

我现在才明白为什么苏老师一直坚持用古老得不行的outlook,导师们一直要求实验数据都刻盘什么的存着;明白了牛老师为什么一直不用endnote,一直费劲巴拉地组织目录树存文献。因为越是古老,越是用了很久的,才是可靠的。好玩的,花哨的,俏皮的幽默的,那都是很好很好的,可是,在真正干活的时候,又有什么用呢。

所以说,可靠才是第一重要的品质。得有多大勇气才能把自己托付给别人?而他在"不得已""我也没办法啊""情况变了啊"的时候把你的信任捏得粉碎。把你的信任捏成渣的,你就该把他视为同样粉碎的渣,然后永不相见。


--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130313

《C程序设计语言》句读 20130313

《C程序设计语言》句读 20130313

今天从统计行数的例程请起,到统计单词数,数组刚刚开始。

这次照片也没有,感慨也没有了,快累死了。上传一次句读,表明还活着而已。


--------------------

博客会手工同步到以下地址:



20130304

反向工程一例,攻击人脸识别系统

反向工程一例,攻击人脸识别系统

包师弟有个笔记本,可以通过刷他的脸登录。登录的时候他往机器前面一坐,屏幕上显示摄像头看到他的脸了,然后"的狗"一声,机器就登录成功了。这几天做SECM实在压抑,干活期间,我们试着业余攻击这个人脸识别系统。

我们把攻击定义为,能通过包师弟的脸以外的东西登录成功。众所周知,人脸识别系统是通过摄像头,十有八九是基于数字图像处理的什么算法。如果能够猜测到算法,那么攻击就有的放矢了。

所以,第一步是猜想,第二步是设计实验验证或证否猜想,第三步是修正手头上的"东西",让它看起来虽然不像包师弟的脸,甚至不从他的脸抄袭,却能通过验证。

我们几个人一起整的,中间有商量彼此赞同,还有互相驳斥,再实验验证;许多猜想夹杂在一起,验证的顺序颇为混乱,所以我不按时间叙述,而按猜想组织。

1. 颜色,对比度

我们最初想到的就是拍一张包师弟的照片,刷照片。

第一张照片,我们考虑到了距离远近会导致几何失真,所以相机距离包师弟的脸与摄像头距离他几乎相同距离
(约一臂远)。距离不必太精确,因为考虑到人在登录的时候距离也不精确,所以算法一定具有一定程序的鲁棒性。又同样由于几何失真,我们把这张照片打印为人脸几乎充满A4纸,这跟人脸的真正大小差不多。

登录失败。

我们用的是灰度图,黑白打印机。所以我们怀疑是算法要求颜色,比如使用颜色和纹理确认哪里是人脸,哪里是背景。虽然我们强烈倾向于灰度应该有足够的信息了,但是反向工程时,目标产品用了什么算法却不一定局限于"合理"和足够。所以我们重拍了一张照片,打印成彩色的。

登录成功了。

再用登录成功的照片,打印成灰度的。

登录又成功了。

这说明算法是基于灰度的。第一次失败的照片拍摄的时候有些逆光,虽然使用了点测光,但是对比度仍然不够。这可能不利于检出边缘。

2. 部位

这时候许老师来了,他是物证签定专家。他说,应该挡住一些部位,可能某些部分就足够了。

挡住下巴,登录失败。与此前的登录失败不同,这次不是脸不能识别,而是没有找到脸。此下的实验也表明,认出那是一张脸和认出那是哪张脸,这两个不同的算法,或者算法两个不同部分。

在下巴那部分用黑笔画出个大致的轮廓,上半部分用照片,登录成功。头发和眉毛挡住,画个大致的轮廓,登录成功。把包师弟真人的下半部分用下巴的手绘轮廓图挡住,登录成功。

又做了几次实验。实验表明,眼睛部分是最重要的,其余的部分对于识别是哪张脸没有作用,或者可以归为鲁棒性部分。

包师弟最初在计算机中注册的是戴眼睛的,摘掉眼镜也可以,闭着眼睛也可以,但是眼睛的上缘刚好在瞳孔上登录失败。所以猜测跟瞳孔关系可能最大。关同学猜测,可能跟瞳距,包括瞳距与脸的两侧的比例有关。

用下巴那纸纸挡住包师弟的脸,如果下巴部分太长,登录失败,向上移动下巴的纸,登录成功。所以猜测,可能跟眼睛距离脸的上缘
(可能是头发下缘)和下缘(下巴)的比例有关。

3. 边缘检测

无论用手绘的线条,还是照片,都能检测出脸的存在。这说明至少在找到那是一张脸这一算法中,边缘检测不区别 线条
(两侧是同一颜色,线条是较深的颜色)和 灰度变化 (两侧是不同颜色)。

4. 大小

许老师猜身份证也行。实验表明,佳能IXUS 860
IS那么大的三英寸屏幕不行。我们分析的原因是,这么小的屏幕,为了在摄像头上得到足够大面积的脸,需要把照片靠近摄像头,而摄像头的焦点不能调节到这么近的距离,因此取像模糊。

包师弟的大手机屏幕 (四五英寸)就可以用于登录了。

5. 鲁棒性,装饰和遮蔽物

实验表明,头发可以手绘,而且轮廓即可,下巴也是。甚至宽下巴窄下巴都不怎么重要。包师弟还有个痦子,不画上没有任何影响。

算法大多仍是朴素和愚蠢的,没有智能化到你点个痦子或者理了发就发现这一点--如果它没有能力发现,也就不应该有能力以此为特征识别。

我猜,也许描个眼线,贴个睫毛,描个眼影,也许有影响。如果确认那是哪张脸的算法除了瞳孔还考虑了别的因素,比如眼睛的面积。因为如果用户登录尚未成功,他可能会调整表情、脸的位置,所以算法可能获取许多帧,然后找到眼睛大小和形状合理的那个。所以,表情导致的眼睛变化,算法不考虑可能仍在合理范围内。

6. 总结目前的进度

一张巴掌大小的灰度照片,可以登录。一张横向折了很多次的灰度或彩色照片,可以登录。眼睛及所在的水平像素是打印照片,其余部分是手绘的粗糙线条画,可以登录。

结论,眼睛部分是包师弟这台笔记本人脸识别登录算法的关键。当然,其他的部分要做到足够计算机确认那是一张人脸的程度。

原本希望手绘线条画,包括眼睛,能够登录。如果手绘的基本像眼睛,让计算机能找到,同时非常不像包师弟的眼睛,而算法的特征却一致
(比如算法如果使用了达到某灰度的积分值,即眼睛的面积),那就更理想了。这些最近都没有时间玩了。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]