MetaUAS: Universal Anomaly Segmentation with One-Prompt Meta-Learning
change segmentation (변화한 부분만 segmentation)
anomaly segmentation 말고, change segmentation으로 페러다임을 전환하자. 이상치를 찾는 게 아니라 변화를 찾자.
metaUAS framework는 그냥 real-world의 객체를 잘 segmentation하는 foundation model 정도로 생각하자.
근데 쿼리 이미지랑 prompt의 차이는 soft feature alignment module를 통해 해결함
soft feature aligment module : bridges paired-image change perception and single-image semantic segmentation 수행.
진짜 why-> anomaly dataset없이, 순수 segmentation을 활용해서 anomaly detection을 하자.
세부사항 : language guidence 없이 하나의 image-prompt를 사용해서 segmentation하자.
anomalyGPT, Winclip은 unsemm object segmentation을 잘 하지 않나? -> 근데 이거 어노테이션을 달아야하잖아. 특히 픽셀레벨로.
-> 멘탈 모델링을 사용하자. 이건 사람처럼 텍스트 가이던스에 의존적이지 않고 입력에 대한 예상되는 출력을 가지고 있고 이에 따라 이상치를 구별하는거임.
meltal model에서는 3가지 가정이 있음
1. 처음 본 것에 대해서도 이상치를 찾아낼 정도로 일반화 성능이 좋다.
2. pixel level anomaly detection이 가능하다.
3. open-world에서 적용 가능해야 함. 측 data intensive하거나 특정 도메인에 종속되어서는 안댐!
-> one-prompt meta-learning을 가능케 하자.
related-work
Embedding-based
Discriminator-based methods
Reconstruction-based AS
이전 연구는 위와 같은 방법을 사용했음. 근데 이러한 방법은 Unseen object에 대한 detection 성능은 떨어짐. 또한 임베딩 베이스 방법은 class가 많아질수록 메모리 사용량이 올라가고, recunstruction-based는 컴퓨팅 파워가 너무 많이 들어
few-shot에서도 이미지가 여러장씩 필요하잖아. 이런게 안된다 이말이야!
-> 한 장의 정상 이미지로 one-shot-segmentation을 하자.
-> 이전 연구들에서는 여러장의 이미지가 필요하거나 서로 다른 domain의 데이터셋의 경우에는 adaptation 과정이 필요했다.
-> single image universal segmentation
일단 관전 간단하다 ㄷㄷ.
FAM에서 prompt image랑 query image랑 alignment를 잡아주고 디코더에서 segmentation을 하나보다.
기존의 fewshot segmentation은 데이터 찾기도 힘들고 여러 predefined data가 필요함.
일반적으로 anomaly에는 주로 새로운 것의 등장, 소실(사라짐), 바뀜 등이 포함
anomaly data가 필요 없음. synthesis pair image만 있으면, 그 변화(차이)를 학습함.
1. encoder에서 feature extract
2. FAM에서 각각의 feature를 비교함, meta-learning 방식을 사용한다고 함.
3. 이후 decoder로 들어가서 anomaly mask-map을 생성함.
끝.
근데 decoder들어가기 전에 pixel levle 로 alignment가 맞춰져야 하는데 이게 쉽지가 않음.
hard alignment : patch-wise한 유사도 연산을 통해 가장 높을 P, Q패치끼리 연결(P,와 Q의 미세한 위치 차이를 조)
soft : patch끼리 attention을 함. → Q패치가 P패치의 어떠한 weighted sum으로 나타낼 수 있나? 를 계산하고 해당 patch에 element-wise하게 더함.
+추가사항
Xp는 diffution 계열의 모델을 통해 만들어짐.
일반적으로 anomaly에는 주로 새로운 것의 등장, 소실(사라짐), 바뀜 등이 포함 → 원본 이미지에 앞서 말한 anomaly의 특징을 반영하여 Xp준비.
구체적으로는 mscoco에는 object별로 binary mask가 존재하는데 해당 mask를 활용해서 객체를 지우고 생성모델을 통해 자연스럽게 만듦.
데이터 pair준비는 어떻게 함? 이게 노이즈나 이런게 있는 pair는 안댐. 핵심적인 변화만을 모델링 하기 위해서 이미지 전체가 바뀌면 안되고 특정 부분만 바뀌어야 함. 복사 붙여넣기 해서 이미지에서 특정 영역만 바꿔.
어떻게? segmentation dataset, ms coco 같은걸 보면, object level binary mask가 잇잖아. 그러니까 우리는 이걸 활용해서 이미지를 없애거나 존재하게 만들 수 있음.
이러고 훈련은 negetive log likelyhood 사용해서 binary segmentation
보면, wiNCLIP이나 따른 few-shot model의 one-shot setting이랑 비슷한데 왜 이게 성능이 더 좋을까?
text prompt에 의존하지 않아서 unseen 또는 프롬프트와 잘 매칭이 되지 않는 상황 없이 robust함을 유지할 수 있음.
정리하자면, 다른 few-shot은 텍스트에 의존함. 텍스트의 품질에 영향을 크게 받는게 해당 모델은 텍스트 의존성이 없음.