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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

智慧型應用程式控制是Windows11中非常有用的工具,可幫助保護你的電腦免受可能損害資料的未經授權的應用程式(如勒索軟體或間諜軟體)的侵害。本文將解釋什麼是智慧型應用程式控制、它是如何運作的,以及如何在Windows11中開啟或關閉它。什麼是Windows11中的智慧型應用控制?智慧型應用程式控制(SAC)是Windows1122H2更新中引入的新安全功能。它與MicrosoftDefender或第三方防毒軟體一起運行,以阻止可能不必要的應用,這些應用程式可能會減慢設備速度、顯示意外廣告或執行其他意外操作。智慧應用

好強大的AI模仿能力,真的防不住,完全防不住。現在AI的發展已經達到這種程度了嗎?你前腳讓自己的五官亂飛,後腳,一模一樣的表情就被復現出來,瞪眼、挑眉、噘嘴,不管多麼誇張的表情,都模仿的非常到位。加大難度,讓眉毛挑的再高些,眼睛睜的再大些,甚至連嘴型都是歪的,虛擬人物頭像也能完美復現表情。當你在左邊調整參數時,右邊的虛擬頭像也會相應地改變動作給嘴巴、眼睛一個特寫,模仿的不能說完全相同,只能說表情一模一樣(最右邊)。這項研究來自慕尼黑工業大學等機構,他們提出了GaussianAvatars,這種

本文經自動駕駛之心公眾號授權轉載,轉載請洽出處。原標題:MotionLM:Multi-AgentMotionForecastingasLanguageModeling論文連結:https://arxiv.org/pdf/2309.16534.pdf作者單位:Waymo會議:ICCV2023論文想法:對於自動駕駛車輛安全規劃來說,可靠地預測道路代理未來行為是至關重要的。本研究將連續軌跡表示為離散運動令牌序列,並將多智能體運動預測視為語言建模任務。我們提出的模型MotionLM有以下幾個優點:首

軌跡預測近兩年風頭正猛,但大都聚焦於車輛軌跡預測方向,自動駕駛之心今天就為大家分享頂會NeurIPS上關於行人軌跡預測的演算法—SHENet,在受限場景中人類的移動模式通常在一定程度上符合有限的規律。基於這個假設,SHENet透過學習隱含的場景規律來預測一個人的未來軌跡。文章已經授權自動駕駛之心原創!作者的個人理解由於人類運動的隨機性和主觀性,目前預測一個人的未來軌跡仍然是一個具有挑戰性的問題。然而,由於場景限制(例如平面圖、道路和障礙物)以及人與人或人與物體的互動性,在受限場景中人類的移動模式通

01什麼是滑板底盤所謂滑板式底盤,即將電池、電動傳動系統、懸吊、煞車等零件提前整合在底盤上,實現車身和底盤的分離,設計解耦。基於這類平台,車企可以大幅降低前期研發和測試成本,同時快速回應市場需求打造不同的車款。尤其是無人駕駛時代,車內的佈局不再是以駕駛為中心,而是會注重空間屬性,有了滑板式底盤,可以為上部車艙的開發提供更多的可能。如上圖,當然我們看滑板底盤,不要上來就被「噢,就是非承載車身啊」的第一印象框住。當年沒有電動車,所以沒有幾百公斤的電池包,沒有能取消轉向柱的線傳轉向系統,沒有線傳煞車系

《ComputerWorld》雜誌曾經寫過一篇文章,說“編程到1960年就會消失”,因為IBM開發了一種新語言FORTRAN,這種新語言可以讓工程師寫出他們所需的數學公式,然後提交給電腦運行,所以程式設計就會終結。圖片又過了幾年,我們聽到了一種新說法:任何業務人員都可以使用業務術語來描述自己的問題,告訴電腦要做什麼,使用這種叫做COBOL的程式語言,公司不再需要程式設計師了。後來,據說IBM開發了一門名為RPG的新程式語言,可以讓員工填寫表格並產生報告,因此大部分企業的程式設計需求都可以透過它來完成圖

身高1.65米,體重55公斤,全身44個自由度,能夠快速行走、敏捷避障、穩健上下坡、抗衝擊幹擾的人形機器人,現在可以帶回家了!傅利葉智慧的通用人形機器人GR-1已開啟預售機器人大講堂傅利葉智慧FourierGR-1通用人形機器人現已開放預售。 GR-1擁有高度仿生的軀幹構型和擬人化的運動控制,全身44個自由度,具備行走、避障、越障、上下坡、抗干擾、適應不同路面等運動能力,是通用人工智慧的理想載體。官網預售頁:www.fftai.cn/order#FourierGR-1#傅利葉智能需要改寫的內

定位在自動駕駛中佔據不可取代的地位,而且未來有著可期的發展。目前自動駕駛中的定位都是依賴RTK配合高精地圖,這為自動駕駛的落地增加了不少成本與難度。試想一下人類開車,並非需要知道自己的全局高精定位及周圍的詳細環境,有一條全局導航路徑並配合車輛在該路徑上的位置,也就足夠了,而這裡牽涉到的,便是SLAM領域的關鍵技術。什麼是SLAMSLAM (Simultaneous Localization and Mapping),也稱為CML (Concurrent Mapping and Localiza
