本發明涉及到計算機視覺、三維成像及光場技術領域。具體涉及一種利用智能移動設備記錄真實復雜三維場景,并進行光場重建的方法。
背景技術:
光場成像的雛形可以追溯到1903年ives發明的雙目視差顯示系統中運用的針孔成像技術,通過在主透鏡的像面處放置針孔面陣列,從而使原像面處的光輻射按角度進行重分布后記錄在光探測器上,避免了視差信息的丟失。1908年,lippman發明集成照相術(integralphotography,ip),后來被廣泛運用于三維全息成像。通過用微透鏡陣列代替針孔面陣列,在底片上接收到有微小差別的一系列基元圖像,有效地消除了ives裝置中的彌散斑。
gershun在1936年提出光場的概念,將其定義為光輻射在空間各個位置向各個方向的傳播。他認為,到達空間不同點處的光輻射量連續變化,能夠通過幾何分析進而積分的方法來計算像面上每點的光輻射量。但是,由于計算量龐大,能夠進行高次運算的計算機尚未出現,所以當時未能對其理論進行驗證。20世紀六七十年代,okoshi、dudnikov、dudley、montebello等學者對集成成像技術進行了不斷的改進,微透鏡陣列在成像方面的作用也得以凸顯。隨著計算機技術的不斷發展和微透鏡制作精度的提高,adelson于1992年將光場理論成功運用到計算機視覺,并提出全光場理論(plenoptictheory)。
基于微透鏡陣列傳統方式獲取的光場信息,因微透鏡的孔徑和焦距等物理局限,在視角和空間分辨率等方面有著很大的缺陷。針對這一缺點,研究人員提出了合成孔徑集成成像技術,它是通過排列在空間的相機陣列,可同時記錄一系列具有視差信息的基元圖像,以此來重構出光場數據。其經典的模型有:斯坦福大學的128相機陣列,采用不同空間排列,能夠獲得一些異于普通相機的特性,包括空間分辨率、動態范圍、景深、幀速、光譜敏感性等。其中大尺度空間排布的相機陣列主要用于合成孔徑成像實現“透視”監測,或通過拼接實現大視角全景成像,而緊密排布型則主要用于獲取高性能的動態場景。然而,采用相機陣列獲取光場信息的缺點是成像設備復雜、笨重和高成本。此后,isaksen提出了一種單相機掃描系統,是通過相機在空間中特定軌跡精密移動獲取光場信息,具有結構簡單、便捷、成本低等優點。然而,基于智能移動設備上的單相機掃描系統在實際記錄過程中無法實現精確的移動軌跡,所采集的每一幀基元圖像間的相對位置未經過標定,還存在不同程度的物理偏差。這些問題,在實際智能移動設備上實現光場信息的采集和重建是一個很大的挑戰。
技術實現要素:
為解決現有技術存在的上述問題,本發明要設計一種能在實際記錄過程中實現移動軌跡的精確計算,并減少物理偏差的適用于智能移動設備的三維光場技術實現方法。
為了實現上述目的,本發明的技術方案如下:一種適用于智能移動設備的三維光場技術實現方法,包括以下步驟:
a、采集元素圖像
利用智能移動設備對場景隨機拍攝10~20幅圖像形成圖像陣列。
b、基于orb算法提取圖像特征點
orb為orientedfastandrotatedbrief的簡稱。
b1、提取圖像特征點
b11、對圖像進行粗提取:在圖像上任意選取一點p,以點p為中心畫一個半徑為r的圓并命名為特征點圓周,比較點p與圓周上的灰度值,如存在連續有n個點的灰度值大于點p的灰度值,則認為點p是圖像特征點;
b12、使用id3算法即迭代二叉樹3代算法訓練一個決策樹,將特征點圓周上的像素輸入決策樹中,以此篩選出最優的fast圖像特征點。針對篩選出的圖像特征點采用非極大值抑制去除局部較密集圖像特征點;
b13、建立金字塔模型實現尺度不變性;
b14、使用矩法即momen法決定fast圖像特征點的方向,使得orb算法具有方向不變性。
b2、描述圖像特征點
使用brief算法得到的是一個二進制的描述符,在一個圖像特征點的鄰域內選擇w個像素點對pi,qi,i=1,2,…,w,比較每個象素點對的灰度值的大小;如果
i(pi)>i(qi)
則生成二進制串中的1,否則為0。式中,i表示一副圖像,i(p)就是像素點p處的像素值;對所有圖像特征點進行比較,生成長度為l的二進制串;為了使brief圖像特征描述算法具有更強的抗噪性,采用統計學習策略選擇點對集合,具體步驟如下:
b21、建立300k個圖像特征點的測試集,對測試集中每個圖像特征點考慮其31×31鄰域,在300k圖像特征點的每個31×31鄰域內按l種方法取點對,比較點對大小并形成一個300k×l的二進制矩陣q;
b22、對矩陣q的每一列求取平均值,按照平均值到0.5的距離大小重新對矩陣q的列向量排序形成矩陣t;
b23、將矩陣t的第一列向量放到矩陣u中,取矩陣t的下一列向量和矩陣u中的所有列向量計算相關性,若相關系數小于設定的閾值,將矩陣t中的該列向量移至矩陣u中,不斷進行操作直到矩陣u中的向量數量為l。
c、基于窮舉法匹配圖像特征點
根據步驟b獲得的圖像序列的orb圖像特征點,利用窮舉法分別計算圖像之間圖像特征點的相似度,這里用漢明距離表示圖像特征點的相似度,對計算得到的圖像特征點之間的距離進行排序,選取一定百分比數量的圖像特征點作為匹配成功的圖像特征點。具體步驟如下:
c1、設置圖像陣列中的任意兩個相鄰位置作為參考位置;
c2、利用窮舉法獲得兩幅已知位置圖像的匹配點。對于一幅圖像的每一個圖像特征點跟另一幅圖像的所有圖像特征點計算距離,選最小距離的點作為匹配結果點。然后,對所有匹配點按匹配距離進行升序排序,選取15%-20%的匹配點作為最終匹配結果。
c3、利用窮舉法獲得其他所有未知相機位置圖像與兩幅參考位置圖像間的匹配點。按照步驟c2的策略分別獲得第一幅,第二幅與待求圖像的匹配點。然后,兩組匹配點求交集獲得匹配結果。對所有未知相機位置圖像執行本步驟,獲得所有圖像相對于兩幅已知相機位置圖像的匹配點。
d、標定智能移動設備軌跡
假設智能移動設備的相機為針孔相機,利用相機投影幾何獲得相機位置。具體包括以下步驟:
d1、根據圖像特征點獲得圖像特征點對應世界坐標點
在歐幾里得框架下,一個相機模型由投影方程來表示
m∝k[r,t]m(1)
其中,m=[x,y,z,1]t和m=[u,v,1]t分別代表同一坐標系下的世界坐標點和圖像點,[r,t]是一個3×4的轉移矩陣,r是一個方向矩陣,t是平移向量。k表示相機的內參矩陣:
其中,fx和fy分別為相機的橫向焦距和縱向焦距,為簡化計算,令fx等于fy,ax和ay分別是相機橫向和縱向主點坐標,s是旋轉項,s設置為零。
假設內參矩陣已知,而且所有相機序列中的兩個相機位置已知,以已知位置相機中的一個作為參考坐標系,則根據相機分布情況和投影模型得到投影方程:
其中,m1i,m2i是步驟c中得到的匹配點,mi是世界坐標點。
根據假設,sx2,sy2為已知量,根據三角測量原理以及利用最小二乘法計算匹配點對應的世界坐標點。
d2、根據世界坐標點獲得其他相機相對于第一個相機的位置
根據步驟d1獲得了匹配點的世界坐標點,下面利用世界坐標點和其對應的其他未知相機位置的圖像的匹配點來求得相機位置。假設第k幅圖像對應的相機位置為sk:(sxk,syk,0),根據投影方程(1):
其中mki=[uki,vki,1]t代表mi對應第k幅圖像匹配點的坐標。
對公式(5)進行改寫如下:
對于方程(6),未知量為sxk,syk,其是一個二元一次方程,理論上用一對圖像特征點求解方程。由于圖像特征點i=1,...,n,由orb算法得到的圖像特征點n大于10,因此利用公式(6)獲得若干個解;為了提高位置估算的精度,對這若干個解采用截斷均值算法得到一個更加精確解,這個解就是最終求得的智能移動設備軌跡。
e、重建三維光場
根據步驟d得到的相機位置是針對一個已知參考相機的相對位置,把已知相機位置的圖像命名為參考基元圖像,利用相對位置的相機圖像重建不同深度下的光場圖像。設所采集的基元圖像總個數為ne,則在某一深度為z0下的重建的三維光場圖像表示為:
其中,n(x,y)為重建圖像在(x,y)處疊加的次數,offsetxk和offsetyk為第k個基元圖像相對于參考基元圖像的位移,且與重建深度成反比,由幾何投影得到:
其中,f是相機的焦距,δ為元素圖像一個像素的大小。
進一步地,所述的智能移動設備包括android平臺下的帶攝像頭手機或pad設備。
進一步地,步驟b中所述的r取值為3,n取值為12。
進一步地,步驟b中所述的l取128、256或512。
進一步地,步驟b中所述的l取256。
與現有技術相比,本發明具有以下有益效果:
本發明從單相機掃描結構獲取光場信息方面入手,提出了一種可適用于市面上主流智能移動設備實現光場信息獲取及重建的方法。該方法有效解決了智能移動設備運動軌跡不精確問題。首先,本發明提出對于旋轉及尺度變換具有很強魯棒性的orb(orientedfastandrotatedbrief)特征提取方法,利用窮舉匹配算法來估計智能移動設備的移動軌跡。由于orb特征不僅可靠性高,計算速度相對于當前其他主流特征提取算法有著很大的優勢,因此實現智能移動設備的軌跡標定能滿足實時處理的要求。最后,標定智能移動設備的相對位置后,本發明提出了單相機成像光路可逆算法重建三維光場信息,重建的過程是基元圖像之間的位移疊加過程,無需傳統光場重建方式的尺度變化過程,這使得重建速度進一步提高。本發明提出的準確、快速的三維光場技術,不僅具有對成像設備要求低、成像規則靈活等特點,而且適應于當前所有主流智能移動設備上三維光場技術的實現。
附圖說明
圖1是本發明提出的利用智能移動設備記錄光場信息及重建方法的整體流程圖。
圖2是orb圖像特征點提取原理圖之fast圖像特征點判斷。
圖3是orb圖像特征點提取原理圖之brief圖像特征點描述。
圖4是獲取的光場圖之一。
圖5是獲取的光場圖之二。
圖6是orb圖像特征點匹配結果。
圖7是光場重建原理圖。
圖8是某一深度下重建的光場重聚焦圖像之一。
圖9是某一深度下重建的光場重聚焦圖像之二。
具體實施方式
為使本發明的具體實施方式更加清楚明白,以下結合本發明的技術方案與附圖,對本發明包含的5個步驟分別進行詳細完整的描述。
a、采集元素圖像
利用智能移動設備對場景隨機拍攝10~20幅圖像形成圖像陣列。
b、基于orb(orientedfastandrotatedbrief)的特征提取
orb(orientedfastandrotatedbrief)是由改進的fast(ofast)特征點提取和改進的brief(rbrief)組成的。其具體實施方案包含以下兩個部分:
b1、提取圖像特征點
本方法針對fast特征提取進行改進,加入了方向信息,以此實現圖像特征點方向不變性,稱為ofast。
b11、對圖像進行粗提取,如圖2所示:在圖像上任意選取一點p,以p點為中心畫一個半徑為r的圓并命名為特征點圓周,比較p點與圓周上的灰度值,如存在連續有n個點的灰度值大于p點的灰度值,則認為p是圖像特征點;
b12、使用id3(迭代二叉樹3代)算法訓練一個決策樹,特征點圓周上的像素輸入決策樹中,以此來篩選出最優的fast(加速分割測試的特征)圖像特征點。針對篩選出的圖像特征點采用非極大值抑制去除局部較密集圖像特征點;
b13、建立金字塔模型實現尺度不變性;
b14、使用矩(moment)法來決定fast圖像特征點的方向,使得orientedfastandrotatedbrief算法具有方向不變性。
b2、圖像特征點描述
使用brief算法得到的是一個二進制的描述符,在一個圖像特征點的鄰域內選擇w個像素點對pi,qi,i=1,2,…,w,比較每個象素點對的灰度值的大小(如圖3所示);如果i(pi)>i(qi),則生成二進制串中的1,否則為0。對所有圖像特征點進行比較生成長度為l的二進制串;為了使brief圖像特征描述算法具有更強的抗噪性,采用統計學習策略選擇點對集合,具體步驟如下:
b21、建立300k個圖像特征點的測試集,對測試集中每個圖像特征點考慮其31×31鄰域,在300k圖像特征點的每個31×31鄰域內按l(l一般取值為256)種方法取點對,比較點對大小并形成一個300k×l的二進制矩陣q;
b22、對矩陣q的每一列求取平均值,按照平均值到0.5的距離大小重新對矩陣q的列向量排序形成矩陣t;
b23、將矩陣t的第一列向量放到矩陣u中,取矩陣t的下一列向量和矩陣u中的所有列向量計算相關性,若相關系數小于設定的閾值,將矩陣t中的該列向量移至矩陣u中,不斷進行操作直到矩陣u中的向量數量為l。
本發明針對brief算法進行改進,使得brief算法具有旋轉不變性,稱為rbrief。
c、基于窮舉法匹配圖像特征點
根據步驟b獲得的圖像序列的orb圖像特征點,利用窮舉法分別計算圖像之間圖像特征點的相似度,這里用漢明距離來表示圖像特征點的相似度,對計算得到的圖像特征點之間的距離進行排序,選取一定百分比數量的圖像特征點作為匹配成功的圖像特征點。具體步驟如下:
c1、設置圖像陣列中的任意兩個相鄰位置作為參考位置,如圖4-5所示;
c2、利用窮舉法獲得兩幅已知位置圖像的匹配點。對于一幅圖像的每一個圖像特征點跟另一幅圖像的所有圖像特征點計算距離,選最小距離的點作為匹配結果點。然后,對所有匹配點按匹配距離進行升序排序,選取15%-20%的匹配點作為最終匹配結果(如圖6所示)。
c3、利用窮舉法獲得其他所有未知相機位置圖像與兩幅參考位置圖像間的匹配點。按照步驟c2的策略分別獲得第一幅,第二幅與待求圖像的匹配點。然后,兩組匹配點求交集獲得匹配結果。對所有未知相機位置圖像執行本步驟,獲得所有圖像相對于兩幅已知相機位置圖像的匹配點。
d、標定智能移動設備軌跡
假設智能移動設備的相機為針孔相機,利用相機投影幾何獲得相機位置。具體包括以下步驟:
d1、根據圖像特征點獲得圖像特征點對應世界坐標點
在歐幾里得框架下,一個相機模型由投影方程來表示
m∝k[r,t]m(1)
其中,m=[x,y,z,1]t和m=[u,v,1]t分別代表同一坐標系下的世界坐標點和圖像點,[r,t]是一個3×4的轉移矩陣,r是一個方向矩陣,t是平移向量。k表示相機的內參矩陣:
其中,fx和fy為相機的橫向焦距和縱向焦距,為簡化計算,令fx等于fy,ax和ay是相機橫向和縱向主點坐標,s是旋轉項,s設置為零。
假設內參矩陣已知,而且所有相機序列中的兩個相機位置已知,以已知位置相機中的一個作為參考坐標系,則根據相機分布情況和投影模型得到投影方程:
其中,m1i,m2i是步驟c中得到的匹配點,mi是世界坐標點。
根據假設,sx2,sy2為已知量,根據三角測量原理以及利用最小二乘法計算匹配點對應的世界坐標點。
d2、根據世界坐標點獲得其他相機相對于第一個相機的位置
根據步驟d1獲得了匹配點的世界坐標點,下面利用世界坐標點和其對應的其他未知相機位置的圖像的匹配點來求得相機位置。假設第k幅圖像對應的相機位置為sk:(sxk,syk,0),根據投影方程(1):
其中mki=[uki,vki,1]t代表mi對應第k幅圖像匹配點的坐標。
對公式(5)進行改寫如下:
對于方程(6),未知量為sxk,syk,其是一個二元一次方程,理論上用一對圖像特征點即可求解方程。由于圖像特征點i=1,...,n,由orb算法得到的圖像特征點n一般情況下大于10,因此本發明利用公式(6)可以獲得若干解,為了提高位置估算的精度,本發明對這若干個解采用截斷均值算法得到一個更加精確解,這個解就是最終求得的智能移動設備軌跡。
e、重建三維光場
根據步驟d得到的相機位置是針對一個已知參考相機的相對位置,把已知相機位置的圖像命名為參考基元圖像,利用相對位置的相機圖像重建不同深度下的光場圖像。如圖7所示,根據本發明獲取光場信息的方式相對應,本發明改進了傳統的光場光場重聚焦算法。光場重建的過程是一個基元圖像的一個位移疊加過程,無需傳統光場重建方式的尺度變化過程,進一步實現了三維光場的快速重建。設所采集的基元圖像總個數為ne,則在某一深度為z0下的重建的三維光場圖像(如圖8-9所示)表示為:
其中,n(x,y)為重建圖像在(x,y)處疊加的次數,offsetxk和offsetyk為第k個基元圖像相對于參考基元圖像的位移,且與重建深度成反比,由幾何投影得到:
其中,f是相機的焦距,δ為元素圖像一個像素的大小。
進一步地,步驟b中的l取128、256或512。
進一步地,步驟b中的l取256。
本發明不局限于本實施例,任何在本發明披露的技術范圍內的等同構思或者改變,均列為本發明的保護范圍。