近年來(lái),隱于無(wú)形的云計(jì)算逐漸深入人心,然而云與端的距離卻為云計(jì)算的聽(tīng)說(shuō)讀寫(xiě)帶來(lái)了新的挑戰(zhàn),人與云的互動(dòng)既需要人與端的交互,也需要端與云的互聯(lián)。
在微軟AI講堂哈爾濱工業(yè)大學(xué)站上,微軟亞洲研究院資深研究員呂巖博士分享了多媒體計(jì)算、智能計(jì)算與云計(jì)算的相互關(guān)系,并通過(guò)兩個(gè)項(xiàng)目詳細(xì)說(shuō)明了如何通過(guò)多媒體計(jì)算與智能計(jì)算為云計(jì)算帶來(lái)自然的聽(tīng)說(shuō)讀寫(xiě)能力。
下面就讓我們一起回顧一下呂巖博士的演講——云計(jì)算的聽(tīng)說(shuō)讀寫(xiě)。
演講全文如下(文字內(nèi)容有精簡(jiǎn))
各位老師同學(xué),大家好。我是呂巖,在微軟亞洲研究院主要負(fù)責(zé)多媒體計(jì)算方向的研究。今天主要想跟大家分享一下如何通過(guò)多媒體技術(shù)和人工智能技術(shù)推動(dòng)人與云的交互,帶來(lái)一種更新的計(jì)算體驗(yàn),甚至推動(dòng)計(jì)算技術(shù)的演進(jìn)。
我在做碩士課題的時(shí)候有一些研究成果(如上圖),當(dāng)時(shí)做的是面部表情的識(shí)別。大家可以看到,這些表情都非??鋸?,有很多表演成分在里面。為什么這樣?主要是當(dāng)時(shí)的數(shù)據(jù)樣本很少,采集圖像的難度非常大,而我們自己又很難模擬出自然的情緒表情。而今天,因?yàn)榛ヂ?lián)網(wǎng)上有很多表情自然的圖像,通過(guò)深度學(xué)習(xí),已經(jīng)可以極大地提高識(shí)別精度了。下面,我想跟大家分享一下識(shí)別算法背后的東西。
面部表情識(shí)別只是計(jì)算機(jī)理解人的行為的一部分,對(duì)于計(jì)算機(jī)來(lái)說(shuō),真正和人打交道的是多通道的人機(jī)交互和用戶(hù)界面,也就是計(jì)算機(jī)的輸入與輸出。
除了傳統(tǒng)的鍵盤(pán)鼠標(biāo)等輸入,語(yǔ)音和圖像的輸入也變得越來(lái)越普及。例如,通過(guò)語(yǔ)音識(shí)別,可以讓機(jī)器聽(tīng)懂人的命令。通過(guò)視頻輸入,可以讓機(jī)器識(shí)別人臉以及表情等,也就有了看和理解的能力,我們把這種能力稱(chēng)為讀的能力。
前面強(qiáng)調(diào)的都是輸入,對(duì)計(jì)算機(jī)來(lái)說(shuō),輸出也很重要。計(jì)算機(jī)的輸出通常指音視頻的輸出,例如通過(guò)語(yǔ)音合成技術(shù),可以讓機(jī)器具有說(shuō)的能力,通過(guò)屏幕渲染,可以讓機(jī)器具有寫(xiě)的能力。我們認(rèn)為,寫(xiě)就是讓機(jī)器輸出視頻,其背后可以是非常復(fù)雜的圖形渲染過(guò)程。
機(jī)器的聽(tīng)說(shuō)讀寫(xiě)代表了自然的人機(jī)交互,而人機(jī)交互是通過(guò)用戶(hù)界面實(shí)現(xiàn)的。用戶(hù)界面對(duì)應(yīng)著對(duì)音視頻等多媒體數(shù)據(jù)的處理,所以可以把人機(jī)交互抽象為對(duì)音視頻等多媒體數(shù)據(jù)的處理。
再來(lái)看一下云計(jì)算環(huán)境下的人機(jī)交互。人總是通過(guò)客戶(hù)端與機(jī)器進(jìn)行交互,客戶(hù)端既包括PC、平板電腦和手機(jī)等常見(jiàn)設(shè)備,也包括智能電視、智能電器等其它的應(yīng)用電器。云與端通過(guò)網(wǎng)絡(luò)連接,可以實(shí)現(xiàn)存儲(chǔ)與計(jì)算的共享。
存儲(chǔ)與計(jì)算背后對(duì)應(yīng)的也是數(shù)據(jù)的處理,例如計(jì)算,就是對(duì)代碼和程序的執(zhí)行過(guò)程。用戶(hù)界面也對(duì)應(yīng)于對(duì)音視頻等多媒體數(shù)據(jù)的處理,而這個(gè)處理的過(guò)程,既可以在端做,也可以在云里做。所以說(shuō),云計(jì)算的聽(tīng)說(shuō)讀寫(xiě),就是在云里對(duì)用戶(hù)界面所涉及到的多媒體數(shù)據(jù)進(jìn)行處理。大多數(shù)用戶(hù)界面需要實(shí)時(shí)處理,具有低延遲的反饋,因此需要云與端的同步,而多媒體技術(shù)是實(shí)現(xiàn)云與端同步的關(guān)鍵。所以說(shuō),多媒體技術(shù)不僅僅可以給用戶(hù)帶來(lái)視聽(tīng)的享受,還可以推動(dòng)計(jì)算技術(shù)的演進(jìn),甚至是一場(chǎng)革命。
今天主要想跟大家分享兩個(gè)項(xiàng)目,一個(gè)是云中的屏幕,另外一個(gè)是云中的視覺(jué)。第一個(gè),主要是把視頻作為一種輸出,背后的技術(shù)包括多媒體技術(shù),還有一些圖形渲染的技術(shù);第二個(gè)項(xiàng)目主要是把視頻當(dāng)成一種輸入的數(shù)據(jù)來(lái)看待。
云中的屏幕這個(gè)項(xiàng)目我們已經(jīng)做了大約十幾年了,但是我認(rèn)為直到今天,相關(guān)的研究?jī)?nèi)容還是很有價(jià)值的。我們很早的時(shí)候就把這種屏幕渲染的工作拿到云端去做,把屏幕擴(kuò)展成一個(gè)更廣義的用戶(hù)的輸入與輸出的數(shù)據(jù)。這樣,所有的人機(jī)交互工作,我們都可以把它抽象成一種對(duì)數(shù)據(jù)的處理,也就是對(duì)輸入和輸出數(shù)據(jù)的處理。
這個(gè)視頻實(shí)際上是微軟在2020年的愿景之一。這里面有很多很多的屏幕,我們可以認(rèn)為它是計(jì)算無(wú)處不在,屏幕無(wú)處不在的一個(gè)場(chǎng)景。
但是作為研究員來(lái)講,我們更多的是想怎么樣實(shí)現(xiàn)這樣的技術(shù),例如,這些屏幕從哪來(lái)?所以我們?cè)谙?,能不能通過(guò)云端生成這樣一個(gè)屏幕,把它投影到不同的顯示設(shè)備上。它的好處就是,當(dāng)我從一個(gè)房間換到另外一個(gè)房間時(shí),所有的內(nèi)容都可以跟著我走,可以跑到我周?chē)械娘@示設(shè)備上去,這樣通過(guò)云或者超強(qiáng)的服務(wù)器來(lái)實(shí)現(xiàn)屏幕渲染,即可以簡(jiǎn)化系統(tǒng)。
除了這些超炫的顯示設(shè)備,我們回過(guò)頭來(lái)看看現(xiàn)有的有顯示功能的計(jì)算設(shè)備,如手機(jī)、平板電腦、智能電視等。我們認(rèn)為這些設(shè)備通過(guò)網(wǎng)絡(luò)連接起來(lái),就可以建成一個(gè)私有云,或者叫做設(shè)備云,再和公有云結(jié)合起來(lái),就形成了一個(gè)完整的云環(huán)境。
搭建這樣的云環(huán)境,并不復(fù)雜,通過(guò)用戶(hù)界面的虛擬化就可以實(shí)現(xiàn)。虛擬化的好處是可以盡量利用現(xiàn)有的應(yīng)用。通過(guò)虛擬化,可以將包括云在內(nèi)的各種設(shè)備的輸入、輸出等模塊暴露出來(lái)并共享給其它設(shè)備使用。譬如說(shuō),我們可以將Xbox上渲染的內(nèi)容在平板電腦上顯示,同時(shí)將平板上的輸入反饋給Xbox,這樣就可以在平板上玩Xbox的游戲。這個(gè)功能目前已經(jīng)在Windows系統(tǒng)中實(shí)現(xiàn)了。實(shí)現(xiàn)這個(gè)功能,主要是通過(guò)用戶(hù)界面,特別是屏幕做虛擬化,然后對(duì)屏幕視頻進(jìn)行壓縮和傳輸。
剛才提到的關(guān)鍵技術(shù)是設(shè)備的虛擬化。虛擬化包括計(jì)算和存儲(chǔ)。當(dāng)然,我們更關(guān)注它的輸入和輸出,如果我們把輸入和輸出虛擬化,然后對(duì)這些相關(guān)的數(shù)據(jù)進(jìn)行壓縮再傳輸,從而實(shí)現(xiàn)云和終端之間的同步,那么我們就可以認(rèn)為這個(gè)計(jì)算可以在任何地方進(jìn)行,它的顯示、輸入可以在另外任何一個(gè)其他的地方得到結(jié)果。
這是一個(gè)用戶(hù)界面虛擬化及串流的基本過(guò)程??此七@個(gè)過(guò)程比較簡(jiǎn)單,但是挑戰(zhàn)卻非常大。通常流媒體可以允許一定的延遲,例如幾百毫秒,甚至幾秒的延遲。而云與端顯示內(nèi)容的同步要求延遲最多幾十毫秒,甚至接近于0。用戶(hù)界面的同步,既包括輸入的同步,也包括輸出的同步,所以屏幕視頻的數(shù)據(jù)量極大,因此屏幕視頻的壓縮也是關(guān)鍵。
上圖是一個(gè)典型的計(jì)算機(jī)屏幕圖像,它和傳統(tǒng)的自然圖像不太一樣。首先這里有很多文字,還有一些文字在圖像上。我們當(dāng)然可以用一些傳統(tǒng)的視頻壓縮算法來(lái)壓縮,但效率不高,也很難保證文字部分的視覺(jué)質(zhì)量。
所以我們組開(kāi)發(fā)了一些新的屏幕圖像壓縮算法,主要是對(duì)屏幕內(nèi)容進(jìn)行分析,對(duì)文字豐富的區(qū)域和自然圖像區(qū)域采用不同的編碼方法。這樣不僅可以提高編碼效率,還可以針對(duì)輸出設(shè)備的不同,做一些增強(qiáng)的顯示?,F(xiàn)在,一些視頻編碼標(biāo)準(zhǔn)也開(kāi)始關(guān)注屏幕視頻的壓縮,我們研究組有幾項(xiàng)技術(shù)被國(guó)際最新的編碼標(biāo)準(zhǔn)H.265所采納。
大家想一想,如果能對(duì)圖像進(jìn)行內(nèi)容分析,那么就可以實(shí)現(xiàn)更多的功能,比如一個(gè)圖像顯示在電視上和手機(jī)上,我們關(guān)注的重點(diǎn)是不一樣的,我們想把它自適應(yīng)地顯示到所有的顯示設(shè)備上,這就需要一些智能的處理,在這個(gè)里面的研究?jī)?nèi)容會(huì)非常的多。
剛才介紹的是把視頻作為一種輸出,實(shí)際上視頻還可以作為一種輸入,在幾年前這個(gè)可能聽(tīng)起來(lái)不是那么容易理解,但是今天以圖像、視頻作為輸入的系統(tǒng)已經(jīng)有很多了。微軟推出的認(rèn)知服務(wù),就包括了計(jì)算機(jī)視覺(jué)API等,通過(guò)上傳圖像到云端,就可以識(shí)別圖像中的人臉,表情,年齡等,然后再返回給用戶(hù)。但是要把視頻作為輸入,就相當(dāng)?shù)木哂刑魬?zhàn)性。如果是離線(xiàn)應(yīng)用還好,不需要太在意延遲,但如果需要實(shí)時(shí)交互,則對(duì)視頻處理的實(shí)時(shí)性要求更高。因此,我們研究的重點(diǎn)就是實(shí)時(shí)的、低延遲的智能視頻分析。
以會(huì)議場(chǎng)景為例,在會(huì)議室里面如果有一個(gè)攝像頭可以把周?chē)膱?chǎng)景拍攝下來(lái),它就可以做很多事情,比如可以用手勢(shì)來(lái)控制演講的幻燈片播放等。
大約三、四年前我們開(kāi)發(fā)了一個(gè)采用ARM CPU的小盒子,它可以連接上投影儀和Kinect,一方面實(shí)現(xiàn)無(wú)線(xiàn)投影的功能,另一方面還可以通過(guò)Kinect實(shí)現(xiàn)手勢(shì)控制。要知道,Kinect原本是連接到Xbox上的,在Xbox上實(shí)現(xiàn)手勢(shì)識(shí)別,但我們做的小盒子處理器能力較弱,所以需要服務(wù)器或者云的幫忙。
在云端做識(shí)別還有一個(gè)好處,就是識(shí)別算法的更新升級(jí)可以更快。這樣,就需要深度圖像的壓縮和傳輸。解壓縮的圖像不是為了看,而是為了識(shí)別,因此對(duì)壓縮算法的設(shè)計(jì)要求就有所不同。另一方面,我們的手勢(shì)有時(shí)是為了控制,有時(shí)是為了演講的需要,因此我們可以有選擇地控制采集頻率??傊?,在這樣的系統(tǒng)中,需要綜合考慮計(jì)算機(jī)視覺(jué)、視頻壓縮和多媒體通信等領(lǐng)域技術(shù),使它們協(xié)同工作。
前面的應(yīng)用主要是以視頻作為輸入,由用戶(hù)來(lái)主動(dòng)控制計(jì)算機(jī),而更加智能的應(yīng)用則是讓計(jì)算機(jī)主動(dòng)地理解環(huán)境。以會(huì)議場(chǎng)景為例,機(jī)器如果知道在會(huì)議室的某個(gè)角落有幾個(gè)人在交談,它可能會(huì)把一些燈光切到這個(gè)地方,或者是做一些相關(guān)的操作,比如把會(huì)議內(nèi)容摘要記錄下來(lái)等等,這些都需要對(duì)整個(gè)環(huán)境進(jìn)行理解。
對(duì)人的理解和動(dòng)作的識(shí)別,是以對(duì)人的檢測(cè)和跟蹤為基礎(chǔ)的。所以,在智能視頻分析上,我們重點(diǎn)關(guān)注的是實(shí)時(shí)的多目標(biāo)檢測(cè)和跟蹤,特別是人的檢測(cè)和跟蹤。
人體是非剛體,所以人體檢測(cè)通常比人臉檢測(cè)更難,更具有挑戰(zhàn)性。而深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展極大地提高了精度,但也帶來(lái)了極大的計(jì)算開(kāi)銷(xiāo)。目標(biāo)的跟蹤是在目標(biāo)檢測(cè)的基礎(chǔ)上進(jìn)行的,算法的執(zhí)行比較快,但算法通常很復(fù)雜,處理的情況很多。例如,當(dāng)一個(gè)人被遮擋后,在重新出現(xiàn)時(shí)需要保持ID不變,也就需要Re-ID的技術(shù)。我們?cè)谀繕?biāo)檢測(cè)和跟蹤上都有一些核心算法。在一些公開(kāi)的數(shù)據(jù)集上也有很好的排名。
那么到底應(yīng)該在云里做,還是在攝像頭里做?
我們針對(duì)現(xiàn)在的算法做了一些實(shí)驗(yàn)。如果在攝像頭上做人體檢測(cè),在保證精度的前提下,基本上需要1秒1幀。而人體跟蹤可以比較快,所以可以做到60毫秒1幀。顯然,這個(gè)速度滿(mǎn)足不了實(shí)時(shí)的要求,如果在云或者服務(wù)器端做,速度可以很快,但是把視頻上傳到服務(wù)器的代價(jià)也比較高,容易產(chǎn)生比較大的延遲。
所以,最直接的想法就是采用云和攝像頭的混合方案,把關(guān)鍵幀送到云里做人體檢測(cè),再把結(jié)果返回?cái)z像頭繼續(xù)做人體跟蹤。這樣,大部分視頻幀是在攝像頭直接完成的,減少了視頻傳輸?shù)拈_(kāi)銷(xiāo),也減小了延遲。
當(dāng)然,對(duì)關(guān)鍵幀的人體檢測(cè)仍然會(huì)有比較大的延遲,在算法實(shí)現(xiàn)上還可以通過(guò)前面目標(biāo)跟蹤的結(jié)果加速目標(biāo)檢測(cè)的過(guò)程??傊?,實(shí)際的算法會(huì)相對(duì)比較復(fù)雜,流程涉及到的一些小算法比較多,需要合在一起才能得到一個(gè)比較完美的結(jié)果。這也是我們組現(xiàn)在研究的重點(diǎn)。
給大家看看這個(gè)結(jié)果,這是一個(gè)人的檢測(cè)算法,大家可以看到,如果我們想在高端機(jī)器上去做,結(jié)果會(huì)變得很完美,但實(shí)際上因?yàn)槭窃跀z像頭里面做的,所以有時(shí)候稍微有一些抖動(dòng),但是整體的結(jié)果還是相當(dāng)棒的。
我們可以檢測(cè)出人的位置,而且能把他的ID保持不變。這個(gè)位置的定位很有意思,我們是通過(guò)單一攝像頭來(lái)實(shí)現(xiàn)的,所以也是一個(gè)簡(jiǎn)單的算法,基本上就可以把每個(gè)人的位置算出來(lái)。后面是車(chē)的檢測(cè),其實(shí)車(chē)的檢測(cè)相對(duì)來(lái)說(shuō)會(huì)容易很多,基本上所有的車(chē)都能檢測(cè)出來(lái),主要是因?yàn)槿耸欠莿傮w。
總結(jié)一下,今天主要介紹如何通過(guò)多媒體技術(shù)連接云與端,通過(guò)用戶(hù)界面的虛擬化為云計(jì)算帶來(lái)智能的交互。重點(diǎn)講了兩個(gè)項(xiàng)目,云中的屏幕和云中的視覺(jué)。通過(guò)這個(gè)報(bào)告,想告訴大家我們既做基礎(chǔ)算法研究,也做交叉學(xué)科的系統(tǒng)研究,包括云計(jì)算、移動(dòng)計(jì)算、計(jì)算機(jī)視覺(jué)、機(jī)器學(xué)習(xí)、多媒體計(jì)算與通信等不同的領(lǐng)域。
我們多媒體計(jì)算組致力于推進(jìn)媒體技術(shù)以幫助計(jì)算技術(shù)的演進(jìn)。
這就是我今天報(bào)告的內(nèi)容,謝謝!
聯(lián)系客服