目前,基于視頻的國家儲備糧自動監管與稽核系統的技術核心是通過計算機系統對糧庫場景圖像的自動分析與識別,精確得到糧庫的糧食總數量,以彌補現行人工監管方式的缺陷,杜絕虛庫、虛報貼息等現象,以滿足管理部門對儲備糧自動監管與稽核的管理需求。
儲備糧庫中的糧袋是從底層向頂層逐層地累加立體式堆放,形成一個大立方體式結構,如圖1(a)所示。在攝像器材所捕捉到的圖像中,這個大立方體有三個面:頂面和兩個側面。由于光照和堆放方式的影響,在視頻圖像中,糧袋表面不同地方的灰度值會有很大差別,糧袋的中心區域會比較亮,而周邊區域會比較灰暗,因此在視覺上,人們看到的糧袋邊界呈現出一個近似的橢圓形。而每一個糧袋在視頻圖像中均能看見三個不同的面,所以會形成三類不同的橢圓。如果能精確地識別大立方體三個面上有多少個橢圓,那么就能識別出糧袋的數量,而每袋糧食的重量是固定且已知的,由此可以得到整個立方體糧堆的數量,因此,袋裝糧數量識別就是對圖像中橢圓數量的識別。所以對袋裝糧的儲備糧倉的糧食數量識別的關鍵就是找到一種快速、準確、有效的橢圓形狀的提取與描述方法,以確保能夠對每一袋糧食進行精確的識別。
橢圓邊界處理與描述主要包括邊界定位和描述兩個方面,本文采用一種改進的Laplace算子和邊界方向鏈碼來對袋裝糧圖像進行邊緣檢測和描述,針對所檢測出的橢圓邊界有少量不完全閉合的問題,采取數學形態學的閉合操作來修補連接邊界的缺口。試驗證明,改進的Laplace算子和邊界方向鏈碼對袋裝糧邊界分割和描述具有較高魯棒性,能取得較好的效果。
1 糧袋邊緣提取
邊緣是指圖像中周圍像素灰度差有強烈反差的那些像素的集合,它廣泛存在于目標與目標之間、目標與背景之間。圖像邊緣是圖像最重要的特征之一,是圖像分割、紋理特征和形狀特征等圖像分析的重要依據。具體到袋裝糧圖像,邊緣描述了糧袋的形狀信息,而形狀信息正是識別和分析糧袋橢圓邊緣的依據,所以對袋裝糧圖像進行處理的首要工作就是糧袋邊緣檢測。
在數字圖像中,邊緣點和噪聲點均屬于圖像中灰度突變點,因此在邊緣檢測中,邊緣定位能力和噪聲抑制能力是相互矛盾的,有的算法邊緣定位能力比較好,有的算法抗噪聲能力比較強,每種算法都有各自的優缺點。參考文獻針對袋裝糧圖像的特點,對現有的Laplace邊緣檢測算子的模板進行了適當的改進,通過設置更加合理的Laplace模板權值參數,提高了袋裝糧圖像邊緣檢測的精度,所檢測到的邊緣信息更加豐富和清晰,檢測效果如圖1(b)所示。
在對袋裝糧圖像邊緣檢測過程中,所選擇的邊緣檢測算法既要精確定位邊緣,又要使所檢測的邊緣盡量是封閉的曲線,以便于邊界描述和特征的提取。實驗結果顯示,盡管改進的Laplace算子具有較好的檢測效果,但是所得到的邊緣依然不是完全閉合的,且存在大量虛假邊緣,這使得邊界描述將無法進行。其原因:(1)該幅圖像的對比度較低;(2)該幅圖像比較復雜,目標體較多。因此,單純的依靠邊緣檢測算子是很難得到閉合的邊緣曲線。
自1964年Matheron提出了數學形態學以來,在經過以Meyer、Serra、Sternberg為代表的眾多學者的努力下,形態學方法已經成為非線性圖像處理中的一種重要手段。數學形態學通過選取合適的結構元素(探針)實現目標特征提取,其基本運算有:膨脹、腐蝕、開啟和閉合。其中開啟和閉合運算是由基本運算(膨脹和腐蝕)組合而成的復合運算。閉合運算可以去除區域中的小孔,填平狹窄的斷裂、細長的溝壑以及輪廓的缺口等,這正好適用于去除糧袋邊緣的缺口,使得檢測到的邊緣是閉合邊界。由于數學形態學是基于二值圖像進行操作的,所以在圖像預處理中需要加入二值化操作步驟。針對糧袋形狀的特點,本文選取橢圓形的結構元素對圖1(a)二值化后的結果進行數學形態學的閉合運算,再進行邊緣檢測,得到最終糧袋邊緣輪廓,如圖2所示。
2 糧袋邊界描述
對所需要識別的物體進行描述時,希望能使用一些比單個參數提供更豐富的細節信息,而又比用圖像本身更緊湊的方法來描述物體。圖像表示可以基于其內部特征,也可以基于其外部特征,由此可將圖像的描述分成邊界描述(如鏈碼、邊界分段等)和區域描述(如四叉樹、骨架等)兩大類。通常,邊界描述較為關心的是圖像中區域的形狀特征,而區域描述則傾向于反映區域的灰度、顏色、紋理等特征。在袋裝糧自動識別中,關注的是糧袋的形狀,因此,本文選擇邊界描述法來描述糧袋邊緣。
在對糧袋進行識別的過程中,要求嚴格按照糧袋實際形狀進行各項特征參數的統計計數,因此,準確地描述邊緣輪廓很重要。國內外學者已經對二維輪廓曲線的描述問題從不同角度展開了研究,并提出了下面多種邊界曲線描述方法。
(1)多邊形近似逼近輪廓法。參考文獻中提出用輪廓線的近似多邊形來表示邊界,常用的多邊形表達方法有:基于收縮的最小周長多邊形法、基于聚合的最小均方誤差線段逼近法、基于分裂的最小均方誤差線段逼近法。在數字圖像中,邊界曲線是由一個個像素點組成的,如果每相鄰的2個像素點組成一條直線,則就可以用若干條直線來精確表達邊界,但這種方法計算量大,實時性較差。如果按照一定的算法來離散化邊界像素點,雖然可以減少計算量,但是邊界描述的精度大大降低,因此,此種方法不適用于糧袋邊緣的描述。
(2)基于B樣條的邊界曲線表示法。參考文獻中提出了一種基于B樣條的邊界曲線表示法,這種方法的優點是在一定程度上考慮到了輪廓線的幾何特征,但是對輪廓曲線進行采樣、擬合是一個相當繁瑣的過程,不適于糧袋的邊界描述。
(3)邊界鏈碼法。1977年,Freeman首先提出了4向鏈碼和8向鏈碼,因此鏈碼又稱為Freeman碼。鏈碼法是用邊界曲線起始點的坐標和邊界點方向代碼來描述邊界曲線的方法,常被用來在圖像處理、計算機圖形學、模式識別等領域中表示曲線和邊界區域。該方法主要是利用一系列具有特定長度和方向相連的直線段來表示目標的邊界。由于每個線段的長度固定而且方向數目有限,因此,只有邊界的起點需要采用絕對坐標表示,其余點都可只用連續方向來代表偏移量,而且對于每一個點只需要一個方向數就可以代替兩個坐標值。由此可見,表示一個方向數比表示一個坐標值所需的比特數要少。因此,采用鏈碼表示可大大減少邊界表示所需要的數據量。此外,鏈碼具有簡單、節省存儲空間、便于計算以及平移不變性等特點,使得對于封閉區域特征參數的統計變得簡單易行。
袋裝糧圖像中存在多個橢圓,需要對每一個橢圓進行描述和識別,因此需要采用一種計算簡單、存儲量小、實時性高的算法,而且糧袋邊界是一條封閉的曲線。因此,本文采用邊界鏈碼法來對糧袋邊緣進行描述。
數字圖像是按照固定間距的網格進行采樣的,因此最簡單的鏈碼是跟蹤邊界并賦給每兩個相鄰像素的連線一個方向值。常用的有4方向和8方向鏈碼,如圖3所示。在數字圖像中,任意一個像素點周圍均有8個鄰接點,而8方向鏈碼正好與像素點的實際情況相符,因此能夠準確地描述中心像素點與其鄰接點的信息。在8方向鏈碼中,鏈碼沿著數字曲線或者邊界像素以八鄰接的方式移動和編碼,相鄰兩個像素的偏移量用數字0“7表示,碼值加1,其所指的方向則按逆時針旋轉45°。
一條邊界曲線可以由曲線的起始點和該曲線的鏈碼唯一確定。假設曲線S如圖4所示,其鏈碼由數組Lianma[]表示。
采用8方向鏈碼描述曲線S得到的數組Lianma[]={0,6,0,7,0,6,5,4,4,3,2,2,2}。從圖中可以看出,只要知道邊界任意一點的坐標和其他點的鏈碼值,就能準確地描述出區域的邊界。為了得到一個完整的邊界鏈碼,便于后續處理(如鏈碼的存儲、特征的提取、重構等),可將曲線起始點坐標、曲線鏈碼和鏈碼長度一起存放在一個鏈碼表中[10],鏈碼表格式如圖5所示。
針對已經進行邊緣提取并進行二值化后的袋裝糧圖像,用行掃描法得到糧袋邊緣的最左上角的邊界點作為跟蹤的起始點,采用8方向鏈碼搜索邊緣,邊界鏈碼跟蹤袋裝糧圖像邊界輪廓算法步驟如圖6所示。
對圖像邊緣進行邊界跟蹤的目的是為了提取圖像中目標體的特征點(如邊界曲線的端點、交叉點、拐角點、閉合曲線的形心等),以便識別對象體。在對袋裝糧圖像中糧袋橢圓邊緣曲線進行提取之后,根據數學知識可做如下判斷:(1)設置橢圓方差閾值,判斷邊界曲線是否是接近橢圓形狀;(2)如果邊界曲線是一個近似的橢圓,則可以用一系列橢圓的數學特征的線性組合作為對袋裝糧圖像識別的隸屬度函數。橢圓的數學特性有周長、形心、面積、離心率等,而這些參數很容易通過邊界鏈碼計算得到,可以采用特征量的線性組合作為隸屬度函數對袋裝糧圖像的橢圓邊界進行識別,以區分不同面上的糧袋,從而達到智能識別的目的。
針對所提取出來的邊緣不是完全閉合的問題,采用數學形態學的閉合運算對二值圖像進行預處理后再進行邊緣檢測,最終得到了完全閉合的邊界。鏈碼法與其他方法相比,算法簡單、可大幅度減少數據、可以提高圖像處理速度和匹配效率,以及具有平移不變性等特點,使得對于封閉曲線區域特征參數的統計變得簡單易行。糧袋邊緣精確的檢測和描述是糧食數量智能識別的前提,試驗證明,本文采用改進的Laplace算子對袋裝糧圖像進行邊緣檢測,所提取的邊界更為平滑、連續、清晰。
責任編輯:gt
-
計算機
+關注
關注
19文章
7494瀏覽量
87953
發布評論請先 登錄
相關推薦
評論