• 沒有找到結果。

2:OpenCV 圖片比對範例

第五章 結論與未來發展

程式碼 3- 2:OpenCV 圖片比對範例

圖 3-8 圖片差異比對(完全相同圖片)

for(int i=0;i<240;i++) for(int j=0;j<320;j++) {

} <price>30.00</price>

</book>

<book category="CHILDREN">

<title lang="en">Harry Potter</title>

<author>J K. Rowling</author>

<year>2005</year>

<price>29.99</price>

</book>

</bookstore>

圖 3-9 圖片差異比對(差異較大圖片)

5. 統計差異超過門檻值的像素個數:當差異超過門檻值的像素大於整個畫面的 一定比例時,即認為場景發生改變,就會把這個場景改變的時間點當作片段 的一個分段點,也就是一個片段的開始或結束,在本研究中所測試的結果來 說,兩個畫面大約在 60%~70%的像素差異超過門檻值,來當作場景的轉換 畫面是一個比較恰當的比例。

3.3 Association Rule Map

現今在網路上擁有大量的資料,使用者常常要在這些資料裡找出想要瀏 覽的項目,列出的項目清單卻往往不一定那麼完整,所以現在在很多的社群 網站上面,都有提供使用者替自己的項目加上主題標籤,以便讓自己及其他

個隻字片語,但想瀏覽的項目卻是不包含此關鍵字的關聯項目,因此本系統 便利用關聯規則統整所有影片的主題標籤,計算出最常擺在一起的標籤字詞,

只要搜尋到包含在這裡面的標籤關鍵字,就會連包含最常擺在一起的標籤字 詞的影片也一起列出來,以達成讓使用者瀏覽到更多相關影片的目的。

3.3.1

都柏林核心和主題標籤

在先前的章節裡介紹過都柏林核心,其中一個項目是 Relation,它的定義 是和其他資源的索引關係,也就是這項資源和其他相關聯資源的橋樑。因此本系 統提供使用者上傳影片時,可以加入主題標籤,並儲存在都柏林核心的 Relation 項目裡。之後系統會將加入的標籤和已經存在 eXist 資料庫的所有影片的 Relation 擷取出來,並且以#字號作為分隔,彙整出一個標籤集合,傳送到 Association Rule Map 進行分析。

圖 3-10 系統使用到的都柏林核心項目

3.3.2 Association Rule Map 內部技術(Apriori 演算法)

前面的章節介紹過 Association Rule 有三種演算法,本系統使用的是 Apriori 演算法。在 Association Rule Map 收到彙整好的標籤集合以後,便會對集 合開始做 Apriori 的計算,系統計算流程如下:

1. 假設資料庫中現在有四組資料 D1,D2,D3,D4,設定最小支持度為 2(即標籤至 少需有兩個,以下稱為 MinTags),篩選出有效資料之後,再對每個標籤計 算出現次數,如圖 3-11 所示。

圖 3-11 四組資料經過最小支持度之篩選

2. 針對每個標籤的出現次數再經由 MinTags 篩選出有效資料,並對自己做自我 結合,產生出新的候選項集,如圖 3-12 所示。

3. 根據原資料表計算候選項的出現次數,並再次以 MinTags 篩選出有效資料,

產生二維最大項目集,如圖 3-13 所示。

圖 3-13 計算候選項次數並以 MinTags 篩選

4. 產生的 2 維最大項目集進行自我結合,產生三維項目集,這時已經剩一組資 料,檢查是否符合 MinTags 數目,如果符合,這組資料即為 Frequent Items,

放入 Association Rule Map 中,如圖 3-14 所示。

圖 3-14 自我結合產生三維項目集並檢查 MinTags

由上述步驟可知,Apriori 演算法非常簡單易懂,且可以減少非相關項目組 的產生,只要重複三個步驟即可。其中提到的某個步驟叫自我結合(self-join),他

的定義如下:

令 X1 和 X2 是兩個大型(k-1)-項目集,Xi[j]代表項目集 Xi 中的第 j 個項目。

假設項目集中的項目已依遞增的方式排序完成。

若 X1 和 X2 的前 k-2 個項目皆相同,且 X1[k-1]<X2[k-1],則 X1 和 X2 將 被結合成一個候選 k-項目集,亦即{X1[1], X1[2], …, X1[k-1], X2[k-1]}。其中,

結合條件 X1[k-1]< X2[k-1]的目的是為了避免產生重複的候選 k-項目集。

例如:abcd, abce => abcde。

以實際的例子來看:

和上面的步驟一樣,重複篩選出有效資料並進行自我連結

圖 3-15 四組資料經過最小支持度之篩選

圖 3-16 經過最小支持度篩選並產生新的候選項集

圖 3-17 計算候選項次數並以 MinTags 篩選

圖 3-18 自我結合產生三維項目集並檢查 MinTags 在圖 中可看到籃球、奧運、選手即為一組有關聯性的關鍵字。

3.3.3 OWL 文件儲存

本系統將以 Apriori 演算法計算出的結果儲存在 OWL 文件中,可將彼此無 關聯的影片依標籤做連結。下圖為 OWL 儲存結構:

由圖 中可看到最上層的元素是標籤,和這個標籤相關聯的其他標籤為其相鄰節 點,每個標籤下面記錄包含這個標籤的所有影片,因此就將所有關聯影片串連起 來,成為一個 Relation。使用者在利用標籤搜尋時只要找到和輸入關鍵字一樣的 標籤,就直接把其下以及關聯標籤下的所有影片打包成清單,呈現給使用者瀏覽。

以上一小節為例子,結果儲存如下圖:

圖 3-20 OWL 儲存資料範例

假設 D4 為最後一部上傳的影片,在上傳之前計算出之關聯組合為”籃球”、”

奧運”、”選手”,因此存在”籃球”關鍵字,其相鄰節點為”奧運”、”選手”。D4 上 傳後,計算出之關聯組合不變,因其包含標籤”籃球”以及”選手”,因此將其加入”

籃球”與”選手”關鍵字下面。

3.4 影片查詢方法

語言[14]。XQuery 語言是一種路徑運算式(Path Expressions)、FLWOR 運算式、

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book category="COOKING">

<title lang="en">Everyday Italian</title>

<author>Giada De Laurentiis</author>

<year>2005</year>

<price>30.00</price>

</book>

<book category="CHILDREN">

<title lang="en">Harry Potter</title>

<author>J K. Rowling</author>

<year>2005</year>

<price>29.99</price>

</book>

</bookstore>

相關文件