鄧松杰, 周松斌, 程韜波
(1. 中國科學院廣州地球化學研究所遙感與GIS專業(yè),廣東 廣州 510640;2. 廣東省科學院自動化工程研制中心,廣東 廣州 510070)
利用魚眼鏡頭生成全景圖像的方法
鄧松杰1, 周松斌2, 程韜波2
(1. 中國科學院廣州地球化學研究所遙感與GIS專業(yè),廣東 廣州 510640;2. 廣東省科學院自動化工程研制中心,廣東 廣州 510070)
介紹了一種利用魚眼鏡頭在特殊角度下所拍攝成的圖像,以優(yōu)化的快速展開模型為基礎,經過像點坐標變換、雙三次插值及內部拼接,生成全景圖像的方法。該方法無須運用多幅標準照片拼接,且無須運用柱面模型及成像儀器的參數。最后從MATLAB仿真的實例中驗證了此方法的有效性。
計算機應用;全景圖像;快速展開模型;魚眼圖像
全景圖像生成技術近期發(fā)展迅速,傳統的方法主要有利用多幅照片拼接的方法[1-5]和基于柱面模型變換的方法[6-9]。多幅照片拼接的方法操作麻煩,缺乏實用性和實時性;基于柱面模型變換的方法,理論模型較為復雜,且需要考慮攝像頭焦距、鏡頭雙曲面方程等參數,在真實系統中難以運用。為了克服上述缺點,本文提出了一種利用魚眼鏡頭生成全景圖像的方法。由于無論是通過計算機生成的圖像,還是經過光學投射在成像元件如CCD中形成的數字圖像,都是基于像素點矩陣的,且無論是柱面模型變換或是其他模型的變換也只是按照一定的數學關系對圖像像素點矩陣進行變換,若非運用插值或變換過程中數據的丟失,像素點的數量是不會發(fā)生變化的。所以基于這種思想,本文運用一種優(yōu)化的快速展開模型,結合雙三次插值[10]和內部拼接的方法,達到生成全景圖的目的。
1.1 均勻的快速展開模型
魚眼鏡頭視角大,一般為180°,這使通過魚眼鏡頭生成全景圖像具備了理論上的可能性。如圖1所示,此圖像為魚眼鏡頭在仰視角度下,對四周景物的一次拍攝。
圖1 魚眼鏡頭仰視拍攝圖
根據圖像性質,首先假設一種均勻的快速展開模型。如圖2所示,將魚眼圖像像“切蛋糕”一樣,均勻分割若干塊,然后展開,分割的塊數越多,像素點分布越均勻,可是分割的塊數越多,運算起來越復雜且原始數據丟失越嚴重。在上述情況運用插值,會出現“鋸齒形”失真。
圖2 均勻的快速展開模型
1.2 優(yōu)化的快速展開模型
為了改善失真的情況,設計一種優(yōu)化的快速展開模型,如圖3所示,魚眼圖像被a, b, c, d, e, f, g, h線段分割,展開形成8個三角形,每個三角形由隔一相鄰的兩條線段與底邊組成,兩兩三角形之間有一半的區(qū)域相同。
圖3 魚眼圖像展開示意圖
如圖4所示,三角形X, Y中每一行像素點坐標按比例拉伸,分別變換為矩形A, B, 底邊長度保持不變。從兩矩形M, N區(qū)域內算出縫合線的位置進行拼接,組合成矩形C。
如此類推,8個三角形進行變換,兩兩內部縫合,最終生成全景圖像。
圖4 任意兩子圖變換與拼接示意圖
2.1 展開算法分析
如圖5所示,在魚眼圖像上附加一極坐標系,圖像中心與極坐標系原點重合。假設圖像上任意一點變換到子圖像 OABC矩陣中,子矩陣以表示,P點位置不變,坐標系改變,;點的極坐標形式對應的笛卡爾坐標形式為;通過優(yōu)化的快速展開模型變換為矩陣中的點,它們之間的關系是:,;當坐標變換完畢后,運用雙三次插值,賦值于空白的像點,形成完整的矩形圖像。如此類推,其余的子圖通過旋轉,進入圖5所示的坐標系中進行變換。
圖5 子圖矩陣坐標變換原理圖
2.2 內部拼接算法分析
魚眼圖像矩陣經過變換計算與雙三次插值后,初步生成8個子圖像,如圖4中的矩形圖像A與B,其原始像素點分布越往左、右上角則越稀疏,即失真越嚴重。此時,需要運用與優(yōu)化的快速展開模型算法對應的內部拼接算法改善失真情況。如圖6所示,區(qū)域M中任意一列像素點與區(qū)域N中任意一列像素點,兩列中同一行的兩像素點比較,當時,則T=T+1, T為對應兩像素點相等的次數,初始值為零;當T為最大值時,圖像A的與圖像B的為縫合線。由于像素點是離散的,進行展開模型變換時難免會有誤差,故縫合線未必就是M,N區(qū)域的中線。然后,將A矩陣大于列的像素點刪除,將B矩陣小于列的像點刪除,合并A,B矩陣形成新的矩陣,同樣的方法,將8幅子圖拼接成一幅全景圖。
圖6 任意兩子圖內部拼接原理圖
通過MATLAB軟件執(zhí)行上述算法,利用圖1采取上述方法,圖7為最終的結果。優(yōu)化的快速展開模型變換的實現,只用簡單的坐標系轉換和矩陣變換計算,無須通過復雜的柱面模型,無須考慮魚眼鏡頭的參數,只需直接針對魚眼鏡頭拍攝的數字圖像矩陣。由于像點矩陣是離散的,坐標是以整數表示,在變換過程中難免有小部分原始像素點數據丟失,故在優(yōu)化的快速展開模型的前提下配合運用內部拼接算法縫合兩兩具有1/2相同部分的8幅子圖,能有效補償變換過程中像素點數據的丟失和減少圖像邊緣的誤差,改善均勻快速展開模型的“鋸齒形”失真。MATLAB仿真實驗證明了該算法的有效性。
圖7 全景展開圖
[1] 封靖波, 蘇志勛, 劉秀平. 一種基于相似曲線的全景圖自動拼接算法[J]. 計算機學報, 2003, 26(11): 1604-1608.
[2] 付厚超, 陳宗海. 基于垂直邊緣處理的全景圖像的拼接[J]. 計算機工程, 2004, 30(4): 132-134.
[3] 李立鴻, 施鵬飛, 趙群飛. 基于多分辨率技術的快速全景圖圖像匹配算法[J]. 中國圖像圖形學報, 2006, 11(6): 1271-1275.
[4] 葛 誠, 彭啟民, 劉 鵬, 等. 基于多域分析和全局優(yōu)化的全景圖拼接方法[J]. 中國圖像圖形學報, 2006, 11(7): 971-976.
[5] 薛 峰, 張佑生, 江巨浪, 等. 基于最大梯度和灰度相關的兩步全景圖拼接算法[J]. 系統仿真學報, 2005, 17(12): 2965-2968.
[6] 童 宇, 劉典型. 全景圖自動生成算法中幾個相關問題的研究[J]. 計算技術與自動化, 2006, 25(3): 111-114.
[7] 凌云峰, 朱齊丹, 吳自新, 等. 全景視覺圖像柱面理論展開算法實現及其改進[J]. 應用科技, 2006, 33(9): 4-6.
[8] 徐 瑋, 王 煒, 張茂軍, 等. 一種基于凸曲面反射鏡的柱面全景圖像無縫快速生成系統[J]. 計算機工程與科學, 2006, 28(11): 33-36.
[9] 平 潔, 殷潤民. 一種全景圖快速生成算法及其實現[J]. 微計算機應用, 2006, 27(1): 59-62.
[10] 賀興華, 周媛媛, 王繼陽, 等. MATLAB7.x圖像處理[M]. 北京: 人民郵電出版社, 2006. 45-49.
Omni-Directional Image Making Based on Fisheye Lens
DENG Song-jie1, ZHOU Song-bin2, CHENG Tao-bo2
( 1. RS & GIS, Guangzhou Institute of Geochemistry, Chinese Academy of Sciences, Guangzhou Guangdong 510640, China; 2. Automation Engineering R&M Center, Guangdong Academy of Sciences, Guangzhou Guangdong 510070, China )
Base on an optimized fast outspread theory, fisheye lens image can be transformed into omin-directional image. It works by transforming the coordinates with the bicubic interpolation and inner stitching. There is no need of stitching some photos taken by camera or using cylindrical theory and parameter of apparatus in this method. In the end, the effectiveness of the method is demonstrated by the final examples by way of MATLAB.
computer application; omni-directional image; fast outspread theory; fisheye lens image
TP 391.4
A
:1003-0158(2010)01-0135-04
2008-04-17
鄧松杰(1980-),男,廣東高要人,碩士研究生,主要研究方向為遙感、自動化及圖像處理。