基於輕量級分類網絡的超高清視頻曝光度評估方法
2024-04-16 09:56:05 1
1.本發明屬於圖像視頻處理技術領域,更進一步涉及圖像視頻質量評估技術領域中的一種基於輕量級分類網絡的超高清視頻曝光度評估方法。本發明可應用於對超高清視頻曝光等級進行判斷,從而對視頻曝光質量進行客觀評估。
背景技術:
2.視頻拍攝過程中曝光不當會大大降低視頻的對比度和視覺吸引力,導致視頻質量整體下降。在短視頻行業中,許多視頻存在曝光失真,需要根據用戶對視頻曝光度的觀感質量應用不同的推送力度以及曝光增強手段;對於視頻監控來說,照明條件超出了相機的適應能力是很常見的,因此對採集到的視頻的曝光等級進行連續監測以確定其質量是十分必要的。目前,常用的確定圖像曝光等級的方法是完全基於攝影師經驗,這種方法雖然準確有效,但費時費力,在需要實時檢測超高清視頻曝光等級的系統中無法實現。因此有必要建立一種能夠客觀地、自動地、實時地評價超高清視頻曝光等級的方法。
3.中興通訊股份有限公司在其申請的專利文獻「圖像曝光度的評測方法及裝置」(申請日:2018年01月02日,授權公告號:cn 108257117 b,授權日:2022年06月28日)中公開了一種可用於超高清視頻曝光度的評測方法。該方法的實現步驟包括:收集大量不同曝光度的圖像,結合人工視覺判斷,將圖像分為欠曝、曝光適宜、過曝三種類別(class)標籤。訓練時,對於每張圖像採用三種不同尺度的特徵提取步驟,包括圖像整體偏度信息和兩次不同尺度的圖像分塊偏度值,級聯得到一個21維的特徵向量用以反映圖像曝光度程度,通過神經網絡訓練出回歸模型;檢測時,只需獲取待檢測圖像的偏度特徵,使用回歸模型分析該偏度特徵就可得到該圖像的曝光度標籤。該方法雖然考慮了圖像的全局和局部偏度信息,解決了相關技術中圖像曝光度評估準確率較低的問題,但是該方法仍然存在的不足之處有兩點:其一,只針對一般圖像曝光度進行無參考客觀度量,忽略了有強光弱光等突出光照影響的「非一般圖像」,影響超高清視頻圖像曝光度評估的準確度;其二,該方法的類別標籤只有欠曝、曝光適宜、過曝三種,等級較為粗略,在後續針對該視頻的操作如視頻曝光修正、視頻推送等實際應用中的指導不足。
4.同濟大學在其申請的專利文獻「一種圖像曝光度無參考質量評價方法」(申請日:2018年05月25日,授權公告號:cn 108401154b,授權日:2020年08月14日)中公開了一種可用於超高清視頻圖像曝光度的質量評價方法。該方法的實現步驟包括:建立圖像曝光度數據集,數據集中包含具有不同曝光等級的圖像及其相應的曝光度人工評分,以作為神經網絡訓練與測試集合。選擇高效的神經網絡模型googlenet、resnet、densenet、shufflenet改寫成為回歸模型,訓練上述神經網絡模型得到圖像曝光度評分模型。在測試時,將任意測試圖像輸入上述圖像曝光度模型,即可得到圖像曝光度客觀評價分數。該方法雖然建立了光照場景多樣的圖像曝光度數據集,提高了曝光度評估的泛化能力,但該方法仍然存在的不足之處是:對於超高清視頻圖像,該曝光度評價網絡在處理大解析度圖像時速度較慢,無法應用於需要實時檢測超高清視頻曝光等級的系統中。
技術實現要素:
5.本發明的目的在於針對上述現有技術的不足,提出一種基於輕量級分類網絡的超高清視頻曝光度評估方法,用於解決有強光弱光等突出光照影響的「非一般圖像」曝光度評估的準確度較低、曝光度類別標籤不夠細化以及超高清視頻無法實時評估這三個問題。
6.實現本發明目的的具體思路是:本發明通過收集大量不同曝光水平的超高清圖像組成訓練集,除了一般圖像外,還包括有強光弱光等突出光照影響的「非一般圖像」,這樣神經網絡可以學習到非一般圖像的曝光度特徵,能夠提高超高清圖像曝光度評估的準確度;本發明將超高清視頻圖像劃分為嚴重暗光、輕微暗光、曝光適宜、輕微過曝、嚴重過曝五個類別,細化了曝光度等級;本發明通過圖像下採樣和一個輕量級分類網絡實現超高清視頻實時評估,將超高清視頻的每一幀圖像經過下採樣後輸入到輕量級分類網絡中,輸出每一幀圖像的曝光度分類類別;在評估測試階段,本發明收集大量不同曝光水平的超高清視頻數據集組成測試集,測試集同樣包括了有強光弱光等突出光照的視頻,然後逐幀標註曝光度類別標籤,通過本方法在測試集上的評估準確率和處理速度作為評估其性能的指標。
7.本發明的具體步驟包括如下:
8.步驟1,生成含有五個曝光度類別的超高清圖像訓練集:
9.步驟1.1,從任意超高清多曝光數據集中選取至少200組圖像序列,每組多曝光圖像序列中包括不同曝光的至少5張超高清圖像;
10.步驟1.2,將圖像的曝光度劃分為嚴重暗光、輕微暗光、曝光適宜、輕微過曝、嚴重過曝五種類別,嚴重暗光、輕微暗光、曝光適宜、輕微過曝、嚴重過曝分別標註為0、1、2、3、4的類別索引;
11.步驟1.3,將步驟1.1選取的所有超高清圖像及其對應的曝光度類別標籤組成訓練集;
12.步驟2,構建輕量級分類網絡:
13.步驟2.1,構建輕量級分類網絡中的卷積模塊;該模塊包括卷積輸入層、兩個卷積層和一個concat層,其中,第一卷積層和第二卷積層並聯後跨接在卷積輸入層和concat層之間;將卷積輸入層的卷積核大小設置為1
×
1,步長為1,激活函數採用relu實現;第一、第二卷積層的卷積核大小分別設置為1
×
1和3
×
3,步長均設置為1,激活函數均採用relu實現,concat層的拼接維度為一維;
14.步驟2.2,構建輕量級分類網絡,其結構依次為:第一卷積層、第一最大池化層、第一卷積模塊、第二卷積模塊、第三卷積模塊、第二最大池化層、第四卷積模塊、第五卷積模塊、第六卷積模塊、第七卷積模塊、第三最大池化層、第八卷積模塊、第二卷積層、自適應平均池化層、全連接層;
15.設置網絡的各層參數如下:
16.將第一、第二卷積層的卷積核大小分別設置為7
×
7、1
×
1,步長分別設置為2、1,輸入通道數分別設置為3、1,輸出通道數分別設置為96、1000;
17.將第一至第三最大池化層的池化核大小均設置為3
×
3,步長均設置為1,填充均設置為0,膨脹係數均設置為1;
18.將自適應平均池化層的池化參數設置為1
×
1;
19.將全連接層輸入神經元的個數設置為1000,輸出神經元的個數設置為5;
20.所述第一至第八卷積模塊的結構均與步驟2.1的卷積模塊相同,其內部的輸入卷積層的輸入通道數依次設置為:96、128、128、256、256、384、384、512,輸出通道數依次設置為:16、16、32、32、48、48、64、64;將第一至第八卷積模塊內部的第一卷積層設置輸入通道數依次設置為:16,16,32,32,48,48,64,64,輸出通道數依次設置為:64、64、128、128、192、192、256、256;將第一至第八卷積模塊內部的第二卷積層的輸入通道數依次設置為:16,16,32,32,48,48,64,64,輸出通道數依次設置為:64、64、128、128、192、192、256、256;
21.步驟3,訓練輕量級分類網絡:
22.步驟3.1,對訓練集中的每張圖像下採樣至224
×
224;
23.步驟3.2,使用隨機梯度下降法對輕量級分類網絡進行迭代訓練:在每個訓練周期中,首先將下採樣後的訓練集按批處理大小分批次輸入到網絡輕量級分類中進行前向傳播,利用多分類交叉熵損失函數計算輸出值與目標值的損失值,再使用求解器結合學習率進行反向傳播,更新網絡參數的權值;訓練多個周期直至多分類交叉熵損失函數收斂為止,將最後更新的權值賦值給輕量級分類網絡,得到訓練好的輕量級分類網絡;
24.步驟4,對超高清視頻的曝光度進行逐幀評估:
25.步驟4.1,對待評估的超高清視頻的每一幀圖像下採樣至224
×
224;
26.步驟4.2,將下採樣處理後的視頻逐幀輸入到訓練好的輕量級分類網絡中,輸出每一幀圖像的曝光度評估類別。
27.與現有技術相比,本發明具有以下優點:
28.第一,由於本發明生成的訓練集含有不同曝光水平的超高清圖像,除了一般圖像外,還包括有強光弱光突出光照影響的「非一般圖像」,涵蓋了多種光照場景和內容場景,對網絡進行訓練時,構建的輕量級分類可以學習到了更豐富的光照分布情況,克服了現有技術對有強光弱光等突出光照影響的「非一般圖像」曝光度評估準確度差的不足,使得本發明大大提高了超高清視頻圖像曝光度評估的準確度。
29.第二,由於本發明將訓練集曝光度細分為嚴重暗光、輕微暗光、曝光適宜、輕微過曝、嚴重過曝五個類別,訓練好的輕量級分類網絡學習到了不同曝光等級的不同特徵,克服了現有技術曝光度類別標籤不夠細化的缺陷,使得本發明在客觀評估超高清視頻曝光質量時的結果更加精確細緻。
30.第三,由於本發明在提取曝光特徵時,對圖像進行了下採樣操作,下採樣操作大大減小了超高清視頻圖像輸入到網絡中的解析度,縮短了神經網絡的運算時間,使得訓練好的輕量級分類網絡進一步加速了運算,克服了現有技術在處理大解析度圖像時速度較慢、無法應用於實時檢測超高清視頻曝光等級的系統中的不足,使得本發明能夠對大解析度圖像曝光度進行快速評估,提高了超高清視頻圖像的評估效率。
附圖說明
31.圖1為本發明實施例實現的流程圖。
32.圖2為本發明構建的輕量級分類網絡的結構示意圖。
具體實施方式
33.下面結合圖1和實施例,對本發明做進一步的詳細描述。
34.步驟1,建立超高清圖像曝光度數據集作為訓練集。
35.步驟1.1,本發明的數據集從多曝光數據集sice(single image contrast enhancer)中採集,該數據集中包含多組多曝光超高清圖像序列,場景多樣,從sice數據集中任意挑選多組圖像序列,包含:圖像序列內容涵蓋人物、植物、動物、海洋、天空、建築的「一般圖像」以及有強光弱光等突出光照影響的「非一般圖像」,再從每組多曝光圖像序列中隨機選取多張不同曝光度的圖像,本發明實施例挑選了250組多曝光圖像序列,每組中挑選8張不同曝光度的圖像,故從sice數據集中挑選了共2000張具有不同曝光度的超高清圖像。
36.步驟1.2,本發明的實施例組織了8名標註人員對步驟1.1的訓練集標註曝光度類別標籤,實施例在光線充足的環境下進行,使用windows系統自帶的圖片查看器,顯示器解析度為1920
×
1080,每位評價人員對顯示屏中展示的圖片進行曝光等級選擇,等級為嚴重暗光、輕微暗光、曝光適宜、輕微過曝、嚴重過曝五個類別,分別對應類別索引0、1、2、3、4。
37.步驟1.3,對於每張圖像,選取多數標註人員認同的圖像曝光等級作為該圖最終的曝光度類別標籤。
38.步驟1.4,將步驟1.1選取的所有超高清圖像及其對應的曝光度類別標籤組成訓練集。
39.步驟2,構建輕量級分類網絡。
40.參照圖2,對本發明的輕量級分類網絡做進一步描述。
41.步驟2.1,構建一個卷積模塊,該模塊包括卷積輸入層、兩個卷積層和一個concat層,其中,第一卷積層和第二卷積層並聯後跨接在卷積輸入層和concat層之間。
42.卷積模塊的前向傳播過程為:特徵向量經過卷積輸入層運算後,分別輸入到第一卷積層和第二卷積層中,兩個卷積層輸出兩個通道數相同的特徵向量,這兩個特徵向量再經過concat層進行通道拼接後輸出一個特徵向量。
43.使用pytorch設置卷積模塊各層參數為:將卷積輸入層的卷積核大小設置為1
×
1,步長為1,激活函數採用relu實現;第一、第二卷積層的卷積核大小分別設置為1
×
1和3
×
3,步長均設置為1,激活函數均採用relu實現,concat層的拼接維度為一維。
44.步驟2.2,構建輕量級分類網絡,其結構依次為:第一卷積層、第一最大池化層、第一卷積模塊、第二卷積模塊、第三卷積模塊、第二最大池化層、第四卷積模塊、第五卷積模塊、第六卷積模塊、第七卷積模塊、第三最大池化層、第八卷積模塊、第二卷積層、自適應平均池化層、全連接層。
45.輕量級分類網絡的前向傳播過程為:輸入圖像輸入第一卷積層提取特徵後,首先通過第一最大池化層和三個串聯的卷積模塊,然後通過第二最大池化層和四個串聯的卷積模塊,之後通過第三最大池化層和一個卷積模塊,最後依次輸入到第二卷積層、自適應平均池化層和全連接層,輸出五分類向量。
46.設置網絡的各層參數如下:
47.將第一、第二卷積層的卷積核大小分別設置為7
×
7、1
×
1,步長分別設置為2、1,輸入通道數分別設置為3、1,輸出通道數分別設置為96、1000。
48.將第一至第三最大池化層的池化核大小均設置為3
×
3,步長均設置為1,填充均設置為0,膨脹係數均設置為1。
49.將自適應平均池化層的池化參數設置為1
×
1。
50.將全連接層輸入神經元的個數設置為1000,輸出神經元的個數設置為5。
51.所述第一至第八卷積模塊的結構均與步驟2.1的卷積模塊相同,其內部的輸入卷積層的輸入通道數依次設置為:96、128、128、256、256、384、384、512,輸出通道數依次設置為:16、16、32、32、48、48、64、64;將第一至第八卷積模塊內部的第一卷積層設置輸入通道數依次設置為:16、16、32、32、48、48、64、64,輸出通道數依次設置為:64、64、128、128、192、192、256、256;將第一至第八卷積模塊內部的第二卷積層的輸入通道數依次設置為:16、16、32、32、48、48、64、64,輸出通道數依次設置為:64、64、128、128、192、192、256、256。
52.步驟3,訓練輕量級分類網絡。
53.步驟3.1,配置訓練環境,安裝網絡訓練所需要的python庫。
54.步驟3.2,設定訓練超參數,本實施例中批處理大小batchsize設置為16,初始學習率lr設置為0.001,權重衰減規則設置為每35個訓練周期學習率
×
0.1,求解器選擇sgd,訓練周期epoch設置為80。
55.步驟3.3,對訓練集中的每張圖像下採樣至224
×
224。
56.步驟3.4,使用隨機梯度下降法訓練輕量級分類網絡:每個訓練周期中,首先將下採樣後的訓練集按批處理大小分批次輸入網絡中進行前向傳播,計算輸出值與目標值的損失值。然後求解器sgd結合學習率lr進行反向傳播,更新網絡權重。訓練至損失函數收斂,將最後更新的權值賦值給輕量級分類網絡,得到訓練好的輕量級分類網絡。
57.所述訓練中損失函數l為多分類交叉熵損失函數:
[0058][0059]
其中,l表示損失值;i表示每個訓練批次中圖像的索引值;n表示批處理大小,本發明實施例中n設置為16;j表示曝光度分類的類別索引值;m表示曝光度分類的總類別,本發明實施例中m設置為5;y
ij
為0或1,如果每個訓練批次中第i個圖像的真實曝光度類別等於第j個曝光度類別,y
ij
為1,否則,y
ij
為0;p
ij
表示每個訓練批次中網絡輸出的第i個圖像的曝光度類別等於第j個曝光度類別的概率。
[0060]
步驟4,對超高清視頻的曝光度進行逐幀評估。
[0061]
步驟4.1,對待評估的超高清視頻的每一幀圖像下採樣至224
×
224。
[0062]
步驟4.2,將下採樣處理後的視頻逐幀輸入到訓練好的輕量級分類網絡中,輸出每一幀圖像的曝光度評估類別。
[0063]
下面結合仿真實驗對本發明的效果做進一步的說明:
[0064]
1.仿真實驗條件:
[0065]
本發明的仿真實驗的硬體平臺為:cpu為intel i9 9820x,內存16gb,gpu為gtx 1080ti;
[0066]
本發明的仿真實驗的軟體平臺為:linux作業系統和python 3.8;
[0067]
2.仿真內容及其結果分析:
[0068]
本發明的仿真實驗通過隨機設置手機的曝光度,拍攝了180個測試視頻,每個視頻時長10秒,幀率30fps,解析度包括720p、1080p、2k、4k,每個視頻有鏡頭移動,使得10秒內有光線和場景的過渡,以檢驗本發明構建的輕量級分類網絡對於光線和場景的過渡是否能準
確評估其曝光度。按照與本發明上述步驟1.2和步驟1.3相同的方法,逐幀標註每個圖像的曝光度類別標籤。將180個測試視頻中所有圖像及其對應的曝光度類別標籤組成視頻曝光度測試集。
[0069]
採用與本發明上述步驟4相同的方法,對本發明的仿真實驗建立的視頻曝光度測試集中的每一個視頻的曝光度進行評估,計算測試集的平均曝光度評估準確率,得到本發明所構建的輕量級分類網絡,在視頻曝光度測試集的5個曝光類別上的預測準確率,如表1所示。
[0070]
採用與本發明上述步驟4相同的方法,對解析度為720p、1080p、2k和4k的視頻的曝光度進行評估,利用python的time函數,計算不同解析度視頻平均一幀圖像的評估用時,得到本發明所構建的輕量級分類網絡在不同解析度視頻上的處理速度,如表2所示。
[0071]
表1視頻曝光度測試集預測準確率一覽表
[0072]
類別準確率類別0:嚴重暗光0.9873類別1:輕微暗光0.9467類別2:曝光適宜0.9878類別3:輕微過曝0.9548類別4:嚴重過曝0.9675
[0073]
表2網絡在不同解析度視頻上的處理速度一覽表
[0074][0075][0076]
由表1和表2可見,本發明可以兼顧曝光度評估的準確率和處理速度,且均達到了較好的效果:本發明構建的輕量級分類網絡在超高清視頻測試集五個等級的曝光度評估中準確率都在94%以上,且在超高清視頻上每幀視頻圖像處理時間只需要0.061秒,說明了本發明能夠對大解析度視頻圖像曝光度進行準確快速評估,提高了超高清視頻圖像的評估效率。