Path: blob/master/site/ko/lite/android/quickstart.md
25118 views
Android ๋น ๋ฅธ ์์
์ด ํ์ด์ง๋ TensorFlow Lite๋ฅผ ํตํด Android ์ฑ์ ๊ตฌ์ถํ์ฌ ๋ผ์ด๋ธ ์นด๋ฉ๋ผ ํผ๋๋ฅผ ๋ถ์ํ๊ณ ๊ฐ์ฒด๋ฅผ ์๋ณํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด ๋จธ์ ๋ฌ๋ ์ฌ์ฉ ์ฌ๋ก๋ ๊ฐ์ฒด ๊ฐ์ง๋ผ๊ณ ํฉ๋๋ค. ์์ ์ฑ์ Google Play ์๋น์ค๋ฅผ ํตํด TensorFlow Lite ๋น์ ์ฉ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ TensorFlow Lite๋ฅผ ํตํด ML ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ๊ถ์ฅ๋๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ธ ๊ฐ์ฒด ๊ฐ์ง ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์คํ์ ํ์ฑํํฉ๋๋ค.
{: .attempt-right width="250px"}
์ค์น ๋ฐ ์์ ์คํ
์ด ์ฐ์ต์ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์์๋ GitHub์์ ์์ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๊ณ Android Studio๋ฅผ ์ฌ์ฉํ์ฌ ์คํํฉ๋๋ค. ์ด ๋ฌธ์์ ๋ค์ ์น์ ์์๋ ์ฝ๋ ์์ ์ ๊ด๋ จ ์น์ ์ ์ดํด๋ณผ ๊ฒ์ด๋ฏ๋ก ์ด๋ฅผ ์์ ์ Android ์ฑ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ์ ๋ค์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค.
Android Studio 4.2 ์ด์
Android SDK ๋ฒ์ 21 ์ด์
์ฐธ๊ณ : ์ด ์์์๋ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ค์ Android ๊ธฐ๊ธฐ์์ ์คํํด์ผ ํฉ๋๋ค.
์์ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
์์ ์ฝ๋๋ฅผ ๊ตฌ์ถํ๊ณ ์คํํ ์ ์๋๋ก ์์ ์ฝ๋์ ๋ก์ปฌ ์ฌ๋ณธ์ ์์ฑํฉ๋๋ค.
์์ ์ฝ๋๋ฅผ ๋ณต์ ํ๊ณ ์ค์ ํ๋ ค๋ฉด:
git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํฉ๋๋ค.
git clone https://github.com/tensorflow/examples.git
ํฌ์ ์ฒดํฌ์์์ ์ฌ์ฉํ๋๋ก git ์ธ์คํด์ค๋ฅผ ๊ตฌ์ฑํ๋ฉด ๊ฐ์ฒด ๊ฐ์ง ์์ ์ฑ์ ๋ํ ํ์ผ๋ง ๋จ๊ฒ ๋ฉ๋๋ค.
cd examples git sparse-checkout init --cone git sparse-checkout set lite/examples/object_detection/android_play_services
ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ ๋ฐ ์คํํ๊ธฐ
Android Studio๋ฅผ ์ฌ์ฉํด ๋ค์ด๋ก๋ํ ์์ ์ฝ๋์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ถํ๊ณ ์คํํฉ๋๋ค.
์์ ์ฝ๋ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋น๋ํ๋ ค๋ฉด:
Android Studio๋ฅผ ์์ํฉ๋๋ค.
Android Studio์ ์์ ํ์ด์ง์์ **Import Project(ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ)**๋ฅผ ์ ํํ๊ฑฐ๋ **File(ํ์ผ) > New(์๋ก ๋ง๋ค๊ธฐ) > Import Project(ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ)**๋ฅผ ์ ํํฉ๋๋ค.
build.gradle ํ์ผ(
...examples/lite/examples/object_detection/android_play_services/build.gradle
)์ด ํฌํจ๋ ์์ ์ฝ๋ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ์ฌ ํด๋น ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
์ด ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ํํ ํ, Android Studio๋ ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ตฌ์ถํฉ๋๋ค. ๊ตฌ์ถ์ด ์๋ฃ๋๋ฉด Android Studio๋ Build Output ์ํ ํจ๋์ BUILD SUCCESSFUL
๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๋ฉด:
Android Studio์์ Run(์คํ) > Run(์คํ)โฆ ๋ฐ MainActivity๋ฅผ ์ ํํ์ฌ ํ๋ก์ ํธ๋ฅผ ์คํํฉ๋๋ค.
์นด๋ฉ๋ผ๊ฐ ์๋ ์ฐ๊ฒฐ Android ๊ธฐ๊ธฐ๋ฅผ ์ ํํ์ฌ ์ฑ์ ํ ์คํธํฉ๋๋ค.
์์ ์ฑ ์๋ ๋ฐฉ์
์์ ์ฑ์ TensorFlow Lite ํ์์ mobilenetv1.tflite๊ณผ ๊ฐ์ ์ฌ์ ํ๋ จ๋ ๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ์ ์ฌ์ฉํด Android ๊ธฐ๊ธฐ์ ์นด๋ฉ๋ผ์์ ๋ผ์ด๋ธ ๋น๋์ค ์คํธ๋ฆผ์ ๊ฐ์ฒด๋ฅผ ์ฐพ์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ํ ์ฝ๋๋ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ํ์ผ์ ์์ต๋๋ค.
ObjectDetectorHelper.kt - ๋ฐํ์ ํ๊ฒฝ์ ์ด๊ธฐํํ๊ณ ํ๋์จ์ด ๊ฐ์์ ํ์ฑํํ๋ฉฐ ๊ฐ์ฒด ๊ฐ์ง ML ๋ชจ๋ธ์ ์คํํฉ๋๋ค.
CameraFragment.kt - ์นด๋ฉ๋ผ ์ด๋ฏธ์ง ๋ฐ์ดํธ ์คํธ๋ฆผ์ ๊ตฌ์ถํ๊ณ ๋ชจ๋ธ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๋ฉฐ ๊ฐ์ฒด ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค.
์ฐธ์ฌ: ์ด ์์ ์ฑ์ ์ผ๋ฐ ๋จธ์ ๋ฌ๋ ์ฐ์ฐ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ฌ์ด, ์์ ๋ณ API๋ฅผ ์ ๊ณตํ๋ TensorFlow Lite ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋์ฑ ๊ตฌ์ฒด์ ์ธ ์๊ตฌ์ ์ฌ์ฉ์ ์ ์๋ ML ํจ์๊ฐ ์๋ ์ฑ์ ๊ฒฝ์ฐ, Interpreter API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ธ์.
๋ค์ ์น์ ์ Android ์ฑ์ ์์ ํ์ฌ ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์๋๋ก ์ด๋ฌํ ์ฝ๋ ํ์ผ์ ์ฃผ์ ๊ตฌ์ฑ์์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ฑ ๊ตฌ์ถ {:#build_app}
๋ค์ ์น์ ์ ์์ ๋ง์ Android ์ฑ์ ๊ตฌ์ถํ๊ณ ์์ ์ฑ์ ํ์๋ ๋ชจ๋ธ์ ์คํํ๋ ์ฃผ์ ๋จ๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค. ์ด๋ฌํ ์ง์นจ์ ์์ ๋ณด์ฌ๋๋ฆฐ ์์ ์ฑ์ ์ฐธ์กฐ ํฌ์ธํธ๋ก ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ : ์ด๋ฌํ ์ง์นจ์ ๋ฐ๋ฅด๊ณ ์์ ๋ง์ ์ฑ์ ๊ตฌ์ถํ๋ ค๋ฉด Android Studio๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ Android ํ๋ก์ ํธ๋ฅผ ์์ฑํ์ธ์.
ํ๋ก์ ํธ ์ข ์์ฑ ์ถ๊ฐ {:#add_dependencies}
๊ธฐ๋ณธ Android ์ฑ์์, TensorFlow Lite ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์คํํ๊ณ ML ๋ฐ์ดํฐ ์ ํธ๋ฆฌํฐ ๊ธฐ๋ฅ์ ์ก์ธ์คํ๊ธฐ ์ํด ํ๋ก์ ํธ ์ข ์์ฑ์ ์ถ๊ฐํ์ธ์. ์ด๋ฌํ ์ ํธ๋ฆฌํฐ ๊ธฐ๋ฅ์ ์ด๋ฏธ์ง์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ์ด ์ฒ๋ฆฌํ ์ ์๋ ํ ์ ๋ฐ์ดํฐ ํ์์ผ๋ก ์ ํํฉ๋๋ค.
์์ ์ฑ์ Google Play ์๋น์ค์ TensorFlow Lite ๋น์ ์ฉ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ๊ฐ์ง ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์คํํ ์ ์๋๋ก ํฉ๋๋ค. ๋ค์ ์ง์นจ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข ์์ฑ์ ์์ฒด Android ์ฑ ํ๋ก์ ํธ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
๋ชจ๋ ์ข ์์ฑ์ ์ถ๊ฐํ๋ ค๋ฉด:
TensorFlow Lite๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋์์ ๋ค์ ์ข ์์ฑ์ ํฌํจํ๋๋ก ๋ชจ๋์
build.gradle
ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ์์ ์ฝ๋์์ ์ด ํ์ผ์...examples/lite/examples/object_detection/android_play_services/app/build.gradle
์ ์์ต๋๋ค.Android Studio์์ **File(ํ์ผ) > Sync Project with Gradle Files(ํ๋ก์ ํธ๋ฅผ Gradle ํ์ผ๊ณผ ๋๊ธฐํ)**๋ฅผ ์ ํํ์ฌ ํ๋ก์ ํธ ์ข ์์ฑ์ ๋๊ธฐํํฉ๋๋ค.
Google Play ์๋น์ค ์ด๊ธฐํ
Google Play ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ TensorFlow Lite ๋ชจ๋ธ์ ์คํํ๋ ๊ฒฝ์ฐ, ์๋น์ค๋ฅผ ์ด๊ธฐํํด์ผ ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋น์ค๋ฅผ ํตํด GPU ๊ฐ์๊ณผ ๊ฐ์ ํ๋์จ์ด ๊ฐ์ ์ง์์ ์ฌ์ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, ์ด ์ด๊ธฐํ์ ์ผํ์ผ๋ก ํด๋น ์ง์๋ ํ์ฑํํด์ผ ํฉ๋๋ค.
Google Play ์๋น์ค๋ก TensorFlow Lite๋ฅผ ์ด๊ธฐํํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
TfLiteInitializationOptions
๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์์ ํ์ฌ GPU ์ง์์ ํ์ฑํํฉ๋๋ค.TfLiteVision.initialize()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Play ์๋น์ค ๋ฐํ์ ์ฌ์ฉ์ ํ์ฑํํ๊ณ ๋ฆฌ์ค๋๋ฅผ ์ค์ ํ์ฌ ์ฑ๊ณต์ ์ผ๋ก ๋ก๋๋์๋์ง ํ์ธํฉ๋๋ค.
ML ๋ชจ๋ธ ์ธํฐํ๋ฆฌํฐ ์ด๊ธฐํํ๊ธฐ
๋ชจ๋ธ ํ์ผ์ ๋ก๋ํ๊ณ ๋ชจ๋ธ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ์ฌ TensorFlow Lite ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ด๊ธฐํํฉ๋๋ค. TensorFlow Lite ๋ชจ๋ธ์ ๋ชจ๋ธ ์ฝ๋๊ฐ ์๋ .tflite
ํ์ผ์ ํฌํจํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋ฐ ํ๋ก์ ํธ์ src/main/assets
๋๋ ํฐ๋ฆฌ์ ๋ชจ๋ธ์ ์ ์ฅํด์ผ ํฉ๋๋ค.
ํ: ์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธํฐํ๋ฆฌํฐ ์ฝ๋๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด src/main/assets
๋๋ ํฐ๋ฆฌ์์ ๋ชจ๋ธ์ ์๋์ผ๋ก ์ฐพ์ต๋๋ค.
๋ชจ๋ธ์ ์ด๊ธฐํํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
.tflite
๋ชจ๋ธ ํ์ผ์ ๊ฐ๋ฐ ํ๋ก์ ํธ์src/main/assets
๋๋ ํฐ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค(์: ssd_mobilenet_v1).modelName
๋ณ์๋ฅผ ์ค์ ํ์ฌ ML ๋ชจ๋ธ์ ํ์ผ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.์์ธก ์๊ณ๊ฐ ๋ฐ ๊ฒฐ๊ณผ ์ธํธ ํฌ๊ธฐ์ ๊ฐ์ ๋ชจ๋ธ์ ๋ํ ์ต์ ์ ์ค์ ํฉ๋๋ค.
์ต์ ์ด ์๋ GPU ๊ฐ์์ ํ์ฑํํ๊ณ ๊ฐ์์ด ๊ธฐ๊ธฐ์์ ์ง์๋์ง ์๋ ๊ฒฝ์ฐ ์ฝ๋๊ฐ ์ ์์ ์ผ๋ก ์คํจํ๋๋ก ํ์ฉํฉ๋๋ค.
์ด ๊ฐ์ฒด์ ์ค์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ด ํฌํจ๋ TensorFlow Lite
ObjectDetector
๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
TensorFlow Lite์ ํจ๊ป ํ๋์จ์ด ๊ฐ์ ๋๋ฆฌ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ TensorFlow Lite ๋๋ฆฌ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ชจ๋ธ์ ๋ํ ๋ฐ์ดํฐ ์ค๋นํ๊ธฐ
๋ชจ๋ธ์ด ์ฒ๋ฆฌํ ์ ์๋๋ก ์ด๋ฏธ์ง์ ๊ฐ์ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ํ
์ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ณํํ์ฌ ๋ชจ๋ธ์ด ํด์ํ ์ ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ค๋นํฉ๋๋ค. ํ
์์ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ ํ๋ จํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์๊ณผ ์ผ์นํ๋ ํน์ ์น์๋ ํ์์ด ์์ด์ผ ํฉ๋๋ค. ์ฌ์ฉํ๋ ๋ชจ๋ธ์ ๋ฐ๋ผ, ๋ชจ๋ธ์ด ๊ธฐ๋ํ๋ ๊ฒ์ ๋ง๋๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณํํด์ผ ํ ์ ์์ต๋๋ค. ์์ ์ฑ์ ImageAnalysis
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์นด๋ฉ๋ผ ํ์ ์์คํ
์์ ์ด๋ฏธ์ง ํ๋ ์์ ์ถ์ถํฉ๋๋ค.
๋ชจ๋ธ์ด ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
ImageAnalysis
๊ฐ์ฒด๋ฅผ ๋น๋ํ์ฌ ํ์ํ ํ์์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ถ์ถํฉ๋๋ค.๋ถ์๊ธฐ๋ฅผ ์นด๋ฉ๋ผ ํ์ ์์คํ ์ ์ฐ๊ฒฐํ๊ณ ์นด๋ฉ๋ผ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ๋นํธ๋งต ๋ฒํผ๋ฅผ ๋ง๋ญ๋๋ค.
๋ชจ๋ธ์ ํ์ํ ํน์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ด๋ฏธ์ง ํ์ ์ ๋ณด๋ฅผ ์ ๋ฌํฉ๋๋ค.
์์ ์ฑ์
ObjectDetectorHelper.detect()
๋ฉ์๋์ ํ์๋ ๋๋ก ์ต์ข ๋ฐ์ดํฐ ๋ณํ์ ์๋ฃํ๊ณ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผTensorImage
๊ฐ์ฒด์ ์ถ๊ฐํฉ๋๋ค.
์์ธก ์คํํ๊ธฐ
์ฌ๋ฐ๋ฅธ ํ์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ก TensorImage ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ํด๋น ๋ฐ์ดํฐ์ ๋ํด ๋ชจ๋ธ์ ์คํํ์ฌ ์์ธก ๋๋ ์ถ๋ก ์ ์์ฑํ ์ ์์ต๋๋ค. ์์ ์ฑ์์, ์ด ์ฝ๋๋ ObjectDetectorHelper.detect()
๋ฉ์๋์ ํฌํจ๋ฉ๋๋ค.
๋ชจ๋ธ์ ์คํํ๊ณ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์์ ์์ธก์ ์์ฑํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์์ธก ํจ์์ ์ ๋ฌํ์ฌ ์์ธก์ ์คํํฉ๋๋ค.
๋ชจ๋ธ ์ถ๋ ฅ ์ฒ๋ฆฌํ๊ธฐ
๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ์ ๋ํด ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์คํํ๋ฉด, ์ถ๊ฐ ๋น์ฆ๋์ค ๋ก์ง์ ์คํํ๊ฑฐ๋ ์ฌ์ฉ์์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ํ์ํ๊ฑฐ๋ ๋ค๋ฅธ ์กฐ์น๋ฅผ ์ทจํ์ฌ ์ฑ ์ฝ๋๊ฐ ๋ค๋ค์ผ ํ๋ ์์ธก ๊ฒฐ๊ณผ ๋ชฉ๋ก์ด ์์ฑ๋ฉ๋๋ค. ์์ ์ฑ์ ๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ์ ์์ธก ๋ชฉ๋ก๊ณผ ๊ฐ์ง๋ ๊ฐ์ฒด์ ๋ํ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ฅผ ์์ฑํฉ๋๋ค. ์์ ์ฑ์์, ์์ธก ๊ฒฐ๊ณผ๋ ์ถ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ฆฌ์ค๋ ๊ฐ์ฒด๋ก ์ ๋ฌ๋๋ฉฐ ์ฌ์ฉ์์๊ฒ ํ์๋ฉ๋๋ค.
๋ชจ๋ธ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด:
๋ฆฌ์ค๋ ํจํด์ ์ฌ์ฉํ์ฌ ์ฑ ์ฝ๋ ๋๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ฐ์ฒด์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌํฉ๋๋ค. ์์ ์ฑ์ ์ด ํจํด์ ์ฌ์ฉํ์ฌ
ObjectDetectorHelper
๊ฐ์ฒด์ ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผCameraFragment
๊ฐ์ฒด๋ก ์ ๋ฌํฉ๋๋ค.์ฌ์ฉ์์๊ฒ ์์ธก์ ํ์ํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๊ฒฐ๊ณผ์ ๋ํด ์์ ์ ์ํํฉ๋๋ค. ์ด ์์์๋
CameraPreview
๊ฐ์ฒด์ ์ค๋ฒ๋ ์ด๋ฅผ ๊ทธ๋ ค ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค.
๋ค์ ๋จ๊ณ
Task Library API์ ๋ํด ๋ ์์ธํ ์์๋ด ๋๋ค.
Interpreter API์ ๋ํด ๋ ์์ธํ ์์๋ด ๋๋ค.
์์ ์์ TensorFlow Lite์ ์ฉ๋๋ฅผ ์ดํด๋ด ๋๋ค.
๋ชจ๋ธ ์น์ ์์ TensorFlow Lite๋ฅผ ํตํด ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ํด ๋ ์์ธํ ์์๋ด ๋๋ค.
TensorFlow Lite ๊ฐ๋ฐ์ ๊ฐ์ด๋์์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋จธ์ ๋ฌ๋์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ด ๋๋ค.