直線檢測運算元

圖像檢測作為圖像分析技術的一個研究內容,它也是伴隨著數字圖像處理的發展而發展的,已經廣泛的套用到科學研究、工農業生產、軍事技術、政府部門、醫療衛生等許多領域,進一步推動著社會生產力的發展。

現有的直線檢測運算元有以下三類:Hough直線檢測算法、Freeman直線檢測算法、尺蠖蠕行算法。

研究現狀

圖像檢測作為圖像分析技術的一個研究內容,它也是伴隨著數字圖像處理的發展而發展的。數字圖像處理這門學科的形成也是和社會生產力發展的需要分不開的。它已經廣泛的套用到科學研究、工農業生產、軍事技術、政府部門、醫療衛生等許多領域,進一步推動著社會生產力的發展。

圖像檢測是圖像分析研究內容的一部分。目前,在圖像分析領域已經有很大的發展。圖像分析是一種從一幅圖像中通過自動的或半自動的方法提取圖像尺寸、數據或信息的方法。圖像分析方法通常因圖像分析系統最後的輸出是數字而不是畫面,使它與其他類型的圖像處理方法,如編碼、恢復、放大等不同。圖像分析源於經典的模式識別方法,根據定義,分析系統並不局限於對一個固定數量類別的場景區域的分類,而是更傾向於可設計成用於描繪複雜場景。根據事先預測,該場景的種類可能是非常多的和不確定的。目前,圖像分析領域主要包括形態學圖像處理、邊緣檢測、圖像特徵提取、圖像分割、形狀分析、圖像檢測和配準等幾個方面的內容。

Hough直線檢測算法

基本方法

Hough算法及其改進算法是利用坐標域變換的代表。此類算法的優點是抗干擾能力強,對圖像中的噪聲不敏感。但是由於其算法特點使得其時間複雜度和空間複雜度都很高,並且在變換過程中丟失了線段的長度信息。

Hough 變換的基本思想是點線的對偶性。一方面,圖像空間中共線的點對應在參數空間裡相交的線;另一方面,在參數空間中相交於同一個點的所有直線在圖像空間裡都有共線的點與之對應。因此Hough 變換把在圖像空間中的直線檢測問題轉換到參數空間中對點的檢測問題,通過在參數空間裡進行簡單的累加統計完成檢測任務。

改進方法

隨機Hough變換(RHT):

RHT 的基本思想是隨機選取兩個邊緣點,由這兩點唯一確定參數空間的一個點,這是多到一的映射,避免了傳統Hough 變換一到多映射的龐大計算量。在實現累積時,採用動態鍊表結構,只對多到一映射所得到的參數分配單元進行累積,從而降低了記憶體需求,提高運算速度。

基於隨機Hough變換與最小二乘法進行直線檢測算法RHT-LSM:

首先用隨機Hough變換確定直線的大致位置;然後,利用所得直線參數,計 算圖像中的點到直線的距離,根據距離,可以確定每條直線附近的點集,剔除干擾點和噪聲;最後,用LSM對點集中的各點進行擬合,得到精確的直線參量。

基於局部PCA方向統計分析的Hough直線檢測算法(PCA-HT):

首先通過邊緣檢測獲得圖像邊緣,對邊緣像素進行分塊處理,利用PCA所得到所有掩膜範圍內的主元方向,將獲得的局部方向信息映射到參數空間,側重利用其統計規律來模糊約束Hough變換極角範圍,達到減少運算量和存儲累計矩陣的目的。

Freeman直線檢測算法

Hough由於其套用廣泛和簡潔獲得了很大程度上的認可,但同時有學者對Hough算法的低效率和高空間占用並不滿意,而且在Hough變換時直線將喪失其長度和具體位置的問題也令一些學者不滿意。於是,他們提出了改進的方案。與Hough算法通過坐標轉換的方式不同,改進的方案更傾向與從直線的直接特徵中尋找突破點。

Yuan 等提出了一種在鏈碼中檢測直線的算法。該算法從起始鏈碼開始,對每一鏈碼確定一個直線穿行區域以及兩條用於確定下一鏈碼是否屬於同一直線的上下邊界線。如果下一鏈碼位於上下邊界線之內,則該鏈碼與上一鏈碼屬於同一直線;否則該鏈碼屬於另一直線。

一條直線在圖像中是一系列離散點的集合,通過一個直線的離散極坐標公式,可以表達出直線的離散點幾何等式如下:

X *cos(theta) + y * sin(theta) = r

其中角度theta指r與X軸之間的夾角,r為到直線幾何垂直距離。任何在直線上點,x、y都可以表達,其中 r、theta是常量。該公式圖形表示如下:

直線檢測運算元 直線檢測運算元

然而在實現的圖像處理領域,圖像的像素坐標P(x,y)是已知的,而r、theta則是我們要尋找的變數。如果我們能繪製每個(r,theta)值根據像素點坐標P(x,y)值的話,那么就從圖像笛卡爾坐標系統轉換到極坐標霍夫空間系統,這種從點到曲線的變換稱為直線的霍夫變換。變換通過量化霍夫參數空間為有限個值間隔等分或者累加子。當霍夫變換算法開始,每個像素坐標點P(x, y)被轉換到(r, theta)的曲線點上面,累加到對應的格子數據點,當一個波峰出現時候,說明有直線存在。

尺蠖蠕行算法

對應於尺蠖的仿生學特點,CCA 在邊緣像素子集內檢測直線的原理如下:

(1)選擇直線的初始搜尋點

在選擇直線的初始搜尋點時 ,尺蠖是在地面爬行碰到樹幹時才向上探行。 因此 CCA 檢測直線時也首先從圖像的左下角 (本文將圖像的左下角定義為圖像的坐標原點) 開始逐行掃描,搜尋圖像中的邊緣點。 當掃描到第一個邊緣點時 ,將其作為直線的初始搜尋點 (XS0 ,YS0) ,該點對應於尺蠖在樹幹上的第一個攀援點。

(2)直線搜尋的方向選擇

尺蠖在向前行進時 ,將根據自身當前的狀態來判斷行進的方向 ,將下一個落足點限制在以身體為軸線的小扇形區域內 ,從而使運動軌跡在身體附近的小區域內近似為一條直線。在直線像素的搜尋過程中 ,為了減少掃描區域 ,增加搜尋的準確性 ,同樣可以將直線的搜尋方向角限定在一定範圍內。

(3)直線特徵搜尋

尺蠖利用身體的屈伸運動依次帶動身體後端和前端的足 ,從而完成向前的爬行。 它的身體中間沒有足分布 ,其身體中部的軸線在爬行平面上的投影始終為一直線段。 由於它身體自身的柔性特性 ,其前後足間的距離δ可在一定範圍內伸縮 (0 <δ< 身體前後足間的直線長度)。

相關詞條

熱門詞條

聯絡我們