日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

人工智能在视频应用领域的探索

發(fā)布時間:2024/4/11 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 人工智能在视频应用领域的探索 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


人工智能熱度很高,但泡沫也很大。人工智能在視頻領(lǐng)域的應(yīng)用已經(jīng)走入尋常人的生活,人臉識別,視頻自動摳像技術(shù)已經(jīng)比較成熟。除此之外,人工智能還能為視頻應(yīng)用帶來哪些變化呢?鮑金龍撰文,描述了人工智能在視頻應(yīng)用中的實(shí)踐探索,涉及編解碼器、超分辨率等。如果你在某一領(lǐng)域有深入探索與洞察,歡迎聯(lián)contribute@livevideostack.com。


文 / 鮑金龍


序:人工智能來生今世


人工智能是一個非常廣泛的領(lǐng)域,當(dāng)前人工智能涵蓋很多大的學(xué)科,大致歸納為六個:


  • ?計(jì)算機(jī)視覺(暫且把模式識別,圖像處理等問題歸入其中);

  • ?自然語言理解與交流(暫且把語音識別、合成歸入其中,包括對話);

  • ?認(rèn)知與推理(包含各種物理和社會常識);

  • ?機(jī)器人學(xué)(機(jī)械、控制、設(shè)計(jì)、運(yùn)動規(guī)劃、任務(wù)規(guī)劃等);

  • ?博弈與倫理(多代理人agents的交互、對抗與合作,機(jī)器人與社會融合等議題);

  • ?機(jī)器學(xué)習(xí)(各種統(tǒng)計(jì)的建模、分析工具和計(jì)算的方法)。


  • 這里值得強(qiáng)調(diào)幾點(diǎn):


    第一) 目前的人工智能都是屬于弱人工智能的范圍,在某一個專業(yè)領(lǐng)域內(nèi)作為被人類使用的工具存在。 目前還不存在離開人類主體自行運(yùn)行的人工智能,更不存在可以開發(fā)人工智能自我迭代進(jìn)化的強(qiáng)人工智能。


    第二) 機(jī)器學(xué)習(xí)在近幾年取得了很大進(jìn)展,有些人直接把機(jī)器學(xué)習(xí)當(dāng)成了人工智能的代名詞。這是不準(zhǔn)確的。舉例來說,不可否認(rèn)機(jī)器學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域發(fā)揮著越來越大的作用,但是傳統(tǒng)意義上,通過人工建模,分析取得的模式識別,圖像識別,圖像增強(qiáng)仍舊是很成功的人工智能技術(shù),并且也是機(jī)器學(xué)習(xí)進(jìn)一步發(fā)展的基礎(chǔ)。


    第三) 統(tǒng)計(jì)分析方法在1990年代就出現(xiàn)并在一定領(lǐng)域內(nèi)使用了。統(tǒng)計(jì)分析方法也多種多樣的,根據(jù)實(shí)際需要產(chǎn)生過很多成功的案例,不一定采用目前標(biāo)準(zhǔn)的建模和分析方法。這里面舉個典型的例子,在1997年Intel推出mmx技術(shù)之前,程序員中流傳著一個非常著名的查表IDCT(反余弦變換),實(shí)際上就是對MPEG1編解碼過程的IDCT變換,做了統(tǒng)計(jì)分析后發(fā)現(xiàn)的,超過之前所有快速算法的實(shí)戰(zhàn)案例。具體細(xì)節(jié)請點(diǎn)擊『閱讀原文』下載IDCT 8x8.DOC。


    第四)機(jī)器學(xué)習(xí)有這幾個比較明顯的缺陷,想要在實(shí)戰(zhàn)中取得良好的效果,就必須做出合理的取舍和優(yōu)化。這幾個缺陷是:


  • 嚴(yán)重依賴數(shù)據(jù),訓(xùn)練方法和訓(xùn)練量非常關(guān)鍵。

  • 計(jì)算量偏高。

  • 雖然有時候取得了良好的效果,但是機(jī)器學(xué)習(xí)本身并不能理解這個過程,也不能給出合理的解釋。

  • 涉及自然科學(xué)常識和社會科學(xué)常識的問題,目前機(jī)器學(xué)習(xí)還不能在開放領(lǐng)域內(nèi)取得良好的效果。


  • (一)人工智能對視頻應(yīng)用的滲透


    傳統(tǒng)視頻應(yīng)用的流程:



    前面我們說過,目前的人工智能還處于工具階段,也就是說還沒有人工智能開發(fā)出來的任何的超越時代的編碼方法、傳輸協(xié)議、解碼、交互技術(shù)存在。目前人工智能滲透包括預(yù)處理和后處理,超分辨率,機(jī)器視覺等等,人們在這些過程中使用人工智能工具來提升開發(fā)效率或者處理效果。而編解碼技術(shù),則屬于人類專家技術(shù)團(tuán)隊(duì)才能解決的問題,目前的人工智能還很難介入。



    近年來網(wǎng)絡(luò)直播應(yīng)用的興起,出現(xiàn)了跟以往廣播電視編解碼不太一樣的需求。那就是:


  • 編碼端,保證編碼實(shí)時性和碼率的要求的同時,保證盡量高的圖像質(zhì)量。

  • 發(fā)送,傳輸,緩沖,延時盡量小。

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


  • 這兩年我一直在努力把人工智能(主要是機(jī)器學(xué)習(xí))技術(shù)跟編解碼做更深的融合,用來解決傳統(tǒng)方法一直很難解決的這幾個問題。


    編碼器遇到的問題:硬件編碼器性能好,但是圖像質(zhì)量差,碼率高。軟件編碼器效率較低,遇到復(fù)雜視頻,比如物體繁多,較大運(yùn)動,閃光,旋轉(zhuǎn),既不能滿足實(shí)時編碼的需求,同時輸出碼率也出現(xiàn)較大抖動。對于網(wǎng)絡(luò)應(yīng)用來說是很大的障礙。


    解碼器需要增強(qiáng)的點(diǎn):大家都在構(gòu)想能不能應(yīng)用超分辨率技術(shù),把較低分辨率的視頻的播放質(zhì)量提升一大塊。目前有很多算法顯示出巨大的潛力,比如谷歌的RAISR,處理圖像時候效果很好。能不能實(shí)時用到視頻上,或者硬件化,或者采用更快的能實(shí)時運(yùn)行的算法。我們在后面會討論一種折中方案,在犧牲一點(diǎn)質(zhì)量的前提下,能夠?qū)崟r運(yùn)行的超分辨率算法。



    (二)人工智能增強(qiáng)的編碼器


    (2.1)動態(tài)編碼器


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

    ?


    編碼時間和碼率是正相關(guān)的,在碼率暴漲的同時,編碼時間也劇烈延長。對于低延時需求強(qiáng)烈的直播應(yīng)用,會造成嚴(yán)重的卡頓。


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



    這樣帶來的結(jié)果就是圖像質(zhì)量不穩(wěn)定。


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



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


  • 物體繁多且有攝像機(jī)運(yùn)動。

  • 背景不動但是有大量物體的大范圍運(yùn)動,包括快速運(yùn)動,旋轉(zhuǎn),仿射,蠕變等。

  • 出現(xiàn)閃光,風(fēng)沙,粒子系統(tǒng)。


  • 這就需要開發(fā)一種適用于高清晰度直播應(yīng)用的面向場景的智能編碼技術(shù)。該技術(shù)通過監(jiān)督學(xué)習(xí)將常見視頻編碼卡頓場景分類并快速識別,提前預(yù)判視頻場景的編碼復(fù)雜度和碼率抖動,使用動態(tài)參數(shù)配置來編碼,保證編碼的實(shí)時性和限定碼率下最好的圖像質(zhì)量。


    (2.2)內(nèi)容自動植入



    這里討論廣告的自動植入問題。一種是在編碼前合成到視頻里面,這個過程跟編碼關(guān)系不大。但是直接合成到視頻之后,所有的觀眾看到的內(nèi)容就都一樣。


    要做到個性化,精準(zhǔn)的廣告投放,就只有在播放端解碼后合成。要做到這點(diǎn),服務(wù)器不僅要發(fā)送原始視頻流,還要發(fā)送后期合成物體的定位方法和圖像數(shù)據(jù),以便客戶端按照需求進(jìn)行動態(tài)合成。


    首先,自動植入的廣告跟前貼片比起來優(yōu)勢很明顯,可以植入的廣告數(shù)量非常巨大,效果也更自然,用戶也不會產(chǎn)生明顯的反感。


    其次,個性化精準(zhǔn)投放,又進(jìn)一步擴(kuò)大了廣告投放的總?cè)萘亢托省?/span>


    (2.3)交互式視頻

    ?


    目前基本做法是圖像識別后,與搜索引擎連接,產(chǎn)生一個內(nèi)容鏈接。



    (三)人工智能增強(qiáng)的解碼器


    (3.1)單個圖像的超分辨率


    自然圖像基本上是平坦的紋理填充和顯著的邊緣(線條)組合形成的。


    常規(guī)拉伸算法有雙線性插值和雙三次樣條曲線差值。一般說來,三次曲線要比線性插值效果好。


    然而在 15 年前,我在金山做 DVD 播放器的時候,正在研究去隔行技術(shù)。

    如上圖所示,第一排和第三排是原圖數(shù)據(jù),第二排是需要插入的數(shù)據(jù)。普通的插值方法是在 B 方向上做一個三次插值。但是我這次計(jì)算了 A,B,C 三個方向的梯度,取方向梯度最小,像素梯度和最大的方向做簡單的線性插值。


    這時候我有一個驚奇的發(fā)現(xiàn),簡單的雙線性插值的目視效果居然要好過三次曲線。這是為什么呢?


    圖像模糊的原因有以下幾個:


  • 低分辨率下線條會變得模糊。

  • 低分辨率圖像在拉伸到高分辨率時候會在線條上引入額外的模糊。

  • 噪音的存在。


  • 對于第2點(diǎn)我們具體說明:比如B樣條,三次樣條曲線有一個應(yīng)用條件,那就是樣本數(shù)據(jù)本身應(yīng)該是光滑的,至少是分段光滑。但是在圖像里面,物體的邊界和背景的結(jié)合處,就不滿足這個條件了。普通的三次樣條曲線插值并沒有考慮圖像內(nèi)部各個物體的不同,簡單的把整個圖像作為一個整體來計(jì)算。這樣必然就在邊界處引入了嚴(yán)重的模糊。


    因此超分辨率主要從以上幾個方面進(jìn)行處理。噪音的處理技術(shù)已經(jīng)比較成熟了。今天我們就不討輪了。


    第一個討論點(diǎn),如何降低線條的拉伸效應(yīng),也就是線條的銳度保持。


    比如一個4x4的像素塊,比較常見的是如下的形態(tài):



    普通的三次b樣條的濾波器參數(shù)矩陣為:



    比如我們打算在4x4像素塊中心插入一個點(diǎn):


    • 第一種情況,插入點(diǎn)在邊界上。



    使用標(biāo)準(zhǔn)濾波器:



    使用改進(jìn)濾波器:




    • 第二種情況,插入點(diǎn)在邊界內(nèi):



    標(biāo)準(zhǔn)濾波:

    ?


    效果可以接受。


    • 第三種情況,插入點(diǎn)在邊界外:



    使用標(biāo)準(zhǔn)濾波器:



    使用改進(jìn)濾波器:




    第三種情況實(shí)際上和第一種是一樣的。所以我們只要考慮插入點(diǎn)在邊界上的情況就可以了。


    考慮到每個像素實(shí)際是8位的,一個4x4像素塊的可能的組合基本就是128位整數(shù)。這是一個極其巨大的數(shù)字。然而實(shí)際上經(jīng)常出現(xiàn)的可能遠(yuǎn)遠(yuǎn)少于理論上限,基本上考慮幾千種組合就夠用了。這種情況下需要使用統(tǒng)計(jì)方法,或者說是機(jī)器學(xué)習(xí)的辦法來獲得一個比較好的濾波器參數(shù)表。這是一個很稀疏的分布,需要設(shè)計(jì)比較好hash方法來構(gòu)造和查找。


    一般的機(jī)器學(xué)習(xí)過程都是類似的:準(zhǔn)備一些原始 HR 圖象(2x2)和從采樣生成的 LR(1x1)圖象,作為配對數(shù)據(jù)。然后采用了幾個優(yōu)化操作:


    • 第一步,將復(fù)雜 4x4 梯度圖象點(diǎn)陣處理成為簡單的碼本圖象(HASH)。

    • 第二步,針對這個碼本圖象,使用考慮臨近像素梯度權(quán)重的方法重構(gòu)B樣條濾波器參數(shù),每次都和原始的 2x2 倍圖象進(jìn)行 SAD (COST函數(shù))計(jì)算,尋找最接近的擬合曲線參數(shù)(下山法)。

    • 第三步,對上一步獲得的大量參數(shù)計(jì)算概率分布,取最大概率的參數(shù)作為該碼本的最優(yōu)解。

    • 第四步,對近似的碼本進(jìn)行合并處理,以減小碼本的數(shù)量。


    還有一個討論點(diǎn),就是低分圖像對邊界造成的模糊,有沒有辦法來去除。有人提出了一個梯度變換的方法:


    這種算法的思路就是計(jì)算出梯度的分布,然后適當(dāng)把梯度收窄。不考慮實(shí)現(xiàn)速度的話,這個方法取得效果也是很驚人的。



    這個算法的運(yùn)算量太大了。我們只能是想辦法把這個過程融合到尋找濾波器參數(shù)矩陣的過程中來。


    在實(shí)際處理過程中,我們就使用上面過程獲得的進(jìn)行超分辨率計(jì)算。那么我們可以估計(jì)這樣算法的大致運(yùn)算量:4x4矩陣配準(zhǔn),查找濾波器,然后每個點(diǎn)16次乘加法。整個過程預(yù)估相當(dāng)于40次乘法運(yùn)算。因此以現(xiàn)在的cpu性能,使用avx256/512或者h(yuǎn)vx充分優(yōu)化,完全有可能實(shí)現(xiàn)1080p到4k的超分辨率上達(dá)到實(shí)時30fps。


    這樣某些時候得到的圖象目視效果甚至要超過原始輸入圖象。



    (3.2)視頻的超分辨率


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


    視頻的超分辨率基本思路是從連續(xù)的視頻序列來重建高分辨率的圖像,涉及到圖像配準(zhǔn)和子像素提取。研究方法和評價方法也存在很大差異。有些人用圖像的超分辨率方法來套用的話就會出現(xiàn)一些疑惑:


    首先視頻編碼是一個有損壓縮過程,不同分辨率的序列壓縮退化過程是不同的,因此找不到合適的HR/LR配對。視頻質(zhì)量的評估也是遠(yuǎn)比圖像質(zhì)量評估要復(fù)雜。因此目視質(zhì)量是一個比較簡易的評估標(biāo)準(zhǔn)。當(dāng)然尋找一個HR/LR配對來計(jì)算PSNR也是可以的,但是說服力遠(yuǎn)不如圖像配對的情況。


    評估模型:



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


    普通的視頻序列物體配準(zhǔn)和子像素提取是非常慢的。為了加快速度,我們把這個過程簡化了一下,省去配準(zhǔn)和空間預(yù)測的過程,參照解碼生成分?jǐn)?shù)運(yùn)動向量,直接在解碼過程中完成一部分像素塊的子像素提取工作。


    為了進(jìn)一步提高處理速度,這里面的還采用了一些優(yōu)化措施:


    實(shí)驗(yàn)發(fā)現(xiàn),在一個視頻播放序列中,如果每間隔2幀清晰度稍差的圖像,加入一幀相對高質(zhì)量圖像,和逐幀高質(zhì)量圖像對比起來,人眼的感覺不會造成太多差異。


    因此在視頻SR過程中,可以每隔兩幀用普通 b 樣條+降噪生成的基礎(chǔ)圖象HBR+,做一次HSR處理:


    [HSR] ,[HBR+] ,[HBR+], [HSR], [HBR+], [HBR+], [HSR], [HBR+], [HBR+]


    這個視頻上面的快速超分辨率過程SR詳細(xì)過程可以描述為:



    預(yù)估整個超分辨率過程輸出的HSR視頻圖像質(zhì)量提升1個dB左右。

    總結(jié)

    以上是生活随笔為你收集整理的人工智能在视频应用领域的探索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。