MediaPipe 양방향 이미지 분할기 작업을 사용하면 이미지를 두 영역, 즉 선택된 객체와 그 외 모든 영역으로 나눌 수 있습니다. 이 작업은 이미지의 위치를 가져와 해당 위치에서 객체의 경계를 추정하고 객체의 영역을 정의하는 이미지 데이터를 반환합니다. 이 작업을 사용하면 이미지의 객체를 대화형으로 선택하고 출력을 사용하여 객체를 강조 표시하거나 객체 주변의 배경을 흐리게 처리하는 색상 오버레이와 같은 효과를 이미지에 적용할 수 있습니다. 이 작업은 머신러닝 (ML) 모델을 통해 이미지 데이터에서 작동하며 단일 이미지, 동영상 파일 또는 연속 동영상 스트림에 사용할 수 있습니다.
시작하기
이 작업의 사용을 시작하려면 대상 플랫폼별 구현 가이드 중 하나를 따르세요. 다음의 플랫폼별 가이드에서는 권장 모델, 권장 구성 옵션이 있는 코드 예를 포함하여 이 작업의 기본 구현을 설명합니다.
태스크 세부정보
이 섹션에서는 이 태스크의 기능, 입력, 출력 및 구성 옵션을 설명합니다.
기능
- 입력 이미지 처리 - 처리에는 이미지 회전, 크기 조절, 정규화, 색 공간 변환이 포함됩니다.
작업 입력 | 작업 출력 |
---|---|
|
양방향 이미지 세분화는 설정된 구성 옵션에 따라 다음 중 하나 또는 둘 다를 포함할 수 있는 분할된 이미지 데이터를 출력합니다.
|
구성 옵션
이 태스크에는 다음과 같은 구성 옵션이 있습니다.
옵션 이름 | 설명 | 값 범위 | 기본값 |
---|---|---|---|
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 모델에 사용할 수 있습니다. 이 작업으로 개발을 시작할 때는 대상 플랫폼에 권장되는 기본 모델로 시작하세요. 사용 가능한 다른 모델은 일반적으로 성능, 정확성, 해상도, 리소스 요구사항을 절충하며, 경우에 따라 추가 기능을 포함합니다.
MagicTouch 모델 (권장)
이 모델은 관심 지역의 이미지 좌표가 지정된 세그먼트를 식별합니다. 이 모델은 맞춤설정된 디코더가 있는 MobileNetV3 아키텍처와 유사한 컨볼루셔널 신경망을 사용합니다.
모델 이름 | 입력 형태 | 양자화 유형 | 모델 카드 | 버전 |
---|---|---|---|---|
MagicTouch | 512 x 512 x 4 | 없음 (float32) | 정보 | 최신 |
작업 벤치마크
다음은 위의 선행 학습된 모델을 기반으로 전체 파이프라인에 대한 작업 벤치마크입니다. 지연 시간 결과는 CPU / GPU를 사용하는 Pixel 6의 평균 지연 시간입니다.
모델 이름 | CPU 지연 시간 | GPU 지연 시간 |
---|---|---|
MagicTouch | 130.11밀리초 | 67.25밀리초 |