Ultralytics Android 앱: YOLO 모델을 사용한 실시간 객체 감지
Ultralytics Android 앱은 Android 기기에서 직접 YOLO 모델을 실행하여 실시간 객체 감지를 수행할 수 있는 강력한 도구입니다. 이 앱은 모델 최적화를 위해 TensorFlow Lite를 사용하고 가속을 위해 다양한 하드웨어 delegate를 활용하여 빠르고 효율적인 객체 감지를 가능하게 합니다.
참고: Ultralytics HUB 앱(IOS & Android) 시작하기
양자화 및 가속
Android 기기에서 실시간 성능을 얻으려면 YOLO 모델이 FP16 또는 INT8 정밀도로 양자화됩니다. 양자화는 모델의 가중치와 편향의 수치 정밀도를 줄여 모델 크기와 필요한 계산량을 줄이는 프로세스입니다. 이를 통해 모델의 정확도에 큰 영향을 주지 않으면서 더 빠른 추론 시간을 얻을 수 있습니다.
FP16 양자화
FP16(또는 half-precision) 양자화는 모델의 32비트 부동 소수점 숫자를 16비트 부동 소수점 숫자로 변환합니다. 이는 모델 크기를 절반으로 줄이고 추론 프로세스 속도를 높이는 동시에 정확도와 성능 간의 균형을 잘 유지합니다.
INT8 양자화
INT8(또는 8비트 정수) 양자화는 32비트 부동 소수점 숫자를 8비트 정수로 변환하여 모델 크기와 계산 요구 사항을 더욱 줄입니다. 이 양자화 방법은 상당한 속도 향상을 가져올 수 있지만, 낮은 수치 정밀도로 인해 평균 정밀도(mAP)가 약간 감소할 수 있습니다.
INT8 모델의 mAP 감소
INT8 모델에서 수치 정밀도가 낮아지면 양자화 과정에서 일부 정보 손실이 발생하여 mAP가 약간 감소할 수 있습니다. 그러나 INT8 양자화로 얻을 수 있는 상당한 성능 향상을 고려할 때 이러한 절충은 종종 허용됩니다.
Delegate 및 성능 가변성
Android 기기에서는 모델 추론을 가속화하기 위해 다양한 delegate를 사용할 수 있습니다. 이러한 delegate에는 CPU, GPU, Hexagon 및 NNAPI가 포함됩니다. 이러한 delegate의 성능은 기기의 하드웨어 공급업체, 제품 라인 및 기기에 사용된 특정 칩셋에 따라 다릅니다.
- CPU: 대부분의 기기에서 합리적인 성능을 제공하는 기본 옵션입니다.
- GPU: 기기의 GPU를 활용하여 추론 속도를 높입니다. 강력한 GPU를 갖춘 기기에서 상당한 성능 향상을 제공할 수 있습니다.
- Hexagon: Qualcomm의 Hexagon DSP를 활용하여 더 빠르고 효율적인 처리를 수행합니다. 이 옵션은 Qualcomm Snapdragon 프로세서가 탑재된 기기에서 사용할 수 있습니다.
- NNAPI: Android Neural Networks API(NNAPI)는 Android 기기에서 ML 모델을 실행하기 위한 추상화 계층 역할을 합니다. NNAPI는 CPU, GPU, Google의 Edge TPU 또는 Pixel Neural Core와 같은 전용 AI 칩과 같은 다양한 하드웨어 가속기를 활용할 수 있습니다.
다음은 주요 공급업체, 제품 라인, 인기 있는 기기 및 지원되는 delegate를 보여주는 표입니다.
공급업체 | 제품 라인 | 인기 있는 기기 | 지원되는 delegate |
---|---|---|---|
Qualcomm | Snapdragon(예: 800 시리즈) | Samsung Galaxy S21, OnePlus 9, Google Pixel 6 | CPU, GPU, Hexagon, NNAPI |
Samsung | Exynos(예: Exynos 2100) | Samsung Galaxy S21(글로벌 버전) | CPU, GPU, NNAPI |
MediaTek | Dimensity(예: Dimensity 1200) | Realme GT, Xiaomi Redmi Note | CPU, GPU, NNAPI |
HiSilicon | Kirin (예: Kirin 990) | Huawei P40 Pro, Huawei Mate 30 Pro | CPU, GPU, NNAPI |
NVIDIA | Tegra (예: Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU, GPU, NNAPI |
언급된 장치 목록은 완전하지 않으며 특정 칩셋 및 장치 모델에 따라 다를 수 있습니다. 호환성 및 최적의 성능을 보장하려면 항상 대상 장치에서 모델을 테스트하십시오.
delegate 선택은 성능 및 모델 호환성에 영향을 줄 수 있습니다. 예를 들어 일부 모델은 특정 delegate와 작동하지 않거나 특정 장치에서 delegate를 사용하지 못할 수 있습니다. 따라서 최상의 결과를 얻으려면 대상 장치에서 모델과 선택한 delegate를 테스트하는 것이 중요합니다.
Ultralytics Android 앱 시작하기
Ultralytics Android 앱을 시작하려면 다음 단계를 따르세요.
-
Google Play Store에서 Ultralytics 앱을 다운로드하세요.
-
Android 기기에서 앱을 실행하고 Ultralytics 계정으로 로그인합니다. 아직 계정이 없으면 https://hub.ultralytics.com/에서 계정을 만드십시오.
-
로그인하면 학습된 YOLO 모델 목록이 표시됩니다. 객체 감지에 사용할 모델을 선택하세요.
-
앱이 장치의 카메라에 액세스할 수 있도록 권한을 부여합니다.
-
감지하려는 객체에 장치의 카메라를 향하게 합니다. 앱은 객체를 감지할 때 실시간으로 경계 상자와 클래스 레이블을 표시합니다.
-
앱 설정을 탐색하여 감지 임계값을 조정하고 특정 객체 클래스를 활성화 또는 비활성화하는 등의 작업을 수행합니다.
Ultralytics Android 앱을 사용하면 YOLO 모델을 사용하여 실시간 객체 감지 기능을 손쉽게 사용할 수 있습니다. 앱의 기능을 살펴보고 특정 사용 사례에 맞게 설정을 최적화해 보세요.