王 穎,王鵬飛,楊余旺
(南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094)
不同于傳統(tǒng)的測(cè)量方式需要與物體直接接觸,圖像測(cè)量技術(shù)不需要直接接觸被觀測(cè)物體,這樣不會(huì)對(duì)被觀測(cè)物體造成影響,觀測(cè)者也處于安全地帶。運(yùn)用圖像分析技術(shù)能夠?qū)鹘y(tǒng)方法不易測(cè)量的物理量進(jìn)行測(cè)量,例如過(guò)于微小或者物體上的個(gè)別部分等[1]。除此之外,如對(duì)象處于人不能到達(dá)或者不能長(zhǎng)時(shí)間停留的惡劣環(huán)境,也可以通過(guò)先投放或預(yù)設(shè)的采集設(shè)備采集圖像后再進(jìn)行處理分析。更優(yōu)越的是,圖像測(cè)量的自動(dòng)化程度高,圖像的采集、處理、分析、理解可由計(jì)算機(jī)程序預(yù)先設(shè)定,無(wú)需人工干涉,減少了工作量和時(shí)間。相比于直接測(cè)量,圖像測(cè)量需要對(duì)硬件圖像采集系統(tǒng)的參數(shù)進(jìn)行標(biāo)定和修正,這直接影響了測(cè)量的精度和正確性。對(duì)圖像采集系統(tǒng)的標(biāo)定和誤差修正需要使用數(shù)字圖像處理技術(shù),這是后續(xù)對(duì)象測(cè)量的先覺條件和基礎(chǔ)[2]。
隨著計(jì)算機(jī)技術(shù)和硬件設(shè)備的高速發(fā)展,國(guó)內(nèi)外的圖像測(cè)量應(yīng)用和技術(shù)都有了很大進(jìn)展,眾多領(lǐng)域都需要進(jìn)行尺寸測(cè)量,應(yīng)用范圍涵蓋到工業(yè)元件的尺寸測(cè)量、物體形狀子檢測(cè)、模式匹配等諸多方面[3]。
文中研究了基于邊緣檢測(cè)的霍夫變換對(duì)矩形等規(guī)則形狀的檢測(cè)和最小外接矩形對(duì)不規(guī)則形狀的檢測(cè)。其關(guān)鍵思想是:檢測(cè)出目標(biāo)的矩形度,根據(jù)矩形度的大小選擇霍夫變換或最小外接矩形法檢測(cè)目標(biāo)矩形,然后計(jì)算目標(biāo)的尺寸特征。
文中算法屬于圖像分割技術(shù),圖像分割是一種計(jì)算機(jī)視覺技術(shù),是進(jìn)行圖像分析的基礎(chǔ)。它用于將圖像劃分出需要關(guān)注的目標(biāo)或區(qū)域相關(guān)的部分,可以分為完全分割和局部分割[4]。文中主要使用兩種分割技術(shù):基于邊緣分割和基于區(qū)域分割[5],這兩種方法解決了一個(gè)對(duì)偶問(wèn)題。每個(gè)區(qū)域可以用該區(qū)域的封閉邊界表示,而任意封閉邊界也可以顯示一個(gè)區(qū)域。
圖像采集時(shí)同時(shí)采集多個(gè)目標(biāo),經(jīng)OSTU(大津法或最大類間方差法)分割后,再用標(biāo)記法標(biāo)記多個(gè)目標(biāo),分別分割出來(lái)后,對(duì)每個(gè)目標(biāo)逐個(gè)進(jìn)行運(yùn)算測(cè)量。
基于邊緣的分割對(duì)應(yīng)上文中的局部分割,先使用邊緣檢測(cè)子檢測(cè)出圖像的邊緣,再在邊緣圖像上進(jìn)行處理,邊緣圖像中的強(qiáng)度最高的就是圖像在灰度、顏色、紋理等維度上梯度較大的位置。但邊緣檢測(cè)子直接檢測(cè)到邊緣圖像后必須采用后續(xù)步驟將邊緣合并為邊緣鏈,這樣才能形成閉合邊界,從而更好地?cái)M合圖像真實(shí)邊界。最終目的是至少完成部分分割,將局部邊緣集成到一幅圖像中,使圖像中只存在與目標(biāo)物體對(duì)應(yīng)的邊緣鏈?;谶吘壍姆指顣?huì)出現(xiàn)兩個(gè)常見的錯(cuò)誤:一是在沒(méi)有真實(shí)邊界的位置生成噪聲邊緣;二是在實(shí)際存在邊界的位置沒(méi)有產(chǎn)生邊緣點(diǎn),這是受圖像噪聲或圖像中的不當(dāng)信息影響造成的。這樣的錯(cuò)誤對(duì)分割結(jié)果有顯著的負(fù)面影響。
在分割處理之前掌握越多的先驗(yàn)知識(shí),獲得的分割效果越好。例如,文中可以先計(jì)算目標(biāo)的矩形度:
(1)
其中,As為連通域S的面積;Ar為包圍該連通域的最小矩形面積。根據(jù)一定訓(xùn)練集的訓(xùn)練,得到最優(yōu)的閾值Prt,若測(cè)得Pr>Prt,則選用霍夫變換方法,否則選用最小外接矩形方法。
由于物體的走向隨機(jī),圖像中水平和垂直方向的度量不一定是所需要的,所以有必要確定物體的主軸并測(cè)量與之相關(guān)的長(zhǎng)度和寬度。主軸可用內(nèi)部點(diǎn)擬合直線或者應(yīng)用物體的最小外接矩形。根據(jù)目標(biāo)特征選擇不同檢測(cè)方法,若是矩形度高,選擇霍夫變換;若矩形度低于閾值,選擇最小外接矩形。
霍夫變換[6]是一種檢測(cè)圖像中線性結(jié)構(gòu)的有效方法。文中使用的是基于梯度信息改進(jìn)的霍夫變換,流程為圖像采集、預(yù)處理、邊緣檢測(cè)。重點(diǎn)是利用梯度信息,縮小霍夫變換搜索范圍,提高效率和準(zhǔn)確度。
邊緣檢測(cè)提取出對(duì)象的邊界點(diǎn)集[7],由于噪聲的存在,得到的邊緣通常是孤立的或分小段連續(xù)的。所以需要某種算法將邊緣的點(diǎn)連接或找出某種規(guī)律,然后進(jìn)行后續(xù)處理。霍夫變換[8]利用像素空間和參數(shù)空間兩個(gè)空間之間的變換,在同一個(gè)像素空間有相同形狀參數(shù)的曲線或直線變換到參數(shù)坐標(biāo)空間會(huì)在一個(gè)點(diǎn)上形成峰值,從而把像素空間檢測(cè)形狀參數(shù)的問(wèn)題轉(zhuǎn)化為參數(shù)空間統(tǒng)計(jì)峰值問(wèn)題。
在直角坐標(biāo)系下,一條直線可以表示為:
y=kx+b
(2)
霍夫變換的原理就是點(diǎn)線對(duì)偶性[9],兩個(gè)空間的參數(shù)和變量可以相互轉(zhuǎn)換,即像素空間上一定點(diǎn)坐標(biāo)x,y作為參數(shù),k,b作為坐標(biāo)軸變量,這樣k,b就對(duì)應(yīng)參數(shù)空間自變量和因變量。一個(gè)空間的點(diǎn)對(duì)應(yīng)另一個(gè)空間的線,線對(duì)應(yīng)另一個(gè)空間的點(diǎn)。所以要檢測(cè)邊界點(diǎn)集共有的線參數(shù),只需要找到參數(shù)空間線的相交點(diǎn)即可。
k,b的值都可能趨近無(wú)窮大,如當(dāng)直線傾角接近90°,k的值會(huì)逼近無(wú)窮大。為了計(jì)算方便,將參數(shù)空間使用極坐標(biāo)表示,直線的極坐標(biāo)方程如下:
xcosθ+ysinθ=ρ
(3)
其中,ρ表示坐標(biāo)原點(diǎn)到直線的距離;θ表示直線與橫坐標(biāo)的夾角。
由于同一條直線上的點(diǎn)具有一致參數(shù)(γ,θ),因此可以先檢測(cè)出圖片的邊緣,然后對(duì)圖像上每一個(gè)邊緣像素點(diǎn),在參數(shù)極坐標(biāo)下變換為一條正弦曲線,像素空間中在同一條直線上的點(diǎn)映射到參數(shù)空間就是多條正弦曲線,它們會(huì)相交于一點(diǎn)[10],該點(diǎn)具有相同的直線參數(shù)?;舴蜃儞Q就是用該基本思想進(jìn)行直線檢測(cè)。
圖像空間點(diǎn)對(duì)應(yīng)參數(shù)極坐標(biāo)系的正弦曲線如圖1所示。
圖1圖像空間點(diǎn)對(duì)應(yīng)參數(shù)極坐標(biāo)系的正弦曲線
為檢測(cè)規(guī)則的四邊形,可根據(jù)四邊形的特殊幾何特征。矩形的幾何特征包括:具有四條直線,兩兩成對(duì),針對(duì)任意一條直線,有一條直線與之平行,還有兩條與之垂直。根據(jù)邊緣直線的檢測(cè)結(jié)果,可以判斷圖像中是否存在矩形圖形[11],有幾個(gè),并且計(jì)算矩形幾何參數(shù)。
矩形檢測(cè)算法如下:
算法1:矩形檢測(cè)算法。
輸入:包含目標(biāo)的二值圖像;
輸出:矩形尺寸參數(shù)。
(1)邊緣檢測(cè);
(2)應(yīng)用霍夫變換算法求出4個(gè)峰值點(diǎn),對(duì)應(yīng)原圖像中邊緣的4條直線,即矩形的4條邊所在直線;
(3)由4條直線的參數(shù),根據(jù)幾何學(xué)可以求出4個(gè)交點(diǎn)的坐標(biāo),交點(diǎn)成對(duì)求距離可獲得矩形尺寸參數(shù);
(4)將4個(gè)交點(diǎn)坐標(biāo)連線,獲得矩形的輪廓線。
這一類方法還可以用來(lái)檢測(cè)多種由直線段組成的幾何圖形,如梯形、三角形等。文中的改進(jìn)在于利用了梯度信息,由于霍夫變換選擇峰值點(diǎn)時(shí),會(huì)受到拐角的影響導(dǎo)致較大誤差,同時(shí)可能選取到同一方向部分邊界的兩段略有差異的線段造成檢測(cè)測(cè)量失敗。利用邊緣檢測(cè)時(shí)得到的梯度方向,由于是規(guī)則形狀如平行四邊形,梯度方向應(yīng)該有兩個(gè),根據(jù)這兩個(gè)方向分割邊緣點(diǎn)集,而后分別做霍夫變換。
本節(jié)致力于找到一個(gè)能覆蓋輸入的兩維面積最小的任意偏向矩形-最小包圍矩形(MER)[12],然后根據(jù)找到的矩形,提取矩形的長(zhǎng)度和寬度,即為目標(biāo)的長(zhǎng)軸長(zhǎng)度和短軸長(zhǎng)度。
初始狀態(tài)為長(zhǎng)軸與坐標(biāo)系x軸-90°的矩形,長(zhǎng)在水平方向,寬在豎直方向。在[-90°,0°)區(qū)間以每次順時(shí)針旋轉(zhuǎn)一個(gè)增量,最后選取面積最小的矩形。最小面積就是目標(biāo)連通區(qū)域的邊界矩形,可根據(jù)角度和截距計(jì)算外接矩形的面積(見圖2),公式如下:
area=(h1-h2)·(h3-h4)·|cosα·sinα|
(4)
圖2 最小外接矩形幾何計(jì)算
凸包旋轉(zhuǎn)法是根據(jù)任意多邊形的外接矩形的每一條邊與其凸多邊形至少有一個(gè)交點(diǎn)的原則設(shè)計(jì)的,具有比單純旋轉(zhuǎn)法更好的速度和精確性。計(jì)算多邊形的最小凸包,在所得凸包中選擇一條邊作為起始邊,并繞該邊左頂點(diǎn)旋轉(zhuǎn),直至該邊平行于x軸。最后計(jì)算并保存其最小外接矩形(MBR)的坐標(biāo)、邊的編號(hào)及旋轉(zhuǎn)角度。依次選擇剩下的邊,并按照同樣方法計(jì)算并保存同樣的度量。比較所得的MBR的面積,找到面積最小的對(duì)應(yīng)的旋轉(zhuǎn)角度和邊,以該邊的左端點(diǎn)為圓心逆向旋轉(zhuǎn)就是所求的MABR。
顯而易見,任意一個(gè)多邊形的MABR必定經(jīng)過(guò)它的凸包的一條邊,由此可以推導(dǎo)出以上算法所求得的MABR為準(zhǔn)確解。
算法的自適應(yīng)研究(Self-Aadaptation)是指根據(jù)物體、控件的不同恰當(dāng)?shù)靥暨x自身的算法,或調(diào)節(jié)算法的參數(shù)以適應(yīng)物體、控件的多樣性,用戶的不同需求和系統(tǒng)自身容錯(cuò)的需求。通過(guò)檢測(cè)目標(biāo)的形狀,對(duì)目標(biāo)的形狀進(jìn)行描述,提取特定的特征來(lái)表示。例如以下幾個(gè)簡(jiǎn)單的幾何特征,如凹凸面積、矩形度、緊密度等。
矩形度已經(jīng)在上文闡述了。緊密度是用來(lái)表示目標(biāo)區(qū)域的形狀是否緊密的度量:
(5)
根據(jù)這幾個(gè)特征自適應(yīng)地選擇以上兩種方法。
通過(guò)檢測(cè)兩個(gè)正交方向上的直線,從而檢測(cè)矩形。算法如下:
算法2:霍夫變換四邊形檢測(cè)。
輸入:包含多個(gè)目標(biāo)的圖像;
輸出:多個(gè)目標(biāo)的多個(gè)矩形參數(shù)。
(1)圖像預(yù)處理;
(2)OTSU算法二值化,刪除小面積連通區(qū)域;
(3)區(qū)域標(biāo)記;
(4)選擇一個(gè)目標(biāo)區(qū)域,進(jìn)行邊緣檢測(cè);
(5)對(duì)邊緣使用改進(jìn)的霍夫變換檢測(cè)出四條邊;
(6)重復(fù)步驟(4)和(5),直到所有區(qū)域都被選擇過(guò)。
使用的最小外接矩形算法如下:
算法3:最小外接矩形檢測(cè)。
輸入:包含多個(gè)目標(biāo)的圖像;
輸出:多個(gè)目標(biāo)的多個(gè)外接矩形參數(shù)。
(1)圖像預(yù)處理;
(2)OTSU算法二值化,刪除小面積連通區(qū)域;
(3)區(qū)域標(biāo)記;
(4)選擇一個(gè)目標(biāo)區(qū)域,進(jìn)行最小外接矩形檢測(cè);
(5)重復(fù)步驟4,直到所有區(qū)域都被選擇過(guò)。
使用工業(yè)相機(jī)拍攝的多個(gè)元件的圖像作為實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)圖像需要經(jīng)過(guò)校正以及配準(zhǔn)等預(yù)處理工作[13],選取各個(gè)區(qū)域進(jìn)行分割、處理、測(cè)量分析。文中選取出一個(gè)區(qū)域進(jìn)行展示,已經(jīng)進(jìn)行圈劃標(biāo)注。實(shí)驗(yàn)裝置和拍攝圖片如圖3所示。
圖3 裝置和實(shí)驗(yàn)圖
實(shí)驗(yàn)系統(tǒng)截圖如圖4所示。
圖4 系統(tǒng)界面圖
原圖分割出的目標(biāo)區(qū)域如下,分割結(jié)果經(jīng)過(guò)剪裁,去除了噪聲、干擾區(qū)域,僅對(duì)目標(biāo)區(qū)域進(jìn)行檢測(cè)。對(duì)目標(biāo)區(qū)域分別進(jìn)行最小外接矩形檢測(cè)和霍夫變換檢測(cè),矩形標(biāo)畫與原區(qū)域?qū)Ρ热鐖D5所示。
圖5 目標(biāo)區(qū)域檢測(cè)
對(duì)于同一圖像的分割同一區(qū)域圖像,測(cè)量結(jié)果中最小外接矩形算法所求得的區(qū)域像素尺寸為108×108,霍夫變換所求得的像素尺寸為100×100。
最后需要將像素尺寸縮放成實(shí)際尺寸,這里應(yīng)用了比例標(biāo)定的方法,就是在確定圖像采集系統(tǒng)的工作距離后,采集已知尺寸的標(biāo)準(zhǔn)元件的圖像。對(duì)采集圖像進(jìn)行一系列圖像處理分析,計(jì)算出標(biāo)準(zhǔn)元件的尺寸測(cè)量值。若標(biāo)準(zhǔn)元件的已知實(shí)際值為s,在圖像測(cè)量系統(tǒng)中求出的測(cè)量值是S,可以求出縮放比例。而待測(cè)元件獲得的測(cè)量值是l,則零件的實(shí)際長(zhǎng)度可根據(jù)測(cè)量長(zhǎng)度乘以縮放比例求得。為了提升系統(tǒng)標(biāo)定的精確度,可執(zhí)行多次標(biāo)定求均值,得到最無(wú)偏的標(biāo)定系數(shù)K[14]。然后圖像分析算法所得的像素尺寸乘以標(biāo)定系數(shù)K即可得實(shí)際尺寸。
從實(shí)際物體到結(jié)果數(shù)據(jù)的整個(gè)圖像處理和分析過(guò)程是一個(gè)估計(jì)過(guò)程,不可避免地存在誤差,可以分為系統(tǒng)誤差和隨機(jī)誤差。影響測(cè)量的準(zhǔn)確度的因素有許多,文中主要關(guān)注的是[15]:
(1)光學(xué)鏡頭分辨率。
(2)圖像采集的采樣密度;高準(zhǔn)確度需要大過(guò)采樣,不能僅僅根據(jù)采樣定理選取采樣率[16]。
(3)圖像分割的算法;采用不同的分割算法或同一算法中選取不同參數(shù)時(shí)都會(huì)導(dǎo)致分割結(jié)果的變化。霍夫變換方法中主要有4個(gè)參數(shù)會(huì)對(duì)檢測(cè)結(jié)果產(chǎn)生影響:角度范圍、角度步長(zhǎng)、ρ范圍、ρ步長(zhǎng)。最小外接矩形算法對(duì)檢測(cè)結(jié)果產(chǎn)生影響的參數(shù)主要是角度步長(zhǎng)α。
最小外接矩形理論上會(huì)較物體偏大,本質(zhì)因?yàn)槲矬w邊緣會(huì)有一些毛刺,可以對(duì)區(qū)域圖像進(jìn)行開運(yùn)算進(jìn)行優(yōu)化,但總體依舊會(huì)略微偏大。而霍夫變換所取得的矩形與區(qū)域較為接近,有較大的可能偏小,偏大的可能性比較小。實(shí)驗(yàn)中,物體的形狀比較規(guī)則,所以使用霍夫變換的精度較高。而當(dāng)形狀不規(guī)則時(shí),霍夫變換就無(wú)效了,所以最小外接矩形算法的應(yīng)用范圍廣,適應(yīng)度高,而霍夫變換的應(yīng)用范圍小,但是在可適用范圍內(nèi)的精度較高。
表1是分別使用直接傳統(tǒng)測(cè)量、霍夫變換和最小外接矩形方法得到的估計(jì)值的統(tǒng)計(jì)數(shù)據(jù)。
表1 不同算法的測(cè)量寬度結(jié)果對(duì)比 mm
3種計(jì)算方式得到的估計(jì)值的均值和方差如圖6所示。
圖6 測(cè)量結(jié)果對(duì)比圖
如圖6可得,傳統(tǒng)測(cè)量估計(jì)值的均值是1.01;霍夫變化估計(jì)值的均值是1.0076,平均誤差是0.59%;最小外接矩形估計(jì)值的均值是1.071,平均誤差是0.76%。由此可見,在矩形度較高時(shí)霍夫變換相對(duì)于直接測(cè)量的誤差較小,準(zhǔn)確性較高,方差也較小。
設(shè)計(jì)實(shí)現(xiàn)了兩種圖像測(cè)量尺寸的算法,取得了不錯(cuò)的測(cè)量效果,實(shí)驗(yàn)結(jié)果證明了算法的正確性、可行性,并驗(yàn)證了這兩種算法在尺寸上的有效性和互補(bǔ)性。下一步工作是增加算法的自適應(yīng)性和并行性,使之可以在集群中工作,提高效率;并以尺寸特征作為分類屬性,自動(dòng)化地分辨合格品與非合格品。
[1] 章毓晉.圖像工程[M].北京:清華大學(xué)出版社,2013.
[2] GONZALEZ R C,WINTZ P.Digital image processing[M].北京:電子工業(yè)出版社,2007.
[3] EKSTROM M P.Digital image processing techniques[M].[s.l.]:Academic Press,2012.
[4] 黃志堅(jiān),張金芳,徐帆江.關(guān)鍵點(diǎn)檢測(cè)的線要素綜合算法[J].中國(guó)圖象圖形學(xué)報(bào),2012,17(2):241-248.
[5] 張大樸,李玉山,劉 洋,等.采用擬梯度方向信息的隨機(jī)Hough變換直線檢測(cè)[J].計(jì)算機(jī)科學(xué),2006,33(4):208-210.
[6] 郭斯羽,翟文娟,唐 求,等.結(jié)合Hough變換與改進(jìn)最小二乘法的直線檢測(cè)[J].計(jì)算機(jī)科學(xué),2012,39(4):196-200.
[7] 張 彤,劉 釗,歐陽(yáng)寧.基于圖形處理器的實(shí)時(shí)直線段檢測(cè)[J].計(jì)算機(jī)應(yīng)用,2009,29(5):1359-1361.
[8] SATHYANARAYANA S S,SATZODA R K,SRIKANTH-AN T.Exploiting inherent parallelisms for accelerating linear Hough transform[J].IEEE Transactions on Image Processing,2009,18(10):2255-2264.
[9] MUKHOPADHYAY P,CHAUDHURI B B.A survey of ho-ugh transform[J].Pattern Recognition,2014,48(3):993-1010.
[10] AGGARWAL N, KARL W C. Line detection in images through regularized Hough transform[J].IEEE Transactions on Image Processing,2006,15(3):582-591.
[11] FREEMAN H.Determining the minimum-area encasing rectangle for an arbitrary closed curve[J].Communications of the ACM,1975,18(7):409-413.
[12] JUNG C R,SCHRAMM R.Rectangle detection based on a windowed Hough transform[C]//Computer graphics and image processing.[s.l.]:[s.n.],2004:113-120.
[13] GONZALEZ R C,WOODS R E.Digital image processing (3rd Edition)[C]//IEEE international electric machines & drives conference.[s.l.]:IEEE,2013:1160-1165.
[14] JAVADI M,EBRAHIMI M.Fast width detection in corridor using Hough transform[J].International Journal of Image Graphics & Signal Processing,2012,15(2):179-187.
[15] 馬艷娥,張波濤,高 磊,等.基于圖像處理的零件尺寸測(cè)量研究[J].電子測(cè)試,2011(8):39-41.
[16] 張少軍,艾矯健,李忠富,等.利用數(shù)字圖像處理技術(shù)測(cè)量幾何尺寸[J].北京科技大學(xué)學(xué)報(bào),2002,24(3):284-287.