1. 程式人生 > >關於Sift演算法中尺度空間的通俗理解

關於Sift演算法中尺度空間的通俗理解

      最近也注意一些影象拼接方面的文章,很多很多,尤其是全景圖拼接的,實際上類似佳能相機附加的軟體,好多具備全景圖拼接,多幅影象自動軟體實現拼接,構成(合成)一幅全景影象(風景)。
Sift演算法,我略知一二,無法仔細描述(剛也貼了2個最近的資料)。
      當就尺度空間(scale space),我想,其在計算機視覺(Computer Vision)\影象的多解析度分析(尤其近年來小波的多解析度分析)是常見的概念。
人 類視覺捕捉景物的時候,先粗略(rough),後細節(fine)的習慣,被研究影象視覺的採用。2點取樣使用的情況,則整體影象被不斷的1/2邊長劃 分,不同的影象(矩陣)構成了不同解析度的尺度空間(我們理解為不同層面的矩陣),尺度,Scale,這裡就代表不同的空間比例。

       我注意到David Lowe關於Sfit演算法,2004年發表在Int. Journal of Computer Vision的經典論文中,對尺度空間(scal space)是這樣定義的 :
   It has been shown by Koenderink (1984) and Lindeberg (1994) that under a variety of
reasonable assumptions the only possible scale-space kernel is the Gaussian function. Therefore,
the scale space of an image is defined as a function, L(x; y; delta) that is produced from the convolution of a variable-scale Gaussian, G(x; y; delta), with an input image, I(x; y):

因此 ,一個影象的尺度空間,L(x,y,delta) ,定義為原始影象I (x,y)與一個可變尺度的2維高斯函式G(x,y,delta) 卷積運算。

    關於圖象處理中的空間域卷積運算,可以參考經典的影象處理教材(比如 美國 岡薩雷斯的圖象處理,第二版,或者其 Matlab版,都有如何在離散空間進行運算的例子和說明)

    注:原文中 delta為希臘字母,這裡無法表示,用delta代替。

Sift演算法中,提到了尺度空間,請問什麼是尺度和尺度空間呢?

   在上述理解的基礎上,尺度 就是受delta這個引數控制的表示 。
而不同的L(x,y,delta)就構成了尺度空間( Space ,我理解,由於描述影象的時候,一般用連續函式比較好描述公式,所以,採用空間集合 ,空間的概念正規一些) ,實際上,具體計算的時候,即使連續的高斯函式,都要被離散為(一般為奇數大小)(2*k+1) *(2*k+1)矩陣,來和數字影象進行卷積運算。

相關推薦

關於Sift演算法尺度空間通俗理解

      最近也注意一些影象拼接方面的文章,很多很多,尤其是全景圖拼接的,實際上類似佳能相機附加的軟體,好多具備全景圖拼接,多幅影象自動軟體實現拼接,構成(合成)一幅全景影象(風景)。 Sift演算法,我略知一二,無法仔細描述(剛也貼了2個最近的資料)。       當就尺度空間(scale space)

sift尺度空間理解以及計算

為了保持尺度不變的特性,作者構建高斯金字塔及差分金字塔的方法來取得極值點。 但是其中的尺度的計算有點不太理解,看了原始碼和網路上的分析後做個筆記 class CV_EXPORTS_W SI

BoostingAdaboost的通俗理解

今天知乎上被私信說我對Adaboost的通俗解釋很好理解,那我就把當初的答案貼下來,做個記錄吧,該理解沒有任何數學公式 要看數學公式的推薦每個做統計演算法和機器學習的人都會看的: 李航統計學習方法的Adaboost那一章節,完整,易懂! 我對Boosting和Adaboost的理解是:

演算法的大O理解

在描述演算法複雜度時,經常用到o(1), o(n), o(logn), o(nlogn)來表示對應演算法的時間複雜度, 這裡進行歸納一下它們代表的含義: 這是演算法的時空複雜度的表示。不僅僅用於表示時間複雜度,也用於表示空間複雜度。 O後面的括號中有一個函式,指明某個演算法的耗時/耗空間與資料增長量

字串匹配——KMP演算法的next陣列理解

關於原理就不講了,只說下我對Next陣列的理解,希望可以讓你獲得靈光一閃。 其實最難的就是是j=Next[j];這麼一句話,當時思考了很長時間,終於明白的時候確實很興奮加得意。 #include<cstdio> #include<cstring> v

通俗理解決策樹演算法資訊增益的

通俗理解決策樹演算法中的資訊增益 在決策樹演算法的學習過程中,資訊增益是特徵選擇的一個重要指標,它定義為一個特徵能夠為分類系統帶來多少資訊,帶來的資訊越多,說明該特徵越重要,相應的資訊增益也就越大。 1、概念 我們前面說了,資訊熵是代表隨機變數的複雜度(不確定度)通

SIFT演算法MATLAB實現----尺度空間構造

       和大家一樣,初學sift演算法時的那種困惑讓人身心疲憊,寢室難安;本著救廣大同胞於水火之中的“大義”,從而產生啦寫這篇文章的想法;哈哈。 文章不免有錯誤,歡迎大家批評指正,共同學習。 正文: 關於特徵點提取,一直是計算機視覺的重

SIFT演算法理解,尤其是尺度不變性

SIFT演算法四大塊 1,尺度空間的建立,最難理解的部分,這一步是為了找到極值點的潛在位置 2,極值點精確定位,通過曲線擬合找到極值點的確切位置 3,分配主方向,為特徵點賦予一個方向標誌,固定生成描述子所用到的領域資訊 4,生成描述子,用特徵點周圍的畫素的梯度刻畫這個描述子

SIFT生成DOG尺度空間

目錄: 1、高斯尺度空間(GSS - Gauss Scale Space) 2、高斯差分(DOG - Difference of Gauss)   2.1 生產DoG   2.2 為什麼用DoG來檢測特徵點 3、GSS尺度選擇   3.1 GSS中尺度值的產生

SIFT描述子理論為什麼要討論尺度空間理論??

要知道什麼是尺度空間,scale space。 不同大小的物體有著不同的尺度,這個scale的表示,可以用放大縮小表示,可以用高斯blur來模擬。如果不同的尺度下都有同樣的關鍵點,那麼在不同的尺度的輸入影象下就都可以檢測出來關鍵點匹配了。

通俗理解Hilbert希爾伯特空間

著作權 以及 坐標 範數 如何 有效 answer 線段 度量 作者:qang pan 鏈接:https://www.zhihu.com/question/19967778/answer/28403912 來源:知乎 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載

關於MySQL的自聯結的通俗理解

新的 最好的 數據庫管理系統 解釋 manage get customers targe 兩張 關於MySQL中的自聯結的通俗理解 前言:最近在通過SQL必知必會這本書學習MySQL的基本使用,在學習中也或多或少遇到了點問題,我也正好分享給大家,我的這篇博客用到的所有案

通俗理解卡爾曼濾波及其演算法實現(帶例項解析)

1.簡介(Brief Introduction) 在學習卡爾曼濾波器之前,首先看看為什麼叫“卡爾曼”。跟其他著名的理論(例如傅立葉變換,泰勒級數等等)一樣,卡爾曼也是一個人的名字,而跟他們不同的是,他是個現代人! 卡爾曼全名Rudolf Emil Kalman,匈牙利數學家,1930年出生於

SIFT原理與原始碼分析:DoG尺度空間構造

《SIFT原理與原始碼分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548 尺度空間理論   自然界中的物體隨著觀測尺度不同有不同的表現形態。例如我們形容建築物用“米”,觀測分子、原子等用“納米”。

演算法 時間和空間複雜度的簡單理解小述

一、概述 本節主要簡單分析下演算法的時間、空間複雜度,並不會涉及公式的推倒,主要以能用能理解為主,因為我自己也是一個門外漢,想深入的總結也是心有餘而力不足。 二、分析 當一個問題的演算法被確定以後,那麼接下來最重要的當然是評估一下該演算法使用的時間和佔用記憶體資源的相關問題了

通俗理解神經網路BP反向傳播演算法

轉載自  ​通俗理解神經網路BP反向傳播演算法 通俗理解神經網路BP反向傳播演算法 在學習深度學習相關知識,無疑都是從神經網路開始入手,在神經網路對引數的學習演算法bp演算法,接觸了很多次,每一次查詢資料學習,都有著似懂非懂的感覺,這次趁著思路比較清楚,也為了能夠讓一些像

常用排序演算法的時間複雜度和空間複雜度

排序法 最差時間分析 平均時間複雜度 穩定度 空間複雜度 氣泡排序 O(n2) O(n2) 穩定 O(1) 快速排序 O(n2) O(n*log2n) 不穩定 O(log2n)~O(n) 選擇排序 O(n2) O(n2) 不穩定

隱馬爾科夫模型(HMM)與維特比(Viterbi)演算法通俗理解

隱馬爾科夫模型:https://blog.csdn.net/stdcoutzyx/article/details/8522078 維特比演算法:https://blog.csdn.net/athemeroy/article/details/79339546 隱含馬爾可夫模型並不是俄

pandas的stack,unstack和numpy,stack,hstack,vstack通俗理解

在網上看上很多關於numpy中stack的複雜解釋,其實他的實際含義和用法很簡單,被人理解複雜了,當然,我們先看pandas中的stack,unstack的用法: 1,在我們常見的資料層次化結構分為兩種,一種是花括號(一維資料),一種是表格(二維度資料),這個參考瞭如下網址https://w

通俗理解快排演算法

快排是一種排序演算法,是冒泡演算法的一個優化。 快排的思想也比較簡單,對於一個數據長度大於1的陣列,隨機找出其中一個元素來作為基準元素,然後再遍歷一遍該陣列,同時將每個元素與基準元素進行比較,如果某元素的值大於基準元素則把該元素放在基準元素的右邊,反之如果某元素的值小於基準元素則把該元素放在