前几天在画布里面调图的时候,反复卡住,也就在这个时候,我才认真琢磨ai为什么不能放大缩小,不是软件按钮坏掉,是它产出的东西和平时自己画的图根本不是一类东西。当时还以为是缓存的问题,关掉页面重开,换了个生成参数,结果出来的图依旧是拉大一截就糊成一团,边缘软乎乎的,色块混在一起,文字也变得发虚,一点细节都抓不住。
一开始做的操作很笨,直接选中生成好的图片,拖动边角控制点往大里拉,看着预览框里尺寸数字在往上跳,心里还侥幸想着或许能撑住。松开鼠标那一下就明白不行,画面里那些细碎的纹理直接融掉,线条也开始发毛。试了两次之后,跑去翻设置面板,找有没有一个开关,点开之后就能无损缩放,翻了半天,只有重绘、清晰度、风格强度那几个选项,压根没有缩放相关的开关。
有人跟我说,缩放前先用高清修复跑一遍,效果会好很多。就照着这个办法试了一张,原图尺寸不大,先开高清重绘,等它跑完,再去拉大。确实比直接拉伸要好一点,糊的速度慢了些,但它依旧不是真正意义上的无损放大,放得足够大之后,新增出来的细节都是模型脑补出来的,和原图本来的结构不一定对得上,有的地方纹理会乱长,物体比例悄悄跑偏。这只是我的个人感受,不是标准答案。
矢量图是靠数学公式去记录线条、色块的位置,不管拉到多大,公式重新运算一遍,轮廓永远清晰。ai生成出来的图,输出格式大多是位图,是密密麻麻的像素点拼出来的画面,每个点位只存了一个颜色信息。固定数量的像素摆在那里,强行放大,软件没有办法凭空变出更多有效像素,只能靠插值算法去填充中间空缺的位置,填充出来的颜色都是估算的,自然就模糊。
还有一个容易忽略的点。
很多时候我们在对话框里看到的预览图,本身就是压缩过的小预览版本,就算你下载原图,原图的分辨率也是生成指令里固定好的。生成指令里写的分辨率有多高,这张图的像素上限就在那里,模型不会预留额外的画布空间,也不会预留矢量路径信息。想要更大尺寸清晰的图,不是去缩放现成结果,而是一开始就调整生成参数,直接生成更大分辨率的文件,只是这么做会拉长等待时间,消耗也会变多。
后面又碰到另一种情况,有个工具自带单独的放大插件,上传图片之后单独跑放大流程。跑出来的图看着清晰不少,但它本质上不是缩放原图,是拿原图做参考,重新生成一张新图,模型会重新推测细节。运气好的时候,画面观感很顺滑,运气差一点,画面里小物件的造型、花纹会悄悄改动,和最初生成的版本有出入,要是用来做要求严格的配图,这点改动就很难接受。
那段时间来回折腾,一会直接拉伸,一会高清重绘,一会单独放大,来回对比差别。慢慢分得清两件事,无损缩放和ai图超分放大根本不是一回事。无损缩放依托矢量数据,图像信息本身没有损耗;ai这边所谓放大,不管用哪一种方式,都是在原有像素基础上做二次推算,不存在真正的无损缩放。缩小的时候倒是还好,把多余像素合并,画面不容易看出明显崩坏,所以很少有人纠结缩小的问题,矛盾大多集中在放大这一步。
到最后那张图也没有调出一个满意的放大版本,干脆改了提示词,重新设置尺寸,让模型直接出一张符合需求大小的图。等图加载出来的时候,看着清晰的边缘,才想通,与其在结果上面死磕缩放,不如把尺寸需求提前写进提示词里。
之后再用到生成工具,我不会习惯性先出小图再拉大了。