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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习为图片压缩算法赋能:节省55%带宽

發(fā)布時間:2024/4/11 pytorch 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习为图片压缩算法赋能:节省55%带宽 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文來自圖鴨科技團(tuán)隊(duì)的投稿,他們用深度學(xué)習(xí)技術(shù)設(shè)計(jì)、優(yōu)化圖片壓縮算法,在保證圖像畫質(zhì)的情況下能節(jié)省55%帶寬。本文將介紹實(shí)現(xiàn)方法及測試對比。


隨著互聯(lián)網(wǎng)的發(fā)展,人們對高清圖片的需求也在不斷增加,在保證圖像畫質(zhì)的情況下最大程度降低圖像體積已成為行業(yè)發(fā)展趨勢。


目前比較出名的圖像壓縮格式是:WebP與HEIF。


  • WebP:谷歌旗下的一款可以同時提供有損壓縮和無損壓縮的圖片文件格式,其以VP8編碼為內(nèi)核,在2011年11月開始可以支持無損和透明色功能。目前facebook等網(wǎng)站都已采用這種圖片格式。

  • BPG:知名程序員、ffmpeg和QEMU等項(xiàng)目作者Fabrice Bellard推出的圖像格式,它以HEVC編碼為內(nèi)核,在相同體積下,BPG文件大小只有JPEG的一半。另外BPG還支持8位和16位通道等等。盡管BPG有很好的壓縮效果,但是HEVC的專利費(fèi)很高,所以目前的市場使用比較少。


這兩大技術(shù)都各有優(yōu)劣,為了最大程度的應(yīng)對市場需求采用深度學(xué)習(xí)技術(shù)做圖片壓縮算法已受到業(yè)界越來越多的關(guān)注。


深度學(xué)習(xí)技術(shù)設(shè)計(jì)圖片壓縮算法


通過深度學(xué)習(xí)技術(shù)設(shè)計(jì)壓縮算法不僅能在不借助HEVC的情況下設(shè)計(jì)出更適合商用的更高壓縮比的圖片壓縮算法,還可以在保持圖片畫質(zhì)同時,盡可能降低圖片體積。


在圖片壓縮領(lǐng)域主要用到的深度學(xué)習(xí)技術(shù)是卷積神經(jīng)網(wǎng)絡(luò)(CNN)。卷積神經(jīng)網(wǎng)絡(luò)就像搭積木一樣,一個卷積神經(jīng)網(wǎng)絡(luò)由卷積、池化、非線性函數(shù)、歸一化層等模塊組成,最終的輸出根據(jù)應(yīng)用而定;如在人臉識別領(lǐng)域,我們可以用它來提取一串特征表示一幅人臉圖片,然后通過比較特征的異同進(jìn)行人臉識別。


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


如何利用卷積神經(jīng)網(wǎng)絡(luò)做壓縮?


如圖2所示,完整的框架包括CNN編碼器、量化、反量化、CNN解碼器、熵編碼、碼字估計(jì)和碼率-失真優(yōu)化等幾個模塊。編碼器的作用是將圖片轉(zhuǎn)換為壓縮特征,解碼器就是從壓縮特征恢復(fù)出原始圖片。其中編碼網(wǎng)絡(luò)和解碼器,可以用卷積、池化、非線性等模塊進(jìn)行設(shè)計(jì)和搭建。


圖2:用深度學(xué)習(xí)進(jìn)行圖片壓縮示意圖


如何評判壓縮算法?


目前評判一個壓縮算法的重要指標(biāo)有三個:PSNR(Peak Signal to Noise Ratio)、BPP(bit per pixel)和MS-SSIM(multi-scaleSSIM index)。我們知道,任何數(shù)據(jù)在計(jì)算機(jī)內(nèi)都是以比特形式存儲,所需比特?cái)?shù)越多則占據(jù)的存儲空間越大。PSNR用來評估解碼后圖像恢復(fù)質(zhì)量,BPP用于表示圖像中每個像素所占據(jù)的比特?cái)?shù),MS-SSIM值用來衡量圖片的主觀質(zhì)量,簡單來說在同等的Rate/BPP下PSNR更高,壓縮效果更好,MSSIM更高,主觀感受更好。


下圖為圖鴨圖片格式Tiny Network Graphics (TNG) 與其他圖片格式在同一壓縮比下的PSNR值與MS-SSIM值對比:

?

圖3:圖鴨TNG圖片格式與其他圖片格式在同一壓縮比下的PSNR值與MS-SSIM值對比


從上圖對比中可以看到,圖鴨的TNG在MS-SSIM值上一直處于領(lǐng)先狀態(tài),其PSNR值也已超過WebP、JPEG2000等商用算法。


如何用深度學(xué)習(xí)做壓縮?


談到如何用深度學(xué)習(xí)做壓縮,我們以圖片來舉例。將一張大小 768 * 512 的三通道圖片送入編碼網(wǎng)絡(luò),進(jìn)行前向處理后,會得到占據(jù) 96 * 64 * 192 個數(shù)據(jù)單元的壓縮特征。有計(jì)算機(jī)基礎(chǔ)的讀者可能會想到,這個數(shù)據(jù)單元中可放一個浮點(diǎn)數(shù),整形數(shù),或者是二進(jìn)制數(shù)。那到底應(yīng)該放入什么類型的數(shù)據(jù)呢?


從圖像恢復(fù)角度和神經(jīng)網(wǎng)絡(luò)原理來講,如果壓縮特征數(shù)據(jù)都是浮點(diǎn)數(shù),恢復(fù)圖像質(zhì)量是最高的。但一個浮點(diǎn)數(shù)占據(jù)32個比特位,圖片的計(jì)算公式為( 96 * 64 * 192 * 32)/(768*512)=96,壓縮后反而每個像素占據(jù)比特從24變到96!圖片大小非但沒有壓縮,反而增加了,這是一個糟糕的結(jié)果,很顯然浮點(diǎn)數(shù)不是好的選擇。


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


即使壓縮特征中每個數(shù)據(jù)占據(jù)1個比特位,可是壓縮還是有可進(jìn)步的空間。那如何進(jìn)一步優(yōu)化算法?再看下BPP的計(jì)算公式。


假設(shè)每個壓縮特征數(shù)據(jù)單元占據(jù)1個比特,則公式可寫成:(96*64*192*1)/(768*512)=3,計(jì)算結(jié)果是3 bit/pixel,從壓縮的目的來看,BPP越小越好。在這個公式中,分母由圖像決定,我們進(jìn)行調(diào)整的只有分子:96、64、192,這三個數(shù)字與網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)。所以,如果我們設(shè)計(jì)出更優(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ù)來進(jìn)一步降低1這個數(shù)值,圖像壓縮率會進(jìn)一步提升。


總結(jié)


總體而言,借助于深度學(xué)習(xí)設(shè)計(jì)視頻和圖像壓縮算法是一項(xiàng)非常具有前景,但同時也非常有挑戰(zhàn)性的技術(shù)。


最后,大家可以點(diǎn)擊閱讀原文獲取TNG測試鏈接(建議在PC端測試)。

總結(jié)

以上是生活随笔為你收集整理的深度学习为图片压缩算法赋能:节省55%带宽的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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