はじめに
R1-Omniは、HumanMLLMチームによってGitHubで立ち上げられたオープンソースプロジェクトです。検証可能な報酬による強化学習(RLVR)技術を、感情認識に焦点を当てたマルチモーダル大規模言語モデルに初めて適用した。このプロジェクトでは、ビデオと音声データを解析し、怒り、喜び、驚きなどのキャラクターの感情を識別する。HumanOmni-0.5Bを基本モデルとして開発され、研究者や開発者向けにコードとモデルのダウンロードを無料で提供しています。R1-OmniはDFEW、MAFWなどのデータセットで優れた性能を発揮し、特に複雑なシーンで感情をより正確に理解します。このプロジェクトは現在も継続的に更新されており、より多くのトレーニングデータと機能を公開する予定です。
機能一覧
- 感情認識映像や音声を解析して、登場人物の感情状態(怒り、喜び、驚きなど)を判断する。
- マルチモーダル処理視覚データと聴覚データを組み合わせて、感情認識の精度を向上させる。
- 学習の最適化RLVR技術によるモデル推論と適応の強化。
- モデルダウンロードHumanOmni-0.5B、EMER-SFT、MAFW-DFEW-SFTおよびR1-Omniモデルが利用可能です。
- オープンソース・サポート: オープンソース・コードと部分的なデータセットにより、ユーザーによる二次開発をサポート。
- パフォーマンスユーザーが簡単に効果を評価できるように、複数のデータセットでのテスト結果を提供します。
ヘルプの使用
インストールと環境設定
R1-Omniを使用するには、ある程度のスキルが必要です。以下に詳しい取り付け手順を示します:
1.システム要件
- オペレーティングシステムLinux、Windows、macOSに対応。
- パイソン版Python 3.8以上を推奨。
- ハードウェア・サポートNVIDIA GPUを推奨(アクセラレーションが必要な場合)。
- 工具の準備コードをダウンロードするにはGitをインストールする必要があります。
2.コードへのアクセス
ターミナルで以下のコマンドを入力し、R1-Omniのコードをダウンロードする:
git clone https://github.com/HumanMLLM/R1-Omni.git
cd R1-Omni
3.構成環境
R1-OmniはR1-Vフレームワークをベースに開発されていますので、環境構築についてはR1-Vリポジトリをご参照ください。手順は以下の通りです:
- 仮想環境を作る:
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
- 依存パッケージのインストール:以下のバージョンが公式に推奨されています:
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
注意: NVIDIAドライバのバージョンが535.54以下でないことを確認してください。依存関係の完全なリストがない場合は、R1-Vリポジトリを参照してください。
4.ダウンロードモデル
R1-Omniは、Hugging FaceまたはModelScopeからダウンロードできるいくつかのモデルバージョンを提供しています。Hugging Faceはその一例です:
- インタビュー ハギング・フェイス R1-オムニ.
- ダウンロード
R1-Omni-0.5B
のようなローカルパスに保存します。/path/to/models/R1-Omni-0.5B
. - 依存モデルのダウンロード
- オーディオモデリング:ウィスパーラージ-V3保存先
/path/to/models/whisper-large-v3
. - ビジュアル・モデリング:siglip-base-patch16-224保存先
/path/to/models/siglip-base-patch16-224
.
5.設定ファイルの修正
ある R1-Omni-0.5B
フォルダ内を探す config.json
それをテキストエディタで開き、以下の2行を修正する:
"mm_audio_tower": "/path/to/models/whisper-large-v3",
"mm_vision_tower": "/path/to/models/siglip-base-patch16-224"
ファイルを保存して閉じる。
機能 操作の流れ
1.感情認識推論
R1オムニ提供 inference.py
一つのビデオの感情を分析するスクリプト。操作の手順は以下の通り:
- ビデオファイルを用意する。
video.mp4
)、画像と音声があることを確認する。 - ターミナルで実行:
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."
- 出力例:
<think>视频中一名男子站在彩色壁画前,穿棕色夹克,眉头紧皱,嘴巴张开,表情显得激动。音频中有“降低声音”和“别慌”的词语,语速快且语气紧张。综合分析,他的情绪是愤怒和不安。</think> <answer>angry</answer>
2.モデル性能のテスト
モデルの性能は、DFEW、MAFW、RAVDESS データセットで公式にテストされている。ユーザーはこれらのデータセットをダウンロードし(DFEW 公式ウェブサイトまたは MAFW 公式ウェブサイトを参照)、上記のコマンドで局所効果を検証することができる。比較データは以下の通り:
- R1-オムニはDFEW(WAR)で65.83%に達し、HumanOmni-0.5Bの22.64%を上回った。
3.カスタマイズされたトレーニング
- コールドスタート・トレーニングExplainable Multimodal Emotion Reasoning (232 samples)とHumanOmni (348 samples)のデータセットに基づいてモデルを初期化します。データフォーマットの例:
[{"video": "MER24/sample_00000967.mp4", "conversations": [{"from": "human", "value": "<video>\n<audio>\n请识别视频中的主要情绪"}, {"from": "gpt", "value": "<think>视频中一名男子在打电话,眉头紧皱,语速快,语气紧张,表现出焦虑。</think>\n<answer>anxious</answer>"}]}]
このデータはまだ完全なオープンソースではないので、アップデートはGitHubで確認してほしい。
- RLVRトレーニングMAFWとDFEWのデータセット(合計15,306本)を使用。データ形式の例:
[{"video": "DFEW/videos/1.mp4", "conversations": [{"from": "human", "value": "<video>\n<audio>\n请识别视频中的主要情绪"}, {"from": "gpt", "value": "sad"}]}]
トレーニングの詳細については、さらなる公式発表が待たれる。
ほら
- ビデオ・リクエストMP4などのフォーマットをサポートし、鮮明な画像と音声を含むこと。
- モデルの選択R1-Omniは最適な性能を持つ最終バージョンで、比較実験用に他のモデルも用意されている。
- テクニカルサポート問題があればGitHubにIssueを提出してください。
以上の手順で、ユーザーはすぐにR1-Omniをインストールして使用し、その感情認識機能を体験することができる。