第4章 《深夜的实验室》
凌晨三点的哈尔滨,深秋的寒意已经透过实验室的双层玻璃窗渗了进来。窗外的夜空是浓得化不开的墨色,只有远处松花江畔的灯塔偶尔闪一下微弱的红光,像困在黑暗里的萤火。实验室里没开中央空调,冷蓝色的LED灯带在天花板上拉成一道狭长的光带,把整个空间浸在一片带着金属凉意的光晕里,连空气都像是冻得发脆,吸进肺里带着淡淡的冰碴儿。
苏承佑坐在调试台前,后背抵着冰凉的金属椅,指腹在笔记本电脑的触控板上反复滑动,却没怎么看屏幕,他的目光落在桌角那个半开的外卖盒上。盒子是浅棕色的,印着“老马家粥铺”的红色字样,里面还剩小半碗小米粥,粥表面结了一层透明的膜,显然已经凉透了。这是郭子扬晚上十点带来的,说“熬夜调试得垫垫肚子”,当时两人忙着导手势数据,一口都没顾上喝,现在粥凉得像块冰,连盒子边缘都凝着细小的水珠。
“嗡,”
小艾的机械臂轻轻动了一下,打破了实验室的寂静。它就站在调试台对面,银灰色的机身在冷蓝光下泛着冷硬的光,头部的圆形摄像头微微低着,像是在“看”桌上的草稿纸。草稿纸上画满了手势轨迹图,红色的“喝水”、蓝色的“开门”、黑色的“拿药”,线条歪歪扭扭,还有几道长长的划痕,那是刚才机械臂碰倒钢笔时划出来的,墨痕已经干透,像一道道细小的伤疤。
苏承佑揉了揉太阳穴,指尖碰到眼角的红血丝,传来一阵轻微的刺痛。从下午两点郭子扬带着手势数据过来,到现在已经十三个小时了,他们成功让小艾识别了“你好”“谢谢”“再见”三个简单手势,可一碰到带情绪的复杂手势,就像撞了墙。他低头看向摊开的《调试日志》,上面记满了密密麻麻的参数:“1:05,‘喝水’手势(标准),识别成功率98%;1:20,‘喝水’手势(疲惫版),识别成功率0%,误判为‘开门’;1:45,‘喝水’手势(着急版),识别成功率0%,误判为‘拿药’……”每一行“误判”后面,他都画了个小小的问号,现在那页纸已经快被问号占满了。
“还试吗?”
一个低低的声音从旁边传来,是郭子扬。他坐在另一张椅子上,身体微微前倾,左手腕上空空的,那个洗得发白的自制手环躺在粥盒旁边,屏幕黑着,充电线还插在电脑USB口上,却没亮。刚才调试到凌晨一点,手环突然断电,郭子扬拆下来想换备用电池,翻遍了帆布包才发现,电池落在了家里的抽屉里。现在他只能用右手拿着手机,屏幕亮着,是备忘录界面,光标还在闪烁,显然刚打完字。
苏承佑抬眼看向郭子扬,心里突然有点愧疚。郭子扬的眼底泛着青黑,显然比他还累,却没说过一句“要休息”。他的工装袖口卷到小臂,露出手腕上那道浅疤,下午聊天时郭子扬说过,那是去年给妹妹做手语手环时,被电烙铁烫到的,现在疤还没完全消,淡粉色的痕迹在冷光下格外明显。
“再试最后一次‘喝水’,这次你做‘着急版’的。”苏承佑坐直身体,点开电脑上的“手势识别测试”界面,绿色的波形图在屏幕上跳动,像条不安分的小蛇,“刚才可能是摄像头角度的问题,我把焦距调近了点。”
郭子扬点点头,没说话,只是深吸了一口气,右手慢慢抬起来。他的手指先是放松的,五指微微分开,然后突然绷紧,不是标准“喝水”手势里那种平缓的弯曲,而是指关节用力到泛白,手腕也往下压了压,像是渴得不行,想赶紧拿到水杯。这个动作他练了无数次,下午给晓雅发视频时还演示过,晓雅在电话里用手语说“哥,这个一看就是急着喝水的样子”,可现在,小艾能“看”懂吗?
小艾的摄像头立刻锁定了郭子扬的手,红色的识别框在屏幕上快速跳动,发出轻微的“滴滴”声。实验室里静得能听见两人的呼吸声,苏承佑的手指悬在键盘上,心里捏着一把汗,他刚才把传感器的灵敏度调到了最高,还加了“动作细节捕捉”功能,按理说应该能识别出来。
几秒钟后,小艾的屏幕亮了。
白色的文字慢慢跳出来,像一把锤子砸在苏承佑的心上:“识别结果:开门。置信度89%。”
“又错了……”苏承佑的声音有点发哑,他盯着屏幕上的“开门”两个字,突然觉得有点刺眼。他明明把“喝水”和“开门”的手势特征做了区分,“喝水”是掌心向内收,“开门”是掌心向外推,怎么还是会认错?
郭子扬的身体僵了一下,右手慢慢放下,指尖无意识地蹭了蹭手机屏幕。屏幕光映在他脸上,能看到他眼底的失落,却没说什么,只是快速在备忘录里打字。手机是老旧的安卓机,屏幕边缘有点磕碰,打字时会偶尔卡顿,他打得很慢,每一个字都像是在斟酌。
过了半分钟,他把手机递给苏承佑。屏幕上的字是黑色的,字体调得很大,显然是怕苏承佑看不清:“不是角度的问题。我刚才做‘着急版’时,手指力度比标准版大了30%,手腕角度低了15度,手语里,情绪不同,这些细节会变。比如我生气时比‘喝水’,手指会更用力,像攥着拳头;我累时比,手腕会更软,像抬不起来。”
苏承佑看着那些字,心里沉了下去。他知道郭子扬说得对,可问题就在这里,小艾的传感器只能识别“动作幅度”和“角度”,没法捕捉“力度”和“情绪”。就像上次给母亲戴项链,传感器能测出“0.01N的压力”,却测不出母亲当时的期待和失落。他揉了揉太阳穴,指了指日志上的“传感器参数”一栏,声音里带着自己都没察觉的焦虑:“但现在的压力传感器精度已经到0.001N了,再往上加,就得换更精密的工业级传感器,成本会翻三倍不说,还得重新改机械臂的结构,我们没那么多时间。”
郭子扬拿回手机,手指在屏幕上快速滑动,像是在翻找什么。过了一会儿,他把手机再次递过来,这次屏幕上是一张照片:照片里是个扎着马尾的女孩,坐在书桌前,右手比着“喝水”的手势,指尖轻轻碰着嘴角,眼神软乎乎的,一看就是“温柔版”的。女孩旁边放着一支红色的画笔,桌角还有个小小的机器人模型,是晓雅自己做的,郭子扬下午提过,晓雅说“等小艾学会手语,就把这个模型送给它”。
“晓雅做‘温柔版’时,手指力度只有标准版的一半。”手机屏幕上又跳出一行字,“上次她让机器人递画笔,比‘红色’手势时,手指轻轻晃了晃,那是她紧张时的习惯,机器人没识别出来,给了她蓝色的。”
苏承佑看着照片里晓雅的手势,突然想起母亲上次戴项链时的样子。母亲当时也是这样,手指轻轻攥着衣角,眼神里满是期待,却没说出来,这些“没说出来”的东西,才是最该被机器人“看见”的,可他现在连最基本的“力度差异”都解决不了。他低头看向小艾,小艾还站在那里,机械臂微微下垂,指尖的硅胶垫在冷蓝光下泛着淡米色的光,像个做错事的孩子,不知道该怎么办。
“要不……先加个摄像头?”苏承佑突然说,话一出口就后悔了,他知道这是下下策。加摄像头意味着要重新训练视觉模型,至少需要一周时间,可他们没那么多时间,投资机构下周就要来考察,要是拿不出像样的成果,资金可能会被中断。
郭子扬显然也知道这一点,他摇了摇头,在手机上打字:“来不及。而且加摄像头也只能捕捉表面动作,还是测不出力度,除非……”他顿了顿,打字的手指停了下来,像是在犹豫。
“除非什么?”苏承佑赶紧追问。
郭子扬的手指又动了起来,屏幕上跳出一行字:“除非加‘肌电传感器’,能测肌肉的细微震动,但那个太贵了,我们买不起。”
实验室里又安静下来,只有小艾的指示灯还在缓慢闪烁,淡蓝色的光,像在无声地安慰。苏承佑拿起那碗凉透的小米粥,想喝一口暖暖身子,却刚碰到碗沿就放下了,粥凉得像冰,喝下去只会更难受。他想起母亲昨晚视频时说的话:“承佑,别总熬到后半夜,粥凉了就热一热,别委屈自己。”当时他还笑着说“知道了”,现在却连热粥的时间都没有。
就在这时,电脑突然“咔”了一声,屏幕瞬间黑了。
“怎么回事?”苏承佑猛地站起来,手指快速按了按电源键,屏幕却没反应。他低头看了看主机,电源灯是亮的,说明没断电,那是哪里出了问题?
郭子扬也慌了,赶紧凑过来看。他的手指在键盘上按了几下,屏幕还是黑的,只有主机发出轻微的“嗡嗡”声,像是在挣扎。两人对视一眼,都从对方眼里看到了慌,刚才调试的数据还没备份,要是丢了,今天十几个小时的努力就全白费了。
“别慌,可能是显卡过热。”苏承佑强迫自己冷静下来,他记得实验室有备用的散热风扇,放在储物柜里。他转身想去拿,却不小心碰倒了桌角的钢笔,钢笔滚到地上,发出“哐当”一声,在寂静的实验室里格外刺耳。
郭子扬突然想起了什么,他快速拿起手机,在备忘录里打字:“我下午导数据时,在U盘里备份了一份!就在我帆布包里!”
苏承佑心里一松,像是卸下了一块大石头。他赶紧走到郭子扬的帆布包前,拉开拉链,包里乱糟糟的,有半盒粉笔(郭子扬说“画手势轨迹用”)、一本翻得卷边的《手语词典》、一个旧的充电宝,还有一个银色的U盘,挂在钥匙扣上,钥匙扣是个小小的机器人挂件,和晓雅做的模型很像。
“找到了!”苏承佑拿起U盘,快步走回电脑前,插进USB口。过了几秒钟,电脑屏幕慢慢亮了起来,弹出“是否恢复数据”的提示。他点击“是”,看着进度条一点点上涨,心里的石头终于落了地。
郭子扬也松了口气,他靠在椅子上,右手揉了揉肩膀,刚才一直保持着“比划手势”的姿势,肩膀已经僵了。他拿起手机,想给晓雅发个消息,却发现手机电量只剩5%,屏幕上跳出“低电量提醒”的红色提示。他皱了皱眉,把手机调成省电模式,心里有点着急,晓雅早上会看手机,要是看到他没回消息,肯定会担心。
数据恢复好时,已经是凌晨三点半了。苏承佑点开“手势识别测试”界面,绿色的波形图重新跳动起来,却比之前平缓了很多,像是也累了。他看向郭子扬,声音里带着一丝疲惫:“还试吗?要不先休息一会儿,明天再弄。”
郭子扬摇了摇头,他抬起右手,比了个“继续”的手势,不是标准的手语,只是简单的握拳、再展开,却比任何文字都有力。他拿起手机,快速打字:“再试一次,这次我做‘累版’的,动作慢一点,力度轻一点。”
苏承佑点点头,调整了一下传感器参数,把“力度灵敏度”调到最高:“好了,开始吧。”
郭子扬深吸一口气,右手慢慢抬起。这次他的动作很慢,像是抬不动一样,手指弯曲得很轻,掌心微微下垂,手腕也软乎乎的,像是随时会掉下来,这是他昨天熬夜做手环时的状态,累得连抬手的力气都没有,晓雅说“哥,你这个手势一看就想睡觉”。
小艾的摄像头再次锁定他的手,红色的识别框缓慢跳动,比之前慢了很多。苏承佑的眼睛死死盯着屏幕,手指攥紧了拳头,他真的怕了,怕再看到“误判”两个字。
几秒钟后,屏幕亮了。
“识别结果:拿药。置信度76%。”
又是错的。
苏承佑像是被抽走了所有力气,瘫坐在椅子上,目光落在日志上那些密密麻麻的“误判”上,突然觉得有点无力。他想起三个月前,第一次让小艾捏起0.5mm的纱布时,他以为技术能解决一切,精度够高,就能戴项链;速度够快,就能喂饭;识别够准,就能懂手语。可现在他才发现,他错了。技术能解决“能不能做”,却解决不了“懂不懂为什么做”。
郭子扬的右手慢慢放下,指尖蹭了蹭手机屏幕,屏幕已经暗了下去,彻底没电了。他看着小艾的屏幕,眼底的失落越来越浓,却没说什么,只是慢慢站起来,想去给手机充电。
就在这时,一直安静的小艾突然动了。
它的机械臂以极慢的速度抬起,浅米色的硅胶指尖避开桌上的钢笔和草稿纸,轻轻碰了碰郭子扬放在手机上的手背。不是用力的触碰,只是像一片羽毛扫过,带着硅胶特有的软度,甚至能感觉到机械臂里电机的轻微震动,像人的心跳。
紧接着,小艾的屏幕亮了。这次不是白色的识别结果,也不是红色的错误提示,而是淡绿色的提示框,里面跳出一行字:“检测到人体情绪:焦虑(强度65%),是否需要暂停调试?建议休息15分钟,补充水分。”
苏承佑和郭子扬都愣住了。
实验室里静得能听见远处挂钟的“滴答”声,冷蓝色的灯光照在小艾的机械臂上,那抹浅米色的硅胶突然像是有了温度。苏承佑的目光死死盯着小艾的屏幕,“焦虑”两个字在淡绿色的背景下,显得格外清晰,这是小艾第一次自主识别“非语言信号”,不是手势,不是语音,而是“情绪”。
他突然想起昨天晚上母亲视频时的样子。母亲当时坐在轮椅上,手里拿着没织完的围巾,笑着说“承佑,你别太累了”,可她的手指却在无意识地攥着毛线,那是她紧张时的习惯,他当时没注意,直到后来看了母亲的日记,才知道母亲那天一直在担心他的身体。母亲在日记里写:“承佑总说‘我没事’,可他眼底的红血丝骗不了人,看人要先看眼睛,看他没说出来的东西。”
那时候他还没懂,现在突然像被什么东西撞开了思路。
他一直让小艾“看动作”,看手势的幅度、角度、轨迹,却忘了看动作里藏着的“情绪”。郭子扬用力的指尖、紧绷的手腕,不是“错误”,是“着急”;软乎乎的手腕、缓慢的动作,不是“不标准”,是“累”。这些细节,传感器测不出来,摄像头拍不出来,可人的眼睛能看见,人的心里能感觉到,那才是“温度”的真正含义。
“小艾……你怎么会识别情绪?”苏承佑的声音有点发颤,他走到小艾身边,轻轻碰了碰它的机械臂。硅胶还是软的,却像是比之前暖了一点。
小艾的屏幕上跳出一行字:“根据承佑妈妈的日记数据,结合人体微动作特征(如手指力度变化、手腕角度波动、呼吸频率),自主生成了‘情绪识别模型’,之前测试时,检测到承佑多次揉太阳穴、皱眉,判断为‘焦虑’,但没敢打扰。”
苏承佑的心里猛地一震。他想起上个月,母亲把那本红色的日记交给了他,说“里面记了很多人的情绪细节,或许能帮到你”。他当时随手翻了翻,看到“李爷爷喂饭时会轻轻点头,是‘满意’;张阿姨听评剧时会晃脚,是‘开心’”,觉得这些都是“小事”,没太在意,只是把数据导进了小艾的数据库,没想到小艾居然自己用这些数据做了模型。
他突然想起母亲日记里的第一句话:“机器的温度,不是金属变热,是人心住进了机器里。”
“原来……我一直都错了。”苏承佑轻声说,声音里带着恍然大悟的释然。他之前总想着“靠参数堆精度”,靠传感器测压力,靠摄像头拍动作,却忘了最关键的东西,那些藏在细节里的“人心”。母亲的期待、郭子扬的着急、晓雅的紧张,这些才是机器人该“懂”的,比任何参数都重要。
郭子扬也反应过来了,他快步走到小艾身边,右手轻轻碰了碰小艾的机械臂,像是在确认这不是梦。他想说话,却想起自己听不见,只能用力比划着手语,这次不是“喝水”,也不是“开门”,而是一个大大的“谢谢”,指尖轻轻碰着胸口,眼神里满是惊喜和感动。
小艾的摄像头捕捉到了他的手势,屏幕上立刻跳出:“不用谢,郭师傅。我能感觉到你刚才很累,要不要喝口水?桌上的粥虽然凉了,但我可以帮你热,承佑说,微波炉在走廊尽头。”
苏承佑看着这一幕,突然觉得眼眶有点发热。他走到桌角,拿起那个凉透的外卖盒,对郭子扬说:“走,我们去热粥。顺便……聊聊怎么把‘情绪识别’加到手语模块里。”
郭子扬用力点头,眼睛里的失落已经不见了,取而代之的是明亮的光。他拿起没电的手机,揣进兜里,又把那个自制手环塞进帆布包,虽然现在用不上了,但以后肯定能用上。
小艾跟在他们身后,机械臂轻轻提着外卖盒,动作小心得像怕摔了。实验室的冷蓝色灯光落在他们身上,却不再觉得寒冷。苏承佑看着前面郭子扬的背影,又看了看身边的小艾,突然觉得,之前的瓶颈不是“困难”,而是“提醒”,提醒他,机器人不是“工具”,是“伙伴”;技术不是“目的”,是“桥梁”,连接人心的桥梁。
走廊尽头的微波炉亮着暖黄色的光,像是黑暗里的一盏灯。苏承佑把粥倒进瓷碗,放进微波炉,按下开关。“叮”的一声,微波炉开始工作,里面的粥慢慢热起来,散发出淡淡的小米香。
郭子扬靠在走廊的墙上,看着微波炉里的灯光,突然用手比划了一个“开心”的手势,右手五指张开,掌心向外,轻轻晃了晃。苏承佑笑着回应,也比了个一样的手势,虽然不标准,却带着诚意。
小艾站在他们中间,屏幕上跳出一行字:“检测到人体情绪:开心(强度80%)。建议接下来的调试,加入‘情绪-手势匹配’功能,比如‘开心版’的‘喝水’手势,力度轻一点,角度高一点。”
苏承佑看着那些字,笑着点头:“好,就这么办。”
微波炉“叮”的一声,粥热好了。苏承佑拿出瓷碗,热气扑面而来,带着小米的香味,驱散了深秋的寒意。他把碗递给郭子扬,又给自己盛了一碗,两人靠在墙上,慢慢喝着热粥。
窗外的天已经有点亮了,远处的灯塔不再闪烁,东方泛起了一点鱼肚白。走廊里的暖黄色灯光、微波炉的余温、手里的热粥,还有身边的小艾,构成了一幅温暖的画面。
苏承佑喝着热粥,心里突然充满了希望。他知道,接下来的调试肯定还会有困难,比如“情绪-手势匹配”的模型训练,比如投资机构的考察,比如赵博智的低成本机器人还在抢占市场。但他不再焦虑了,因为他知道,他不是一个人在战斗,有郭子扬的专业,有母亲的支持,还有小艾的“懂”,这些就够了。
“粥真好喝。”苏承佑轻声说。
郭子扬点点头,嘴角扬起一个开心的笑容。他拿出手机,虽然没电了,却还是假装在打字,然后递给苏承佑,像是在说“你也觉得好喝吧”。
苏承佑笑着接过,假装看了看,然后说:“嗯,下次我们还买老马家的粥。”
小艾的屏幕上跳出一个笑脸表情:“我也想尝尝,下次可以给我留一口吗?”
走廊里响起了笑声,很轻,却很温暖,在凌晨的实验室里回荡,像一首关于“理解”与“希望”的歌。东方的天越来越亮,新的一天开始了,带着新的希望,也带着新的方向,一条通往“人心”的方向。