로컬 바이너리 패턴

Local binary patterns

로컬 바이너리 패턴(LBP)은 컴퓨터 비전 분류에 사용되는 시각적 설명자의 한 종류입니다.LBP는 [1][2]1990년에 제안된 텍스처 스펙트럼 모델의 특정 사례이다.LBP는 [3][4]1994년에 처음 기술되었다.이후 텍스처 분류에 강력한 기능으로 판명되었다. LBP를 Hogram of Oriented Gradient(HOG) 설명자와 결합하면 일부 데이터 세트에서 [5]탐지 성능이 크게 향상된다는 사실이 추가로 확인되었다.실바 외 [6]연구진은 2015년에 배경 감산 분야에서 원래 LBP의 몇 가지 개선 사항을 비교했다.다양한 버전의 LBP에 대한 전체 조사는 Bouwmans 등에서 확인할 수 있습니다.[7]

개념.

텍스처를 정의하고 Local Binary Pattern(LBP; 로컬바이너리 패턴)을 계산하기 위해 사용되는3개의 네이버 예시

LBP 기능 벡터는 가장 단순한 형태로 다음과 같이 작성됩니다.

  • 검사된 창을 셀로 나눕니다(예: 각 셀에 대해 16x16 픽셀).
  • 셀 내의 각 픽셀에 대해 픽셀을 8개의 네이버 각각(왼쪽 위, 왼쪽 중간, 왼쪽 아래, 오른쪽 위 등)과 비교합니다.원을 따라 픽셀을 따라 시계방향 또는 시계반대방향으로 이동합니다.
  • 중앙 픽셀 값이 인접 픽셀 값보다 클 경우 "0"이라고 적습니다.그렇지 않으면 "1"이라고 적습니다.이것은 8자리 이진수(일반적으로 편의를 위해 10진수로 변환됨)를 제공합니다.
  • 셀 전체에 걸쳐 발생하는 각 "숫자" 빈도의 히스토그램을 계산합니다(즉, 각 조합이 더 작고 중심보다 큰 픽셀).이 히스토그램은 256차원 특징 벡터로 볼 수 있습니다.
  • 선택적으로 히스토그램을 정규화합니다.
  • 모든 셀의 히스토그램을 연결(정규화)합니다.그러면 창 전체에 대한 피쳐 벡터가 제공됩니다.

이제 지원 벡터 머신, 익스트림러닝 머신 또는 기타 머신러닝 알고리즘을 사용하여 피쳐 벡터를 처리할 수 있습니다.이러한 분류기는 얼굴 인식이나 텍스처 분석에 사용할 수 있습니다.

원래 연산자에 대한 유용한 확장은 특징 벡터의 길이를 줄이고 단순한 회전 불변 기술자를 구현하기 위해 사용할 수 있는 소위 균일한 [8]패턴이다.이 아이디어는 일부 바이너리 패턴이 다른 것보다 텍스처 이미지에서 더 일반적으로 발생한다는 사실에서 비롯되었습니다.로컬 바이너리 패턴에 최대 2개의 0-1 또는 1-0 전환이 포함되어 있는 경우 로컬바이너리 패턴은 균등하다고 불립니다.예를 들어 00010000(2개의 전환)은 균일한 패턴이지만 01010100(6개의 전환)은 균일한 패턴이 아닙니다.LBP 히스토그램을 계산할 때 히스토그램은 모든 균일한 패턴에 대해 별도의 빈을 가지며 모든 불균일한 패턴이 단일 빈에 할당됩니다.균일한 패턴을 사용하면 단일 셀의 피쳐 벡터의 길이는 256에서 59로 줄어듭니다.58개의 균일한 이진 패턴은 0, 1, 2, 3, 4, 6, 7, 8, 12, 14, 15, 16, 24, 28, 30, 31, 32, 48, 56, 60, 62, 63, 64, 96, 112, 120, 124, 127, 127, 128, 129, 131, 135, 143, 159, 191, 193, 193, 223, 199, 199, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25,

내선번호

  • OCLBP([9]Over-Complete Local Binary Patterns): OCLBP는 얼굴 검증의 전체적인 성능을 향상시키는 것으로 판명된 LBP의 변형입니다.LBP와는 달리 OCLBP는 인접 블록에 오버랩을 채택합니다.OCLBP의 구성은 S : (a, b, v, h, p, r)로 나타내며, 화상을 v의 수직 중첩과 h의 수평 중첩을 가지는 a×b 블록으로 분할한 후, 모든 블록으로부터 균일한 패턴 LBP(u2, p, r)를 추출한다.게다가 OCLBP는, 몇개의 다른 설정으로 구성되어 있습니다.예를 들어, 저자들은 원본 논문에서 S : (10,10,12,12,8,1), (14,14,12,12,8,2), (18,18,12,12,8,3)의 세 가지 구성을 사용했습니다.세 가지 구성에서는 10×10, 14×14, 18×18, 수직 및 수평 방향에 따른 절반의 오버랩 레이트의 세 가지 블록 크기를 고려합니다.이러한 설정은 150x80 크기의 이미지에 대해 40877차원 피쳐 벡터를 형성하기 위해 연결됩니다.
  • Transition Local Binary Patterns(tLBP):[10] 트랜지션 코드화된 LBP의 바이너리 값은 중앙을 제외한 모든 픽셀의 시계방향으로 인접 픽셀 비교로 구성됩니다.
  • 방향 코딩된 로컬 이진 패턴(dLBP): dLBP는 중앙 픽셀을 통해 4가지 기본 방향에 따른 강도 변동을 2비트로 인코딩합니다.
  • 멀티블록 LBP: 이미지를 여러 블록으로 분할하고 각 블록에 대해 LBP 히스토그램을 계산하여 최종 히스토그램으로 연결합니다.
  • Volume Local Binary Pattern([11]VLBP): VLBP는 동적 텍스처를 (X,Y,T)공간의 볼륨 세트로 간주합니다.여기서 X와 Y는 공간 좌표를 나타내고 T는 프레임 인덱스를 나타냅니다.따라서 픽셀의 근방은 3차원 공간에서 정의되며 볼륨 텍스트론을 히스토그램으로 추출할 수 있습니다.
  • RGB-LBP: 이 연산자는 RGB 색공간의 3개 채널 모두에 대해 독립적으로 LBP를 계산하여 결과를 연결함으로써 얻을 수 있습니다.

실장

  • CMV에는 일반적인 LBP 구현과 MATLAB의 LBP 히스토그램에 대한 많은 추가 확장이 포함됩니다.
  • Python mahotas는 LBP 구현을 포함하는 오픈 소스 컴퓨터 비전 패키지입니다.
  • OpenCV의 캐스케이드 분류기는 버전 2에서 LBP를 지원합니다.
  • C의 오픈 소스 컴퓨터 비전 라이브러리인 VLFeat(MATLAB를 포함한 여러 언어에 바인딩)에는 구현이 있습니다.
  • LBPLibrary는 백그라운드 감산 문제를 위해 개발된 11개의 Local Binary Patterns(LBP; 로컬바이너리 패턴) 알고리즘의 집합입니다.알고리즘은 OpenCV를 기반으로 C++로 구현되었습니다.CMake 파일이 제공되며 라이브러리는 Windows, Linux 및 Mac OS X와 호환됩니다.라이브러리는 OpenCV 2.4.10에서 정상적으로 테스트되었습니다.
  • BGSLibrary는 동작[12] 검출을 위한 원래의 LBP 구현뿐만 아니라 향상된 인식 속도와 견고성을 가진 마르코프 랜덤[13] 필드와 결합된 새로운 LBP 연산자 변형을 포함한다.
  • dlib, 오픈소스 C++ 라이브러리: 구현.
  • skikit-image, 오픈 소스 Python 라이브러리.LBP를 위한 c 기반 python 구현 제공

「 」를 참조해 주세요.

레퍼런스

  1. ^ DC. 그와 L.Wang(1990), " 텍스처 유닛, 텍스처 스펙트럼, 텍스처 분석", 지리 및 원격 감지, IEEE 트랜잭션 온, vol. 28, 페이지 509 - 512.
  2. ^ L. Wang 및 DC. He(1990), "질감 스펙트럼을 이용한 텍스처 분류", 패턴 인식, Vol. 23, No. 8, 페이지 905 - 910.
  3. ^ T. Ojala, M. Pietikaeinen 및 D.Harwood(1994년), "분포의 쿨백 식별에 기초한 분류에 의한 텍스처 측정의 성능 평가", 제12회 IAPR 패턴 인식 국제회의(ICPR 1994), 제1, 페이지 582 - 585.
  4. ^ T. Ojala, M. Pietikaeinen 및 D.Harwood(1996), "특징 분포에 기초한 분류와 텍스처 측정의 비교 연구", 패턴 인식, vol. 29, 페이지 51-59.
  5. ^ "부분적 폐색 처리가 있는 HOG-LBP 인체 검출기", Xiaoyu Wang, Tony X.한수성옌, ICCV 2009
  6. ^ C. 실바, T. 부우만스, C.Frelicot, "동영상 배경 모델링 및 감산을 위한 eXtended Center-Symmetric Local Binary Pattern", VISAPP 2015, 독일 베를린, 2015년 3월
  7. ^ T. Bouwmans, C.실바, C. 마르게스, M. 지투니, H. 바스카, C.Frelicot, "배경 모델링 및 전경 검출 기능의 역할과 중요성에 대하여", arXiv:1611.09099
  8. ^ 바칸 등"빠른 고차원 벡터 곱셈 얼굴 인식"ICCV 2013 절차
  9. ^ 바칸 등"빠른 고차원 벡터 곱셈 얼굴 인식"ICCV 2013 절차
  10. ^ '트레프네, 지리, 지리 마타스'입니다.로컬 바이너리 패턴의 확장 세트를 통해 신속한 객체 검출이 가능합니다."컴퓨터 비전 겨울 워크숍의 진행.제2010호
  11. ^ 자오, 궈잉, 마티 피에티카이넨."표정에 응용한 로컬 바이너리 패턴을 사용한 동적 텍스처 인식." IEEE Transactions on Pattern Analysis and Machine Intelligence 29.6 (2007) : 915-928.
  12. ^ M. Heikkilé, M. Pietikaeinen, "배경을 모델링하고 움직이는 물체를 감지하기 위한 텍스처 기반 방법", IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(4):657-662, 2006.
  13. ^ C., Kertész:텍스처 기반 전경 검출, 신호 처리, 화상 처리 및 패턴 인식(IJSIP), Vol.4, No.4, 2011.