biomedical image segmentation에서 annotation은 일부 전문가만 할 수 있고, instance가 굉장히 많은 경우도 있는데, annotation에 대한 제한된 effort로 어떤 instance들이 최고 성능을 얻기 위해 annotation되어야하는 가라는 의문점이 생긴다
natural scene과 다른 biomedical application에서의 tranining data 취득이 어려운 점:
1) only 훈련된 biomedical 전문가만 annotation할 수 있어 군중을 활용하기 어려움
2) biomedical image는 때때로 굉장히 많은 instance를 담고 있어 annotation에 대한 extensive manual effort를 발생시킴
관련연구
실험결과
요약
적용분야: 성능 향상에 도움이 될 instance들을 골라서 annotation하자! (for biomedical image segmentation)
방법: FCN (seg)과 active learning을 조합한 Deep Active Learning Framework
A New FCN
Uncertainty estimation
Similarity estimation
Annotation Suggestion
S_u: unannotated sample 전체
S_c: S_u 중 uncertained sample (K 개)
S_a: S_c 중 representative sample (k 개)
F(S_a, S_u)를 maximize해 S_c 중에 있는 S_a를 찾으면서 unannotated sample들과 유사한 k개의 hub image들을 고르고 diverse case들을 커버하는 S_a를 선별하게 됨
이를 generalized version of the maximum set cover problem으로 수식화할 수 있음
sim( , ) {0, 1}을 따르면
f(S_a, I_x)는 1 (covered) or 0 (not covered)
F(S_a, S_u)는 covered image의 총 갯수가 됨
F(S_a, S_u)가 최대가 되는 S_a에서 k-image를 찾는다는 것은 k subset의 family F 찾는다는 것이고,
maximum set cover problem은 NP-hard이고 것의 가장 가능성있는 polynomial time 근사 알고리즘은 uncovered element 중에서 가장 많은 수를 cover하는 S_i를 iterative하게 선택하는 간단한 greedy 방법임
S_a를 공집합, F(S_a, S_u) = 0으로 초기화해놓고, S_a가 k개의 image를 포함할때까지, S_a에 걸쳐 F(S_a U I_i, S_u)를 최대화하는 I_i (in S_c) 를 interative하게 더해간다.
이 알고리즘은 1-1/e의 근사 비율을 달성한다.
Datasets
Parameters and Networks
Waiting Time
Annotation Suggestion
점선이 full training data, 빨간 선이 Suggestive Annotation, 파란 선이 Uncetainty Query, 검은 선이 Random Query로 budget에 따른 성능향상을 봤는데, 50 %만 사용해도 SOTA를 찍었다.
논문이 말하는 two main contribution
(1) SOTA segmentation performance를 달성한 A new FCN model
(2) 가장 효과적인 annotation 영역으로 manual annotation effort를 direct할 수 있는 annotation suggestion approach
주어진 task의 pattern learning에 더 유의미한 sample
annotation 비용과 무관하게 생각하더라도 learning에 있어서 더 유의미한 data가 존재한다는 맥락에서 이 논문은 uncertain하면서도 representative한 sample들을 골라 annotation을 부탁하는 active learning 관점을 biomedical segmentation에 적용해서 빠른 성능 달성과 성능 향상 (전체 training data를 사용하는 것보다도) 실험결과로 입증하였음
Implementation Detail
Framework가 training - suggestion - annotation 요렇게 과정이 분리가 되어있는데,
initial annotated training sample (S_u) 의 수가 어느 정도로 설정되어있고, 어떤 시점(주기)에 S_a를 선별해 annotated training sample (S_u)에 추가하는 지에 대한 설명이 없어서 아쉬움
첫 initial annotated training sample을 선별하는 것조차도 의미가 클 거임 (그 데이터로 학습한 pattern으로 uncertain한 걸 고르면 initial training data의 패턴이 점차 누적
오히려 조금씩 annotation을 자주 부탁하면 suggestion과 annotation사이의 delay가 누적될 수 있음을 경계해야한다. 총 annotation cost를 annotation한 pixel수만 따지면 그를 간과할 수 있음