SkyworkUniPic 是由 SkyworkAI 开发的一个开源多模态模型,专注于图像理解、文本生成图像和图像编辑。它使用单一的 1.5 亿参数架构,整合了三种视觉语言任务。用户可以在消费级 GPU(如 RTX 4090)上运行 1024×1024 像素的图像生成和编辑任务。UniPic 在 GenEval、DPG-Bench 等基准测试中表现优异,适合开发者探索视觉 AI 应用。项目代码和模型权重在 GitHub 上开放,采用 MIT 许可证,鼓励自由使用和修改。
功能列表
- 图像理解:分析输入图像内容,回答相关问题或提取信息。
- 文本生成图像:根据文字描述生成 1024×1024 像素的高质量图像。
- 图像编辑:通过文字指令修改图像,例如替换特定元素或调整风格。
- 支持消费级硬件:在 RTX 4090 等 GPU 上高效运行,无需专业设备。
- 开源模型权重:提供预训练模型,开发者可直接下载并定制。
使用帮助
安装流程
UniPic 的安装和使用需要基本的 Python 环境和 GPU 支持。以下是详细的安装步骤:
- 克隆仓库:
打开终端,运行以下命令克隆 UniPic 仓库:git clone https://github.com/SkyworkAI/UniPic cd UniPic
- 创建虚拟环境:
使用 conda 创建 Python 3.10.14 环境,确保依赖隔离:conda create -n unipic python=3.10.14 conda activate unipic
- 安装依赖:
安装项目所需的 Python 库:pip install -r requirements.txt
- 下载模型权重:
UniPic 提供预训练模型权重,需从 Hugging Face 下载。运行以下命令:pip install -U "huggingface_hub[cli]" huggingface-cli download Skywork/Skywork-UniPic-1.5B --local-dir checkpoint --repo-type model
- 设置环境变量:
为脚本运行添加项目路径:export PYTHONPATH=./:$PYTHONPATH
功能操作流程
UniPic 支持三种主要功能:图像理解、文本生成图像和图像编辑。以下是详细操作说明:
1. 文本生成图像
用户可以通过文字描述生成 1024×1024 像素的图像。例如,生成一只金毛犬站在公园草地上的图像:
- 操作步骤:
运行以下命令,指定模型配置文件、权重路径和文字提示:python scripts/text2image.py configs/models/qwen2_5_1_5b_kl16_mar_h.py \ --checkpoint checkpoint/pytorch_model.bin \ --image_size 1024 \ --prompt "A glossy-coated golden retriever stands on the park lawn beside a life-sized penguin statue." \ --output output.jpg
- 注意事项:
- 目前仅支持 1024×1024 像素的图像生成。
- 文字提示需清晰具体,以获得更好的生成效果。
- 输出图像保存在指定的
output.jpg
文件中。
2. 图像编辑
UniPic 允许用户通过文字指令修改现有图像。例如,将图像中的星星替换为蜡烛:
- 操作步骤:
准备一张输入图像(例如data/sample.png
),运行以下命令:python scripts/image_edit.py configs/models/qwen2_5_1_5b_kl16_mar_h.py \ --checkpoint checkpoint/pytorch_model.bin \ --image_size 1024 \ --image data/sample.png \ --prompt "Replace the stars with the candle." \ --output output.jpg
- 注意事项:
- 输入图像需为 1024×1024 像素。
- 文字指令需明确描述修改内容,例如替换、添加或移除元素。
- 编辑后的图像保存为
output.jpg
。
3. 图像理解
UniPic 可以分析图像内容并回答相关问题。当前仓库未提供独立的图像理解脚本,但开发者可基于模型权重和 Qwen2.5 框架自定义实现。
- 操作建议:
- 使用 Hugging Face 的 Transformers 库加载模型。
- 准备图像和问题,调用模型的推理接口获取答案。
- 参考 SkyworkAI 的文档或社区示例实现具体功能。
其他实用提示
- 硬件要求:推荐使用 NVIDIA RTX 4090 或更高配置的 GPU,显存至少 24GB。
- 调试问题:如果遇到依赖冲突,检查 Python 版本和 CUDA 兼容性。
- 社区支持:访问 GitHub 仓库的 Issues 页面,查看常见问题或提交新问题。
- 模型优化:开发者可微调模型权重,以适应特定任务或数据集。
应用场景
- 内容创作
UniPic 适合博主、设计师等创作者生成高质量图像。例如,生成符合品牌风格的宣传图,或根据文章内容自动创建插图。 - 教育与研究
研究人员可使用 UniPic 探索多模态 AI 的能力。学生可以通过开源代码学习图像处理和生成技术。 - 电商与广告
商家可利用 UniPic 编辑产品图片,例如更改背景或添加促销元素,提升视觉吸引力。 - 游戏开发
开发者可生成游戏场景或角色概念图,快速迭代设计创意。
QA
- UniPic 支持哪些图像分辨率?
当前仅支持 1024×1024 像素的图像生成和编辑。 - 是否需要专业 GPU 运行 UniPic?
不需要。消费级 GPU(如 RTX 4090)即可运行,显存建议 24GB 以上。 - 如何获取模型权重?
通过 Hugging Face 下载,运行huggingface-cli download Skywork/Skywork-UniPic-1.5B
命令。 - UniPic 可以商用吗?
可以。UniPic 采用 MIT 许可证,允许商业使用、修改和分发。 - 图像生成质量如何?
UniPic 在 GenEval 得分 0.86,DPG-Bench 得分 85.5,生成质量优于部分更大模型。