AI修图逻辑和人不一样:一个程序员的观察笔记

AI修图逻辑和人不一样:一个程序员的观察笔记
AI修图逻辑示意图:程序把一张照片分割成天空、人脸、建筑等区域蒙版并按顺序处理

逻辑先摆出来:AI修图不是从「修」开始的,是从「认」开始的。程序先分割出天空、人脸、植被这些区域,再按固定的优先级动手,顺序和人修图几乎相反。你下次用之前,先看它的蒙版把哪儿圈了出来,再决定信不信它。

AI修图逻辑和人脑修图是两套完全不同的系统:程序拿到照片,前三秒做的不是修,是认——先把图切成它能理解的一块块,然后才轮到美化。我写了十来年代码,职业病就是看任何工具都先看执行顺序。8月底那几天,我把十几张照片丢进两款主流AI修图工具,开着蒙版预览盯了一晚上,越看越觉得这东西的「审美」不是想出来的,是跑出来的。

程序拆一张图的顺序:先识别,再切割,最后才谈美化

AI修图的第一步是分割识别:把照片切成天空、人脸、植被、建筑、水面、主体这几类区域蒙版,后面所有调整项都挂在这些蒙版上执行,不存在整体一步到位。你看到的「一键增强」,底层是几十次带蒙版的小改动按序叠加。

我把其中一款工具的开发者预览打开过。一张普通的城市街拍,0.4秒左右出完整蒙版,画面被划成六类区域,每块还带置信度:天空0.93,人脸0.88,路边的树0.79,远处一栋楼0.64。这个数字很关键——低于某个阈值(我猜在0.6附近)的区域,它直接放弃处理,保持原样。

写代码的人一眼就能认出这个套路。像编译器:先报语法错,再报警告,最后才管你代码写得丑不丑。AI修图也是,识别没通过的像素,美化阶段根本碰不到。

还有个细节我挺在意:同一张照片我跑了三遍,蒙版一模一样,置信度小数点后两位都没变。它没有状态,没有今天心情差这一说。人修图不是,同一张图你早上的版本和半夜两点的版本能差出一个档次。这算AI的优势,也算它没劲儿的地方——它永远不会给你惊喜,也永远不欠你一个解释。

人呢?完全是反的。你把照片发给任何一个修过图的朋友,他第一眼看的是脸,第二眼看的是曝光,天空大概排第五六位。修图师的活儿从主体开始往外扩散,AI的活儿从最容易识别的区域开始铺开。两个顺序出发点不同:一个在乎「观众看哪」,一个在乎「我算得准哪」。

说实话,我一开始以为识别和修图是同一件事。后来看了处理日志才发现是分开的两个模型,前一个输出蒙版,后一个拿着蒙版调参数。中间那次交接,就是全部「理解」发生的地方——也是全部误判发生的地方。

为什么它总先动天空?

因为天空是它认得最准、改起来最安全、回报又最大的区域:分割数据最充足,天空没有细节可毁,而换掉天色一张照片的情绪立刻就变。性价比全图最高,自然排第一个动手。

拆开讲。第一,天空的边界相对干净,一条地平线而已,分割模型训练数据里天空样本又多到泛滥,识别置信度常年0.9以上。第二,天空基本是纯色渐变,改它不会出现「把人皮肤修穿帮」这种事故,改错了顶多假,不会残。第三,也是营销上的小心机——天色一换,整张图观感变化最大,用户打开导出键的概率就高。前两条是算法原因,第三条是产品原因,两个原因叠一起,天空永远排队列第一个。

翻车也翻在同一个地方。我有张洱海的照片,湖面占了画面一半,那工具把湖面认成了天空,置信度0.91。天空增强一开,湖跟着一起变蓝,蓝得发假。我又试了张阴天的城中村,天空强度滑块拉到70,画面顶上那排电线直接被「天光」洗掉了一半——它根本没把电线当独立物体,只当天空上的噪声抹了。

我后来学乖了:天空强度压到30以下,电线基本保得住;过了50,就得手动把天空那块归零重来。这个阈值是我拿八张照片试出来的,不同软件不一样,你自己试的时候记得从低往高拉,别学我第一回那样一把梭到满格。

人不会犯这种错,因为人先修脸,脸修完了有富余精力才看天。AI没有「先看哪」的直觉,它只有概率排序。你问它为什么先动天空,它答不上来,它只是在执行一串if和权重。话说回来,这也不算缺点,只是两套系统的盲区位置不同:人的盲区在背景,AI的盲区在它没建过蒙版的东西上。

如果你好奇这套「识别—分割—分区调整」的流水线在代码层面长什么样,之前写过一篇AI修图代码怎么写,正好接得上这个话题。

顺带跑个题:我后来查了下这些分割模型的训练数据,标注员一帧一帧涂天空边界,涂了几百万张。这行里最枯燥的活儿,撑起了你最常用的那个按钮。话说回来,哪个软件不是这样呢。

回到开头那句话:AI修图是从「认」开始的。认得准的区域它改得又快又狠,认不出的区域它碰都不碰——所以它先动天空,不是品味,是概率。你下次点「一键增强」之前,花三秒看看它的蒙版圈了哪儿:圈对了,放心让它跑;圈错了,手动把那个区域的强度归零,比事后救图省事得多。

常见问题

AI修图会把照片里每一处都自动改一遍吗?

不会。它只改有蒙版覆盖的区域,没建蒙版的类别永远保持原样。宠物毛发、手写字、玻璃反光、水面倒影里的行人,很多工具压根没为它们训练过类别,所以你怎么调强度,那些地方都不动。发现画面里某块「AI管不着」,别硬调,切手动。

手机上的AI修图和电脑端用的是同一套逻辑吗?

核心顺序一样:识别、分割、分区调整,三步谁也省不掉。差别在算力。手机端的模型被压缩过,蒙版边缘明显更糙——发丝、树枝、栏杆这种细边缘容易留一圈白边,今年上半年我在两部中端机上测,细边缘的毛边出现率比桌面端高不少。电脑端跑大模型,边界能精确到单根头发。

不懂代码,能改变它的修图顺序吗?

顺序本身改不了,那是写死在产品里的流水线。但绝大多数工具允许你把某个区域的强度滑块拉到0,等于把这一步从队列里摘掉。进阶一点的玩法:把自动生成的蒙版导出成图层,自己在图层面板里按你想要的顺序手动叠,等于绕过它的默认排序。

延伸阅读