研究現狀
目前輪廓檢測方法有兩類,一類是利用傳統的邊緣檢測運算元檢測目標輪廓,另一類是從人類視覺系統中提取可以使用的數學模型完成目標輪廓檢測。
基於邊緣檢測的輪廓檢測方法是一種低層視覺行為,它主要定義了亮度、顏色等特徵的低層突變,通過標識圖像中亮度變化明顯的點來完成邊緣檢測,因此很難形成相對完整和封閉的目標輪廓。邊緣檢測通常將圖像與微分運算元卷積。比如藉助於Sobel運算元、Prewitt運算元、Canny運算元等,此方法沒有考慮視覺中層和高層信息,因此很難得出完整的、連續的輪廓邊緣,僅僅使用這類方法很難得出完整的目標輪廓,這種過程往往複雜且精度難以保證,甚至在含有大量噪聲或者紋理的情況下,無法提取輪廓。
從視網膜經典感受野推導出的DoG模型得到初步套用。該模型一般適用於圖像平滑與邊緣檢測領域。Gabor濾波器模型來源於初級視皮層Vl區簡單細胞感受野,一般適用於角點檢測和紋理特徵提取等。Grigorescu和Petkov運用非經典感受野的周邊抑制作用,與經典的邊緣檢測方法結合,取得了令人矚目的成果。他們假設非經典感受野是圓環形抑制區域,通過對經典感受野的抑制來抑制紋理。他們還提出一個將輪廓檢測結果進行量化比較的方法,給以後人們研究輪廓檢測或邊緣檢測提供了新的評價方法。桑農等人根據非經典感受野的假說,提出了蝶形抑制區,使得輪廓檢測結果取得了更好的效果。
視覺信息經過加工傳遞,從視網膜經過LGN到達初級視皮層,這個機制十分複雜,也有許多假說。人為定義一種抑制模型忽略人類視覺感知的過程和刺激傳遞過程中的信息易造成輪廓斷裂,Hubel和Wiesel推斷簡單細胞的感受野的方向選擇性可以由外側膝狀體的感受野經過一種特定的組合擬合而成,因此Azwpardi等提出了CORE模型,直接用外側膝狀體的感受野模型來模擬視覺系統來進行輪廓檢測。 Wei H等也根據這項發現提出了自己的計算模型,用來檢測線條的方向。
對比以上所述兩類方法可以發現,基於人類視覺感知模型的方法己經被廣泛研究和套用,屬於輪廓檢測的研究趨勢,效果優於第一類方法。
主要過程
求取圖像(灰度或彩色)中物體輪廓的過程主要有四個步驟。首先對輸入圖像做預處理,通用的方法是採用較小的二維高斯模板做平滑濾波處理,去除圖像噪聲,採用小尺度的模板是為了保證後續輪廓定位的準確性,因為大尺度平滑往往會導致平滑過渡,從而模糊邊緣,大大影響後續的邊緣檢測。其次對平滑後的圖像做邊緣檢測處理,得到初步的邊緣回響圖像,其中通常會涉及到亮度、顏色等可以區分物體與背景的可用梯度特徵信息。然後再對邊緣回響做進一步處理,得到更好的邊緣回響圖像。這個過程通常會涉及到判據,即對輪廓點和非輪廓點做出不同處理或用相同的程式因作用結果的不同而達到區分輪廓點和非輪廓點的效果,從而得到可以作為輪廓的邊緣圖像。若是此步驟之前得到的輪廓回響非常好時,該步驟往往是不用再考慮的。然而在實際套用過程中,上一步驟得到的結果往往是不盡人意的。因此,此過程往往起著至關重要的作用,最後對輪廓進行精確定位處理,這個過程通常又分成兩個過程。
第一步先對邊緣回響圖像做細化處理,得到單像素邊緣圖像。這個過程普遍採用的是非最大值抑制方法(局部極大搜尋)。非最大值抑制可以非常有效地細化梯度幅值圖像中的屋脊帶,從而只保留局部變化最大的點。本文的研究均採用此方法做細化處理。第二步為在此基礎上做基於滯後門限的二值化處理,滯後門限利用遞歸跟蹤算法可以保證最後的輪廓圖像是連續的。這一個過程往往在與標準輪廓(比如圖像資料庫中人為勾畫的輪廓)做比較時才考慮,也就是說一個完整的輪廓檢測算法往往是不包括該過程的。獲取輪廓信息的另一種通用方法就是先對圖像做分割,圖像分割處理好後,直接將分割區域的邊界作為輪廓。該方法最終的結果直接依賴於圖像分割的效果,因此實際中多歸於分割問題。
靜態圖像輪廓檢測
早期輪廓檢測的方法通過局部的測量計算來量化一個給定圖像位置的邊界是否存在。Roberts運算元,Sobel運算元和Prewitt運算元通過灰度圖像和局部導數濾波器卷積進行邊緣檢測。Mary和Hildreth使用拉普拉斯運算元的零交叉高斯運算元。豐富的特徵描述子可以通過對不同尺度的圖像和多方向的濾波器的回響獲得。比如,利用正交對偶數和奇數的對稱濾波器的方向能量方法。Lindeberg則提出了一種基於帶有自適應尺度選擇機制的濾波器方法。
Canny檢測器通過亮度通道中尖銳的不連續性定義邊界,並增加非極大值抑制和遲滯效應閡值的步驟最佳化邊界。但是對於自然場景複雜,紋理普遍存在的圖象,這樣的建模方式是並不合適。在一些紋理雜亂無章的區域,Canny檢測器會檢測出很多輪廓線條。但實際上,這個區域的確存在很多高差異性的紋理卻沒有真正意義上的目標邊界。另一方面,在不同的紋理之間的邊界無法有效的檢測出來,因為有時不同的紋理之間的平均亮度值差異其實很小。因此,僅僅依靠亮度簡單建模並不能檢測紋理邊界。
之後特徵的局部描述方法開始考慮到顏色和紋理信息並利用學習方法進行線索組合。Martin等人定義亮度、顏色和紋理通道的梯度運算元,並使用它們作為邏輯回歸分類器的輸入組合預測邊緣強度。Dollar等人提出了推進式邊界學習算法((Boosted Edge Learning BEL),不依賴於手工製作的特徵,而是通過從成千上萬個圖像塊計算得到的簡單特徵的機率推進樹的形式學習獲得邊界分類器。這種方法的一個優點是,它可以在初始分類階段並行處理視覺線索。Mairal等人通過學習具有判別力的稀疏表示的局部圖像塊,創建同時具有泛型和特定類的邊緣檢測器。對於每個類,他們學習一個判別字典,並使用每個詞典獲得的重構誤差作為最終的分類器的特徵輸入。
目前,很多對於靜態圖像的目標輪廓提取,在檢測過程中主要通過外觀線索判斷像素是否屬於目標的輪廓,根據圖像局部特徵並基於學習策略進行輪廓判斷。Arbelaez等利用一種叫做“雙半圓盤”運算元的梯度運算元計算亮度、色彩、紋理多種外觀線索的方向梯度特徵,通過梯度上升得到各種外觀線索的最佳化組合,生成的局部邊緣檢測器能有效去除目標內部紋理的虛假邊緣。除此以外,他們還建立了一個具有輪廓和分割手工標記的圖像輪廓和分割數據集作為自然場景輪廓和分割方法的統一標準。Dollar等以亮度、色彩線索為判定標準利用集成分類器對圖像塊分類,獲取到圖像塊內的結構邊緣信息,提升了處理效率。
同時,深度線索作為特殊的外觀線索,可以輔助判斷目標輪廓,Kinect深度相機得到的場景深度圖像對光照變化和背景中顏色相近的物體的干擾具有魯棒性。Leordeanu等結合圖像的像素級表達和區域塊表達,將不同類型邊緣結構的局部定位套用於深度圖像。徐玉華等採用活動輪廓對人體目標建模,提出一種新的水平集框架下自適應融合RGB-D圖像的顏色和深度信息的人體輪廓跟蹤方法。
靜態圖像輪廓檢測對外觀相似的目標和背景不具有識別力,背景的局部邊緣干擾會導致目標的偽輪廓。因此越來越多的輪廓檢測研究基於運動視頻獲取運動信息來區分外觀一致的目標和背景,並激勵運動目標的強邊緣。
動態視頻輪廓檢測
在運動視頻中,運動線索是判斷運動目標輪廓的關鍵。相關研究己實驗表明了運動線索在輪廓檢測、目標識別等視覺任務中的重要性。格式塔(Gestalt)原則中的“common fate"理論,指出相似運動的點被認為是連貫一致的整體,運動線索作為幾乎所有視覺類別所共有的信息,在生物學視覺系統中也一直強調其重要性。相比於亮度、色彩和立體視差這些外觀線索,運動線索更有助於區分不同的運動目標。在增加了額外時間維度的視頻數據中,相機的運動或場景的變化使得我們可以挖掘運動目標邊界與背景間的相對運動信息並用於推斷目標輪廓,即運動輪廓。
視頻輪廓檢測中的運動線索主要由數據驅動得到,分為兩大類方法。第一類利用光流法獲取運動線索。光流法基於時空梯度模型計算物體的亮度隨時間和空間的變化場。光流計算像素點的瞬時變化速率,其原理是假設像素點從一個位置移動到其他位置,其灰度值保持不變,因此根據光流估計可以計算出某一像素點運動瞬時變化速率。Stein等在超像素圖上建立區域光流場,結合外觀特徵,利用adaboost學習方法建立輪廓檢測的總體框架,並且建立了具有輪廓手工標記的視頻輪廓資料庫用於訓練學習。He等在建立光流場後基於SVD(Singular ValueDecomposition,奇異值分解)因子分解方法建立偽深度圖,將運動線索轉化為深度線索用於輪廓檢測。
光流法的優點在於無需對場景的背景建模,就能夠檢測到運動目標,因此在動態場景中經常利用光流法來檢測運動目標。然而,光流法基於亮度守恆假設條件,在複雜自然場景中,由於遮擋性、多光源、透明性和噪聲等原因,使得光流的可靠性估計較差,獲取到的運動信息誤差較大。
第二類利用幀差法獲取運動線索。幀差法也是運動目標檢測中常見的方法之一。其基本原理非常簡單,先計算前後兩幀相減的像素差,利用固定閉值進行二值化處理,得到前景運動目標。如果目標沒有運動,那么兩幀相減的像素差為零;若目標有明顯的運動,那么兩幀相減的像素差大於閉值,二值化處理可得到視頻幀中的運動目標位置。Sundberg等利用關鍵幀及其前後幀的幀間差異作為運動線索之一,同時依據Arbelaez等的靜態輪廓檢測結果作為初始分割圖建立光流場,通過支持向量機(Support Vector Machine, SVM)學習特徵權重,線性加權各個特徵得到輪廓機率值。
由於幀差法利用相鄰幀相減,具有很強的適應性,能夠快速適應環境的變化,因此能得到較好的效果。但是正是由於這個原因,目標靜止或運動幅度很小時前後兩幀變化不大,從而導致無法檢測出來;而且當目標表面單一時,前後幀運動目標區域大部分像素值相似,從而會產生空洞現象。此外,幀差法主要是依據關鍵幀及其前後幀的幀間差異建模,僅獲取了三幀之間的運動信息,缺少三幀之外的運動信息,容易造成部分運動信息的缺失。
算法
在圖像處理與分析、模式識別和計算機視覺等研究領域中通常需要提取目標區域的輪廓以獲得關於目標的諸多有價值的信息,因而如何快速、高效、精確地對目標進行輪廓檢測也成為一個備受圖像研究者關注的課題。目前己有許多研究者在此領域做了大量的研究。現有的輪廓檢測算法大致可分為三類:
輪廓跟蹤
這個算法首先是將整幅二值圖像點集保存在可以隨機訪問的數組當中,然後按照某種準則尋找輪廓的起始點,每當找到一個輪廓起始點,便接著以順時針或逆時針方向對其所在輪廓進行追蹤查找,直到重新回到起始點。Rosenfeld於1970年最早提出了這一算法,其最大的優點就是高效、簡單,且檢測出來的輪廓帶有序列化信息;缺點是容易占用大量記憶體空間。
基於圖像子集
這類算法採用一定大小的圖像子集順序訪問圖像數據的方式,在圖像子集“滑動”的過程中,根據圖像子集中不同的數據情況進行輪廓信息的記錄及提取。這類方法中比較新的為choy在1993年所提出的,他只採用了2*2的圖像子集,通過從圖像子集所觀察到的不同數據序列進行輪廓片段的創建、合併、延伸操作來檢測圖像的輪廓,該方法提取出來的圖像輪廓帶有內外深度包含關係。這類算法最大的缺點是其所採用的圖像子集的處理方法使得算法不得不對每一像素進行多次重複訪問,從而導致算法效率地大大降低。
基於遊程
這個算法也採用對圖像數據進行順序訪問的方式,但不同的是基於遊程的算法在掃描過程中要先對圖像數據進行遊程編碼,並以遊程作為分析對象來實現輪廓檢測,此類算法大大改進了困擾著上述第二類算法的鄰域運算問題,做到了對每一個像素點均只需訪問一次。因為遊程編碼本身所帶有的數據壓縮特性,常常可以大規模降低所需處理的數據量,從而算法的實現往往更加高效、簡單。但己有的此類算法依然存在著大量的不足,如Pavlldis和Quek所提算法均不得不經過兩次掃描處理才能完成對輪廓的檢測,從而使得算法的實時性大為欠缺。而Agrawala, Grant和Capson所提算法雖然都只要經過一次掃描過程,並且通過對遊程左右端點進行有序地連線來實時地獲取輪廓。但這些方法在對水平方向上的輪廓凹形部分的的檢測存在著普遍的偏差,因此輪廓精度有所缺。
性能評價
針對目標的輪廓檢測結果進行評價,有主觀方法和客觀方法兩大類。
主觀方法指通過人眼觀察,根據人的主觀意志得出結果,即定性比較。定性檢測的結果很直觀,但無法量化,最重要的是不同的人可能主觀得出的結果不同,且人眼易於疲勞,並容易受光照等外界因素干擾。
客觀方法指通過建立數學模型對資料庫中的標準輪廓圖和實驗結果圖像進行對比的方法。該類方法性能穩定快速。