摘要:目前,其已經(jīng)在人臉識(shí)別等領(lǐng)域證明了它的強(qiáng)大能力,有理由相信在不久的將來(lái),深度學(xué)習(xí)技術(shù)將為圖像視頻壓縮領(lǐng)域帶來(lái)更大的突破。
說(shuō)到圖像壓縮算法,最典型的就是JPEG、JPEG2000等。
其中JPEG 采用的是以離散余弦轉(zhuǎn)換(Discrete Cosine Transform) 為主的區(qū)塊編碼方式(如圖2)。JPEG2000則改用以小波轉(zhuǎn)換(Wavelet Transform) 為主的多解析編碼方式,小波轉(zhuǎn)換的主要目的是將圖像的頻率成分抽取出來(lái)。
在有損壓縮下,JPEG2000的明顯優(yōu)勢(shì)在于其避免了JPEG壓縮中的馬賽克失真效果。JPEG2000的失真主要是模糊失真,而模糊失真的主要原因在于高頻量在編碼過(guò)程中一定程度的衰減。在低壓縮比情形下(比如壓縮比小于10:1),傳統(tǒng)的JPEG圖像質(zhì)量有可能比JPEG2000好。JPEG2000在高壓縮比的情形下,優(yōu)勢(shì)才開(kāi)始明顯。
整體來(lái)說(shuō),JPEG2000相比于傳統(tǒng)JPEG,仍有很大技術(shù)優(yōu)勢(shì),通常壓縮性能可提高20%以上。當(dāng)壓縮比達(dá)到100:1時(shí),JPEG壓縮的圖像已經(jīng)嚴(yán)重失真并開(kāi)始難以識(shí)別了,而JPEG2000的圖像仍可識(shí)別。
深度學(xué)習(xí)技術(shù)設(shè)計(jì)壓縮算法的目的通過(guò)深度學(xué)習(xí)技術(shù)設(shè)計(jì)壓縮算法的目的之一是學(xué)習(xí)一個(gè)比離散余弦變換或小波變換更優(yōu)的變換,同時(shí)借助于深度學(xué)習(xí)技術(shù)還可以設(shè)計(jì)更簡(jiǎn)潔的端到端算法,因而能夠設(shè)計(jì)出比JPEG2000等商用算法性能更優(yōu)的算法。
在圖片、視頻壓縮領(lǐng)域,使用最多的深度學(xué)習(xí)技術(shù)就是卷積神經(jīng)網(wǎng)絡(luò)(CNN),下面會(huì)就卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行簡(jiǎn)單介紹。如圖3所顯示,像搭積木一樣,一個(gè)卷積神經(jīng)網(wǎng)絡(luò)由卷積、池化、非線性函數(shù)、歸一化層等模塊組成。最終的輸出根據(jù)應(yīng)用而定,如在人臉識(shí)別領(lǐng)域,我們可以用它來(lái)提取一串?dāng)?shù)字(專(zhuān)業(yè)術(shù)語(yǔ)稱(chēng)為特征)來(lái)表示一幅人臉圖片。然后通過(guò)比較特征的異同進(jìn)行人臉識(shí)別。
那如何利用卷積神經(jīng)網(wǎng)絡(luò)做壓縮?如圖4所示,完整的框架包括CNN編碼網(wǎng)絡(luò)、量化、反量化、CNN解碼、熵編碼等幾個(gè)模塊。編碼網(wǎng)絡(luò)的作用是將圖片轉(zhuǎn)換為壓縮特征,解碼網(wǎng)絡(luò)就是從壓縮特征恢復(fù)出原始圖片。其中編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò),可以用卷積、池化、非線性等模塊進(jìn)行設(shè)計(jì)和搭建。
?
在深入技術(shù)細(xì)節(jié)前,我們先來(lái)了解一下如何評(píng)判壓縮算法。評(píng)判一個(gè)壓縮算法好壞的重要指標(biāo)有兩個(gè):一個(gè)是每個(gè)像素占據(jù)的比特位數(shù)(bit per pixel, BPP),一個(gè)是PSNR。我們知道,數(shù)據(jù)在計(jì)算機(jī)中以比特形式存儲(chǔ),所需比特?cái)?shù)越多則占據(jù)的存儲(chǔ)空間越大。BPP用于表示圖像中每個(gè)像素所占據(jù)的比特?cái)?shù),如一張RGB三通道圖,表示每個(gè)像素需要消耗24個(gè)比特。PSNR用來(lái)評(píng)估解碼后圖像的恢復(fù)質(zhì)量,簡(jiǎn)單理解就是PSNR越高,恢復(fù)質(zhì)量越好。
我們舉個(gè)例子,假設(shè)長(zhǎng)寬為768512的圖片大小為1M,利用深度學(xué)習(xí)技術(shù)對(duì)它編碼,通過(guò)編碼網(wǎng)絡(luò)后產(chǎn)生包括9664192個(gè)數(shù)據(jù)單元的壓縮特征數(shù)據(jù),如果表示每個(gè)數(shù)據(jù)單元平均需要消耗1個(gè)比特,則編碼整張圖需要9664192個(gè)比特。經(jīng)過(guò)壓縮后,編碼每個(gè)像素需要的比特?cái)?shù)為(9664192)/(768512)=3,所以BPP值為3bit/pixel,壓縮比為24:3=8:1。這意味著一張1M的圖,通過(guò)壓縮后只需要消耗0.125M的空間,換句話說(shuō),之前只能放1張照片的空間,現(xiàn)在可以放8張。
????
談到如何用深度學(xué)習(xí)做壓縮,還是用剛才那個(gè)例子。將一張大小768512的三通道圖片送入編碼網(wǎng)絡(luò),進(jìn)行前向處理后,會(huì)得到占據(jù)9664192個(gè)數(shù)據(jù)單元的壓縮特征。有計(jì)算機(jī)基礎(chǔ)的讀者可能會(huì)想到,這個(gè)數(shù)據(jù)單元中可放一個(gè)浮點(diǎn)數(shù),整形數(shù),或者是二進(jìn)制數(shù)。那問(wèn)題來(lái)了,到底應(yīng)該放入什么類(lèi)型的數(shù)據(jù)?從圖像恢復(fù)角度和神經(jīng)網(wǎng)絡(luò)原理來(lái)講,如果壓縮特征數(shù)據(jù)都是浮點(diǎn)數(shù),恢復(fù)圖像質(zhì)量是最高的。但一個(gè)浮點(diǎn)數(shù)占據(jù)32個(gè)比特位,那之前講的比特?cái)?shù)計(jì)算公式變?yōu)椋?66419232)/(768*512)=96,壓縮后反而每個(gè)像素占據(jù)比特從24變到96,非但沒(méi)有壓縮,反而增加了,這是一個(gè)糟糕的結(jié)果,很顯然浮點(diǎn)數(shù)不是好的選擇。
所以為了設(shè)計(jì)靠譜的算法,我們使用一種稱(chēng)為量化的技術(shù),它的目的是將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)或二進(jìn)制數(shù),最簡(jiǎn)單的操作是去掉浮點(diǎn)數(shù)后面的小數(shù),浮點(diǎn)數(shù)變成整數(shù)后只占據(jù)8比特,則表示每個(gè)像素要占據(jù)24個(gè)比特位。與之對(duì)應(yīng),在解碼端,可以使用反量化技術(shù)將變換后的特征數(shù)據(jù)恢復(fù)成浮點(diǎn)數(shù),如給整數(shù)加上一個(gè)隨機(jī)小數(shù),這樣可以一定程度上降低量化對(duì)神經(jīng)網(wǎng)絡(luò)精度的影響,從而提高恢復(fù)圖像的質(zhì)量。
即使壓縮特征中每個(gè)數(shù)據(jù)占據(jù)1個(gè)比特位,可是 8:1的壓縮比在我們看來(lái)并不是一個(gè)很理想的結(jié)果。那如何進(jìn)一步優(yōu)化算法?再看下BPP的計(jì)算公式。假設(shè)每個(gè)壓縮特征數(shù)據(jù)單元占據(jù)1個(gè)比特,則公式可寫(xiě)成:(96641921)/(768512)=3,計(jì)算結(jié)果是3 bit/pixel,從壓縮的目的來(lái)看,BPP越小越好。在這個(gè)公式中,分母由圖像決定,可以調(diào)整的部分在分子,分子中96、64、192這三個(gè)數(shù)字與網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)。很顯然,當(dāng)我們?cè)O(shè)計(jì)出更優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),這三個(gè)數(shù)字就會(huì)變小。
那1與哪些模塊相關(guān)?1表示每個(gè)壓縮特征數(shù)據(jù)單元平均占據(jù)1個(gè)比特位,量化會(huì)影響這個(gè)數(shù)字,但它不是唯一的影響因素,它還與碼率控制和熵編碼有關(guān)。碼率控制的目的是在保證圖像恢復(fù)質(zhì)量的前提下,讓壓縮特征數(shù)據(jù)單元中的數(shù)據(jù)分布盡可能集中、出現(xiàn)數(shù)值范圍盡可能小,這樣我們就可以通過(guò)熵編碼技術(shù)來(lái)進(jìn)一步降低1這個(gè)數(shù)值,圖像壓縮率會(huì)進(jìn)一步提升。
用深度學(xué)習(xí)做視頻壓縮,可以看作是在深度學(xué)習(xí)圖片壓縮基礎(chǔ)上的擴(kuò)展,可結(jié)合視頻序列幀間的光流等時(shí)空信息,在單張壓縮的基礎(chǔ)上,進(jìn)一步降低碼率。
圖 5 在kodak24標(biāo)準(zhǔn)數(shù)據(jù)集上測(cè)評(píng)結(jié)果,上圖為PSNR結(jié)果,下圖為MS-SSIM的結(jié)果
總結(jié)?
總體而言,借助于深度學(xué)習(xí)設(shè)計(jì)視頻和圖像壓縮算法是一項(xiàng)非常具有前景但也非常具有挑戰(zhàn)性的技術(shù)。目前,其已經(jīng)在人臉識(shí)別等領(lǐng)域證明了它的強(qiáng)大能力,有理由相信在不久的將來(lái),深度學(xué)習(xí)技術(shù)將為圖像視頻壓縮領(lǐng)域帶來(lái)更大的突破。現(xiàn)階段圖鴨團(tuán)隊(duì)自主研發(fā)的算法已經(jīng)超過(guò)商用的JPEG2000。如圖6和圖7
圖 6 在同等壓縮率下壓縮視覺(jué)效果對(duì)比。上圖為圖鴨所提出的算法,下圖為JPEG2000算法。在紋理細(xì)節(jié)上,我們的算法能得到更好的效果。
圖 7 在同等壓縮率下,對(duì)復(fù)雜圖像壓縮視覺(jué)效果對(duì)比。上圖為圖鴨所提出的算法,下圖為JPEG2000算法。在細(xì)節(jié)上,我們的算法能得到更好的效果。
文章由圖鴨團(tuán)隊(duì)撰寫(xiě),感興趣的朋友請(qǐng)關(guān)注微信公眾號(hào):tucodec.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11038.html
摘要:隨后深度學(xué)習(xí)的研究大放異彩,廣泛應(yīng)用在了圖像處理和語(yǔ)音識(shí)別領(lǐng)域。比如的學(xué)生就用深度學(xué)習(xí)算法贏得年的。深度學(xué)習(xí)和人工智能的春天離人工智能最近的互聯(lián)網(wǎng)公司敏銳嗅到了這一機(jī)遇。 多倫多大學(xué)計(jì)算機(jī)系教授Geoffrey Hinton是Deep Learning的開(kāi)山鼻祖,我們來(lái)講講他的故事。他有個(gè)傳奇的姑姑不過(guò)先來(lái)說(shuō)說(shuō)他姑姑吧,他姑姑Joan Hinton是一個(gè)與中國(guó)有關(guān)的具有傳奇經(jīng)歷的人物,中文名...
閱讀 2850·2023-04-26 02:23
閱讀 1602·2021-11-11 16:55
閱讀 3160·2021-10-19 11:47
閱讀 3375·2021-09-22 15:15
閱讀 1989·2019-08-30 15:55
閱讀 1050·2019-08-29 15:43
閱讀 1305·2019-08-29 13:16
閱讀 2206·2019-08-29 12:38