Achieving on-Mobile Real-Time Super-Resolution with Neural Architecture and Pruning Search
論文鏈接:http://arxiv.org/abs/2108.08910
用神經網路結構和剪枝搜索實作移動實時超解析度
目錄
Achieving on-Mobile Real-Time Super-Resolution with Neural Architecture and Pruning Search
?
摘要
一:引言
二:背景及相關作業
2.1.基于深度學習的SR初探
2.2.DNN模型修剪
2.3.移動設備上的DNN加速框架
2.4.動機
三:框架概述
四:超網結構
4.1.使用延遲模型確定單元數
4.2.超網訓練
五:架構和剪枝搜索
5.1.候選代
5.2.候選評估
六.剪枝率的確定
七.實驗
7.1.資料集
7.2.與最新技術的比較
7.3.在手機上搜索實時SR的結果
八:結論
摘要
盡管近年來隨著深度神經網路(DNN)的蓬勃發展,單影像超解析度(SISR)任務取得了顯著進展,但深度學習方法在實際應用中面臨著計算和記憶體消耗問題,特別是對于資源有限的平臺,如移動設備,為了克服這一挑戰并便于在移動設備上實時部署SISR任務,我們將神經結構搜索與剪枝搜索相結合,提出了一種自動搜索框架,該框架在滿足實時推理要求的同時,匯出具有高影像質量的稀疏超解析度(SR)模型,為了降低搜索成本,我們通過引入超網來利用權重共享策略,并將搜索問題分解為三個階段,包括超網構造、編譯器感知體系結構和剪枝搜索以及編譯器感知剪枝比率搜索,利用所提出的框架,我們是第一個實作實時SR推斷(每幀僅數十毫秒)的公司,用于在移動平臺(三星Galaxy S20)上實作720p解析度和具有競爭力的影像質量(PSNR和SSIM),
一:引言
近年來,人們對影像處理的要求越來越高,從而導致了超解析度技術的迅速發展,一般來說,超解析度技術的原理是將低解析度影像轉換成細節更清晰、資訊更豐富的高解析度影像,它已被用于各種應用,如犯罪現場分析以識別不明顯的證據,或用于更準確診斷的醫學影像處理,
隨著流媒體直播和視頻錄制的快速發展,視頻內容受到了廣泛的歡迎,然而,由于通信帶寬有限或顯示幕解析度較高,視頻的解析度通常較低,此外,直播通常有實時要求,即每幀的延遲不應超過閾值,因此,期望在本地實作視頻的實時SR,
與用于提高影像或視頻解析度的經典插值演算法相比,基于深度學習的SR可以通過學習外部資料集從低解析度影像到高解析度影像的映射來提供更高的視覺質量,盡管其優越的視覺性能,但基于深度學習的SR通常更昂貴,計算量大,功耗大(在強大的GPU上通常為數百瓦)[19,17,53],這給實時實作帶來了困難,此外,在實踐中,由于移動電話的廣泛傳播,SR通常部署在邊緣設備(如移動電話)上用于實時流媒體或視頻捕獲,因此邊緣設備上有限的記憶體和計算資源使得實作實時SR變得更加困難,
通常采用權重剪枝[60,22,26]來去除DNN中的冗余,以減少資源需求并加速推理,有多種修剪方案,包括非結構化修剪[23,22,20,44]、粗粒度結構化修剪[50,71,70,47,42]和細粒度結構化修剪[45,18,21],非結構化修剪移除任意權重,導致不規則的修剪權重矩陣和有限的硬體并行性,結構化剪枝維護剩余權重的完整矩陣格式,以便剪枝后的模型與GPU推理加速兼容,近年來,人們提出了細粒度結構化剪枝,包括基于模式的剪枝和基于塊的剪枝,以提供更細的剪枝粒度,從而在表現出更高精度的同時提高剪枝精度
我們認為,將目標設定在100毫秒以下可以合理地稱為實時[49],我們要求實時實施速度超過50毫秒,某些規則可以通過編譯器優化以提高硬體并行性,為了實作SR模型的推理加速,我們重點研究了傳統的結構化剪枝和細粒度結構化剪枝,
以前的作業通常對整個模型使用固定剪枝方案,由于不同的剪枝方案可以獲得不同的SR和加速性能,因此引入了一個新的優化維度來為每一層而不是整個模型尋找最合適的剪枝配置,此外,由于剪枝的性能取決于原始的未運行模型,因此搜索具有高SR性能的未運行起始模型也很重要,
在本文中,為了便于在邊緣設備上實時部署SR,我們提出了一個結合架構和修剪搜索的框架,以找到最合適的小區SR塊配置和分層修剪配置,我們的實作可以在移動設備上實作具有競爭性SR性能的實時SR推斷,我們將我們的貢獻總結如下:
-
我們提出了一個架構和剪枝搜索框架,以自動找到每個小區中SR塊的最佳配置和每個層的剪枝方案,從而在具有高影像質量的移動設備上實作實時SR,
-
在架構和修剪搜索之前,我們訓練超網為每個超網單元中的SR塊的所有可能組合提供訓練有素的未運行模型,因此,不需要為具有多個時代的每個組合訓練單獨的未運行模型,從而節省了大量的訓練作業,
-
與以往所有層的固定剪枝方案或所有單元的固定SR塊不同,我們自動為每個單元搜索最適合的SR塊,并為每個層搜索剪枝方案,為了降低復雜度,我們將剪枝率搜索解耦,并采用貝葉斯優化(BO)加速SR塊和剪枝方案搜索,
-
利用所提出的方法,我們是第一個在移動平臺(三星Galaxy S20)上實作實時SR推斷(每幀僅數十毫秒)以實作720p解析度和具有競爭力的影像質量(PSNR和SSIM),我們的成就促進了實時要求的各種實際應用,如實時流媒體或視頻通信,
二:背景及相關作業
2.1.基于深度學習的SR初探
SISR旨在從低解析度版本生成高解析度影像,SRCNN[16]首次提出將DNN用于SR任務,隨后的作業試圖通過更大的網路[33,41,68,67,14]來改善放大特性和影像質量,然而,SR模型是資源密集型的,這是因為維護或擴大了各層要素地圖的空間維度,因此,乘法累加(MAC)操作的數量通常以千兆位為單位,在功能強大的GPU上會導致較高的推斷延遲(每幅影像秒數),
為實際應用設計輕量級SR模型進行了多次嘗試,包括在網路末端使用上采樣算子[17,53],采用信道分割[31],以及使用更廣泛的激活[64],具體而言,作業[64]提出了WDSR-A和WDSRB塊,這是兩種具有高影像質量的最先進的SR構建塊,此外,受神經架構搜索(NAS)成功的啟發,最新的SR作業試圖通過利用NAS方法建立更高效、更輕量級的SR模型[12,54,37,13],但是提出的模型仍然太大,需要大量的資源,此外,他們不考慮實際的移動部署與有限的硬體資源,對于移動部署,PIRM挑戰[57]和MobiSR[38]的獲勝者是為數不多的在移動設備上的SR推斷方面取得進展的作業,但是延遲仍然遠遠不是實時的,每幀需要將近1秒的時間,
2.2.DNN模型修剪
權重修剪減少了DNN中的冗余,從而減少了存盤和計算,現有的剪枝方案可分為非結構化剪枝、粗粒度結構化剪枝和細粒度結構化剪枝,
非結構化修剪允許移除任意位置的權重[22,20,15],如圖1(a)所示,盡管精度很高,但其不規則權重矩陣與GPU加速度不兼容,粗粒度結構化修剪[60,27,26,65,28]保持剩余權重的結構化規則性,例如通道修剪修剪整個通道,如圖1(b)所示,其主要優點是保持了完整的矩陣格式,從而促進了硬體加速,然而,粗粒度結構化修剪通常會導致不可忽略的精度降低[59],
細粒度結構化修剪包括基于塊的修剪[18]和基于模式的修剪[51,45,21],它們結合了細粒度修剪的優點,同時維護了可以在編譯器幫助下用于硬體加速的結構,基于塊的修剪將DNN層的權重矩陣劃分為多個大小相等的塊,并將結構化修剪獨立應用于每個塊,如圖1(c)所示,基于模式的修剪是內核模式修剪和連接修剪的組合,如圖1(d)所示,內核模式修剪通過強制內核中的剩余權重形成特定的內核模式來移除權重,連接性修剪去除了整個冗余內核,是內核模式修剪的補充,以獲得更高的壓縮率,通過適當的修剪規則度,可以利用編譯器級代碼生成來實作高硬體并行性,

圖1,(a) 非結構化修剪;(b) 粗粒度結構化修剪(通道);(c) 細粒度結構化修剪(基于塊);(d)細粒度結構化稀疏性(基于模式),
2.3.移動設備上的DNN加速框架
關于移動DNN的推斷引起了工業界和學術界的許多興趣[35,36,61,32,63,25],具有代表性的DNN加速框架,包括Tensorflow Lite[1]、Alibaba MNN[2]、Pytorch Mobile[3]和TVM[10],旨在支持移動設備上的推理加速,這些框架中使用了幾種圖形優化技術,包括層融合、常數折疊和移動CPU和GPU上的運行時優化,但缺少的一點是,不支持用于進一步加速的稀疏(修剪)模型,最近,通過基于編譯器的優化來加速移動設備上基于模式的修剪模型[51,45],但當推廣到DNN層而不是3層時,它們會遇到困難×3個卷積(CONV)層,
But they suffer difficulties when generalized to DNN layers other than 3×3 convolutional (CONV) layers.
2.4.動機
最先進的SR方法利用巨大的DNN來追求高影像質量,導致極高的計算成本,因此,即使在功能強大的GPU上也很難實作實時SR,更不用順澩有限的移動設備了,但是,由于手機的普及以及視頻通信和流媒體直播應用對高解析度的要求,人們希望在手機上實作高影像質量的實時SR,SR模型通常由幾個級聯的SR塊組成,不同的塊具有不同的延遲性能,而不同的組合可以形成具有不同影像質量的各種SR模型,與此同時權重剪枝對于加速,每層可能更喜歡不同的剪枝方案,導致不同的精度和加速性能,例如,圖2顯示了在給定的3個樹上不同修剪方案的加速曲線3*3 CONV層,因此,需要找到最適合的SR塊組合和每層修剪方案和比率,以在滿足實時執行要求的同時獲得高影像質量,

找到滿意的網路架構和修剪配置太復雜,無法手動解決,因此,需要一種自動架構和修剪搜索方法[58],然而,直接在大空間中搜索是昂貴的,包括塊數(深度)、塊型別、每層修剪方案和每層修剪比率,因此,我們將搜索分解為幾個階段并分別求解,
三:框架概述
其目標是將架構搜索與剪枝搜索相結合,以找到稀疏SR模型,從而促進各種實際應用,如實時流媒體或視頻通信,稀疏SR模型應滿足實時推斷要求(每幀僅數十毫秒),以獲得高放大解析度,如720p(1280)×720)在移動設備上,通過最先進的方法獲得具有競爭力的影像質量,
搜索問題包括確定堆疊單元的數量、每個單元中所選塊的型別以及SR網路每層的修剪方案和修剪比率,在這樣的高維搜索空間中直接搜索在計算上是昂貴的,為了在時間和計算方面降低搜索成本,我們通過引入超網來利用權重共享策略,并將搜索問題分解為三個階段:1)超網構造,2)編譯器感知體系結構和剪枝搜索,以及3)編譯器感知剪枝比率確定,Supernet構造包括確定堆疊單元數量的Supernet初始化,以及為以下兩個步驟提供良好起點的Supernet訓練,然后,結合塊確定和對每個層執行修剪方案選擇,目標是通過編譯器優化,在滿足目標的同時,找到可設計的結構,使影像質量達到最大,具體來說,當?50ms,目標延遲滿足實時性要求,以下步驟是使用重加權動態正則化方法自動確定修剪比率,我們在圖3中展示了整個框架,
四:超網結構
在架構和剪枝搜索中,剪枝后模型(架構)的準確性在很大程度上取決于未運行的起始模型的準確性,為了獲得各種體系結構的經過良好訓練且具有滿意SR性能的起始模型,最簡單的方法是對每個新體系結構進行訓練,這通常需要花費大量的訓練作業,我們不需要分別訓練單獨的模型,而是訓練一個超網,這樣,對于任何新模型,我們都可以激活超網中相應的路徑,立即匯出訓練有素的未運行模型,而無需進一步努力從頭訓練每個新模型,因此,超級網可以顯著減少未運行模型的訓練時間,從而加快搜索速度,
超級網的架構如圖3(a)所示,我們用一個超級網對架構搜索空間a進行編碼,表示為S(a,W),其中W表示權重集合,超級網由N個堆疊的單元組成,每個單元包含K 個SR塊選擇,在我們的作業中,我們采用WDSR-A和WDSR-B作為塊選擇,它們是兩個具有高影像質量的高效SR塊,注意,我們的框架不受WDSR塊的限制,可以推廣到不同型別的SR剩余塊,每個SR block k in cell n 的輸出與下一個cell n +1中的所有SR塊連接,我們為每個超級網單元定義一個SR塊(WDSR-A或WDSRB)的選擇作為一個路徑段,路徑段的所有可能組合形成大小為k^N的架構搜索空間A,然后,一條路徑是所有單元的路徑段的集合,表示一個SR候選模型,在超級網計算期間,只有一條路徑被激活,而其他未選擇的SR塊不參與計算,
要構建超級網,有兩個必要的步驟:1)確定超級網的堆疊單元數并初始化超級網;2)對超級網進行全面訓練,為以下SR候選網搜索提供高影像質量和低開銷的良好起點,
4.1.使用延遲模型確定單元數
超級網的堆疊單元數量應事先確定,以確保SR候選模型具有滿足目標移動設備的潛力,SR中幾種廣泛使用的技術,如像素洗牌(也稱為亞像素卷積)和全域剩余路徑,通常難以優化和加速,導致固定的延遲開銷,此外,單元塊中的跳過(標識)連接結構導致難以減少的特定執行開銷,并且該開銷隨著堆疊塊的數量而累積,
為了確定堆疊單元的數量,我們建立了一個延遲模型,能夠快速準確地估計目標設備(例如三星S20智能手機)上的整體模型推斷延遲,延遲模型包含SR模型中使用的不同型別的層(例如,1)的推斷延遲的查找表×1 CONV,3×3 CONV,5×5 CONV、跳過連接和亞像素卷積),對于每種圖層型別,都會考慮幾種不同的設定,包括過濾器的數量以及輸入和輸出要素貼圖的大小,我們的延遲模型是CompilerWare,它是通過測量目標設備上的真實推理延遲并結合編譯器優化而構建的,關于編譯器優化技術的更多細節見附錄A,延遲模型構建時間可以忽略,因為不涉及任何訓練程序,并且構建程序可以與supernet訓練并行進行,我們只為特定設備構建一次,此外,在我們的延遲模型中,我們還包括了不同剪枝方案和剪枝比率下不同型別層的稀疏推理延遲,這將在剪枝搜索階段使用(更多討論見第5.1節),
(e.g., 1×1 CONV , 3×3 CONV ,5×5 CONV , skip connection, and sub-pixel convolution).
因此,可以通過累積從延遲模型查詢的每層延遲來估計目標設備上的總體推斷延遲,通過SR候選模型的目標延遲,可以確定合適的堆疊單元數,此外,將超網深度確定與候選SR模型的搜索空間解耦可以大大降低搜索復雜度,
4.2.超網訓練
在超級網初始化之后,下一步是訓練它的權重sw以最小化損失函式l(A,W),訓練有素的超級網為以下網路體系結構和修剪搜索提供了良好的起點,因為候選網路體系結構直接從超級網中的路徑w(a)繼承權重,請注意,超級網的權重應該以一種方式進行優化,即所有候選架構a2a和權重sw(a)都應該同時優化,然而,聯合優化架構引數a和模型引數SW(a)通常會帶來額外的復雜性,此外,它可能導致圖中的一些節點訓練良好,而其他節點訓練較差,從而導致對超網中不同成熟度的路徑進行不公平的比較,
為了緩解這一問題,我們采用了單路徑采樣&訓練策略來加速超網訓練的收斂,具體而言,對于每個培訓批次,我們僅激活和訓練一條隨機路徑,而跳過其他未選擇的SR塊,這樣,架構選擇和模型權重更新就解耦了,該策略是超引數自由的,每條路徑都是SR模型,為以下體系結構和修剪搜索提供了訓練有素的未運行起點,

圖3,框架概述,該框架由三個階段組成,以降低搜索成本:(a)第1階段:超級網構建,(b)第2階段:架構和修剪搜索,以及(c)第3階段:修剪比率確定,
五:架構和剪枝搜索
我們定義了每個體系結構和剪枝候選結構,為每個超級網單元選擇一個SR塊,并為每個層選擇剪枝方案,架構和剪枝搜索的目的是找到最佳的單元式SR塊選擇和層式剪枝方案配置,即,E具有最高影像質量且滿足目標延遲的候選物件,搜索包括兩個主要步驟:1)候選生成和2)候選評估,在每個迭代中,候選生成對體系結構和修剪候選進行采樣,并在候選評估程序中對其進行進一步評估,為了提高搜索效率,我們在候選體生成中采用基于進化的候選體更新,在候選體評估中采用BO來獲得最佳候選體,
5.1.候選代
5.1.1候選人抽樣
候選生成示例體系結構和從搜索空間修剪候選項,每個候選圖都是一個有向無環圖,表示按單元的SR塊選擇和按層剪枝方案選擇,對于每個supernet單元中的SR塊選擇,我們可以從WDSRA塊或WDSR-B塊中進行選擇,對于修剪方案,我們可以為每一層選擇通道修剪[60]、基于模式的修剪[45]或基于塊的修剪[18],不同于以前對所有層使用固定剪枝方案的作業,我們可以為不同的層選擇不同的剪枝方案,這也是我們的編譯器代碼生成所支持的,請注意,候選分類和候選網路體系結構之間的差異包括層間剪枝方案選擇,我們通過為每個可能的單元級塊選擇和層級剪枝方案選擇分配一個二進制特征來用一個二進制向量對每個候選進行編碼,指示是否采用塊或剪枝方案,
解耦剪枝率搜索,為了修剪模型,我們還需要配置對應于每個修剪方案的分層修剪比率,由于搜索每層的連續修剪比率值非常昂貴,在這一步中,我們只需將分層修剪比率設定為滿足目標延遲的最小值,因此,我們可以首先關注剪枝方案搜索,為了確定最小剪枝率,我們可以估計未運行模型t0和目標延遲YT的延遲,并獲得整個模型所需的最小加速比,即t0/t,為了滿足整體的加速比,我們只需要每一層達到這個最小的加速比0/t2,然后,根據延遲模型(詳見第4.1節)和分層加速,我們可以得到對應于每個剪枝方案的分層最小剪枝率,

5.1.2候選人更新
在每次迭代中,我們需要生成一個新候選池,為了提高候選更新的效率,采用了基于進化的候選更新方法,我們記錄所有被評估的候選人及其評估表現,為了產生新的候選,我們通過隨機改變一個隨機單元的一個SR塊或一個隨機層的一個剪枝方案來變異記錄中具有最佳評估性能的候選,具體來說,我們首先選擇具有最高評估性能的H個候選方案,并對每個候選方案進行迭代變異,直到衍生出新的C個方案,
我們發現SR模型中的每一層都有相似的計算量,因此,對每層采用相同的加速比是合理的,

5.2.候選評估
由于對每個候選模型進行修剪和重新訓練會產生很高的時間成本,因此采用BO[11]來加快候選評估,使用生成的candidates,我們首先使用BO來選擇具有潛在更好性能的B(B<C)表現可能更好的候選人,然后對選定的候選物件進行評估,以獲得準確的SR性能,而不對未選定的候選物件進行評估,通過這種方式減少了實際評估的候選人數量,
BO包括兩個主要部分,即:,E訓練神經預測器集合,并根據預測器集合啟用的采集函式值選擇候選物件,為了利用BO,神經預測器的集成為每個不可見的候選物件提供平均SR預測及其相應的不確定性估計,然后,BO能夠選擇使捕獲函式最大化的候選物件,我們在Algorithm1中展示了完整的演算法,并在下面指定了BO,
5.2.1帶神經預測器的貝葉斯優化神經預測器,
神經預測器是一種神經網路,根據當前被評估候選人的評估表現,對其進行反復訓練,以預測未看到候選人的獎勵,它是一個神經網路,由Adam優化器以0的學習率訓練,具有8個連續的全連接層,寬度為40,1對于訓練神經預測器的損失函式,采用平均絕對百分比誤差(MAPE),因為它可以為具有較高評價性能的候選人賦予更高的權重:

其中,m(i)pred和m(i)true分別是批次中第i個候選人的獎勵的預測值和真實值,mubis是最大真實獎勵的全域上界,注意,由于預測器的結構簡單,因此其訓練不會花費太多精力,

神經預測器的集合,為了納入BO,還需要對預測進行不確定性估計,因此,我們采用一組神經預測器來提供不確定性估計,更具體地說,我們使用不同的隨機權重初始化和訓練資料順序來訓練神經預測器,然后,對于任何候選項,我們都可以獲得批準的平均值和標準偏差,形式上,我們訓練一個預測因子集合,{fp}Pp=1,其中fp(g)為候選項提供預測獎勵,平均預測值及其偏差如下所示:

5.2.2基于幅度的剪枝評估
在從庫中選擇候選物件后,我們需要測量所選候選物件的性能,以更新神經預測因子,為了更快地評估,采用基于震級的修剪框架[23](包括修剪和再培訓兩個步驟)對候選資料進行實際修剪,以獲得其評估性能,請注意,可以并行評估多個候選項,一旦評估完成,他們的實際表現將被記錄下來作為參考,以便候選人生成可以對更好的候選人進行抽樣,
六.剪枝率的確定
在找到每個單元的最佳SR塊配置和每個層的剪枝方案后,我們采用剪枝率確定程序來推導合適的分層剪枝率,與之前的作業(例如,組Lasso正則化[60,27,43]或交替方向乘數法(ADMM)[66,52,39])不同,這些作業會遭受嚴重的精度損失或復雜的修剪比率調整,我們采用重加權組Lasso[9,46]方法自動確定分層修剪比率,基本思想是為每個權重或修剪模式分配一個懲罰,并動態地重新加權懲罰,更具體地說,在訓練(修剪)程序中,重新加權的方法減少了對更大幅度權重的懲罰,從而擴大了更關鍵的權重,并增加對較小量級重量的懲罰,從而減少可忽略的重量,收斂后,自動確定每個層所需的修剪比率,對于不同的修剪方案和層型別,可以采用重加權方法,我們在附錄B中給出了詳細的加權剪枝演算法
七.實驗
7.1.資料集
所有SR模型均在DIV2K[4]資料集的訓練集上進行訓練,共有800張訓練影像,為了進行評估,使用四個基準資料集Set5[6]、Set14[62]、B100[48]和Urban100[29]作為測驗集,并在YCbCr顏色空間的亮度通道(也稱為Y通道)上計算PSNR和SSIM指數,評估平臺和運行配置:培訓代碼使用PyTorch API實作,8個Nvidia TITAN RTX GPU用于執行架構和修剪搜索,我們訓練了20個預測因子的集合,并在每個步驟中并行評估了8個模型,因為我們從一個訓練有素的超級網開始,所以我們為每個經過一次修剪的候選模型重新訓練了2個時代,以便進行快速評估,搜索程序需要6個GPU天,延遲是在現成的三星Galaxy S20智能手機的GPU上測量的,該智能手機具有高通Snapdragon 865移動平臺、高通Kryo 585八核CPU和高通Adreno 650 GPU,每個測驗在不同的輸入上運行50次,CPU上有8個執行緒,GPU上有所有管道,由于不同的運行不會有很大差異,因此僅報告可讀性的平均時間,
7.2.與最新技術的比較
表1顯示了通過建議的框架獲得的SR模型與最新技術方法的比較,一些超大型號[68,67,14]可能需要幾秒鐘才能在大型GPU上放大一幅影像,因此,這些結果不包括在表1中,采用峰值信噪比(PSNR)和SSIM作為評價影像質量的指標,評估針對不同規模的任務進行,包括×2.×三,及×4.為了公平比較,我們從不同的低解析度輸入開始,但輸出具有相同的高解析度(720p–1280)×720). 為了進行全面的研究,我們為每個量表設定了不同的目標值,特別是,由于實時執行通常至少需要每秒20幀(FPS),因此我們采用t=50ms作為×2和×3個放大任務,t=40ms×4放大任務以獲得滿足實時推理要求的模型,如表1所示,當目標延遲YT=450ms時,我們的模型優于CARN-M和FALSR-C,具有更高的PSNR/SSIM,使用更少的MAC進行測驗×2upscaling,在t=150ms時,我們的模型比FSRCNN、MOREMNAS-C和TPSR-NOGAN具有更好的PSNR/SSIM,具有類似或更少的MAC,此外,與SRCNN和LapSRN相比,我們針對兩種不同目標延遲情況的兩種模型在更少MAC的情況下實作了更高的PSNR/SSIM,與ESRN-V、EDSR和WDSR相比,我們的模型在保持高PSNR/SSIM的同時,大大節省了MAC,特別是,我們甚至通過設定t=50ms獲得了滿足實時性要求的超輕模型,并且該模型仍然保持令人滿意的PSNR/SSIM,至于×4縮放任務,在四個資料集上,我們以目標延遲YT=120ms獲得的模型優于MACs、PSNR和SSIM的SRCNN、FSRCNN和FEQE-P,在目標latencyt=170ms的情況下,我們的模型在PSNR/SSIM方面優于基于DI和CARN-M的模型,具有類似或更少的MAC,此外,當t=40ms時,我們的模型在保持PSNR/SSIM競爭力的同時實作了實時推理,
7.3.在手機上搜索實時SR的結果
我們進一步檢查了SR模型在基于編譯器的優化的幫助下的實時性能,如圖5所示,與其他加速框架(包括MNN[2]和PyTorch Mobile[3])的實作相比,使用所提出的方法匯出的SR模型相同,我們的編譯器優化方法在各種規模下實作了最高的FPS,通過設定t=50ms獲得模型×2和×3和t=40ms×4.從圖5可以看出,我們提出的方法能夠滿足實時性要求,FPS高于20秒×2和×3,并且對于×4.MobiSR和FEQE-P也在移動設備上進行SR推斷,他們實作了2792ms和912ms的推理分別在移動GPU上的延遲,這與實時性要求相差甚遠,我們強調,我們是第一個實作實時SR推斷的公司(在以下情況下高于20 FPS)×2和×3人,25人×4) 用于在移動平臺(三星Galaxy S20)上實作720p解析度的放大和具有競爭力的影像質量(PSNR),

圖4,上與其他SR模型的視覺比較×4比例尺,模型引數和MAC列在模型名稱下,更多結果見附錄D,


7.4.在本研究中,我們分別研究了架構搜索和剪枝搜索的影響,對于×2擴大規模,架構搜索只實作37,Set5的峰值信噪比為84,略高于我們的,但由于剪枝并沒有減少計算量,因此推理速度很低(1.82 FPS),從WDSR塊開始,僅在t=150ms時修剪搜索將達到6,8fps,峰值信噪比較低(Set5為37.40),因此,我們可以看到剪枝搜索顯著提高了速度性能,而架構搜索有助于減輕由于剪枝而導致的SR性能損失,為了提高再現性并使用相同的框架評估加速,我們還使用開源MNN框架實作了我們的衍生模型和其他基線模型,包括CARN-M[31]和FSRCNN[17],我們比較了它們的PSNR和FPS性能,發現我們可以獲得比基線更高的FPS和PSNR,更多詳情見附錄E,
八:結論
我們將架構搜索與剪枝搜索相結合,提出了一種自動搜索框架,該框架可以在具有競爭性影像質量的移動設備上匯出滿足實時執行要求的稀疏SR模型,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394107.html
標籤:其他

