源自:應用光學
作者:苗德鄰, 劉磊, 莫涌超, 胡朝龍, 張益軍, 錢蕓生.
“人工智能技術與咨詢” 發(fā)布
摘要
為了實現(xiàn)夜間低照度圖像的增強,提高目標檢測模型在夜間低照度條件下的檢測精度并減小模型的計算成本,提出了一種基于知識蒸餾和數據增強的夜間低照度圖像增強以及目標檢測多任務模型,基于高質量圖像模型進行知識蒸餾,利用高質量圖像的特征信息指導模型訓練,從而使模型在夜間低照度圖像中提取到與高質量圖像類似的特征信息。利用這些特征信息可以實現(xiàn)圖像的對比度增強、去噪以及目標檢測。實驗結果表明,提出的蒸餾方法可以提升16.58%的夜間低照度目標檢測精度,且用該方法增強的圖像可以達到主流的基于深度學習的圖像增強的效果。
關鍵詞
低照度圖像 增強目標檢測 深度學習 知識蒸餾
引 言
近些年來隨著深度學習理論的發(fā)展以及計算機計算性能的提升,目標檢測和追蹤技術已經廣泛應用于智能監(jiān)控、自動及輔助駕駛、信息安全系統(tǒng)等諸多領域;但是這些技術在現(xiàn)實環(huán)境下仍然面臨很多問題,由于圖像通常無法在最優(yōu)的光條件下獲取,往往會受到不可避免的環(huán)境因素如背光、非均勻照明、夜間微光等,以及技術限制如不足的曝光時間和過低的增益等影響,這類圖像的視覺質量較差,目標檢測和識別的精度遠低于高質量圖像。考慮到大多數目標檢測模型都是基于高質量圖像數據進行訓練和測試的,如RCNN(region convolutional neural network)[1]、 YOLO(you only look once)[2]、SSD(single shot multi-box detector)[3]等,采用先對原始低照度圖像進行圖像增強的方式提高目標檢測的精度是一種最簡便的方式。LLNet(low-light net)[4]、MBLLEN(multi-branch low-light enhancement network)[5]等端到端的低照度圖像增強工作已經證明了利用神經網絡提升低照度圖像質量的可能性。同時,學者們也注意到Retinex模型在傳統(tǒng)的低照度圖像增強以及圖像去霧中有著不俗的表現(xiàn),由此出現(xiàn)了基于利用神經網絡來估計Retinex中的照明分量以及反射分量的方法,如Retinex-Net[6]、LightenNet[7]等,都能起到很好的增強效果以及自適應性。為了實現(xiàn)神經網絡的泛用性,很多研究者采集構建了一系列低照度場景數據集,包括SID(see-in-the-dark)[8]、 LOL(low-light)[9]等。除此之外,基于非匹配數據和非監(jiān)督學習的方法也被應用在低照度圖像增強中,如EnlightenGAN(enlighten generative adversarial networks)[10],還有一些基于零樣本學習的方法,例如zero-DCE(zero-reference deep curve estimation) [11]等,這種方法具有很低的數據成本以及極高的訓練和推理速度。
上述低照度圖像增強模型主要以人為的標準進行優(yōu)化,即使在一些圖像評價指標上表現(xiàn)出色,也很難對下游的目標檢測任務起到很好的精度提升效果。不僅如此,先增強后檢測的方法還會增加在邊緣設備上部署的計算力需求。受到KRUTHIVENTI S S S等人[12]和QI L等人[13]的啟發(fā),本文提出了一種新的基于知識蒸餾的目標檢測網絡訓練方法,不同于一些典型的知識蒸餾算法通過蒸餾大模型的知識來訓練小模型[14],該方法通過構建一組像素級對齊的高質量和低照度圖像對數據集,利用高質量圖像的特征信息指導網絡模型學習從相應的低照度圖像中提取類似的信息,可以有效提高在夜間低照度環(huán)境或其他復雜條件下的低質量圖像的目標檢測精度。為了便于人眼對目標檢測結果進行觀察,本文創(chuàng)新性地在原有的目標檢測網絡模型框架上,引入了用于圖像增強的增強解碼器,其主要作用是利用目標檢測主干網絡的特征恢復出高質量圖像,最終可以在一個模型上同時實現(xiàn)圖像的增強和目標檢測。
1. 基于知識蒸餾的低照度圖像增強和目標檢測算法
本文設計了一種結合目標檢測和低照度圖像增強的神經網絡結構,可以巧妙地將目標檢測和圖像增強的算法集合在同一個卷積神經網絡模型中。模型整體可以分為3部分:負責提取圖像特征信息的主干網絡;通過提取的多尺度特征進行圖像重建的低照度增強解碼器;識別圖像特征信息并判斷圖像中目標位置和類別的目標檢測模塊。圖1展示了教師網絡和學生網絡的網絡結構以及蒸餾的位置,其中教師網絡的輸入為高質量圖像,通過預訓練使教師網絡學習利用高質量圖像的特征信息進行目標檢測;學生網絡的輸入為低照度圖像,通過蒸餾教師網絡提取的高質量圖像的特征信息進行訓練,使學生網絡可以在低照度圖像上提取出類似于教師網絡在高質量圖像上提取的信息,并利用這些信息進行后續(xù)的目標檢測和圖像增強。由于目標檢測和圖像增強都需要利用主干網絡所提取的特征信息,類似于文獻[13]在特征金字塔上進行蒸餾的方法無法使學生網絡直接學習到教師網絡更淺層的特征信息,而這些淺層的信息對圖像的增強有很大作用[10],故為了通過知識蒸餾來實現(xiàn)多任務模型的訓練,最終選擇了在目標檢測主干網絡上進行蒸餾。
圖 1 圖像增強和目標檢測雙任務模型結構以及知識蒸餾示意圖
1.1 主干網絡結構
在目標檢測中,主干網絡通常用于提取輸入圖像的特征,而這一部分功能和上游的圖像分類網絡功能相近,往往會選擇成熟的圖像分類模型作為主干網絡。同時在底層視覺任務如圖像降噪,圖像超分辨率以及圖像復原等網絡模型中,往往會采用一種編碼器-解碼器的結構,即先對輸入圖像進行特征提取或者稱為編碼過程,然后根據各級特征進行恢復或者稱為解碼過程。其中編碼器往往會采用與圖像分類模型類似的結構,因此在目標檢測和圖像增強任務中使用同一個主干提取網絡是具有可行性的。
如圖1所示,主干特征提取網絡框架基于CSPDarknet主干網絡實現(xiàn),并采用了 YoloX[15]對CSPDarknet做出的一些改進,諸如采用聚焦(Focus)來對輸入圖像進行降采樣,通過調整CSPDarknet的卷積層深度和寬度實現(xiàn)更輕量化的網絡模型等。
CSPDarknet可以分成5個階段,每個階段分別提取出不同尺度的特征信息,對于一個分辨率為W×H 的輸入圖像而言,5個階段的輸出尺寸分別為W/2×H/2、W/4×H/4、W/8×H/8、W/16×H/16、W/32×H/32 。在目標檢測網絡中,最后3個階段的輸出會作為目標特征進行多尺度特征金字塔融合,而對于圖像增強,我們并不需要遠小于原始分別率的圖像特征,通常只會利用前3個階段的輸出結果進行解碼恢復。綜合而言,只需要保證學生網絡第3階段的輸出與教師網絡相似,就可以很大程度上實現(xiàn)對教師網絡的蒸餾。
1.2 低照度增強解碼器
與目標檢測不同,圖像復原模型并不是一個概率模型,所需要的特征信息相較于目標檢測任務也更多,僅通過一個尺度的特征信息生成的圖像無法滿足需求?;赨-net[16]架構的圖像增強模型在各個底層視覺任務中都有優(yōu)秀的表現(xiàn),因此基于U-net的結構設計了低照度增強解碼器。
如圖2所示,圖像增強模塊利用了主干網絡中的前3個階段的特征圖,其尺寸分別為W/2×H/2 、W/4×H/4 和W/8×H/8 。整體采用了類似U-net的網絡結構,通過跳躍連接將不同尺度的特征信息進行融合,并通3個上采樣以及卷積層將圖像的重建為W×H×3 的RGB(red-green-blue)圖像。其中上采樣操作由若干個殘差塊以及一個反卷積構成,具體結構如圖2(b)所示,殘差塊的主體部分由兩個3×3卷積層構成,殘差邊不做任何處理,直接將殘差塊的輸入和輸出相加得到結果。經過若干次殘差塊后,經過一次3×3的反卷積進行上采樣,得到分辨率翻倍、通道數減半的輸出結果。在經過上采樣塊處理后,輸出結果與主干網絡中尺度相對應的特征層進行相加,作為下一個上采樣塊的輸入。經過3次上采樣后,特征張量通過一次3×3卷積輸出一個通道數為3的RGB圖像。
圖 2 低照度圖像增強模塊結構圖
1.3 目標檢測網絡結構
目標檢測結構由空間金字塔網絡(SPN) [17]、特征金字塔網絡和解耦目標檢測頭構成??臻g金字塔用于在低尺度下生成并融合不同尺度的特征,特征金字塔主要用于融合主干特征提取網絡不同尺度的特征,使目標檢測頭能從多尺度多語義層次的信息中進行檢測,以達到更好的檢測精度。不同于標準YoloX模型的FPN(feature pyramid network)特征金字塔網絡,本文采用了PAN(path aggregation network)特征金字塔[18],不僅通過低尺度特征信息上采樣融合到高尺度特征上,還通過下采樣將高尺度信息往低尺度上融合。
檢測部分采用無錨點的目標檢測方法,且將分類和回歸的任務進行解耦,不再通過先驗知識設定錨點框輸出預測框相對于錨點框的位置和形狀偏移,而是直接預測相對于每個網格的位置偏移以及預測框的高度和寬度。
1.4 多任務訓練的損失函數
本文方法涉及到的損失函數包含3部分,目標檢測損失、圖像增強損失以及知識蒸餾損失。其中目標檢測部分和YoloX一樣由3個部分組成,預測框區(qū)域損失、目標置信度損失以及目標類別損失。
預測框區(qū)域損失,即獲取到每個框對應的特征點后,取出該特征點的預測框,利用真實框和預測框計算IoU(intersection over union)損失:
(1)
(2)
式中Bpre和Bgt 分別代表預測框和真實框的區(qū)域。
目標置信度損失和目標類別損失的表示形式是相同的,即:
(3)
式中:Ppre 和Pgt 分別代表預測的概率和真實的概率;w 為每個類別損失函數的權重。
對于圖像增強等底層視覺任務,最常使用的是L1 距離或者L2 距離損失。L1 損失在對于輸入和輸出差距較大時不會有過大的梯度,在圖像降噪任務中應用廣泛,而L2 損失常出現(xiàn)在圖像超分辨率以及圖像復原任務中。低照度圖像增強既要進行圖像信息的恢復,也要想辦法去除圖像中的噪聲,因此本文采用結合兩種損失函數優(yōu)點的smoothL1損失作為圖像增強目標的損失函數,即:
(4)
式中:y為參考圖像;x為模型增強后的圖像。由于學生網絡和和教師網絡采用的是完全相同的網絡結構,對于兩個網絡而言,每一層對應的特征層輸出的尺度是完全相同的。因此,無需對兩個網絡的特征層進行任何其他處理,只需要求兩個特征層輸出的距離即可。最小化教師網絡和學生網絡特征層差異可以表示為最小化以下函數:
(5)
式中
和
分別代表教師網絡和學生網絡特征金字塔的輸出特征張量。通過這種簡單的損失函數可以使學生網絡和教師網絡在不同尺度的特征層都以相同的程度趨于一致,然而考慮到教師網絡和學生網絡輸入圖像特性的差異,本文采用了一種針對不同尺度特征進行調整的損失函數進行優(yōu)化,對于靠近輸入端的特征層,采用更低的優(yōu)化權重,即:
(6)
最終的損失函數可以表示為
(7)
2. 實驗評估
2.1 數據集的構建
若想實現(xiàn)高質量正常照度目標檢測知識向低照度低信噪比目標檢測的遷移,就必須獲得完全對齊的高質量正常照度目標圖像和低信噪比低照度目標圖像對。本文采用生成對抗網絡以及低照度下均勻面真實噪聲疊加的方式進行數據對的構造。
通常可以認為一幅圖像是由圖像信號和無關的噪聲組成的,即:
(8)
式中:Ii,j 為圖像;si,j 為信號;ni,j 為噪聲。一般情況下,信號的大小是大于噪聲的大小的。但對于低照度下的均勻面而言,相比一個頻率很低的低頻信號,圖像可以看作是以信號為均值上下波動的一個隨機過程。這種情況下,si,j 可以通過均值濾波提取低頻的方式得到,然后將噪聲的均值調整為0,最終提取出來的噪聲可以表示為
(9)
最后利用非匹配的低照度圖像數據集以及正常高質量圖像數據集對循環(huán)生成對抗神經網絡(cycle generative adversarial networks,CycleGAN)[19]進行訓練,得到一個能夠將正常照度圖像轉換為具有夜間低照度特性的圖像的生成器G(x) 。將從均勻面上提取出來的噪聲疊加在生成的低照度特性圖像上就得到了訓練所需要的低照度-高質量目標檢測圖像對數據集。
(10)
2.2 訓練環(huán)境
CycleGAN具有獨特的循環(huán)訓練機制,可以實現(xiàn)非匹配的數據集之間的相互轉換。為了訓練出可以將正常高質量圖像轉換為具有夜間低照度特性的圖像,本文采集了1 550張包含行人、車輛等目標的真實夜間低照度圖像,同時在ImageNet[20]和COCO數據集中收集了大量高質量的正常照度圖像2 480張。利用這些夜間低質量圖像數據集和收集到的高質量圖像組成非匹配的數據集,對CycleGAN網絡進行訓練。利用訓練得到的高質量圖像-夜間低照度圖像轉換模型和公開的PASCAL VOC目標檢測數據集,生成了共9 963組帶標簽的夜間低照度-正常高質量圖像對。
同時,為了降低圖像的信噪比,對夜間的地面、墻體等均勻面場景進行采集,構建了共10組不同照度分辨率為1 920×1 080像素的均勻面圖像視頻序列,然后從這些視頻中隨機提取噪聲疊加到生成的9 963組圖像對中,將這9963組數據中的三分之一即共2 989對圖像劃分為驗證集,其余6 974對圖像劃分為訓練集。
訓練過程分為3步,首先利用原始高質量的PASCAL VOC數據集訓練教師網絡,然后利用知識蒸餾的方式對學生網絡的主干網絡和目標檢測網絡進行200輪的訓練,學習率為2×10?4,且采用余弦退火法進行學習率的下降。隨后凍結主干網絡,利用圖像對對低照度圖像增強解碼器進行訓練50輪,學習率為1×10?4 ,然后進行學習率線性下降至0的方法再次訓練50輪。本次實驗基于Nvidia RTX 2080Ti GPU進行訓練。
2.3 圖像增強效果
本文通過在真實低照度數據集LOL數據集上的峰值信噪比(peak signal-to-noise ratio,PSNR)和結構相似度(structural similarity,SSIM)指標來驗證網絡模型在低照度圖像增強任務上的效果,同時利用自然圖像質量評價器(natural image quality evaluator,NIQE) [21]對比驗證模型在真實低照度場景下的增強效果,其中NIQE值越低代表圖像質量評價越高,PSNR和SSIM值越高代表圖像越接近參考圖像。進行對比的方法包括EnlightenGAN、Zero-DCE以及CycleGAN,結果如表1所示。
表 1 不同方法的圖像質量評價
從對比結果來看,本文的方法在NIQE指標上接近EnlightenGAN的水平,且明顯超過了Zero-DCE和CycleGAN的效果,同時該方法在PSNR和SSIM指標上均優(yōu)于EnlightenGAN。證明了該方法在低照度圖像增強上具有可行性。
本文還對4種方法處理的圖像質量進行了對比和主觀判斷,對比結果如圖3所示。其中第1列展示了原始的低照度夜間圖像,第2~5列分別為EnlightenGAN、Zero-DCE、CycleGAN以及本文方法處理的結果。
圖 3 不同方法的低照度圖像增強效果對比
可以看出,本文方法對夜間低照度圖像具有明顯的對比度和動態(tài)范圍增強以及降噪的效果。通過對比可以發(fā)現(xiàn),其余3種方法處理的結果都有較為明顯的噪聲殘留,而本文在構造的訓練數據集中疊加了真實的噪聲,可以使神經網絡模型具有一定的降噪效果。
2.4 檢測精度
為了驗證知識蒸餾對夜間低照度場景下的目標檢測精度提升的效果,采用本文所構建的驗證集中2 989張圖像以及公開的夜間低照度目標檢測數據集ExDark[22]中的2 194張夜間低照度圖像的平均精確度(mean of average precision, mAP)作為檢測精度的評估指標,并與正常照度下的精度以及未采用知識蒸餾的精度進行對比,其中mAP計算的IoU閾值為50%。結果如表2、圖4~圖5所示。
表 2 不同方法的目標檢測精度
圖 4 在真實低照度圖像數據集中的mAP指標測試結果
圖 5 低照度圖像增強和目標檢測測試結果
從測試結果整體上來看,采用知識蒸餾的方式可將在構造數據集下的夜間低照度目標的檢測精度提高16.58%,在真實數據集下的目標檢測精度提高18.15%,且對每一種目標的精度都有所提升,尤其是對車輛等交通工具的識別精度提升最大。在真實低照度圖像的測試中還發(fā)現(xiàn),一些小目標以及在光源附近的目標很容易出現(xiàn)漏檢的情況,這可能是由于訓練數據對中缺少真實燈光,尤其是多個光源場景下的數據所導致的。
3. 結論
本文設計了一種可以同時進行夜間低照度圖像增強以及目標檢測任務的神經網絡模型,合成構造了具有夜間低照度特性的圖像數據集,利用特征知識蒸餾的方式對網絡模型訓練。在數據集上的實驗表明,本文的方法具有可行性,能夠有效提升夜間低照度下的目標檢測精度,圖像增強效果也能夠達到甚至優(yōu)于一些主流方法。此外該方法還可以有效提升高噪聲低照度圖像的信噪比,產生對人眼視覺友好的增強圖像,多任務共享主干的結構還有效降低了計算成本。未來的工作將探索實現(xiàn)在利用高質量圖像訓練的大模型上進行低照度、小模型的蒸餾。利用對抗模型進行無監(jiān)督訓練也是進一步提升圖像質量的探索方向。
聲明:公眾號轉載的文章及圖片出于非商業(yè)性的教育和科研目的供大家參考和探討,并不意味著支持其觀點或證實其內容的真實性。版權歸原作者所有,如轉載稿涉及版權等問題,請立即聯(lián)系我們刪除。
“人工智能技術與咨詢” 發(fā)布
版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。