Mengevaluasi detektor perubahan slide bukan hal sederhana; di balik tampilan sederhana, proses evaluasi yang jujur seringkali terabaikan. Detektor bisa menghasilkan output yang tampak baik namun melewatkan slide singkat, menangkap transisi setengah‑faded, atau mengulang slide yang sama beberapa kali. Selain itu, kesalahan evaluasi bisa muncul karena sampel diambil terlalu pelan sehingga slide yang hilang tak pernah terlihat.
Ada tiga tugas yang sering tercampur: pertama, deteksi perubahan slide untuk mencari timestamp di mana frame yang terlihat berubah; kedua, pemulihan slide asli dengan memilih gambar bersih untuk setiap slide; dan ketiga, pembuatan deck baru menggunakan transkrip atau model. Detektor berbasis selisih frame hanya menangani tugas pertama. Ia tidak boleh dinilai berdasarkan kualitas OCR atau ekspor, dan tidak boleh disalahkan jika penulis PowerPoint memperlebar gambar.
Protokol yang digunakan dimulai dengan mendefinisikan tugas secara jelas. Label ground truth dibuat secara manual: slide_id,start_seconds,end_seconds,notes. Contoh label: 1,0.0,42.4,title slide; 2,42.4,88.1,incremental bullet builds; 3,88.1,123.7,crossfade transition. Langkah ini dilakukan sebelum menyesuaikan threshold. Jika tidak, evaluator akan cenderung mendefinisikan "benar" hanya berdasarkan output yang sudah ada.
Metadata video juga dicatat: sumber, lisensi, durasi, resolusi, dan tanggal akses. Jika video tidak bisa didistribusikan, label dan tautan sumber dipublikasikan sebagai gantinya.
Konfigurasi sampling harus tetap konsisten. Interval sampling adalah bagian dari detektor itu sendiri. Jika sebuah slide terlihat selama 1,4 detik dan sampling dilakukan setiap 2 detik, detektor tidak bisa memulihkannya. Ini adalah false negative sampling, bukan false negative threshold. Untuk setiap run, catat: interval sampling, resolusi perbandingan, crop atau mask, opsi detektor, runtime, dan versi package. Contoh konfigurasi video-slide-extractor:
const detect = createSlideDetector(160, 90, { blockSize: 8, blockDelta: 14, changedRatio: 0.02, });
Nilai default hanyalah titik awal, bukan jaminan akurasi.
Setelah deteksi, lakukan pencocokan satu kali. Berikan setiap timestamp yang terdeteksi jendela toleransi, misalnya dua detik, dan cocokkan ke paling banyak satu transisi yang terlabel. Pencocokan menghasilkan true positive (TP). Deteksi yang tidak cocok adalah false positive (FP). Label yang tidak terdeteksi adalah false negative (FN). Dari data ini, hitung presisi = TP / (TP + FP), recall = TP / (TP + FN), dan F1 = 2 * presisi * recall / (presisi + recall). Langkah ini mencegah kesalahan umum di mana dua deteksi di sekitar transisi yang sama dihitung sebagai dua keberhasilan.
Kemudahan visual juga harus dinilai secara terpisah. Sebuah timestamp bisa benar, namun gambar yang ditangkap tidak usable. Pantau setidaknya: frame transisi, duplikat berturut‑turut, slide yang muncul kembali di kemudian hari, captured low‑resolution atau blur, dan frame yang didominasi presenter atau webcam overlay. Laporan tingkat duplikat dan frame transisi dipisahkan dari F1 deteksi. Kegagalan ini biasanya berkaitan dengan pembersihan temporal dan pemilihan frame ekspor, bukan detektor perubahan awal.
Tag kegagalan memberikan insight untuk perbaikan. Tag yang berguna: incremental build, crossfade atau wipe, cursor/webcam motion, camera footage around a screen, compression noise, repeated earlier slide, sample interval too wide. Misalnya, menaikkan changedRatio bisa mengurangi false positive cursor, namun membuat perubahan teks kecil lebih mudah terlewat. Sebuah angka "akurasi" tunggal menyembunyikan trade‑off ini.
Saat membandingkan dua library, gunakan frame yang sama dan interval sampling yang sama. Jika membandingkan dua produk jadi, laporkan pipeline lengkap: input yang diterima, apakah pemrosesan dilakukan lokal atau remote, seberapa banyak cleanup manual yang dibutuhkan, dan apakah PPTX akhir berisi gambar, OCR text, atau native objects. Jangan rank sebuah transcript‑to‑new‑deck generator melawan original‑slide recovery tool seolah‑olah mereka menghasilkan hasil yang sama.
Terakhir, publikasikan kegagalan. Bukti yang bisa direproduksi mencakup: label ground truth, konfigurasi detektor, timestamp deteksi, perhitungan metrik, versi package/runtime, dan blocker yang diketahui. Protokol ini sudah dimasukkan ke dalam repository: Evaluate a Slide‑Change Detector. Detektor itu sendiri adalah JavaScript zero‑dependency yang menerima ordered RGBA frames di browser atau Node: npm install video-slide-extractor.
Bagi pembaca di Indonesia, teknologi ekstraksi slide mulai digunakan oleh platform e‑learning lokal seperti Ruangguru, Sekolahmu, dan Quipper School untuk mengubah video pembelajaran menjadi materi presentasi yang mudah diakses. Evaluasi yang ketat memastikan detektor tidak melewatkan materi penting, yang sangat krusial untuk kualitas pendidikan di negara dengan ratusan juta pengguna internet.
Langkah selanjutnya bagi pengembang Indonesia adalah mengadopsi protokol ini untuk meningkatkan kualitas alat bantu pembuatan konten mereka, serta berbagi label dan konfigurasi secara terbuka agar benchmarking menjadi lebih transparan dan bermanfaat bagi komunitas teknologi dalam negeri.