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

MediaPipe 양방향 이미지 분할기 작업을 사용하면 이미지를 두 영역, 즉 선택된 객체와 그 외 모든 영역으로 나눌 수 있습니다. 이 작업은 이미지의 위치를 가져와 해당 위치에서 객체의 경계를 추정하고 객체의 영역을 정의하는 이미지 데이터를 반환합니다. 이 작업을 사용하면 이미지의 객체를 대화형으로 선택하고 출력을 사용하여 객체를 강조 표시하거나 객체 주변의 배경을 흐리게 처리하는 색상 오버레이와 같은 효과를 이미지에 적용할 수 있습니다. 이 작업은 머신러닝 (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를 사용하여 커스텀 모델의 메타데이터에 현지화된 라벨을 추가할 수 있습니다. 언어 코드 한국어

모델

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

이 모델은 관심 지역의 이미지 좌표가 지정된 세그먼트를 식별합니다. 이 모델은 맞춤설정된 디코더가 있는 MobileNetV3 아키텍처와 유사한 컨볼루셔널 신경망을 사용합니다.

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

작업 벤치마크

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

모델 이름 CPU 지연 시간 GPU 지연 시간
MagicTouch 130.11밀리초 67.25밀리초