Začněte nyníZačněte zdarma

Analýza sentimentu ve videu pomocí CLIP a CLAP

Teď provedeš analýzu emocí v reklamě, kterou jsi dříve připravil/a, pomocí CLIP/CLAP. Pro multi-modální klasifikaci emocí zkombinuješ předpovědi těchto modelů pomocí průměru (technika známá jako late fusion).

Video (video) a odpovídající zvukový vzorek (audio_sample), které jsi vytvořil/a dříve, jsou stále k dispozici:

Frames from the Bounce TV commercial

Seznam emocí je načten jako emotions.

Toto cvičení je součástí kurzu

Multi-Modal Models with Hugging Face

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř pipeline pro klasifikaci zvuku (zero-shot-audio-classification) s použitím modelu laion/clap-htsat-unfused.
  • Vytvoř pipeline pro klasifikaci obrázků (zero-shot-image-classification) s použitím modelu openai/clip-vit-base-patch32 (menší varianta modelu použitého pro video).
  • Pomocí pipeline pro klasifikaci obrázků vygeneruj předpovědi pro každý snímek ve videu.
  • Pomocí pipeline pro klasifikaci zvuku vygeneruj předpovědi pro audio_sample.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Make an audio classifier pipeline
audio_classifier = ____(model="____", task="____")

# Make an image classifier pipeline
image_classifier = ____(model="____", task="____")

# Create emotion scores for each video frame
predictions = image_classifier(video, candidate_labels=emotions)
scores = [
    {l['label']: l['score'] for l in prediction}
    for prediction in predictions
]

avg_image_scores = {emotion: sum([s[emotion] for s in scores])/len(scores) for emotion in emotions}

# Make audio scores
audio_scores = ____(____, candidate_labels=____)

audio_scores = {l['label']: l['score'] for l in audio_scores}
multimodal_scores = {emotion: (avg_image_scores[emotion] + audio_scores[emotion])/2 for emotion in emotions}
print(f"Multimodal scores: {multimodal_scores}")
Upravit a spustit kód