劉曉琳,黃 興,岳子皓,何乃超,李雪濤
(中國民航大學 航空自動化學院,天津 300300)
隨著國民經濟的快速發(fā)展,我國航空運輸市場不斷發(fā)展。機場航班次數(shù)的增多所帶來的飛機頻繁起降使得機場跑道附著的膠質層日益增厚,導致摩擦因數(shù)不斷降低,從而影響飛機的起降安全?,F(xiàn)有的膠痕檢測系統(tǒng)是將攝像頭所采集到的膠痕圖像數(shù)據(jù)傳送給識別裝置,實現(xiàn)機場跑道膠痕的自動識別,不再依賴人眼檢測膠痕。但這種直接傳輸原始圖像數(shù)據(jù)的方法需要傳輸?shù)臄?shù)據(jù)量大、耗時久,大大降低了系統(tǒng)的工作效率。為了解決該問題,對現(xiàn)有的膠痕檢測系統(tǒng)進行改進,采用JPEG圖像壓縮編碼技術,降低數(shù)據(jù)傳輸量,并利用Wifi傳輸技術和神經網絡識別技術進行機場跑道膠痕圖像的傳輸和識別。通過仿真試驗及實物測試驗證JPEG壓縮編碼技術在系統(tǒng)中的可行性。
該系統(tǒng)以STM32單片機為硬件平臺和以VS2012為軟件開發(fā)環(huán)境,實現(xiàn)飛機跑道膠痕的自動識別。系統(tǒng)構成如圖1所示。
圖1 系統(tǒng)構成Fig.1 System components
整個系統(tǒng)包括圖像數(shù)據(jù)壓縮、圖像數(shù)據(jù)傳輸和圖像數(shù)據(jù)識別3個子系統(tǒng)。在系統(tǒng)工作時,首先,PC機通過WiFi傳輸模塊向STM32單片機發(fā)送采集膠痕圖像的指令。然后,在圖像數(shù)據(jù)壓縮子系統(tǒng)中,OV7670攝像頭采集到膠痕圖像后,STM32對膠痕圖像進行JPEG壓縮編碼處理,并同時完成膠痕圖像在TFTLCD液晶屏上的顯示。接著,在圖像數(shù)據(jù)傳輸子系統(tǒng)中,WiFi傳輸模塊通過RS232總線獲取壓縮后的膠痕圖像數(shù)據(jù),并同時將圖像數(shù)據(jù)傳送至無線網絡。最后,在圖像數(shù)據(jù)識別子系統(tǒng)中,PC機連接無線網絡,獲取壓縮后的膠痕圖像數(shù)據(jù),通過在VS2012環(huán)境下實現(xiàn)的神經網絡識別技術,對膠痕等級進行評定,并將評定結果傳送至報警模塊。
JPEG壓縮編碼是基于離散余弦變換DCT(discrete cosine transfotm)實現(xiàn)的,具有變換前后信號熵及能量不變、求解精度高、抗噪聲能力好、壓縮比大、恢復效果好等優(yōu)點[1]。由于DCT變換是針對于YCbCr圖像數(shù)據(jù)的,故首先將OV7670攝像頭采集到的大小為320×240的RGB565圖像數(shù)據(jù)轉換到YCbCr色彩空間。然后,將YCbCr數(shù)據(jù)分為一個個8×8的數(shù)據(jù)單元矩陣。接著,對每個8×8數(shù)據(jù)單元矩陣進行DCT變換、量化和編碼,實現(xiàn)膠痕圖像壓縮[2],得到壓縮后JPG格式的膠痕圖像。壓縮流程如圖2所示。
圖2 膠痕圖像的壓縮流程Fig.2 Rubber marks image compression process
完成跑道膠痕圖像數(shù)據(jù)的像素空間轉換和分塊后,為了使像素數(shù)據(jù)能夠被DCT變換接收,要對所有的像素數(shù)據(jù)進行DC電平偏移,即把所有的像素值減去128,使圖像的數(shù)字信息值保持在-128~127之間。然后,將每個數(shù)據(jù)單元的數(shù)值代入二維離散余弦變換公式中進行DCT變換,得到8×8的DCT頻率系數(shù)矩陣。二維離散余弦變換公式為
式中:x和y為圖像數(shù)據(jù)矩陣內某個數(shù)值的坐標位置; f(x,y)為圖像數(shù)據(jù)矩陣內坐標為(x,y)的像素值;u和v為DCT變換后矩陣內某個DCT系數(shù)的坐標位置;F(u,v)為 DCT 變換后矩陣內坐標為(u,v)的DCT系數(shù)值。
完成DCT變換以后,每個8×8的數(shù)據(jù)單元對應轉換成為8×8的DCT頻率系數(shù)矩陣。這些系數(shù)包含了圖像的頻率信息,左上角為低頻分量,右下角為高頻分量。每個頻率系數(shù)矩陣中的第一個數(shù)據(jù)為DCT頻率系數(shù)的DC系數(shù)(直流分量),剩下的63個數(shù)據(jù)為AC系數(shù)(交流分量)。對某一8×8矩陣進行DCT變換后,能夠得到變換前矩陣和變換后的DCT頻率系數(shù)矩陣如圖3所示。
圖3 DCT變換前后對比Fig.3 Before and after comparison of DCT
由圖3分析可知,DCT變換后左上角的低頻分量明顯大于右下角的高頻分量,表明了圖像的信息都集中在了低頻分量處。
獲得膠痕圖像的DCT頻率系數(shù)矩陣后,要對每個DCT系數(shù)矩陣進行量化。所謂量化,就是讓每個頻率系數(shù)矩陣對應除以一個量化表,并將結果四舍五入取整。因為經DCT變換后圖像的信息主要集中在左上角的低頻分量處[3],故在對圖像進行壓縮重構時,適當?shù)暮雎愿哳l分量,能夠在保證圖像質量的情況下減少數(shù)據(jù)量。量化的目的就是在保留圖像低頻分量的同時,讓更多的高頻分量變?yōu)?,提高圖像的壓縮比。由于人眼對低頻分量敏感,而對高頻分量不敏感[4],故在量化表中左上角的值要小于右下角,其中的每個量化值是通過大量的心理視覺實驗得出的最佳量化值。用于亮度的量化表如圖4(a)所示。對圖3(b)所示的DCT變換后的矩陣進行量化得到量化后矩陣如圖4(b)所示。
圖4 亮度量化表及量化后矩陣Fig.4 Luma quantization table and quantized matrix
由圖4分析可知,量化后的矩陣只有左上角的一小部分不為0,右下角高頻分量處全部為0,能夠通過編碼大量地減少數(shù)據(jù)的傳輸量。
完成了DCT頻率系數(shù)的量化后,要對每個頻率系數(shù)矩陣進行編碼。在編碼前,首先要對每個頻率系數(shù)矩陣進行Z形掃描重新排序。Z形掃描的順序如圖5所示。
Z 型掃描后,8×8 的頻率系數(shù)矩陣變?yōu)?×64的一維數(shù)列。第1個數(shù)為原來的DC系數(shù),后63個數(shù)為AC系數(shù)。
對DC系數(shù)進行編碼時,首先,對其進行差分脈沖編碼調制[5]DPCM(differential pulse code modulation),即將每個數(shù)據(jù)單元的DC系數(shù)與前一個數(shù)據(jù)單元的DC系數(shù)做差值,對差值進行編碼。然后,在表1中找到差值對應的霍夫曼碼,將霍夫曼碼值與差值相連完成DC系數(shù)的編碼。
圖5 Z形掃描的順序圖Fig.5 Z-scan sequence diagram
表1 DC差值的霍夫曼編碼表Tab.1 Z-scan sequence diagram
對AC系數(shù)進行編碼時,首先,對AC系數(shù)進行游程編碼 RLE (run-length encoding), 獲得形如RRRR/SSSS(RRRR為一個非零的AC系數(shù)前,連續(xù)零值的個數(shù),SSSS為這個非零AC系數(shù)的二進制比特數(shù))的中介形式。然后,在表2中找到中介形式對應的霍夫曼碼值,并將該霍夫曼碼值與AC系數(shù)相連完成AC系數(shù)的熵編碼。
表2 中介形式與霍夫曼編碼值對照表Tab.2 Intermediary form and Huffman encoding value table
在AC系數(shù)編碼過程中,由于RRRR為4位二進制數(shù)的形式,所以在一個中介形式中最多能夠表示15個0,當連續(xù)為0的AC系數(shù)個數(shù)超過了15時,用15/0表示16個連續(xù)的0,用0/0表示其后的所有AC系數(shù)都是0。對AC系數(shù)編碼完成后即完成了膠痕圖像的JPEG壓縮編碼,獲得JPG格式的膠痕圖像。
為了驗證DCT變換后圖像信息集中在低頻分量處,在Matlab中進行DCT仿真試驗。為了驗證JPEG壓縮編碼技術在膠痕檢測系統(tǒng)中的可行性,在實物系統(tǒng)中實物測試。
DCT變換前后的圖像為灰度圖,每個點的灰度值能夠用0~255來表示,當變換前后像素點的差值在15以內時,認為該點像素沒有變化。在Matlab 2012a環(huán)境下對圖像數(shù)據(jù)進行DCT變換,并對保留不同DCT系數(shù)的圖像數(shù)據(jù)進行逆DCT變換,還原圖像數(shù)據(jù)。用還原后未發(fā)生變化的像素點總數(shù)除以圖像的總像素點數(shù),得到的百分比作為二者的相似度。對大量圖像進行以上仿真測試,得到保留不同DCT系數(shù)時變換前后的圖像相似度變化趨勢如圖6所示。
圖6 保留不同DCT系數(shù)時變換前后的圖像相似度變化趨勢Fig.6 Similarity before and after image transformation trends while retaining different DCT coefficients
由圖6分析可知,當只保留1個DCT系數(shù)時,還原后圖像與原始圖像的相似度最低的也在65%以上;當DCT系數(shù)保留至21個時,相似度已經基本上達到90%以上;當DCT系數(shù)保留系數(shù)至32個時大部分的相似度都已達到97%以上。驗證了圖像進行DCT變換后,圖像信息主要集中在低頻分量處的結論。
在以STM32為控制核心的壓縮子系統(tǒng)中完成膠痕圖像的壓縮,并將圖像數(shù)據(jù)通過RS232總線傳送至Wifi傳輸模塊。Wifi傳輸模塊作為中繼,將壓縮后的膠痕圖像數(shù)據(jù)傳輸至PC機,在PC機上完成膠痕圖像的識別。通過圖像數(shù)據(jù)的獲取及保存,獲得如圖7所示的發(fā)送前未壓縮的圖像,及PC機接收到壓縮數(shù)據(jù)后還原的圖像。
膠痕圖像在壓縮前的大小約為450 K,壓縮后的大小約為50 K;在傳輸距離為30 m時,未壓縮的膠痕圖像傳輸時間約為20 s,壓縮的膠痕圖像傳輸時間約為7 s;對未壓縮與壓縮后的膠痕圖像進行識別,得到如圖8所示的結果。
圖7 JPEG壓縮編碼驗證結果Fig.7 JPEG compression coding validation results
圖8 識別結果對比Fig.8 Recognition results contrast
由實物平臺上的驗證結果分析可知,對圖像數(shù)據(jù)進行JPEG壓縮編碼后,獲得的圖像與原始圖像包含的信息量基本一致,而且有效提高了圖像傳輸速率。驗證了JPEG壓縮編碼技術在本系統(tǒng)中的可行性和有效性。
為了提高機場跑道系統(tǒng)的工作效率,保證飛機起降的安全性,設計開發(fā)了一套以STM32單片機為硬件平臺和以VS2012為軟件開發(fā)環(huán)境的機場跑道膠痕圖像檢測系統(tǒng)。采用基于DCT的JPEG圖像壓縮編碼技術進行圖像數(shù)據(jù)的壓縮,在減少數(shù)據(jù)傳輸量的同時保證了數(shù)據(jù)傳輸?shù)男畔⒘?,提高了系統(tǒng)工作效率。仿真試驗和實物測試結果表明,JPEG壓縮編碼技術在此系統(tǒng)中的應用能夠有效提高膠痕圖像傳輸速率。
[1]Suzuki T,Aso H.M-channel fast hartley transform based integer DCT for lossy-to-lossless image coding[J].IEEE Transactions on Image Processing,2013,22(10):3974-3981.
[2]卞國春,胡曦熀.基于DCT壓縮的JPEG圖像快速檢索[J].計算機應用,2005,25(7):1623-1625.
[3]武瑛.DCT變換在圖像壓縮中的應用[J].計算機與現(xiàn)代化,2013(4):103-106.
[4]姚軍財.基于顏色色差的彩色圖像壓縮技術研究[J].液晶與顯示,2012,27(3):391-395.
[5]彭益智,霍家道,徐偉.一種基于TMS320C6678的JPEG編碼算法并行實現(xiàn)方法[J].指揮控制與仿真,2012,34(1):119-122.