# TFLite-Image-Classification-Demo-App **Repository Path**: for2cyfeng/TFLite-Image-Classification-Demo-App ## Basic Information - **Project Name**: TFLite-Image-Classification-Demo-App - **Description**: 一个获取摄像头的实时数据,来检测识物,一个本地模型的部署Android应用 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-24 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TensorFlow Lite image classification Android example application ## Overview This is an example application for [TensorFlow Lite](https://tensorflow.org/lite) on Android. It uses [Image classification](https://www.tensorflow.org/lite/models/image_classification/overview) to continuously classify whatever it sees from the device's back camera. Inference is performed using the TensorFlow Lite Java API. The demo app classifies frames in real-time, displaying the top most probable classifications. It allows the user to choose between a floating point or [quantized](https://www.tensorflow.org/lite/performance/post_training_quantization) model, select the thread count, and decide whether to run on CPU, GPU, or via [NNAPI](https://developer.android.com/ndk/guides/neuralnetworks). These instructions walk you through building and running the demo on an Android device. For an explanation of the source, see [TensorFlow Lite Android image classification example](EXPLORE_THE_CODE.md). ### Model We provide 4 models bundled in this App: MobileNetV1 (float), MobileNetV1 (quantized), EfficientNetLite (float) and EfficientNetLite (quantized). Particularly, we chose "mobilenet_v1_1.0_224" and "efficientnet-lite0". MobileNets are classical models, while EfficientNets are the latest work. The chosen EfficientNet (lite0) has comparable speed with MobileNetV1, and on the ImageNet dataset, EfficientNet-lite0 out performs MobileNetV1 by ~4% in terms of top-1 accuracy. For details of the model used, visit [Image classification](https://www.tensorflow.org/lite/models/image_classification/overview). Downloading, extracting, and placing the model in the assets folder is managed automatically by download.gradle. ## Requirements * Android Studio 3.2 (installed on a Linux, Mac or Windows machine) * Android device in [developer mode](https://developer.android.com/studio/debug/dev-options) with USB debugging enabled * USB cable (to connect Android device to your computer) ## Build and run ### Step 1. Clone the TensorFlow examples source code Clone the TensorFlow examples GitHub repository to your computer to get the demo application. ``` git clone https://github.com/tensorflow/examples ``` Open the TensorFlow source code in Android Studio. To do this, open Android Studio and select `Open an existing project`, setting the folder to `examples/lite/examples/image_classification/android` ### Step 2. Build the Android Studio project Select `Build -> Make Project` and check that the project builds successfully. You will need Android SDK configured in the settings. You'll need at least SDK version 23. The `build.gradle` file will prompt you to download any missing libraries. The file `download.gradle` directs gradle to download the two models used in the example, placing them into `assets`. ### Step 3. Install and run the app Connect the Android device to the computer and be sure to approve any ADB permission prompts that appear on your phone. Select `Run -> Run app.` Select the deployment target in the connected devices to the device on which the app will be installed. This will install the app on the device. To test the app, open the app called `TFL Classify` on your device. When you run the app the first time, the app will request permission to access the camera. Re-installing the app may require you to uninstall the previous installations. ## Assets folder _Do not delete the assets folder content_. If you explicitly deleted the files, choose `Build -> Rebuild` to re-download the deleted model files into the assets folder.