全場景AI推理引擎MindSpore Lite, 助力HMS Core視頻編輯服務打造更智能的剪輯體驗

来源:https://www.cnblogs.com/hmscore/archive/2022/04/29/16206087.html
-Advertisement-
Play Games

移動互聯網的發展給人們的社交和娛樂方式帶來了很大的改變,以vlog、短視頻等為代表的新興文化樣態正受到越來越多人的青睞。同時,隨著AI智能、美顏修圖等功能在圖像視頻編輯App中的應用,促使視頻編輯效率和視頻效果得到了很大的提升,也讓視頻應用場景更加豐富。 當前剪輯產品功能多樣、素材豐富,但是開發周期 ...


移動互聯網的發展給人們的社交和娛樂方式帶來了很大的改變,以vlog、短視頻等為代表的新興文化樣態正受到越來越多人的青睞。同時,隨著AI智能、美顏修圖等功能在圖像視頻編輯App中的應用,促使視頻編輯效率和視頻效果得到了很大的提升,也讓視頻應用場景更加豐富。

當前剪輯產品功能多樣、素材豐富,但是開發周期較長、門檻較高。為了讓剪輯軟體更加智能、簡單易用,提升開發者的效率,HMS Core 6為開發者提供視頻編輯服務(Video Editor Kit),提供視頻導入、編輯、渲染、導出、媒資管理等一站式視頻處理能力。除了支持完整的傳統視頻編輯功能,視頻編輯服務還提供了諸如專屬濾鏡、人物追蹤、一鍵染髮等豐富的AI處理能力輔助視頻創作,為用戶帶來更加暢快的創作靈感,打造更加智能的剪輯體驗。


圖1. 基於AI能力的專屬濾鏡、人物追蹤、一鍵染髮效果展示

多樣化的智能視頻處理能力是由一個個神經網路模型實現的,由於訓練好的模型文件較大(單個模型大小一般為十幾甚至幾十兆),而手機等設備ROM和RAM空間大小有限,如何以更少的終端設備空間占用為開發者提供更豐富的智能化視頻處理能力,成為移動應用視頻編輯面臨的一大挑戰。

為解決以上挑戰,HMS Core視頻編輯服務選擇使用華為自研AI框架MindSpore Lite進行神經網路模型推理。MindSpore Lite是一款全場景AI推理引擎,通過統一API介面支持在端、邊、雲的不同環境快速部署,支持HarmonyOS、Android、iOS、Windows等多種操作系統,支持Ascend、GPU、CPU(x86、arm……)等多種硬體執行。除支持MindSpore訓練出的模型格式,MindSpore Lite還支持TensorFlow,TensorFlow Lite、Caffe、ONNX等第三方模型格式的轉換及推理。


圖2. MindSpore Lite架構圖

MindSpore Lite為AI模型推理提供高性能和超輕量的解決方案:通過高效的內核演算法和彙編級優化,以及CPU、GPU、NPU的異構調度,可以充分發揮硬體算力,實現最小化推理時延和功耗;提供模型量化壓縮技術,採用訓練後量化(Post-Training Quantization, PTQ),無需數據集即可直接將權重數據從浮點型映射到低比特的定點數據,有效降低模型大小,助力AI模型在資源受限環境下的部署執行。


圖3. 量化技術原理介紹

針對權重數據的量化支持固定比特量化和混合比特量化兩種形式。固定比特量化採用Bit-Packing的方式,支持1-16任意比特的權重量化,滿足用戶在不同壓縮場景下的要求,同時針對模型量化後的數據分佈情況,自動選擇合適的編碼策略進行壓縮編碼,從而達到最優的壓縮效果。


圖4. 固定比特量化壓縮

混合比特量化根據神經網路不同層對量化損失的敏感度不同的特點,採用均方誤差作為優化目標,自動搜索出最適合當前層的比特位,在保證精度的同時實現更大的壓縮率。同時針對量化後的模型,採用有限狀態熵(Finite State Entropy, FSE)對量化後的權重數據進行熵編碼進一步壓縮,實現對模型的高效壓縮,提升模型傳輸速率和減少模型存儲空間。


圖5. 混合比特量化壓縮

除此之外,量化時還會採用Bias Correction的方式,最小化其量化誤差。Bias Correction會根據權重數據固有的統計學特性,反量化時對其進行校準,使權重值量化前後具有相同的期望和方差,能夠大幅度提高模型精度。
視頻編輯服務中的AI模型採用MindSpore Lite提供的混合比特量化方式,最終在保證精度的同時達到了平均5x+的模型壓縮效果,例如一鍵染髮的模型從原來的20.86M壓縮到3.76M,有效解決了模型過多、文件過大導致的部署困難問題。


圖6. 視頻編輯模型量化效果(來源於MindSpore Lite實測數據)

通過對AI模型的量化壓縮,在ROM空間占用不變的前提下,保障剪輯產品可以部署更多的AI模型,充分發揮AI能力來提供更多的特效應用場景,使得剪輯功能更加強大、更加智能。華為官方剪輯軟體花瓣剪輯在接入視頻編輯服務能力後,用戶可通過使用專屬濾鏡、人物追蹤等AI視頻剪輯功能(部分特性隨花瓣剪輯App升級陸續開放),讓視頻剪輯更便捷和更富有趣味性。

MindSpore Lite致力於打造高性能、超輕量級的全場景 AI引擎,除高性能內核演算法及硬體異構調度、量化壓縮之外,還提供端雲協同的一站式訓練和推理能力。HMS Core視頻編輯服務基於MindSpore Lite,助力開發者打造更加易用且智能的剪輯工具。

欲瞭解更多信息,歡迎訪問官網

華為開發者聯盟HMS Core官網

MindSpore官網

MindSpore開源社區


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 一、在兩台機器上安裝docker // 1.安裝Docker源 yum install -y wget && wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep ...
  • 前言 由於CentOS 8的支持已經到期了,.NET 6也不支持了,然後也無法升級,導致使用起來已經非常不便,無奈只有遷移伺服器這個選項了。 選擇發行版本一直是一個比較頭疼的問題,首先我不是專門運維的,最好使用的人比較多的版本,然後.NET要官方支持的版本才行,最好是具有中國區的鏡像服務。雖然Fed ...
  • ** linux 下需要知道你系統的Linux內核版本,然後選擇相應的版本下載,版本查詢命令:** uname -a 在高版本20.04和18.04等版本,不需要執行下麵這條命令來編譯makefile文件,因為系統自身存在串口驅動cp210x.o make 於是只需要在[/lib/modules/5 ...
  • 最近需要使用mysql8.0版本,但是原本的mysql5.7版本已經被多個服務依賴,於是想想能不能同一臺伺服器裝多個版本的mysql,一查確實可行,這裡做一個記錄方便自己後期回憶 閱讀本文前請註意!!! 本文是幫助您建立在mysql5.7版本已經安裝完成併在運行中,另外安裝配置mysql8.0版本 ...
  • 事務概述 當多個用戶訪問同一份數據時,一個用戶在更改數據的過程中,可能有其他用戶同時發起更改請求,為保證資料庫記錄的更新從一個一致性狀態變為另外一個一致性狀態,使用事務處理是非常必要的,事務具有以下四個特性: 原子性(Atomicity):事務中所有操作視為一個原子單位,即對事務所進行的數據修改等操 ...
  • Hadoop是什麼 大白話,Hadoop是個存儲數據,計算數據的分散式框架。核心組件是HDFS、MapReduce、Yarn。 HDFS:分散式存儲 MapReduce:分散式計算 Yarn:調度MapReduce 現在為止我們知道了HDFS、MapReduce、Yarn是幹啥的,下麵通過一張圖再來 ...
  • Mysql 連續數據分組 思路是使用變數 逐行將上行和當前行進行對比 條件滿足則生成分組的編號,再根據分組條件和分組編號分組就可以。 ...
  • 主從複製 這是《Redis設計與實現》系列的文章,系列導航:Redis設計與實現筆記 SLAVEOF 新舊複製功能 舊版複製功能 舊版複製功能的實現為 同步 和 命令傳播: 當剛連上Master時,要做一次全同步: sequenceDiagram participant Slave particip ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...