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