계단식 분류기
Cascading classifiers![]() | 이 글은 대부분의 독자들이 이해하기에는 너무 기술적인 것일 수도 있다..(2013년 10월) (이 를 및 정보를 할 수 하십시오 |
캐스캐이딩(Cascading)은 주어진 분류기에서 출력된 모든 정보를 캐스케이드의 다음 분류자에 대한 추가 정보로 사용하여 여러 분류자의 결합에 기초한 앙상블 학습의 특별한 경우다.멀티플렉트 시스템인 투표나 쌓기 앙상블과 달리 캐스캐이딩은 다단계 시스템이다.
계단식 분류기는 특정 개체의 수백 개의 "긍정적인" 샘플 뷰와 같은 크기의 임의의 "부정적인" 이미지로 훈련된다.분류기가 훈련된 후에 그것은 이미지의 영역에 적용되고 문제의 물체를 감지할 수 있다.전체 프레임에서 개체를 검색하려면 검색 창을 이미지 전체로 이동하고 분류기로 모든 위치를 확인할 수 있다.이 과정은 주로 안면 감지 및 인식, 물체 감지 및 추적을 위한 이미지 처리에서 가장 일반적으로 사용된다.
첫 번째 계단식 분류기는 비올라와 존스(2001)의 얼굴 탐지기였다.이 분류기의 요건은 카메라와 전화기와 같은 저전력 CPU에 구현하기 위해 신속해야 한다는 것이었다.
알고리즘 속성
스케일링 및 회전
이 설명에서 분류자가 거꾸로 된 얼굴(눈썹이 올바른 위치에 있지 않음)이나 옆얼굴(코 가운데가 더 이상 없고, 코 옆에 그림자가 없어질 수 있음)을 받아들이지 않을 것임을 알 수 있다.별도의 계단식 분류기는 영상 평면(얼굴)에 없는 회전마다 훈련을 받아야 하며, 영상 평면에 있는 회전마다(얼굴이 거꾸로 되거나 옆으로 기울어짐) 회전 기능에서 재교육하거나 실행해야 한다.형상의 크기를 조정할 수 있으므로 스케일 조정은 문제가 되지 않는다(중앙 픽셀, 왼쪽 픽셀 및 오른쪽 픽셀은 검사된 직사각형에 대해서만 치수를 가진다).최근 폭포에서는 직사각형의 일부에서 다른 부분과 비교한 픽셀 값이 하르 웨이브로 대체되었다.
스테이지 속성
전체적인 성과가 좋으려면 다음 기준을 충족해야 한다.
- 각 단계는 모든 면의 유효성을 확인해야 하며, 많은 잘못된 긍정을 생성할 수 있다.예를 들어, 1단계에서 얼굴을 포함하는 직사각형의 20%(허위 음률=20%)를 '얼굴을 포함하지 않는다'고 표시한다면, 체인의 총 성능은 이미 20%의 얼굴이 거부되었기 때문에 다음 단계가 어떻든 80%의 진정한 긍정보다 높을 수 없다.
- 이것은 좋은 단계는 100% 진정한 양성이어야 하며, 예를 들어 40%의 거짓 양성이 있어야 한다는 것을 암시한다. 즉, 얼굴을 포함한 모든 직사각형을 수용하고 많은 직사각형을 잠재적으로 얼굴을 포함하는 것으로 잘못 표시하여 후기에 제거해야 한다.1단계에서 100% 진실한 양성과 40%의 거짓 양성은 여전히 많은 거짓 음성을 주는데, 이미지의 직사각형 1000개 중 1개만 얼굴을 포함하고 있다면, 1단계 후에도 여전히 400~1개의 거짓 가능한 얼굴이 있을 것이다.
- 1단계가 매우 빠르다면(몇 번의 수술) 우리는 얼굴을 매우 빨리 포함하지 않는 직사각형의 60%를 제거했다.
따라서 한 단계의 훈련 절차는 많은 약한 학습자(단순 픽셀 차이 연산자)를 보유하여 그룹으로 훈련시키되(정확한 결과를 제공할 경우 가중치를 높임) 소수의 능동적인 약한 학습자만 보유하는 것에 유의하여 계산 시간이 낮게 유지되도록 한다.
비올라앤존스의 1차 검출기는 38단계로 1단계, 이후 5단계에서 10, 25, 25, 50단계, 총 6000개의 특징을 갖췄다.첫 번째 단계는 다음 단계의 계산 비용을 지불하지 않기 위해 원하지 않는 직사각형을 빠르게 제거하므로, 대상을 포함할 가능성이 높은 이미지 부분을 깊이 분석하는 데 계산 시간이 소요된다.
캐스케이드 훈련
캐스케이드는 보통 비용 인식 ADA 부스트를 통해 이루어진다.민감도 임계값(이 예에서는 0.8)은 100% 참 긍정과 일부 잘못된 긍정에 근접하도록 조정할 수 있다.그런 다음 원하는 정확도/컴퓨팅 시간에 도달할 때까지 2단계에 대해 절차를 다시 시작할 수 있다.
초기 알고리즘 이후, 캐스케이드를 전체적으로 훈련하면 최소의 복잡성으로 원하는 진정한 검출률을 달성할 수 있도록 최적화할 수 있다는 것이 이해되었다.그러한 알고리즘의 예로는 RCBoost, ECBoost 또는 RCECBoost가 있다.가장 기본적인 버전에서, 그들은 원하는 정확도에 도달할 때까지 각 단계에서 단계를 추가하거나 이전 단계에 약한 학습자를 추가하는 것 중 어느 것을 선택하는 것으로 이해할 수 있다.분류기의 모든 단계는 원하는 속도 이하의 검출률(감성)을 가질 수 없으므로, 이는 제한된 최적화 문제다.정확히 말하면, 전체 감도는 무대 감성의 산물이 될 것이다.
캐스케이드 분류기는 OpenCV에서 사용할 수 있으며, 정면과 상체를 위한 사전 훈련된 캐스케이드가 있다.OpenCV에서 새로운 캐스케이드를 훈련하는 것은 haar_training 또는 train_cascades 방법을 통해서도 가능하다.이것은 하르와 같은 특징을 가진 비인간의 물체를 포함한 보다 구체적인 대상의 신속한 물체 검출에 사용될 수 있다.이 프로세스에는 두 가지 샘플 세트가 필요하다: 음과 양의 샘플이 임의의 비-객체 이미지에 해당된다.계단식 분류기 훈련의 시간 제약은 클라우드 컴퓨팅 방법을 사용하여 우회할 수 있다.
통계에서 계단식 분류자
이 용어는 또한 단계화된 모형을 설명하기 위해 통계학에서도 사용된다.예를 들어 분류자(예: k-평균)는 형상의 벡터(결정 변수)를 취하며 가능한 각 분류에 대해 출력하면 벡터가 클래스에 속할 확률을 산출한다.이것은 보통 결정을 내리기 위해 사용되지만(확률이 가장 높은 클래스로 분류), 계단식 분류기는 이 출력을 다른 모델에 대한 입력(다른 단계)으로 사용한다.이것은 특히 조합 규칙이나 계수 규칙(예: 정확히 두 형상이 음수인 경우 class1, 그렇지 않은 경우 class2)이 높은 모델에 유용하며 모든 교호작용 항을 검토하지 않고는 적합할 수 없다.계단식 분류기가 있으면 연속적인 단계는 점차 분류의 조합적 성격을 근사하게 하거나, 한 단계에서 표현할 수 없는 분류 알고리즘에 상호작용 용어를 추가할 수 있다.
간단한 예로 규칙과 일치하려고 하면(정확히 3개 중 2개의 형상이 음수인 경우 클래스1, 그렇지 않은 경우 클래스2), 의사결정 트리는 다음과 같다.
- 피쳐 1 음수
- 피쳐 2 음수
- 형상 3 음수 -> 클래스2
- 피쳐 3 양극 -> 클래스1
- 특징 2 양수
- 피쳐 3 음수 -> 클래스1
- 형상 3 양의 -> 클래스2
- 피쳐 2 음수
- 특징 1 양수
- 피쳐 2 음수
- 피쳐 3 음수 -> 클래스1
- 형상 3 양의 -> 클래스2
- 특징 2 양수
- 형상 3 음수 -> 클래스2
- 형상 3 양의 -> 클래스2
- 피쳐 2 음수
트리는 전체 규칙 집합을 표현하기 위해 가능한 나뭇잎의 모든 조합을 가지고 있는 반면, (특징1 양극, 특색2 음극), 그리고 (특징1 음극, 특색2 양극)은 실제로 같은 규칙에 결합되어야 한다.이것은 나뭇잎에 샘플이 너무 적은 나무로 이어진다.2단계 알고리즘은 형상1 또는 (배타적) 형상2가 음수일 경우 클래스1에 중간 높은 확률을 부여함으로써 이 두 경우를 효과적으로 병합할 수 있다.두 번째 분류자는 이 더 높은 확률을 집어서 형상3의 부호에 대한 결정을 내릴 수 있다.
편향-분산 분해에서 계단식 모형은 분산을 증가시키면서 편향을 낮추는 것으로 보인다.
참고 항목
참조
원천
- Gama, J.; Brazdil, P. (2000). "Cascade Generalization". Machine Learning. 41 (3): 315–343. CiteSeerX 10.1.1.46.635. doi:10.1023/a:1007652114878.
- Minguillón, J. (2002). On Cascading Small Decision Trees (PhD thesis). Universitat Autònoma de Barcelona.
- Zhao, H.; Ram, S. (2004). "Constrained Cascade Generalization of Decision Trees". IEEE Transactions on Knowledge and Data Engineering. 16 (6): 727–739. CiteSeerX 10.1.1.199.2077. doi:10.1109/tkde.2004.3.