本發明涉及輔助駕駛,特別是涉及一種全自動化、高精度、低成本的攝像頭實時標定方法、系統和裝置。
背景技術:
高級輔助駕駛系統(Advanced Driver Assistance System,簡稱ADAS)是一種新興技術。傳統的汽車安全技術(如安全帶等)是被動安全技術,即在危險發生后被動地保護車內人員安全。而ADAS是一種主動安全技術。它通過特定的傳感器系統實時監測當前的駕駛環境,并及時對潛在的危險進行預警。
車載攝像頭作為高級輔助駕駛系統中的一個主要傳感器,在車道偏離預警、車輛識別、行人識別、車距監控等方面都有重要作用。通常在攝像頭安裝在車輛上以后,需要對攝像頭的外部參數進行標定,以得到準確的圖像坐標系和世界坐標系的轉換關系。攝像頭的外部參數指的是攝像頭坐標系與世界坐標系之間3個夾角。攝像頭坐標系與世界坐標系之間夾角包括俯仰角、翻滾角和/或偏航角。
通常地,車載攝像頭使用標定板方法進行標定。這一標定方法通過拍攝不同位置的標定板圖片并對圖片上的特定點進行計算,從而得到攝像頭的外部參數。這一標定過程需要用到的設備較多,包括標準標定板、攝像頭連接線、用于計算的筆記本電腦和計算軟件等,效率低,使用不方便。由于標定過程涉及精確移動標定板及計算參數,因此這一標定方法要求操作者對標定原理有一定了解,不適合未經培訓的普通人員采用。此外,這一標定方法耗費時間也比較長。
這一方法在實際使用中也有諸多問題。目前的高級駕駛輔助設備基本都是面向普通消費者的產品,即非車輛出廠預裝,而是用戶根據自身需求另行購買。這導致用戶無法自行安裝該產品,而要到經銷商指定的安裝點,由專業技術人員花費數小時安裝,極大地影響了消費者的體驗。
此外,在實際使用過程中,因震動、結構件老化等原因,攝像頭經常會從已標定的原安裝位置產生微小的位移和旋轉。此時一方面需要用戶重新去安裝點標定,另一方面如果用戶未察覺到這一變化,會導致系統輸出發生偏差,甚至影響安全。
技術實現要素:
基于此,有必要提供一種全自動化、高精度、低成本的攝像頭實時標定方法。
在本發明的其中一個實施例中,攝像頭實時標定方法包括獲取攝像頭坐標系與世界坐標系之間夾角的初始值;
獲取攝像頭在所述攝像頭坐標系中沿坐標軸方向旋轉的角速度;
根據所述角速度通過對時間積分獲得額定時間內所述夾角的角度變化量;
將所述夾角的初始值與所述角度變化量進行疊加,獲得攝像頭坐標系與世界坐標系之間夾角的調節值,用以標定所述攝像頭的外部參數。
在本發明的其中一個實施例中,所述方法中,所述夾角的初始值為:在靜態時基于傳感器測量得到攝像頭坐標系與世界坐標系之間的夾角;或者
計算當前時刻用以標定所述攝像頭的外部參數的調節值時,所述夾角的初始值為:前一時刻依據所述根據所述夾角的初始值及所述相應坐標軸方向上的角度變化量、獲取攝像頭坐標系與世界坐標系之間夾角的調節值的步驟而獲取的調節值,或者,前一時刻依據所述通過將所述當前值與所述調節值進行線性疊加對所述調節值進行修正的步驟而獲取的修正后的結果。
在本發明的其中一個實施例中,所述采用加速度計獲取俯仰角的所述初始值或所述當前值的步驟、或所述采用加速度計獲取翻滾角的所述初始值或所述當前值的步驟中包括:
采用加速度計測量攝像頭坐標系在三個坐標軸方向上的加速度分量;
采用公式計算出采用加速度計時的俯仰角的所述初始值或所 述當前值;
采用公式計算出采用加速度計時的翻滾角的所述初始值或所述當前值;
其中,ax表示沿攝像頭坐標系x方向上的加速度分量,ay表示沿攝像頭坐標系y方向上的加速度分量,az表示沿攝像頭坐標系z方向上的加速度分量。
在本發明的其中一個實施例中,所述根據所述角速度通過對時間積分獲得額定時間內的相應坐標軸方向上的角度變化量的步驟包括:
將所述角速度值乘以時鐘周期得到一個時鐘周期內的角度變化量,從而獲得當前時鐘周期內所述夾角的角度變化量。
在本發明的其中一個實施例中,所述通過將所述當前值與所述調節值進行線性疊加對所述調節值進行修正的步驟中采用以下公式計算:修正后的結果=(1-增益系數)*所述調節值+增益系數*所述當前值。
在本發明的其中一個實施例中,一種攝像頭實時標定系統,其包括:
測量模塊,用于獲取攝像頭坐標系與世界坐標系之間夾角的初始值;
角度變化計算模塊,用于獲取攝像頭在所述攝像頭坐標系中沿坐標軸方向旋轉的角速度,并根據所述角速度通過對時間積分獲得額定時間內的所述夾角的角度變化量;及
角度獲取模塊,用于將所述夾角的初始值與所述角度變化量進行疊加,獲取攝像頭坐標系與世界坐標系之間夾角的調節值,用以標定所述攝像頭的外部參數。
在本發明的其中一個實施例中,所述夾角的初始值為:在靜態時基于傳感器測量得到攝像頭坐標系與世界坐標系之間的夾角;或者
計算當前時刻用以標定所述攝像頭的外部參數的調節值時,所述夾角的初始值為:前一時刻依據所述根據所述夾角的初始值及所述相應坐標軸方向上的角度變化量、獲取攝像頭坐標系與世界坐標系之間夾角的調節值的步驟而獲取的調節值,或者,前一時刻依據所述通過將所述當前值與所述調節值進行線性 疊加對所述調節值進行修正的步驟而獲取的修正后的結果。
在本發明的其中一個實施例中,所述測量模塊或所述校正模塊中包括:
加速度獲取單元,用于采用加速度計測量攝像頭坐標系在三個坐標軸方向上的加速度分量;
俯仰角計算單元,用于采用公式計算出采用加速度計時的俯仰角的所述初始值或所述當前值;及
翻滾角計算單元,用于采用公式計算出采用加速度計時的翻滾角的所述初始值或所述當前值;
其中,ax表示沿攝像頭坐標系x方向上的加速度分量,ay表示沿攝像頭坐標系y方向上的加速度分量,az表示沿攝像頭坐標系z方向上的加速度分量。
在本發明的其中一個實施例中,所述角度變化計算模塊包括:
角速度獲取單元,用于獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度值;
變化獲取單元,用于將所述角速度值乘以時鐘周期得到一個時鐘周期內的角度變化量,從而分別獲得當前時鐘周期內俯仰角、翻滾角和/或偏航角對應的角度變化量。
在本發明的其中一個實施例中,所述將所述當前值與所述調節值進行線性疊加、獲得對所述調節值進行修正后的結果值采用以下公式計算:結果值=(1-增益系數)*所述調節值+增益系數*所述當前值。
在本發明的其中一個實施例中,一種攝像頭實時標定裝置,與攝像頭連接,其包括:
角速度傳感器,用于獲取所述攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度;
傳感器模塊,用于獲取攝像頭坐標系與世界坐標系之間夾角;及
分別與所述角度傳感器和傳感器模塊連接的處理器,用于接收所述角速度, 并根據所述角速度通過對時間積分獲得額定時間內所述夾角的角度變化量,將所述夾角的初始值與所述角度變化量進行疊加,獲得攝像頭坐標系與世界坐標系之間夾角的調節值,輸出所述調節值,用以提醒所述調節值和/或根據所述調節值調整攝像頭坐標系與世界坐標系之間夾角。
在本發明的其中一個實施例中,一種攝像頭實時標定裝置,其包括:
加速度計,用于測量攝像頭坐標系在三個坐標軸方向上的加速度分量;
陀螺儀,用于獲取攝像頭在所述攝像頭坐標系中沿坐標軸方向旋轉的角速度;
磁力計,用于獲取攝像頭坐標系與世界坐標系之間偏航角;
可與加速度計連接的角度計算模塊,用于根據加速度計獲取的加速度分量獲取攝像頭坐標系與世界坐標系之間俯仰角和/或翻滾角;
可與陀螺儀連接的變化計算模塊,用于根據陀螺儀獲取的所述角速度通過對時間積分獲得額定時間內俯仰角、翻滾角、和/或偏航角的角度變化量;及
融合計算模塊,用于將所述俯仰角、翻滾角、和/或偏航角的初始值與所述俯仰角、翻滾角、和/或偏航角的角度變化量分別進行疊加,獲得攝像頭坐標系與世界坐標系之間俯仰角、翻滾角、和/或偏航角對應的調節值,輸出調節值用以標定所述攝像頭的外部參數。
在本發明的其中一個實施例中,還提供了一種攝像裝置,其包括攝像頭和上述的攝像頭實時標定裝置。
上述全自動化、高精度、低成本的攝像頭實時標定方法、系統和裝置通過測量攝像頭坐標系與世界坐標系之間夾角的初始值;測量攝像頭在坐標系中三個方向旋轉的角速度,并通過對時間積分獲得額定時間內的角度變化量;根據夾角的初始值及角度變化量獲取攝像頭坐標系與世界坐標系之間夾角的調節值;攝像頭坐標系與世界坐標系之間夾角包括俯仰角、翻滾角和/或偏航角。因此,用戶無需使用標定板方法對攝像頭進行標定,可由用戶自行安裝輔助駕駛設備。
在用戶使用過程中,上述全自動化、高精度、低成本的攝像頭實時標定方法、系統和裝置會對攝像頭坐標系與世界坐標系之間夾角進行修正,去除其因 外力產生的誤差,使得將攝像頭坐標系與世界坐標系之間精確夾角帶入輔助駕駛系統進行計算,避免因夾角不準確而產生錯誤的輔助駕駛指令,提高輔助駕駛的安全性。
附圖說明
圖1為攝像頭坐標系與世界坐標系之間俯仰角示意圖;
圖2為攝像頭坐標系與世界坐標系之間翻滾角示意圖;
圖3為攝像頭坐標系與世界坐標系之間偏航角示意圖;
圖4為本發明的其中一個實施例中標定裝置的結構示意;
圖5為本發明的其中一個實施例中攝像頭實時標定方法的流程圖;
圖6為本發明的其中一個實施例中攝像頭實時標定方法的流程圖;
圖7為本發明的其中一個實施例中角度校正的算法結構圖;
圖8為本發明的其中一個實施例中帶修正環節的攝像頭實時標定方法的流程圖;
圖9為本發明的其中一個實施例中攝像頭實時標定系統的模塊圖;
圖10為本發明的其中一個實施例中攝像頭實時標定裝置的結構示意圖。
具體實施方式
為了便于理解本發明,下面將參照相關附圖對本發明進行更全面的描述。附圖中給出了本發明的較佳的實施例。但是,本發明可以以許多不同的形式來實現,并不限于本文所描述的實施例。相反地,提供這些實施例的目的是使對本發明的公開內容的理解更加透徹全面。
需要說明的是,當元件被稱為“固定于”另一個元件,它可以直接在另一個元件上或者也可以存在居中的元件。當一個元件被認為是“連接”另一個元件,它可以是直接連接到另一個元件或者可能同時存在居中元件。本文所使用的術語“垂直的”、“水平的”、“左”、“右”以及類似的表述只是為了說明的目的。
除非另有定義,本文所使用的所有的技術和科學術語與屬于本發明的技術 領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在于限制本發明。本文所使用的術語“和/或”包括一個或多個相關的所列項目的任意的和所有的組合。
本發明是對攝像頭坐標系與世界坐標系之間夾角進行標定,攝像頭坐標系與世界坐標系之間夾角包括俯仰角、翻滾角和/或偏航角。如圖1所示,為攝像頭坐標系與世界坐標系之間俯仰角示意圖,此時為車輛的側視圖。如圖2所示,為攝像頭坐標系與世界坐標系之間翻滾角示意圖,此時為車輛的前視圖。如圖3所示,為攝像頭坐標系與世界坐標系之間偏航角示意圖,此時為車輛的俯視圖。其中實線(x,y,z)為世界坐標系,虛線(x’,y’,z’)為攝像頭坐標系。
圖4提供了一種攝像頭實時標定裝置,其與攝像頭800連接,用于對攝像頭800的外部參數進行標定。該裝置可以包括:
1、角速度傳感器,用于獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度。此角速度傳感器可以為陀螺儀701等用于測量角速度的傳感器。
2、傳感器模塊,用于獲取攝像頭坐標系與世界坐標系之間夾角。攝像頭坐標系與世界坐標系之間的夾角包括俯仰角θ、翻滾角φ和/或偏航角ψ,這些統稱為攝像頭的外部參數。在本發明的其中一個實施例中,傳感器模塊可以包括加速度計702和/或磁力計704。采用加速度計獲取俯仰角和/或翻滾角;和/或采用磁力計獲取偏航角。
加速度計可通過計算得出攝像頭的俯仰角和翻滾角。具體地,采用加速度計獲取俯仰角的初始值或翻滾角的步驟包括:
采用加速度計獲取攝像頭坐標系在三個方向(x,y,z)上的加速度分量ax,ay,az,其中,ax表示沿攝像頭坐標系x方向上的加速度分量,ay表示沿攝像頭坐標系y方向上的加速度分量,az表示沿攝像頭坐標系z方向上的加速度分量;
采用公式計算出采用加速度計時的俯仰角θa。
采用公式計算出采用加速度計時的翻滾角φa。
3、分別與角度傳感器和傳感器模塊連接的處理器,其可以包括一個或多個CPU,用于執行對數據的處理與計算。
4、存儲器,用于存儲運算命令、緩存角度傳感器和傳感器模塊實時采集的數據。這里的存儲器可以包括一個或多個存儲設備,可以是硬盤、緩存等等。
5、執行模塊,用于根據處理器的指令,在顯示器、擴音器等設備上進行提醒,或者通過驅動機構調節攝像頭的外部參數。下文將結合標定方法詳細說明上述幾個模塊之間的具體執行關系。
如圖5所示,為攝像頭實時自動標定方法的流程圖。以下將結合圖4詳細說明本發明的各個具體實施例。
在步驟S110中,利用傳感器模塊獲取攝像頭坐標系與世界坐標系之間夾角的初始值。攝像頭坐標系與世界坐標系之間夾角作為攝像頭的外部參數,包括俯仰角、翻滾角和/或偏航角。在本發明的其中一個實施例中,可以采用加速度計獲取俯仰角的初始值;采用加速度計獲取翻滾角的初始值;和/或采用磁力計獲取偏航角的初始值。當然,還可以采用陀螺儀獲取俯仰角或翻滾角的初始值。
加速度計可通過計算得出攝像頭的俯仰角和翻滾角,具體參見前文說明。陀螺儀可直接獲取攝像頭的俯仰角和翻滾角。磁力計可直接獲取出偏航角。
在本實施例中,夾角的初始值可在車輛靜止的時候測量得到,也可以是在車輛運動的時候測量得到。即不管車輛靜止還是運動,夾角的初始值均可通過直接測量獲得,但是在車輛靜止的狀態下測得的夾角的初始值作為夾角的初始值進行計算時更為精確。
可見,在本發明的其中一個實施例中,標定裝置中的傳感器模塊可以包括以下之一:
與處理器相連的陀螺儀,用于測量攝像頭坐標系與世界坐標系之間夾角中的俯仰角和/或翻滾角;
與處理器相連的加速度計,用于測量攝像頭坐標系中沿坐標軸方向的加速度分量,根據加速度分量獲得攝像頭坐標系與世界坐標系之間夾角中的俯仰角和/或翻滾角;和
與處理器相連的磁力計,用于測量攝像頭坐標系與世界坐標系之間夾角中 的偏航角。
此外,針對加速度計的輸出信號還可以通過低通濾波器進行濾波處理;和/或采用低通濾波器對磁力計的輸出信號進行濾波處理。
采用低通濾波器分別對加速度計和磁力計的輸出信號進行濾波處理,能夠減少因震動、沖擊或加速度計(或磁力計)本身的隨機噪聲對輸出信號帶來的影響。根據加速度計(或磁力計)的精度不同,所需的濾波器截止頻率也有不同,通常為100Hz以下。
步驟S120,獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度,并在步驟S121中根據所述角速度通過對時間積分獲得額定時間內夾角的角度變化量。
由于車輛開始運行后,車輛姿態可能會發生變化,即俯仰角、翻滾角和偏航角會改變。車輛在運行中會因為加速、制動、上下坡、轉彎或震動等產生各種方向的加速度,因此,需要實時獲取攝像頭在攝像頭坐標系中三個方向旋轉的角速度。角速度通過對時間積分得到額定時間內的角度變化量。角度變化量為當前時刻角度值減去上一時刻的角度值。這里的額定時間,可以理解為計算的時鐘周期。在本發明的其中一個實施例中,可以利用角速度傳感器(例如陀螺儀)獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度。
在本發明的其中一個實施例中,根據所述角速度通過對時間積分獲得額定時間內夾角的角度變化量的步驟可以采用以下方式:將所述角速度值乘以時鐘周期得到一個時鐘周期內的角度變化量,從而獲得當前時鐘周期內所述夾角的角度變化量。本實施例較為簡單可靠,并且計算方便。
在步驟S130中,將上述夾角的初始值與角度變化量進行疊加,獲得攝像頭坐標系與世界坐標系之間夾角的調節值,用以標定攝像頭的外部參數。
夾角的初始值已知,在獲得額定時間內的角度變化量后,將夾角的初始值與角度變化量求和可得夾角的調節值。
采用上述攝像頭實時標定方法僅需獲取夾角的初始值,并獲取運動狀態下的角度變化量,就能夠獲取夾角的調節值,用戶無需使用標定板方法對攝像頭進行標定,可由用戶自行安裝輔助駕駛設備。因而上述攝像頭實時標定方法操 作簡便、快捷。
在本實施例中,步驟S120還可以包括:
獲取攝像頭在攝像頭坐標系中三個方向旋轉的當前角速度值ωθ,ωψ,ωφ,其中ωθ對應于俯仰角θ、ωφ對應于翻滾角φ和/或ωψ對應于偏航角ψ。
將當前角速度值ωθ,ωψ,ωφ乘以時鐘周期得到一個時鐘周期內的角度變化量Δθ,Δψ,Δφ,其中Δθ對應于俯仰角的角度變化量,Δψ對應于偏航角的角度變化量,Δφ對應于翻滾角的角度變化量。
在本實施例中,當車輛在運動狀態下,設攝像頭坐標系與世界坐標系之間夾角在當前時刻的值為俯仰角θ(t)、翻滾角φ(t)和/或偏航角ψ(t),那么,從當前時刻經歷一個時鐘周期后的夾角可通過計算獲取,即獲取攝像頭的當前角速度值ωθ,ωψ,ωφ,通過當前角速度值ωθ,ωψ,ωφ計算出一個時鐘內的角度變化量Δθ,Δψ,Δφ,然后在步驟S130中將當前時刻的夾角的初始值與角度變化量求和,可得到從當前時刻經歷一個時鐘周期后,可得到攝像頭坐標系與世界坐標系之間夾角的調節值,用以標定攝像頭的外部參數。例如,俯仰角對應的調節值θg=θ(t)+Δθ,翻滾角對應的調節值φg=φ(t)+Δφ和/或偏航角對應的調節值ψg=ψ(t)+Δψ。
為了使上述調節值更加精確,則需要對上述步驟S130計算獲得的調節值進行修正。
具體地,如圖6所示,對獲取的攝像頭坐標系與世界坐標系之間夾角的調節值進行校正的步驟包括:
步驟S140,利用傳感器模塊獲取基于傳感器測量得到攝像頭坐標系與世界坐標系之間夾角的當前值。
同上述步驟S110。初始值和當前值只是所述夾角不同時刻采集對應的值。所以,在本發明的其中一個實施例中,可以采用加速度計獲取俯仰角的當前值;采用加速度計獲取翻滾角的當前值;和/或采用磁力計獲取偏航角的當前值。當然,還可以采用陀螺儀獲取俯仰角或翻滾角的當前值。有關采用加速度計獲取俯仰角或翻滾角的方法也可參照前文相關說明,在此不做累述。
步驟S150,通過將上述當前值與上述調節值進行線性疊加對上述調節值進 行修正,利用修正后的結果標定上述攝像頭的外部參數。
設采用陀螺儀獲取的攝像頭坐標系與世界坐標系之間夾角的初始值為θ(t),φ(t)和/或ψ(t),根據夾角的初始值、角度變化量計算出采用陀螺儀獲取的攝像頭坐標系與世界坐標系之間夾角的調節值分別為:θg=θ(t)+Δθ,φg=φ(t)+Δφ和/或ψg=ψ(t)+Δψ。
設θ(t+1)、ψ(t+1)、φ(t+1)對應為當前俯仰角θg、當前偏航角ψg、當前翻滾角φg校正后的角度值;
采用公式θ(t+1)=(1-Ka)θg+Kaθa對當前俯仰角θg進行校正;
采用公式φ(t+1)=(1-Ka)φg+Kaφa對當前翻滾角φg進行校正;
和/或采用公式ψ(t+1)=(1-Km)ψg+Kmψm對當前偏航角ψg進行校正;其中,Ka、Km為增益系數。Ka、Km為增益系數,它們的值取決于時鐘周期和用戶希望加速度計與磁力計對融合結果的貢獻程度。
可見,無論是攝像頭坐標系與世界坐標系之間的夾角是俯仰角、翻滾角和/或偏航角,則針對每一種夾角,均可以通過將其當前值與其調節值進行線性疊加對其調節值進行修正,例如,一種夾角修正后的結果=(1-增益系數)*該種夾角的調節值+增益系數*該種夾角的當前值。增益系數也可以根據經驗值進行設定。
圖7中給出一種具體地帶修正過程的標定方法。具體的,加速度計測量出的俯仰角的初始值θa、翻滾角的初始值φa;并經由低通濾波器進行濾波處理后,乘以增益系數Ka。磁力計直接測量出的偏航角的初始值ψg。
陀螺儀獲取出當前角速度值ωθ,ωψ,ωφ;將當前角速度值ωθ,ωψ,ωφ乘以時鐘周期得到一個時鐘周期內的角度變化量Δθ,Δψ,Δφ。設采用陀螺儀獲取的攝像頭坐標系與世界坐標系之間夾角的初始值為θ(t),φ(t)和/或ψ(t),從當前時刻經歷一個時鐘周期后,根據角度變化量計算出采用陀螺儀獲取的攝像頭坐標系與世界坐標系之間夾角的調節值分別為:θg=θ(t)+Δθ,φg=φ(t)+Δφ和/或ψg=ψ(t)+Δψ。
最后將陀螺儀、加速度計及磁力計所輸出的信號值進行融合,采用加速度計和/或陀螺儀獲取俯仰角的當前值,將俯仰角的當前值與俯仰角的調節值進行線性疊加,獲得對俯仰角的調節值進行修正后的結果θ(t+1);采用加速度計和/ 或陀螺儀獲取翻滾角的當前值,將翻滾角的當前值與翻滾角的調節值進行線性疊加,獲得對翻滾角的調節值進行修正后的結果φ(t+1);采用磁力計獲取偏航角的當前值,將偏航角的當前值與偏航角的調節值進行線性疊加,獲得對偏航角的調節值進行修正后的結果ψ(t+1)。
與圖7對應的流程圖為圖8所示,圖8給出一具體實施例的標定方法流程圖。
步驟901,獲取俯仰角θ(t)、翻滾角φ(t)和/或偏航角ψ(t)的初始值,比如在靜止狀態下獲取加速度計得出攝像頭的俯仰角和翻滾角,利用磁力計獲取偏航角,即初始值為t=0時刻對應的利用傳感器獲得的俯仰角θ(t)、翻滾角φ(t)和/或偏航角ψ(t)。
步驟902,獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的當前角速度ωθ,ωψ,ωφ,
步驟903,通過對時間積分獲得額定時間內攝像頭坐標系與世界坐標系之間夾角的角度變化量,例如,將角速度值ωθ,ωψ,ωφ乘以時鐘周期得到一個時鐘周期內的角度變化量Δθ,Δψ,Δφ。
步驟904,將t=0時刻的俯仰角θ(t)、翻滾角φ(t)和/或偏航角ψ(t)的值與角度變化量Δθ,Δψ,Δφ分別進行疊加,獲得俯仰角θ、翻滾角φ和/或偏航角ψ的調節值θg、φg、ψg,用以標定所述攝像頭的外部參數。
步驟905,通過傳感器測量獲取t=t+1時刻的俯仰角、翻滾角和/或偏航角,即可以是,采用加速度計獲取俯仰角的當前值θa、采用加速度計獲取翻滾角的當前值φa、采用磁力計獲取偏航角的當前值ψa。
步驟906,將通過傳感器測量獲取t=t+1時刻的俯仰角、翻滾角和/或偏航角與相應夾角的調節值進行線性疊加,獲得修正后的結果用以標定攝像頭的外部參數。具體地,采用公式θ(t+1)=(1-Ka)θg+Kaθa對步驟904獲得的俯仰角的調節值θg進行校正;采用公式φ(t+1)=(1-Ka)φg+Kaφa對步驟904獲得的翻滾角的調節值φg進行校正;和/或采用公式ψ(t+1)=(1-Km)ψg+Kmψm對步驟904獲得的偏航角的調節值ψg進行校正。
步驟907,將修正后的俯仰角θ(t+1)、翻滾角φ(t+1)、偏航角ψ(t+1)作為下一 時刻計算所用的俯仰角θ(t)、翻滾角φ(t)和/或偏航角ψ(t)的初始值,進行下一次的循環計算,從而能夠在汽車動態運行的過程中持續的對攝像頭的外部參數進行標定,或者通過多次循環運算的結果使得標定結果更加精確。
在用戶使用過程中,上述攝像頭實時標定方法對攝像頭坐標系與世界坐標系之間夾角進行修正,去除其因外力產生的誤差,使得將攝像頭坐標系與世界坐標系之間精確夾角帶入輔助駕駛系統進行計算,避免因夾角不準確而產生錯誤的輔助駕駛指令,提高輔助駕駛的安全性。
從圖8中可以看出,在上述步驟130中,計算當前時刻用以標定所述攝像頭的外部參數的調節值時,所述夾角的初始值可以為:前一時刻依據所述通過將所述當前值與所述調節值進行線性疊加對所述調節值進行修正的步驟150而獲取的修正后的結果。或者也可以是,前一時刻依據所述根據所述夾角的初始值及所述相應坐標軸方向上的角度變化量、獲取攝像頭坐標系與世界坐標系之間夾角的調節值的步驟130而獲取的調節值。
基于上述方法,圖9所示的系統結構圖中提供了一種攝像頭實時標定系統。
在本發明的其中一個實施例中,一種攝像頭實時標定系統,上述系統包括:
測量模塊601,用于獲取攝像頭坐標系與世界坐標系之間夾角的初始值;
角度變化計算模塊604,用于獲取攝像頭在上述攝像頭坐標系中沿坐標軸方向旋轉的角速度,并通過對時間積分獲得額定時間內的上述夾角的角度變化量;及
角度獲取模塊602,用于將上述夾角的初始值與上述角度變化量進行疊加,獲取攝像頭坐標系與世界坐標系之間夾角的調節值,用以標定上述攝像頭的外部參數。
在本發明的其中一個實施例中,上述系統還包括:
校正模塊605,用于獲取基于傳感器測量得到攝像頭坐標系與世界坐標系之間夾角的當前值,將上述當前值與上述調節值進行線性疊加,獲得對上述調節值進行修正后的結果值,利用上述結果值標定上述攝像頭的外部參數。
在本發明的其中一個實施例中,上述夾角的初始值為:在靜態時基于傳感器測量得到攝像頭坐標系與世界坐標系之間的夾角;或者
計算當前時刻用以標定上述攝像頭的外部參數的調節值時,上述夾角的初始值為:前一時刻依據上述根據上述夾角的初始值及上述相應坐標軸方向上的角度變化量、獲取攝像頭坐標系與世界坐標系之間夾角的調節值的步驟而獲取的調節值,或者,前一時刻依據上述通過將上述當前值與上述調節值進行線性疊加對上述調節值進行修正的步驟而獲取的修正后的結果。
在本發明的其中一個實施例中,上述攝像頭坐標系與世界坐標系之間的夾角包括俯仰角、翻滾角和/或偏航角;上述測量模塊或上述校正模塊中采用加速度計或陀螺儀獲取俯仰角的上述初始值或上述當前值;采用加速度計或陀螺儀獲取翻滾角的上述初始值或上述當前值;和/或采用磁力計獲取偏航角的上述初始值或上述當前值。
在本發明的其中一個實施例中,上述測量模塊或上述校正模塊中包括:
加速度獲取單元,用于采用加速度計測量攝像頭坐標系在三個坐標軸方向上的加速度分量;
俯仰角計算單元,用于采用公式計算出采用加速度計時的俯仰角的上述初始值或上述當前值;及
翻滾角計算單元,用于采用公式計算出采用加速度計時的翻滾角的上述初始值或上述當前值;
其中,ax表示沿攝像頭坐標系x方向上的加速度分量,ay表示沿攝像頭坐標系y方向上的加速度分量,az表示沿攝像頭坐標系z方向上的加速度分量。
在本發明的其中一個實施例中,上述角度變化計算模塊包括:
角速度獲取單元,用于獲取攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度值;
變化獲取單元,用于將上述角速度值乘以時鐘周期得到一個時鐘周期內的角度變化量,從而分別獲得當前時鐘周期內俯仰角、翻滾角和/或偏航角對應的角度變化量。
在本發明的其中一個實施例中,上述將上述當前值與上述調節值進行線性疊加、獲得對上述調節值進行修正后的結果值采用以下公式計算:結果值=(1-增益系數)*上述調節值+增益系數*上述當前值。
在本發明的其中一個實施例中,上述校正模塊包括:
俯仰角修正單元,用于采用加速度計和/或陀螺儀獲取俯仰角的當前值,將俯仰角的當前值與俯仰角的調節值進行線性疊加,獲得對俯仰角的調節值進行修正后的結果值;
翻滾角修正單元,用于采用加速度計和/或陀螺儀獲取翻滾角的當前值,將翻滾角的當前值與翻滾角的調節值進行線性疊加,獲得對翻滾角的調節值進行修正后的結果值;及
偏航角修正單元,用于采用磁力計獲取偏航角的當前值,將偏航角的當前值與偏航角的調節值進行線性疊加,獲得對偏航角的調節值進行修正后的結果值。
上述測量模塊601用于執行上述標定方法中的步驟110、角度變化計算模塊604用于執行上述標定方法中的步驟120、角度獲取模塊602用于執行上述標定方法中的步驟130,因此具體的相關步驟解釋說明具體可參見上述標定方法中的相關說明,在此不再累述。在用戶使用過程中,上述攝像頭實時標定系統對攝像頭坐標系與世界坐標系之間夾角進行修正,去除其因外力產生的誤差,使得將攝像頭坐標系與世界坐標系之間精確夾角帶入輔助駕駛系統進行計算,避免因夾角不準確而產生錯誤的輔助駕駛指令,提高輔助駕駛的安全性。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品承載在一個非易失性計算機可讀存儲載體(如ROM、磁碟、光盤、服務器云空間)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執行本發明各個實施例的系統結構和方法。
基于上述參見圖4所示的硬件架構進行的描述,在本發明的其中一個實施 例中還提供了一種攝像頭裝置,該攝像頭裝置包括攝像頭,及與攝像頭連接的上述攝像頭實時標定裝置。在攝像頭實時標定裝置中,包括:
角速度傳感器,用于獲取上述攝像頭在攝像頭坐標系中沿坐標軸方向旋轉的角速度;
傳感器模塊,用于獲取攝像頭坐標系與世界坐標系之間夾角;及
分別與上述角度傳感器和傳感器模塊連接的處理器,用于接收上述角速度,并根據上述角速度通過對時間積分獲得額定時間內上述夾角的角度變化量,將上述夾角的初始值與上述角度變化量進行疊加,獲得攝像頭坐標系與世界坐標系之間夾角的調節值,根據上述調節值發出執行命令或者輸出上述調節值,用以提醒上述調節值和/或根據上述調節值調整攝像頭坐標系與世界坐標系之間夾角。
在本發明的其中一個實施例中,上述傳感器模塊包括以下之一:
與上述處理器相連的陀螺儀,用于測量上述攝像頭坐標系與世界坐標系之間夾角中的俯仰角和/或翻滾角;
與上述處理器相連的加速度計,用于測量上述攝像頭坐標系中沿坐標軸方向的加速度分量,根據上述加速度分量獲得上述攝像頭坐標系與世界坐標系之間夾角中的俯仰角和/或翻滾角;和
與上述處理器相連的磁力計,用于測量上述攝像頭坐標系與世界坐標系之間夾角中的偏航角。
此外,為了使上述調節值更加精確增加修正環節,上述處理器還用于接收上述傳感器模塊獲得的上述夾角的當前值,通過將上述當前值與上述調節值進行線性疊加對上述調節值進行修正,利用修正后的結果發出上述執行命令或者輸出修正后的調節值。
上述處理器可以用于執行上述標定方法中的步驟121和步驟130,或者還可以用于執行上述標定方法中的步驟121和步驟130、以及步驟S150。因此上述各個器件之間的具體實現關系可參見上述有關標定方中的相關具體說明,在此不再累述。
或者,在上述攝像頭實時標定裝置或者攝像裝置上還可以包括:
執行模塊,用于接收上述執行命令,提醒上述調節值或者修正后的調節值和/或根據上述調節值調整攝像頭坐標系與世界坐標系之間夾角。
執行模塊的具體實現方法可以有很多種,比如,執行模塊可以包括一顯示器,該顯示器可以設置在攝像頭實時標定裝置或者攝像裝置上與處理器連接,或者該顯示器為移動終端上的顯示屏,移動終端與上述攝像頭實時標定裝置或者攝像裝置通過有線或者吳無線方式連接。顯示器用于接收上述執行命令,在屏幕上顯示上述調節值或者修正后的調節值,用以提醒用戶。
還比如,執行模塊可以包括一與攝像頭連接的調整支架、及該調整支架的驅動模塊,驅動模塊用于接收處理器發出的上述執行命令,并通過調整支架調整攝像頭的外部參數,實現自動標定。該調整支架可以通過驅動模塊接收處理器發出的上述執行命令,并利用諸如齒輪傳動等機械設備調整與之連接的攝像頭的攝像頭坐標系與世界坐標系之間俯仰角、翻滾角和/或偏航角,從而實現動態的自動標定,快速并且簡便。
當然,在本發明的其中一個實施例中,執行模塊可以同時包括上述顯示器和一與攝像頭連接的調整支架、及該調整支架的驅動模塊。
上述在上述攝像頭實時標定裝置或者攝像裝置上還可以包括:低通濾波器,該低通濾波器可以連接在加速度計和/或磁力計的信號輸出端,用于對加速度計和/或磁力計輸出的信號進行濾波處理。
此外,圖10還提供了本發明的其中一種實施例的系統架構圖。在該實施例中,攝像頭實時標定裝置包括:加速度計151、陀螺儀156、磁力計155、角度計算模塊153、變化計算模塊157、融合計算模塊154。
1、加速度計151用于測量攝像頭坐標系在三個坐標軸方向上的加速度分量。
2、陀螺儀156用于獲取攝像頭在所述攝像頭坐標系中沿坐標軸方向旋轉的角速度。
3、磁力計155用于獲取攝像頭坐標系與世界坐標系之間偏航角。
4、可與加速度計151連接的角度計算模塊153,用于根據加速度計獲取的加速度分量獲取攝像頭坐標系與世界坐標系之間俯仰角和/或翻滾角。
加速度計可通過計算得出攝像頭的俯仰角和翻滾角。具體地,采用加速度 計獲取俯仰角的初始值或翻滾角的步驟包括:
采用加速度計獲取攝像頭坐標系在三個方向(x,y,z)上的加速度分量ax,ay,az,其中,ax表示沿攝像頭坐標系x方向上的加速度分量,ay表示沿攝像頭坐標系y方向上的加速度分量,az表示沿攝像頭坐標系z方向上的加速度分量;
采用公式計算出采用加速度計時的俯仰角θa。
采用公式計算出采用加速度計時的翻滾角φa。
5、可與陀螺儀156連接的變化計算模塊157,用于根據陀螺儀獲取的所述角速度通過對時間積分獲得額定時間內俯仰角、翻滾角、和/或偏航角的角度變化量。例如,將相應的角速度值乘以時鐘周期得到一個時鐘周期內的角度變化量,從而獲得當前時鐘周期內俯仰角、翻滾角、和/或偏航角的角度變化量。
6、融合計算模塊154用于將所述俯仰角、翻滾角、和/或偏航角的初始值與所述俯仰角、翻滾角、和/或偏航角的角度變化量分別進行疊加,獲得攝像頭坐標系與世界坐標系之間俯仰角、翻滾角、和/或偏航角對應的調節值,輸出調節值用以標定所述攝像頭的外部參數。上述融合計算模塊154用于執行上述標定方法的步驟S130,有關執行細節可參見前文詳細說明。
為了增加修正環節,則融合計算模塊154還用于依據上述加速度計151、磁力計155實時采集獲得的俯仰角、翻滾角、和/或偏航角的當前值,通過將上述當前值分別與上述調節值進行線性疊加對上述調節值進行修正,利用修正后的結果發出上述執行命令或者輸出修正后的調節值。上述融合計算模塊154還用于執行上述標定方法的步驟S150,有關執行細節可參見前文詳細說明。
當然,為了增加加速度計的精確度,還可以在加速度計151與角度計算模塊153之間增加低通濾波器152。同樣,也還可以在磁力計155與融合計算模塊154之間增加低通濾波器152。
上述角度計算模塊153、變化計算模塊157、融合計算模塊154、低通濾波 器152可以通過獨立的硬件來實現,或者通過編程的方法來實現相應的功能。例如,如圖10所示的虛線158,可以將上述角度計算模塊153、變化計算模塊157、融合計算模塊154集成到同一處理器模組158上來實現,那么處理器模組158等同于上述圖4中的處理器。此外,此時低通濾波器152也可以通過軟件的方法來實現集成到處理器模組158中由其實現。
當然,無論采用哪一種硬件環境架構,均不會影響上述標定方法的實現。在用戶使用過程中,上述攝像頭實時標定裝置對攝像頭坐標系與世界坐標系之間夾角進行修正,去除其因外力產生的誤差,使得將攝像頭坐標系與世界坐標系之間精確夾角帶入輔助駕駛系統進行計算,避免因夾角不準確而產生錯誤的輔助駕駛指令,提高輔助駕駛的安全性。
上述全自動化、高精度、低成本的攝像頭實時標定方法、系統和裝置通過測量攝像頭坐標系與世界坐標系之間夾角的初始值;測量攝像頭在攝像頭坐標系中三個方向旋轉的角速度,并通過對時間積分獲得額定時間內的角度變化量;根據夾角的初始值及角度變化量獲取攝像頭坐標系與世界坐標系之間夾角的調節值;攝像頭坐標系與世界坐標系之間夾角包括俯仰角、翻滾角和/或偏航角。因此,用戶無需使用標定板方法對攝像頭進行標定,可由用戶自行安裝。
傳統的光學標定方法涉及到大量專業設備和專業人員。而上述全自動化、高精度、低成本的攝像頭實時標定方法、系統和裝置采用了和傳統的光學標定方法完全不同的傳感器融合標定法,從而實現了車載攝像頭標定的自動化和實時化。
自動化意味著用戶可以自行安裝ADAS產品,無需考慮標定,極大增強了產品使用的便利性。實時化意味著由于外界環境變化,攝像頭需要重新標定時,標定過程可以在后臺實時完成,保證了產品的安全性。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的 普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。