728x90
반응형
SMALL
탐지 프로그램에 피드 이미지
다음 코드를 fun runObjectDetection(bitmap:Bitmap)에 추가한다. 이렇게 하면 이미지가 탐지 프로그램에 전달된다.
// Step 3: feed given image to the model and print the detection result
val results = detector.detect(image)
완료되면 탐지기는 Detection 목록을 반환하며, 각 목록에는 모델이 이미지에서 발견한 객체에 대한 정보가 포함된다. 각 객체에 대한 설명은 다음과 같다.
|
탐지 결과 출력
다음 코드를 fun runObjectDetection(bitmap:Bitmap)에 추가한다. 이 메서드는 객체 탐지 결과를 Logcat에 출력하는 메서드를 호출한다.
// Step 4: Parse the detection result and show it
debugPrint(results)
그런 다음 이 debugPrint() 메서드를 MainActivity 클래스에 추가한다.
private fun debugPrint(results : List<Detection>) {
for ((i, obj) in results.withIndex()) {
val box = obj.boundingBox
Log.d(TAG, "Detected object: ${i} ")
Log.d(TAG, " boundingBox: (${box.left}, ${box.top}) - (${box.right},${box.bottom})")
for ((j, category) in obj.categories.withIndex()) {
Log.d(TAG, " Label $j: ${category.label}")
val confidence: Int = category.score.times(100).toInt()
Log.d(TAG, " Confidence: ${confidence}%")
}
}
}
Android 스튜디오 툴바에서 Run을 클릭하여 앱을 컴파일하고 실행한다. 앱이 기기에 표시되면 미리 설정된 이미지 중 하나를 탭하여 객체 탐지기를 시작한다. 그런 다음 IDE 내의 Logcat 창을 보면 다음과 유사한 것을 볼 수 있다.
탐지 결과 그리기
구현된 유틸리티 메서드를 사용하여 다음을 수행한다.
|
val resultToDisplay = results.map {
// Get the top-1 category and craft the display text
val category = it.categories.first()
val text = "${category.label}, ${category.score.times(100).toInt()}%"
// Create a data object to display the detection result
DetectionResult(it.boundingBox, text)
}
// Draw the detection result on the bitmap and show it.
val imgWithResult = drawDetectionResult(bitmap, resultToDisplay)
runOnUiThread {
inputImageView.setImageBitmap(imgWithResult)
}
앱에 모델 통합
TFLite 모델을 assets 폴더에 복사한다. 새 모델의 이름을 custom.tflite로 지정한다.
val detector = ObjectDetector.createFromFileAndOptions(
this, // the application context
"custom.tflite", // must be same as the filename in assets folder
options
)
https://developers.google.cn/codelabs/tflite-object-detection-android?hl=ko#7
728x90
반응형
LIST
'Visual Intelligence > Object Detection' 카테고리의 다른 글
[Object Detection] YOLOv10 : 실시간 엔드투엔드 객체 감지 (0) | 2024.07.03 |
---|---|
[Object Detection] 안드로이드 TensorFlow Lite를 사용하여 커스텀 객체 탐지 모델 빌드 및 배포 (2) (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 |