• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于IOS的KAZE算法的應(yīng)用

      2015-04-29 02:46:05康澤付許存祿邢磊
      計(jì)算機(jī)時(shí)代 2015年12期

      康澤付 許存祿 邢磊

      摘 要: 圖像拼接技術(shù)是一種在同一場(chǎng)景中對(duì)相互之間存在重疊的圖像序列進(jìn)行匹配,然后經(jīng)過(guò)重新采樣融合形成一幅包含各個(gè)圖像信息的新圖像的技術(shù)?;趯?duì)圖像拼接技術(shù)中的圖像配準(zhǔn)等核心技術(shù)的研究,對(duì)現(xiàn)有的一種新的圖像拼接方法KAZE進(jìn)行了分析、研究和總結(jié),并將其進(jìn)行改動(dòng)后應(yīng)用到IOS上,完成了圖像的拼接。

      關(guān)鍵詞: 圖像拼接; KAZE; IOS; 尺度不變特征轉(zhuǎn)換

      中圖分類號(hào):TP399 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)12-56-04

      Application of KAZE algorithm in IOS

      Kang Zefu, Xu Cunlu, Xing Lei

      (Lanzhou University, Lanzhou, Gansu 730000, China)

      Abstract: Image stitching is a kind of technology to match a sequence of images overlapped each other in the same scene, and then through the resampling and fusion, form a new image containing the information of all the images. Based on the research of image registration and other core technology in image mosaic technology, KAZE, a new image mosaic method, is analyzed, studied and summarized, and after modifying, is applied in the IOS to complete the image stitching.

      Key words: image stitching; KAZE; IOS; SIFT

      0 引言

      圖像拼接技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)重要研究方向,它是一種把在同一場(chǎng)景中的多張相互重疊的圖像融合成一幅大的、高清晰的新圖像的技術(shù)。通過(guò)它,我們可以對(duì)圖片資源進(jìn)行壓縮,節(jié)省存儲(chǔ)空間,同時(shí)更加完美的表示圖片所帶的信息。目前,圖像拼接技術(shù)得到廣泛應(yīng)用,比如:計(jì)算機(jī)視覺(jué)、醫(yī)學(xué)圖像等領(lǐng)域。它有著很大的使用價(jià)值和廣闊的應(yīng)用前景。

      通常情況下,圖像拼接的過(guò)程包含圖像獲取,圖像匹配以及圖像合成三步。其中圖像匹配是整個(gè)圖像拼接的基礎(chǔ),也是最重要的,它包含了特征點(diǎn)的提取、特征向量的描述和特征點(diǎn)的匹配。若此環(huán)節(jié)出現(xiàn)任何問(wèn)題,都會(huì)導(dǎo)致圖像的拼接失敗。本文對(duì)眾多圖像匹配算法中的一種算法KAZE[1]進(jìn)行研究和分析,然后對(duì)其稍作修改,使它能夠在IOS平臺(tái)上成功運(yùn)行并完成圖像的拼接。

      1 KAZE算法

      1.1 非線性擴(kuò)散濾波

      非線性擴(kuò)散濾波方法就是用一定的流動(dòng)函數(shù)控制擴(kuò)散的差異,來(lái)表示尺度圖像亮度(B)在不同尺度上的變化。此方法可以通過(guò)非線性偏微分方程(PDE)進(jìn)行表示。典型的非線性擴(kuò)散方程如下:

      其中div為散度,Δ為梯度算子,B為圖像的亮度。為了使擴(kuò)散自適應(yīng)于圖像的局部結(jié)構(gòu),我們需要引出一個(gè)傳導(dǎo)函數(shù)g(x,y,t),圖像的表示形式隨著尺度參數(shù)t的變大而變得簡(jiǎn)單;接著通過(guò)各向異性擴(kuò)散的圖像的梯度幅值來(lái)控制在每個(gè)級(jí)的擴(kuò)散,這樣便得到該函數(shù)的表示形式:

      其中ΔBσ是圖像B經(jīng)過(guò)高斯平滑后的梯度。接下來(lái)介紹傳導(dǎo)函數(shù)F,其表示形式如式⑶,它能夠優(yōu)先保留寬度較大的區(qū)域而忽略寬度較小的區(qū)域。

      對(duì)比度因子λ可以決定邊緣信息被保留下來(lái)的量,被保留下來(lái)的邊緣信息與它的值成反比。

      由于非線性偏微分方程采用顯式差分格式的求解方法,而此方法采用很小的步長(zhǎng),所以收斂速度很慢,不太理想。因此將其離散化成為下面的半隱式差分(AOS)[2]格式:

      其中,Al是表示圖像在各維度(l)上傳導(dǎo)性的矩陣。該方程的解如下:

      這種求解方法可以采用任意時(shí)間步長(zhǎng)τ來(lái)創(chuàng)建特征檢測(cè)和描述問(wèn)題的非線性尺度空間,而且很穩(wěn)定。

      1.2 非線性尺度空間

      KAZE特征的尺度空間的構(gòu)造和SIFT[3-4]相似。首先定義一個(gè)隨時(shí)間漸變的非線性尺度空間,尺度級(jí)別隨對(duì)數(shù)遞增,共有E組octaves,每個(gè)octave有L個(gè)sublevel。KAZE的每個(gè)層級(jí)的分辨率都與原始圖像的分辨率相同。不同的octave和sublevel分別使用序號(hào)e和l來(lái)進(jìn)行區(qū)分,同時(shí)利用式⑹達(dá)到與尺度參數(shù)σ相對(duì)應(yīng):

      其中,參數(shù)σ0是尺度參數(shù)的初始基準(zhǔn)值,N=E*L是整個(gè)尺度空間的圖像總數(shù)。由于非線性擴(kuò)散濾波模型的單位和尺度參數(shù)σi的不同,必須對(duì)σi進(jìn)行單位轉(zhuǎn)化。在高斯尺度空間下,使用標(biāo)準(zhǔn)差為σ的高斯函數(shù)對(duì)圖像進(jìn)行卷積運(yùn)算,從而可以得到以像素為單位的尺度參數(shù)σi轉(zhuǎn)換到以時(shí)間單位的映射公式:

      其中ti是指進(jìn)化時(shí)間。

      對(duì)于將要處理的圖像,KAZE算法先用標(biāo)準(zhǔn)偏差為σ的高斯函數(shù)對(duì)其進(jìn)行高斯濾波,接著再把該圖像的梯度直方圖給求出來(lái),進(jìn)而獲取對(duì)參數(shù)λ,然后再通過(guò)一組進(jìn)化時(shí)間,利用AOS算法便能夠獲取非線性尺度空間。

      1.3 特征點(diǎn)檢測(cè)

      KAZE先獲取不同尺度歸一化后的Hessian矩陣[5],接著通過(guò)獲取Hessian矩陣局部極大值點(diǎn)來(lái)實(shí)現(xiàn)。Hessian矩陣的計(jì)算式子如下:

      這里我們利用該濾波器級(jí)聯(lián)的二階導(dǎo)數(shù)計(jì)算,該濾波器的近似旋轉(zhuǎn)不變性比較好[6]。在獲取極值點(diǎn)時(shí),每一個(gè)像素點(diǎn)將會(huì)與其周圍的26個(gè)點(diǎn)分別進(jìn)行比較,當(dāng)該點(diǎn)是這些點(diǎn)中的最大,并且也是其尺度域的所有相鄰點(diǎn)中的最大時(shí),才被看作是極值點(diǎn)。

      當(dāng)極值點(diǎn)的位置被獲取到之后,由于噪聲等一些不可以避免的原因,還需對(duì)這些極值點(diǎn)作進(jìn)一步的篩選。這里使用Harris Corner檢測(cè)器[7],空間尺度函數(shù)展開如下:

      其中式⑽是式⑼求導(dǎo),并令其導(dǎo)數(shù)為0而得到的精確位置。接下來(lái)把公式⑽代入到公式⑼,即在DoG Space的極值點(diǎn)處D(x)取值,把最后一項(xiàng)舍去得:

      其中,其中這里k取的是0.03。若前面的不等式成立,則該特征點(diǎn)就保留下來(lái)。

      1.4 特征點(diǎn)匹配

      在匹配圖像中選擇一個(gè)特征點(diǎn)ps(x)(1?x?ns),ns為匹配圖像A特征點(diǎn)的數(shù)目,假設(shè)該點(diǎn)的特征向量為Vs(x)。在匹配圖像B中選擇一個(gè)特征點(diǎn)pm(1?x?nm),nm為圖像B特征點(diǎn)的數(shù)目,假設(shè)其特征向量為Vt(x),接著計(jì)算出兩特征向量各維的相對(duì)距離之和,然后把它看成是這兩個(gè)特征點(diǎn)的相似性度量S。于是有:

      這里需要對(duì)|Vt(i)|和|Vr(i)|進(jìn)行判斷,如它們同時(shí)為零時(shí),就停止計(jì)算。接下來(lái),我們要計(jì)算圖像B中所有的特征點(diǎn)與圖像A特征點(diǎn)ps(m)的相似性度量,把它們記錄下來(lái)并進(jìn)行比較,得出相似性度量值最小的特征點(diǎn)pm(x),并初步認(rèn)為pm(x)為ps(x)要找的匹配點(diǎn)。為了確保上述獲取的匹配特征點(diǎn)的準(zhǔn)確性,我們還需要進(jìn)行驗(yàn)證。那就是利用上述方法在圖像A中找pm(x)的匹配點(diǎn)ps(y),如果x和y相等,則最終認(rèn)為ps(x)與pm(x)匹配。

      2 應(yīng)用與實(shí)驗(yàn)

      對(duì)于前面提到的KAZE算法,本文把它運(yùn)用到iOS平臺(tái)上,以便能夠在移動(dòng)設(shè)備上完成圖像的拼接。這里更改特征點(diǎn)檢測(cè)時(shí)候的閘值,使檢測(cè)出來(lái)的特征點(diǎn)能夠滿足圖像的拼接,同時(shí)降低匹配的耗時(shí)。

      2.1 運(yùn)用在iOS上

      KAZE算法庫(kù)中包含了特征點(diǎn)的檢測(cè)(features)、特征點(diǎn)的匹配(match)、特征點(diǎn)的比較(compare)、方便外部調(diào)用的(utils)、算法的接口(AKAZE)這些類。而對(duì)于這個(gè)庫(kù),需要對(duì)一些調(diào)用方法進(jìn)行改動(dòng)封裝。下面簡(jiǎn)述該算法在IOS平臺(tái)的實(shí)現(xiàn)過(guò)程。

      ⑴ 我們需要建立一個(gè)控制類,然后把.m后綴變成.mm,這是因?yàn)槲覀円{(diào)用的為C++庫(kù)。

      ⑵ 在這個(gè)類中,需要建立一個(gè)顯示控鍵,這個(gè)控鍵是用來(lái)顯示拼接完成后的圖片;在建立一個(gè)指示控鍵,這個(gè)控鍵是用來(lái)指示圖像正在拼接,也是用來(lái)阻止我們對(duì)界面的操作。

      ⑶ 接下來(lái)就把我們將要拼接的圖片按照相鄰的原則依次放進(jìn)一個(gè)數(shù)組里面,再通過(guò)utils類調(diào)用拼接算法,首先對(duì)前兩張圖片進(jìn)行特征值提取,接著對(duì)特征值進(jìn)行匹配,最后按照特征值匹配的原則對(duì)圖片進(jìn)行拼接融合。當(dāng)完成拼接后,會(huì)生成一張新的具有前兩張圖片信息的大圖,然后把這張新圖片當(dāng)成第一張圖片,再?gòu)臄?shù)組里面取出下一張要處理的把圖片,按照上述說(shuō)的過(guò)程對(duì)這兩張圖片進(jìn)行拼接融合。就這樣直到所有要拼接圖片都被拼接完成。此時(shí)指示控鍵已經(jīng)出現(xiàn)并開始轉(zhuǎn)動(dòng)。

      ⑷ 當(dāng)所有的圖片都被拼接完成后,指示控鍵將會(huì)停止轉(zhuǎn)動(dòng)并消失,顯示控鍵將會(huì)出現(xiàn),并且拼接完成后的圖片也將會(huì)展現(xiàn)在該控見上。接著我們可以根據(jù)自己的觀察方式對(duì)該圖片進(jìn)行放大、縮小、滑動(dòng)這三種方式操作。

      具體實(shí)現(xiàn)該過(guò)程的流程圖如圖1所示。

      [開始] [獲取要處理的圖像序列][初始化KAZE類][把圖像序列傳給KAZE][將生成的新圖片顯示在

      視圖上并進(jìn)行一些操作][釋放內(nèi)存][結(jié)束][取圖像序列的前兩張進(jìn)行特征提取及配準(zhǔn),把新的圖片賦給結(jié)果變量][判斷是否存在下一張

      要匹配的圖像][若沒(méi)有,結(jié)束][若有,新圖片與接下來(lái)要調(diào)用的圖片進(jìn)行匹配]

      圖1 算法實(shí)現(xiàn)流程圖

      2.2 在模擬器上的效果

      為了更清晰地了解它的性能,我們用了多組圖片進(jìn)行仿真,從仿真結(jié)果可判斷其優(yōu)缺點(diǎn)。圖2~圖5是從中抽取的四組圖片的實(shí)驗(yàn)結(jié)果。

      實(shí)驗(yàn)一采用的是建筑物,它們對(duì)稱性很好,很多地方都相似,這樣檢測(cè)出來(lái)的特征點(diǎn)也就具有很大的相似性,從而給特征點(diǎn)的匹配帶來(lái)了巨大的干擾,但是從匹配的結(jié)果圖2來(lái)看,該圖片匹配的很好,完全能夠達(dá)到我們的要求,這說(shuō)明該方法對(duì)這種干擾有很強(qiáng)的抑制能力。

      實(shí)驗(yàn)二采用的是自然風(fēng)景,這個(gè)圖上有很多樹,這樣會(huì)產(chǎn)生大量的特征點(diǎn),使匹配的計(jì)算量大大增加,從而導(dǎo)致一些錯(cuò)誤,可是從改組實(shí)驗(yàn)結(jié)果圖3來(lái)看,這些問(wèn)題處理得很好。

      實(shí)驗(yàn)三采用一個(gè)簡(jiǎn)單的帶有建筑物的圖片,這樣特征點(diǎn)就會(huì)很少,這樣可能就會(huì)出現(xiàn)因?yàn)樘卣鼽c(diǎn)的數(shù)量不夠而導(dǎo)致不能夠完成匹配,然而圖5則說(shuō)明了即使特征點(diǎn)不夠多,但是在匹配要求的范圍內(nèi),也能夠完成匹配。

      實(shí)驗(yàn)四是由實(shí)驗(yàn)一去掉第三張圖片得來(lái)的,此處它是用來(lái)方便下文的時(shí)間對(duì)比說(shuō)明。

      從圖6我們可以清楚的看出各組實(shí)驗(yàn)的耗時(shí)情況。實(shí)驗(yàn)一和實(shí)驗(yàn)四相比,它們的圖片是相同的,只是第一組比第四組多一張,圖6的實(shí)驗(yàn)耗時(shí)結(jié)果表明第一組實(shí)驗(yàn)耗時(shí)更多,這說(shuō)明圖片越多,耗時(shí)就越多;第二組和第四組相比,第二組使用的圖片較為復(fù)雜,其特征值提取的會(huì)更多,圖6中的實(shí)驗(yàn)耗時(shí)結(jié)果表明第二組實(shí)驗(yàn)耗時(shí)更多,這說(shuō)明圖片特征點(diǎn)越多,耗時(shí)就越多;至于實(shí)驗(yàn)三,這里要說(shuō)明的是,即使圖片較為簡(jiǎn)單,提取的特征點(diǎn)較少,但是所消耗的時(shí)間與復(fù)雜的圖片相比,少的不會(huì)很多。

      3 結(jié)束語(yǔ)

      通常一些圖像拼接算法都是用在電腦上對(duì)圖像進(jìn)行拼接處理,KAZE算法也不例外,而本文對(duì)KAZE方法進(jìn)行了探究和分析,并對(duì)其進(jìn)行了一定的修改,把它成功的應(yīng)用到新的IOS平臺(tái)上,并實(shí)現(xiàn)了很好的匹配效果,這使得在移動(dòng)端進(jìn)行圖片的拼接有了新的發(fā)展。但是對(duì)于特征點(diǎn)太少的圖像,它不能夠?qū)崿F(xiàn)很好的拼接,雖然可以通過(guò)更改特征點(diǎn)檢測(cè)時(shí)候的閘值,增加特征點(diǎn)數(shù)目,這將會(huì)對(duì)特征點(diǎn)多的圖片產(chǎn)生影響,增加計(jì)算時(shí)間。下一步將進(jìn)行更深入的研究,使它能夠在IOS平臺(tái)上實(shí)現(xiàn)全景圖的拼接。

      參考文獻(xiàn)(References):

      [1] P. F. Alcantarilla, A. Bartoli, and A. J. Davison. KAZE

      features[M]. In Eur. Conf. on Computer Vision (ECCV):214-227

      [2] J. Weickert, B. terHaarRomeny, and M. A. Viergever.

      Efficient and reliable schemes for nonlinear diffusion filtering[J]. IEEE Trans Image Processing,1998.7(3):398-410

      [3] E. Rublee, V. Rabaud, K. Konolige, and G. Bradski. ORB:

      an efficient alternative to SIFT or SURF[J]. In IEEE Intl. Conf. on Computer Vision (ICCV),2011:2564-2571

      [4] V S Veena Devi, S.M. Prasad and H. GangadharaBhat[J].

      An Efficient Algorithm for Image Stitching Based On Scale-invariant Feature Transform[J]. International Journal of Engineering and Applied Sciences,2013.2(2):45-49

      [5] Lindeberg, T.: Feature detection with automatic scale

      selection[J]. Intl. J. of Computer Vision,1998.30:77-116

      [6] J. Weickert and H. Scharr. A scheme for

      coherence-enhancing diffusion filtering with optimized rotation invariance[J]. Journal of Visual Communication and Image Represen-tation,2002.13:103-118

      [7] J. Shi and C. Tomasi. Good features to track. In

      Proceedings of the Interational Conference on Computer Vision and Pattern Recognition (CVPR94),1994.

      定边县| 宁河县| 麦盖提县| 石柱| 安岳县| 尤溪县| 十堰市| 普格县| 乌拉特前旗| 大埔区| 铜梁县| 平遥县| 文成县| 江陵县| 水城县| 大埔县| 威宁| 沽源县| 海南省| 洪湖市| 连州市| 龙里县| 太和县| 灵寿县| 翁源县| 上犹县| 民乐县| 竹北市| 岳阳县| 历史| 海安县| 宜章县| 六枝特区| 冕宁县| 察隅县| 怀柔区| 江口县| 兴义市| 蒲城县| 全椒县| SHOW|