田軍 孫梅 王萍
【摘 要】與基于幾何的VR建模相比,全景圖具有更大的優勢,其生成方式主要有全景相機直接生成法、大視角的鏡頭獲取法、普通數碼相機獲取法。本文主要針對第三種方法進行了深入探討,著重敘述了柱狀全景圖生成的原理和具體方法。本文結尾在圖像采集、投影的算法、全景圖漫游等方面的不足提出新的研究方向。
【關鍵詞】全景圖;全景圖生成;柱面全景圖;柱面投影算法
Research on Technology of Panorama Generation
TIAN Jun1 SUN Mei1 WANG Ping2
(1.College of Medical Engineering Technology, Xinjiang Medical University, Urumqi Xinjiang 830011, China;
2.Department of Sports, Xinjiang Institute of Education, Urumqi Xinjiang 830043, China)
【Abstract】Compared with the VR modeling based on geometry, panorama has more advantages. Its formation method mainly has the panoramic camera direct generation method, large angle of the lens and general digital camera method. This paper discusses the third method, emphatically describes the principle and specific methods of cylindrical panorama generation. In the end of this paper, some new research directions are proposed.
【Key words】Panorama;Panorama generation;Cylindrical panoramic image;Cylindrical projection algorithm
0 引言
全景圖像(Panorama)通常是指圖像的畫面比普通正常水平視角(大約90度)大,其水平視角包含完整一周360度所覆蓋的畫面范圍。與傳統圖像的信息組織模式相比,全景圖的信息組織模式具有以下的特點,由于它涵蓋了360度范圍的圖像信息,因而可表達出完整的四周環境信息,類似于某人原地轉一圈所看到的景象。就觀察者而言,全景圖像具有立體的、多角度的圖形環境特點。另外,全景圖比基于幾何的VR建模具有更大的優勢,具有真實感強,運行速度快等特點。
圖像的獲取方式決定輸入圖像的不同,導致圖像的拼接結果也不一樣,因此,根據圖像的獲取方式將全景圖的生成分為三類。
(1)通過全景相機直接形成,該方法生成速度快,自動化程度高,但設備要求高,價格昂貴且操作復雜;
(2)利用大視角的鏡頭(如魚眼鏡頭)獲得多張圖像。由于鏡頭視角比普通鏡頭要寬廣,因而需拍攝的圖像數量較少,但該方法明顯不足在于,拍攝圖像存在較大變形,需在全景圖生成之前進行合適的校正和變換;
(3)借助普通數碼相機獲取全景圖的原始圖像,是當前發展的一種趨勢。它的圖像素材獲取方式比較簡單,即普通數碼相機原地旋轉拍攝,或按一定的路線平行于對象拍攝,非常適用于數碼產品靈活多樣的拍攝。但難點在于拍攝圖像的拼接,由于圖像的拍攝過程中,相機的運動相當復雜。原地旋轉拍攝相當于相機固定后旋轉拍攝,旋轉角度的控制與操作者的操作關系很大。按一定路線移動拍攝類似于平移拍攝,對于距離的控制和保持相同的成像平面也存在很大的困難。為了減少這些不利因素對全景圖像成像質量的影響,可以通過增加拍攝圖像的重疊度,來減小相機的旋轉角度、平移距離,最終避免相鄰拍攝圖像之間的不連續程度。但是,通過普通數碼相機采集圖像容易管理,在很多情況下也很容易實施,特別是在一些安置三角架或滑軌非常困難的情況下,如果通過普通數碼相機合理拍攝的話,同樣能獲得較好效果的全景圖。本文主要針對第三種方法進行探討。
1 普通數碼相機獲取全景圖像的方法
普通數碼相機主要采用以下三種方法獲取全景圖像:
1.1 利用數碼相機旋轉拍攝
利用數碼相機旋轉拍攝的基礎是先將相機固定在某點,一般使用三腳架固定。進行拍攝時,相機固定在三腳架上,因此只能繞垂直方向的軸旋轉,為保證最終得到的系列圖像能完整拼接,要求兩鄰兩次的旋轉角度必須重合,即相鄰兩張圖像必須有部分重疊,依次旋轉一定的角度,最終獲取一系列的圖像。需要注意的是相鄰兩張圖像的重疊區域大小是影響圖像拼接關鍵因素,重疊內容越多,拼接就越容易。該方法實際操作中較易實現。
1.2 利用數碼相機平移拍攝
利用數碼相機平移拍攝是指相機在一個平行于成像平面的方向上平移。首先固定相機的焦距,將相機放置在一個與成像平面平行的滑軌上移動拍攝。影響圖像拼接的因素是拍攝物體的大小和其與相機距離的遠近。此種方法的不足是:由于拍攝的圖像在同一平面,全景圖像的空間感覺不如第一種方法效果好。
1.3 手持數碼相機拍攝
手持照相機拍攝這種方法比較容易做到,手持照相機原地旋轉拍攝,或者按一定的路線平行于對象拍攝。但是,拼接手持照相機的照片是很困難的,因為在拍攝過程中,照相機的運動非常復雜。原地旋轉拍攝類似于固定照相機旋轉拍攝,但是角度控制、旋轉控制都很差。沿一定路線移動時,類似于平移拍攝,控制距離和保持相同的成像平面是很困難的。
本文圖像的獲取采用的是第一種方法。拍攝時相鄰圖像具有一定程度的重疊 (一般是30%~50%),以便于拼接而得到全景圖像。另外,拍攝時還需特別注意天氣和人員流動的影響,這樣可能會導致拼接圖像產生錯誤信息。盡量避免選擇太陽光強烈或多云的天氣(強烈的太陽光可能會使某些視點處采集的照片因逆光現象而不利于后期的處理;多云陰天時各視點處的照片容易出現亮度的較大變化),以及人員流動量較大(可能出現某個人在多處視點的照片中出現)等問題。
2 柱面投影算法
柱面全景圖的正投影是指將平面照片投影到柱面形成全景圖的過程;反投影是將柱面全景圖在某個特定的觀察區域投影到柱面的切平面上供屏幕顯示的過程。有很多文獻都給出了正投影與反投影的變換公式。
實景圖像的柱面正投影算法是為了將多張實景圖像投影到一個圓柱面上,以柱面全景圖像的形式存儲。這樣一方面消除了實景圖像之間可能存在的重復景物信息,同時也得到了每張實景圖像上的像素點在視點空間中的位置信息。
數碼相機拍攝的一張實景圖像I,P(x,y)是實景圖像上的任意一個像素點。P在照相機坐標系下的坐標為:P(x-W/2,y-H/2,-f)其中,W和H分別是實景圖像I的寬度和高度。 柱面正投影示意圖如圖1所示。
照相機坐標系原點與像素點P的直線方程可以表示為參數方程的形式:
圖1 柱面投影示意圖
u=t(x-W/2) (1)
v=t(y-H/2) (2)
w=t(-f) (3)
其中以數碼相機的像素焦距f作為圓柱面的半徑,t是參數。圓柱面可以表示為:u2+w2=f2
聯立以上兩個方程,可以求得:
t=■ (4)
u=■ (5)
v=■ (6)
(u,v,w)是像素點(x,y)在圓柱面上的投影點Q的參數坐標,把所有這樣的投影點組合在一起便得到全景圖像。但是,參數坐標是三維的,需要把它們轉變為二維的圖像坐標才便于存儲。為了便于存儲,將此三維坐標轉換為二維圖像坐標。根據以下方程,可以求得像素點Q的二維坐標為(x1,y1):
x1=f * arctan■+f * arctan■ (7)
y1=■+■ (8)
顯然同一條垂直線上的兩個像素點P1(x,y)和P2(x,y1),它們在柱面全景圖像上具有相同的橫坐標x,那么它們正投影到柱面全景圖上橫坐標x,也必然相等,也就是說,柱面全景圖中的景物在垂直方向上不會發生形變。
3 展望
本文所討論的利用普通數碼相機制作全景圖的技術,雖然能夠實現某一個區域的全景圖像的生成,瀏覽的時候真實感,交互性都比較強。但是在全景圖像的采集階段受普通數碼相機豎直視場角的限制,上方的部分圖像采集不到,導致最后生成的全景圖圖像不太完美。在圖像編輯階段,由于投影算法的自身缺陷,導致圖像有些地方有些輕微變形,在投影的算法上可以進行深一步的研究,如何得到廣視場角并且沒有形變的全景圖像將是進一步研究的重點。為了達到全景圖漫游的一種更強烈的真實感,需要開發出具有沉浸感、交互性、構象性的真實感強的實景全景圖像。
【參考文獻】
[1]施慶,郭欣.基于角點檢測配準的全景圖像拼接技術研究[J].微型電腦應用,2011,27(6):18-21.
[2]田軍,孟祥娟,王萍.全景圖中投影模型與算法[J].計算機系統應用,2013,22(5):126-132.
[3]殷潤民,等.自適應柱狀全景圖拼接[J].中國圖象圖形學報,2008,13(6):1191-1196.
[4]郭俊美.基于圖像的柱面全景圖生成技術研究[D].西安:西安科技大學,2010:18-21.
[5]彭紅星,等.柱面全景圖生成技術的研究與實現[J].計算機工程,2010,36(9):208-211.
[責任編輯:丁艷]
本文圖像的獲取采用的是第一種方法。拍攝時相鄰圖像具有一定程度的重疊 (一般是30%~50%),以便于拼接而得到全景圖像。另外,拍攝時還需特別注意天氣和人員流動的影響,這樣可能會導致拼接圖像產生錯誤信息。盡量避免選擇太陽光強烈或多云的天氣(強烈的太陽光可能會使某些視點處采集的照片因逆光現象而不利于后期的處理;多云陰天時各視點處的照片容易出現亮度的較大變化),以及人員流動量較大(可能出現某個人在多處視點的照片中出現)等問題。
2 柱面投影算法
柱面全景圖的正投影是指將平面照片投影到柱面形成全景圖的過程;反投影是將柱面全景圖在某個特定的觀察區域投影到柱面的切平面上供屏幕顯示的過程。有很多文獻都給出了正投影與反投影的變換公式。
實景圖像的柱面正投影算法是為了將多張實景圖像投影到一個圓柱面上,以柱面全景圖像的形式存儲。這樣一方面消除了實景圖像之間可能存在的重復景物信息,同時也得到了每張實景圖像上的像素點在視點空間中的位置信息。
數碼相機拍攝的一張實景圖像I,P(x,y)是實景圖像上的任意一個像素點。P在照相機坐標系下的坐標為:P(x-W/2,y-H/2,-f)其中,W和H分別是實景圖像I的寬度和高度。 柱面正投影示意圖如圖1所示。
照相機坐標系原點與像素點P的直線方程可以表示為參數方程的形式:
圖1 柱面投影示意圖
u=t(x-W/2) (1)
v=t(y-H/2) (2)
w=t(-f) (3)
其中以數碼相機的像素焦距f作為圓柱面的半徑,t是參數。圓柱面可以表示為:u2+w2=f2
聯立以上兩個方程,可以求得:
t=■ (4)
u=■ (5)
v=■ (6)
(u,v,w)是像素點(x,y)在圓柱面上的投影點Q的參數坐標,把所有這樣的投影點組合在一起便得到全景圖像。但是,參數坐標是三維的,需要把它們轉變為二維的圖像坐標才便于存儲。為了便于存儲,將此三維坐標轉換為二維圖像坐標。根據以下方程,可以求得像素點Q的二維坐標為(x1,y1):
x1=f * arctan■+f * arctan■ (7)
y1=■+■ (8)
顯然同一條垂直線上的兩個像素點P1(x,y)和P2(x,y1),它們在柱面全景圖像上具有相同的橫坐標x,那么它們正投影到柱面全景圖上橫坐標x,也必然相等,也就是說,柱面全景圖中的景物在垂直方向上不會發生形變。
3 展望
本文所討論的利用普通數碼相機制作全景圖的技術,雖然能夠實現某一個區域的全景圖像的生成,瀏覽的時候真實感,交互性都比較強。但是在全景圖像的采集階段受普通數碼相機豎直視場角的限制,上方的部分圖像采集不到,導致最后生成的全景圖圖像不太完美。在圖像編輯階段,由于投影算法的自身缺陷,導致圖像有些地方有些輕微變形,在投影的算法上可以進行深一步的研究,如何得到廣視場角并且沒有形變的全景圖像將是進一步研究的重點。為了達到全景圖漫游的一種更強烈的真實感,需要開發出具有沉浸感、交互性、構象性的真實感強的實景全景圖像。
【參考文獻】
[1]施慶,郭欣.基于角點檢測配準的全景圖像拼接技術研究[J].微型電腦應用,2011,27(6):18-21.
[2]田軍,孟祥娟,王萍.全景圖中投影模型與算法[J].計算機系統應用,2013,22(5):126-132.
[3]殷潤民,等.自適應柱狀全景圖拼接[J].中國圖象圖形學報,2008,13(6):1191-1196.
[4]郭俊美.基于圖像的柱面全景圖生成技術研究[D].西安:西安科技大學,2010:18-21.
[5]彭紅星,等.柱面全景圖生成技術的研究與實現[J].計算機工程,2010,36(9):208-211.
[責任編輯:丁艷]
本文圖像的獲取采用的是第一種方法。拍攝時相鄰圖像具有一定程度的重疊 (一般是30%~50%),以便于拼接而得到全景圖像。另外,拍攝時還需特別注意天氣和人員流動的影響,這樣可能會導致拼接圖像產生錯誤信息。盡量避免選擇太陽光強烈或多云的天氣(強烈的太陽光可能會使某些視點處采集的照片因逆光現象而不利于后期的處理;多云陰天時各視點處的照片容易出現亮度的較大變化),以及人員流動量較大(可能出現某個人在多處視點的照片中出現)等問題。
2 柱面投影算法
柱面全景圖的正投影是指將平面照片投影到柱面形成全景圖的過程;反投影是將柱面全景圖在某個特定的觀察區域投影到柱面的切平面上供屏幕顯示的過程。有很多文獻都給出了正投影與反投影的變換公式。
實景圖像的柱面正投影算法是為了將多張實景圖像投影到一個圓柱面上,以柱面全景圖像的形式存儲。這樣一方面消除了實景圖像之間可能存在的重復景物信息,同時也得到了每張實景圖像上的像素點在視點空間中的位置信息。
數碼相機拍攝的一張實景圖像I,P(x,y)是實景圖像上的任意一個像素點。P在照相機坐標系下的坐標為:P(x-W/2,y-H/2,-f)其中,W和H分別是實景圖像I的寬度和高度。 柱面正投影示意圖如圖1所示。
照相機坐標系原點與像素點P的直線方程可以表示為參數方程的形式:
圖1 柱面投影示意圖
u=t(x-W/2) (1)
v=t(y-H/2) (2)
w=t(-f) (3)
其中以數碼相機的像素焦距f作為圓柱面的半徑,t是參數。圓柱面可以表示為:u2+w2=f2
聯立以上兩個方程,可以求得:
t=■ (4)
u=■ (5)
v=■ (6)
(u,v,w)是像素點(x,y)在圓柱面上的投影點Q的參數坐標,把所有這樣的投影點組合在一起便得到全景圖像。但是,參數坐標是三維的,需要把它們轉變為二維的圖像坐標才便于存儲。為了便于存儲,將此三維坐標轉換為二維圖像坐標。根據以下方程,可以求得像素點Q的二維坐標為(x1,y1):
x1=f * arctan■+f * arctan■ (7)
y1=■+■ (8)
顯然同一條垂直線上的兩個像素點P1(x,y)和P2(x,y1),它們在柱面全景圖像上具有相同的橫坐標x,那么它們正投影到柱面全景圖上橫坐標x,也必然相等,也就是說,柱面全景圖中的景物在垂直方向上不會發生形變。
3 展望
本文所討論的利用普通數碼相機制作全景圖的技術,雖然能夠實現某一個區域的全景圖像的生成,瀏覽的時候真實感,交互性都比較強。但是在全景圖像的采集階段受普通數碼相機豎直視場角的限制,上方的部分圖像采集不到,導致最后生成的全景圖圖像不太完美。在圖像編輯階段,由于投影算法的自身缺陷,導致圖像有些地方有些輕微變形,在投影的算法上可以進行深一步的研究,如何得到廣視場角并且沒有形變的全景圖像將是進一步研究的重點。為了達到全景圖漫游的一種更強烈的真實感,需要開發出具有沉浸感、交互性、構象性的真實感強的實景全景圖像。
【參考文獻】
[1]施慶,郭欣.基于角點檢測配準的全景圖像拼接技術研究[J].微型電腦應用,2011,27(6):18-21.
[2]田軍,孟祥娟,王萍.全景圖中投影模型與算法[J].計算機系統應用,2013,22(5):126-132.
[3]殷潤民,等.自適應柱狀全景圖拼接[J].中國圖象圖形學報,2008,13(6):1191-1196.
[4]郭俊美.基于圖像的柱面全景圖生成技術研究[D].西安:西安科技大學,2010:18-21.
[5]彭紅星,等.柱面全景圖生成技術的研究與實現[J].計算機工程,2010,36(9):208-211.
[責任編輯:丁艷]