H5換臉視頻背后的京東云技術 十幾秒內處理數萬個換臉任務

2019-10-25 Wilder 聯商網
瀏覽

眼下,基于人工智能技術的換臉軟件火爆網絡,換臉照片、換臉視頻帶給用戶全新的互聯網體驗。

由人民日報新媒體聯合京東AI、京東云推出的《70年,我是主角》H5換臉視頻應用,在剛剛過去的國慶節期間受到用戶的高度關注,這是中國第一部全民定制國慶獻禮片,網友只要上傳正臉照片,就能通過AI換臉技術化身微電影主角,重溫新中國70年的崢嶸歲月。活動期間,頁面訪問量達到千萬級別,最終生成10000小時視頻,相當于6000部電影的長度。

京東云副總裁、京東云客戶成功部負責人劉辰被問及“如何看待H5換臉視頻項目得以順利運行”時,他的回答是:“系統性能和吞吐量的保障,是《70年,我是主角》項目的一大挑戰。在立項初期,團隊對H5應用的并發量做了預估,將目標定為保證千萬級的頁面瀏覽量。在此基礎上,通過一系列調優測試,提高整個系統的吞吐量。最終,依靠京東云可靠的技術實力和高效的運維保障能力,使換臉視頻項目得以平穩運行,用戶體驗良好。”

對此,京東云產品研發部高級總監陳峰的回答是:“我很高興看到在這個項目中,京東云成功實現了云計算技術在高強度、高密集、高并發情況下的順利平穩運行,確保了用戶的優質體驗。”

從用戶角度看,《70年,我是主角》H5換臉視頻應用讓所有參與的用戶出演定制電影,成為故事的主角;從技術角度看,為換臉視頻應用提供技術支撐保障的“你”——京東云,正是項目背后的主角。

“你”經歷疑惑

在慶祝中華人民共和國成立70周年之際,9月28日,由青年導演姚慶濤執導的微電影《70年,我是主角》在人民日報新媒體等主要平臺上線。隨后,《70年,我是主角》H5換臉視頻應用上線。

H5是指第5代HTML(超文本標記語言),也指用H5語言制作的一切數字應用產品。通俗的講,H5主要是負責編寫炫酷頁面交互和3D效果在內的前臺頁面。

那么問題來了,與很多靜態圖片或者超短小視頻的換臉不同,《70年,我是主角》提供用戶用于換臉的視頻片段長達15秒,這背后需要京東云提供怎樣的技術支撐呢?

劉辰指出,用戶提供的照片中,人臉是平面的。轉換到視頻中時,主角頻繁在火車車廂里、室內、戶外、夜間等不同場景下穿梭,主角臉部的明暗差異變化非常大,光影效果和臉部角度極為多變。處理好換臉視頻的效果,將對用戶能否得到置身其中的體驗感至關重要。這是對京東云換臉視頻項目技術研發團隊的第一個考驗。

圖說:換臉視頻中多變的場景,給項目技術研發團隊帶來挑戰

換臉視頻技術對于云計算系統的計算壓力非比尋常。與當前流行的換臉照片相比,一個用戶定制大片換臉視頻所需運算量相當于約100次換臉照片。陳峰表示,京東云提供的計算服務,若想在短期內處理大量的換臉視頻任務,是需要依靠超大規模的、可彈性調度的GPU服務器集群資源作技術支撐的。

項目技術研發團隊遇到的第二個考驗,是針對海量用戶訪問視頻應用時的高并發需求。在項目還未上線運行時,研發團隊已經預估到,項目上線后將會有人民日報新媒體平臺上的海量用戶參與,京東云還特別考慮到上線之初用戶海量訪問的爆發和激增等情況發生。

解決這一難題就需要依靠京東云的CDN服務了。高效的CDN調度算法可以以最快速度將換臉海報及換臉視頻交付和觸達用戶,從而保障了用戶的良好體驗。

縱使《70年,我是主角》H5換臉視頻項目有諸多挑戰擺在京東云換臉視頻項目技術研發團隊面前,但他們依然砥礪前行……

“你”尋求突破

看起來非常炫酷的換臉視頻應用,實際上僅需要用戶打開換臉視頻應用前端,上傳照片。此時,云計算處理系統會自動生成一個換臉任務,進入京東云后臺的任務隊列。最終,用戶可以獲得5張海報和1個視頻。

圖說:用戶只需上傳單人正臉照片、選擇性別,即可獲得5張海報和1個視頻,成為主角

劉辰指出,《70年,我是主角》換臉視頻項目在流量達到峰值期間,后臺要在十幾秒的時間內,同時處理幾萬個換臉任務。為此,團隊要進行“削峰填谷”的工作,在不浪費計算資源的情況下,保障高峰期時高并發換臉任務的平穩運行。在京東云計算集群中,還為該項目獨立劃出一個測試區進行流量模擬,確保后臺監測與客戶的真實體驗一致。

項目最終得以平穩運營,一方面得益于京東云在短期內調集大量GPU集群資源作為支撐,另一方面依靠CDN技術使用戶可以及時獲取海報和視頻,解決網絡擁擠的狀況,提高用戶訪問換臉視頻應用的響應速度。

那么,京東云項目技術團隊是如何保證用戶得到完美換臉效果的呢?

人民日報相關技術負責人曾表示:“這是國內首例國慶版H5智能換臉應用,并且應用于慶祝中華人民共和國成立70周年的關鍵時間點。”另外,從算法的復雜程度看,此次換臉視頻也是長度最長的一次,每個視頻需要經過人臉檢測、換臉海報制作、換臉視頻制作等三個步驟。

換臉視頻操作需要由京東云提供的CPU服務器和GPU服務器兩個計算集群來分別處理。劉辰介紹,項目運行期間,共有超過500臺GPU服務器和1000臺CPU服務器提供支持。

人臉檢測,需要對人臉進行特征識別,也就是需要對一張人臉提取約5萬個特征,即5萬個關鍵點,由于換臉視頻是2D轉3D的人臉換臉的過程,所以在提取方面會比普通的換臉照片多很多的關鍵點和特征,以此再做3D建模。

換臉海報是用戶通過提交的1張照片,獲取5張換臉海報。這對CPU服務器提出了不止5倍計算能力的需求。

換臉視頻是把一個視頻先切分成幀,對每幀的人臉特征展開3D關鍵點檢測技術,來定位人臉區域的5萬多個關鍵點,以保證頭部在任何角度轉動時仍能完成換臉的應用。保證了人物在各種環境下換臉視頻的成功率,最終把每一幀合并成為一個視頻。

針對處理視頻主角在光影和明暗的變化方面,則由京東AI采用在紋理圖上進行融合處理的手法,讓紋理的生成獨立于頭部姿態的變化,從而使換臉更加的連貫和自然。

以上這些技術應用,對京東云的計算資源和整體技術體系提出了極高的要求。陳峰解釋,AI換臉項目正在不斷進化,換臉照片與換臉視頻相比,難度和計算量是不可同日而語的。對視頻來說,每一幀都是一張圖片,15秒的視頻包含了非常多的圖片,如何處理以及處理完之后重新合成和拼接,需要強大的技術支撐。

為了使服務器效率最大化,項目技術研發團隊特別做了資源分工:GPU服務器負責人臉檢測、特征識別和換臉視頻,CPU服務器負責換臉海報。“在充分利用GPU計算能力的同時,讓CPU承擔部分渲染和運算的工作,是基于京東云渲染類客戶的大量業務得到的最佳實踐。京東云有很多渲染客戶,包括很多熱門電影的渲染工作也是用CPU與GPU混合部署技術實現的。”劉辰說。

數據顯示,在一周的時間里,H5換臉視頻應用承受住了千萬級的頁面瀏覽量和百萬級的獨立訪問量,最終生成了約200萬個換臉視頻。

針對第二個難題,讓遍布全國甚至全球的網友都可以便捷地制作自己的定制大片,杜絕用戶訪問時發生網絡路徑延遲等情況發生,京東云提供了完備高效的CDN加速方案,實現全網全區域無盲點的加速覆蓋,為頁面訪問、文件下載、圖片加載以及視頻播放和直播帶來非常顯著的訪問速度提升,確保了用戶制作定制大片的良好體驗感。

此外,技術研發團隊從用戶使用手機流量獲取視頻的角度考慮,原始的換臉視頻大小約有幾十兆,如果直接使用原始視頻交付用戶,既影響傳輸的流暢度,同時還會對用戶使用手機流量體驗產生負面的影響。因此,京東云對原有視頻進行壓縮和轉碼的操作,將用戶最終看到的換臉視頻壓縮到5兆左右。

值得一提的是,為了防止用戶信息泄露等情況發生,京東云在安全性、合規性和隱私保護性上下足功夫。采用對用戶上傳的內容加密、為用戶提供隨機ID等方式,防止非正常訪問獲取用戶數據信息,使用戶只能看到自己照片所生成的結果。同時將換臉視頻項目的數據全部歸集在一個加密桶內并進行打標,保證圖像僅用于此項目。

諸多的技術和資源保障反映到前端,取得了良好成效。

“你”獲得認可

“打開人民日報APP‘熱點’界面中‘70年,我是主角’,一鍵上傳個人正臉照片、選擇性別,即可成為主角。在這里,讓人重溫祖國的崢嶸歲月。以后我的履歷上又可以加一項:曾與人民日報合作大片一部。哈哈。”

“希望以這樣的身臨其境,和祖國一路同行。通過變成電影主角的方式演繹大片,站在主角的角度親自感受祖國70年的變化。”

用戶的反饋就是最好的證明。視頻中,展現了一個個標志性歷史事件,讓每位用戶無限接近歷史現場,成為主角,從而產生共鳴,致敬每一個奔跑的你,致敬我們共同經歷的時代。

換臉視頻項目中,京東云在圖片、視頻的存儲、智能分析、融合處理等方面定制了高效能的解決方案,并對圖像、視頻處理的算法進行持續優化,從每一秒、每一幀入手提升換臉過程的效率和體驗。

京東云通過技術賦能,支持海量用戶點擊參與并獲取了屬于自己的海報、視頻。在其他項目中,京東云還將結合京東豐富的應用場景資源優勢及技術實力,持續為企業面向人工智能等新業務、新商業模式轉型提供穩定、可靠、靈活、低成本的發展環境,提供深度學習、科學計算、全方位運維等支持。