์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

Ultralytics Android App: Real-time Object Detection with YOLO Models

Ultralytics HUB ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€

Ultralytics GitHub ๊ณต๊ฐ„ Ultralytics LinkedIn ๊ณต๊ฐ„ Ultralytics ํŠธ์œ„ํ„ฐ ๊ณต๊ฐ„ Ultralytics YouTube ๊ณต๊ฐ„ Ultralytics TikTok ๊ณต๊ฐ„ Ultralytics ๋นŒ๋ฆฌ๋นŒ๋ฆฌ ๊ณต๊ฐ„ Ultralytics ๋ถˆํ™”

Google Play ์Šคํ† ์–ดย 

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๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์˜ ์„ฑ๋Šฅ์€ ์žฅ์น˜์˜ ํ•˜๋“œ์›จ์–ด ๊ณต๊ธ‰์—…์ฒด, ์ œํ’ˆ ๋ผ์ธ ๋ฐ ์žฅ์น˜์— ์‚ฌ์šฉ๋˜๋Š” ํŠน์ • ์นฉ์…‹์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  1. CPU: ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๊ธฐ์—์„œ ํ•ฉ๋ฆฌ์ ์ธ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. GPU: ๊ธฐ๊ธฐ์˜ GPU ์„ ํ™œ์šฉํ•˜์—ฌ ๋” ๋น ๋ฅด๊ฒŒ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•๋ ฅํ•œ GPU๊ฐ€ ํƒ‘์žฌ๋œ ๊ธฐ๊ธฐ์—์„œ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Hexagon: ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ํ€„์ปด์˜ ํ—ฅ์‚ฌ๊ณค DSP๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ํ€„์ปด ์Šค๋ƒ…๋“œ๋ž˜๊ณค ํ”„๋กœ์„ธ์„œ๊ฐ€ ํƒ‘์žฌ๋œ ๋””๋ฐ”์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. 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 ์•ฑ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”:

  1. Google Play ์Šคํ† ์–ด์—์„œ Ultralytics ์•ฑ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

  2. Android ๋””๋ฐ”์ด์Šค์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  Ultralytics ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ๊ณ„์ •์ด ์—†๋Š” ๊ฒฝ์šฐ ์—ฌ๊ธฐ์—์„œ ๊ณ„์ •์„ ๋งŒ๋“œ์„ธ์š”.

  3. ๋กœ๊ทธ์ธํ•˜๋ฉด ํ•™์Šต๋œ YOLO ๋ชจ๋ธ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ๊ฐ์ง€์— ์‚ฌ์šฉํ•  ๋ชจ๋ธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. ์•ฑ์— ๋””๋ฐ”์ด์Šค์˜ ์นด๋ฉ”๋ผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  5. ๊ฐ์ง€ํ•˜๋ ค๋Š” ๋ฌผ์ฒด๋ฅผ ๊ธฐ๊ธฐ์˜ ์นด๋ฉ”๋ผ๋กœ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์•ฑ์ด ๊ฐ์ฒด๋ฅผ ๊ฐ์ง€ํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฒฝ๊ณ„ ์ƒ์ž์™€ ํด๋ž˜์Šค ๋ ˆ์ด๋ธ”์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  6. ์•ฑ์˜ ์„ค์ •์„ ์‚ดํŽด๋ณด๊ณ  ๊ฐ์ง€ ์ž„๊ณ„๊ฐ’์„ ์กฐ์ •ํ•˜๊ณ  ํŠน์ • ๊ฐœ์ฒด ํด๋ž˜์Šค๋ฅผ ํ™œ์„ฑํ™” ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ultralytics Android ์•ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ œ YOLO ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€ ๊ธฐ๋Šฅ์„ ์†๋์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์˜ ๊ธฐ๋Šฅ์„ ์‚ดํŽด๋ณด๊ณ  ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋งž๊ฒŒ ์„ค์ •์„ ์ตœ์ ํ™”ํ•ด ๋ณด์„ธ์š”.


๐Ÿ“… Created 11 months ago โœ๏ธ Updated 9 days ago

๋Œ“๊ธ€