智慧汽車感知前端處理難點之影像畸變校正技術淺析

WBOY
發布: 2023-04-12 15:16:03
轉載
1289 人瀏覽過

我們知道,相機在進行影像拍攝時,最理想的位置是能垂直與拍攝平面的,這樣能保證影像能依照原來的幾何比重現。然而在智慧駕駛汽車的實際應用中,受到智慧車車體結構的限制,車體控制要求攝影機有一定的預瞄距離,攝影機的水平和垂直掃射面通常是成扇形擴張的,且攝影機與地面一般成一定角度安裝。這種角度的存在會在影像邊緣造成一定的成像畸變。畸變的結果是在後期影像處理過程中產生一系列如下的類似問題:

#1)垂直線被拍攝成斜線導致斜率計算錯誤;

1)垂直線被拍攝成斜線導致斜率計算錯誤;

#2)遠處的彎道可能由於畸變被壓縮導致曲率計算錯誤等等;

3)對於旁車道車輛狀態在識別過程中產生嚴重的畸變,在後期處理的時候會存在不匹配的問題;

諸如上面各類問題都是可能存在在整個圖像感知中,如果畸變處理不得當會對整個影像品質和後續神經網路辨識造成較大的風險。為了滿足智慧車的即時控制需求,一般需要在實際應用場景中針對攝影機影像畸變提出相應的矯正演算法。

01 智慧汽車主要的畸變種類

#相機畸變包含徑向畸變、切向畸變、離⼼畸變、薄棱鏡畸變等,智慧汽車上的相機畸變主要有徑向畸變和切向畸變。

徑向畸變分為桶形變形和枕型畸變。

通常我們智慧停車系統一般採用的環景攝影機由於採用廣角拍攝,其對應的畸變類型通常是徑向畸變。徑向畸變產⽣的主要原因是鏡頭徑向曲率的不規則變化,它會導致影像的扭曲變形,這種畸變的特徵是以主點為中⼼,沿徑向移動,離的距離越遠,產⽣的變形量就越⼤。對於⼀個矩形的嚴重徑向失真需要被較正成理想線性鏡頭的影像才可以進入後端處理過程。

而行車系統一般採用的前視、側視、後視攝影機由於採用一般的CMOS製程攝影機進行拍攝,且由於前側視攝影機安裝過程中可能無法保證透鏡與成像面嚴格平行,同時也可能是由於製造上的缺陷使透鏡不與成像平面平行,從而產生切向畸變,這種現象通常發⽣於成像儀被粘貼在攝影機的時候。 智慧汽車感知前端處理難點之影像畸變校正技術淺析

徑向畸變和切向畸變模型中一共有5個畸變參數,在Opencv中他們被排列成一個5*1的矩陣,依序包含k1、k2、p1、p2、k3,常被定義為Mat矩陣的形式。

對於畸變矯正來說,這5個參數就是相機標定中需要確定的相機的5個畸變係數。參數k1、k2、k3稱為徑向畸變參數,其中k3是可選參數。對於畸變嚴重的相機(如⻥眼相機),可能還會有k4、k5、k6。切向畸變可以用兩個參數p1 和p2 來表示:至此,得到了共五個參數:K1、K2、K3、P1、P2,這五個參數是消除畸變所必須的,稱為畸變向量,也叫相機外參數。

因此,求得這5個參數後,就可以校正由於鏡頭畸變引起的影像的變形失真,下圖顯示根據鏡頭畸變係數校正後的效果:

智慧汽車感知前端處理難點之影像畸變校正技術淺析透過5個畸變係數找到這個點在像素平面上的正確位置公式如下:

######畸變後的點可以透過內參矩陣投影到像素平面,得到該點在影像上的正確位置(u,v):######

智慧汽車感知前端處理難點之影像畸變校正技術淺析

02 影像畸變矯正方法

與相機模型方法論不同,影像去畸變是為了補償透鏡缺陷,對原始影像進行徑向/切向去畸變,之後在使用此相機模型。處理影像畸變的方法主要涉及選擇何種相機模型進行影像投影。

典型相機模型投影方式有球面模型和柱面模型。

1、魚眼相機成像畸變矯正

通常類似魚眼鏡頭會產生極大的形變,例如在普通相機成像過程中,直線投影到像平面上還是一定大小的直線,但是魚眼相機拍攝的圖到像平面上則會變成非常大且長的直線,甚至部分場景下直線偵測會被投影到無窮大,因此針孔模型無法為魚眼鏡頭建模。

為了將盡可能大的場景投影到有限的影像平面內,魚眼鏡頭一版由十幾個不同的透鏡組合而成,在成像過程中,入射光線經過不同程度的折射,投影到尺寸有限的成像平面上,使得魚眼鏡頭與普通鏡頭相比起來擁有了更大的視野範圍。

研究顯示魚眼相機成像時遵循的模型近似為單位球面投影模型。這裡我們為了更好的適配相機針孔模型的推導過程,常用的方法是採用投影到球面相機模型過程來進行。

魚眼相機成像過程的分析可以分成兩個步驟:

  • 三維空間點線性投影到一個球面上,當然這個球面是我們假設的虛擬球面,將其球心看成與相機座標原點重合。
  • 單位球面上的點投影到影像平面上,這個過程是非線性的。

如下圖表示了一種智駕系統中從魚眼相機拍攝變換到球面相機的影像處理過程。假設相機座標系下的點為X=(x,y,z),像素座標為x=(u,v)。那麼它的投影過程表示如下:   

智慧汽車感知前端處理難點之影像畸變校正技術淺析

#1)第一步是用攝影機擷取世界座標系下的三維點,並將影像座標系下的成像點投影到歸一化單位球面座標上;

智慧汽車感知前端處理難點之影像畸變校正技術淺析

2)將相機座標中心沿著z軸偏離個單位,得到如下:

智慧汽車感知前端處理難點之影像畸變校正技術淺析

3)考慮單位球面,將球面進行歸一化為1個單位:

智慧汽車感知前端處理難點之影像畸變校正技術淺析

#4)將球面投影模型轉換到針孔模型上,得到對應的主點座標,以此主點座標可以建立對應的標準的相機座標系模型:

智慧汽車感知前端處理難點之影像畸變校正技術淺析

2、柱面座標投影

#

对于诸如前视、侧视摄像头这样的终端来说,通常捕获的图像主要产生的是切向畸变。切向畸变通常推荐采用柱面相机模型,其优点是指用户可以获得诸如鱼眼相机的全景图中360度范围内任意切换视线,也可以在一个视线上改变视角,来取得接近或远离的效果,同时,柱面全景图像也较为容易处理,因为可以将圆柱面沿轴切开并展开在一个平面上,传统的图像处理方法常常可以直接使用,柱面全景图并不要求照相机的标定十分准确。用户在水平方向上有360度的视角,在垂直方向上也可以做一定的视角变化,但是角度范围则受到限制,由于柱面模型的图像质量均匀,细节真实度更高,应用范围比较广泛。

总体来说,柱面全景图显著优点归纳为以下两点:

1)它的单幅照片的获取方式比立方体形式和球面形式的获取方式简单。普通车载相机(如前视、侧视摄像头)基本就可以获取到原始图像。

2)柱面全景图容易展开为一个矩形图像,可以直接用计算机常用的图像格式进行存储和访问。柱面形式的全景图在垂直方向允许参与者视线的转动角度小于180度,但是绝大多数应用中,水平方向的360度环视场景足以表达空间信息。

智慧汽車感知前端處理難點之影像畸變校正技術淺析

这里我们重点讲下如何利用柱面相机对原图像进行畸变矫正处理的算法,实际上这是个从获得虚拟相机到原相机映射关系的过程。这里的虚拟相机是指针对真实图像到生成柱面图的映射关系。

如下图表示了一种智驾系统中从普通车载相机拍摄变换到柱面相机的图像处理过程。其中,获得虚拟相机图⽚的实质就是求虚拟相机到原相机的映射关系,通⽤的过程如下:

智慧汽車感知前端處理難點之影像畸變校正技術淺析

首先,对于前/侧视原始视频图像可以设置为目标图像dst img;其中该目标图上的主点(u,v)为基础点进行2D到3D的逆投影变换到目标相机坐标图上,该目标相机可重构出世界坐标系下的该点位置(x,y,z);随后,在三维坐标系下通过投影变换算法得到虚拟相机下对应的原始相机图像Src Camera;在对该原始相机图像进行3D到2D的投影变换就可以得到对应的矫正后的图像Src img(u’,v’),该图像可通过重构的方式恢复出虚拟相机下的原始图像dst img。

从柱面相机模型可以看出柱面相机模型到针孔相机模型的变换公式如下:

智慧汽車感知前端處理難點之影像畸變校正技術淺析

如上公式中,其中u,v表示针孔相机平面主点(也叫像素坐标系中的坐标),fx、fy、cx、cy表示由于制造或安装误差产生的两个坐标轴偏斜参数。该主点乘以圆柱坐标系下的半径距离则可以得到相应的投影在柱面坐标上。

ρ来进行多项式近似,柱⾯相机2D->3D空间的过程中是不确定ρ的,当Tdst=Tsrc时,ρ取不同值时,从3D空间->侧视/前视相机2D求得的虚拟相机的映射是相同的;若Tdst!=Tsrc, 得到的虚拟相机的图像随ρ的不同⽽变化。对于给定的柱⾯图2D位置(u,v),在给定ρ的条件下,由如上公式可以计算dst camera柱面坐标系下的3D的相机坐标xc , yc, zc。

Φ用来进行多项式近似,Φ是入射光线和图像平面的夹角,这个值和鱼眼相机的参数很像。

接下來是相機變換過程,總結起來包含以下過程。

首先設定虛擬相機影像解析度為想要取得的鳥瞰IPM圖的解析度;其中虛擬相機影像的主點為IPM圖解析度的中心(一般假設不設定偏移)。其次,設定虛擬相機的fx、fy以及相機位置,其中高度設定為1,與fx、fy設定方式相對應,可依需求修改y的偏移量。由此,則可依目標相機dst camera的外參(R,T)dst,把dst camera相機座標(xc,yc,zc)dst轉換為觀測座標系vcs座標,接著再結合src camera的外參( R,T)src,將VCS座標轉換為src camera相機座標(xc,yc,zc)src 。

智慧汽車感知前端處理難點之影像畸變校正技術淺析

03 總結

由於車用相機通常會搭載不同的成像鏡頭,這種多元件的構造結構使得對於車載相機的折射關係分析不能簡單地採用原來的針​​孔相機模型進行適配。特別是對於魚眼相機來說,由於需要擴大視覺範圍,因此這種折射率所帶來的影像畸變更是明顯。本文我們重點介紹了適配於智慧駕駛系統各類不同視覺感測器的去畸變方法,主要透過投影方式將世界座標系下的影像投影到虛擬球面座標系和虛擬柱面座標系下,從而依靠2D— >3D的相機變換來去除畸變。部分演算法在長期實踐基礎上相對於經典去畸變演算法有所改進。

以上是智慧汽車感知前端處理難點之影像畸變校正技術淺析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!