首頁 行業資訊正文

人工智能在視頻領域的應用初探

近些年人工智能的熱度很高,人工智能在視頻領域的應用已經逐漸走入人們的生活,人臉識別,行爲分析,車牌識別等等。

傳統視頻應用的流程:

一、人工智能對視頻應用的滲透

目前的人工智能還處于工具階段,能夠滲透包括預處理和後處理,超分辨率,機器視覺等等,人們在這些過程中使用人工智能工具來提升開發效率或者處理效果。

在移動直播的環境下,在編碼前,不影響畫質的前提下,自動檢測是否爲弱網環境從而判斷是否選擇性丟幀,以降低編碼環節的功耗開銷。另一方面在弱網環境下帶寬可能出現瓶頸,通過測速可進行動態碼率切換,以保障網絡推流流暢。

在播放前對視頻中的人或物進行檢測並處理,集成自動美顔、渲染等,以達到更好的觀看效果。

近年來網絡直播應用的興起,出現了跟以往廣播電視編解碼不太一樣的需求。那就是:

  • 編碼端,保證編碼實時性和碼率的要求的同時,保證盡量高的圖像質量;

  • 發送,傳輸,緩沖,延時盡量小;

  • 解碼器盡量能輸出最好的質量,最好能超分辨率。

業內一直在努力把人工智能技術跟編解碼做更深的融合,用來解決傳統方法一直很難解決的這幾個問題。

二、人工智能增強的編碼器

當前編碼器遇到的問題:硬件編碼器性能好,但是圖像質量差,碼率高。軟件編碼器效率較低,遇到複雜視頻,比如物體繁多,較大運動,閃光,旋轉,既不能滿足實時編碼的需求,同時輸出碼率也出現較大抖動。對于網絡應用來說是很大的障礙。

1、動態編碼器

不同場景下編碼保持恒定質量的碼率:

編碼時間和碼率是正相關的,在碼率暴漲的同時,編碼時間也劇烈延長。對于低延時需求強烈的直播應用,會造成嚴重的卡頓。

一般就只好使用絕對不變碼率ABR. 不同場景下ABR的圖像質量:

這樣帶來的結果就是圖像質量不穩定。

我們希望是下圖這樣的曲線:

這就需要編碼器能夠提前判定大碼率場景出現的可能性。需要判定的幾種情況:

  • 物體繁多且有攝像機運動;

  • 背景不動但是有大量物體的大範圍運動,包括快速運動,旋轉,仿射,蠕變等;

  • 出現閃光,風沙,粒子系統。

這就需要開發一種適用于高清晰度直播應用的面向場景的智能編碼技術。該技術通過監督學習將常見視頻編碼卡頓場景分類並快速識別,提前預判視頻場景的編碼複雜度和碼率抖動,使用動態參數配置來編碼,保證編碼的實時性和限定碼率下最好的圖像質量。

京東雲基于業界領先的AI技術,提供對單人及多人的姿態預估技術,准確地判斷出圖片或視頻中的人體14個主要關鍵點並給出相應的置信度,可應用于各個領域中的人體動作姿態分析、預估及檢測。算法性能LIP Dataset(單人)mAP 90%;COCO val 2017(多人)mAP 80%,處于業內領先水平。

2、內容自動植入

這裏說的廣告的自動植入問題。一種是在編碼前合成到視頻裏面,這個過程跟編碼關系不大。但是直接合成到視頻之後,所有的觀衆看到的內容就都一樣。

要做到個性化,精准的廣告投放,就只有在播放端解碼後合成。要做到這點,服務器不僅要發送原始視頻流,還要發送後期合成物體的定位方法和圖像數據,以便客戶端按照需求進行動態合成。

首先,自動植入的廣告跟前貼片比起來優勢很明顯,可以植入的廣告數量非常巨大,效果也更自然,用戶也不會産生明顯的反感。

其次,個性化精准投放,又進一步擴大了廣告投放的總容量和效率。

京東雲視頻直播平台擁有領先的合成技術,除了字幕、廣告外,還可以提供水印、靜態或動態logo等功能,以增強視頻的宣傳力度和版權保護。

3、交互式視頻

目前基本做法是圖像識別後,與搜索引擎連接,産生一個內容鏈接。

針對視頻和圖像中的人物,京東雲提供的AI能力可對人臉進行搜索和比對實現企業、商業、住宅等多種場景的刷臉進門等功能,提升安全性、效率和用戶體驗用。

同時還可快速檢測並定位人臉,返回高精度的人臉框坐標,五官與輪廓關鍵點和三維坐標,並且可識別多達9種人臉自然屬性和5種情緒屬性。

三、人工智能增強的解碼器

當前解碼器需要增強的點:大家都在構想能不能應用超分辨率技術,把較低分辨率的視頻的播放質量提升一大塊。目前有很多算法顯示出巨大的潛力,比如谷歌的RAISR,處理圖像時候效果很好。能不能實時用到視頻上,或者硬件化,或者采用更快的能實時運行的算法。我們在後面會討論一種折中方案,在犧牲一點質量的前提下,能夠實時運行的超分辨率算法。

1、單個圖像的超分辨率

自然圖像基本上是平滑的紋理填充和較明顯的邊緣組合形成。

常規拉伸算法有雙線性插值和雙三次樣條曲線差值。一般說來,三次曲線要比線性插值效果好。但實際簡單的雙線性插值的目視效果要好過三次曲線。

原因有以下幾個:

1、低分辨率下線條會變得模糊。
2、低分辨率圖像在拉伸到高分辨率時候會在線條上引入額外的模糊。
3、噪音的存在。

第1點不用過多解釋,分辨率低了自然會模糊

第2點:比如B樣條,三次樣條曲線有一個應用條件,那就是樣本數據本身應該是光滑的,至少是分段光滑。但是在圖像裏面,物體的邊界和背景的結合處,就不滿足這個條件了。普通的三次樣條曲線插值並沒有考慮圖像內部各個物體的不同,簡單的把整個圖像作爲一個整體來計算。這樣必然就在邊界處引入了嚴重的模糊。

因此超分辨率主要從以上幾個方面進行處理。

那麽如何降低線條的拉伸效應,也就是線條的銳度保持。

比如一個4x4的像素塊,比較常見的是如下的形態:

普通的三次b樣條的濾波器參數矩陣爲:

加入在4x4像素塊中心插入一個點

第一種情況,插入點在邊界上:

使用標准濾波器:

使用改進濾波器:

第二種情況,插入點在邊界內:

標准濾波:

第三種情況,插入點在邊界外:

使用標准濾波器:

使用改進濾波器:

第三種情況與第一種一樣。所以只需要考慮插入點在邊界上的情況。

由于每個像素是8位的,所以一個4x4像素塊可能的組合是大致128位整數。而現實中常出現的種類一般少于理論上限,因此需要考慮的組合往往不需要這麽多。這種情況就需要使用統計方法,也就是通過機器學習來獲得一個比較好的濾波器參數表。

機器學習過程通常是准備一些原始 HR 圖象(2x2)和從采樣生成的 LR(1x1)圖象,作爲配對數據。然後采用一些優化操作:

第一步,將複雜 4x4 梯度圖象點陣處理成爲簡單的碼本圖象(HASH);
第二步,針對這個碼本圖象,使用考慮臨近像素梯度權重的方法重構B樣條濾波器參數,每次都和原始的 2x2 倍圖象進行 SAD (COST函數)計算,尋找最接近的擬合曲線參數(下山法);
第三步,對上一步獲得的大量參數計算概率分布,取最大概率的參數作爲該碼本的最優解;
第四步,對近似的碼本進行合並處理,以減小碼本的數量。

關于低分圖像對邊界造成的模糊,我們可以嘗試使用一個梯度變換的方法:

這種算法的思路就是計算出梯度的分布,然後適當把梯度收窄。不考慮實現速度的話,這個方法取得效果也是很驚人的。

但是這個算法的運算量非常龐大。因此需要把這個過程融合到尋找濾波器參數矩陣的過程中。

2、視頻的超分辨率

上面是單個圖像的超分辨率。視頻的超分辨率和單個圖像不同。單個圖像的超分辨率算法可以融合到視頻超分辨率裏面來。

視頻的超分辨率是從連續的視頻序列中重新創建高分辨率的圖像,涉及到圖像配准和子像素提取。研究方法和評價方法也存在很大差異。有些人用圖像的超分辨率方法來套用的話就會出現一些疑惑:

首先視頻編碼是一個有損壓縮過程,不同分辨率的序列壓縮退化過程是不同的,因此找不到合適的HR/LR配對。視頻質量的評估也是遠比圖像質量評估要複雜。因此目視質量是一個比較簡易的評估標准。當然尋找一個HR/LR配對來計算PSNR(峰值信噪比)也是可以的,但是說服力遠不如圖像配對的情況。

評估模型:

在這個過程中,因爲原始視頻(未經壓縮)圖像較大,所以HR(0)不適合用來做原始分辨率參照。我們可以選取HR(1)和HSR來比較獲取一個PSNR(0), 然後選取HR(1)和普通拉伸獲得的HBR來比較獲取一個PSNR(1). 如果PSNR(0)比PSNR(1)要高的話,就說明超分辨取得了效果。

在視頻直播和人工智能的結合方面,京東雲一直在不斷探索,我們希望可以基于京東雲平台優質底層資源和領先的實施轉碼技術,爲客戶提供更加專業的一站式服務。

分享
版權聲明

本文僅代表作者觀點,不代表本站立場。
本文系作者授權發表,未經許可,不得轉載。

評論