之前的分析逻辑错误地认为:
但根据专业白膜图标准,这是错误的理解!
白膜图的材质特征:
⚠️ 重要修正:专业白膜图应该有灯光层次!
白膜图 = 统一灰色材质 + 无彩色 + 无纹理
(可以有灯光!可以有家具!)
渲染图/软装图 = 有彩色材质 或 有真实纹理
添加专业白膜标准:
【专业白膜图标准】(基于行业规范)
**一、材质维度(Material)- 白膜的核心判断标准**
✓ 统一漫反射材质:所有物体采用统一的中性灰色(RGB≈230-240)
✓ 无装饰性色彩:无木色、布料色、金属色、暖色调等装饰颜色
✓ 无真实纹理:无木纹、布纹、石材纹理等材质细节
**二、灯光维度(Lighting)- 专业白膜图的关键特征**
⚠️ 重要修正:专业白膜图应该有灯光层次!
✓ 明暗对比:存在主光、辅助光、环境光的区分
✓ 阴影逻辑:有自然的阴影和光影过渡
修正字段定义:
【关键字段定义】(重新定义)
- hasColor: 是否有装饰性色彩(木色、布料色、金属色、暖色调等),不包括灰度
- hasTexture: 是否有真实材质纹理(木纹、布纹、石材等),不包括简单的灰度变化
- hasFurniture: 是否有家具模型(无论是灰色还是彩色)
- hasLighting: 是否有明暗对比和光影层次(白膜也应该有)
修改前(错误逻辑):
// ❌ 错误:认为有家具+灯光就不是白模
if (hasColor && hasFurniture && hasTexture) {
return 'rendering'; // 绝对不是白模
}
// ❌ 错误:白模必须无家具、无灯光
if (!hasFurniture && !hasLighting && !hasColor && !hasTexture) {
return 'white_model';
}
修改后(正确逻辑):
// ✅ 关键规则1:材质颜色和纹理判断(最高优先级)
if (hasColor || hasTexture) {
// 有装饰性色彩或真实纹理,绝对不是白模
return 'rendering' / 'soft_decor' / 'post_process';
}
// ✅ 关键规则2:白模判断(允许有灯光和家具)
if (!hasColor && !hasTexture) {
// 无彩色且无纹理,可能是白模(即使有灯光和家具)
if (AI判定为白模 && 置信度高) {
return 'white_model';
}
}
!hasColor && !hasTexture(无彩色 + 无纹理)// 如果走到这里,说明没有彩色和纹理(可能是白模或低质量图)
if (hasLighting && qualityScore >= 75) {
return 'rendering'; // 有灯光 + 高质量
} else if (hasFurniture && qualityScore >= 60) {
return 'soft_decor'; // 有家具 + 中等质量
} else if (qualityScore >= 70) {
return 'rendering'; // 高质量
} else {
return 'white_model'; // 低质量且无彩色/纹理,可能是白模
}
图片输入
↓
AI分析:hasColor? hasTexture? hasFurniture? hasLighting?
↓
┌────────────────────────────────────┐
│ 规则1:材质判断(最高优先级) │
│ 有彩色材质 或 有真实纹理? │
└────────────────────────────────────┘
↓ YES ↓ NO
rendering/soft_decor/ 无彩色且无纹理
post_process ↓
┌─────────────────────┐
│ 规则2:白模判断 │
│ 材质是否统一灰色? │
└─────────────────────┘
↓ YES
┌─────────────────────┐
│ AI判定为白模? │
│ 置信度 > 75%? │
└─────────────────────┘
↓ YES ↓ NO
white_model 兜底判断
↓
根据质量和特征
综合判断
特征:
判断路径:
hasColor = false(无装饰性色彩)
hasTexture = false(无真实纹理)
hasFurniture = true(有家具体块)
hasLighting = true(有灯光层次)
↓
规则1:无彩色且无纹理 → 可能是白模
↓
规则2:AI判定为white_model,置信度88%
↓
结果:white_model ✅
特征:
判断路径:
hasColor = true(有装饰性色彩)
hasTexture = true(有真实纹理)
hasFurniture = true
hasLighting = true
↓
规则1:有彩色材质或真实纹理 → 绝对不是白模
↓
结果:rendering/post_process ✅
特征:
判断路径:
hasColor = false
hasTexture = false
hasFurniture = false
hasLighting = false
qualityScore = 45
↓
规则1:无彩色且无纹理 → 可能是白模
↓
规则2:AI判定为white_model,置信度65%
↓
兜底判断:低质量且无彩色/纹理 → white_model
↓
结果:white_model ✅
image-analysis.service.ts (行230-359)
analyzeImageContent() 提示词image-analysis.service.ts (行682-771)
determineSuggestedStage() 判断逻辑🎯 阶段判断依据: {
AI类别: "white_model",
AI置信度: 88,
有家具: true,
有灯光: true,
有色彩: false, // ✅ 无装饰性色彩
有纹理: false // ✅ 无真实纹理
}
🟢 材质符合白模特征:无彩色 + 无纹理
✅ AI高置信度判定为白模,且材质符合,判定为白模阶段
上传特征:
预期结果:white_model
上传特征:
预期结果:rendering 或 soft_decor 或 post_process
| 特征 | 修改前(错误) | 修改后(正确) |
|---|---|---|
| 白膜定义 | 无家具+无灯光+无色彩 | 统一灰色材质+无彩色+无纹理 |
| 有灯光 | ❌ 不是白模 | ✅ 可以是白模 |
| 有家具 | ❌ 不是白模 | ✅ 可以是白模 |
| 核心判断 | 灯光和家具 | 材质颜色和纹理 |
| 优先级 | 灯光>家具>材质 | 材质>AI置信度>质量 |