대화형 이미지 세분화 작업 가이드

한 이미지에는 의자의 사진이, 다른 이미지에는 모델이 의자를 감지했음을 나타내기 위해 의자가 강조 표시된 동일한 이미지가 나란히 표시된 이미지

MediaPipe Interactive Image Segmenter 태스크를 사용하면 이미지를 선택한 객체와 그 외 모든 항목이라는 두 영역으로 나눌 수 있습니다. 이 작업은 이미지에서 위치를 가져와 해당 위치에서 객체의 경계를 추정하고 객체의 영역을 정의하는 이미지 데이터를 반환합니다. 이 태스크를 사용하여 이미지에서 객체를 대화식으로 선택하고 출력을 사용하여 객체를 강조 표시하는 색상 오버레이나 주변 배경을 흐리게 처리하는 등의 효과를 이미지에 적용할 수 있습니다. 이 태스크는 머신러닝 (ML) 모델을 사용하여 이미지 데이터를 처리하며 단일 이미지, 동영상 파일 또는 연속 동영상 스트림에서 사용할 수 있습니다.

사용해 보기

시작하기

대상 플랫폼에 관한 다음 구현 가이드 중 하나에 따라 이 작업을 시작합니다. 다음 플랫폼별 가이드에서는 권장 모델, 권장 구성 옵션이 포함된 코드 예시 등 이 작업의 기본 구현을 안내합니다.

태스크 세부정보

이 섹션에서는 이 태스크의 기능, 입력, 출력, 구성 옵션을 설명합니다.

기능

  • 입력 이미지 처리 - 처리에는 이미지 회전, 크기 조절, 정규화, 색상 공간 변환이 포함됩니다.
태스크 입력 태스크 출력
  • 이미지에 있는 객체의 관심 장소 좌표
  • 처리할 이미지 파일
대화형 이미지 세그먼터는 설정된 구성 옵션에 따라 다음 중 하나 또는 둘 다를 포함할 수 있는 세분화된 이미지 데이터를 출력합니다.
  • CATEGORY_MASK: 세그먼트된 마스크가 uint8 형식 이미지로 포함된 목록입니다. 각 픽셀 값은 관심 영역에 있는 객체의 일부인지 여부를 나타냅니다.
  • CONFIDENCE_MASK: float32 형식의 픽셀 값이 있는 세분화된 마스크가 포함된 채널 목록입니다. 각 픽셀 값은 관심 영역에 있는 객체의 일부라는 신뢰도를 나타냅니다.

구성 옵션

이 태스크에는 다음과 같은 구성 옵션이 있습니다.

옵션 이름 설명 값 범위 기본값
output_category_mask True로 설정하면 출력에 세분화 마스크가 uint8 이미지로 포함되며, 여기서 각 픽셀 값은 픽셀이 관심 영역에 있는 객체의 일부인지 여부를 나타냅니다. {True, False} False
output_confidence_masks True로 설정하면 출력에 세분화 마스크가 부동 소수점 값 이미지로 포함됩니다. 여기서 각 부동 소수점 값은 픽셀이 관심 영역에 있는 객체의 일부라는 확신을 나타냅니다. {True, False} True
display_names_locale 가능한 경우 태스크 모델의 메타데이터에 제공된 표시 이름에 사용할 라벨의 언어를 설정합니다. 기본값은 영어의 경우 en입니다. TensorFlow Lite Metadata Writer API를 사용하여 맞춤 모델의 메타데이터에 현지화된 라벨을 추가할 수 있습니다. 언어 코드 en

모델

대화형 이미지 세그멘터는 두 개 이상의 ML 모델과 함께 사용할 수 있습니다. 이 작업으로 개발을 시작할 때는 타겟 플랫폼에 권장되는 기본 모델부터 시작하세요. 사용 가능한 다른 모델은 일반적으로 성능, 정확성, 해상도, 리소스 요구사항 간에 절충점을 찾으며 경우에 따라 추가 기능을 포함합니다.

이 모델은 관심 영역의 이미지 좌표가 주어지면 세그먼트를 식별합니다. 이 모델은 맞춤 디코더와 함께 MobileNetV3 아키텍처와 유사한 컨볼루션 신경망을 사용합니다.

모델 이름 입력 셰이프 양자화 유형 모델 카드 버전
MagicTouch 512 x 512 x 4 None (float32) 정보 최신

작업 벤치마크

다음은 위의 사전 학습된 모델을 기반으로 한 전체 파이프라인의 태스크 벤치마크입니다. 지연 시간 결과는 CPU / GPU를 사용하는 Pixel 6의 평균 지연 시간입니다.

모델 이름 CPU 지연 시간 GPU 지연 시간
MagicTouch 130.11ms 67.25ms