chore: initial commit — import worldmodel workspace (plans/, research/)
This commit is contained in:
@@ -0,0 +1,668 @@
|
||||
# 基于iPhone的酒店场景建模简易方案
|
||||
|
||||
## 📱 方案概述
|
||||
|
||||
本方案针对预算有限或快速验证需求,使用iPhone Pro系列(配备LiDAR)作为主要采集设备,大幅降低硬件成本和技术门槛,实现酒店场景的快速数字化。
|
||||
|
||||
### 核心优势
|
||||
|
||||
- 💰 **成本低**:硬件投入 < 3万元(vs 完整方案21万)
|
||||
- 🚀 **部署快**:1-2周即可开始采集(vs 完整方案1个月)
|
||||
- 📱 **便携性强**:单人即可完成所有采集工作
|
||||
- 🛠️ **易上手**:成熟的App生态,无需专业技能
|
||||
|
||||
### 适用场景
|
||||
|
||||
- ✅ 快速原型验证
|
||||
- ✅ 小规模客房建模(< 5间)
|
||||
- ✅ 预算受限的研究项目
|
||||
- ✅ 教学演示用途
|
||||
|
||||
---
|
||||
|
||||
## 一、硬件配置方案
|
||||
|
||||
### 1.1 必需设备
|
||||
|
||||
| 设备 | 型号推荐 | 价格 | 用途 |
|
||||
|-----|---------|------|------|
|
||||
| **iPhone** | iPhone 15 Pro Max | ¥9,999 | 主采集设备(LiDAR + 相机) |
|
||||
| **稳定器** | DJI OM 6 | ¥899 | 视频稳定、减少抖动 |
|
||||
| **三脚架** | 曼富图 Compact | ¥299 | 固定站点扫描 |
|
||||
| **移动电源** | 20000mAh快充 | ¥199 | 续航保障 |
|
||||
| **存储卡** | 1TB iCloud | ¥68/月 | 云端备份 |
|
||||
|
||||
**必需设备总计**:约 ¥11,400(一次性)+ ¥68/月
|
||||
|
||||
### 1.2 可选设备
|
||||
|
||||
| 设备 | 型号推荐 | 价格 | 用途 |
|
||||
|-----|---------|------|------|
|
||||
| **补光灯** | 神牛 SL-60W | ¥599 | 弱光环境补光 |
|
||||
| **外接深度相机** | Structure Sensor Pro | ¥4,999 | 提升深度精度(可选) |
|
||||
| **iPad** | iPad Pro 12.9" | ¥7,999 | 实时预览与标注 |
|
||||
|
||||
**可选设备总计**:¥5,000 - ¥13,000
|
||||
|
||||
### 1.3 计算设备
|
||||
|
||||
| 设备 | 配置 | 价格 | 用途 |
|
||||
|-----|------|------|------|
|
||||
| **笔记本** | MacBook Pro M3 Max<br>36GB RAM, 1TB SSD | ¥25,999 | 数据处理与训练 |
|
||||
| **或** | 游戏本 RTX 4070<br>32GB RAM, 1TB SSD | ¥12,000 | Windows替代方案 |
|
||||
| **云GPU** | AutoDL / 恒源云<br>RTX 4090 | ¥3/小时 | 按需租用 |
|
||||
|
||||
**推荐方案**:MacBook Pro(本地处理)+ 云GPU(训练)
|
||||
|
||||
---
|
||||
|
||||
## 二、软件工具链
|
||||
|
||||
### 2.1 数据采集App
|
||||
|
||||
#### 方案A:Polycam(推荐)
|
||||
|
||||
```yaml
|
||||
App名称: Polycam
|
||||
平台: iOS / iPadOS
|
||||
价格: 免费版 + Pro订阅 $11.99/月
|
||||
|
||||
功能:
|
||||
- ✅ LiDAR扫描(房间模式)
|
||||
- ✅ 照片建模(NeRF模式)
|
||||
- ✅ 实时预览
|
||||
- ✅ 自动对齐
|
||||
- ✅ 导出格式:OBJ, FBX, USDZ, PLY, LAS
|
||||
|
||||
优势:
|
||||
- 界面友好,零学习成本
|
||||
- 自动处理,无需手动调参
|
||||
- 云端处理,手机不发热
|
||||
- 支持导出高质量Mesh
|
||||
|
||||
劣势:
|
||||
- 免费版有导出限制
|
||||
- 大场景需要Pro订阅
|
||||
- 精度略低于专业方案
|
||||
```
|
||||
|
||||
#### 方案B:3D Scanner App
|
||||
|
||||
```yaml
|
||||
App名称: 3D Scanner App
|
||||
平台: iOS
|
||||
价格: 免费 + 内购 $4.99
|
||||
|
||||
功能:
|
||||
- ✅ LiDAR点云采集
|
||||
- ✅ 实时网格生成
|
||||
- ✅ 纹理映射
|
||||
- ✅ 导出格式:OBJ, STL, PLY
|
||||
|
||||
优势:
|
||||
- 完全免费基础功能
|
||||
- 本地处理,数据隐私好
|
||||
- 支持手动编辑
|
||||
|
||||
劣势:
|
||||
- 界面较简陋
|
||||
- 大场景处理慢
|
||||
- 需要一定学习成本
|
||||
```
|
||||
|
||||
#### 方案C:RoomPlan API(开发者)
|
||||
|
||||
```yaml
|
||||
技术: Apple RoomPlan API
|
||||
平台: iOS 16+
|
||||
价格: 免费(需开发)
|
||||
|
||||
功能:
|
||||
- ✅ 自动房间结构识别
|
||||
- ✅ 家具自动检测
|
||||
- ✅ 导出USDZ格式
|
||||
- ✅ 符合曼哈顿假设
|
||||
|
||||
优势:
|
||||
- 完全免费
|
||||
- 自动语义标注
|
||||
- 精度高
|
||||
|
||||
劣势:
|
||||
- 需要编程能力
|
||||
- 仅支持标准房间
|
||||
- 定制化困难
|
||||
```
|
||||
|
||||
**推荐组合**:Polycam(快速扫描)+ RoomPlan(结构提取)
|
||||
|
||||
### 2.2 数据处理软件
|
||||
|
||||
```yaml
|
||||
点云处理:
|
||||
- CloudCompare(免费): 点云查看、配准、滤波
|
||||
- MeshLab(免费): Mesh编辑、简化、修复
|
||||
|
||||
3D重建:
|
||||
- COLMAP(免费): 照片建模、位姿估计
|
||||
- Instant-NGP(免费): 快速NeRF训练
|
||||
- Nerfstudio(免费): NeRF工具链
|
||||
|
||||
语义标注:
|
||||
- Labelbox(免费版): 2D图像标注
|
||||
- Segments.ai(免费版): 3D点云标注
|
||||
|
||||
渲染与展示:
|
||||
- Blender(免费): 3D建模与渲染
|
||||
- Unity(免费版): 交互式展示
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、简化工作流程
|
||||
|
||||
### 3.1 数据采集流程
|
||||
|
||||
#### 阶段1:准备工作(30分钟)
|
||||
|
||||
```bash
|
||||
1. 检查设备
|
||||
- iPhone电量 > 80%
|
||||
- 存储空间 > 20GB
|
||||
- 清洁镜头和LiDAR
|
||||
|
||||
2. 环境准备
|
||||
- 开启所有灯光
|
||||
- 移除动态物体(人、宠物)
|
||||
- 关闭窗帘(避免强光)
|
||||
|
||||
3. App设置
|
||||
- Polycam: 选择"Room"模式
|
||||
- 分辨率: 高质量
|
||||
- LiDAR: 开启
|
||||
```
|
||||
|
||||
#### 阶段2:客房扫描(15-20分钟/间)
|
||||
|
||||
```yaml
|
||||
扫描路线:
|
||||
1. 从门口开始,顺时针环绕房间
|
||||
2. 保持iPhone垂直,距离墙面1-1.5米
|
||||
3. 移动速度: 慢速(约0.3米/秒)
|
||||
4. 重点区域:
|
||||
- 床铺四周(多角度)
|
||||
- 书桌、衣柜(开门扫描内部)
|
||||
- 窗户、窗帘
|
||||
- 卫生间门口(不进入)
|
||||
|
||||
关键技巧:
|
||||
- 保持稳定,避免快速移动
|
||||
- 重叠率 > 70%(相邻帧)
|
||||
- 弱纹理区域多拍几张照片
|
||||
- 实时查看预览,确保覆盖完整
|
||||
|
||||
数据量:
|
||||
- 扫描时长: 15-20分钟
|
||||
- 采集帧数: 约500-800帧
|
||||
- 数据大小: 2-3GB
|
||||
```
|
||||
|
||||
#### 阶段3:卫生间扫描(10-15分钟)
|
||||
|
||||
```yaml
|
||||
特殊处理:
|
||||
1. 关闭顶灯,使用侧光(补光灯)
|
||||
2. 对镜子区域:
|
||||
- 多角度采集(30°间隔)
|
||||
- 避免正对镜子(减少反射)
|
||||
3. 玻璃淋浴房:
|
||||
- 内外分别扫描
|
||||
- 使用HDR模式
|
||||
|
||||
降级方案(如果效果不好):
|
||||
- 使用照片建模模式(非LiDAR)
|
||||
- 增加拍摄数量(> 100张)
|
||||
- 后期手动修复
|
||||
```
|
||||
|
||||
#### 阶段4:固定站点补充(可选,10分钟)
|
||||
|
||||
```yaml
|
||||
使用三脚架:
|
||||
- 房间中心 × 1
|
||||
- 床头两侧 × 2
|
||||
- 书桌前方 × 1
|
||||
|
||||
每个站点:
|
||||
- 360°全景照片(Polycam全景模式)
|
||||
- 或使用iPhone全景功能
|
||||
- 用于纹理补充
|
||||
```
|
||||
|
||||
### 3.2 数据处理流程
|
||||
|
||||
#### 步骤1:云端处理(Polycam自动)
|
||||
|
||||
```yaml
|
||||
上传数据:
|
||||
- 扫描完成后自动上传
|
||||
- 处理时间: 10-30分钟
|
||||
- 接收邮件通知
|
||||
|
||||
下载结果:
|
||||
- 格式: OBJ + MTL + 纹理
|
||||
- 或: USDZ(用于AR预览)
|
||||
- 或: PLY点云
|
||||
```
|
||||
|
||||
#### 步骤2:本地优化(可选)
|
||||
|
||||
```python
|
||||
# 使用CloudCompare清理点云
|
||||
import subprocess
|
||||
|
||||
def clean_pointcloud(input_ply, output_ply):
|
||||
"""点云清理流程"""
|
||||
|
||||
# 1. 统计滤波去除离群点
|
||||
subprocess.run([
|
||||
'CloudCompare', '-SILENT',
|
||||
'-O', input_ply,
|
||||
'-SOR', '6', '1.0', # 6邻域,1.0标准差
|
||||
'-SAVE_CLOUDS', 'FILE', output_ply
|
||||
])
|
||||
|
||||
# 2. 体素下采样(可选,减小文件)
|
||||
subprocess.run([
|
||||
'CloudCompare', '-SILENT',
|
||||
'-O', output_ply,
|
||||
'-SS', 'SPATIAL', '0.01', # 1cm网格
|
||||
'-SAVE_CLOUDS', 'FILE', output_ply
|
||||
])
|
||||
|
||||
# 使用MeshLab修复Mesh
|
||||
def repair_mesh(input_obj, output_obj):
|
||||
"""Mesh修复流程"""
|
||||
|
||||
# MeshLab脚本
|
||||
script = """
|
||||
<!DOCTYPE FilterScript>
|
||||
<FilterScript>
|
||||
<!-- 移除重复顶点 -->
|
||||
<filter name="Remove Duplicate Vertices"/>
|
||||
|
||||
<!-- 移除重复面 -->
|
||||
<filter name="Remove Duplicate Faces"/>
|
||||
|
||||
<!-- 移除非流形边 -->
|
||||
<filter name="Remove Non Manifold Edges"/>
|
||||
|
||||
<!-- 填充孔洞 -->
|
||||
<filter name="Close Holes">
|
||||
<Param name="MaxHoleSize" value="30"/>
|
||||
</filter>
|
||||
|
||||
<!-- 平滑 -->
|
||||
<filter name="Laplacian Smooth">
|
||||
<Param name="stepSmoothNum" value="3"/>
|
||||
</filter>
|
||||
</FilterScript>
|
||||
"""
|
||||
|
||||
with open('repair_script.mlx', 'w') as f:
|
||||
f.write(script)
|
||||
|
||||
subprocess.run([
|
||||
'meshlabserver',
|
||||
'-i', input_obj,
|
||||
'-o', output_obj,
|
||||
'-s', 'repair_script.mlx'
|
||||
])
|
||||
```
|
||||
|
||||
#### 步骤3:语义标注(简化版)
|
||||
|
||||
```python
|
||||
# 使用YOLO-World自动检测物体
|
||||
from ultralytics import YOLO
|
||||
|
||||
def detect_objects_in_room(image_folder):
|
||||
"""自动检测房间物体"""
|
||||
|
||||
# 加载YOLO-World模型
|
||||
model = YOLO('yolov8x-worldv2.pt')
|
||||
|
||||
# 定义酒店房间常见物体
|
||||
classes = [
|
||||
'bed', 'pillow', 'desk', 'chair', 'lamp',
|
||||
'TV', 'curtain', 'wardrobe', 'nightstand',
|
||||
'mirror', 'towel', 'toilet', 'sink'
|
||||
]
|
||||
|
||||
# 设置自定义类别
|
||||
model.set_classes(classes)
|
||||
|
||||
# 批量检测
|
||||
results = model.predict(
|
||||
source=image_folder,
|
||||
save=True,
|
||||
save_txt=True, # 保存标注文件
|
||||
conf=0.3
|
||||
)
|
||||
|
||||
return results
|
||||
|
||||
# 生成简化场景图
|
||||
def build_simple_scene_graph(detections):
|
||||
"""构建简化的场景图"""
|
||||
|
||||
scene_graph = {
|
||||
'nodes': [],
|
||||
'edges': []
|
||||
}
|
||||
|
||||
for det in detections:
|
||||
node = {
|
||||
'id': det.id,
|
||||
'label': det.label,
|
||||
'bbox_2d': det.bbox,
|
||||
'confidence': det.conf
|
||||
}
|
||||
scene_graph['nodes'].append(node)
|
||||
|
||||
# 简化的空间关系(基于2D位置)
|
||||
for i, node_a in enumerate(scene_graph['nodes']):
|
||||
for node_b in scene_graph['nodes'][i+1:]:
|
||||
# 如果两个物体在垂直方向上接近
|
||||
if abs(node_a['bbox_2d'][1] - node_b['bbox_2d'][1]) < 50:
|
||||
scene_graph['edges'].append({
|
||||
'source': node_a['id'],
|
||||
'target': node_b['id'],
|
||||
'relation': 'next_to'
|
||||
})
|
||||
|
||||
return scene_graph
|
||||
```
|
||||
|
||||
### 3.3 简化的3DGS训练(可选)
|
||||
|
||||
```bash
|
||||
# 使用Nerfstudio快速训练
|
||||
# 1. 安装Nerfstudio
|
||||
pip install nerfstudio
|
||||
|
||||
# 2. 从Polycam导出的照片训练
|
||||
ns-process-data images \
|
||||
--data data/room_301/images \
|
||||
--output-dir data/room_301/processed
|
||||
|
||||
# 3. 训练Splatfacto(3DGS变体)
|
||||
ns-train splatfacto \
|
||||
--data data/room_301/processed \
|
||||
--max-num-iterations 7000 \
|
||||
--viewer.websocket-port 7007
|
||||
|
||||
# 4. 导出模型
|
||||
ns-export gaussian-splat \
|
||||
--load-config outputs/room_301/splatfacto/config.yml \
|
||||
--output-dir exports/room_301/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、成本与时间对比
|
||||
|
||||
### 4.1 成本对比
|
||||
|
||||
| 项目 | 完整方案 | iPhone简易方案 | 节省 |
|
||||
|-----|---------|---------------|------|
|
||||
| **硬件** | 21.0万 | 1.1万 | **95%** |
|
||||
| **软件** | 16.8万 | 0.2万 | **99%** |
|
||||
| **人力**(3个月) | 54.0万 | 9.0万 | **83%** |
|
||||
| **总计** | 91.8万 | 10.3万 | **89%** |
|
||||
|
||||
### 4.2 时间对比
|
||||
|
||||
| 阶段 | 完整方案 | iPhone方案 | 节省 |
|
||||
|-----|---------|-----------|------|
|
||||
| 准备 | 4周 | 1周 | 75% |
|
||||
| 采集(10场景) | 4周 | 2周 | 50% |
|
||||
| 处理 | 8周 | 4周 | 50% |
|
||||
| **总计** | **16周** | **7周** | **56%** |
|
||||
|
||||
### 4.3 质量对比
|
||||
|
||||
| 指标 | 完整方案 | iPhone方案 | 差距 |
|
||||
|-----|---------|-----------|------|
|
||||
| 几何精度 | < 3cm | 5-10cm | 2-3倍 |
|
||||
| 渲染PSNR | > 28 dB | 24-26 dB | 略低 |
|
||||
| 语义mAP | > 70% | 50-60% | 中等 |
|
||||
| 覆盖完整性 | 95%+ | 85-90% | 可接受 |
|
||||
|
||||
---
|
||||
|
||||
## 五、实施步骤(7周计划)
|
||||
|
||||
### Week 1:准备阶段
|
||||
|
||||
```yaml
|
||||
任务:
|
||||
- [ ] 购买iPhone 15 Pro Max + 配件
|
||||
- [ ] 下载并熟悉Polycam App
|
||||
- [ ] 联系酒店,获得采集许可
|
||||
- [ ] 准备MacBook或租用云GPU
|
||||
|
||||
交付物:
|
||||
- 硬件到位
|
||||
- 测试扫描1-2个房间
|
||||
- 确认数据质量可接受
|
||||
```
|
||||
|
||||
### Week 2-3:数据采集
|
||||
|
||||
```yaml
|
||||
Week 2:
|
||||
- [ ] 采集5个客房
|
||||
- [ ] 采集2个公共区域
|
||||
- [ ] 每日备份数据到iCloud
|
||||
|
||||
Week 3:
|
||||
- [ ] 采集3个客房
|
||||
- [ ] 采集3个卫生间
|
||||
- [ ] 质量检查与补拍
|
||||
```
|
||||
|
||||
### Week 4-5:数据处理
|
||||
|
||||
```yaml
|
||||
Week 4:
|
||||
- [ ] Polycam云端处理(自动)
|
||||
- [ ] 下载所有Mesh模型
|
||||
- [ ] CloudCompare清理点云
|
||||
|
||||
Week 5:
|
||||
- [ ] MeshLab修复Mesh
|
||||
- [ ] YOLO-World物体检测
|
||||
- [ ] 构建简化场景图
|
||||
```
|
||||
|
||||
### Week 6:可选训练
|
||||
|
||||
```yaml
|
||||
任务:
|
||||
- [ ] Nerfstudio训练3DGS(3个场景)
|
||||
- [ ] 渲染质量评估
|
||||
- [ ] 导出模型文件
|
||||
|
||||
或跳过(直接使用Polycam结果)
|
||||
```
|
||||
|
||||
### Week 7:整理与交付
|
||||
|
||||
```yaml
|
||||
任务:
|
||||
- [ ] 整理所有数据
|
||||
- [ ] 编写技术报告
|
||||
- [ ] 制作演示视频
|
||||
- [ ] 准备开源发布(可选)
|
||||
|
||||
交付物:
|
||||
- 10个场景的3D模型
|
||||
- 语义标注数据
|
||||
- 技术文档
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、常见问题
|
||||
|
||||
### Q1: iPhone LiDAR精度够用吗?
|
||||
|
||||
**A:** 对于大多数应用场景够用:
|
||||
- **室内导航**: ✅ 完全够用(5-10cm精度)
|
||||
- **VR/AR展示**: ✅ 够用
|
||||
- **机器人操作**: ⚠️ 粗略规划可以,精细操作不够
|
||||
- **科研论文**: ⚠️ 取决于审稿人要求
|
||||
|
||||
### Q2: 不用3DGS可以吗?
|
||||
|
||||
**A:** 完全可以!
|
||||
- Polycam直接输出的Mesh已经很好
|
||||
- 3DGS主要用于新视角渲染
|
||||
- 如果只需要3D模型,Polycam足够
|
||||
|
||||
### Q3: 卫生间镜子怎么处理?
|
||||
|
||||
**A:** 简化方案:
|
||||
1. 尽量避开镜子正面
|
||||
2. 使用侧光减少反射
|
||||
3. 后期手动修复(Blender)
|
||||
4. 或接受一定的几何缺陷
|
||||
|
||||
### Q4: 可以用旧款iPhone吗?
|
||||
|
||||
**A:** 取决于型号:
|
||||
- **iPhone 12 Pro及以上**: ✅ 有LiDAR,推荐
|
||||
- **iPhone 11及以下**: ❌ 无LiDAR,只能用照片建模(精度低)
|
||||
- **建议**: 至少iPhone 13 Pro
|
||||
|
||||
### Q5: 一个人能完成吗?
|
||||
|
||||
**A:** 可以!
|
||||
- 采集: 1人即可
|
||||
- 处理: 大部分自动化
|
||||
- 建议: 2人协作效率更高(1人扫描,1人质检)
|
||||
|
||||
---
|
||||
|
||||
## 七、进阶优化(可选)
|
||||
|
||||
### 7.1 提升精度
|
||||
|
||||
```yaml
|
||||
方法1_多次扫描融合:
|
||||
- 同一房间扫描2-3次
|
||||
- 使用CloudCompare配准融合
|
||||
- 精度提升20-30%
|
||||
|
||||
方法2_外接深度相机:
|
||||
- 购买Structure Sensor Pro
|
||||
- 精度提升至2-5cm
|
||||
- 成本增加5000元
|
||||
|
||||
方法3_照片补充:
|
||||
- 用iPhone拍摄高分辨率照片(> 100张)
|
||||
- 使用COLMAP重建
|
||||
- 与LiDAR融合
|
||||
```
|
||||
|
||||
### 7.2 自动化流程
|
||||
|
||||
```python
|
||||
# 批量处理脚本
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
def batch_process_rooms(data_dir):
|
||||
"""批量处理所有房间"""
|
||||
|
||||
rooms = list(Path(data_dir).glob('room_*'))
|
||||
|
||||
for room in rooms:
|
||||
print(f"Processing {room.name}...")
|
||||
|
||||
# 1. 点云清理
|
||||
clean_pointcloud(
|
||||
room / 'raw.ply',
|
||||
room / 'cleaned.ply'
|
||||
)
|
||||
|
||||
# 2. Mesh修复
|
||||
repair_mesh(
|
||||
room / 'mesh.obj',
|
||||
room / 'mesh_repaired.obj'
|
||||
)
|
||||
|
||||
# 3. 物体检测
|
||||
detections = detect_objects_in_room(
|
||||
room / 'images'
|
||||
)
|
||||
|
||||
# 4. 场景图构建
|
||||
scene_graph = build_simple_scene_graph(detections)
|
||||
|
||||
# 5. 保存结果
|
||||
with open(room / 'scene_graph.json', 'w') as f:
|
||||
json.dump(scene_graph, f, indent=2)
|
||||
|
||||
print(f"✓ {room.name} completed")
|
||||
|
||||
# 运行
|
||||
batch_process_rooms('data/')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 八、总结
|
||||
|
||||
### 适合人群
|
||||
|
||||
- ✅ 预算有限的研究生/博士生
|
||||
- ✅ 快速原型验证需求
|
||||
- ✅ 教学演示用途
|
||||
- ✅ 小规模商业项目
|
||||
|
||||
### 不适合场景
|
||||
|
||||
- ❌ 需要毫米级精度
|
||||
- ❌ 大规模场景(> 1000㎡)
|
||||
- ❌ 高反光场景为主
|
||||
- ❌ 顶级会议论文(可能被质疑精度)
|
||||
|
||||
### 核心优势
|
||||
|
||||
1. **成本**: 仅需完整方案的10%
|
||||
2. **时间**: 7周 vs 16周
|
||||
3. **便携**: 单人单设备
|
||||
4. **易用**: 零技术门槛
|
||||
|
||||
### 推荐路径
|
||||
|
||||
```
|
||||
阶段1(1-2周): iPhone快速验证
|
||||
↓
|
||||
评估结果是否满足需求
|
||||
↓
|
||||
满足 → 继续使用iPhone方案
|
||||
不满足 → 升级到完整方案
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**文档版本**: v1.0
|
||||
**适用设备**: iPhone 12 Pro及以上
|
||||
**最后更新**: 2026-05-16
|
||||
|
||||
---
|
||||
|
||||
> 💡 **提示**: 本方案是完整方案的简化版本,适合快速启动。如需更高精度,请参考[完整实施计划](README.md)。
|
||||
Reference in New Issue
Block a user