
第二章:开业
第二天刚蒙蒙亮,巷子里的梧桐树还浸在薄雾里,陈野就扛着木梯子出了门,立在自家那扇掉漆掉得发白的旧木门边。塑料桶里天蓝色的油漆漾着细碎的光,是昨天傍晚从巷口王记五金店拎回来的。王老板跟陈家打了几十年交道,看着陈野长大,一听这孩子要回来收拾他奶奶的老照相馆,拎着油漆桶就跟着过来搭手,说什么都不肯收钱,粗糙的手掌拍着陈野肩膀笑:“野娃这是要续上你奶奶的营生啊!好事!你看这条老巷,多少年没个正经照相的地方了,现在年轻人领个结婚证,都得往两公里外的新城跑,折腾!”
梯子搭稳,漆刷蘸着天蓝色油漆刷过木纹,旧木门一点点褪去岁月磨出来的灰黄,像被把阳光揉进了纹理里。刷完漆,陈野挽着袖子进了屋,把墙皮上一块块翘起的旧皮铲下来,尘土落了一身,他浑然不顾,又重新刮了大白。原先奶奶用了几十年的旧柜台,漆面裂得像干涸的土地,陈野搬出来,拿砂纸蹲在地上磨了大半天,磨掉旧漆,再刷上清亮的清漆,埋了几十年的木纹重新露出来,在太阳光下泛着温润的棕黄色亮光,像奶奶当年坐在柜台后笑的模样。
陈野父亲喊来了几个本家亲戚帮忙,不过三天功夫,屋里的水电就重新改好了,网线顺着墙角拉到了柜台边。装机的师傅插好水晶头,笑着打趣:“小伙子,没想到老巷子里开照相馆,还拉上千兆网,够新潮啊!”
等所有收拾停当,陈野把带来的台式机拆了包装,主机接上显示器,指尖敲了几下键盘,把自己训练了两年的模型慢慢导了进去。屏幕亮起来,黑色的界面上,几行绿色的字慢慢跳动起来:AI老照片修复系统——向阳照相馆专属版,这是他头天晚上熬了一整夜,专门改出来的标注。
他蹲下来,从行李箱最里面翻出一个磨得掉了漆的旧相框,框里夹着一张老照片,是小时候奶奶牵着他,在巷口梧桐树下拍的。陈野小心翼翼把照片取出来,放进扫描仪,清晰的电子档跳出来,他握着鼠标,轻轻把图片拖进了模型框里。
点击运行的那一刻,陈野指尖顿了顿。蓝色的进度条像蜗牛一样,一点点往前挪。几十秒的功夫,却像过了好久,修复完的照片“唰”一下跳了出来。原本因为年代久远模糊得发虚的轮廓,一下子变得清清晰晰:奶奶眼角的皱纹、颧骨上那颗淡褐色的小痣,都清清楚楚落在眼里;他小时候因为被奶奶催着照相憋红的脸蛋,变得粉嘟嘟的,甚至连巷口梧桐树叶上细细的叶脉,都能数得清纹路。陈野盯着屏幕看了足足好几分钟,指尖点了点下巴,点了点头——效果比他在公司服务器上训练出来的还好。
开张告示是陈野亲手写的。他找了一张大红卡纸,磨好墨,提笔写了四个斗大的字:AI修复,下面用小字端端正正注着:“老照片翻新、上色、补损,每张五十元,修复不满意不收费。”搬了椅子站上去,拿钉子往木门边上钉,锤子落下去的时候,陈野的手居然微微发颤。长这么大,他还是头一回自己做生意,心里头七上八下的,像揣了只乱撞的小麻雀。
开张第一天,陈野从早上开门坐到日头升到头顶,街上人来人往,却没人迈进门槛。只有几个遛弯买菜的老爷子老太太路过,隔着玻璃伸长脖子往里头瞅一眼,皱着眉念叨一句“AI是个啥?能吃吗?”,摇着蒲扇晃着脑袋走了。陈野也不着急,搬了个竹椅子坐在门口晒太阳,铺开电脑改模型代码,太阳晒得后背暖洋洋的,改两句代码,抬头看一看巷口梧桐树落下来的光影,倒也自在。
日头慢慢往西斜,快到四点的时候,阳光斜斜铺在青石板路上,晒得人浑身发懒,陈野靠着墙,迷迷糊糊快要睡着了。忽然一声清亮的鸟叫撞进耳朵里,他一下子睁开眼,就看见一个穿洗得发白的白汗衫的老大爷,拎着个竹鸟笼子,慢悠悠晃进了门。笼子里那只画眉歪着脑袋,又叫了一声。
“小伙子,你这儿……真能修老照片啊?”大爷嗓门亮堂,带着点 old soldier 特有的浑厚,震得房梁上的灰尘都好像颤了颤。
陈野赶紧站起来,把竹椅子往大爷身边挪了挪:“张大爷,是我呀,陈江的儿子陈野,您不认得我啦?”
张大爷眯着眼睛,抬着下巴瞅了他好半天,突然一拍大腿,嗓门更大了:“哦哟!是野娃啊!长这么高了!我记着你呢!小时候你还跟我家大孙子去河边摸鱼,浑身湿得像落汤鸡,还是我给你送回家去的!”
张大爷坐下来,一只手按住鸟笼子,另一只手慢悠悠从怀里掏东西,掏了好半天,掏出一个叠得整整齐齐的蓝布包,他手指有点抖,一层一层慢慢打开,布包最里面,夹着一张泛黄发脆的黑白照片。照片边缘卷得像干枯的树叶,左上角缺了好大一块,照片上人的五官,早就糊成了一团,模模糊糊看不清样子。
“你帮我瞧瞧,这张能修不?”张大爷指尖轻轻摩挲着照片边缘,声音慢慢哑了,“这是我跟俺们连战友,一九四八年打淮海战役,战前合的这么一张影。他当月就牺牲在战场上了,我手里,就剩这么一张了。”
他手指头点着照片上那团模糊的轮廓,皱纹里藏着化不开的想念:“我今年八十八了,身子骨一天不如一天,眼瞅着就要去见老兄弟们了,就想临走前,能清清楚楚看看他长啥样。之前找过县里照相馆的师傅,都说太破太模糊了,修不了。我听巷口老王说你开了这个AI修复,你这……能行吗?”
陈野接过照片,指尖碰到照片上发脆的纸边,鼻子猛地一酸,心里头像被什么东西堵住了。他点点头,把照片平平整整放在扫描仪上,高清扫出来的电子档,比原片清楚了一点,可战友的脸,还是糊成了一团,看不出轮廓。陈野把图片拖进模型界面,鼠标点了点“面部修复”“补全缺损”两个框,深吸一口气,点下了运行键。
蓝色进度条一点点往前走,张大爷不自觉站了起来,佝偻着身子凑到显示器边上,连呼吸都放轻了,笼子放在脚边,刚才还叫个不停的画眉,也安安静静蹲在杆子上,一声不吭。
几十秒过后,修复好的照片跳了出来。原本糊成一团的脸慢慢清晰起来:浓眉大眼,眉宇间带着点年轻人的英气,嘴角还翘着,带着点憨憨的笑;缺了一块的左上角,也被模型老老实实补全了,连他领子上那个打了三层的补丁,针脚都看得清清楚楚。
陈野刚要开口跟张大爷说好了,忽然眼睛一凝,觉得哪里不对。他凑过去眯着眼睛仔细看,就见在修复好的照片上,战友领口的位置,多了一行歪歪扭扭的小字,黑乎乎的,像是用铅笔随手描上去的。陈野揉了揉眼睛,一个字一个字数:“俺叫狗蛋,张傻子别想俺。”
陈野一下子僵在了原地。他赶紧切回扫描出来的原图,来回放大看了好几遍,原图上干干净净,根本没有这行字。他挠了挠头,心想多半是训练模型的时候,训练数据里混进去了奇怪的标注,出了bug。他转过头对着张大爷笑了笑,有点不好意思:“大爷,对不起,出了点小问题,我重新给您修一遍就好。”
他删掉模型缓存,重新加载了一遍参数,再次把原图导进去,点下运行。这一次,进度条稳稳走完,修复好的照片再一次跳出来——那行歪歪扭扭的小字,还安安稳稳躺在原来的位置,连笔画的歪扭程度,都跟刚才一模一样,半分不差。
张大爷盯着屏幕上那行字,看着看着,突然就哭了。八十多岁的老头子,眼泪顺着脸上沟壑一样的皱纹往下滚,砸在膝盖的布裤子上,慢慢洇开一小片深色的湿痕。“狗蛋……真的是狗蛋……”他颤巍巍伸出布满老年斑的手,指尖轻轻碰了碰屏幕上那行字,声音抖得不成样子,“就他知道,我小时候叫张傻子……我们村挨着逃荒出来的,就他跟我一块儿玩,只有他知道这个小名啊……”
陈野站在一边,看着哭得浑身发抖的张大爷,后脊梁骨忽然“唰”一下冒出一层冷汗,顺着脊椎往下滑。风顺着巷口吹过来,挂在门上的红告示晃了晃,发出轻轻的“哗啦”声。他盯着屏幕上那行平白无故多出来的小字,忽然觉得,这个自己对着服务器,一点点调参数、喂数据,训练了整整两年的AI模型,好像从这一刻起,变得有点不一样了。风里好像还带着奶奶当年擦雪花膏的香味,混着旧纸张的霉味,他盯着那行歪歪扭扭的字,忽然分不清,这到底是代码里长出的bug,还是跨越了七十多年,赶过来的一句悄悄话。