Allgemeine Einführung
R1-Omni ist ein Open-Source-Projekt, das vom HumanMLLM-Team auf GitHub gestartet wurde. Es wendet erstmals Reinforcement Learning with Verifiable Rewards (RLVR)-Techniken auf ein multimodales großes Sprachmodell an und konzentriert sich dabei auf die Emotionserkennung. Das Projekt analysiert Video- und Audiodaten, um die Emotionen von Personen wie Wut, Freude oder Überraschung zu erkennen. Es wird mit HumanOmni-0.5B als Basismodell entwickelt und stellt Forschern und Entwicklern kostenlosen Code und Modell-Downloads zur Verfügung. R1-Omni zeigt gute Leistungen bei Datensätzen wie DFEW, MAFW usw. und versteht Emotionen besonders in komplexen Szenen genauer. Das Projekt wird weiterhin kontinuierlich aktualisiert und plant, weitere Trainingsdaten und Funktionen zur Verfügung zu stellen.
Funktionsliste
- EmotionserkennungAnalyse von Video- und Audiodaten, um den emotionalen Zustand einer Figur zu bestimmen, z. B. Wut, Freude, Überraschung usw.
- multimodale VerarbeitungKombination von visuellen und auditiven Daten zur Verbesserung der Genauigkeit der Emotionserkennung.
- Verbesserte LernoptimierungVerbesserung der Modellinferenz und -anpassung durch RLVR-Techniken.
- Modell DownloadDie Modelle HumanOmni-0.5B, EMER-SFT, MAFW-DFEW-SFT und R1-Omni sind verfügbar.
- Open-Source-UnterstützungOffener Quellcode und Teildatensätze zur Unterstützung der Sekundärentwicklung durch die Nutzer.
- LeistungBereitstellung von Testergebnissen für mehrere Datensätze, um dem Benutzer die Bewertung der Wirksamkeit zu erleichtern.
Hilfe verwenden
Installation und Einrichtung der Umgebung
Die Verwendung des R1-Omni erfordert ein gewisses Maß an Geschicklichkeit. Im Folgenden werden die Installationsschritte detailliert beschrieben:
1. die Systemanforderungen
- BetriebssystemUnterstützung für Linux, Windows oder macOS.
- Python-VersionPython 3.8 oder höher wird empfohlen.
- Hardware-UnterstützungNVIDIA-Grafikprozessoren werden empfohlen (wenn Beschleunigung erforderlich ist), CPUs können ebenfalls verwendet werden.
- Vorbereitung der WerkzeugeSie müssen Git installieren, um den Code herunterzuladen.
2. der Zugang zum Code
Geben Sie den folgenden Befehl in das Terminal ein, um den Code für R1-Omni herunterzuladen:
git clone https://github.com/HumanMLLM/R1-Omni.git
cd R1-Omni
3. die Konfigurationsumgebung
R1-Omni wurde auf der Grundlage des R1-V-Frameworks entwickelt. Die Einrichtung der Umgebung finden Sie im R1-V-Repository. Die Schritte sind wie folgt:
- Erstellen Sie eine virtuelle Umgebung:
python -m venv venv
Quelle venv/bin/aktivieren # Linux/macOS
venv\Skripte\aktivieren # Windows
- Installation der Abhängigkeitspakete: Die folgende Version wird offiziell empfohlen, geben Sie den Befehl zur Installation ein:
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
Hinweis: Stellen Sie sicher, dass die Version des NVIDIA-Treibers nicht niedriger als 535.54 ist. Wenn die vollständige Liste der Abhängigkeiten fehlt, sehen Sie im R1-V-Repository nach.
4. das Modell herunterladen
R1-Omni bietet mehrere Modellversionen an, die von Hugging Face oder ModelScope heruntergeladen werden können. Hugging Face wird als Beispiel verwendet:
- Interviews Gesicht umarmen R1-Omni.
- Herunterladen von
R1-Omni-0.5B
Modell, speichern Sie es in einem lokalen Pfad wie/pfad/zu/modelle/R1-Omni-0.5B
. - Download Abhängigkeitsmodelle:
- Audio-Modellierung:flüstern-groß-v3Speichern bei
/pfad/zu/modelle/whisper-large-v3
. - Visuelle Modellierung:siglip-base-patch16-224Speichern bei
/pfad/zu/models/siglip-base-patch16-224
.
5. die Änderung von Konfigurationsdateien
existieren R1-Omni-0.5B
Suchen Sie im Ordner config.json
öffnen Sie sie mit einem Texteditor und ändern Sie die folgenden beiden Zeilen:
"mm_audio_tower":"/pfad/zu/models/whisper-large-v3", "mm_vision_tower":"/pfad/zu/models/siglip-base-patch16-224
"mm_vision_tower":"/pfad/zu/models/siglip-base-patch16-224"
Speichern und schließen Sie die Datei.
Funktion Betriebsablauf
1. die Erkennung von Emotionen
Zur Verfügung gestellt von R1-Omni inferenz.py
Skript zur Analyse der Stimmung in einem einzelnen Video. Die Schritte des Vorgangs sind wie folgt:
- Bereiten Sie die Videodatei vor (z. B.
video.mp4
), stellen Sie sicher, dass Bild und Ton vorhanden sind. - Läuft im Terminal:
python inference.py --modal video_audio \ ---model_path /path/to/models/R1-Omni-0.5B \ --video_path video.mp4 \ --instruct "Als Experte für die Erkennung von Emotionen; welche Emotion, die von den Charakteren im Video vermittelt wird, ist für Sie am offensichtlichsten? Geben Sie die Gib den Denkprozess in den Tags und die endgültige Emotion in den Tags aus."
- Beispielhafte Ausgabe:
Das Video zeigt einen Mann in einer braunen Jacke, der mit gerunzelter Stirn und offenem Mund vor einem bunten Wandgemälde steht und aufgeregt wirkt. Die Tonspur enthält die Worte "senken Sie Ihre Stimme" und "keine Panik", und ist schnell und angespannt. Die kombinierte Analyse legt nahe, dass seine Emotionen Wut und Erregung sind. </think Wut
2. die Prüfung der Modellleistung
Die Leistung des Modells wurde offiziell mit den Datensätzen DFEW, MAFW und RAVDESS getestet. Die Nutzer können diese Datensätze herunterladen (siehe die offizielle DFEW-Website oder die offizielle MAFW-Website) und dann die lokalen Effekte mit den oben genannten Befehlen überprüfen. Die Vergleichsdaten sind wie folgt:
- R1-Omni erreicht 65,831 TP3T auf DFEW (WAR), was besser ist als die 22,641 TP3T von HumanOmni-0.5B.
3. maßgeschneiderte Ausbildung
- Kaltstart-TrainingInitialisierung des Modells auf der Grundlage der Datensätze Explainable Multimodal Emotion Reasoning (232 Proben) und HumanOmni (348 Proben). Beispiel Datenformat:
[{"video": "MER24/sample_00000967.mp4", "conversations": [{"from": "human", "value":"
Die Daten sind noch nicht vollständig quelloffen, daher sollten Sie GitHub für Updates im Auge behalten.
- RLVR-AusbildungVerwendung der MAFW- und DFEW-Datensätze (insgesamt 15.306 Videos). Beispiele für Datenformate:
[{"video": "DFEW/videos/1.mp4", "conversations": [{"from": "human", "value":"
Die Einzelheiten der Ausbildung sind noch nicht offiziell geklärt.
caveat
- Video AnfrageUnterstützt Formate wie MP4 und muss klare Bilder und Töne enthalten.
- ModellauswahlR1-Omni ist die endgültige Version mit optimaler Leistung; andere Modelle sind für Vergleichsexperimente verfügbar.
- Technische Unterstützung: Reichen Sie einen Issue auf GitHub ein, wenn Sie ein Problem haben, und das Team wird die Dokumentation weiter verbessern.
Mit den oben genannten Schritten können Benutzer R1-Omni schnell installieren und verwenden, um die Emotionserkennungsfunktion zu erleben.