본문 바로가기
Visual Intelligence/Object Detection

[Object Detection] 안드로이드 TensorFlow Lite를 사용하여 커스텀 객체 탐지 모델 빌드 및 배포 (1)

by goatlab 2023. 6. 16.
728x90
반응형
SMALL

TensorFlow Lite

 

TensorFlow는 자동차, 오렌지와 같은 일반적인 객체를 감지할 수 있는 선행 학습된 모바일 최적화 모델을 제공한다. 단 몇 줄의 코드로 모바일 앱에 선행 학습된 모델을 통합할 수 있다. 하지만 더 뚜렷하고 이례적인 카테고리의 객체를 감지해야 하거나 필요할 수 있다. 자체 학습 이미지를 수집한 다음 자체 객체 감지 모델을 학습시키고 배포해야 한다.

 

TensorFlow Lite는 Android 및 iOS 휴대기기를 비롯한 에지 기기에서 머신러닝 모델을 실행하도록 최적화된 크로스 플랫폼 머신러닝 라이브러리이다. TensorFlow Lite는 ML Kit에서 머신러닝 모델을 실행하는 데 사용되는 핵심 엔진이다. TensorFlow Lite 생태계에는 휴대기기에서 머신러닝 모델을 쉽게 학습시키고 배포하는 데 도움이 되는 두 가지 구성요소가 있다.

 

  • Model Maker는 단 몇 줄의 코드만으로 사용자의 데이터를 사용하여 TensorFlow Lite 모델을 손쉽게 학습시킬 수 있는 Python 라이브러리로, 머신러닝에 대한 전문 지식이 필요하지 않다.
  • 작업 라이브러리는 모바일 앱의 코드 몇 줄만으로 TensorFlow Lite 모델을 손쉽게 배포할 수 있게 해주는 크로스 플랫폼 라이브러리이다.

 

메서드

 

  • fun runObjectDetection(bitmap: Bitmap) 미리 설정된 이미지를 선택하거나 사진을 찍으면 이 메서드가 호출된다. bitmap은 객체 탐지를 위한 입력 이미지이다.
  • data class DetectionResult(val boundingBoxes: Rect, val text: String) 시각화를 위한 객체 탐지 결과를 나타내는 데이터 클래스이다. boundingBoxes는 객체가 있는 직사각형이고 text는 객체의 경계 상자와 함께 표시할 감지 결과 문자열이다.
  • fun drawDetectionResult(bitmap: Bitmap, detectionResults: List<DetectionResult>): Bitmap 이 메서드는 입력 bitmap의 detectionResults에 객체 탐지 결과를 그리고 수정된 복사본을 반환한다.

drawDetectionResult 유틸리티 메서드의 출력 예

 

https://developers.google.cn/codelabs/tflite-object-detection-android?hl=ko#0 

 

TensorFlow Lite (Android)를 사용하여 커스텀 객체 감지 모델 빌드 및 배포  |  Google for Developers

이 Codelab에서는 이미지에서 객체를 감지할 수 있는 Android 앱을 빌드합니다. 먼저 TFLite Model Maker를 사용하여 커스텀 객체 감지 모델을 학습시킨 다음 TFLite 태스크 라이브러리를 사용하여 배포합

developers.google.cn

728x90
반응형
LIST