一、概述
“手勢是人類溝通的最自然的方式。硬件限制是我們不能很好地控制我們的設(shè)備的唯一限制”,這里的硬件限制指的是傳統(tǒng)的手勢識別算法需要額外的深度傳感器。感謝近十多年不斷發(fā)展的可適應(yīng) AI 和邊緣計(jì)算崛起,使得這一切逐漸變?yōu)榭赡堋?
我們或?qū)⒃谥悄苁謾C(jī)、平板電腦、臺式電腦、筆記本電腦、智能手表和智能電視,IOT 設(shè)備中看到更多結(jié)合空中手勢來操作的未來功能。
今年我們已經(jīng)看到有這樣的趨勢,科技巨頭都紛紛推出了自己的手勢識別能力:谷歌在自己的手機(jī)和智能音箱上提供了手勢交互的能力,華為在旗艦手機(jī) Mate30 上推出了自己的手勢操控等等,蘋果也剛剛提交了手勢在智能音箱上應(yīng)用的相關(guān)專利,實(shí)際上,手勢作為人機(jī)交互最自然的方式場景簡直是不言自明,想像一下這些場景:
總結(jié)來說:“You are the only interface you need”。
二、我們現(xiàn)在的業(yè)務(wù)場景
我們所屬天貓精靈 M 實(shí)驗(yàn)室,主要負(fù)責(zé)跟天貓精靈相關(guān)的視覺算法,我們的主要研究方向人機(jī)交互視覺算法,包括手勢識別,肢體識別,還有多模態(tài)視覺語音交互等。
去年,我們推出了基于天貓精靈智能音箱的超輕量手勢識別算法,今年我們更進(jìn)一步,在技術(shù),業(yè)務(wù),算法上進(jìn)行了更為深入的探索:
三、無處不在的單點(diǎn)(靜態(tài))手勢
3.1 從天貓精靈到優(yōu)酷 iPad 手勢識別
去年,我們推出了基于天貓精靈智能音箱的超輕量手勢識別算法,今年我們與優(yōu)酷的小伙伴合作,把單點(diǎn)手勢能力進(jìn)一步移植到了優(yōu)酷 iPad 場景中。
3.1.1 單點(diǎn)手勢應(yīng)用:優(yōu)酷吃飯看劇神器
來自用戶的聲音:吃飯看劇神器
這是在優(yōu)酷上線后用戶自發(fā)介紹的使用視頻,也非常符合我們的場景預(yù)期和用戶痛點(diǎn):
3.2 走的更遠(yuǎn):大屏遠(yuǎn)距手勢交互
3.2.1 大屏交互場景
近年來,智能電視(智屏)正越來越多的進(jìn)入千家萬戶。據(jù)工信部預(yù)測,到 2020 年,智能電視市場滲透率有望達(dá)到 90% 以上。除了數(shù)量優(yōu)勢,強(qiáng)大的交互能力是智慧家庭入口的必備特質(zhì)。作為智慧家庭 IoT 的另一個重要入口,智能電視的大屏幕更易實(shí)現(xiàn)交互。
3.2.2 挑戰(zhàn)
要走的更遠(yuǎn),也常常伴隨更大的挑戰(zhàn)。和天貓精靈 CC 或 iPad 這種近身設(shè)備相比,在智能電視場景進(jìn)行手勢算法研發(fā)面臨主要面臨的挑戰(zhàn)有:
3.2.3 大屏方案
針對以上挑戰(zhàn),經(jīng)過我們算法研發(fā)探索,提出語義注意力機(jī)制導(dǎo)引的快速人手檢測和分類方法(Contextual-attention-guided fast tiny hand detection and classification)。
大屏解決方案: Contextual-attention-guided fast tiny hand detection and classification
1)Lightweight hourglass-like backbone
輕量級類 hourglass 模塊對輸入進(jìn)行下采樣,在獲取具有高層語義信息的特征圖的同時(shí),盡量保留細(xì)節(jié)性特征,有利于對 tiny hand 的檢測。
2)Contextual attention
3-5 米場景下,人手在整個輸入圖像中占的像素比非常小。手雖然很小,但是手一般長“人”身上,而且距離人體特定的部位(如手腕、胳膊、人臉)較近,同時(shí)與這些部位可能會有相近的顏色。這些人體或人體部位往往較手要更大,為我們 tiny hand 的檢測提供了額外的 clues,利用這些 clues,可以更好的對 tiny hand 進(jìn)行檢測。基于此,我們利用 Similarity Context 和 Semantics Context 來作為 Contextual attention ,從而指導(dǎo)網(wǎng)絡(luò)獲取手區(qū)域以外的語義信息,增強(qiáng)檢測能力。
四、落地與優(yōu)化閉環(huán)
相信任何一個做過 AI 算法落地的同學(xué),都會遇到各種各樣的實(shí)際算法問題,不管是科大訊飛的語音交互,到現(xiàn)在無處不在的人臉識別,甚至谷歌的搜索詞排名算法,基于深度學(xué)習(xí)的AI算法的非常重要的一個特點(diǎn)就是越用越好,并漸漸形成數(shù)據(jù)相關(guān)壁壘。
我們在手勢先后在天貓精靈和優(yōu)酷上線后,我們同樣也經(jīng)歷了這樣的一個過程,為了讓我們的算法“越用越好”:
4.1 更快更強(qiáng)的端上檢測算法 + overflow-aware 量化應(yīng)用
4.1.1 更強(qiáng)的端上檢測算法
基于 anchor-free 方案,更高效的算法框架,使用 heatmap 輔助 anchor 方案
基于天貓精靈音箱,IOT 視覺模組等不同設(shè)備算力的硬件條件,對端上的手勢識別提出了更加高的要求,我們進(jìn)一步提升手勢識別算法能力框架:基于流行的 anchor-free centernet 算法,提出了 centernet-lite 的端上檢測算法,不過在實(shí)際算法的落地的過程中,我們發(fā)現(xiàn)目前流行的 anchor-free 方案在小網(wǎng)絡(luò)有一些天然劣勢:
4.1.2 應(yīng)用 Overflow-aware 低比特量化算法
端上量化
加速目前業(yè)界流行的方案為谷歌 8bit 量化算法,事實(shí)上,有更優(yōu)秀的低比特量化算法:通過學(xué)習(xí)的方法,學(xué)習(xí)每一層的 min/max 范圍,動態(tài)的調(diào)整每一層的量化方案,目前在推理引擎端加速比為 70%。
最終我們采用使用 heatmap 方案來輔助 anchor 檢測方案且融合 Overflow,這取得了比較好的精度和效果的平衡,在天貓精靈硬件上。
4.2 優(yōu)化閉環(huán):AUTOAI 的手勢線上識別優(yōu)化框架 (讓算法越用越好)
我們利用在 deep learning 中有類似模型蒸餾的思想,通過采用預(yù)先訓(xùn)練好的復(fù)雜模型(Teacher model)的輸出作為監(jiān)督信號去訓(xùn)練線上網(wǎng)絡(luò)(student model)。我們可以在不直接接觸業(yè)務(wù)數(shù)據(jù)的情況下,不斷進(jìn)行算法的優(yōu)化。
使用圍欄的優(yōu)化結(jié)果:
五、產(chǎn)品級的序列(動態(tài))手勢
5.1 為什么要做動態(tài)手勢識別
我們在單點(diǎn)手勢已經(jīng)做了非常多的嘗試和應(yīng)用落地,但是動態(tài)手勢作為一種更自然更“爽”的交互方式,是我們一直在不斷鉆研的實(shí)際方向。
從產(chǎn)品的思路上來說,動態(tài)手勢提供了更多的交互感和參與感,其應(yīng)用的場景可能也是不一樣的,比如單點(diǎn)手勢可能應(yīng)用與 IOT 設(shè)備等操控類型的算法場景,動態(tài)手勢其獨(dú)特的參與感讓其更適用于教育,娛樂,線下運(yùn)營等實(shí)際場景,這也是我們不斷突破這個場景的原因。
5.2 基于 skeleton 的動態(tài)手勢識別算法
去年,我們實(shí)現(xiàn)了基于 skeleton-based 的動態(tài)手勢識別算法(相關(guān)工作已經(jīng)投稿ISMAR2019,并成功發(fā)表,鏈接:https://ieeexplore.ieee.org/document/8951971):
但是在實(shí)際的產(chǎn)品化過程中,我們發(fā)現(xiàn)對于通用的動態(tài)手勢識別,純粹的 skeleton-based 方案可能并不實(shí)用,主要原因有:
因此,我們把目光投到了以動作識別為基礎(chǔ)、指尖回歸為輔助的時(shí)序推理方案。
5.3 基于視頻理解的動態(tài)手勢識別算法
時(shí)序推理
原理:圖像關(guān)系的時(shí)序推理(temporal reasoning)能力,要讓計(jì)算機(jī)認(rèn)識這兩個行為,需要兩張及以上的幀圖像來相互輔助識別。一個行為需要被多個幀協(xié)作來解釋。這種方案很好的解決了 motion blur 的問題,且算力上更可控。
Our Temporal Generation Network_
為解決運(yùn)動模糊等問題,采用基于 RGB 時(shí)序序列為主框架的視頻識別方案,提取連續(xù)采樣幀的特征,并使用改良的高效快速的非退化 3D 卷積網(wǎng)絡(luò),對時(shí)序特征進(jìn)行融合。
同時(shí)針對特定手勢的識別,提出一種基于手指關(guān)鍵點(diǎn)的輔助分支,使用 heatmap 分支對指尖關(guān)鍵點(diǎn)進(jìn)行多任務(wù)學(xué)習(xí)并回歸,檢測出手指的運(yùn)動軌跡,與 RGB 分支進(jìn)行特征融合,輔助動態(tài)手勢識別。算法整體結(jié)合了基于 RGB 和關(guān)鍵點(diǎn)方案的優(yōu)勢,達(dá)到了速度與精度的平衡。
六、未來展望
我們已經(jīng)在單點(diǎn)手勢識別,序列手勢識別在算法、業(yè)務(wù)都進(jìn)行了較多的探索和嘗試,關(guān)于手勢識別的未來算法探索方向和業(yè)務(wù)發(fā)力點(diǎn),我們也有一些自己的展望:
6.1 3D 手勢崛起
3D 人手姿勢估計(jì)是指基于輸入的 RGB 或 RGB-D 圖片進(jìn)行人手建模并找到關(guān)鍵部件(如,骨節(jié)點(diǎn))位置的過程。我們生活在三維世界,三維手勢交互必然帶來更自然更舒適的交互體驗(yàn)。我們也在 3D 人手交互方面正進(jìn)行積極探索,未來在電商產(chǎn)品交互式展示、VR/AR、手語識別、在線教育等方面,我們會推出更多的交互性更強(qiáng)的產(chǎn)品,提供更人性化的交互體驗(yàn)和服務(wù)。
Oculus Quest 在今年推出的 3D 手勢操控
6.2 手勢在 IOT 場景的應(yīng)用
手勢控制能否超越語音控制成為智能家居設(shè)備最自然不過的設(shè)備呢?在 IOT 場景,如果可以使用手勢控制電視,燈泡,空調(diào)等等。目前已經(jīng)有一些 startup 開始了在這方面的探索。
比如 Bixi,Bixi 是一款手勢小遙控器,感應(yīng)你的空中手勢,可以指揮你最喜歡的智能手機(jī)應(yīng)用程序、LifX 或者 Hue 燈泡、互聯(lián)網(wǎng)揚(yáng)聲器、GoPro 和許多其他 IoT 設(shè)備。
再比如如下圖的 Bearbot 萬用遙控器,除了萌系的外觀以外,還可以支持自定義手勢控制全屋家電,讓你從此擺脫一堆遙控器的束縛。
Bearbot 手勢遙控器,圖片來源:https://www.indiegogo.com/projects/bearbot#/
6.3 手勢在教育場景的更多應(yīng)用
除了手指點(diǎn)讀,手勢在教育行業(yè)其實(shí)應(yīng)該有更多的應(yīng)用,比如現(xiàn)在大火的在線教育,手勢可以增加虛擬課堂的互動感和,同時(shí)對于小朋友來說,手勢/視覺提供的有趣新奇的操控體驗(yàn)也是對幼兒提高課堂注意力非常重要的一環(huán),例如,引導(dǎo)舉手回答問題。再比如,我們需要做一些課堂小練習(xí),普通的模式太枯燥,使用動態(tài)手勢識別“畫對勾”,“畫叉叉”讓小朋友以互動游戲的方式完成這些練習(xí)。