Helyi bináris sablonok
A Local Binary Patterns ( LBP ) egy egyszerű operátor a textúrák osztályozására a számítógépes látásban . 1994-ben írták le először [1] [2] . Az LBS egy képpixel környezetének leírása bináris formában. Később kiderült, hogy az LBS az iránygradiensek hisztogramjával kombinálva jelentősen javítja egyes adatkészletek felismerési teljesítményét [3] . 2015-ben összehasonlították az eredeti LBS számos fejlesztését a háttér-leválasztás terén [4] .
Leírás
Az LBS jellemzővektor a legegyszerűbb formájában a következőképpen található:
- A keresőmező felosztása cellákra (pl. 16x16 képpont cellánként)
- Hasonlítsa össze a cellában lévő egyes pixeleket a 88 szomszédos (bal felső, középső felső, bal alsó, jobb felső stb.) mindegyikével. Kerülje el a képpontokat egy körben, azaz az óramutató járásával megegyező vagy ellentétes irányba.
- Ha a központi pixel értéke nagyobb, mint a szomszédé, írjon „0”-t, ellenkező esetben „1”-et. Az eredmény egy 8 bites bináris szám (amelyet általában egész decimális számmá alakítanak át az egyszerűség kedvéért).
- Számítsa ki a hisztogramot egy cellában az egyes „számok” előfordulási gyakorisága alapján (vagyis a központinál nagyobb és kisebb pixelkombinációk). Ez a hisztogram 256 dimenziós jellemzővektorként ábrázolható .
- Opcionálisan normalizálja a hisztogramot.
- Összefűzi (normalizált) az összes sejt hisztogramját. Ez megadja a teljes ablak jellemzővektorát.
Az eredményül kapott jellemzővektor mostantól feldolgozható a támogatási vektorgéppel , az extrém tanulógéppel vagy más gépi tanulási algoritmusokkal a képosztályozáshoz. Hasonló osztályozók használhatók arcfelismeréshez vagy textúraelemzéshez.
Az eredeti operátor hasznos adaléka az úgynevezett generic [5] , amellyel a jellemzővektor hosszát csökkenthetjük, és egy egyszerű rotációs invariáns leírót implementálhatunk. Az ötletet az a tény ihlette, hogy egyes bináris minták gyakoribbak, mint mások. Egy helyi bináris sablont univerzálisnak nevezünk, ha a bináris sablon legfeljebb két 0-1 1-0 átmenetet tartalmaz. Például a 00010000 (két átmenet) általános minta, de a 0101010 (6 átmenet) nem. A kiszámított LBS hisztogramnak külön oszlopa van minden általános sablonhoz, az összes többi nem általános sablon ugyanahhoz az oszlophoz van hozzárendelve. Univerzális sablonok használatával az egyes cellák jellemzővektorának hossza 256-ról 58-ra csökken. 58 univerzális bináris sablon felel meg a 0, 1, 2, 3, 4, 6, 7, 8, 12, 14 egész számoknak, 15, 16, 24, 28, 30, 31, 32, 48, 56, 60, 62, 63, 64, 96, 112, 120, 124, 126, 127, 128, 129, 127, 128, 129, 31,5,41 191, 192, 193, 195, 199, 207, 223, 224, 225, 227, 231, 239, 240, 241, 243, 247, 248, 249, 251, 25, 5 és 35.
Fejlesztések
- Over-Complete Local Binary Patterns (OCLBP) [5] : Az OCLBP az LBP egy változata az arcfelismerés pontosságának általános javítására. A klasszikus LBP-vel ellentétben az OCLBP lehetővé teszi a szomszédos blokkok átfedését. Formálisan az OCLBP a következőképpen definiálható: S : (a, b, v, h, p, r): a kép a × b méretű blokkokra van osztva függőleges v és vízszintes h fedéssel, majd az univerzális LBP(u2, p, r) minden blokkból kivonhatók. Ezenkívül az OCLBP több különböző konfigurációból is összeállítható. Például az eredeti cikk szerzői három S konfigurációt használtak: (10,10,12,12,8,1), *14,14,12,12,8,2), (18,18,12,12 ,8, 3). A három konfiguráció három blokkméretet határoz meg: 10x10, 14x14, 18x18 és fél átfedés a vízszintes és függőleges tengelyeken. Ezeket a konfigurációkat egy 40877 méretű jellemzővektorba egyesítik egy 150x80-as képhez.
- Átmeneti helyi bináris minták (tLBP) [6] : Az LBP átmeneti kód bináris értéke a szomszédos pixelek óramutató járásával megegyező irányú összehasonlításából áll, kivéve a középsőt.
- Iránykódolt helyi bináris minták (dLBP): A dLBP két képponttal kódolja az intenzitás változását a négy alapvető irányban a középső pixelen keresztül.
- Több blokkos LBP: a kép több blokkra van felosztva, az LBP hisztogramokat minden egyes blokkhoz kiszámolja és egy végső hisztogrammá egyesíti.
- Volume Local Binary Pattern (VLBP) [7] : A VLBP a dinamikus textúrát a térben lévő térfogatok halmazaként kezeli (X,Y,T), X és Y térbeli koordinátákkal és T keretszámmal. Így a szomszédos pixelek háromdimenziós térben vannak meghatározva.
- RGB-LBP: Ezt az operátort úgy határozzák meg, hogy az RGB színtér minden csatornájára külön-külön kiszámítják az LBP-t, majd az eredményeket kombinálják.
Megvalósítások
- A CMV tartalmazza a szabványos LBS implementációt és sok más LBS hisztogram lehetőséget a MATLAB-ban.
- Python mahotas , egy nyílt forráskódú Python számítógépes látáscsomag, amely LBS-megvalósítást is tartalmaz.
- Az OpenCV kaszkád osztályozó a 2-es verziótól kezdve támogatja az LBS-t.
- A VLFeat , egy nyílt forráskódú számítógépes képkönyvtár C nyelven (több nyelv támogatásával, beleértve a MATLAB-ot is), tartalmaz egy megvalósítást .
- Az LBPLibrary tizenegy LBP-algoritmusból álló gyűjteményt tartalmaz, amelyeket a háttér-elválasztási problémára fejlesztettek ki. Az algoritmusok C++ nyelven valósultak meg OpenCV alapján . A mellékelt CMake fájl kompatibilis a Windows , Linux és Mac OS X rendszerekkel. A könyvtárat az OpenCV 2.4.10-es verzióján tesztelték.
- A BGSLibrary tartalmazza az LBS eredeti megvalósítását mozgásérzékeléshez [8] , valamint az LBS operátor új verzióját véletlenszerű Markov mezőkkel [9] kombinálva, javított felismeréssel és teljesítménnyel.
- dlib , egy nyílt forráskódú C++ könyvtár: implementáció .
- scikit-image , egy nyílt forráskódú Python könyvtár. Az LBS C implementációját biztosítja .
Jegyzetek
- ↑ T. Ojala, M. Pietikäinen és D. Harwood (1996), "A textúra mérések összehasonlító vizsgálata jellemzői eloszláson alapuló osztályozással", Pattern Recognition, 1. kötet. 29, pp. 51-59.
- ↑ T. Ojala, M. Pietikäinen és D. Harwood (1994), "A textúra mértékeinek teljesítményértékelése az eloszlások Kullback diszkriminációján alapuló osztályozással", Proceedings of the 12. IAPR International Conference on Pattern Recognition (ICPR 1994), vol. 1, pp. 582-585.
- ↑ "HOG-LBP emberi detektor részleges elzáródáskezeléssel", Xiaoyu Wang, Tony X. Han, Shuicheng Yan, ICCV 2009
- ↑ C. Silva, T. Bouwmans, C. Frelicot, "An Extended Center-Symmetric Local Binary Pattern for Background Modeling and Subtraction in Videos", VISAPP 2015, Berlin, Németország, 2015. március.
- ↑ 1 2 Barkan et. al "Gyors, nagy dimenziós vektorszorzás arcfelismerés." Az ICCV 2013 eljárása
- ↑ Trefný, Jirí és Jirí Matas."Lokális bináris minták kibővített készlete a gyors objektumfelismeréshez." A Computer Vision Winter Workshop anyaga. Vol. 2010. 2010.
- ↑ Zhao, Guoying és Matti Pietikainen. "Dinamikus textúrafelismerés helyi bináris minták segítségével, arckifejezések alkalmazásával." IEEE Transactions on Pattern Analysis and Machine Intelligence 29.6 (2007): 915-928.
- ↑ M. Heikkilä, M. Pietikäinen, "A textúra alapú módszer a háttér modellezésére és a mozgó objektumok észlelésére", IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(4):657-662, 2006.
- ↑ C., Kertész: Texture-Based Foreground Detection, International Journal of Signal Processing, Image Processing and Pattern Recognition (IJSIP), Vol. 4, sz. 2011. 4.