色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 人人皆可變身黃金圣斗士:微視用AI一鍵燃燒小宇宙,還有不同星座可選

          人人皆可變身黃金圣斗士:微視用AI一鍵燃燒小宇宙,還有不同星座可選

          發(fā)布人:機器之心 時間:2021-07-21 來源:工程師 發(fā)布文章

          那些年關于變身圣斗士的夢想,如今能在騰訊微視 App 就能實現(xiàn)。

          「年輕的青銅圣斗士少年們啊,為了大地上的愛與和平,我們將逝去,獻上全部的生命和靈魂,融為一體。就在此刻,燃燒吧,黃金的小宇宙!雅典娜啊,請賜予這黑暗的世界一線光明!」

          1.png

          就是這段話,沒錯,是我們小時候倒背如流的十二黃金圣斗士語錄了。很多人也曾暗中想象,自己能成為這群黃金圣斗士的成員之一?,F(xiàn)在,「變身」的機會來了!

          在騰訊微視 App,黃金圣斗士鎧甲的特效掛件已經(jīng)正式上線。這是靜態(tài)照片變身后的樣子:

          2.gif

          變身的操作方法也非常簡單:用戶只需要在騰訊微視 App 的拍攝頁面選擇「全身換裝圣斗士」特效,再提供一張無遮擋正面照,即可進行黃金圣斗士鎧甲換裝。也可以點擊本文末的「閱讀原文」,一鍵體驗黃金圣斗士變身!

          3.png

          或者在拍攝頁面選擇圣斗士相關特效,按照指示做出相應動作,也能召喚出多個星座的圣斗士:

          4.png

          除了黃金射手座,還有雙子座撒加、處女座沙加、白羊座穆、天秤座童虎…… 哪個是你心目中最厲害的圣斗士?

          5.gif

          雙子座圣斗士。

          6.gif

          處女座圣斗士。

          也許會有人思考:「在動態(tài)視頻背景下,如何給畫面主體披上全身的黃金鎧甲呢?」其實,在這一酷炫特效的背后,隱藏著一套復雜的技術方案。微視團隊又是如何解決種種挑戰(zhàn)并將這一技術落地的呢?

          第一步:運動捕捉

          聽到「運動捕捉」這四個字,很多人也許不太熟悉,但這項技術已經(jīng)廣泛應用于人們熟悉的領域,比如好萊塢大片制作中的那些驚艷特效,比如體育賽事中的運動員動作分析,再比如身體損傷患者的康復評估等,都有這項技術的幫助。

          目前,依賴于慣性、光學傳感器的動作捕捉技術已經(jīng)比較成熟,可以重建出非常精確的人體三維模型信息。但這種動作捕捉解決方案的成本較高,除了需要在捕捉對象的身體上安裝造價不菲的傳感器,還需要高性能的計算設備對采集到的數(shù)據(jù)在定制的軟件中進行處理,才能得到最終的結果。

          在智能手機早已普及的今天,使用手機端特效增強拍攝效果是短視頻應用中的常見玩法。按照應用類型劃分,這些靠手機 RGB 單目攝像頭進行動作捕捉相關技術可分為:人臉 2D 關鍵點檢測(人臉美顏 / 平面貼紙)、人體 2D 關鍵點檢測(大長腿 / 瘦腰)、人臉 / 頭 3D Mesh 重建(人臉立體貼紙 / 頭套)、人體 3D 關鍵點檢測等。但在「人體 3D Mesh 重建」這方面,業(yè)界此前少有成熟的手機端應用,原因主要歸于幾個難點:

          缺少大規(guī)模高質量的 3D 數(shù)據(jù)。人體 3D Mesh 數(shù)據(jù)的采集成本非常高,同時由于設備的限制,很難采集到大規(guī)模貼合用戶手機拍攝場景的數(shù)據(jù)。

          人臉近似于「剛體」,有固定的尺寸,不需要考慮形變等因素。而人體屬于「非剛體」,不同的姿態(tài)會引起很大的形變,這對視覺技術來說是很大的挑戰(zhàn)。

          人臉有相對固定的「特征點」,如眉梢、嘴角等部位,但人體缺乏這樣穩(wěn)定的特征點,并且拍攝時衣著的變化很大。

          人體的深度信息會因為姿態(tài)不同發(fā)生很大的變化,從二維圖像恢復出三維空間信息本身有很多組解,很大程度上依賴于「先驗信息」才能推測出合理的解,而更多的變化就意味著更難去得到有效的「先驗信息」。

          不同人的體型變化很大,加上穿著不同厚度和材質的衣服,又讓體型估計增加了難度。

          重建出人體 Mesh 需要同時實現(xiàn)人體檢測、人體 2D/3D 關節(jié)點檢測、人體體型檢測、人體姿態(tài)和關節(jié)旋轉檢測以及相機投影矩陣回歸等多個任務。在手機端計算資源極其有限的情況下,同時完成上述多個任務比較困難。

          但得益于近年來手機處理能力的提升,再加上短視頻領域的火爆,這些都大大推動了相關技術的進步,特別是手機端的特效推理引擎技術,輕量化模型技術、移動端的渲染技術等。作為國內頂尖的短視頻平臺,人體檢測技術也是微視團隊一直以來深耕的方向。

          相比于其他更簡單玩法的掛件,黃金圣斗士在特效復雜程度、效果質量方面都有著更高的要求,微視團隊所投入的研發(fā)精力也更多。盡管短視頻應用中也出現(xiàn)過全身特效的掛件,但一般是貼合度要求較低的蓬松服裝或盔甲,而黃金圣斗士鎧甲需要更修身、更貼合。

          為了打造黃金圣斗士鎧甲特效,騰訊微視發(fā)布器技術團隊探索出了一套成熟的解決方案。不僅可以打造完美貼合人體的「換裝」,還能在手機上實時運行。在中高端手機上,人體 3D 重建部分可以達到~90 FPS 的處理速度。

          制作高質量的 3D 人體 Mesh 數(shù)據(jù)集

          變身黃金圣斗士,首先需要獲取到高質量的 3D 人體 Mesh 重建數(shù)據(jù),微視團隊搭建了一套動作捕捉系統(tǒng),并基于這套系統(tǒng)開發(fā)了相應的 Mesh 重建算法。

          在硬件層面,微視團隊采用了一種相對較低成本的搭建方案:3 臺 AzureKinect 傳感器,3 個三腳架,再加上數(shù)據(jù)同步線、USB 延長線和一臺 Windows 電腦即可。

          7.jpg

          隨后進行簡單的標定,只需要抱著一個棋盤格箱子,在場景中轉一圈,就可以計算出 3 臺相機之間的相對位置和姿態(tài),僅耗時 1 分鐘。這一步的目的是便于后續(xù)的數(shù)據(jù)融合。

          接下來開始原始數(shù)據(jù)的采集與處理。首先借助 AzureKinect 提供的協(xié)同(Collaboration)功能將三臺相機的視頻流做同步處理,然后采集 RGBD、深度人體 Mask、人體 3D 關鍵點信息并保存下來。

          8.png

          第三步是對每一臺深度攝像機生成對應的點云數(shù)據(jù),根據(jù)相機標定的結果,將三臺相機的點云數(shù)據(jù)進行合成,最終得到統(tǒng)一坐標系下的 3D 點云數(shù)據(jù)。

          最后,將獲取到的原始數(shù)據(jù)合成為訓練模型所需要的 Mesh 參數(shù)。這一步主要基于 Fitting 優(yōu)化的方法,通過對人體的 Pose、Shape 等參數(shù)進行調整迭代,盡量降低重建后人體與 3D 點云數(shù)據(jù)之間的誤差。微視團隊采用 3D 點位之間的歐式距離(MPJPE)衡量重建效果,整體控制在 20mm 內。

          9.gif

          最后,微視團隊共采集了上萬個貼近手機端用戶拍攝內容的視頻數(shù)據(jù),從中抽取了幾十萬張視頻幀圖片。其中既有生活中的常見姿態(tài),也包括高抬腿、彎腰、快速蹦跳等高難度動作,以保證數(shù)據(jù)的豐富性。

          3D 人體 Mesh 如何重建?

          數(shù)據(jù)準備階段結束后,微視團隊著手重建人體 3D Mesh。在將視頻拆分成一幀幀的圖片之后,從每張圖片中找到人體所在的區(qū)域,然后計算出人體的 2D 關鍵點信息,接著結合前后幀的時序信息估計出關鍵點的深度,即得到人體的 3D 關鍵點坐標,然后結合 2D/3D 以及圖像信息估計出人的體型和 3D 姿態(tài),從而獲得人體在模型坐標系下的 3D Mesh 和相機的投影矩陣。

          如下圖所示是 2D/3D 姿態(tài)檢測部分的效果:

          10.gif

          獲得了 2D/3D 關鍵點信息后,如果要恢復出人體的 Mesh,還要估計兩個重要的信息:人的體型以及關節(jié)的 3D 旋轉。人的體型可以理解為人的高矮胖瘦,雖然關鍵點能提供一部分的身材信息,但僅依靠關鍵點很難準確恢復出身材,特別是胖瘦;3D 關鍵點雖然包含了部分的關節(jié)夾角信息,但關節(jié)還需要包含更多的自由度,特別是旋轉。

          當前,人體 3DMesh 重建的方案主要分成 Fitting 和 Deep Learning 兩種。

          基于 Fitting 的方法一般基于已有的人體模型,如 SMPL/MANO 等,通過最小化人體模型投影到圖像上的點與已知人體關鍵點的誤差,得到每張圖片的最優(yōu)模型參數(shù)。這種方法的優(yōu)勢在于能夠得到高精度的人體 Mesh,一些公開數(shù)據(jù)集(比如 3DPW)都采用這種方法構建數(shù)據(jù)。

          但這種方法的弱點也很明顯:首先是速度太慢,每張圖片都需要迭代至少幾十到上百次,一張圖片的處理往往需要一分鐘到幾分鐘的時間。此外,考慮到體型問題,一些方案直接采用 3D 掃描儀事先掃描出人體,大大提升了數(shù)據(jù)采集的成本。

          基于 Deep Learning 的多數(shù)方法同樣需要依賴于人體模型,通過神經(jīng)網(wǎng)絡估計出人體模型的參數(shù),代表性工作是 VIBE,這類算法通常稱為 model-based 的方法。

          這類方法有兩方面的問題,首先可獲取到的數(shù)據(jù)很少而且拍攝環(huán)境局現(xiàn)于實驗室中,雖然一些工作如 Surreal,Human3.6 使用 CG 制作虛擬的 in wild 場景,但這樣的數(shù)據(jù)跟真實的數(shù)據(jù)仍然有比較大的差距。第二,前面提到關節(jié)的 3D 旋轉很難通過圖像去估計。

          相比于 model-based 方案,model-free 方案提供了另外一種思路,這種方法是直接回歸人體 mesh 上的密集 3D 點坐標,并通過在 loss 中增加人體 shape、pose 等先驗信息進行約束。相關的工作主要依賴于圖神經(jīng)網(wǎng)絡來建模人體不同關節(jié)點之間的拓撲結構,這方面的代表工作包括「Pose2Mesh」(https://arxiv.org/abs/2008.09047)。

          最終,微視團隊使用 7000 多個頂點和 1.5 萬的面片重建出圖像坐標系下的人體 3D Mesh,從圖像中重建出的 Mesh 需要經(jīng)過濾波處理去掉抖動,這樣就得到了視頻中的人體 Mesh。效果展示如下圖所示:

          11.gif

          后續(xù),渲染引擎將在此人體 Mesh 信息的基礎上給視頻中的人物「穿上」盔甲。

          讓黃金鎧甲成為手機端特效

          接下來,微視團隊在移動端運行了人體檢測 / 跟蹤、2D 關鍵點檢測、3D 姿態(tài)估計、相機投影矩陣估計、3D Mesh 重建整套技術的流程,但他們發(fā)現(xiàn),實現(xiàn)單幀圖像 15ms 以內的處理速度非常困難。這意味著,在移動端的實現(xiàn)和優(yōu)化上,還需要思考更好的解決方案。

          微視團隊從三個方面進行了改進:

          1. 網(wǎng)絡 Backbone 結構的設計與優(yōu)化。結合 HRNet、MobileNet 系列網(wǎng)絡等不同結構的優(yōu)勢,在大規(guī)模的數(shù)據(jù)上進行了不同結構設計的探索和調參,針對不同計算能力的手機做針對性的設計,保證對不同的機型在速度和效果上達到最佳的平衡。

          2. 算法流程改進。對整個的算法串行的流程進行優(yōu)化,整個人體檢測、2D 關鍵點、3D 關鍵點、人體 Mesh、相機姿態(tài)估計全部調整為并行實現(xiàn),極大提升了算法整體的效率。

          3. 移動端工程優(yōu)化。基于騰訊優(yōu)圖團隊提供的 TNN 移動端深度推理框架,實現(xiàn)了移動端模型的高效推理。對于特定的算子和矩陣運算,微視團隊與優(yōu)圖 TNN 團隊合作進行了針對性的底層優(yōu)化,保證算法的高效運行。同時,對于模型的后處理也進行了算法層面的優(yōu)化,在保證不使用影響體驗的精度損失上獲得了更極致的運行效率。

          針對不同的拍攝光照、人體的姿態(tài)、不同的體型、衣著、拍攝距離、拍攝角度以及不同拍攝背景中發(fā)現(xiàn)的 Bad Case,微視團隊從訓練方式、參數(shù)調整、Loss 函數(shù)設計、數(shù)據(jù)更新與優(yōu)化等方面進行了更多深度的研究,解決了貼合度、檢測穩(wěn)定性等多方面拍攝中的常見問題。同時,進一步壓縮了模型計算開銷,將單幀的總體處理時長從 15ms 優(yōu)化到了當前的 11ms。

          經(jīng)過上述一系列的優(yōu)化工作后,微視團隊基于重建的人體 3D Mesh ,為其量身定制了一套 AttachToBody 的渲染方案,目標有兩個:

          能夠保證服裝模型在三維世界和二維圖像上位置和旋轉正確,貼合人體表面;

          能夠提供 PBR(基于物理的渲染) 每個環(huán)節(jié)需要的正確信息,確保高質量的渲染效果。

          同時為了項目需要,技術團隊在原有引擎基礎上開發(fā)了自定義材質系統(tǒng),為玩法提供了更自由靈活的材質與光照解決方案。借助于強大的流程控制和腳本系統(tǒng),技術團隊很好地將人體重建、服飾真實感渲染、骨骼動畫、轉場特效等要素串聯(lián)在一起,提供了完整流暢的視效表達。

          此外,部分機型上啟用了 IBL、SSAO 等技術,以提升整體的光影效果。為了提升在低端機型上的整體效果覆蓋率,微視團隊采取了 Material Capture 材質捕捉技術方案,用較小的計算成本擬合出近似 PBR 的真實感效果。同時在一些高頻且量大的矩陣計算中啟用了 NEON 加速方案,整體降低了數(shù)學計算耗時。

          基于上述所有工作,微視的設計團隊與技術團隊深入?yún)f(xié)作。首先明確直觀的預期效果,明確優(yōu)化方向,給出優(yōu)化建議;此外輔助優(yōu)化引擎渲染能力,使最終效果更接近設計師預期。

          在細節(jié)打磨和工具支持方面,依托 Light Studio 對 3D 場景強大的編輯和可視化能力,以編輯器組件的方式提供給設計同學完整的工具鏈支持,包括對衣服 SRT 數(shù)據(jù)的精準調整,對環(huán)境光 / 衣服材質主要參數(shù)的可視調整等。

          黃金圣斗士鎧甲特效的研發(fā)歷時 10 個月,最初溝通的預期效果如下圖:

          12.png

          通過設計團隊、算法團隊和特效團隊多輪的效果打磨,衣服貼合度與跟隨性,身體比例協(xié)調性,衣服視效等方面均達到了理想水平。引擎實現(xiàn)效果如下圖:

          13.png

          未來,微視發(fā)布器技術團隊將持續(xù)圍繞三維人體重建來進行創(chuàng)意特效設計與研發(fā)。在算法方面會繼續(xù)在 3D 重建的精度上持續(xù)性的提升,解決更多拍攝場景的需求。業(yè)務方面,會結合相關圖形圖像技術,在人體形變,人體驅動虛擬角色等方面有進一步的突破,為用戶提供更酷炫好玩的特效新體驗。

          *博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

          LCD顯示屏相關文章:lcd顯示屏原理


          lcd相關文章:lcd原理


          關鍵詞: AI

          相關推薦

          技術專區(qū)

          關閉