R1-Omni: un modelo de código abierto para analizar emociones a través de vídeo y audio

Introducción general

R1-Omni es un proyecto de código abierto lanzado en GitHub por el equipo HumanMLLM. Aplica por primera vez técnicas de Aprendizaje por Refuerzo con Recompensas Verificables (RLVR) a un gran modelo de lenguaje multimodal, centrándose en el reconocimiento de emociones. El proyecto analiza datos de vídeo y audio para identificar las emociones de personajes como la ira, la felicidad o la sorpresa. Está desarrollado con HumanOmni-0.5B como modelo base y ofrece descargas gratuitas de código y modelos para investigadores y desarrolladores.R1-Omni obtiene buenos resultados en conjuntos de datos como DFEW, MAFW, etc., y comprende las emociones con mayor precisión, especialmente en escenas complejas. El proyecto sigue actualizándose continuamente y tiene previsto abrir más datos de entrenamiento y funciones.

R1-Omni:通过视频和音频分析情感的开源模型

 

Lista de funciones

  • reconocimiento de emociones: Análisis de vídeo y audio para determinar el estado emocional de un personaje, por ejemplo, enfado, felicidad, sorpresa, etc.
  • procesamiento multimodalCombinación de datos visuales y auditivos para mejorar la precisión del reconocimiento de emociones.
  • Optimización del aprendizajeMejora de la inferencia y adaptación de modelos mediante técnicas de RLVR.
  • Descarga de modelosModelos disponibles: HumanOmni-0.5B, EMER-SFT, MAFW-DFEW-SFT y R1-Omni.
  • Soporte de código abiertoCódigo fuente abierto y conjuntos de datos parciales para apoyar el desarrollo secundario por parte de los usuarios.
  • Rendimiento: Proporcione resultados de pruebas en múltiples conjuntos de datos para facilitar la evaluación de la eficacia por parte del usuario.

 

Utilizar la ayuda

Instalación y configuración del entorno

El uso del R1-Omni requiere un cierto nivel de destreza. A continuación se detallan los pasos de instalación:

1. Requisitos del sistema

  • sistema operativoSoporte para Linux, Windows o macOS.
  • Versión PythonSe recomienda Python 3.8 o superior.
  • Soporte de hardware: Se recomiendan las GPU NVIDIA (si se requiere aceleración), aunque también pueden funcionar CPU.
  • Preparación de herramientasNecesita instalar Git para descargar el código.

2. Acceso al código

Introduzca el siguiente comando en el terminal para descargar el código de R1-Omni:

git clone https://github.com/HumanMLLM/R1-Omni.git
cd R1-Omni

3. Entorno de configuración

R1-Omni está desarrollado en base al framework R1-V, por favor consulte el repositorio R1-V para la configuración del entorno. Los pasos son los siguientes:

  • Crear un entorno virtual:
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows
  • Instalación de paquetes de dependencia: Se recomienda oficialmente la siguiente versión, introduzca el comando para instalar:
pip install torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 -f https://download.pytorch.org/whl/torch_stable.html
pip install transformers==4.49.0 flash-attn==2.7.4

Nota: Asegúrate de que la versión del controlador NVIDIA no sea inferior a 535.54. Si falta la lista completa de dependencias, consulta el repositorio R1-V.

4. Descargar modelo

R1-Omni ofrece varias versiones de modelos que pueden descargarse de Hugging Face o ModelScope. Hugging Face se utiliza como ejemplo:

  • entrevistas Cara de abrazo R1-Omni.
  • descargando R1-Omni-0.5B guárdelo en una ruta local como /path/to/models/R1-Omni-0.5B.
  • Descargar Modelos de dependencia:
  • Modelado de audio:whisper-large-v3Guardar en /path/to/models/whisper-large-v3.
  • Modelización visual:siglip-base-patch16-224Guardar en /path/to/models/siglip-base-patch16-224.

5. Modificación de los archivos de configuración

existe R1-Omni-0.5B Buscar en la carpeta config.jsonábralo con un editor de texto y modifique las dos líneas siguientes:

"mm_audio_tower": "/path/to/models/whisper-large-v3",
"mm_vision_tower": "/path/to/models/siglip-base-patch16-224"

Guarde y cierre el archivo.

Función Flujo de operaciones

1. Razonamiento basado en el reconocimiento de emociones

Proporcionado por R1-Omni inference.py Script para analizar el sentimiento de un único vídeo. Los pasos de la operación son los siguientes:

  • Prepare el archivo de vídeo (por ejemplo video.mp4), asegúrate de que hay imagen y sonido.
  • Se ejecuta en el terminal:
    python inference.py --modal video_audio \
    --model_path /path/to/models/R1-Omni-0.5B \
    --video_path video.mp4 \
    --instruct "As an emotional recognition expert; throughout the video, which emotion conveyed by the characters is the most obvious to you? Output the thinking process in <think> </think> and final emotion in <answer> </answer> tags."
    
  • Ejemplo de salida:
    <think>视频中一名男子站在彩色壁画前,穿棕色夹克,眉头紧皱,嘴巴张开,表情显得激动。音频中有“降低声音”和“别慌”的词语,语速快且语气紧张。综合分析,他的情绪是愤怒和不安。</think>
    <answer>angry</answer>
    

2. Comprobación del rendimiento del modelo

El rendimiento del modelo se ha probado oficialmente con los conjuntos de datos DFEW, MAFW y RAVDESS. Los usuarios pueden descargar estos conjuntos de datos (véase el sitio web oficial de DFEW o el sitio web oficial de MAFW) y, a continuación, comprobar los efectos locales con los comandos anteriores. Los datos de comparación son los siguientes:

  • R1-Omni alcanza 65,831 TP3T en DFEW (WAR), que es mejor que los 22,641 TP3T de HumanOmni-0.5B.

3. Formación a medida

  • Entrenamiento de arranque en fríoInicialización del modelo basado en los conjuntos de datos Explainable Multimodal Emotion Reasoning (232 muestras) y HumanOmni (348 muestras). Ejemplo de formato de datos:
    [{"video": "MER24/sample_00000967.mp4", "conversations": [{"from": "human", "value": "<video>\n<audio>\n请识别视频中的主要情绪"}, {"from": "gpt", "value": "<think>视频中一名男子在打电话,眉头紧皱,语速快,语气紧张,表现出焦虑。</think>\n<answer>anxious</answer>"}]}]
    

    Los datos aún no son totalmente de código abierto, así que mantente atento a GitHub para estar al día.

  • Formación RLVRUso de los conjuntos de datos MAFW y DFEW (15.306 vídeos en total). Ejemplos de formatos de datos:
    [{"video": "DFEW/videos/1.mp4", "conversations": [{"from": "human", "value": "<video>\n<audio>\n请识别视频中的主要情绪"}, {"from": "gpt", "value": "sad"}]}]
    

    Los detalles de la formación están pendientes de aclaración oficial.

advertencia

  • Solicitud de vídeo: Admite formatos como MP4, y debe contener imagen y audio nítidos.
  • Selección de modelosEl modelo R1-Omni es la versión final con un rendimiento óptimo; otros modelos están disponibles para experimentos de comparación.
  • Asistencia técnicaEnvía una incidencia a GitHub si tienes algún problema y el equipo seguirá mejorando la documentación.

Con los pasos anteriores, los usuarios pueden instalar y utilizar rápidamente R1-Omni para experimentar su función de reconocimiento de emociones.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...