王彥柯 柴錚 朱齊丹
摘要:全景視覺成像系統(tǒng)能夠觀察到半個球面(360度*180度)的畫面,但是由于畫面的畸形,不符合人類的觀察習(xí)慣,要進(jìn)行復(fù)原展開,而原始的復(fù)原展開算法和現(xiàn)有的改進(jìn)算法有其本身存在的局限性,如圖像比例不協(xié)調(diào),圖像信息丟失等問題,這樣會造成圖像質(zhì)量的下降,甚至不能用。為解決這些問題,本文通過對徑向直接映射和不同圖像插值算法的研究,并結(jié)合全景圖像的柱面展開算法,將原本畸形的圖像展開為能為圖像處理所運(yùn)用的圖像信息。并通過一定的評價(jià)機(jī)制來選擇判斷出全景視覺圖片的最佳優(yōu)化方法。
關(guān)鍵詞:柱面展開;徑向直接映射;圖像插值;圖像質(zhì)量評估
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)18-0171-04
隨著機(jī)器人的智能化越來越高,人們對智能機(jī)器人能夠完成的任務(wù)的期望值也越來越高,并逐漸將各種前端科技運(yùn)用到機(jī)器人系統(tǒng)上,其中就包括雙目全景視覺技術(shù)[1-4]。與普通投影成像技術(shù)不同,全景視覺能夠觀察到半個球面(360度*180度)的畫面[1-5],有效解決了機(jī)器人視覺局限的問題,提高了機(jī)器人的作業(yè)能力[1]。全景視覺系統(tǒng)的成像技術(shù)以及相關(guān)理論和工程應(yīng)用研究自提出以來就得到了世界各國學(xué)者們的高度關(guān)注,目前已經(jīng)成為計(jì)算機(jī)視覺系統(tǒng)的一個熱點(diǎn)研究領(lǐng)域[1]。
全景視覺圖像的利用方式主要是通過柱面展開算法(逆投影原理[1,5,6])將其還原成人類所能使用的原始圖片,但是柱面展開存在著自身的局限性。
一是由于展開圖片和原始圖片的坐標(biāo)是極為扭曲的非線性對應(yīng)關(guān)系,原始全景圖片徑向和展開圖縱向本應(yīng)一一對應(yīng),但是由于非線性映射的存在,造成圖像的上半部拉伸,下半部壓縮,圖像比例不協(xié)調(diào)。
二是原始全景圖片邊緣區(qū)像素點(diǎn)和中心區(qū)像素點(diǎn)信息量相差較大,以至于中心區(qū)域的圖像信息丟失,損失較大,因此需要手段進(jìn)行信息還原,倘若僅僅是周圍像素的復(fù)制,會產(chǎn)生塊狀效應(yīng),圖像質(zhì)量低下。
在此問題上,也有相關(guān)理論對其進(jìn)行改進(jìn)優(yōu)化,例如,基于極限幾何的展開[3],基于貝塞爾曲線的改進(jìn)[4]等,但是這些算法具有一定的局限性,展開之后的圖像仍然是彎曲的。
本文通過分析圖像非線性映射和圖像信息損失的問題,運(yùn)用反線性映射和圖像插值算法對柱面展開算法進(jìn)行優(yōu)化,首先通過建表法,對原始柱面展開進(jìn)行化簡,減少計(jì)算量,進(jìn)而通過反線性映射找出解算前后圖片的對應(yīng)關(guān)系,最后利用不同的圖像插值算法對其進(jìn)行改進(jìn)和適應(yīng),并通過一定的評價(jià)機(jī)制對其進(jìn)行評估,提煉出一種最優(yōu)的改進(jìn)方案,從而提出精度較高的柱面展開算法原理,并提高了該算法的可實(shí)現(xiàn)性。
1 全景圖像復(fù)原展開及存在問題
1.1 柱面展開算法原理
本文中,我們假設(shè)鏡面的面型公式為:
設(shè)虛擬投影圓柱面的底面直徑為D,則解算展開之后的像素柱面坐標(biāo)為。因此通過獲取真實(shí)成像點(diǎn)的坐標(biāo)可得到虛擬像素點(diǎn)的坐標(biāo),使全景圖像得到展開。
1.2 柱面展開算法存在問題
根據(jù)柱面展開算法的原理,我們可以看出其主要存在兩個問題:
1.2.1 展開后圖像信息比例不協(xié)調(diào)
當(dāng)我們進(jìn)行柱面展開的時候,將原始全景圖片的徑向和虛擬成像圓柱面的縱向相對應(yīng),但是兩者是非線性映射關(guān)系,即
由式(6)可以看出,和H兩者對應(yīng)為非線性,因此會造成展開之后的圖像比例不協(xié)調(diào),違反正常物理規(guī)律。
1.2.2 圖像信息不對稱
首先像素丟失問題嚴(yán)重,如圖3所示,外圓周展開所得像素信息充足,而內(nèi)圓展開后像素丟失較為嚴(yán)重,圖中虛線所在圓周和實(shí)線所在圓周周長相差很多,但是展開之后的寬度要相等,因此造成I區(qū)像素被壓縮,II區(qū)像素點(diǎn)嚴(yán)重不足。
再者,像素坐標(biāo)對應(yīng)關(guān)系為非線性,圖中左側(cè)全景圖片中的星狀像素對應(yīng)的是右圖中點(diǎn)狀的點(diǎn),由此我們可以看出,無法直接得到整數(shù)節(jié)點(diǎn)處的像素值,所以,需要對該算法進(jìn)行改進(jìn)。
2 柱面展開算法的改進(jìn)
2.1 查表法
在計(jì)算過程中,由于需要多次進(jìn)行正反三角函數(shù)的多次變換。但是,實(shí)際情況中鏡面的方程、攝像頭與鏡面的相對位置和焦距均已知,因此,我們可以定義一系列數(shù)組來儲存不同點(diǎn)所對應(yīng)的三角函數(shù)值,這樣極大減少了展開過程中的計(jì)算值[7]。
2.2 徑向直接映射法
通過展開圖像,我們可以看出,非線性映射主要存在于徑向,即展開圖的縱向,因此提出了直接徑向映射的方法[5]。
該方法忽略了H和之間的非線性映射關(guān)系,將兩者直接線性對應(yīng),其余計(jì)算方式不變,這種方法可以將原始全景圖片展示的比例直接呈現(xiàn)出來,但是存在一定的缺點(diǎn)。如果原始全景圖片已經(jīng)是扭曲比例的圖片,那么該方法將無法復(fù)原。
2.3 圖像插值算法
全景圖像在展開的過程中,由于坐標(biāo)的非線性映射關(guān)系造成展開之后的像素點(diǎn)坐標(biāo)并不是規(guī)則的,要想得到每個節(jié)點(diǎn)的像素值,就要根據(jù)現(xiàn)有的散亂像素值來估計(jì)節(jié)點(diǎn)處的像素值。另外,展開之后的整體圖在進(jìn)行局部放大時也要進(jìn)行像素值的估計(jì),圖像插值算法研究的就是還原周圍點(diǎn)像素值的方法[8],我們可以將其運(yùn)用到全景圖像柱面展開和局部放大上面。
圖像插值的基本原理可以表示為所求取的亞像素點(diǎn)的像素值等于插值系數(shù)與插值基函數(shù)值的乘積之和[8,9],即:
插值系數(shù)由所求像素點(diǎn)周圍已知像素所決定。而插值基函數(shù)決定插值方法的本質(zhì)和插值效果,其自變量為已知像素點(diǎn)和未知像素點(diǎn)的距離等關(guān)系。
當(dāng)插值域僅由最近域像素點(diǎn)決定時,可得到B樣條插值方式。此時的插值基函數(shù)可由矩形脈沖函數(shù)經(jīng)過(n+1)次卷積積分得到,即
其中,n的取值不同可得到不同插值方法
2.3.1 最近鄰域插值
當(dāng)n=0時,為直接插值基函數(shù),插值系數(shù)可由周圍像素點(diǎn)的值直接代替,即:
2.3.2 雙線性插值
當(dāng)n=1時,也為直接插值基函數(shù),插值系數(shù)也可由周圍像素點(diǎn)的值直接代替,即:
2.3.3 雙三次插值(Keys插值)
當(dāng)n=2時,為非直接插值基函數(shù),插值系數(shù)需要經(jīng)過數(shù)字濾波進(jìn)行估計(jì),較為麻煩,因此通過構(gòu)造三次基函數(shù)族來解決,即:
3 仿真對比與質(zhì)量評估
3.1 仿真結(jié)果
為了驗(yàn)證各種算法的可行性,并且選取一種有效的解決手段,需進(jìn)行實(shí)驗(yàn)仿真與驗(yàn)證。實(shí)驗(yàn)使用Visual C++語言實(shí)現(xiàn),實(shí)驗(yàn)所用的原始圖像均為本實(shí)驗(yàn)室自主研制的全景視覺機(jī)器人系統(tǒng)所提供的全景圖片。在實(shí)驗(yàn)過程中,對同一圖片進(jìn)行不同算法的仿真,并進(jìn)行比較評估,得到其中最適合全景視覺圖像展開的方法。
3.1.1 原始柱面展開與徑向直接映射算法仿真對比
1)測試圖對比
3.1.2 不同圖像插值算法仿真結(jié)果對比
3.2 質(zhì)量評估
由于原始參考影像是未知的,因此采用無參考影像質(zhì)量評價(jià),評價(jià)指標(biāo)主要包括空間頻率(Special Frequency,SF)、標(biāo)準(zhǔn)差(Standard Deviation,SD)和信息熵(Entropy,E)[10]。評估結(jié)果如下:
4 結(jié)語
本文詳細(xì)分析了全景視覺系統(tǒng)的模型建立過程以及柱面展開算法的原理,提出了柱面展開的三個缺陷,并通過針對性的方法將之解決。
首先,查表法的運(yùn)用大大降低了運(yùn)算的復(fù)雜程度。
再者,徑向直接映射的方法解決了圖片比例的問題,且此種簡化過后的柱面展開算法計(jì)算量低,較為簡便,但是沒有考慮到全景圖片本身的非線性問題,其還原的是全景圖片,不是實(shí)際投影前的圖片,而原始的柱面展開所還原的圖片為原始圖片,并非簡單地將相機(jī)獲取的全景圖片展開。
最后,針對像素缺失問題,我們將圖像插值算法運(yùn)用到柱面展開算法的實(shí)現(xiàn)過程中。通過比較與客觀的評估體系得出, Keys插值算法通過調(diào)節(jié)衰減率的大小可以大致達(dá)到最近鄰域插值算法的效果,并彌補(bǔ)了其標(biāo)準(zhǔn)差的不足,因此衰減率較小的Keys插值算法較為適合全景視覺的柱面展開算法。
參考文獻(xiàn):
[1] 張帆. 全景視覺圖像質(zhì)量優(yōu)化方法研究[D]. 哈爾濱: 哈爾濱工程大學(xué), 2010: 1-34.
[2] 唐超. 基于雙目全景視覺的運(yùn)動目標(biāo)特征檢測技術(shù)[D]. 哈爾濱: 哈爾濱工程大學(xué), 2012: 1-3, 6-15.
[3] Jie LEI, Xin DU, Yun-fang ZHU, Ji-lin LIU. Unwrapping and stereo rectification for omnidirectional images[J]. Journal of Zhejiang University SCIENCE, 2009, 10(8): 1125-1139.
[4] Xiao Xiao, Guo-guang Yang, Jian Bai. Enhancement of panoramic image resolution based on swift interpolation of Bezier surface[C]// Xun Hou, Wei Zhao, Baoli Yao, Proc. of SPIE,27th International Congress on High-Speed Photography and Photonics. Proceedings of SPIE, 2007: 62793I1-8.
[5] 張志. 全景視覺大圖像的分割及圖像增強(qiáng)[D]. 哈爾濱: 哈爾濱工程大學(xué), 2011: 16-23.
[6] 祝小蜜, 張曉頔. 一種全景圖像展開的新方法[J]. 信息技術(shù), 2014(2):19-20.
[7] 凌云峰, 朱齊丹, 吳自新, 等. 全景視覺圖像柱面理論展開算法實(shí)現(xiàn)及其改進(jìn)[J]. 應(yīng)用科技, 2006, 33(9): 4-6.
[8] 龔小林, 田向陽. 全景視覺還原算法分析及應(yīng)用[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2014, 24(6): 233-235.
[9] Fathi E.Abd EI-Samie, Mohiy M.Hadhoud, Said E.EI-Khamy.圖像超分辨率技術(shù)及其應(yīng)用[M]. 蔡成濤, 梁燕華,譯.北京: 國防工業(yè)出版社, 2015:4-16.
[10] 謝偉. 多幀影像超分辨率復(fù)原重建關(guān)鍵技術(shù)研究[M]. 武漢: 武漢大學(xué)出版社, 2014: 121-124.