MER-Factory:您的多模态情感数据集开源工厂

社区文章 发布于2025年7月21日

为多模态情感识别(MER)创建高质量数据集是情感计算领域的一个重要瓶颈。这通常是一个手动、耗时且昂贵的过程。如果能将其自动化呢?

今天,我们很高兴地推出 MER-Factory,这是一个新的开源 Python 框架,旨在成为您构建多模态情感识别和推理(MERR)数据集的自动化工厂。它系统地分析视频或图像文件,提取多模态特征,并利用大型语言模型(包括 Hugging Face Hub 上的模型)的力量生成详细的情感分析和推理。

该工具旨在通过提供一个开放、可扩展且具有科学依据的数据集创建框架,赋能情感计算社区。

MER-Factory Logo

MER-Factory 能做什么?

MER-Factory 的核心在于将从原始媒体到结构化、LLM 标注数据集的整个流程自动化。它接收视频,识别关键情感时刻,然后从各个角度分析场景。

  • 🗣️ 音频分析: 转录语音并分析声调。
  • 😐 面部分析: 使用 OpenFace 根据科学面部动作编码系统(FACS)提取面部动作单元(AUs)。
  • 🎬 视觉分析: 描述场景或图像的视觉上下文。

最后,它将所有这些信息综合成一个连贯、有理有据的摘要,解释为什么会表达某种特定情绪。

MER-Factory System Overview

该框架基于一套强大的技术构建,包括用于管理复杂、有状态工作流的 LangGraph、用于媒体处理的 FFmpeg,以及一个用于 AI 模型集成的可插拔架构。


Hugging Face 集成与模型灵活性 🤗

MER-Factory 的一个关键设计原则是模型的灵活性。您无需受限于单一的专有 API。该框架采用可插拔架构,无缝支持:

  • Hugging Face Hub 模型: 使用最新的开源模型(如 google/gemma-3n-E4B-it)进行推理。这非常适合自定义实现和利用前沿研究。
  • Ollama(本地模型): 在本地运行流行的模型(如 Llama 3.2LLaVA),以实现隐私保护、节省成本,并在许多任务上表现出色。
  • 基于 API 的模型: 与 Google Gemini 和 OpenAI (GPT-4o 等) 集成,以应对需要最先进推理能力的任务。

这使您可以根据优先级(开源原则、隐私、成本或最先进的性能)选择最适合的工具。


3步快速入门

让我们使用 Hugging Face 模型,快速启动并运行 MER-Factory。

1. 安装

首先,确保您已安装先决条件 FFmpegOpenFace。然后,克隆存储库并设置您的环境。

# Clone the repository
git clone https://github.com/Lum1104/MER-Factory.git
cd MER-Factory

# Create a Python 3.12+ environment and install dependencies
conda create -n mer-factory python=3.12
conda activate mer-factory
pip install -r requirements.txt

2. 配置

复制示例环境文件,并添加 OpenFace FeatureExtraction 可执行文件的绝对路径。这对人脸分析至关重要。

# Copy the example environment file
cp .env.example .env

现在,编辑您的新 .env 文件

# Required for AU and MER pipelines
OPENFACE_EXECUTABLE=/absolute/path/to/OpenFace/build/bin/FeatureExtraction

# Optional: Add API keys if you plan to use them
# GOOGLE_API_KEY=your_google_api_key_here
# OPENAI_API_KEY=your_openai_api_key_here

3. 运行您的第一个管道

您已准备就绪!让我们使用 Hugging Face 模型分析一段视频。MER-Factory 将下载模型并在本地运行。

# Analyze a video with a Hugging Face model
python main.py path/to/your/video.mp4 output/ --type MER --huggingface-model google/gemma-3n-E4B-it

想通过 Ollama 使用本地模型吗?同样简单。

# First, pull the models you want to use
ollama pull llava-llama3:latest
ollama pull llama3.2

# Run the pipeline with Ollama
python main.py path/to/your/video.mp4 output/ --type MER \
  --ollama-vision-model llava-llama3:latest \
  --ollama-text-model llama3.2

运行后,您会在 output/ 目录中找到一个详细的 _merr_data.json 文件,其中包含完整的多模态分析。


“最佳实践”缓存工作流 💰

最强大的功能之一是缓存系统。它保存每个处理步骤的输出,允许您使用每种模态的最佳模型构建数据集。

例如,您可以

  1. 使用强大的 API 模型(如 GPT-4o)运行视频分析,该模型擅长时序推理。
  2. 使用本地 Ollama 或 Hugging Face 模型运行 AU 和音频分析,以节省成本。
  3. 通过使用 --cache 标志重新运行 MER 管道来运行最终综合。MER-Factory 将检测现有结果,并仅运行最终综合步骤,将您高质量的预计算分析合并到一个摘要中。

这种工作流提供了最大的灵活性和成本效益,使您能够创建“最佳实践”数据集,而无需受限于单一提供商。


这为什么对社区很重要

MER-Factory 不仅仅是一个工具;它更是对情感计算领域开放和可复现科学的贡献。

  • 实现数据集创建的民主化: 降低了研究人员和小型团队创建大规模、高质量 MERR 数据集的门槛。
  • 实现可复现性: 提供了一个开放源代码、可配置的管道,用于标准化数据集构建。
  • MLLM 的试验平台: 提供了一个实用的框架,用于评估不同 MLLM(开源和专有)在细致情感推理任务上的表现。

我们相信,通过提供强大、开放的工具,我们可以共同加速对人类情感的理解和建模的进展。

加入我们!

我们邀请您在自己的研究或项目中尝试 MER-Factory。探索代码、生成数据集并加入讨论!

让我们共同构建情感计算的未来!

社区

注册登录 以评论