亞像素Sub Pixel
評估圖像處理算法時,通常會考慮是否具有亞像素精度。
亞像素概念的引出:
圖像處理過程中,提高檢測方法的精度一般有兩種方式:一種是提高圖像系統的光學放大倍數和CCD相機的分辨率能力;另一種是引入亞像素細分技術來彌補硬件的不足以提高圖像系統的分辨率。
如使用亞像素細分技術將精度提到到0.01像素,就相當於提高了100倍的圖像系統分辨率。
[分辨率可以從顯示分辨率與圖像分辨率兩個方向來分類。
優點:大大節省系統的硬件投入成本,降低技術應用的難度,擴大其應用范圍。
亞像素細分技術最早是由Hueckel M F在a local visual operator which recognizes edges and lines中提出。目前此技術已取得了很好的成果。
-
亞像素定義:
像素是成像面的基本單位也是最小單位,通常被稱為圖像的物理分辨率。
如130萬像素為1280*1024;
如果成像系統要顯示的對象尺寸小於物理分辨率時,成像系統是無法正常辨識出來的。
實際上,亞像素細分算法是軟件上對物理分辨率的近似優化結果。
例如:某CMOS成像芯片,其像素間距為4.5um。在成像時,對物理世界中連續的圖像進行了離散化處理,這時成像面上每一個像素點只代表其附近的顏色。
而兩個像素之間有4.5um的距離,在宏觀上可以看作是連在一起的,但在微觀上它們之間還有無限更小的東西存在,是兩個物理像素之間的“像素”,這些更小的東西就稱為“亞像素”。
【注】:實際上,“亞像素”應該是存在的,只是硬件上沒有比像素更細微的傳感器把它檢測出來而已,於是在軟件上把它可以近似地計算出來。
-
簡單示例來說明一下:
如下圖所示:
較大的點是真實的物理像素點,在物理像素點之間較小的點是亞像素點。
假設:在理想成像條件下,一個點經過數字化后,在數字圖像上表現為四個物理像素點的矩形,下圖所示,左上角的四個標記1,2,3,4圍起來的矩形所示。
如果取整像素值作為目標的中心坐標,
則與采用亞像素方法求出的中心坐標相差0.5個物理像素。
-
亞像素算法的建立和選擇:
亞像素定位算法的前提條件是:目標不是孤立的單個像素點,而必須是由一定灰度分布和形狀分布的一系列像素點組成。
一般要經過三個步驟:
① 粗定位過程:
對檢測的目標進行初步定位,得到像素的精度;
② 確定搜索范圍:
為了提高精度和降低運算量,在目標位置附近選擇合適大小的小領域區域作為分析的搜索區域。
③ 細定位過程
根據區域特點,選擇合適的亞像素算法進行細定位分析以得到亞像素的精度。
-
亞像素細分算法
①:幾何方法
利用圖像中某一目標的幾何特征得到亞像素的測量數據,一般是規則形狀的目標,如圓,三角形、正方形等形狀。
常見的幾何方法有形心法和灰度重心法。
形心法是對圖像中圓、橢圓和矩形等中心對稱的目標進行高精度定位的最簡單的亞像素算法。
由於形心法是根據被測目標的幾何特性來確定位置,所以需要對圖像進行二值化運算,識別 出要處理的目標區域。同時,此算法也要求目標圖像的干擾噪聲盡可能小,這樣就不會產生 太大的誤差,一般可進行圖像預處理來減少誤差的產生。當目標圖像的對比度較好時,形心法的精度可以達到0.1個像素。
灰度重心法是基於形心法的基本原理而形成的常用亞像素算法。
在圖像的亞像素級邊緣提取中,它看成是以灰度或灰度的導數為權值的加權重心。它的好處在於算法充分利用了對稱目標中每一點的灰度值,通常可獲得比形心法更高的定位精度。
②:矩估計方法
矩估計方法是目前亞像素算法中研究最廣泛,應用最多的方法。由於矩是基於積分的運算, 因此矩也被認為是對噪聲不敏感的穩定特征,同時矩還具有被測目標的矩特性在成像前后 保持不變的性質。根據矩的這種顯著特點可以采用模板運算的方式對物體形狀的邊緣進行 亞像素細分。常見的算法有空間矩、灰度矩和ZOM正交矩等。
③:插值法
線性插值是插值算法中最簡單的一種。毫無疑問,它是通過等間隔的線性插值算法來實現對邊緣過渡的細分。因此,其算法最為簡單,速度快,但精度也不高。
多項式插值法則改善了線性插值的缺陷,它采用了多項式插值函數來對邊緣進行亞像素細分。
-
實踐中,
許多算法,都具有亞像素精度;對算法進行評估的一個指標是是否具有亞像素精度。
這是什么意思呢?
可以這樣理解:圖像采用某種算法,一般得出的像素坐標為整數int(x,y);但是如果得出的像素坐標不是整數如float(x,y);即數值計算的結果不為整數;可以說成算法具有亞像素精度(Sub Pixel Accuracy)的優點。
計算的數值比整數值更為精確,如果需要得出整數,可以把返回的小數值近似為最接近的整數。