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