Preliminary
- CBIR(content-based image retrieval): 이미지 내용기반 검색 방법. 주로 WSI을 패치화후 집계한 특징을 이용
- mMV@k (majority top-k accuracy): 상위 k개의 검색결과에서 가장 많이 등장한 라벨이, 쿼리패치 라벨과 정답이 일치하는지를 측
주요 방법론
- Yottixel (2019, MIA)
- 모자이크 생성
- 입력: 하나의 WSI
- 패치화: 저해상도 조직 영역만 패치화 진행(5x)
- RGB 히스토그램계산: 각 패치의 모든 RGB histogram 계산
- 컬러 기반 클러스터링: 2.에서 계산한 RGB 히스토그램을 벡터로 고려하여 클러스터링을 진행. (색상기반 클러스터, k=9)
- 위치 내부클러스터링: 3.에서 계산한 각 클러스터 내부에서도 위치 기반으로 클러스터링을 한번 더 진행 (전체 패치의, 5%)
- BoB(Burnch of Barcodes) 계산:
- 특징화: 모자이크 패치들을 DenseNet기반으로 특징화. 적용은 DensNet -> KimiaNet으로 추후 사용됨.
- 차분 기반 이진화: $\Delta F_{i} = F_{i+1} - F_{i}$. Min-max algorith을 이용한 이진화 (Hamming distance 측정이 CPU에서 유리하기에.. AND 연산만하면됨). 1023비트 바코트
- 쿼리방법(쿼리슬라이드 -> DB 슬라이드) 거리측정:
- 쿼리슬라이드의 바코드와 특정 i DB 슬라이드의의 패치바코드와 비교를 쌍으로 진행
- 쿼리 슬라이드 패치가 Q고, DB 슬라이드의 패치가 D라면
- Q * D을 진행하고, D축에 대해서 최소값을 구해서 Q개만 남김.
- 중앙값 계산: D집합에 대해서 중앙값 계산
- 모델 평가방법: 2개의 데이터셋
- Dataset
- UMPC(Cancer diagnosis, 다장기)
- TCGA: Primary site
- 실험
- Slide to slide: 동일한 primary site인지 찾는 테스크
- 분류문제: 서브타입 분류. 검색기능이 좋으면 의미적으로 서로 다른 범주의 결정경계가 있어야한다는 가정. Leave-one-out으로 쿼리슬라이드 제외하고 어떤 서브타입인지.
- Dataset
- 모자이크 생성
=> 패치수준도 계산. 그냥 이진화 특징에 대한 유사도만 계산하면됨.
SISH(2022, Nature biomedical engineering)
- 모자이크 패치 추출: Yottixel 방식과 동일하게 2-stage로 클러스터링
- VQ(Vector quantised)-VAE 사전학습:
- 이산 코드북 학습: $e \in \mathbb{R}^{k\times}D$에서 가장 가까운 코드북을 택해서 d로 양자화가 가능 (VAE와의 차이는 latent z을 연속형을 쓰는게 아니라, 양자화해서 사용)
- K, D의 코드북 사전 모양: K=128개 codewords, 각 code차원은 256차원. KxD에서 D에 가까운 K을 선택하게 함.
- Encoder(x): 64x64의 특징화가 진행. 이 64x64의 각 위치마다 256-d vector가 생성.
- Encoder -> $z_{e}$ (연속표현) -> Vector quantization -> $z_{e}$에서 가장 가까운 코드라인 선택-> one-hot으로 양자화 ($z_{q}$) -> 디코더로 재구성
- 이산 코드북 학습: $e \in \mathbb{R}^{k\times}D$에서 가장 가까운 코드북을 택해서 d로 양자화가 가능 (VAE와의 차이는 latent z을 연속형을 쓰는게 아니라, 양자화해서 사용)
- 인덱스 생성: 3단 AvgPool진행: 토큰맵을 2x2 average poolinㅎ을 3번해서 (64->32->16->8)로 각각 세 가지의 스케일링을 진행. 이 토큰값을 모두 더해서 x,y,z을 만들고 m(=p)=x+y10^{6}+z10^{11}으로 자리수를 분리함. (z가 저배율특징)
- 보조 특징 추가: DenseNet121기반의 특징화를 이진화해서 1023bit 특징백터를 생성 (색감/위치만 가지고는 질감 구분이 부족할 수 있어서 이렇게 진행). fusion하는건아니고 보조 feature로 사용.
- 검색
- Guided-vEB Search:
- 인덱스 확장: 상수C (50x10^{11}), 반복회수T: 10. 쿼리할 패치의 인덱스m으로부터, 원래키랑 인접 10xC만큼 거리가 있는 인덱스들을 후보세트에 넣음.
- vEB 탐색(Forward/Backward search): 각 후보키에 대해서, vEB.succesor(). 앞쪽 375개, vEB Predecessor()으로 뒷쪽 375개를 구함. 즉, 총 10개씩 반복 x 2(선행+후행) x 375개씩 가져옴. (vEB트리가 정렬 정수키 구조여서 가능) [반 엠데 보아스 트리]
- 해밍필터: 가져온 이웃키의 패치 바코드와 쿼리바코트와의 해밍거리를 계산해서, 일부만 남김. 즉, 저배율의 색/위치만 비슷하고 질감이 다른 경우를 제거.
- 슬라이드 랭킹:
- 모든 패치마다 Guided vEB search을 진행. 슬라이드(i)당 R={r_{1},... r_{k}}가 생성
- 가중빈도 계산: r_{i}안에 슬라이드 label의 빈도를 샘. (메타데이터를 이용. 각 장기에서 드문 진단일수록 가중치를 더)
- 슬라이드 진단 라벨을 사용: 쿼리패치 $p_{i}$에 대해서, 여러 유사한 슬라이드가 나올꺼니까, 슬라이드가 희귀한 라벨수록 가중치를 더 많이줌.
- 가중치: 라벨 빈도$f_{k}$의 역수로 가중치 부여. $w_{k} = 1 / f{l}$. 드물게 존재하는 희귀종양은 후보 리스트 안에 조금만 모여도 정보가치가 크다고 생각.
- Clean: |r_{i}|의 길이가 너무 긴경우 5-95 수준에서 잘라 버림.
- Filtered by prediction: 가장 확실한 5개의 패치를 선택(엔트로피 기준)하고, 라벨 가중합을 구해서 슬라이드 GT을 구함. 다른 $r_{i}$의 최다 라벨이 pseudo-GT와 다르면 $r_{i}$을 삭제. (다수결 원칙0
- 엔트로피 오름차순으로 정
- 기타
- rare cancer dataset: TCGA와 BWH cohort을 비교해서 구함. 1.785 slide정도 획득.
- 평가방법
- Slide dataset
- TCGA: 13개의 장기, 29개의 서브타(yottixel과의 비교). 20x tilinng
- CPTAC
- BWH (in-house data)
- Patch:
- Kather100k:
- BWH in-house prostate
- WSSSS4LUAD
- Atlas
- Slide dataset
- Guided-vEB Search:
- RCCNet (2023, Medical image analysis)
- 대조학습: Contrastive learning이며, 2개의 InfoNCE으로 진행.
- 입력: $x_{p}, x_{k}, x_{q}$
- 특징화: Feature extractor에서 각각 3개의 특징벡터 생성 $h_{p}, f_{k}, h_{q}$
- 각 2개의 MLP 해드가 붙어있어서, 각 2개의 벡터를 생성. 예) $h_{p} -> g_{p_{1}}, g_{p_{2}}$
- 원본만 그대로 하나의 벡터를 사용
- 대조학습
- weighted InfoNCE: 2번째 그룹벡터 $g_{p_{2}, g_{q_{2}}, g_{k}}$ 로 대조학습. (단점: 유사패치임에도 원본이랑은 달라서 밀어버리는 경우가 있음)
- group-level InfoNCE: 미니배치 내부에서 클러스터링을 하고, 클러스터링 중심끼리 양/음으로 나눠서 학습.
- 미니배치(N=256)에서 임베딩을 S=30개의 클러스터로 묶음
- negative & positive 정의 (각각의 뷰에서..., Cross-view contrastive learning)
- Anchor: $g_{p_{1}}$
- Positive centroid: $g_{h_{1}}$에서 가장가까운 centroid
- negative centroid: 그
- Q개의 클러스터로 진행.
- 미니 배치내에서, 각 클러스터별 맴버쉽을 계산
- 검색: SISH와 유사
- 주요결과:
- Yottixel, FISH 보다 좋음.
- 대조학습: Contrastive learning이며, 2개의 InfoNCE으로 진행.
HSHR( High-Order Correlation-Guided Slide-Level Histology Retrieval With Self-Supervised Hashing )
반응형