1. 程式人生 > >影象特徵與描述(2)

影象特徵與描述(2)

影象特徵與描述(2)

引言

筆記總結。

1、Haar-like特徵的快速計算: 積分圖

  • Haar-like特徵分為: 邊緣特徵、 線性特徵、中心特徵和對角線特徵, 這些特徵組合成特徵模板。
  • 特徵模板內有白色和黑色兩種矩形, 並定義該模板的特徵值為白色矩形畫素和減去黑色矩形畫素和。
  • Haar特徵值反映了影象的灰度變化情況。

2、區域性特徵: SURF

  • S U R F S p
    e e d e d U p R o
    b u s t F e a t u r e s SURF(Speeded-Up Robust Features )
    運算元是 H e r b e r t B a y Herbert Bay 等人在2006年提出的, 它是對SIFT的改進, 可將速度提高3倍。
  • S U R F SURF 主要是把 S I F T SIFT 中的某些運算作了簡化。
    • S U R F SURF S I F T SIFT 中的高斯二階微分的模板進行了簡化, 使得卷積平滑操作僅需要轉換成加減運算。
    • 在方向確定階段, 在圓形區域計算 x y x, y 方向的 h a a r haar 小波響應, 找到模最大的扇形方向。
  • 為了找出影象中的特徵點, 需要對原圖進行變換, 變換圖就是原圖每個畫素的Hessian矩陣行列式的近似值構成的。
  • H e s s i a n Hessian 時要先高斯平滑, 然後求二階導數,這對於離散的畫素點而言, 是用模板卷積形成的, 這兩種操作合在一起用一個 H a a r Haar 模板代替就可以了.
  • 為了保證旋轉不變性, 在SURF中, 統計特徵點領域內的Haar小波特徵。
  • 即以特徵點為中心, 計算半徑為6s(s為特徵點所在的尺度值)的鄰域內, 統計60度扇形內所有點在x(水平)和y(垂直)方向的Haar小波響應總和。
  • 然後60度扇形以一定間隔進行旋轉, 最後將最大值那個扇形的方向作為該特徵點的主方向。

3、ORB特徵描述

SIFT與SURF計算複雜, 難以用於實時性特徵檢測, 更何況SIFT與SURF以前還是收費的……ORB特徵基於FAST角點的特徵點檢測與BRIEF特徵描述技術。FAST核心思想就是找出那些卓爾不群的點,即拿一個點跟它周圍的點比較,如果它和其中大部分的點都不一樣就可以認為它是一個特徵點。

ORB的基本思路:

  • 它是對FAST角點與BRIEF特徵描述子的一種結合與改進。
  • FAST角點檢測的缺點是:
    • 缺乏尺度不變性的;
    • 可以通過構建高斯金字塔, 然後在每一層金字塔影象上檢測角點, 來實現尺度不變性;
  • BRIEF的缺點是
    • 缺乏旋轉不變性的;
    • 需要給BRIEF加上旋轉不變性。

4、BRIEF

BRIEF演算法的核心思想是在關鍵點P的周圍以一定模式選取N個點對,把這N個點對的比較結果組合起來作為描述子。 BRIEF需要先平滑影象, 然後在特徵點周圍選擇一個Patch, 在這個Patch內通過一種選定的方法來挑選出來 n d n_d 個點對。 比較點對中兩點畫素的大小, 進行如下賦值.具體來講分為以下幾步。
1.以關鍵點P為圓心,以d為半徑做圓O。
2.在圓O內某一模式選取N個點對。這裡為方便說明,N=4,實際應用中N可以取512.
假設當前選取的4個點對如上圖所示分別標記為: P 1 ( A , B ) P 2 ( A , B ) P 3 ( A , B ) P 4 ( A , B ) P_1(A,B)、 P_2(A,B)、 P_3(A,B)、 P_4(A,B) 3.定義操作 τ \tau τ ( p ; x , y ) = { 1   if p(x)<p(y) 0   otherwise \tau (p;x,y)= -\begin{cases} 1& \text{ \quad if p(x)<p(y)}\\ 0& \text{ \quad otherwise} \end{cases} 4.分別對已選取的點對進行 τ \tau 操作,將得到的結果進行組合。
假如: τ ( P 1 ( A , B ) ) = 1 \tau(P_1(A,B)) =1 τ ( P 2 ( A , B ) ) = 0 \tau(P_2(A,B)) =0 τ ( P 3 ( A , B ) ) = 1 \tau(P_3(A,B)) =1 τ ( P 4 ( A , B ) ) = 1 \tau(P_4(A,B)) =1 則最終的描述子為: 1011 1011

  • 所有nd個點對, 都進行比較之間, 我們就生成了一個nd長的二進位制串。
  • 點對的生成方式(共有5種)
    • 1、 X和Y都服從在 [ S / 2 S / 2 ] [-S/2,S/2] 範圍內的均勻分佈,且相互獨立;
    • 2、 X和Y都服從均值為0, 方差為 S 2 / 25 S^2/25 的高斯分 布, 且相互獨立, 即 X X Y Y 都以原點為中心, 進行同方差的高斯分佈;

5、ORB對BRIEF的改進

  • ORB在計算BRIEF描述子時建立的座標系是以關鍵點為圓心, 以關鍵點和取點區域的形心(圓形) 的連線為X軸建立座標系。
  • 計算形心時, 圓形區域上每個點的“質量” 是其對應的畫素值。

在左圖中, P P 為關鍵點。圓內為取點區域,每個小格子代表一個畫素。現在我們把這塊圓心區域看做一塊木板,木板上每個點的質量等於其對應的畫素值。根據積分學的知識我們可以求出這個密度不均勻木板的質心 Q Q 。計算公式如下。其中 R R 為圓的半徑。 M 00 = X = R R Y = R R I ( x , y ) M_{00}=\sum_{X=-R }^{R}\sum_{Y=-R }^{R} I(x,y)
M 10 = X = R R Y = R R x I ( x , y ) M_{10}=\sum_{X=-R }^{R}\sum_{Y=-R }^{R}x I(x,y)
M 01 = X = R R Y = R R y I ( x , y ) M_{01}=\sum_{X=-R }^{R}\sum_{Y=-R }^{R}y I(x,y)
Q x = M 10 M 00   , Q y = M 01 M 00 Q_x=\frac{M_{10}}{M_{00}}\, , \quad Q_y=\frac{M_{01}}{M_{00}}

相關推薦

影象特徵描述2

影象特徵與描述(2) 引言 1、Haar-like特徵的快速計算: 積分圖 2、區域性特徵: SURF 3、ORB特徵描述 4、BRIEF 5、ORB對BRIEF的改進 6、其他特徵提取-LBP 7、其他特徵提

第二章 程序的描述控制2

2.4經典同步問題 一、生產者——消費者問題(互斥、同步) 生產者與生產者,消費者與消費者之間是互斥的關係。生產者與消費者之間是順序關係。 設定訊號量empty,full以及互斥訊號量mutex設初值為1。 (1)兩個生產者同時的情況: producer : int in=0

資料結構演算法分析-Java描述2-插入排序

插入排序有兩種演算法:直接插入排序和希爾排序 直接插入排序  原理:插入即表示將一個新的資料插入到一個有序陣列中,並繼續保持有序。 該排序演算法的外部迴圈為遍歷全部元素,內部迴圈為遍歷當前外部迴圈記錄元素的前面所有數字。 public static void inse

目標檢測的影象特徵提取之OpenCV中BLOB特徵提取幾何形狀分類

OpenCV中BLOB特徵提取與幾何形狀分類一:方法二值影象幾何形狀提取與分離,是機器視覺中重點之一,在CT影象分析與機器人視覺感知等領域應用廣泛,OpenCV中提供了一個對二值影象幾何特徵描述與分析最有效的工具 - SimpleBlobDetector類,使用它可以實現對二

眼底影象血管增強分割--2Gabor濾波演算法原理及實現

Gabor濾波演算法 維基裡給出的解釋,“In image processing, aGabor filter is a linear filter used fortextureanalysis,

深度影象檢測演算法總結對比2

2. SPP-Net : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)  傳統CNN和SPP-Net流程對比如下圖所示(引自http://www.image-net.org/challe

斷點 相關技術原理2

def pan 保存 ollydbg php class 工具 code http 繼續對OD的斷點技術做個筆記。 1、硬件斷點: Intel CPU中有8個調試寄存器(Debug Register)DR0 — DR7,當中DR0 — DR3用於設置硬件斷點地址,D

形態學濾波:1腐蝕膨脹 2開運算,閉運算,形態學梯度,頂帽,黑帽

來講 極小值 -h 明顯 基本 極限 元素 腐蝕 黑帽 一、形態學概述   圖像處理中的形態學一般指的是數學形態學。   數學形態學是一門建立在格論和拓撲學基礎之上的圖像分析學科,是數學形態學圖像處理的基本理論。其基本運算包括:二值腐蝕和膨脹,二值開閉運算,骨架抽取,極限腐

SQL Server橫向擴展:設計,實現維護2- 分布式分區視圖

做的 img attach one 遠程 cnblogs ole out 不同的 為了使得朋友們對分布式分區視圖有個概念,也為了方便後面的內容展開,我們先看看下面一個圖: 講述分布式分區視圖之前,很有必要將之與我們常常熟悉的分區表和索引

Python全棧開發之路 【第八篇】:面向對象編程設計開發2

ssi pen 解析 執行 示例 動態 類型 put 所有 一、繼承與派生 什麽是繼承? 繼承指的是類與類之間的關系,是一種什麽是什麽的關系,繼承的功能之一就是用來解決代碼重用問題。 繼承是一種創建新的類的方式,在python中,新建的類可以繼承一個或多個父類,父類又可以成

程式語言的底層描述2——棧指標esp和幀指標ebp

程式語言的底層描述(2)——棧指標esp和幀指標ebp 2014年10月11日 17:43:57 coreyspomu 閱讀數:3062更多 個人分類: 資訊標識和處理 本節我們重點討論棧指標esp和幀指標ebp,圍繞這兩個重要的暫存器,推匯出函式棧幀結構。

資料結構演算法2—— 棧java

1 棧的實現 1.1 簡單陣列實現棧 package mystack; public class ArrayStack { private int top; //當前棧頂元素的下標 private int[] array; public ArraySt

scala筆記-條件控制迴圈2

if表示式 ·if表示式的定義:在Scala中,if表示式是有值的,就是if或者else中最後一行語句返回的值。 ·例如,val age = 30; if (age > 18) 1 else 0 ·可以將if表示式賦予一個變數,例如,val isAdult = if (ag

資料結構——排序查詢2——希爾排序C++實現

希爾排序原理 希爾排序(Shell’s Sort),也稱為“縮小增量排序”,是一種插入排序類的演算法。最簡單的插入排序,我在上一個專欄的一篇文章C++抽象程式設計——演算法分析(8)——插入排序演算法與分析有提到過,這裡就不再贅述,這裡就只介紹一些我以前沒寫過的演算法。 希爾排序是一

3D引擎資料結構glTF2: Scene Graph

圖形學中的 Scene Graph Scene Graph 中文常翻譯為“場景圖”,是一種常用的場景物件組織方式。我們把場景中的物件,按照一定的規則(通常是空間關係)組織成一棵樹,樹上的每個節點代表場景中的一個物件。每個節點都可以有零到多個子節點,但只有一個父節點。 每個節點都包含一

從互聯網+角度看雲計算的現狀未來2

大數據平臺 堅強 隱藏 用戶管理 圖像識別 都是 人工智能 大致 統計數據 此文已由作者劉超授權網易雲社區發布。歡迎訪問網易雲社區,了解更多網易技術產品運營經驗。六、業務架構趨勢一:互聯網沖擊已成必然,快速變更成為核心競爭力,DevOps重構組織架構,流程,文化是必然選擇在

Robot Framework - 入門操作2

04- 建立測試庫--基礎概念 Robot Framework 實際的測試能力是由測試庫提供的。 ***** 支援的程式語言 Robot Framework 自身是用 Python 編寫的,能使用 Python 擴充套件測試庫。 如果在 Jython 執行Robot Frame

影象處理——OpenCV】2

目錄 1、測試程式碼 2、報錯如下 3、報錯原因 4、解決方法 1、測試程式碼 #include <iostream> #include "stdafx.h" #include <opencv2/core/core.hpp> #include <

二叉樹遍歷演算法重構2

上一篇(https://blog.csdn.net/To_be_to_thought/article/details/84668630)介紹了二叉樹的性質和常用的相關的遞迴、非遞迴演算法,這一篇想接著寫從二叉樹的遍歷結果重構一棵樹,主要是重構的過程思路。 1.中序遍歷和先根遍歷結果重構二叉樹演算

Android AIDL最簡單易懂的使用解析2

在上篇文章 Android AIDL最簡單易懂的使用與解析(1)中,我們學會了如何編寫一個簡單的 AIDL 來進行跨程序通訊,本著知其然更要知其所以然的道理,在這一篇中我們就來具體看看 AIDL幫我們生成了一套基於 Binder 的怎樣的介面吧~ 我們先來看看testAID