有些事儿,天生就拧巴。你拿两张时间对不上、角度还微偏的老照片,硬往一块儿贴。边缘全起毛刺,怎么弄都不对劲。我以前可轴了,非得拿尺子量着掰直,严丝合缝才肯罢休。直到上个周末下午,顺手翻出陈显毅的《图像配准技术及其MATLAB编程实现》。本来干活儿缺参考,就想捞点技术干货。结果呢?读着读着,那些干巴巴的算法词儿,竟把我心里那点说不清的别扭给戳破了。书里没写什么人生大道理。但算法跑通了,人反倒松快了。

说实话,头一回碰这书,我直打退堂鼓。满纸公式,密密麻麻的MATLAB代码,瞅着跟墙似的。我连手边凉透的咖啡碰倒了都没察觉。可作者没跟我绕弯子。从特征空间,一路拆到搜索空间。配准这摊子事,掰碎了讲。我慢慢把背挺直了。翻到“相似性度量”和“搜索策略”那节,手指头停住了。作者话说得特实在:算法怎么抠最优解?说白了,就是在一片大海里瞎摸。算误差,调参数,一点点往前蹭。直到两张图的像素严丝合缝。我盯着那段话愣了半天。这哪是讲图像处理?分明就是咱们在生活里跌跌撞撞找路。不过,把算法直接套到人身上,多少有点浪漫化了。算法能算误差。人心里那点委屈和执念,可没个标准公式能量出来。硬对号入座,反而容易钻牛角尖。

书里专门拎出一节讲“插值技术”。字面意思,拿已知的那几根线,把中间空着的地儿给补上。最近邻、双线性、双三次插值。作者拿这些词儿,把数学逻辑理得清清楚楚。我脑子里忽然闪过自己以前那股“非黑即白”的倔劲儿。碰到破事儿,总盼着细节全亮堂,选择有标准答案。现实呢?现实哪给过这待遇。多半是一手烂牌。碎片还缺胳膊少腿。与其死磕那些压根不存在的死答案,不如学着“插值”。拿点善意去糊弄误会,拿点耐心去熨平焦虑。算法搞插值,不是弄虚作假,是让断了片的画面能顺滑接上。人过日子,靠的也就是这点儿模糊又温柔的推算,才能把日子顺下去。当然,插值也不是万能药。有时候糊弄过去,问题还在底下搁着。该直面还得直面,只是别每次都拿放大镜找茬罢了。

不过,读到搜索策略这儿,我胃里又有点犯酸。书里把全局搜索和局部优化摆在一块儿比。全局搜,稳。但耗时间,耗得吐血。局部优化呢?跑得快。可容易卡在某个“局部最优解”里打转。这不就是咱们平时的德行吗?我以前总逼着自己当全局搜索,恨不得把每条岔路都蹚一遍,生怕漏掉唯一正解。结果呢?精力榨干,回头一看,根本用不着那么较真。代码没评判谁高谁低,只把账本摊开。我后来才咂摸过味儿来,生活里压根没全局最优这回事。能找个接着往下走的“局部最优”,认下它的不完美,就算活明白了。可能有些人天生适合全局扫描。但对我这种容易内耗的,局部打住反而是种自救。未必是妥协。

书的后半截,作者甩出一个完整的配准实例,连带可跑的MATLAB脚本一起打包。我跟着敲了一遍。看着屏幕上两张原本各跑各的图片,在几次迭代后慢慢咬合。屏幕光打脸上,心里头居然静了下来。但话得说回来,我这儿也有点嘀咕。作者光顾着盯技术的精确和高效,好像配准的尽头就是“严丝合缝”。可我觉得,有些图本来就不该硬凑。好比人和人之间的某些交情,或者自己跟过去某些经历的较劲,硬扭着去对,只会留下不可逆的折痕。有时候,认了错位,让它们在画布上并排待着。留着那点天然的偏移,反倒更对味。技术追求完美。生活嘛,留点bug反而真实。

合上书,窗外早黑透了。我啪地一声关了电脑,没去死磕那些梯度下降公式。只觉得,生活大概就是一趟漫长的配准。咱们都在用自己的招数,找能让心里踏实点的那个参数。不用死磕绝对完美。能慢慢对上焦,能看清彼此的大致轮廓,就挺够本了。