• 沒有找到結果。

Chapter 5 系統實作

5.2 系統運作

本論文所呈現的為一個從影像擷取到產生反應動作的完整系統,主要可以分 成軌跡點重建(見第二章與第三章)、軌跡辨識(見第四章)以及目標系統控制 三個主要的部份,系統的完整流程圖呈現如圖5.3。在人機互動系統的應用上,

控制部份的設計良劣與否影響使用者觀感最甚,一個設計簡潔且穩定的控制元件 會使得使用者在使用上更感親切且直覺易懂。此外,為了使得本系統在應用上有 擴充的可能性空間,我們再將控制的部份細分出控制層(由有限狀態機組成,負 責與類神經網路溝通,獲得軌跡樣式後往指令層送出訊息,等待指令層傳回的指 令)與指令層(負責在不同的應用中對不同的應用程式下各式的指令)的部份,

本節描述在實作上關於系統控制的各個細節。

5.2.1 軌跡樣式

在實作上,定義一套直覺且簡單的軌跡樣式有助於使用者快速上手此系統,

圖5.4 中我們列出幾種可為我們系統中類神經網路所辨識的軌跡樣式範例,如第 四章所述,軌跡點的集合在被送往類神經網路判斷之前會先經過補償的動作,也 因此無論此次在投影區域內的軌跡點是多少,我們皆可以確保有一固定數量的軌 跡點被送往類神經網路做正確的判斷。圖5.5 表示一個真實情形下的 Z 字型軌 跡,在系統中,此種軌跡的樣式為Select,因此我們希望在輸入軌跡點之後,整 條軌跡能夠正常地被判定為Select 樣式。經過 4.2.4 節的說明,我們可以了解此 種軌跡的辨識率約有九成,在圖5.5 的範例可以正常地被判定為一個 Select 樣 式,由圖所見,即使經過補償,整條軌跡仍具有許多不規則的特徵誤差(此類誤

Trajectory Recognition Command

Modules Pointer Tracking

Pointer Tracking

Principle Component

Analysis

Principle Component

Analysis

Target Point Reconstruction

Interactive Computer

(1)

(2) (3)

(4)

(5)

(1) Send Compensated Points to Neural Network

(2) Return Determined Trajectory Type

(3) Send Trajectory to Selected Command Layer Module (4) Return Related Command (5) Send Interactive Command

Image Im

Region of Pixels Region of Pixels

Vector V

Tar

age

ector

get Point

Projector

State Identification

圖5.3 系統流程圖

差來自於重建或追蹤),然而仍然能夠被正常地有效辨別,由此可見使用類神經 網路可以有效地解決在系統前端來自追蹤以及重建這兩個部份的誤差,進一歩辨 識軌跡。此外,由於在我們的系統中採取了串列多層前授網路架構,因此軌跡樣 式的數目是可自由擴充的,當使用者在發展新應用時,如果發現想使用的動作沒 有合適的手勢來配合時,可以在不影響原先架構的情形下增加軌跡樣式,另外,

在測試階段時也可以自由地刪減不合適的軌跡樣式,以符合系統維護的簡潔性。

Page Up Page Down Open File Close File

Go Idle Print Page F5 ESC 圖5.4 節選系統中的既定軌跡樣式

圖5.5 一個真實系統中的軌跡範例,圖左為未經補償的狀態,

圖右為經補償動作之後的結果,此軌跡範例能夠被正常地辨識

5.2.2 指令層

在系統的實作上,我們將指令依應用分類,這麼做的主要目的是避免同一種 應用有太多種軌跡樣式,影響類神經網路判斷的正確性,因此決定一組合適的指

令組合便成為實踐各種應用系統時最主要的考量。舉例來說,當一位使用者在使 用簡報系統時,他可能不會考慮使用如Print 這樣的功能,而當另一位使用者在 使用網頁瀏覽系統時,他可能沒有需要用到如ESC 鍵(PowerPoint 中從全螢幕 模式跳回視窗介面模式)這樣的功能,因此我們在不同的系統中使用不同的樣式 組合,以增加系統的正確性以及可維護性。

在系統中,透過對各種軌跡樣式定義獨特的名稱,我們可以有效地模組化「軌 跡樣式←→動作」之間的一對一關係,表 5.2 展示出三組實作上的對應,當定義 完一組指令集之後,整個人機互動介面的程序便告完成,使用者便可以透過系統 依其需求進行與電腦之間的溝通。

表5.2 三組「軌跡樣式←→動作」之間的一對一關係

軌跡樣式名稱 相對應動作

Open File 1. 開啟選擇視窗

2. 跳到選擇狀態,等待使用者輸入欲開啟的文件編號 Go Idle 1. 將系統狀態改到休息狀態,使得有限狀態機單純接收

點輸入而不將其送往類神經網路 ESC 1. 對前景(Foreground)文件送出 ESC 鍵

5.2.3 有限狀態機

在我們的系統中,我們使用有限狀態機做為我們控制模組的核心,在此有限 狀態機中,最重要的功能就是負責在類神經網路以及動作層間之溝通,從類神經 網路得到軌跡樣式後,再將此樣式送往動作層產生動作,最後將動作作用在互動 的電腦上,便完成一輪的作業。當使用者對著投影布幕做指向動作的時候,最重 要的動作區分的就是指向物軌跡點落在投影布幕內跟落在投影布幕外兩種情 形,因此我們依此劃分出有限狀態機的狀態為區域內狀態(Inside State,圖 5.6 左上)與區域外狀態(Outside State,圖 5.6 左下),此外,由於當軌跡點落在投 影布幕內時我們可能是想做下面三種動作:

(1) Trajectory = “Select”

(2) Accumulate N Points Inside

(1) Trajectory = “Idle”

(2) Accumulate N Points Inside Accumulate N Points Outside

Wait Until A Region Is Selected

A Region Is Selected

Wait Until N Points Accumulated Outside (2) Add Inside Points To

Trajectory Points Set Wait Until N Points

Accumulated Inside

Outside State

Select State

Accumulate N Points Outside

圖5.6 本系統中有限狀態機示意圖 (2) Send Compensated Points To NeuroNet (3) Determine Trajectory (4) Send Trajectory To

Action Layer

Inside State

Idle State

(1) Wait Until N Points Accumulated Outside

State 的事件被觸發。

(3)休息狀態:當有限狀態機停留在此狀態(Idle State)時,被重建的軌跡點 除了本身的位置資訊外不代表任何其他資訊(例如上兩例中的數字或者軌跡 樣式),通常當使用者僅是想使用軌跡點介紹畫面中資訊時使用(此時可以 把軌跡點當作是滑鼠游標,僅在畫面中游移而不輸入任何訊息),當此軌跡 點移到畫面外並持續停留

N 點之後,我們認為使用者已經介紹完其想表達

的資訊,因此整體狀態又回到區域外狀態。

至此,我們以介紹完畢有限狀態機所有的行為模式,我們接下來將介紹兩種可應 用於實際系統中的實作雛形。

相關文件