本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別涉及一種基于特征的圖像匹配方法和裝置。
背景技術(shù):
圖像匹配是圖像處理領(lǐng)域常見的基礎(chǔ)問題,是調(diào)整兩幅圖像的幾何關(guān)系,使來自不同時(shí)間、不同傳感器或不同角度的同一場(chǎng)景的圖像在空間上一致;對(duì)于行駛在未知區(qū)域中的無人駕駛車而言,圖像匹配在實(shí)現(xiàn)無人駕駛車位置姿態(tài)預(yù)測(cè)有著廣泛的應(yīng)用價(jià)值。
目前,基于特征的圖像匹配方法是目前應(yīng)用最廣泛的圖像匹配方法,并且主要是通過SIFT(Scale-invariant feature transform,尺度不變特征變換)算法提取待匹配的兩個(gè)目標(biāo)圖像的特征點(diǎn),并根據(jù)兩個(gè)目標(biāo)圖像的特征點(diǎn)進(jìn)行圖像匹配。
現(xiàn)有技術(shù)至少存在以下問題:
由于SIFT算法需要大量的卷積計(jì)算和直方圖統(tǒng)計(jì),導(dǎo)致計(jì)算復(fù)雜度很高,因此,通過上述方法進(jìn)行圖像匹配的效率低。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種基于特征的圖像匹配方法和裝置。技術(shù)方案如下:
一種基于特征的圖像匹配方法,所述方法包括:
獲取待匹配的第一目標(biāo)圖像和第二目標(biāo)圖像;
通過Harris算法分別獲取所述第一目標(biāo)圖像的角點(diǎn)和所述第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合;
通過尺度不變特征變換SIFT算法分別從所述第一角點(diǎn)集合和所述第二角點(diǎn)集合中提取所述第一目標(biāo)圖像的特征點(diǎn)和所述第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合;
分別獲取所述第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和所述第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;
根據(jù)所述每個(gè)第一特征點(diǎn)的特征描述子和所述每個(gè)第二特征點(diǎn)的特征描述子,對(duì)所述每個(gè)第一特征點(diǎn)和所述每個(gè)第二特征點(diǎn)進(jìn)行匹配。
可選的,所述通過Harris算法分別獲取所述第一目標(biāo)圖像的角點(diǎn)和所述第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合,包括:
分別獲取所述第一目標(biāo)圖像中的第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)和所述第二目標(biāo)圖像中的第二目標(biāo)像素點(diǎn)的第二窗口函數(shù),所述第一目標(biāo)像素點(diǎn)為所述第一目標(biāo)圖像中的任意像素點(diǎn),所述第二目標(biāo)像素點(diǎn)為所述第二目標(biāo)圖像中的任意像素點(diǎn);
根據(jù)所述第一窗口函數(shù)和所述第二窗口函數(shù),分別計(jì)算所述第一目標(biāo)圖像在所述第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)和所述第二目標(biāo)圖像在所述第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù);
根據(jù)所述第一局部自相關(guān)函數(shù)和所述第二局部自相關(guān)函數(shù),分別計(jì)算所述第一目標(biāo)像素點(diǎn)的第一響應(yīng)函數(shù)和所述第二目標(biāo)像素點(diǎn)的第二響應(yīng)函數(shù);
根據(jù)所述第一響應(yīng)函數(shù)和所述第二響應(yīng)函數(shù),分別確定所述第一目標(biāo)像素點(diǎn)和所述第二目標(biāo)像素點(diǎn)是否為角點(diǎn);
如果所述第一目標(biāo)像素點(diǎn)為角點(diǎn),將所述第一目標(biāo)像素點(diǎn)添加到第一角點(diǎn)集合中,以及,如果所述第二目標(biāo)像素點(diǎn)為角點(diǎn),將所述第二目標(biāo)像素點(diǎn)添加到第二角點(diǎn)集合中。
可選的,所述通過尺度不變特征變換SIFT算法分別從所述第一角點(diǎn)集合和所述第二角點(diǎn)集合中提取所述第一目標(biāo)圖像的特征點(diǎn)和所述第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合,包括:
根據(jù)所述第一角點(diǎn)集合和所述第一角點(diǎn)集合分別建立所述第一角點(diǎn)集合對(duì)應(yīng)的第一高斯金字塔圖像集合和第一角點(diǎn)檢測(cè)DoG金字塔圖像集合,以及,所述第二角點(diǎn)集合對(duì)應(yīng)的第二高斯金字塔圖像集合和第二DoG金字塔圖像集合;
根據(jù)所述第一高斯金字塔圖像集合和所述第一DoG金字塔圖像集合,在所述第一角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合;
根據(jù)所述第二高斯金字塔圖像集合和所述第二DoG金字塔圖像集合,在所述第二角點(diǎn)集合中選擇特征點(diǎn)組成第二特征點(diǎn)集合。
可選的,所述分別獲取所述第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和所述第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子,包括:
分別獲取所述第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的方向和所述第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的方向;
根據(jù)所述每個(gè)第一特征點(diǎn)的方向和所述每個(gè)第二特征點(diǎn)的方向,分別生成所述每個(gè)第一特征點(diǎn)的特征描述子和所述每個(gè)第二特征點(diǎn)的特征描述子。
可選的,所述根據(jù)所述每個(gè)第一特征點(diǎn)的特征描述子和所述每個(gè)第二特征點(diǎn)的特征描述子,對(duì)所述每個(gè)第一特征點(diǎn)和所述每個(gè)第二特征點(diǎn)進(jìn)行匹配,包括:
分別計(jì)算所述每個(gè)第一特征點(diǎn)的特征描述子與所述每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離;
將歐式距離最小的第一特征點(diǎn)和第二特征點(diǎn)確定為一組匹配點(diǎn)。
一種基于特征的圖像匹配裝置,所述裝置包括:
第一獲取模塊,用于獲取待匹配的第一目標(biāo)圖像和第二目標(biāo)圖像;
第二獲取模塊,用于通過Harris算法分別獲取所述第一目標(biāo)圖像的角點(diǎn)和所述第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合;
提取模塊,用于通過尺度不變特征變換SIFT算法分別從所述第一角點(diǎn)集合和所述第二角點(diǎn)集合中提取所述第一目標(biāo)圖像的特征點(diǎn)和所述第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合;
第三獲取模塊,用于分別獲取所述第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和所述第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;
匹配模塊,用于根據(jù)所述每個(gè)第一特征點(diǎn)的特征描述子和所述每個(gè)第二特征點(diǎn)的特征描述子,對(duì)所述每個(gè)第一特征點(diǎn)和所述每個(gè)第二特征點(diǎn)進(jìn)行匹配。
可選的,所述第二獲取模塊,包括:
第一獲取單元,用于分別獲取所述第一目標(biāo)圖像中的第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)和所述第二目標(biāo)圖像中的第二目標(biāo)像素點(diǎn)的第二窗口函數(shù),所述第一目標(biāo)像素點(diǎn)為所述第一目標(biāo)圖像中的任意像素點(diǎn),所述第二目標(biāo)像素點(diǎn)為所述第二目標(biāo)圖像中的任意像素點(diǎn);
第一計(jì)算單元,用于根據(jù)所述第一窗口函數(shù)和所述第二窗口函數(shù),分別計(jì)算所述第一目標(biāo)圖像在所述第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)和所述第二目標(biāo)圖像在所述第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù);
第二計(jì)算單元,用于根據(jù)所述第一局部自相關(guān)函數(shù)和所述第二局部自相關(guān)函數(shù),分別計(jì)算所述第一目標(biāo)像素點(diǎn)的第一響應(yīng)函數(shù)和所述第二目標(biāo)像素點(diǎn)的第二響應(yīng)函數(shù);
第一確定單元,用于根據(jù)所述第一響應(yīng)函數(shù)和所述第二響應(yīng)函數(shù),分別確定所述第一目標(biāo)像素點(diǎn)和所述第二目標(biāo)像素點(diǎn)是否為角點(diǎn);
添加單元,用于如果所述第一目標(biāo)像素點(diǎn)為角點(diǎn),將所述第一目標(biāo)像素點(diǎn)添加到第一角點(diǎn)集合中,以及,如果所述第二目標(biāo)像素點(diǎn)為角點(diǎn),將所述第二目標(biāo)像素點(diǎn)添加到第二角點(diǎn)集合中。
可選的,所述提取模塊,包括:
建立單元,用于根據(jù)所述第一角點(diǎn)集合和所述第一角點(diǎn)集合分別建立所述第一角點(diǎn)集合對(duì)應(yīng)的第一高斯金字塔圖像集合和第一角點(diǎn)檢測(cè)DoG金字塔圖像集合,以及,所述第二角點(diǎn)集合對(duì)應(yīng)的第二高斯金字塔圖像集合和第二DoG金字塔圖像集合;
第一選擇單元,用于根據(jù)所述第一高斯金字塔圖像集合和所述第一DoG金字塔圖像集合,在所述第一角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合;
第二選擇單元,用于根據(jù)所述第二高斯金字塔圖像集合和所述第二DoG金字塔圖像集合,在所述第二角點(diǎn)集合中選擇特征點(diǎn)組成第二特征點(diǎn)集合。
可選的,所述第三獲取模塊,包括:
第二獲取單元,用于分別獲取所述第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的方向和所述第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的方向;
生成單元,用于根據(jù)所述每個(gè)第一特征點(diǎn)的方向和所述每個(gè)第二特征點(diǎn)的方向,分別生成所述每個(gè)第一特征點(diǎn)的特征描述子和所述每個(gè)第二特征點(diǎn)的特征描述子。
可選的,所述匹配模塊,包括:
第三計(jì)算單元,用于分別計(jì)算所述每個(gè)第一特征點(diǎn)的特征描述子與所述每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離;
第二確定單元,用于將歐式距離最小的第一特征點(diǎn)和第二特征點(diǎn)確定為一組匹配點(diǎn)。
在本發(fā)明實(shí)施例中,通過Harris算法獲取第一目標(biāo)圖像對(duì)應(yīng)的第一角點(diǎn)集合和第二目標(biāo)圖像對(duì)應(yīng)的第二角點(diǎn)集合,然后通過SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合和第二特征點(diǎn)集合,分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。由于本發(fā)明結(jié)合了Harris算法和SIFT算法進(jìn)行圖像匹配,通過SIFT算法進(jìn)行特征點(diǎn)提取時(shí),直接從第一角點(diǎn)集合和第二角點(diǎn)集合中進(jìn)行提取,從而減少了特征點(diǎn)的數(shù)量,降低了算法復(fù)雜度,提高了特征點(diǎn)提取速度,從而提高了匹配效率。
附圖說明
圖1是本發(fā)明實(shí)施例1提供的一種基于特征的圖像匹配的方法流程圖;
圖2-1是本發(fā)明實(shí)施例2提供的一種基于特征的圖像匹配的方法流程圖;
圖2-2是本發(fā)明實(shí)施例2提供的一種提取特征點(diǎn)的示意圖;
圖2-3是本發(fā)明實(shí)施例2提供的一種特征點(diǎn)的相鄰區(qū)域;
圖2-4是本發(fā)明實(shí)施例2提供的一種以特征點(diǎn)為中心選取區(qū)域的示意圖;
圖3是本發(fā)明實(shí)施例3提供的一種基于特征的圖像匹配的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
本發(fā)明實(shí)施例提供了一種基于特征的圖像匹配方法,該方法的執(zhí)行主體可以為車載終端或者任意具有計(jì)算功能的終端;在本發(fā)明實(shí)施例中,以執(zhí)行主體為終端為例進(jìn)行說明,參見圖1,該方法包括:
步驟101:獲取待匹配的第一目標(biāo)圖像和第二目標(biāo)圖像。
步驟102:通過Harris算法分別獲取第一目標(biāo)圖像的角點(diǎn)和第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合。
步驟103:通過尺度不變特征變換SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中提取第一目標(biāo)圖像的特征點(diǎn)和第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合。
步驟104:分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子。
步驟105:根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。
在本發(fā)明實(shí)施例中,通過Harris算法獲取第一目標(biāo)圖像對(duì)應(yīng)的第一角點(diǎn)集合和第二目標(biāo)圖像對(duì)應(yīng)的第二角點(diǎn)集合,然后通過SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合和第二特征點(diǎn)集合,分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。由于本發(fā)明結(jié)合了Harris算法和SIFT算法進(jìn)行圖像匹配,通過SIFT算法進(jìn)行特征點(diǎn)提取時(shí),直接從第一角點(diǎn)集合和第二角點(diǎn)集合中進(jìn)行提取,從而減少了特征點(diǎn)的數(shù)量,降低了算法復(fù)雜度,提高了特征點(diǎn)提取速度,從而提高了匹配效率。
實(shí)施例2
本發(fā)明實(shí)施例提供了一種基于特征的圖像匹配方法,該方法的執(zhí)行主體可以為車載終端或者任意具有計(jì)算功能的終端;在本發(fā)明實(shí)施例中,以執(zhí)行主體為終端為例進(jìn)行說明,參見圖2-1,該方法包括:
步驟201:獲取待匹配的第一目標(biāo)圖像和第二目標(biāo)圖像。
在本步驟中,終端可以采集第一目標(biāo)圖像和第二目標(biāo)圖像,也可以接收除該終端之外的其他終端傳輸?shù)牡谝荒繕?biāo)圖像和第二目標(biāo)圖像;在本發(fā)明實(shí)施例中,對(duì)獲取第一目標(biāo)圖像和第二目標(biāo)圖像的方法不作具體限定。
步驟202:通過Harris算法分別獲取第一目標(biāo)圖像的角點(diǎn)和第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合。
Harris(一種角點(diǎn)檢測(cè)算法名稱)算法是以Moravec(一種角點(diǎn)檢測(cè)算法名稱)算法為基礎(chǔ)的,通過微分計(jì)算和自相關(guān)函數(shù)來檢測(cè)角點(diǎn)。Harris算法的原理是以目標(biāo)像素點(diǎn)為中心的窗口向任意方向以微小位移移動(dòng),計(jì)算其灰度變化量來判斷該目標(biāo)像素點(diǎn)是否為角點(diǎn)。角點(diǎn)是在水平及垂直方向上均有較大灰度變換的點(diǎn)。
第一角點(diǎn)集合中包括至少一個(gè)角點(diǎn),第二角點(diǎn)集合包括至少一個(gè)角點(diǎn)。本步驟可以通過以下步驟(1)至(5)實(shí)現(xiàn),包括:
(1):分別獲取第一目標(biāo)圖像中的第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)和第二目標(biāo)圖像中的第二目標(biāo)像素點(diǎn)的第二窗口函數(shù),第一目標(biāo)像素點(diǎn)為第一目標(biāo)圖像中的任意像素點(diǎn),第二目標(biāo)像素點(diǎn)為第二目標(biāo)圖像中的任意像素點(diǎn)。
本步驟可以通過以下公式(1-1)至(1-3)實(shí)現(xiàn),包括:
(1-1):分別獲取第一目標(biāo)像素點(diǎn)的第一權(quán)重以及第二目標(biāo)像素點(diǎn)的第二權(quán)重。
具體地,分別獲取第一目標(biāo)像素點(diǎn)與第一目標(biāo)圖像的中心點(diǎn)之間的第一距離,以及,第二目標(biāo)像素點(diǎn)與第二目標(biāo)圖像的中心點(diǎn)之間的第二距離,根據(jù)第一距離,確定第一目標(biāo)像素點(diǎn)的第一權(quán)重,根據(jù)第二距離,確定第二目標(biāo)像素點(diǎn)的第二權(quán)重。
終端中可以存儲(chǔ)距離和權(quán)重的對(duì)應(yīng)關(guān)系,或者存儲(chǔ)距離范圍和權(quán)重的對(duì)應(yīng)關(guān)系。
當(dāng)終端中存儲(chǔ)距離和權(quán)重的對(duì)應(yīng)關(guān)系時(shí),根據(jù)第一距離,確定第一目標(biāo)像素點(diǎn)的第一權(quán)重的步驟可以為:
根據(jù)第一距離,從距離和權(quán)重的對(duì)應(yīng)關(guān)系中獲取第一距離對(duì)應(yīng)的權(quán)重作為第一目標(biāo)像素點(diǎn)的第一權(quán)重。
同樣,根據(jù)第二距離,確定第二目標(biāo)像素點(diǎn)的第二權(quán)重的步驟可以為:
根據(jù)第二距離,從距離和權(quán)重的對(duì)應(yīng)關(guān)系中獲取第二距離對(duì)應(yīng)的權(quán)重作為第二目標(biāo)像素點(diǎn)的第二權(quán)重。
當(dāng)終端中存儲(chǔ)距離范圍和權(quán)重的對(duì)應(yīng)關(guān)系時(shí),根據(jù)第一距離,確定第一目標(biāo)像素點(diǎn)的第一權(quán)重的步驟可以為:
根據(jù)第一距離和終端存儲(chǔ)的距離范圍,確定第一距離所在的距離范圍,根據(jù)第一距離所在的距離范圍,從距離范圍和權(quán)重的對(duì)應(yīng)關(guān)系中獲取第一距離所在的距離范圍對(duì)應(yīng)的權(quán)重作為第一目標(biāo)像素點(diǎn)的第一權(quán)重。
同樣,根據(jù)第二距離,確定第二目標(biāo)像素點(diǎn)的第二權(quán)重的步驟可以為:
根據(jù)第二距離和終端存儲(chǔ)的距離范圍,確定第二距離所在的距離范圍,根據(jù)第二距離所在的距離范圍,從距離范圍和權(quán)重的對(duì)應(yīng)關(guān)系中獲取第二距離所在的距離范圍對(duì)應(yīng)的權(quán)重作為第二目標(biāo)像素點(diǎn)的第二權(quán)重。
需要說明的是,距離和權(quán)重成反比;也即第一距離越小,第一權(quán)重越大;同樣,第二距離越小,第二權(quán)重越大。
在本步驟中獲取第一權(quán)重和第二權(quán)重,后續(xù)根據(jù)第一權(quán)重和第二權(quán)重獲取第一窗口函數(shù)和第二窗口函數(shù),能夠消除第一目標(biāo)圖像和第二目標(biāo)圖像中的孤立點(diǎn),避免這些孤立點(diǎn)被誤選為角點(diǎn)。
(1-2):根據(jù)第一權(quán)重和第一目標(biāo)像素點(diǎn)的位置,計(jì)算第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)。
根據(jù)第一權(quán)重和第一目標(biāo)像素點(diǎn)的位置,通過以下公式(1)計(jì)算第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)。
w1(x1,y1)=exp[-(x12+y12)/2σ12] 公式(1)
w1(x1,y1)為第一窗口函數(shù),x1為第一目標(biāo)像素點(diǎn)的橫坐標(biāo),y1為第一目標(biāo)像素點(diǎn)的縱坐標(biāo),σ1為第一權(quán)重。
(1-3):根據(jù)第二權(quán)重和第二目標(biāo)像素點(diǎn)的位置,計(jì)算第二目標(biāo)像素點(diǎn)的第二窗口函數(shù)。
根據(jù)第二權(quán)重和第二目標(biāo)像素點(diǎn)的位置,通過以下公式(2)計(jì)算第二目標(biāo)像素點(diǎn)的第二窗口函數(shù)。
w2(x2,y2)=exp[-(x22+y22)/2σ22] 公式(2)
w2(x2,y2)為第二窗口函數(shù),x2為第二目標(biāo)像素點(diǎn)的橫坐標(biāo),y2為第二目標(biāo)像素點(diǎn)的縱坐標(biāo),σ2為第二權(quán)重。
(2):根據(jù)第一窗口函數(shù)和第二窗口函數(shù),分別計(jì)算第一目標(biāo)圖像在第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)和第二目標(biāo)圖像在第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù)。
本步驟可以通過以下步驟(2-1)至(2-4)實(shí)現(xiàn),包括:
(2-1):以第一目標(biāo)像素點(diǎn)為中心的窗口在水平方向和豎直方向分別移動(dòng)u和v,計(jì)算第一灰度變換量。
本步驟可以通過以下公式(3)實(shí)現(xiàn)。
E1(u,v)為第一灰度變換量,Ix1x1為第一目標(biāo)像素點(diǎn)的橫坐標(biāo)的二階導(dǎo)數(shù),Iy1y1為第一目標(biāo)像素點(diǎn)的縱坐標(biāo)的二階導(dǎo)數(shù),Ix1y1為第一目標(biāo)像素點(diǎn)的橫坐標(biāo)和縱坐標(biāo)的導(dǎo)數(shù)。
(2-2):根據(jù)第一灰度變換量,計(jì)算第一目標(biāo)圖像在第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)。
根據(jù)第一灰度變換量,將第一灰度變換量中的移動(dòng)變量u和v去除,得到第一目標(biāo)圖像在第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù),具體可以通過以下公式(4)實(shí)現(xiàn)。
M1為第一局部自相關(guān)函數(shù)。
需要說明的是,對(duì)于第一目標(biāo)圖像中的每個(gè)第一目標(biāo)像素點(diǎn)都通過以上步驟(2-1)和(2-2)計(jì)算第一目標(biāo)圖像在每個(gè)第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)。
(2-3):以第二目標(biāo)像素點(diǎn)為中心的窗口在水平方向和豎直方向分別移動(dòng)u和v,計(jì)算第二灰度變換量。
本步驟可以通過以下公式(5)實(shí)現(xiàn)。
E2(u,v)為第二灰度變換量,Ix2x2為第二目標(biāo)像素點(diǎn)的橫坐標(biāo)的二階導(dǎo)數(shù),Iy2y2為第二目標(biāo)像素點(diǎn)的縱坐標(biāo)的二階導(dǎo)數(shù),Ix2y2為第二目標(biāo)像素點(diǎn)的橫坐標(biāo)和縱坐標(biāo)的導(dǎo)數(shù)。
(2-4):根據(jù)第二灰度變換量,計(jì)算第二目標(biāo)圖像在第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù)。
根據(jù)第二灰度變換量,將第二灰度變換量中的移動(dòng)變量u和v去除,得到第二目標(biāo)圖像在第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù),具體可以通過以下公式(6)實(shí)現(xiàn)。
M2為第二局部自相關(guān)函數(shù)。
需要說明的是,對(duì)于第二目標(biāo)圖像中的每個(gè)第二像素點(diǎn)都通過以上步驟(2-3)和(2-4)計(jì)算第二目標(biāo)圖像在每個(gè)第二像素點(diǎn)的第二局部自相關(guān)函數(shù)。
(3):根據(jù)第一局部自相關(guān)函數(shù)和第二局部自相關(guān)函數(shù),分別計(jì)算第一目標(biāo)像素點(diǎn)的第一響應(yīng)函數(shù)和第二目標(biāo)像素點(diǎn)的第二響應(yīng)函數(shù)。
根據(jù)第一局部自相關(guān)函數(shù),通過以下公式(7)計(jì)算第一目標(biāo)像素點(diǎn)的第一響應(yīng)函數(shù),根據(jù)第二局部自相關(guān)函數(shù),通過以下公式(8)計(jì)算第二目標(biāo)像素點(diǎn)的第二響應(yīng)函數(shù)。
R1=det(M1)-ktr2(M1) 公式(7)
R2=det(M2)-ktr2(M2) 公式(8)
R1為第一響應(yīng)函數(shù),det(M1)為矩陣M1的行列式,tr(M1)為矩陣的跡,k=[0.04,0.06]。R2為第二響應(yīng)函數(shù),det(M2)為矩陣M2的行列式,tr(M2)為矩陣的跡。
(4):根據(jù)第一響應(yīng)函數(shù)和第二響應(yīng)函數(shù),分別確定第一目標(biāo)像素點(diǎn)和第二目標(biāo)像素點(diǎn)是否為角點(diǎn)。
根據(jù)第一響應(yīng)函數(shù),確定第一目標(biāo)像素點(diǎn)的第一響應(yīng)度,分別獲取第一目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度;確定第一響應(yīng)度是否大于第一目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,如果第一響應(yīng)度大于第一目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,確定第一目標(biāo)像素點(diǎn)為角點(diǎn);如果第一響應(yīng)度不大于第一目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,確定第一目標(biāo)像素點(diǎn)不為角點(diǎn)。
根據(jù)第二響應(yīng)函數(shù),確定第二目標(biāo)像素點(diǎn)的第二響應(yīng)度,分別獲取第二目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度;確定第二響應(yīng)度是否大于第二目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,如果第二響應(yīng)度大于第二目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,確定第二目標(biāo)像素點(diǎn)為角點(diǎn);如果第二響應(yīng)度不大于第二目標(biāo)像素點(diǎn)相鄰的像素點(diǎn)的響應(yīng)度,確定第二目標(biāo)像素點(diǎn)不為角點(diǎn)。
在本發(fā)明實(shí)施例中,可以采用8領(lǐng)域非最大值抑制來確定第一目標(biāo)像素點(diǎn)或者第二目標(biāo)像素點(diǎn)是否為角點(diǎn)。也即第一目標(biāo)像素點(diǎn)有8個(gè)相鄰的像素點(diǎn),第二目標(biāo)像素點(diǎn)也有8個(gè)相鄰的像素點(diǎn)。例如,參見圖2-2,像素點(diǎn)X(實(shí)心圓)為第一目標(biāo)像素點(diǎn)(或者第二目標(biāo)像素點(diǎn)),8個(gè)相鄰像素點(diǎn)(空心圓)為第一目標(biāo)像素點(diǎn)(或者第二目標(biāo)像素點(diǎn))相鄰的像素點(diǎn)。
(5):如果第一目標(biāo)像素點(diǎn)為角點(diǎn),將第一目標(biāo)像素點(diǎn)添加到第一角點(diǎn)集合中,以及,如果第二目標(biāo)像素點(diǎn)為角點(diǎn),將第二目標(biāo)像素點(diǎn)添加到第二角點(diǎn)集合中。
步驟203:通過SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中提取第一目標(biāo)圖像的特征點(diǎn)和第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合。
本步驟可以通過以下步驟(1)至(3)實(shí)現(xiàn),包括:
(1):根據(jù)第一角點(diǎn)集合和第一角點(diǎn)集合分別建立第一角點(diǎn)集合對(duì)應(yīng)的第一高斯金字塔圖像集合和第一DoG(Difference of Gaussian,角點(diǎn)檢測(cè))金字塔圖像集合,以及,第二角點(diǎn)集合對(duì)應(yīng)的第二高斯金字塔圖像集合和第二DoG金字塔圖像集合。
根據(jù)第一角點(diǎn)集合中的第一角點(diǎn)的位置和第一權(quán)重,通過以下公式(9)計(jì)算第一角點(diǎn)在第一高斯金字塔圖像中的第一像素值,通過以下公式(10)計(jì)算第一角點(diǎn)在第一DoG金字塔圖像中的第二像素值,第一角點(diǎn)為第一角點(diǎn)集合中的任一角點(diǎn)。
L1(x1,y1,σ1)=G1(x1,y1,σ1)*I(x1,y1) 公式(9)
其中,L1(x1,y1,σ1)為第一像素值,I(x1,y1)為第一角點(diǎn)在第一目標(biāo)圖像中的像素值。
D1(x1,y1,σ1)=L(x1,y1,kσ1)-L(x1,y1,σ1)
=(G1(x1,y1,kσ1)-G1(x1,y1,σ1))*I(x1,y1) 公式(10)
其中,D1(x1,y1,σ1)為第二像素值,
根據(jù)第二角點(diǎn)集合中的第二角點(diǎn)的位置和第二權(quán)重,通過以下公式(11)計(jì)算第二角點(diǎn)在第二高斯金字塔圖像中的第三像素值,通過以下公式(12)計(jì)算第二角點(diǎn)在第二DoG金字塔圖像中的第四像素值,第二角點(diǎn)為第二角點(diǎn)集合中的任一角點(diǎn)。
L2(x2,y2,σ2)=G2(x2,y2,σ2)*I(x2,y2) 公式(11)
其中,L2(x2,y2,σ2)為第三像素值,I(x2,y2)為第二角點(diǎn)在第二目標(biāo)圖像中的像素值。
D2(x2,y2,σ2)=L(x2,y2,kσ2)-L(x2,y2,σ2)
=(G2(x2,y2,kσ2)-G2(x2,y2,σ2))*I(x2,y2) 公式(12)
其中,D2(x2,y2,σ2)為第四像素值,
需要說明的是,在本發(fā)明實(shí)施例中,在檢測(cè)到的Harris角點(diǎn)16*16領(lǐng)域內(nèi)建立局部的高斯金字塔和DoG金字塔,而不是在整幅圖像中進(jìn)行處理,這樣可以大大減少所需計(jì)算的像素點(diǎn)的數(shù)目,減少算法計(jì)算量。
(2):根據(jù)第一高斯金字塔圖像集合和第一DoG金字塔圖像集合,在第一角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合。
在第一高斯金字塔圖像集合和第一DoG金字塔圖像集合中,獲取第一角點(diǎn)在圖像域和尺度域的相鄰像素點(diǎn)的像素值,確定第一角點(diǎn)的像素值是否大于相鄰像素點(diǎn)的像素值,如果大于,確定第一角點(diǎn)為特征點(diǎn),將第一角點(diǎn)移動(dòng)到第一特征點(diǎn)集合中。
進(jìn)一步地,如果不大于,確定第一角點(diǎn)不為特征點(diǎn),將第一角點(diǎn)從第一角點(diǎn)集合中刪除。
例如,參見圖2-3,第一角點(diǎn)的相鄰的像素點(diǎn)包括與第一角點(diǎn)在同一尺度域的8個(gè)相鄰像素點(diǎn)、第一角點(diǎn)的上尺度域?qū)?yīng)的9個(gè)像素點(diǎn),以及,第一角點(diǎn)的下尺度域?qū)?yīng)的9個(gè)像素點(diǎn),總共26個(gè)相鄰像素點(diǎn)。也即第一角點(diǎn)同時(shí)與26個(gè)相鄰像素點(diǎn)進(jìn)行像素值比較,從而確保在尺度空間和二維圖像空間都檢測(cè)到特征點(diǎn)。
(3):根據(jù)第二高斯金字塔圖像集合和第二DoG金字塔圖像集合,在第二角點(diǎn)集合中選擇特征點(diǎn)組成第二特征點(diǎn)集合。
在第二高斯金字塔圖像集合和第二DoG金字塔圖像集合中,獲取第二角點(diǎn)在圖像域和尺度域的相鄰像素點(diǎn)的像素值,確定第二角點(diǎn)的像素值是否大于相鄰像素點(diǎn)的像素值,如果大于,確定第二角點(diǎn)為特征點(diǎn),將第二角點(diǎn)移動(dòng)到第二特征點(diǎn)集合中。
進(jìn)一步地,如果不大于,確定第二角點(diǎn)不為特征點(diǎn),將第二角點(diǎn)從第二角點(diǎn)集合中刪除。
需要說明的是,對(duì)于第一角點(diǎn)集合中的每個(gè)第一角點(diǎn)以及第二角點(diǎn)集合中的第二角點(diǎn)都按以上步驟(1)-(3)確定每個(gè)第一角點(diǎn)是否為特征點(diǎn),每個(gè)第二角點(diǎn)是否為特征點(diǎn),從而生成第一特征點(diǎn)集合和第二特征點(diǎn)集合。
步驟204:分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子。
本步驟可以通過以下步驟(1)至(2)實(shí)現(xiàn),包括:
(1):分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的方向和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的方向。
對(duì)于每個(gè)第一特征點(diǎn),獲取第一特征點(diǎn)的相鄰像素點(diǎn),按以下公式(13)計(jì)算相鄰像素點(diǎn)的模值,按以下公式(14)計(jì)算相鄰像素點(diǎn)的方向;根據(jù)相鄰像素點(diǎn)的模值和方向,采用統(tǒng)計(jì)直方圖法統(tǒng)計(jì)第一特征點(diǎn)方向。
其中,m1(x3,y3)為第一特征點(diǎn)的相鄰像素點(diǎn)的模值,x3為第一特征點(diǎn)的相鄰像素點(diǎn)的橫坐標(biāo),y3為第一特征點(diǎn)的相鄰像素點(diǎn)的縱坐標(biāo),α為一個(gè)柱的角度;θ1(x1,y1)為第一特征點(diǎn)的相鄰像素點(diǎn)與水平方向的夾角。
需要說明的是,L所用的尺度是每個(gè)特征點(diǎn)各自所在的尺度,梯度直方圖的范圍為0~306度,直方圖的峰值則代表了特征點(diǎn)的方向。α可以根據(jù)需要進(jìn)行設(shè)置并更改,在本發(fā)明實(shí)施例中,對(duì)α不作具體限定;例如,可以設(shè)置每45度一個(gè)柱,總共8個(gè)柱,也即α為45度;也可以設(shè)置10度一個(gè)柱,總共36個(gè)柱,也即α為10度。
例如,第一特征點(diǎn)的相鄰像素點(diǎn)有8個(gè),α為45度;則在本步驟中,分別按照以上公式(13)和(14)獲取8個(gè)相鄰像素點(diǎn)中的每個(gè)相鄰像素點(diǎn)的模值和方向;根據(jù)每個(gè)相鄰像素點(diǎn)方向,統(tǒng)計(jì)8個(gè)柱中的每個(gè)柱中包括的像素點(diǎn)的個(gè)數(shù),獲取包含像素點(diǎn)個(gè)數(shù)最多的柱中包括的多個(gè)像素點(diǎn)的向量(模值和方向組成向量),將獲取的多個(gè)像素點(diǎn)的向量相加得到第一特征點(diǎn)的方向。
對(duì)于每個(gè)第二特征點(diǎn),獲取第二特征點(diǎn)的相鄰像素點(diǎn),按以下公式(15)計(jì)算相鄰像素點(diǎn)的模值,按以下公式(16)計(jì)算相鄰像素點(diǎn)的方向;根據(jù)相鄰像素點(diǎn)的模值和方向,采用統(tǒng)計(jì)直方圖法統(tǒng)計(jì)第二特征點(diǎn)方向。
其中,m2(x4,y4)為第二特征點(diǎn)的相鄰像素點(diǎn)的模值,x4第二特征點(diǎn)的為相鄰像素點(diǎn)的橫坐標(biāo),y4為第二特征點(diǎn)的相鄰像素點(diǎn)的縱坐標(biāo),α為一個(gè)柱的角度;θ1(x1,y1)為第二特征點(diǎn)的相鄰像素點(diǎn)與水平方向的夾角。
(2):根據(jù)每個(gè)第一特征點(diǎn)的方向和每個(gè)第二特征點(diǎn)的方向,分別生成每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子。
對(duì)于每個(gè)第一特征點(diǎn)或者每個(gè)第二特征點(diǎn),以該特征點(diǎn)為中心選取一個(gè)16*16大小的區(qū)域,參見圖2-4;在每個(gè)4*4的區(qū)域中計(jì)算8方向的梯度信息,得到4*4*8=128維的向量,將該128維的向量作為該特征點(diǎn)的特征描述子。
步驟205:根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。
本步驟可以通過以下步驟(1)和(2)實(shí)現(xiàn),包括:
(1):分別計(jì)算每個(gè)第一特征點(diǎn)的特征描述子與每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離。
對(duì)于每個(gè)第一特征點(diǎn),計(jì)算該第一特征點(diǎn)的特征描述子與每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離。
(2):將歐式距離最小的第一特征點(diǎn)和第二特征點(diǎn)確定為一組匹配點(diǎn)。
在第一特征點(diǎn)的特征描述子與每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離中選擇最小距離,將該最小距離對(duì)應(yīng)的第一特征點(diǎn)和第二特征點(diǎn)確定為一組匹配點(diǎn)。
步驟206:對(duì)匹配點(diǎn)進(jìn)行檢測(cè),并將錯(cuò)誤匹配點(diǎn)刪除。
采用RANSAC(Random Sample Consensus,基于隨機(jī)采樣一致性)算法對(duì)匹配點(diǎn)進(jìn)行檢測(cè),具體檢測(cè)過程為現(xiàn)有技術(shù),在此不再詳細(xì)說明。
在本發(fā)明實(shí)施例中,通過Harris算法獲取第一目標(biāo)圖像對(duì)應(yīng)的第一角點(diǎn)集合和第二目標(biāo)圖像對(duì)應(yīng)的第二角點(diǎn)集合,然后通過SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合和第二特征點(diǎn)集合,分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。由于本發(fā)明結(jié)合了Harris算法和SIFT算法進(jìn)行圖像匹配,通過SIFT算法進(jìn)行特征點(diǎn)提取時(shí),直接從第一角點(diǎn)集合和第二角點(diǎn)集合中進(jìn)行提取,從而減少了特征點(diǎn)的數(shù)量,降低了算法復(fù)雜度,提高了特征點(diǎn)提取速度,從而提高了匹配效率。
實(shí)施例3
本發(fā)明實(shí)施例提供了一種基于特征的圖像匹配裝置,該裝置用于執(zhí)行實(shí)施例1和實(shí)施例2的基于特征的圖像匹配方法,參見圖3,其中,該裝置包括:
第一獲取模塊301,用于獲取待匹配的第一目標(biāo)圖像和第二目標(biāo)圖像;
第二獲取模塊302,用于通過Harris算法分別獲取第一目標(biāo)圖像的角點(diǎn)和第二目標(biāo)圖像的角點(diǎn),得到第一角點(diǎn)集合和第二角點(diǎn)集合;
提取模塊303,用于通過尺度不變特征變換SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中提取第一目標(biāo)圖像的特征點(diǎn)和第二目標(biāo)圖像的特征點(diǎn),得到第一特征點(diǎn)集合和第二特征點(diǎn)集合;
第三獲取模塊304,用于分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;
匹配模塊305,用于根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。
可選的,第二獲取模塊302,包括:
第一獲取單元,用于分別獲取第一目標(biāo)圖像中的第一目標(biāo)像素點(diǎn)的第一窗口函數(shù)和第二目標(biāo)圖像中的第二目標(biāo)像素點(diǎn)的第二窗口函數(shù),第一目標(biāo)像素點(diǎn)為第一目標(biāo)圖像中的任意像素點(diǎn),第二目標(biāo)像素點(diǎn)為第二目標(biāo)圖像中的任意像素點(diǎn);
第一計(jì)算單元,用于根據(jù)第一窗口函數(shù)和第二窗口函數(shù),分別計(jì)算第一目標(biāo)圖像在第一目標(biāo)像素點(diǎn)的第一局部自相關(guān)函數(shù)和第二目標(biāo)圖像在第二目標(biāo)像素點(diǎn)的第二局部自相關(guān)函數(shù);
第二計(jì)算單元,用于根據(jù)第一局部自相關(guān)函數(shù)和第二局部自相關(guān)函數(shù),分別計(jì)算第一目標(biāo)像素點(diǎn)的第一響應(yīng)函數(shù)和第二目標(biāo)像素點(diǎn)的第二響應(yīng)函數(shù);
第一確定單元,用于根據(jù)第一響應(yīng)函數(shù)和第二響應(yīng)函數(shù),分別確定第一目標(biāo)像素點(diǎn)和第二目標(biāo)像素點(diǎn)是否為角點(diǎn);
添加單元,用于如果第一目標(biāo)像素點(diǎn)為角點(diǎn),將第一目標(biāo)像素點(diǎn)添加到第一角點(diǎn)集合中,以及,如果第二目標(biāo)像素點(diǎn)為角點(diǎn),將第二目標(biāo)像素點(diǎn)添加到第二角點(diǎn)集合中。
可選的,提取模塊303,包括:
建立單元,用于根據(jù)第一角點(diǎn)集合和第一角點(diǎn)集合分別建立第一角點(diǎn)集合對(duì)應(yīng)的第一高斯金字塔圖像集合和第一角點(diǎn)檢測(cè)DoG金字塔圖像集合,以及,第二角點(diǎn)集合對(duì)應(yīng)的第二高斯金字塔圖像集合和第二DoG金字塔圖像集合;
第一選擇單元,用于根據(jù)第一高斯金字塔圖像集合和第一DoG金字塔圖像集合,在第一角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合;
第二選擇單元,用于根據(jù)第二高斯金字塔圖像集合和第二DoG金字塔圖像集合,在第二角點(diǎn)集合中選擇特征點(diǎn)組成第二特征點(diǎn)集合。
可選的,第三獲取模塊304,包括:
第二獲取單元,用于分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的方向和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的方向;
生成單元,用于根據(jù)每個(gè)第一特征點(diǎn)的方向和每個(gè)第二特征點(diǎn)的方向,分別生成每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子。
可選的,匹配模塊305,包括:
第三計(jì)算單元,用于分別計(jì)算每個(gè)第一特征點(diǎn)的特征描述子與每個(gè)第二特征點(diǎn)的特征描述子之間的歐式距離;
第二確定單元,用于將歐式距離最小的第一特征點(diǎn)和第二特征點(diǎn)確定為一組匹配點(diǎn)。
在本發(fā)明實(shí)施例中,通過Harris算法獲取第一目標(biāo)圖像對(duì)應(yīng)的第一角點(diǎn)集合和第二目標(biāo)圖像對(duì)應(yīng)的第二角點(diǎn)集合,然后通過SIFT算法分別從第一角點(diǎn)集合和第二角點(diǎn)集合中選擇特征點(diǎn)組成第一特征點(diǎn)集合和第二特征點(diǎn)集合,分別獲取第一特征點(diǎn)集合中的每個(gè)第一特征點(diǎn)的特征描述子和第二特征點(diǎn)集合中的每個(gè)第二特征點(diǎn)的特征描述子;根據(jù)每個(gè)第一特征點(diǎn)的特征描述子和每個(gè)第二特征點(diǎn)的特征描述子,對(duì)每個(gè)第一特征點(diǎn)和每個(gè)第二特征點(diǎn)進(jìn)行匹配。由于本發(fā)明結(jié)合了Harris算法和SIFT算法進(jìn)行圖像匹配,通過SIFT算法進(jìn)行特征點(diǎn)提取時(shí),直接從第一角點(diǎn)集合和第二角點(diǎn)集合中進(jìn)行提取,從而減少了特征點(diǎn)的數(shù)量,降低了算法復(fù)雜度,提高了特征點(diǎn)提取速度,從而提高了匹配效率。
需要說明的是:上述實(shí)施例提供的基于特征的圖像匹配裝置在基于特征的圖像匹配時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的基于特征的圖像匹配裝置與基于特征的圖像匹配方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。