第11章 原型冲刺(1/2)
屏幕蓝光刺得眼睛发酸。
陈默眨了眨眼,视线有点模糊。他往后靠,椅背吱呀响了一声。文档里列满了任务,每条后面都标着时间。
两天处理数据,三天重构核心,四天集成测试,最后三天调优和写报告。
他关了文档,揉了揉太阳穴。
指尖冰凉,按在皮肤上有点刺痛。系统面板悄无声息地滑出来,悬在屏幕左上角。精神力状态条是浅黄色,旁边有个小小的叹号。
“建议:深度休息八小时。”
陈默点了关闭。他站起来,腿坐麻了,扶着桌沿缓了缓。走到厨房倒水,水龙头拧开,水流哗哗响。
玻璃杯壁上凝着水珠,冰凉。
他喝了一大口,喉咙干得发紧。窗外天还黑着,远处楼宇的轮廓隐在夜色里,只有零星几扇窗亮着灯。
凌晨三点四十七分。
他回到电脑前,打开数据包。沈清澜发来的测试文件很大,压缩包解压用了两分钟。进度条一点点往前爬,像蜗牛。
解压完成,文件夹弹出来。
里面是几十个视频片段,还有对应的标注文件。文件名很规范,日期_场景_光照条件。陈默点开第一个。
画面晃动,视角很低。
像装在墙角的老旧摄像头拍的。光线昏暗,人影模糊,动作拖出残影。标注文件里标出了行人位置,框框画得歪歪扭扭。
陈默皱眉。
这数据比想象中还糙。他快速浏览其他片段,情况差不多。夜间,逆光,遮挡严重。全是难处理的边缘场景。
他呼出口气,白气在屏幕前散开。
屋里暖气不足,手指有点僵。他搓了搓手,哈了口热气。然后新建一个脚本,开始写数据清洗代码。
键盘声密集起来。
嗒嗒嗒嗒,像雨点敲在铁皮上。他专注地盯着屏幕,眼睛一眨不眨。代码一行行往下滚,函数嵌套,条件判断。
写到一半,系统面板又跳出来。
淡蓝色的框,边缘微微发亮。“检测到低质量数据,是否启动推演辅助标注?”
陈默手指悬在键盘上。
他看了眼时间,凌晨四点二十。如果手动标注,这些数据至少得处理两天。用推演的话,可能只要几个小时。
但精神力消耗会很大。
他盯着那个浅黄色的状态条,咬了咬牙。点了“是”。
视野边缘泛起蓝晕。
现实世界的轮廓变得模糊,像隔了层毛玻璃。屏幕上的视频自动播放起来,一帧一帧,速度很慢。
系统开始标注。
红色的框框自动出现在行人身上,位置精准,边界清晰。一个,两个,三个。框框跟着人影移动,像粘在身上。
陈默看着,脑子有点晕。
像有根针在太阳穴轻轻扎,不疼,但烦人。他伸手按了按,指尖下的皮肤在跳。一下,一下。
推演持续了二十分钟。
第一个视频标注完成。系统自动保存文件,跳转到下一个。陈默靠在椅背上,闭了会儿眼睛。
再睁开时,蓝晕淡了些。
第二个视频开始标注。这次是雨天,玻璃上淌着水,画面扭曲得更厉害。系统停顿了几秒,框框才出现。
准确率下降了。
陈默坐直身体,调出参数面板。他手动调整了几个阈值,框框重新变得稳定。但脑后的刺痛感明显起来。
像有只小虫在往里钻。
他没停,继续盯着屏幕。第三个,第四个。视频一个个过,标注文件越来越多。文件夹里的图标排成长列。
窗外天色渐渐泛白。
灰蒙蒙的光从窗帘缝隙漏进来,落在地板上,像洒了层薄灰。陈默看了眼时间,早上六点十分。
推演完成了三分之二。
他退出系统,蓝晕瞬间消失。现实重新清晰起来,屏幕亮得刺眼。他抬手遮了遮,眼睛酸得想流泪。
脑袋里嗡嗡响。
他站起来,走到窗边拉开窗帘。外面街道空荡荡的,环卫工人在扫落叶,扫帚刮过地面,沙沙沙。
冷空气涌进来,他深吸了一口。
肺里凉丝丝的,脑子清醒了点。他关窗,回到电脑前。标注还差最后几个视频,但他决定先停一停。
得吃点东西。
他煮了碗速冻饺子。水开了,饺子扑通扑通跳进去,白气腾起来。他盯着锅,眼神有点散。
饺子煮好了,捞出来。
蘸醋吃了几个,没什么味道。机械地嚼,咽下去,喉咙发堵。吃完洗了碗,手被热水烫得发红。
他用毛巾擦干,指尖微微颤抖。
回到电脑前,他先检查了已标注的数据。随机抽查了几个框框,位置都准。系统在低质量数据上表现不错。
他稍微松了口气。
然后继续处理剩下的视频。这次没用推演,手动调整了几个困难帧。速度慢,但精神力消耗小。
上午九点,所有数据清洗完成。
他保存文件,压缩,加密。然后开始重构核心算法。这部分最耗神,得把之前的代码拆开,重新设计架构。
他戴上耳机,放了点白噪音。
海浪声,一层层涌上来又退下去。键盘声混在里面,变得柔和了些。他写得很快,手指在键盘上飞舞。
但错误也多了。
有个变量名打错,调试了十分钟才找到。有个函数忘了返回值,跑起来直接崩溃。他皱眉,删掉重写。
写到中午,进度卡住了。
动态阈值模块有个边界情况没处理好。光照突变超过百分之五十时,算法会误判。他试了几种方案,都不理想。
系统面板悄无声息地滑出来。
“检测到逻辑瓶颈,是否推演解决方案?”陈默盯着那行字,手指在桌面上敲了敲。
一下,两下。
他点了“是”。
蓝晕泛起,比之前深了些。视野里跳出几个虚拟的方案框,每个后面跟着评估分数。六十二,七十八,九十一。
他选了分数最高的那个。
代码自动生成,跳进编辑器里。结构清晰,注释完整。他快速浏览了一遍,逻辑确实更严谨。
但脑袋里的刺痛加剧了。
像有根铁丝在颅骨里搅动。他闭上眼睛,深吸了几口气。再睁开时,屏幕上的字有点重影。
他甩了甩头,继续写。
下午两点,核心重构完成。他跑了一遍单元测试,绿条一个个跳出来。全部通过,没有报错。
他靠在椅背上,长长吐出口气。
胸口闷得慌,像压了块石头。他站起来活动肩膀,骨头嘎巴响了两声。走到镜子前,看了眼自己。
眼圈黑得像被人打过。
胡子又冒出来了,青灰一片。他摸了摸下巴,刺手。没管,转身回去继续工作。
接下来是集成测试。
把算法打包,部署到模拟环境里。用清洗好的数据跑,看效果。他点了运行,进度条开始缓慢移动。
百分之十,百分之二十。
电脑风扇嗡嗡响起来,出风口喷出热风。屋里温度升高了几度,陈默脱了外套,只穿件短袖。
胳膊上起了一层鸡皮疙瘩。
百分之五十,百分之六十。进度条卡住了,卡了整整一分钟。陈默心里一紧,俯身盯着屏幕。
日志窗口滚过一行错误提示。
内存溢出。他啧了一声,调低批量处理的大小。重新跑,进度条再次开始移动。
百分之八十,百分之九十。
完成。测试报告弹出来,平均准确率百分之九十二点七,误报率千分之六点三。离目标还差一点。
陈默盯着那个数字。
千分之六点三。沈清澜要求的是千分之五以下。差这零点几个点,得调参,或者再加点技巧。
他看了眼时间,下午四点。
距离第一天结束还有八个小时。他决定先优化误报率。调出参数面板,一个个滑块慢慢调整。
每调一次,跑一次测试。
准确率会波动,误报率也波动。像走钢丝,得找平衡点。他试了十几组组合,效果都不明显。
系统面板又跳出来。
“是否推演最优参数组合?”陈默没犹豫,直接点了是。这次蓝晕很淡,几乎看不见。
但脑袋里的刺痛变成了钝痛。
像有把锤子在慢慢敲。他咬牙忍着,看系统自动调整参数。滑块自己移动,停在某个位置上。
测试重新跑。
进度条走到头,报告弹出。误报率千分之四点九,准确率微降到百分之九十二点一。达到要求了。
陈默松了口气,肩膀垮下来。
但钝痛没有消失,反而扩散到后颈。他抬手按了按脖子,肌肉硬得像石头。按下去,疼得抽气。
他关了电脑,屏幕暗下去。
屋里突然安静下来,只有耳鸣在嗡嗡响。他趴在桌上,脸贴着冰凉的桌面。闭着眼,想缓一缓。
却睡着了。
本章未完,点击下一页继续阅读。