VideoMind : projet open source de positionnement des vidéos en fonction de l'heure, du contenu et des questions-réponses

Introduction générale

VideoMind est un outil d'IA multimodale open source qui se concentre sur l'inférence, les questions-réponses et la génération de résumés pour les vidéos de longue durée. Il a été développé par Ye Liu de l'université polytechnique de Hong Kong et une équipe du Show Lab de l'université nationale de Singapour. L'outil imite la manière dont les humains comprennent les vidéos en décomposant la tâche en étapes telles que la planification, le positionnement, la vérification et la réponse afin de résoudre le problème étape par étape. VideoMind publie officiellement le code, le modèle et l'ensemble de données le 21 mars 2024, et le rapport technique est mis à jour le 17 mars 2025. VideoMind est disponible sur GitHub ou via GitHub. Les utilisateurs peuvent accéder aux ressources via GitHub ou Hugging Face.

Le projet n'extrait pas l'audio vers le texte pour comprendre le contenu, mais purement graphique et selon l'horodatage pour comprendre avec précision le contenu de la vidéo, peut être utilisé pour la mise au point automatique de la vidéo, des scénarios d'enseignement, très pratique !

VideoMind:视频按时间戳定位内容与问答的开源项目

Expérience : https://huggingface.co/spaces/yeliudev/VideoMind-2B

 

Liste des fonctions

  • Ciblage temporel des vidéos longues : trouver la période de temps dans la vidéo qui est pertinente pour la question.
  • Fonction Q&R vidéo : extraire des réponses précises des vidéos en fonction des questions de l'utilisateur.
  • Génération d'un résumé vidéo : distiller le contenu vidéo clé pour générer une vue d'ensemble concise.
  • Cadre d'agents multimodaux : comprend des planificateurs, des localisateurs, des validateurs et des intervenants qui collaborent aux tâches.
  • Technologie Chain-of-LoRA : multifonctionnalité avec un seul modèle et consommation réduite de ressources.
  • Prise en charge de matériels multiples : fonctionne sur les GPU NVIDIA ou les NPU Ascend.
  • Soutien efficace à la formation : intégration de DeepSpeed, LoRA, FlashAttention2 et d'autres technologies.
  • Démonstration en ligne : découvrez rapidement les fonctionnalités à travers l'interface de Gradio.

 

Utiliser l'aide

VideoMind est un projet open source, les utilisateurs doivent télécharger le code et configurer l'environnement pour l'utiliser. Ce qui suit est un guide détaillé couvrant l'installation et l'utilisation des fonctionnalités.

Processus d'installation

  1. Cloner le dépôt de code
    Exécutez la commande suivante dans le terminal pour télécharger le code source de VideoMind :
git clone https://github.com/yeliudev/VideoMind.git

Accédez au catalogue de projets :

cd VideoMind
  1. Configuration de l'environnement Python
    Créez un environnement virtuel en utilisant conda (Python 3.12 recommandé) :
conda create -n videomind python=3.12 -y
conda activate videomind
  1. Installation des bibliothèques dépendantes
    Exécutez la commande suivante pour installer les dépendances requises :
pip install -r requirements.txt

Pour une formation efficace, installez DeepSpeed :

pip install deepspeed
  1. Télécharger les modèles et les ensembles de données
  • Visitez le site https://huggingface.co/collections/yeliudev/videomind-67dd41f42c57f0e7433afb36 pour télécharger des modèles pré-entraînés (par ex.VideoMind-2B), le décompresser dans le répertoiremodelsDossier.
  • Les ensembles de données sont disponibles à l'adresse https://huggingface.co/datasets/yeliudev/VideoMind-Dataset下载 et comprennent 27 ensembles de données vidéo et VideoMind-SFT (481K données d'entraînement) placés dans la base de données du site.dataCatalogue.
  1. test d'installation
    Exécutez le script de test pour confirmer que l'environnement est correct :
python test.py

Principales fonctions

1) Positionnement temporel des vidéos de longue durée

  • Préparer la vidéo: Placez le fichier vidéo dans l'espace de travaildata/videosCatalogue, prise en charge des formats MP4, AVI et autres.
  • Exécuter la commande: :
python run_grounding.py --video_path data/videos/sample.mp4 --query "找到讨论AI的部分"
  • Résultat Sortie: renvoie l'intervalle de temps, par exemple "00:05:12 - 00:07:34".

2. quiz vidéo

  • Problèmes de saisie: Nouveauquery.txtRédigez des questions, telles que "Qui est le personnage principal de la vidéo ?". .
  • exécuter une commande: :
python run_qa.py --video_path data/videos/sample.mp4 --query_file query.txt
  • Obtenir des réponses: Le terminal affiche les résultats, par exemple "Le personnage principal est Li Ming".

3. la génération d'un résumé vidéo

  • Exécuter la commande: :
python run_summary.py --video_path data/videos/sample.mp4
  • Voir le résuméLes résultats sont sauvegardés en tant quesummary.txtPar exemple, "La vidéo présente une conférence sur la science et la technologie".

Fonction en vedette Fonctionnement

Technologie de la chaîne d'approvisionnement (Chain-of-LoRA)

  • VideoMind utilise un modèle unique pour changer de rôle via les adaptateurs LoRA. Les fichiers de configuration sont disponibles dans la sectionconfig/lora.yamlRéglablerankEffet de renforcement des paramètres :
lora:
rank: 16

Démonstration en ligne

  • Il n'est pas nécessaire de procéder à une installation locale. Vous pouvez donc visiter le site https://huggingface.co/spaces/yeliudev/VideoMind-2B, télécharger une vidéo et saisir votre question pour expérimenter directement la fonctionnalité. Pour plus d'informations, voirdocs/DEMO.md.

Modèles de formation

  • Préparer les données: UtilisationVideoMind-SFTou 27 autres ensembles de données, placés dans la base de données de ldataCatalogue.
  • formation d'amorçage: Exécutez :
python train.py --dataset data/VideoMind-SFT --model models/VideoMind-2B
  • Contrôler la formationSupport de Tensorboard ou Wandb pour visualiser la progression, voir la configuration pour plus de détails.docs/TRAIN.md.

mise en garde

  • Lorsque le fichier vidéo est trop volumineux, il est recommandé de le traiter par segments afin d'éviter une saturation de la mémoire.
  • Les utilisateurs d'Ascend NPU doivent installer le pilote Ascend et ajouter des paramètres lors de l'exécution.--device ascend.
  • Pour plus d'informations sur la mise en service, voirdocs/EVAL.mdy compris des lignes directrices en matière d'étalonnage.

Grâce à ces étapes, les utilisateurs peuvent rapidement installer et utiliser VideoMind pour gérer des tâches vidéo de longue durée.

 

scénario d'application

  1. Analyse du contenu des vidéos
    Les utilisateurs peuvent utiliser VideoMind pour analyser les longues vidéos YouTube, localiser les séquences clés ou générer des résumés pour gagner du temps.
  2. Éducation et recherche
    Les étudiants ou les chercheurs qui travaillent avec des vidéos de cours peuvent demander "Quels algorithmes ont été abordés ?" et obtenir les réponses, organisant ainsi leurs notes de manière plus efficace.
  3. Audit de contenu
    Les administrateurs de la plateforme l'utilisent pour vérifier que le contenu vidéo est conforme, par exemple en recherchant les séquences incriminées.

 

QA

  1. Quelle longueur de vidéo VideoMind peut-il prendre en charge ?
    En fonction du matériel, 16 Go de RAM peuvent prendre en charge une heure de vidéo, et 32 Go des contenus plus longs.
  2. Quelle est la différence entre une démonstration en ligne et un déploiement local ?
    La version en ligne ne nécessite aucune installation mais a des fonctionnalités limitées ; la version locale permet une formation personnalisée et un traitement à grande échelle.
  3. Comment les ensembles de données sont-ils utilisés ?
    27 ensembles de données ont été utilisés pour la formation et l'évaluation, et VideoMind-SFT a permis d'optimiser les modèles, comme décrit à l'adresse https://huggingface.co/datasets/yeliudev/VideoMind-Dataset.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...