모바일 13

tflite를 사용했을 때 output tensor 모양 확인하기

모바일에서 돌아갈수 있는 tflite모델을 돌리는데 있어서 output tensor의 갯수를 맞추는 것도 중요하다고 생각합니다. import tensorflow as tf# 모델 파일 로드interpreter = tf.lite.Interpreter(model_path="efficientdet-lite0.tflite")interpreter.allocate_tensors()# 입력 및 출력 텐서 정보 가져오기input_details = interpreter.get_input_details()output_details = interpreter.get_output_details()print("Input Details:", input_details)print("Output Details:", output_deta..

모바일 2025.03.04

Android Object Detection: ML Kit vs TensorFlow Lite Object Detection API

안드로이드에서 객체 감지를 구현하는 방법에는 Google ML Kit과 TensorFlow Lite Object Detection API를 사용하는 방법이 있습니다. 두 기술은 각각 고유한 장단점을 가지고 있으며, 사용 사례에 따라 적합한 선택이 달라질 수 있습니다. 이번 글에서는 두 방법을 비교하고, 어떤 상황에서 적합한지 알아보겠습니다.1. Google ML Kit특징완전한 SDK 제공: Google ML Kit는 개발자가 복잡한 머신러닝 모델을 다루지 않고도 객체 감지 및 기타 AI 기능을 구현할 수 있도록 간단한 API를 제공합니다.온디바이스(On-Device) 처리: 네트워크 연결 없이도 동작하며, 빠르고 효율적입니다.사용자 정의 모델 통합 가능: 기본 모델 외에도 TensorFlow Lite로..

android camera 2 api를 이용해서 사진을 찍고 ondevice로 object detection하기

안드로이드의 Camera2 API와 TensorFlow Lite를 사용해 사진을 찍고 기기(On-Device)에서 실시간 Object Detection을 수행하는 방법을 소개합니다. 이 글은 Camera2 API를 활용한 이미지 캡처와 TensorFlow Lite 모델 통합 과정을 설명하며, 여러분의 Android 프로젝트에서 직접 구현할 수 있도록 자세히 안내합니다. github repository: https://github.com/jinmc/camera_test_android/tree/main주요 기능Camera2 API: 고급 카메라 기능과 이미지 캡처 제공.TensorFlow Lite Object Detection: 사전 학습된 TensorFlow Lite 모델을 사용해 실시간 객체 탐지.로컬 ..

Android Camera2 API에서 FileNotFoundException 이슈 해결하기

문제 상황Android 앱 개발 중 Camera2 API를 사용하여 이미지를 캡처한 후 외부 저장소에 저장하려고 했을 때, 다음과 같은 예외가 발생할 수 있습니다:FATAL EXCEPTION: videoThreadProcess: com.example.myapplication, PID: 17049java.io.FileNotFoundException: /storage/emulated/0/thisimage.jpg: open failed: EPERM (Operation not permitted)이 에러는 Android의 저장소 접근 정책 변화로 인해 발생하는데, 특히 Android 10(API 29) 이상에서는 Scoped Storage가 도입되면서 앱이 외부 저장소에 접근하는 방식이 제한되었습니다.원인 분석S..

Flutter 첫걸음 (firebase 설치)

플러터 앱 개발 & 출시하기라는 책을 사서 새로 flutter 앱을 만들려고 합니다. 책에 나온 이야기를 조금 요약하자면, 1. Android Studio or Visual Studio 설치 (이미 되어있음)2. Flutter sdk 설치하기 (3. xx) - android studio 에 플러그인도 설치flutter doctor 로 인증 가능emulator 또는 실제 Device로 테스트 가능 그리고.. firebase 설치하기.Firebase에 대해서 chatgpt 에 물어보니깐 이렇게 말해줍니다. Firebase: 앱 개발을 위한 올인원 플랫폼Firebase는 Google에서 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼으로, 앱 개발, 테스트, 배포, 모니터링까지 모든 단계를 지원합니다.주요 기..

모바일/flutter 2025.01.01

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi ndk 관련 문제 해결

안드로이드에서 다음과 같은 에러가 나왔습니다. No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi 여러가지를 시도해봤지만, 결국 통한 것은, android studio 에서 tools->SDK Manager->Android SDK -> SDK Tools 에 들어가면 있습니다. 원래 여러 개의 ndk 가 설치 되어있었는데 다 클릭 해제 하고 하나만 클릭해서 설치했더니 되었습니다. 시도했던 것들: cache invalidate, ndk-build install-toolchain, gradle 에다가 경로저장, 등등이 있습니다. 참고자료 : https://github.com/flutter/flutt..

안드로이드용 tflite image classification 모델 inference 스크립트

안녕하세요 저번 포스트에서 만들었던, 모델을 실제로 어떤 식으로 테스트 해볼수 있을까요? 다음 스크립트를 사용하면 테스트를 해볼 수 있습니다. reference: https://www.tensorflow.org/lite/inference_with_metadata/task_library/image_classifier #Imports from tflite_support.task import vision from tflite_support.task import core from tflite_support.task import processor from tensorflow_lite_support.python.task.core import base_options as base_options_module from ..

안드로이드에서 Image classification 모델 만들기(tflite model maker)

안녕하세요 오늘은 Android 에서 돌아가는 Image Classfication model에 대해서 알아보도록 하겠습니다. Image Classification은 CNN중에서도 가장 기본적인 활용인 만큼, 의미가 있을것으로 보입니다. reference: https://www.tensorflow.org/lite/models/modify/model_maker/image_classification Image classification with TensorFlow Lite Model Maker Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand Image classification with TensorFlow Lite M..

Flutter (Stateless Widget vs Stateful Widgets)

Dart와 Flutter에 대해서 공부하던 도중, Stateless widget과 Stateful widget에 대해서 공부하게 되었습니다. Stateless Widget : 데이터를 가지고 있지 않은 widget Stateful Widget : 데이터 소스를 가지고 있는 widget 실례를 들어보겠습니다. // app.dart import 'package:flutter/material.dart'; class App extends StatelessWidget { int counter = 0; } 다음과 같이 Widget 안에서 counter variable을 만들어서 그 variable을 끊임없이 변화하고 저장한다고 한다고 하면, StatelessWidget으로 만드는 건 안좋은 생각인 것입니다. 다른 ..

모바일/flutter 2023.01.20

Flutter를 사용해서 Yolov5를 안드로이드에서 돌려보자!

안녕하세요 이번에는 Flutter를 사용해서 Yolov5를 안드로이드에서 돌려보는 작업을 포스팅 해보도록 하겠습니다. 우선 yolov5에 대한 소개입니다. https://github.com/ultralytics/yolov5 그리고 flutter같은 경우에는 android, ios 둘다 적용이 가능하기 때문에 범용적으로 많이 쓰이는 플랫폼입니다. 안드로이드에서 머신러닝을 돌리는 경우 tflite를 활용하는데, flutter의 경우 tflite library가 있지만, 지원을 하지 않는 것으로 확인되고, v2 embedding에 지원이 안된다고 합니다. 그래서 flutter로 하는것을 포기하려던 차에, 새로운 깃헙을 찾게 되었고, 저희 팀원의 도움으로, 구현에 성공하였습니다. https://github.co..