Ultralytics Android App: Real-time Object Detection with YOLO Models
The Ultralytics Android App is a powerful tool that allows you to run YOLO models directly on your Android device for real-time object detection. This app utilizes TensorFlow Lite for model optimization and various hardware delegates for acceleration, enabling fast and efficient object detection.
Watch: Ultralytics HUB ์ฑ ์์ํ๊ธฐ (IOS & Android)
์ ๋ํ ๋ฐ ๊ฐ์
To achieve real-time performance on your Android device, YOLO models are quantized to either FP16 or INT8 precision. Quantization is a process that reduces the numerical precision of the model's weights and biases, thus reducing the model's size and the amount of computation required. This results in faster inference times without significantly affecting the model's accuracy.
FP16 ์ ๋ํ
FP16(๋๋ ๋ฐ์ ๋ฐ๋) ์์ํ๋ ๋ชจ๋ธ์ 32๋นํธ ๋ถ๋์์์ ์ซ์๋ฅผ 16๋นํธ ๋ถ๋์์์ ์ซ์๋ก ๋ณํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ธ์ ํฌ๊ธฐ๊ฐ ์ ๋ฐ์ผ๋ก ์ค์ด๋ค๊ณ ์ถ๋ก ํ๋ก์ธ์ค์ ์๋๊ฐ ๋นจ๋ผ์ง๋ ๋์์ ์ ํ๋์ ์ฑ๋ฅ ๊ฐ์ ๊ท ํ์ด ์ ์ ์ง๋ฉ๋๋ค.
INT8 ์ ๋ํ
INT8 (or 8-bit integer) quantization further reduces the model's size and computation requirements by converting its 32-bit floating-point numbers to 8-bit integers. This quantization method can result in a significant speedup, but it may lead to a slight reduction in mean average precision (mAP) due to the lower numerical precision.
INT8 ๋ชจ๋ธ์์์ ๋งต ๊ฐ์
INT8 ๋ชจ๋ธ์ ์์น ์ ๋ฐ๋๊ฐ ๊ฐ์ํ๋ฉด ์์ํ ๊ณผ์ ์์ ์ฝ๊ฐ์ ์ ๋ณด ์์ค์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด mAP๊ฐ ์ฝ๊ฐ ๊ฐ์ํ ์ ์์ต๋๋ค. ํ์ง๋ง INT8 ์ ๋ํ๊ฐ ์ ๊ณตํ๋ ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ณ ๋ คํ๋ฉด ์ด๋ฌํ ์ ์ถฉ์์ ์์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ธ๋ฆฌ๊ฒ์ดํธ ๋ฐ ์ฑ๋ฅ ๊ฐ๋ณ์ฑ
๋ชจ๋ธ ์ถ๋ก ์ ๊ฐ์ํํ๊ธฐ ์ํด Android ์ฅ์น์์ ๋ค์ํ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ธ๋ฆฌ๊ฒ์ดํธ์๋ CPU, GPU, Hexagon ๋ฐ NNAPI๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๋ธ๋ฆฌ๊ฒ์ดํธ์ ์ฑ๋ฅ์ ์ฅ์น์ ํ๋์จ์ด ๊ณต๊ธ์ ์ฒด, ์ ํ ๋ผ์ธ ๋ฐ ์ฅ์น์ ์ฌ์ฉ๋๋ ํน์ ์นฉ์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
- CPU: ๊ธฐ๋ณธ ์ต์ ์ผ๋ก, ๋๋ถ๋ถ์ ๊ธฐ๊ธฐ์์ ํฉ๋ฆฌ์ ์ธ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- GPU: ๊ธฐ๊ธฐ์ GPU ์ ํ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ฒ ์ถ๋ก ํฉ๋๋ค. ๊ฐ๋ ฅํ GPU๊ฐ ํ์ฌ๋ ๊ธฐ๊ธฐ์์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- Hexagon: ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด ํ์ปด์ ํฅ์ฌ๊ณค DSP๋ฅผ ํ์ฉํฉ๋๋ค. ์ด ์ต์ ์ ํ์ปด ์ค๋ ๋๋๊ณค ํ๋ก์ธ์๊ฐ ํ์ฌ๋ ๋๋ฐ์ด์ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- NNAPI: The Android Neural Networks API (NNAPI) serves as an abstraction layer for running ML models on Android devices. NNAPI can utilize various hardware accelerators, such as CPU, GPU, and dedicated AI chips (e.g., Google's Edge TPU, or the Pixel Neural Core).
๋ค์์ ์ฃผ์ ๊ณต๊ธ์ ์ฒด, ํด๋น ์ ํ๊ตฐ, ์ธ๊ธฐ ๋๋ฐ์ด์ค ๋ฐ ์ง์๋๋ ๋๋ฆฌ์ธ์ ๋ณด์ฌ์ฃผ๋ ํ์ ๋๋ค:
๊ณต๊ธ์ ์ฒด | ์ ํ ๋ผ์ธ | ์ธ๊ธฐ ๋๋ฐ์ด์ค | ์ง์๋๋ ๋๋ฆฌ์ธ |
---|---|---|---|
ํ์ปด | ์ค๋ ๋๋๊ณค(์: 800 ์๋ฆฌ์ฆ) | ์ผ์ฑ ๊ฐค๋ญ์ S21, ์ํ๋ฌ์ค 9, Google ํฝ์ 6 | CPU, GPU, ํฅ์ฌ๊ณค, NNAPI |
์ผ์ฑ | ์์๋ ธ์ค(์: ์์๋ ธ์ค 2100) | ์ผ์ฑ ๊ฐค๋ญ์ S21(๊ธ๋ก๋ฒ ๋ฒ์ ) | CPU, GPU, NNAPI |
MediaTek | ์ฐจ์(์: ์ฐจ์ 1200) | ๋ฆฌ์ผ๋ฏธ GT, ์ค์ค๋ฏธ ๋ ๋๋ฏธ ๋ ธํธ | CPU, GPU, NNAPI |
HiSilicon | ๊ธฐ๋ฆฐ(์: ๊ธฐ๋ฆฐ 990) | ํ์จ์ด P40 Pro, ํ์จ์ด ๋ฉ์ดํธ 30 Pro | CPU, GPU, NNAPI |
NVIDIA | ํ ๊ทธ๋ผ(์: ํ ๊ทธ๋ผ X1) | NVIDIA Shield TV, ๋ํ ๋ ์ค์์น | CPU, GPU, NNAPI |
์ธ๊ธ๋ ๋๋ฐ์ด์ค ๋ชฉ๋ก์ ์ ์ฒด ๋ชฉ๋ก์ด ์๋๋ฉฐ ํน์ ์นฉ์ ๋ฐ ๋๋ฐ์ด์ค ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค๋ ์ ์ ์ ์ํ์ธ์. ํญ์ ๋์ ๋๋ฐ์ด์ค์์ ๋ชจ๋ธ์ ํ ์คํธํ์ฌ ํธํ์ฑ๊ณผ ์ต์ ์ ์ฑ๋ฅ์ ํ์ธํ์ธ์.
๋ธ๋ฆฌ๊ฒ์ดํธ ์ ํ์ ๋ฐ๋ผ ์ฑ๋ฅ ๋ฐ ๋ชจ๋ธ ํธํ์ฑ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ผ๋ถ ๋ชจ๋ธ์ ํน์ ๋ธ๋ฆฌ๊ฒ์ดํธ์์ ์๋ํ์ง ์๊ฑฐ๋ ํน์ ๋๋ฐ์ด์ค์์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ๋์ ๋๋ฐ์ด์ค์์ ๋ชจ๋ธ๊ณผ ์ ํํ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ํ ์คํธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
Ultralytics Android ์ฑ ์์ํ๊ธฐ
Ultralytics Android ์ฑ์ ์์ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:
-
Google Play ์คํ ์ด์์ Ultralytics ์ฑ์ ๋ค์ด๋ก๋ํ์ธ์.
-
Android ๋๋ฐ์ด์ค์์ ์ฑ์ ์คํํ๊ณ Ultralytics ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํฉ๋๋ค. ์์ง ๊ณ์ ์ด ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์์ ๊ณ์ ์ ๋ง๋์ธ์.
-
๋ก๊ทธ์ธํ๋ฉด ํ์ต๋ YOLO ๋ชจ๋ธ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. ๊ฐ์ฒด ๊ฐ์ง์ ์ฌ์ฉํ ๋ชจ๋ธ์ ์ ํํฉ๋๋ค.
-
์ฑ์ ๋๋ฐ์ด์ค์ ์นด๋ฉ๋ผ์ ์ก์ธ์คํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
-
๊ฐ์งํ๋ ค๋ ๋ฌผ์ฒด๋ฅผ ๊ธฐ๊ธฐ์ ์นด๋ฉ๋ผ๋ก ๊ฐ๋ฆฌํต๋๋ค. ์ฑ์ด ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ๋ฉด ์ค์๊ฐ์ผ๋ก ๊ฒฝ๊ณ ์์์ ํด๋์ค ๋ ์ด๋ธ์ ํ์ํฉ๋๋ค.
-
์ฑ์ ์ค์ ์ ์ดํด๋ณด๊ณ ๊ฐ์ง ์๊ณ๊ฐ์ ์กฐ์ ํ๊ณ ํน์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ํ์ฑํ ๋๋ ๋นํ์ฑํํ๋ ๋ฑ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
Ultralytics Android ์ฑ์ ์ฌ์ฉํ๋ฉด ์ด์ YOLO ๋ชจ๋ธ์ ์ฌ์ฉํ ์ค์๊ฐ ๋ฌผ์ฒด ๊ฐ์ง ๊ธฐ๋ฅ์ ์๋์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฑ์ ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ณ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๊ฒ ์ค์ ์ ์ต์ ํํด ๋ณด์ธ์.