tft每日頭條

 > 科技

 > 用馬卡龍玩圖給摳像教程

用馬卡龍玩圖給摳像教程

科技 更新时间:2024-08-26 20:53:53

郭一璞 發自 凹非寺

量子位 報道 | 公衆号 QbitAI

用馬卡龍玩圖給摳像教程(手機拍實時換背景)1

在前不久榮耀9X的發布會上,一個名叫綠幕俠的App亮相了。

現場的展示中,這個App能讓手機拍攝的視頻,産生電影綠幕一般的效果,實時從視頻中去掉背景,隻保留主角人物,并把背景換成用戶設定好的特效。

想要實時的進行視頻處理,還能實現精細的“摳圖”效果,無論對于算法還是算力來說,恐怕都不是一件容易的事。

綠幕俠背後的公司,正是此前風靡一時的手機P圖應用馬卡龍玩圖所屬的AI公司Versa

用馬卡龍玩圖給摳像教程(手機拍實時換背景)2

一幀一幀做語義分割

Versa CTO趙維傑介紹說,綠幕俠背後用到的視頻人景分離技術,就相當于把視頻拆成一幀一幀,實現每一幀的語義分割。

語義分割并不難,難點在于連續應用在每一幀上。

首先,必須保證對每一幀的語義分割處理時間低于30毫秒,時間一到,就要開始處理下一幀了,否則視頻就會變卡;

其次,因為是将語義分割應用在視頻中,因此必須保證分割出來的精确度,一方面不能把邊緣處理的太粗糙,一方面要保證每一幀内容的連續性,不能上一幀人物手裡還有個包包,下一幀包包就被摳掉了,制造出一種“薛定谔的包包”狀态;

最後,模型需要在手機本地運行,因此不能太大,隻能有1~2M的空間。

通過自研“概念網絡”的優化,提升了當前幀的分割精确度,又将時間空間信息嵌入到更緊湊的維度上,降低backbone的複雜度,趙維傑他們花了半年多完成了綠幕俠算法的研究,将每一幀的處理時間降到30毫秒以下,模型也被壓縮到了1M左右。

尋找适配芯片

但是,模型雖然做好了,新的問題卻出現了。

Versa技術團隊找了許多主流手機芯片運行這個模型,發現這些芯片跑出來效果都不夠好。要麼算力不夠,導緻卡頓,必須把模型壓縮才能運行,但這樣效果就會變差;要麼功耗太高,發熱太嚴重,用一會兒手機就卡了。

用馬卡龍玩圖給摳像教程(手機拍實時換背景)3

直到他們嘗試在榮耀9X的SoC麒麟810上運行模型,發現不僅算力和功耗達到了要求,而且還有了另外一個好處:I/O的設計更好,數據搬移效率高。

“其實手機小模型運行所耗的時間很多不是在運算上的,而是耗在了數據搬運上”,趙維傑這樣對量子位解釋。

當他們在麒麟810上測試手機小模型時,輸入了1080P的高分辨率視頻,跑出結果後驚奇的發現:

麒麟810和GTX1070的運行結果在一個量級,手機上跑60ms的模型,在PC上(加上I/O)大概是20ms。

用馬卡龍玩圖給摳像教程(手機拍實時換背景)4

為什麼一個手機芯片能跑的跟GTX1070這種電腦GPU的運行結果相提并論?

趙維傑的解釋是,對視頻小模型來說,桌面GPU雖然算力強,但是小模型根本用不上這麼大的算力,反而視頻數據顯存搬移的I/O是瓶頸,時間都花在數據搬運上了。麒麟810的I/O設計比較出色,省了不少時間。另外,桌面GPU是32bit浮點,810是16bit浮點。GPU是通用芯片,NPU是專門用于神經網絡計算,對算子可以特别優化。最終的總時間上跟手機上可比。

因此,Versa也決定,這個新的App将在榮耀9X手機上首發,月底上線應用商店。

算力和算法的博弈

到這裡,你可能看出來了一個問題:

如果AI模型必須要在足夠新、足夠強的芯片上運行,那便宜的手機怎麼辦呢?

一種思路是模型壓縮。不過趙維傑覺得,模型從設計起就應當是一個小的東西,而不是從一個巨大的模型逐漸壓縮到小,畢竟,模型總要拿出來用的,并不能隻用在最頂尖的硬件上。

“AI公司和硬件公司都在追求一個中間地帶,AI公司希望能在現在的硬件上就跑更好的算法,硬件公司在追求越來越厲害的硬件平台,讓越來越大的算法在體積小的移動的硬件上跑得起來。”趙維傑這樣說。

針對不同的平台,Versa也提供了不同的算法。比如此前已有的産品馬卡龍玩圖,趙維傑提到,需要在在最優秀的硬件上跑出最優秀的效果,在普通硬件商做出最大覆蓋,最低端手機可以上雲端跑,“提供差異化的算法,是任何一個AI公司追求的本質。”

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公衆号(QbitAI)對話界面,回複“招聘”兩個字。

量子位 QbitAI · 頭條号簽約作者

վ'ᴗ' ի 追蹤AI技術和産品新動态

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved