亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡

更多精彩內容,歡迎關注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

圖像檢索之基于vlfeat實現SIFT特征

文檔

圖像檢索之基于vlfeat實現SIFT特征

SIFT特征的講解已經很多了,本文就借助vlfeat對SIFT特征的提取過程做一個總結。接下來通過本文給大家介紹圖像檢索之基于vlfeat實現SIFT,感興趣的朋友跟隨小編一起看看吧。
推薦度:
導讀SIFT特征的講解已經很多了,本文就借助vlfeat對SIFT特征的提取過程做一個總結。接下來通過本文給大家介紹圖像檢索之基于vlfeat實現SIFT,感興趣的朋友跟隨小編一起看看吧。
概述

基于內容的圖像檢索技術是采用某種算法來提取圖像中的特征,并將特征存儲起來,組成圖像特征數據庫。當需要檢索圖像時,采用相同的特征提取技術提取出待檢索圖像的特征,并根據某種相似性準則計算得到特征數據庫中圖像與待檢索圖像的相關度,最后通過由大到小排序,得到與待檢索圖像最相關的圖像,實現圖像檢索。圖像檢索的結果優劣取決于圖像特征提取的好壞,在面對海量數據檢索環境中,我們還需要考慮到圖像比對(圖像相似性考量)的過程,采用高效的算法快速找到相似圖像也至關重要。

在構建圖像特征庫的時候,通常不會使用原始的圖像特征,這是由于Raw Feature有很多冗余信息,而且維度過高在構建特征數據庫和匹配的時候效率較低。所以,通常要對提取到的原始特征進行重新編碼。比較常用的三種編碼方式:

BoF , Bog of Feature 源于文本處理的詞袋模型(Bog,Bag of Words)

VLAD , Vector of Aggragate Locally Descriptor

FV , fisher vector

構建圖像特征數據庫,通常有以下幾個步驟:

圖像預處理流程(增強,旋轉,濾波,縮放等)

特征提取(全局特征,局部特征:SIFT,SURF,CNN等)

對每張圖片提取的原始特征重新編碼(BoF,VLAD,FV)形成圖像的特征庫

圖像的特征庫構建完成后,在檢索階段,主要涉及到特征的相似性度量準則,排序,搜索

提取圖像的特征,

特征編碼

在圖像特征庫中進行檢索

返回相似性較高的結果

SIFT特征

SIFT特征的講解已經很多了,之前的博客也有過介紹。本文就借助vlfeat對SIFT特征的提取過程做一個總結。一個SIFT特征有兩部分組成:關鍵點(keypoint)和對應特征描述子(Descriptor)。使用SIFT detector 進行SIFT關鍵點的提取,然后使用SIFT descriptor計算關鍵點的描述子。也可以獨立的使用SIFT detector進行SIFT 關鍵點的提取,或者使用SIFT descriptor進行別的關鍵點描述子的計算。

一個SIFT keypoint是一塊圓形區域并且帶有方向,使用4個參數描述該區域的幾何結構:

keypoint的中心位置的坐標(x,y)

keypoint的scale(圓形區域的半徑r)

keypoint的方向(使用弧度表示的角度θ)

一個SIFT關鍵點由4個參數確定:

高斯尺度的組數o=log2min(m,n)?3=log2(512)?3=6

構建第0組,將原圖像進行上采樣,寬和高增加一倍得到圖像I0。

第0層I0?G(x,y,σ0)

第1層I0?G(x,y,kσ0)

第2層I0?G(x,y,k2σ0)

構建第1組,將I0進行降采樣,得到圖像I1

第0層I1?G(x,y,2σ0)

第1層I1?G(x,y,2kσ0)

第2層I1?G(x,y,2k2σ0)

...

構建第o組,第s層 Io?G(x,y,2oksσ)

在Lowe的算法實現中\(\sigma_0 = 1.6,o_min = -1\)。\(o_min = -1\)表示金字塔的第0組是原圖像上采樣得到的,寬和高加一倍。

DoG 極值點檢測

高斯圖像金字塔構建完成后,將同一組的相鄰兩層相減就得到了\(DoG\)金字塔。

每組的層數\(S = 3\),也就是說每組可以得到兩層的\(DoG\)圖像,以第一組為例:其尺度為\(\sigma,k\sigma\),只有兩項是無法求取極值的,需要左右兩邊都有尺度。由于無法比較取得極值,那么我們就需要繼續對每組的圖像進行高斯模糊,使得尺度形成\(\sigma,k\sigma,k^2\sigma,k^3\sigma,k^4\sigma\)這樣就可以選擇中間的三項\(k\sigma,k^2\sigma,k^3\sigma\)

檢測關鍵點,就是在\(DoG\)的圖像空間中尋找極值點,每個像素點要和其圖像域(同一尺度空間)和尺度域(相鄰的尺度空間)的所有相鄰點進行比較,當其大于(或者小于)所有相鄰點時,改點就是極值點。如圖所示,中間的檢測點要和其所在圖像的\(3 \times 3\)鄰域8個像素點,以及其相鄰的上下兩層的\(3\times 3\)領域18個像素點,共26個像素點進行比較。

刪除不好的極值點

刪除兩類極值點

在對比度比較低低的區域檢測到的極值點

在圖像的邊緣部分檢測到的極值點

確定關鍵點的方向

統計關鍵點鄰域像素的梯度方向分布來確定關鍵點的方向。具體步驟如下:

計算以特征點為中心,以\(3 \times1.5 \sigma\)為半徑的區域圖像的幅角和幅值,每個像點\(L(x,y)\)的梯度的模\(m(x,y)\)以及方向\(\theta(x,y)\)可通過下面公式求得

統計像素點的幅角和幅值的直方圖,梯度方向的直方圖的橫軸是梯度方向的角度(梯度方向的范圍是0到360度,直方圖每36度一個柱共10個柱,或者沒45度一個柱共8個柱),縱軸是梯度方向對應梯度幅值的累加,在直方圖的峰值就是特征點的主方向。在梯度直方圖中,當存在一個相當于主峰值80%能量的柱值時,則可以將這個方向認為是該特征點輔助方向。所以,一個特征點可能檢測到多個方向(也可以理解為,一個特征點可能產生多個坐標、尺度相同,但是方向不同的特征點)。

得到特征點的主方向后,對于每個特征點可以得到三個信息\(k(x,y,r,\theta)\),即位置、尺度和方向。由此可以確定一個SIFT特征區域,一個SIFT特征區域由三個值表示,中心表示特征點位置,半徑表示關鍵點的尺度,箭頭表示主方向。具有多個方向的關鍵點可以被復制成多份,然后將方向值分別賦給復制后的特征點,一個特征點就產生了多個坐標、尺度相等,但是方向不同的特征點。

計算關鍵點描述子

在檢測部分已經得到了SIFT關鍵點的位置,尺度和方向信息,生成關鍵點的描述子,就是使用一個向量來描述關鍵點及其鄰域像素的信息。由以下步驟生成描述子:

為了保證旋轉不變性,將關鍵點為中心的鄰域像素的坐標軸進行旋轉,將\(x\)軸旋轉至關鍵點主方向,如下圖:

分塊計算鄰域內像素的梯度方向直方圖,以關鍵點為中心的\(16\times16\)的區域內,劃分\(4\times4\)個塊,分別計算每個塊的梯度直方圖,如下圖:

每個塊的梯度直方方向直方圖的計算方式,和求關鍵點主方向時類似:此時每個區域的梯度直方圖在0-360之間劃分為8個方向區間,每個區間為45度,即每個種子點有8個方向的梯度強度信息,最后將得到的\(4\times4\times8=128\)維的特征向量。

為了去除光照變化的影響,需對上述生成的特征向量進行歸一化處理。在歸一化處理后,在128維的單位向量中,對大于0.2的要進行截斷處理,即大于0.2的值只取0.2,然后重新進行一次歸一化處理,其目的是為了提高鑒別性。0.2 是實驗得出的經驗值。

vlfeat實現的sift特征提取

vlfeat是一個開源的輕量級的計算機視覺庫,主要實現圖像局部特征的提取和匹配以及一些常用的聚類算法。其對sift特征提取的各個步驟進行了封裝,使用的方法如下:

1.調用vl_sift_new初始化VlSiftFilt,設置sift提取時參數信息,如:圖像的大小,Octave的個數,每個Octave的中的層數,起始的Octave的index. 各個參數的具體含義可以參考上面sift特征提取的方法。

2.設置剔除不穩定關鍵點的閾值。在上面提到,sift在進行極值檢查后,要剔除兩類不穩定的極值點:1.對比度較低區域的極值點;2.邊緣部分的極值點。 可以調用

vl_sift_set_peak_thresh設置接受極值點是一個關鍵點的最小對比度。 該值越小,提取到的關鍵點就越多。

y vl_sift_set_edge_thresh()設置一個極值點是在邊緣上的閾值。 該值越小,提取到的關鍵點就越多。

這兩個參數對最終提取到的特征點個數有很大的影響。

3.初始化工作完成后,可以循環的對尺度空間的每個Octave進行處理了

調用 vl_sift_process_first_octave()和vl_sift_process_next_octave()來計算下一個DoG尺度空間。

調用vl_sift_detect進行關鍵點提取

對每一個提取到的關鍵點

vl_sift_calc_keypoint_orientations計算關鍵點的方向,可能多于一個

l_sift_calc_keypoint_descriptor計算每個方向的特征描述子。

4.vl_sift_delete釋放資源。

具體代碼如下:

//?初始化
????const?string?file?=?"../0.jpg";
????Mat?img?=?imread(file,IMREAD_GRAYSCALE);
????Mat?color_img?=?imread(file);
????Mat?float_img;
????img.convertTo(float_img,CV_32F);

????int?rows?=?img.rows;
????int?cols?=?img.cols;
????VlSiftFilt*?vl_sift?=??vl_sift_new(cols,rows,4,3,0);
????vl_sift_set_peak_thresh(vl_sift,0.04);
????vl_sift_set_edge_thresh(vl_sift,10);

????vl_sift_pix?*data?=?(vl_sift_pix*)(float_img.data);


????vector?kpts;
????vector?descriptors;

????vl_sift_extract(vl_sift,data,kpts,descriptors);
????
/*
????Extract?sift?using?vlfeat
????parameters:
????????vl_sfit,?VlSiftFilt*?
????????data?,?image?pixel?data?,to?be?convert?to?float
????????kpts,?keypoint?list
????????descriptors,?descriptor.?Need?to?free?the?memory?after?using.
*/
void?vl_sift_extract(VlSiftFilt?*vl_sift,?vl_sift_pix*?data,
????????????????????vector?&kpts,vector?&descriptors)?{
????
????//?Detect?keypoint?and?compute?descriptor?in?each?octave
????if(vl_sift_process_first_octave(vl_sift,data)?!=?VL_ERR_EOF){
????????while(true){
????????????vl_sift_detect(vl_sift);

????????????VlSiftKeypoint*?pKpts?=?vl_sift->keys;
????????????for(int?i?=?0;?i?nkeys;?i?++)?{

????????????????double?angles[4];
????????????????//?計算特征點的方向,包括主方向和輔方向,最多4個
????????????????int?angleCount?=?vl_sift_calc_keypoint_orientations(vl_sift,angles,pKpts);

????????????????//?對于方向多于一個的特征點,每個方向分別計算特征描述符
????????????????//?并且將特征點復制多個
????????????????for(int?i?=?0?;?i?

vlfeat中sift提取接受的是float類型的數據,所以要先將讀到的數據圖像轉換為float。和OpenCV中的sift提取的對比結果如下:

vlfeat提取的特征點是用綠色畫出來的,共有1961個特征點。

OpenCV的是藍色,有4617個特征點。

Summary

幾年前寫過一篇關于SIFT的文章,SIFT特征詳解 當時多是從理論上。現在在做圖像檢索的時候,發現還是有很多東西理解的不是很清晰,比如:關鍵點的多個方向,不穩定極值點的剔除以及梯度方向直方圖計算等等。

正在做一個圖像檢索的項目,陸續將項目的中學到一些知識總結下來,下一篇是關于均值聚類的,對提取到的圖像特征進行聚類生成視覺特征(Visul Feature)

到此這篇關于圖像檢索之基于vlfeat實現SIFT的文章就介紹到這了,更多相關圖像檢索vlfeat內容請搜索好二三四以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好二三四!

文檔

圖像檢索之基于vlfeat實現SIFT特征

SIFT特征的講解已經很多了,本文就借助vlfeat對SIFT特征的提取過程做一個總結。接下來通過本文給大家介紹圖像檢索之基于vlfeat實現SIFT,感興趣的朋友跟隨小編一起看看吧。
推薦度:
為你推薦
資訊專欄
熱門視頻
相關推薦
python繪圖中的四個繪圖技巧 js中toString方法3個作用 描寫春天花朵的詩句 關于思念的詩句 帶馬字的詩句 牡丹花的詩句 想念的詩句 含雁的詩句 愁的詩句 珍惜時間的名言 清明節的諺語 關于清明的諺語 清明的諺語 冒泡排序算法 選擇排序算法 插入排序算法 希爾排序算法 歸并排序算法 快速排序算法 堆排序算法 Python按鍵或值對字典進行排序 提升Python運行速度的5個小技巧 學習python的while循環嵌套 分享15個超級好用得Python實用技巧 Python實現消消樂小游戲 python實現新年倒計時實例代碼 詳解python的循環 基于Python實現PDF區域文本提取工具 Python數據分析處理(三)--運動員信息的分組與聚合 Python實現城市公交網絡分析與可視化 Python 垃圾回收機制詳解 關于樹的詩句 緬懷親人的詩句 春暖花開的詩句 家國情懷的詩句 含有星字的詩句 用來贊美老師的詩句 看破紅塵的經典詩句 長江的詩句 關于傳統節日的詩句
Top 亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡
<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 伊人久久久大香线蕉综合直播| 久久av一区二区三区| 国产精品久久一卡二卡| 蜜桃伊人久久| 欧美在线看片| 亚洲免费视频网站| 日韩香蕉视频| 亚洲区一区二区三区| 激情自拍一区| 国产亚洲精品bt天堂精选| 国产精品二区二区三区| 欧美精品日韩一区| 欧美精品福利视频| 欧美大尺度在线观看| 麻豆精品视频在线观看| 久久综合伊人77777| 久久精品亚洲一区| 久久国产日韩欧美| 久久精品道一区二区三区| 欧美一区二区在线免费观看| 亚洲免费视频成人| 午夜久久资源| 久久黄色小说| 久久综合狠狠综合久久激情| 久久婷婷久久| 欧美sm视频| 欧美剧在线免费观看网站| 欧美区高清在线| 国产精品99免费看| 国产精品人人做人人爽人人添| 国产精品久久久久99| 国产精品一区二区久久久| 国产午夜精品视频| 在线视频成人| av成人免费在线| 亚洲欧美另类在线观看| 久久av一区二区三区漫画| 久久夜色精品国产噜噜av| 欧美成人网在线| 欧美天堂在线观看| 国产午夜精品美女视频明星a级| 狠狠爱综合网| 亚洲另类视频| 欧美淫片网站| 欧美不卡激情三级在线观看| 国产精品成av人在线视午夜片| 国产精品一二三四| 亚洲国产精品久久精品怡红院| 99v久久综合狠狠综合久久| 亚洲欧美国产毛片在线| 久久综合给合久久狠狠狠97色69| 欧美日本免费一区二区三区| 国产精品综合不卡av| 亚洲风情在线资源站| 在线综合亚洲| 久久综合激情| 国产伦精品一区二区三区四区免费| 国产专区欧美精品| 亚洲一区二区日本| 免播放器亚洲| 国产色爱av资源综合区| 亚洲精品影视| 久久一日本道色综合久久| 国产精品国产自产拍高清av王其 | 欧美成人精品在线播放| 国产精品天天看| 亚洲精品黄色| 久久裸体视频| 国产日韩欧美在线播放不卡| 亚洲日本在线视频观看| 久久久久久久久久看片| 国产精品毛片| 一本色道久久综合狠狠躁篇的优点| 久久精品一本久久99精品| 国产精品久久久久久久久免费| 91久久在线播放| 久久米奇亚洲| 狠狠久久婷婷| 久久精品理论片| 国产精品一区二区男女羞羞无遮挡| 日韩亚洲欧美成人一区| 欧美成年人视频网站欧美| 韩国av一区二区三区| 午夜欧美不卡精品aaaaa| 国产精品videosex极品| 夜夜嗨av一区二区三区网站四季av| 久久综合伊人77777尤物| 国语自产精品视频在线看8查询8| 午夜一级在线看亚洲| 国产精品自拍视频| 欧美亚洲一区| 国内精品99| 另类成人小视频在线| 激情综合五月天| 裸体一区二区三区| 亚洲国产精品va在看黑人| 另类图片综合电影| 最新国产乱人伦偷精品免费网站| 久久综合给合| 日韩视频在线观看一区二区| 欧美理论电影在线观看| 99视频精品免费观看| 欧美日韩性生活视频| 亚洲欧美成人在线| 国内精品**久久毛片app| 久久躁日日躁aaaaxxxx| 亚洲激情图片小说视频| 欧美美女视频| 午夜精品一区二区三区在线| 国产一区二区三区久久悠悠色av| 久久精品日产第一区二区三区 | 久久青青草综合| 亚洲国产精品一区二区www在线 | 欧美日韩在线视频首页| 亚洲午夜av在线| 国产一级一区二区| 欧美sm极限捆绑bd| 亚洲一区www| 伊人春色精品| 欧美午夜精品理论片a级按摩 | 久久久免费精品| 亚洲精品一二三| 国产美女一区| 欧美劲爆第一页| 欧美中文字幕视频| 日韩亚洲欧美精品| 在线电影国产精品| 国产精品网曝门| 欧美精品一区二区三区在线播放 | 欧美大片一区二区| 性亚洲最疯狂xxxx高清| 亚洲精品永久免费| 伊人狠狠色丁香综合尤物| 国产精品va| 欧美成人免费网| 久久精品一区二区三区不卡牛牛| 国产欧美日韩精品丝袜高跟鞋| 欧美激情一区二区三区在线| 久久久精品一区二区三区| 制服丝袜亚洲播放| 亚洲清纯自拍| 在线高清一区| 含羞草久久爱69一区| 国产精品久久久久免费a∨| 久久精品论坛| 亚洲影视中文字幕| 日韩图片一区| 伊人色综合久久天天五月婷| 国产精品一区二区视频| 欧美三级午夜理伦三级中视频| 麻豆国产va免费精品高清在线| 午夜精品久久久久久久久| 一区二区久久| 一本色道精品久久一区二区三区| 亚洲国产乱码最新视频| 狠狠噜噜久久| 伊人久久大香线蕉综合热线 | 久久精品日产第一区二区| 亚洲一区二三| 亚洲欧美日本另类| 午夜精品福利在线观看| 亚洲在线网站| 亚洲综合成人婷婷小说| 亚洲男人的天堂在线| 亚洲欧美色婷婷| 欧美一区二区精品在线| 午夜欧美精品久久久久久久| 先锋a资源在线看亚洲| 亚洲欧美日韩综合| 久久不射中文字幕| 久久久91精品国产一区二区三区 | 999亚洲国产精| 一区二区黄色| 亚洲欧美日韩天堂| 久久久久九九视频| 欧美电影在线播放| 欧美色视频在线| 亚洲天堂网在线观看| 最新国产成人av网站网址麻豆| 亚洲丁香婷深爱综合| 亚洲国产黄色| 一本色道久久综合亚洲精品不| 亚洲天堂网站在线观看视频| 午夜精品福利视频| 久久综合色影院| 欧美日韩精品一本二本三本| 国产精品日日做人人爱| 国产一区二区激情| 亚洲韩国青草视频| 亚洲午夜视频在线| 久久亚洲欧美国产精品乐播| 欧美精品入口| 国产日韩欧美一区| 亚洲免费电影在线| 欧美制服丝袜| 欧美色图天堂网| 一区二区在线不卡| 亚洲精品少妇| 欧美在线播放视频| 欧美激情一区二区三区不卡|