讓畫筆在空氣中飛舞 - 微軟展示“空中書寫”技術(shù)

2009/7/9 11:28:41    編輯:Windows7之家 - Mary Jane     字體:【

Win7之家www.airtaxifl.com):讓畫筆在空氣中飛舞 - 微軟展示“空中書寫”技術(shù)

如果不是學(xué)計算機科學(xué)的話,你可能不知道什么叫計算機視覺,也可能不知 道什么叫模式識別。但是看過電影《少數(shù)派報告》的人或許都希望自己能和湯姆·克魯斯一樣,在空中用手比劃一下就能完成未來電腦的操作;甚至想過如果有像哈 利·波特那樣的魔棒,揮一揮就無所不能。微軟亞洲研究院語音組最近發(fā)明的空中手書項目就部分地實現(xiàn)了這些科幻迷、童話迷的夢想。 

就如上圖所展示的那樣,用戶手中抓一支筆、一個蘋果或者其他容易辨認的 物體,在空中寫下文字、做出手勢,通過攝像頭的“眼睛”觀察,計算機就能知道用戶寫的是哪個漢字,想表達的是哪種手勢,從而完成計算機和人的自然交流。這 也正是我們項目命名為“空中手書”的由來。之所以說是部分實現(xiàn)了用戶的夢想,那是因為我們只是成功實現(xiàn)了空中手書,而真正科幻式的未來生活需要各個行業(yè)、 各個學(xué)科的共同發(fā)展進步。

孝心引發(fā)的創(chuàng)新

空中手書項目誕生的直接導(dǎo)火索是迎接2009年的微軟技術(shù)節(jié) (TechFest),為此語音組在內(nèi)部廣征TechFest的參展議案,結(jié)論莫衷一是。當(dāng)時,我還在家休假。我的經(jīng)理霍強說,“等馬磊回來再討論吧,這 家伙鬼點子多。”回公司上班那周,正好和霍強1:1交流,當(dāng)談到組里還為TechFest參展項目懸而未定時,我就提出了要做“空中手書”的建議。其實, 這個念頭由來已久,但是那次回老家度假更堅定了我的這個想法。2009年初在家過年的時候,就經(jīng)常聽到父母抱怨不會用鍵盤輸入,手寫板也不好用(需要不斷 的抬頭看屏幕和低頭看板子),我當(dāng)時便吹牛說,明年回來給家里的電腦裝個攝像頭,然后你們對著攝像頭就可以寫字了。其實有這個想法也是因為之前全院的某次 Offsite,在一段非?岬囊曨l短片里,四位院長用手指在空中輕而易舉地寫下了MSRA (微軟亞洲研究院的英文縮寫) 四個字母,這當(dāng)然是電影特效,但是卻讓我浮想聯(lián)翩。

雖然“空中手書”的想法聽上去很炫,但是霍強還是對需要投入的時間和人 力成本有所顧慮。為此,我主動請纓用兩周時間先做個原型出來,然后再評定能不能繼續(xù)做下去。實際上最后做出這個原型只用了2天時間,也還是一個比較簡陋的 演示:首先把手的運動軌跡跟蹤下來,接著保存成數(shù)據(jù)文件,然后再調(diào)用我們的識別引擎,得到識別結(jié)果文件,最后經(jīng)過讀取把它顯示在屏幕上。

令人驚訝的是,這個原型的效果已經(jīng)令人相當(dāng)滿意了。因此,便有了更多的人加入到這個項目的開發(fā)完善的過程中,比如我的實習(xí)生朱曉恩、霍強的實習(xí)生孫雷,以及現(xiàn)在繼續(xù)把這個演示中加入手勢識別的禹果。

 

空中手書項目在2009年微軟技術(shù)節(jié)上精彩亮相

技術(shù)里面隱藏的奧妙

那是不是因為這個問題太簡單了,所以用兩天就能做出這個演示?當(dāng)然不是了。我們設(shè)計的空中書寫系統(tǒng)里面有兩個主要的組成部分,一個是運動軌跡的追蹤算法,一個是手寫體漢字的識別算法。而這兩個領(lǐng)域本身都有了幾十年的發(fā)展,至今還是有很多的未解問題。

比如說這個跟蹤算法,跟蹤什么東西、提取什么樣的特征來跟蹤、跟蹤的效率,是不是白天晚上各種不同的光照條件下都能跟蹤等等,每一個問題都可以展開來細細的做研究。而這些問題如果不解決或一定程度上解決,就不會是一個用戶體驗良好且穩(wěn)定的方案。

再比如說這個手寫體漢字識別也同樣是有很多值得研究的問題。寫字的風(fēng)格 (楷書、行書、隸書、草書) 不同會影響識別率,不同人的寫法更是差異很大。另外,漢字的筆順也是個大問題。除去這些問題不談,在空中寫字的方式和紙面上寫出來的字樣式上也差別很大, 至少現(xiàn)在空中的漢字是要一筆寫成的。這都要求我們的漢字識別器可以穩(wěn)定地處理和識別出來。

兩天做出來的原型只是描述了一個概念,后面還有大量的工作等著我們?nèi)プ觥?/font>

我們連同實習(xí)生一起做了認真的特征研究,去考慮哪些特征在光線不足的情 況下穩(wěn)定,哪些在亮光甚至點光源(一般會場和室內(nèi)的條件)下能夠穩(wěn)定等等問題。另外,現(xiàn)在的攝像頭有自動聚焦、白平衡和自動濾波的功能,而這些功能是不是 對我們的應(yīng)用有幫助?其實,有些功能不但沒有幫助反而有害。我們就需要把這些問題一個個研究清楚。除了特征外,什么樣的追蹤算法穩(wěn)定高效,適合我們的應(yīng)用 場景?為此,霍強和我查閱了大量研究資料,咨詢了我們微軟內(nèi)部的許多在這方面資深專家尋求更好的方案。

在手寫識別方面,我們研究院語音組有很多年研究的積累,平面上的手寫體 識別算法的性能和識別率上是全世界領(lǐng)先的。相關(guān)算法已經(jīng)transfer (轉(zhuǎn)化)到了產(chǎn)品部門。但是這個空中字體的軌跡有自身的特點,如一筆連畫,三維空間的軌跡映射到二維上,比劃之間的轉(zhuǎn)折相對圓滑等。我們的算法在特征上的 處理可以對付這些問題,信號的預(yù)處理部分也可以過濾掉由于光線條件不是很好情況下跟蹤算法帶來的信號抖動。

除了這些在核心技術(shù)上的研究之外,在用戶界面上我們也考慮了很多。這部 分我的實習(xí)生朱曉恩動了很多腦子,比如如何設(shè)計更美觀的界面,捕捉到的軌跡如何呈現(xiàn)會更舒適。另一個重要的改進就是把識別結(jié)果中最可靠的結(jié)果放置在候選區(qū) 域的中心,把不太確定的候選結(jié)果放置在邊緣。這也是為了能讓用戶平均選取正確漢字的手移動距離最短。

最終,完成了我們現(xiàn)在看到的這個對公眾演示的算法設(shè)計和實現(xiàn)。

空中書寫的應(yīng)用前景

如我所言,空中手書這個項目一開始就是從用戶的需求中來(有相當(dāng)一批人不會用鍵盤輸入或者不知道怎么用包括拼音輸入法在內(nèi)的方式)。我們的項目就給了這些人一個與機器設(shè)備交互的可能性。

我們這個空中手書關(guān)注的應(yīng)用場景可以分為以下幾類:

1.  交互式游戲場景。比如在Xbox中,在很多時候需要玩家的輸入才能導(dǎo)致游戲的繼續(xù)進行。這時候我們的空中手書就提供給用戶一種截然不同的使用體驗,用于輸入名字,謎題答案;用于交互式控制完成游戲的部分場景等等。

2.  搜索是海量信息時代重要的信息組織方式。 輸入搜索的查詢關(guān)鍵詞有時候并非是一件非常容易的事情。比如在IPTV上,用戶的計算機連接到互聯(lián)網(wǎng)上,用戶有需要從互聯(lián)網(wǎng)上找到有趣的視頻或者電影電視 然后從自己家的電視屏幕上進行播放。這時候,我們的空中手書就提供給用戶一個輸入方式選擇。尤其是那些不會用T9輸入法的中年以上用戶。畢竟,手寫輸入還 是自然的輸入方法之一。

3.  我們的空中手書還允許用戶輸入手勢。通過一組直觀易用的手勢,用戶可以方便地和各種智能設(shè)備交互?刂埔粢曨l的播放,提升用戶體驗,快速訪問某些設(shè)定功能,等等。

總之,空中手書給了用戶新的選擇。它的應(yīng)用場景就僅僅受限于我們和用戶的想象力。

空中手書的演示成功恰恰是一個研究問題的開始,恰恰說明用戶對更自然的 人機交互方式提出了訴求。就在寫本文的時候,我們還在研究是否有更自然的方式可以捕捉人的運動,從而和計算機交互;是否能讓我們的跟蹤算法和人眼的跟蹤一 樣穩(wěn)定。同時,我們還在研究使用手勢識別來理解用戶意圖,讓每個人都可以體驗到空中舞動之美,體驗到人機交互帶來的便利。