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