一、项目背景:非遗展馆为什么需要"重建"

传统非遗展馆面临三重困境:实物脆弱不可近观、展陈空间有限、讲解依赖人力。本项目以 NeRF / 3DGS 实拍重建为底座,叠加虚实融合交互与 AI 智能体,构建可漫游、可对话、可创作的非遗数字展馆。

痛点传统方案本平台方案
文物不可近观玻璃展柜 + 图文说明微距无损三维放大,丝线级细节
展陈空间受限实体展厅面积固定虚拟特展随时搭建、无限扩容
讲解人力成本高人工讲解员排班AI 讲解智能体 7×24 跟随漫游
残缺文物难展示仅展示残件生成式三维补全 + 虚实对比动画
观众参与度低单向观看手势拆解、虚拟工坊、生成式文创

二、系统总体架构

平台采用"四端 + 一智能层"的分层架构,自下而上依次为重建底座、渲染与空间计算、业务应用、智能体层。

多视角采集
图像/视频/点云

NeRF / 3DGS 重建流水线

场景拼接与语义标注

光追级实时渲染引擎

游客端

策展人员端

管理员端

AI 智能体层
讲解/修复/导览/多模态

WebGPU / 云渲染串流

层级核心能力关键技术
重建底座实拍三维还原NeRF、3DGS、多视角几何
渲染层电影级材质表现光线追踪、PBR、全局光照
空间计算AR 锚定与手势识别SLAM、空间锚点、手势追踪
智能层多模态理解与生成多模态大模型、语音合成
应用层四端业务闭环WebGPU、云渲染串流

三、游客端:从"看展"到"对话"

3.1 电影级三维漫游

  • 基于 NeRF/3DGS 实拍重建展馆与文物,真实三维还原
  • 光追级材质渲染:刺绣丝线反光、木雕纹理、陶釉折射
  • 自由漫游 / 自动导览 / 第一人称与环绕观赏多模式切换
  • 动态光照与展柜灯光实时模拟
漫游模式适用场景交互方式
自由漫游深度参观者键鼠 / 手柄 / 手势
自动导览首次到访剧情路线自动推进
第一人称沉浸体验视角跟随移动
环绕观赏单件文物细看拖拽旋转 + 微距缩放

3.2 虚实融合交互

  • AR 叠加:手机对准展品叠加制作工艺动画与年代信息
  • 手势交互:隔空旋转、缩放、拆解文物结构(如皮影关节拆解)
  • 虚拟修复演示:残缺文物三维补全动画,虚实对比
  • 空间锚定留言:在展馆特定位置留痕
  • 虚拟形象漫游:Avatar 代表本人与其他游客同场参观

3.3 沉浸式叙事与讲解

  • AI 讲解智能体跟随漫游(语音 + 三维指示动画)
  • 剧情化导览:沿时间线在三维场景中演绎非遗传承故事
  • 空间音频:走近展品触发对应工艺音效与方言讲解
  • 多模态问答:语音/文字提问,三维场景中高亮回答

3.4 互动创作与分享

  • 虚拟工坊:三维场景中体验刺绣/陶艺简化交互创作
  • 生成式文创:基于展品风格生成个性化三维文创预览
  • 漫游轨迹三维回放与精彩瞬间一键分享

四、策展人员端:三维布展与内容运营

功能模块核心能力价值
三维策展布展拖拽布展、动线仿真、灯光配置布展周期缩短
数字资产管理模型/原图/点云统一管理资产可追溯
叙事内容编排时间轴编排、知识库配置内容可复用
活动与运营虚拟特展、数据看板运营可量化

4.1 三维策展与布展

  • 在重建展馆中拖拽布置展品,实时预览灯光与视角效果
  • 展线三维规划与观众动线仿真(人流热力预演)
  • 虚拟展柜 / 展台 / 灯光三维配置
  • 多套布展方案三维并排对比

4.2 文物数字资产管理

  • 重建模型资产管理(NeRF/3DGS 模型、多视角原图、点云)
  • 文物三维档案(年代、工艺、修复史三维关联)
  • 模型质量评估与轻量化处理流水线
  • 虚实修复版本管理与对比查看

4.3 叙事内容编排

  • 导览剧情三维时间轴编排(节点触发动画/语音/特效)
  • AI 讲解知识库配置与多语言生成
  • 互动体验节点(手势交互/工坊任务)三维配置
  • 观众行为三维热力分析与内容优化建议

五、管理员端:平台治理与底座管理

治理维度管理内容关键指标
重建底座采集任务、GPU 调度、场景拼接重建成功率、单场景耗时
权限授权展区/展柜细粒度权限越权访问次数
数据与智能体看板、知识库、模型版本问答准确率、响应时延
系统配置画质分级、灯光预设、告警帧率、告警响应时长

5.1 重建底座管理

  • 多视角图像/视频采集任务管理与进度可视化
  • NeRF/3DGS 重建任务调度与 GPU 资源管理
  • 三维场景拼接、对齐与语义标注
  • 展馆空间锚点与 POI 配置

5.2 权限与空间授权

  • 基于展区/展柜范围的细粒度权限
  • 角色-空间-功能三维授权矩阵
  • 操作审计三维回溯(谁在何时对哪个展品做了什么)

5.3 系统与视觉配置

  • 渲染画质分级(光追/高性能/流畅)配置
  • 主题氛围与灯光预设管理
  • 大屏展示布局可视化编排
  • 告警与通知策略配置

六、AI 智能体层:平台智能内核

知识问答

重建修复

路线规划

用户输入
语音/文字/手势

多模态理解

意图路由

讲解问答智能体

重建与修复智能体

导览叙事智能体

三维场景高亮 + 语音合成

多模态反馈输出

智能体输入输出典型场景
讲解问答自然语言问题三维高亮 + 语音“这件刺绣用了什么针法”
重建与修复模型质量数据补采建议 / 补全模型残缺文物修复预演
导览叙事观众画像与行为个性化剧情路线动态调整讲解深度
多模态交互语音+手势+视线三维标注反馈图文混合指令解析

6.1 讲解问答智能体

  • 自然语言问"这件刺绣用了什么针法"→ 三维高亮 + 语音讲解
  • 多轮指代理解(“刚才那件”“旁边这个”)并在场景中定位
  • 多语言与方言生成式讲解

6.2 重建与修复智能体

  • 自动评估重建质量并给出补采建议
  • 残缺文物生成式三维补全与修复方案预演
  • 风格迁移生成文创草案并在三维中预览

6.3 导览叙事智能体

  • 根据观众画像生成个性化剧情导览路线
  • 动态调整讲解深度与节奏(基于停留与互动行为)
  • 多智能体协同(讲解 + 引导 + 互动任务)

七、核心代码实现

7.1 3DGS 重建任务调度

import asyncio
from dataclasses import dataclass
from typing import List

@dataclass
class ReconstructTask:
    task_id: str
    scene_id: str
    image_count: int
    gpu_memory_gb: int
    priority: int = 0

class ReconstructScheduler:
    """基于 GPU 显存与优先级的重建任务调度器"""

    def __init__(self, gpu_pool: List[int]):
        self.gpu_pool = gpu_pool  # 每张卡可用显存
        self.queue: asyncio.Queue = asyncio.Queue()

    async def submit(self, task: ReconstructTask):
        await self.queue.put(task)

    def _pick_gpu(self, need: int):
        for idx, free in enumerate(self.gpu_pool):
            if free >= need:
                return idx
        return None

    async def run(self):
        while True:
            task = await self.queue.get()
            gpu = self._pick_gpu(task.gpu_memory_gb)
            if gpu is None:
                await self.queue.put(task)
                await asyncio.sleep(1)
                continue
            self.gpu_pool[gpu] -= task.gpu_memory_gb
            try:
                await self._train(task, gpu)
            finally:
                self.gpu_pool[gpu] += task.gpu_memory_gb
                self.queue.task_done()

    async def _train(self, task: ReconstructTask, gpu: int):
        print(f"[GPU{gpu}] 开始重建 {task.scene_id},{task.image_count} 张视角图")
        await asyncio.sleep(0.1)  # 占位:实际调用 3DGS 训练

7.2 讲解智能体的多轮指代解析

from typing import Dict, List

class ReferenceResolver:
    """解析"刚才那件""旁边这个"等指代,映射到场景展品 ID"""

    def __init__(self):
        self.history: List[Dict] = []

    def push(self, exhibit_id: str, name: str):
        self.history.append({"id": exhibit_id, "name": name})

    def resolve(self, query: str, scene_graph: Dict[str, List[str]]) -> str:
        if "刚才" in query or "上一个" in query:
            return self.history[-1]["id"] if self.history else ""
        if "旁边" in query or "附近" in query:
            anchor = self.history[-1]["id"] if self.history else None
            neighbors = scene_graph.get(anchor, [])
            return neighbors[0] if neighbors else ""
        return ""

resolver = ReferenceResolver()
resolver.push("ex_1001", "苏绣双面绣")
scene_graph = {"ex_1001": ["ex_1002", "ex_1003"]}
print(resolver.resolve("旁边这个是什么工艺", scene_graph))  # ex_1002

7.3 渲染画质分级策略

const QUALITY_PRESETS = {
  raytracing: { shadow: 'high', ao: true,  samples: 64, targetFps: 30 },
  high:       { shadow: 'mid',  ao: true,  samples: 16, targetFps: 60 },
  smooth:     { shadow: 'low',  ao: false, samples: 4,  targetFps: 90 },
};

function pickPreset(deviceScore, networkMbps) {
  if (deviceScore > 80 && networkMbps > 50) return 'raytracing';
  if (deviceScore > 50 && networkMbps > 20) return 'high';
  return 'smooth';
}

const preset = pickPreset(85, 60);
console.log('当前画质档位:', preset, QUALITY_PRESETS[preset]);

7.4 空间锚定留言的数据结构

public class SpatialMessage {
    private String id;
    private String exhibitId;
    private double[] position;   // [x, y, z] 空间锚点
    private double[] rotation;   // 朝向四元数
    private String content;
    private long createTime;

    public boolean isVisibleFrom(double[] cameraPos, double maxDistance) {
        double dx = cameraPos[0] - position[0];
        double dy = cameraPos[1] - position[1];
        double dz = cameraPos[2] - position[2];
        return Math.sqrt(dx * dx + dy * dy + dz * dz) <= maxDistance;
    }
}

八、技术支撑与创新亮点

8.1 技术支撑矩阵

技术方向具体方案解决的问题
三维重建NeRF / 3DGS 流水线实拍还原真实文物
实时渲染光追 + PBR + 全局光照电影级材质表现
空间计算SLAM + AR 空间锚定虚实精准叠加
多模态交互多模态大模型语音/手势/视线融合
大场景承载WebGPU / 云渲染串流终端性能解耦
沉浸音频空间音频 + 虚拟形象临场感提升

8.2 五大创新点

创新点传统做法本平台做法
真实文物重建手工建模"假"文物实拍重建,细节真实
虚实融合修复仅展示残件三维补全动画对比
手势拆解结构图文说明隔空拆解皮影关节
AI 讲解跟随固定语音导览智能体跟随对话
生成式文创通用纪念品展品风格一键生成

8.3 视觉亮点

  • 光追级材质:丝线反光、陶釉折射、木纹质感
  • 展柜聚光灯与全局光照电影级氛围
  • 文物微距无损放大与细节呈现
  • 虚拟修复补全动画与虚实对比
  • AR 虚实叠加与空间标注动效
  • 空间音频与剧情化镜头运镜

九、总结

平台以实拍重建解决"真不真",以虚实融合交互解决"近不近",以AI 智能体解决"懂不懂",形成"重建—渲染—交互—智能"的完整闭环。对游客,是从看展到对话;对策展方,是从经验布展到数据驱动;对管理者,是从粗放运维到精细治理。

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

更多推荐