BaşlayınÜcretsiz başlayın

CLIP CLAP ile video duygu analizi

Şimdi daha önce hazırladığın reklamın duygu analizini CLIP/CLAP kullanarak yapacaksın. Çok modlu (multi-modal) bir duygu sınıflandırması yapmak için, bu modellerin tahminlerini ortalama alarak (özellikle late fusion olarak bilinir) birleştireceksin.

Daha önce oluşturduğun video (video) ve buna karşılık gelen ses (audio_sample) hâlâ hazır:

Frames from the Bounce TV commercial

emotions olarak bir duygu listesi yüklendi.

Bu egzersiz, kursun bir parçasıdır

Hugging Face ile Multi-Modal Modeller

Kursa Göz Atın

Egzersiz talimatları

  • laion/clap-htsat-unfused modelini kullanarak zero-shot-audio-classification için bir ses sınıflandırıcı pipeline'ı oluştur.
  • openai/clip-vit-base-patch32 modelini kullanarak (videoda kullandığımızın daha küçük bir varyantı) zero-shot-image-classification için bir görüntü sınıflandırıcı pipeline'ı oluştur.
  • Video içindeki her bir görüntü için tahmin üretmek üzere görüntü sınıflandırıcı pipeline'ını kullan.
  • audio_sample için tahmin üretmek üzere ses sınıflandırıcı pipeline'ını kullan.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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}")
Kodu Düzenle ve Çalıştır