Skip to content

CaptureFramework 与 ModelDriverFramework ​

专利题目为「基于面动捕 CM 框架的多模态人脸表情识别技术」:把「怎么捕」和「怎么驱动」拆成两个独立框架,中间用标准数据结构衔接,两边的实现各自可插拔。

技术问题 ​

面捕产品的链路天然分两段:前半段是面捕引擎(摄像头输入、特征点解算、输出表情数据),后半段是模型驱动(消费表情数据、驱动具体格式的 3D 模型)。

问题在于这两段的实现都在变:引擎有 Mediapipe、商汤、ARKit 等,模型有 VRM、ARKit 系、自研格式等。如果链路写死成「某引擎直连某模型」,每换一种引擎或一种模型格式,整条链路都要改。

现有方案不足 ​

  • 端到端耦合:市面上的人脸表情识别产品大多把识别和驱动绑在一个实现里,缺少「多引擎识别 + 多模型驱动」相结合的轻量级框架。
  • 适配成本随组合数增长:N 个引擎乘 M 种模型,耦合实现要维护 N×M 条链路。
  • 扩展即改动:接入新引擎要动驱动代码,接入新模型要动引擎代码,回归风险大。

核心思路 ​

双框架解耦:CaptureFramework 统一面捕引擎的接入,对外只输出标准表情数据;ModelDriverFramework 统一模型驱动的接入,对内只消费标准表情数据。中间的标准数据结构(CompatibleFaceData)是两个框架之间唯一的契约。

mermaid
flowchart LR
    subgraph CF["CaptureFramework"]
        A1["Mediapipe<br>引擎适配器"]
        A2["商汤<br>引擎适配器"]
        A3["ARKit<br>引擎适配器"]
    end
    CF --> S["标准表情数据<br>CompatibleFaceData"]
    subgraph MF["ModelDriverFramework"]
        B1["VRM 模型<br>驱动器"]
        B2["ARKit 系模型<br>驱动器"]
        B3["自研格式<br>驱动器"]
    end
    S --> MF

关键实现 ​

引擎侧适配 ​

每个面捕引擎对应一个适配器,负责把引擎私有的输出(特征点、通道权重等)归纳成标准表情数据。新接入引擎时只新增适配器,驱动侧零改动。基于 Mediapipe 的面部捕捉算法就是其中一个适配器的归纳算法实现。

模型侧适配 ​

每种模型格式对应一个驱动器,按模型自身的 BlendShape 协议从标准数据中取数。模型坐标系不规范等个体差异也在驱动框架内消化(见头部坐标轴自动矫正),不污染引擎侧。

组合成本 ​

解耦后适配成本从 N×M 降为 N+M:引擎和模型各自只面向标准数据实现一次,任意组合即插即用。

应用场景 ​

  • 虚拟直播平台:同一套产品同时支持多个面捕引擎和多类模型资产。
  • 多模态表情识别:视频人脸检测、特征提取与表情识别的统一接入。
  • 快速试点:新引擎或新模型格式以适配器形式低成本接入验证。

关联案例 ​

罗子初 · AI 座舱专家 · 8年端侧研发

Lv.1