Tensorflow Lite는 Tensorflow로 학습된 AI 모델들을 모바일 기기에서 동작시킬 수 있도록 해 주는 도구들을 포함하고 있는 소프트웨어 패키지입니다. 현재 40억개 이상의 기기에서 동작하고 있다고 합니다. 기본적으로 학습된 모델을 Tensorflow Lite 포맷으로 변환한 후 모바일 기기에서 사용하는 방식이라 기존 공개된 모델들을 그대로 활용할 수 있다는 장점이 있습니다.
많은 AI 프로젝트의 결과물들이 고성능 GPU를 요구하며 PC 환경에서 동작하는 것을 가정하고 만들어져 있어서 서비스화를 위해서는 별도의 추론 서버를 두고 API로 접근하는 경우가 많습니다. 하지만 이 경우 유저 수가 늘어남에 따라 인프라 비용이 비례하여 증가하며, 근본적인 네트워크 지연시간이 필요하다는 문제가 있습니다. 개인 정보에 대한 활용 이슈도 존재하구요. 유저의 기기에서 바로 AI 모델에 대한 추론을 하게 되면 이러한 문제를 회피할 수 있는데, 최근 별도의 AI 추론 가속기가 스마트폰에 탑재되는 등 on-device AI에 대한 활용도는 계속 증가할 것으로 생각됩니다.
Awesome Tensorflow Lite라는 사이트에서는 Tensorflow Lite를 사용한 다양한 모바일 앱 샘플 프로젝트들을 모아 놓았습니다. 다음은 awesome tensorflow lite github 저장소에서 정리해 둔 프로젝트 모음입니다. Compute vision, text, speech, recommendation 등 다양한 분야의 프로젝트들이 존재합니다.
Computer vision
Task | Model | App | Reference | Source |
---|---|---|---|
Classification | MobileNetV1 (download) | Android | iOS | Raspberry Pi | Overview | tensorflow.org |
Classification | MobileNetV2 | Recognize Flowers on Android Codelab | Android | TensorFlow team |
Classification | MobileNetV2 | Skin Lesion Detection Android | Community |
Classification | EfficientNet-Lite0 (download) | Icon Classifier Colab & Android | tutorial 1 | tutorial 2 | Community |
Object detection | Quantized COCO SSD MobileNet v1 (download) | Android | iOS | Overview | tensorflow.org |
Object detection | YOLO | Flutter | Paper | Community |
Object detection | MobileNetV2 SSD (download) | Reference | MediaPipe |
Object detection | MobileDet (Paper) | Blog post (includes the TFLite conversion process) | MobileDet is from University of Wisconsin-Madison and Google and the blog post is from the Community |
License Plate detection | SSD MobileNet (download) | Flutter | Community |
Face detection | BlazeFace (download) | Paper | MediaPipe |
Hand detection & tracking | Palm detection & hand landmarks (download) | Blog post | Model card | MediaPipe |
Pose estimation | Posenet (download) | Android | iOS | Overview | tensorflow.org |
Segmentation | DeepLab V3 (download) | Android & iOS | Overview | Flutter Image | Realtime | Paper | tf.org & Community |
Segmentation | Different variants of DeepLab V3 models | Models on TF Hub with Colab Notebooks | Community |
Hair Segmentation | Download | Paper | MediaPipe |
Style transfer | Arbitrary image stylization | Overview | Android | Flutter | tf.org & Community |
Style transfer | Better-quality style transfer models in .tflite | Models on TF Hub with Colab Notebooks | Community |
GANs | U-GAT-IT (Selfie2Anime) | Project repo | Android | Tutorial | Community |
GANs | White-box CartoonGAN (download) | Project repo | Android | Tutorial | Community |
Video Style Transfer | Download: Dynamic range models) | Android | Tutorial | Community |
Segmentation & Style transfer | DeepLabV3 & Style Transfer models | Project repo | Android | Tutorial | Community |
Low-light image enhancement | Models on TF Hub | Project repo | Original Paper | | Community |
Text Detection | CRAFT Text Detector (Paper) | Download | Project Repository | Blog1-Conversion to TFLite | Blog2-EAST vs CRAFT | Models on TF Hub | Android (Coming Soon) | Community |
Text Detection | EAST Text Detector (Paper) | Models on TF Hub | Conversion and Inference Notebook | Community |
Image Extrapolation | Models on TF Hub | Colab Notebook | Original Paper | Community |
OCR | Models on TF Hub | Project Repository | Community |
Text
Task | Model | Sample apps | Source |
---|---|---|---|
Question & Answer | DistilBERT | Android | Hugging Face |
Text Generation | GPT-2 / DistilGPT2 | Android | Hugging Face |
Text Classification | Download | Android |iOS | Flutter | tf.org & Community |
Speech
Task | Model | App | Reference | Source |
---|---|---|---|
Speech Recognition | DeepSpeech | Reference | Mozilla |
Speech Synthesis | Tacotron-2, FastSpeech2, MB-Melgan | Android | TensorSpeech |
Speech Synthesis(TTS) | Tacotron2, FastSpeech2, MelGAN, MB-MelGAN, HiFi-GAN, Parallel WaveGAN | Inference Notebook | Project Repository | Community |
Recommendation
Task | Model | App | Reference | Source |
---|---|---|---|
On-device Recommendation | Dual-Encoder | Android | iOS | Reference | tf.org & Community |
상당히 다양한 종류의 사례들이 있어서, 바로 활용하거나 직접 연구 개발한 AI 모델을 적용한 스마트폰 앱을 개발할 때 유용할 것 같습니다. 다음은 awesome tensorflow lite 사이트 저장소 링크입니다: