王林波,王延杰,邸 男,金明河
(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049;3.哈爾濱工業大學 機器人技術與系統國家重點實驗室,黑龍江 哈爾濱 150001)
近些年,基于圖像的測量系統以其非接觸性、快速和準確的特點越來越多地應用到航空航天、國防工業、機器人導航、醫學檢測等領域中[1-3]。測量中常采用圓形標志點作為合作目標進行物體位姿測量,標志點中心定位的精度則將直接影響整個測量系統的精度[4]。因此,研究如何提高標志點中心定位的精度具有十分重要的意義。
目前常見的圓形標志點亞像素中心定位算法一般分為3個步驟[5]:像素級邊緣定位、亞像素級邊緣定位、中心定位。常見的點目標中心定位方法主要有[6-10]:灰度重心法、Hough變換法、最小二乘曲線擬合法、高斯曲面擬合法等。灰度重心法的定位精度受灰度分布均勻程度的影響較大,Hough變換法和高斯曲面擬合法計算量較大,實時性受限制。最小二乘擬合法原理簡單、易實現,因而在目前眾多的亞像素中心定位算法中得到廣泛的應用。
研究者常利用圖像梯度信息來改進算法以提高中心定位精度[11]。例如文獻[11]采用非極大值抑制法來獲取連續細化的理想邊緣,不能有效消除孤立的噪聲點。而且實際應用中獲得的圖像梯度信息往往會受到噪聲影響而發生局部的變化,邊緣定位的準確度也隨之降低。針對這一問題,本文避開了梯度信息,轉而從圓成像后的幾何特征的角度出發,提出了一種改進的亞像素中心定位算法,在像素級邊緣定位階段“剔除”噪聲點,利用幾何特征獲取連續細化的理想邊緣。實驗表明本文算法具有高精度和高實時性,是一種準確有效的方法。
Canny算子被認為是目前眾多邊緣檢測算子中的最優檢測算子,在圖像處理中得到了廣泛的應用。在邊緣檢測之前首先要采用高斯平滑濾波去噪,但是在消除圖像噪聲的同時,同時也會模糊甚至是“擦除”某些邊緣信息。若采用5×5的高斯內核(δ=1.0)[12],則能夠更好地保留邊緣信息的完整性,表示如下:

計算梯度幅值和方向時采用檢測性能和抗噪性較好的Sobel算子,其式表示如下:

然后利用圖像的梯度信息進行非極大值抑制和雙閾值連接[13-14]得到邊緣點。實驗室環境下拍攝的圓形標志點和Canny邊緣檢測結果如圖1(a)、(b)所示。

圖1 像素級邊緣定位Fig.1 Pixel accuracy location of edge
如圖1(b)所示,Canny算子檢測到的邊緣中包含有非目標邊緣點,若直接進行中心定位,則將嚴重影響定位精度。常用的方法是對Canny提取的邊緣進行邊界跟蹤以識別目標圓弧,但這樣大大降低了時間效率。本文提出一種快速精確的目標邊緣識別方法,首先利用自適應閾值分割法分割原始圖像[15],然后遍歷分割圖像以識別目標點:若某個像素點和它的八鄰域點的像素值皆為255,則保留該點,否則令其像素值為0。經過識別后得到的是一個“縮小”的白色“類圓”區域,接著采用質心法對該區域中心進行粗定位,然后利用粗定位的中心和半徑對Canny提取的邊緣進行半徑約束得到圓目標邊緣。設P(x,y)為任一像素級邊緣點,粗定位的中心和半徑分別為(Cx,Cy)和r,約束表達式如下:

取閾值(通常為1與Δ比較,判斷是否保留為目標邊緣點。圖1(a)所示的原圖像經過自適應閾值分割和半徑約束后結果如圖1(c)、(d)所示。
經過上述處理,圖1(d)中目標邊緣達到像素級精度,但有多處間斷,并非連續的邊緣,這將對后續的中心擬合精度造成一定的影響。關于“理想邊緣”的定義為[11]:有且只有兩個邊緣點存在于目標邊緣點的八鄰域內。結合粗定位的圓心和圓成像的理想邊緣分布特征,本文提出一種基于幾何特征的利用分區的方法來獲取圓目標的單像素寬且連續的理想邊緣。如圖2所示,O為粗定位的圓心,按坐標軸首先將圓周分為4個大的區域:Ⅰ、Ⅱ、Ⅲ、Ⅳ。令直線L1、L2、L3和L4將整個圓周等分為12個子區域,這里用數字1~12表示。任意選取圓周上一點P(x,y),以P為起點開始跟蹤和連接邊緣點,直至回到起點為止。

圖2 圓目標邊緣點區域劃分Fig.2 Regional division for edge of circle target
對于已知的邊緣點P(x,y),首先根據粗定位的圓心坐標判斷該點所屬的子區域。如圖2中箭頭所示,每個子區域的點都有各自的優先跟蹤和連接方向,這里也用數字1~12表示。4個大區域的點的跟蹤和連接方向如圖3所示。以圖2中的區域Ⅰ為例,其跟蹤和連接的準則如下:
若點P(x,y)位于子區域1內,則優先考慮沿著方向1的前3個點尋找下一個邊緣點。若找到邊緣點Q,則認為點Q與P之間的方向1上的點皆為邊緣點,連接PQ后再以Q為起點重新判斷。若在方向1上未找到邊緣點,則考慮是否為位于子區域邊界上的點,沿著方向2繼續跟蹤,若仍未找到邊緣點,則將沿方向1的下一個點Q(x,y+1)作為下一個邊緣點。
若點P(x,y)位于子區域2內,則優先考慮方向2,再依次考慮方向1和3,處理方法與子區域1相同。若都未尋找到邊緣點時,將沿著方向2的下一個點Q(x+1,y+1)作為下一個邊緣點。
若點P(x,y)位于子區域3內,則優先考慮方向3,然后是方向2,處理方法與子區域1的相同。若都未找到邊緣點,則將沿著方向3的下一個點Q(x+1,y)作為下一個邊緣點。

圖3 4個大區域的優先連接和跟蹤方向Fig.3 Preferential directions for linking and tracking of each region
根據上述分析,當點P位于區域Ⅰ不同的子區域內時,跟蹤和連接的方向優先級也隨之不同,如表1所示。其他3個大區域內的邊緣點的處理方法與區域Ⅰ類似,不做贅述。如圖1(e)所示為圖1(d)經過上述算法連接之后的結果。由圖1(d)和圖1(e)比較可以看出利用分區的方法可以將間斷的圓弧很好地連接起來,并且不受噪聲的影響,從而達到理想邊緣的效果。

表1 區域Ⅰ的方向優先級Tab.1 Directions priority of regionⅠ
基于矩的技術[16]是常見的幾類亞像素邊緣算法之一,如灰度矩、空間矩、Zernike矩和Legendre矩等。
Zernike矩是一種正交復數矩,具有旋轉不變性,而且信息冗余度小,定位精度高。Ghosal和Mehrotra于1993年提出將其應用于亞像素邊緣檢測[17],并且在算法中建立了理想的階躍灰度模型,如圖4所示。圖中的4個參數h、k、l、Φ分別表示:背景灰度值、灰度階躍值、模板中心到邊緣的距離、l與x軸的夾角。

圖4 亞像素理想階躍灰度模型Fig.4 Ideal subpixel step edge model
令Anm表示圖像f(x,y)的Zernike矩,A′nm表示將圖像旋轉角度Φ之后的Zernike矩,根據其旋轉不變性,則有:

當采用N×N的Zernike矩模板時,像素級的邊緣點P(x,y)的亞像素級邊緣定位公式為:

當模板直徑N值越大,Zernike矩的計算量隨之增大,故選取常用的5×5模板。
由于圓形標志點經過透鏡投影變換后一般為平面橢圓,所以采用最小二乘橢圓擬合來定位點目標中心。平面橢圓的目標函數為:

對于橢圓參數A、B、C、D、E求解的方法一般是對每個參數求式(14)的一階偏導,并令其為0,可得五元線性方程組:

其中,M5×5為方程組的系數矩陣。解方程組得到各個參數值,若令點目標中心坐標為P(x0,y0),則其計算公式為:

通過上述分析,我們將算法總結如下:
Step1:對圖像進行自適應閾值分割,然后在分割區域內確定“縮小”的點目標。
Step2:利用質心法對“縮小”的點目標區域進行圓心粗定位,從而得到標志點的粗定位半徑和圓心。
Step3:采用Canny算子檢測目標邊緣,利用粗定位半徑進行半徑約束抑制噪聲點的影響。
Step4:采用本文提出的基于幾何特征的分區方法跟蹤和連接半徑約束后的邊緣,得到理想邊緣效果。
Step5:采用Zernike矩進行亞像素級邊緣定位。
Step6:對于Step5得到的亞像素級邊緣點進行最小二乘橢圓擬合,計算點目標的中心坐標。
根據方形孔徑采樣原理生成圓心坐標已知的理想圓的圖像,然后采用文獻[5]的方法生成理想圓測試圖像,如圖5所示。
對于測試圖像加入不同信噪比的高斯噪聲,分別采用質心法、“Canny邊緣+Zernike矩+最小二乘擬合法”和本文算法檢測噪聲圖像的圓心坐標,并計算其與理想圓心坐標的偏差,實驗結果如表2所示。為使下文表述方便,這3種算法依次命名為算法一、算法二、算法三。

圖5 理想圓測試圖像Fig.5 Testing image of ideal circle imaging

表2 噪聲圖像定位誤差比較Tab.2 Comparison of location results for noisy image(Unit:1%pixel)
由于3種方法的定位誤差較小,所以表示時單位采用1%像素。由表2可以看出,3種算法的誤差都隨著噪聲的增強而增大。其中,算法一的定位精度最不穩定,變化最為明顯。算法二的精度在信噪比為10dB時明顯降低,而本文算法的精度明顯高于其他兩種算法,而且變化緩慢,一直維持在較高的定位精度上,其抗噪性明顯優于其他兩種算法。
實驗室環境下拍攝的圖像如圖1(a)所示,將靶標固定在實驗平臺上,保持拍攝裝置靜止不動,拍攝連續50幅的點目標圖像,并采用上述的3種算法進行中心定位,其定位結果如表3所示。

表3 實測圖像定位結果比較Tab.3 Comparison of location results of the real tested image (Unit:pixel)
由表3可以看出,對于實測圖像,算法三也具有優于其他兩種算法的精度。中心坐標x方向的標準差δx為0.0152pixel,y方向的標準差δy為0.0182pixel,故總標準偏差δ為

此外,本文算法采用的點目標圖像截取自實驗室拍攝的大小為1024pixel×1024pixel的圖像,實測圖像大小為53×53pixel。實驗是在內存為2G,CPU主頻為3.40GHz系統配置的電腦上經VC6.0編程運行,整個程序運行的時間為2~3ms,取得很好的實時性效果。
提出的點目標中心定位算法在傳統的算法流程基礎上,利用圓心粗定位、半徑約束以及點目標成像的邊緣點幾何分布特征,獲取了連續且單像素寬的點目標近似理想邊緣,然后采用Zernike進行亞像素級邊緣定位和最小二乘橢圓擬合得到中心坐標。實驗結果表明,圓形標志點中心定位精度達到0.0237pixel,運行時間為2~3ms,能夠滿足一般視覺測量系統的要求。
[1]張子淼,王鵬,孫長庫.單目視覺位姿測量方法和數字仿真[J].天津大學學報,2011,44(5):440-444.Zhang Z M,Wang P,Sun C K.Position and orientation measurement method with monocular vision and digital simulation[J].Journal of Tianjin University,2011,44(5):440-444.(in Chinese)
[2]郭杰,雷剛,陳健生,等.基于機器視覺的鋼包頭檢測系統設計[J].液晶與顯示,2013,28(5):770-775.Guo J,Lei G,Chen J S,et al.Design of steel toecaps inspection system based on machine vision[J].Chinese Journal of Liquid Crystals and Displays,2013,28(5):770-775.(in Chinese)
[3]閆輝,許廷發,吳青青,等.多特征融合匹配的多目標跟蹤[J].中國光學,2013,6(2):163-170.Yan H,Xu T F,Wu Q Q,et al.Multi-object tracking based on multi-feature joint matching[J].Chinese Optics,2013,6(2):163-170.(in Chinese)
[4]Zhao R.A fast and accurate detection algorithm for circle target[C]//International Conference on Automatic Control and Artificial Intelligence(ACAI2012),IET,2012:54-56.
[5]李元鋒,李正生,王洋.CCD攝像頭圓目標中心定位方法[J].應用光學,2010,31(006):956-960.Li Y F,Li Z S,Wang Y.Center location of circle target captured by CCD camera[J].Journal of Applied Optics,2010,31(006):956-960.(in Chinese)
[6]郝穎明,朱楓.視覺位姿測量中的點狀目標中心自適應定位方法[J].儀器儀表學報,2007,28(增刊8):619-624.Hao Y M,Zhu F.Adaptive positioning method on the centers of point targets in pose estimation[J].Chinese Journal of Scientific Instrument,2007,28(Suppl 8):S619-S624.(in Chinese)
[7]陳光靜,陳明貴,肖玉強.一種基于 Hough變換新的亞像素定位算法[J].電子設計工程,2010,18(12):127-130.Chen G J,Chen M G,Xiao Y Q.The new sup-pixel location algorithm based on Hough transform [J].Electronic Design Engineering,2010,18(12):127-130.(in Chinese)
[8]劉書桂,李蓬,那永林.基于最小二乘原理的平面任意位置橢圓的評價[J].計量學報,2002,23(4):245-247.Liu S G,Li P,Na Y L.Evaluation of the form error of ellipse based on least square method[J].Acta Metrologica Sinica,2002,23(4):245-247.(in Chinese)
[9]鄧江生,樊利恒,古立莉.星圖像的亞像元細分定位方法研究[J].電子設計工程,2012,20(22):186-189.Deng J S,Fan L H,Gu L L.Research on method for sub-pixel location of star image[J].Electronic Design Engineering,2012,20(22):186-189.(in Chinese)
[10]黃繼鵬,王延杰,孫宏海,等.激光光斑位置精確測量系統[J].光學 精密工程,2013,21(4):841-848.Huang J P,Wang Y J,Sun H H,et al.Precise position measuring system for laser spots[J].Optics and Precision Engineering,2013,21(4):841-848.(in Chinese)
[11]王靜,王海亮,向茂生,等.基于非極大值抑制的圓目標亞像素中心定位[J].儀器儀表學報,2012,33(7):1460-1468.Wang J,Wang H L,Xiang M S,et al.Subpixel accuracy central location of circle target based on nonmaximum suppression[J].Chinese Journal of Scientific Instrument,2012,33(7):1460-1468.(in Chinese)
[12]Wu J,Li J,Xiao C,et al.Real-time robust algorithm for circle object detection[C]//The 9th International Conference for Young Computer Scientists,2008,IEEE,2008:1722-1727.
[13]范生宏,黃桂平,陳繼華,等.Canny算子對人工標志中心的亞像素精度定位[J].測繪科學技術學報,2006,23(1):76-78.Fan S H,Huang G P,Chen J H,et al.Subpixel accuracy artificial target location using Canny operator[J].Journal of Zhengzhou Institute of Surveying and Mapping,2006,23(1):76-78.(in Chinese)
[14]吳君欽,劉昊,羅勇.靜態背景下的運動目標檢測算法[J].液晶與顯示,2012,27(5):682-686.Wu J Q,Liu H,Luo Y.Algorithm of moving object detection in static background[J].Chinese Journal of Liquid Crystals and Displays,2013,27(5):682-686.(in Chinese)
[15]劉震,尚硯娜.多尺度光點圖像中心的高精度定位[J].光學 精密工程,2013,21(6):1586-1591.Liu Z,Shang Y N.High precision location for multi-scale light spot center[J].Optics and Precision Engineering,2013,21(6):1586-1591.(in Chinese)
[16]祝宏,曾祥進.Zernike矩和最小二乘橢圓擬合的亞像素邊緣提取[J].計算機工程與應用,2011,47(17):148-150.Zhu H,Zeng X J.Sub-pixel edge detection algorithm of Zernike moments and least-squares ellipse fitting [J].Computer Engineering and Applications,2011,47(17):148-150.(in Chinese)
[17]Ghosal S,Mehrotra R.Orthogonal moment operators for subpixel edge detection[J].Pattern recognition,1993,26(2):295-306.