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 모델을 사용한 실시간 물체 감지 기능을 손끝에서 바로 사용할 수 있습니다. 앱의 기능을 살펴보고 특정 사용 사례에 맞게 설정을 최적화해 보세요.