はじめに
HumanOmniは、HumanMLLMチームによって開発され、GitHubでホストされているオープンソースのマルチモーダルビッグモデルです。人間の映像の分析に重点を置き、画像と音声の両方を処理して、感情、行動、会話内容の理解を助けることができる。このプロジェクトでは、事前学習に240万件の人間中心のビデオクリップと1,400万件のコマンドデータを使用し、微調整に5万件の手でラベル付けされたビデオクリップと10万件以上のコマンドを使用した。humanOmniは、顔、身体、対話のシーンを3つのブランチで処理し、入力に基づいてフュージョン手法を動的に適応させる。業界初の人間中心のマルチモーダルモデルであり、多くの類似モデルを凌駕している。チームはまた、これをベースとしたR1-Omniを発表しており、推論を改善するために強化学習を初めて組み込んだ。コードとデータセットの一部は、研究者や開発者が簡単にアクセスできるように公開されている。
機能一覧
- 感情認識ビデオの表情や声のトーンを分析し、喜怒哀楽を判断する。
- 表情の説明笑顔やしかめっ面など、人の顔の細部を認識し、描写する。
- 行動理解ビデオの中の人々の動きを分析し、彼らが何をしているのかを説明する。
- 音声処理音声認識とイントネーション分析をサポートし、音声からコンテンツを抽出します。
- マルチモーダルフュージョン画像と音声を組み合わせて複雑なシーンを理解し、より正確な分析を行う。
- ダイナミック・ブランチ・アジャストメントフェイス、ボディ、インタラクションの3つのブランチでさまざまなシーンを処理し、自動的にウェイトを調整します。
- オープンソース・サポート:: 二次開発をサポートするために、コード、事前にトレーニングされたモデル、部分的なデータセットを提供する。
ヘルプの使用
HumanOmniは、開発者や研究者のような技術的な基盤を持つユーザーに適しています。以下のインストールと使用手順は、すぐに使い始めるのに十分な詳細です。
設置プロセス
HumanOmniを実行するには、まず環境を準備する必要があります。具体的な手順は以下の通りです:
- ハードウェアとソフトウェアの要件を確認する
- オペレーティングシステム:Linux、WindowsまたはmacOSをサポートしています。
- Python: バージョン3.10以上が必要。
- CUDA:12.1以上を推奨(GPUを使用する場合)。
- PyTorch: CUDAをサポートするバージョン2.2以降が必要。
- ハードウェア: NVIDIA GPUを推奨、CPUでも動作するが遅い。
- ダウンロードコード
ターミナルを開き、プロジェクトをダウンロードするコマンドを入力する:
git clone https://github.com/HumanMLLM/HumanOmni.git
cd HumanOmni
- 仮想環境の構築
コンフリクトを避けるために、Condaで別々の環境を作る:
conda create -n humanOmni python=3.10 -y
condaでhumanOmniをアクティブにする
- 依存関係のインストール
このプロジェクトには要件.txt
ファイルには必要なライブラリーがリストされている。以下のコマンドを実行してインストールしてください:
pip install --upgrade pip
pip install --r requirements.txt
pip install flash-attn --build-isolationなし
- モデルウェイトのダウンロード
HumanOmniには3つのモデルがある:
ヒューマンオムニビデオ
処理ビデオ、7Bパラメータ。ヒューマン・オムニオーディオ
オーディオ処理、7Bパラメータ。人間オムニ・オムニ
映像と音声のフュージョン、7Bパラメータ(HumanOmniと呼ばれる)。
例えば、Hugging FaceやModelScopeからダウンロードしてください:- ヒトオムニ-7B
- HumanOmni-7B-ビデオ
ダウンロードしてプロジェクトフォルダに入れる。
- インストールの確認
testコマンドで環境をチェックする:
python inference.py ---modal video ---model_path ./HumanOmni_7B --video_path test.mp4 --instruct "このビデオを説明してください。"
ビデオの説明が出力されれば、インストールは成功です。
機能 操作の流れ
HumanOmniの核心はビデオとオーディオの分析です。以下は主な機能の詳細です。
1.感情の識別
- 動く
- キャラクターを含むビデオを用意する。
サンプル.mp4
). - コマンドを実行する:
python inference.py --modal video_audio --model_path ./HumanOmni_7B --video_path sample.mp4 --instruct "どの感情が一番わかりやすいですか?"
- モデルは「怒り」や「喜び」といった感情を出力する。
- 銘記する
- 映像は鮮明で、登場人物の表情や声が認識できるものでなければならない。
- 長いビデオは、より多くの計算時間を必要とするかもしれません。
2.表情の描写
- 動く
- ビデオを入力して実行する:
python inference.py ---modal video ---model_path ./HumanOmni_7B --video_path sample.mp4 --instruct "主な表情は?"
- 出力は「笑顔」または「しかめっ面」で、簡単な説明が添えられる。
- 提案
- 10秒から30秒の短い動画でテストするのが効果的だ。
3.運動理解
- 動く
- ビデオを入力して実行する:
python inference.py ---modal video ---model_path ./HumanOmni_7B --video_path sample.mp4 --instruct "主要なアクションを詳しく記述してください。"
- 人が歩いている」というようなアクションの説明を出力する。
- 技術
- アクションが明白であることを確認し、背景が乱雑にならないようにする。
4.音声処理
- 動く
- 音声付きビデオ入力、実行:
python inference.py ---modal audio ---model_path ./HumanOmni_7B --video_path sample.mp4 --instruct "その人は何と言ったか?"
- 犬がドアのそばに座っている」など、音声コンテンツを出力する。
- 銘記する
- 音声はクリアで、ノイズがないのがベスト。
5.マルチモーダル融合
- 動く
- ビデオとオーディオを入力し、実行する:
python inference.py --modal video_audio ---model_path ./HumanOmni_7B --video_path sample.mp4 --instruct "このビデオを説明してください。"
- モデルには、写真と音声に連動した詳細な説明がある。
- ゆうせい
- より包括的な分析のために、感情と行動の相関関係を捉える能力。
6.カスタムデータセットでのトレーニング
- 動く
- ビデオパスとコマンドダイアログを含むJSON形式のデータファイルを用意する。例えば
[
{
"video": "path/to/video.mp4"、
"会話": [
{ "from": "gpt", "value": "sad" }.
]
}
]
- ダウンロード
HumanOmni-7B-ビデオ
歌で応えるヒューマンオムニ-7B-オーディオ
体重だ。 - トレーニングスクリプトを実行します:
bash scripts/train/finetune_humanomni.sh
- 使用
- 自分のビデオデータを使ってモデルを最適化することも可能だ。
よくある質問
- ランタイムエラーPythonとPyTorchのバージョンが一致しているか確認してください。
- モデル負荷の失敗パスが正しいこと、十分なディスク容量があることを確認してください(モデルで約10GB)。
- 結果は正確ではない。クリアな映像に切り替えたり、指示の出し方を調整します。
これらのステップにより、ユーザーは簡単にHumanOmniをインストールして使用し、その強力な機能を体験することができます。
アプリケーションシナリオ
- 教育研究
教室のビデオを分析し、生徒の雰囲気や関心を把握し、教師が指導スタイルを調整するのに役立てる。 - 診療補助
患者の表情や声のトーンは、医師が不安や抑うつなどの心理状態を判断するのに役立つ。 - 映画・テレビ制作
登場人物の感情や行動を分析し、サブタイトルや筋書きを作成することで、創作効率を高める。 - ソーシャル分析
参加者の感情や行動を理解し、コミュニケーションを最適化するための会議ビデオに使用。
品質保証
- どのようなファイル形式に対応していますか?
MP4形式をサポートし、オーディオはビデオに埋め込む必要があります。 - ネットワークは必要か?
必須ではありません。オフラインで使用するためにコードとモデルをダウンロードしてください。 - モデルの性能は?
感情理解に関しては、HumanOmniのDFEWデータUARは74.86%で、GPT4-Oの50.57%を大きく上回った。行動理解の平均スコアは72.6で、Qwen2-VL-7Bの67.7を上回った。 - 一般人が使えるのか?
基本的なプログラミング・スキルが必要です。コードの書き方がわからない場合は、技術者に助けを求めることをお勧めします。