深度學習之圖像視頻壓縮技術(shù)

前言:在音視頻技術(shù)開發(fā)中,如何在保證質(zhì)量的情況下最小壓縮,對于降低帶寬成本等至關(guān)重要镊屎!圖鴨君本次將為您介紹如何使用深度學習技術(shù)進行圖像視頻壓縮其兴!

說到圖像壓縮算法,最典型的就是JPEG蝴猪、JPEG2000等。

其中JPEG 采用的是以離散余弦轉(zhuǎn)換(Discrete Cosine Transform) 為主的區(qū)塊編碼方式(如圖2)。JPEG2000則改用以小波轉(zhuǎn)換(Wavelet Transform) 為主的多解析編碼方式迫靖,小波轉(zhuǎn)換的主要目的是將圖像的頻率成分抽取出來。

圖2 JPEG 編碼框圖

在有損壓縮下兴使,JPEG2000的明顯優(yōu)勢在于其避免了JPEG壓縮中的馬賽克失真效果系宜。JPEG2000的失真主要是模糊失真,而模糊失真的主要原因在于高頻量在編碼過程中一定程度的衰減发魄。在低壓縮比情形下(比如壓縮比小于10:1)盹牧,傳統(tǒng)的JPEG圖像質(zhì)量有可能比JPEG2000好。JPEG2000在高壓縮比的情形下励幼,優(yōu)勢才開始明顯汰寓。

整體來說,JPEG2000相比于傳統(tǒng)JPEG苹粟,仍有很大技術(shù)優(yōu)勢有滑,通常壓縮性能可提高20%以上。當壓縮比達到100:1時嵌削,JPEG壓縮的圖像已經(jīng)嚴重失真并開始難以識別了毛好,而JPEG2000的圖像仍可識別。

一掷贾、深度學習技術(shù)設(shè)計壓縮算法的目的

通過深度學習技術(shù)設(shè)計壓縮算法的目的之一是學習一個比離散余弦變換或小波變換更優(yōu)的變換睛榄,同時借助于深度學習技術(shù)還可以設(shè)計更簡潔的端到端算法,因而能夠設(shè)計出比JPEG2000等商用算法性能更優(yōu)的算法想帅。

在圖片场靴、視頻壓縮領(lǐng)域,使用最多的深度學習技術(shù)就是卷積神經(jīng)網(wǎng)絡(luò)(CNN),下面會就卷積神經(jīng)網(wǎng)絡(luò)進行簡單介紹旨剥。如圖3所顯示咧欣,像搭積木一樣,一個卷積神經(jīng)網(wǎng)絡(luò)由卷積轨帜、池化魄咕、非線性函數(shù)、歸一化層等模塊組成蚌父。最終的輸出根據(jù)應(yīng)用而定哮兰,如在人臉識別領(lǐng)域,我們可以用它來提取一串數(shù)字(專業(yè)術(shù)語稱為特征)來表示一幅人臉圖片苟弛。然后通過比較特征的異同進行人臉識別喝滞。


卷積神經(jīng)網(wǎng)絡(luò)示意圖 來源http://blog.csdn.net/hjimce/article/details/47323463 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

那如何利用卷積神經(jīng)網(wǎng)絡(luò)做壓縮?如圖4所示膏秫,完整的框架包括CNN編碼網(wǎng)絡(luò)右遭、量化、反量化缤削、CNN解碼窘哈、熵編碼等幾個模塊。編碼網(wǎng)絡(luò)的作用是將圖片轉(zhuǎn)換為壓縮特征亭敢,解碼網(wǎng)絡(luò)就是從壓縮特征恢復(fù)出原始圖片滚婉。其中編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò),可以用卷積帅刀、池化满哪、非線性等模塊進行設(shè)計和搭建。


用深度學習進行圖片壓縮示意圖

二劝篷、如何評判壓縮算法

在深入技術(shù)細節(jié)前,我們先來了解一下如何評判壓縮算法民宿。評判一個壓縮算法好壞的重要指標有兩個:一個是每個像素占據(jù)的比特位數(shù)(bit per pixel, BPP)娇妓,一個是PSNR。我們知道活鹰,數(shù)據(jù)在計算機中以比特形式存儲哈恰,所需比特數(shù)越多則占據(jù)的存儲空間越大。BPP用于表示圖像中每個像素所占據(jù)的比特數(shù)志群,如一張RGB三通道圖着绷,表示每個像素需要消耗24個比特。PSNR用來評估解碼后圖像的恢復(fù)質(zhì)量锌云,簡單理解就是PSNR越高荠医,恢復(fù)質(zhì)量越好。

我們舉個例子,假設(shè)長寬為768*512的圖片大小為1M彬向,利用深度學習技術(shù)對它編碼兼贡,通過編碼網(wǎng)絡(luò)后產(chǎn)生包括96*64*192個數(shù)據(jù)單元的壓縮特征數(shù)據(jù),如果表示每個數(shù)據(jù)單元平均需要消耗1個比特娃胆,則編碼整張圖需要96*64*192個比特遍希。經(jīng)過壓縮后,編碼每個像素需要的比特數(shù)為(96*64*192)/(768*512)=3里烦,所以BPP值為3bit/pixel凿蒜,壓縮比為24:3=8:1。這意味著一張1M的圖胁黑,通過壓縮后只需要消耗0.125M的空間废封,換句話說,之前只能放1張照片的空間别厘,現(xiàn)在可以放8張虱饿。

三、如何用深度學習做壓縮

談到如何用深度學習做壓縮触趴,還是用剛才那個例子氮发。將一張大小768*512的三通道圖片送入編碼網(wǎng)絡(luò),進行前向處理后冗懦,會得到占據(jù)96*64*192個數(shù)據(jù)單元的壓縮特征爽冕。有計算機基礎(chǔ)的讀者可能會想到,這個數(shù)據(jù)單元中可放一個浮點數(shù)披蕉,整形數(shù)颈畸,或者是二進制數(shù)。那問題來了没讲,到底應(yīng)該放入什么類型的數(shù)據(jù)眯娱?從圖像恢復(fù)角度和神經(jīng)網(wǎng)絡(luò)原理來講,如果壓縮特征數(shù)據(jù)都是浮點數(shù)爬凑,恢復(fù)圖像質(zhì)量是最高的徙缴。但一個浮點數(shù)占據(jù)32個比特位,那之前講的比特數(shù)計算公式變?yōu)椋?6*64*192*32)/(768*512)=96嘁信,壓縮后反而每個像素占據(jù)比特從24變到96于样,非但沒有壓縮,反而增加了潘靖,這是一個糟糕的結(jié)果穿剖,很顯然浮點數(shù)不是好的選擇

所以為了設(shè)計靠譜的算法卦溢,我們使用一種稱為量化的技術(shù)糊余,它的目的是將浮點數(shù)轉(zhuǎn)換為整數(shù)或二進制數(shù)秀又,最簡單的操作是去掉浮點數(shù)后面的小數(shù),浮點數(shù)變成整數(shù)后只占據(jù)8比特啄刹,則表示每個像素要占據(jù)24個比特位涮坐。與之對應(yīng),在解碼端誓军,可以使用反量化技術(shù)將變換后的特征數(shù)據(jù)恢復(fù)成浮點數(shù)袱讹,如給整數(shù)加上一個隨機小數(shù),這樣可以一定程度上降低量化對神經(jīng)網(wǎng)絡(luò)精度的影響昵时,從而提高恢復(fù)圖像的質(zhì)量捷雕。

即使壓縮特征中每個數(shù)據(jù)占據(jù)1個比特位,可是 8:1的壓縮比在我們看來并不是一個很理想的結(jié)果壹甥。那如何進一步優(yōu)化算法救巷?再看下BPP的計算公式。假設(shè)每個壓縮特征數(shù)據(jù)單元占據(jù)1個比特句柠,則公式可寫成:(96*64*192*1)/(768*512)=3浦译,計算結(jié)果是3 bit/pixel,從壓縮的目的來看溯职,BPP越小越好精盅。在這個公式中,分母由圖像決定谜酒,可以調(diào)整的部分在分子叹俏,分子中96、64僻族、192這三個數(shù)字與網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)粘驰。很顯然,當我們設(shè)計出更優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)述么,這三個數(shù)字就會變小蝌数。

那1與哪些模塊相關(guān)?1表示每個壓縮特征數(shù)據(jù)單元平均占據(jù)1個比特位度秘,量化會影響這個數(shù)字籽前,但它不是唯一的影響因素,它還與碼率控制和熵編碼有關(guān)敷钾。碼率控制的目的是在保證圖像恢復(fù)質(zhì)量的前提下,讓壓縮特征數(shù)據(jù)單元中的數(shù)據(jù)分布盡可能集中肄梨、出現(xiàn)數(shù)值范圍盡可能小阻荒,這樣我們就可以通過熵編碼技術(shù)來進一步降低1這個數(shù)值,圖像壓縮率會進一步提升众羡。

用深度學習做視頻壓縮侨赡,可以看作是在深度學習圖片壓縮基礎(chǔ)上的擴展,可結(jié)合視頻序列幀間的光流等時空信息,在單張壓縮的基礎(chǔ)上羊壹,進一步降低碼率蓖宦。


在kodak24標準數(shù)據(jù)集上測評結(jié)果,上圖為PSNR結(jié)果油猫,下圖為MS-SSIM的結(jié)果? ?

四稠茂、總結(jié)

總體而言,借助于深度學習設(shè)計視頻和圖像壓縮算法是一項非常具有前景但也非常具有挑戰(zhàn)性的技術(shù)情妖。目前睬关,其已經(jīng)在人臉識別等領(lǐng)域證明了它的強大能力,有理由相信在不久的將來毡证,深度學習技術(shù)將為圖像視頻壓縮領(lǐng)域帶來更大的突破电爹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市料睛,隨后出現(xiàn)的幾起案子丐箩,更是在濱河造成了極大的恐慌,老刑警劉巖恤煞,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屎勘,死亡現(xiàn)場離奇詭異,居然都是意外死亡阱州,警方通過查閱死者的電腦和手機挑秉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苔货,“玉大人犀概,你說我怎么就攤上這事∫共眩” “怎么了姻灶?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诈茧。 經(jīng)常有香客問我产喉,道長,這世上最難降的妖魔是什么敢会? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任曾沈,我火速辦了婚禮,結(jié)果婚禮上鸥昏,老公的妹妹穿的比我還像新娘塞俱。我一直安慰自己,他們只是感情好吏垮,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布障涯。 她就那樣靜靜地躺著罐旗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唯蝶。 梳的紋絲不亂的頭發(fā)上九秀,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音粘我,去河邊找鬼鼓蜒。 笑死,一個胖子當著我的面吹牛涂滴,可吹牛的內(nèi)容都是我干的友酱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柔纵,長吁一口氣:“原來是場噩夢啊……” “哼缔杉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搁料,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤或详,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后郭计,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霸琴,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年昭伸,在試婚紗的時候發(fā)現(xiàn)自己被綠了梧乘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡庐杨,死狀恐怖选调,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灵份,我是刑警寧澤仁堪,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站填渠,受9級特大地震影響弦聂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氛什,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一莺葫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枪眉,春花似錦捺檬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萨脑,卻和暖如春隐轩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渤早。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工职车, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鹊杖。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓悴灵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骂蓖。 傳聞我的和親對象是個殘疾皇子积瞒,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容