본문 바로가기

도로결함탐지 및 피드백 시스템

Android 어플리케이션

Android 앱에 YOLO모델을 적용하기 위해 TensorFlow 팀에서 제공해주는 데모 프로그램을 기반으로 사용할 것이다. 따라서 해당 repository를 clone 한다.

tensorflow/tensorflow/examples/android에 안드로이드 프로젝트가 존재하므로 이를 Android Studio를 이용하여 실행해주면 됩니다.

처음 프로젝트를 불러오면 Gradle, SDK 등을 업데이트하거나 설정하라는 안내가 표시됩니다. 요구사항을 설치/설정 해주고나서 가장 먼저 할 일은 bulid.gradle 파일의 nativeBuildSystem 변수 값을 ‘none’으로 변경하는 것입니다.

해당 데모 앱에는 ClassifierActivity, StylizeActivity, SpeechActivity, DetectorActivity 총 4가지 기능들이 각각의 Activity로 구성되어 있습니다. 이 중에서 DetectorActivity에 관심이 있기 때문에 AndroidManifest.xml에서 DetectorActivity를 제외한 나머지는 비활성화 해줍니다.

아무런 변경 없이 프로그램을 안드로이드 기기에서 실행해보면 아래와 같이 기존에 미리 설정된 Object Detecting(TF Detect) 프로그램이 정상적으로 동작하는 것을 확인할 수 있다.

 

DetectorActivity.java

private static final String YOLO_MODEL_FILE = "file:///android_asset/test-tiny-yolo-4c.pb";
private static final DetectorMode MODE = DetectorMode.YOLO;

 

TensorFlowYoloDetector.java

private static final int NUM_CLASSES = 4;

 

private static final String[] LABELS = {
    "Manufacturer",
    "ProductNumber",
    "ProductName",
    "CasNumber"
};

다시 안드로이드 기기에 프로그램을 설치하여 실행해보면 자신의 모델이 적용된 앱이 동작하는 것을 확인할 수 있다.

 

 

출처 : https://junyoung-jamong.github.io/machine/learning/2019/01/25/Android%EC%97%90%EC%84%9C-%EB%82%B4-YOLO%EB%AA%A8%EB%8D%B8-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html

'도로결함탐지 및 피드백 시스템' 카테고리의 다른 글

도로결함탐지 및 피드백 시스템 구성도  (0) 2019.12.23
GUI(Graphical User Interface)  (0) 2019.12.23
이미지 증가  (0) 2019.12.20
YOLO  (0) 2019.12.20
도커  (0) 2019.12.20