Skip to content

cwjcw/MagicMirror_myself

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicMirror_myself

AI 魔镜项目示例。实现思路:采集用户人像(摄像头或指定文件夹),选择或生成服装信息,并调用虚拟换装模型生成效果图。

系统架构概览

  • 数据入口
    • 摄像头实时拍摄:/capture 接口调用 OpenCV。
    • 本地上传:指定 runtime/uploads/peopleruntime/uploads/garments 目录,或通过接口上传文件。
  • AI 能力
    • 语音指令:VoiceService 调用 ModelScope Paraformer 中文 ASR,可选 Qwen 模型解析意图。
    • 虚拟换装:优先使用 ModelScope 虚拟换装 Diffusion 模型,无法加载时回退到 Stable Diffusion Inpainting。
  • 后端服务
    • FastAPI 提供 REST API,统一调用摄像头、文件管理、换装推理。
    • GarmentStore 负责管理服装正反面素材。
  • 运行目录结构
    • runtime/uploads/people:人像输入。
    • runtime/uploads/garments:服装素材。
    • runtime/results:换装结果。
    • runtime/models:模型缓存,便于国内镜像加速。

安装与运行

  1. Python >= 3.10,具备 CUDA 的机器可加速。
  2. 安装依赖:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 建议提前通过 ModelScope CLI 下载模型,加快国内访问速度:
pip install modelscope-cli
modelscope download --model_damo/cv_diffusion_text-guided-virtual-try-on
  1. 启动后端:
uvicorn app.main:app --host 0.0.0.0 --port 8000
  1. 可选:启动目录监控脚本,自动捕捉新文件。
python scripts/watchers.py

核心接口

  • POST /capture:从摄像头采集图片。
  • POST /garments:上传服装正反面,注册为可复用服装。
  • GET /garments:查看已有服装素材。
  • POST /try-on:执行换装,可指定已有服装 ID、临时图片或语音解析生成的文字描述。
  • POST /voice-command:上传语音文件,返回解析出的服装描述和意图。

详见 app/schemas.py 中的数据结构定义。

本地 AI 模型建议(国内可获取)

  • 语音识别:Paraformer (ModelScope damo/speech_paraformer-large_asr_nat-zh-cn-16k),离线可用。
  • 意图解析:阿里通义千问 Qwen-1.5 系列、智谱 GLM-4-9B 等,可本地部署或调用国内云厂商 API。
  • 虚拟换装
    • ModelScope 虚拟换装模型(Diffusion Try-On)。
    • 或者下载开源 TryOnDiffusion / DressCode / VITON-HD 模型离线推理。
  • 加速建议:配置本地镜像(如 ModelScope、Pypi 国内镜像),并使用 GPU。

下一步拓展

  • 集成前端应用(Web/大屏)实时展示结果。
  • 增加人体关键点检测、衣物分割,优化换装区域。
  • 加入任务队列(Celery/Redis)处理批量换装任务。
  • 引入本地说话人识别、身份验证等安全能力。

About

AI魔镜,换衣服不用再穿上脱下啦,一键换装

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages