Mobility Gateway for Android

Kepco AI 엔진의 기본적인 detect 기능을 안드로이드 앱으로 구현
onnx export를 통해 YOLOv8 object detect, pose estimate 동작 확인 REST 서버 동작 확인 및 MQTT 통신 확인

Requirement

  • Android Studio Jellyfish 2023.3.1
  • 테스트용 안드로이드 폰
    • 최소 안드로이드 10 이상.
    • 개발자 옵션 활성화: 설정 > 휴대전화 정보 > 소프트웨어 정보 메뉴로 진입하여 '빌드번호' 영역을 여러번 연타
    • USB 디버깅 활성화: 개발자 옵션을 활성화 한 후, 설정 > 개발자 옵션 메뉴 진입하여 'USB 디버깅' 활성화

실행확인한 환경

  • 윈도우 11
  • 안드로이드 스튜디오 2023.3.1
  • 갤럭시 S20+ (안드로이드 13 Tiramisu)

사용방법

error error error error error error error error error error error error

적용 기술 (현재 적용 상태):

  • 객체탐지: (ONNX) YOLO nano
  • 안면인식: FaceNet (모델 아키텍처 단일)
  • HPE: (ONNX) YOLO-Pose nano

Onnx 파일 변환

  • 원하는 pt파일을 적용하기 위해 onnx 형태로 변환이 필요하다.
  • 아래 저장소 스크립트 실행하여 yolov8 pt 파일을 onnx 파일로 변환 가능하다.
  • onnx 파일은 app/src/main/assets 폴더에 복사한다.
  • Config.kt 파일의 상수 FILENAME_OD_MODEL, FILENAME_OD_LABEL, FILENAME_POSE_MODEL을 사용하고자 하는 파일명으로 수정하여 재실행한다.

주요 Libraries version

  • 실행에 필요한 라이브러리는 안드로이드 스튜디오에서 프로젝트 실행시 자동으로 다운로드 됨.
  • com.microsoft.onnxruntime:onnxruntime-android:1.17.1
  • org.nanohttpd:nanohttpd:2.3.1
  • org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5
  • com.github.hannesa2:paho.mqtt.android:4.2.3
  • androidx.camera:camera-core:1.3.2
  • org.tensorflow:tensorflow-lite:2.15.0
  • com.google.mlkit:face-detection:16.1.6
Description
No description provided
Readme 824 MiB
Languages
Kotlin 64.9%
Java 35.1%