파놉틱 세분화

PyTorch로 배우는 이미지 딥러닝

Michal Oleszak

Machine Learning Engineer

파놉틱 세분화 과제

원본 이미지

원본 이미지

시맨틱 세분화

시맨틱 세분화

인스턴스 세분화

인스턴스 세분화

파놉틱 세분화

파놉틱 세분화

PyTorch로 배우는 이미지 딥러닝

파놉틱 세분화 워크플로

  • 시맨틱과 인스턴스 세분화 결합은 복잡할 수 있습니다:

    • 겹침
    • 고유 인스턴스 ID 보장
  • 워크플로:

    1. 시맨틱 마스크 생성
    2. 단일 마스크로 결합
    3. 파놉틱 마스크를 시맨틱 마스크로 초기화
    4. 인스턴스 마스크 생성
    5. 인스턴스 마스크를 순회하며 검출 객체를 시맨틱 마스크에 오버레이
PyTorch로 배우는 이미지 딥러닝

시맨틱 마스크

model = UNet()

with torch.no_grad():
    semantic_masks = model(image_tensor) 
    print(semantic_masks.shape)
torch.Size([1, 3, 427, 640])
semantic_mask = torch.argmax(
  semantic_masks, dim=1
)
  • 모델 인스턴스화
  • 입력 이미지의 시맨틱 마스크 생성
  • 각 픽셀에서 최고 확률 클래스를 선택

시맨틱 마스크

PyTorch로 배우는 이미지 딥러닝

인스턴스 마스크

model = MaskRCNN()

with torch.no_grad(): instance_masks = model(image_tensor)[0]["masks"] print(instance_masks.shape)
torch.Size([80, 1, 427, 640])
  • 인스턴스 세분화 모델 로드
  • 인스턴스 마스크 생성

인스턴스 마스크

PyTorch로 배우는 이미지 딥러닝

파놉틱 마스크

panoptic_mask = torch.clone(semantic_mask)

instance_id = 3 for mask in instance_masks:
panoptic_mask[mask > 0.5] = instance_id
instance_id += 1
  • 파놉틱 마스크를 semantic_mask로 초기화
  • 인스턴스 마스크 반복 처리
  • mask > 0.5인 곳을 인스턴스 ID로 설정
  • 인스턴스 ID 증가

파놉틱 마스크

PyTorch로 배우는 이미지 딥러닝

연습해 봅시다!

PyTorch로 배우는 이미지 딥러닝

Preparing Video For Download...