LBPH알고리즘
LBPH알고리즘은 이미지를 정사각형 단위로 나누고,
선택된 픽셀의 중앙값을 기준으로 조건을 적용하여,
중앙값보다 크면 1, 작으면 0으로 치환합니다.
17
20
29
6
16
3
1
18
6
if >= 16 ---> 1
if < 16 ---> 0
1
1
1
0
16
0
0
1
0
Binary = 11100100
Deciaml = 228
LBPH는 조명을 다룰 때 효과적인데
이미지에 조명을 비추게 되면 픽셀값이 증가하게 됩니다.
조명을 비추었을 때 다음과 같이 픽셀 값을 가졌을 때 위와 같은 과정을 거치는 것을 계산해 보겠습니다.
47
50
59
36
46
33
31
48
36
Binary = 11100100
Deciaml = 228
조명을 비추지 않았을 때와 같은 값을 가지게 되는 것을 확인할 수 있습니다.
다음 단계로 히스토그램을 생성하게 되는데,
각각의 색이 정사각형에 몇 번이나 나타나는지 수를 세게 됩니다.
히스토그램에 따라서 이미지의 에지 부분과 코너를 식별하게 됩니다.
Attached Photo 1
LBPH 알고리즘에는 몇 가지 매개변수가 존재하는데 매개변수를 사용함으로써 결과를 더 좋게 나타낼 수 있습니다.
1.Radius(반지름)
Radius는 이진값을 생성하기 위한 중앙 픽셀 주변의 반경을 나타내는 값으로 default값으로 1이 설정되어있습니다.
값을 늘리면 이미지의 얇은 부분 모서리를 찾기 어려워할 수 있지만 이미지에서 많은 패턴을 찾을 수 있습니다.
변수의 값을 늘리면 반경은 늘어나며 동시에 처리하는 속도도 느려지게 됩니다.
Attached Photo 2
2.Neighbors(이웃 수)
이진 수를 구하기 위한 이웃한 픽셀의 수입니다. default값으로 8이 설정되어 있습니다.
Radius와의 차이로 Radius는 범위를 설정하는 반면 Neighbors는 개수를 지정합니다.
3.grid_x, grid_y(가로축, 세로축)
가로축과 세로축의 개수로 셀이 많을수록 그리드가 미세해지고 히스토그램의 수가 많아지며 이미지에서 더 많은 패턴을 추출합니다.
4.Threshold(신뢰도)
값이 높을수록 얼굴 인식의 품질이 높아집니다.