• 
    

    
    

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

      Matlab進(jìn)行SIFT圖像特征提取的COM方法

      2010-01-28 02:35:56,,,
      船海工程 2010年4期
      關(guān)鍵詞:尺度空間特征向量高斯

      ,,,

      (海軍工程大學(xué) 電氣與信息工程學(xué)院,武漢 430033)

      圖像特征信息在圖像處理中具有重要的地位,所提取的圖像特征的優(yōu)劣將直接影響圖像配準(zhǔn)的準(zhǔn)確性,因此需要在圖像中提取出穩(wěn)定的特征信息用于進(jìn)一步處理。尺度不變特征變換(scale invariant feature transform,SIFT)[1-2]非常適合用于圖像配準(zhǔn)、拼接、目標(biāo)提取等做高精度的特征提取。

      Matlab推出的Combuilder把用Matlab編寫的程序做成COM(Component Object Model組件對(duì)象模型)組件,供其他語言調(diào)用。Matlab Builder for .Net 2能夠?qū)atlab所實(shí)現(xiàn)算法方便的轉(zhuǎn)換為獨(dú)立的.Net程序集或者COM組件[3]。C#可較好地支持.Net框架,可以方便地調(diào)用COM組件[4],具有相當(dāng)廣泛的應(yīng)用。因此考慮將算法編譯為COM組件,并使用C#進(jìn)行調(diào)用。

      1 SIFT算法分析

      SIFT 算法實(shí)現(xiàn)主要包含4個(gè)步驟[5]:①建立尺度空間,檢測(cè)尺度空間極值;②去除不穩(wěn)定的特征點(diǎn);③計(jì)算特征點(diǎn)的描述信息,確定特征點(diǎn)的方向;④生成本地特征描述符,組合建立特征向量。

      對(duì)于輸入圖像, 尺度空間由高斯核與輸入圖像的卷積得到:

      L(x,y,σ)=G(x,y,σ)*I(x,y)

      (1)

      其中的二維高斯核為

      (2)

      式中:σ——高斯正態(tài)分布的方差。

      進(jìn)一步使用高斯差分函數(shù)DoG對(duì)圖像進(jìn)行處理:

      D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*
      I(x,y)=L(x,y,kσ)-L(x,y,σ)

      (3)

      式中:k——常系數(shù),用來區(qū)分相鄰的尺度。

      對(duì)圖像多次使用DoG算子,取這些高斯差分圖像中的局部極值,得到尺度空間域上的圖像特征點(diǎn)。特征點(diǎn)方向Q(x,y)及模值m(x,y)使用鄰域像素差分運(yùn)算確定:

      θ(x,y)=arctan((L(x,y+1)-

      L(x,y-1))/L((x+1,y)-L(x-1,y))

      (4)

      然后通過計(jì)算鄰域梯度直方圖進(jìn)一步確定各特征點(diǎn)的梯度方向的累加值來提高抗噪能力及對(duì)圖像仿射變換、視點(diǎn)變換和非剛性變形的魯棒性。最后形成包括位置、尺度、方向等信息的128維特征向量。再根據(jù)不同的需要采用相應(yīng)的算法對(duì)特征向量進(jìn)行匹配。

      2 基于COM的算法Matlab實(shí)現(xiàn)

      首先編寫、調(diào)試Matlab代碼以便作為制作COM組件的基礎(chǔ)。

      在安裝了Matlab Builder之后,要先設(shè)置Matlab Builder所使用的外部編譯器??梢酝ㄟ^在Matlab的Command Window輸入命令mbuild-setup實(shí)現(xiàn)。并根據(jù)提示選擇合適的編譯器。文中使用的是Microsoft Visual C/C++ version 8.0,在Matlab的Command Window中輸入命令dotnettool,啟動(dòng)Matlab Builder的圖形用戶界面,見圖1。

      在其中建立新的工程,加入已經(jīng)調(diào)試好的M文件,再點(diǎn)擊Build->COM Object…,就會(huì)生成相應(yīng)的dll文件,即是做好的COM組件,Build時(shí)Matlab已經(jīng)自動(dòng)將此dll在注冊(cè)表中注冊(cè)。如果mwcomutil.dll還沒有注冊(cè),則應(yīng)在dos命令窗下運(yùn)行regsvr32 inwin32mwcomutil.dll。

      點(diǎn)擊component-package就實(shí)現(xiàn)了組件的打包??梢赃x擇加入Matlab組件運(yùn)行時(shí)MCR(Matlab Component Runtime), 他是用于執(zhí)行M文件的獨(dú)立的共享函數(shù)庫,系統(tǒng)裝入MCR后可以不需裝Matlab即可運(yùn)行組件。

      3 C#與Matlab混合構(gòu)建系統(tǒng)

      C#使用COM組件比較容易。首先引用COM組件,選擇已經(jīng)注冊(cè)的ComProg,然后在cs文件前端加入using ComProg;再在調(diào)用函數(shù)中加入如下代碼即可,

      try

      {

      ComProg.comsiftClass te = new ComProg.comsiftClass ();

      object filename1 = "c: est1.jpg";

      object filename2 = "c: est2.jpg";

      te.sifttest (filename1,filename2);

      }

      catch (Exception fe)

      {

      MessageBox.Show(fe.ToString());

      }

      圖2是對(duì)一幅圖像做SIFT計(jì)算時(shí)的效果,可以看出SIFT算法的關(guān)鍵是提取出穩(wěn)定的特征點(diǎn),以使得圖像在經(jīng)過仿射變換、視點(diǎn)變換和非剛性變形后仍然可以獲得相應(yīng)特征點(diǎn)。

      下面的實(shí)驗(yàn)研究對(duì)于多幅變形圖像間的SIFT特征點(diǎn)匹配。

      圖3為實(shí)驗(yàn)1,在sift閾值為0.7時(shí)的12對(duì)匹配點(diǎn)對(duì)見表1,圖3左側(cè)圖片為A圖,右側(cè)圖片為B圖。

      圖3 兩幅圖像的匹配實(shí)驗(yàn)1

      匹配點(diǎn)A圖(766×948)B圖(453×474)1(158,448)(386,178)2(423,83)(308,100)3(277,125)(240,96)4(342,364)(185,277)5(144,508)(87,242)6(300,223)(202,126)7(107,476)(71,224)8(478,231)(311,172)9(569,390)(321,253)10(619,144)(372,154)11(556,301)(327,211)12(609,230)(355,189)

      實(shí)驗(yàn)1所使用的待匹配的圖像具有一定的旋轉(zhuǎn)、平移和尺度變換。從結(jié)果可以看出,這些影響對(duì)sift算法具有非常小的影響,在算法參數(shù)選擇較好的情況下甚至完全不受影響。由實(shí)驗(yàn)結(jié)果圖像可以計(jì)算出,特征點(diǎn)匹配的準(zhǔn)確率在sift閾值為0.7時(shí)能夠達(dá)到100%,見表2。

      表2 sift算法匹配實(shí)驗(yàn)一匹配率統(tǒng)計(jì)

      圖4 實(shí)驗(yàn)2兩幅原始圖像

      圖4為實(shí)驗(yàn)2原始圖A、B圖,仍然使用具有一定的旋轉(zhuǎn)、平移和尺度變換的兩幅圖像,同時(shí)實(shí)驗(yàn)圖像為有霧的海域。在這樣的圖像質(zhì)量較差的情況下,使用sift算法進(jìn)行匹配仍然能夠取得滿意的效果,匹配結(jié)果見圖5,實(shí)驗(yàn)數(shù)據(jù)見表3。

      圖5 實(shí)驗(yàn)2匹配結(jié)果

      匹配點(diǎn)A圖(386×225)B圖(386×225)1(280,128)(32,138)2(358,124)(115,149)3(309,139)(61,156)

      4 結(jié)束語

      SIFT特征匹配方法具有很好的穩(wěn)定性,從實(shí)驗(yàn)結(jié)果中可以看出通過使用局部特征進(jìn)行匹配,使得方法在不同圖像間含有旋轉(zhuǎn)、尺度縮放、亮度及視角的變化的情況下都有很好的匹配效果。但SIFT變換及匹配在算法實(shí)現(xiàn)上有一定的復(fù)雜性,而文中給出的基于COM的C#與Matlab混合實(shí)現(xiàn)使得Matlab開發(fā)出的算法不必再去轉(zhuǎn)換即可以以組件的形式迅速集成到其他圖像處理系統(tǒng)中,提高了研發(fā)速度,使研究人員更集中精力于算法本身而非煩雜的代碼實(shí)現(xiàn)上。

      文中將代碼實(shí)現(xiàn)為COM組件,實(shí)際上如果將Matlab所實(shí)現(xiàn)算法轉(zhuǎn)換為.Net程序集則使用起來也相當(dāng)方便。

      [1] LOWE D G. Object Recognition from local scale-invariant features [C]//The International Conference on Computer Vision,1999:1150-1157.

      [2] BROWN M,LOWE D G. Invariant features from interest point groups [C]//The 13th British Machine Vision Conference,2002:91-110.

      [3] DALE R. Inside COM [M].Microsoft Press,1997:1-20.

      [4] JEFFREY R. Applied Microsoft .Net Framework Programming[M].Microsoft Press,2006:1-34.

      [5] LOWE D G. Distinctive image features from scale-invariant key points [J].International Journal of Computer Vision,2004, 60(2): 91-110.

      猜你喜歡
      尺度空間特征向量高斯
      小高斯的大發(fā)現(xiàn)
      二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
      克羅內(nèi)克積的特征向量
      基于AHP的大尺度空間域礦山地質(zhì)環(huán)境評(píng)價(jià)研究
      天才數(shù)學(xué)家——高斯
      一類特殊矩陣特征向量的求法
      居住區(qū)園林空間尺度研究
      EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
      基于降采樣歸一化割的多尺度分層分割方法研究
      有限域上高斯正規(guī)基的一個(gè)注記
      蓝山县| 云和县| 毕节市| 合阳县| 安阳县| 巴青县| 东光县| 临潭县| 尖扎县| 盐山县| 莎车县| 黄陵县| 大兴区| 沁水县| 杭锦后旗| 铜陵市| 霍山县| 伽师县| 剑河县| 岚皋县| 蒲城县| 武隆县| 三台县| 六盘水市| 永登县| 九龙坡区| 东莞市| 浠水县| 开原市| 阿拉尔市| 吉木萨尔县| 文成县| 静乐县| 中超| 大足县| 杂多县| 乐业县| 苏尼特右旗| 布尔津县| 龙口市| 乌鲁木齐市|