Analiza sentimentelor din video cu CLIP și CLAP
Acum vei efectua analiza emoțiilor din reclama pregătită anterior, folosind CLIP/CLAP. Pentru a realiza o clasificare multi-modală a emoțiilor, vei combina predicțiile acestor modele prin medie (tehnică cunoscută sub numele de late fusion).
Videoclipul (video) și audioul corespunzător (audio_sample) create anterior sunt în continuare disponibile:

O listă de emoții a fost încărcată ca emotions.
Acest exercițiu face parte din cursul
Modele Multi-Modale cu Hugging Face
Instrucțiuni pentru exercițiu
- Creează un pipeline de clasificare audio pentru
zero-shot-audio-classificationfolosind modelullaion/clap-htsat-unfused. - Creează un pipeline de clasificare a imaginilor pentru
zero-shot-image-classificationfolosind modelulopenai/clip-vit-base-patch32(o variantă mai mică față de cea folosită în video). - Folosește pipeline-ul de clasificare a imaginilor pentru a genera predicții pentru fiecare imagine din videoclip.
- Folosește pipeline-ul de clasificare audio pentru a genera predicții pentru
audio_sample.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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}")