第五章 實驗結果
5.2 軟體成果
首先是人臉偵測的部分,在第四章流程圖中的 Face Detect[15]為應用在人 臉辨式之範例,於韌體層整合出使用者角度的子程式,必能加速應用層面的發展,
此節以人臉偵測為例,介紹如何整合成使用者角度之子程式。如 4-1 節所提到的 圖中,DVSDK 及 OS 層是尚未修改的原始部分,如想要驅動 DM368 人臉辨識之使 用,透過了 DVSDK 層作為畫面中扮演偵測人臉的角色,並且編寫為演算法的子程 式,在 4-1 節所提到的圖中,Algorithm Library 層的角色,就是方便於 DVSDK 層的使用,並且可以依據使用者修改較為少變動之參數。最後包裝成為使用者可 直接呼叫的子程式,在 4-1 節所提到的圖中是屬於 Wrapper Library,在此層中 的呼叫方式依照使用者常用之參數做為調整,如 int Kasen_FD (W, H, Input, face_start, face_end);只需給定系統畫面長、寬、畫面輸入等資料,便會起用 人臉偵測之功能,並於各個人臉之起始以及結束位置起用 OSD 畫線之功能。下圖 為此流程圖之圖示
上圖為為修改韌體後的包裝方式,由 DVSDK 原始資料庫建立演算法資料庫,
最後在包裝成為「Wrapper Library」這類型的子程式 圖 5- 3 程式的包裝方式
示
在上列展示中顯示了此論文提出系統當中的人臉偵測及 OSD 畫直線之功能,
並且使用 USB 介面做為數位影像輸出之結果。以下展示的輸入、輸出皆為 VGA (640x480)畫質之結果,並且透過類比(Composite)的方式做為輸出結果。
「影像縮小」及「OSD 貼圖」於第四章 4.3.3 部分以及第四章後半部皆有部 分展示,如下圖所示即為整合了許多子韌體程式功能程式化之結果
上圖為「影像縮小」、「OSD 貼圖」 、「OSD 劃線」及「OSD 字串」之功能顯示 於同一個視窗內,左上角的黑底白字之字串即為「OSD 字串」;右下角黑色矩形 即為「OSD 貼圖」之結果,畫面中的斜線為「OSD 劃線」之結果
在完成了許多韌體層的子程式後,接著以下即是「電子牆」藉由此篇論文所 提出的系統所呈現的結果,首先是簡易的測試電子牆之功效,如下列圖所示
圖 5- 5 韌體之各個程式結果
圖 5- 6 使用 GMM 建立背景後的圖
當有前景進入時,
使用白色的線做為標示
當前景為不被允許 的方向通過電子牆時,
便使用黑色的框表示,
並持續追蹤
「電子牆」的可行性已被確認,持續追蹤物體的機制由以下的結果來驗證,
並且加入了遮蔽物做為展示
圖 5- 7 驗證電子牆之可行性的實驗結果
當有前景進入時,
使用白色的線做為標示,
此物體為遮蔽物
當第二個前景出現時,
也使用白色的框表示,
並持續追蹤
當有目標物侵入電子牆,
使用黑色的框表示
闖入電子牆的目標物,
使其持續追蹤,
並不影響正常的前景
即使闖入電子牆的目標物 又回復到被允許的位置,
依然持續追蹤
即使兩物體又分開,
依然分別持續追蹤
上圖列為多重物體的追蹤結果
上圖的例子中,驗證了持續追蹤的能力,雖場景不致太複雜,但同時證明此 概念的可行性,由額外的影片證明,是可達成Real-Time的目標的。同時藉由上 述的幾個例子,驗證了「電子牆」的可行性,並且做為追蹤達到良好的機器智慧 效果。
圖 5- 9 電子牆之應用結果