訓練模型 LBP演算法

2021-09-19 13:20:06 字數 2544 閱讀 9581

lbp指區域性二值模式,英文全稱:local binary patterns。最初功能為輔助影象區域性對比度,並不是乙個完整的特徵描述子。

中文名線性反投影演算法

外文名local binary patterns

簡    稱

lbp別    名

累加法屬    性

區域性二值模式

1 數字影象處理

2 介紹

3 演算法

4 符號

編輯在數字影象處理和模式識別領域,

後來提公升為一種有效的紋理描述運算元,度量和提取影象區域性的紋理資訊,對光照具有不變性。lbp有很多變種,或說改進。單純的lbp記錄畫素點與其周圍畫素點的對比資訊,或說差異。從圖1我們看到,最左邊的是原圖,標號為example。我們要檢測某個畫素點的某些資訊,在圖1中,對於9個方格中中間方格(方格中的數字是畫素點灰度值大小),做乙個閾值化處理。大於等於中心點畫素的,則標記為1,小於的則標記為0。最後將中心畫素點周圍的11110001二進位制數化為十進位制數,得到lbp值。

二進位制數11110001的順序並無硬性要求,只要在同一處理中保持相同的順序即可。

lbp運算元可以取多個周圍畫素點和取樣半徑。

但是這樣的lbp描述特徵能力有限,且不具備旋轉不變性。很容易想象,如果進行了旋轉,則lbp值也會隨之改變。因此有了下面的改進。

將lbp周圍的二進位製碼(如11110001)按位旋轉,取二進位製碼最小的值。對於11110001情況,我們按位旋轉,得到11100011,11000111,10001111,0001111,00111110,01111100,11111000七個不同的二進位制數,最小值為00011111,則取該種模式(pattern)為最終lbp。這又稱為lbprot,或寫為lbpp,r ri。

對於取樣半徑為1,周圍畫素點數為8的情況,lbprot運算元(即具有旋轉不變性的lbp模式)總共有36個。

但是對於lbprot來說,其實驗結果並不好。不能提供很好的解析度。

在以上的基礎上,又有了uniform lbp的出現。

所謂uniform lbp,指在lbp二進位制數中,0到1和1到0的跳變總數不超過兩次。如00000000和11111111,並沒有0,1跳變,u=0。對於11110000和00001111,則有一次跳變,u=1。對於uniform lbp來說,具備旋轉不變性的pattern只有9個,如圖3lbprot中第一排標號為0-8的pattern。因此,最終結果為統計uniform lbp pattern的直方圖,把所謂的nonuniform放入直方圖的另乙個bin中,得到最終的特徵向量。

uniform lbp在區域性紋理描述上取得了較好的描述效果,原因在於,uniform lbp 的各種模式佔據了影象中所有模式的絕大部分。不同取樣半徑和周圍畫素點個數會不同,但uniform lbp佔據了所有模式的50%~95%。

lbp還有很多變種,如clbp,lbphf等等。有興趣的讀者可以閱讀相關文獻 [1-2] 。

lbp已經成功應用於人臉檢測,唇語識別,表情檢測,動態紋理等等領域。其演算法複雜度低,消耗記憶體小,原理簡單,但並不一定適合所有的特徵描述。

編輯線性反投影演算法(linear back projection,簡稱 lbp)又稱累加法,是最早使用的一種簡單(ect影象重建)成像演算法。它將通過某點的所有投影射線進行累加,再反向估算出該點的密度值。從成像觀點分析,它是不完全的雷登逆變換(完整的雷登逆變換包括微分、希爾伯特變換、反投影和歸一化等步驟)。

編輯對於 ect 技術,假設被測介質變化對靈敏場的影響可以忽略,若被成像的兩相介質分別為 a 相和 b 相,介電常數分別為 ε a和 ε b,且 ε a < εb,則重建影象中第 k 個畫素的灰度

其中, ce i ,j、 ci f,j分別為管中充滿 a 相和 b 相時的電容,mci ,j為管中同時存在 a 相和 b 相介質時的電容。線性反投影的數學解釋為:假設s是介電常數向量空間到電容向量空間的對映,則 st 可視為電容向量空間到介電常數空間的對映,由於 s- 1不存在,用 st 取代 s-1 ,則線性反投影的矩陣形式為

由於線性反投影只是一種定性的演算法,研究者在此基礎上提出了迭代反投影演算法。其計算步驟如下:

1) 基於均質靈敏度資訊,利用線性反投影演算法獲得初始影象;

2) 利用已獲得的介電常數分布,求解正問題,得到一組**電容值,將該值與測量電容值進行比較,若誤差已達到滿意值,演算法結束,否則進行下步;

3) 修正靈敏度資訊;

4) 根據上步已經修正後的靈敏度資訊,利用測量電壓重新進行線性反投影;返回第二步,並進行迴圈迭代,直到獲得滿意的結果為止,迭代結束。

使用opencv訓練LBP識別模型

import cv2 import os import numpy as np def detect face img gray cv2.cvtcolor img,cv2.color bgr2gray face cascade cv2.cascadeclassifier haarcascade fr...

LBP演算法分析

lbp是一種簡單,有效的紋理分類的特徵提取演算法。主要的 是 multiresolution gray scale androtation invariant texture classification with local binarypatterns pami,vol 24,no.7,july...

使用vivado hls實現 lbp演算法

lbp演算法的原理不再介紹,下面只介紹一下使用vivado hls如何實現lbp演算法。首先,需要對輸入影象做灰度變換,將rgb影象轉為灰度影象。呼叫hls中的 hls axivideo2mat input1,img 1 函式即可實現,完成影象灰度的轉換。接下來針對灰度影象做lbp變換。使用hls中...