導航:首頁 > 源碼編譯 > sift演算法圖片

sift演算法圖片

發布時間:2022-08-21 07:55:05

1. sift演算法是什麼

Sift演算法是David Lowe於1999年提出的局部特徵描述子,並於2004年進行了更深入的發展和完善。Sift特徵匹配演算法可以處理兩幅圖像之間發生平移、旋轉、仿射變換情況下的匹配問題,具有很強的匹配能力。

這一演算法的靈感也十分的直觀,人眼觀測兩張圖片是否匹配時會注意到其中的典型區域(特徵點部分),如果我們能夠實現這一特徵點區域提取過程,再對所提取到的區域進行描述就可以實現特徵匹配了。

sift演算法的應用

SIFT演算法目前在軍事、工業和民用方面都得到了不同程度的應用,其應用已經滲透了很多領域,典型的應用如下:物體識別;機器人定位與導航;圖像拼接;三維建模;手勢識別;視頻跟蹤;筆記鑒定;指紋與人臉識別;犯罪現場特徵提取。

2. sift演算法用python2.7程序及運行

錯誤:45.txt沒有找到。
裡面放的是特徵。
在process_image那裡應該調用sift.exe生成了45.txt啊。

3. sift演算法必須用到.pgm圖片嗎

1. SIFT特徵是圖像的局部特徵,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、雜訊也保持一定程度的穩定性;
2. 獨特性(Distinctiveness)好,信息量豐富,適用於在海量特徵資料庫中進行快速、准確的匹配;
3. 多量性,即使少數的幾個物體也可以產生大量的SIFT特徵向量;
4. 高速性,經優化的SIFT匹配演算法甚至可以達到實時的要求;
5. 可擴展性,可以很方便的與其他形式的特徵向量進行聯合。

4. 在計算機視覺中,用SIFT演算法,下面這幅圖是怎麼畫出來的啊[email protected]

sift中keypoint的descriptor是128的維的向量,你要畫這個干嗎。一般都是用這個descriptor來進行特徵點匹配

5. 在MATLAB的sift演算法中,怎麼用一個模板與多幅圖像進行匹配

(1) 尺度不變特徵變換(SIFT演算法)概要

是一種計算機視覺的演算法,用來偵測與描述影像中的局部性特徵,它在空間尺度中尋找極值點,並提取出其位置、尺度、旋轉不變數。

此演算法由 David Lowe 在1999年所發表,2004年完善總結。其應用范圍包含物體辨識、機器人地圖感知與導航、影像縫合、3D模型建立、手勢辨識、影像追蹤和動作比對。此演算法有其專利,專利擁有者為 英屬哥倫比亞大學。

局部影像特徵的描述與偵測可以幫助辨識物體,SIFT 特徵是基於物體上的一些局部外觀的興趣點而與影像的大小和旋轉無關。 對於光線、雜訊、些微視角改變的容忍度也相當高。基於這些特性,它們是高度顯著而且相對容易擷取,在母數龐大的特徵資料庫中,很容易辨識物體而且鮮有誤認。使用 SIFT特徵描述對於部分物體遮蔽的偵測率也相當高,甚至只需要3個以上的SIFT物體特徵就足以計算出位置與方位。在現今的電腦硬體速度下和小型的特徵資料庫條件下,辨識速度可接近即時運算。SIFT特徵的信息量大,適合在海量資料庫中快速准確匹配。

(2 ) Matlab代碼主要功能函數如下: match.m:測試程序

功能:該函數讀入兩幅(灰度)圖像,找出各自的 SIFT 特徵, 並顯示兩連接兩幅圖像中被匹配的特徵點(關鍵特徵點(the matched keypoints)直線(將對應特徵點進行連接)。判斷匹配的准則是匹配距離小於distRatio倍於下一個最近匹配的距離( A match is accepted only if its distance is less than distRatio times the distance to the second closest match. 該程序返回顯示的匹配對的數量。( It returns the number of matches displayed.) 調用實例: match('desk.jpg','book.jpg');

( 假如,想測試一個含有一本書的桌面的圖像 和一本書的圖像之間特徵匹配) 調用方法和參數描述:略。 注意:(1)圖像為灰度圖像,如果是彩色圖像,應該在調用前利用rgb2gray轉換為灰度圖像。

(2)參數distRatio 為控制匹配點數量的系數,這里取 0.6,該參數決定了匹配點的數量,在Match.m文件中調整該參數,獲得最合適的匹配點數量。 sift.m :尺度不變特徵變換(SIFT演算法)的核心演算法程序

功能:該函數讀入灰度圖像,返回SIFT 特徵關鍵點( SIFT keypoints.) 調用方法和參數描述:

調用方式:[image, descriptors, locs] = sift(imageFile) 輸入參數( Input parameters):

imageFile: 圖像文件名.

輸出或返回參數( Returned):

image: 是具有double format格式的圖像矩陣

descriptors: 一個 K-by-128 的矩陣x, 其中每行是針對找到的K個關鍵特徵點(the K keypoints)的不變數描述子. 這個描述子(descriptor)是一個擁有128個數值並歸一化為單位長度向量.

locs: 是K-by-4 矩陣, 其中的每一行具有四個數值,表示關鍵點位置信息 (在圖像中的行坐標,列坐標(row, column) ,注意,一般圖像的左上角為坐標原點), 尺度scale,高斯尺度空間的參數,其中該參數也決定了frame(結構)確定的圖像disk的大小, 最後一個參數是方向orientation). 方向參數的范圍是[-PI, PI] 單位為弧度.

appendimages.m: 該函數創建一個新的圖像分別包含兩個匹配的圖像和他們之間

的匹配對的連接直線. (3) 實際案例執行結果:

程序代碼使用matlab和c混合編程。用matlab打開文件中的sift_match.m文件,並執行。如下圖所示:


6. 如何計算sift每幅圖像提取多少特徵點

一、特徵點(角點)匹配
圖像匹配能夠應用的場合非常多,如目標跟蹤,檢測,識別,圖像拼接等,而角點匹配最核心的技術就要屬角點匹配了,所謂角點匹配是指尋找兩幅圖像之間的特徵像素點的對應關系,從而確定兩幅圖像的位置關系。
角點匹配可以分為以下四個步驟:
1、提取檢測子:在兩張待匹配的圖像中尋找那些最容易識別的像素點(角點),比如紋理豐富的物體邊緣點等。
2、提取描述子:對於檢測出的角點,用一些數學上的特徵對其進行描述,如梯度直方圖,局部隨機二值特徵等。檢測子和描述子的常用提取方法有:sift,harris,surf,fast,agast,brisk,freak,brisk,brief/orb等。
3、匹配:通過各個角點的描述子來判斷它們在兩張圖像中的對應關系,常用方法如 flann等。
4、消噪:去除錯誤匹配的外點,保留正確的匹配點。常用方法有KDTREE,BBF,Ransac,GTM等。
二、SIFT匹配方法的提出
為了排除因為圖像遮擋和背景混亂而產生的無匹配關系的關鍵點,SIFT的作者Lowe提出了比較最近鄰距離與次近鄰距離的SIFT匹配方式:取一幅圖像中的一個SIFT關鍵點,並找出其與另一幅圖像中歐式距離最近的前兩個關鍵點,在這兩個關鍵點中,如果最近的距離除以次近的距離得到的比率ratio少於某個閾值T,則接受這一對匹配點。因為對於錯誤匹配,由於特徵空間的高維性,相似的距離可能有大量其他的錯誤匹配,從而它的ratio值比較高。顯然降低這個比例閾值T,SIFT匹配點數目會減少,但更加穩定,反之亦然。
Lowe推薦ratio的閾值為0.8,但作者對大量任意存在尺度、旋轉和亮度變化的兩幅圖片進行匹配,結果表明ratio取值在0. 4~0. 6 之間最佳,小於0. 4的很少有匹配點,大於0. 6的則存在大量錯誤匹配點,所以建議ratio的取值原則如下:
ratio=0. 4:對於准確度要求高的匹配;
ratio=0. 6:對於匹配點數目要求比較多的匹配;
ratio=0. 5:一般情況下。
三、常見的SIFT匹配代碼
1、vlfeat中sift toolbox中的vl_ubcmatch.c使用的是普通的歐氏距離進行匹配(該SIFT代碼貢獻自Andrea
Vedaldi)。
2、Lowe的C++代碼中使用的是歐氏距離,但是在matlab代碼中為了加速計算,使用的是向量夾角來近似歐氏距離:先將128維SIFT特徵向量歸一化為單位向量(每個數除以平方和的平方根),然後點乘來得到向量夾角的餘弦值,最後利用反餘弦(acos函數)求取向量夾角。實驗證明Lowe的辦法正確率和耗時都很不錯。
同樣,也可以採用knnsearch函數求最近點和次近點:knnsearch採用euclidean距離時得到的結果與lowe採用的近似方法結果幾乎一致,正好印證了模擬歐氏距離的效果。
3、Rob Hess的OpenSIFT採用了KDTREE來對匹配進行優化。
4、CSDN大神v_JULY_v實現了KDTREE+BBF對SIFT匹配的優化和消除錯誤匹配:從K近鄰演算法、距離度量談到KD樹、SIFT+BBF演算法
- 結構之法 演算法之道 - 博客頻道 - CSDN.NET。
5、OpenCV中features2d實現的SIFT匹配有多種matcher:VectorDescriptorMatcher,BFMatcher(Brute-force descriptor matcher),FernDescriptorMatcher,OneWayDescriptorMatcher,FlannBasedMatcher 等等。目前只知道採用knnsearch,提供了多種距離度量方式,具體區別不懂。

7. 新手求教 用sift處理後的圖片得到的特徵矩陣大小為什麼不相同

卷積矩陣越大,可視范圍越大,也就是處理後得到的信息越多,但會增加網路的參數,使網路速度變慢,矩陣小的話,可視范圍小,但網路速度快,所以要選取適當的大小,一般是3×3,5×5,7×7這幾種大小

8. 我想問下 用SIFT提取的特徵點 也就是關鍵點是些什麼點 這些點中有角點或者圓心么

第一個為題:SIFT演算法裡面把角點,邊緣點看做了不穩定的點,是需要去除的。所以提取不到角點;
匹配問題:只要找到了兩幅圖片的角點坐標,那麼對兩幅圖片進行拼接,對應點連線即可,這裡面也就涉及到一個坐標變換的問題。

9. C++中基於opencv的sift演算法中用高斯金字塔對圖片進行處理,該怎麼把經高斯金字塔處理的圖片每一張都顯示

buildGaussianPyramid 函數的輸出 pyr 就是高斯金字塔了 ,直接imshow(pyr[i]),應該就可以了

閱讀全文

與sift演算法圖片相關的資料

熱點內容
linux藍牙連接 瀏覽:898
安卓qq郵箱格式怎麼寫 瀏覽:429
如何電信租用伺服器嗎 瀏覽:188
編程中計算根號的思維 瀏覽:181
可愛的程序員16集背景音樂 瀏覽:446
軟體代碼內容轉換加密 瀏覽:795
什麼app看電視不要錢的 瀏覽:16
烏班圖怎麼安裝c語言編譯器 瀏覽:278
plc通訊塊編程 瀏覽:923
我的世界伺服器怎麼清地皮 瀏覽:421
ftp伺服器如何批量改名 瀏覽:314
網易我的世界伺服器成員如何傳送 瀏覽:268
公司雲伺服器遠程訪問 瀏覽:633
法哲學pdf 瀏覽:637
清大閱讀app是什麼 瀏覽:447
怎麼用qq瀏覽器整體解壓文件 瀏覽:586
肺組織壓縮15 瀏覽:270
安卓手機為什麼換電話卡沒反應 瀏覽:797
諸子集成pdf 瀏覽:339
php注冊框代碼 瀏覽:718