Skip to main content

Penulis

Aditya Sundar - Universiti Waseda

Abstrak

Projek ini mencipta saluran paip automatik untuk pra-pemprosesan data video dan audio, mengekstrak maklumat utama untuk melatih model penjanaan video. Saluran paip mengendalikan pengesanan wajah, klasifikasi emosi, anggaran pose, dan pemprosesan audio. Ciri Utama:
  • Pengesanan dan pengasingan wajah unik automatik
  • Anggaran pose kepala (yaw, pitch, roll)
  • Klasifikasi emosi menggunakan pembelajaran mendalam
  • Klasifikasi audio dan pengasingan pertuturan
  • Penjanaan klip (segmen 3-10 saat)

1. Pengenalan

Kebangkitan model generatif berasaskan video telah mewujudkan keperluan untuk set data video pra-proses yang teguh. Projek ini mengautomasikan pra-pemprosesan data video dan audio untuk:
  • Mengklasifikasikan dan mengecam wajah unik secara automatik
  • Mengesan emosi wajah dan pose kepala merentasi masa
  • Mengklasifikasikan audio untuk muzik latar belakang dan mengasingkan pertuturan
  • Memotong dan memperhalusi video untuk digunakan dalam model generatif

2. Metodologi

Gambaran Keseluruhan Saluran Paip

Aliran Kerja Saluran Paip

Aliran kerja saluran paip pra-pemprosesan video

Saluran paip pra-pemprosesan terdiri daripada lima peringkat utama:
PeringkatFungsi
Klasifikasi AudioKenal pasti pertuturan dan asingkan dari bunyi latar belakang
Pengesanan WajahKesan dan kenal pasti wajah unik dalam video
Pemotongan WajahJana klip berfokus wajah (3-10 saat)
Anggaran PoseAnggarkan orientasi kepala (yaw, pitch, roll)
Klasifikasi EmosiKesan emosi dalam setiap bingkai

2.1 Pemprosesan Video

Video dimuat turun menggunakan yt-dlp dan diproses bingkai demi bingkai:
def download_video(url, output_dir):
    ydl_opts = {
        'format': 'best',
        'outtmpl': os.path.join(output_dir, '%(title)s-%(id)s.%(ext)s'),
    }
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])

2.2 Klasifikasi Audio

Audio diklasifikasikan menggunakan model Audio Spectrogram Transformer:
  • Menukar audio kepada spektrogram
  • Menggunakan Vision Transformer untuk klasifikasi
  • Ambang ~20% digunakan untuk mengesan bunyi latar belakang
Contoh Keputusan:
Jenis VideoPertuturan %Muzik %
Ulasan dengan muzik50.28%37.20%
Persembahan langsung1.50%46.54%
Temuduga berita82.64%0%

2.3 Pengesanan dan Pemotongan Wajah

Menggunakan model pengesanan wajah YuNet:
  1. Kesan semua wajah dalam setiap bingkai
  2. Pilih wajah terbesar sebagai subjek
  3. Potong dan ubah saiz kepada dimensi yang konsisten
  4. Jana klip 3-10 saat
Penyingkiran latar belakang pilihan menggunakan rembg boleh mengasingkan subjek lebih lanjut.
Wajah Dipotong

Contoh klip wajah dipotong

Latar Belakang Dibuang

Klip latar belakang dibuang

2.4 Anggaran Pose

Pose kepala dianggarkan menggunakan 68 penanda wajah:
  • Yaw: Putaran kiri-kanan (>10 darjah = melihat kanan/kiri)
  • Pitch: Putaran atas-bawah (>10 darjah = melihat atas/bawah)
  • Roll: Kecondongan kepala
Nilai pose dilicinkan menggunakan buffer bingkai berturut-turut.

2.5 Klasifikasi Emosi

Menggunakan facial_emotions_image_detection dari Hugging Face:
  • Mengesan: gembira, sedih, marah, neutral, takut, jijik, terkejut
  • Skor dinormalisasikan untuk berjumlah 100%
  • Dipuratakan merentasi keseluruhan video untuk ringkasan

3. Keputusan

Contoh Analisis Video

Video ujian: “Hacksaw Ridge Interview - Andrew Garfield” (4 min 11 saat)
MetrikNilai
Jumlah bingkai6,024
FPS23.97
Kadar pengesanan wajah98.26%
Purata wajah setiap bingkai1.0
Klip dijana26

Klasifikasi Audio

Pertuturan: 88.89%
Daun berdesir: 1.12%
Berdesir: 0.74%
Tiada pengasingan pertuturan diperlukan kerana keyakinan pertuturan yang tinggi.

Contoh Anggaran Pose

Klip menghadap hadapan:
  • Yaw: 0.65 darjah, Pitch: 4.07 darjah
  • Arah: “Hadapan”
Pose Hadapan

Pengesanan pose menghadap hadapan

Klip menghadap kanan:
  • Yaw: 10.36 darjah, Pitch: -1.22 darjah
  • Arah: “Kanan”
Pose Kanan

Pengesanan pose menghadap kanan

Klasifikasi Emosi

Model menunjukkan ketidakpastian merentasi emosi, dengan kebarangkalian tertinggi ~25%. Ini menunjukkan kerumitan pengesanan emosi dari imej wajah statik.

4. Hala Tuju Masa Depan

  1. Klasifikasi tambahan: Pembacaan bibir, pengesanan gerak isyarat
  2. Percepatan GPU: Pada masa ini hanya CPU disebabkan had sumber
  3. Model ditala halus: Model tersuai untuk tugas tertentu
  4. Pengesanan emosi lanjutan: Pendekatan berbilang modal melangkaui imej statik

Rujukan

  1. 1adrianb/face-alignment - Pustaka penyelarasan Wajah 2D dan 3D
  2. ageitgey/face_recognition - API pengecaman wajah untuk Python
  3. CelebV-HQ - Set Data Atribut Wajah Video Skala Besar
  4. danielgatis/rembg - Alat penyingkiran latar belakang
  5. dima806/facial_emotions_image_detection - Hugging Face
  6. facebookresearch/demucs - Pemisahan sumber muzik
  7. MIT/ast-finetuned-audioset - Audio Spectrogram Transformer