사전 학습된 TFLite 객체 탐지 모델
TensorFlow Hub에는 사용할 수 있는 몇 가지 객체 탐지 모델 있다. COCO 2017 데이터 세트에서 학습되고 TFLite에 최적화되고 모바일 CPU, GPU의 성능에 맞게 설계된 EfficientDet-Lite 객체 탐지 모델을 다운로드한다.
TFLite 작업 라이브러리를 사용하여 선행 학습된 TFLite 모델을 시작 앱에 통합한다. TFLite 작업 라이브러리를 사용하면 모바일에 최적화된 머신러닝 모델을 모바일 앱에 쉽게 통합할 수 있다. 객체 감지, 이미지 분류, 텍스트 분류를 비롯하여 널리 사용되는 머신러닝 사용 사례를 많이 지원합니다. 코드 몇 줄로 TFLite 모델을 로드하고 실행할 수 있다.
모델 추가
안드로이드 프로젝트에서 assets 폴더를 생성하고 tflite를 위치시킨다.
gradle (라이브러리 종속)
app/build.gradle 파일로 이동하여 다음 코드를 dependencies 구성에 추가한다.
implementation 'org.tensorflow:tensorflow-lite-task-vision:0.3.1'
API
|
객체를 탐지하고 실행하는 것은 MainActivity.kt 파일의 runObjectDetection(bitmap: Bitmap) 함수 내에서 가능하다.
/**
* TFLite Object Detection Function
*/
private fun runObjectDetection(bitmap: Bitmap) {
//TODO: Add object detection code here
}
이미지 객체 만들기
이미지는 기기 내 카메라 또는 앱의 UI에서 선택한 미리 설정된 이미지를 사용한다. 입력 이미지는 Bitmap 형식으로 디코딩되고 runObjectDetection 메서드에 전달된다.
TFLite는 Bitmap에서 TensorImage를 생성하는 간단한 API를 제공한다. 아래의 코드를 runObjectDetection(bitmap:Bitmap) 상단에 추가한다.
// Step 1: create TFLite's TensorImage object
val image = TensorImage.fromBitmap(bitmap)
탐지 프로그램 인스턴스 만들기
TFLite 작업 라이브러리는 빌더 디자인 패턴을 따른다. 구성을 빌더에 전달한 다음, 여기에서 탐지기를 획득힌다. 객체 탐지기의 민감도를 조정하는 옵션을 비롯하여 몇 가지 옵션을 구성할 수 있다.
|
TFLite 모델 파일 이름과 구성 옵션을 지정하여 객체 탐지기 인스턴스를 초기화한다.
// Step 2: Initialize the detector object
val options = ObjectDetector.ObjectDetectorOptions.builder()
.setMaxResults(5)
.setScoreThreshold(0.5f)
.build()
val detector = ObjectDetector.createFromFileAndOptions(
this, // the application context
"model.tflite", // must be same as the filename in assets folder
options
)
https://developers.google.cn/codelabs/tflite-object-detection-android?hl=ko#4
'Visual Intelligence > Object Detection' 카테고리의 다른 글
[Object Detection] YOLOv10 : 실시간 엔드투엔드 객체 감지 (0) | 2024.07.03 |
---|---|
[Object Detection] 안드로이드 TensorFlow Lite를 사용하여 커스텀 객체 탐지 모델 빌드 및 배포 (3) (0) | 2023.06.16 |
[Object Detection] 안드로이드 TensorFlow Lite를 사용하여 커스텀 객체 탐지 모델 빌드 및 배포 (1) (0) | 2023.06.16 |
[Object Detection] YOLOv8 커스텀 데이터 학습 (0) | 2023.06.15 |
[Object Detection] YOLOv5 성능 높이기 (0) | 2023.06.15 |