Content deleted Content added
m orthographic |
Adding local short description: "Descriptor of computer vision", overriding Wikidata description "type of visual descriptor" |
||
(24 intermediate revisions by 20 users not shown) | |||
Line 1:
{{Short description|Descriptor of computer vision}}
'''Local binary patterns''' ('''LBP
== Concept ==
[[File:Lbp neighbors.svg|thumbnail|upright=1.5|right|Three neighborhood examples used to define a texture and calculate a local binary pattern (LBP)]]
Line 7 ⟶ 8:
* Divide the examined window into cells (e.g. 16x16 pixels for each cell).
* For each pixel in a cell, compare the pixel to each of its [[Pixel connectivity|8 neighbors]] (on its left-top, left-middle, left-bottom, right-top, etc.). Follow the pixels along a circle, i.e. clockwise or counter-clockwise.
* Where the center pixel's value is greater than the neighbor's value, write "0". Otherwise, write "1". This gives an 8-digit binary number (which is usually converted to decimal for convenience).
* Compute the [[histogram]], over the cell, of the frequency of each "number" occurring (i.e., each combination of which pixels are smaller and which are greater than the center). This histogram can be seen as a 256-dimensional [[feature vector]].
Line 13 ⟶ 14:
* Concatenate (normalized) histograms of all cells. This gives a feature vector for the entire window.
The feature vector can now be processed using the [[Support vector machine]], [[
A useful extension to the original operator is the so-called uniform pattern,<ref>Barkan et
== Extensions ==
* Over-Complete Local Binary Patterns (OCLBP):<ref>Barkan et
* Transition Local Binary Patterns(tLBP):<ref>Trefný, Jirí, and Jirí Matas."Extended set of local binary patterns for rapid object detection." Proceedings of the Computer Vision Winter Workshop. Vol. 2010. 2010.</ref> binary value of transition coded LBP is composed of neighbor pixel comparisons clockwise direction for all pixels except the central.
* Direction coded Local Binary Patterns(dLBP): the dLBP encodes the intensity variation along the four basic directions through the central pixel in two bits.
* Multi-block LBP: the image is divided into many blocks, a LBP histogram is calculated for every block and concatenated as the final histogram.
* Volume Local Binary Pattern(VLBP):<ref>Zhao, Guoying, and Matti Pietikainen. "Dynamic texture recognition using local binary patterns with an application to facial expressions." IEEE Transactions on Pattern Analysis and Machine Intelligence
* RGB-LBP: This operator is obtained by computing LBP over all three channels of the RGB color space independently, and then concatenating the results together.
== Implementations ==
* [http://www.cse.oulu.fi/CMV CMV], includes the general LBP [http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab implementation] {{Webarchive|url=https://web.archive.org/web/20141128164522/http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab? |date=2014-11-28 }} and many further extensions over LBP histogram in MATLAB.
* [http://luispedro.org/software/mahotas Python mahotas], an open source computer vision package which includes an implementation of LBPs.
* [[OpenCV]]'s Cascade Classifiers support LBPs as of version 2.
Line 39:
* [[Local ternary patterns]]
* [http://www.scholarpedia.org/article/Local_Binary_Patterns Local Binary Pattern (LBP) methodology in Scholarpedia]
* [[Census transform]]
== References ==
{{Reflist}}
|