12월 7일 Women in ML 심포지엄 참석 지금 등록

분류

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이미지 분할은 디지털 이미지를 여러 세그먼트(픽셀 집합, 이미지 개체라고도 함)로 분할하는 프로세스입니다. 세분화의 목표는 이미지 표현을 보다 의미 있고 분석하기 쉬운 것으로 단순화 및/또는 변경하는 것입니다.

다음 이미지는 Android에서 이미지 분할 모델의 출력을 보여줍니다. 모델은 높은 정확도로 대상 개체 위에 마스크를 만듭니다.

시작하다

TensorFlow Lite를 처음 사용하고 Android 또는 iOS로 작업하는 경우 시작하는 데 도움이 될 수 있는 다음 예제 애플리케이션을 탐색하는 것이 좋습니다.

TensorFlow Lite Task Library 에서 즉시 사용 가능한 API를 활용하여 몇 줄의 코드로 이미지 분할 모델을 통합할 수 있습니다. TensorFlow Lite Interpreter Java API 를 사용하여 모델을 통합할 수도 있습니다.

아래 Android 예제는 두 메서드 모두에 대한 구현을 각각 lib_task_apilib_interpreter 로 보여줍니다.

Android 예시 보기

iOS 예시 보기

Android 또는 iOS 이외의 플랫폼을 사용하거나 이미 TensorFlow Lite API 에 익숙하다면 시작 이미지 분할 모델을 다운로드할 수 있습니다.

스타터 모델 다운로드

모델 설명

DeepLab 은 의미론적 이미지 분할을 위한 최첨단 딥 러닝 모델로, 목표는 입력 이미지의 모든 픽셀에 의미론적 레이블(예: 사람, 개, 고양이)을 할당하는 것입니다.

작동 방식

의미론적 이미지 분할은 이미지의 각 픽셀이 특정 클래스와 연관되어 있는지 여부를 예측합니다. 이는 직사각형 영역에서 객체를 감지하는 객체 감지 및 전체 이미지를 분류하는 이미지 분류 와 대조됩니다.

현재 구현에는 다음 기능이 포함됩니다.

  1. DeepLabv1: Atrous Convolution을 사용하여 Deep Convolutional Neural Networks 내에서 기능 응답이 계산되는 해상도를 명시적으로 제어합니다.
  2. DeepLabv2: 우리는 ASPP(Atrous Spatial Pyramid Pooling)를 사용하여 여러 샘플링 속도와 효과적인 시야의 필터를 사용하여 여러 규모의 개체를 강력하게 분할합니다.
  3. DeepLabv3: 더 긴 범위의 정보를 캡처하기 위해 이미지 수준 기능[5, 6]으로 ASPP 모듈을 보강합니다. 또한 훈련을 용이하게 하기 위해 배치 정규화[7] 매개변수를 포함합니다. 특히, 우리는 훈련 및 평가 동안 다른 출력 스트라이드에서 출력 특성을 추출하기 위해 아트러스 컨볼루션을 적용하여 출력 스트라이드 = 16에서 훈련 BN을 효율적으로 가능하게 하고 평가 동안 출력 스트라이드 = 8에서 고성능을 달성합니다.
  4. DeepLabv3+: DeepLabv3를 확장하여 특히 객체 경계를 따라 분할 결과를 개선하기 위해 간단하면서도 효과적인 디코더 모듈을 포함합니다. 또한 이 인코더-디코더 구조에서는 정밀도와 런타임을 절충하기 위해 atrous convolution을 통해 추출된 인코더 기능의 해상도를 임의로 제어할 수 있습니다.

성능 벤치마크

성능 벤치마크 수치는 여기에 설명 된 도구로 생성됩니다.

모델명 모델 사이즈 장치 GPU CPU
딥랩 v3 2.7MB 픽셀 3(안드로이드 10) 16ms 37ms*
픽셀 4(안드로이드 10) 20ms 23ms*
아이폰XS(iOS 12.4.1) 16ms 25ms**

* 4개의 스레드가 사용되었습니다.

** 최고의 성능 결과를 위해 iPhone에서 사용된 2개의 스레드.

추가 읽을거리 및 리소스