一種標定相機的方法及其系統的制作方法
【專利說明】一種標定相機的方法及其系統
【背景技術】
[0001] 本申請涉及一種標定相機的方法及其系統。
[0002] 該方法首先對鏡頭畸變進行描述,然后確定焦距,最后確定相機外部位置。
[0003] 運用上述方法,本發明提供了一種經過改進的標定相機的方法以及一個相應的系 統。
【發明內容】
[0004] 根據一個范例實施例,一種標定相機的系統,該系統包括: 一個能量源以及一臺待標定的相機,且能量源及相機中的至少一個要被安裝在機械操 作機構上,使其能相對于另一個移動; 一個與能量源、機械操作機構以及相機相連的處理器,處理器經編程用于: 控制機械操作機構,將能量源和相機中的至少一個相對另一個進行移動,并使其通過 諸多位于校準目標路線上的離散點; 在每個離散點上,控制相機拍攝一幅數字圖像; 對每幅圖像執彳丁鏡頭畸變描述; 確定連接在相機上的任何鏡頭的焦距;且 為每幅圖像確定一個外部相機位置。
[0005] 處理器通過如下方法進行鏡頭畸變描述: 選擇一個畸變校正模型,并為該模型確定參數的初估值以便校正觀察到的畸變; 選擇一種直線度度量標準,用來測量和量化點與樣本直線的共線程度;且 使用直線度度量標準,并對經過初估的參數進行數值改善,直到圖像中畸變的直線得 到校正。
[0006] 處理器通過如下方法確定焦距: 選擇一個初始焦距; 使用算法,并結合初始焦距、實像素尺寸、在順次每個點上能量源的無畸變圖像坐標, 以及順次每個點上機械操作機構的準確位置,計算出相機相對于每個離散點的位置; 判定相機位置的聚集緊密程度;且 對初始焦距進行數值改善,直到確定的離散點最大程度地聚集在一起。
[0007] 處理器通過如下方法確定外部相機位置: 創建一叢基于幾何的向量;創建一叢基于圖片處理的向量; 選擇一種度量標準來測量兩叢向量的相似度;且 對相機相對于能量源的估計位置進行改善,使兩叢向量的相似度最大化。
[0008] 在一個范例中,當數字圖像被捕捉后,處理器將進一步執行下列圖像處理步驟: 確定圖像中哪些相鄰像素區域的強度高于選定的臨界臨界值; 生成一個列表,列出這些區域以及屬于每個區域像素的像素坐標及強度; 將具有太少或太多成分像素的區域從表單中去除,成分像素的多少由相機、鏡頭和能 量源的特性決定; 將所有不符合形狀標準的區域從表單中去除;且 確定最大剩余區域的中心。
[0009] 處理器通過對區域像素進行橢圓擬合并使用橢圓中心的方法或通過計算區域內 像素的重心的方法來確定中心。
[0010] 形狀標準是對稱性,其中,對稱性的測試方法是,在區域中找到一個橫截面,所述 橫截面所遇到的第一個像素到它所遇到的最后一個像素的距離最長,并將這個距離與用最 長軸垂線獲得的距離進行比較。
[0011] 在一個范例中,處理器控制著機械操作機構使其移動,這使得一系列的點被分成 幾組,每組包含至少3個在同一平面的點和至少1個位于由其他點構成的平面外的點。
[0012] 這些點的精確相對位移可通過處理器利用機械操作機構的位置反饋獲知。
[0013] 比如,每一組點都是通過對未經變換的標準組的點進行不同的6自由度平移和旋 轉偏移而得到的,從而產生一組具有相同相對位置的新的離散點。
[0014] 根據另一個范例實施例,一種標定相機的方法,該方法包括: 控制機械操作機構,將能量源和相機中的至少一個相對另一個進行移動,并使其通過 諸多位于校準目標路線上的離散點; 在每個離散點上,用相機拍攝一幅數字圖像; 對每幅圖像執彳丁鏡頭畸變描述; 確定連接在相機的任何鏡頭的焦距;且 為每幅圖像確定一個外部相機位置。
【附圖說明】
[0015] 圖1為一個用于標定數碼相機的示例系統; 圖2為圖1所示系統的處理器的結構圖。
【具體實施方式】
[0016] 下文所描述的系統及方法,是關于一種標定相機的方法及其系統。
[0017] 本發明用相機的內部和外部參數來描述一個具有任意(已知)靈敏性普的相機。 內部參數是指那些影響所研究的真實世界場景投射到相機成像元件上的參數,這包括至少 一個鏡頭畸變參數、鏡頭焦距、像素尺寸,以及成像元件與鏡頭光軸的正交性(中的至少一 個)。
[0018] 外部參數明確了至少一個以下情況,即相機相對于參考點的位置,以及相機相對 于選定軸線的方向。
[0019] 如附圖所示,系統10包含至少一個相機12和/或至少一個能量源14。
[0020] 最好能使用若干相機12和若干能量源14。
[0021] 系統還包含一個與能量源和/或相機相連的處理器16。處理器16包含若干模塊, 這些模塊的功能會在下文中詳細描述。
[0022] 在一個范例實施例中,下文所述模塊由一個裝有命令的機器可讀媒體來實現,當 機器執行這些命令時,機器可執行上述任何方法。
[0023] 在另一個范例實施例中,使用固件來實現模塊,這些固件經過編程專門用以執行 本文所述方法。
[0024] 需要指出的是,本發明的實施例并不限于這些結構,并且同樣能在分布式的或對 等結構的系統中獲得很好的應用。因此,圖中所示的模塊可位于由一個或多個機構運行的 一個或多個服務器上。
[0025] 還需指出的是,在上述任何情況下,這些模塊構成的物理儀器帶有專門用來執行 本文所述方法步驟的物理模塊。
[0026] 內存28與處理器16相連。
[0027] 在一個范例實施例中,為了進行標定,以機械臂形式出現的機械操作機構18用于 在相機視野范圍內移動能量源。
[0028] 在圖示的范例實施例中,機械操作機構18由受處理器16控制的伺服電機(未顯 示)帶動。
[0029] 機械臂18在任意給定時間的位置是已知的,且相機會捕捉能量源的圖像。
[0030] 每一幅包含機械臂和能量源視圖的圖像都由相機捕捉并傳送給處理器16。相機 12經過配置,可以減小曝光時間和/或打開鏡頭的可變光闌,使得在消除大部分背景的同 時能量源保持可見。無論是否進行這些配置,下文詳述的算法都有用,所需的只是一幅包含 可見能量源的單幅圖片。
[0031] 處理器16首先對鏡頭畸變進行描述,然后確定焦距,最后確定相機外部位置。這 些步驟將在下文中進行更具體地解釋。
[0032] 在數字圖像捕獲后,圖像處理模塊20將執行如下圖像處理步驟,以實現上述方 法: 1)判定圖像中哪些相鄰像素區域的強度高于選定的臨界值。生成一個列表,列出這些 區域以及屬于每個區域像素的像素坐標及強度。
[0033] 2)將具有太少或太多成分像素的區域從列表中移除,成份像素的多少由相機、鏡 頭和能量源的特性決定。
[0034] 3)將不符合形狀標準(比如對稱)的所有區域從列表中移除。對稱的測試方法是, 在區域中找到一個橫截面,這個橫截面所遇到的第一個像素到它所遇到的最后一個像素的 距離最長。將這個距離與用最長軸垂線獲得的距離進行比較。如果這兩個距離的比值大于 一個指定的增量,則將這個區域去除。
[0035] 4)探尋最大剩余區域的中心。找到中心的方法可以是用一個橢圓擬合區域像素, 然后使用橢圓的中心,或者通過計算區域內像素的重心來找中心。
[0036] 鏡頭畸變描述步驟由處理器16中的鏡頭畸變描述模塊22實現,如下: 1)將相機剛性放置在這樣一個位置上,該位置使得相機可以無阻礙地觀察機械臂移動 能量源的情況。
[0037] 2)使機械臂沿一系列直線移動能量源,雖然建議這些直線最好覆蓋相機的整個視 野,但這不是嚴格必需的。
[0038] 3)在每條直線上的幾個點(最少3個),獲得(從被描述的相機)并處理如上所述的 能量源圖片。
[0039] 4)選擇一個畸變校正模型,并為該模型確定參數的初估值以便校正觀察到的畸 變。這項工作使用了布朗鏡頭畸變模型的一個增強形式,并用經驗或遺傳算法得出一個初 始起始位置。
[0040] 5)選擇一種直線度度量標準,用來測量和量化步驟2中點與樣本直線的共線程 度。這項工作對每條直線的每個樣本點的進行最小二乘法直線擬合。度量標準就是每個樣 本點到它自己的最佳擬合直線的垂直距離的均方根。
[0041] 6)使用步驟5中的度量標準。對步驟4中的參數初估值進行數值改善,直到 畸變校正圖片(由畸變模型和當前參數所產生)中的直線最直。在這項工作中,用多維非 線性數值優化技術來最小化步驟5中的度量標準。確切地說,使用了 Leapfrog算法和 Fletcher-Reeves 共輒梯度法。
[0042] 以上這些工作之后,處理器16中的焦距測定模塊24實現了焦距測定,如下: 1)判定相機的鏡頭畸變特性。
[0043] 2)將相機剛性放置在這樣一個位置上,該位置使得相機可以無阻礙地觀察機械臂 移動能量源的情況。
[0044] 3)移動機械臂,使其在一系列離散點處停留。這一系列的點被分成幾組。每組包 含至少3個在同一平面的點和至少1個位于