?

語義分割圖像自適應編碼方法

2020-11-05 08:53陳鴻翔梁晨光宮久路
探測與控制學報 2020年5期
關鍵詞:階數二進制算術

陳鴻翔,梁晨光,李 蒙,宮久路

(1.北京理工大學機電學院,北京 100081;2.北京宇航系統工程研究所,北京 100076;3.北京航天控制儀器研究所,北京 100039)

0 引言

語義分割是對圖像中的每個像素都標注出其所屬類別,實現圖像在像素級別上的分類[1]。語義分割是探測與識別的基礎性技術,主要用于紅外探測、雷達探測、目標識別與分類等任務,在無人系統、國防軍事等領域具有廣泛的應用[2-5]。語義分割圖像的存儲和傳輸都占用了較多資源,因此,需要對語義分割圖像進行高效無損壓縮。

圖像的語義分割結果一般表示為按類別劃分的多幅圖像,每幅語義分割圖像只包含其對應類別的像素,是一種二值圖像。常用的二值圖像無損壓縮方法主要為邊界編碼、混合編碼等,不同類型的二值圖像通常需要不同方法才能達到最好的壓縮效果。文獻[6]針對邊緣圖像利用Logistic回歸建立分類器對其進行自適應編碼,與邊緣打包法相比提高了壓縮比5%左右。文獻[7]針對圖形圖表類型的二值圖像提出了一種基于分割的編碼方法,將圖像的黑色區域分割為矩形,對每個矩形的頂點坐標進行編碼,該算法相比于其他分割方法平均效率提高了32%左右。不同于上述二值圖像,語義分割圖像中的目標像素均為同一種類別,多為連續分布,相鄰像素間具有很強的相關性,適于采用基于上下文的編碼方法。文獻[8]針對黑白散斑圖像設計了一種基于上下文的無失真編碼器,與JBIG相比,該編碼器的壓縮性能提高了58%左右。

本文針對語義分割圖像壓縮性能不足、占用資源較多的問題,提出了基于上下文與二進制算術編碼的自適應編碼方法。

1 二進制算術編碼與上下文模型

二進制算術編碼是一種熵編碼方法,其基本原理是根據符號出現概率將輸入序列轉化為[0,1)之間的一個區間[C,C+A),并將該區間中的一個值作為最終的編碼輸出。

二進制算術編碼輸入序列中的符號分為大概率符號(more probable symbol,MPS)和小概率符號(less probable symbol,LPS),并根據實際情況進行調整。如果當前輸入的二進制序列中的0較多,1較少,那么MPS為0,LPS為1;否則MPS為1,LPS為0。若當前編碼符號為MPS,則二進制算術編碼迭代公式為:

(1)

若當前編碼符號為LPS,則二進制算術編碼迭代公式為:

(2)

式(1)和式(2)中:C表示區間索引,初始化為0;A表示區間間隔,初始化為1;P表示LPS在當前已輸入序列中出現的概率;MPS,LPS和P根據統計進行更新。

上下文模型是一種概率模型,定義了上下文選取方法,存儲了特定上下文中“0”或“1”的概率,根據選取的上下文位數,可分為0、1、2或n階。0階上下文模型表示統計的符號概率是符號在已輸入序列中出現的概率,不考慮上下文信息;多階上下文模型統計的符號概率為該符號在特定上下文后出現的條件概率。根據Shannon信息論[9],若某一符號出現的概率為P,則編碼該符號的最佳比特位數為-lbP。例如已經編碼了100位二進制符號,其中0和1各出現了50次,使用0階上下文模型時,編碼下一位符號所需的最佳比特位數為-lb(50/100)=1;使用1階上下文模型時,若剛編碼的符號為0,下一位要編碼的符號為0,在前面的編碼過程中已經統計出符號0后面依然為符號0的情況有40次,則編碼下一位符號0所需的最佳比特位數為-lb(40/50)≈0.322。采用多階上下文模型,使用條件概率對符號進行編碼并進行上下文模型的概率更新,一般具有更高的壓縮比;然而上下文模型采用的上下文位數越多,上下文種類也越復雜,編碼時上下文模型查找和概率更新過程也需要消耗更多時間。

2 自適應編碼方法

對語義分割圖像進行二進制算術編碼時,編碼時間和圖像壓縮比與上下文模型和圖像結構有關。為了進一步提高壓縮性能,本文通過分析語義分割圖像特征與上下文模型的關系,提出了最佳上下文模型的概念和自適應選擇方法,根據圖像復雜度特征,預測其最佳上下文模型用于二進制算術編碼,以實現語義分割圖像的自適應編碼。

2.1 圖像特征與上下文模型

圖像經過語義分割后,根據分割類別將得到多幅語義分割圖像,每幅語義分割圖像只含有兩種像素值,如圖1所示,遙感圖像經過語義分割得到“建筑”、“道路”、“植被”和“水域”四種類別的語義分割圖像。

圖1 圖像語義分割Fig.1 Image semantic segmentation

語義分割圖像中的像素分為兩類,分別為表示其所屬類別的像素(目標像素)和其他像素(背景像素),因此像素多為連續分布、劃分明顯,相鄰像素間具有很強的相關性。利用語義分割圖像相鄰像素間的相關性,選擇合適的鄰近像素,定義上下文模型用于二進制算術編碼,以取得更好的壓縮效果。

對語義分割圖像進行二進制算術編碼時,常采用逐行掃描法對像素點進行遍歷。采用逐行掃描法遍歷圖像,編碼某一像素值時,其上方和左側的像素值已經輸出,可以將這些像素值作為上下文信息來設計上下文模型。

像素間的相關性與其間隔距離負相關,因此,在定義上下文模型時,優先選取相鄰像素作為上下文。如圖2所示,對于某一像素點X,以其周圍的像素L,T,TL,TR,LL和TT作為上下文信息[10-11],選擇四種不同階數的上下文模型:

圖2 相鄰像素示意圖Fig.2 Schematic diagram of adjacent pixels

1) 1階上下文模型:以L或T為上下文(文中實驗以L為上下文);

2) 2階上下文模型:以L和T為上下文;

3) 4階上下文模型:以L,T,TL和TR為上下文;

4) 6階上下文模型:以L,T,TL,TR,LL和TT為上下文。

圖像編碼所需的時間隨上下文模型階數增加而增加。而圖像壓縮比不僅與上下文模型階數有關,也與圖像結構有關。圖3為遙感影像的語義分割結果,分別采用1、2、4和6階上下文模型對這兩幅圖像進行二進制算術編碼得到壓縮比的對比,如表1所示。

從表1可以看出,圖像壓縮比與模型階數和圖像結構有關。對于結構比較復雜的圖像,如圖3(a)所示,圖像壓縮比隨著模型階數增加而增加;對于兩種像素數量差距較大且結構比較簡單的圖像,如圖3(b)所示。由于二進制算術編碼的輸出是由編碼過程中使用到的各個上下文模型及其編碼結果組成,當圖像目標像素較少、圖像結構簡單,且采用高階上下文模型時,大量上下文結構在編碼時出現頻率很低,存儲這些上下文模型和編碼結果需要更多的空間,上下文模型達到一定的階數后圖像壓縮比不會進一步提高,反而會出現下降。因此,根據語義分割圖像復雜度,選擇正確的上下文模型,是實現高效壓縮的關鍵。

圖3 語義分割圖像對比Fig.3 Semantic segmentation image comparison

表1 不同上下文模型測試結果對比Tab.1 Thecompression results of different context models

2.2 上下文模型選擇

上下文模型的選擇與語義分割圖像復雜度有關,為了快速自適應地選擇最優的上下文模型,本文提出了最佳上下文模型階數的概念和計算方法,通過SVM[12]方法建立上下文模型分類器,揭示了最佳上下文模型階數與圖像復雜度特征的關系,根據上下文模型分類器選擇上下文模型,實現語義分割圖像的自適應編碼。

2.2.1最佳上下文模型階數

對語義分割圖像進行二進制算術編碼,達到最大壓縮比時采用的上下文模型階數,即為最佳上下文模型階數。然而隨著上下文模型階數的增加,編碼時間會顯著增長,因此當圖像壓縮比提升有限時,通常需要考慮圖像壓縮比與壓縮時間的平衡性。定義目標函數如下式:

(3)

(4)

式(3)、式(4)中:i為上下文模型階數;Si為采用i階上下文模型進行編碼后的編碼文件大??;θ為自適應選擇閾值,θ≥0;K為最佳上下文模型階數。

在實際應用中,采用以下步驟計算最佳上下文模型階數:

1) 對語義分割圖像分別采用2.1節中的1、2、4和6階上下文模型進行二進制算術編碼,統計對應的編碼文件大小S1,S2,S4,S6;

2) 設置閾值θ(θ≥0);

3) 當θ=0時,表示僅考慮圖像壓縮比。選擇min{S1,S2,S4,S6}對應的上下文模型階數為最佳模型階數;若有多個對應的模型階數,則選取最小的階數為最佳模型階數;

4) 當θ>0時,表示綜合考慮圖像壓縮比與壓縮時間。選擇{S1,S2,S4,S6}中的最小值Si,分別計算Si-Sj;當Si-Sj<θ時,Si對應的上下文模型階數為最佳模型階數。

2.2.2圖像復雜度特征

如前文所述,根據語義分割圖像復雜度,選擇正確的上下文模型,是實現高效壓縮的關鍵。常見的圖像復雜度主要包括顏色復雜度、形狀復雜度和紋理復雜度,但圖像復雜度并沒有統一的定義和計算方法[13]。二值圖像特征主要有圖像密度、歐拉數、連通域個數和圖像的邊界長度。圖像密度是指二值圖像中目標像素個數與總像素數的比值,算術編碼中兩個基本的要素為信源符號出現的頻率和編碼區間,它們決定了編碼最終的輸出數據。對語義分割圖像進行算術編碼時,圖像密度可以反映兩種像素出現的頻率,連通域個數和邊界長度可以反映上下文模型以及其區間的變換次數,因此本文使用圖像密度、連通域個數和邊界長度來描述圖像復雜度。

2.2.3上下文模型分類器

SVM是基于樣本點最大間隔的一種分類模型,通過學習已知數據來總結數據之間的規律,泛化錯誤率低。SVM適用于解決小樣本情況下的分類、回歸問題[14]。

以圖像密度、連通域個數和邊界長度作為輸入特征,最佳上下文模型階數作為分類目標,建立SVM分類模型。引入核函數將輸入空間樣本映射到高維空間實現非線性分類,使用核函數K(xi,xj)和參數C,求解最優化問題。優化目標函數如下式:

(5)

分類決策函數如下式:

(6)

式(5)、式(6)中:α為拉格朗日系數,n為樣本數量,x為n×3維的輸入特征向量,y為輸出。

常用的SVM核函數包括線性核函數、高斯徑向基核函數(radial basis function,RBF)、多項式核函數以及Sigmoid核函數。RBF核函數可以將數據從低維空間映射到高維空間,且RBF函數中只有一個變量,SVM訓練參數相對較少。因此,本文采用RBF核函數,其表達式為:

(7)

式(7)中:σ表示RBF核函數參數。

SVM分類模型的分類精度與懲罰參數C和核函數參數gamma有關。利用數據集對SVM分類模型進行訓練,使用交叉驗證尋優方法(cross validation,CV),獲取懲罰參數C和核函數參數gamma的最優參數,建立分類器,實現最佳上下文模型階數的準確預測。

2.3 自適應編碼流程

語義分割圖像自適應編碼流程如圖4所示,具體流程如下:

圖4 語義分割圖像自適應編碼流程框圖Fig.4 Flow chart of adaptive image compression for semantic segmentation

1) 像素遍歷:對輸入的語義分割圖像按逐行掃描法進行像素遍歷,同時完成以下步驟的計算;

2) 圖像密度計算:統計輸入圖像的目標像素數和像素總數,計算圖像密度;

3) 連通域個數計算:通過廣度優先搜索算法計算輸入圖像的連通域個數;

4) 邊界長度計算:統計輸入圖像的邊界像素總數;

5) 上下文模型預測:將圖像密度、連通域個數和邊界長度輸入訓練好的分類器,輸出預測結果,即最佳上下文模型階數;

6) 二進制算術編碼:根據步驟5)得到的上下文模型階數選擇2.1節中對應的上下文模型,進行二進制算數編碼,輸出編碼結果。

3 實驗與分析

為了測試語義分割圖像自適應編碼性能,實驗分為上下文模型分類器訓練及測試和自適應編碼算法測試兩部分。本文實驗均在Ubuntu18.04 LTS的64位操作系統下進行,CPU為Intel(R) Core(TM) i5-8300H @ 2.30 GHz,內存為16.0 GB。

3.1 分類器訓練和測試

3.1.1數據集構建

上下文模型分類器的訓練和測試樣本為自建語義分割圖像數據集。數據集為基于NVIDIA Jetson AGX Xavier平臺使用U-Net網絡對遙感影像進行語義分割的結果圖像,共計360幅語義分割圖像,分割類別包括房屋建筑、其他建筑、道路、行人道、植被、樹木、農作物、河流、積水區、大型車輛和小型車輛,圖像大小為2 048像素×2 048像素。數據集部分圖像如圖5所示。

圖5 數據集部分圖像Fig.5 Images of the training set

數據集中的圖像大小為2 048像素×2 048像素,像素總數為4 194 304。對每幅圖像按逐行掃描法進行像素遍歷,統計目標像素總數、邊界像素總數和連通域個數,以圖像密度、連通域個數和邊界長度為輸入特征;對每幅圖像分別以0、512、1 024和2 048 B為最佳上下文模型階數選擇閾值θ,利用2.2.1節中闡述的方法計算最佳上下文模型階數為類別標簽,構建數據集。以圖5中的12幅圖像為例,每幅圖像的特征計算結果、不同階數上下文模型的二進制算術編碼對應的編碼文件大小以及采用不同閾值θ的最佳上下文模型階數如表2所示。

表2 圖例數據統計結果Tab.2 Legend data statistics results

3.1.2SVM分類模型訓練

利用基于Python語言的scikit-learn機器學習開發包進行SVM模型訓練和參數調試。分別以0、512、1 024和2 048 B為選擇閾值θ得到的最佳上下文模型階數為類別標簽,采用以下步驟,進行4種上下文模型分類器的訓練和測試:

1) 使用3.1.1節中的數據集,以圖像密度、連通域個數和邊界長度為輸入特征,最佳上下文模型階數為類別標簽,構建輸入樣本,并按7∶3分為訓練樣本和測試樣本。

2) 將訓練樣本作為輸入,建立SVM模型訓練分類器。使用交叉驗證尋優方法,獲取使SVM模型預測準確度最高的懲罰參數C和核函數參數gamma。本文使用網格搜索的方式,對可能的參數組合(C,gamma)進行遍歷,通過交叉驗證得到預測準確度最高的參數組合(C,gamma),參數搜索列表如下:

C:[1,2,4,6,8,10,12,14,16,18,20],

gamma:[1×10-12,1×10-10,…,1×10-4,1×10-3]。

3) 訓練完成后將測試樣本輸入分類器,對比分類器預測的樣本類別標簽與實際類別標簽,計算分類器準確率。

4種SVM分類模型參數訓練過程如圖6所示,圖中Accuracy表示模型準確度。SVM模型最優參數及實驗結果如表3所示。

圖6 SVM分類模型訓練過程Fig.6 SVM classification model training process

表3 SVM分類模型參數與測試結果Tab.3 SVM classification model parameters and test results

從圖6可以看出,SVM分類模型準確度與參數組合(C,gamma)取值有關。從表3可以看出,使用SVM方法進行上下文模型分類器訓練,分類器平均預測準確率為93.75%,預測準確度較高,可用于語義分割圖像自適應編碼時的上下文模型階數預測。

3.2 自適應編碼算法測試

測試采用Kaggle dstl satellite imagery feature detection比賽用數據集,該數據集由英國國防科學技術實驗室(DSTL)提供,數據集包含25幅1 m×1 m的高分辨率遙感圖像以及每幅遙感圖像10種類別的語義分割圖像。語義分割類別包括房屋建筑、其他建筑、道路、行人道、樹木、農作物、河流、積水區、大型車輛和小型車輛。圖像大小為2 048像素×2 048像素。樣本圖像及其類別標簽如圖7所示,類別標簽示意圖為該樣本圖像10種語義分割圖像的合成圖像。

測試數據集由上述數據集的遙感影像語義分割圖像組成,共計250幅語義分割圖像。分別采用JPEG2000,固定階數上下文模型的二進制算術編碼方法和本文提出的自適應編碼方法對測試數據集進行壓縮,其中自適應編碼方法分別采用以0、512、1 024和2 048 B為最佳上下文模型階數選擇閾值θ,使用前文描述的方法訓練得到的上下文模型分類器,對測試圖像進行壓縮。

以圖8所示的語義分割圖像為例,首先采用逐行掃描法對像素點進行遍歷,像素點遍歷結果示意如圖9所示。

圖8 語義分割圖像Fig.8 Semantic segmentation image

圖9 像素點遍歷結果示意圖Fig.9 Illustration of pixel traversal results

遍歷過程中對目標像素數、像素總數、連通域個數和邊界像素數進行統計,計算得到圖像密度、連通域個數和邊界長度,如表4所示。

表4 圖例特征計算結果Tab.4 Legend feature calculation results

將圖像密度、連通域個數和邊界長度分別輸入訓練好的4種分類器,輸出預測結果,即最佳上下文模型階數。根據得到的上下文模型階數選擇2.1節中對應的上下文模型,對語義分割圖像進行二進制算數編碼。同時對圖例分別采用1、2、4和6階數上下文模型進行二進制算術編碼以及JPEG2000編碼,統計對應的編碼文件大小,如表5所示。

表5 圖例測試結果對比Tab.5 The test results of legend are compared

按上述過程對數據集進行測試,計算不同方法的壓縮比,并統計每種方法的處理時間,處理時間為每種方法對整個數據集進行處理對應的程序運行時間,其中自適應編碼方法的處理時間包括像素遍歷、特征計算、上下文模型預測和二進制算術編碼完整過程。測試結果如表6所示。

表6 不同算法測試結果對比Tab.6 The test results of different algorithms are compared

從表6可以看出:自適應編碼算法和基于上下文的二進制算術編碼壓縮比是JPEG2000的10~24倍;為達到最大壓縮比,即自適應編碼閾值θ=0 B時,自適應編碼法比二進制算術編碼法處理時間減少了約44%;考慮壓縮比與處理時間的平衡性,不要求達到最大壓縮比,即自適應編碼閾值θ=512 B時,在同樣壓縮比下,自適應編碼法比采用4階上下文模型的二進制算術編碼法處理時間減少了約31%。自適應編碼算法可以有效提高語義分割圖像壓縮比并減少處理時間。

4 結論

本文提出了語義分割圖像自適應編碼方法。該方法在二進制算術編碼的基礎上,提出了最佳上下模型階數的概念和計算方法,并設計了最佳上下文模型選擇算法,利用SVM建立分類器,根據語義分割圖像復雜度特征,自適應地選擇最佳上下文模型對圖像進行二進制算術編碼。實驗結果顯示,與JPEG2000無損壓縮方法相比,自適應編碼算法具有較高的壓縮比,與一般的二進制算術編碼相比,自適應編碼算法能在壓縮比不變的情況下減少處理時間38%左右,壓縮性能具有顯著提高。

猜你喜歡
階數二進制算術
XIO 優化階數對宮頸癌術后靜態調強放射治療計劃的影響
準天頂衛星系統廣播星歷精度評定和擬合精度分析
有用的二進制
用Scratch把十進制轉為二進制
有趣的進度
復變函數中孤立奇點的判別
擔心等
算算術
學算術
小狗算算術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合