圖 3.1: 產生訓練樣本及特徵擷取流程圖
在前置處理工作最主要的目的是將影片轉換成機器學習方法可輸入的資料,
首先給予系統一部電影,我們將前置處理工作分為兩個部分: 產生訓練樣本 (Training sample creation)及特徵擷取(Feature extraction)。在基於視聽覺特徵 (Audio visual feature)進行電影內容分析的相關研究中,針對電影的處理基本單位 依據複雜度由低到高概略可以區分為框架層級(Frame level)、拍攝層級(Shot level)、場景層級(Scene level)、事件層級(Event level)及故事層級(Story level)等。
因此我們可以把電影精采度偵測問題視為將故事層級的影片分隔成複雜度較低 的層級,以方便機器進行分析。在我們的訓練機器學習的方法中,我們將電影分 割以場景(Scene level)為單位,並以拍攝層級(Shot level)為單位擷取一個視覺特 徵:鏡頭切換頻率(Shot change rate)及以框架(Frame level)為單位擷取的聽覺特徵:
音量變化量(Volume change) 和音樂節拍(Music tempo)。為了建置電影中精彩場 景的 Ground truth,我們針對每部影片的每個場景邀請了三個人進行投票,若該場 景擁有大於兩票的票數,則我們就將該場景標註為精彩場景。接下來將針對上述 幾個步驟做詳細的說明。
3.1 產生訓練樣本
覺特徵(Audio feature)。首先,我們取用鏡頭切換頻率(Shot change rate)做為視覺 特徵。本研究利用一個較為簡單的作法來進行鏡頭切換偵測的工作,首先將每一 個畫面切割成多個相同大小的區域,並分別統計各個區域的強度(Intensity)直方 圖,如圖 3.2 所示。其中,對於影片的上下半部會有固定大小的黑邊區域,因此 可以先將其裁切,而針對區塊的數目,當切割過多的區域,在計算相似度時複雜圖 3.2: 鏡頭切換擷取示意圖,原始畫面大小為 672 * 288 pixels,切割為 7 ﹡3 共 21 個區域,每個區域大小為 96 ﹡96 pixels
度會增加,甚至造成準確率不增反減的情況。因為區塊的變化需要能夠容忍物體 在畫面上的移動或者是鏡頭的平移、放大縮小等等的些許變動。在我們的實驗分
析中,依照畫面大小為 672 * 288 的影片資料,切割成 7 ﹡3 個區塊,有著較穩 定的切割效果。
將畫面切割成多個區域後,根據相似度計算公式 3.1,計算當前畫面與前一 個畫面兩者對應區域的 Bhattacharyya 係數做為相似度,相似度越高者,表示前後 兩張畫面屬於連續畫面,彼此之間沒有切換鏡頭的改變。在我們的實驗中,我們 設定相似度低於 90%為鏡頭切換的畫面,並記錄該畫面的編號,做為之後統計鏡 頭切換頻率的依據。
公式 3.1
其中,P 和 Q 分別表示前、後兩張畫面的強度直方圖向量。R 表示分割區塊總數 而 B 表示直方圖的欄位個數(Bins)。
針對鏡頭切換頻率(Shot change rate),我們的設計是利用一個移動視窗(Sliding
window)來進行統計,當視窗區間出現幾次鏡頭切換,我們就記錄下當下的個數 做為特徵值,當畫面的切換頻率越高,表示當下的精采度越精彩。而在我們的實 驗設計中,我們設定移動視窗(Sliding window)的大小為 5 秒,而每次的移動為 1 秒。
圖 3.3: 終極警探 4 電影的其中一段 [500 秒到 650 秒] 影片的音量變化量