有趣的主題:人機介面與虛擬實境
今天我要講的題目是我在最近這兩年覺得比較有趣的,所以你們不要覺得太學術化。今天我打算用很短的一個小時的時間跟大家介紹,讓各位有十五分鐘的時間來提問題,從各位提的問題當中可以讓各位有更清楚的了解。
一看到這個題目就知道是人機介面,還有Wii遊戲機,相信很多同學都玩過或看別人玩過了。我今天要講的主題是Wii有趣的現象,裡面包含兩個主題,一個是人機介面-Human-Computer Interface,簡稱為HCI,是一個廣泛的研究領域,而另外一個研究領域叫Virtual Reality,這兩個領域很相似但是是不一樣的,簡單介紹一下。然後我跟各位介紹一下最近這兩年我的group做的東西,第一個是3D的跳舞機,這個是去年我們在波士頓ACM SIGGRAPH世界最大的學術會議當中所展示的一套系統,第二個是今年五、六月的時候我們才開發完成的繽紛魔鏡,我們把它的成果呈現出來,然後再簡單放一些影片說明過去十年人機介面的研發,讓各位有一個比較輕鬆的下午。
top
Wii的成功是因為什麼成功?
Wii的成功大家都知道,但是之前是不成功的。它的市占率在今年二月份的時候在日本才賣了六個禮拜就已經很不得了了:Wii賣了113萬台的時候XBbox才賣了11萬台,而PS3才賣了30幾萬台。中間差了三到六倍。(投影片p.4)這是Wii的使用畫面,相信同學們很多人都玩過了就不再多做說明了。從這些畫面裡面可以看到一些蠻有趣的現象,就是畫面中都是有家人在一起,而不是說像以前單獨一個人,而且這裡面女生也差不多占了二分之一。
那我們看一下過去的預測其實是非常不準確的:世界上有一本對產業方面預測相當準確的雜誌叫Business Week(商業週刊)在2005年2月28日的時候做了一個統計,當時的遊戲機行業銷售額有245億美金,已經比電影銷售額還大,這代表說有一個新興行業興起,它已經比百年來所產生的媒體裡最大的行業的銷售額還要大。而在做遊戲軟體方面全世界最大的兩家公司,Electronic Art(EA),我現在有一個學生在那邊工作,當年他從台大畢業以後就到美國念Entertainment Technology-娛樂技術研究所,進入EA之後當然要寫Game。重點是這家公司的營業額有30億美金,大約一千億台幣。其實台灣營業額到一千億的公司不是很多,而前五大遊戲廠商佔56%全體銷售額,將近六成。因此造成台灣廠商的不足,例如說台灣這些做Game的小廠商加上韓國的差不多三百家廠商也才只有20-30%的市場。當時預測成功的兩家是SONY跟EA,EA是全世界最大的廠商,而SONY有甚麼特殊的呢?因為SONY有遊戲機台、軟體還有電影產業,占據了內容產業很重要的一部分,所以大家認為SONY非常成功。當時最有危機的就是Nitendo任天堂還有當時做遊戲機軟體第二大的廠商Activision。為什麼它敢這樣預測呢?我們看當時的SONY遊戲機台市占率56.4%,已經有超過一半的市場,Microsoft只有25%,而Nitendo掉到18%,當時的統計遊戲玩家有40%是女性,男女並沒有非常不平均。那Microsoft這塊江山怎麼打下來的我跟各位說明一下:Xbox第一代你知道Microsoft虧損多少錢嗎?它每賣一台就虧一台的錢,所以總共虧損了50億美金,相當於1700億台幣。台灣有哪家公司可以虧1700億台幣的?沒有!所以我們台灣不可能這樣子做。可是Microsoft為什麼會想出這樣一個策略呢?很簡單,因為他們的遊戲機台可以賣到二分之一的價格,但是利益從正版軟體那邊收回來,造成遊戲產業一個非常大的進入障礙(Entry Barrier)。各位同學將來就業時想要創業的就會遇到,比如說在同樣的一塊市場上,雖然要出新產品,但是可能有大廠商擋在你旁邊:假使鴻海想要做你這塊,各位同學千萬不要在做這部分的東西了,你的財力跟鴻海比起來大概一比一千吧,所以很不容易成功。第二個是台灣今年在memory DRAM的製造跟韓國並列世界第一,而且今年台灣產量可能超過韓國,在這裡講到我們notebook產量世界第一、PC世界第一、keyboard等等很多都是世界第一,可是為什麼別人沒有辦法?因為Entry Barrier是很厲害的。你有1600億台幣來花的話才只能打下25%的市場,還不算很大。
那任天堂在被唱衰了之後痛定思痛,因此他們內部的工程師就一直想辦法突破,因為沒有辦法在繪圖加速的地方突破。繪圖加速在全世界做得最好的兩家廠商創辦人都是華人,可見華人在繪圖加速這方面很厲害,可是兩家華人背景的廠商竟然拱不起來整個大中華地區一家大型Game廠商,不覺得很奇怪嗎?先跟各位講一下,去年開始CPU的複雜度比繪圖加速卡還要低一點,也就是說繪圖加速卡比任何CPU都還要複雜,因為繪圖加速卡是在做2D和3D的處理,而CPU是Turing Machine,所以世界上將來會有另外一種Processor比現在的CPU還要複雜的話,那一定跟Computer Vision有關。因為都是3D的,所以很複雜。
任天堂在快要倒的時候就開始革新,因此想到用人機介面來突破。其實人機介面並不是只有任天堂成功,看另外一個例子:蘋果電腦的iPod,讓蘋果電腦起死回生,到最後蘋果電腦根本不叫蘋果電腦而叫Apple,而今年又推出了iPhone,這兩個都有人機介面,等一下再跟大家說他們的人機介面有甚麼特別的地方。第二個是增加使用群,因為他們不能鎖定青少年。青少年一定會要求更逼真的繪圖能力,所以任天堂就想要拉平時不會玩的使用群,像是老年人。根據這個方向任天堂就想到發展健康為主的遊戲,就是運動。然後任天堂想要發展一種新的社交媒介:現在青少年玩遊戲的時候都是一個人躲在房間或是透過網路跟其他玩家互動,但是就是不願意跟父母長輩一起玩,因為對遊戲的知識差距太大根本玩不下去。因此任天堂想辦法把一家人都凝聚在同一個屋簷下,任天堂成功了。它的方法是第一個,任天堂不要玩家用雙手來操縱,因為這需要精巧的控制,有些老年人可能行動不方便,只能使用一隻手,因此任天堂就想到把遊戲手把改成單手操控的遙控器。第二個重點在於畫面的好看不如好玩,好玩比較重要。第三個是任天堂加入了三維的旋轉控制,在任天堂之前沒有任何的Game有這樣的設計,這是一個很大的突破。它能知道人在拿著東西時的旋轉角度,還加入了力回饋的概念。力回饋就是說當一個東西碰撞到另外一個東西應該要感覺到碰撞才對,因為遙控器本身沒有辦法產生力量,因此就使用一個更便宜的方法:震動和音效。利用震動和音效讓你感覺到有碰撞到東西。當這些都做到之後,其實已經做到最基礎的虛擬實境。現在來講,iPod跟iPhone也是一樣。
我剛剛講到的虛擬實境現在就來簡單地定義一下:用電腦產生並控制一個虛擬的世界,在這個虛擬世界中你可以感受到好像身處於真實的環境,你看到的摸到的甚至於聞到的東西都覺得是真實的。當然這個要求是很困難的。在此我們會強調使用者的經驗,使用者的經驗是很重要的。那麼怎麼跟客戶強調經驗的重要呢?全世界在華人地區虛擬實境做得最厲害的我相信絕對是小說家金庸。他只要寫個神鵰俠侶,很多同學,包括我在內,絕對是看得不眠不休,整個頭腦都沉浸在裡面。他連畫面都沒有,只有文字,但是可以讓讀者沉浸於想像空間裡面,所以絕對是最厲害的。在進入技術之前,先講一下1994年的時候,那時候經濟正在起飛,美國經濟尚未泡沫化,科技正是被看好的時候。當時全世界兩個科技公司最被看好,一個是做CPU的Intel,另一個是做工作站的Sun,是由史丹佛大學的學生設立的公司。當時這兩家公司加起來的營業額賺的錢比任天堂還少,所以說任天堂在1994年時是最強大、最會賺錢的公司。
top
因人機介面而打了勝仗
任天堂在2005年被唱衰了之後為了贏回這場戰爭,所以加入了三度空間的定位及旋轉角度,接下來我要介紹它的內部,現在我就來簡單的講一下。在玩Wii的時候,因為在remote裡面放了2個LED,這2個LED在手拿遙控器的時候會去追蹤2個LED的光點位置並依此計算出玩家相對位置。各位知道三角定位的原理,利用斜度可以知道遙控器的移動方向,這是第一個要介紹的定位。那怎麼知道旋轉角度呢?我們是用壓電電容式加速規(Piezoelectric Accelerometers)來得知,現在跟各位講一下原理:一個電容器只要兩個黑色板子,只要它們是金屬材質,兩塊板子中間會自動形成電容器。在此要如何做加速器的測試呢?在中間放一個紅色浮動隔板,兩塊黑色板子並列在一起。當儀器往右移的時候,兩塊板子往右移,但是中間的紅色板子因為牛頓三大運動定律之一的靜者恆靜的關係,紅色板子與左邊黑色板子的距離就拉近了,而與右邊版子的距離變遠了。電容器的公式是中間紅色板子的面積除以紅黑色板子之間的距離,距離是在分母的部分,距離變小而分子不變,因此得到結論是電容變大,所以知道儀器是往右移的。當壓電電容式加速規從X方向、Y方向、Z方向三個軸來做測量的話,就能得知旋轉的角度了。因為其元件都是大量製造,非常便宜,定價都在台幣一百元以下。那各位同學一定覺得很奇怪:聽起來這麼簡單為什麼之前都沒人想到呢?為什麼這麼賺錢的事情自己想不到?我先告訴各位在十幾年前我剛回國的時候,台大有一個從國外買的三度空間的定位器,定價台幣12萬元,可以測旋轉角度並偵測位置。而任天堂賣的遙控器定價才800到1000元,也就是說成本才400元左右,那任天堂如何將成本從12萬降到400元?第一個就是任天堂的作法跟以前的不一樣,但是以前的能夠知道旋轉角度以及三度空間的精確定位,而任天堂的方法並不知道在三度空間中的真實位置,如果不移動便無法偵測。而且Wii的遙控器只有在正前方時有影響,如果偏了一點就感應不到你的位置。當Wii抓不到你的位置時,就會開始猜你之前的位置在哪裡,因此任天堂的Wii都是猜測你的相對位置在哪邊。反過來說這也給了各位很大的研究空間。如果你能夠真的做出三度空間的定位出來,然後賣給任天堂或是相關的產業公司,那你就會成為台灣的創業家。空間的定位包含光影的定位,方法有很多種,但是要怎樣做得很便宜且reliable,那就很不得了了。我有好幾個在業界的朋友拼命在研究這個,這也是同學們值得去努力的目標。
top
人機介面與虛擬實境的不同
我現在要放Video把我做的東西跟大家展示一下,包含許多不同型態的人機介面跟虛擬實境的東西。人機介面跟虛擬實境的分別在於:虛擬實境是比較需要realtime的互動,而人機介面就比較廣泛,像蘋果新出的iPhone是沒有按鍵的,可以直接從銀幕顯示虛擬的按鍵,這樣的事情就比較屬於人機介面。
top
什麼是和諧色?
先跟各位講一下為什麼要做這個研究。左邊這張圖是我照相照出來的,現在這樣看起來蠻舒服,各位知道美學的概念之中有些和諧的色彩理論,而右邊這張就是很和諧的。那各位會說右邊這張和諧就因為他很多顏色都很類似,實際上也是這樣,有一套的理論是這樣的,假如說你照相,把所有的色全部畫在這個色彩彩度輪子的裡面,如果所有的顏色都集中在一定角度的夾角的話,就代表是一個和諧的顏色。當然這個角度是可以旋轉的,像是紅色跟黃色在一起就是和諧色。和諧色也分成好幾種類形,這邊有七種類形,是從博物館裡的中西名畫拿出來分析所得出來的結論。那因此我就問各位一個問題,你有紅色綠色跟藍色,你有辦法將這三個顏色放在這七種和諧色類型使得讓他們的夾角等符合和諧色,你會發現在要符合這七種之一是不可能的,這也是所謂的互補色。如果要選成和諧色,就要選色調相近的,藍色、淺藍色到深藍色。不管怎樣就是沒有辦法,把紅色、綠色跟藍色擺在一起而成為和諧色。把紅色、綠色再選一個顏色擺在一起,可以說是完蛋。
這張是我去美國所拍的照片,經過和諧色的分析之後,我並沒有說右邊這張比較好看,只是說右邊這張符合和諧色的定義。左邊這張有些色會抵觸,你們看的時候可能覺得還不錯,可是可以發現這張是紅配綠配藍,會產生一些不和諧的畫面出現。
有了這些數學跟美學的定義之後,我就想說,來設計一套系統,讓使用者站在魔鏡前面,拿著衣服、裙子等等來配,系統會自動產生出和諧的配色,像家裡的穿衣鏡一樣,可以知道換一個顏色會更好。
等一下會看到的錄影帶,基本上只是中國電視公司來我們實驗室拍的一小段。
top
我們要更精準的找出3D物體
第二個系統是3D的跳舞機,各位都有玩過DDR,地上有一塊板子,跟著腳步一起跳。所以我的另一個研究就是說,Google搜尋是文字,在網頁上打入你的名字,像是打入連院長的名字,一下出來跑出上百的結果,相當準確。我就想說,我能不能在網頁上找一個3D的物體,然後找很像的。例如說找一輛車子,我給一個車子的模型,那就把全世界做game的等等的,把全世界上的車子都跟我比對,相似的全部都找出來。我們當初在想說,兩秒鐘之內把全世界3D的車子都把他找出來。輸入一個手掌,就兩秒鐘之內把所有跟手掌有關的,包括自由女神像的手都找出來。
這個要怎麼做?我們想了很多種方法,其中一個方法是這樣的:我問我的學生,兩個東西怎樣最像?把兩個東西的各種角度疊在一起,從各種角度看都很像。重點是從各種角度,因為是3D物體。我們的想法是說,這個板擦,從這邊看是一個方塊,如果從方塊去找,就會找到很多方塊;從側面看是一個半圓型的東西。從不同面去看他,然後就可以確定是一個板擦。這是一個杯子,你覺得要多少面才能確定這是個杯子,而不是一個板擦?十個面?五十個面以下?五百個面?你會選哪一個?老實講如果十個面都很正確的話就很正確了,還不放心的話五十個面大概就逃不過你的眼睛了,不需要到五百個面。如果一個物體有十到五十個面,事先就把他project好,從各個角度、方向照相。3D物體相似性的問題就簡化成在2D的角度上兩張影像疊在一起比較。你跟我來比,我們兩個相不相似?我們兩個各從五十個角度照相,如果這個角度我們兩個類似,再比第二個角度,第三個角度,找到五個角度都很相似就大概可以推出我們兩個很相似的結論。反過來講,如果最像的角度都已經不太相似,就可以不用找了,因為差異性太大,不用再找。這樣的方法去找就變很快,快到什麼程度?我們兩三年前把網路上所有上萬個3D物體都找回來,然後另外給一個3D物體,什麼都可以,用50個面跟其它物體去比對,居然可以在 0.1秒就把相似的物體找出來。
top
找出3D物體了,研究3D跳舞機吧
我就開始想3D跳舞機的事情。既然我有辦法把所有3D的物體去作比對,那麼當人在跳舞的時候就去比對人的手腳的動作。因此我就想到說,我們來做一個大膽的嘗試,在全世界最大的國際會議之一 ACM,一萬三千人之前做一個展示,引起其它人的注意。那我就讓我們的同學去實做,第一個很大的問題是,背景要先隔離掉,還要很快速的比對人的動作,一秒鐘要三十秒張比對,玩的時候會有歌曲跟配的動作,幾秒之內人要做出動作,系統要做出比對。
再來講一下3D跳舞機的一些投影片。在Google這邊我想找一輛車有兩個方法:一個是我給一個警車的3D model,一個是找出跟這個model很像的model都找出來。另一個方法是說,就先用一個java的程式去幫警車的model照相,再去跟網路上的model去比對。
[3D跳舞機影片demo]這是這個人真正在跳的剪影,這個從旁邊跑過來的是正確的跳舞姿勢,這兩個要在這個點match才可以得分,而這影片是現場拍的。所以說你人要在這一瞬間跟這個對在一起。
去年我們在展示的時候,每天有幾百人,算是受注意的東西。除了跳舞機以外我秀另一個demo。
top
魔鏡的樂趣,和人機介面研究的樂趣
[魔鏡demo]這套東西,直著放像一個穿衣鏡一樣。鏡子後面藏了一個攝影機,你在螢幕上看到的是自己沒錯,可是已經幫你換了顏色,如果你穿的衣服有兩三個顏色不和諧的話,就會設法把顏色以和諧色承現出來。在real time的時候也玩好玩的,我會去找個奇怪色的披風故意來試,還找了二十個人來玩這個。好玩的東西這只是大學部的專題。我鼓勵各位說很多好玩的東西碩士班也是能做的。做很多複雜的東西學生是做半天是做一點點,做這兩個東西不用我去逼他,只要把一些觀念跟學生講,他們就會自動的去找Wii的搖控器去做,想辦法去實做。我是得到一個很大的啟示:人機介面的研究裡面是有很好玩、很有用的東西,只要學生被吸引的話,我就不用管,他們就會自己去衝,因為他們會覺得這是一個很有趣的東西。
top
做出一顆頭,騙倒其它人
我再秀一個以前的另一個人機介面。這一看就知道是假的人頭,是一個法國人來我們實驗室,我們把他的頭用3D影像掃描,聲音跟動作是我的學生,我就把學生嘴巴的動作map到法國人的頭上。我的目的是,玩game的時候讓裡面的角色,像是Wii裡的網球,讓裡面的球員跟你長的很像。在看金庸小說裡面如果變成你自己的話那有多好。那因此我要做一件事情,把自己的頭放到那個game裡面,那假的是我學生的頭,隨便切一些點 然後這個地方用一個45度角放一面鏡子,從前面的攝影機看會看到三個畫面,一個左臉一個右臉一個正中央。三個面可以對到同一個點,那叫三點定位。臉上這麼多點,每一個點都佔一個空間位置都被我算出來。因為太多點,有一些點準算的很準就很夠,很準的話我們就可以繼續往下做。你把這些紅點match,這個動做很明顯就是滾頭,他靠過來你就要把他推翻或做一些動作,再加入膚色,這個地方我們當然沒有加膚色,那嘴巴的動作請注意看,還滿像真人的。這個是在兩三年前,我們剛剛做出法國人頭的時候,他根本沒有舌頭,所以一看就是假人。那我跟各位保證,我有一個博士班學生,他現在正在美國的好萊屋跟南加大合作,他們應該會通過turing test。
所謂turing test是說,我放一個假人在裡面,然後我問你說這是真人還是假人?如果你搞混,把真的假的混在一起,你答不出來或是答錯了就是通過turing test。那我的初步感覺是,那電影可能已經通過turing test,裡面那個人是虛幻的、是假的人,但是動作跟真的一樣,你沒辦法分辨是真的還是假的。
top
沒有鼓的鼓
我再放一個早期一點的東西。 [虛擬鼓demo]那畫面上有鼓的剪影,是因為這個畫面原本是左眼跟右眼分開看,需要一個立體眼鏡。鼓棒尖頭的地方都有空間定位器。簡單的講,你在動的時候,電腦知道你的位置,鼓再加上和弦的聲音,就可以形成夢幻鼓。
top
全世界第一個力回饋搖桿
那現在來做一個新的展示,一個新的人機介面。是最有趣的東西。這是得過專利的,給各位看一下。請看那個右下角,這遙桿現在會覺得這是力回饋搖桿。這個東西95年微軟還沒有推出他們的搖桿,然後其他公司也沒有出,是我們第一個專利。把那個搖桿改過來,在第一個3Dgame DOOM加入這些程式使得畫面有些對比。學生想玩game,他就會把力回饋放進去。還有一些有趣的事。拿到專利,過了好幾年麻省打電話過來,有人說微軟做的力回饋搖桿侵權,這就影響台灣,還打到我們的專利。他們問我們願不願意做一件事,就是別家公司告微軟,我們去告別家公司。那我們也沒答應因為我到美國也要很多錢。但是我們互相幫忙,就沒有被告。
top
做出一個頭不夠,我現在要做出一隻神鵰 (3D modeling and motion mapping)
我過去這幾年呢 我一直真正想解決一個問題是,能不能把自己當主角放進去這個game裡面。第二個就是做模擬動畫。我們知道小說中有很多怪物,像神鵰俠侶裡面的神鵰。你要讓神鵰做的像真實的,第一個是製造一個很像鵰的東西出來,第二個是鵰在飛,要真實的像那個老鷹一樣的飛行。那我怎麼做這件事情:這個問題大部分是學術的問題,第一個去找到神鵰俠侶的鵰,你不用自己再重新做,太麻煩了。第二你要讓那個鵰能飛來飛去,要在翅膀跟腳裡面加入骨架,所以人會重的原因是我們中間有骨頭,你找出骨骼來,然後用影子遊戲,皮影戲就會開始動,這就會成為一篇很好的國際會議論文。現在google search這篇文章已經被refer 130次了,我在我們實驗室裡有一兩篇文章超過300次,台大電資學院排名前三名。那第二個呢,用電腦產生骨架,中間那個黑色的骨架。做完之後還要放回網站上讓別人引用,不要只有我們用。告訴各位一個方法,你要讓大家都用你的,那我們放幾百個論文,做完不要放到網站上讓大家用。這只是第三步,有了骨架之後把骨架map到一個神鵰,有了神雕之後找一個真的鳥,把鳥的動作clone到神鵰身上。骨架出來之後就很容易了,這東西只需要骨架而已,一對一的骨架動作對應,一個動作可以變成很多種東西。[demo展示貓跟狗有一樣的動作]這告訴我們說,我們在3D裡只要建好骨架,可以做很多好玩的東西。
top
3D Search會用到什麼技術?
如果我剛將兩個人一個男一個女用幾個方位照相,3d search可以用幾個方法 。一開始不把人疊在一起,平移加旋轉,總有一天會很接近。這時候你找到兩個3d物品三度空間的相對位置。有了這方法之後,你要讓牛跟河馬對應在一起,隨便亂try,總有一天會對到兩個角度有點像。你用看的說,這兩個角度不一樣怎麼會說很相似?這要靠演算法。這東西的數學要靠Zernike Moments,另一個概念要靠傅立葉轉換,他會把兩個東西疊在一起,好處是很快。你想解決什麼問題
就去找別人的方法。你找幾十種特殊問題,像是幾十種飛機等等,你把這些問題丟給我的系統,我們做出來的東西速度比較快。我們的系統為什比別人好?別人的系統用數學的方法做的,他們的系統要找出特定X軸,有一個缺點,像是有一個茶杯,他的把手會造成X軸計算錯誤。我們比較好的地方是可以找兩個茶杯相對應。
今天諾貝爾醫學獎得主是我在北卡大學的另一個系的老師,做癌症治療,從dna抽出一段來進行標靶治療。我們學生有興趣把3d的東西放進來,去找出很類似的結晶體。
top
問答時間
Q1.普林斯頓大學的系統是去找X軸,那他們的系統不是比較快嗎?
他們速度比較快,但我們用computer的方式解決。0.1跟0.01秒其實沒有什麼差別,人感覺不出來什麼差別。
Q2.3D的跳舞機,手腳的部份怎麼比對?
部分比對。更難的問題是這樣,在match時你不知道會match到哪,在部分比對時你不知道會對到哪。部分比對有很多不同的解法,我只是告訴各位這好玩的東西,剪影match到就到,所以可能會有混淆。所以我必須要兩個方向都對,這是為了game的好玩度而非正確度。
top |