天啦嚕!在家和偶像玩"剪刀石頭布",阿里工程師如何辦到?
阿里妹導讀:如今,90、00後一代成為消費主力,補貼、打折、優惠等“價格戰”已很難建立起忠誠度,如何與年輕人建立更深層次的情感共鳴?互動就是一種很好的方式,它能讓使用者更深度的參與品牌/平臺呈現的內容,提供更深層的參與感,提升使用者對品牌/平臺的認同感和滿意度。
今天,我們一起看看這些趣味互動技術背後的祕密。
一. 背景
最近一年以來,阿里巴巴搜尋事業部和浙江大學宋明黎教授團隊聯合打造了手淘視訊互動平臺(AliPlayStudio),分別落地線上互動、線下大屏互動多個場景(線上手淘APP的拍立淘、掃一掃、搜尋關鍵詞入口;線下商場大屏、影院互動大屏等)。接入阿里集團內天貓品牌、阿里影業、優酷IP、淘寶網紅,行業營銷等各類資源,線上上線下讓使用者互動,打通線上公域場景 、手淘APP 、線下商超這3個流量場。以新穎的視訊化互動方式,利用使用者對明星、紅人、IP、新奇的玩法所產生的好奇心及聚眾心理,創造全新的AI互動營銷方式,同時結合權益發放、店鋪加粉、商品推薦等手段,將互動使用者自然轉化為真正的消費者。
下面是18年雙11期間上線的“明星猜拳PK”互動:
下面是結合了人像語義切割、使用者年齡/性別預測的的18年天貓黑5“刷臉”活動:
下面是人臉融合的玩法:
下面是基於實時人體關鍵點檢測的《西虹市首富》宣發互動玩法:
下面是和“黃小鹿”互動大屏線上下商場部署的“明星合圖”活動:使用者通過在大屏上自拍,經過人像切割後跟明星合照,用手淘掃碼導流到線上關注店鋪,完成照片列印。
為了打造AliPlayStudio視訊互動平臺,我們從基礎影像演算法能力到系統層面的端上模型推理加速、客戶端native實現(視訊、圖片,Camera多輸入源渲染)、H5玩法模組化等,做了大量研發工作。
本文主要介紹影像演算法這塊的研發工作。
端上互動用到的手勢識別、POSE檢測、人像語義切割等能力,涉及計算機視覺分類、檢測、語義切割幾個核心問題。隨著這幾年深度學習的發展,目前這些任務比較好的解法都是基於深度學習方法。我們的業務場景(手淘)要求模型一般能夠大規模部署到手機和低效能的嵌入式裝置上。這些任務儘管解決的Pipeline不一樣,都會面臨一個共性的問題:設計一個面向低效能平臺的輕量級高效神經網路,並且能在 cpu、gpu、dsp等混合環境有高效的實現部署、執行,讓網路在保持不錯的效能下,儘量降低計算代價和頻寬需求。
在神經網路加速方面,目前業界常用的一些方法有網路減支和引數共享、網路量化、知識蒸餾以及模型結構優化等。關於剪枝方面的研究在大模型上做的比較多,效果也比較好。但是我們模型的backbone一般是採用MobileNet/ShuffleNet這類很小的網路,剪枝在小網路上精度損失比較大,加速收益比不高。目前我們主要採用模型結構優化和知識蒸餾來提升網路效能。
我們研發的視覺互動基礎演算法能力中,人臉識別、人臉關鍵點檢測,使用者年齡性別預測等是已經有較好解決方案的任務,人像語義切割、手勢識別、人體關鍵點識別、影像風格化、人臉融合這幾個目前業界還沒有成熟方案的任務。我們的工作重點也主要投入在後面幾個任務上。
二. 人像語義切割
影像語義分割任務(Semantic Segmentation)根據物體的不同類別進行畫素級別的標記。針對人這個特殊的類別,Human Parsing將人的各個部位(臉部/頭髮/四肢等)進行畫素級別的區分。我們分別從資料、模型、框架優化三面著手,整體提升分割效果和體驗。
在資料層面,語義切割的樣本標註非常貴,我們通過圖片合成創造更多樣本。為了模擬真實的資料分佈,分別採用了顏色遷移演算法調整前背景光照、通過人位置的分佈統計將人貼到合理的位置。通過人工合成高質量的資料,我們能夠獲得相比原來數十倍的分割樣本。
在模型層面,我們分別針對圖片分割場景和視訊分割場景訓練了高精度模型和實時模型:
語義分割網路大都採用Encoder-Decoder結構,Encoder負責提取高層語義資訊,Decoder負責還原邊緣分割細節。對於高精度模型,在backbone選取方面,我們採用了Inception結構。為了獲得更大的感受野,我們參考DeepLab系列工作的思路,引入了ASPP(Atrous Spatial Pyramid Pooling)。
在Decoder設計上,我們參考UNet系列工作的思路,將前層的特徵進行融合,以獲得更好的邊緣細節。整體的網路結構如下圖所示:
實時模型需要做到精度 / 速度的相對平衡。因此模型設計的整體原則是:Encoder儘量精簡、Decoder儘量恢復細節。Encoder模組針對backbone分析耗時瓶頸,進行模型裁剪,減少channels數目;採用fast downsample,使得feature maps的大小盡可能早的縮小,以節省計算量;不固定輸入大小,在不同機型下可以使用不同大小的輸入。
Decoder網路在精簡的基礎上儘可能多的融合前層特徵,提高網路整體並行度:採用類似UNet的結構,融入淺層特徵;在Decoder部分也採用較大的卷積核來進一步擴大感受野;引入殘差結構增加資訊流動。
通過以上優化,我們的模型大小在1.7MB左右(量化後0.5M),miou 0.94,在中端Android機型(高通625)、320*240輸入下,能達到25FPS,滿足實時化要求。
此外針對人這個特定的類別,我們嘗試加入更多關於人的先驗知識來提升分割效果。分別嘗試了Pose Estimation-Human Segmentation聯合訓練和Human Parsing- Human Segmentation聯合訓練。通過聯合訓練的方式,不同任務之間能夠相互作用從而提高各個任務的精度。
下面是手機端實時切割的效果(同時加上了手勢檢測,識別剪刀手勢來實時換背景):
下面是商場場景下的切割效果:
三. 猜拳遊戲:手勢識別
18年雙11期間我們在手淘上線了“明星猜拳大戰”玩法,受到使用者大量好評。這是業界首次在手機端上實現的實時猜拳玩法。
猜拳互動要求實時檢測使用者的手勢(剪刀/石頭/布/其他),我們需要從使用者視訊的每一幀中找到手的位置,然後再對其進行分類,這也就是目標檢測要做的事情。
雖然目標檢測在近幾年得到了飛速的發展,但是直接將現有模型演算法用在猜拳遊戲上還是會遇到一些挑戰。首先由於手是非剛體,形變極大,同一個手勢會表現出很多形態,再加上角度等問題,使得我們幾乎不可能窮舉所有可能的情況。另外,使用者在切換手勢的過程中會出現很多中間形態,這些形態的類別也很難確定。此外我們需要在手淘app覆蓋的絕大部分中低端機型上做到實時執行,這對我們的模型執行速度提出很大挑戰。
為此我們從模型架構、主幹網路、特徵融合、損失函式、資料等層面進行了全方位的優化,保證遊戲能夠在大部分移動端上都能夠正常執行。具體的,在模型架構上我們採用了經典的SSD框架,因為SSD速度快、效果好、易擴充套件;主幹網路借鑑了最新的MNasNet,進行了深度的優化,使其速度和精度進一步提升;特徵融合用的是改進版的特徵金字塔FPN,使其融合能力更強更高效。最終我們的模型優化到只有1.9M,雙十一手淘的線上ios裝置平均執行時間17ms,在測試集上的AP(IoU=0.5)達到了0.984。
四. 人體關鍵點檢測
人體關鍵點檢測任務是針對RGB圖片或視訊輸入,檢測其中人物的頭、頸、肩、腕、肘、髖、膝、踝等骨骼關鍵點。傳統的基於視覺的關鍵點檢測技術一般需藉助Kinect等特殊的攝像頭裝置,解決方案成本高,且不易擴充套件。而近年來學術界利用深度學習的相關工作又重在追求精度,模型設計複雜,速度比較慢且需要佔用大量儲存空間。 我們在平衡計算量和精度上做了大量探索和實驗,提出一個能在手機端上實時執行的高精度人體關鍵點檢測模型。具體來說,我們借鑑了語義分割中的Encoder-Decoder模型,引入MobileNet系列輕量級網路作為backbone提取高層語義資訊,然後decoder使用轉置卷積進行上取樣恢復稠密輸出,同時也使用了open pose工作的PAF(Part Affinity Fields)模組進行兩路輸出預測。
模型在高通驍龍845上執行單幀圖片(320*320輸入)只需要11ms,在RK3399這種低端嵌入式晶片上也可以跑到15fps,預測精度能夠很好的支援我們線上線下的互動場景,且模型大小僅2.5M。下面是我們多人實時關鍵點識別在RK3399上跑的效果:
五.影像風格化
影像風格化演算法的目標是在保持內容圖的高階語義資訊不變的情況下,將風格圖的風格遷移到內容圖。 風格化演算法一般有2類:慢速、快速風格化,我們的互動場景下只適合後者: 對特定風格圖訓練前向神經網路模型,在測試的時候只需要一次前向即可得到響應結果。雖然快速影像風格化演算法的速度較快,但是與此同時帶來的一個缺點是風格遷移過程中很多因素變得不可控,比如筆觸大小。 給定一個預訓練好的網路和一張固定大小的內容圖,輸出的風格化結果圖的筆觸大小是固定的,無法讓使用者進行筆觸大小的靈活控制, 即無法實現精細的任意連續筆觸大小控制。針對此問題,我們和浙江大學宋明黎老師團隊合作,提出了一個筆觸大小可控的影像風格化遷移演算法。
我們設計了一個筆觸金字塔結構,通過筆觸金字塔(StrokePyramid),把整個網路劃分為了很多不同筆觸分支,下面的分支通過在前一分支的基礎上增加摺積層的方式獲得了更大的感受,並利用不同的感受野,使用不同尺度大小的風格圖進行訓練,之後通過在特徵空間進行筆觸特徵插值(stroke interpolation),來實現任意的連續筆觸大小控制。在測試階段,筆觸金字塔通過門函式來控制網路的感受野,從而產生出與感受野對應的不同的筆觸大小。
下面是我們在明星合圖活動上應用的不同筆觸風格遷移效果。
對於1024×1024 大小的測試圖,我們的模型在NVIDIA Quadro M6000上只需要0.09s的時間,模型大小為0.99MB。
我們的工作發表於ECCV 2018上,具體見論文:Stroke Controllable Fast Style Transfer with Adaptive Receptive Fields.
六.人臉融合
人臉融合是將使用者自拍圖片的人臉與模板圖的人臉進行融合,融合以後,模板圖的人臉呈現出使用者人臉的五官特徵與臉型輪廓,並保持原模板圖的髮飾、穿著,以此達到以假亂真的效果,實現“換臉”。 簡單實現人臉融合並不困難,但是,如果想使得絕大多數的使用者圖片都能呈現滿意的效果並不容易,有許多細節問題,其中最主要的兩個問題是人臉變形與影像融合:
使用者在自拍的時候,拍攝的角度多種多樣,無法做到與模板圖的人臉保持相同的角度。如果只做簡單的變形就將使用者的人臉貼到模板上,會造成十分詭異的效果。
使用者所使用的拍照裝置各異,拍照環境各異,會產生不同的畫素與光照環境的圖片,這些圖片中存在大量白平衡失調、皮膚高光等的錯誤。
如何對這些質量不足的圖片進行處理,使得融合後仍然能夠產生高質量的融合圖片,是人臉融合中必須解決的問題。 我們的方法獲得了完善的使用者臉部關鍵點,在儘可能保持使用者五官臉部形狀的同時,利用關鍵點插值對其進行變換,保證了五官的和諧,同時,針對使用者不同的臉型,如圓臉、尖臉,對模板圖進行了變換,使得融合後得到的結果與使用者更加相似。 為了解決使用者照片質量各異的問題,我們利用皮膚在顏色空間上的特徵值,採用預定義的LUT(LookUpTable),將使用者的膚色與模特膚色進行了統一,並有效處理了高光的問題,使得低質量的圖片也能夠得到良好的融合效果,並且觀感上更加受使用者喜愛。
七. 總結
從18年3月份以來,我們以活動營銷的方式,在手機淘寶app內拍立淘、掃一掃、搜尋等產品落地了十多場視覺互動IP營銷活動。
譬如《西虹市首富》《碟中諜6》的影視IP宣發、雙11《明星猜拳大戰》、天貓國際黑5“刷臉”活動、雙12"AI看相"、元旦"淘公仔"新年籤活動。新鮮的AI互動技術結合有趣的創意,受到使用者好評,引發在微博等平臺上大量自發參與、傳播討論。
同時我們也與線下互動大屏場景鹿合作,其線下拍照互動產品“黃小鹿”部署在全國各大商場。我們為其提供了基礎的人像語義切割等能力,從18年8月份開始陸續上線了健樂多、彈個車、婚博會糖類、貝殼租房等品牌宣傳活動以及雙十一天貓線下快閃店、萬聖節等活動。 後面我們將通用互動提煉,進行平臺化沉澱。讓更多的品牌,尤其是中小品牌能夠通過平臺快速配置產出一套AI互動營銷活動,再借助其站外推廣資源引導使用者迴流,提升活動參與熱度,贏得平臺內更多推廣資源。既能給品牌客戶提供強有力的營銷抓手,實現“財丁兩旺“,又能為平臺帶來使用者增量,從而實現雙贏。
最後,感謝阿里巴巴-浙江大學前沿技術聯合研究中心(AZFT)對本專案的支援。
參考文獻:
[1] Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.
[2] Chen L C, Papandreou G, Kokkinos I, et al. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(4): 834-848.
[3] Chang J R, Chen Y S. Pyramid Stereo Matching Network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5410-5418.
[4] Li H, Xiong P, An J, et al. Pyramid Attention Network for Semantic Segmentation[J]. arXiv preprint arXiv:1805.10180, 2018.
[5] Gong K, Liang X, Li Y, et al. Instance-level Human Parsing via Part Grouping Network[J]. arXiv preprint arXiv:1808.00157, 2018.
[6] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.
[7] Sandler, M.; Howard, A.; Zhu, M.; Zhmoginov, A.; and Chen, L.-C. 2018. Mobilenetv2: Inverted residuals and linear bottlenecks. CVPR.
[8] Tan M, Chen B, Pang R, et al. Mnasnet: Platform-aware neural architecture search for mobile[J]. arXiv preprint arXiv:1807.11626, 2018.
[9] Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[J]. IEEE transactions on pattern analysis and machine intelligence, 2018.
[10] Lin T Y, Dollár P, Girshick R B, et al. Feature Pyramid Networks for Object Detection[C]//CVPR. 2017, 1(2): 4.
[11] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.
[12] Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime Multiperson 2d pose estimation using part affinity fields. In CVPR, 2017. 5
[13] C. Payer, T. Neff, H. Bischof, M. Urschler, and D. Stern.Simultaneous multi-person detection and single-person poseestimation with a single heatmap regression network. InICCV PoseTrack Workshop, 2017.
[14] G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev,J. Tompson, C. Bregler, and K. Murphy. Towards accuratemulti-person pose estimation in the wild. In CVPR, 2017.
[15] Chen, D., Liao, J., Yuan, L., Yu, N., Hua, G.: Coherent online video style transfer. Proceedings of the IEEE International Conference on Computer Vision (2017)
[16] Chen, D., Yuan, L., Liao, J., Yu, N., Hua, G.: Stylebank: An explicit representa-tion for neural image style transfer. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017)
[17] Chen, D., Yuan, L., Liao, J., Yu, N., Hua, G.: Stereoscopic neural style transfer. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2018)
[18] Chen, L.C., Papandreou, G., Kokkinos, I., Murphy, K., Yuille, A.L.: Deeplab: Se-mantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE Transactions on Pattern Analysis and Machine Intelli-gence (2017)
你可能還喜歡
點選下方圖片即可閱讀
阿里去年新增12億行程式碼;即將開源自研科學計算引擎、圖學習框架;行人重識別演算法斬獲世界第一|周博通
如何“神還原”資料中心?阿里聯合NTU打造了工業級精度的模擬沙盤
關注「阿里技術」
把握前沿技術脈搏
相關文章
- 天啦嚕!在家和偶像玩「剪刀石頭布」,阿里工程師如何辦到?阿里工程師
- 天啦嚕!在家和愛豆玩「剪刀石頭布」,阿里工程師如何辦到?阿里工程師
- 石頭剪刀布遊戲遊戲
- Python剪刀石頭布遊戲Python遊戲
- 剪刀石頭布程式(Python)Python
- ***4.34-遊戲:剪刀石頭布遊戲
- 結對-遊戲《石頭剪刀布》-專案進度遊戲
- 程式碼日:剪刀石頭布 (RPS) 專案
- 中國科學家發現石頭剪刀布的制勝策略
- HTML5 canvas遊戲開發實戰 5 : 石頭剪刀布HTMLCanvas遊戲開發
- 石頭剪刀布?多人動作競技遊戲《永劫無間》戰鬥系統簡析遊戲
- 天啦嚕!僅僅5張圖,徹底搞懂Python中的深淺拷貝Python
- 51微控制器系列(三)51 微控制器遊戲設計 —— 雙人對戰小遊戲(石頭剪刀布)遊戲設計
- python之結合if條件判斷和生成隨機數的相關知識,完成石頭剪刀布的遊戲Python隨機遊戲
- 天了嚕,小時候玩的掃雷遊戲竟然有了VR版本遊戲VR
- 天啦嚕!知道硬碟很慢,但沒想到比 CPU L1 Cache 慢 10000000 倍硬碟
- 基於深度學習的石頭剪刀布手勢識別(網頁版+YOLOv8_v7_v6_v5程式碼+訓練資料集)深度學習網頁YOLO
- 天了嚕,居然用Python查到了女神的姓名Python
- 阿里秋招啦阿里
- 天啦,從Mongo到ClickHouse我到底經歷了什麼?Go
- 開工第一天,阿里工程師如何解鎖晨會新姿勢?阿里工程師
- 如何建立React元件併發布到npm?React元件NPM
- 一天造出10億個淘寶首頁,阿里演算法工程師如何實現?阿里演算法工程師
- 我在 Google 當工程師的一天Go工程師
- 日系偶像遊戲,在中國市場做不成遊戲
- 阿里在一天 京東就不會倒閉阿里
- 報告!這群阿里工程師在偷偷養豬阿里工程師
- 阿里雲私服釋出啦阿里
- 阿里軟體招聘Java實習生啦!!阿里Java
- 7天玩轉機器學習機器學習
- PAT B1018 錘子剪刀布 mw的解題思路與優化方案優化
- 如何從軟體工程師轉型到人工智慧工程師?軟體工程工程師人工智慧
- 阿里Sentinel支援Spring Cloud Gateway啦阿里SpringCloudGateway
- TS 基礎及在 Vue 中的實踐:TypeScript 都發布 5.0 版本啦,現在不學更待何時!VueTypeScript
- 馬雲曾經偶像,終於把阿里留下的 1400 億敗光了阿里
- 馬雲曾經偶像,終於把阿里留下的1400億敗光了!阿里
- mysql 安全管理詳情叭嚕MySql
- 技術菜鳥如何聘到大牛工程師?工程師