얼굴 감지에서 Haar Cascades 대 LBP Cascades
저는 OpenCV (오픈 소스 컴퓨터 비전 라이브러리)에서 얼굴 감지를 실험 해 왔으며 OpenCV와 함께 제공되는 여러 가지가 있으므로 Haar 캐스케이드를 사용하여 얼굴을 감지 할 수 있음을 발견했습니다. 그러나 여러 LBP 캐스케이드가 있음을 알게되었습니다. 몇 가지 조사를 한 후 LBP는 Local Binary Patterns의 약자이며 OpenCV Face Detection Documentation 에 따라 얼굴 감지에도 사용할 수 있음을 발견했습니다 .
내가 알고 싶은 것은 어느 것이 더 잘 작동합니까? 어느 것이 더 빠르게 수행되고 어느 것이 더 정확합니까? LBP가 더 빨리 수행되는 것 같지만 저도 100 % 확신하지 못합니다. 감사.
LBP는 더 빠르지 만 (몇 배 더 빠름) 정확도는 떨어집니다. (Haar보다 10-20 % 적음).
임베디드 시스템에서 얼굴을 감지하려면 LBP가 모든 계산을 정수로 수행하기 때문에 LBP가 선택이라고 생각합니다. Haar는 임베디드 / 모바일의 킬러 인 플로트를 사용합니다.
LBP 캐스케이드는 Haar 캐스케이드와 유사하거나 더 나은 성능을 발휘하도록 훈련시킬 수 있지만 기본적으로 Haar 캐스케이드는 약 3 배 느리고 데이터에 따라 위치를 정확하게 감지하는 데 약 1-2 % 더 좋습니다. 얼굴. 얼굴 인식이 95 % 이상의 정확도 범위에서 작동 할 수 있다는 점을 감안할 때 이러한 정확도 증가는 상당히 중요합니다.
다음은 MUCT 데이터 세트를 사용할 때의 몇 가지 결과 입니다.
Ground-Truth와 OpenCV 감지 좌표간에 50 % 이상 겹치는 부분이 있으면 올바른 감지가 기록됩니다.
Cascade:haarcascade_frontalface_alt2.xml
Datafile:muct.csv
|---------------------------------------------------|
| Hits | Misses | False Detects | Multi-hit |
| 3635 | 55 | 63 | 5 |
|---------------------------------------------------|
Time:4m2.060s
대 :
Cascade:lbpcascade_frontalface.xml
Datafile:muct.csv
|---------------------------------------------------|
| Hits | Misses | False Detects | Multi-hit |
| 3569 | 106 | 77 | 3 |
|---------------------------------------------------|
Time:1m12.511s
제 개인적인 의견은 LBP 훈련은 몇 분이 걸리고 HAAR 훈련은 동일한 훈련 데이터 세트 및 매개 변수에 대해 며칠이 걸릴 수 있기 때문에 모든 탐지 관련 작업에 대해 LBP를 조사해야한다는 것입니다.
요청한 질문은 감지되는 항목의 유형, 감지 중에 사용되는 훈련 설정 및 매개 변수, 캐스케이드 테스트 기준에 따라 성능이 다릅니다.
HAAR 및 LBP 캐스케이드의 정확도는 훈련에 사용 된 데이터 세트 (양수 및 음수 샘플)와 훈련 중에 사용 된 매개 변수에 따라 다릅니다.
Lienhart et al, 2002 에 따르면 얼굴 감지의 경우 :
- 당신
-numStages
,-maxDepth
그리고-maxWeakCount
매개 변수는 원하는 달성하기 위해 충분히 높아야-minHitRate
하고-maxFalseAlarmRate
. - 나무 기반 훈련은 그루터기 기반보다 더 정확합니다.
- 부드러운 adaboost는 이산적이고 실제 adaboost보다 선호됩니다.
- 훈련 샘플의 최소 크기가 중요하지만 이에 대한 체계적인 연구는 아직 수행되지 않았습니다.
또한 detectMultiScale ()에 사용 된 플래그는 주어진 하드웨어 구성에서 정확도와 속도의 급격한 변화를 가져옵니다.
캐스케이드를 테스트하려면 데이터 세트 와 k- 폴드 크로스 유효성 검사 와 같은 방법을 결정 해야 합니다 .
당신에게 유용 할 수 있습니다 :
이 SIMD 도서관 가, 구현 하르와 LBP 캐스케이드 분류의이. OpenCV의 표준 HAAR 및 LBP 캐스케이드를 사용할 수 있습니다. 이 구현은 SSE4.1, AVX2, AVX-512 및 NEON (ARM)을 사용하여 SIMD 최적화를 수행하므로 원래 OpenCV 구현보다 2-3 배 빠르게 작동합니다.
또한 훈련 단계에서 LBP는 Haar보다 빠릅니다. 2000 pos 샘플과 300 neg 샘플의 경우 Haar 유형을 사용한 훈련은 완료하는 데 약 5-6 일이 걸렸지 만 LBP를 사용하면 몇 시간 밖에 걸리지 않았습니다.
참조 URL : https://stackoverflow.com/questions/8791178/haar-cascades-vs-lbp-cascades-in-face-detection
'programing' 카테고리의 다른 글
중앙에서 x 픽셀만큼 오프셋 된 HTML 배경 이미지 (0) | 2021.01.18 |
---|---|
NetBeans에서 마우스 호버에 대한 Javadoc 문서를 보는 방법은 무엇입니까? (0) | 2021.01.18 |
Django의 사용자 지정 관리자에서 DoesNotExist 예외 잡기 (0) | 2021.01.18 |
JsonNode에서 새 노드를 삽입하는 방법은 무엇입니까? (0) | 2021.01.17 |
특정 요소를 터치 할 때 스크롤 비활성화 (0) | 2021.01.17 |