什麼BRIEF演算法?BRIEF演算法詳解
BRIEF是一種特徵描述子提取演算法,並非特徵點的提取演算法,一種生成二值化描述子的演算法,不提取代價低,匹配只需要使用簡單的漢明距離(Hamming Distance)利用位元之間的異或操作就可以完成。因此,時間代價低,空間代價低,效果還挺好是最大的優點。
演算法的步驟介紹如下:
1. 影像濾波:原始影像中存在噪聲時,會對結果產生影響,所以需要對影像進行濾波,去除部分噪聲。
2. 選取點對:以特徵點為中心,取S*S的鄰域視窗,在視窗內隨機選取N組點對,一般N=128,256,512,預設是256,關於如何選取隨機點對,提供了五種形式,結果如下圖所示:
·x,y方向平均分佈取樣
·x,y均服從Gauss(0,S^2/25)各向同性取樣
·x服從Gauss(0,S^2/25),y服從Gauss(0,S^2/100)取樣
·x,y從網格中隨機獲取
·x一直在(0,0),y從網格中隨機選取
圖中一條線段的兩個端點就是一組點對,其中第二種方法的結果比較好。
3. 構建描述符:假設x,y是某個點對的兩個端點,p(x),p(y)是兩點對應的畫素值,則有:
對每一個點對都進行上述的二進位制賦值,形成BRIEF的關鍵點的描述特徵向量,該向量一般為 128-512 位的字串,其中僅包含 1 和 0,如下圖所示:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2784408/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dis ip int brief命令的作用是什麼?
- a brief history of AI: reign of chaosAI
- A Brief Introduce of Database Index(索引簡介)DatabaseIndex索引
- A Brief Look at C++ 中文版 (轉)C++
- Brief description of Oracle physical standby database configuration and managementOracleDatabase
- Brief description of Oracle physical standby database configuration and managemeOracleDatabase
- Python3.4 Tutorial10 - Brief Tour of the Standard LibraryPython
- RMAN全庫【完全恢復/不完全恢復brief version】
- Python3.4 Tutorial11 - Brief Tour of the Standard Library – Part IIPython
- 【轉】什麼是一致性hash演算法?(詳解)演算法
- MT6763T datasheet(Brief),MT6763T晶片規格書資料晶片
- 詳解BitMap演算法演算法
- BitMap演算法詳解演算法
- Manacher演算法詳解演算法
- KMP演算法詳解KMP演算法
- CTC演算法詳解演算法
- RSA演算法詳解演算法
- 為什麼 Vue 中不要用 index 作為 key?(diff 演算法詳解)VueIndex演算法
- 尋路演算法之A*演算法詳解演算法
- 什麼是演算法演算法
- Kd Tree演算法詳解演算法
- Crypto演算法庫詳解演算法
- 演算法 | 快速排序詳解演算法排序
- HOG特徵演算法詳解HOG特徵演算法
- 谷歌PageRank演算法詳解谷歌演算法
- 歸併演算法詳解演算法
- 什麼是 LRU 演算法?演算法
- 什麼是 LFU 演算法?演算法
- 解讀:什麼是Java的遞迴演算法?Java遞迴演算法
- 什麼是雜湊演算法?雜湊競猜遊戲開發原理詳解演算法遊戲開發
- 什麼是演算法?如何學習演算法?演算法入門演算法
- 字串匹配演算法(二)-BM演算法詳解字串匹配演算法
- 有趣的演算法世界---什麼是演算法 (轉)演算法
- 什麼是演算法?一切皆演算法演算法
- 詳解vue的diff演算法Vue演算法
- Paxos共識演算法詳解演算法
- MD5演算法詳解演算法
- Raft共識演算法詳解Raft演算法