温韵之没有把这件事告诉卡特。
那天晚上回到家,他把那份文件夹在笔记本里,放在书桌最下面的抽屉。
他不知道自己在犹豫什么,也许是怕事情没定下来说了也没用,也许是不知道该怎么开口,也许只是因为最近两个人之间那种若有若无的疏离让他失去了分享的欲望。
卡特回来的时候他已经睡了,第二天早上醒来卡特已经出门,两个人在餐桌上打了个照面,谁都没多说什么。
温韵之低头吃自己的早餐,卡特在看手机,偶尔喝一口咖啡,整个空间里只有刀叉碰到盘子的声音。
他想,等面试过了再说吧。如果没过,说了也是白说。
普金斯教授的动作很快,周三就发来邮件,说那边安排了面试,时间定在这周五下午两点,地点在市中心一栋写字楼里,那家公司的研发部在那里设有办公室。
温韵之回了一个好的,我会准时到。为了更好的面对这次面试,他把那家公司的资料翻了个底朝天。
他们的官网,发表过的论文,做过的项目,创始人背景,核心技术团队,包括最近拿到的融资,他全都看了一遍。
还把自己之前做的那个模型优化了,又把文档整理得干干净净,存在U盘里,准备面试的时候带着。
拉曼德给他发过几次消息,问他有没有时间出来坐坐。
温韵之看着那些消息,打了字又删掉,删掉又打上,最后只回了一句最近有点忙,改天吧。
他知道这样不好,拉曼德没有做错什么,甚至可以说是这件事里最无辜的人。但每次看到他的名字,温韵之就会想起那个视频,想起卡特看他的眼神,想起自己从别人嘴里知道一切时的那种感觉。
那种感觉让他喘不过气来。
所以他选择躲着。至少现在,他还不知道怎么面对。
面试那天,温韵之起了个大早。
他在衣柜前站了很久,最后选了一件浅蓝色的衬衫,配一条深灰色的西裤,看起来正式又不至于太拘谨。
他对着镜子看了好几遍,把领口整理好,把头发梳顺,确定没什么问题才出门。
临出门的时候,他回头看了一眼客厅。
那盏灯塔还在茶几上,闪动的光在早晨的阳光里几乎看不见。卡特昨天晚上回来得很晚,他迷迷糊糊听到开门的声音,然后就没有然后了。
今早起来,卡特已经走了。
温韵之发动那辆福特野马。引擎的声音在空旷的地下车库里回荡,低沉而有力。
那栋写字楼在市中心,离卡特的公司不远,走路也就十分钟。温韵之把车停在地下车库,坐电梯上到二十八层。
这里的整个楼层都是玻璃墙,通透得能看到里面的一切。
地面是浅灰色的大理石,擦得能照出人影。墙上挂着一些抽象的装饰画,但看着很舒服,让人不自觉地放松下来。
前台后面坐着一位穿着职业装的女生,看到他进来就站起来,微笑着问是不是温先生。
温韵之点点头,跟着她往里走。
走过一条长廊,他被带到一间小会议室里,里面已经坐着三个人。
中间那个是位中年男人,头发花白,看起来很温和,笑起来眼角有细细的皱纹。
左边是个年轻一点的女性,扎着马尾,穿着简单的白衬衫,手里拿着一个平板,正低头看着什么。
右边是个戴眼镜的男生,看起来比他大不了几岁,穿着一件深色的卫衣,正对着电脑屏幕敲代码,听到门响才抬起头。
“温韵之?”中间的男人站起来,伸出手,“我是张晟,负责这个项目的技术部分。这两位是我的同事,林远和赵轩。”
温韵之握了握他的手,又跟另外两个人点了点头,然后在他们对面坐下。椅子很舒服,是真皮的,坐下去的时候微微陷进去一点。
张晟的语速不快,但每一句话都说得很清楚。他先问了一些常规的问题,比如为什么转专业,为什么对这个方向感兴趣,之前做过什么项目。
温韵之都一一回答,尽量让自己的声音听起来稳一点。他的手放在膝盖上,手心有点出汗,但还在可控范围内。
林远偶尔会插一句话,问一些细节,比如那个客流预测模型的数据来源是什么,清洗数据的时候遇到了什么问题,怎么解决的。
她的问题问得很细,显然是在考察他是不是真的做过。赵轩一直没说话,只是偶尔抬起头看他一眼,然后又低下头去看手里的电脑。
聊了大概二十分钟,张晟说:“你之前那个客流预测模型,普金斯教授给我们看过。做得不错,思路很清晰,数据处理的细节也处理得很好。”
温韵之连忙说谢谢。他没想到普金斯教授会把那个模型发给这些人看。
“不过,”张晟话锋一转,身体微微前倾,“那毕竟是个小项目。我们这边做的东西要复杂得多,对算法的要求也高很多。普金斯教授说你底子不错,但我们还是想亲眼看看。”
他看了看林远,林远点点头,把手里的平板转过来,屏幕对着温韵之。
“这是一个真实病例的数据,”林远说,“肺部CT影像,一共两百三十七张切片。这里面有一个早期肺结节的样本,位置非常隐蔽,常规算法很容易漏掉。你需要在一个小时之内,设计一个简单的检测流程,把这个结节找出来。”
温韵之看着屏幕,两百三十七张CT切片,早期肺结节,隐蔽位置。
这比他预想的要有意思得多。
林远继续说:“我们不要求你从头写一个完整的检测算法,你可以调用任何开源库,也可以用我们提供的框架。我们要看的是你的思路,你的处理方式,你在面对复杂问题时的反应。明白吗?”
温韵之点点头,把目光移到电脑上。屏幕上已经打开了一个编程界面,旁边是一个文件夹,里面是那两百三十七张CT切片,还有一些基本的代码框架和工具库。
他活动了一下手指,开始动手。
会议室里安静极了。
只有他敲击键盘的声音,一下一下的,很有节奏。张晟他们三个人就坐在对面,偶尔低声交流几句,但大部分时候都在看着温韵之日。
他先把所有的切片快速浏览了一遍,心里有个大概的印象。然后他开始调整对比度,去噪,归一化。
这些步骤看起来很基础,但做得好不好直接影响到后面的检测效果。他一边做一边在心里计算着时间,不能太快,太快容易出错,也不能太慢,太慢来不及。
预处理做完,他开始做特征提取。他选了几个常用的特征,又自己加了一个边缘检测的算法。那个位置的结节很隐蔽,边缘可能是关键。他一边写代码一边调试,眼睛盯着屏幕,手指几乎没有停过。
四十分钟的时候,他跑出了第一版结果。屏幕上跳出一行红色的标记,指向其中一张切片上的一个小点。他放大看了看,心里咯噔一下。
不对。那个位置不太对。
他闭上眼睛,在脑子里把整个过程过了一遍。预处理没问题,特征提取没问题,算法选择也没问题。那问题出在哪里?
林远在旁边轻轻咳了一声,但没说话。
温韵之睁开眼,又看了一遍那些切片。忽然,他意识到问题在哪里了。
他一直在做全局搜索,但那个结节的位置就是隐蔽,常规的搜索方式根本找不到。他需要换个思路,先缩小范围,再精确定位。
他重新开始写代码,这次快了很多。五十分钟的时候,他跑出了第二版结果。
屏幕上跳出几行红色的标记,指向另一张切片。他放大看了看,这一次,那个位置对了。
五十五分钟的时候,一张放大的CT切片上,一个黄豆大小的阴影被红色的框圈出来,旁边显示着一行参数:置信度92.7%。
他靠在椅背上,长长地吐了一口气。
会议室里安静了几秒。张晟主动开口:“说说你的思路。”
温韵之坐直身体,开始讲。他从预处理讲起,讲到特征提取,讲到第一版为什么错,怎么在最后几分钟完成检测…………
他讲完的时候,发现林远和赵轩都在看他。
张晟点点头,脸上露出一点笑意:“不错。比我们预期的要好得多。那个位置确实很隐蔽,我们自己的实习生第一次做,十个人里有九个找不到。”
张晟合上手里的文件夹,看着他:“你的情况普金斯教授都跟我们说了。我们这边需要人手,你这边也确实有能力。如果没什么问题,一周之内我们会给你答复。不过我个人觉得,问题不大。”
温韵之站起来,开心地道了谢。林远送到电梯口的时候说:“你那个边缘检测的思路很聪明。是自己想的?”