본문 바로가기

Research/Paper

[Object Detection] Robust Real-Time Object Detection (4)



* search에 대한 computing time을 줄이면서, 인식률을 증가시킬수 있는 방식

* 이는 cascade가 이런 특징을 가지도록 design되어 있음.

* 각 stage는 adaboost classifier로 구성 (전 포스트에서 설명한 adaboost training)

* 초기 adaboost threshold는 낮은 threshold값을 가짐. 이 낮은 threshold는 높은 감지율과 높은 오류율(false positive rate)의 특성을 가진다.

* two feature에 대해 얘기하고 있는데, 뜬금없이 나와서 더 좀 보고 이해좀 해야겠음.

* cascade == "degenerate decision tree"(위의 그림)    

* cascade 구조는 대부분은 reject되는 특징을 반영.

** positive 될 확률은 매우 희박하다.

* training cascade



** 위의 그림에서, 

*** 아래는 입력값

**** 이전 train된 adaboost 분류 모델

**** P, N = 라벨된 데이터(negative/positive sample)

*** F : False Positive(FP) Rate

**** F_i는 i 번째 Feature에서 적용된 FP를 의미

*** F_target : Cascade의 각 stage를 결정하 FP Rate threshold 

*** f : 각 stage에서 F_target  조건에 의해 선택된(&반복 계산) fp rate.

*** D : True Detection Rate

** 일정 기준(밑에 설명)에 의해 각 stage의 Adaboost Feature, threshold 등을 결정.

** 라벨된 데이터를 적용에 대해서Adaboost를 계산할수 있는데, fp rate & tp rate를 계산.

*** 이때의 weak Classifier가 적용!, 더 자세히 말하면, 가중된 (여러개의)적용하여 합쳐지는데, 이는 Strong Classifier 적용됨을 의미.

*** 점점 많은수의 weak classifer를 가진 Strong Classifier가 적용되므로, fp rate는 감소되어서, 위의 F_target 조건에 수렴.

** 언제까지, 위의에서 반복계산하는데,  F_target을 기준으로, if(F_i>F_target)할때가지 반복.

*** 그 후, F_target를 업데이트하면서, 반복(전 train된 adaboost 분류되어 나온 feature들만큼)


** 정리하면, 다음과 같은 전체 구조

for(모든 train된 adaboost feature)

for(모든 라벨된 data)

// fp, tp rate 계산

// 원하는 fp rate가 나오면 다음 stage


* adaboost와 cacade에서 약간 걔념이 흔들렸는데, adaboost에서 training한것 직접 cascade 방식으로 search에 적용하는 개념인줄 알았음.(너무 대충 읽었음) 하지만, 그게 아니라, 위에서 설명했듯이, 학습된 adaboost를 이용하여 다시, cascade 모델을 구성!!