Algorithm/Paper

Mirror, mirror on the wall, tell me, is the error small?

빠릿베짱이 2015. 5. 15. 11:00
반응형

 거울아, 거울아, 말해라.. 에러가 작니? 



▷ KEY NOTE

    1. 같은 영상을 미러한 후 검출을 수행하면 결과가 다름

           -> Mirror error 와 Alignment Error는 높은 상관 관계를 갖음

           -> 즉 Mirror error가 높은 경우 정렬이 실패헀다고 볼 수 있음

    2. 이러한 특성을 이용하여 정상적으로 검출이 된 것인지 판단이 가능

           -> 정상적으로 검출되지 않은 경우, 다른 초기 위치로부터 다시 검출 수행



■ Abstract

 객체 부분 지역화 방법(Object Part Localization Method)는 mirror 영상에서 좌우 대칭인 결과를 얻을 수 있을까?

- 놀랍게도, mirror 영상의 학습 집합을 추가하더라도 그렇지 않다. 이 논문에서는 이러한 문제에 대해 살펴보겠다. 우리는 먼저 미러된 영상에서 대칭된 결과를 생산하는 능력으로 mirrorability의 개념과 이에 대응한 measure에 대해 소개한다. 즉, 원 영상과 미러된 영상의 검출 결과 간의 차이를 mirror error로 정의한다. 우리는 얼굴 정렬과 human pose 분야에서 몇개의 최신 알고리즘의 mirrorability를 평가한다.

우리는 실험 결과에서 흥미로운 사실을 찾았다.


1) 최신 알고리즘들은 원본 영상과 미러 영상에서 매우 유사한 전체 성능을 가졌음에도 불구하고, mirror symmetry를 유지하기 위해 노력한다?

2) 낮은 mirrorability는 훈련 및 실험 샘플의 바이어스에 의해 발생되지 않는다- 모든 알고리즘은 원본 영상과 미러 영상을 모두 학습에 사용한다.

3) mirror error는 지역화/정렬 에러와 매우 강하게 상관관계를 갖는다.

mirror error는 해답을 모르는 상태에서 계산되기 때문에, 우리는 2개의 흥미로운 응용을 보여준다.


1) 어려운 샘플 선택의 안내를 위해 사용 2) Cascaded Pose Regression method에서 피드백을 주기 위해 사용


■ Introduction (생략)


■ Mirrorability in Object Part Localization

우리는 어떤 알고리즘이 원본 영상과 미러된 영상에 적용 될 때 mirror symmetry 를 유지하는 정도를 mirrorability 라고 정의한다. 이러한 measure를 위해, 앞에서 소개한 미러 영상과 원본 영상의 검출 결과 간의 차이로 정의된 mirror error라고 칭하겠다.

Face Alignment를 예를 들어 원본 영상에서 찾은 Shape 포인트들과, 미러된 영상에서 찾은 포인트를 기준으로 거리 계산에 대해 설명하고 있다.


        

수식 1)은 다음과 같은 속성을 갖는다.

1) 높은 mirror error는 낮은 mirrorability를 의미한다.

2) 대칭이다. ( 미러- 원본, 원본 - 미러의 값이 같다는 의미인듯)

3) mirror error는 ground truth를 요구하지 않는다.


이와 유사한 방법으로 ground truth localization error를 계산할 수 있다. 즉, 검출된 위치와 ground truth와의 차이를 이용해서 계산 가능하다. mirror error와 구분하기 위해 수식 2)는 alignment error라고 부르겠다.


gtXk는 k번째 ground truth 포인트의 위치이다. 이와 유사한 방법으로 우리는 테스트 샘플의 미러 이미지와 alignment error 를 정의한다. 앞으로 사용하는 alignment error 는 원본 영상에서의 alignment error이다.


수식 1과 2 모두 절대적인 에러이다. 우리의 분석에서 각 이미지의 객체의 크기에 불변하기 위해, 객체 크기로 노멀라이즈를 수행한다. 예를 들어 얼굴 혹은 몸의 크기로... 이러한 크기는 다른 방법을 계산된다.


■ Human pose estimation (생략)


■ Face alignment

Face Alignment는 최근 집중적으로 연구되어 왔다. 여기서 우리는 얼굴 정렬 방법의 mirrorability와 그 방법들의 에러가 mirror error와 얼마나 상관관계가 있는지를 살펴볼 것이다.


Experiment setting

우리의 분석을 위해, 우리는 가장 도전적인 데이터 셋을 이용한다. 그것은 300W이다. 이것은 Automatic Facial landmark Detection Challenge를 위해 만들어졌다. 이를 위해, 68개의 포인트로 구성된 LFPW, AFW, HELEN, iBug를 사용한다. 우리는 HELEN(330), LFPW(224), iBug(135)의 테스트 이미지, 총 689 이미지를 분석을 위해 사용한다. 

iBug 영상들은 얼굴 포즈의 변화가 매우 크고, 얼굴이 부분적으로 영상 밖에 있으며, 매우 심한 폐색으로 인해 매우 도전적인 데이터이다. 그리고, 테스트 영상들은 미러 영상을 얻기 위해 수평으로 뒤집는다. 우리는 Supervised Descent Method(SDM)과 Robust Cascaded Pose Regression(RCPR), Incremental Face Alignment(IFA), Gaussian-Newton Deformable Part Model(GN-DPM)의 성능 평가를 수행한다. SDM, IFA, GN-DPM은 학습된 모델과 테스트 영상을 위한 코드가 공개되어있다. - 우리는 이것을 직접 테스트 이미지에 적용하는데 사용하였다. 해당 논문들에 따르면, IFA, GN-DPM은 300W 데이터 셋으로 학습되었으며, SDM 모델은 매우 많은 데이터셋을 사용하여 학습되어졌다고 한다. SDM, IFA와 GN-DPM은 오직 49개의 포인트만 검출 가능하다. - 따라서 우리의 분석은 49개의 포인트에 대한 분석만 수행한다. RCPR은 공개된 학습 프로그램을 이용하여, 68개 포인트로 구성된 300W의 학습 영상을 이용하여 재학습을 수행하였다. 모든 Method들은 얼굴 검출기의 결과를 이용한다. 왜냐하면 대부분, 초기 위치에 민감하기 때문이다. 따라서 우리는 좋은 성능을 얻기 위해, 좋은 얼굴 검출기를 주의깊게 선택하였다. 좀 더 구체적으로, 학습시에 IFA, GN-DPM은 300W의 얼굴 바운딩 박스를 사용하고, SDM과 RCPR에서는 Viola-Jones의 바운딩 박스를 사용하였다. Viola-Jones의 바운딩 박스를 사용하는 방법에 대해서는 정상적으로 검출된 결과인지를 수동으로 검사하였다.- 비올라의 얼굴 검출기가 실패한 영상의 경우에는 300W 바운딩 박스에 근사하도록 바운딩 박스를 조정하였다.

Mirrorability

우리는 SDM, IFA, GN-DPM, RCPR에 대해 300W의 689 테스트 영상에서 mirror error와 alignment error를 계산하였다. 



그림 5와 6은 두 알고리즘(GN-DPM, RCPR)의 에러를 보여준다. GN-DPM은 로컬 기반의 대표적인 방법이며, RCPR은 전체적인?(holistic-based)방법의 대표적인 방법이다. SDM과 IFA도 유사한 결과를 보였다. 

각 그림에서는, 두 개의 예제 이미지를 보여준다. 하나는 낮은 미러 에러이며, 또 다른 하나는 높은 미러 에러이다. 우리는 alignment error에 대해 오름차순으로 정렬하고 이에 대응하는 mirror error와 함께 그래프를 그렸다. 

비록 GN-DPM과 RCPR의 다른 방법이더라도, 두 방법 모두 mirror error가 alignment error가 증가함에 따라 증가하는 경향을 보였다. 적색 그래프에는 몇 개의 잡음이 있다. 예를 들면, 낮은  와 높은 . 이것은 원본 영상에서는 해당 알고리즘이 잘 동작하여 작은 에러를 갖는 반면에, mirror 영상에서는 높은 에러를 갖는다는 것을 의미한다. 또한, 가 높은 경우에서 mirror error가 높은 경우는 크게 3개 종류로 분류할 수 있다.

1) 낮은  와 높은  : 원본 영상에서는 잘 되나, 미러 영상에서는 잘 안되는 경우

2) 높은  와 낮은  : 원본 영상에서 잘 안되고, 미러 영상에서 잘 되는 경우 ( 그림 5의 우측 샘플 이미지 참조)

3) 높은 와 높은  : 원본 영상과 미러 영상 둘다 잘 안되는 경우 ( 그림 6의 우측 샘플 이미지 참조)



이러한 통찰을 정량화 하기위해, 우리는 mirror error와 alignment error간의 상관 관계를 그림 7에서 보여준다. 그림과 같이 4개의 방법 모두 mirror error와 alignment error 간의 강한 상관 관계를 갖는다. (상관계수 범위는 0.64-0.74 : 이것은 매우 높은 것이다.) 



우리는 또한 원본 영상과 미러 영상의 alignment error를 그려보았다. 그림 8과 같이, 의 상관 관계를 보아라.

그림과 같이, 미러 영상의 에러와 원본 영상의 에러 간에 매우 큰 상관 관계가 있음을 볼 수 있다. (상관 계수는 0.69~0.99) 

우리는 다음과 같은 결론을 얻을 수 있었다. 

1) 어떤 방법이 어떤 영상에서 localize에 실패할 경우, 미러 영상에서도 실패할 것이다. 

2) 원본 영상과 미러 영상의 실패는 일관되게 대칭이지 않는다. 따라서 mirror error는 alignment error와 상관된다.

-> 해석 : 결국 검출이 실패된 경우라면, 원본 영상에서의 검출 결과와 미러 영상의 검출 결과가 다를 것이라는 이야기이다. 만약 검출이 정상적으로 된 것이라면, 미러 영상에서도 정상적으로 검출이 될 확률이 높기 때문에, mirror error가 낮겠지만, 검출에 실패한 경우라면, 원본 영상 결과와 미러 영상 결과가 다르기 때문에, mirror error가 높게 나타날 것이라는 의미인 듯 함.

마지막으로 랜덤 효과에 대해 평가를 위해, 우리는 작은 양의 가우시안 노이즈를 추가하여 얼굴 바운딩 박스 위치를 초기화하거나(SDM, IFA의 경우),  초기 Shape(GN-DPM, RCPR의 경우)에 노이즈를 추가하고 재학습하였다. 하지만 위와 유사한 결과를 얻었다.


■ Mirrorability Application

이전 절에서, 우리는 실제 에러인 객체의 alignment error와 mirror error가 강한 상관관계를 갖는 좋은 속성을 보여줬다. 이번 절에서는 두 종류의 실제 응용에 어떻게 사용할 것인지를 보일 것이다. 하나는 어려운 샘플을 선택하는 것이고, 또 다른 하나는 케스케이드 얼굴 정렬에서 피드백 제공을 위한 것이다.

Difficult samples selection

얼굴 정렬을 포함하여 컴퓨터 비전 분야에서, 어떤 샘플들은 다른 것들보다 상대적으로 매우 어렵다. 그것들은 다른 샘플보다 에러가 높다. 그러나. 해답을을 모르고, 주어진 샘플에 대해서 평가하는 것은 매우 어렵다. 하지만, 그러한 평가 방법은 매우 유용하다. 예를 들면, Active learning에서 annotation하기 위해 샘플들을 선택하거나, 주어진 데이터 셋에서 적절한 정렬 모델을 선택할 경우.

여기서 우리는 얼굴 정렬 문제에서 mirror error가 어려운 샘플을 선택하기위해 어떻게 사용되는지를 보여준다. 이를 위해 4개의 방법으로 300W의 테스트 이미지를 적용하고, 검출 결과를 획득하였다. 그리고, 우리는 mirror error를 정규화 시키고, 내림 차순으로 정렬하였다. 그리고, 처음 M개의 샘플들을 가장 어려운 샘플들로 선택하였다. 이것을 이라 하겠다.

우리는 이렇게 선택된 샘플들이 정말 어려운 샘플들인지 평가하기 위해, alignment error가 가장 높은 M개의 데이터와 위에서 선택한 M개의 데이터가 얼마나 겹치는지를 평가했다. 


그림 9는 실험 결과를 보여준다.  결국, 미러 에러와 정렬 에러를 기준으로 겹치는 샘플들의 양이 70%이상이라는 것이다. 좀 더 흥미로운 사실은 서로 다른 방법들로 정렬 에러와 미러 에러를 통해 consistency rate를 구해본 결과 최소 0.56에서 최대 0.68의 값을 보였다. 이것은 선택된 샘플들이 정말 어려울 뿐 아니라, 다른 방법으로 해도 어렵다는 것을 보여주는 것이다. 다시 말해서, 이것은 같은 영상들에 대해 4개의 방법 모두 어렵다는 것을 말해준다.

- 생략

결론적으로 

1) 어려운 샘플들은 방법이 달라도 어렵다.

2) 미러 에러에 의해 선택된 어려운 샘플들은 다른 알고리즘에서도 높은 consistency를 보인다.


Feedback on cascaded face alignment

최근 SDM, IFA, CFAN, RCPR과 같이 케스케이드 방법은 보통 영상에서 좋은 결과를 보여준다. 비록 그것들이 다른 regressor와 feature를 사용하더라도, 각 반복마다 다음과 같은 전략을 따른다. 먼저 몇 개의 초기 Shape 또는 하나의 Shape으로 시작한다. 그리고, 반복마다 regressor를 적용하여 shape을 업데이트하고 수정해 나간다. 이러한 방법들은 본질적으로 초기 위치에 매우 민감하다.  [24]논문에서 언급한 바와 같이, 오직 최적화된 shape의 범위 안에 초기화 디ㅗㄹ 경우 올바른 해답에 도달한다. 이러한 문제를 해결하기 위해, [5]에서는 몇개의 랜덤 위치를 사용하고, 이 들 결과 중 median 값을 최종 값으로 정하는 것을 제안했다. 하지만 몇 개의 랜덤 위치를 생성하여 초기화 하는 것이 항상 올바른 해답에 도달한다는 것을 보장하진 않는다. [4]논문에서는 어느정도 개선된 smart restart를 제안했다. 이 구조는 다른 초기 위치로 시작하고, 케스케이드의 10%만 일단 적용한다. 그리고, 예측된 결과의 분산을 측정한다. 만약 분산이 임계값보다 작다면, 나머지 90% 케스케이드를 적용하고, 반대의 경우라면, 다른 초기 위치로 재시작한다.

 여기서, 우리는 mirror error를 이용한 피드백 방법을 제안한다. 좀 더 구체적으로 보면, 테스트 이미지가 주어지면 먼저, 미러 영상을 생성한다. 그리고, RCPR 모델로 원본 영상과 미러 영상에 대해 수행하고, mirror error를 계산한다. 만약 mirror error가 임계값보다 크다면 다른 초기 위치로 재시작을 한다. 반대의 경우라면 계속 진행한다. 이러한 프로시져는 mirror error가 조건에 만족할때까지 진행될 수 있고, 또는 최대 반복 횟수에 도달할 때까지 진행될 수 있다. 마지막 초기화 위치의 결과를 유지하는 원래 RCPR 방법과 대조적으로, 우리는 가장 작은 mirror error를 갖는 결과를 유지시킨다. 이것은 과거 초기 위치보다 새로운 랜덤 위차가 더 좋은 결과를 보이지 않을 수도 있기 때문이다.


먼저, 우리는 피드백 스키마의 효과에 대해 평가한다. 이상적으로, 재시작은 현재 초기화가 좋은 해답에 도달할 수 없을때 수행되어야 한다. 우리는 두개의 분류 문제로 다루어 평가 기반 precision-recall을 사용하여 결과를 보인다. 얼굴 정렬은 정렬 에러의 평균이 10% 미만이라면 good 클래스, 반대라면 bad 클래스(이 경우에는 재시작이 필요)로 구분한다. precision은 bad 클래스에 속하는 전체 갯수로 bad 클래스로 분류된 샘플 수를 나눠 계산한다. Recall은 bad 클래스에 속하는 전체 샘플 수로 true positive의 갯수를 나눠 계산한다. 

공평한 비교를 위해, 우리는 mirror error의 임계값을 RCPR의 재시작 결과의 recall과 유사한 결과가 나오도록 조정하였다. 따라서 더 좋은 성능을 위해 파라미터 최적화가 가능하다는 것을 주의하라. 그림 10에서 보듯이, recall은 유사하고, 우리가 제안한 스키마는 좀 더 좋은 precision을 보인다.  

결국 다른 알고리즘으로 제안한 방법의 restart를 수행한 것과 기존 방법대로 진행한 방법과의 에러 값을 비교하였더니, 제안한 방법의 restart를 수행한 결과가 좀 더 적은 error값을 보였다는 이야기.







반응형