超分辨率在移動(dòng)實(shí)時(shí)音視頻的應(yīng)用實(shí)踐
共 2421字,需瀏覽 5分鐘
·
2022-02-09 17:35
在 RTC 2019實(shí)時(shí)互聯(lián)網(wǎng)大會(huì)上,聲網(wǎng)Agora AI 算法工程師周世付,分享了超分辨率應(yīng)用于移動(dòng)端實(shí)時(shí)音視頻場(chǎng)景下,遇到的難點(diǎn)、通用解決方法,以及解決思路。
近年來(lái),超分辨率(簡(jiǎn)稱(chēng)超分)在圖像增強(qiáng)、去噪、細(xì)節(jié)恢復(fù)、圖像放大方面展現(xiàn)出廣闊的應(yīng)用前景,成為計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn),受到學(xué)術(shù)界和工業(yè)界的關(guān)注和重視,業(yè)界也紛紛舉辦超分競(jìng)賽,比如優(yōu)酷的視頻超分競(jìng)賽、聲網(wǎng)的圖像超分競(jìng)賽和深圳市政府舉辦的AI+4K HDR競(jìng)賽,旨在吸引更多的人參與超分算法的研究和促進(jìn)超分算法的落地。因?yàn)槌炙惴ǖ拇笠?guī)模應(yīng)用落地還存在一些亟需解決的問(wèn)題。
移動(dòng)端實(shí)時(shí)超分的難點(diǎn)
目前,移動(dòng)端實(shí)時(shí)音視頻應(yīng)用目前存在的一個(gè)痛點(diǎn)問(wèn)題是傳輸?shù)囊曨l分辨偏低,而終端顯示屏的分辨率高,存在分辨率不匹配的問(wèn)題。實(shí)時(shí)傳輸?shù)囊曨l分辨率普遍偏低,是由于受到傳輸帶寬的限制和實(shí)時(shí)性的要求。低分辨率視頻不能有效的展現(xiàn)圖像細(xì)節(jié),因而帶來(lái)的用戶體驗(yàn)有限。為了解決傳輸視頻與終端顯示屏分辨率不匹配的問(wèn)題,通常的做法是將低分辨率視頻進(jìn)行放大。
傳統(tǒng)最常用的放大方法是插值法,如bicubic、nearest、bilinear等,優(yōu)點(diǎn)是速度快,但缺點(diǎn)也很明顯,即圖像放大后,圖像存在模糊、細(xì)節(jié)丟失的現(xiàn)象。
而隨著深度學(xué)習(xí)的出現(xiàn),基于深度學(xué)習(xí)的超分已經(jīng)成為了新的解決方案,也是學(xué)術(shù)界與工業(yè)界都在研究的方法。它能有效地恢復(fù)圖像的細(xì)節(jié),并保持圖像清晰度。但基于深度學(xué)習(xí)的超分算法在落地應(yīng)用的過(guò)程中,也面臨著挑戰(zhàn),主要表包括:(1)超分模型過(guò)大;(2)超分算法運(yùn)算復(fù)雜。
超分與Bicubic對(duì)比 目前學(xué)術(shù)界有兩個(gè)經(jīng)典超分模型SRGAN和ESRGAN,如下表 1 所示,我們列出了兩個(gè)模型的參數(shù)量和算法復(fù)雜度。SRGAN和ESRGAN的參數(shù)量分別達(dá)到150萬(wàn)和1600萬(wàn),所需要的存儲(chǔ)空間分別是6MB和63MB。對(duì)于移動(dòng)設(shè)備來(lái)說(shuō),模型太大,會(huì)占用過(guò)多存儲(chǔ)。
再看運(yùn)算復(fù)雜度方面。以360x480大小的圖像作為輸入,進(jìn)行4倍的放大,SRGAN和ESRGAN的運(yùn)算復(fù)雜度分別可以達(dá)到446GFLOPs和3100GFLOPs。而目前主流的手機(jī)iphone XR的gpu的運(yùn)算能力大約為500GFLOPs。由此可見(jiàn),目前的移動(dòng)設(shè)備的運(yùn)算能力,還無(wú)法實(shí)時(shí)運(yùn)行現(xiàn)有的超分模型,需要降低模型的算法復(fù)雜度和減小模型的體積,才能可能讓實(shí)時(shí)超分模型在移動(dòng)設(shè)備實(shí)時(shí)運(yùn)行。
如何降低算法復(fù)雜度與模型體積?
降低模型的算法復(fù)雜度和減小模型的體積的方法,通常是模型壓縮和模型加速。模型壓縮的目的,是通過(guò)減小模型中冗余的權(quán)重,去掉對(duì)模型性能貢獻(xiàn)小的分支,從而達(dá)到減小模型的參數(shù)量,降低模型的運(yùn)算量。而模型加速,則是側(cè)重降低卷積運(yùn)算的開(kāi)銷(xiāo),提高卷積運(yùn)算的效率,從而提高模型的運(yùn)行速度。模型壓縮和模型加速,是相輔相成的,通過(guò)合理的模型壓縮算法和模型加速算法的結(jié)合,能夠有效地減小模型體積和提高模型的運(yùn)算速度。
模型壓縮方法,可以分為權(quán)重優(yōu)化和模型結(jié)構(gòu)設(shè)計(jì)。權(quán)重優(yōu)化也可分為剪枝和量化。 剪枝,是將模型中冗余的權(quán)重去掉,以達(dá)到模型瘦身的目的。比如,Deep compression[1],通過(guò)權(quán)值剪枝、權(quán)值量化和權(quán)值編碼,能夠?qū)⒛P偷捏w積減小49倍。 權(quán)重量化,則將權(quán)值以低碼率進(jìn)行存儲(chǔ),從而減小模型的體積,比如,XNornet[2]模型,對(duì)輸入的featuremaps和權(quán)值均進(jìn)行二進(jìn)制量化,實(shí)現(xiàn)58x的模型壓縮和32倍的加速。
經(jīng)典的輕量級(jí)模型有suqeezenet[3]、mobilenet[4]和shufflenet[5]。他們從模型結(jié)構(gòu)設(shè)計(jì)角度來(lái)講,通常會(huì)采用小卷積核替代大卷積核,如用3x3替代5x5、7x7, 或者1x1替代3x3。在同等條件下,3x3的運(yùn)算是5x5、7x7的9/25、9/49,而且1x1是3x3的1/9。
模型加速方法,在convolution的基礎(chǔ)上,衍生出了depth-wise convolution、group convolution,point-wise convolution。在mobilenett模型中,大量使用了depth-wise convolution和point-wise convolution。而在shufflenet模型中,則采用了group convolution和point-wise convolution。
在以上的研究基礎(chǔ)之上,聲網(wǎng)也自研了超分算法。聲網(wǎng)的超分模型的體積,比mobilenet v2還要小。對(duì)360p的圖像進(jìn)行2倍的放大時(shí),其運(yùn)算復(fù)雜度小于2GFLOPs,可實(shí)現(xiàn)在移動(dòng)設(shè)備上的實(shí)時(shí)運(yùn)行。在運(yùn)算速度和超分效果實(shí)現(xiàn)較好的前提下,有效地提高移動(dòng)實(shí)時(shí)音視頻的用戶體驗(yàn)。
點(diǎn)擊這里查看RTC 2019大會(huì)演講 PPT 及視頻回放。
參考文獻(xiàn)
- Han S, Mao H, Dally W J, et al.Deep Compression: Compressing Deep Neural Networks with Pruning, TrainedQuantization and Huffman Coding[J]. arXiv: Computer Vision and PatternRecognition, 2015.
- Rastegari M, Ordonez V, RedmonJ, et al. XNOR-Net: ImageNet Classification Using Binary Convolutional NeuralNetworks[C]. european conference on computer vision, 2016: 525-542.
- Iandola F, Han S, Moskewicz MW, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and<0.5MB model size[J]. arXiv: Computer Vision and Pattern Recognition, 2017.
- Howard A G, Zhu M, Chen B, etal. MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications[J]. arXiv: Computer Vision and Pattern Recognition, 2017.
- Zhang X, Zhou X, Lin M, et al.ShuffleNet: An Extremely Efficient Convolutional Neural Network for MobileDevices[J]. arXiv: Computer Vision and Pattern Recognition, 2017.
