一種圖像拉伸畸變自適應校正方法
【技術領域】
[0001] 本發明涉及一種數字圖像處理技術,尤其涉及一種圖像拉伸畸變自適應校正方 法。
【背景技術】
[0002] 照相機廣角鏡頭能獲取較大視場的圖像,但也容易引入圖像畸變。其中一種畸變 是當廣角鏡頭遵循針孔成像模型進行成像,并且成像場景中有物體靠近相機并處在視場邊 緣時,拍攝后的圖像中該物體由于透視效應會被嚴重拉伸,造成該物體幾何形狀的失真。特 別是該物體是人臉或人物時,由于人眼對人臉和人物圖像的畸變較為敏感,該拉伸畸變更 為明顯。因此,需要對出現物體拉伸畸變的圖像進行校正,使得圖像符合人眼視覺。
[0003] 然而,圖像場景中的直線會因為校正了物體的拉伸而受到彎曲,因此,需要在在校 正拉伸畸變同時使得其他場景或物體保持不受影響。
[0004] 此外,全景圖像本質上也是一種廣角圖像。當全景圖像采用線性透視投影時,該圖 像也會出現拉伸畸變。
[0005] 在現有的技術中有通過改變投影中心的全局投影校正方法,有通過將圖像背景與 人物相分離再分別校正的方法,有優化的保持圖像內容的投影校正方法。
【發明內容】
[0006] 本發明的目的在于針對現有技術的不足,提供一種圖像拉伸畸變自適應校正方 法,在保持圖像中背景直線筆直的同時校正圖像中物體尤其是人物出現的拉伸畸變。
[0007] 本發明的目的是通過以下技術方案實現的:一種圖像拉伸畸變自適應校正方法, 所述方法包括以下步驟:
[0008] 步驟A :輸入帶有物體拉伸畸變的圖像。
[0009] 步驟B :建立網格及坐標,將帶有物體拉伸畸變的圖像劃分為正方形均勻網格,網 格交點坐標記為X^j= (X U,yu),i, j為網格交點序號;設網格交點坐標校正后的坐標 為~=(uu'i)。
[0010] 步驟C :構造 U1, j的約束能量函數。
[0011] 步驟Cl :構造單應性約束能量函數。計算出將人物區域旋轉至視場中心需要旋轉 的角度計算公式為:
[0012]
[0013] 其中L為人物區域中心到視場中心的水平偏移距離,f為焦距,L和f均轉化為以 像素數為單位。則人物區域的單應性變換可寫為:
[0014]
[0017] 將上式描述的單應性變換記為H(Xli j),則可以定義人物區域網格點單應性約束的 能量函數:
[0019] 其中,P1為人物區域網格點的集合。
[0020] 背景區域網格點的單應性約束能量函數定義為:
[0022] 其中,P2為背景區域網格點的集合。
[0023] 總的單應性約束能量函數即為
[0025] 步驟C2 :構造單應性兼容約束能量函數。
[0026] 定義Ph。為人物區域和背景區域間共有邊界的網格點,H i、H2分別為背景區域和人 物區域的單應性變換。則單應性兼容約束的能量函數為:
[0028] 步驟C3 :構造直線保持約束能量函數。首先使用直線段檢測算法檢測圖像中除人 物之外背景區域中的直線段。將檢測到的直線集合定義為L。
[0029] 在每一個有直線經過的網格中定義一個虛擬點
[0031] 其中系數a, b, c, d由與u-v坐標相對應的x-y坐標值經雙線性插值計算得到。計 算公式為:
[0036] 其中,4取為網格塊內線段的中點。
[0037] 對于任意一條直線,定義其起始點和終點分別為Ustal^P u OTd。
[0038] 計算曲線上的點Uli,與該點到直線上投影點之間的距離D,并將D約束為零。由幾 何關系可以得到,該距離D的計算式為
[0041] 其中,n = Oi1, n2)為直線的單位法向量。計算出距離D,則可定義直線保持約束的 能量函數為
[0043] 步驟C4 :構造全局坐標平滑約束能量函數。定義u-v坐標的雅可比矩陣為
[0045] 當雅可比矩陣中的各項滿足柯西-黎曼方程:
[0047] 可實現坐標的連續平滑。將上式離散化得:
[0048] Uwi-Ulij= Vli^1-Vlij
[0049] Uli ^1-Uli j= -(V1^i -Vli j);
[0050] 通過上式可計算坐標平滑約束能量函數:
[0051] Es= Σ ((u 1+1,廠Uli j)-(Vli j))2+Σ ((Vi+1,廠Vi ^ + (U1 J1-Uli j))2;
[0052] 步驟C5 :構造全局坐標均勻約束能量函數。將拉普拉斯算子離散化,可定義全局 坐標均勻約束的能量函數為
[0054] 步驟D :線性最小二乘求解。為每一個能量函數添加權重系數并將各能量函數相 加得到總能量函數為:
[0056] 使E = 0,則Eh,Eh。,E1, Es,Eu均需為0,由此可以構造出線性方程組
[0057] Ax = b
[0058] 其中A為約束矩陣,包含約束能量函數中的Uli j前的各個系數。X為包含待求未知 量Uli j和V u的列向量,b包含各個方程的常數項。
[0059] 用線性最小二乘法對X進行求解,求解公式為
[0060] X = (AtA) Vb
[0061] 步驟E :求解出網格點坐標1^和 ' ,后,采用雙線性映射計算出除網格點之外任 意點(x,y)校正后的坐標為
[0062] (u,V) = (1-χ)(l_y)pl+x(l_y)ρ2+(1-χ)yp3+xyp4。
[0063] 其中,?1,?2,?3,?4分別為點〇^,7)所在網格的4個網格點坐標,?1為左上角網格 點坐標,p2為右上角網格點坐標,p3為左下角網格點坐標,p4為右下角網格點坐標。
[0064] 步驟F :計算出校正坐標(u, V)后。通過從輸入坐標值(X,y)到計算得到的坐標 值(u,v)的重映射和插值,得到校正圖像。
[0065] 本發明公開的方法相比現有的校正方法有以下幾個特點:(1)既能校正視場邊緣 處物體的拉伸畸變,又能保持背景直線不受彎曲;(2)校正結果圖像內容連續一致,無切割 想象出現;(3)校正后圖像的視場損失較小;(4)校正方法自動完成,無需人工干預。
【附圖說明】
[0066] 圖1是本發明一種圖像拉伸畸變校正方法的流程圖;
[0067] 圖2是帶有本發明所描述的拉伸畸變的示例圖像;
[0068] 圖3是網格的建立和坐標的定乂不意圖;
[0069] 圖4是圖像區域的劃分示意圖;
[0070] 圖5是虛擬點的定義示意圖;
[0071] 圖6是距離D的計算示意圖;
[0072] 圖7是雙線性映射示意圖;
[0073] 圖8是經本發明方法校正后的示例圖像;
[0074] 圖9是本發明方法校正后的示例圖像剪裁為矩形后的圖像。
【具體實施方式】
[0075] 本發明所述的圖像拉伸畸變自適應校正方法包括接受帶有物體拉伸畸變的圖像; 用均勻網格對圖像進行劃分并建立輸入輸出坐標系;將輸入圖像通過人臉檢測算法檢測人 臉位置和大小,并通過該信息確定出人物所處的矩形區域和余下的背景區域;分別為各個 區域建立單應性約束,以校正人物區域中出現的拉伸畸變,并為相鄰區域建立單應性兼容 約束,保證各個區域的連續性;通過直線檢測算法確定直線區域,為直線區域建立直線保持 約束,以保證校正后的直線不出現彎曲;建立全局坐標平滑和均勻性約束保證整幅圖像一 致連續;將上述約束表述為能量函數,并加入權重,將各個能量方程相加;將能量函數最小 化以構造出線性方程組,使用最小二乘法計算該線性方程組,得到校正后的圖像坐標值;使 用雙線性紋理映射進行渲染得到最終圖像。
[0076] 為更好地理解本發明的實現過程,下面將結合附圖詳細闡述本發明的一種圖像拉 伸畸變自適應校正方法。具體實施步驟的流程圖參見圖1,應用本發明的方法實現圖像拉伸 畸變校正的具體步驟如下:
[0077] 步驟A :輸入帶有物體拉伸畸變的圖像。圖2是帶有人物拉伸畸變的圖像的一個 示例,畸變位置用雙箭頭標明。
[0078] 步驟B :建立網格及坐標。以圖2為例,如圖3所示,將圖像劃分為正方形均勻網 格,網格交點坐標記為Xu= (X u Y1 j,i,j為網格交點序號。經圖像扭曲后,待求解的坐 標記為 Uiij= (U ",Viij) 〇
[0079] 步驟C :構造約束能量函數。
[0080] 步驟Cl :構造單應性約束能量函數。出現拉伸畸變的原因是物體處在圖像視場邊 緣,當旋轉照相機使之正對物體并使物體處在視場中央拍攝時,則物體無拉伸畸變。因此, 需要通過單應性變換(透視變換)改變圖像局部區域的視角,以校正該區域中物體的拉伸 畸變。首先,使用圖像人臉