Skip to content

Test Augmentation

Ildoo Kim edited this page Apr 17, 2018 · 2 revisions

Test Augmentation

Image Scaling, Flipping 등으로 Prediction 결과를 여러 개 얻음

Methods

Scaling

  1. 첫번째 Inference를 통해 얻어진 결과로부터, Nuclei Cell의 대략적 크기를 알 수 있다. 이 정보를 이용해 특정 사이즈에 맞추도록 사이즈를 조절한 후, 다시 네트워크로부터 결과를 얻을 수 있다. 이렇게 하면, 성능이 잘 나올만한 Cell 크기로 정규화한 상태에서 결과를 얻으므로 성능 향상에 도움이 될 수 있다.

  2. 일괄적으로 크기 조절할 비율을 정해놓고 할 수도 있다. 실험 상 (1)에 비해 성능이 좋지 않았다.

Flipping

좌/우, 위/아래 반전 후 다시 한번 Inference한 결과를 취합한다.

Voting & NMS

Voting

N개의 Augmentation으로부터 얻어진 결과에서 특정 수 이상 나올 경우에만 최종 결과로 사용하도록 하는 방식이다. 예를 들어 5개의 앙상블 모델(테스트 어그먼테이션)으로부터 얻어진 결과를 취합해보니, 특정 Cell은 2번만 prediction되었다면, 이는 False Positive일 확률이 높으므로, 제거하는 형태라고 할 수 있다. 이를 통해서 실제로 False Positve 수가 월등히 줄어들기 때문에, 성능 개선에 영향을 미쳤다.

NMS

일반적으로 사용되는 Non-Maximum Suppression 을 통해 비슷한 위치에 존재하는 Cell을 하나로 합치되, 이 때 높은 점수의 Cell을 사용하도록 한다.

Results

Base Network # Augs Test Augmentation Valid Score LB Score
UNetValid Best9 1 - 0.5472 0.496
UNetValid Best9 3 Flip 0.5466 0.501
UNetValid Best9 2 Scale(80px target) 0.5870 0.488
UNetValid Best9 4 Scale(80px, 0.5x~1.5x) + Flip 0.5573 0.506
UNetValid Best9 4 Scale(80px, 0.5x~2.0x) + Flip 0.5484 0.513
UNetValid Best9 4 Scale(80px, 0.5x~3.0x) + Flip 0.5595 0.501
UNetValid Best9 4 Scale(80px, 0.5x~2.0x) + Flip + Voting(Count>1) 0.5568 0.520
UNetValid Best9 4 Scale(80px, 0.5x~2.0x) + Flip + Voting(Count>2) 0.5573 0.523
UNetValid Best9 4 Scale(80px, 0.5x~2.0x) + Flip + Voting(Count>3) 0.5551 0.519
UNetValid Best9 6 Scale(80px, 0.5x~2.0x) X Flip + Voting(Count>3) 0.5569 0.525
UNetValid Best9 6 Scale(80px, 0.5x~2.0x) X Flip + Voting(Count>4) 0.5564 0.526