-
Notifications
You must be signed in to change notification settings - Fork 18
Test Augmentation
Ildoo Kim edited this page Apr 17, 2018
·
2 revisions
Image Scaling, Flipping 등으로 Prediction 결과를 여러 개 얻음
-
첫번째 Inference를 통해 얻어진 결과로부터, Nuclei Cell의 대략적 크기를 알 수 있다. 이 정보를 이용해 특정 사이즈에 맞추도록 사이즈를 조절한 후, 다시 네트워크로부터 결과를 얻을 수 있다. 이렇게 하면, 성능이 잘 나올만한 Cell 크기로 정규화한 상태에서 결과를 얻으므로 성능 향상에 도움이 될 수 있다.
-
일괄적으로 크기 조절할 비율을 정해놓고 할 수도 있다. 실험 상 (1)에 비해 성능이 좋지 않았다.
좌/우, 위/아래 반전 후 다시 한번 Inference한 결과를 취합한다.
N개의 Augmentation으로부터 얻어진 결과에서 특정 수 이상 나올 경우에만 최종 결과로 사용하도록 하는 방식이다. 예를 들어 5개의 앙상블 모델(테스트 어그먼테이션)으로부터 얻어진 결과를 취합해보니, 특정 Cell은 2번만 prediction되었다면, 이는 False Positive일 확률이 높으므로, 제거하는 형태라고 할 수 있다. 이를 통해서 실제로 False Positve 수가 월등히 줄어들기 때문에, 성능 개선에 영향을 미쳤다.
일반적으로 사용되는 Non-Maximum Suppression 을 통해 비슷한 위치에 존재하는 Cell을 하나로 합치되, 이 때 높은 점수의 Cell을 사용하도록 한다.
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 |
Data Handling
Models
Ensemble
Etc