AI学习吧
📍 源码七号站 开源解码 JoyAI-Image-Edit 深度解读:240亿参数开源模型如何让AI真正"看懂"三维空间

JoyAI-Image-Edit 深度解读:240亿参数开源模型如何让AI真正"看懂"三维空间

摘要:京东开源240亿参数图像编辑模型JoyAI-Image-Edit,首次将“空间智能”深度融入架构,实现视角变换、物体旋转和位移等复杂操作,解决传统模型缺乏三维空间理解的痛点。该模型由80亿参数MLLM和160亿参数MMDiT耦合而成,支持15类通用编辑,兼容ComfyUI和Diffusers,已在电商、机器人训练和三维重建等领域展现应用潜力。
字号 100%
行距 2.05
当前可见 60% 的内容
快速摘要
京东探索研究院于2026年4月正式开源了JoyAI-Image-Edit,这是一个总参数量达240亿的图像编辑模型,也是业内首个将"空间智能"深度融入架构底层的开源模型。 它由一个80亿参数的多模态语言模型(MLLM)和一个160亿参数的多模态扩散Transformer(MMDiT)耦合而成,能够在保持场景几何一致性的前提下完成视角变换、物体旋转、空间位移等操作——这是此前绝大多数开源模型无法做到的。模型以Apache 2.0协议开源,推理代码全部公开,已兼容ComfyUI和Diffusers。往下看,莫潇羽@源码七号站将为你拆解它的架构原理、三大核心空间编辑能力、具体操作方法,以及实际部署时的注意事项。

一、为什么图像AI需要"空间智能"?

过去两年,图像生成领域可以说是百花齐放。无论是文生图还是图像编辑,各类模型层出不穷,画面质量也在快速迭代。从Stable Diffusion到DALL·E、从Midjourney到各种国产开源模型,我们见过太多"画面惊艳"的案例——画猫比真猫还毛茸茸,画赛博朋克街道比电影还炫,甚至画一只手有六根手指也能让你觉得是某种先锋艺术。整个行业弥漫着一种"图像AI已经快到头了"的乐观情绪,仿佛再优化几轮,AI就能完美地画出任何你想要的东西。

但如果你真正上手用这些模型做过"正经活儿",大概率会遇到一个让人抓狂的问题:模型会画画,却不懂空间。

什么意思呢?举几个非常典型的场景来说明这个问题。首先,你想把一张客厅照片的视角往右偏转30度,模型给你输出的画面里,沙发像在半空中漂浮,落地灯穿墙而过,地板的透视关系瞬间崩塌,完全不像是同一个房间从另一个角度拍出来的样子。再比如,你想把画面前景的苹果挪到桌子另一头、和后面的书交换一下前后位置,模型处理后遮挡关系完全错乱,苹果的大小比例也跟着失衡,画面看起来像一场灾难现场。又或者,你在做电商产品展示图的时候,想把一个水杯从正面视角转到45度侧面视角,模型虽然"画"出来了一张侧面图,但杯子的形状、光影都对不上,根本不像是同一个杯子。

这些问题背后指向的是同一件事:传统图像模型缺乏对三维空间结构的真正理解。 它们能生成非常漂亮的像素,但并不理解这些像素所描述的那个有前后、有深度、有光影遮挡逻辑的真实世界。用一个形象的比喻来说,它们是技术精湛的"平面裱糊匠",能把墙纸贴得又平又整,却从来不去想墙后面是什么结构;它们不是"空间观察者",无法像人类一样看到一张照片就能在脑海中还原出完整的三维场景。

从技术层面看,造成这个问题的根源在于:大多数图像模型是在二维图像数据上训练的。它们学会了像素之间的统计规律——什么颜色挨着什么颜色、什么纹理出现在什么位置——但从来没有被教过"深度"、"遮挡"、"透视"这些三维概念。就好比一个人看了一万张照片,但从来没有走出过房间,他可以画出非常逼真的画,却无法回答"如果我往左走两步,这个场景会变成什么样"这类问题。

事实上,"空间智能"这个概念在AI领域并不是一个全新的提法。早在计算机视觉的传统时代,研究者们就通过多视角几何、立体匹配、结构光等技术来获取三维信息。但那些方法要么需要多张图片输入,要么需要专用硬件(如深度相机、激光雷达),无法从单张二维图像中推断出完整的三维结构。近年来,随着NeRF(神经辐射场)和3D Gaussian Splatting等技术的兴起,从少量图像重建三维场景成为可能,但这些方法通常是"先建模、再渲染"的两步走流程,并没有把空间理解能力直接嵌入到图像生成和编辑的过程中。

JoyAI-Image-Edit的做法是一条完全不同的路径:它不是先做三维重建再渲染,而是让模型在"端到端"的推理过程中同时完成空间理解和图像生成。这意味着模型不需要显式地构建三维点云或网格模型,而是在潜空间(latent space)中隐式地完成了对三维结构的理解和操控。这种方式的好处是效率更高、流程更简洁,对硬件的要求也相对更低,用户不需要关心中间的三维表示,只需要给一张图和一句指令,就能拿到空间正确的结果。

这也正是JoyAI-Image-Edit想要解决的核心问题。在莫潇羽@源码七号站看来,这个模型的意义不在于"又一个更好用的AI修图工具",而在于它尝试从根本上把AI图像编辑从"二维平面操作"推向"三维空间重塑"。这是一次维度上的跃迁,而不仅仅是效果上的优化。


二、JoyAI-Image-Edit 是什么?

JoyAI-Image-Edit是京东探索研究院自主研发并开源的一个统一多模态基础模型,覆盖三大核心功能:图像理解、文生图以及指令引导的图像编辑。

这里有几个关键信息值得注意:

模型的论文标题也直白地表达了它的核心主张——《JoyAI-Image: Awakening Spatial Intelligence in Unified Multimodal Understanding and Generation》,意为"在统一的多模态理解与生成中,唤醒空间智能"。

截至莫潇羽撰写本文时(2026年4月),官方已经释出了JoyAI-Image-Und(图像理解模块)和JoyAI-Image-Edit(图像编辑模块)的权重,文生图模块和多图编辑模块(JoyAI-Image-Edit-Plus)标注为即将发布。对于迫不及待想要上手体验的读者来说,现在已经可以完整使用图像理解和图像编辑两大核心功能了。


三、架构原理:MLLM + MMDiT 的双引擎耦合

要理解JoyAI-Image-Edit为什么能做到"空间智能",需要先看懂它的底层架构。这个模型的核心设计思路可以概括为一句话:把"理解"和"生成"通过一个共享接口连成闭环。

3.1 两大核心模块

整个模型由两个主体部分组成:

MLLM(Multimodal Large Language Model,多模态大语言模型),参数规模8B(80亿),负责图像理解和指令解析。它接收用户的自然语言指令和输入图像,对场景进行深层分析——不只是识别"图中有什么",而是理解"这些东西在哪里、彼此之间是什么空间关系、光从哪个方向来、哪个物体遮住了哪个物体"。在传统图像模型中,这种深层次的空间语义分析是严重缺失的。大部分模型只做到了物体级别的识别,比如"图中有一只猫和一张桌子",但对于"猫在桌子上方还是下方、猫离相机多远、如果我绕到桌子后面会看到什么"这类问题则无能为力。JoyAI-Image中的MLLM模块恰恰补上了这一块——它不仅输出"图中有什么",还会输出结构化的空间关系描述,为下游的生成和编辑提供精确的空间约束。

MMDiT(Multimodal Diffusion Transformer,多模态扩散Transformer),参数规模16B(160亿),负责图像生成和编辑执行。它接收MLLM传递过来的编辑意图和空间约束信息,通过扩散过程生成符合空间约束的目标图像。和传统的扩散模型不同,MMDiT在去噪过程中不是"自由发挥"地生成像素,而是在MLLM提供的空间约束下"有纪律地"生成——每一步去噪都需要满足前面分析出来的透视关系、遮挡关系和光影逻辑。这就是为什么JoyAI-Image-Edit生成的空间变换图像在几何一致性上远超同类模型。

这两个模块之间通过一个共享接口(MLLM-MMDiT Interface)进行信息传递。这个接口不是一个简单的"传话筒",它需要完成一系列复杂的信息转换工作:把MLLM输出的自然语言级别的空间理解信息,转换成MMDiT可以直接使用的条件向量。打个不太严谨但比较好理解的比方——MLLM是"建筑设计师",它看完现场后画出了一份详细的空间结构图纸;MMDiT是"施工队",它按照图纸来盖房子;而共享接口就是"翻译官",负责把设计师的专业语言翻译成施工队能执行的操作指令。

3.2 闭环协作机制

这套架构真正的精髓在于它建立了"理解-生成-编辑"三者之间的闭环协作。

用通俗的话来解释:更强的空间理解能力,让模型在生成和编辑图像时可以更精准地把控场景结构——比如遮挡关系、光影方向、透视比例这些细节。而反过来,当模型完成一次视角变换这样的生成操作后,新生成的视角又会为模型的空间推理提供新的"证据"和"参考"。

打个比方:一个人如果只看过一栋楼的正面照,他对这栋楼的三维结构理解是有限的——他不知道楼的侧面是什么样子,不知道楼的后面有没有阳台,不知道屋顶是平的还是尖的。但如果他又看到了这栋楼45度角的照片,他的空间理解就会立刻变得更完整——他能推断出侧面的窗户排列,能估算出楼的实际深度。JoyAI-Image的设计逻辑与此类似——模型一边"看"一边"画",一边"画"又帮它看得更清楚。 每一次生成操作的结果,都会反馈到模型的空间认知系统中,让它对整个三维场景的理解更加深入和准确。

这和此前大部分图像模型"理解归理解、生成归生成"的割裂式设计形成了鲜明对比。在以往的技术路线中,图像理解模型和图像生成模型是两套独立的系统,它们之间没有信息回路。理解模型告诉你"图中有什么",但这个信息不会帮助生成模型画得更好;生成模型画了一张新图,但这张新图不会让理解模型变得更聪明。JoyAI-Image打破了这道墙。

3.3 数据与训练流水线

模型的训练采用了一条精心设计的可扩展数据流水线。在空间智能模型中,数据质量和多样性的重要程度甚至超过了模型架构本身——再好的架构,如果喂的数据里没有足够丰富的空间信息,模型也学不会"看空间"。JoyAI-Image在数据侧的投入非常扎实,包含以下几个关键数据来源:

OpenSpatial(空间理解数据集):这是专门为训练空间理解能力而构建的数据集,对外开源在 https://github.com/VINHYU/OpenSpatial 。数据集提供了丰富的空间关系标注信息,涵盖物体之间的相对位置(前后、左右、上下)、距离估计、遮挡关系、支撑关系等维度。这些标注为MLLM模块学习空间推理提供了坚实的监督信号。

SpatialEdit(空间编辑数据集):这是为训练空间编辑能力而构建的配对数据集,对外开源在 https://github.com/EasonXiao-888/SpatialEdit 。数据集包含大量的"编辑前-编辑指令-编辑后"三元组,其中编辑指令包括视角变换、物体移动、物体旋转等空间操作。通过这些配对数据,模型学会了"什么样的空间操作指令应该产生什么样的图像变化"。

Blender渲染多视角数据集:这是一个规模约100万组的合成数据集,使用Blender 4.5渲染引擎生成。每一组数据包含同一个三维场景从多个不同角度拍摄的图像,以及对应的相机参数(位置、朝向、焦距等)。这个数据集的价值在于它提供了完美的"ground truth"——因为是从真实的三维模型渲染出来的,所以每一对多视角图像之间的空间关系都是数学上精确的。模型通过学习这些数据,获得了对相机运动与图像变化之间因果关系的深刻理解。

长文本渲染数据:支持模型处理含有大量文字的图像场景。在电商海报、信息图表、社交媒体配图等实际应用中,图像中常常包含大段文字,而大部分图像模型在处理文字时表现很差。这个数据集专门强化了模型的文字渲染能力。

在训练策略上,模型采用了多阶段优化方案,逐步从基础能力训练过渡到空间智能的精调,最后通过对齐阶段确保各项能力之间的协调。莫潇羽@源码七号站提醒对训练细节感兴趣的开发者,可以重点关注上述两个开源数据集项目。


四、三大核心空间编辑能力详解

JoyAI-Image-Edit在空间编辑层面有三大标志性能力,也是它区别于其他图像编辑模型的核心优势。下面逐一拆解。

4.1 相机控制(Camera Control)

这是最直观也最硬核的能力。通俗来说,相机控制就是"不动场景,只动相机"——你可以用一句自然语言告诉模型"把相机往右偏转45度,俯仰角不变,焦距拉近",模型就会在保持场景几何一致性的前提下,给你生成一张全新视角的图像。

这听起来似乎简单,但实际上是一个极其困难的任务。因为当你换一个角度看同一个场景时,几乎所有的视觉信息都会发生变化:原本被遮挡的物体会露出来、原本可见的物体会被挡住、所有物体的大小比例关系会因为透视而改变、光影的方向和强度也会随之调整。模型需要在一次推理中同时处理好所有这些变化,才能生成一张"看起来真的像是从那个角度拍出来的"图像。生成的图像中,透视关系、遮挡关系、光影关系都能保持正确。这在此前的开源模型中几乎是不可能做到的。

使用方法很简单,遵循官方推荐的Prompt模板即可:

Move the camera.
- Camera rotation: Yaw {偏航角}°, Pitch {俯仰角}°.
- Camera zoom: in/out/unchanged.
- Keep the 3D scene static; only change the viewpoint.

各参数的含义如下:

  • Yaw(偏航角):控制相机水平方向的旋转。正值表示向右偏转,负值表示向左偏转。比如Yaw 90°就是把相机水平向右旋转90度,你会看到原来正对你的场景的右侧面。
  • Pitch(俯仰角):控制相机垂直方向的旋转。正值表示向上仰视,负值表示向下俯视。比如Pitch -30°就是让相机稍微低头俯视30度,你会看到场景的俯瞰效果。
  • Camera zoom:焦距控制,可选in(拉近,放大画面)、out(拉远,缩小画面)或unchanged(保持不变)。
  • 最后一行Keep the 3D scene static; only change the viewpoint.是必须包含的固定后缀,它明确告诉模型只改变相机位置,不要修改场景本身的任何内容。

实际指令示例

Move the camera.
- Camera rotation: Yaw 90.0°, Pitch 0.0°.
- Camera zoom: unchanged.
- Keep the 3D scene static; only change the viewpoint.

这条指令的意思是:将相机水平向右旋转90度,垂直方向不变,焦距不变,场景保持静止。执行后你会看到场景的右侧面。

Move the camera.
- Camera rotation: Yaw -45.0°, Pitch 22.5°.
- Camera zoom: unchanged.
- Keep the 3D scene static; only change the viewpoint.

这条指令的意思是:将相机水平向左旋转45度,同时向上仰视22.5度。你会得到一个偏左上方的视角。

莫潇羽@源码七号站在这里给大家几个实用建议。角度的选择需要根据实际场景合理设定,过大的角度变化(比如一次旋转180度直接看场景背面)可能会导致生成质量下降,因为模型需要"脑补"大量它从未见过的场景信息。建议分多步完成大幅度的视角变化,比如先转90度、看看效果、再转90度。另外,Yaw和Pitch可以同时设置,但同时变化幅度过大也会增加生成难度。

4.2 物体旋转(Object Rotation)

如果说相机控制是改变"你站在哪里看",那物体旋转就是改变"物体朝哪个方向摆"。相机控制时,整个场景不动,只有观察视角在变;物体旋转时,场景背景不动,只有指定的物体在三维空间中转动到新的朝向。

这个功能支持你通过一句指令,让画面中的某个物体旋转到指定的朝向。比如一双运动鞋,原图拍的是侧面,你可以让它转到正面视角,看到鞋头的设计细节。再比如一个人物,原图是正面照,你可以生成她的背面视角,看到发型和衣服背面的样子。

更厉害的是,它支持连续的视角移动,能够生成一整串逻辑连贯的多视角图像序列。就好像你戴着一台虚拟相机,真的在一个三维场景里绕着物体"走了一圈",每一帧都保持结构和细节的一致性。这在电商产品360度展示、三维重建的数据准备等场景中有着非常直接的应用价值。

Prompt模板

Rotate the <物体描述> to show the <朝向> side view.

支持的朝向参数包括:front(正面)、right(右侧)、left(左侧)、rear(背面)、front right(右前方)、front left(左前方)、rear right(右后方)、rear left(左后方)。一共八个方向,可以覆盖物体的主要观察角度。

实际指令示例

Rotate the sneaker to show the front view.
Rotate the chair to show the rear left side view.
Rotate the girl to show the rear left side view.

使用这个功能时需要注意的是,物体的身份特征(颜色、纹理、形状等)和周围场景会尽量保持一致,但物体本身的朝向会按照你的指令发生变化。如果物体的背面或侧面在原图中完全不可见,模型会基于它对该类物体的先验知识进行合理推断——比如它知道运动鞋的正面长什么样、椅子的背面是什么结构。不过这也意味着,对于外观高度不对称的物体(比如一个正面和背面设计完全不同的手机壳),模型推断出来的不可见面可能和实际产品有所出入。在这种情况下,建议尽量提供物体不同角度的参考图,或者在Prompt中加入对不可见面外观的文字描述作为补充信息。另外,连续生成多个角度的图像序列时,建议使用相同的seed值,这样可以提高不同角度之间的一致性。

4.3 物体空间关系操控(Object Move)

第三个核心能力是直接操控画面中物体的空间位置关系。你可以把画面中的任何一个物体挪到指定位置,场景的整体结构保持稳定,遮挡关系自然合理,光影过渡顺滑——不会再出现变形、错位、比例失衡那些恼人的老毛病。

这个能力解决的是一个非常实际的问题:在以往的图像编辑中,如果你想把一个物体从A位置移到B位置,通常需要"先抠图、再贴图、然后修边缘、最后调光影"这样一套复杂的手动操作流程。即便使用AI辅助,结果往往也不够自然——物体移动后和新位置的光影环境不匹配,遮挡关系也容易出错。JoyAI-Image-Edit通过端到端的空间理解,在一次推理中同时完成物体的"取出"、"放置"和"环境融合"三个步骤。

使用方法:在输入图像上,你需要先用红色方框标注出目标位置(即你希望物体被移到的位置),然后在Prompt中描述要移动的物体。红色方框只是一个引导标记,在最终输出中不会保留。

Prompt模板

Move the <物体描述> into the red box and finally remove the red box.

其中"finally remove the red box"这句是必需的后缀,它告诉模型在最终输出中不要保留那个红色引导框。如果忘记加这句,输出图像中可能会残留红色方框的痕迹。

实际指令示例

Move the coffee into the red box and finally remove the red box.

这条指令的意思是:把画面中的咖啡杯移到红色方框标注的位置,然后去掉红框。

Move the red car into the red box, remove the red box, remove the red car.

这个例子更复杂:把红色汽车移动到指定位置,同时移除引导框和原位置的汽车。最终效果是汽车"挪"了一个位置,原位置变成了干净的背景。

使用这个功能时有几个细节值得注意。首先,红色方框的大小会影响物体放置后的缩放比例——如果方框画得比物体大,物体放进去后可能会被适当放大;反之则可能缩小。其次,物体被移动后,它原来所在的位置会被模型自动"修复"填充,填充的内容会尽量与周围环境保持一致。最后,如果画面中有多个相似的物体(比如三个苹果),建议在Prompt中用更具体的描述来指定你要移动的是哪一个(比如"the apple on the left"而不仅仅是"the apple")。


五、15类通用编辑能力一览

除了上述三大空间编辑能力之外,JoyAI-Image-Edit同时兼容15类通用编辑能力,覆盖了日常图像编辑的绝大多数高频需求。这意味着它不是一个只能做空间变换的"偏科生",而是一个实实在在的"全科选手"。

这些通用编辑能力包括但不限于以下几个方面:

物体替换——将画面中的某个物体替换为另一个物体。比如把桌上的苹果换成橘子,把墙上的油画换成一面镜子。模型不仅会替换物体本身,还会自动调整光影关系,让新物体看起来像是"一直就在那里"。

物体删除——从画面中移除指定物体,背景自动修复填充。比如把街景照片中的路人移除,或者把室内照片中多余的家具清理掉。填充的区域会尽量和周围环境保持纹理和光影的连贯性。

物体添加——在画面中的指定位置添加新元素。比如在空旷的桌面上放上一盆绿植,或者在天空中添加几只飞鸟。

风格迁移——改变整张图像的艺术风格。比如把一张普通照片转换成油画风格、水彩风格或者赛博朋克风格。

细节精修——对画面局部进行精细化调整。比如修改衣服的颜色、调整物体的材质质感、优化人物的表情等。

长文本渲染——这是一个特别值得单独拿出来说的能力。在图像中准确渲染大段文字,一直是图像AI的老大难问题。大部分模型生成的文字要么模糊不清、要么字符错误(经典的"拉丁文字母汤")、要么排版混乱得没法看——文字重叠、行距不均、甚至出现不存在的乱码字符。JoyAI-Image-Edit在这方面做了大量专项优化,支持多面板漫画中的对话框文字、密集多行文本、多语言排版(中英文混排)、长篇幅布局、真实场景中的招牌文字、甚至手写体模拟等场景。在实际测试中,它可以在一张海报上清晰地渲染出数十个中文字符,每个字都清晰可辨、排版整齐——这在开源模型中是相当难得的表现。对于做海报设计、信息图表、电商详情页、社交媒体配图的用户来说,这个能力的实用价值非常高。


六、实操指南:从环境搭建到推理运行

说了这么多原理和能力,接下来进入实操环节。莫潇羽@源码七号站手把手带你跑通整个流程。

6.1 环境要求

在动手之前,先确认你的硬件和软件环境满足以下条件:

  • Python版本:>= 3.10
  • GPU:需要CUDA支持的显卡,考虑到模型总参数量240亿,建议显存不低于24GB(如A100 40GB/80GB、RTX 4090等)
  • 操作系统:Linux(推荐Ubuntu 22.04及以上)
  • 磁盘空间:模型权重文件体积较大,建议预留至少100GB的磁盘空间用于存放模型文件和中间产物

这里有一个容易被忽视的细节:即使你的显卡显存达到了要求,系统内存(RAM)也不能太小。因为模型权重在加载到GPU之前,需要先加载到系统内存中。建议系统内存不低于64GB。如果内存不足,加载过程中可能会触发系统的OOM(内存不足)保护机制,导致进程被强制终止。

6.2 环境搭建

首先创建一个独立的Conda虚拟环境:

conda create -n joyai python=3.10 -y
conda activate joyai

然后克隆项目仓库并安装依赖:

git clone https://github.com/jd-opensource/JoyAI-Image.git
cd JoyAI-Image
pip install -e .

核心依赖包及版本要求如下:

依赖包

版本要求

用途

torch

>= 2.8

深度学习框架

transformers

>= 4.57.0, < 4.58.0

文本编码与多模态处理

diffusers

>= 0.34.0

扩散模型推理工具

flash-attn

>= 2.8.0

Flash Attention加速

关于Flash Attention的安装,这是实际部署中最常见的"坑"之一。Flash Attention 2对CUDA版本和PyTorch版本有严格的匹配要求,版本不对就会编译失败。首先确认你的CUDA版本是11.8或12.x,PyTorch版本是2.0以上。如果pip直接安装失败,可以尝试从源码编译:

pip install flash-attn --no-build-isolation

如果仍然报错,大概率是CUDA toolkit版本不匹配。可以通过nvcc --version检查CUDA版本,通过python -c "import torch; print(torch.version.cuda)"检查PyTorch关联的CUDA版本,确保两者一致。

6.3 模型权重下载

模型权重可以从HuggingFace或ModelScope两个渠道下载。对于国内用户来说,ModelScope通常速度更快更稳定:

# 方式一:使用huggingface-cli下载
huggingface-cli download jdopensource/JoyAI-Image-Edit --local-dir ./ckpts_infer

# 方式二:使用git lfs下载
git lfs install
git clone https://huggingface.co/jdopensource/JoyAI-Image-Edit ./ckpts_infer

# 方式三:从ModelScope下载(国内推荐)
# 访问 https://modelscope.cn/models/jd-opensource/JoyAI-Image-Edit
# 按页面引导进行下载

下载完成后,请务必确认权重文件的目录结构完整,特别是text_encoder/等子目录不能有缺失。权重总大小约为数十GB,请确保磁盘空间充足。如果使用git lfs下载中断了,可以进入目录后执行git lfs pull来续传。

6.4 图像理解推理

图像理解功能使用inference_und.py脚本。这个功能可以让模型分析一张或多张图片的空间关系、内容细节等信息,并用自然语言输出分析结果。

python inference_und.py \
  --ckpt-root ./ckpts_infer \
  --image "test_images/test_1.jpg" \
  --prompt "详细描述这张图片中的空间关系。" \
  --max-new-tokens 1024

也支持同时输入多张图片进行对比理解:

python inference_und.py \
  --ckpt-root ./ckpts_infer \
  --image "test_images/test_1.jpg,test_images/test3.png" \
  --prompt "Compare these two images." \
  --max-new-tokens 1024

主要参数说明:

参数

类型

默认值

说明

--ckpt-root

str

必填

模型权重根目录

--image

str

必填

输入图片路径,多张图用逗号分隔

--prompt

str

"Describe this image in detail."

用户指令

--max-new-tokens

int

2048

最大生成token数

--temperature

float

0.7

采样温度,设为0时为贪心解码

--top-p

float

0.8

nucleus采样阈值

--top-k

int

50

top-k采样阈值

6.5 图像编辑推理

图像编辑功能使用inference.py脚本:

python inference.py \
  --ckpt-root ./ckpts_infer \
  --prompt "Turn the plate blue" \
  --image test_images/test_1.jpg \
  --output outputs/result.png \
  --seed 123 \
  --steps 30 \
  --guidance-scale 5.0 \
  --basesize 1024

主要参数说明:

参数

类型

默认值

说明

--ckpt-root

str

必填

模型权重根目录

--prompt

str

必填

编辑指令或文生图提示词

--image

str

None

输入图片路径(编辑模式必填,文生图模式可省略)

--output

str

example.png

输出图片路径

--steps

int

50

去噪步数,步数越多质量越高但速度越慢

--guidance-scale

float

5.0

CFG引导强度,越大越忠实于指令

--seed

int

42

随机种子,用于结果可复现

--neg-prompt

str

""

负向提示词

--basesize

int

1024

输入图像的基础分辨率

莫潇羽在这里给大家几个实用的参数调优建议:

关于steps(去噪步数):默认50步可以获得不错的质量。如果你追求速度,可以降到30步,质量会略有下降但通常可以接受。空间编辑任务(相机控制、物体旋转等)建议保持在30步以上,因为这些任务需要更精细的去噪过程来确保几何一致性。

关于guidance-scale(引导强度):默认5.0是个比较平衡的值。如果你发现模型"不听话"、没有按照指令执行,可以适当提高到7.0甚至更高。但过高的值(超过10)可能导致画面过于饱和、出现伪影或色块。

关于basesize(基础分辨率):1024是推荐值,可以获得较高质量的输出。如果显存紧张,可以降到768甚至512,但空间编辑效果会受到一定影响——分辨率越低,模型能"看到"的空间细节就越少。

6.6 文生图与空间编辑实操示例

如果省略--image参数,模型就会进入文生图模式:

python inference.py \
  --ckpt-root ./ckpts_infer \
  --prompt "一只金色的拉布拉多犬坐在秋天的公园长椅上,阳光透过落叶洒下斑驳的光影" \
  --output outputs/t2i_result.png \
  --seed 42 \
  --steps 50 \
  --guidance-scale 5.0

下面给出三种空间编辑的完整命令示例:

相机控制——将视角水平向右旋转45度并拉近

p
🔒
该内容仅对更高等级社区用户开放
请谨慎解锁时效性强且发布日期较早的文章
单篇解锁后若未显示全文请刷新页面
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布1 篇
文章总数1315 篇
昨日发布7 篇
本月发布26 篇
建站时间419 天
🔍 搜索
📅 日历
« 2026 » « 09 »
 123456
78910111213
14151617181920
21222324252627
282930    
站长微语

联系站长

QQ:2805463528
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术交流社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长QQ二维码
AI交流群
AI交流群
仍在路上

那些寒夜里追赶过的方向

那些冷眼下没放弃的理想

一篇一篇写到现在

仍在路上

"不羁放纵爱自由"

—— 致敬 Beyond
持续创作中 莫潇羽 · 源码七号站