張羽達 趙德安 劉曉洋
摘 要:隨著港口自動化技術(shù)的發(fā)展,碼頭需要對集裝箱進行自動裝卸作業(yè)。為了解決集裝箱裝卸作業(yè)中對集裝箱鎖孔的識別定位問題,提出一種基于機器視覺的集裝箱鎖孔識別方法,用于輔助碼頭集裝箱的自動化裝卸作業(yè)。首先采集集裝箱照片,對照片中的集裝箱鎖孔進行人工標注,制作成鎖孔樣本,并進行歸一化處理,進而提取鎖孔樣本的HOG特征,然后對SVM進行訓(xùn)練作為集裝箱鎖孔識別分類器,最后采用多尺度滑窗對圖像進行掃描檢測。使用300張測試樣本進行測試實驗,結(jié)果表明,該方法對集裝箱鎖孔的識別率達到92%,鎖孔誤檢率低于3%,而且能夠在各種復(fù)雜光照及背景條件下進行鎖孔檢測,可以滿足港口自動化的實際要求。
關(guān)鍵詞:方向梯度直方圖;支持向量機;機器視覺;分類器;集裝箱鎖孔
DOI:10. 11907/rjdk. 182016
中圖分類號:TP301文獻標識碼:A文章編號:1672-7800(2019)003-0016-04
0 引言
近年來,隨著國際貿(mào)易的飛速發(fā)展,我國出口貿(mào)易量急劇增加。集裝箱運輸方式因具有運輸成本低、可靠性高且運輸方便等優(yōu)點,在國際貿(mào)易運輸中運用普遍,因此需求量增長迅猛。但是隨著集裝箱運貨量的提升,集裝箱運輸對港口裝卸效率的要求也越來越高。傳統(tǒng)手動控制裝卸集裝箱對操作過程要求很高,不但工作強度大、耗時久,而且容易引發(fā)安全事故,嚴重影響了集裝箱裝卸速度與貨物運輸效率。港口起重機作為主要工程機械,也開始向自動化與智能化方向發(fā)展。因此,在起吊過程中,如何引導(dǎo)吊具與集裝箱鎖孔中心快速對準顯得格外重要。
隨著計算機硬件技術(shù)的發(fā)展,許多研究人員和工程師開始使用圖像視覺系統(tǒng)定位與識別目標[1]。圖像視覺系統(tǒng)首先用于識別集裝箱箱號。Wu等[2]利用機器視覺技術(shù)識別集裝箱箱號,通過訓(xùn)練后的支持向量機對集裝箱箱體字符進行識別,為碼頭、堆場、海關(guān)自動化管理關(guān)鍵技術(shù)提供了解決方案;Mi等利用圖像處理技術(shù)解決港口人員的安全問題;Peng對基于機器視覺的起重機操作進行改進,利用視覺系統(tǒng)跟蹤及引導(dǎo)起重機操作;傅圣雪等[3]通過模板匹配實現(xiàn)集裝箱定位與追蹤,系統(tǒng)利用Matlab獲取實時視頻流,將HSV顏色空間量化編碼成162色,從而實現(xiàn)對圖像匹配區(qū)域的壓縮,然后通過直方圖相交算法計算檢測圖像與模板相似度,進而識別圖像中的集裝箱,并且通過步長平移搜索方案提高系統(tǒng)識別速度,滿足了系統(tǒng)實時性要求;Hee-Joo等[4]使用雙目視覺系統(tǒng)對集裝箱鎖孔進行追蹤與定位,具體過程為:首先識別集裝箱邊緣,然后根據(jù)邊緣處的拐角定位集裝箱鎖孔,進而計算集裝箱中心位置,以及吊具與集裝箱的高度和角度,以輔助集裝箱的自動裝卸操作。但該方法不能直接檢測集裝箱鎖孔,所以對于自動化集裝箱碼頭,如何快速識別與定位集裝箱鎖孔則顯得尤為重要,但目前國內(nèi)外對集裝箱鎖孔定位研究并不多。
目前,國內(nèi)大多數(shù)集裝箱碼頭仍然采用遠程手動操作方式完成集裝箱裝卸。由于缺少集裝箱鎖孔識別技術(shù),只能由司機憑經(jīng)驗將吊具鎖頭對準集裝箱各個鎖孔,不但勞動強度大,而且容易引發(fā)安全事故。如果出現(xiàn)誤操作,容易導(dǎo)致集裝箱箱體破損,嚴重影響集裝箱碼頭裝卸效率[5]。因此,本文提出一種自動識別集裝箱鎖孔的方法,采用機器視覺技術(shù),結(jié)合計算機的高速計算完成集裝箱鎖孔識別與定位。該方法可有效減輕集裝箱裝卸人員的工作壓力,實現(xiàn)港口的自動化,從而提升集裝箱碼頭的經(jīng)濟效益。
1 HOG特征提取算法
1.1 特征提取算法簡介
傳統(tǒng)集裝箱鎖孔識別方法是首先對集裝箱圖像進行預(yù)處理、圖像分割,進而提取集裝箱鎖孔的幾何與顏色特征,然后進行識別。但該方法穩(wěn)定性不強,在復(fù)雜光照及背景條件下則無法進行定位追蹤。實現(xiàn)集裝箱鎖孔自動檢測與識別的核心在于特征提取,特征提取算法對目標識別的檢測速度和準確度有著巨大影響。目標檢測中較為成熟的技術(shù)有人臉識別、車牌識別、車輛檢測、行人檢測,其中的常用算法有HOG特征(Histogram of Oriented Gradient,方向梯度直方圖)、LBP(Local Binary Pattern,局部二值模式)特征、Haar-like特征、顏色特征等,Haar-like和LBP特征可以很好地描述圖像明暗變化[6],所以多用于人臉檢測,而HOG的優(yōu)點在于對物體形狀比較敏感,所以在行人識別領(lǐng)域應(yīng)用較多。由于集裝箱鎖孔的形狀與輪廓較為明顯,因此本文選取HOG特征作為集裝箱鎖孔的特征提取算法。
1.2 樣本圖像制作
集裝箱鎖孔檢測框架如圖1所示。集裝箱鎖孔在不同角度與光照強度下,外觀具有較大差異,所以需要建立充足的集裝箱鎖孔樣本集。本文使用的集裝箱照片及視頻是在晴天、陰天等不同天氣情況下,從鎮(zhèn)江港集裝箱碼頭采集的。集裝箱頂部共有4個鎖孔,因為實際采集的測試樣本存在遮擋情況,一些集裝箱鎖孔上的污漬反射光以及圖像某些區(qū)域亮度過高,對識別效果造成一定影響。因此,考慮在特征提取與訓(xùn)練分類前先進行圖像增強。由于集裝箱鎖孔外觀是外方內(nèi)圓,輪廓特征較為明顯,所以圖像增強主要采用高通濾波銳化和拉普拉斯算子[7]。根據(jù)在集裝箱碼頭拍攝的現(xiàn)場裝卸視頻,通過編寫程序讀取視頻文件并逐幀保存為圖片文件,然后從圖片文件中標注出集裝箱頂面的4個集裝箱鎖孔樣本,并將圖片尺寸歸一化,進而進行特征選擇與提取。集裝箱鎖孔作為正樣本,如圖2所示,不含鎖孔的圖像作為負樣本,如圖3所示。
1.3 HOG算法分析
HOG是法國學者Dalal[8]于2005年在CVPR(Conference on Computer Vision and Pattern Recognition)上提出的一種特征提取算法,HOG特征首先用于行人檢測[9]。在本文中,只需在集裝箱頂部圖像中檢測到4個角的集裝箱鎖孔。與人體復(fù)雜特征相比,集裝箱鎖孔的邊緣輪廓特征更加明顯,理論上可以得到更高的識別準確率。HOG特征提取步驟大致如下:
(1)色彩空間標準化。因為在提取HOG特征過程中顏色對其影響不大,所以需要先將彩色圖像轉(zhuǎn)化為灰度圖,B、G、R分別為藍色、綠色與紅色通道的原始像素值,將三通道轉(zhuǎn)換為單通道公式如下:
為了調(diào)節(jié)圖像對比度,減少噪音以及陰影與光照對圖片的影響,可以采用Gamma校正法對圖像進行歸一化處理[10],以有效降低光照變化引起的干擾,Gamma=[12],公式如下:
(2)圖像梯度計算。通過計算圖像中橫坐標與縱坐標方向的梯度,并計算出每個像素的梯度方向值,獲得圖像紋理信息,進而繼續(xù)弱化陰影與光照的影響。
根據(jù)式(3),圖像中像素點[(x,y)]的梯度為:
(3)為細胞單元構(gòu)建方向梯度直方圖。通過一個16*16的像素塊(block)對檢測窗口進行掃描,該像素塊被分成4個8*8的細胞單元(cell),梯度方向被分為9部分,稱為箱(bin)。通過9個bin的直方圖統(tǒng)計細胞單元梯度信息。
(4)圖像HOG特征提取。將細胞單元組合成塊并歸一化梯度直方圖。將各個細胞單元組合成連通的塊,并將塊內(nèi)所有細胞單元的特征向量合并起來,稱為該塊的特征向量。因為有重疊區(qū)域,所以特征向量雖然結(jié)果不同,但仍可以將其保存至特征向量中[11],歸一化后的塊描述向量即為HOG描述符。最后對所有塊進行HOG特征提取,將其處理為特征向量用于之后的訓(xùn)練分類[12]。
至此,訓(xùn)練樣本已建立完成,正樣本合計1 095張,負樣本5 762張。集裝箱鎖孔樣本尺寸越大,識別精度越高,然而,若圖像尺寸過大會導(dǎo)致特征維度過高,從而使程序運行耗時較長,且占用較大內(nèi)存。所以本文經(jīng)過測試,將集裝箱鎖孔樣本大小調(diào)整為120*80像素,胞元大小為8*8像素,塊大小為16*16像素,每個像素點梯度分為9級,支持向量個數(shù)為905,檢測子維數(shù)為4 537,在保證運行速度的同時,也滿足了實際操作中對識別精度的要求。
2 SVM分類器訓(xùn)練
2.1 SVM原理介紹
Cortes & Vapnik[13]在1995年首次提出SVM(Support Vector Machine,支持向量機),其在解決小數(shù)據(jù)集、非線性與高維模式識別問題方面具有明顯優(yōu)勢。因為通過HOG特征提取集裝箱鎖孔的特征維數(shù)較高,所以可以使用SVM作為識別集裝箱鎖孔的分類器。支持向量機是一種新型機器學習算法,其改善了神經(jīng)網(wǎng)絡(luò)學習過程中容易陷入局部極小點以及過學習等缺點[14]。支持向量機可看作一個二值分類模型,其主要功能是分類與回歸,并最終轉(zhuǎn)換為一個二次尋優(yōu)問題,即找到全局最優(yōu)點,所以可用來解決神經(jīng)網(wǎng)絡(luò)中的局部極小值問題,在數(shù)據(jù)分類及模式識別中有著廣闊的應(yīng)用前景。
2.2 SVM訓(xùn)練流程
步驟1:樣本預(yù)處理。根據(jù)在處理區(qū)域捕獲的圖像,集裝箱鎖孔保持為120*80像素窗口大小,將其作為正樣本。負樣本大小與正樣本保持一致。
步驟2:HOG特征提取。正樣本標記為[yp]= +1,負樣本標記為[yp]= -1,然后提取每個樣本的HOG特征。
步驟3:SVM初始化分類訓(xùn)練。將步驟2得到的HOG特征用于生成初始SVM分類器。
步驟4:難例。利用初始SVM分類器檢測負樣本將出現(xiàn)一些誤判[15],被錯誤分類的負樣本稱為難例,如圖4所示。
步驟5:根據(jù)難例對SVM分類器進行二次訓(xùn)練。將難例加入負樣本集合進行二次訓(xùn)練,通過難例中的HOG特征提取,將初始HOG特征組合為新的HOG特征空間。因此,可以通過新的HOG特征空間訓(xùn)練出最終的SVM分類器,從而顯著減少誤判。
鎖孔識別主要依靠鎖孔外方內(nèi)圓的形狀特征,然后采用滑窗加圖像金字塔的方式對圖像進行框選。雖然滑動窗口大小不變,但窗口滑動過程中圖片尺度可以放大或縮小。所以在實際檢測中,將圖片放大或縮小到各種分辨率進行檢測,可以實現(xiàn)對不同大小鎖孔的識別,并根據(jù)框選區(qū)域特征進行分類。
3 實驗與結(jié)果分析
為了驗證所用方法的可靠性與實用性,本文在Windows 7平臺下使用Visual studio 2012結(jié)合OpenCV2.4.4編寫集裝箱鎖孔識別程序,并在處理器為Inter Core(TM)i7-7707HQ CPU@2.80GHz、內(nèi)存為8G的筆記本電腦上運行。同時考慮到實際測試需要,在Visual studio2012上使用MFC編寫程序圖形界面,主要功能為對圖片與視頻中的集裝箱鎖孔進行識別,如圖5所示。
本文使用300張測試樣本對程序識別效果進行測試,測試樣本由4個攝像頭采集的圖像組合而成,大小為1 920*1 080像素,同時本文還使用LBP+Adaboost方法進行對比試驗。LBP指局部二值模式,是一種用來描述圖像局部特征的算子,LBP特征由于計算簡單,在計算機視覺領(lǐng)域得到了廣泛應(yīng)用[16]。Adaboost分類器是一種元算法分類器,其利用同一種基分類器(弱分類器),基于分類器的錯誤率分配不同權(quán)重參數(shù),最后累加加權(quán)的預(yù)測結(jié)果作為輸出。本文通過LBP算子提取集裝箱鎖孔特征,通過調(diào)節(jié)參數(shù)訓(xùn)練出合適的級聯(lián)分類器,對集裝箱鎖孔進行識別。LBP+Adaboost識別效果如圖6所示,HOG+SVM識別效果如圖7所示,矩形框為識別出的集裝箱鎖孔。通過兩張圖片的對比,可以看出LBP算法存在明顯的誤檢情況,并且對集裝箱鎖孔的定位存在一定偏差,而HOG特征結(jié)合SVM方法的定位更加精準。由統(tǒng)計得到的測試結(jié)果(見表1)可知,HOG特征結(jié)合SVM識別方法的集裝箱鎖孔識別率與誤檢率均優(yōu)于LBP+Adaboost識別方法。集裝箱鎖孔識別程序在識別測試樣本時準確率達到92%以上,且定位效果良好,識別時間為170ms左右,基本可以滿足實際要求。
4 結(jié)語
本文針對集裝箱鎖孔定位問題,提出一種集裝箱鎖孔多尺度檢測算法。與傳統(tǒng)集裝箱鎖孔檢測方法相比,該算法具有更高的識別準確率與更低的誤檢率,綜合識別率達到92%以上,很好地解決了在實際港口裝卸過程中集裝箱鎖孔容易受到光照引起光學畸變,以及因污漬導(dǎo)致的特征覆蓋等問題。同時當攝像頭角度發(fā)生變化引起一定的幾何畸變時,該識別方法仍然可以進行識別,具有較強的魯棒性,因而具有較好的應(yīng)用前景。但其在對集裝箱鎖孔中心點定位時還不夠精準,在本文基礎(chǔ)上應(yīng)再設(shè)計鎖孔二次精準定位算法,以提高集裝箱鎖孔識別的準確性,從而對集裝箱自動裝卸起到更好的輔助作用。
參考文獻:
[1] 李靜,高曉蓉,楊凱. 基于HOG特征及SVM的機車車底螺栓檢測方法[J]. 信息技術(shù),2016(3):125-127,135.
[2] WU W, LIU Z, CHEN M, et al. An automated vision system for container-code recognition[J]. Expert Systems with Applications, 2012, 39(3):2842-2855.
[3] LOURENCO L H A, WEINGAERTNER D, TODT E. Efficient implementation of Canny edge detection filter for ITK using CUDA[C]. Computer Systems. IEEE, 2012:33-40.
[4] YOON H J, HWANG Y C, CHA E Y. Real-time container position estimation method using stereo vision for container auto-landing system[C]. International Conference on Control Automation and Systems. IEEE, 2010:872-876.
[5] 漆靜.? 基于機器視覺集裝箱吊具智能定位系統(tǒng)研究[D]. 成都:西南交通大學, 2015.
[6] HAN S,HAN Y,HAHN H. Vehicle detection method using Haar-like feature on real time system[J].? Chemistry,2009,15(37):455-459.
[7] 錢松,李建榮. 應(yīng)用拉普拉斯算子設(shè)計高通濾波器進行圖像增強分析[J]. 軟件導(dǎo)刊,2011,10(12):158-159.
[8] DALAL N,TRIGGS B. Histograms of oriented gradients for human detection[C]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition. IEEE Computer Society, 2005:886-893.
[9] 徐淵,許曉亮,李才年,等. 結(jié)合SVM分類器與HOG特征提取的行人檢測[J]. 計算機工程,2016,42(1):56-60,65.
[10] ZHU Q, YEH M C, CHENG K T, et al. Fast human detection using a cascade of histograms of oriented gradients[C]. Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. IEEE, 2006:1491-1498.
[11] SUARD F,RAKOTOMAMONJY A,BENSRHAIR A, et al. Pedestrian detection using infrared images and histograms of oriented gradients[C]. Intelligent Vehicles Symposium. IEEE, 2006:206-212.
[12] 郭烈,趙宗艷,聶倩,等. 利用腿部區(qū)域HOG特征的行人檢測方法[J]. 計算機工程與應(yīng)用,2013,49(1):217-221.
[13] BURGES C J C. A tutorial on support vector machines for pattern recognition[J]. Data Mining & Knowledge Discovery, 2008, 2(2):121-167.
[14] SUN Z, BEBIS G, MILLER R. Quantized wavelet features and support vector machines for on-road vehicle detection[C]. International Conference on Control, Automation, Robotics and Vision. IEEE, 2002:1641-1646.
[15] 李曉飛. 基于深度學習的行人及騎車人車載圖像識別方法[D].? 北京:清華大學, 2016.
[16] 董曉曉. 基于多塊LBP及AdaBoost算法的公交車客流量統(tǒng)計方法研究[D]. 西安:西安電子科技大學, 2016.
(責任編輯:黃 ?。?/p>