• 沒有找到結果。

基於立體視覺環境下即時人機互動介面之實作

N/A
N/A
Protected

Academic year: 2022

Share "基於立體視覺環境下即時人機互動介面之實作"

Copied!
59
0
0

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

全文

(1)

基於立體視覺環境下即時人機互動介面之實作

學生:許 志 高 指導教授:莊 仁 輝 博士

國立交通大學 資訊工程學系

摘 要

在電腦視覺的領域中,利用二維影像資訊重建三維特定座標點的指向系統之 研究已行之多年。隨著電腦計算能力的進步,我們已能夠在此種基於電腦視覺的 環境下實踐出即時人機互動的應用介面。本論文利用指向物的已知外觀特性,計 算出指向物在二維影像中的方向向量,並且在已知的運作空間下,利用投影轉換 將方向向量轉換到真實世界座標系中,並且利用攝影機中心與此向量上任兩點共 面的特性在三維空間中重建一平面。在系統環境中,我們利用兩重建平面與投影 平面三面共點的特性,便可重建出指向點在真實世界中的位置。我們並且發展出 一組基於有限狀態機與類神經網路的控制元件,接受並且辨識使用者輸入的軌 跡,並且賦予每一個軌跡一個對應的互動行為,根據使用者輸入的軌跡樣式,系 統會將不同的行為反饋在介面上,進而達成人機互動的目標。本論文亦提出一些 可供實作的系統雛型,以探討本系統在現實生活中的應用性。

(2)

An Implementation of a Real-time Human Computer Interaction Application Under Stereo Vision-based

Environment

Student:Ji-Gao Hsu Advisor:Dr. Jen-Hui Chuang

Institute of Computer Science National Chiao Tung University

ABSTRACT

The research of vision-based pointing systems through reconstruction of 3-D features using 2-D image information has been studied for decades. With the improvements of computing power, in recent years, one can now implement a real-time human computer interaction application under such a vision-based

environment. In this paper, we develop a pointing system which tracks the pointer in two images and calculates its 3-D directional vector. With prior knowledge of some 3-D reference planes, the pointed point can be found without knowing camera’s intrinsic parameters and orientations. We develop a control unit to accept and recognize the user inputs in forms of trajectories of the pointed point based on finite state machine and neural network. The goal of developing a human computer interaction application is achieved by responding to the user inputs with proper actions through the user interface. We also implement some useful application prototypes to show the applicability of our system.

(3)

目錄

摘 要………...I ABSTRACT………..II 目錄………..III 圖目錄………...V 表目錄………VII

Chapter 1 緒論………1

1.1 研究動機………2

1.2 相關回顧………2

1.2.1 基於二維之人機互動………2

1.2.2 基於三維之人機互動………3

1.3 系統流程………5

1.4 各章簡介………6

Chapter 2 指向物追蹤辨識………8

2.1 色彩萃取………8

2.2 動態物體偵測………11

2.3 連接物體標記………13

2.4 指向物辨識………16

2.5 主成分分析法(Principal Components Analysis)………18

Chapter 3 投影幾何轉換………20

3.1 Homography Matrix………21

3.1.1 平面投影轉換………21

3.1.2 投影轉換矩陣………22

3.1.3 齊次線性解………23

3.2 相關三維幾何運算………24

3.2.1 三維空間中三點共面方程式………25

3.2.2 三維座標中三面共點………25

Chapter 4 軌跡辨識………27

4.1 類神經網路………27

4.1.1 神經元(Neuron)………27

4.1.2 類神經網路架構………28

4.1.3 訓練學習………29

4.2 軌跡辨識之應用………31

4.2.1 串列多層前授網路………31

4.2.2 軌跡補償………33

4.2.3 特徵值………36

(4)

Chapter 5 系統實作………38

5.1 硬體環境………38

5.1.1 系統運作空間………39

5.1.2 硬體設備規格………39

5.2 系統運作………40

5.2.1 軌跡樣式………40

5.2.2 指令層………42

5.2.3 有限狀態機………43

5.3 實作範例………45

5.3.1 特定網頁系統………47

Chapter 6 結論及未來展望………49

6.1 結論………..49

6.2 未來展望………49

參考文獻………..51

(5)

圖目錄

圖 1.1 雷射簡報系統示意圖………3

圖 1.2 LumiPoint 系統………3

圖 1.3 三維空間中利用指向物延伸方向重建軌跡點………4

圖 1.4 Free-Hand Pointer 系統………4

圖 1.5 Arm Gesture 系統空間配置………5

圖 1.6 Arm Gesture 系統兩視角示意圖………5

圖 2.1 指向物分析流程圖………9

圖 2.2 指向物示意圖………10

圖 2.3 Saturation 值對指向物資訊的影響………10

圖 2.4 Hue 值色域示意圖(左)………10

圖 2.5 色彩過濾前後之比較………11

圖 2.6 動態偵測流程圖………12

圖 2.7 兩張經過濾色之後的連續影像………13

圖 2.8 連續影像經過 Difference Filter 之後的結果 ………13

圖 2.9 圖 2.7 經過門檻限制之後的二質化結果(Threshold = 50)………13

圖 2.10 4-Neighbors 與 8-Neighbors 示意圖………14

圖 2.11 連接物體標示………15

圖 2.12 經過連接物體標記區分之後的各個個別物體及其區域資訊…………15

圖 2.13 現有圖像在兩個時序間變化的區域………15

圖 2.14 利用區塊分類器所得出的區域資訊在現有圖像中………16

圖 2.15 依區域水平/垂直範圍比例以掃描線檢視物體筆直程度………16

圖 2.16 等寬直線物,兩行之間高度差為 0 至+1………17

圖 2.17 彎曲物體,兩行之間高度差不規則,介於-2 至 1 間………17

圖 2.18 計算細長物體外觀比例示意圖………18

圖 2.19 利用 PCA 得出 Principal Component 之示意圖………19

圖 3.1 軌跡點重建示意圖 ………20

圖 3.2 投影轉換示意圖………21

圖 3.3 鏡心與真實世界平面上兩點所形成的平面 ………25

圖 3.4 三平面相交一點的情形………26

圖 4.1 類神經元示意圖………27

圖 4.2 多層前授網路示意圖,層級為三 ………28

圖 4.3 Sigmoid 函數………30

圖 4.4 串列多層前授網路架構圖………32

圖 4.5 一分佈不均的軌跡圖,呈 V 字型 ………33

(6)

圖 4.6 兩種輸入點個數不符合輸入層類神經元個數的例子 ………34

圖 4.7 軌跡補償結果 ………35

圖 4.8 兩個軌跡點(藍色的點)不符合輸入層類神經元個數的例子 … … … 3 5 圖 5.1 系統空間實景………38

圖 5.2 攝影機視角………39

圖 5.3 系統流程圖………41

圖 5.4 節選系統中的既定樣式軌跡………42

圖 5.5 一個真實系統中的軌跡範例………42

圖 5.6 本系統中有限狀態機示意圖………44

圖 5.7 展示簡報系統的範例………46

圖 5.8 列印特定網頁的範例………48

(7)

表目錄

表 4.1 使用串列多層前授網路架構下七種手勢的辨識率...36

表 5.1 實作系統所使用之硬體規格表...39

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

表 5.3 簡報系統所使用的指令集...46

表 5.4 特定網頁瀏覽系統所使用的指令集...47

(8)

Chapter 1 緒論

在傳統上,一個以視覺為基礎的空間主要被賦予監視,事件紀錄,以及遠端 視訊溝通的功能,然而隨著電腦計算能力的演進、影像擷取裝置製程的改良以及 相關電子裝置價格的下降,我們逐漸可以在這種以視覺為基礎的空間中發展出更 具有智慧的應用,在這個領域中,常見的主題有機器人自動導航,場景重建,以 及智慧型人機互動介面等。而在場景重建的研究主題中,使用二維資訊來建構三 維空間中的室內場景及應用,一直是一項重要的課題,而隨著應用角度的不同,

重建的對象及精確度亦有所不同。例如在電腦圖學及虛擬實境的領域中,我們可 以利用多個角度的二維影像資訊來重建出整個場景及其中物件的精細三維資 訊,在此種應用上,準確度及擬真性是最為重要的考量,他不但影響到整個系統 最終是否能夠完整地重現整個場景的資訊,並且讓使用者有身置其中的感覺。而 在指向系統的研究中,特定座標點的重建是整個主題的重心,而我們對於重建準 確度的考量亦隨著應用上對準確度的要求而有所調整。例如在一個三維的即時射 擊瞄準遊戲中,瞄準點重建的準確與否攸關著遊戲使用者的勝負,因此在這種應 用中,我們必須發展一套準確且穩定的重建方法,以符合使用者的需求。又例如 在一個大型會議簡報系統中,使用者關注的是重建點(通常是螢幕上的滑鼠游標)

是否流暢地跟隨著使用者手中指向物而移動,甚至是是否能利用此游標來與電腦 系統進行特殊指令的互動,在此時,系統的即時性以及發展一套完善的互動介面 機制就成了整體系統的發展重心。

在這篇論文中,我們欲發展一套基於立體視覺空間的人機互動應用程式,利 用指向物的形體特徵以及系統運行環境的已知空間資訊,即時地重建出使用者手 中指向物在指向平面中的投影軌跡點,並且設計一套辨識軌跡的流程,使得使用 者可以有效地與系統溝通,達到人機互動的效果。接下來我們便概略介紹本論文

(9)

的動機、流程、以及一些相關的論文回顧。

1.2 研究動機

在一個基於立體視覺的即時人機互動系統中,我們關注的焦點有下列幾項:

(1)系統介面的友善度、(2)是否能有效偵測使用者行為、(3)系統的可擴充 性、以及(4)系統的穩定性。這些重點在本論文中延伸出下列的問題:(1)是 否能發展出一套易於親近的互動機制、(2)是否能有效並快速地在影像中偵測到 指向物的動作,並將其轉換成三維空間中的資訊、(3)是否能夠發展出一個易於 擴充的系統、以及(4)是否可以發展出一套穩定的系統架構。這些問題是本論 文發展的初始動機,我們將從這些問題出發,逐步發展出本論文中各章節的解決 方法。

1.3 相關回顧

在這一節中,我們將回顧一些基於電腦視覺的指向及人機互動系統,其中包 含利用二維平面或三維空間資訊來實踐的系統,目的都在於利用重建出來的指向 點來達到指向功能或者實踐人機互動的應用介面。

1.3.1 基於二維之人機互動

在一般的環境中,基於設置與經費的考量,人機互動藉由單攝影機來偵測軌 跡點來實踐。Carsten Kirstein, Heinrich Müller[1]與 Rahul Sukthankar 等人[2]提出 的系統即為基於二維平面的雷射筆簡報系統,在此系統中,相機必須先經過校正 以取得相機平面、投影平面以及顯示平面之間的對應關係,然後透過偵測位於投 影平面上的雷射筆光點,來取得指向的位置,而使用者輸入(例如上一頁、下一 頁、關閉等)可以透過將光點停留在特殊位置來實踐,圖1.1 為此系統的示意圖。

(10)

圖1.1 雷射簡報系統示意圖

在這種系統中,最大的缺憾在於無法偵測多使用者的輸入,James Davis 等 人[3]透過利用多台攝影機分別偵測不同的雷射輸入點來達成多使用者輸入的目 的(如圖 1.2),然而系統在建置上耗費較[1][2]為昂貴,且其投影屏與攝影機套裝 地建置在一固定場所,故移動性也較低。在基於二維平面的互動系統中,如果指 向點座落的範圍落在投影平面之外時,就無法判斷出指向的位置,整體系統的實 際應用空間較為狹隘,也因此限制了系統的可能性。此外,偵測雷射筆光點的系 統較容易受到環境光源對投影平面的影響而降低其辨識度,這些都是尚有改善空 間的地方。

圖1.2 LumiPoint 系統

1.3.2 基於三維之人機互動

基於三維的指向及人機互動系統中,許多系統利用指向物延伸方向與指向平 面的交點來重建軌跡點的位置,如圖1.3 所示。由於不同的指向物在追蹤上有不 同的複雜度,加上指向物的形體通常會限制住三維重建的精確性,因此隨著對系

(11)

統的準確度要求不同,在指向物的選擇上亦有所取捨。

指向物

指向物延伸方向

投影 平面

軌跡點

圖1.3 三維空間中利用指向物延伸方向重建軌跡點

在Yi-Ping Hung 等人[4]的 Free-Hand Pointer 系統中,使用人眼到指尖之間

,如

(兩台偵測指尖,一台偵測眼珠中心),從系統配置的角度看來,此種系統的空 間限制較為嚴格,因為其影像必須包含眼球及指尖,也因此限制了使用者活動的 範圍。

的連線做為指向方向 圖1.4 所示,這個系統使用三台攝影機來重建出此連線

圖1.4 Free-Hand Pointer 系統

在Christian Leubner 等人[5]的論文中,則提出了一套利用人類手臂作為指向

(12)

物的系統,在這個系統中,兩台攝影機會分別找出手臂的中線作為直線向量,作 者利用事先知道的空間資訊(包括攝影機位置,空間配置等),將攝影機中心與 手臂直線向量之間建立一平面,利用兩台攝影機分別建立的平面與投影平面三面 共點的性質重建軌跡點,重建的軌跡點被當作滑鼠游標使用,如圖1.5 所示,圖 1.6 則表示了圖 1.5 中兩台攝影機所攝得的視角。

圖1.5 Arm Gesture 系統空間配置

圖1.6 Arm Gesture 系統兩視角示意圖

1.4 系統流程

本論文中的系統基於固定立體視覺的基礎下,利用攝影機輸入的連續二維影

(13)

像資訊完成追蹤特定指向物的功能,並且利用已知的空間資訊重建出指向軌跡點 在三維空間中的座標,接著利用類神經網路辨識在一特定平面區域內的軌跡樣 式,將其樣式回傳給控制元件之後,便會產生動作以控制系統,達成人機互動的 目標,概略的流程如圖1.7 所示。

Target Point Reconstruction Pointer

Tracking

Pointer Tracking

Interactive Computer Projector

Recognition &

Control

圖1.7 簡略系統流程

1.5 各章簡介

依照系統流程的安排,本論文共分為六章,除了本章為緒論之外,第二章介 紹如何從二維影像串流中偵測到指向物,並且擷取其方向資訊,第三章介紹如何 利用已知的空間資訊將二維的空間向量轉換到三維空間,並藉以重建指向軌跡

(14)

點,第四章中為了解決電腦與使用者溝通的問題,我們導入類神經網路的概念來 克服系統輸入的不確定性,辨識使用者輸入的軌跡樣式,第五章整合整個系統流 程,並且介紹我們如何設計整個系統的控制元件部份,使其應用性符合可擴充的 目標,第六章中我們會總結這本論文,並且提出未來可能的研究方向。

(15)

Chapter 2 指向物追蹤辨識

在本系統場景中,指向物可被用以傳達使用者與系統之間互動所需的資訊,

例如方向,軌跡等,因此如何即時且正確地追蹤指向物位置並將其化為有意義的 指向資訊,便成為本章的重點。下面我們提出一應用於即時系統上的追蹤流程,

如圖2.1 所示,首先從輸入影像中分析指向物的形體及位置,並將其轉換成三維 重建所需要的二維空間方向向量。上述流程可以細分為三個階段,依步驟分別是

(1)資料過濾(包含色彩分析與動態物體偵測)、(2)連接物體標記、(3)指向 物辨識,在辨識出指向物之後,我們使用主成分分析法來分析出指向物的空間資 訊。我們將在接下來的章節中逐一解釋其實際原理。

2.1 色彩過濾

從系統的攝影機中擷取出來的影像為具有RGB 三色域的彩色影像。在實際 的應用中,使用環境的環境光在不同的時間,角度及取景地點會有十分明顯的起 伏變化,因而對RGB 影像的穩定性造成十分嚴重的干擾,亦會降低整體辨識的 正確性。再者,同一個場景中也有可能因為光源不均勻分布及照射而使得資訊擷 取不足或失誤。為了降低環境中複雜光源變化對影像品質的影響,我們將RGB 色域影像轉換成HSL 色域的影像,並賦予其亮度(Luminance)較為彈性的範圍,

以降低亮度在整體影像擷取中的影響程度。基於此,我們先將RGB24 的影像轉 換成HSL 色域的影像,再萃取一特定的色彩範圍,以達到初步過濾影像資訊的 效果。

在圖2.1 的流程中,為了節省計算複雜度而達到即時的系統效能,我們將色 彩萃取的步驟設置在流程的前段,以期能在最初的階段就過濾出最接近指向物色 彩的資訊,進而在接下來的步驟中免除對於非必要資訊的判斷。本系統中,我們

(16)

圖2.1 指向物分析流程圖

(17)

使用一色彩單一的棒狀物作為指向裝置,如圖2.2 所示。

200mm

11mm

圖2.2 指向物示意圖

由於指向物的色彩特性為既知事實,我們可事先固定HSL 色彩萃取器的 Hue 及Saturation 值(數據範圍分別為 Hue:340°~20°及 Saturation:0.15~1.0,其中 Hue 值所涵蓋的色彩區域如圖 2.4 右所示),而過濾掉與此區間差異太大的環境 變因,當我們選取寬鬆的Saturation 區間時,可以保留較多物體資訊,但是物體 會出現較嚴重的渲染情形,而且在接下來的辨識步驟會較耗時;反之,若選取較 為嚴苛的Saturation 區間,則僅得到較少的物體資訊,但是可以進一歩解決渲染 的問題,如圖2.3 所示,圖 2.3 的中間是原擷取圖,圖左為取 Saturation 區間為 0.1 至 1.0 所得,圖右為取 0.25 至 1.0 所得,可以看出圖左有較多點資訊,但是 指向物周圍出現嚴重的渲染情形,不利於之後重建,圖右則較忠實保留原指向物 資訊。

圖2.3 Saturation 值對指向物資訊的影響

圖2.4 Hue 值色域示意圖(左)

及本實驗中HSL 色彩萃取器所使用的 Hue 值範圍(右)

(18)

圖2.5 是一 HSL 影像在經過色彩萃取前後的結果,圖左是在未萃取色 彩之前的原圖,影像中可以看到使用者、指向物、以及環境背景等影像資訊,而 圖右則是經過HSL 色彩萃取器(係數為 Hue:340°~20°、Saturation:0.15~1.0、

Luminance:0.1~1.0)擷取出特定色域之後的結果,可以看出已大致過濾掉許多 明顯不相關的資訊。值得注意的是,由於使用色彩做為過濾資訊的要件,因此當 場景中出現大量屬於此色彩區間內的移動資訊時,若其中恰有許多筆直棒狀物體

(如紅色的襯衫、手臂等),便容易出現誤判的情形,此時便會造成追蹤的錯誤,

因此挑選場景中鮮少出現的顏色為指向物的色彩,便成為在此階段的重要考量。

圖2.5 色彩過濾前後之比較,

係數為Hue:340°~20°、Saturation:0.15~1.0、Luminance:0.1~1.0

2.2 動態物體偵測

在經過色彩萃取後,我們開始分析場景中處於運動狀態的物體,在本系統 中,我們使用前一張圖像為動態偵測的緩衝影像,流程如下:

(19)

圖2.6 動態偵測流程圖

此流程需要暫存一張時序上差距為一的圖作為緩衝,將現有影像與緩衝影像 相減,所得到的結果即代表整體環境在兩個時序之間的變化量,此方法可用來區 分出固定攝影機時整體環境中靜態物體(通常是背景)與動態物體(在本例中是 指向物)的不同,圖2.7 顯示兩張在時序上連續的影像,而圖 2.8 則是這兩張影 像經過Difference Filter 之後的結果,可以看出圖 2.7 中的椅子及牆壁等背景部份 已經被移除,並且顯示出指向物在兩張影像中的位置。為了避免影像對雜訊太過 敏感,因而產生過多誤判區域,我們在得到最終結果之前必須再經過Threshold Filter 將影像二質化(Binarize,圖 2.9 為取門檻值為灰階值 50 之結果),當差距 大過於一個門檻值時才將其列入後續考量。

(20)

圖2.7 兩張經過濾色之後的連續影像

圖2.8 連續影像經過 Difference Filter 之後的結果

圖2.9 圖 2.8 經過門檻限制之後的二質化結果(Threshold = 50)

(21)

2.3 連接物體標記

在經過上述步驟之後,我們可以得到經過濾色的原圖中所有可能變化的像 素,這些像素混雜著雜訊、運動的背景、以及任何可能的指向物候選者。為了將 像素化為有意義的個別區域,我們必須將個別連接的物體一一標記出來。為了定 義連接物體,我們假設個別的連接物體在二質化的影像上是連接的像素群集,而 兩個像素連接的定義為此兩像素為4-Neighbors(假設兩點其中一點的座標為(i,

j)

,則另一點必在(i+1, j)、(i-1, j)、(i, j+1)、(i, j-1)四個座標之中)或 8-Neighbors

(假設兩點其中一點的座標為(i, j),則另一點必在(i+1, j+1)、(i+1, j)、(i+1,

j-1)、(i, j+1)、(i, j-1)、(i-1, j+1)、(i-1, j)、(i, j-1)八個座標之中),如圖 2.9

所示。

(i, j) (i, j)

圖2.10 4-Neighbors 與 8-Neighbors 示意圖

我們從圖上任一點開始標記連接物體,對所有相互成8-Neighbors 連接的像 素標以一獨特數字標記,代表其相互連接,每當發現一未標記的像素時,便以一 新數字作標記,依此反覆做到整張二質化影像的所有點都被標記為止,如圖2.11 所示。為了進一步分析這些小區域的形狀特性,我們使用連接物體標記的方法來 將所有個別連接的物體切分開來之後,再計算個別連接物體的區域資訊以記錄物 件在影像中的位置及水平/垂直方向的範圍,用來在最近的一張影像中找尋可能 的指向物候選者,標記結果如圖2.12 所示。有了座標資訊的資訊後,我們回到 現有影像(即最近一張擷取進來的影像),利用圖2.13 所細分出的各個區域切割 影像,過濾包含過少像素的區域,我們得出圖2.14 所示的一些可能候選者:

(22)

圖2.11 連接物體標示,

左圖為標示前的二質化影像,右圖為標記之後的區分圖

圖2.12 經過連接物體標記區分之後的各個物體(左圖,以顏色區分)及其座標範圍資訊(右圖,

僅列出長或寬大於4 像素以上的結果)

圖2.13 現有圖像在兩個時序間變化的區域

(僅列出長或寬大於4 的區域)

1

1 1 1

1 1 1

3 3

2 2

2 2 2 4 4 4

2 2 2

2 2 2

4 4

(23)

圖2.14、利用區塊分類器所得出的區域資訊在現有圖像中 切割出來的各種物件(經二質化處理)

2.4 指向物辨識

在上一節中,我們已得出現有影像中所有可能的候選人圖樣,如何從這些後 選人中找出指向物,便有賴於對候選人圖像中形狀資訊的分析。首先我們定義指 向物的形狀為:(1)筆直狀非彎曲物體、(2)長寬度比例在一特定區間內,使其 整體樣貌呈現細長型、(3)在符合上述條件下,體積最大者。在此階段第一個步 驟中,我們首先依物體區域資訊的水平/垂直範圍比例來決定垂直掃描或者水平 掃描目標區域,如圖2.15 所示。

圖2.15 依區域水平/垂直範圍比例以掃描線檢視物體筆直程度

當一物體是屬於直線非彎曲狀時,每一行(列)的連續白色像素區域必與下 一行(列)的連續白色像素區域高度差距在一固定間隔區間內,若yn代表著第n 行的白色像素區域上方y軸高度座標,則行與行之間的高度差距可以以下式表示:

1 1

1 0

0 1

n n

n n

y y y y

− < − <

⎧⎨ < − <

⎩ (2.1) 以圖2.16 為例,此間隔區間為 0 至+1,而在圖 2.17 中,則表示了另一個彎曲物 體,高度差距區間為-2 至 1 的例子。

0 1 2 -1

3 物體行與行之間上

方的高度差。

(24)

掃描線

0 1 2 -1

3 物體行與行之間下

方的高度差。

圖2.16 等寬直線物,兩行之間高度差為 0 至+1

0 1 2 -1

3 物體行與行之間上

方的高度差。

0 1 2

-1 -2 -3

物體行與行之間下 方的高度差。

掃描線

圖2.17 彎曲物體,兩行之間高度差不規則,介於-2 至 1 間

找出符合上述條件的物體之後,為避免誤認不符合細長外形的物體,須再經 過長寬比的檢驗。由於細長外狀的物體有下列特性:物體的寬度會遠小於物體的 長度,因此我們以物體平均寬度除以物體區域的對角線長(如圖2.18 所示),大 於一定門檻值的才列入最終考量。最後,剩餘的候選者以體積最大(總白色像素 最多者)的為最終的勝出者。

(25)

圖2.18 計算細長物體外觀比例示意圖

2.5 主成分分析法(Principal Components Analysis)

得出上述結果後,我們必須將像素群的資訊轉化為三維重建所使用的直線 向量。在傳統的方法上,有最小平方差調適法(Least Square Fitting)與主成分 分析法(Principal Components Analysis)等方式可供計算出可靠的空間向量,經 過實驗,主成分分析法在指向物趨於水平時仍能有效重建指向物的方向向量,因 此在本實作中,我們使用PCA 這種統計方法來得出三維重建所需要的直線向量。

主成分分析法是一種將資訊從高維度降低至低維度的統計方法,此技巧利用 線性轉換將資料轉換到一新座標系,在此座標系內所有原座標系內資訊(即點座 標)的最大變異量會沿著第一象限軸方向(稱為第一主成分, First Principal Component),而次大變異量會沿著第二象限軸方向(稱為第二主成分),依此類 推。在將資訊從高維度降到低維度的過程中,PCA 會依變異量保留原座標系資 訊的特性,因此其優點在於以線性組合保有完整的原座標系變數訊息。我們利用 此方法來將指向物的影像像素轉換為主成分向量,藉此表示指向物所欲表達的方 向訊息。以下便是PCA 的計算流程。

物體平均寬度

已知有n個二維空間的點,(

x

i,

y

i),1≤ ≤i n,欲使用PCA 找出最能表示這 些點朝向的線。我們先計算出這些點的重心:

(26)

( , ) ( 1 , 1 )

n

y n

x y

x

n

i i n

i

i

= =

= (2.2)

再將每個資料點的座標減去重心座標,做一個將座標系原點平移的動作:

) , ( ) ' ,'

(xi yi = xix yiy1 i n≤ ≤ (2.3) 得到了這些平移後的點座標,我們便可以利用這些點座標計算共變異數矩陣

(Covariance Matrix),此矩陣的計算方式如下:

⎟⎟ (2.4)

⎜⎜ ⎞

=⎛

) , cov(

) , cov(

) , cov(

) , cov(

Y Y X

Y

Y X X

C X

式(2.4)中的 covariance 算法為:

1

( , )

cov( , )

( 1)

n

i i

i

X X Y Y

X Y n

=

− −

= −

(2.5)

至此,我們已經由原始資料點算出代表其間相互變異關係的共變異數矩陣,下一 步就是對C做eigenvector decomposition,可求得兩個 eigenvalues 及其對應的 eigenvectors。值越大的 eigenvalue 所對應的 eigenvector 表示變異量越大的特徵,

因此我們選取值較大的eigenvalue 所對應的 eigenvector 作為這些資料點的朝向 線,此即指向物直線線段於影像中之位置。

Mass Center

Second Principal Component First Principal Component

圖2.19 利用 PCA 得出 Principal Components 之示意圖

(27)

Chapter 3 投影幾何轉換

本論文中所發展的系統為基於雙視角環境下的軌跡點重建系統,其主要概念 為利用兩張視角重疊的影像計算出影像中特定物體在實際三維空間中的位置,在 本論文中使用這種空間轉換的特性來得出指向物以及其與投射平面的交點。在實 作上,我們首先將前章節所得出的直線向量透過Homography Matrix 在擷取影像 平面(Image Plane)與實際空間平面(World Plane)之間做投影轉換,此直線向 量從擷取影像平面轉換到實際空間平面之後,便可以利用攝影機鏡心與轉換後的 直線向量在實際空間中建立一平面,最後計算投射平面與兩台攝影機分別建立的 平面相交所得出的交點,此交點即為一軌跡點,如圖3.1 所示,本章節介紹與上 述實作相關的數學背景。

Right Camera

Left Camera

Projection Plane

Reconstructed Point Pointer

Right Image Plane Left Image

Plane

圖3.1 軌跡點重建示意圖

(28)

3.1 Homography Matrix 3.1.1 平面投影轉換

在電腦視覺的領域,我們使用平面投影轉換(Homography Mapping)來將 一群位於同一平面上的點集合 對應到一群另一平面上的點集合 ,其轉換的 方式為使用一投影轉換矩陣 ,將 中的每個點轉換到

x

i

x

i

H x

i

x 中相對應的點。若使

i

用齊次座標系來表示

x

i

x

i′,則

x

i =( , , )

u v w

i i i T而 ,此時我們可 以得到下列的表示式:

T i i i

i

u v w

x

'=( ,' ,' ')

i i

Hx

= ′

x

(3.1)

其中

H 是一個 3×3 的可逆矩陣。此外,若是允許

不完全等於 ,而是具有 相同方向的向量,則我們可以將(3.1)改寫成下面的型態:

Hx

i

x

i'

= i

i

x

Hx λ

(3.2)

其中λ 是一個不為零的比例係數。

從系統的角度來看,我們可將 視為從攝影機擷取進來得影像點座標集合,

而將 視為實體世界中一特定平面的點座標集合,在 上的點座標經(3.2)轉 換之後可以得到一在 上的對應點,如圖3.2 所示。

x

i i

x x

i

i

x

x

i

x

i

2D Image Plane

(Acquired Image)

World Plane

=

i

i

x

Hx λ

圖3.2 投影轉換示意圖

(29)

3.1.2 投影轉換矩陣

在有了投影轉換的觀念之後,我們必須求出投影轉換矩陣

H,以在接下來的

步驟中可以利用

H 在兩個平面之間作點對應點的轉換。從(3.2)的定義可知,

H 為一個 3×3 的可逆矩陣,因此有九個變數,然而由於已定義了比例常數

λ ,因 此可固定

H 中的縮放係數(The Scale of H),使得其自由度為 8。在(3.2)中,

藉由展開矩陣,我們知道一組在

x 與

i

x 中兩個點的對應關係可以表示成兩條線

i′ 性方程式,分別是代表x座標的對應關係和

y 座標的對應關係,因此 n 組點與點

之間的對應關係可以表示出2n 條有八個變數(因為 H 中的自由度為 8)的方程 式。由於有八個變數,故當

n = 4 時我們可以得出所有變數的解。換句話說,當

我們得知此兩平面之間的四組對應關係時,便可以開始著手計算

H 的值,在傳

統上,解

H 值的方法有下列三種:

(1)非齊次線性解(Non-homogeneous Linear Solution):固定九個矩陣元素中 的其中一個(通常把固定的值設為1),對應到其餘八個元素的線性方程式 則使用Pseudo-inverse 的方式求解。這是傳統上最常使用的方法,然而當前 述被固定的矩陣元素其實際值為0 時,此種方法會使得結果產生極大的 誤差,因此在本論文中不採用此種方法。

(2) 非線性幾何解(Non-linear Geometric Solution):此種方法從幾何的角度切 入,藉由將預測點與實際映射點之間的誤差最小化來求解,此種方法無封閉 解(Closed Form Solution),因此在不保證有解的情形下,並不適合用於我 們系統的實作。

(3) 齊次線性解(Homogeneous Solution):此方法使用 SVD(Singular Value Decomposition)求解,此方法在實作上可去除非齊次線性解在特定情形下

產生預測誤差的情形,因此我們使用此種方法來求解,下面我們便詳細解說 此種解法的步驟。

(30)

3.1.3 齊次線性解

在理想的狀況下,給定一組兩平面上點與點間的對應集合 ,我們期 望能求出一個轉換矩陣

i

i

x

x

H 以滿足(3.2),若我們以外積的方式表示(3.2),則可

以將其改寫如下:

0 '× i =

i

Hx

x

, with (3.3)

⎥⎥

⎢⎢

=

9 8 7

6 5 4

3 2 1

h h h

h h h

h h h H

再進一步將

H 的第 j 列表示成 h

jT,則我們可以進一歩將(3.3)中的Hxi表示成:

⎥⎥

⎢⎢

=

i T

i T

i T

i

x h

x h

x h Hx

3 2 1

(3.4)

如同第3.1.1 節所述,我們可以利用齊次座標系將 '

x 表示成

i , 則(3.3)中外積的結果為:

T i i i

i

u v w

x

'=( ,' ,' ')

⎥⎥

⎢⎢

=

×

i T i i T i

i T i i T i

i T i i T i

i i

x h v x h u

x h u x h w

x h w x h v Hx x

1 2

3 1

2 3

' '

' '

' '

' (3.5)

若已知a與b為矩陣,則有aPT

b = b

T

a的特性,因此

, ,我們 可以再將(3.3)與(3.5)化簡後,可以得到如下的形式:

j T i i

jT

x x h

h

=

j

={1,2,3}

0 0

' '

' 0

'

' '

0

3 2 1

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

h h h

x u x v

x u x

w

x v x w

T T

i i T i i

T i i T

T i i

T i i T i i T

(3.6)

最後,由於在(3.6)中所運算出的三條方程式只有前兩條是線性獨立的(第三 條方程式由前兩條方程式所求得),所以(3.6)在只使用前兩條方程式的情形下,

可以再進一步化簡成:

(31)

' 0 0

'

' '

0

3 2 1

=

⎥⎥

⎢⎢

⎥⎦

⎢ ⎤

h h h x u x

w

x v x w

T i i T

T i i

T i i T i i T

(3.7)

從3.1.2節可知,選取兩個對應點集合 、 ' 中的四組對應點套入式(3.7)中便 可以產生八個方程式,進而求解出

x

i

x

i

H ,而求解 H 的演算法詳述如下:

(1) 對於

x

i

x

i′中每組對應的點,可從式(3.7)得到一個 2×9 的矩陣 。

A

i

(2) 有 組對應點,則可得到n n個 2×9 的矩陣 ,將這些 結合成一個 的矩陣

A

i

A

i 9

2n×

A 。

(3) 將 做SVD分解,得到 ,其中 為 的singular value所構成 的對角矩陣(diagonal matrix)、V 為singular vector所構成的正交矩陣

(orthogonal matrix)。而我們所要求的

A A

=

UDV

T

D A

H 就是最小的singular value所對

應的singular vector,一般而言,SVD分解後的 會將singular value由大 到小排列,也就是說V 中第9行的九個元素即為構成

D

H 的元素。

(4) 的第9行為:

[ ]

,透過式(3.4),

可以從V 的第9行得到

V h1 h2 h3 h4 h5 h6 h7 h8 h9 T

H 。至此,我們已得到H,在接下來的運算中,

我們便可以利用(3.2)來將影像平面上的座標轉換到實際空間平面上 的座標。

3.2 相關三維幾何運算

在本論文中,我們的系統利用三個平面相交求出交點,用來表示指向物所指 的軌跡點,這三個平面分別是:指向物所指的指向平面,以及由攝影機中心與兩 個真實世界平面上的座標點所形成的平面(圖3.3),由於在系統中有兩台攝影 機,因此此種平面有兩個,這三個平面就是我們接下來所要探討的三維幾何運算 的重點。

(32)

A

1

Camera Center World Plane

A

3

A

2

Constructed Plane π

圖3.3 鏡心與真實世界平面上兩點所形成的平面

3.2.1 三維空間中三點共面方程式

在本系統中,由指向物直線向量在真實世界平面的投影與攝影機中心所共面 的平面是軌跡點三維座標重建的關鍵。假設攝影機中心為A1,而在指向物向量投 影上任取兩點A2與A3,則可以如圖3.3 般形成一平面π 。三維空間中任一平面可 以以

ax

+

by

+

cz

=

d

來表示,其法向量為N =(a,b,c)。因

N 與平面上任一向量垂

直,故可以用平面上兩向量A1A2

A

1

A

3的外積求得

N :

) (

) , ,

(

a b c A

1

A

2

A

1

A

3

N

= =

α

× (3.8)

其中α 為一比例常數。接著再帶入平面上任一點的座標值即可求得d,例如代入

A

1 = (x1, y1, z1):

1 1

1 by cz

ax

d = + + (3.9)

依此方式分別求得兩台攝影機與其對應的指向物投影向量所共面的平面之 後,再加上指向物所指的指向平面,我們就可以依照接下來的步驟重建出軌跡點 的座標。

3.2.2 三維座標中三面共點

在三維空間中,三個平面之間的相互幾何對應關係有以下幾種:

(33)

(1)三個平面互相平行

(2)兩平面平行,第三平面與此兩平面各交出一條直線

(3)三平面交於一條直線

(4)三平面兩兩交於一條直線,而這三條直線互相平行

(5)三平面交於一點

如前述,在本篇論文中,我們關注的為第五種情形,也就是三平面交於一點的狀 態(圖3.4),此三平面分別為指向物所指的指向平面π 、攝影機1

與其對應的 指向物投影向量所共面的平面π 、攝影機2

與其對應的指向物投影向量所共面 的平面π ,而其交點即為軌跡點。 3

π3

π1 Intersection

π2

圖3.4 三平面相交一點的情形

在本論文中,我們使用Cramer’s Rule求解三平面交一點的情形,經過此步驟 之後,整個軌跡點重建的步驟便已經完成。

(34)

Chapter 4 軌跡辨識

在本論文中,我們希望發展一個即時且可擴充性高的軌跡辨識系統,在傳統 研究上,有圖樣匹配 (Pattern Matching)、統計方法分類器(Statistic Classifier)

以及類神經網路(Neural Network)等方法用以解決圖樣辨識的問題,其中類神 經網路的優點在於當待辨識物體不具明顯統計特性時,仍可經由訓練的方式得出 合適的決策函數,因此被廣泛地應用於樣式分類(Pattern Classification)上。本 論文中所探討的重建軌跡便具有此種特性,因此在本章中,我們將探討類神經網 路應用於指向軌跡之辨識的原理及設計。

4.1 類神經網路

4.1.1 神經元(Neuron)

x 2

bias x 3

x 3

x 1

x 2

Activation

Sum y

x 1

圖4.1 類神經元示意圖

類神經網路系統是一種可以擷取、儲存並且應用已知經驗知識的系統,應用 於實作上的類神經網路系統包含了多個相互連接的類神經元(Neuron)。類神經 元是類神經網路的基本元件,如圖4.1 所示,每個類神經元由三個部份所組成:

偏差修正(Bias),輸入值(Input,圖 4.1 中之x i),以及輸出值(Output,圖 4.1 中的y),其中每個輸入被配以一個權重(Weight,圖 4.1 中的w i),用以代表此輸 入值對於此神經元的重要性,而輸出值取決於所有輸入值乘上權重後與偏差值的

(35)

加總(此步驟圖4.1 中的Sum函式所執行),當此加總值大於一門檻時,輸出值被 觸發(Fired),否則則保持靜態(Quiet)。

4.1.2 類神經網路架構

當類神經元定義之後,便可將上述的類神經元分層組織成類神經網路。在類 神經網路系統中,最重要的議題為依系統所需選擇合適的架構,常見的架構有倒 傳導網路(Back-propagation Network)、霍普菲爾網路(Hopfield Network)、輻 射型基底函數網路(Radial Basis Function Network)等,在本論文中,我們選擇 應用最為廣泛,架構於多層前授架構的倒傳導網路(Back-propagation Network)

為我們的系統架構。

Input Layer Hidden Layer Output Layer

y

1

y

2

y

n

bias

x

m

x

3

x

2

x

1

: : :

: :

圖4.2 多層前授網路示意圖,層級為三

多層前授網路一般由三到四層的類神經元所組成。圖4.2 表示了一個層級為 三的多層前授全連通網路,分別由輸入層(Input Layer,並未導入 Sigmoid 函式 做為觸發函式,僅單純地輸出其原始值到隱藏層),隱藏層(Hidden Layer)以及 輸出層(Output Layer)所組成。由於其在各層之間全連通的特性,故其中每一

(36)

層分別會接受其前一層全部的類神經元所傳遞過來的資訊。

4.1.3 訓練學習

在未經過訓練學習的步驟前,類神經網路的輸出值為混亂的雜訊,故其輸出 層沒有實質意義。類神經網路藉由調整每一層中類神經元的權重來使輸出層中的 每個輸出盡可能地接近所要求的目標值,隨著學習次數增加,輸出誤差會趨向收 斂,而漸漸接近目標值。在多層前授網路的架構下,倒傳導演算法

(Back-propagation Algorithm)是最常見的訓練方法,倒傳導演算法改進了感知 元Delta 規則(Perceptron Delta Rule)無法應用於多層網路解非線性解的情形,

其中在單層網路時,權重誤差函式可以表示如下:

i i

w xδ

Δ = 其中

δ = (desired output) – (actual output) (4.1)

其中

w 是權重陣列,而 x 是輸入陣列,當最後 Δw 的值趨於收斂時,便完成單層

網路的訓練。

然而當此法用於多層網路時,我們並無法知道單一層的收斂對其他層會有什 麼影響。在倒傳導演算法中,利用對一線性函式微分可以得其斜率的特性,我們 將權重總和導入Sigmoid 函式(4.2),使得觸發函式成為一個非線性、連續並且 可微分的函數,如圖4.3 所示。

( ) 1

1 wx

o wx

σ e

= =

+ JG G

JGG (4.2)

從微積分的觀點來看,我們藉由針對此函式中

w 的部份偏微分,可以得到誤差

的趨勢,此觀點可以分成兩部分來討論:

(1) 若此導數為正,代表當我們增加

w 時,誤差的改變率增加,若將此導

數乘上一負值加到權重值,使

w 減小,則可以預期誤差將減小,進一

步到達局部最小值;

(2) 反過來看,若此導數為負,則代表當我們增加w 時,誤差的改變率減 小,則我們希望將此導數乘上一負數(使其成為一正值),加到權重值,

(37)

進一步觀察誤差的改變率在我們增加w 時是否持續減小。

圖4.3 Sigmoid 函數

導入了Sigmoid函數之後,我們開始計算整體網路平方誤差,首先我們輸入 系統予一個至多個的訓練樣本(Training Samples),將輸出層的輸出與目標值比 較,如下所示,其中tk為目標值,ok為此次輸出值:

1 2

( ) ( )

2k output k k

E w t o

=

JG (4.3)

接著我們計算輸出層類神經元的誤差部份,如下所示:

(1 )( )

k

o

k

o t

k k

o

k

δ

= − − (4.4)

其中δk即為輸出層各元件的誤差,接著我們計算隱藏層的誤差值,如下所示:

(1 )

h h h kh

k outputs

o o w k

δ δ

= −

(4.5)

從(4.5)可以看出,隱藏層的誤差(δh)與輸出層的誤差(δk)息息相關,此即 為倒傳導的重要特性。最後我們回過頭來修正各層權重,首先我們必須先得出權 重誤差,如(4.6)所示,其中p為層數,由 1 到 3 分別代表輸入層、隱藏層、輸 出層,而η為學習率。較低的學習率可以穩定地到達收斂,而較高的學習率可以 加快收歛的速度:

3

3 1 i

p

w η x

ipδp

=

Δ =

(4.6)

為了使式(4.6)更適合於使用程式迭代運算,我們將(4.6)修改如下:

pi pi p

w η δ x

Δ = (4.7)

最後就可以將上述的誤差用來修正各層的權重。至此,倒傳導的修正步驟便建立

(38)

完成,當將此更新過的權重值作用在類神經網路上後,若可以使(4.3)的誤差 小於一門檻值,便完成訓練的步驟:

pi pi pi

w

w

+ Δ

w

(4.8)

4.2 軌跡辨識之應用

在本論文中,我們需要發展一套具有可擴充性的指向軌跡辨識系統,在傳統 的多層前授網路中,輸出層的類神經元個數是固定的,也就是說,一旦系統訓練 完成,便只能接受一定種類數目的軌跡樣式,當使用者希望加入新的軌跡樣式 時,必須針對所有的軌跡樣式重新訓練,因此我們採用串列多層前授網路(Parallel Multi-layer Feed-forward Network)作為我們系統的架構,此種架構中,每一個在 串列多層前授網路中的類神經網路單元僅產生一個輸出,經由輸出比較器決定最 後的判定結果,由於串列具有可以擴充增加的特性,我們可以在不重新訓練已知 網路單元的情形下增加新的類神經網路單元。在此我們將探討串列多層前授網路 應用於系統實作時所帶來的優點。此外,針對類神經網路需要固定個數輸入的特 性,我們發展軌跡補償的功能,使得系統在軌跡點個數不論在大於輸入值個數或 小於輸入值個數時都能得到一固定數目的特徵點。

4.2.1 串列多層前授網路

如圖4.2 所示,傳統多層前授網路包含一個以上的輸出,在系統設計之初就 已經固定了輸出層類神經元的個數,若要增加(或減少)輸出層類神經元的個數,

我們必須針對整個類神經網路重新訓練,以得到合適的決策權重值。此種架構的 缺點在於我們在增加一個未知的待辨識類別時,必須連同已知的類別一起重新訓 練,不利於系統的擴充性,並且在整體系統的維護上也較僵化。

在串列多層前授網路中,每一個個別的網路元件都僅有一個輸出層類神經 元,因此每一個個別網路元件都僅單獨負責辨識一種軌跡,當使用者欲增加一種

(39)

軌跡樣式時,僅需新增一個類神經網路單元,加以訓練,便可以在不變更類神經 網路單元初始架構的情形下辨識新的軌跡輸入。輸入會被分別傳入每種軌跡樣式 的類神經網路辨識單元,利用各個類神經網路辨識單元辨識輸入軌跡與軌跡樣式 的符合程度,當得到每個輸出單元的結果之後,我們比較各輸出單元的值,取其 輸出值最大者為我們軌跡辨識的結果(此動作由圖4.4 中 Comparator 這個動作元 件所執行)。

Comparator

x

1

Net2

Net3

Netn

Winner

x

2

x

3

x

m

bias

: : :

圗4.4 串列多層前授網路架構圖

(40)

4.2.2 軌跡補償

在我們的指向系統中,軌跡並非均勻分布,如下圖4.5 所示的 V 字圖樣,

在剛進入重建(左上角)與轉折處(V 字底轉折處)由於使用者的停頓,造成重 建點的密集分佈,然而其他地方則呈稀疏分布狀,此種因輸入而造成的特徵分布 不均會使得輸入點無法有效代表整體軌跡的特徵。此外,類神經網路有輸入層類 神經元個數固定的限制,當輸入的特徵點個數多於或少於輸入層類神經元個數時 都會因為無法吻合輸入層類神經元個數而無法辨識(圖4.6)。由於以上兩種原因 都會造成類神經網路無法有效辨識輸入的軌跡,因此為了使整體輸入具有軌跡的 代表性,並且將軌跡特徵點正規化(Normalize)到整條軌跡上,我們從整條軌 跡中均勻截取用來輸入給類神經網路的特徵點,以使得類神經網路能夠有效地辨 識出使用者輸入的軌跡。

圗4.5 一分佈不均的軌跡圖,呈 V 字型

(41)

圖4.6 兩種輸入點個數不符合輸入層類神經元個數的例子,在本系統中輸入層類神經元個數為 48 點,然而左圖軌跡為 76 點(過多),右圖為 19 點(不足)

軌跡均化補償的步驟首先必須先依序算出點與點之間所有的折線內插點,首 先先求得兩個在時序上連續的點(xp-1, yp-1)及(xp, yp)之間的直線方程式y = mx+e:

( p p 1) /( p p

p p

m y y x x

e y x m

= −

= − ×

1)

(4.9, 4.10)

接著取出此線段上介於兩端點之間的所有內插點,將其更新到所有內插點的集合

P:

[ ]

{

pi, ;pi ,pi p p 1 , pi pi

}

P

x y where x

x x

y

= × + (4.11)

m x e

在經過此步驟之後,所有的內插點都已經求得,我們在集合P裡面均勻地取M點,

將其更新到集合Pc中,Pc即為整條軌跡經過均化補償之後的結果:

{

, ; , 1

}

c k k k k

Px y where x yP and ≤ ≤k M (4.12)

均化補償的結果如圖4.7,圖左在經過補償前特徵較為分散不均,在 Z 的底 部有大量空白的區域,圖右在經過補償之後,軌跡的特徵可均勻地由特徵點看 出,此段軌跡便可以用來進一步地擷取資訊,並輸入到類神經網路中。由於此步 驟會在整條軌跡中均勻地取

M 點,因此不論在軌跡點大於 M 點或小於 M 點的情

形下,均能完整重建出一

M 點的軌跡(圖 4.8)。

(42)

圗4.7 軌跡補償結果,圖左為補償前,圖右為經過均化補償之後的結果,

特徵點為48 點,與輸入層類神經元個數相同

圖4.8 兩個軌跡點(藍色的點)不符合輸入層類神經元個數的例子,左圖為 68 點,右圖為 25 點,可以看到經過補償之後(紅色的點)均為48,與輸入層類神經元個數相同

4.2.3 特徵值

由於上述的代表點在二維座標系上會有尺度(Scale)與位偏的問題,因此 我們必須將其轉換為基於角度的特徵值,在此我們取兩點之間的角度差作為我們 的特徵,如圖4.9 所示。

(43)

θ1

θ2

圗4.9 時序上相連續的點與點之間的角度差

我們首先求得點與點之間的角度,如(4.13)所示:

(

1, 1

)

p radius yp yp xp x

θ = − p (4.13)

然後將此角度的sine 與 cosine 做為我們用來輸入給串列多層前授網路的輸入值

x,其中 M 為前述的輸入特徵點數量:

2

2 1

sin 0 cos

m m

m m

x m M

x

θ θ

+

⎧ = ≤ ≤

⎨ =

⎩ (4.14)

4.2.4 辨識率

當我們決定一種類神經網路架構之後,最重要的考量即為在此種架構下是否 能夠達成高辨識率的目標。為了說明本系統的軌跡在串列多層前授網路架構下的 辨識率,我們舉出一個在七種軌跡樣式下的範例,並針對每種軌跡樣式連續輸入 一百個輸入,分析經由類神經網路辨識出來的軌跡樣式種類是否與輸入相符,以 計算其辨識率,結果如表4.1 所示。從表中可以看出,手勢的有效辨識率介於 82%

至99%之間(多數在 90%以上)。

表 4.1 使用串列多層前授網路架構下七種手勢的辨識率

Input

Output

94%

5% 1% 4%

(44)

99%

9% 1%

93%

9% 3%

90%

1% 1%

5% 1% 2%

82%

7%

98%

2%

1% 4%

88%

(45)

Chapter 5 系統實作

本論文在基於雙視角的立體視覺環境下發展了一套即時且具靈活擴充性的 人機互動應用介面,其目的在定義一套使用者與電腦都能了解的軌跡樣式,使得 每當使用者比劃出一個軌跡時,電腦都能判定軌跡的類別,進而將此類別所對應 的動作反饋到使用者介面上。此外,我們將使每一個使用者都可以定義自己的軌 跡樣式,增加系統使用上的友善性。在實作上,我們將發展一組基於類神經網路、

有限狀態機、以及可擴充自訂指令模組的反應機制,使得本系統能夠實踐在包含 簡報系統,網頁瀏覽系統在內的多項應用。本章節總結論文中關於實作的部份,

並且提出幾種在本系統環境下的應用可能性。

5.1 硬體環境

Projection Camera (Left)

Projector Screen

3.5m

圖5.1 系統運作空間實景

(46)

5.1.1 系統運作空間

本系統的運作場景為一個含有投影布幕、投影機、以及兩台攝影機的空間,

如圖5.1 所示。使用者站在兩台攝影機的取像範圍內(視角大小可參考圖 5.2),

利用第二章所描述的指向物對著投影布幕比劃軌跡(此投影布幕上是被投以作業 系統的運作影像),此軌跡點的平面位置會被重建並以滑鼠游標的方式移動,當 使用者畫出已定義的軌跡時,整體系統便會對此軌跡作反應,並即時反映在使用 者程式介面上。

圖5.2 不同攝影機視角所拍得畫面,左圖為使用者左方之攝影機,右圖為使用者右方之攝影機

5.1.2 硬體設備規格

在本論文的系統實作中,我們利用表5.1 中的各項硬體來實踐攝影,影像擷 取輸入,以及運算處理。

表5.1 實作系統所使用之硬體規格表

項目 規格 附註

PTZ 攝影機

BXB 7720 高速智慧球型攝影機 P/T/Z:360°/90°/16X

Electronic Shutter:1/60~1/30k sec Minimum Illumination:1 lux

共兩臺,分別設置在使 用者左右方

影像擷取卡

ADLINK Angelo RTV 24 影像擷取卡 Format:NTSC

Resolution:CIF(320×240)

Framerate:30fps

此系列擷取卡支援四個 輸入

(47)

主機

PC

CPU:Pentium4 3.2GHz RAM:2.0GB

OS:Windows XP SP2

5.2 系統運作

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

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

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

5.2.1 軌跡樣式

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

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

參考文獻

相關文件

A smaller aperture increases the range in which A smaller aperture increases the range in which the object is approximately in focus. Di

projected texture Active depth from defocus Active depth from defocus Photometric stereo Photometric stereo.. time of flight time

Experiment a little with the Hello program. It will say that it has no clue what you mean by ouch. The exact wording of the error message is dependent on the compiler, but it might

Multiple images from a sequence tracked with 6DOF SLAM on a client, while a localization server provides the global pose used to overlay the building outlines with transparent

 The stereo matching techniques developed in the computer vision community along with ima ge-based rendering (view interpolation) tech niques from graphics are both essential

In the proposed method we assign weightings to each piece of context information to calculate the patrolling route using an evaluation function we devise.. In the

Muraoka, “A Real-time Beat Tracking System for Audio Signals,” in Proceedings of International Computer Music Conference, pp. Goto, “A Predominant-F0 Estimation Method for

 TPR教學法是一種利用肢體動作和聲音 連結的直覺教學法,研究發現TPR教學