본문 바로가기

Capstone

6. 어플리케이션

안드로이드 앱에 YOLO모델을 적용하기 위해 TensorFlow 팀에서 제공해주는 데모 프로그램을 기반으로 사용할 계획입니다. 따라서 respository를 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) 프로그램이 정상적으로 동작하는 것을 확인할 수 있습니다.

소스 코드를 조금 변경하여 자신의 Object Detecting 문제로 어플을 커스터마이징할 수 있습니다.

 pb 파일을 안드로이드 프로젝트의 tensorflow\tensorflow\examples\android\assets 경로에 복사합니다.

이제 프로젝트 내 두 개의 java 파일을 수정하기만 하면 됩니다.

 

<DetectorActivity.java>

 

<TensorFlowYoloDetector.java>

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

 

출처 : 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

 

Android에서 내가 학습한 YOLO 모델을 이용해 Object Detection 구현하기

TensorFlow를 기반으로 학습한 모델은 가중치 정보를 포함하는 파일로 변환하여 다양한 플랫폼에 적용할 수 있다. Darkflow 역시 TensorFlow를 기반으로하기 때문에 Darkflow를 이용해 학습한 모델을 여러 응용 프로그램에 적용하는 것은 어렵지 않다.

junyoung-jamong.github.io

 

'Capstone' 카테고리의 다른 글

8. 개발 배경  (0) 2020.06.30
7. 캡스톤 최종 결과물  (0) 2019.12.22
5. YOLO 데이터 학습  (0) 2019.12.20
4. 데이터 늘리기  (0) 2019.12.20
3. openCV 3.2.0 설치  (0) 2019.12.20