Introdução geral
O HumanOmni é um grande modelo multimodal de código aberto desenvolvido pela equipe HumanMLLM e hospedado no GitHub. Ele se concentra na análise de vídeos humanos e pode processar imagens e sons para ajudar a entender emoções, ações e conteúdo de conversas. O projeto utilizou 2,4 milhões de videoclipes centrados no ser humano e 14 milhões de dados de comando para pré-treinamento, e 50.000 videoclipes rotulados manualmente com mais de 100.000 comandos para ajuste fino. O HumanOmni lida com cenários faciais, corporais e interacionais em três ramificações e adapta dinamicamente os métodos de fusão com base nas entradas. É o primeiro modelo multimodal centrado no ser humano do setor e supera o desempenho de muitos modelos semelhantes. A equipe também lançou o R1-Omni, baseado nele, que pela primeira vez incorpora o aprendizado por reforço para aprimorar a inferência. O código e alguns dos conjuntos de dados estão abertos para facilitar o acesso de pesquisadores e desenvolvedores.
Lista de funções
- reconhecimento de emoçõesAnálise de expressões faciais e tons de voz em vídeos para determinar as emoções dos personagens, como felicidade, raiva ou tristeza.
- Descrição das expressões faciaisReconhecer e descrever detalhes faciais de uma pessoa, como um sorriso ou uma careta.
- Compreensão da açãoAnálise dos movimentos das pessoas em um vídeo e descrição do que elas estão fazendo, como caminhar ou acenar.
- processamento de falaExtração de conteúdo de áudio com suporte para reconhecimento de fala e análise de entonação.
- fusão multimodalCombinação de imagem e som para entender cenas complexas e fornecer análises mais precisas.
- Ajuste dinâmico de ramificaçãoCenas diferentes com três ramificações: rosto, corpo e interação, ajustando automaticamente os pesos.
- Suporte a código abertoDescrição: fornecer código, modelos pré-treinados e conjuntos de dados parciais para dar suporte ao desenvolvimento secundário.
Usando a Ajuda
O HumanOmni é adequado para usuários com base técnica, como desenvolvedores ou pesquisadores. As etapas de instalação e uso a seguir são suficientemente detalhadas para que você possa começar imediatamente.
Processo de instalação
Para executar o HumanOmni, primeiro você precisa preparar seu ambiente. Veja a seguir as etapas específicas:
- Verifique os requisitos de hardware e software
- Sistema operacional: compatível com Linux, Windows ou macOS.
- Python: requer a versão 3.10 ou superior.
- CUDA: 12.1 ou superior recomendado (se estiver usando uma GPU).
- PyTorch: requer a versão 2.2 ou superior com suporte a CUDA.
- Hardware: recomenda-se o uso de GPUs NVIDIA; as CPUs funcionam, mas são lentas.
- Código de download
Abra um terminal e digite o comando para fazer o download do projeto:
git clone https://github.com/HumanMLLM/HumanOmni.git
cd HumanOmni
- Criação de um ambiente virtual
Crie ambientes separados com o Conda para evitar conflitos:
conda create -n humanOmni python=3.10 -y
conda activate humanOmni
- Instalação de dependências
O projeto tem umrequisitos.txt
que lista as bibliotecas necessárias. Execute o seguinte comando para instalá-las:
pip install --upgrade pip
pip install --r requirements.txt
pip install flash-attn --no-build-isolation
- Download dos pesos do modelo
O HumanOmni tem três modelos:
HumanOmni-Video
Processamento de vídeo, 7B Parâmetros.HumanOmni-Audio
Processamento de áudio, 7B Parâmetros.HumanoOmni-Omni
Fusão de vídeo e áudio, parâmetros 7B (denominados HumanOmni).
Faça download do Hugging Face ou do ModelScope, por exemplo:- HumanoOmni-7B
- HumanOmni-7B-Vídeo
Faça o download e coloque-o na pasta do projeto.
- Verificar a instalação
Verifique o ambiente com o comando test:
python inference.py ---modal video ---model_path . /HumanOmni_7B --video_path test.mp4 --instruct "Descreva este vídeo."
Se a descrição do vídeo for exibida, a instalação foi bem-sucedida.
Função Fluxo de operação
No centro do HumanOmni está a análise de vídeo e áudio. Veja abaixo uma análise detalhada de como funcionam os principais recursos.
1. identificação emocional
- mover
- Prepare um vídeo com um personagem (por exemplo
amostra.mp4
). - Executar comando:
python inference.py --modal video_audio --model_path . /HumanOmni_7B --video_path sample.mp4 --instruct "Qual emoção é mais óbvia?"
- O modelo gera emoções como "irritado" ou "feliz".
- tomar nota de
- O vídeo deve ser claro e as expressões e vozes dos personagens precisam ser reconhecíveis.
- Vídeos mais longos podem exigir mais tempo de computação.
2. descrição das expressões faciais
- mover
- Digite o vídeo e execute:
python inference.py ---modal video ---model_path . /HumanOmni_7B --video_path sample.mp4 --instruct "Qual é a principal expressão facial?"
- O resultado pode ser "sorriso" ou "carranca" com uma breve descrição.
- sugestão
- Testar com um vídeo curto de 10 a 30 segundos funciona melhor.
3. compreensão do movimento
- mover
- Digite o vídeo e execute:
python inference.py ---modal video ---model_path . /HumanOmni_7B --video_path sample.mp4 --instruct "Descreva a ação principal em detalhes."
- Emite uma descrição da ação, como "uma pessoa está andando".
- delicadeza
- Certifique-se de que a ação seja óbvia e evite a desordem do plano de fundo.
4 Processamento de fala
- mover
- Entrada de vídeo com áudio, execução:
python inference.py ---modal audio ---model_path . /HumanOmni_7B --video_path sample.mp4 --instruct "O que a pessoa disse?"
- Saída de conteúdo de voz, por exemplo, "Os cães estão sentados perto da porta".
- tomar nota de
- O áudio deve ser nítido e funcionar melhor sem ruídos.
5. fusão multimodal
- mover
- Entrada de vídeo e áudio, execução:
python inference.py --modal video_audio ---model_path . /HumanOmni_7B --video_path sample.mp4 --instruct "Descreva este vídeo."
- O modelo fornecerá uma descrição completa em conjunto com a imagem e o som.
- de ponta
- Capacidade de capturar a correlação entre emoções e ações para uma análise mais abrangente.
6. treinamento em conjuntos de dados personalizados
- mover
- Prepare um arquivo de dados no formato JSON contendo o caminho do vídeo e o diálogo de comando. Por exemplo:
[
{
"video": "path/to/video.mp4",
"conversations": [
{"from": "gpt", "value": "sad"}
]
}
]
- download
HumanOmni-7B-Vídeo
responder cantandoHumanOmni-7B-Áudio
Pesos. - Execute o script de treinamento:
bash scripts/train/finetune_humanomni.sh
- uso
- É possível otimizar o modelo com seus próprios dados de vídeo.
Perguntas frequentes
- Erro de tempo de execuçãoVerifique se as versões do Python e do PyTorch correspondem.
- Falha no carregamento do modeloConfirme se o caminho está correto e se há espaço suficiente em disco (cerca de 10 GB para o modelo).
- Os resultados não são precisos.Mudar para vídeo nítido ou ajustar a apresentação das instruções.
Com essas etapas, os usuários podem instalar e usar facilmente o HumanOmni e experimentar seus recursos avançados.
cenário do aplicativo
- Pesquisa educacional
Analisar vídeos de sala de aula para identificar o humor e o envolvimento dos alunos e ajudar os professores a ajustar seu estilo de ensino. - assistência médica
A expressão e o tom de voz do paciente ajudam o médico a determinar estados psicológicos, como ansiedade ou depressão. - produção de filmes e televisão
Analisar as emoções e ações dos personagens para gerar legendas ou descrições de enredo para aumentar a eficiência criativa. - análise social
Usado em vídeos de conferências para entender as emoções e o comportamento dos participantes e otimizar a comunicação.
QA
- Quais formatos de arquivo são suportados?
Suporta o formato MP4, o áudio precisa ser incorporado ao vídeo. - Preciso fazer networking?
Não é necessário. Faça o download do código e do modelo para uso off-line. - Qual é o desempenho do modelo?
Em termos de compreensão emocional, o UAR de dados DFEW do HumanOmni totalizou 74,861 TP3T, superando em muito os 50,571 TP3T do GPT4-O. A pontuação média para a compreensão de ações foi de 72,6, superior aos 67,7 do Qwen2-VL-7B. - As pessoas comuns podem usá-lo?
São necessárias habilidades básicas de programação. Se você não souber como programar, é recomendável pedir ajuda a um técnico.