謝超, 謝明紅
(華僑大學(xué) 機(jī)電及自動(dòng)化學(xué)院, 福建 廈門 361021)
?
應(yīng)用局部自適應(yīng)閾值方法檢測(cè)圓形標(biāo)志點(diǎn)
謝超, 謝明紅
(華僑大學(xué) 機(jī)電及自動(dòng)化學(xué)院, 福建 廈門 361021)
摘要:利用圓形標(biāo)志點(diǎn)的幾何和灰度特征,在圖像中搜索具有符合該特征描述的區(qū)域,對(duì)圓形標(biāo)志點(diǎn)進(jìn)行粗定位.對(duì)粗定位區(qū)域的擴(kuò)展區(qū)域使用最大類間方差閾值分割法分割出圓形標(biāo)志點(diǎn)輪廓,并對(duì)像素輪廓進(jìn)行最小二乘擬合,計(jì)算出圓形標(biāo)志點(diǎn)的中心坐標(biāo)及擬合輪廓各參數(shù),根據(jù)該參數(shù)篩選保留所需標(biāo)志點(diǎn)中心坐標(biāo).結(jié)果表明:該方法使用局部的大津閾值檢測(cè)圓形標(biāo)志點(diǎn),能夠避免全局閾值的缺陷,提高標(biāo)志點(diǎn)檢測(cè)的檢出率;采用最小二乘橢圓擬合提取標(biāo)志點(diǎn)中心,能夠達(dá)到亞像素級(jí)精度.
關(guān)鍵詞:圖像分割; 機(jī)器視覺(jué); 自適應(yīng)閾值; 圓形標(biāo)志點(diǎn); 橢圓擬合
目前在機(jī)器視覺(jué)領(lǐng)域,常常使用圓形標(biāo)志點(diǎn)作為標(biāo)識(shí)提取圖像信息,如利用圓形標(biāo)志點(diǎn)對(duì)立體視覺(jué)系統(tǒng)進(jìn)行精確標(biāo)定[1];通過(guò)提取圓形標(biāo)志點(diǎn)位置信息定位結(jié)構(gòu)光測(cè)量系統(tǒng),實(shí)現(xiàn)測(cè)量點(diǎn)云數(shù)據(jù)間的配準(zhǔn)[2-5]等.因此,從圖像中準(zhǔn)確且完整地檢測(cè)出圓形標(biāo)志點(diǎn)是一個(gè)關(guān)鍵問(wèn)題.檢測(cè)圓形標(biāo)志點(diǎn)首先要經(jīng)過(guò)圖像分割環(huán)節(jié),通過(guò)圖像中的灰度信息提取出感興趣的目標(biāo)區(qū)域,即圓形標(biāo)志點(diǎn).本文根據(jù)圓形標(biāo)志點(diǎn)的幾何及灰度特征,確定其在圖像中的大致位置,取以該位置為中心的矩形范圍內(nèi)的灰度值,利用最大類間方差法分割提取出圓形標(biāo)志點(diǎn).
1圓形標(biāo)志點(diǎn)粗定位
廣泛使用的圖像分割方法有灰度直方圖法、迭代法、最大熵閾值法、最大類間方差法等,然而這些方法大多屬于全局閾值.當(dāng)圖像受到光照干擾造成圖像中不同位置的灰度值不在同一等級(jí)時(shí),全局閾值分割圖像容易錯(cuò)誤分割特征.受光照干擾圖像,如圖1所示.局部自適應(yīng)閾值檢測(cè)圓形標(biāo)志點(diǎn)需要在局部范圍內(nèi)粗略確定圓形標(biāo)志點(diǎn)的位置,在該位置附近區(qū)域使用最大類間方差法自動(dòng)計(jì)算閾值進(jìn)行圖像分割,其流程如圖2所示.
矩形窗口可根據(jù)需要設(shè)置大小,如圖3所示.圖3中:W為長(zhǎng);H為寬;單位為像素;矩形窗口中的灰度值是指在原圖像中取出W×H范圍內(nèi)的像素值.
在原圖像中滑動(dòng)矩形窗口,每次橫向移動(dòng)W個(gè)像素,到一行的末尾將矩形窗口移到該行起始位置,并縱向移動(dòng)H個(gè)像素,再繼續(xù)橫向移動(dòng),直到遍歷完整張圖像.自定義像素信息結(jié)構(gòu)體為
struct PixelInfo{
int i;∥行像素
int j;∥列像素
int v;∥像素值
}
實(shí)例1一個(gè)PixelInfo類型的vector對(duì)象,將窗口中的像素信息存入vector容器中,計(jì)算最大像素值,并返回其對(duì)應(yīng)像素的行坐標(biāo)i和列坐標(biāo)j.
圖1 受光照干擾圖像 圖2 圓形標(biāo)志點(diǎn)粗定位流程圖 Fig.1 Light interference image Fig.2 Circular mark points coarse positioning flowchart
圓形標(biāo)志點(diǎn)的形狀和灰度特征,如圖4所示.典型的圓形標(biāo)志點(diǎn)由外圈的黑色圓環(huán)和中心白色圓組成,在黑色圓環(huán)和白色圓的交界處存在明顯的灰度梯度.利用圓形標(biāo)志點(diǎn)的這個(gè)特點(diǎn),使用十字型窗口探尋4個(gè)方向的灰度跳躍特征,以此粗定位圓形標(biāo)志點(diǎn).十字型窗口可根據(jù)需要設(shè)置大小,如圖5所示.
圖3 矩形窗口 圖4 圓形標(biāo)志點(diǎn) 圖5 十字型窗口 Fig.3 Rectangular window Fig.4 Circular mark point Fig.5 Cross-shaped window
根據(jù)圓形標(biāo)志點(diǎn)在實(shí)際圖像中的尺度,設(shè)置十字型窗口4個(gè)方向的長(zhǎng)度.將矩形窗口返回的像素灰度極值點(diǎn)P(i,j)設(shè)為十字型窗口的中心點(diǎn).從中心點(diǎn)出發(fā),朝4個(gè)方向以此取出像素灰度值Grayi,灰度梯度定義為
(1)
K為設(shè)定的灰度梯度閾值,當(dāng)|ki|≥K時(shí),認(rèn)為搜索到圓形標(biāo)志點(diǎn)中心白色圓與黑色圓環(huán)的邊界,或者是黑色圓環(huán)最外圈邊界.在十字型窗口的上、下、左、右4個(gè)方向上進(jìn)行搜索,當(dāng)出現(xiàn)兩次明顯的灰度變化,記錄此時(shí)的i;若在4個(gè)方向上都有兩次灰度跳躍的特征,認(rèn)為已完成圓形標(biāo)志點(diǎn)的粗定位.
2圓形標(biāo)志點(diǎn)的提取
2.1最大類間方差的閾值分割
(a) 全局閾值分割 (b) 局部閾值分割圖6 全局閾值和局部閾值分割對(duì)比圖Fig.6 Segmentation comparison of globalthreshold and local threshold
1979年,Otsu[6]提出最大類間方差法即大津法,基本思想是在某一灰度值處,將圖像分割成兩組類間最大方差,該灰度值作為最佳閾值.在圖像中對(duì)圓形標(biāo)志點(diǎn)進(jìn)行粗定位,可得到圓形標(biāo)志點(diǎn)4個(gè)方向上的邊界,在此邊界的基礎(chǔ)上繼續(xù)向外延伸若干像素,可得到包含圓形標(biāo)志點(diǎn)的一塊局部區(qū)域,對(duì)該區(qū)域使用大津法分割圖像.圖1進(jìn)行閾值分割的效果,如圖6所示.
由圖6可知:由于局部光照的影響,采用全局的大津閾值法分割圖像,導(dǎo)致圓形標(biāo)志點(diǎn)不完整甚至完全缺失,而經(jīng)過(guò)粗定位,再進(jìn)行局部閾值分割,能夠比較完整地保留圓形標(biāo)志點(diǎn).
2.2連通區(qū)域的篩選
像素間的連通性是確定區(qū)域的一個(gè)重要概念[7-9].將所有具有連通性的像素作為一個(gè)區(qū)域則構(gòu)成了一個(gè)連通區(qū)域.圖6(b)中:每個(gè)被分離的白色區(qū)域?qū)⒆鳛橐粋€(gè)連通區(qū)域,控制連通區(qū)域的大小就可篩選出所需的圓形標(biāo)志點(diǎn),并且舍去一些由于貼標(biāo)角度或者拍攝角度造成的變形較大或較模糊的標(biāo)志點(diǎn).經(jīng)過(guò)連通區(qū)域篩選,并采用Canny算子提取邊緣后的效果,如圖7所示.
2.3最小二乘的橢圓擬合
在圖像二維坐標(biāo)系中,橢圓一般有2種表示形式,一種是由圓錐曲線方程表示,即
(2)
另一種是平面坐標(biāo)系的幾何參數(shù)表示,如圖8所示,即橢圓中心為(xc,yc).圖8中:a為長(zhǎng)軸;b為短軸;θ為長(zhǎng)軸轉(zhuǎn)角.
圖7 連通區(qū)域篩選 圖8 橢圓平面幾何參數(shù)表示 Fig.7 Connected region screening Fig.8 Ellipse plane geometric parameters
兩種表示形式的參數(shù)轉(zhuǎn)換為
(3)
(4)
(5)
利用最小二乘原理,對(duì)橢圓邊緣的離散點(diǎn)進(jìn)行最小二乘處理[10-11],即求目標(biāo)函數(shù)
的最小值,由極值原理,要求f(A,B,C,D,E)的最小值,有
由此可得參數(shù)A,B,C,D,E,F的值.
2.4擬合橢圓篩選
圖9 擬合橢圓篩選Fig.9 Fitted ellipse screening
經(jīng)過(guò)連通區(qū)域篩選過(guò)后,可能還留下非圓形標(biāo)志點(diǎn)的輪廓或是輪廓較小的標(biāo)志點(diǎn)(圖7),這對(duì)橢圓擬合提取中心點(diǎn)及后續(xù)的立體匹配精度都將造成影響.因此,可以通過(guò)擬合出的橢圓參數(shù)進(jìn)行擬合橢圓篩選.
由最小二乘橢圓擬合算法可以得出擬合橢圓的長(zhǎng)軸a,短軸b和長(zhǎng)軸轉(zhuǎn)角θ.通過(guò)長(zhǎng)軸a和短軸b的比例關(guān)系篩選擬合橢圓,保留比例關(guān)系的輪廓為
(6)
適當(dāng)調(diào)整比例關(guān)系,滿足擬合橢圓篩選條件.通過(guò)擬合橢圓的篩選,剔除變形較大的標(biāo)志點(diǎn)輪廓和雜質(zhì)輪廓.經(jīng)過(guò)擬合橢圓篩選后的結(jié)果,如圖9所示.
各擬合橢圓中心坐標(biāo)點(diǎn),如表1所示.
表1 擬合橢圓中心坐標(biāo)
3實(shí)驗(yàn)結(jié)果及分析
實(shí)驗(yàn)采用1臺(tái)明基MP515投影儀、1個(gè)維視MV-1303UM工業(yè)攝像頭和1臺(tái)PC機(jī).在VC++程序中定義圓形標(biāo)志點(diǎn)檢測(cè)類,即
class CCircleMarkDetection{
public:
IplImage×image ∥圖像對(duì)象
int width; ∥圖像寬
int height; ∥圖像高
CPoint MaxValuePosition(vectorPixelInfopixelstore); ∥計(jì)算最大像素值位置
void MarkPointDetection(IplImage *image, vectorPixelInfom_pi); ∥標(biāo)志點(diǎn)中心提取
void ManageMarkImage(IplImage *image, int a, int b); ∥連通體標(biāo)記
int CalculateThreshold(IplImage *image); ∥計(jì)算大津閾值
};
基于局部自適應(yīng)閾值的圓形標(biāo)志點(diǎn)檢測(cè)方法如下,即
1) 在石膏模型上貼若干圓形標(biāo)志點(diǎn).
2) 打開(kāi)投影儀,向石膏模型投影白光,打開(kāi)攝像機(jī)拍攝圖像,并保存.
3) 讀取使用白光投影的圖像,提取標(biāo)志點(diǎn)中心,設(shè)置N×N的窗口,初始化循環(huán)變量i=(N+1)/2,j=(N+1)/2,遍歷整張圖像,循環(huán)變量的步距為(N+1)/2.定義一個(gè)vectorPixelInfo類型的容器對(duì)象pixelstore,在每次循環(huán)中取出窗口各個(gè)位置對(duì)應(yīng)的像素坐標(biāo)和像素值,存入容器pixelstore中,調(diào)用函數(shù)MaxValuePosition()計(jì)算窗口中最大像素值對(duì)應(yīng)的像素坐標(biāo).以該像素點(diǎn)P(Im,Jm)為中心向上、下、左、右4個(gè)方向發(fā)散,根據(jù)式(1)計(jì)算灰度梯度.若在4個(gè)方向上的有限個(gè)像素內(nèi),都滿足有一個(gè)點(diǎn)的灰度梯度|k|≥K,K為灰度梯度閾值,那么認(rèn)為該局部范圍存在圓形標(biāo)志點(diǎn).調(diào)用函數(shù)CalculateThreshold()計(jì)算該范圍內(nèi)的大津閾值,并分割圖像.
4) 調(diào)用函數(shù)ManageMarkImage()對(duì)分割后的圖像進(jìn)行連通體標(biāo)記,去掉不符合要求的輪廓,并采用函數(shù)MarkPointDetection()擬合各個(gè)輪廓,并根據(jù)式(6)篩選出符合要求的橢圓輪廓.
圖10 石膏模型及處理結(jié)果Fig.10 Plaster model and results
采用以上方法拍攝貼有圓形標(biāo)志點(diǎn)的石膏模型,處理的結(jié)果,如圖10所示.實(shí)驗(yàn)得出有效圓形標(biāo)志點(diǎn)的檢出率,如表2所示.表2中:n為貼標(biāo)個(gè)數(shù);η為提高的檢出率.
表2 全局閾值與局部閾值檢測(cè)標(biāo)志點(diǎn)有效率對(duì)比
由表2可知:采用局部閾值方法檢測(cè)圓形標(biāo)志點(diǎn)能夠有效地提高圓形標(biāo)志點(diǎn)檢出率.
4結(jié)束語(yǔ)
提出一種基于局部自適應(yīng)閾值的圓形標(biāo)志點(diǎn)檢測(cè)方法,該方法能夠有效地避免全局閾值在局部反光圖像中檢測(cè)圓形標(biāo)志點(diǎn)的缺陷.驗(yàn)證結(jié)果表明:該方法有效地提高了圓形標(biāo)志點(diǎn)的檢出率.在粗定位圓形標(biāo)志點(diǎn)區(qū)域環(huán)節(jié)存在重復(fù)搜索現(xiàn)象,這是下一步努力完善的方向.
參考文獻(xiàn):
[1]吳凡路,劉建軍,任鑫,等.基于圓形標(biāo)志點(diǎn)的深空探測(cè)全景相機(jī)標(biāo)定方法[J].光學(xué)學(xué)報(bào),2013,33(11):139-145.
[2]LIU Jianwei,LIANG Jin,XIAO Zhenzhong,et al.Development of a large-scale 3D digitizing system for cultural heritage documentation[C]∥IEEE Proceedings of the International Conference on Mechatronics and Automation.New Jersey:IEEE Press,2010:1587-1592.
[3]歐陽(yáng)祥波,宗志堅(jiān),熊會(huì)元.基于標(biāo)志點(diǎn)的測(cè)量數(shù)據(jù)自動(dòng)拼接方法[J].中國(guó)圖象圖形學(xué)報(bào),2008,13(2):298-301.
[4]梁云波,鄧文怡,婁小平,等.基于標(biāo)志點(diǎn)多視三維數(shù)據(jù)自動(dòng)拼接方法[J].北京信息科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,25(1):30-33.
[5]王赫.視覺(jué)測(cè)量點(diǎn)云數(shù)據(jù)拼接方法及關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱理工大學(xué),2011:3.
[6]OTSU N.A threshold selection method from gray-level histogram[J].IEEE Trans,1979,9(1):62-66.
[7]甘玲,林小晶.基于連通域提取的車牌字符分割算法[J].計(jì)算機(jī)仿真,2011,28(4):336-339.
[8]陳柏生.一種二值圖像連通區(qū)域標(biāo)記的新方法[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(25):46-47.
[9]劉賢喜,李邦明,蘇慶堂,等.一種新的二值圖像連通區(qū)域準(zhǔn)確標(biāo)記算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(22):76-78.
[10]閆蓓,王斌,李媛.基于最小二乘法的橢圓擬合改進(jìn)算法[J].北京航空航天大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,34(3):295-298.
[11]安新源,周宗潭,胡德文.橢圓擬合的非線性最小二乘方法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(18):188-190.
(責(zé)任編輯: 陳志賢英文審校: 楊建紅)
Circular Mark Point Detecting Research Based on Local Adaptive Threshold
XIE Chao, XIE Minghong
(College of Mechanical Engineering and Automation, Huaqiao University, Xiamen 361021, China)
Abstract:Using the geometric and gray features of the circular mark points, search an area in the image with the feature description and do coarse position of them. The extension area of coarse position area is divided into the contour of the circular mark points using Otsu threshold segmentation method, and the the contour pixels are fitted with the least squares method to calculate the center coordinates of the circular mark points as well as the parameters of the fitting contour. According to the parameters to select the center coordinates which is needed. The results show that this method takes advantage of local Otsu threshold to detect circular mark points and avoids the defect of global threshold, improves the detection efficiency of circular mark points. Using the least squares ellipse fitting to extract mark points center can achieve sub-pixel precision.
Keywords:image segmentation; machine vision; adaptive threshold; cular mark point; ellipse fitting
中圖分類號(hào):TP 317.4
文獻(xiàn)標(biāo)志碼:A
基金項(xiàng)目:福建省科技重大專項(xiàng)(2013HZ0001-2)
通信作者:謝明紅(1968-),男,研究員,博士,主要從事數(shù)控技術(shù)的研究.E-mail:xmh@hqu.edu.cn.
收稿日期:2014-12-24
doi:10.11830/ISSN.1000-5013.2016.02.0134
文章編號(hào):1000-5013(2016)02-0134-05