본문 바로가기
Digital pathology

Cellpose: a generalist algorithm for cellular segmentation

by 연금(Pension)술사 2025. 6. 25.

Preliminary


  • Instance segmentation: 
    • total loss = class loss + bbox loss + masking loss
    • masking loss은 인스터별로 BCE을적

 

 

Motivation


  • 현미경이미지에서 Cell segmentation을 진행하는게 데이터에 특이적이라 일반화가 어려움.
  • 그래서, Data Science Bowl challange을 2019년에 열었고, 이 Cellpose 논문은 이 챌린지의 후속작으로 데이터를 더 많이 모은 
  • Data Science Bowl challange에서는 핵을 주로 찾는 대회였는데, 이 연구에서는 더 다양한 이미지의 세포를 분절하는게 목적

 

Methods: Instance segmentation model


마스킹 변환

  1. Cell mask prediction: 인스턴스 세그멘테이션으로 라벨링 되어있어서, 바이너리 마스킹으로 변환
  2. 마스킹의 중심으로부터 heat diffusion 
    • Cellpose은 pixel-wise로 마스킹레이블을 직접 예측하지 않고, 세포중심을 향해 흐르는 방향을 예측함. 즉, 특정픽셀이 어느방향으로 가야 중심으로 도달할 수 있는가라는 것을 에측함. 이를 만들어 내기위해서, 마스크 중심에 heat source을 두고 diffusion을 시뮬레이션한뒤에 최종 gradient을 flow vector로 사용. (언덕(=중심)이 어디인지 알 수 있음)
    • 모든 픽셀에 대해서 이 gradient ascending을 수행하면 중심에 모일 것이고, 중심에 도달한 픽셀들을 묶어서 하나의 세포마스크로 복원할 수 있다.
    • Cellpose에서는 bounding box도 없고, instance ID도 정해져있고, 한 이미지에서 모든 인스턴스를 찾고 분리해야할 때, 픽셀마다 얘가 어떤 그룹인가를 알아야하는데, 그 용도로 flow field을 만듬. (보통 이를 구분하려고 Mask R-CNN에서는 ROI별로 인스턴스를 찾고, 그 안에서 마스킹예측)
    • 이를 x축 방향, y축방향으로 flow을 만들어서, x축방향이 [-1,1] y축방향이 [-1, 1]으로 가도록하여 방향을 지시. 

 

네트워크 구조 및 입출력

  • 구조는 일반적인 Unet 아키텍처
  • 입력: 2채널 이미지 
    • 채널0: H,W의 세포질 정보 (형광 염색이라서 단일채널)
    • 채널1(DAPI): 핵 채널이 있는 경우만 사용. 채널1이 없는 경우 채널 0 (=DAPI(DNA 염색 형광물질))
  • 출력: [flow_x, flow_y, instance_prob]
  • 손실함수
    • $L_{total} = \lambda ||\hat{f} - f||_{2}^{2} + BCE(\hat{p}, p)$
    • 첫번째항을 flow regression으로 각 픽셀이 중심을 가르키는 방향이 올바른지 예측하는 것이고(이것으로 인스턴스를 묶음)
    • 두번째항은 마스킹여

 

데이터셋

  • 특이 데이터셋: 100 flourescent images
  • 일반 데이터셋: 100 flourescent cytoplasmic marker images + 512 
  • 핵 데이터:  1139 images (MoNuSeg 포함, H&E)
반응형