PROJECT · 06/08 · racin ← cd ..

// projet de recherche · université paris saclay

RACIN.

Détection automatique des représentations de l'alcool dans le cinéma français depuis les années 1960 — pipeline IA combinant vision par ordinateur et LLM.

Python 3.12YOLOv8Faster Whisper OllamaLangchainMoviePy Computer VisionLLM
ProjetRACin ↗

// Contexte

RACin (Representations of Alcohol Consumption in French Cinema since the 1960s) est un projet de recherche qui applique l'IA à l'analyse sociologique du cinéma. L'objectif : détecter et quantifier automatiquement les représentations de l'alcool dans les films français, à une échelle impossible à traiter manuellement.

Le prototype combine plusieurs modèles d'IA pour analyser le contenu vidéo (images, transcription audio) et générer des descriptions contextuelles, le tout orchestré via un pipeline modulaire Python.

// Pipeline

flowchart LR
  F["Film (fichier vidéo)"] --> TA["Transcript Agent\nFaster Whisper\nTranscription audio"]
  TA --> OD["Object Detection Agent\nYOLOv8 (Ultralytics)\nVerres, bouteilles, etc."]
  OD --> IA["Image Analysis Agent\nAnalyse visuelle contextuelle des frames"]
  IA --> SA["Scene Analysis Agent\nCroisement transcription + détection"]
  SA --> FA["Formatter Agent\nStructuration des résultats JSON"]
  FA --> LLM["LLM (Ollama) + Langchain\nSynthèse description contextuelle"]
        

// Architecture

Le projet utilise le pattern Abstract Factory pour permettre le basculement entre différents fournisseurs de modèles (Ollama, OpenAI, Gemini) sans modifier le code existant. Chaque étape d'analyse est encapsulée dans un agent dédié, orchestré par main.py.

// Agents

5 agents spécialisés : transcription, détection d'objets, analyse d'images, analyse de scènes, formatage.

// Factories

Abstract Factory pour LLM (Ollama), transcription (Whisper) et détection (YOLOv8) — extensible à d'autres modèles.

// Vision

YOLOv8 (Ultralytics) pour la détection d'objets liés à l'alcool dans chaque frame. MoviePy pour le découpage vidéo.

// LLM local

Ollama pour l'inférence locale du LLM. Langchain pour l'intégration et le chainage des outils.

// Points techniques

// Multimodal

Croisement de l'audio (transcription Whisper) et de l'image (détection YOLOv8) pour une analyse contextuelle riche.

// LLM local

Ollama pour faire tourner le LLM localement — pas de dépendance cloud, reproductibilité garantie.

// Abstract Factory

Pattern de design permettant de switch entre Ollama, OpenAI et Gemini sans toucher au code métier.

// Recherche sociologique

Outil au service d'une étude académique sur la représentation de l'alcool au cinéma depuis les années 60.