拍一张人物照片,希望AI把它改成漫画风格,但人物站的位置、手臂姿势和画面构图都不要变。只写“保持原图构图”,生成结果仍可能走样。这个时候,与其反复增加提示词,不如给模型一张能够说明画面结构的控制图。Canny边缘、线稿和深度控制,就是三种常见的办法。
边缘控制到底控制了什么
AI绘画模型并不是像设计师一样,先看懂整张图片再逐笔临摹。普通图生图可以参考原图,却未必严格保留每条轮廓。所谓边缘控制,是先从参考图中提取出结构信息,再通过相应的控制模型或条件输入,让生成过程尽量沿着这些结构安排画面。
要注意,控制图不是最终成品。它更像给模型的“施工草图”:哪里有边界、哪里是人物、哪里有前后关系,由不同类型的控制图表达。它能减少构图漂移,却不能单独保证人物长相、服装颜色或画面风格一致。
Canny:适合保留清晰的物体轮廓
Canny是一种传统边缘检测方法,会根据图像明暗变化找出可能的边界。处理后的图通常是黑底白线,门框、桌角、衣服褶皱、人物外轮廓都可能被提取出来。
假设要把一张室内照片变成赛博朋克插画,同时保留桌椅、窗户的位置,Canny往往是很直接的选择。因为它不需要先理解物体是什么,只要原图有明显的边缘,就能把位置关系传给后续模型。
但它也有一个容易被忽略的问题:原图越复杂,提取出来的线不一定越有用。墙面纹理、阴影边界、头发碎丝都可能变成控制线,生成画面反而显得拥挤。
Canny控制图要检查哪些地方
- 主体轮廓是否完整,人物的手臂、脸部边界有没有断开。
- 背景细碎线条是否过多,是否会干扰主体。
- 检测阈值是否合适;阈值过低容易抓到噪点,过高可能丢失关键轮廓。
- 参考图是否有强烈光影,因为阴影边界也可能被当成真实结构。
不要一上来就把控制强度调到最高。强度太大,可能把原照片里不理想的细节也锁住;太小,模型又容易偏离原有布局。先用中等约束生成小样,再针对偏移位置调整,更容易判断问题。
线稿:更适合插画、漫画和清晰造型
线稿控制与Canny看上去相似,但来源和用途并不完全一样。线稿可以来自手绘草图,也可以通过专门的预处理模型从图片中提取。它通常更关注人物、物体的结构线,而不是所有明暗变化。
例如一张角色设计稿,已经画好头发、衣领、手部姿势,只想让AI补全上色和材质,线稿控制往往比直接使用照片边缘更合适。因为画面中哪些线应该留下,创作者可以提前决定。
线稿的质量比线条数量更重要。两只手重叠时,如果线稿没有交代清楚前后关系,模型可能画出多余手指;脸部五官线条过密,也容易导致表情僵硬。对于这种情况,先修线稿,通常比连续重抽十张图更有效。
线稿控制也不意味着“画什么就一定生成什么”。复杂透视、遮挡和不完整草图仍然需要模型猜测。线稿越接近明确的设计意图,控制结果通常越稳定。
深度控制:保留空间关系,不锁死每条线
深度图表达的是画面里哪些区域更近、哪些更远。常见的深度预处理会把单张图片估计成一张灰度图,不同明暗代表不同的相对距离。它并不是精确测量每个物体离镜头多少米。
这类控制特别适合换场景材质、换整体风格,又不希望画面空间塌掉的任务。比如把普通客厅改成古典宫殿,保留近处沙发、远处窗户的大致层次,但允许窗框、墙面纹样重新设计。
深度控制的优点是给模型更多发挥空间,缺点是对精确轮廓约束较弱。你希望角色保持“站在桌子前面”,深度可能帮得上忙;你希望角色手指严格沿着原图弯曲,单靠深度就不够了。
三种控制方式怎么选
| 任务需求 | 更适合的方式 | 需要接受的限制 |
|---|---|---|
| 照片转风格,保留门窗和家具边界 | Canny | 容易把阴影、纹理也当成线条 |
| 草图上色、漫画角色造型 | 线稿 | 草图不清晰时仍会猜错结构 |
| 场景换风格,保留前后层次 | 深度 | 不能精确固定局部轮廓 |
| 既要空间关系又要明确造型 | 组合控制(工具支持时) | 多重约束可能相互冲突 |
这里的选择不是绝对的。同一张参考图,用不同预处理方式得到的控制图质量可能差很多。模型版本、控制模型适配情况,也会直接影响效果。
真正开始制作时,先看控制图,再看生成图
新手常把注意力全部放在提示词上,忽略了输入给模型的结构信息是否正确。更稳妥的测试顺序是:
- 先明确要保留什么:人物姿势、建筑轮廓,还是空间远近。
- 生成对应控制图,检查是否遗漏主体、混入杂线。
- 固定其他主要设置,只调整一种控制方式和强度,比较结果。
- 如果构图已稳定,再处理风格、材质和细节;不要同时改动所有参数。
还要分清“边缘控制”和“角色一致性”。即使两张图的线条完全一样,模型仍可能画出不同的脸。需要固定角色身份时,还可能用到角色参考、局部重绘等方法。控制工具的价值,在于让你少猜一点、多决定一点,而不是替你完成所有视觉设计。
做AI绘画时,最该先问的不是哪种控制最强,而是这张图哪些部分不能变。想清楚这一点,Canny、线稿和深度才真正有用。