• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2019-04-08 00:46:48孫佳全
      現(xiàn)代計算機 2019年6期
      關鍵詞:壓縮率步長像素

      孫佳全

      (同濟大學電子信息工程學院,上海201804)

      0 引言

      數(shù)字化圖像會占據(jù)極大空間,例如一幅580×821像素的bmp圖片會占到1396KB,而相應的jpg文件則只有78KB。而存儲空間大的圖像會給存儲器存儲、數(shù)據(jù)通信、計算機的信息處理帶來壓力。如果單純的想通過提高存儲器的存儲容量,增加數(shù)據(jù)通信的帶寬和計算機的計算速度來緩解這一問題成本太高,那么圖像壓縮的優(yōu)點就顯示出來了。

      圖像數(shù)據(jù)中其實存在著大量的冗余,因為原始圖像的像素不是雜亂無章的,所以可以通過編碼這些數(shù)據(jù)相關,去除數(shù)據(jù)冗余從而降低原始圖像的數(shù)據(jù)量,實現(xiàn)圖像數(shù)據(jù)壓縮的目的。圖像數(shù)據(jù)的壓縮技術就是研究圖像像素的數(shù)據(jù)冗余從而減少圖像的數(shù)據(jù)量。因此,圖像數(shù)據(jù)冗余就是圖像壓縮的基礎。

      圖像冗余分別有以下幾點:

      (1)空間冗余:如果靜態(tài)圖像存在一片區(qū)域,其中像素的顏色、亮度和飽和度都十分相似甚至相同,那么它就存在很大的空間冗余。這是因為bmp的像素離散采樣是對每個像素點進行分別存儲,這樣就無法表示圖片顏色的空間連貫性,浪費存儲空間。

      (2)視覺冗余:人眼對于圖像細節(jié)的觀察多有遺漏,并且伴隨著一些視覺習慣,導致大多只關注圖像簡單輪廓和顏色,所以我們將一部分細節(jié)去掉,人眼無法辨別,從而節(jié)省存儲空間。

      (3)信息熵冗余:即為編碼冗余,這是指圖像像素的平均比特數(shù)大于該圖像的信息熵時,一個像素占據(jù)過多比特,所以存在信息熵冗余。

      (4)結構冗余:當圖像中存在一定的紋理時,就可以通過相似的紋理像素進行表示,消除結構上的冗余。

      1 實驗原理

      1.1 JPEG2000圖像壓縮

      JPEG2000編碼的實現(xiàn)過程即為圖像預處理、離散小波變換、量化和熵編碼四個部分[10]。如圖1所示。

      圖1 JPEG2000壓縮流程

      (1)圖像預處理

      圖像預處理的目的是將各種類型的圖像轉換為統(tǒng)一格式,以便于后續(xù)對圖像信息進行處理,這一步是將各種類型的圖像壓縮到一個統(tǒng)一的框架之中。這一步主要包括直流平移、分量變換和圖像分片三個部分。

      直流平移是處理圖像中的直流分量的操作,這是一個降低量級的操作,將采樣精度為P的無符號數(shù)減去2p-1,使原來的取值范圍為[0,2p-1]的樣本移位到[-2p-1,2p-1-1]的一個關于0點對稱的范圍內。這使小波變換系數(shù)正負取值范圍近似,這一操作可以提高之后的自適應熵編碼的效率。

      分量變換是在處理多分量圖像的時候起作用,它降低多了分量圖像的分量之間相關性,從而提高壓縮率。主要是對RGB分量進行不可逆變換(Irreversible Color Transform,ICT)或者可逆變換(Reversible Color Transform,RCT)把RGB格式轉換為YcbCr格式。

      分量變換可以理解為,通過線性變換使輸入圖像由RGB轉換為YCbCr形式,減少了RGB之間的相關性。

      圖像分片是將圖像分別切分成相同大小的多個圖像。這樣可以在不同分量的相同位置進行操作,并對每個分片獨立壓縮。對圖像分片操作,可以降低內存大小的需要,使壓縮技術可以處理數(shù)據(jù)量大的圖像。但是這樣會是邊緣像素的信息缺失。

      (2)量化

      量化是把圖像數(shù)據(jù)經過變換生成一組有限個的符號,將其編程為以量化步長為倍數(shù)的值。量化是多個信息生成一個符號的不可逆有損變換。

      JPEG2000的量化在JPEG上提升不大,其在整體上是采用均勻量化,即標量量化,量化步長不統(tǒng)一。然而,JPEG2000量化的一個特殊之處在于它引入了dead zone這一概念。JPEG2000的part1是采用中間有死區(qū)的均勻量化器,其區(qū)間的寬度是量化步長的兩倍,在死區(qū)內量化系數(shù)被量化為0。而對于每一個子帶a,先自動確定一個基本量化步長Δa,它的確定是根據(jù)子帶視覺特性或碼率控制要求決定的。將子帶a的小波系數(shù)Ya(u ,v)量化為量化系數(shù)Qa(u ,v):

      在上式中量化步長 Δa為 2Byte(1Byte=8bit),μa為 11bit,εa為 5bit。

      Ra為子帶a的標稱動態(tài)范圍大小。這樣可以保證最大可能的量化步長限制在輸入樣值動態(tài)范圍兩倍左右。量化步長是由子帶決定的,由兩個因素決定:第一是人類視覺對子帶信號的敏感性,第二是依據(jù)不同子帶的均方誤差對重建后圖像均方誤差的影響決定量化步長。

      1.2 HOG特征

      方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征是一種用于計算機視覺和圖像處理領域來進行物體檢測的特征描述子。

      HOG特征不是從圖像的整體上來考察其特征的,而是將源圖像進行細分,轉化為多個小的細胞單元(cell),然后計算各個細胞單元中像素點的梯度或者邊緣的方向直方圖。為了提高性能,可以將若干個細胞單元組成一個塊(block),源圖像可以看作由若干個塊組成的圖像。然后在所有塊內對各個細胞單元得到的梯度進行歸一化,取得最終的梯度方向向量。

      圖像的梯度方向向量由多個因素決定,例如圖像大小、細胞單元(cell)大小和每個cell所決定的梯度維數(shù),等等。計算方法如下:

      公式中,DimNum表示圖像的梯度方向向量數(shù),cDim表示cell的維數(shù),bSize即為block的大小,cSize表示cell的大小,w為圖像寬度,h為圖像高度,bStep表示block的移動步長。OpenCV默認的HOG參數(shù)定義為,w 和 h 為 64×128,block 大小為 16×16,cell大小為 8×8,bStep 為 8×8,cDim 為 9。在這一定義下,計算得到HOG的檢測子維數(shù)為3780。

      HOG特征提取過程如下

      (1)進行Gamma矯正和顏色歸一化:

      C和γ為常數(shù)。

      (2)計算每個像素點的梯度:

      計算梯度幅度值G(x,y)和梯度方向α(x,y):

      (3)將圖像劃分成多個大小相同的細胞單元(cell),對每個單元計算梯度方向直方圖向量Hi:

      (4)將相鄰cell按照大小組成一個塊(block)??梢酝ㄟ^將塊在圖像中每次移動一個cell大小,得到下一個塊。所以一個塊步長一般等于cell大小,且塊與塊之間可以重疊。將每個塊內所有cell的梯度直方圖向量組合起來,就可以得到該圖像的梯度直方圖向量,一般為9個數(shù)。然后,以塊為單位,對每個塊的梯度直方圖進行歸一化。

      圖2 Cell組合為Block

      (5)將各個塊的梯度直方圖連起來,就可以得到該圖像HOG特征。

      1.3 支持向量機

      支持向量機(Support Vector Machine,SVM)是 Vapnik等人根據(jù)統(tǒng)計學習理論提出的新的學習方法[15]。支持向量機根據(jù)Vapnik的結構風險最小化原則,提高了學習機的泛化能力,由訓練有限樣本數(shù)的樣本集得到的決策規(guī)則對獨立測試集仍能夠得到較小誤差。此外,支持向量機是一個凸二次優(yōu)化問題,所以它找到的極值解就是全局最優(yōu)解。

      SVM的基本原理是,找到一個最優(yōu)的分類面,并使面兩側距離分類點的間隙最大[15]。設線性可分的樣本集為(xi,yi),I=1,…,n,x ?Rd,即 x為 d 維德特征向量,yi{-1,1}是類別標號,d維空間的線性判別函數(shù)一般形式為 G(x)=w·x+b,分類面方程為:

      如果測試集合中,第一類和第二類線性可分,就存在(w,b),使:w·xi+b<0,則 xi為第一類;w·xi+b>0,則 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),需要引入拉格朗日函數(shù)。經過偏微分等計算過程即可得到支持向量,從而確定最優(yōu)解平面。

      對于線性分類,只需要考慮支持向量的點積運算。而對于非線性問題的方法就是將非線性向量映射到一個高維空間,然后再高緯空間上進行計算,就可以得到最優(yōu)解平面。這就相當于將原空間映射到一個新的特征空間,SVM只考慮特征空間的內積運算,而高緯空間所有向量的內積運算是通過原空間中的核函數(shù)來完成的,不用映射到高維空間進行復雜運算,就是說升維只不過是了內積的運算,沒有提升算法復雜度。

      所以,SVM的最大優(yōu)點就是可以通過核函數(shù)將輸入空間的線性不可分問題轉化為高維空間中的線性可分問題,提高了機器學習的非線性問題的處理能力。

      2 實驗

      本次實驗首先完成JPEG2000圖像壓縮的基本功能,實現(xiàn)通過JPEG2000對比特流文件的有損壓縮和無損壓縮,并按照壓縮率的區(qū)別得到相同圖片在不同壓縮率下的所表現(xiàn)的圖片質量和圖片壓縮時間等信息,分析由于壓縮率不同對于壓縮時間,圖像質量的影響。其次,通過HOG特征提取,提供SVM分類器的特征矩陣,從而實現(xiàn)對圖像感興趣區(qū)域的提取,通過上文的分類器評估標準,對SVM分類器的精度、準確率等信息進行分析,對本次實驗使用的SVM分類器性能進行合理評估,并評價SVM分類器的性能對要壓縮圖像的壓縮率和圖像質量的影響。最后通過計算多個圖像壓縮后的占用時間和壓縮率,來評估采用本實驗的壓縮算法的時間效率和空間效率,給出本算法的合理性和不足,以及可以改進的方向和方法。圖3顯示的是同一張圖片,在不同壓縮率的情況下展現(xiàn)的圖像質量,其中圖片自左向右,自上向下,壓縮率逐漸升高,展現(xiàn)的圖像質量也逐漸降低。我們可以清晰看出圖像的顏色部分在逐漸變得模糊,而對于圖像的輪廓部分影響有限,這也體現(xiàn)了JPEG2000圖像壓縮技術的有損壓縮對圖像輪廓保存較完整的特點。圖片的數(shù)據(jù)對例如表1所示。

      圖3 無損有損壓縮圖像數(shù)據(jù)對比

      表1 無損有損壓縮圖像數(shù)據(jù)對比

      首先介紹表1的表頭,壓縮系數(shù)是JPEG2000中的一個決定該層壓縮采用無損壓縮還是有損壓縮的參數(shù),取值均大于1,且該取值越大,壓縮率越大,當該參數(shù)選擇為1時,則本次壓縮為無損壓縮。當該參數(shù)逐漸增大時,圖像壓縮率隨之增大。

      壓縮率,就是一個描述壓縮圖像壓縮比例的參數(shù),計算方式如下:

      由式(14)可以看出,壓縮率是通過原始圖像大小和壓縮后的圖像大小計算的,所以它展示的是壓縮算法此次壓縮的程度,對于壓縮算法來說,在保證圖像質量的情況下,壓縮率越高,壓縮算法的性能越好。

      壓縮時間,這一數(shù)據(jù)是直接在算法中對關鍵算法的開始時和結束后設置時間點,最后相減得到的,表1所示時間是大小為2305KB的BMP文件壓縮所用時間。

      失真率表示的是壓縮圖像與原始圖像差異度的,計算公式如下:

      valb(x ,y)表示原始圖像在(x,y)處的像素值,vala(x,y)表示壓縮后圖像在(x,y)處的像素值,M表示圖

      2.1 JPEG2000的ROI性能

      分別介紹其實驗過程,實驗效果和實驗結論。

      本次實驗中,主要的目的是ROI選取,那就必須進行SVM的訓練,而SVM的訓練集就是圖片訓練集的HOG特征矩陣。

      第一步工作就是提取訓練集圖片的HOG特征,這一步在OpenCV中有相應的接口,在調用接口之后就可以得到該圖像的HOG特征個數(shù)和相應的值,由于需像寬度,N表示圖像高度。圖像失真率的計算可以看做圖像各點像素差值的平方和,除以總像素個數(shù),再取根號,即原始圖像和壓縮后圖像像素點的方均差。它的意義就是圖像壓縮前后的變化率。

      由表1可以看出,當壓縮率由2.03逐漸提升到49.0的時候,保真率也由0.0018逐漸提升到了11.493。這表示,圖像在壓縮強度高時,無法保證圖像質量,同時圖像顏色變化逐漸增大。同時,有損壓縮時壓縮率增長速度快于保真率速度,這表示,JPEG2000可以在高壓縮率(低比特率)時,仍保持較好的圖像質量。當然由無損壓縮圖像保真率為0.0018也可以看出JPEG2000無損壓縮的性能也是不錯的,在將圖像壓縮一半的情況下,幾乎不影響圖像質量。而對于同一張圖像,壓縮率的變化幾乎不影響壓縮時間。

      由以上表述可以看出,圖像的壓縮率和保真率成正比,即使是JPEG2000這一同一比特量情況下壓縮率比JPEG高30%的強大壓縮算法,也無法在保證圖像質量的情況下,再提高壓縮率了。所以,我們的實驗進行向另一個方向,那就是利用ROI了,我們只要保證ROI的高保真率就可以滿足人們對于圖片的需求了,而對于背景區(qū)域,就可以用來提高壓縮率。要統(tǒng)一檢測子維數(shù),所以要統(tǒng)一提取HOG特征圖片大小。將讀取圖片進行縮放為64×128像素大小,可以提取得到3780個HOG特征,即檢測子。

      第二步,將HOG特征存入特征矩陣并標注正負例,供SVM訓練使用。

      第三步,進行SVM訓練,選取SVM為C_SVC,選擇核函數(shù)為線性核函數(shù),松弛因子為0.01。調用OpenCV接口進行訓練,并將結果保存,使下次檢測不再需要訓練。

      第四步,讀取源圖像進行ROI檢測,檢測結果會產生多個矩形框,即感興趣區(qū)域,去除嵌套矩形框中較小的和超出邊界范圍的。將其分別保存用于壓縮。

      可以看出,有損壓縮的壓縮率可以達到30.106,原圖像大小為214KB,而有損壓縮后的圖像大小為8KB,有損壓縮的壓縮率是最大的,且遠超于無損壓縮和ROI分區(qū)域壓縮,所以在數(shù)據(jù)傳輸上是有一定優(yōu)勢的。然而,有損壓縮對于圖像顏色的改變是相當大的,除了顏色均勻地塊狀部分,其他都會轉換成黑白色,且會模糊掉部分邊界,只保留邊界較明顯部分,使圖像質量急劇降低,所以就實用性來說幾乎是不可用的。壓縮時間幾乎不受影響。

      其次,對比ROI壓縮和無損壓縮,壓縮率由2.352提高到了2.93,雖然略有提升,但是并不顯著,這是由于框選ROI占據(jù)原圖像較大區(qū)域,在壓縮時只有背景區(qū)域提供了壓縮率的提升,而ROI無損壓縮壓縮空間有限。但是圖像失真率由0.0021提高到了3.93,這是由于背景區(qū)域的變化而對圖像像素影響導致總的失真率增高。但是根據(jù)觀察得知,圖像的ROI行人,在框選準確的情況下,并沒有被模糊掉,所以實際的目標區(qū)域失真率并不高,只有個別被遺漏的肢體部分有影響,所以就圖像質量來說還是可以接受的。

      表2 壓縮結果對比

      最后一項壓縮時間,可以看到壓縮時間由0.641提升到了2.28,當然這是由于壓縮時圖像被分區(qū)域壓縮,且ROI有重疊部分,導致壓縮時間增大的緣故,雖然這樣時間效率下降了,但是因為我們重點考慮的是考慮文件空間效率的提升,所以這樣也是可以接受的。當然提升時間效率也是以后需要改進的方向。

      比較三幅圖片圖像壓縮數(shù)據(jù)如表3。

      圖5 背景空曠圖像壓縮結果對比

      表3 背景空曠圖像壓縮結果對比

      由上表可以看到圖像ROI壓縮率比之前圖像的2.93有了明顯的提升,這是因為圖像的ROI數(shù)量,或者說是圖像ROI所占圖像大小比例導致的。ROI的圖像壓縮時間顯然要高于無損壓縮,但是各圖像之間的壓縮時間無明顯關系,根據(jù)壓縮算法推測,壓縮時間與圖像大小成正比。圖像失真率應該對照圖像壓縮前后圖像質量進行觀測,背景區(qū)域如果圖像復雜,顏色多變,則會被顏色模糊化,而如果圖像存在大片顏色單一區(qū)域,則圖像顏色會被保存,且有損壓縮影響較少,且壓縮比高。壓縮率提升比(ROI壓縮率/無損壓縮率),可以看到第三幅圖的壓縮率提升比有明顯提升,這是因為圖像有大片區(qū)域顏色相近,紋理簡單,有損壓縮時將其空間壓縮較大,且ROI范圍小。

      對于JPEG2000的壓縮率和壓縮時間本次實驗進行了系統(tǒng)的檢驗。本次實驗選取了兩個圖像集,一個是Corel5k中的人物圖像集,共有100張圖片,分別率均為192×128或者128×192。另一個圖像集是網上隨機尋找的直立行人圖像,共有43張,高度為220,寬度為多為330,二者像素數(shù)比為2.89。壓縮數(shù)據(jù)如表4。

      圖6 圖像集壓縮情況對比

      表4 圖像集壓縮結果對比

      由表4看出Corel5k的平均壓縮率為5.865,而網絡圖像的平均壓縮率為4.120。這是因為Corel5k中的圖像,并非完全是行人或直立人的圖像,有一部分人物面孔,所以ROI無法框選,大部分圖像因為被認定成背景區(qū)域而進行有損壓縮,導致圖像壓縮率較大。而本次實驗在網絡上尋找的圖像多是公路行人,且行人數(shù)目較多,所以ROI框選區(qū)域較大,無損壓縮較多,導致壓縮率偏低。由這個數(shù)據(jù)可以簡單看出,壓縮率主要由ROI占總圖像大小比率決定。

      其次,通過Corel5k(ROI)的平均壓縮時間和網絡圖像(ROI)的平均壓縮時間的比例2.118/0.796=2.66,Corel5k(無損)的平均壓縮時間和網絡圖像(無損)的平均壓縮時間的比例0.702/0.313=2.24,可以看出Corel5k與網絡圖像的壓縮時間是由總像素數(shù)影響的。

      Corel5k的壓縮率提升比遠高于網絡圖像,因為網絡圖像多為行人,ROI數(shù)量大,無損壓縮較多,而Corel5k多為人物像,所以難以識別,多為有損壓縮,壓縮率提升高。

      2.2 實驗總結

      本次實驗,主要進行了JPEG2000壓縮效果,SVM性能評測,JPEG2000ROI的效果評測三個部分。通過三個部分對JPEG2000的ROI壓縮效果進行了綜合評測,可以得出結論,JPEG2000無損壓縮對圖像質量基本無影響,有損壓縮對圖像顏色有較大影響,對圖像輪廓影響較小。HOG和SVM技術對圖像訓練負例要求嚴格,一般負例集對負例檢測效果不好。JPEG2000的ROI壓縮效果可以接受,當圖像ROI較少時壓縮率有顯著提升,壓縮時間由圖像大小決定,雖然ROI壓縮時間較大,但是在壓縮率高的條件下,這也是可以接受的。尤其是在大量圖片壓縮,且其中感興趣物體不多的情況下,壓縮率會有明顯提升。

      3 結語

      隨著多媒體技術的不斷發(fā)展,需要用圖像來承載的信息越來越多,而圖像的大小對存儲、傳輸和運算都有一定影響,所以對圖像壓縮技術的需求越來越迫切。本文利用JPEG2000標準,結合HOG和SVM技術實現(xiàn)了對圖像ROI自適應的圖像壓縮。本文主要研究了JPEG2000ROI壓縮方法的實現(xiàn),SVM的圖像檢測性能,JPEG2000ROI壓縮比JPEG2000無損壓縮的壓縮率提升情況,以及圖像內容對于圖像壓縮率的影響。

      猜你喜歡
      壓縮率步長像素
      趙運哲作品
      藝術家(2023年8期)2023-11-02 02:05:28
      像素前線之“幻影”2000
      基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
      “像素”仙人掌
      水密封連接器尾部接電纜的優(yōu)化設計
      纏繞墊片產品質量控制研究
      多載波通信系統(tǒng)中CQI無損壓縮法研究
      分布式多視點視頻編碼在應急通信中的應用
      高像素不是全部
      CHIP新電腦(2016年3期)2016-03-10 14:22:03
      基于逐維改進的自適應步長布谷鳥搜索算法
      汉沽区| 大渡口区| 金乡县| 日喀则市| 清水县| 惠水县| 西安市| 南投县| 图木舒克市| 无棣县| 寿宁县| 衡阳县| 伊川县| 甘南县| 兴安盟| 莒南县| 明光市| 镇江市| 大庆市| 阜宁县| 南京市| 阿克陶县| 什邡市| 汝城县| 兴城市| 台东县| 泗洪县| 呼玛县| 油尖旺区| 资兴市| 共和县| 汝州市| 靖远县| 肥城市| 武山县| 邢台县| 柳江县| 克拉玛依市| 辽源市| 新津县| 定日县|