• 沒有找到結果。

以電腦視覺為基礎之智慧型教室應用架構與實作

N/A
N/A
Protected

Academic year: 2021

Share "以電腦視覺為基礎之智慧型教室應用架構與實作"

Copied!
61
0
0

加載中.... (立即查看全文)

全文

(1)國立台灣師範大學 資訊工程研究所碩士論文 指導教授:. 李忠謀. 博士. 以電腦視覺為基礎之 智慧型教室應用架構與實作 Computer Vision Framework for Smart Classroom Applications. 研究生: 中華民國. 101. 余世堯 年. 撰 七. 月.

(2) 摘要 隨著時代的變更,許多的E化教室紛紛設立。因為與傳統截然不同的教學設 施,教學的方式也漸漸的隨之改變。隨著越來越多的智慧型資訊系統被開發出 來,卻因這些系統往往彼此獨立,各有各的操作介面,導致原先為了方便使用者 而開發出來的系統反成了使用者的負擔。. 在這樣的環境下,我們期望建立一個整合系統來統整這些智慧型資訊系統的 功能,透過單一的操作介面來減輕使用者的負擔。同時,透過這個整合系統,各 智慧型資訊系統的開發者也可利用其中的資訊來加速開發,同時能讓開發者更加 專注於自己的目標上。更進一步的說,若其中的智慧型資訊系統有所更新,其他 的智慧型資訊系統亦能有所提升。. 我們透過將系統切割為資料控管、邏輯控制與資料處理三個部分,使得系統 在有足夠的彈性應付未來不可預期的變動時,同時能兼顧一定的效能。也讓各項 資料處理的工作劃分的更加乾淨,避免了開發者在非主要目標上投注過多精力的 情形發生。. 關鍵字:智慧型教室、整合系統、智慧型資訊系統.

(3) Abstract As time goes by, lots of E-classroom had been set up. Different from traditional teaching equipment, the way of teaching had been changed. As more and more intelligence information systems had been developed, while each of them is independent and has its own system interface, causing what was intended to offer a convenient system become a burden to users.. Under such circumstance, we hope to develop an integrated system to ease users operation by offering a unitary operating interface. At the same time, through this integrated system, developers can also take advantage of it to speed up developing processes thus can pay more attention on his or her goal.. In this proposed system, we separate it into three categories: data management, logic controller and data processor, letting the system has the ability to overcome unexpected changes while have good efficacy at the same time. Last but not least, through this system, developers can concentrate on his or hers main goal , avoiding waste time and energy on unimportant matters.. Key word:smart classroom, integration system, intelligent information system.

(4) 目錄 表目錄 vi 圖目錄 vii 第一章 緒論 ........................................................................................... 1 第一節 第二節. 研究動機................................................................................................ 1 研究目的................................................................................................ 5. 第三節. 研究範圍與限制.................................................................................... 7. 第二章 文獻探討.................................................................................... 8 第一節 第二節 第三節. 智慧型教室............................................................................................ 8 人臉偵測.............................................................................................. 10 人臉辨識.............................................................................................. 11. 第四節. 系統開發.............................................................................................. 13. 第三章 研究方法.................................................................................. 15 第一節 第二節 第三節. 系統架構.............................................................................................. 15 資料格式.............................................................................................. 21 功能函數.............................................................................................. 28. 第四節. 現有子系統.......................................................................................... 38. 第四章 系統成果與實際案例 .............................................................. 48 第五章 結論 ......................................................................................... 52 第一節 第二節. 結論...................................................................................................... 52 未來研究.............................................................................................. 52. 參考文獻 ............................................................................................... 53. v.

(5) 表目錄 表三-1 整數訊息格式 ................................................................................................. 21 表三-2 整數範例 ......................................................................................................... 21 表三-3 字串訊息格式 ................................................................................................. 22 表三-4 字串範例 ......................................................................................................... 22 表三-5 其餘數字訊息格式 ......................................................................................... 22 表三-6 其餘數字範例一 ............................................................................................. 23 表三-7 其餘數字範例二 ............................................................................................. 23 表三-8 物件訊息格式 ................................................................................................. 24 表三-9 物件範例一 ..................................................................................................... 24 表三-10 物件範例二 ................................................................................................... 25 表三-11 陣列訊息格式 ............................................................................................... 25 表三-12 陣列範例 ....................................................................................................... 26 表三-13 SetData 訊息範例一 ....................................................................................... 32 表三-14 SetData 訊息範例二 ....................................................................................... 32 表三-15 錯誤使用 SetData 之訊息範例 ..................................................................... 32 表三-16 GetData 訊息範例一 ...................................................................................... 34 表三-17 GetData 訊息範例二 ...................................................................................... 34 表三-18 GetStream 訊息範例一 .................................................................................. 36 表三-19 GetStream 訊息範例二 .................................................................................. 36 表三-20 GetStream 訊息範例三 .................................................................................. 36 表三-21 GetStream 訊息範例四 .................................................................................. 36. vi.

(6) 圖目錄 圖一-1 智慧型資訊系統 ............................................................................................... 1 圖一-2 未來教室示意圖 ............................................................................................... 2 圖一-3 E 化教室環境控制面板 ..................................................................................... 3 圖一-4 跨平台示意圖 ................................................................................................... 5 圖一-5 教室環境示意圖 ............................................................................................... 6 圖二-1 人臉辨識自動點名系統 ................................................................................. 12 圖二-2 點名系統流程示意圖 ..................................................................................... 13 圖二-3 可調適智慧型架構示意圖 ............................................................................. 13 圖三-1 儲存庫模型示意圖 ......................................................................................... 15 圖三-2 集中式控制方式示意圖 ................................................................................. 16 圖三-3 以事件為主的控制方式示意圖 ..................................................................... 16 圖三-4 資料傳輸流程示意圖 ..................................................................................... 17 圖三-5 系統架構圖 ..................................................................................................... 18 圖三-6 CheckConnection 流程圖一 ............................................................................. 31 圖三-7 CheckConnection 流程圖二 ............................................................................. 31 圖三-8 SetData 流程圖一 ............................................................................................. 33 圖三-9 SetData 流程圖二 ............................................................................................. 33 圖三-10 GetData 流程圖 .............................................................................................. 35 圖三-11 GetStream 流程圖 .......................................................................................... 37 圖三-12 影像擷取子系統流程圖 ............................................................................... 39 圖三-13 影像接合子系統流程圖 ............................................................................... 41 圖三-14 座位偵測子系統流程圖 ............................................................................... 43 圖三-15 人臉偵測子系統流程圖 ............................................................................... 44 圖三-16 人臉辨識子系統流程圖 ............................................................................... 46 圖三-17 舉手辨識子系統流程圖 ............................................................................... 47 圖四-1 801 教室環境示意圖 ....................................................................................... 48 圖四-2 209 教室環境示意圖 ....................................................................................... 48 圖四-3 攝影機原始影像 ............................................................................................. 49 圖四-4 系統初始畫面 ................................................................................................. 49 圖四-5 詳細資訊畫面 ................................................................................................. 50 圖四-6 系統畫面(含人臉偵測結果) ..................................................................... 51 圖四-7 系統畫面(含人臉辨識結果) ..................................................................... 51. vii.

(7) 第一章 緒論 第一節 研究動機 在科技越來越發達的今天,許許多多的智慧型資訊系統(如圖一-1)充斥在你 我生活的周遭。以往,這些只存在科幻電影、小說之中的東西,隨著人類技術的 不斷進步,已不只存在於人們的幻想之中,而是已經存在成品了。其中技術較為 成熟的項目,更已踏出實驗室,成為我們生活周遭各式各樣方便的產品。. a. b. c. d 圖一-1 智慧型資訊系統. 1.

(8) 但我們不能就這樣滿足於現狀,更不能只因實現前人的構思就自我滿足。相 反的,我們更應去思索那些尚未被前人所提出的點子,並加以研究、嘗試,讓這 些新的點子也能真正的被實現出來,如此才能使這些技術應用到更多不同的層面 之上。. 正是在這樣的思維之中誕生了「未來教室研發計畫」(如圖一-2)。在這個計 畫之中,希望能突破傳統教室在設備上的限制,利用諸多的智慧型資訊系統,來 建構出一個與過往截然不同的教學環境。並期望能透過這樣的環境,提供給各位 教師與學生一個嶄新的體驗。更希望透過這些系統的輔助,讓整個教學的過程能 更加順利,學習成果也能更加豐碩。. 圖一-2 未來教室示意圖. 2.

(9) 隨著各級學校紛紛建立E化教室(如圖一-3),相關系統有了更適合的使用環 境,相關的研究也更加的蓬勃發展。隨著人們的研究,也順利開發出了應用人臉 辨識技術而產生的自動點名系統以及利用手勢辨識技術的投影片操作系統…等 各種不同的智慧型資訊系統。(於後續文章,原先各單一的智慧型資訊系統皆稱為 子系統,整合系統則指提供交流平台之系統,而系統一詞則包含以上兩者。). 圖一-3 E 化教室環境控制面板. 但在過往,採取的是個別開發的方式。此種開發方式,缺乏各子系統之間的 互動,結果也難以共享,導致開發者經常將時間投注在一些前置問題的處理上而 無法將精力集中在主要的目標上,使得整個開發工作的進行緩慢。. 3.

(10) 對使用者而言,多個獨立的子系統,且各子系統亦擁有各自的介面與操作方 式。使用者必須一一去了解如何操作,這對於使用者而言也是個龐大的負擔。其 結果亦顯示於各自的介面上,這使得使用者必須頻繁的進行視窗的切換才能瀏覽 到各子系統的結果。. 基於這種種的理由,我們期望能建立出一個整合系統,透過統一的規格將各 子系統串連起來,讓各子系統之間能有效的交流資訊。往後的開發者即使不知道 各個子系統的運作原理,也能取得這些子系統的結果加以利用。. 透過整合系統提供的交流機制,當某個子系統成效獲得提升,可能使其他利 用到該子系統結果的子系統之成效也連帶的獲得提升。而這於目前個別開發的方 式之中是不可能發生的。. 同時,我們能根據系統內的資訊,對於不同需求的使用者,提供其適當的介 面。而不再像以往一般,使用者必須面對一個又一個的視窗,往往無法即時找到 所需要的資訊。. 4.

(11) 第二節 研究目的 於本研究中,我們期望能開發出一個跨語言、跨平台的整合系統。其目標是 能整合現有的子系統,使之能互相交流,讓彼此的成果能共享,而不再只是一個 一個單一的子系統。並且透過此整合系統,提供一個整合性的介面給使用者,方 便使用者觀看各系統的成果。. Win32/64. UNIX. MacOS. 圖一-4 跨平台示意圖. 同時,我們期望在將來,即便任意一個子系統進行修改,此整合系統皆無須 變動。更甚者,若有新的子系統需要加入此系統,整合系統亦無需修改即可容納 新增的子系統。. 除了子系統的新增、修改之外,若將來整合系統欲提供新的功能給各子系統 使用時,期望在新增功能之後,其他子系統即使不做修改,亦能使用原有之功能, 保持其正常運作。. 5.

(12) 而在課堂環境中,傳統師生間ㄧ叫ㄧ答的點名方式,被許多人認為是一件相 當浪費時間的事。故此,我們利用此系統架構,搭配座位偵測、人臉偵測與人臉 辨識…等技術,建構了一個自動點名系統。透過此自動點名系統來呈現本論文所 提出之系統架構的可行性。. C. C. C. C. 圖一-5 教室環境示意圖. 如圖一-5,我們透過三支面向學生的PTZ攝影機去擷取學生影像。藉由系統 中座位偵測、人臉偵測、人臉辨識…等系統進行處理,達到自動點名之目的,並 透過整合介面顯示點名系統結果給教師觀看。. 6.

(13) 第三節 研究範圍與限制 在這個研究之中,我們要面對的第一個問題是各語言、各平台對於同一種類 型 的 資 料 型 態 可 能 有 不 同 的 編 碼 方 式 , 例 如 : Big-endian/Little-endian 、 Big5/UTF-8…等。因此,此系統對於可能用到的資料型態必須給予明確的定義以 避免資料內容的錯誤解讀。. 其次,需考慮某些子系統只能於特定平台上執行的可能。所以,本系統的跨 平台不僅表示能移植至各種平台上運行,而是能同時允許各子系統同時運行於不 同的平台之上。因此,同時跨越多台機器的溝通方式即變得相當重要。. 其中能跨越多台機器又最廣為人知的溝通方式便是網路,若是牽扯到網路傳 輸便需要面對可能的資料遺失、傳輸延遲…等問題,這些也是本系統需要克服的 重要項目之一。. 7.

(14) 第二章 文獻探討 第一節 智慧型教室 近年來,智慧型教室 [1]是個熱門的研究領域,許多學者期望能透過諸如攝 影機、投影機…等設備,來營造一個與傳統不同的教室環境。並透過諸多的智慧 型資訊系統,輔助老師進行授課,讓師生都能有著與過往截然不同的課堂體驗。. 在過去,師生間一叫一答的點名方式,往往需要花費相當長的時間。因此, 有許多研究希望能以別種方式來進行課堂的點名工作。如RFID裝置 [2]或影像處 理技術中的人臉辨識 [3]。透過這些點名系統,讓老師不再需要自己進行點名, 在節省時間之餘,甚至可以避免老師忘記學生姓名的尷尬情況。. 除了以學生為對象之研究外,也有其他以老師為對象之研究。在 [4] [5]中, 提出了許多老師因採用投影片授課,站位被侷限在電腦前,無法適時於投影幕前 進行解說的問題。他們提出了以人體姿勢辨識的技術來操作投影片的概念,利用 這種方式,使用者不再被侷限於電腦前,而可以於講台上任意走動。. 8.

(15) 在過往的這些研究中,因其研究過程各自獨立,故開發出的系統亦各自獨立 無法互通有無。同時,我們亦發現許多研究都有著相同的前置作業,如在 [3] [5] 中,雖然研究項目完全不同,卻同樣需要採用人臉偵測之結果。. 雖然,對於部分前置作業(如人臉偵測),也有許多現成的影像處理或電腦視 覺相關的函式庫來提供對應的功能。但透過本論文提出的整合系統架構,除了提 供與這些函式庫類似的功能同時,隨著單一系統的更新,其他系統無需任何變更 亦能獲得新的資料。這在過往透過函式庫來提供相關功能的開發方式中是完全無 法想像的。. 9.

(16) 第二節 人臉偵測 人臉偵測一直是相當熱門的研究領域之一,但隨著各種人臉偵測演算法的產 生,人們也漸漸的將研究的重心移向複雜背景、低解析度影像與即時的偵測。但 不論方法如何演進,依舊可歸類於特徵基礎與影像基礎兩種類別 [6]。. 其中特徵基礎類型的方法較常被應用在即時系統之中,特別是在膚色能順利 偵測到的環境之下更是經常被人拿來使用。此外,也有些特徵基礎類型的方法常 被應用在灰階的靜態影像上。其中,於 [7]所提出的演算便能得到不錯的人臉偵 測結果。. 相較於特徵基礎類型的方法,影像基礎類型的方法在灰階的靜態影像上能提 供更為可靠的結果。於此類型的研究中,通常採用一個可變動大小的浮動視窗去 對整張影像進行掃描比對,但此種作法將造成龐大的計算量,對於即時系統而言 是相當不利的。因此,也有部分研究結合了兩種類型的方法,利用較快速的特徵 基礎方法進行前處理,篩選出可能有人臉的候選區域,在利用較為可靠的影像基 礎類型方法進行確認。. 10.

(17) 第三節 人臉辨識 人臉的辨識屬於人類視覺的一項重要訊息,且人臉的訊息屬於一種生物特 徵,與一般的鍵盤、滑鼠等裝置截然不同。正因如此,許多的學者紛紛投入時間、 精力加以研究,希望能讓電子裝置也擁有人臉辨識的能力,長久以來也提出了許 多不同的解決方法 [8] [9]。. 人臉辨識時,往往會先以訓練資料的平均值作為此人臉的特徵,但以原始影 像進行辨識由於維度過高,不僅計算量大、花費的時間長,往往也因為過多的雜 訊干擾,使得辨識率低落。. 因此,眾多學者也出了各式不同的降維方式,希望能從原始影像中取出最有 用的資訊,來增進人臉辨識的成效。其中較常見的降維方式有主要成分分析法 (Principle Component Analysis , PCA) 、 線 性 鑑 別 分 析 法 (Linear Discriminant Analysis,LDA)及保留局部關係之投影(Locality Preserving Projections,LPP)。. 上述的降維方法,無一例外地將二維影像資訊轉換至一維後再做運算,這便 失去了原有的一些空間資訊,近年來的研究則針對這點發展出了二維主要成份分 析法(2DPCA)、二維線性鑑別分析法(2DLDA)及二維局部關係之投影(2DLPP)。. 11.

(18) 在 [10] [11] [12]中,也分別透過實驗證明了二維的辨識效果較一維的辨識效 果要好,同時可降低時間及空間複雜度,可謂是準確度與速度兼具,導致後續的 研究往往起始於這些方法,再設法加以改良。. 在上述的三種二維方法中,因二維線性鑑別分析法相較於其他兩者,最能兼 顧準確率與效能,故在本系統中亦以二維線性鑑別分析法進行人臉辨識系統的實 作。. 圖二-1 人臉辨識自動點名系統. 12.

(19) 第四節 系統開發 自動點名系統開發由來已久,如圖二-2即是一套自動點名系統 [2],但此系 統依靠RFID去進行點名的動作。此方法與刷卡、簽到並無差異,雖減少了老師唱 名的時間,卻大大增加了代點名的可能性。反之,本系統透過人臉辨識技術進行 點名動作,幾乎不可能有代點名的情形發生。. 台灣科技大學的史朝龍同學開發了一個可調適智慧型架構如圖二-3 [13]。如 同本系統般,透過整合許多不同的元件,來提供服務給使用者。但在此研究中, 其系統架構大大仰賴JADE這個開發平台,雖加速了開發的過程,但同時亦限制了 其發展性。. 在本論文中,我們自行建立了一個平台。雖功能無法與JADE開發平台相比, 但尚足以滿足目前的系統需求。未來如有任何新增的需求,亦能透過修改平台去 滿足,同時無需擔心授權的問題。. 圖二-2 點名系統流程示意圖. 圖二-3 可調適智慧型架構示意圖. 13.

(20) 於 [14]一書中,針對資料的儲存方式、系統的控制方式…等,介紹了數種常 見的系統架構。其中,儲存庫模型(Repository Model)適用於分享資料,同時具有 各系統無須明瞭資料的產生方式及如何被使用的優點,恰與本系統的目標相符。. 而對於控制的方式,此書將其分為兩大類。第一類為集中式控制(centralized control),第二類則是以事件為主的控制方式(event-based control)。對於集中式控 制又介紹了兩種常見的系統控制模型,分別是管理者模型(manager model)與呼叫/ 返回模型(call-return model)。. 於本論文中,將針對整合系統之目標,以上述的各種模型為基礎進行修改。 期望在利用各模型的優點之餘,避免各模型原有之缺點,使整合系統的運作能更 有效率。同時,對於我們欲達成之各項目標,亦能有良好的表現。. 14.

(21) 第三章 研究方法 第一節 系統架構 本整合系統之目的為提供各模組所需的資料,並整合其處理結果,因此我們 以儲存庫模型(如圖三-1)作為系統架構的基礎。在此架構之下,各系統間無須了 解其他資料的產生方式,亦無需關心自己所產生的資料將如何被利用,大大簡化 了各系統在開發上的麻煩。. 圖三-1 儲存庫模型示意圖. 15.

(22) 而對於系統的控制方式,則有集中式及以事件為主的兩種控制方式,兩種方 式各有其優缺點。若採用集中式控制(如圖三-2),以我們的系統而言,最大的問 題在於將全盤由整合系統進行控制,如之前所提出的,一旦有子系統需要進行修 改,或是要加入新的子系統。整合系統勢必要進行對應的修改,才能配合各子系 統的增修。而這種方式與我們的系統目標恰恰相反。. 圖三-2 集中式控制方式示意圖. 而若採用以事件為主的控制方式(如圖三-3),亦即將控制權交到各子系統之 中,整合系統則只提供資料的控管。如此一來,即便有任何子系統的增修,整合 系統亦無需變動,即可滿足需求。. 圖三-3 以事件為主的控制方式示意圖. 16.

(23) 若採用以事件為主的控制方式,其資料傳輸的流程如圖三-4所示。相較於集 中式的控制方式,其資料傳輸多了一個索取資料的步驟。若包含在單一程式內, 這個動作可能僅僅是一個函數的呼叫,並不會對系統的效能造成多大的影響。但 若分散於兩支程式上,甚至這兩支程式可能分別運行於兩台不同的機器上,則此 動作將變為跨程式的訊息傳遞,其所造成的額外負擔勢必對整個系統的效能造成 影響。. 圖三-4 資料傳輸流程示意圖. 因此,為了兼顧彈性與效能,我們將各單一的子系統化分為兩大區塊,其中 一個區塊負責的是該子系統的控制,包含執行的時間點、頻率以及跟整合系統的 溝通工作等。. 17.

(24) 另一個區塊則主要有三大類型,第一類為向特定的對象取得資料,像影像擷 取子系統。另一類則是顯示各類結果給使用者,像使用者介面子系統。第三類則 視系統中最常見的,也就是資料的處理、分析,像人臉偵測中的AdaBoost、人臉 辨識中的2D-LDA…等。. 根據以上的種種原因,我們設計出了如圖三-5般的架構。其中紅線的區域即 為整合系統。. 影像擷取 控制模組. 影像擷取模組. 影像接合 控制模組. 影像接合模組. 人臉偵測 控制模組. 人臉偵測模組. 人臉辨識 控制模組. 人臉辨識模組. 姿勢辨識 控制模組. 姿勢辨識模組. 資料控制模組. 資料存取模組. 內部控制 模組群. 訊息分析模組. 核心層 Kernel Layer. 座位偵測 控制模組. 座位偵測模組. 使用者介面 控制模組. 使用者介面模組. 外部控制 模組群. 應用模組群. 系統層 System Layer. 應用層 Application Layer. 圖三-5 系統架構圖. 18.

(25) 核心層主要提供資料的控管,也正是透過資料控管的獨立,使得我們的系統 架構具備應對各子系統增修的彈性。其中,資料控制模組是所有資料儲存的地 方,而為了避免資料的錯誤存取與資料的同步化,我們建立了資料存取程模組一 來對儲存於資料控制模組的資料進行存取。同時,對於存在於整合系統外部的控 制模組,我們提供了訊息分析模組,以便這些外部的控制模組透過訊息傳遞的方 式進行資料存取。. 我們將原先各子系統中關於運行流程的相關部分獨立出來,成為了系統層中 的控制模組。對於控制模組我們又提供了兩種實作方式,第一種將其實作於整合 系統的程式內,而透過此實作方式的控制模組我們將其統稱為內部控制模組群。 以此種方式進行實作的話,我們可將圖三-4中的索取資料動作化為點單的函數呼 叫,增加系統的運作效率。. 在我們的系統結構中,亦允許將控制模組獨立於整合系統之外,此種方式提 供了其他合作開發者自行建立控制模組的可能性。因此,各子系統不論如何增 修,由於核心層的資料不會變動,因此不論是整合系統抑或是其他的子系統皆無 須修改即可照常執行。. 。. 19.

(26) 原先各子系統之方法核心獨立出來後便成為應用層中的各個應用模組,這些 應用模組依據其功能主要可分為三大類。最普遍的功能為針對邏輯模組所給予的 資料進行處理,再將這些結果傳回給整合系統,以便其他子系統能加以利用。. 第二類則是影像擷取,像是與攝影機的溝通,圖像或影片檔的解碼皆屬於此 類,主要是針對各種不同的原始資料來源,擷取資料後,將其傳入整合系統中讓 其他子系統進行使用。透過這種方式,其他子系統的開發者無須明白各種不同型 號的攝影機該如何進行操作,又或是不同的資料格是該如何解碼。. 第三類則是使用者介面,將透過使用者介面邏輯模組所提供的資料,以特定 方式,如文字、圖像…等的方式進行呈現。透過這樣的方式,可將所有結果呈現 於單一的畫面上,有助於使用者觀看系統結果。. 於此種架構下,我們可針對已知的子系統設計對應的內部控制模組以減少部 分的訊息傳輸負荷。同時,對於子系統增修,亦可新增對應的外部控制模組,如 此即可避免整合系統的變動。亦可於整合系統改版時,將這些外部控制模組修改 為內部控制模組以增進效能。透過此種設計,系統即可同時兼顧效能與彈性。. 20.

(27) 第二節 資料格式 因系統運作的過程中,可能有同時跨越多個程式、甚至跨越多台機器的情形 發生,因此有時函數呼叫是透過訊息傳遞完成的。為了避免在不同平台上,同一 資料型態卻採用不同編碼方式的問題。在本節中,我們針對訊息傳遞時,會使用 到的資料型態進行了詳細的定義以確保溝通雙方對於同一份資料的解讀結果是 一致的。. (一) 整數. 其大小固定為4個Bytes,採用Big-endian及2’s complement進行編碼。數值範 圍介於-2147483648至2147483647之間,其訊息格式如表三-1所示。. 表三-1 整數訊息格式 1~4位元組 數值內容 假設有一數字,其值為256497,以十六進位表示為0x0003E9F1,其實際訊息 的位元組內容如表三-2。. 表三-2 整數範例 位元組編號 內容 位元組內容. 1 0x00. 2. 3. 256497 0x03 0xE9. 21. 4 0xF1.

(28) (二) 字串. 其訊息格式如表三-3所示。其中,第1至4個位元組之內容為一個整數格式, 以n表示其數值,為字串內容所使用之位元組數。後續的n個位元組為字串內容, 編碼採用UTF-8。. 表三-3 字串訊息格式 1~4位元組. 5~4+n位元組. 字串內容長度. 字串內容. 假設有一字串,其內容為”NTNU”,其實際訊息的位元組內容如表三-4所示。. 表三-4 字串範例 位元組編號 內容 位元組內容. 1. 2. 3. 4. 0x00. 0x04. 4 0x00. 0x00. 5 ‘N’ 0x4E. 6 ‘T’ 0x54. 7 ‘N’ 0x4E. 8 ‘U’ 0x55. (三) 其餘數字. 所有不在整數中所定義的數字皆屬於此類,如各式浮點數,亦包含其值範圍 超 過 4 個 位 元 組 所 能 儲 存 之 整 數 數值 , 亦 即 該 整 數 小 於 -2147483648 或 大 於 2147483647。所有此類之數字應以字串進行表示,如表三-5,以避免編碼及捨入 造成的數值差異。. 表三-5 其餘數字訊息格式 1~4位元組. 5~4+n位元組. 數字內容長度. 數字內容. 22.

(29) 假設有一整數,其數值為9375684213,因其超過2147483647,故不採整數格 式,而採用其餘數字格式,其實際訊息的位元組內容如表三-6所示。. 表三-6 其餘數字範例一 位元組編號 內容 位元組內容. 0x00. 位元組編號 內容 位元組內容. 9 ‘6’ 0x36. 1. 2. 3. 4 0x0A. 5 ‘9’ 0x39. 6 ‘3’ 0x33. 0x00. 0x00. 10 ‘8’ 0x38. 11 ‘4’ 0x34. 12 ‘2’ 0x32. 13 ‘1’ 0x31. 14 ‘3’ 0x33. 10. 7 ‘7’ 0x37. 8 ‘5’ 0x35. 假設有一浮點數其值為3.1415926,其訊息實際位元組內容如表三-7所示。. 表三-7 其餘數字範例二 位元組編號 內容 位元組內容. 0x00. 位元組編號 內容 位元組內容. 9 ‘1’ 0x31. 1. 2. 3. 4. 0x00. 0x00. 0x09. 5 ‘3’ 0x33. 10 ‘5’ 0x35. 11 ‘9’ 0x39. 12 ‘2’ 0x32. 13 ‘6’ 0x36. 9. 23. 6 ‘.’ 0x2E. 7 ‘1’ 0x31. 8 ‘4’ 0x34.

(30) (四) 物件. 訊息格式如表三-8所示。其中,第1至4個位元組之內容為一整數格式,其值 固定為0,用於跟後續介紹之陣列型態進行區隔。第5至8個位元組之內容亦為一 個整數格式,以n表示其數值,為物件內容所使用的位元組數量。後續的n個位元 組,表示此物件之內容,其資料型態若屬於1至3項所定義之範圍則需遵照前述之 規範,其餘型態則不予限制。. 表三-8 物件訊息格式 1~4位元組. 5~8位元組. 9~8+n位元組. 0. 物件內容長度. 物件內容. 假設有一物件,其內容為0x33 0xE1 0x57 0xA6 0xBC,其實際訊息的位元組 內容如表三-9所示。. 表三-9 物件範例一 位元組編號 內容 位元組內容. 0x00. 0x00. 0x00. 0x00. 0x00. 位元組編號 內容 位元組內容. 9 0x33 0x33. 10 0xE1 0xE1. 11 0x57 0x57. 12 0xA6 0xA6. 13 0x36 0x36. 1. 2. 3. 4. 5. 6. 0. 7. 8. 0x00. 0x05. 5. 24. 0x00.

(31) 假設有另一物件,其內容為0x12 0x67 0xEC 0x6A 0xC1 0xB9 0xC6 0xAA 0x90,則其實際訊息的位元組內容如表三-10所示。. 表三-10 物件範例二 位元組編號 內容 位元組內容. 0x00. 0x00. 0x00. 0x00. 0x00. 位元組編號 內容 位元組內容. 9 0x12 0x12. 10 0x67 0x67. 11 0xEC 0xEC. 12 0x6A 0x6A. 13 0xC1 0xC1. 位元組編號 內容 位元組內容. 17 0x90 0x90. 1. 2. 3. 4. 5. 6. 7. 8. 0x00. 0x00. 0x09. 14 0xB9 0xB9. 15 0xC6 0xC6. 16 0xAA 0xAA. 0. 9. (五) 陣列. 用於表示多個物件的集合,其單項內容我們稱之為元素。元素可以為物件或 另一陣列,陣列之訊息格式如表三-11所示。其中,第1至4個位元組之內容為整數 格式,以n表示其數值,表示後續元素個數。. 每個元素中,第1至4個位元組之內容為整數格式,該整數表示此元素位於此 陣列之索引值。其餘資料表示該元素之內容,其形態可為一個物件或一個陣列。. 表三-11 陣列訊息格式 n個元素. 1~4 位元組 元素數量. 元素索 引值. 物件或 陣列. 元素索 引值. 25. 物件或 陣列. …. 元素索 引值. 物件或 陣列.

(32) 假設有一陣列,其內容為{{1,2,3},{4,5,6}},其實際訊息的位元組內容如表 三-12所示。. 表三-12 陣列範例 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容. 1. 2 3 4 2 (第一維的物件個數) 0x00 0x00 0x00 0x02 9. 10 11 12 3 (第二維的物件個數) 0x00 0x00 0x00 0x03 17. 18. 19. 20. 5. 6 7 8 0 (第一維的索引) 0x00 0x00 0x00 0x00 13. 14 15 16 0 (第二維的索引) 0x00 0x00 0x00 0x00 21. 22. 0 0x00 25 0x00 33. 0x00. 26 27 1 (資料[0][0]) 0x00 0x00 35. 0x00. 0x00. 28. 29. 0x01 36. 0x00. 41 0x00 49. 0x00. 37. 38. 42 43 2 (資料[0][1]) 0x00 0x00 51. 0x00. 0x00. 44. 45. 0x02 52. 0x00. 57 0x00. 0x00. 39. 40. 0x00. 0x04. 46 47 48 2 (第二維的索引) 0x00 0x00 0x00 0x02 53. 54. 0 0x00. 0x04. 4 0x00. 50. 0x00. 30 31 32 1 (第二維的索引) 0x00 0x00 0x00 0x01. 0 0x00. 24. 4 0x00. 34. 23. 55. 56. 0x00. 0x04. 4 0x00. 58 59 3 (資料[0][2]) 0x00 0x00. 0x00. 0x00. 60. 61. 0x03. 65. 66 67 68 3 (第二維的物件個數) 0x00 0x00 0x00 0x03. 26. 0x00. 62 63 64 1 (第一維的索引) 0x00 0x00 0x00 0x01 69. 70 71 72 0 (第二維的索引) 0x00 0x00 0x00 0x00.

(33) 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容 位元組編號 內容 位元組內容. 73. 74. 75. 76. 77. 78. 0 0x00 81 0x00 89. 0x00. 82 83 4 (資料[1][0]) 0x00 0x00 91. 0x00. 0x00. 84. 85. 0x04 92. 0x00. 97 0x00 105. 0x00. 93. 94. 0x00. 0x00. 98 99 5 (資料[1][1]) 0x00 0x00. 100. 101. 107. 0x00. 95. 96. 0x00. 0x04. 0x05. 102 103 104 2 (第二維的索引) 0x00 0x00 0x00 0x02. 108. 109. 110. 0. 111. 112. 0x00. 0x04. 4. 0x00. 0x00. 0x00. 0x00. 113. 114 115 6 (資料[1][2]) 0x00 0x00. 116. 0x00. 0x04. 4 0x00. 106. 0x00. 86 87 88 1 (第二維的索引) 0x00 0x00 0x00 0x01. 0 0x00. 80. 4 0x00. 90. 79. 0x06. 27. 0x00. 0x00.

(34) 第三節 功能函數 所有的功能函數有兩種呼叫方式,第一種為一般程式的函數呼叫,另一種則 是以訊息傳遞的方式進行呼叫。本段將描述各函數之功能,並針對訊息傳遞的呼 叫方式進行細部的描述。. (一) 資料名稱. 在函數的定義之前,先定義於部分函數呼叫中會使用到的資料名稱格式。資 料名稱為單一字串,任何可用UTF-8進行編碼之字元皆可使用,唯獨不能使用’-’ 字元。. 對於陣列型態的資料內容,亦可於資料名稱後加上索引值,索引值與名稱和 索引值與索引值間以‘-’字元區隔,表示僅取用該陣列中的部分內容物。索引值部 分除了可填進以文字表示的數值外,亦可填入‘*’字元,表示取用該維度全部的資 料。索引值亦可只指定部分維度,所有未指定索引值之維度視同填入‘*’字元。. 28.

(35) 可 採 用 各 式 字 元 進 行 來 當 作 字 元 名 稱 , 如 : FaceImage 、 Face Image 、 Face_Image、@FaceImage#、臉部影像…等,皆屬於合法之字元名稱。. 假設有一陣列其名稱為data,其大小為2×3,內容為{{1,2,3},{4,5,6}}。使用 data-0-0表示該陣列位於[0][0]之值,亦即會獲得1這個值。使用data-0(第二維度未 指定)或data-0-*(第二維度以‘*’進行表示)則表示取得該陣列位於[0]之值,表示 會取得{1,2,3}這個陣列。亦可使用data-*-0(第一維度以*進行指定)來取得{1,4}這 個陣列。. 29.

(36) (二) CheckConnection. 部分模組可能因其工作處理時間較長或週期間隔較久,導致模組與模組間許 久沒有任何互動,為能區別模組與模組間是已失去連線或僅是該模組處於閒置或 忙碌中,故制定CheckConnection函數以用來確認模組與模組間是否仍保持連線狀 態。. 當一方收到CheckConnection的訊息時,應回傳Connected訊息給另一方,以表 示連線仍然存在。當一方多次發出CheckConnection訊息卻未獲得回應時,表示連 線已中斷,可釋放相關資源以避免不必要的資源浪費。. 30.

(37) 當控制模組被包含在系統端時,控制模組偵測到整合系統許久未接獲某一應 用模組之任何訊息時,使用CheckConnection函數進行連線狀態之確認,其流程如 圖三-6。. 同樣的,對於外部控制模組而言,許久未接獲來自整合系統的訊息時,亦可 使用CheckConnection函數進行連線狀態的確認,流程如圖三-7。. CheckConnection. CheckConnection. 核心層. 系統層. 過久沒有動作. 應用層. 核心層. 否. 否. 是. 傳送 CheckConnection 訊息. 連線已中斷 釋放系統資源. 否. 系統層. 應用層. 過久無動作. 是. 連線已中斷. 是. 是. 連線已中斷. 否. 否. 傳回 Connected 回應訊息. 傳送 Connected 訊息. 無回應 超過次數. 傳送 CheckConnection 訊息. 無回應 超過次數. 否. 連線已中斷 釋放系統資源. 是 是. 圖三-6 CheckConnection 流程圖一. 圖三-7 CheckConnection 流程圖二. 31.

(38) (三) SetData. 當一模組需傳遞資料給另一模組時,將使用此函數。. 使用此函數時,首先送出SetData訊息以表示將進行此動作,隨後送出該筆資 料的名稱,最後則以資料格式一節所述之物件或陣列格式將該筆資料的內容送 出。這裡需要特別注意的是資料名稱不能包含索引值。. 假定有一陣列名為SourceImage,其大小為2×3。. 若傳遞整個陣列則訊息內容如表三-2;若僅傳遞SourceImage[1][0]的資料則如 錯誤! 找不到參照來源。,錯誤! 找不到參照來源。為錯誤範例。. “SetData” “SourceImage” 2 0 3 0 SourceImage[0][0] 1 SourceImage[0][1] 2 SourceImage[0][2] 1 3 0 SourceImage[1][0] 1 SourceImage[1][1] 2 SourceImage[1][2] 表三-13 SetData 訊息範例一 “SetData” “SourceImage” 1 1 1 0 SourceImage[1][0] 表三-14 SetData 訊息範例二 “SetData” “SourceImage-1-0” SourceImage[1][0] 表三-15 錯誤使用 SetData 之訊息範例. 32.

(39) SetData之運作流程如錯誤! 找不到參照來源。、錯誤! 找不到參照來源。。. SetData 核心層. 系統層. 應用層. 使用 SetData 傳輸資料. 階段. 接收資料. 圖三-8 SetData 流程圖一 SetData 核心層. 系統層. 應用層. 使用 SetData 傳輸資料. 階段. 接收資料. 圖三-9 SetData 流程圖二. 33.

(40) (四) GetData. 當一模組欲從另一模組取得資料時,將使用此函數。. 使用此函數時,首先送出GetData訊息以表示將進行此動作,隨後送出欲取得 資料的名稱。稍後,另一方將以SetData的函數將該筆資料傳遞出來。. 假設欲索取一筆名為FaceImage的資料,並且FaceImage是一大小為3×6的陣 列。如欲取得所有資料則其訊息內容如錯誤! 找不到參照來源。,如僅欲取得部 分資料則訊息內容如錯誤! 找不到參照來源。,運作流程如錯誤! 找不到參照來 源。。. “GetData” “FaceImage” 表三-16 GetData 訊息範例一 “GetData” “FaceImage-*-2” 表三-17 GetData 訊息範例二 GetData 核心層. 系統層. 應用層. 發出 GetData 訊息. 查找對應名稱 之資料. 向資料控制模組 索取資料. 階段. 以SetData函數 傳送資料給應用層. 34. 接收資料.

(41) 圖三-10 GetData 流程圖. 35.

(42) (五) GetStream. 與GetData函數相似,皆是用來向另一方取得資料使用。唯GetData函數每次 欲取得資料前皆需使用,而GetStream則僅需使用一次,另一方即需將資料持續傳 輸出來。. 與GetData相同,首先送出GetStream訊息以及資料名稱,接著送出Start/Stop 訊息分別表示傳輸開始/結束。. 接著送出All/Single,此參數主要的服務對象是陣列。用以告訴另一方傳遞資 料時是將整個陣列一次傳輸出來,或是將該陣列的內容一次一筆個別傳輸出來。. 假定有一陣列名為FaceImage,其大小為3×6。如欲持續取得此陣列之值,其 訊息內容如表三-18;如欲停止,則訊息內容如表三-19。若僅欲取得該陣列的部 分資料時,訊息內容如表三-20。但若是希望能取得所有資料,且一次只傳送一筆 而非全部時,可使用Single參數,其訊息內容如表三-21。. “GetStream” “FaceImage” “Start” “All” 表三-18 GetStream 訊息範例一 “GetStream” “FaceImage” “Stop” 表三-19 GetStream 訊息範例二 “GetStream” “FaceImage-*-3” “Start” 表三-20 GetStream 訊息範例三 “GetStream” “FaceImage” “Start” “Single” 表三-21 GetStream 訊息範例四 36.

(43) 不論是取得何種資料,GetStream的運作流程皆如圖三-11所示。. GetStream 核心層. 系統層. 應用層. 發出 GetStream 訊息. 設定Stream階段. 向資料控制模組 註冊Stream狀態. 開始傳送 資料串流. 傳送資料階段. 根據註冊的Stream 狀態取出資料. 發出 SetData 訊息. 接收資料. 圖三-11 GetStream 流程圖. 37.

(44) 第四節 現有子系統 本節中所介紹之各項子系統,除(三)座位偵測子系統採用的是邏輯控制程式 放置在模組端的設計外,其他皆採用控制模組包含於整合系統內的設計方式。. (一) 影像擷取子系統. 影像擷取主要目的是從各式輸入源(如PTZ攝影機、圖片或影片)中取得影 像,由於不同的攝影機或檔案格式有其特殊的存取或編碼方式。將其獨立為一個 模組,其他模組開發者透過此系統即可存取原始影像,無需自行理解如何操作攝 影機或對各式影像檔案進行解碼。. 當影像擷取模組自攝影機或檔案取得原始影像後,透過影像擷取控制模組, 將這些原始影像資料存進資料控制中心內。如此一來,其餘子系統亦可透過資料 存取模組或訊息分析模組去取得原始影像資料。其運作流程如圖三-12。. 影像擷取子系統 核心層. 系統層. 應用層. 自攝影機/檔案 取得影像. 根據名稱 儲存影像資料. 將影像存進 資料控制模組. 38. 將影像傳給系統.

(45) 圖三-12 影像擷取子系統流程圖. 39.

(46) (二) 影像接合子系統. 在實際案例中,為確保能取得教室中的所有影像,攝影機在架設時勢必會有 拍攝區域重疊之現象。而我們考量到某些子系統若影像資料若有重疊,可能會影 響其判斷,故希望透過此功能獲得良好的接合影像。. 此接合影像除提供某些子系統進行訊息分析之外,亦可提供給使用者觀看。 相較於多幅原始影像以陣列方式之呈現,單一的全景影像更能讓人覺得身歷其 境。若以點名系統而言,老師於系統介面上看到之畫面亦更容易與現場所觀看的 畫面進行比對。. 當影像接合模組接獲影像接合控制模組自資料控制模組所取得之原始影像 後,計算出合理的接合方式後,將多幅原始影像接合為單一的全景影像。之後, 再透過影像接合控制模組將接合完之全景影像存回資料控制中心之中,其運作流 程如圖三-13。. 40.

(47) 影像接合子系統 核心層. 系統層. 應用層. 自資料控制模組 取得原始影像. 回傳原始影像. 使用SetData函數 傳送原始影像. 接收原始影像. 進行影像接合處理. 使用SetData 傳送接合影像. 接收接合影像. 將接合影像存入 資料控制模組. 圖三-13 影像接合子系統流程圖 41.

(48) (三) 座位偵測子系統. 以點名系統而言,除了辨識出那些學生有到場外,知道每位學生位於何 座位上亦是一件重要的事情。為此,我們認為需要一座位偵測子系統來進行 教室座位位置的分析。. 透過此子系統之結果,不僅可知道各學生位於何座位上,同時透過刪去 非座位之部分,亦可減少部分子系統之執行時間,使系統效能得以提升。. 座位偵測控制模組首先透過訊息分析模組自資料控制模組取得接合影 像後,再將此影像傳給座位偵測模組。針對影像進行座位分析後,找出各座 位於影像上之座標。座位偵測控制模組再透過訊息分析模組將這些座標值存 回至資料控制模組。. 本子系統目前採用將外部控制模組的設計,乃因我們認為教室座位不會 隨時變動,因此座位偵測這個動作僅在系統初始化的階段時使用,故座位偵 測控制模組無須常駐,其運作流程如圖三-14。. 42.

(49) 座位偵測子系統 核心層. 系統層. 應用層. 使用GetData 取得接合影像. 使用SetData 回傳接合影像. 進行座位偵測. 使用SetData傳送 座位偵測結果. 接收座位偵測結果. 圖三-14 座位偵測子系統流程圖. 43.

(50) (四) 人臉偵測子系統. 在一個依靠人臉辨識技術點名系統上,人臉的偵測至關重要,本子系統目前 亦依靠人臉偵測之結果來判斷哪個座位有學生,因此一個好的人臉偵測模組是不 可或缺的。. 本子系統目前以接合影像作為處理對象,並且搭配座位偵測之結果來縮減處 理的資料量,再將人臉偵測之結果與座位配對後回傳,其運作流程如圖三-15。. 人臉偵測子系統 核心層. 系統層. 應用層. 向資料控制模組 取得接合影像與 座位偵測結果. 回傳接合影像 與座位偵測結果. 使用SetData傳送 接合影像與 座位偵測結果. 接收接合影像 與座位偵測結果. 人臉偵測. 接收人臉偵測結果. 將人臉偵測結果 存入資料控制模組. 圖三-15 人臉偵測子系統流程圖. 44. 使用SetData傳送 人臉偵測結果.

(51) (五) 人臉辨識子系統. 人臉的辨識,便是我們系統能做到自動點名的主因。透過與訓練資料相比 對,我們可得知位於座位上之每位學生之身分。. 本子系統依據人臉偵測之結果,自接合影像中取出人臉影像,再針對人臉影 像進行訓練與辨識,其運作流程如圖三-16。. 於圖三-16中,我們可見到來自資料控制模組之原始資料僅有接合影像與人臉 資訊,透過在系統層中將兩者結合,篩選出人臉影像後再傳遞,如此ㄧ來亦可減 少資料的傳遞量。這也是我們提供內部控制程式之一大主因,亦透過這個案例來 進行展示。. 45.

(52) 人臉辨識子系統 核心層. 系統層. 應用層. 向資料控制模組 取得接合影像與 人臉偵測結果. 回傳接合影像 與人臉偵測結果. 根據人臉偵測結果 自接合影像取出 人臉影像. 使用SetData傳送 人臉影像. 接收人臉影像. 人臉辨識. 接收人臉辨識結果. 將人臉辨識結果 存入資料控制模組. 圖三-16 人臉辨識子系統流程圖. 46. 使用SetData傳送 人臉辨識結果.

(53) (六) 舉手辨識子系統. 以座位偵測之結果,從接合影像中取出座位影像,並搭配人臉偵測資訊,進 行舉手情形的辨識。. 舉手辨識模組 核心層. 系統層. 應用層. 向資料控制模組 取得接合影像、 座位偵測結果 與人臉偵測結果. 回傳接合影像、 座位偵測結果 與人臉偵測結果. 根據座位偵測結果 自接合影像取出 座位影像. 使用SetData傳送 座位影像與人臉偵 測結果. 接收座位影像 與人臉偵測結果. 舉手辨識. 接收舉手辨識結果. 將舉手辨識結果 存入資料控制模組. 將舉手辨識結果 傳回核心層. 圖三-17 舉手辨識子系統流程圖. 47. 使用SetData傳送 舉手辨識結果.

(54) 第四章 系統成果與實際案例 由於系統架構提供了將各模組分別實做成單一程式並執行於不同機器上的 可能性。我們已分別架設了兩種環境,如圖四-1、圖四-2。. 23 U 8U 8U 8U. C. C. C. C. C C. C. C. 圖四-1 801 教室環境示意圖. 圖四-2 209 教室環境示意圖. 其中801教室所有的程式都將運行於教室中的All-in-one電腦上。而209教室則 只有使用者介面的程式運行於教室中的All-in-one電腦上,其餘的程式則運行於遠 端的伺服器、All-in-one電腦或其他個人電腦上。. 48.

(55) 以下,將以801教室來展示系統實際的運行結果。. 我們於實驗環境中架設了三台網路攝影機來擷取學生的資訊,於圖四-3中, a、b、c分別表示了三台攝影機所派社的畫面。圖四-4為系統的初始畫面,其模擬 的是學生座位的實際情況,若加入其他模組,可將其判斷結果顯示於對應的座位 上,讓教師可一次性的看到所有學生的狀態。. a. b 圖四-3 攝影機原始影像. 圖四-4 系統初始畫面. 49. c.

(56) 若教師希望了解單一學生更詳細的資訊,可點擊該座位,將出現另一畫面展 現該學生更進一步的詳細資訊。圖四-5a中展示了該圖層的狀態,圖四-5b中則為 實際加入座位切割模組後,顯示的該座位影像及詳細資訊。未來若整合其他新的 模組,如學生資料庫、學生睡眠偵測…等,亦可將資訊顯示於此。. a. b 圖四-5 詳細資訊畫面. 50.

(57) 若更進一步加入人臉偵測模組,則可看到每一座位上的學生頭部附近之影 像,如圖四-6。. 圖四-6 系統畫面(含人臉偵測結果). 最後再加入人臉辨識模組即可實現自動點名之功能,圖四-7顯示了加入人臉 辨識之後的畫面。. 圖四-7 系統畫面(含人臉辨識結果) 51.

(58) 第五章 結論 第一節 結論 透過將邏輯控制的部分劃分為單獨的一個層次,我們令系統核心擁有足夠的 彈性應付未來各種模組的修改與新增。同時各模組透過系統來交流資料,使得各 模組能輕易的利用其他模組的結果,減少了非必要的工作內容。同時令整個系統 不必重複進行同樣的工作。. 第二節 未來研究 在此系統架構下雖允許任意新增核心函數及各式模組,但於本論文中尚未驗 證其容納之上限。未來可考慮實際測試,當加入大量核心函數或模組後,是否會 對系統之運作情形造成影響,以及是否需要調整系統架構使之能順利運作。. 52.

(59) 參考文獻 [1] Stephen S. Yau, Sandeep K. S. Gupta, Fariaz Karim, Sheikh I. Ahamed, Yu Wang and Bin Wang, "Smart classroom: Enhancing collaborative learning using pervasive computing technology," ASEE Annual Conference Proceedings, 2003.. [2] Chang and Ching Hisang, "Smart Classroom Roll Caller System with IOT Architecture," in Innovations in Bio-inspired Computing and Applications, Shenzhen, China, 2011.. [3] 李昇龍, “基於增量學習之人臉辨識研究,” 國立臺灣師範大學, 臺北市, 2011.. [4] 李韋廷, “人體姿勢判斷系統應用於投影片控制,” 國立臺灣師範大學, 臺 北市, 2010.. [5] 李振遠, “基於背景模型的人體姿勢判斷系統,” 國立臺灣師範大學, 臺北 市, 2011.. [6] Erik Hjelmas and Boon Kee Low, "Face Detection: A Survey," Computer Vision and Image Understanding, vol. 83, pp. 236-274, 2001.. 53.

(60) [7] B. Froba and C. Kublbeck, "Robust Face Detection at Video Frame Rate based on Edge Orientation Features," in IEEE Conf. Automatic Face and Gesture Recognition, Washington, DC, USA., 2002.. [8] W. Zhao, R. Chellappa, P.J. Phillips and A. Rosenfeld, "Face Recognition: A Literature Survey," ACM Computing Surveys, vol. 39, no. 4, pp. 399-458, 2003.. [9] A.S. Tolba, A.H. El-Baz and A.A. El-Harby, "Face Recognition: A Literature Review," vol. 2, no. 2, pp. 88-103, 2006.. [10] J. Yang and D. Zhang, "Two-Dimensional PCA: A New Approach to Appearance-based Face Representation and Recognition," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 26, no. 1, pp. 131-137, 2004.. [11] J. Yang, D. Zhang and X. Yong, "Two-Dimensional Discriminant Transform for Face Recognition," Pattern Recognition, vol. 38, no. 7, pp. 1125-1129, 2005.. [12] S. Chen, H. Zhao, M. Kong and B.Luo, "2D-LPP: A Two-Dimensional Extension of locality Preserving Projections," Neurocomputing, vol. 70, no. 4-6, pp. 912-921, 2007.. 54.

(61) [13] 史朝龍, “Adaptive Intelligence Architecture in Pervasive Computing,” 國立 台灣科技大學, 臺北市, 2007.. [14] I. Sommerville, Software Engineering, 8 ed., 2007.. [15] "MSDN Library," microsoft, [Online]. Available: http://msdn.microsoft.com/en-us/library/ms123401.aspx.. [16] "Java™ Platform, Standard Edition 7 API Specification," oracle, [Online]. Available: http://docs.oracle.com/javase/7/docs/api/.. 55.

(62)

參考文獻

相關文件

智者大師根據《大品般若經》 、 《大智度論》 、 《成論》 、 《毘曇》等較早期的大乘經 論對禪法的演繹及修行,使我們聯想起近代西方學者 Paul Harrison

Eric, B., Georges-Louis B., Computer-Based Concept Mapping : a Review of a Cognitive Tool for Students, in Benzie David & Passey Don (eds.), Proceedings of Conference

工作紙 合作學習 同質分組 腦基礎 電子學習 自主學習 異質分組 翻轉教室 生活應用 提問技巧 探究式..

使用人工智慧框架基礎(Frame-based)的架構,這些努力的結果即為後來發展的 DAML+OIL。DAML+OIL 是 Web Resource 中可以用來描述語意的 Ontology 標 記語言,它是以 W3C

Location Context Interpreter block (LeZi-PDA, etc.).. Foreground

在基礎教育階段,學生通過視覺藝術評賞、視覺藝 術創作和視覺藝術知識 三個學習範疇

Tekalp, “Frontal-View Face Detection and Facial Feature Extraction Using Color, Shape and Symmetry Based Cost Functions,” Pattern Recognition Letters, vol.. Fujibayashi,

以角色為基礎的存取控制模型給予企業組織管理上很大的彈性,但是無法滿