陈默睁开眼时,天光已经大亮。
窗帘缝隙里漏进来的阳光刺眼,在地板上切出一道锐利的光斑。他摸过手机,上午十点二十七分。睡了将近十二个小时。
脑袋不痛了,但有种被掏空后的轻飘感。
他坐起来,缓了半分钟。然后下床,赤脚踩在地板上,冰凉。走到窗边拉开窗帘,外面是雨后初晴的蓝天,云絮薄得像撕开的棉。
街道湿漉漉的,反着光。
他洗漱,刮胡子。镜子里的脸依然瘦削,但眼睛里那股烧着似的亮光还在。他换了件干净的灰色衬衫,领口有点磨,但熨烫过。
背包还在鞋柜上。
他打开检查了一遍:电脑,充电器,移动电源,网卡。打印的报告装了透明文件夹,边角整齐。演示程序昨晚已经反复测试过,跑得动。
他背上包,重量压在肩上,很踏实。
出门时看了眼时间,下午一点四十分。距离约定还有一小时二十分。他下楼,街道上行人不多,空气里有股雨后泥土的腥味。
地铁坐了七站。
出站时两点十五分。蓝山咖啡馆在街角,绿色招牌被雨水洗得发亮。他推门进去,风铃叮当响。
店里暖气开得足,混杂着咖啡香和甜点味。
他扫了眼座位,沈清澜还没到。他找了个靠墙的位置坐下,面朝门口。服务生过来,他要了杯热水。
玻璃杯烫手。
他握着杯子,指尖慢慢回暖。窗外行人来来去去,车流缓慢移动。时间一分一秒过去,两点四十。
沈清澜推门进来。
她穿了件深灰色大衣,里面是黑色高领毛衣。头发扎成低马尾,露出光洁的额头。她目光在店里扫了一圈,落在陈默身上。
径直走过来。
“等久了?”她脱下大衣搭在椅背上,动作利落。
“刚到一会儿。”陈默说。
沈清澜坐下,点了杯美式。服务生离开后,她才看向陈默。目光在他脸上停留了几秒,像在评估什么。
“你瘦了。”她说。
“赶进度。”陈默说。
沈清澜没接话,从包里拿出平板电脑。屏幕点亮,她调出一份文档。“演示环境我重新安排了。这里不方便,跟我来。”
陈默愣了一下。
“去哪?”
“一个更安静的地方。”沈清澜站起身,重新穿上大衣。“车在外面。”
陈默拎起背包跟上去。门口停着辆黑色轿车,车型低调。沈清澜拉开后座门,示意他上车。
车里暖气很足,有股淡淡的皮革味。
司机是个中年男人,没回头,直接启动车子。陈默看着窗外,街道景色向后滑去。他手指无意识地敲着背包带子。
“紧张?”沈清澜忽然开口。
“有点。”陈默实话实说。
“不用。”沈清澜看向窗外,侧脸线条清晰。“我只在乎东西够不够硬。”
车子开了二十分钟,停在一栋灰白色建筑前。建筑外墙是玻璃幕墙,反射着天光。门厅简约,前台空着。
沈清澜刷卡进门,电梯上到七层。
走廊铺着厚地毯,脚步声被吸收。她走到一扇深色木门前,再次刷卡。门锁轻响,开了。
里面是个小型会议室。
长条桌,六把椅子。一面墙是落地窗,外面是城市天际线。另一面墙嵌着大尺寸显示屏,下方连着各种接口。
桌上已经摆好了电源转换器,网线,还有两台备用笔记本。
“这里是我朋友的私人图书馆,平时没人。”沈清澜脱下大衣挂好。“隔音很好,网络专线,设备随便用。”
陈默放下背包,环视四周。
空间确实安静,能听见中央空调出风的细微声响。他打开背包,取出电脑和线缆。手指有点僵,插了两次才插好。
沈清澜拉开椅子坐下,双手交叠放在桌上。
“开始吧。”
陈默深吸一口气,按下开机键。电脑风扇轻响,屏幕亮起。他连接显示屏,画面投到墙上。
桌面很干净,只有几个图标。
他点开演示程序。黑色界面弹出,左侧是实时视频流窗口,右侧是分析结果面板。界面设计得极其简洁,没有多余元素。
“这是主界面。”陈默说,声音在安静的空间里有点干。“支持本地视频文件,也支持实时摄像头接入。今天我用你给的测试数据集。”
他点开文件浏览器,选中第一个视频。
画面出现:昏暗的走廊,人影模糊晃动。这是最难处理的那个夜间场景。陈默点击开始分析。
进度条出现,缓慢移动。
百分之十,百分之三十。沈清澜身体微微前倾,盯着屏幕。她的手指在桌面上轻轻敲了一下,很轻。
百分之七十,百分之百。
分析完成。右侧面板弹出结果:检测到三个行人。每个行人被红色框框标出,旁边显示置信度:百分之九十二,八十七,九十一。
框框位置精准,随着人影移动而移动。
沈清澜没说话。
陈默点开第二个视频:雨天街道,玻璃反光严重。进度条走完,检测到五个行人,置信度最低的也有八十五。
误报数为零。
第三个,第四个。他挑了数据集中最困难的十个场景,一一跑过。平均准确率稳定在百分之九十以上,误报率千分之四点六。
演示过程中,陈默的语速一直很平稳。
他解释算法如何处理光照突变,如何区分人影和阴影,如何在低分辨率下保持精度。技术细节讲得很清楚,但不过度深入。
沈清澜始终安静听着。
只在某个关键点时,她忽然开口:“动态阈值模块的边界条件,你怎么处理的?”
陈默手指微顿。
这正是他之前卡住的地方。他调出代码片段,指向其中几行。“加了光照变化梯度的二次判断。突变超过百分之五十时,启用备用模型,权重融合。”
沈清澜看着代码,看了很久。
然后她抬起眼。“这个思路很刁钻。谁教你的?”
“自己想的。”陈默说,喉咙有点发紧。“试了很多次。”
沈清澜没追问。她靠回椅背,双手抱在胸前。这是她第一次露出放松的姿态,虽然幅度很小。
“跑一下实时接入。”她说。
陈默点头,从包里拿出一个微型摄像头。巴掌大小,b接口。他插上电脑,调整角度对准会议室门口。
实时画面出现在左侧窗口。
空荡荡的走廊,没人。陈默点了开始分析。画面右下角显示着实时帧率和处理延迟:每秒三十帧,延迟六十七毫秒。
“延迟可以优化到四十毫秒以内。”陈默补充道。“今天用的测试版,没开极致模式。”
沈清澜忽然站起身。
她走到会议室门口,推开门,走了出去。陈默盯着屏幕,画面里出现了她的背影。红色框框立刻跟上,锁定,置信度百分之九十六。
她在走廊里走了个来回。
时而快速,时而停下。框框始终稳稳跟着,没有丢失。她走到摄像头正前方时,画面里是她的脸。
表情平静,眼神锐利。
然后她走回会议室,重新坐下。屏幕上的框框在她落座瞬间消失,系统判断为静止物体,不再追踪。
“误报呢?”她问。
陈默调出日志窗口。过去五分钟里,系统触发过两次疑似警报,但都在零点三秒内自我修正,未列入最终误报。
“自修正机制。”他说。“用了时序一致性校验。”
沈清澜沉默了片刻。
会议室里只有电脑风扇的轻微嗡鸣。窗外云层移动,阳光时明时暗,在她脸上投下流动的光影。
她忽然笑了一下。
很浅的弧度,嘴角微微上扬,转瞬即逝。但陈默看见了。那是他第一次在她脸上看到类似赞许的表情。
“比我想象的好。”沈清澜说,声音很轻。“好很多。”
陈默手指松开,才发现自己一直攥着拳头。掌心有四个浅浅的指甲印,微微发红。他慢慢吐出一口气。
“所以,”他说,“够硬吗?”
沈清澜看向他,眼睛里有光在闪。“硬得有点过头了。这不像两周能做出来的东西。”
陈默没接话。
“但我不关心你怎么做到的。”沈清澜继续说,语速快了些。“我只看结果。结果就是,这东西有商业价值,而且不小。”
她伸手,指尖在平板屏幕上滑动。
调出一份市场分析报告。“智能安防,零售客流分析,交通监控,甚至无人驾驶的辅助感知。每个方向都能切进去。”
陈默看着那些图表和数据。
“但需要打磨。”沈清澜说。“界面太糙,适配的摄像头型号不够多,稳定性还需要大规模测试。这些都是时间问题。”
她放下平板,身体前倾。
“现在说正事。你想怎么合作?”
问题来得直接,像把刀子插进桌面。陈默早有准备,但心跳还是快了一拍。他端起水杯喝了一口,水已经凉了。
“我需要资金,场地,法务支持。”他说。“还有你手里的客户资源。”
“我能得到什么?”
“技术主导权。”陈默说。“算法是我的,核心代码我会保留。但公司股权,我们可以谈。”
沈清澜手指在桌上敲了敲,嗒,嗒。
“股权比例之后细谈。我先问清楚:这个算法,和‘灵瞳’的关系到底有多少?”她盯着陈默的眼睛。“我要听实话。”
陈默迎上她的目光。
“基础思路都来自行人检测这个领域,公开论文里都能找到。但具体实现,优化技巧,架构设计,全是我重新写的。没有抄袭任何一行‘灵瞳’的代码。”
他顿了顿。
“而且,‘灵瞳’的瓶颈在于过度复杂。我做了减法,用更简单的模型达到更好的效果。这是两个不同的东西。”
沈清澜听得很认真。
“你能证明吗?”她问。
“代码可以交第三方审计。”陈默说。“所有开发记录我都有。从构思到实现,每一步都能追溯。”
沈清澜点点头,似乎满意这个回答。
“法律风险我会找人评估。”她说。“如果没问题,我可以提供初始资金,不超过一百万。办公场地我也有地方,共享办公区,先凑合用。”
陈默喉咙发干。
一百万。比他预想的要多。他强迫自己保持平静,但手指还是微微颤了一下。
“够吗?”沈清澜问。
“够了。”陈默说。“够撑到第一轮融资。”
“融资的事我来牵线。”沈清澜说。“但我有个条件:公司技术方向,重大决策,我必须有一票否决权。”
陈默沉默了几秒。
“可以。”他说。“但仅限于商业和战略层面。技术研发,得听我的。”
“成交。”沈清澜伸出手。
陈默握住。她的手很凉,但握得很稳。松开时,陈默感觉到一种真实的重量,从掌心传遍全身。
不是幻觉,是真的。
“接下来怎么做?”他问。
沈清澜重新坐直,调出日历。“今天周三。这周内我会把资金准备好,场地钥匙给你。你那边,立刻开始注册公司,想好名字。”
“默视科技。”陈默脱口而出。
沈清澜挑眉。“早就想好了?”
“嗯。”陈默说。
“行。”她在日历上做了标记。“公司注册流程我发你模板,按着走。下周,我们要见第一个人。”
“谁?”
“我大学同学,现在做智慧社区改造。”沈清澜说。“他手头有个老旧小区试点项目,正在找安防方案。这是第一个潜在客户。”
陈默心跳又快起来。
“我需要准备什么?”
“把你的演示程序再优化一下,针对小区场景。”沈清澜说。“具体需求我晚点发你。记住,这次是实战,不是技术演示。”
陈默点头,手指在键盘上敲了几下,记下要点。
窗外天色渐渐暗下来。云层又厚了,可能要下雨。沈清澜看了眼时间,下午四点五十。
“今天就到这。”她站起身,穿上大衣。“演示材料发我一份,我拿去给法务看。有问题随时联系。”
陈默开始收拾东西。
拔掉线缆,关闭电脑,装进背包。动作很慢,像在消化刚才发生的一切。沈清澜站在门口等他。
两人一起走进电梯。
轿厢镜子映出他们的身影:一个瘦削疲惫但眼神发亮,一个干练清冷但嘴角放松。电梯下行,失重感很轻微。
一楼门厅空荡。
沈清澜走到门口,停下脚步。“下周一,还是这里,上午十点。带好你的公司注册材料。”
“好。”陈默说。
沈清澜看了他一眼,忽然说:“回去好好睡一觉。你脸色很差。”
陈默愣了一下,点头。
沈清澜转身走向轿车,拉开车门,没回头,摆了摆手。车子启动,汇入傍晚的车流,很快消失。
陈默站在原地,站了很久。
背包沉甸甸地压在肩上,但他觉得轻。像是卸下了什么,又像是扛起了什么。风从街道尽头吹来,带着湿冷的气息。
他深吸一口,然后迈步走向地铁站。
脚步很稳,一步,一步。路灯在他身后次第亮起,在地上拖出长长的影子。影子随着步伐晃动,像在跳舞。
一场技术之舞,刚刚拉开序幕。
而他知道,这只是第一步。后面还有更长的路,更难的关,更激烈的舞。但他手里有了筹码,有了同伴。
有了实实在在的东西。
地铁进站,他刷卡进闸。车厢里挤满了下班的人,空气闷热浑浊。他靠在门边,看着窗外飞速掠过的隧道墙壁。
黑暗里,偶尔有指示灯闪过。
像代码运行时的光标,一跳,一跳。他闭上眼睛,脑子里不再有刺痛,只有一种深沉的疲惫,和疲惫之下涌动的兴奋。
回到出租屋时,天已经黑了。
他开灯,放下背包。屋里一切如旧,但感觉不一样了。空气中飘着的泡面味和灰尘味,似乎也淡了些。
他煮了碗面,加了两个蛋。
这次吃出了咸味,吃出了鸡蛋的香。他吃得很慢,一口一口,像是在品尝某种仪式。吃完洗了碗,手不抖了。
坐到电脑前,他打开邮箱。
沈清澜的邮件已经发过来了。附件里是公司法务的初步评估意见,还有智慧社区项目的背景资料。邮件正文只有一句话:
“动作要快。”
陈默回复:“明白。”
然后他开始工作。注册公司的流程文档,他逐条细读。智慧社区的需求列表,他一条条标记,思考解决方案。
键盘声再次响起。
但这次节奏不同。不再像雨点急打,而像鼓点,沉稳,有力,带着明确的节奏。一下,一下,敲向某个确定的方向。
夜深了。
他站起来活动肩膀,走到窗边。外面又下起了小雨,雨丝细密,在路灯下闪着银光。街道湿透,倒映着霓虹灯的颜色。
他看了一会儿,然后拉上窗帘。
回到桌前,继续写。写公司注册的申请表,写针对智慧社区的技术方案草案,写接下来一周的待办清单。
写到凌晨两点。
他保存所有文件,备份到云端。然后关电脑,屏幕暗下去。屋里只剩台灯的光,昏黄温暖。
他躺到床上,没关灯。
盯着天花板上的光晕,脑子里不再是乱码和警报。而是一条清晰的路,路上有节点,有目标,有同伴。
他闭上眼睛。
睡意来得很快,像温和的潮水,把他淹没。最后一刻,他听见雨声敲在窗玻璃上,嗒,嗒,嗒。
像在为他鼓掌。