基于ROI自適應的JPEG2023圖像壓縮算法_第1頁
基于ROI自適應的JPEG2023圖像壓縮算法_第2頁
基于ROI自適應的JPEG2023圖像壓縮算法_第3頁
基于ROI自適應的JPEG2023圖像壓縮算法_第4頁
基于ROI自適應的JPEG2023圖像壓縮算法_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于ROI自適應的JPEG2000圖像壓縮算法

孫佳全(同濟大學電子信息工程學院,上海201804)0引言數字化圖像會占據極大空間,例如一幅580×821像素的bmp圖片會占到1396KB,而相應的jpg文件則只有78KB。而存儲空間大的圖像會給存儲器存儲、數據通信、計算機的信息處理帶來壓力。如果單純的想通過提高存儲器的存儲容量,增加數據通信的帶寬和計算機的計算速度來緩解這一問題成本太高,那么圖像壓縮的優(yōu)點就顯示出來了。圖像數據中其實存在著大量的冗余,因為原始圖像的像素不是雜亂無章的,所以可以通過編碼這些數據相關,去除數據冗余從而降低原始圖像的數據量,實現圖像數據壓縮的目的。圖像數據的壓縮技術就是研究圖像像素的數據冗余從而減少圖像的數據量。因此,圖像數據冗余就是圖像壓縮的基礎。圖像冗余分別有以下幾點:(1)空間冗余:如果靜態(tài)圖像存在一片區(qū)域,其中像素的顏色、亮度和飽和度都十分相似甚至相同,那么它就存在很大的空間冗余。這是因為bmp的像素離散采樣是對每個像素點進行分別存儲,這樣就無法表示圖片顏色的空間連貫性,浪費存儲空間。(2)視覺冗余:人眼對于圖像細節(jié)的觀察多有遺漏,并且伴隨著一些視覺習慣,導致大多只關注圖像簡單輪廓和顏色,所以我們將一部分細節(jié)去掉,人眼無法辨別,從而節(jié)省存儲空間。(3)信息熵冗余:即為編碼冗余,這是指圖像像素的平均比特數大于該圖像的信息熵時,一個像素占據過多比特,所以存在信息熵冗余。(4)結構冗余:當圖像中存在一定的紋理時,就可以通過相似的紋理像素進行表示,消除結構上的冗余。1實驗原理1.1JPEG2000圖像壓縮JPEG2000編碼的實現過程即為圖像預處理、離散小波變換、量化和熵編碼四個部分[10]。如圖1所示。圖1JPEG2000壓縮流程(1)圖像預處理圖像預處理的目的是將各種類型的圖像轉換為統(tǒng)一格式,以便于后續(xù)對圖像信息進行處理,這一步是將各種類型的圖像壓縮到一個統(tǒng)一的框架之中。這一步主要包括直流平移、分量變換和圖像分片三個部分。直流平移是處理圖像中的直流分量的操作,這是一個降低量級的操作,將采樣精度為P的無符號數減去2p-1,使原來的取值范圍為[0,2p-1]的樣本移位到[-2p-1,2p-1-1]的一個關于0點對稱的范圍內。這使小波變換系數正負取值范圍近似,這一操作可以提高之后的自適應熵編碼的效率。分量變換是在處理多分量圖像的時候起作用,它降低多了分量圖像的分量之間相關性,從而提高壓縮率。主要是對RGB分量進行不可逆變換(IrreversibleColorTransform,ICT)或者可逆變換(ReversibleColorTransform,RCT)把RGB格式轉換為YcbCr格式。分量變換可以理解為,通過線性變換使輸入圖像由RGB轉換為YCbCr形式,減少了RGB之間的相關性。圖像分片是將圖像分別切分成相同大小的多個圖像。這樣可以在不同分量的相同位置進行操作,并對每個分片獨立壓縮。對圖像分片操作,可以降低內存大小的需要,使壓縮技術可以處理數據量大的圖像。但是這樣會是邊緣像素的信息缺失。(2)量化量化是把圖像數據經過變換生成一組有限個的符號,將其編程為以量化步長為倍數的值。量化是多個信息生成一個符號的不可逆有損變換。JPEG2000的量化在JPEG上提升不大,其在整體上是采用均勻量化,即標量量化,量化步長不統(tǒng)一。然而,JPEG2000量化的一個特殊之處在于它引入了deadzone這一概念。JPEG2000的part1是采用中間有死區(qū)的均勻量化器,其區(qū)間的寬度是量化步長的兩倍,在死區(qū)內量化系數被量化為0。而對于每一個子帶a,先自動確定一個基本量化步長Δa,它的確定是根據子帶視覺特性或碼率控制要求決定的。將子帶a的小波系數Ya(u,v)量化為量化系數Qa(u,v):在上式中量化步長Δa為2Byte(1Byte=8bit),μa為11bit,εa為5bit。Ra為子帶a的標稱動態(tài)范圍大小。這樣可以保證最大可能的量化步長限制在輸入樣值動態(tài)范圍兩倍左右。量化步長是由子帶決定的,由兩個因素決定:第一是人類視覺對子帶信號的敏感性,第二是依據不同子帶的均方誤差對重建后圖像均方誤差的影響決定量化步長。1.2HOG特征方向梯度直方圖(HistogramofOrientedGradient,HOG)特征是一種用于計算機視覺和圖像處理領域來進行物體檢測的特征描述子。HOG特征不是從圖像的整體上來考察其特征的,而是將源圖像進行細分,轉化為多個小的細胞單元(cell),然后計算各個細胞單元中像素點的梯度或者邊緣的方向直方圖。為了提高性能,可以將若干個細胞單元組成一個塊(block),源圖像可以看作由若干個塊組成的圖像。然后在所有塊內對各個細胞單元得到的梯度進行歸一化,取得最終的梯度方向向量。圖像的梯度方向向量由多個因素決定,例如圖像大小、細胞單元(cell)大小和每個cell所決定的梯度維數,等等。計算方法如下:公式中,DimNum表示圖像的梯度方向向量數,cDim表示cell的維數,bSize即為block的大小,cSize表示cell的大小,w為圖像寬度,h為圖像高度,bStep表示block的移動步長。OpenCV默認的HOG參數定義為,w和h為64×128,block大小為16×16,cell大小為8×8,bStep為8×8,cDim為9。在這一定義下,計算得到HOG的檢測子維數為3780。HOG特征提取過程如下(1)進行Gamma矯正和顏色歸一化:C和γ為常數。(2)計算每個像素點的梯度:計算梯度幅度值G(x,y)和梯度方向α(x,y):(3)將圖像劃分成多個大小相同的細胞單元(cell),對每個單元計算梯度方向直方圖向量Hi:(4)將相鄰cell按照大小組成一個塊(block)??梢酝ㄟ^將塊在圖像中每次移動一個cell大小,得到下一個塊。所以一個塊步長一般等于cell大小,且塊與塊之間可以重疊。將每個塊內所有cell的梯度直方圖向量組合起來,就可以得到該圖像的梯度直方圖向量,一般為9個數。然后,以塊為單位,對每個塊的梯度直方圖進行歸一化。圖2Cell組合為Block(5)將各個塊的梯度直方圖連起來,就可以得到該圖像HOG特征。1.3支持向量機支持向量機(SupportVectorMachine,SVM)是Vapnik等人根據統(tǒng)計學習理論提出的新的學習方法[15]。支持向量機根據Vapnik的結構風險最小化原則,提高了學習機的泛化能力,由訓練有限樣本數的樣本集得到的決策規(guī)則對獨立測試集仍能夠得到較小誤差。此外,支持向量機是一個凸二次優(yōu)化問題,所以它找到的極值解就是全局最優(yōu)解。SVM的基本原理是,找到一個最優(yōu)的分類面,并使面兩側距離分類點的間隙最大[15]。設線性可分的樣本集為(xi,yi),I=1,…,n,x?Rd,即x為d維德特征向量,yi{-1,1}是類別標號,d維空間的線性判別函數一般形式為G(x)=w·x+b,分類面方程為:如果測試集合中,第一類和第二類線性可分,就存在(w,b),使:w·xi+b0,則xi為第二類。其中w為權向量,b為閾值。假設訓練集中所有的樣本都滿足|G(x)|≥1,這樣的話分類間隙就大于2/‖w‖。因此要讓間隙最大,就是讓‖w‖最小,這樣在yi[(w·x)+b]-1≥0,i=1,2,…,n的條件下,求:就可以得到最優(yōu)解平面H。這兩類分類樣本中距離分類面最近的點且平行于最優(yōu)分類面的超平面上的訓練樣本就是條件等于0的樣本,他們稱作支持向量。為求解式(13),需要引入拉格朗日函數。經過偏微分等計算過程即可得到支持向量,從而確定最優(yōu)解平面。對于線性分類,只需要考慮支持向量的點積運算。而對于非線性問題的方法就是將非線性向量映射到一個高維空間,然后再高緯空間上進行計算,就可以得到最優(yōu)解平面。這就相當于將原空間映射到一個新的特征空間,SVM只考慮特征空間的內積運算,而高緯空間所有向量的內積運算是通過原空間中的核函數來完成的,不用映射到高維空間進行復雜運算,就是說升維只不過是了內積的運算,沒有提升算法復雜度。所以,SVM的最大優(yōu)點就是可以通過核函數將輸入空間的線性不可分問題轉化為高維空間中的線性可分問題,提高了機器學習的非線性問題的處理能力。2實驗本次實驗首先完成JPEG2000圖像壓縮的基本功能,實現通過JPEG2000對比特流文件的有損壓縮和無損壓縮,并按照壓縮率的區(qū)別得到相同圖片在不同壓縮率下的所表現的圖片質量和圖片壓縮時間等信息,分析由于壓縮率不同對于壓縮時間,圖像質量的影響。其次,通過HOG特征提取,提供SVM分類器的特征矩陣,從而實現對圖像感興趣區(qū)域的提取,通過上文的分類器評估標準,對SVM分類器的精度、準確率等信息進行分析,對本次實驗使用的SVM分類器性能進行合理評估,并評價SVM分類器的性能對要壓縮圖像的壓縮率和圖像質量的影響。最后通過計算多個圖像壓縮后的占用時間和壓縮率,來評估采用本實驗的壓縮算法的時間效率和空間效率,給出本算法的合理性和不足,以及可以改進的方向和方法。圖3顯示的是同一張圖片,在不同壓縮率的情況下展現的圖像質量,其中圖片自左向右,自上向下,壓縮率逐漸升高,展現的圖像質量也逐漸降低。我們可以清晰看出圖像的顏色部分在逐漸變得模糊,而對于圖像的輪廓部分影響有限,這也體現了JPEG2000圖像壓縮技術的有損壓縮對圖像輪廓保存較完整的特點。圖片的數據對例如表1所示。圖3無損有損壓縮圖像數據對比表1無損有損壓縮圖像數據對比首先介紹表1的表頭,壓縮系數是JPEG2000中的一個決定該層壓縮采用無損壓縮還是有損壓縮的參數,取值均大于1,且該取值越大,壓縮率越大,當該參數選擇為1時,則本次壓縮為無損壓縮。當該參數逐漸增大時,圖像壓縮率隨之增大。壓縮率,就是一個描述壓縮圖像壓縮比例的參數,計算方式如下:由式(14)可以看出,壓縮率是通過原始圖像大小和壓縮后的圖像大小計算的,所以它展示的是壓縮算法此次壓縮的程度,對于壓縮算法來說,在保證圖像質量的情況下,壓縮率越高,壓縮算法的性能越好。壓縮時間,這一數據是直接在算法中對關鍵算法的開始時和結束后設置時間點,最后相減得到的,表1所示時間是大小為2305KB的BMP文件壓縮所用時間。失真率表示的是壓縮圖像與原始圖像差異度的,計算公式如下:valb(x,y)表示原始圖像在(x,y)處的像素值,vala(x,y)表示壓縮后圖像在(x,y)處的像素值,M表示圖2.1JPEG2000的ROI性能分別介紹其實驗過程,實驗效果和實驗結論。本次實驗中,主要的目的是ROI選取,那就必須進行SVM的訓練,而SVM的訓練集就是圖片訓練集的HOG特征矩陣。第一步工作就是提取訓練集圖片的HOG特征,這一步在OpenCV中有相應的接口,在調用接口之后就可以得到該圖像的HOG特征個數和相應的值,由于需像寬度,N表示圖像高度。圖像失真率的計算可以看做圖像各點像素差值的平方和,除以總像素個數,再取根號,即原始圖像和壓縮后圖像像素點的方均差。它的意義就是圖像壓縮前后的變化率。由表1可以看出,當壓縮率由2.03逐漸提升到49.0的時候,保真率也由0.0018逐漸提升到了11.493。這表示,圖像在壓縮強度高時,無法保證圖像質量,同時圖像顏色變化逐漸增大。同時,有損壓縮時壓縮率增長速度快于保真率速度,這表示,JPEG2000可以在高壓縮率(低比特率)時,仍保持較好的圖像質量。當然由無損壓縮圖像保真率為0.0018也可以看出JPEG2000無損壓縮的性能也是不錯的,在將圖像壓縮一半的情況下,幾乎不影響圖像質量。而對于同一張圖像,壓縮率的變化幾乎不影響壓縮時間。由以上表述可以看出,圖像的壓縮率和保真率成正比,即使是JPEG2000這一同一比特量情況下壓縮率比JPEG高30%的強大壓縮算法,也無法在保證圖像質量的情況下,再提高壓縮率了。所以,我們的實驗進行向另一個方向,那就是利用ROI了,我們只要保證ROI的高保真率就可以滿足人們對于圖片的需求了,而對于背景區(qū)域,就可以用來提高壓縮率。要統(tǒng)一檢測子維數,所以要統(tǒng)一提取HOG特征圖片大小。將讀取圖片進行縮放為64×128像素大小,可以提取得到3780個HOG特征,即檢測子。第二步,將HOG特征存入特征矩陣并標注正負例,供SVM訓練使用。第三步,進行SVM訓練,選取SVM為C_SVC,選擇核函數為線性核函數,松弛因子為0.01。調用OpenCV接口進行訓練,并將結果保存,使下次檢測不再需要訓練。第四步,讀取源圖像進行ROI檢測,檢測結果會產生多個矩形框,即感興趣區(qū)域,去除嵌套矩形框中較小的和超出邊界范圍的。將其分別保存用于壓縮??梢钥闯?,有損壓縮的壓縮率可以達到30.106,原圖像大小為214KB,而有損壓縮后的圖像大小為8KB,有損壓縮的壓縮率是最大的,且遠超于無損壓縮和ROI分區(qū)域壓縮,所以在數據傳輸上是有一定優(yōu)勢的。然而,有損壓縮對于圖像顏色的改變是相當大的,除了顏色均勻地塊狀部分,其他都會轉換成黑白色,且會模糊掉部分邊界,只保留邊界較明顯部分,使圖像質量急劇降低,所以就實用性來說幾乎是不可用的。壓縮時間幾乎不受影響。其次,對比ROI壓縮和無損壓縮,壓縮率由2.352提高到了2.93,雖然略有提升,但是并不顯著,這是由于框選ROI占據原圖像較大區(qū)域,在壓縮時只有背景區(qū)域提供了壓縮率的提升,而ROI無損壓縮壓縮空間有限。但是圖像失真率由0.0021提高到了3.93,這是由于背景區(qū)域的變化而對圖像像素影響導致總的失真率增高。但是根據觀察得知,圖像的ROI行人,在框選準確的情況下,并沒有被模糊掉,所以實際的目標區(qū)域失真率并不高,只有個別被遺漏的肢體部分有影響,所以就圖像質量來說還是可以接受的。表2壓縮結果對比最后一項壓縮時間,可以看到壓縮時間由0.641提升到了2.28,當然這是由于壓縮時圖像被分區(qū)域壓縮,且ROI有重疊部分,導致壓縮時間增大的緣故,雖然這樣時間效率下降了,但是因為我們重點考慮的是考慮文件空間效率的提升,所以這樣也是可以接受的。當然提升時間效率也是以后需要改進的方向。比較三幅圖片圖像壓縮數據如表3。圖5背景空曠圖像壓縮結果對比表3背景空曠圖像壓縮結果對比由上表可以看到圖像ROI壓縮率比之前圖像的2.93有了明顯的提升,這是因為圖像的ROI數量,或者說是圖像ROI所占圖像大小比例導致的。ROI的圖像壓縮時間顯然要高于無損壓縮,但是各圖像之間的壓縮時間無明顯關系,根據壓縮算法推測,壓縮時間與圖像大小成正比。圖像失真率應該對照圖像壓縮前后圖像質量進行觀測,背景區(qū)域如果圖像復雜,顏色多變,則會被顏色模糊化,而如果圖像存在大片顏色單一區(qū)域,則圖像顏色會被保存,且有損壓縮影響較少,且壓縮比高。壓縮率提升比(ROI壓縮率/無損壓縮率),可以看到第三幅圖的壓縮率提升比有明顯提升,這是因為圖像有大片區(qū)域顏色相近,紋理簡單,有損壓縮時將其空間壓縮較大,且ROI范圍小。對于JPEG2000的壓縮率和壓縮時間本次實驗進行了系統(tǒng)的檢驗。本次實驗選取了兩個圖像集,一個是Corel5k中的人物圖像集,共有100張圖片,分別率均為192×128或者128×192。另一個圖像集是網上隨機尋找的直立行人圖像,共有43張,高度為220,寬度為多為330,二者像素數比為2.89。壓縮數據如表4。圖6圖像集壓縮情況對比表4圖像集壓縮結果對比由表4看出Corel5k的平均壓縮率為5.865,而網絡圖像的平均壓縮率為4.120。這是因為Corel5k中的圖像,并非完全是行人或直立人的圖像,有一部分人物面孔,所以ROI無法框選,大部分圖像因為被認定成背景區(qū)域而進行有損壓縮,導致圖像壓縮率較大。而本次實驗在網絡上尋找的圖像多是公路行人,且行人數目較多,所以ROI框選區(qū)域較大,無損壓縮較多,導致壓縮率偏低。由這個數據可以簡單看出,壓縮率主要由ROI占總圖像大小比率決定。其次,通過Corel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論