功能规格:灵视塔罗(卡牌识别)
本文档详述了"灵视塔罗 (Visionary Tarot)"功能的技术与用户体验需求,使用户能够在实体塔罗牌与数字化智能解读之间架起桥梁。
🎯 目标
让用户拍摄一张实体塔罗牌阵的照片(例如桌上的三张牌阵),应用能自动识别卡牌、辨别牌位,并提供 AI 驱动的解读。
🛠️ 技术需求
1. 计算机视觉流程(端侧处理)
为确保低延迟和隐私保护,初始检测应在用户设备上完成。
- 步骤 1:目标检测(分割)
- 模型: 针对移动端优化的 YOLOv8-Nano 或 MobileNetV3-SSD(CoreML/TFLite)。
- 任务: 在摄像头画面中检测代表单张塔罗牌的矩形区域。
- 约束条件: 必须在不同光照条件(烛光、强烈日光)和不同背景(布料、木桌、地毯)下正常工作。
- 步骤 2:卡牌分类
- 方法: 特征嵌入(基于 CLIP)。
- 机制: 应用将使用轻量编码器为检测到的卡牌区域生成嵌入向量,并与向量数据库中预计算的"标准韦特 (Rider-Waite)"嵌入进行比对,而非使用脆弱的 78 类分类器(对不同牌面画风适应性差)。
- 优势: 使用鲁棒的视觉-语言模型方法时,可在不同牌面风格下保持高准确率。
2. "逻辑"层(云端处理)
一旦识别出卡牌和牌位,重计算将在云端完成。
- 特征映射: 系统必须将检测到的矩形坐标映射到"牌阵模板"(例如"过去、现在、未来"或"凯尔特十字"牌阵)。
- 上下文注入: 识别出的卡牌连同用户当前的占星行运数据一起发送给 LLM(Claude/GPT-4o)。
🎨 用户体验 (UX) 设计
1. "扫描"界面
- AR 叠加: 当相机激活时,应用显示一个"实时引导"(例如发光的矩形准星),随用户对准卡牌而移动。
- 触觉反馈: 当卡牌被成功"锁定"并识别时,给予一个细微的"点击"触觉振动。
- 视觉确认: 当卡牌被检测到时,它们以"数字幽灵"(半透明叠加层)的形式出现在屏幕上,确认应用已"看到"它们。
2. "魔法过渡"
- 动画: 当用户点击"解读"时,相机视图溶解为检测到的卡牌的精美全屏数字版本,从"物理世界"过渡到"数字神谕"。
⚠️ 挑战与应对策略
| 挑战 | 应对策略 |
|---|---|
| 多种卡牌风格 | 使用多模态嵌入方法 (CLIP),关注结构特征和图像学,而非特定的像素级精确匹配。 |
| 光照不佳/模糊 | 在 UI 中实现"自动对焦和闪光灯"提示,并在推理前进行图像预处理(直方图均衡化)。 |
| 复杂背景 | 使用实例分割将卡牌从桌布或手部中分离出来。 |
📊 成功指标
- 检测准确率: 在最佳光照下,标准韦特牌>95%。
- 推理延迟: 从"拍摄"到"识别"<2 秒。
- 用户留存: 衡量使用"灵视"功能的用户与仅使用数字抽牌的用户在会话时长上的差异。