Algorithm/Paper

One Millisecond Face Alignment with an Ensemble of Regression Trees

빠릿베짱이 2015. 5. 15. 10:59
반응형

 One Millisecond Face Alignment with an Ensemble of Regression Trees

:[ c++ code|paper|video ]




- Shrinkage factor

   : 학습률을 주어 gradient boosting -> 이 값을 이용하여 점차적으로 fitting하는 방법은 좋은 방법 같음

- Feature Selection

   : 두 위치를 선택 할 때 확률 함수를 정의하는 방법을 사용하여 좀 더 좋은 특징을 선택헀다. 중요한 아이디어 같음

- Handling missing labels

   : 랜드마크의 위치는 추정되지만 실제로 학습 영상에서 폐색된 경우가 있을 수 있다. 이러한 것을 학습 할때 W 메트릭스로 학습을 좀 더 효과적으로 할 수 있다.

 



 Training 

    - dlib-18.10/examples/train_shape_predictor_ex.cpp

    - dlib-18.10/image_processing/shape_predictor.h

--------------------------------------------------------------------------------------------

template <typename image_array>

        shape_predictor train (

            const image_array& images,

            const std::vector<std::vector<full_object_detection> >& objects

        ) const

--------------------------------------------------------------------------------------------

- 학습 영상과 영상에 대응하는 Landmark 데이터셋을 파라미터로 호출

- Init Shape을 생성, oversampling 만큼 랜덤하게 Shape을 생성 후 학습 샘플에 추가 (populate_training_sample_shapes)

- 랜덤하게 픽셀 좌표를 추출하고, 랜덤 추출된 좌표와 가장 근접한 랜드마크 번호를 선택하고, 거리를 계산(create_shape_relative_encoding)

- 모든 랜덤한 픽셀에 대해, Mean Shape 기준으로 위치를 정하고, 해당 랜드마크의 좌표를 더해서 픽셀 값을 읽음(extract_feature_pixel_values)

make_regression_tree : 케스케이드 당 Tree의 갯수만큼 반복

- Regression Tree를 생성, Leaf 노드에는 속하는 샘플들의 평균 변위를 저장, 단 가중치를 사용

- Leaf 노드의 값을 노드에 속하는 샘플의 현재 Shape에 더하고 업데이트를 수행


 



2.3.3 Feature Selection

각 노드의 결정은 픽셀의 쌍의 intensity 차이의 Thresholding에 기반하여 결정된다. 이것은 매우 간단하지만, 하나의 인텐시티 임계값 처리보다, 좀 더 효과적이다. 왜냐하면, 하나의 픽셀의 경우 전역적인 빛의 영향에 따라 변화하기 때문이다. 불행히도, 픽셀 차이를 이용한 특징의 단점은 픽셀 쌍이 매우 많다는 것이다. 이것은 수 많은 것들 중에 좋은 특징을 찾기 어렵게 만든다. 그러나, 이미지 데이터의 구조를 활용함하는 제한적인 요소로 완화시킬 수 있다. 




위의 식은 픽셀간의 거리에 기반한 exponential prior이다. 이것은 근접한 픽셀들이 선택되도록 돕는다.



위의 그림은 exponential prior의 원리를 보여준다. y축은 exp(-||u-v||)를 나타내며, x축은 ||u-v||를 나타낸다.

즉, 두 픽셀 사이의 거리가 멀어질수록 작은 값을 갖는다.

우리는 이러한 간단한 정보를 사용해서 많은 테스트 데이터에서 예측 에러가 줄어든 것을 발견하였다. 그림 4는 prior 없이 선택된 특징과, prior를 사용하여 선택된 특징을 보여준다. 두 경우 모두, 특징의 갯수는 20개로 고정한 것이다.





반응형