內容來源:華為開發者大會2021 HMS Core 6 Graphics技術論壇,主題演講《3D建模服務使能3D內容高效生產》。
演講嘉賓:華為消費者雲服務 AI演算法專家
3D建模服務(3D Modeling Kit)是華為今年7月初剛釋出的新Kit,我們對3D建模產品的定位就是要做快速、簡潔、低成本的3D製作能力,並開放給有3D模型、動畫製作等能力訴求的開發者。
針對3D建模服務,我們已經開放了物體建模的能力,還有平面的材質生成和動作捕捉能力,接下來我們還會對人體的建模以及面部捕捉做進一步的能力開放。3D建模的應用場景也比較多,可以應用於電商模型、3D列印、教學模型、遊戲開發和動畫製作。
3D物體建模能力
3D物體建模能力介紹
首先看一下3D物體建模的能力,不同於傳統的建模師用3D軟體製作模型的方式,或是通過掃描器進行建模的方式,我們的定位是要做移動端快速的、低成本UDC的生產,不需要圖片的深度資訊,只需普通RGB相機,通過拍攝物體不同角度的多張影像,上傳到雲端,即可實現物體3D幾何模型和紋理的自動化生成。
硬體要求上,當前我們支援安卓和iOS,接下來可能會開放WEB APR,這樣就會形成全終端的支援形態。
對於支援的類別,因為這是通過拍照攝影的方法,所以就要求這個物體的紋理需要儘量豐富、不反光、尺寸中等、剛體,典型物體包括:商品類的毛絨玩具、包、鞋子等, 傢俱類的比如沙發、抱枕,文物類可以是青銅器、石器、木器等。
支援物體尺寸大概是在10立方厘米和2立方米之間,當然物理尺寸更大也是能建模的,只是建模的時間會更長一點。如果建模的圖片在1080P的解析度,整個建模時長大概在5分鐘以內,最後輸出的格式也是標準的3D模型的格式,包括obj和gltf的格式。最後比較重要的一點,就是支撐這個能力的SDK包只有83K的大小,對APP是非常友好的。
3D物體建模採集方法建議
如果想建一個比較完整的模型,對採集條件還是有一定要求的。
第一,環境。建議將單一的採集物體靜置於純色的平面上。
第二,光照。光照需柔和,避免燈光過暗,或某一面有強烈的陰影。
第三,拍攝。要對焦,覆蓋均勻而足夠的多視角,含仰視、平視、俯視角度共20張以上(建議50張以上),相機移動儘可能緩慢。
第四,採集過程中,相鄰照片至少有70%-80%的重疊,展示儘量大且完整,要求儘量保證拍攝無虛焦、運動模糊、抖動模糊。
最後一點,物體的底部可以通過翻轉續拍去建立,實現物體完整模型的呈現。
應用場景
對於物體建模,比較典型就是電商的場景。下圖是我們做的關於鞋子的建模和文物的建模,我們買了一個小型的轉盤,放了一個小型的燈箱,然後按照以上方式就可以實現建模。相較2D的商品展示,3D的展示可以給使用者帶來更好的體驗,在電商行業,3D商品展示可以提供差異化體驗,通過“看、試、穿、戴”等模擬方式提升使用者轉化,在文博行業,文物經三維數字化建模後,可應用於文物數字儲存及多媒體展示。
平面材質的生成
三維材質定義
第二個能力是平面材質的生成。圖形學中的表觀(Appearance)又稱材質,是描述光線如何在物體表面和內部進行互動的一種性質,由材質模型和一組控制引數來定義表面外觀。從下組圖可以看出,左邊的圖,如果不仔細看,對整個場景的感受非常弱,但如果把牆面、地面、油桶、桌面,這些材料加上去以後,真實感立刻顯示出來了。
在材質製作過程中,開發者和使用者有哪些痛點呢?
第一,從現實世界採集的紋理通常需要經過美術用專業軟體處理,才能用於渲染中取得真實感效果。比如去除光照影響、調整凸凹、尺度等處理,過程耗時、費力且難以標準化;第二,傳統紋理貼圖處理效果嚴重依賴美術經驗和特定渲染器,紋理素材在不同專案和渲染器間複用困難,專案積累少、製作成本居高不下。
為了解決這些痛點,我們提供兩種思路:
第一種,利用深度學習推理網路,一鍵生成符合PBR標準的紋理要素,提升紋理製作效率和質量;第二,將技術美術的經驗和製作規範固化為遵循PBR標準的資料,通過資料在不同專案和渲染器間複用素材,傳承美術製作經驗。
材質生成能力介紹
材質生成能力提供將RGB影像轉換為PBR材質的能力,僅需要拍攝一張或多張RGB圖片,便可一鍵生成四種材質貼圖。
使用該能力只需要普通RGB手機,不要求ToF或LiDAR,支援安卓所有機型;支援的材質型別,主要包括混凝土、大理石、岩石、碎石、磚、石膏、黏土、金屬、木材、樹皮、皮革、織物、漆面、塑料、合成材料等材質;支援diffuse map, normal map, specular map, roughness map等貼圖型別;對於輸入影像的解析度,當前已經能支援1k~4k貼圖的輸出,輸入影像中需無接縫、無亮斑、陰影、倒影;對於最終制作效果,通過SSIM的評價指標評價,約大於0.9,效果是非常好的。
通過下面的演示可以看出怎麼實現房子的快速建立,首先要通過材質生成能力快速地生成材質貼圖,然後把材質貼圖拖到球上去,在用的時候,把材質球複製到白膜上就可以實現了,複製完以後再經過離線或者線上的渲染,就可以得到最終的真實效果,這是材質生成的能力。
動作捕捉能力
最後來說我們剛剛釋出的動作捕捉能力,動作捕捉是通過普通單目攝像頭輸入連續視訊幀或RGB影像,精準快速估計24個人體骨骼關鍵點的三維資訊。
動作捕捉能力也只需要用到普通的手機,輸入視訊流或影像,就可以估計出人體骨骼,可以支援常見的站立、行走、奔跑等大概7到8個動作。
視訊流、RGB影像的輸入格式,建議解析度320~1080P,如果解析度更大,可能會帶來時間增加,但效果並沒有很顯著的提升,所以你可以先做一個影像的縮放,產生一個比較好的效果。
輸出的格式也比較重要,我們的動作捕捉能力可以同時輸出24個人體骨骼關鍵點的四元數和3D座標,在一些引擎裡面,直接可以驅動匹配。
關於時延,我們的CPU大概可以達到30禎FPS,而NPU可以達到80禎FPS。
我們提供了兩種整合方式,一種是基礎包的方式,如果你是華為手機,只需要整合基礎包200k。在實際應用的時候可以通過下載演算法包的方式,比如說在小米手機或其他的手機上,就可以整合FullSDK的模式。
上面這個整合物體建模能力的APP,叫3D Live Scanner。
在沒有接入3D建模服務之前,這個APP只能依賴帶深度資訊的裝置,導致部分使用者無法使用,並且沒有單獨物體建模的能力。而在整合了3D建模服務之後,不僅支援RGB的手機,還可以支援背景剔除,模型效果準確率大幅提升。據CP反饋的資料來看,在整合這個能力以後,在歐洲這個區域,今年一個月內,它的下載量大概增加了190%,整個營收也是有很大幅的增加。並且,該APP的客戶使用後反映,用華為3D建模的能力產生的建模效果,已經超過了大家經常用的PC版專業建模能力。
以上就是我的分享,謝謝!
瞭解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導文件
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間瞭解 HMS Core 最新技術資訊~