Local Dream:在 Android 端运行 Stable Diffusion 的图像生成工具

原创 发布日期:
109

一、Local Dream是什么?

Local Dream是一个专注于Android平台的开源AI图像生成项目,核心目标是让用户在移动设备上无需依赖云端算力,即可本地运行Stable Diffusion模型完成各类图像创作。其核心定位可概括为“移动端本地AI图像生成工具”——区别于需联网依赖云端服务器的图像生成应用,Local Dream通过本地推理(NPU/CPU/GPU)保障创作隐私,同时借助骁龙NPU的硬件加速能力,大幅提升移动设备上的图像生成速度,解决了传统移动端AI生图“速度慢、依赖网络”的痛点。

项目的核心优势在于“多推理模式兼容”与“高适配性”:既针对骁龙旗舰芯片优化了NPU加速方案,实现毫秒级推理突破,也为普通Android设备提供了CPU/GPU兼容模式,让更多用户能体验本地AI生图;同时支持自定义模型导入、提示词优化、图像放大等专业功能,兼顾普通用户的易用性与专业创作者的进阶需求。

简单来说,Local Dream就像是“装在手机里的AI绘画工具”——无需复杂配置,点开应用、输入描述、选择模型,即可快速生成动漫、写实、创意等多种风格的图像,同时支持对现有图像进行二次优化,满足移动场景下的多样化创作需求。

二、功能特色

Local Dream的功能设计围绕“移动端本地AI生图”的核心场景展开,兼顾易用性与专业性,核心特色可分为以下7大模块,覆盖从基础生图到进阶优化的全流程需求:

1. 三大核心图像生成/编辑模式

作为Stable Diffusion在移动端的落地应用,Local Dream完整保留了核心创作功能,同时针对移动操作场景进行了适配优化:

  • txt2img(文本生图):核心功能之一,用户输入文本描述(Prompt)和负面描述(Negative Prompt),即可生成对应风格的图像。支持自定义生成参数(步骤数、CFG值、种子、图像尺寸),例如输入“masterpiece, best quality, 1girl, solo, cute, red eyes”(杰作、最佳质量、单女孩、可爱、红眼睛),并设置负面提示词“bad anatomy, bad hands”(不良人体结构、不良手部),即可生成符合描述的高质量图像。生成速度根据设备配置差异较大,骁龙NPU模式下512×512尺寸图像仅需5.3-7.9秒。

  • img2img(图像转换):用户上传一张现有图像,结合文本提示词,对图像进行风格转换、细节优化或内容调整。例如上传一张普通风景照,输入“anime style, watercolor, soft light”(动漫风格、水彩画、柔和光线),即可将照片转换为动漫水彩风格;也可用于图像修复(如模糊图像清晰化)、风格迁移(如写实照片转油画)等场景。

  • inpaint(局部重绘):针对图像中的特定区域进行精准修改。用户上传图像后,通过内置的Cropify工具框选需要修改的区域,输入提示词即可对该区域进行重绘。例如给人物更换衣服、移除图像中的多余物体、给风景添加元素等,精准度高,操作便捷。

2. 专业级创作优化功能

为满足进阶用户的创作需求,Local Dream提供了多项专业级优化功能,兼容主流Stable Diffusion创作习惯:

  • 提示词权重调整:支持通过括号+数值的格式强调或弱化提示词中的特定词汇,格式与主流工具Automatic1111一致。例如“(masterpiece:1.5), (cute:1.2)”表示将“杰作”的权重提升至1.5倍,“可爱”提升至1.2倍,让生成结果更贴合核心需求。

  • 自定义嵌入(Embeddings)支持:允许用户导入自定义嵌入文件(如EasyNegative等优化模型),用于强化负面提示词效果或提升特定风格的生成质量。需注意嵌入文件必须为SafeTensor格式,若用户拥有pt格式文件,可通过项目提供的工具转换为safetensors格式后导入。

  • 双模式图像放大:集成两款主流放大模型,满足不同场景需求:①realesrgan_x4plus_anime_6b:专为动漫图像优化,放大4倍后仍能保持线条清晰、色彩鲜艳;②4x-UltraSharpV2_Lite:通用型放大工具,适合写实图像、风景照等,放大后细节保留完整,无明显模糊或失真。

  • 种子自定义与结果可复现:支持手动设置种子(seed)值,确保生成结果的可复现性。不同推理模式下种子的一致性有差异:CPU模式下,相同参数+相同种子在不同设备上可生成完全一致的图像;GPU模式下结果可能与CPU模式不同,且设备间存在差异;NPU模式下,仅在相同芯片型号的设备上能保持结果一致。

3. 灵活的模型管理与导入

Local Dream提供“预下载模型+自定义导入”的双模式,兼顾普通用户的易用性与专业用户的灵活性:

  • 预下载模型库:内置多款主流Stable Diffusion模型,涵盖动漫、写实等多种风格,用户可直接在应用内下载使用,无需手动配置。主流模型包括Anything V5.0(动漫风格,1.2GB)、ChilloutMix(写实风格,1.2GB)、Absolute Reality(超写实风格,1.2GB)、QteaMix、CuteYukiMix等,所有预下载模型均经过适配优化,确保在移动设备上稳定运行。

  • 自定义模型导入:支持用户导入本地模型,满足个性化创作需求:①CPU/GPU模式:支持导入基于SD1.5的safetensor格式模型,直接上传至应用指定目录即可使用;②NPU模式:支持导入自定义转换的NPU模型,用户可按照项目提供的《NPU Model Conversion Guide》(NPU模型转换指南),将自有模型转换为适配格式后导入,同时支持从xororz/sd-qnn或Mr-J-369获取预转换的NPU模型(根据芯片型号选择_8gen1/_8gen2/_min版本)。

4. 多场景适配与隐私保障

  • 设备适配灵活:既支持骁龙旗舰芯片的NPU加速,也兼容普通Android设备的CPU/GPU推理,非旗舰芯片(Hexagon V68及以上NPU)也可实验性使用;CPU/GPU模式仅需2GB可用内存,多数近年发布的Android设备均可满足。

  • 隐私安全保障:所有图像生成过程均在本地完成,无需上传至云端,有效保护用户创作内容与隐私;Google Play版本额外增加NSFW(不适当内容)过滤功能,适合全年龄段用户使用。

Local Dream:在 Android 端运行 Stable Diffusion 的图像生成工具

三、技术细节

Local Dream的技术架构围绕“移动端本地推理优化”展开,核心聚焦NPU加速、多框架兼容、设备适配三大方向,技术细节清晰且针对性强:

1. 推理模式技术对比(核心亮点)

项目支持NPU、CPU、GPU三种推理模式,每种模式的技术实现与优化方向不同,具体对比如下:

推理模式 核心框架/SDK 量化方式 支持分辨率 性能特点 适用场景
NPU(骁龙专属) Qualcomm QNN SDK W8A16静态量化 默认512×512,支持768×768/1024×1024(需下载补丁) 速度最快,512×512图像生成仅需5.3-7.9秒;量化优化后资源占用低 骁龙芯片设备,追求高速生成
CPU/GPU 阿里巴巴MNN框架 W8动态量化 灵活尺寸(128×128、256×256、384×384、512×512) 兼容性最强,支持多数Android设备;速度中等,平衡性能与适配性 非骁龙芯片设备,或需自定义分辨率

2. 模型兼容性详情

项目对主流Stable Diffusion模型的支持情况明确,避免用户盲目导入无效模型,具体支持列表如下:

模型名称 模型类型 CPU/GPU支持 NPU支持 Clip Skip参数 模型来源
Anything V5.0 SD1.5 2 CivitAI
ChilloutMix SD1.5 1 CivitAI
Absolute Reality SD1.5 2 CivitAI
QteaMix SD1.5 2 CivitAI
CuteYukiMix SD1.5 2 CivitAI
Stable Diffusion 2.1 SD2.1 1 HuggingFace

注:Clip Skip参数用于控制模型的特征提取层数,需按照模型来源页面的建议设置,否则可能影响生成质量;SD2.1模型仅支持NPU推理,CPU/GPU模式暂不兼容。

3. 设备适配技术要求

  • NPU模式适配设备:需搭载骁龙芯片且NPU版本为Hexagon V68及以上,具体支持芯片型号包括:骁龙8 Gen 1、骁龙8+ Gen 1、骁龙8 Gen 2、骁龙8 Gen 3、骁龙8 Elite、骁龙8 Elite Gen 5,以及部分中高端芯片(如骁龙7 Gen 1、骁龙8s Gen 3);非上述芯片设备无法下载NPU模型,仅能使用CPU/GPU模式。

  • CPU/GPU模式适配设备:无芯片品牌限制,需满足“可用内存≥2GB”,系统版本为Android 8.0及以上(建议Android 10.0+以获得更好性能);多数2020年后发布的Android手机、平板均可满足。

4. 核心技术栈与构建依赖

项目的技术栈整合了跨平台开发、深度学习框架、移动UI设计等多个领域的工具,确保功能实现与性能优化:

技术类别 具体工具/框架 核心作用
C++核心库 Qualcomm QNN SDK NPU模型执行与加速
  阿里巴巴MNN CPU/GPU模型推理
  xtensor-stack 张量操作与调度
  tokenizers-cpp(mlc-ai) 文本提示词分词处理
  cpp-httplib(yhirose) 内置HTTP服务
  stb(nothings) 图像处理与解码
  zstd(facebook) 模型文件压缩与解压
  json(nlohmann) 配置文件与参数解析
Android端库 okhttp(square) 网络请求(模型下载)
  coil-kt/coil 图像加载与预览
  Cropify(MoyuruAizawa) 图像裁剪(inpaint功能)
  Jetpack Compose UI界面开发
  Material Design 界面风格与交互设计
开发与构建工具 Rust 1.84.0 部分核心组件开发(需固定版本)
  Kotlin Android应用主开发语言
  CMake 构建配置与跨平台编译
  Ninja 构建系统(加速编译过程)
  Android NDK 原生代码编译(C++部分)

5. 高分辨率生成技术优化

NPU模式下默认支持512×512分辨率,用户可通过下载高分辨率补丁扩展至768×768或1024×1024,但需注意:量化后的高分辨率模型可能存在“布局错乱”问题。项目官方推荐优化流程:①先以512×512分辨率生成基础图像(可通过放大工具提升至2048×2048);②使用img2img模式,导入基础图像,选择高分辨率模型,设置denoise_strength(去噪强度)为0.8左右;③重新生成,即可获得“布局合理+细节丰富”的高分辨率图像。

四、应用场景

Local Dream的功能设计与移动端特性结合紧密,可覆盖个人创作、专业生产、兴趣爱好等多个场景,以下是具体应用场景及使用方式:

1. 移动创作者的“随身AI画板”

对于自媒体博主、设计师、新媒体运营等移动办公人群,Local Dream可作为“即时创作工具”:

  • 自媒体博主:需要快速生成文章封面、短视频配图时,通过txt2img功能输入“科技感封面,蓝色渐变背景,简约文字排版”,设置步骤数20、CFG值7.0,5-8秒即可生成可用图像,无需等待电脑端渲染;若现有素材不满意,可通过img2img模式转换风格,节省创作时间。

  • 平面设计师:外出对接客户时,可根据客户需求现场调整提示词,实时生成多个风格方案(如写实、简约、动漫),通过手机直接展示效果,提升沟通效率;遇到图像细节需修改时,用inpaint功能精准调整局部,无需返回工作室修改。

  • 短视频创作者:需要为视频添加特效背景或创意元素时,生成图像后直接导入剪辑工具,搭配Local Dream的放大功能,确保图像清晰度适配视频分辨率(如1080P、4K)。

2. 二次元爱好者的“动漫形象生成器”

依托Anything V5.0、CuteYukiMix等动漫专用模型,Local Dream成为二次元爱好者的移动创作神器:

  • 角色设计:输入“kafuu chino, solo, cute, white dress, cherry blossom background”(香风智乃、单人、可爱、白裙、樱花背景),即可生成符合动漫风格的角色图像,支持调整发型、服装、背景等细节,满足同人创作、头像制作需求。

  • 表情包制作:上传自己的照片或截图,通过img2img模式选择动漫模型,输入“chibi style, funny expression, simple background”(Q版风格、搞笑表情、简约背景),快速生成个性化表情包,分享至社交平台。

  • 同人图创作:针对喜欢的动漫、游戏角色,输入角色名+场景描述(如“genshin impact, hu tao, dynamic pose, night sky”),生成高质量同人图,支持放大后打印或用于周边制作。

3. 摄影爱好者的“移动图像优化工具”

对于喜欢拍照的用户,Local Dream可作为图像后期优化的补充工具,解决手机端后期功能不足的问题:

  • 照片风格化:拍摄的风景照、人物照,可通过img2img模式转换为油画、水彩、素描等艺术风格,例如将海边日落照转换为“impressionist painting, warm colors”(印象派油画、暖色调),提升照片艺术感。

  • 老照片修复:上传模糊、褪色的老照片,输入“high resolution, clear details, restore colors”(高分辨率、清晰细节、恢复色彩),结合放大功能,让老照片重获清晰质感;若照片有破损,用inpaint功能框选破损区域,输入“restore original texture”(恢复原始纹理)即可修复。

  • 图像放大:手机拍摄的照片分辨率不足(如1080P),需用于打印或大屏展示时,使用4x-UltraSharpV2_Lite放大4倍,保持细节清晰,避免普通放大导致的模糊。

4. 普通用户的“创意生活工具”

除专业创作场景外,Local Dream也适合普通用户的日常创意需求:

  • 壁纸生成:输入“minimalist style, blue and white, abstract pattern”(简约风格、蓝白配色、抽象图案),生成手机壁纸,支持自定义尺寸(如1080×2400),适配不同手机型号;若喜欢动态风格,可生成多张相似图像制作成壁纸相册。

  • 节日素材制作:情人节、圣诞节等节日,生成节日主题图像(如“valentine's day, red roses, heart shape, soft light”),用于制作贺卡、朋友圈配图,无需下载现成素材,彰显个性化。

  • 儿童创意启蒙:家长可与孩子一起输入提示词(如“colorful animals, cartoon style, educational”),生成卡通动物图像,引导孩子发挥想象力,同时了解AI生成的基本原理,兼具娱乐与教育意义。

5. 开发者的“移动模型测试平台”

对于AI模型开发者或技术爱好者,Local Dream提供了便捷的移动端模型测试环境:

  • 模型适配测试:开发者可将自己训练的SD1.5模型转换为safetensors格式(CPU/GPU)或NPU适配格式,导入应用测试在移动设备上的运行效果(速度、生成质量、兼容性),无需搭建复杂的移动测试环境。

  • 推理性能对比:在支持NPU的设备上,可对比同一模型在NPU、CPU、GPU三种模式下的生成速度与质量差异,为移动端AI模型优化提供数据参考。

  • 二次开发基础:项目开源且技术文档清晰,开发者可基于现有架构扩展功能(如添加新的推理模式、集成更多放大模型、优化UI交互),或用于学习移动端深度学习应用开发。

Local Dream:在 Android 端运行 Stable Diffusion 的图像生成工具

五、使用方法

Local Dream的使用流程简洁明了,分为“快速入门”和“高级使用”两部分,普通用户可快速上手,专业用户可深入挖掘功能潜力:

1. 快速入门(3分钟上手生图)

步骤1:下载应用

  • 方式1(完整功能版):访问项目GitHub Releases页面(https://github.com/xororz/local-dream/releases),下载最新版本APK文件,适合希望使用全部功能(无NSFW过滤)的用户。

  • 方式2(安全过滤版):在Google Play商店搜索“Local Dream”,下载安装(自动过滤NSFW内容,适合全年龄段用户)。

步骤2:安装应用

  • 下载完成后,打开APK文件,按照系统提示授权“安装未知来源应用”(仅首次安装需授权),等待安装完成(约30秒-1分钟,视设备性能而定)。

  • 安装成功后,打开应用,首次启动会提示“权限申请”(存储权限,用于保存生成的图像和下载的模型),点击“允许”即可。

步骤3:选择并下载模型

  • 打开应用后,进入“模型选择”页面,显示所有支持的预下载模型,每个模型标注了风格、大小(约1.2GB/个)和支持的推理模式。

  • 选择心仪的模型(如动漫风格选Anything V5.0,写实风格选Absolute Reality),点击“下载”,等待模型下载完成(建议在Wi-Fi环境下下载,避免消耗流量)。

步骤4:生成第一张图像

  • 模型下载完成后,进入“txt2img”页面,在“Prompt”输入框中输入文本描述(如“masterpiece, best quality, 1girl, solo, cute, red hair”)。

  • 在“Negative Prompt”输入框中输入需要避免的内容(如“bad anatomy, bad hands, extra fingers”)。

  • 点击页面下方的“生成”按钮,等待图像生成(NPU模式5-8秒,CPU/GPU模式10-30秒,视设备性能而定)。

  • 生成完成后,可点击“保存”将图像保存至手机相册,或点击“重新生成”调整提示词/参数再次生成。

2. 高级使用(解锁专业功能)

(1)自定义生成参数

  • 点击“高级”按钮,展开参数设置面板,可调整以下核心参数:

    • 步骤数(steps):默认20,数值越高细节越丰富,但生成速度越慢(建议范围15-30)。

    • CFG值:默认7.0,控制提示词对生成结果的影响程度(数值越高越贴合提示词,越低越自由创作,建议范围5.0-10.0)。

    • 种子(seed):默认4242424242,可手动输入任意数字,相同参数+相同种子可复现生成结果(输入-1表示随机种子)。

    • 图像尺寸:NPU模式默认512×512,CPU/GPU模式可选择128×128、256×256等尺寸(尺寸越大生成时间越长,需确保设备内存充足)。

(2)使用提示词权重与嵌入

  • 提示词权重:在提示词中用“(关键词:权重值)”格式调整,例如“(masterpiece:1.5), (cute:1.2), white dress”,权重值建议1.1-2.0(过高可能导致图像失真)。

  • 自定义嵌入:①下载safetensors格式的嵌入文件(如EasyNegative.safetensors);②打开应用,进入“设置”→“嵌入管理”,点击“导入”,选择下载的文件;③在提示词中输入嵌入文件名(如“EasyNegative”),即可生效。

(3)高分辨率图像生成(NPU模式)

  • 步骤1:下载基础模型(如Anything V5.0)和对应的高分辨率补丁(768×768或1024×1024)。

  • 步骤2:用基础模型生成512×512分辨率的基础图像(确保布局合理)。

  • 步骤3:进入“img2img”页面,上传基础图像,选择高分辨率模型,输入与基础图像一致的提示词。

  • 步骤4:设置denoise_strength为0.8左右,点击“生成”,即可获得高分辨率图像(避免直接用高分辨率模型生成导致的布局错乱)。

(4)inpaint局部重绘

  • 步骤1:进入“inpaint”页面,点击“上传图像”,选择需要修改的图片。

  • 步骤2:用底部的画笔工具框选需要重绘的区域(可调整画笔大小,精准框选)。

  • 步骤3:在“Prompt”中输入修改后的描述(如框选衣服区域,输入“pink dress with lace”)。

  • 步骤4:点击“生成”,应用仅对框选区域进行重绘,保持其他部分不变。

(5)自定义模型导入

  • CPU/GPU模型导入:①将SD1.5格式的safetensors模型文件复制到手机“LocalDream/Models/CPU”目录下;②打开应用,进入“模型选择”页面,即可看到导入的模型,选择后即可使用。

  • NPU模型导入:①按照《NPU Model Conversion Guide》(https://github.com/xororz/local-dream/blob/main/convert/README.md)将模型转换为NPU适配格式;②将转换后的模型文件复制到“LocalDream/Models/NPU”目录;③打开应用,在“模型选择”页面选择导入的NPU模型即可。

六、常见问题解答(FAQ)

1. 高分辨率模式生成的图像布局错乱怎么办?

这是量化高分辨率模型的常见问题,官方推荐解决方案:先以512×512分辨率生成基础图像(确保布局合理),再通过img2img模式,选择高分辨率模型,设置denoise_strength=0.8左右重新生成,即可兼顾布局与细节。

2. 我的手机是非骁龙芯片,能否使用Local Dream?

可以。非骁龙芯片设备无法使用NPU加速,但可切换至CPU/GPU模式(需2GB可用内存),支持导入SD1.5格式的safetensors模型,生成速度虽不如NPU模式,但能满足基本创作需求。

3. 如何将自己的模型转换为NPU支持的格式?

项目提供了详细的《NPU Model Conversion Guide》,访问链接(https://github.com/xororz/local-dream/blob/main/convert/README.md),按照指南步骤操作即可;也可直接从xororz/sd-qnn或Mr-J-369下载预转换的NPU模型,根据自己的骁龙芯片型号选择对应版本(_8gen1/_8gen2/_min)。

4. 不同推理模式下,种子的一致性有什么区别?

  • CPU模式:相同参数+相同种子,在任何Android设备上都能生成完全一致的图像,适合需要精准复现结果的场景。

  • GPU模式:结果可能与CPU模式不同,且不同设备(即使芯片型号相同)生成结果可能有差异,种子仅作参考。

  • NPU模式:仅在相同骁龙芯片型号的设备上,相同种子才能生成一致结果,不同芯片型号间存在差异。

5. 运行时提示“内存不足”怎么办?

  • 关闭其他后台应用,释放可用内存(CPU/GPU模式需至少2GB可用内存)。

  • 降低图像生成尺寸(如从512×512改为256×256),减少内存占用。

  • 卸载不常用的模型(每个模型约1.2GB),释放存储内存。

6. Google Play版本和Releases版本有什么区别?

  • Google Play版本:内置NSFW内容过滤功能,适合全年龄段用户,功能与Releases版本一致。

  • Releases版本:无NSFW过滤,支持全部功能,适合需要创作多样化内容的用户。

7. 构建项目时提示Rust版本不兼容,怎么解决?

项目要求Rust版本必须为1.84.0(新版本可能导致构建失败),解决方案:运行命令“rustup default 1.84.0”,将Rust版本切换至指定版本,再重新构建。

8. 生成的图像保存在哪里?

生成的图像默认保存至手机“相册/Local Dream”目录下,也可在应用内点击“我的作品”查看所有保存的图像,支持一键分享至社交平台。

9. 项目是否支持中文提示词?

目前主要支持英文提示词,中文提示词生成质量可能不佳。建议使用英文描述(可搭配翻译工具),并参考模型来源页面(如CivitAI)的提示词示例,提升生成效果。

七、相关链接

八、总结

Local Dream是一款聚焦Android端本地AI图像生成的开源项目,通过骁龙NPU加速与CPU/GPU兼容模式的结合,打破了移动设备运行Stable Diffusion“速度慢、依赖网络”的壁垒,为用户提供了便捷、高效的移动创作工具。项目功能覆盖文本生图、图像转换、局部重绘、图像放大等核心场景,支持多种主流模型导入与自定义参数调整,既满足普通用户的快速创作需求,也能适配专业用户的进阶优化需求;设备适配灵活,既支持骁龙旗舰芯片的高速NPU推理,也兼容多数Android设备的CPU/GPU模式,无需高性能硬件即可使用。作为完全开源免费的项目,Local Dream不仅提供了完整的功能体验,还为开发者提供了清晰的技术文档与二次开发基础,同时通过Telegram群组构建了活跃的用户交流社区。无论是移动创作者、二次元爱好者、摄影爱好者,还是AI技术爱好者,都能在Local Dream中找到适合自己的使用场景,无需依赖电脑端即可随时随地开展AI图像创作,是移动场景下AI生图工具的优质选择。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!