影片實時自然美顏, 無懼素顏上鏡

HMSCore發表於2023-01-10

華為HMS Core 影片編輯服務依託自身AI技術的核心優勢,在最新版本HMS Core 6.8.0中上線了全新的影片美顏功能,能對指定圖片或影片中的人臉實現磨皮、美白、大眼、瘦臉的美顏效果,適用於直播、相機、影片剪輯、圖片處理等場景中,打造獨特自然的美顏效果。

HMS Core影片美顏功能在技術上使用CPU+NPU+GPU異構並行框架,支援實時美顏處理,演算法跑得更快但系統功耗降低,50fps+端到端高效處理,能在10ms內完成影片中最多2個人臉(面積佔比較大的2個人)的處理(資料來源於華為內部測試)。使用855點稠密五官定位,精準識別人臉,避免人臉移動過快或角度過大時,美顏效果變形。針對美顏效果,採用面部精細分割槽,結合中性灰自然磨皮,更加自然真實。

另外,為滿足使用者的更多個性化需求,華為開放磨皮、美白、大眼、瘦臉美顏效果的多級調節功能,使用者可根據需求自行調節效果,助力開發者以較低成本開發優秀的影片美顏效果。

美顏效果

下面我們就一起來實操一下如何接入華為影片編輯服務,實現影片美顏功能。

開發步驟

1. 開發準備

詳細準備步驟可參考華為開發者聯盟官網

2. 整合準備

設定應用的鑑權資訊。可以透過api_key或者Access Token來設定應用鑑權資訊。

(推薦)透過setAccessToken方法設定Access Token,在應用啟動時初始化設定一次即可,無需多次設定。

HVEAIApplication.getInstance().setAccessToken("your access token");

獲取Access Token可參見基於OAuth 2.0開放鑑權客戶端模式。

透過setApiKey方法設定api_key,在應用啟動時初始化設定一次即可,無需多次設定。

HVEAIApplication.getInstance().setApiKey("your ApiKey");

當您在AppGallery Connect上註冊您的應用時,會給您的應用分配api_key,可參見新增當前應用的AppGallery Connect配置檔案

注意:請勿將api_key硬編碼在程式碼中,同時不要將api_key儲存在應用的配置檔案中。建議您將api_key儲存在雲側,執行時獲取。

3. 美顏功能整合

// 建立美顏演算法類例項
HVEAIBeauty hveaiBeauty = new HVEAIBeauty();
 
// 初始化美顏AI演算法引擎
hveaiBeauty.initEngine(new HVEAIInitialCallback() {
    @Override
    public void onProgress(int progress) {
        // 初始化美顏AI演算法引擎進度
    }
    @Override
    public void onSuccess() {
        // 初始化美顏AI演算法引擎成功
    }
    @Override
    public void onError(int errorCode, String errorMessage) {
        // 初始化美顏AI演算法引擎失敗
    }
});
 
// 初始化美顏演算法opengl執行環境,需在opengl渲染執行緒裡呼叫
hveaiBeauty.prepare();
 
// 設定需美顏處理的紋理的寬高(textureWidth:紋理的寬;textureHeight:紋理的高),初始化或紋理有變化後呼叫,需在opengl渲染執行緒裡呼叫
// resize引數為需要處理的紋理寬高,取值需要大於0
hveaiBeauty.resize(textureWidth, textureHeight);
 
// 美顏引數配置,磨皮,美白,瘦臉,大眼,亮眼, 美顏程度範圍:[0, 1]
HVEAIBeautyOptions options = new HVEAIBeautyOptions.Builder().setBigEye(1)
    .setBlurDegree(1)
    .setBrightEye(1)
    .setThinFace(1)
    .setWhiteDegree(1)
    .build();
 
// 更新美顏引數,初始化或有修改後更新
hveaiBeauty.updateOptions(options);
 
// 進行美顏處理,在opengl渲染執行緒裡每幀呼叫,(inputTextureId:輸入的紋理ID;outputTextureId:輸出的紋理ID)
// 請確保輸入正向朝上的人臉的紋理。
int outputTextureId = hveaiBeauty.process(inputTextureId);
 
// 釋放美顏AI演算法引擎
hveaiBeauty.releaseEngine();

HMS Core影片編輯服務除了支援影片美顏,還提供基礎影片編輯、專屬濾鏡、一鍵染髮、人物追蹤、AI著色、動態照片、精彩片段、一鍵動效、人臉遮擋、一鍵微笑、目標分割等影片創作能力,開發者可依據應用場景,在App中輕鬆完成影片功能的整合。

瞭解更多詳情>>

訪問華為開發者聯盟官網
獲取開發指導文件
華為移動服務開源倉庫地址:GitHubGitee

關注我們,第一時間瞭解 HMS Core 最新技術資訊~

相關文章