From 365ab6c42bafce8dfe4306996c37895805bb9afe Mon Sep 17 00:00:00 2001 From: Gunock Date: Wed, 19 May 2021 19:33:30 +0200 Subject: [PATCH 01/26] Reimplemented android app using Kotlin and more modern approach --- android/app/build.gradle | 64 +- android/app/detector/.gitignore | 1 + android/app/detector/build.gradle | 46 ++ android/app/detector/consumer-rules.pro | 0 android/app/detector/proguard-rules.pro | 21 + .../detector/ExampleInstrumentedTest.kt | 24 + .../app/detector/src/main/AndroidManifest.xml | 4 + .../lite/examples/detector/ExampleUnitTest.kt | 17 + android/app/download_model.gradle | 26 - .../src/androidTest/java/AndroidManifest.xml | 3 +- .../lite/examples/detection/DetectorTest.java | 165 ----- .../lite/examples/detector/DetectorTest.kt | 161 +++++ android/app/src/main/AndroidManifest.xml | 23 +- android/app/src/main/assets/labelmap.txt | 91 --- .../examples/detection/CameraActivity.java | 550 ---------------- .../detection/CameraConnectionFragment.java | 569 ----------------- .../examples/detection/DetectorActivity.java | 266 -------- .../LegacyCameraConnectionFragment.java | 199 ------ .../lite/examples/detection/MainActivity.java | 162 ----- .../customview/AutoFitTextureView.java | 72 --- .../detection/customview/OverlayView.java | 48 -- .../customview/RecognitionScoreView.java | 67 -- .../detection/customview/ResultsView.java | 23 - .../examples/detection/env/BorderedText.java | 128 ---- .../examples/detection/env/ImageUtils.java | 219 ------- .../lite/examples/detection/env/Logger.java | 186 ------ .../lite/examples/detection/env/Size.java | 142 ----- .../lite/examples/detection/env/Utils.java | 188 ------ .../examples/detection/tflite/Classifier.java | 134 ---- .../detection/tflite/YoloV4Classifier.java | 599 ------------------ .../detection/tracking/MultiBoxTracker.java | 211 ------ .../detector/activities/DetectorActivity.kt | 226 +++++++ .../detector/activities/MainActivity.kt | 125 ++++ .../detector/helpers/DetectionProcessor.kt | 88 +++ .../main/res/drawable-hdpi/ic_launcher.png | Bin 1411 -> 0 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 929 -> 0 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 - .../main/res/drawable-xxhdpi/ic_launcher.png | Bin 3025 -> 0 bytes .../res/drawable-xxhdpi/tfl2_logo_dark.png | Bin 5532 -> 0 bytes .../src/main/res/drawable-xxxhdpi/caret.jpg | Bin 10087 -> 0 bytes .../src/main/res/drawable-xxxhdpi/chair.jpg | Bin 21299 -> 0 bytes .../res/drawable-xxxhdpi/sample_image.jpg | Bin 534921 -> 0 bytes .../src/main/res/drawable/ic_baseline_add.xml | 9 - .../main/res/drawable/ic_baseline_remove.xml | 9 - .../res/drawable/ic_launcher_background.xml | 170 ----- .../app/src/main/res/drawable/rectangle.xml | 13 - .../src/main/res/layout/activity_camera.xml | 66 ++ .../app/src/main/res/layout/activity_main.xml | 10 +- .../res/layout/tfe_od_activity_camera.xml | 56 -- ...od_camera_connection_fragment_tracking.xml | 30 - .../res/layout/tfe_od_layout_bottom_sheet.xml | 103 +-- android/app/src/main/res/values/strings.xml | 12 +- android/build.gradle | 7 +- android/detector/.gitignore | 1 + android/detector/build.gradle | 46 ++ android/detector/consumer-rules.pro | 0 android/detector/proguard-rules.pro | 21 + android/detector/src/main/AndroidManifest.xml | 4 + .../src/main/assets/coco.txt | 0 .../src/main/assets/yolov4-416-fp32.tflite | Bin .../lite/examples/detector/Detector.kt | 49 ++ .../lite/examples/detector/DetectorFactory.kt | 17 + .../lite/examples/detector/YoloV4Detector.kt | 239 +++++++ .../examples/detector/enums/DetectionModel.kt | 20 + .../detector/utils/ImageToBitmapConverter.kt | 66 ++ .../examples/detector/utils/ImageUtils.kt | 55 ++ .../detector/visualization/BorderedText.kt | 49 ++ .../detector/visualization/MultiBoxTracker.kt | 151 +++++ .../visualization/TrackingOverlayView.kt | 23 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 3 +- 71 files changed, 1596 insertions(+), 4517 deletions(-) create mode 100644 android/app/detector/.gitignore create mode 100644 android/app/detector/build.gradle create mode 100644 android/app/detector/consumer-rules.pro create mode 100644 android/app/detector/proguard-rules.pro create mode 100644 android/app/detector/src/androidTest/java/org/tensorflow/lite/examples/detector/ExampleInstrumentedTest.kt create mode 100644 android/app/detector/src/main/AndroidManifest.xml create mode 100644 android/app/detector/src/test/java/org/tensorflow/lite/examples/detector/ExampleUnitTest.kt delete mode 100755 android/app/download_model.gradle delete mode 100755 android/app/src/androidTest/java/org/tensorflow/lite/examples/detection/DetectorTest.java create mode 100755 android/app/src/androidTest/java/org/tensorflow/lite/examples/detector/DetectorTest.kt delete mode 100755 android/app/src/main/assets/labelmap.txt delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraActivity.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraConnectionFragment.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/DetectorActivity.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/LegacyCameraConnectionFragment.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/MainActivity.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/AutoFitTextureView.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/OverlayView.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/RecognitionScoreView.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/ResultsView.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/env/BorderedText.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/env/ImageUtils.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Logger.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Size.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Utils.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/Classifier.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/YoloV4Classifier.java delete mode 100755 android/app/src/main/java/org/tensorflow/lite/examples/detection/tracking/MultiBoxTracker.java create mode 100644 android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/DetectorActivity.kt create mode 100644 android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/MainActivity.kt create mode 100644 android/app/src/main/java/org/tensorflow/lite/examples/detector/helpers/DetectionProcessor.kt delete mode 100755 android/app/src/main/res/drawable-hdpi/ic_launcher.png delete mode 100755 android/app/src/main/res/drawable-mdpi/ic_launcher.png delete mode 100755 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100755 android/app/src/main/res/drawable-xxhdpi/ic_launcher.png delete mode 100755 android/app/src/main/res/drawable-xxhdpi/tfl2_logo_dark.png delete mode 100755 android/app/src/main/res/drawable-xxxhdpi/caret.jpg delete mode 100755 android/app/src/main/res/drawable-xxxhdpi/chair.jpg delete mode 100755 android/app/src/main/res/drawable-xxxhdpi/sample_image.jpg delete mode 100755 android/app/src/main/res/drawable/ic_baseline_add.xml delete mode 100755 android/app/src/main/res/drawable/ic_baseline_remove.xml delete mode 100755 android/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100755 android/app/src/main/res/drawable/rectangle.xml create mode 100644 android/app/src/main/res/layout/activity_camera.xml delete mode 100755 android/app/src/main/res/layout/tfe_od_activity_camera.xml delete mode 100755 android/app/src/main/res/layout/tfe_od_camera_connection_fragment_tracking.xml create mode 100644 android/detector/.gitignore create mode 100644 android/detector/build.gradle create mode 100644 android/detector/consumer-rules.pro create mode 100644 android/detector/proguard-rules.pro create mode 100644 android/detector/src/main/AndroidManifest.xml rename android/{app => detector}/src/main/assets/coco.txt (100%) mode change 100755 => 100644 rename android/{app => detector}/src/main/assets/yolov4-416-fp32.tflite (100%) mode change 100755 => 100644 create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/Detector.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/DetectorFactory.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/YoloV4Detector.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/enums/DetectionModel.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/utils/ImageToBitmapConverter.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/utils/ImageUtils.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/visualization/BorderedText.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/visualization/MultiBoxTracker.kt create mode 100644 android/detector/src/main/java/org/tensorflow/lite/examples/detector/visualization/TrackingOverlayView.kt diff --git a/android/app/build.gradle b/android/app/build.gradle index f86c2d3f..99148765 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,61 +1,63 @@ apply plugin: 'com.android.application' -apply plugin: 'de.undercouch.download' +apply plugin: 'kotlin-android' android { - compileSdkVersion 28 + compileSdkVersion 30 buildToolsVersion '28.0.3' + defaultConfig { - applicationId "org.tensorflow.lite.examples.detection" - minSdkVersion 21 - targetSdkVersion 28 + applicationId "org.tensorflow.lite.examples" + minSdkVersion 23 + targetSdkVersion 30 versionCode 1 versionName "1.0" - -// ndk { -// abiFilters 'armeabi-v7a', 'arm64-v8a' -// } } + buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - aaptOptions { - noCompress "tflite" + + buildFeatures { + viewBinding true } + compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' } + lintOptions { abortOnError false } } -// import DownloadModels task -project.ext.ASSET_DIR = projectDir.toString() + '/src/main/assets' -project.ext.TMP_DIR = project.buildDir.toString() + '/downloads' +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) + implementation project(':detector') -// Download default models; if you wish to use your own models then -// place them in the "assets" directory and comment out this line. -//apply from: "download_model.gradle" + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3' -apply from: 'download_model.gradle' + implementation "androidx.camera:camera-camera2:1.0.0" + implementation "androidx.camera:camera-lifecycle:1.0.0" + implementation "androidx.camera:camera-view:1.0.0-alpha24" -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) - implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' - implementation 'com.google.android.material:material:1.1.0' -// implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly' -// implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly' - implementation 'org.tensorflow:tensorflow-lite:2.2.0' - implementation 'org.tensorflow:tensorflow-lite-gpu:2.2.0' -// implementation 'org.tensorflow:tensorflow-lite:0.0.0-gpu-experimental' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' + + implementation 'com.google.android.material:material:1.3.0' implementation 'com.google.code.gson:gson:2.8.6' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'com.android.support.test:rules:1.0.2' - androidTestImplementation 'com.google.truth:truth:1.0.1' + + // Uncomment if you want to enable memory leak detection +// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7' + + androidTestImplementation 'androidx.test.ext:junit:1.1.2' +// testImplementation "androidx.test:runner:1.3.0" +// testImplementation "androidx.test.ext:junit:1.1.2" + androidTestImplementation 'com.google.truth:truth:1.1.2' + } diff --git a/android/app/detector/.gitignore b/android/app/detector/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/android/app/detector/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/android/app/detector/build.gradle b/android/app/detector/build.gradle new file mode 100644 index 00000000..4e518083 --- /dev/null +++ b/android/app/detector/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' +} + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + minSdkVersion 23 + targetSdkVersion 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles "consumer-rules.pro" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + + implementation 'androidx.core:core-ktx:1.5.0' + implementation 'androidx.appcompat:appcompat:1.2.0' + + implementation 'com.google.android.material:material:1.3.0' + + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' +} \ No newline at end of file diff --git a/android/app/detector/consumer-rules.pro b/android/app/detector/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/android/app/detector/proguard-rules.pro b/android/app/detector/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/android/app/detector/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/android/app/detector/src/androidTest/java/org/tensorflow/lite/examples/detector/ExampleInstrumentedTest.kt b/android/app/detector/src/androidTest/java/org/tensorflow/lite/examples/detector/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..ae2b83f4 --- /dev/null +++ b/android/app/detector/src/androidTest/java/org/tensorflow/lite/examples/detector/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package org.tensorflow.lite.examples.detector + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("org.tensorflow.lite.examples.detector.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/android/app/detector/src/main/AndroidManifest.xml b/android/app/detector/src/main/AndroidManifest.xml new file mode 100644 index 00000000..192d1951 --- /dev/null +++ b/android/app/detector/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/android/app/detector/src/test/java/org/tensorflow/lite/examples/detector/ExampleUnitTest.kt b/android/app/detector/src/test/java/org/tensorflow/lite/examples/detector/ExampleUnitTest.kt new file mode 100644 index 00000000..8b11802f --- /dev/null +++ b/android/app/detector/src/test/java/org/tensorflow/lite/examples/detector/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package org.tensorflow.lite.examples.detector + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/android/app/download_model.gradle b/android/app/download_model.gradle deleted file mode 100755 index 08b86fdc..00000000 --- a/android/app/download_model.gradle +++ /dev/null @@ -1,26 +0,0 @@ - -task downloadZipFile(type: Download) { - src 'http://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip' - dest new File(buildDir, 'zips/') - overwrite false -} - - -task downloadAndUnzipFile(dependsOn: downloadZipFile, type: Copy) { - from zipTree(downloadZipFile.dest) - into project.ext.ASSET_DIR -} - - -task extractModels(type: Copy) { - dependsOn downloadAndUnzipFile -} - -tasks.whenTaskAdded { task -> - if (task.name == 'assembleDebug') { - task.dependsOn 'extractModels' - } - if (task.name == 'assembleRelease') { - task.dependsOn 'extractModels' - } -} \ No newline at end of file diff --git a/android/app/src/androidTest/java/AndroidManifest.xml b/android/app/src/androidTest/java/AndroidManifest.xml index 484ab476..5d8db24c 100755 --- a/android/app/src/androidTest/java/AndroidManifest.xml +++ b/android/app/src/androidTest/java/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/android/app/src/androidTest/java/org/tensorflow/lite/examples/detection/DetectorTest.java b/android/app/src/androidTest/java/org/tensorflow/lite/examples/detection/DetectorTest.java deleted file mode 100755 index 3fc33490..00000000 --- a/android/app/src/androidTest/java/org/tensorflow/lite/examples/detection/DetectorTest.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright 2020 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.tensorflow.lite.examples.detection; - -import static com.google.common.truth.Truth.assertThat; -import static java.lang.Math.abs; -import static java.lang.Math.max; -import static java.lang.Math.min; - -import android.content.res.AssetManager; -import android.graphics.Bitmap; -import android.graphics.Bitmap.Config; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Matrix; -import android.graphics.RectF; -import android.util.Size; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import androidx.test.platform.app.InstrumentationRegistry; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.tflite.Classifier; -import org.tensorflow.lite.examples.detection.tflite.Classifier.Recognition; -import org.tensorflow.lite.examples.detection.tflite.TFLiteObjectDetectionAPIModel; - -/** Golden test for Object Detection Reference app. */ -@RunWith(AndroidJUnit4.class) -public class DetectorTest { - - private static final int MODEL_INPUT_SIZE = 300; - private static final boolean IS_MODEL_QUANTIZED = true; - private static final String MODEL_FILE = "detect.tflite"; - private static final String LABELS_FILE = "file:///android_asset/labelmap.txt"; - private static final Size IMAGE_SIZE = new Size(640, 480); - - private Classifier detector; - private Bitmap croppedBitmap; - private Matrix frameToCropTransform; - private Matrix cropToFrameTransform; - - @Before - public void setUp() throws IOException { - AssetManager assetManager = - InstrumentationRegistry.getInstrumentation().getContext().getAssets(); - detector = - TFLiteObjectDetectionAPIModel.create( - assetManager, - MODEL_FILE, - LABELS_FILE, - MODEL_INPUT_SIZE, - IS_MODEL_QUANTIZED); - int cropSize = MODEL_INPUT_SIZE; - int previewWidth = IMAGE_SIZE.getWidth(); - int previewHeight = IMAGE_SIZE.getHeight(); - int sensorOrientation = 0; - croppedBitmap = Bitmap.createBitmap(cropSize, cropSize, Config.ARGB_8888); - - frameToCropTransform = - ImageUtils.getTransformationMatrix( - previewWidth, previewHeight, - cropSize, cropSize, - sensorOrientation, false); - cropToFrameTransform = new Matrix(); - frameToCropTransform.invert(cropToFrameTransform); - } - - @Test - public void detectionResultsShouldNotChange() throws Exception { - Canvas canvas = new Canvas(croppedBitmap); - canvas.drawBitmap(loadImage("table.jpg"), frameToCropTransform, null); - final List results = detector.recognizeImage(croppedBitmap); - final List expected = loadRecognitions("table_results.txt"); - - for (Recognition target : expected) { - // Find a matching result in results - boolean matched = false; - for (Recognition item : results) { - RectF bbox = new RectF(); - cropToFrameTransform.mapRect(bbox, item.getLocation()); - if (item.getTitle().equals(target.getTitle()) - && matchBoundingBoxes(bbox, target.getLocation()) - && matchConfidence(item.getConfidence(), target.getConfidence())) { - matched = true; - break; - } - } - assertThat(matched).isTrue(); - } - } - - // Confidence tolerance: absolute 1% - private static boolean matchConfidence(float a, float b) { - return abs(a - b) < 0.01; - } - - // Bounding Box tolerance: overlapped area > 95% of each one - private static boolean matchBoundingBoxes(RectF a, RectF b) { - float areaA = a.width() * a.height(); - float areaB = b.width() * b.height(); - RectF overlapped = - new RectF( - max(a.left, b.left), max(a.top, b.top), min(a.right, b.right), min(a.bottom, b.bottom)); - float overlappedArea = overlapped.width() * overlapped.height(); - return overlappedArea > 0.95 * areaA && overlappedArea > 0.95 * areaB; - } - - private static Bitmap loadImage(String fileName) throws Exception { - AssetManager assetManager = - InstrumentationRegistry.getInstrumentation().getContext().getAssets(); - InputStream inputStream = assetManager.open(fileName); - return BitmapFactory.decodeStream(inputStream); - } - - // The format of result: - // category bbox.left bbox.top bbox.right bbox.bottom confidence - // ... - // Example: - // Apple 99 25 30 75 80 0.99 - // Banana 25 90 75 200 0.98 - // ... - private static List loadRecognitions(String fileName) throws Exception { - AssetManager assetManager = - InstrumentationRegistry.getInstrumentation().getContext().getAssets(); - InputStream inputStream = assetManager.open(fileName); - Scanner scanner = new Scanner(inputStream); - List result = new ArrayList<>(); - while (scanner.hasNext()) { - String category = scanner.next(); - category = category.replace('_', ' '); - if (!scanner.hasNextFloat()) { - break; - } - float left = scanner.nextFloat(); - float top = scanner.nextFloat(); - float right = scanner.nextFloat(); - float bottom = scanner.nextFloat(); - RectF boundingBox = new RectF(left, top, right, bottom); - float confidence = scanner.nextFloat(); - Recognition recognition = new Recognition(null, category, confidence, boundingBox); - result.add(recognition); - } - return result; - } -} diff --git a/android/app/src/androidTest/java/org/tensorflow/lite/examples/detector/DetectorTest.kt b/android/app/src/androidTest/java/org/tensorflow/lite/examples/detector/DetectorTest.kt new file mode 100755 index 00000000..854c2473 --- /dev/null +++ b/android/app/src/androidTest/java/org/tensorflow/lite/examples/detector/DetectorTest.kt @@ -0,0 +1,161 @@ +/* + * Copyright 2020 The TensorFlow Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tensorflow.lite.examples.detector + +import android.content.res.AssetManager +import android.graphics.* +import android.util.Size +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation +import com.google.common.truth.Truth.assertThat +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.tensorflow.lite.examples.detector.enums.DetectionModel +import org.tensorflow.lite.examples.detector.utils.ImageUtils +import java.util.* +import kotlin.math.abs +import kotlin.math.max +import kotlin.math.min + +/** + * Golden test for Object Detection Reference app. + */ +@RunWith(AndroidJUnit4::class) +class DetectorTest { + + private companion object { + val MODEL: DetectionModel = DetectionModel.YOLO_V4_416_FP32 + val IMAGE_SIZE = Size(640, 480) + } + + private lateinit var detector: Detector + private lateinit var croppedBitmap: Bitmap + private lateinit var frameToCropTransform: Matrix + private lateinit var cropToFrameTransform: Matrix + + @Before + fun setUp() { + val assetManager: AssetManager = getInstrumentation().context.resources.assets + + detector = + DetectorFactory.createDetector(assetManager, DetectionModel.YOLO_V4_416_FP32, 0.0f) + + val cropSize = MODEL.inputSize + val previewWidth = IMAGE_SIZE.width + val previewHeight = IMAGE_SIZE.height + val sensorOrientation = 0 + croppedBitmap = Bitmap.createBitmap(cropSize, cropSize, Bitmap.Config.ARGB_8888) + frameToCropTransform = ImageUtils.getTransformationMatrix( + previewWidth, + previewHeight, + cropSize, + cropSize, + sensorOrientation + ) + cropToFrameTransform = Matrix() + frameToCropTransform.invert(cropToFrameTransform) + } + + @Test + fun detectionResultsShouldNotChange() { + val canvas = Canvas(croppedBitmap) + canvas.drawBitmap(loadImage("table.jpg"), frameToCropTransform, null) + + val detections: List = detector.runDetection(croppedBitmap) + val expectedDetections: List = loadDetections("table_results.txt") + + for (expectedDetection in expectedDetections) { + // Find a matching result in results + var matched = false + for (detection in detections) { + val bbox = RectF() + cropToFrameTransform.mapRect(bbox, detection.boundingBox) + if (detection.className == expectedDetection.className + && matchBoundingBoxes(bbox, expectedDetection.boundingBox) + && matchConfidence(detection.score, expectedDetection.score) + ) { + matched = true + break + } + } + assertThat(matched).isTrue() + } + } + + // Confidence tolerance: absolute 1% + private fun matchConfidence(a: Float, b: Float): Boolean { + return abs(a - b) < 0.01 + } + + // Bounding Box tolerance: overlapped area > 95% of each one + private fun matchBoundingBoxes(a: RectF, b: RectF): Boolean { + val areaA: Float = a.width() * a.height() + val areaB: Float = b.width() * b.height() + val overlapped = RectF( + max(a.left, b.left), + max(a.top, b.top), + min(a.right, b.right), + min(a.bottom, b.bottom) + ) + val overlappedArea: Float = overlapped.width() * overlapped.height() + return overlappedArea > 0.95 * areaA && overlappedArea > 0.95 * areaB + } + + private fun loadImage(filename: String): Bitmap { + val assetManager: AssetManager = getInstrumentation().context.assets + return assetManager.open(filename).use { inputStream -> + BitmapFactory.decodeStream(inputStream) + } + } + + // The format of result: + // category bbox.left bbox.top bbox.right bbox.bottom confidence + // ... + // Example: + // Apple 99 25 30 75 80 0.99 + // Banana 25 90 75 200 0.98 + // ... + private fun loadDetections(filename: String): List { + val assetManager: AssetManager = getInstrumentation().context.assets + + val result: MutableList = mutableListOf() + + assetManager.open(filename).use { inputStream -> + val scanner = Scanner(inputStream) + while (scanner.hasNext()) { + val className = scanner.next().replace('_', ' ') + + if (!scanner.hasNextFloat()) { + break + } + + val left = scanner.nextFloat() + val top = scanner.nextFloat() + val right = scanner.nextFloat() + val bottom = scanner.nextFloat() + val boundingBox = RectF(left, top, right, bottom) + + val score = scanner.nextFloat() + + val detection = Detector.Detection("", className, score, boundingBox, 0) + result.add(detection) + } + } + return result + } + +} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 397ac8ce..e4153a34 100755 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,14 +1,9 @@ - - + xmlns:tools="http://schemas.android.com/tools" + package="org.tensorflow.lite.examples.detector"> - - - - - + + android:theme="@style/AppTheme.ObjectDetection" + tools:ignore="LockedOrientationActivity"> - + android:screenOrientation="portrait" /> - + diff --git a/android/app/src/main/assets/labelmap.txt b/android/app/src/main/assets/labelmap.txt deleted file mode 100755 index 5a70ff82..00000000 --- a/android/app/src/main/assets/labelmap.txt +++ /dev/null @@ -1,91 +0,0 @@ -??? -person -bicycle -car -motorcycle -airplane -bus -train -truck -boat -traffic light -fire hydrant -??? -stop sign -parking meter -bench -bird -cat -dog -horse -sheep -cow -elephant -bear -zebra -giraffe -??? -backpack -umbrella -??? -??? -handbag -tie -suitcase -frisbee -skis -snowboard -sports ball -kite -baseball bat -baseball glove -skateboard -surfboard -tennis racket -bottle -??? -wine glass -cup -fork -knife -spoon -bowl -banana -apple -sandwich -orange -broccoli -carrot -hot dog -pizza -donut -cake -chair -couch -potted plant -bed -??? -dining table -??? -??? -toilet -??? -tv -laptop -mouse -remote -keyboard -cell phone -microwave -oven -toaster -sink -refrigerator -??? -book -clock -vase -scissors -teddy bear -hair drier -toothbrush diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraActivity.java deleted file mode 100755 index b1cedd08..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraActivity.java +++ /dev/null @@ -1,550 +0,0 @@ -/* - * Copyright 2019 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.tensorflow.lite.examples.detection; - -import android.Manifest; -import android.app.Fragment; -import android.content.Context; -import android.content.pm.PackageManager; -import android.hardware.Camera; -import android.hardware.camera2.CameraAccessException; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraManager; -import android.hardware.camera2.params.StreamConfigurationMap; -import android.media.Image; -import android.media.Image.Plane; -import android.media.ImageReader; -import android.media.ImageReader.OnImageAvailableListener; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Trace; -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.SwitchCompat; -import androidx.appcompat.widget.Toolbar; -import android.util.Size; -import android.view.Surface; -import android.view.View; -import android.view.ViewTreeObserver; -import android.view.WindowManager; -import android.widget.CompoundButton; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; -import android.widget.Toast; -import com.google.android.material.bottomsheet.BottomSheetBehavior; -import java.nio.ByteBuffer; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.env.Logger; - -public abstract class CameraActivity extends AppCompatActivity - implements OnImageAvailableListener, - Camera.PreviewCallback, - CompoundButton.OnCheckedChangeListener, - View.OnClickListener { - private static final Logger LOGGER = new Logger(); - - private static final int PERMISSIONS_REQUEST = 1; - - private static final String PERMISSION_CAMERA = Manifest.permission.CAMERA; - protected int previewWidth = 0; - protected int previewHeight = 0; - private boolean debug = false; - private Handler handler; - private HandlerThread handlerThread; - private boolean useCamera2API; - private boolean isProcessingFrame = false; - private byte[][] yuvBytes = new byte[3][]; - private int[] rgbBytes = null; - private int yRowStride; - private Runnable postInferenceCallback; - private Runnable imageConverter; - - private LinearLayout bottomSheetLayout; - private LinearLayout gestureLayout; - private BottomSheetBehavior sheetBehavior; - - protected TextView frameValueTextView, cropValueTextView, inferenceTimeTextView; - protected ImageView bottomSheetArrowImageView; - private ImageView plusImageView, minusImageView; - private SwitchCompat apiSwitchCompat; - private TextView threadsTextView; - - @Override - protected void onCreate(final Bundle savedInstanceState) { - LOGGER.d("onCreate " + this); - super.onCreate(null); - getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - - setContentView(R.layout.tfe_od_activity_camera); - Toolbar toolbar = findViewById(R.id.toolbar); - setSupportActionBar(toolbar); - getSupportActionBar().setDisplayShowTitleEnabled(false); - - if (hasPermission()) { - setFragment(); - } else { - requestPermission(); - } - - threadsTextView = findViewById(R.id.threads); - plusImageView = findViewById(R.id.plus); - minusImageView = findViewById(R.id.minus); - apiSwitchCompat = findViewById(R.id.api_info_switch); - bottomSheetLayout = findViewById(R.id.bottom_sheet_layout); - gestureLayout = findViewById(R.id.gesture_layout); - sheetBehavior = BottomSheetBehavior.from(bottomSheetLayout); - bottomSheetArrowImageView = findViewById(R.id.bottom_sheet_arrow); - - ViewTreeObserver vto = gestureLayout.getViewTreeObserver(); - vto.addOnGlobalLayoutListener( - new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { - gestureLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this); - } else { - gestureLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this); - } - // int width = bottomSheetLayout.getMeasuredWidth(); - int height = gestureLayout.getMeasuredHeight(); - - sheetBehavior.setPeekHeight(height); - } - }); - sheetBehavior.setHideable(false); - - sheetBehavior.setBottomSheetCallback( - new BottomSheetBehavior.BottomSheetCallback() { - @Override - public void onStateChanged(@NonNull View bottomSheet, int newState) { - switch (newState) { - case BottomSheetBehavior.STATE_HIDDEN: - break; - case BottomSheetBehavior.STATE_EXPANDED: - { - bottomSheetArrowImageView.setImageResource(R.drawable.icn_chevron_down); - } - break; - case BottomSheetBehavior.STATE_COLLAPSED: - { - bottomSheetArrowImageView.setImageResource(R.drawable.icn_chevron_up); - } - break; - case BottomSheetBehavior.STATE_DRAGGING: - break; - case BottomSheetBehavior.STATE_SETTLING: - bottomSheetArrowImageView.setImageResource(R.drawable.icn_chevron_up); - break; - } - } - - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) {} - }); - - frameValueTextView = findViewById(R.id.frame_info); - cropValueTextView = findViewById(R.id.crop_info); - inferenceTimeTextView = findViewById(R.id.inference_info); - - apiSwitchCompat.setOnCheckedChangeListener(this); - - plusImageView.setOnClickListener(this); - minusImageView.setOnClickListener(this); - } - - protected int[] getRgbBytes() { - imageConverter.run(); - return rgbBytes; - } - - protected int getLuminanceStride() { - return yRowStride; - } - - protected byte[] getLuminance() { - return yuvBytes[0]; - } - - /** Callback for android.hardware.Camera API */ - @Override - public void onPreviewFrame(final byte[] bytes, final Camera camera) { - if (isProcessingFrame) { - LOGGER.w("Dropping frame!"); - return; - } - - try { - // Initialize the storage bitmaps once when the resolution is known. - if (rgbBytes == null) { - Camera.Size previewSize = camera.getParameters().getPreviewSize(); - previewHeight = previewSize.height; - previewWidth = previewSize.width; - rgbBytes = new int[previewWidth * previewHeight]; - onPreviewSizeChosen(new Size(previewSize.width, previewSize.height), 90); - } - } catch (final Exception e) { - LOGGER.e(e, "Exception!"); - return; - } - - isProcessingFrame = true; - yuvBytes[0] = bytes; - yRowStride = previewWidth; - - imageConverter = - new Runnable() { - @Override - public void run() { - ImageUtils.convertYUV420SPToARGB8888(bytes, previewWidth, previewHeight, rgbBytes); - } - }; - - postInferenceCallback = - new Runnable() { - @Override - public void run() { - camera.addCallbackBuffer(bytes); - isProcessingFrame = false; - } - }; - processImage(); - } - - /** Callback for Camera2 API */ - @Override - public void onImageAvailable(final ImageReader reader) { - // We need wait until we have some size from onPreviewSizeChosen - if (previewWidth == 0 || previewHeight == 0) { - return; - } - if (rgbBytes == null) { - rgbBytes = new int[previewWidth * previewHeight]; - } - try { - final Image image = reader.acquireLatestImage(); - - if (image == null) { - return; - } - - if (isProcessingFrame) { - image.close(); - return; - } - isProcessingFrame = true; - Trace.beginSection("imageAvailable"); - final Plane[] planes = image.getPlanes(); - fillBytes(planes, yuvBytes); - yRowStride = planes[0].getRowStride(); - final int uvRowStride = planes[1].getRowStride(); - final int uvPixelStride = planes[1].getPixelStride(); - - imageConverter = - new Runnable() { - @Override - public void run() { - ImageUtils.convertYUV420ToARGB8888( - yuvBytes[0], - yuvBytes[1], - yuvBytes[2], - previewWidth, - previewHeight, - yRowStride, - uvRowStride, - uvPixelStride, - rgbBytes); - } - }; - - postInferenceCallback = - new Runnable() { - @Override - public void run() { - image.close(); - isProcessingFrame = false; - } - }; - - processImage(); - } catch (final Exception e) { - LOGGER.e(e, "Exception!"); - Trace.endSection(); - return; - } - Trace.endSection(); - } - - @Override - public synchronized void onStart() { - LOGGER.d("onStart " + this); - super.onStart(); - } - - @Override - public synchronized void onResume() { - LOGGER.d("onResume " + this); - super.onResume(); - - handlerThread = new HandlerThread("inference"); - handlerThread.start(); - handler = new Handler(handlerThread.getLooper()); - } - - @Override - public synchronized void onPause() { - LOGGER.d("onPause " + this); - - handlerThread.quitSafely(); - try { - handlerThread.join(); - handlerThread = null; - handler = null; - } catch (final InterruptedException e) { - LOGGER.e(e, "Exception!"); - } - - super.onPause(); - } - - @Override - public synchronized void onStop() { - LOGGER.d("onStop " + this); - super.onStop(); - } - - @Override - public synchronized void onDestroy() { - LOGGER.d("onDestroy " + this); - super.onDestroy(); - } - - protected synchronized void runInBackground(final Runnable r) { - if (handler != null) { - handler.post(r); - } - } - - @Override - public void onRequestPermissionsResult( - final int requestCode, final String[] permissions, final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == PERMISSIONS_REQUEST) { - if (allPermissionsGranted(grantResults)) { - setFragment(); - } else { - requestPermission(); - } - } - } - - private static boolean allPermissionsGranted(final int[] grantResults) { - for (int result : grantResults) { - if (result != PackageManager.PERMISSION_GRANTED) { - return false; - } - } - return true; - } - - private boolean hasPermission() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - return checkSelfPermission(PERMISSION_CAMERA) == PackageManager.PERMISSION_GRANTED; - } else { - return true; - } - } - - private void requestPermission() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (shouldShowRequestPermissionRationale(PERMISSION_CAMERA)) { - Toast.makeText( - CameraActivity.this, - "Camera permission is required for this demo", - Toast.LENGTH_LONG) - .show(); - } - requestPermissions(new String[] {PERMISSION_CAMERA}, PERMISSIONS_REQUEST); - } - } - - // Returns true if the device supports the required hardware level, or better. - private boolean isHardwareLevelSupported( - CameraCharacteristics characteristics, int requiredLevel) { - int deviceLevel = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL); - if (deviceLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) { - return requiredLevel == deviceLevel; - } - // deviceLevel is not LEGACY, can use numerical sort - return requiredLevel <= deviceLevel; - } - - private String chooseCamera() { - final CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); - try { - for (final String cameraId : manager.getCameraIdList()) { - final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId); - - // We don't use a front facing camera in this sample. - final Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING); - if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) { - continue; - } - - final StreamConfigurationMap map = - characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); - - if (map == null) { - continue; - } - - // Fallback to camera1 API for internal cameras that don't have full support. - // This should help with legacy situations where using the camera2 API causes - // distorted or otherwise broken previews. - useCamera2API = - (facing == CameraCharacteristics.LENS_FACING_EXTERNAL) - || isHardwareLevelSupported( - characteristics, CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL); - LOGGER.i("Camera API lv2?: %s", useCamera2API); - return cameraId; - } - } catch (CameraAccessException e) { - LOGGER.e(e, "Not allowed to access camera"); - } - - return null; - } - - protected void setFragment() { - String cameraId = chooseCamera(); - - Fragment fragment; - if (useCamera2API) { - CameraConnectionFragment camera2Fragment = - CameraConnectionFragment.newInstance( - new CameraConnectionFragment.ConnectionCallback() { - @Override - public void onPreviewSizeChosen(final Size size, final int rotation) { - previewHeight = size.getHeight(); - previewWidth = size.getWidth(); - CameraActivity.this.onPreviewSizeChosen(size, rotation); - } - }, - this, - getLayoutId(), - getDesiredPreviewFrameSize()); - - camera2Fragment.setCamera(cameraId); - fragment = camera2Fragment; - } else { - fragment = - new LegacyCameraConnectionFragment(this, getLayoutId(), getDesiredPreviewFrameSize()); - } - - getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit(); - } - - protected void fillBytes(final Plane[] planes, final byte[][] yuvBytes) { - // Because of the variable row stride it's not possible to know in - // advance the actual necessary dimensions of the yuv planes. - for (int i = 0; i < planes.length; ++i) { - final ByteBuffer buffer = planes[i].getBuffer(); - if (yuvBytes[i] == null) { - LOGGER.d("Initializing buffer %d at size %d", i, buffer.capacity()); - yuvBytes[i] = new byte[buffer.capacity()]; - } - buffer.get(yuvBytes[i]); - } - } - - public boolean isDebug() { - return debug; - } - - protected void readyForNextImage() { - if (postInferenceCallback != null) { - postInferenceCallback.run(); - } - } - - protected int getScreenOrientation() { - switch (getWindowManager().getDefaultDisplay().getRotation()) { - case Surface.ROTATION_270: - return 270; - case Surface.ROTATION_180: - return 180; - case Surface.ROTATION_90: - return 90; - default: - return 0; - } - } - - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - setUseNNAPI(isChecked); - if (isChecked) apiSwitchCompat.setText("NNAPI"); - else apiSwitchCompat.setText("TFLITE"); - } - - @Override - public void onClick(View v) { - if (v.getId() == R.id.plus) { - String threads = threadsTextView.getText().toString().trim(); - int numThreads = Integer.parseInt(threads); - if (numThreads >= 9) return; - numThreads++; - threadsTextView.setText(String.valueOf(numThreads)); - setNumThreads(numThreads); - } else if (v.getId() == R.id.minus) { - String threads = threadsTextView.getText().toString().trim(); - int numThreads = Integer.parseInt(threads); - if (numThreads == 1) { - return; - } - numThreads--; - threadsTextView.setText(String.valueOf(numThreads)); - setNumThreads(numThreads); - } - } - - protected void showFrameInfo(String frameInfo) { - frameValueTextView.setText(frameInfo); - } - - protected void showCropInfo(String cropInfo) { - cropValueTextView.setText(cropInfo); - } - - protected void showInference(String inferenceTime) { - inferenceTimeTextView.setText(inferenceTime); - } - - protected abstract void processImage(); - - protected abstract void onPreviewSizeChosen(final Size size, final int rotation); - - protected abstract int getLayoutId(); - - protected abstract Size getDesiredPreviewFrameSize(); - - protected abstract void setNumThreads(int numThreads); - - protected abstract void setUseNNAPI(boolean isChecked); -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraConnectionFragment.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraConnectionFragment.java deleted file mode 100755 index 641f3084..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraConnectionFragment.java +++ /dev/null @@ -1,569 +0,0 @@ -/* - * Copyright 2019 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.tensorflow.lite.examples.detection; - -import android.annotation.SuppressLint; -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.app.Fragment; -import android.content.Context; -import android.content.DialogInterface; -import android.content.res.Configuration; -import android.graphics.ImageFormat; -import android.graphics.Matrix; -import android.graphics.RectF; -import android.graphics.SurfaceTexture; -import android.hardware.camera2.CameraAccessException; -import android.hardware.camera2.CameraCaptureSession; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraDevice; -import android.hardware.camera2.CameraManager; -import android.hardware.camera2.CaptureRequest; -import android.hardware.camera2.CaptureResult; -import android.hardware.camera2.TotalCaptureResult; -import android.hardware.camera2.params.StreamConfigurationMap; -import android.media.ImageReader; -import android.media.ImageReader.OnImageAvailableListener; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.text.TextUtils; -import android.util.Size; -import android.util.SparseIntArray; -import android.view.LayoutInflater; -import android.view.Surface; -import android.view.TextureView; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Toast; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.concurrent.Semaphore; -import java.util.concurrent.TimeUnit; -import org.tensorflow.lite.examples.detection.customview.AutoFitTextureView; -import org.tensorflow.lite.examples.detection.env.Logger; - -@SuppressLint("ValidFragment") -public class CameraConnectionFragment extends Fragment { - private static final Logger LOGGER = new Logger(); - - /** - * The camera preview size will be chosen to be the smallest frame by pixel size capable of - * containing a DESIRED_SIZE x DESIRED_SIZE square. - */ - private static final int MINIMUM_PREVIEW_SIZE = 320; - - /** Conversion from screen rotation to JPEG orientation. */ - private static final SparseIntArray ORIENTATIONS = new SparseIntArray(); - - private static final String FRAGMENT_DIALOG = "dialog"; - - static { - ORIENTATIONS.append(Surface.ROTATION_0, 90); - ORIENTATIONS.append(Surface.ROTATION_90, 0); - ORIENTATIONS.append(Surface.ROTATION_180, 270); - ORIENTATIONS.append(Surface.ROTATION_270, 180); - } - - /** A {@link Semaphore} to prevent the app from exiting before closing the camera. */ - private final Semaphore cameraOpenCloseLock = new Semaphore(1); - /** A {@link OnImageAvailableListener} to receive frames as they are available. */ - private final OnImageAvailableListener imageListener; - /** The input size in pixels desired by TensorFlow (width and height of a square bitmap). */ - private final Size inputSize; - /** The layout identifier to inflate for this Fragment. */ - private final int layout; - - private final ConnectionCallback cameraConnectionCallback; - private final CameraCaptureSession.CaptureCallback captureCallback = - new CameraCaptureSession.CaptureCallback() { - @Override - public void onCaptureProgressed( - final CameraCaptureSession session, - final CaptureRequest request, - final CaptureResult partialResult) {} - - @Override - public void onCaptureCompleted( - final CameraCaptureSession session, - final CaptureRequest request, - final TotalCaptureResult result) {} - }; - /** ID of the current {@link CameraDevice}. */ - private String cameraId; - /** An {@link AutoFitTextureView} for camera preview. */ - private AutoFitTextureView textureView; - /** A {@link CameraCaptureSession } for camera preview. */ - private CameraCaptureSession captureSession; - /** A reference to the opened {@link CameraDevice}. */ - private CameraDevice cameraDevice; - /** The rotation in degrees of the camera sensor from the display. */ - private Integer sensorOrientation; - /** The {@link Size} of camera preview. */ - private Size previewSize; - /** An additional thread for running tasks that shouldn't block the UI. */ - private HandlerThread backgroundThread; - /** A {@link Handler} for running tasks in the background. */ - private Handler backgroundHandler; - /** An {@link ImageReader} that handles preview frame capture. */ - private ImageReader previewReader; - /** {@link CaptureRequest.Builder} for the camera preview */ - private CaptureRequest.Builder previewRequestBuilder; - /** {@link CaptureRequest} generated by {@link #previewRequestBuilder} */ - private CaptureRequest previewRequest; - /** {@link CameraDevice.StateCallback} is called when {@link CameraDevice} changes its state. */ - private final CameraDevice.StateCallback stateCallback = - new CameraDevice.StateCallback() { - @Override - public void onOpened(final CameraDevice cd) { - // This method is called when the camera is opened. We start camera preview here. - cameraOpenCloseLock.release(); - cameraDevice = cd; - createCameraPreviewSession(); - } - - @Override - public void onDisconnected(final CameraDevice cd) { - cameraOpenCloseLock.release(); - cd.close(); - cameraDevice = null; - } - - @Override - public void onError(final CameraDevice cd, final int error) { - cameraOpenCloseLock.release(); - cd.close(); - cameraDevice = null; - final Activity activity = getActivity(); - if (null != activity) { - activity.finish(); - } - } - }; - /** - * {@link TextureView.SurfaceTextureListener} handles several lifecycle events on a {@link - * TextureView}. - */ - private final TextureView.SurfaceTextureListener surfaceTextureListener = - new TextureView.SurfaceTextureListener() { - @Override - public void onSurfaceTextureAvailable( - final SurfaceTexture texture, final int width, final int height) { - openCamera(width, height); - } - - @Override - public void onSurfaceTextureSizeChanged( - final SurfaceTexture texture, final int width, final int height) { - configureTransform(width, height); - } - - @Override - public boolean onSurfaceTextureDestroyed(final SurfaceTexture texture) { - return true; - } - - @Override - public void onSurfaceTextureUpdated(final SurfaceTexture texture) {} - }; - - private CameraConnectionFragment( - final ConnectionCallback connectionCallback, - final OnImageAvailableListener imageListener, - final int layout, - final Size inputSize) { - this.cameraConnectionCallback = connectionCallback; - this.imageListener = imageListener; - this.layout = layout; - this.inputSize = inputSize; - } - - /** - * Given {@code choices} of {@code Size}s supported by a camera, chooses the smallest one whose - * width and height are at least as large as the minimum of both, or an exact match if possible. - * - * @param choices The list of sizes that the camera supports for the intended output class - * @param width The minimum desired width - * @param height The minimum desired height - * @return The optimal {@code Size}, or an arbitrary one if none were big enough - */ - protected static Size chooseOptimalSize(final Size[] choices, final int width, final int height) { - final int minSize = Math.max(Math.min(width, height), MINIMUM_PREVIEW_SIZE); - final Size desiredSize = new Size(width, height); - - // Collect the supported resolutions that are at least as big as the preview Surface - boolean exactSizeFound = false; - final List bigEnough = new ArrayList(); - final List tooSmall = new ArrayList(); - for (final Size option : choices) { - if (option.equals(desiredSize)) { - // Set the size but don't return yet so that remaining sizes will still be logged. - exactSizeFound = true; - } - - if (option.getHeight() >= minSize && option.getWidth() >= minSize) { - bigEnough.add(option); - } else { - tooSmall.add(option); - } - } - - LOGGER.i("Desired size: " + desiredSize + ", min size: " + minSize + "x" + minSize); - LOGGER.i("Valid preview sizes: [" + TextUtils.join(", ", bigEnough) + "]"); - LOGGER.i("Rejected preview sizes: [" + TextUtils.join(", ", tooSmall) + "]"); - - if (exactSizeFound) { - LOGGER.i("Exact size match found."); - return desiredSize; - } - - // Pick the smallest of those, assuming we found any - if (bigEnough.size() > 0) { - final Size chosenSize = Collections.min(bigEnough, new CompareSizesByArea()); - LOGGER.i("Chosen size: " + chosenSize.getWidth() + "x" + chosenSize.getHeight()); - return chosenSize; - } else { - LOGGER.e("Couldn't find any suitable preview size"); - return choices[0]; - } - } - - public static CameraConnectionFragment newInstance( - final ConnectionCallback callback, - final OnImageAvailableListener imageListener, - final int layout, - final Size inputSize) { - return new CameraConnectionFragment(callback, imageListener, layout, inputSize); - } - - /** - * Shows a {@link Toast} on the UI thread. - * - * @param text The message to show - */ - private void showToast(final String text) { - final Activity activity = getActivity(); - if (activity != null) { - activity.runOnUiThread( - new Runnable() { - @Override - public void run() { - Toast.makeText(activity, text, Toast.LENGTH_SHORT).show(); - } - }); - } - } - - @Override - public View onCreateView( - final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { - return inflater.inflate(layout, container, false); - } - - @Override - public void onViewCreated(final View view, final Bundle savedInstanceState) { - textureView = (AutoFitTextureView) view.findViewById(R.id.texture); - } - - @Override - public void onActivityCreated(final Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - } - - @Override - public void onResume() { - super.onResume(); - startBackgroundThread(); - - // When the screen is turned off and turned back on, the SurfaceTexture is already - // available, and "onSurfaceTextureAvailable" will not be called. In that case, we can open - // a camera and start preview from here (otherwise, we wait until the surface is ready in - // the SurfaceTextureListener). - if (textureView.isAvailable()) { - openCamera(textureView.getWidth(), textureView.getHeight()); - } else { - textureView.setSurfaceTextureListener(surfaceTextureListener); - } - } - - @Override - public void onPause() { - closeCamera(); - stopBackgroundThread(); - super.onPause(); - } - - public void setCamera(String cameraId) { - this.cameraId = cameraId; - } - - /** Sets up member variables related to camera. */ - private void setUpCameraOutputs() { - final Activity activity = getActivity(); - final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); - try { - final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId); - - final StreamConfigurationMap map = - characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); - - sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION); - - // Danger, W.R.! Attempting to use too large a preview size could exceed the camera - // bus' bandwidth limitation, resulting in gorgeous previews but the storage of - // garbage capture data. - previewSize = - chooseOptimalSize( - map.getOutputSizes(SurfaceTexture.class), - inputSize.getWidth(), - inputSize.getHeight()); - - // We fit the aspect ratio of TextureView to the size of preview we picked. - final int orientation = getResources().getConfiguration().orientation; - if (orientation == Configuration.ORIENTATION_LANDSCAPE) { - textureView.setAspectRatio(previewSize.getWidth(), previewSize.getHeight()); - } else { - textureView.setAspectRatio(previewSize.getHeight(), previewSize.getWidth()); - } - } catch (final CameraAccessException e) { - LOGGER.e(e, "Exception!"); - } catch (final NullPointerException e) { - // Currently an NPE is thrown when the Camera2API is used but not supported on the - // device this code runs. - ErrorDialog.newInstance(getString(R.string.tfe_od_camera_error)) - .show(getChildFragmentManager(), FRAGMENT_DIALOG); - throw new IllegalStateException(getString(R.string.tfe_od_camera_error)); - } - - cameraConnectionCallback.onPreviewSizeChosen(previewSize, sensorOrientation); - } - - /** Opens the camera specified by {@link CameraConnectionFragment#cameraId}. */ - private void openCamera(final int width, final int height) { - setUpCameraOutputs(); - configureTransform(width, height); - final Activity activity = getActivity(); - final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); - try { - if (!cameraOpenCloseLock.tryAcquire(2500, TimeUnit.MILLISECONDS)) { - throw new RuntimeException("Time out waiting to lock camera opening."); - } - manager.openCamera(cameraId, stateCallback, backgroundHandler); - } catch (final CameraAccessException e) { - LOGGER.e(e, "Exception!"); - } catch (final InterruptedException e) { - throw new RuntimeException("Interrupted while trying to lock camera opening.", e); - } - } - - /** Closes the current {@link CameraDevice}. */ - private void closeCamera() { - try { - cameraOpenCloseLock.acquire(); - if (null != captureSession) { - captureSession.close(); - captureSession = null; - } - if (null != cameraDevice) { - cameraDevice.close(); - cameraDevice = null; - } - if (null != previewReader) { - previewReader.close(); - previewReader = null; - } - } catch (final InterruptedException e) { - throw new RuntimeException("Interrupted while trying to lock camera closing.", e); - } finally { - cameraOpenCloseLock.release(); - } - } - - /** Starts a background thread and its {@link Handler}. */ - private void startBackgroundThread() { - backgroundThread = new HandlerThread("ImageListener"); - backgroundThread.start(); - backgroundHandler = new Handler(backgroundThread.getLooper()); - } - - /** Stops the background thread and its {@link Handler}. */ - private void stopBackgroundThread() { - backgroundThread.quitSafely(); - try { - backgroundThread.join(); - backgroundThread = null; - backgroundHandler = null; - } catch (final InterruptedException e) { - LOGGER.e(e, "Exception!"); - } - } - - /** Creates a new {@link CameraCaptureSession} for camera preview. */ - private void createCameraPreviewSession() { - try { - final SurfaceTexture texture = textureView.getSurfaceTexture(); - assert texture != null; - - // We configure the size of default buffer to be the size of camera preview we want. - texture.setDefaultBufferSize(previewSize.getWidth(), previewSize.getHeight()); - - // This is the output Surface we need to start preview. - final Surface surface = new Surface(texture); - - // We set up a CaptureRequest.Builder with the output Surface. - previewRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); - previewRequestBuilder.addTarget(surface); - - LOGGER.i("Opening camera preview: " + previewSize.getWidth() + "x" + previewSize.getHeight()); - - // Create the reader for the preview frames. - previewReader = - ImageReader.newInstance( - previewSize.getWidth(), previewSize.getHeight(), ImageFormat.YUV_420_888, 2); - - previewReader.setOnImageAvailableListener(imageListener, backgroundHandler); - previewRequestBuilder.addTarget(previewReader.getSurface()); - - // Here, we create a CameraCaptureSession for camera preview. - cameraDevice.createCaptureSession( - Arrays.asList(surface, previewReader.getSurface()), - new CameraCaptureSession.StateCallback() { - - @Override - public void onConfigured(final CameraCaptureSession cameraCaptureSession) { - // The camera is already closed - if (null == cameraDevice) { - return; - } - - // When the session is ready, we start displaying the preview. - captureSession = cameraCaptureSession; - try { - // Auto focus should be continuous for camera preview. - previewRequestBuilder.set( - CaptureRequest.CONTROL_AF_MODE, - CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE); - // Flash is automatically enabled when necessary. - previewRequestBuilder.set( - CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH); - - // Finally, we start displaying the camera preview. - previewRequest = previewRequestBuilder.build(); - captureSession.setRepeatingRequest( - previewRequest, captureCallback, backgroundHandler); - } catch (final CameraAccessException e) { - LOGGER.e(e, "Exception!"); - } - } - - @Override - public void onConfigureFailed(final CameraCaptureSession cameraCaptureSession) { - showToast("Failed"); - } - }, - null); - } catch (final CameraAccessException e) { - LOGGER.e(e, "Exception!"); - } - } - - /** - * Configures the necessary {@link Matrix} transformation to `mTextureView`. This method should be - * called after the camera preview size is determined in setUpCameraOutputs and also the size of - * `mTextureView` is fixed. - * - * @param viewWidth The width of `mTextureView` - * @param viewHeight The height of `mTextureView` - */ - private void configureTransform(final int viewWidth, final int viewHeight) { - final Activity activity = getActivity(); - if (null == textureView || null == previewSize || null == activity) { - return; - } - final int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); - final Matrix matrix = new Matrix(); - final RectF viewRect = new RectF(0, 0, viewWidth, viewHeight); - final RectF bufferRect = new RectF(0, 0, previewSize.getHeight(), previewSize.getWidth()); - final float centerX = viewRect.centerX(); - final float centerY = viewRect.centerY(); - if (Surface.ROTATION_90 == rotation || Surface.ROTATION_270 == rotation) { - bufferRect.offset(centerX - bufferRect.centerX(), centerY - bufferRect.centerY()); - matrix.setRectToRect(viewRect, bufferRect, Matrix.ScaleToFit.FILL); - final float scale = - Math.max( - (float) viewHeight / previewSize.getHeight(), - (float) viewWidth / previewSize.getWidth()); - matrix.postScale(scale, scale, centerX, centerY); - matrix.postRotate(90 * (rotation - 2), centerX, centerY); - } else if (Surface.ROTATION_180 == rotation) { - matrix.postRotate(180, centerX, centerY); - } - textureView.setTransform(matrix); - } - - /** - * Callback for Activities to use to initialize their data once the selected preview size is - * known. - */ - public interface ConnectionCallback { - void onPreviewSizeChosen(Size size, int cameraRotation); - } - - /** Compares two {@code Size}s based on their areas. */ - static class CompareSizesByArea implements Comparator { - @Override - public int compare(final Size lhs, final Size rhs) { - // We cast here to ensure the multiplications won't overflow - return Long.signum( - (long) lhs.getWidth() * lhs.getHeight() - (long) rhs.getWidth() * rhs.getHeight()); - } - } - - /** Shows an error message dialog. */ - public static class ErrorDialog extends DialogFragment { - private static final String ARG_MESSAGE = "message"; - - public static ErrorDialog newInstance(final String message) { - final ErrorDialog dialog = new ErrorDialog(); - final Bundle args = new Bundle(); - args.putString(ARG_MESSAGE, message); - dialog.setArguments(args); - return dialog; - } - - @Override - public Dialog onCreateDialog(final Bundle savedInstanceState) { - final Activity activity = getActivity(); - return new AlertDialog.Builder(activity) - .setMessage(getArguments().getString(ARG_MESSAGE)) - .setPositiveButton( - android.R.string.ok, - new DialogInterface.OnClickListener() { - @Override - public void onClick(final DialogInterface dialogInterface, final int i) { - activity.finish(); - } - }) - .create(); - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/DetectorActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/DetectorActivity.java deleted file mode 100755 index cbedf843..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/DetectorActivity.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright 2019 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.tensorflow.lite.examples.detection; - -import android.graphics.Bitmap; -import android.graphics.Bitmap.Config; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Matrix; -import android.graphics.Paint; -import android.graphics.Paint.Style; -import android.graphics.RectF; -import android.graphics.Typeface; -import android.media.ImageReader.OnImageAvailableListener; -import android.os.SystemClock; -import android.util.Log; -import android.util.Size; -import android.util.TypedValue; -import android.widget.Toast; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -import org.tensorflow.lite.examples.detection.customview.OverlayView; -import org.tensorflow.lite.examples.detection.customview.OverlayView.DrawCallback; -import org.tensorflow.lite.examples.detection.env.BorderedText; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.env.Logger; -import org.tensorflow.lite.examples.detection.tflite.Classifier; -import org.tensorflow.lite.examples.detection.tflite.YoloV4Classifier; -import org.tensorflow.lite.examples.detection.tracking.MultiBoxTracker; - -/** - * An activity that uses a TensorFlowMultiBoxDetector and ObjectTracker to detect and then track - * objects. - */ -public class DetectorActivity extends CameraActivity implements OnImageAvailableListener { - private static final Logger LOGGER = new Logger(); - - private static final int TF_OD_API_INPUT_SIZE = 416; - private static final boolean TF_OD_API_IS_QUANTIZED = false; - private static final String TF_OD_API_MODEL_FILE = "yolov4-416-fp32.tflite"; - - private static final String TF_OD_API_LABELS_FILE = "file:///android_asset/coco.txt"; - - private static final DetectorMode MODE = DetectorMode.TF_OD_API; - private static final float MINIMUM_CONFIDENCE_TF_OD_API = 0.5f; - private static final boolean MAINTAIN_ASPECT = false; - private static final Size DESIRED_PREVIEW_SIZE = new Size(640, 480); - private static final boolean SAVE_PREVIEW_BITMAP = false; - private static final float TEXT_SIZE_DIP = 10; - OverlayView trackingOverlay; - private Integer sensorOrientation; - - private Classifier detector; - - private long lastProcessingTimeMs; - private Bitmap rgbFrameBitmap = null; - private Bitmap croppedBitmap = null; - private Bitmap cropCopyBitmap = null; - - private boolean computingDetection = false; - - private long timestamp = 0; - - private Matrix frameToCropTransform; - private Matrix cropToFrameTransform; - - private MultiBoxTracker tracker; - - private BorderedText borderedText; - - @Override - public void onPreviewSizeChosen(final Size size, final int rotation) { - final float textSizePx = - TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getDisplayMetrics()); - borderedText = new BorderedText(textSizePx); - borderedText.setTypeface(Typeface.MONOSPACE); - - tracker = new MultiBoxTracker(this); - - int cropSize = TF_OD_API_INPUT_SIZE; - - try { - detector = - YoloV4Classifier.create( - getAssets(), - TF_OD_API_MODEL_FILE, - TF_OD_API_LABELS_FILE, - TF_OD_API_IS_QUANTIZED); -// detector = TFLiteObjectDetectionAPIModel.create( -// getAssets(), -// TF_OD_API_MODEL_FILE, -// TF_OD_API_LABELS_FILE, -// TF_OD_API_INPUT_SIZE, -// TF_OD_API_IS_QUANTIZED); - cropSize = TF_OD_API_INPUT_SIZE; - } catch (final IOException e) { - e.printStackTrace(); - LOGGER.e(e, "Exception initializing classifier!"); - Toast toast = - Toast.makeText( - getApplicationContext(), "Classifier could not be initialized", Toast.LENGTH_SHORT); - toast.show(); - finish(); - } - - previewWidth = size.getWidth(); - previewHeight = size.getHeight(); - - sensorOrientation = rotation - getScreenOrientation(); - LOGGER.i("Camera orientation relative to screen canvas: %d", sensorOrientation); - - LOGGER.i("Initializing at size %dx%d", previewWidth, previewHeight); - rgbFrameBitmap = Bitmap.createBitmap(previewWidth, previewHeight, Config.ARGB_8888); - croppedBitmap = Bitmap.createBitmap(cropSize, cropSize, Config.ARGB_8888); - - frameToCropTransform = - ImageUtils.getTransformationMatrix( - previewWidth, previewHeight, - cropSize, cropSize, - sensorOrientation, MAINTAIN_ASPECT); - - cropToFrameTransform = new Matrix(); - frameToCropTransform.invert(cropToFrameTransform); - - trackingOverlay = (OverlayView) findViewById(R.id.tracking_overlay); - trackingOverlay.addCallback( - new DrawCallback() { - @Override - public void drawCallback(final Canvas canvas) { - tracker.draw(canvas); - if (isDebug()) { - tracker.drawDebug(canvas); - } - } - }); - - tracker.setFrameConfiguration(previewWidth, previewHeight, sensorOrientation); - } - - @Override - protected void processImage() { - ++timestamp; - final long currTimestamp = timestamp; - trackingOverlay.postInvalidate(); - - // No mutex needed as this method is not reentrant. - if (computingDetection) { - readyForNextImage(); - return; - } - computingDetection = true; - LOGGER.i("Preparing image " + currTimestamp + " for detection in bg thread."); - - rgbFrameBitmap.setPixels(getRgbBytes(), 0, previewWidth, 0, 0, previewWidth, previewHeight); - - readyForNextImage(); - - final Canvas canvas = new Canvas(croppedBitmap); - canvas.drawBitmap(rgbFrameBitmap, frameToCropTransform, null); - // For examining the actual TF input. - if (SAVE_PREVIEW_BITMAP) { - ImageUtils.saveBitmap(croppedBitmap); - } - - runInBackground( - new Runnable() { - @Override - public void run() { - LOGGER.i("Running detection on image " + currTimestamp); - final long startTime = SystemClock.uptimeMillis(); - final List results = detector.recognizeImage(croppedBitmap); - lastProcessingTimeMs = SystemClock.uptimeMillis() - startTime; - - Log.e("CHECK", "run: " + results.size()); - - cropCopyBitmap = Bitmap.createBitmap(croppedBitmap); - final Canvas canvas = new Canvas(cropCopyBitmap); - final Paint paint = new Paint(); - paint.setColor(Color.RED); - paint.setStyle(Style.STROKE); - paint.setStrokeWidth(2.0f); - - float minimumConfidence = MINIMUM_CONFIDENCE_TF_OD_API; - switch (MODE) { - case TF_OD_API: - minimumConfidence = MINIMUM_CONFIDENCE_TF_OD_API; - break; - } - - final List mappedRecognitions = - new LinkedList(); - - for (final Classifier.Recognition result : results) { - final RectF location = result.getLocation(); - if (location != null && result.getConfidence() >= minimumConfidence) { - canvas.drawRect(location, paint); - - cropToFrameTransform.mapRect(location); - - result.setLocation(location); - mappedRecognitions.add(result); - } - } - - tracker.trackResults(mappedRecognitions, currTimestamp); - trackingOverlay.postInvalidate(); - - computingDetection = false; - - runOnUiThread( - new Runnable() { - @Override - public void run() { - showFrameInfo(previewWidth + "x" + previewHeight); - showCropInfo(cropCopyBitmap.getWidth() + "x" + cropCopyBitmap.getHeight()); - showInference(lastProcessingTimeMs + "ms"); - } - }); - } - }); - } - - @Override - protected int getLayoutId() { - return R.layout.tfe_od_camera_connection_fragment_tracking; - } - - @Override - protected Size getDesiredPreviewFrameSize() { - return DESIRED_PREVIEW_SIZE; - } - - // Which detection model to use: by default uses Tensorflow Object Detection API frozen - // checkpoints. - private enum DetectorMode { - TF_OD_API; - } - - @Override - protected void setUseNNAPI(final boolean isChecked) { - runInBackground(() -> detector.setUseNNAPI(isChecked)); - } - - @Override - protected void setNumThreads(final int numThreads) { - runInBackground(() -> detector.setNumThreads(numThreads)); - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/LegacyCameraConnectionFragment.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/LegacyCameraConnectionFragment.java deleted file mode 100755 index afb9d759..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/LegacyCameraConnectionFragment.java +++ /dev/null @@ -1,199 +0,0 @@ -package org.tensorflow.lite.examples.detection; - -/* - * Copyright 2019 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import android.app.Fragment; -import android.graphics.SurfaceTexture; -import android.hardware.Camera; -import android.hardware.Camera.CameraInfo; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Size; -import android.util.SparseIntArray; -import android.view.LayoutInflater; -import android.view.Surface; -import android.view.TextureView; -import android.view.View; -import android.view.ViewGroup; -import java.io.IOException; -import java.util.List; -import org.tensorflow.lite.examples.detection.customview.AutoFitTextureView; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.env.Logger; - -public class LegacyCameraConnectionFragment extends Fragment { - private static final Logger LOGGER = new Logger(); - /** Conversion from screen rotation to JPEG orientation. */ - private static final SparseIntArray ORIENTATIONS = new SparseIntArray(); - - static { - ORIENTATIONS.append(Surface.ROTATION_0, 90); - ORIENTATIONS.append(Surface.ROTATION_90, 0); - ORIENTATIONS.append(Surface.ROTATION_180, 270); - ORIENTATIONS.append(Surface.ROTATION_270, 180); - } - - private Camera camera; - private Camera.PreviewCallback imageListener; - private Size desiredSize; - /** The layout identifier to inflate for this Fragment. */ - private int layout; - /** An {@link AutoFitTextureView} for camera preview. */ - private AutoFitTextureView textureView; - /** - * {@link TextureView.SurfaceTextureListener} handles several lifecycle events on a {@link - * TextureView}. - */ - private final TextureView.SurfaceTextureListener surfaceTextureListener = - new TextureView.SurfaceTextureListener() { - @Override - public void onSurfaceTextureAvailable( - final SurfaceTexture texture, final int width, final int height) { - - int index = getCameraId(); - camera = Camera.open(index); - - try { - Camera.Parameters parameters = camera.getParameters(); - List focusModes = parameters.getSupportedFocusModes(); - if (focusModes != null - && focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) { - parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE); - } - List cameraSizes = parameters.getSupportedPreviewSizes(); - Size[] sizes = new Size[cameraSizes.size()]; - int i = 0; - for (Camera.Size size : cameraSizes) { - sizes[i++] = new Size(size.width, size.height); - } - Size previewSize = - CameraConnectionFragment.chooseOptimalSize( - sizes, desiredSize.getWidth(), desiredSize.getHeight()); - parameters.setPreviewSize(previewSize.getWidth(), previewSize.getHeight()); - camera.setDisplayOrientation(90); - camera.setParameters(parameters); - camera.setPreviewTexture(texture); - } catch (IOException exception) { - camera.release(); - } - - camera.setPreviewCallbackWithBuffer(imageListener); - Camera.Size s = camera.getParameters().getPreviewSize(); - camera.addCallbackBuffer(new byte[ImageUtils.getYUVByteSize(s.height, s.width)]); - - textureView.setAspectRatio(s.height, s.width); - - camera.startPreview(); - } - - @Override - public void onSurfaceTextureSizeChanged( - final SurfaceTexture texture, final int width, final int height) {} - - @Override - public boolean onSurfaceTextureDestroyed(final SurfaceTexture texture) { - return true; - } - - @Override - public void onSurfaceTextureUpdated(final SurfaceTexture texture) {} - }; - /** An additional thread for running tasks that shouldn't block the UI. */ - private HandlerThread backgroundThread; - - public LegacyCameraConnectionFragment( - final Camera.PreviewCallback imageListener, final int layout, final Size desiredSize) { - this.imageListener = imageListener; - this.layout = layout; - this.desiredSize = desiredSize; - } - - @Override - public View onCreateView( - final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { - return inflater.inflate(layout, container, false); - } - - @Override - public void onViewCreated(final View view, final Bundle savedInstanceState) { - textureView = (AutoFitTextureView) view.findViewById(R.id.texture); - } - - @Override - public void onActivityCreated(final Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - } - - @Override - public void onResume() { - super.onResume(); - startBackgroundThread(); - // When the screen is turned off and turned back on, the SurfaceTexture is already - // available, and "onSurfaceTextureAvailable" will not be called. In that case, we can open - // a camera and start preview from here (otherwise, we wait until the surface is ready in - // the SurfaceTextureListener). - - if (textureView.isAvailable()) { - camera.startPreview(); - } else { - textureView.setSurfaceTextureListener(surfaceTextureListener); - } - } - - @Override - public void onPause() { - stopCamera(); - stopBackgroundThread(); - super.onPause(); - } - - /** Starts a background thread and its {@link Handler}. */ - private void startBackgroundThread() { - backgroundThread = new HandlerThread("CameraBackground"); - backgroundThread.start(); - } - - /** Stops the background thread and its {@link Handler}. */ - private void stopBackgroundThread() { - backgroundThread.quitSafely(); - try { - backgroundThread.join(); - backgroundThread = null; - } catch (final InterruptedException e) { - LOGGER.e(e, "Exception!"); - } - } - - protected void stopCamera() { - if (camera != null) { - camera.stopPreview(); - camera.setPreviewCallback(null); - camera.release(); - camera = null; - } - } - - private int getCameraId() { - CameraInfo ci = new CameraInfo(); - for (int i = 0; i < Camera.getNumberOfCameras(); i++) { - Camera.getCameraInfo(i, ci); - if (ci.facing == CameraInfo.CAMERA_FACING_BACK) return i; - } - return -1; // No camera found - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/MainActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/MainActivity.java deleted file mode 100755 index 81412bda..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/MainActivity.java +++ /dev/null @@ -1,162 +0,0 @@ -package org.tensorflow.lite.examples.detection; - -import androidx.appcompat.app.AppCompatActivity; - -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Matrix; -import android.graphics.Paint; -import android.graphics.RectF; -import android.os.Bundle; -import android.os.Handler; -import android.util.Log; -import android.view.View; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.Toast; - -import org.tensorflow.lite.examples.detection.customview.OverlayView; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.env.Logger; -import org.tensorflow.lite.examples.detection.env.Utils; -import org.tensorflow.lite.examples.detection.tflite.Classifier; -import org.tensorflow.lite.examples.detection.tflite.YoloV4Classifier; -import org.tensorflow.lite.examples.detection.tracking.MultiBoxTracker; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -public class MainActivity extends AppCompatActivity { - - public static final float MINIMUM_CONFIDENCE_TF_OD_API = 0.5f; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - cameraButton = findViewById(R.id.cameraButton); - detectButton = findViewById(R.id.detectButton); - imageView = findViewById(R.id.imageView); - - cameraButton.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, DetectorActivity.class))); - - detectButton.setOnClickListener(v -> { - Handler handler = new Handler(); - - new Thread(() -> { - final List results = detector.recognizeImage(cropBitmap); - handler.post(new Runnable() { - @Override - public void run() { - handleResult(cropBitmap, results); - } - }); - }).start(); - - }); - this.sourceBitmap = Utils.getBitmapFromAsset(MainActivity.this, "kite.jpg"); - - this.cropBitmap = Utils.processBitmap(sourceBitmap, TF_OD_API_INPUT_SIZE); - - this.imageView.setImageBitmap(cropBitmap); - - initBox(); - } - - private static final Logger LOGGER = new Logger(); - - public static final int TF_OD_API_INPUT_SIZE = 416; - - private static final boolean TF_OD_API_IS_QUANTIZED = false; - - private static final String TF_OD_API_MODEL_FILE = "yolov4-416-fp32.tflite"; - - private static final String TF_OD_API_LABELS_FILE = "file:///android_asset/coco.txt"; - - // Minimum detection confidence to track a detection. - private static final boolean MAINTAIN_ASPECT = false; - private Integer sensorOrientation = 90; - - private Classifier detector; - - private Matrix frameToCropTransform; - private Matrix cropToFrameTransform; - private MultiBoxTracker tracker; - private OverlayView trackingOverlay; - - protected int previewWidth = 0; - protected int previewHeight = 0; - - private Bitmap sourceBitmap; - private Bitmap cropBitmap; - - private Button cameraButton, detectButton; - private ImageView imageView; - - private void initBox() { - previewHeight = TF_OD_API_INPUT_SIZE; - previewWidth = TF_OD_API_INPUT_SIZE; - frameToCropTransform = - ImageUtils.getTransformationMatrix( - previewWidth, previewHeight, - TF_OD_API_INPUT_SIZE, TF_OD_API_INPUT_SIZE, - sensorOrientation, MAINTAIN_ASPECT); - - cropToFrameTransform = new Matrix(); - frameToCropTransform.invert(cropToFrameTransform); - - tracker = new MultiBoxTracker(this); - trackingOverlay = findViewById(R.id.tracking_overlay); - trackingOverlay.addCallback( - canvas -> tracker.draw(canvas)); - - tracker.setFrameConfiguration(TF_OD_API_INPUT_SIZE, TF_OD_API_INPUT_SIZE, sensorOrientation); - - try { - detector = - YoloV4Classifier.create( - getAssets(), - TF_OD_API_MODEL_FILE, - TF_OD_API_LABELS_FILE, - TF_OD_API_IS_QUANTIZED); - } catch (final IOException e) { - e.printStackTrace(); - LOGGER.e(e, "Exception initializing classifier!"); - Toast toast = - Toast.makeText( - getApplicationContext(), "Classifier could not be initialized", Toast.LENGTH_SHORT); - toast.show(); - finish(); - } - } - - private void handleResult(Bitmap bitmap, List results) { - final Canvas canvas = new Canvas(bitmap); - final Paint paint = new Paint(); - paint.setColor(Color.RED); - paint.setStyle(Paint.Style.STROKE); - paint.setStrokeWidth(2.0f); - - final List mappedRecognitions = - new LinkedList(); - - for (final Classifier.Recognition result : results) { - final RectF location = result.getLocation(); - if (location != null && result.getConfidence() >= MINIMUM_CONFIDENCE_TF_OD_API) { - canvas.drawRect(location, paint); -// cropToFrameTransform.mapRect(location); -// -// result.setLocation(location); -// mappedRecognitions.add(result); - } - } -// tracker.trackResults(mappedRecognitions, new Random().nextInt()); -// trackingOverlay.postInvalidate(); - imageView.setImageBitmap(bitmap); - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/AutoFitTextureView.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/AutoFitTextureView.java deleted file mode 100755 index 8f41eb71..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/AutoFitTextureView.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2019 The TensorFlow Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.tensorflow.lite.examples.detection.customview; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.TextureView; - -/** A {@link TextureView} that can be adjusted to a specified aspect ratio. */ -public class AutoFitTextureView extends TextureView { - private int ratioWidth = 0; - private int ratioHeight = 0; - - public AutoFitTextureView(final Context context) { - this(context, null); - } - - public AutoFitTextureView(final Context context, final AttributeSet attrs) { - this(context, attrs, 0); - } - - public AutoFitTextureView(final Context context, final AttributeSet attrs, final int defStyle) { - super(context, attrs, defStyle); - } - - /** - * Sets the aspect ratio for this view. The size of the view will be measured based on the ratio - * calculated from the parameters. Note that the actual sizes of parameters don't matter, that is, - * calling setAspectRatio(2, 3) and setAspectRatio(4, 6) make the same result. - * - * @param width Relative horizontal size - * @param height Relative vertical size - */ - public void setAspectRatio(final int width, final int height) { - if (width < 0 || height < 0) { - throw new IllegalArgumentException("Size cannot be negative."); - } - ratioWidth = width; - ratioHeight = height; - requestLayout(); - } - - @Override - protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - if (0 == ratioWidth || 0 == ratioHeight) { - setMeasuredDimension(width, height); - } else { - if (width < height * ratioWidth / ratioHeight) { - setMeasuredDimension(width, width * ratioHeight / ratioWidth); - } else { - setMeasuredDimension(height * ratioWidth / ratioHeight, height); - } - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/OverlayView.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/OverlayView.java deleted file mode 100755 index 8f7e6610..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/OverlayView.java +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.customview; - -import android.content.Context; -import android.graphics.Canvas; -import android.util.AttributeSet; -import android.view.View; -import java.util.LinkedList; -import java.util.List; - -/** A simple View providing a render callback to other classes. */ -public class OverlayView extends View { - private final List callbacks = new LinkedList(); - - public OverlayView(final Context context, final AttributeSet attrs) { - super(context, attrs); - } - - public void addCallback(final DrawCallback callback) { - callbacks.add(callback); - } - - @Override - public synchronized void draw(final Canvas canvas) { - for (final DrawCallback callback : callbacks) { - callback.drawCallback(canvas); - } - } - - /** Interface defining the callback for client classes. */ - public interface DrawCallback { - public void drawCallback(final Canvas canvas); - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/RecognitionScoreView.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/RecognitionScoreView.java deleted file mode 100755 index daf862d3..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/RecognitionScoreView.java +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.customview; - -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.view.View; -import java.util.List; -import org.tensorflow.lite.examples.detection.tflite.Classifier.Recognition; - -public class RecognitionScoreView extends View implements ResultsView { - private static final float TEXT_SIZE_DIP = 14; - private final float textSizePx; - private final Paint fgPaint; - private final Paint bgPaint; - private List results; - - public RecognitionScoreView(final Context context, final AttributeSet set) { - super(context, set); - - textSizePx = - TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getDisplayMetrics()); - fgPaint = new Paint(); - fgPaint.setTextSize(textSizePx); - - bgPaint = new Paint(); - bgPaint.setColor(0xcc4285f4); - } - - @Override - public void setResults(final List results) { - this.results = results; - postInvalidate(); - } - - @Override - public void onDraw(final Canvas canvas) { - final int x = 10; - int y = (int) (fgPaint.getTextSize() * 1.5f); - - canvas.drawPaint(bgPaint); - - if (results != null) { - for (final Recognition recog : results) { - canvas.drawText(recog.getTitle() + ": " + recog.getConfidence(), x, y, fgPaint); - y += (int) (fgPaint.getTextSize() * 1.5f); - } - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/ResultsView.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/ResultsView.java deleted file mode 100755 index 6d54020d..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/customview/ResultsView.java +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.customview; - -import java.util.List; -import org.tensorflow.lite.examples.detection.tflite.Classifier.Recognition; - -public interface ResultsView { - public void setResults(final List results); -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/BorderedText.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/BorderedText.java deleted file mode 100755 index 006c4c78..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/BorderedText.java +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.env; - -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Paint.Align; -import android.graphics.Paint.Style; -import android.graphics.Rect; -import android.graphics.Typeface; -import java.util.Vector; - -/** A class that encapsulates the tedious bits of rendering legible, bordered text onto a canvas. */ -public class BorderedText { - private final Paint interiorPaint; - private final Paint exteriorPaint; - - private final float textSize; - - /** - * Creates a left-aligned bordered text object with a white interior, and a black exterior with - * the specified text size. - * - * @param textSize text size in pixels - */ - public BorderedText(final float textSize) { - this(Color.WHITE, Color.BLACK, textSize); - } - - /** - * Create a bordered text object with the specified interior and exterior colors, text size and - * alignment. - * - * @param interiorColor the interior text color - * @param exteriorColor the exterior text color - * @param textSize text size in pixels - */ - public BorderedText(final int interiorColor, final int exteriorColor, final float textSize) { - interiorPaint = new Paint(); - interiorPaint.setTextSize(textSize); - interiorPaint.setColor(interiorColor); - interiorPaint.setStyle(Style.FILL); - interiorPaint.setAntiAlias(false); - interiorPaint.setAlpha(255); - - exteriorPaint = new Paint(); - exteriorPaint.setTextSize(textSize); - exteriorPaint.setColor(exteriorColor); - exteriorPaint.setStyle(Style.FILL_AND_STROKE); - exteriorPaint.setStrokeWidth(textSize / 8); - exteriorPaint.setAntiAlias(false); - exteriorPaint.setAlpha(255); - - this.textSize = textSize; - } - - public void setTypeface(Typeface typeface) { - interiorPaint.setTypeface(typeface); - exteriorPaint.setTypeface(typeface); - } - - public void drawText(final Canvas canvas, final float posX, final float posY, final String text) { - canvas.drawText(text, posX, posY, exteriorPaint); - canvas.drawText(text, posX, posY, interiorPaint); - } - - public void drawText( - final Canvas canvas, final float posX, final float posY, final String text, Paint bgPaint) { - - float width = exteriorPaint.measureText(text); - float textSize = exteriorPaint.getTextSize(); - Paint paint = new Paint(bgPaint); - paint.setStyle(Paint.Style.FILL); - paint.setAlpha(160); - canvas.drawRect(posX, (posY + (int) (textSize)), (posX + (int) (width)), posY, paint); - - canvas.drawText(text, posX, (posY + textSize), interiorPaint); - } - - public void drawLines(Canvas canvas, final float posX, final float posY, Vector lines) { - int lineNum = 0; - for (final String line : lines) { - drawText(canvas, posX, posY - getTextSize() * (lines.size() - lineNum - 1), line); - ++lineNum; - } - } - - public void setInteriorColor(final int color) { - interiorPaint.setColor(color); - } - - public void setExteriorColor(final int color) { - exteriorPaint.setColor(color); - } - - public float getTextSize() { - return textSize; - } - - public void setAlpha(final int alpha) { - interiorPaint.setAlpha(alpha); - exteriorPaint.setAlpha(alpha); - } - - public void getTextBounds( - final String line, final int index, final int count, final Rect lineBounds) { - interiorPaint.getTextBounds(line, index, count, lineBounds); - } - - public void setTextAlign(final Align align) { - interiorPaint.setTextAlign(align); - exteriorPaint.setTextAlign(align); - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/ImageUtils.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/ImageUtils.java deleted file mode 100755 index df7b0999..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/ImageUtils.java +++ /dev/null @@ -1,219 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.env; - -import android.graphics.Bitmap; -import android.graphics.Matrix; -import android.os.Environment; -import java.io.File; -import java.io.FileOutputStream; - -/** Utility class for manipulating images. */ -public class ImageUtils { - // This value is 2 ^ 18 - 1, and is used to clamp the RGB values before their ranges - // are normalized to eight bits. - static final int kMaxChannelValue = 262143; - - @SuppressWarnings("unused") - private static final Logger LOGGER = new Logger(); - - /** - * Utility method to compute the allocated size in bytes of a YUV420SP image of the given - * dimensions. - */ - public static int getYUVByteSize(final int width, final int height) { - // The luminance plane requires 1 byte per pixel. - final int ySize = width * height; - - // The UV plane works on 2x2 blocks, so dimensions with odd size must be rounded up. - // Each 2x2 block takes 2 bytes to encode, one each for U and V. - final int uvSize = ((width + 1) / 2) * ((height + 1) / 2) * 2; - - return ySize + uvSize; - } - - /** - * Saves a Bitmap object to disk for analysis. - * - * @param bitmap The bitmap to save. - */ - public static void saveBitmap(final Bitmap bitmap) { - saveBitmap(bitmap, "preview.png"); - } - - /** - * Saves a Bitmap object to disk for analysis. - * - * @param bitmap The bitmap to save. - * @param filename The location to save the bitmap to. - */ - public static void saveBitmap(final Bitmap bitmap, final String filename) { - final String root = - Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "tensorflow"; - LOGGER.i("Saving %dx%d bitmap to %s.", bitmap.getWidth(), bitmap.getHeight(), root); - final File myDir = new File(root); - - if (!myDir.mkdirs()) { - LOGGER.i("Make dir failed"); - } - - final String fname = filename; - final File file = new File(myDir, fname); - if (file.exists()) { - file.delete(); - } - try { - final FileOutputStream out = new FileOutputStream(file); - bitmap.compress(Bitmap.CompressFormat.PNG, 99, out); - out.flush(); - out.close(); - } catch (final Exception e) { - LOGGER.e(e, "Exception!"); - } - } - - public static void convertYUV420SPToARGB8888(byte[] input, int width, int height, int[] output) { - final int frameSize = width * height; - for (int j = 0, yp = 0; j < height; j++) { - int uvp = frameSize + (j >> 1) * width; - int u = 0; - int v = 0; - - for (int i = 0; i < width; i++, yp++) { - int y = 0xff & input[yp]; - if ((i & 1) == 0) { - v = 0xff & input[uvp++]; - u = 0xff & input[uvp++]; - } - - output[yp] = YUV2RGB(y, u, v); - } - } - } - - private static int YUV2RGB(int y, int u, int v) { - // Adjust and check YUV values - y = (y - 16) < 0 ? 0 : (y - 16); - u -= 128; - v -= 128; - - // This is the floating point equivalent. We do the conversion in integer - // because some Android devices do not have floating point in hardware. - // nR = (int)(1.164 * nY + 2.018 * nU); - // nG = (int)(1.164 * nY - 0.813 * nV - 0.391 * nU); - // nB = (int)(1.164 * nY + 1.596 * nV); - int y1192 = 1192 * y; - int r = (y1192 + 1634 * v); - int g = (y1192 - 833 * v - 400 * u); - int b = (y1192 + 2066 * u); - - // Clipping RGB values to be inside boundaries [ 0 , kMaxChannelValue ] - r = r > kMaxChannelValue ? kMaxChannelValue : (r < 0 ? 0 : r); - g = g > kMaxChannelValue ? kMaxChannelValue : (g < 0 ? 0 : g); - b = b > kMaxChannelValue ? kMaxChannelValue : (b < 0 ? 0 : b); - - return 0xff000000 | ((r << 6) & 0xff0000) | ((g >> 2) & 0xff00) | ((b >> 10) & 0xff); - } - - public static void convertYUV420ToARGB8888( - byte[] yData, - byte[] uData, - byte[] vData, - int width, - int height, - int yRowStride, - int uvRowStride, - int uvPixelStride, - int[] out) { - int yp = 0; - for (int j = 0; j < height; j++) { - int pY = yRowStride * j; - int pUV = uvRowStride * (j >> 1); - - for (int i = 0; i < width; i++) { - int uv_offset = pUV + (i >> 1) * uvPixelStride; - - out[yp++] = YUV2RGB(0xff & yData[pY + i], 0xff & uData[uv_offset], 0xff & vData[uv_offset]); - } - } - } - - /** - * Returns a transformation matrix from one reference frame into another. Handles cropping (if - * maintaining aspect ratio is desired) and rotation. - * - * @param srcWidth Width of source frame. - * @param srcHeight Height of source frame. - * @param dstWidth Width of destination frame. - * @param dstHeight Height of destination frame. - * @param applyRotation Amount of rotation to apply from one frame to another. Must be a multiple - * of 90. - * @param maintainAspectRatio If true, will ensure that scaling in x and y remains constant, - * cropping the image if necessary. - * @return The transformation fulfilling the desired requirements. - */ - public static Matrix getTransformationMatrix( - final int srcWidth, - final int srcHeight, - final int dstWidth, - final int dstHeight, - final int applyRotation, - final boolean maintainAspectRatio) { - final Matrix matrix = new Matrix(); - - if (applyRotation != 0) { - if (applyRotation % 90 != 0) { - LOGGER.w("Rotation of %d % 90 != 0", applyRotation); - } - - // Translate so center of image is at origin. - matrix.postTranslate(-srcWidth / 2.0f, -srcHeight / 2.0f); - - // Rotate around origin. - matrix.postRotate(applyRotation); - } - - // Account for the already applied rotation, if any, and then determine how - // much scaling is needed for each axis. - final boolean transpose = (Math.abs(applyRotation) + 90) % 180 == 0; - - final int inWidth = transpose ? srcHeight : srcWidth; - final int inHeight = transpose ? srcWidth : srcHeight; - - // Apply scaling if necessary. - if (inWidth != dstWidth || inHeight != dstHeight) { - final float scaleFactorX = dstWidth / (float) inWidth; - final float scaleFactorY = dstHeight / (float) inHeight; - - if (maintainAspectRatio) { - // Scale by minimum factor so that dst is filled completely while - // maintaining the aspect ratio. Some image may fall off the edge. - final float scaleFactor = Math.max(scaleFactorX, scaleFactorY); - matrix.postScale(scaleFactor, scaleFactor); - } else { - // Scale exactly to fill dst from src. - matrix.postScale(scaleFactorX, scaleFactorY); - } - } - - if (applyRotation != 0) { - // Translate back from origin centered reference to destination frame. - matrix.postTranslate(dstWidth / 2.0f, dstHeight / 2.0f); - } - - return matrix; - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Logger.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Logger.java deleted file mode 100755 index 9dc05f4d..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Logger.java +++ /dev/null @@ -1,186 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.env; - -import android.util.Log; -import java.util.HashSet; -import java.util.Set; - -/** Wrapper for the platform log function, allows convenient message prefixing and log disabling. */ -public final class Logger { - private static final String DEFAULT_TAG = "tensorflow"; - private static final int DEFAULT_MIN_LOG_LEVEL = Log.DEBUG; - - // Classes to be ignored when examining the stack trace - private static final Set IGNORED_CLASS_NAMES; - - static { - IGNORED_CLASS_NAMES = new HashSet(3); - IGNORED_CLASS_NAMES.add("dalvik.system.VMStack"); - IGNORED_CLASS_NAMES.add("java.lang.Thread"); - IGNORED_CLASS_NAMES.add(Logger.class.getCanonicalName()); - } - - private final String tag; - private final String messagePrefix; - private int minLogLevel = DEFAULT_MIN_LOG_LEVEL; - - /** - * Creates a Logger using the class name as the message prefix. - * - * @param clazz the simple name of this class is used as the message prefix. - */ - public Logger(final Class clazz) { - this(clazz.getSimpleName()); - } - - /** - * Creates a Logger using the specified message prefix. - * - * @param messagePrefix is prepended to the text of every message. - */ - public Logger(final String messagePrefix) { - this(DEFAULT_TAG, messagePrefix); - } - - /** - * Creates a Logger with a custom tag and a custom message prefix. If the message prefix is set to - * - *
null
- * - * , the caller's class name is used as the prefix. - * - * @param tag identifies the source of a log message. - * @param messagePrefix prepended to every message if non-null. If null, the name of the caller is - * being used - */ - public Logger(final String tag, final String messagePrefix) { - this.tag = tag; - final String prefix = messagePrefix == null ? getCallerSimpleName() : messagePrefix; - this.messagePrefix = (prefix.length() > 0) ? prefix + ": " : prefix; - } - - /** Creates a Logger using the caller's class name as the message prefix. */ - public Logger() { - this(DEFAULT_TAG, null); - } - - /** Creates a Logger using the caller's class name as the message prefix. */ - public Logger(final int minLogLevel) { - this(DEFAULT_TAG, null); - this.minLogLevel = minLogLevel; - } - - /** - * Return caller's simple name. - * - *

Android getStackTrace() returns an array that looks like this: stackTrace[0]: - * dalvik.system.VMStack stackTrace[1]: java.lang.Thread stackTrace[2]: - * com.google.android.apps.unveil.env.UnveilLogger stackTrace[3]: - * com.google.android.apps.unveil.BaseApplication - * - *

This function returns the simple version of the first non-filtered name. - * - * @return caller's simple name - */ - private static String getCallerSimpleName() { - // Get the current callstack so we can pull the class of the caller off of it. - final StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); - - for (final StackTraceElement elem : stackTrace) { - final String className = elem.getClassName(); - if (!IGNORED_CLASS_NAMES.contains(className)) { - // We're only interested in the simple name of the class, not the complete package. - final String[] classParts = className.split("\\."); - return classParts[classParts.length - 1]; - } - } - - return Logger.class.getSimpleName(); - } - - public void setMinLogLevel(final int minLogLevel) { - this.minLogLevel = minLogLevel; - } - - public boolean isLoggable(final int logLevel) { - return logLevel >= minLogLevel || Log.isLoggable(tag, logLevel); - } - - private String toMessage(final String format, final Object... args) { - return messagePrefix + (args.length > 0 ? String.format(format, args) : format); - } - - public void v(final String format, final Object... args) { - if (isLoggable(Log.VERBOSE)) { - Log.v(tag, toMessage(format, args)); - } - } - - public void v(final Throwable t, final String format, final Object... args) { - if (isLoggable(Log.VERBOSE)) { - Log.v(tag, toMessage(format, args), t); - } - } - - public void d(final String format, final Object... args) { - if (isLoggable(Log.DEBUG)) { - Log.d(tag, toMessage(format, args)); - } - } - - public void d(final Throwable t, final String format, final Object... args) { - if (isLoggable(Log.DEBUG)) { - Log.d(tag, toMessage(format, args), t); - } - } - - public void i(final String format, final Object... args) { - if (isLoggable(Log.INFO)) { - Log.i(tag, toMessage(format, args)); - } - } - - public void i(final Throwable t, final String format, final Object... args) { - if (isLoggable(Log.INFO)) { - Log.i(tag, toMessage(format, args), t); - } - } - - public void w(final String format, final Object... args) { - if (isLoggable(Log.WARN)) { - Log.w(tag, toMessage(format, args)); - } - } - - public void w(final Throwable t, final String format, final Object... args) { - if (isLoggable(Log.WARN)) { - Log.w(tag, toMessage(format, args), t); - } - } - - public void e(final String format, final Object... args) { - if (isLoggable(Log.ERROR)) { - Log.e(tag, toMessage(format, args)); - } - } - - public void e(final Throwable t, final String format, final Object... args) { - if (isLoggable(Log.ERROR)) { - Log.e(tag, toMessage(format, args), t); - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Size.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Size.java deleted file mode 100755 index e3f71e0e..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Size.java +++ /dev/null @@ -1,142 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.env; - -import android.graphics.Bitmap; -import android.text.TextUtils; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -/** Size class independent of a Camera object. */ -public class Size implements Comparable, Serializable { - - // 1.4 went out with this UID so we'll need to maintain it to preserve pending queries when - // upgrading. - public static final long serialVersionUID = 7689808733290872361L; - - public final int width; - public final int height; - - public Size(final int width, final int height) { - this.width = width; - this.height = height; - } - - public Size(final Bitmap bmp) { - this.width = bmp.getWidth(); - this.height = bmp.getHeight(); - } - - /** - * Rotate a size by the given number of degrees. - * - * @param size Size to rotate. - * @param rotation Degrees {0, 90, 180, 270} to rotate the size. - * @return Rotated size. - */ - public static Size getRotatedSize(final Size size, final int rotation) { - if (rotation % 180 != 0) { - // The phone is portrait, therefore the camera is sideways and frame should be rotated. - return new Size(size.height, size.width); - } - return size; - } - - public static Size parseFromString(String sizeString) { - if (TextUtils.isEmpty(sizeString)) { - return null; - } - - sizeString = sizeString.trim(); - - // The expected format is "x". - final String[] components = sizeString.split("x"); - if (components.length == 2) { - try { - final int width = Integer.parseInt(components[0]); - final int height = Integer.parseInt(components[1]); - return new Size(width, height); - } catch (final NumberFormatException e) { - return null; - } - } else { - return null; - } - } - - public static List sizeStringToList(final String sizes) { - final List sizeList = new ArrayList(); - if (sizes != null) { - final String[] pairs = sizes.split(","); - for (final String pair : pairs) { - final Size size = Size.parseFromString(pair); - if (size != null) { - sizeList.add(size); - } - } - } - return sizeList; - } - - public static String sizeListToString(final List sizes) { - String sizesString = ""; - if (sizes != null && sizes.size() > 0) { - sizesString = sizes.get(0).toString(); - for (int i = 1; i < sizes.size(); i++) { - sizesString += "," + sizes.get(i).toString(); - } - } - return sizesString; - } - - public static final String dimensionsAsString(final int width, final int height) { - return width + "x" + height; - } - - public final float aspectRatio() { - return (float) width / (float) height; - } - - @Override - public int compareTo(final Size other) { - return width * height - other.width * other.height; - } - - @Override - public boolean equals(final Object other) { - if (other == null) { - return false; - } - - if (!(other instanceof Size)) { - return false; - } - - final Size otherSize = (Size) other; - return (width == otherSize.width && height == otherSize.height); - } - - @Override - public int hashCode() { - return width * 32713 + height; - } - - @Override - public String toString() { - return dimensionsAsString(width, height); - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Utils.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Utils.java deleted file mode 100755 index 47fd3e50..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/env/Utils.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.tensorflow.lite.examples.detection.env; - -import android.content.Context; -import android.content.res.AssetFileDescriptor; -import android.content.res.AssetManager; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Matrix; -import android.os.Environment; -import android.util.Log; - -import org.tensorflow.lite.examples.detection.MainActivity; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.nio.MappedByteBuffer; -import java.nio.channels.FileChannel; - -public class Utils { - - /** - * Memory-map the model file in Assets. - */ - public static MappedByteBuffer loadModelFile(AssetManager assets, String modelFilename) - throws IOException { - AssetFileDescriptor fileDescriptor = assets.openFd(modelFilename); - FileInputStream inputStream = new FileInputStream(fileDescriptor.getFileDescriptor()); - FileChannel fileChannel = inputStream.getChannel(); - long startOffset = fileDescriptor.getStartOffset(); - long declaredLength = fileDescriptor.getDeclaredLength(); - return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength); - } - - public static void softmax(final float[] vals) { - float max = Float.NEGATIVE_INFINITY; - for (final float val : vals) { - max = Math.max(max, val); - } - float sum = 0.0f; - for (int i = 0; i < vals.length; ++i) { - vals[i] = (float) Math.exp(vals[i] - max); - sum += vals[i]; - } - for (int i = 0; i < vals.length; ++i) { - vals[i] = vals[i] / sum; - } - } - - public static float expit(final float x) { - return (float) (1. / (1. + Math.exp(-x))); - } - -// public static Bitmap scale(Context context, String filePath) { -// AssetManager assetManager = context.getAssets(); -// -// InputStream istr; -// Bitmap bitmap = null; -// try { -// istr = assetManager.open(filePath); -// bitmap = BitmapFactory.decodeStream(istr); -// bitmap = Bitmap.createScaledBitmap(bitmap, MainActivity.TF_OD_API_INPUT_SIZE, MainActivity.TF_OD_API_INPUT_SIZE, false); -// } catch (IOException e) { -// // handle exception -// Log.e("getBitmapFromAsset", "getBitmapFromAsset: " + e.getMessage()); -// } -// -// return bitmap; -// } - - public static Bitmap getBitmapFromAsset(Context context, String filePath) { - AssetManager assetManager = context.getAssets(); - - InputStream istr; - Bitmap bitmap = null; - try { - istr = assetManager.open(filePath); - bitmap = BitmapFactory.decodeStream(istr); -// return bitmap.copy(Bitmap.Config.ARGB_8888,true); - } catch (IOException e) { - // handle exception - Log.e("getBitmapFromAsset", "getBitmapFromAsset: " + e.getMessage()); - } - - return bitmap; - } - - /** - * Returns a transformation matrix from one reference frame into another. - * Handles cropping (if maintaining aspect ratio is desired) and rotation. - * - * @param srcWidth Width of source frame. - * @param srcHeight Height of source frame. - * @param dstWidth Width of destination frame. - * @param dstHeight Height of destination frame. - * @param applyRotation Amount of rotation to apply from one frame to another. - * Must be a multiple of 90. - * @param maintainAspectRatio If true, will ensure that scaling in x and y remains constant, - * cropping the image if necessary. - * @return The transformation fulfilling the desired requirements. - */ - public static Matrix getTransformationMatrix( - final int srcWidth, - final int srcHeight, - final int dstWidth, - final int dstHeight, - final int applyRotation, - final boolean maintainAspectRatio) { - final Matrix matrix = new Matrix(); - - if (applyRotation != 0) { - // Translate so center of image is at origin. - matrix.postTranslate(-srcWidth / 2.0f, -srcHeight / 2.0f); - - // Rotate around origin. - matrix.postRotate(applyRotation); - } - - // Account for the already applied rotation, if any, and then determine how - // much scaling is needed for each axis. - final boolean transpose = (Math.abs(applyRotation) + 90) % 180 == 0; - - final int inWidth = transpose ? srcHeight : srcWidth; - final int inHeight = transpose ? srcWidth : srcHeight; - - // Apply scaling if necessary. - if (inWidth != dstWidth || inHeight != dstHeight) { - final float scaleFactorX = dstWidth / (float) inWidth; - final float scaleFactorY = dstHeight / (float) inHeight; - - if (maintainAspectRatio) { - // Scale by minimum factor so that dst is filled completely while - // maintaining the aspect ratio. Some image may fall off the edge. - final float scaleFactor = Math.max(scaleFactorX, scaleFactorY); - matrix.postScale(scaleFactor, scaleFactor); - } else { - // Scale exactly to fill dst from src. - matrix.postScale(scaleFactorX, scaleFactorY); - } - } - - if (applyRotation != 0) { - // Translate back from origin centered reference to destination frame. - matrix.postTranslate(dstWidth / 2.0f, dstHeight / 2.0f); - } - - return matrix; - } - - public static Bitmap processBitmap(Bitmap source, int size){ - - int image_height = source.getHeight(); - int image_width = source.getWidth(); - - Bitmap croppedBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - - Matrix frameToCropTransformations = getTransformationMatrix(image_width,image_height,size,size,0,false); - Matrix cropToFrameTransformations = new Matrix(); - frameToCropTransformations.invert(cropToFrameTransformations); - - final Canvas canvas = new Canvas(croppedBitmap); - canvas.drawBitmap(source, frameToCropTransformations, null); - - return croppedBitmap; - } - - public static void writeToFile(String data, Context context) { - try { - String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); - String fileName = "myFile.txt"; - - File file = new File(baseDir + File.separator + fileName); - - FileOutputStream stream = new FileOutputStream(file); - try { - stream.write(data.getBytes()); - } finally { - stream.close(); - } - } catch (IOException e) { - Log.e("Exception", "File write failed: " + e.toString()); - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/Classifier.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/Classifier.java deleted file mode 100755 index cffb0afa..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/Classifier.java +++ /dev/null @@ -1,134 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.tflite; - -import android.graphics.Bitmap; -import android.graphics.RectF; - -import java.util.List; - -/** - * Generic interface for interacting with different recognition engines. - */ -public interface Classifier { - List recognizeImage(Bitmap bitmap); - - void enableStatLogging(final boolean debug); - - String getStatString(); - - void close(); - - void setNumThreads(int num_threads); - - void setUseNNAPI(boolean isChecked); - - abstract float getObjThresh(); - - /** - * An immutable result returned by a Classifier describing what was recognized. - */ - public class Recognition { - /** - * A unique identifier for what has been recognized. Specific to the class, not the instance of - * the object. - */ - private final String id; - - /** - * Display name for the recognition. - */ - private final String title; - - /** - * A sortable score for how good the recognition is relative to others. Higher should be better. - */ - private final Float confidence; - - /** - * Optional location within the source image for the location of the recognized object. - */ - private RectF location; - - private int detectedClass; - - public Recognition( - final String id, final String title, final Float confidence, final RectF location) { - this.id = id; - this.title = title; - this.confidence = confidence; - this.location = location; - } - - public Recognition(final String id, final String title, final Float confidence, final RectF location, int detectedClass) { - this.id = id; - this.title = title; - this.confidence = confidence; - this.location = location; - this.detectedClass = detectedClass; - } - - public String getId() { - return id; - } - - public String getTitle() { - return title; - } - - public Float getConfidence() { - return confidence; - } - - public RectF getLocation() { - return new RectF(location); - } - - public void setLocation(RectF location) { - this.location = location; - } - - public int getDetectedClass() { - return detectedClass; - } - - public void setDetectedClass(int detectedClass) { - this.detectedClass = detectedClass; - } - - @Override - public String toString() { - String resultString = ""; - if (id != null) { - resultString += "[" + id + "] "; - } - - if (title != null) { - resultString += title + " "; - } - - if (confidence != null) { - resultString += String.format("(%.1f%%) ", confidence * 100.0f); - } - - if (location != null) { - resultString += location + " "; - } - - return resultString.trim(); - } - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/YoloV4Classifier.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/YoloV4Classifier.java deleted file mode 100755 index ce3488fd..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tflite/YoloV4Classifier.java +++ /dev/null @@ -1,599 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.tflite; - -import android.content.res.AssetManager; -import android.graphics.Bitmap; -import android.graphics.RectF; -import android.os.Build; -import android.os.Trace; -import android.util.Log; - -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Vector; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.tensorflow.lite.Interpreter; -import org.tensorflow.lite.examples.detection.MainActivity; -import org.tensorflow.lite.examples.detection.env.Logger; -import org.tensorflow.lite.examples.detection.env.Utils; - -import static org.tensorflow.lite.examples.detection.env.Utils.expit; -import static org.tensorflow.lite.examples.detection.env.Utils.softmax; - -import org.tensorflow.lite.Interpreter; -import org.tensorflow.lite.gpu.GpuDelegate; -import org.tensorflow.lite.nnapi.NnApiDelegate; - -/** - * Wrapper for frozen detection models trained using the Tensorflow Object Detection API: - * - https://github.com/tensorflow/models/tree/master/research/object_detection - * where you can find the training code. - *

- * To use pretrained models in the API or convert to TF Lite models, please see docs for details: - * - https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md - * - https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md#running-our-model-on-android - */ -public class YoloV4Classifier implements Classifier { - - /** - * Initializes a native TensorFlow session for classifying images. - * - * @param assetManager The asset manager to be used to load assets. - * @param modelFilename The filepath of the model GraphDef protocol buffer. - * @param labelFilename The filepath of label file for classes. - * @param isQuantized Boolean representing model is quantized or not - */ - public static Classifier create( - final AssetManager assetManager, - final String modelFilename, - final String labelFilename, - final boolean isQuantized) - throws IOException { - final YoloV4Classifier d = new YoloV4Classifier(); - - String actualFilename = labelFilename.split("file:///android_asset/")[1]; - InputStream labelsInput = assetManager.open(actualFilename); - BufferedReader br = new BufferedReader(new InputStreamReader(labelsInput)); - String line; - while ((line = br.readLine()) != null) { - LOGGER.w(line); - d.labels.add(line); - } - br.close(); - - try { - Interpreter.Options options = (new Interpreter.Options()); - options.setNumThreads(NUM_THREADS); - if (isNNAPI) { - NnApiDelegate nnApiDelegate = null; - // Initialize interpreter with NNAPI delegate for Android Pie or above - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - nnApiDelegate = new NnApiDelegate(); - options.addDelegate(nnApiDelegate); - options.setNumThreads(NUM_THREADS); - options.setUseNNAPI(false); - options.setAllowFp16PrecisionForFp32(true); - options.setAllowBufferHandleOutput(true); - options.setUseNNAPI(true); - } - } - if (isGPU) { - GpuDelegate gpuDelegate = new GpuDelegate(); - options.addDelegate(gpuDelegate); - } - d.tfLite = new Interpreter(Utils.loadModelFile(assetManager, modelFilename), options); - } catch (Exception e) { - throw new RuntimeException(e); - } - - d.isModelQuantized = isQuantized; - // Pre-allocate buffers. - int numBytesPerChannel; - if (isQuantized) { - numBytesPerChannel = 1; // Quantized - } else { - numBytesPerChannel = 4; // Floating point - } - d.imgData = ByteBuffer.allocateDirect(1 * d.INPUT_SIZE * d.INPUT_SIZE * 3 * numBytesPerChannel); - d.imgData.order(ByteOrder.nativeOrder()); - d.intValues = new int[d.INPUT_SIZE * d.INPUT_SIZE]; - - return d; - } - - @Override - public void enableStatLogging(final boolean logStats) { - } - - @Override - public String getStatString() { - return ""; - } - - @Override - public void close() { - } - - public void setNumThreads(int num_threads) { - if (tfLite != null) tfLite.setNumThreads(num_threads); - } - - @Override - public void setUseNNAPI(boolean isChecked) { - if (tfLite != null) tfLite.setUseNNAPI(isChecked); - } - - @Override - public float getObjThresh() { - return MainActivity.MINIMUM_CONFIDENCE_TF_OD_API; - } - - private static final Logger LOGGER = new Logger(); - - // Float model - private static final float IMAGE_MEAN = 0; - - private static final float IMAGE_STD = 255.0f; - - //config yolov4 - private static final int INPUT_SIZE = 416; - private static final int[] OUTPUT_WIDTH = new int[]{52, 26, 13}; - - private static final int[][] MASKS = new int[][]{{0, 1, 2}, {3, 4, 5}, {6, 7, 8}}; - private static final int[] ANCHORS = new int[]{ - 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 - }; - private static final float[] XYSCALE = new float[]{1.2f, 1.1f, 1.05f}; - - private static final int NUM_BOXES_PER_BLOCK = 3; - - // Number of threads in the java app - private static final int NUM_THREADS = 4; - private static boolean isNNAPI = false; - private static boolean isGPU = true; - - // tiny or not - private static boolean isTiny = false; - - // config yolov4 tiny - private static final int[] OUTPUT_WIDTH_TINY = new int[]{2535, 2535}; - private static final int[] OUTPUT_WIDTH_FULL = new int[]{10647, 10647}; - private static final int[][] MASKS_TINY = new int[][]{{3, 4, 5}, {1, 2, 3}}; - private static final int[] ANCHORS_TINY = new int[]{ - 23, 27, 37, 58, 81, 82, 81, 82, 135, 169, 344, 319}; - private static final float[] XYSCALE_TINY = new float[]{1.05f, 1.05f}; - - private boolean isModelQuantized; - - // Config values. - - // Pre-allocated buffers. - private Vector labels = new Vector(); - private int[] intValues; - - private ByteBuffer imgData; - - private Interpreter tfLite; - - private YoloV4Classifier() { - } - - //non maximum suppression - protected ArrayList nms(ArrayList list) { - ArrayList nmsList = new ArrayList(); - - for (int k = 0; k < labels.size(); k++) { - //1.find max confidence per class - PriorityQueue pq = - new PriorityQueue( - 50, - new Comparator() { - @Override - public int compare(final Recognition lhs, final Recognition rhs) { - // Intentionally reversed to put high confidence at the head of the queue. - return Float.compare(rhs.getConfidence(), lhs.getConfidence()); - } - }); - - for (int i = 0; i < list.size(); ++i) { - if (list.get(i).getDetectedClass() == k) { - pq.add(list.get(i)); - } - } - - //2.do non maximum suppression - while (pq.size() > 0) { - //insert detection with max confidence - Recognition[] a = new Recognition[pq.size()]; - Recognition[] detections = pq.toArray(a); - Recognition max = detections[0]; - nmsList.add(max); - pq.clear(); - - for (int j = 1; j < detections.length; j++) { - Recognition detection = detections[j]; - RectF b = detection.getLocation(); - if (box_iou(max.getLocation(), b) < mNmsThresh) { - pq.add(detection); - } - } - } - } - return nmsList; - } - - protected float mNmsThresh = 0.6f; - - protected float box_iou(RectF a, RectF b) { - return box_intersection(a, b) / box_union(a, b); - } - - protected float box_intersection(RectF a, RectF b) { - float w = overlap((a.left + a.right) / 2, a.right - a.left, - (b.left + b.right) / 2, b.right - b.left); - float h = overlap((a.top + a.bottom) / 2, a.bottom - a.top, - (b.top + b.bottom) / 2, b.bottom - b.top); - if (w < 0 || h < 0) return 0; - float area = w * h; - return area; - } - - protected float box_union(RectF a, RectF b) { - float i = box_intersection(a, b); - float u = (a.right - a.left) * (a.bottom - a.top) + (b.right - b.left) * (b.bottom - b.top) - i; - return u; - } - - protected float overlap(float x1, float w1, float x2, float w2) { - float l1 = x1 - w1 / 2; - float l2 = x2 - w2 / 2; - float left = l1 > l2 ? l1 : l2; - float r1 = x1 + w1 / 2; - float r2 = x2 + w2 / 2; - float right = r1 < r2 ? r1 : r2; - return right - left; - } - - protected static final int BATCH_SIZE = 1; - protected static final int PIXEL_SIZE = 3; - - /** - * Writes Image data into a {@code ByteBuffer}. - */ - protected ByteBuffer convertBitmapToByteBuffer(Bitmap bitmap) { - ByteBuffer byteBuffer = ByteBuffer.allocateDirect(4 * BATCH_SIZE * INPUT_SIZE * INPUT_SIZE * PIXEL_SIZE); - byteBuffer.order(ByteOrder.nativeOrder()); - int[] intValues = new int[INPUT_SIZE * INPUT_SIZE]; - bitmap.getPixels(intValues, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); - int pixel = 0; - for (int i = 0; i < INPUT_SIZE; ++i) { - for (int j = 0; j < INPUT_SIZE; ++j) { - final int val = intValues[pixel++]; - byteBuffer.putFloat(((val >> 16) & 0xFF) / 255.0f); - byteBuffer.putFloat(((val >> 8) & 0xFF) / 255.0f); - byteBuffer.putFloat((val & 0xFF) / 255.0f); - } - } - return byteBuffer; - } - -// private ArrayList getDetections(ByteBuffer byteBuffer, Bitmap bitmap) { -// ArrayList detections = new ArrayList(); -// Map outputMap = new HashMap<>(); -// for (int i = 0; i < OUTPUT_WIDTH.length; i++) { -// float[][][][][] out = new float[1][OUTPUT_WIDTH[i]][OUTPUT_WIDTH[i]][3][5 + labels.size()]; -// outputMap.put(i, out); -// } -// -// Log.d("YoloV4Classifier", "mObjThresh: " + getObjThresh()); -// -// Object[] inputArray = {byteBuffer}; -// tfLite.runForMultipleInputsOutputs(inputArray, outputMap); -// -// for (int i = 0; i < OUTPUT_WIDTH.length; i++) { -// int gridWidth = OUTPUT_WIDTH[i]; -// float[][][][][] out = (float[][][][][]) outputMap.get(i); -// -// Log.d("YoloV4Classifier", "out[" + i + "] detect start"); -// for (int y = 0; y < gridWidth; ++y) { -// for (int x = 0; x < gridWidth; ++x) { -// for (int b = 0; b < NUM_BOXES_PER_BLOCK; ++b) { -// final int offset = -// (gridWidth * (NUM_BOXES_PER_BLOCK * (labels.size() + 5))) * y -// + (NUM_BOXES_PER_BLOCK * (labels.size() + 5)) * x -// + (labels.size() + 5) * b; -// -// final float confidence = expit(out[0][y][x][b][4]); -// int detectedClass = -1; -// float maxClass = 0; -// -// final float[] classes = new float[labels.size()]; -// for (int c = 0; c < labels.size(); ++c) { -// classes[c] = out[0][y][x][b][5 + c]; -// } -// -// for (int c = 0; c < labels.size(); ++c) { -// if (classes[c] > maxClass) { -// detectedClass = c; -// maxClass = classes[c]; -// } -// } -// -// final float confidenceInClass = maxClass * confidence; -// if (confidenceInClass > getObjThresh()) { -//// final float xPos = (x + (expit(out[0][y][x][b][0]) * XYSCALE[i]) - (0.5f * (XYSCALE[i] - 1))) * (INPUT_SIZE / gridWidth); -//// final float yPos = (y + (expit(out[0][y][x][b][1]) * XYSCALE[i]) - (0.5f * (XYSCALE[i] - 1))) * (INPUT_SIZE / gridWidth); -// -// final float xPos = (x + expit(out[0][y][x][b][0])) * (1.0f * INPUT_SIZE / gridWidth); -// final float yPos = (y + expit(out[0][y][x][b][1])) * (1.0f * INPUT_SIZE / gridWidth); -// -// final float w = (float) (Math.exp(out[0][y][x][b][2]) * ANCHORS[2 * MASKS[i][b]]); -// final float h = (float) (Math.exp(out[0][y][x][b][3]) * ANCHORS[2 * MASKS[i][b] + 1]); -// -// final RectF rect = -// new RectF( -// Math.max(0, xPos - w / 2), -// Math.max(0, yPos - h / 2), -// Math.min(bitmap.getWidth() - 1, xPos + w / 2), -// Math.min(bitmap.getHeight() - 1, yPos + h / 2)); -// detections.add(new Recognition("" + offset, labels.get(detectedClass), -// confidenceInClass, rect, detectedClass)); -// } -// } -// } -// } -// Log.d("YoloV4Classifier", "out[" + i + "] detect end"); -// } -// return detections; -// } - - /** - * For yolov4-tiny, the situation would be a little different from the yolov4, it only has two - * output. Both has three dimenstion. The first one is a tensor with dimension [1, 2535,4], containing all the bounding boxes. - * The second one is a tensor with dimension [1, 2535, class_num], containing all the classes score. - * @param byteBuffer input ByteBuffer, which contains the image information - * @param bitmap pixel disenty used to resize the output images - * @return an array list containing the recognitions - */ - - private ArrayList getDetectionsForFull(ByteBuffer byteBuffer, Bitmap bitmap) { - ArrayList detections = new ArrayList(); - Map outputMap = new HashMap<>(); - outputMap.put(0, new float[1][OUTPUT_WIDTH_FULL[0]][4]); - outputMap.put(1, new float[1][OUTPUT_WIDTH_FULL[1]][labels.size()]); - Object[] inputArray = {byteBuffer}; - tfLite.runForMultipleInputsOutputs(inputArray, outputMap); - - int gridWidth = OUTPUT_WIDTH_FULL[0]; - float[][][] bboxes = (float [][][]) outputMap.get(0); - float[][][] out_score = (float[][][]) outputMap.get(1); - - for (int i = 0; i < gridWidth;i++){ - float maxClass = 0; - int detectedClass = -1; - final float[] classes = new float[labels.size()]; - for (int c = 0;c< labels.size();c++){ - classes [c] = out_score[0][i][c]; - } - for (int c = 0;c maxClass){ - detectedClass = c; - maxClass = classes[c]; - } - } - final float score = maxClass; - if (score > getObjThresh()){ - final float xPos = bboxes[0][i][0]; - final float yPos = bboxes[0][i][1]; - final float w = bboxes[0][i][2]; - final float h = bboxes[0][i][3]; - final RectF rectF = new RectF( - Math.max(0, xPos - w / 2), - Math.max(0, yPos - h / 2), - Math.min(bitmap.getWidth() - 1, xPos + w / 2), - Math.min(bitmap.getHeight() - 1, yPos + h / 2)); - detections.add(new Recognition("" + i, labels.get(detectedClass),score,rectF,detectedClass )); - } - } - return detections; - } - - private ArrayList getDetectionsForTiny(ByteBuffer byteBuffer, Bitmap bitmap) { - ArrayList detections = new ArrayList(); - Map outputMap = new HashMap<>(); - outputMap.put(0, new float[1][OUTPUT_WIDTH_TINY[0]][4]); - outputMap.put(1, new float[1][OUTPUT_WIDTH_TINY[1]][labels.size()]); - Object[] inputArray = {byteBuffer}; - tfLite.runForMultipleInputsOutputs(inputArray, outputMap); - - int gridWidth = OUTPUT_WIDTH_TINY[0]; - float[][][] bboxes = (float [][][]) outputMap.get(0); - float[][][] out_score = (float[][][]) outputMap.get(1); - - for (int i = 0; i < gridWidth;i++){ - float maxClass = 0; - int detectedClass = -1; - final float[] classes = new float[labels.size()]; - for (int c = 0;c< labels.size();c++){ - classes [c] = out_score[0][i][c]; - } - for (int c = 0;c maxClass){ - detectedClass = c; - maxClass = classes[c]; - } - } - final float score = maxClass; - if (score > getObjThresh()){ - final float xPos = bboxes[0][i][0]; - final float yPos = bboxes[0][i][1]; - final float w = bboxes[0][i][2]; - final float h = bboxes[0][i][3]; - final RectF rectF = new RectF( - Math.max(0, xPos - w / 2), - Math.max(0, yPos - h / 2), - Math.min(bitmap.getWidth() - 1, xPos + w / 2), - Math.min(bitmap.getHeight() - 1, yPos + h / 2)); - detections.add(new Recognition("" + i, labels.get(detectedClass),score,rectF,detectedClass )); - } - } - return detections; - } - - public ArrayList recognizeImage(Bitmap bitmap) { - ByteBuffer byteBuffer = convertBitmapToByteBuffer(bitmap); - -// Map outputMap = new HashMap<>(); -// for (int i = 0; i < OUTPUT_WIDTH.length; i++) { -// float[][][][][] out = new float[1][OUTPUT_WIDTH[i]][OUTPUT_WIDTH[i]][3][5 + labels.size()]; -// outputMap.put(i, out); -// } -// -// Log.d("YoloV4Classifier", "mObjThresh: " + getObjThresh()); -// -// Object[] inputArray = {byteBuffer}; -// tfLite.runForMultipleInputsOutputs(inputArray, outputMap); -// -// ArrayList detections = new ArrayList(); -// -// for (int i = 0; i < OUTPUT_WIDTH.length; i++) { -// int gridWidth = OUTPUT_WIDTH[i]; -// float[][][][][] out = (float[][][][][]) outputMap.get(i); -// -// Log.d("YoloV4Classifier", "out[" + i + "] detect start"); -// for (int y = 0; y < gridWidth; ++y) { -// for (int x = 0; x < gridWidth; ++x) { -// for (int b = 0; b < NUM_BOXES_PER_BLOCK; ++b) { -// final int offset = -// (gridWidth * (NUM_BOXES_PER_BLOCK * (labels.size() + 5))) * y -// + (NUM_BOXES_PER_BLOCK * (labels.size() + 5)) * x -// + (labels.size() + 5) * b; -// -// final float confidence = expit(out[0][y][x][b][4]); -// int detectedClass = -1; -// float maxClass = 0; -// -// final float[] classes = new float[labels.size()]; -// for (int c = 0; c < labels.size(); ++c) { -// classes[c] = out[0][y][x][b][5 + c]; -// } -// -// for (int c = 0; c < labels.size(); ++c) { -// if (classes[c] > maxClass) { -// detectedClass = c; -// maxClass = classes[c]; -// } -// } -// -// final float confidenceInClass = maxClass * confidence; -// if (confidenceInClass > getObjThresh()) { -//// final float xPos = (x + (expit(out[0][y][x][b][0]) * XYSCALE[i]) - (0.5f * (XYSCALE[i] - 1))) * (INPUT_SIZE / gridWidth); -//// final float yPos = (y + (expit(out[0][y][x][b][1]) * XYSCALE[i]) - (0.5f * (XYSCALE[i] - 1))) * (INPUT_SIZE / gridWidth); -// -// final float xPos = (x + expit(out[0][y][x][b][0])) * (1.0f * INPUT_SIZE / gridWidth); -// final float yPos = (y + expit(out[0][y][x][b][1])) * (1.0f * INPUT_SIZE / gridWidth); -// -// final float w = (float) (Math.exp(out[0][y][x][b][2]) * ANCHORS[2 * MASKS[i][b]]); -// final float h = (float) (Math.exp(out[0][y][x][b][3]) * ANCHORS[2 * MASKS[i][b] + 1]); -// -// final RectF rect = -// new RectF( -// Math.max(0, xPos - w / 2), -// Math.max(0, yPos - h / 2), -// Math.min(bitmap.getWidth() - 1, xPos + w / 2), -// Math.min(bitmap.getHeight() - 1, yPos + h / 2)); -// detections.add(new Recognition("" + offset, labels.get(detectedClass), -// confidenceInClass, rect, detectedClass)); -// } -// } -// } -// } -// Log.d("YoloV4Classifier", "out[" + i + "] detect end"); -// } - ArrayList detections; - if (isTiny) { - detections = getDetectionsForTiny(byteBuffer, bitmap); - } else { - detections = getDetectionsForFull(byteBuffer, bitmap); - } - final ArrayList recognitions = nms(detections); - return recognitions; - } - - public boolean checkInvalidateBox(float x, float y, float width, float height, float oriW, float oriH, int intputSize) { - // (1) (x, y, w, h) --> (xmin, ymin, xmax, ymax) - float halfHeight = height / 2.0f; - float halfWidth = width / 2.0f; - - float[] pred_coor = new float[]{x - halfWidth, y - halfHeight, x + halfWidth, y + halfHeight}; - - // (2) (xmin, ymin, xmax, ymax) -> (xmin_org, ymin_org, xmax_org, ymax_org) - float resize_ratioW = 1.0f * intputSize / oriW; - float resize_ratioH = 1.0f * intputSize / oriH; - - float resize_ratio = resize_ratioW > resize_ratioH ? resize_ratioH : resize_ratioW; //min - - float dw = (intputSize - resize_ratio * oriW) / 2; - float dh = (intputSize - resize_ratio * oriH) / 2; - - pred_coor[0] = 1.0f * (pred_coor[0] - dw) / resize_ratio; - pred_coor[2] = 1.0f * (pred_coor[2] - dw) / resize_ratio; - - pred_coor[1] = 1.0f * (pred_coor[1] - dh) / resize_ratio; - pred_coor[3] = 1.0f * (pred_coor[3] - dh) / resize_ratio; - - // (3) clip some boxes those are out of range - pred_coor[0] = pred_coor[0] > 0 ? pred_coor[0] : 0; - pred_coor[1] = pred_coor[1] > 0 ? pred_coor[1] : 0; - - pred_coor[2] = pred_coor[2] < (oriW - 1) ? pred_coor[2] : (oriW - 1); - pred_coor[3] = pred_coor[3] < (oriH - 1) ? pred_coor[3] : (oriH - 1); - - if ((pred_coor[0] > pred_coor[2]) || (pred_coor[1] > pred_coor[3])) { - pred_coor[0] = 0; - pred_coor[1] = 0; - pred_coor[2] = 0; - pred_coor[3] = 0; - } - - // (4) discard some invalid boxes - float temp1 = pred_coor[2] - pred_coor[0]; - float temp2 = pred_coor[3] - pred_coor[1]; - float temp = temp1 * temp2; - if (temp < 0) { - Log.e("checkInvalidateBox", "temp < 0"); - return false; - } - if (Math.sqrt(temp) > Float.MAX_VALUE) { - Log.e("checkInvalidateBox", "temp max"); - return false; - } - - return true; - } -} \ No newline at end of file diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tracking/MultiBoxTracker.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/tracking/MultiBoxTracker.java deleted file mode 100755 index cd8a8b21..00000000 --- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/tracking/MultiBoxTracker.java +++ /dev/null @@ -1,211 +0,0 @@ -/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -package org.tensorflow.lite.examples.detection.tracking; - -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Matrix; -import android.graphics.Paint; -import android.graphics.Paint.Cap; -import android.graphics.Paint.Join; -import android.graphics.Paint.Style; -import android.graphics.RectF; -import android.text.TextUtils; -import android.util.Pair; -import android.util.TypedValue; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import org.tensorflow.lite.examples.detection.env.BorderedText; -import org.tensorflow.lite.examples.detection.env.ImageUtils; -import org.tensorflow.lite.examples.detection.env.Logger; -import org.tensorflow.lite.examples.detection.tflite.Classifier.Recognition; - -/** A tracker that handles non-max suppression and matches existing objects to new detections. */ -public class MultiBoxTracker { - private static final float TEXT_SIZE_DIP = 18; - private static final float MIN_SIZE = 16.0f; - private static final int[] COLORS = { - Color.BLUE, - Color.RED, - Color.GREEN, - Color.YELLOW, - Color.CYAN, - Color.MAGENTA, - Color.WHITE, - Color.parseColor("#55FF55"), - Color.parseColor("#FFA500"), - Color.parseColor("#FF8888"), - Color.parseColor("#AAAAFF"), - Color.parseColor("#FFFFAA"), - Color.parseColor("#55AAAA"), - Color.parseColor("#AA33AA"), - Color.parseColor("#0D0068") - }; - final List> screenRects = new LinkedList>(); - private final Logger logger = new Logger(); - private final Queue availableColors = new LinkedList(); - private final List trackedObjects = new LinkedList(); - private final Paint boxPaint = new Paint(); - private final float textSizePx; - private final BorderedText borderedText; - private Matrix frameToCanvasMatrix; - private int frameWidth; - private int frameHeight; - private int sensorOrientation; - - public MultiBoxTracker(final Context context) { - for (final int color : COLORS) { - availableColors.add(color); - } - - boxPaint.setColor(Color.RED); - boxPaint.setStyle(Style.STROKE); - boxPaint.setStrokeWidth(10.0f); - boxPaint.setStrokeCap(Cap.ROUND); - boxPaint.setStrokeJoin(Join.ROUND); - boxPaint.setStrokeMiter(100); - - textSizePx = - TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, context.getResources().getDisplayMetrics()); - borderedText = new BorderedText(textSizePx); - } - - public synchronized void setFrameConfiguration( - final int width, final int height, final int sensorOrientation) { - frameWidth = width; - frameHeight = height; - this.sensorOrientation = sensorOrientation; - } - - public synchronized void drawDebug(final Canvas canvas) { - final Paint textPaint = new Paint(); - textPaint.setColor(Color.WHITE); - textPaint.setTextSize(60.0f); - - final Paint boxPaint = new Paint(); - boxPaint.setColor(Color.RED); - boxPaint.setAlpha(200); - boxPaint.setStyle(Style.STROKE); - - for (final Pair detection : screenRects) { - final RectF rect = detection.second; - canvas.drawRect(rect, boxPaint); - canvas.drawText("" + detection.first, rect.left, rect.top, textPaint); - borderedText.drawText(canvas, rect.centerX(), rect.centerY(), "" + detection.first); - } - } - - public synchronized void trackResults(final List results, final long timestamp) { - logger.i("Processing %d results from %d", results.size(), timestamp); - processResults(results); - } - - private Matrix getFrameToCanvasMatrix() { - return frameToCanvasMatrix; - } - - public synchronized void draw(final Canvas canvas) { - final boolean rotated = sensorOrientation % 180 == 90; - final float multiplier = - Math.min( - canvas.getHeight() / (float) (rotated ? frameWidth : frameHeight), - canvas.getWidth() / (float) (rotated ? frameHeight : frameWidth)); - frameToCanvasMatrix = - ImageUtils.getTransformationMatrix( - frameWidth, - frameHeight, - (int) (multiplier * (rotated ? frameHeight : frameWidth)), - (int) (multiplier * (rotated ? frameWidth : frameHeight)), - sensorOrientation, - false); - for (final TrackedRecognition recognition : trackedObjects) { - final RectF trackedPos = new RectF(recognition.location); - - getFrameToCanvasMatrix().mapRect(trackedPos); - boxPaint.setColor(recognition.color); - - float cornerSize = Math.min(trackedPos.width(), trackedPos.height()) / 8.0f; - canvas.drawRoundRect(trackedPos, cornerSize, cornerSize, boxPaint); - - final String labelString = - !TextUtils.isEmpty(recognition.title) - ? String.format("%s %.2f", recognition.title, (100 * recognition.detectionConfidence)) - : String.format("%.2f", (100 * recognition.detectionConfidence)); - // borderedText.drawText(canvas, trackedPos.left + cornerSize, trackedPos.top, - // labelString); - borderedText.drawText( - canvas, trackedPos.left + cornerSize, trackedPos.top, labelString + "%", boxPaint); - } - } - - private void processResults(final List results) { - final List> rectsToTrack = new LinkedList>(); - - screenRects.clear(); - final Matrix rgbFrameToScreen = new Matrix(getFrameToCanvasMatrix()); - - for (final Recognition result : results) { - if (result.getLocation() == null) { - continue; - } - final RectF detectionFrameRect = new RectF(result.getLocation()); - - final RectF detectionScreenRect = new RectF(); - rgbFrameToScreen.mapRect(detectionScreenRect, detectionFrameRect); - - logger.v( - "Result! Frame: " + result.getLocation() + " mapped to screen:" + detectionScreenRect); - - screenRects.add(new Pair(result.getConfidence(), detectionScreenRect)); - - if (detectionFrameRect.width() < MIN_SIZE || detectionFrameRect.height() < MIN_SIZE) { - logger.w("Degenerate rectangle! " + detectionFrameRect); - continue; - } - - rectsToTrack.add(new Pair(result.getConfidence(), result)); - } - - trackedObjects.clear(); - if (rectsToTrack.isEmpty()) { - logger.v("Nothing to track, aborting."); - return; - } - - for (final Pair potential : rectsToTrack) { - final TrackedRecognition trackedRecognition = new TrackedRecognition(); - trackedRecognition.detectionConfidence = potential.first; - trackedRecognition.location = new RectF(potential.second.getLocation()); - trackedRecognition.title = potential.second.getTitle(); - trackedRecognition.color = COLORS[trackedObjects.size()]; - trackedObjects.add(trackedRecognition); - - if (trackedObjects.size() >= COLORS.length) { - break; - } - } - } - - private static class TrackedRecognition { - RectF location; - float detectionConfidence; - int color; - String title; - } -} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/DetectorActivity.kt b/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/DetectorActivity.kt new file mode 100644 index 00000000..63ac3524 --- /dev/null +++ b/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/DetectorActivity.kt @@ -0,0 +1,226 @@ +package org.tensorflow.lite.examples.detector.activities + +import android.Manifest +import android.annotation.SuppressLint +import android.content.pm.PackageManager +import android.graphics.Bitmap +import android.os.Bundle +import android.util.Log +import android.view.Surface +import android.view.View +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.camera.core.* +import androidx.camera.lifecycle.ProcessCameraProvider +import androidx.core.content.ContextCompat +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.lifecycleScope +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback +import com.google.common.util.concurrent.ListenableFuture +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import org.tensorflow.lite.examples.detector.Detector +import org.tensorflow.lite.examples.detector.DetectorFactory +import org.tensorflow.lite.examples.detector.R +import org.tensorflow.lite.examples.detector.databinding.ActivityCameraBinding +import org.tensorflow.lite.examples.detector.enums.DetectionModel +import org.tensorflow.lite.examples.detector.helpers.DetectionProcessor +import org.tensorflow.lite.examples.detector.utils.ImageToBitmapConverter +import kotlin.system.measureTimeMillis + +class DetectorActivity : AppCompatActivity() { + private companion object { + const val TAG: String = "DetectorActivity" + + const val CAMERA_REQUEST_CODE: Int = 1 + + const val CAMERA_ASPECT_RATIO: Int = AspectRatio.RATIO_16_9 + + /* + * Use Surface.ROTATION_0 for portrait and Surface.ROTATION_270 for landscape + */ + const val CAMERA_ROTATION: Int = Surface.ROTATION_0 + + val DETECTION_MODEL: DetectionModel = MainActivity.DETECTION_MODEL + const val MINIMUM_SCORE: Float = MainActivity.MINIMUM_SCORE + } + + private lateinit var mBinding: ActivityCameraBinding + + private lateinit var mDetector: Detector + + private lateinit var mCameraProviderFuture: ListenableFuture + + private var mDetectionProcessor: DetectionProcessor? = null + + private var mImageConverter: ImageToBitmapConverter? = null + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + mBinding = ActivityCameraBinding.inflate(layoutInflater) + setContentView(mBinding.root) + + setUpBottomSheet() + + @SuppressLint("SetTextI18n") + mBinding.bottomSheet.cropInfo.text = + "${DETECTION_MODEL.inputSize}x${DETECTION_MODEL.inputSize}" + + mCameraProviderFuture = ProcessCameraProvider.getInstance(baseContext) + requestPermissions(arrayOf(Manifest.permission.CAMERA), CAMERA_REQUEST_CODE) + + mDetector = DetectorFactory.createDetector(assets, DETECTION_MODEL, MINIMUM_SCORE) + + lifecycleScope.launch(Dispatchers.Main) { + mDetectionProcessor = DetectionProcessor( + context = baseContext, + detector = mDetector, + trackingOverlay = mBinding.tovCamera, + ) + + while (mBinding.pvCamera.childCount == 0) { + delay(200) + } + + val surfaceView: View = mBinding.pvCamera.getChildAt(0) + val previewWidth: Int = surfaceView.width + val previewHeight: Int = surfaceView.height + + mDetectionProcessor!!.initializeTrackingLayout( + previewWidth, + previewHeight, + mDetector.getDetectionModel().inputSize, + CAMERA_ROTATION + ) + } + } + + override fun onRequestPermissionsResult( + requestCode: Int, + permissions: Array, + grantResults: IntArray + ) { + if (requestCode == CAMERA_REQUEST_CODE) { + val indexOfCameraPermission = permissions.indexOf(Manifest.permission.CAMERA) + if (grantResults[indexOfCameraPermission] == PackageManager.PERMISSION_GRANTED) { + startCamera() + } else { + Toast.makeText( + baseContext, + "Permissions not granted by the user.", + Toast.LENGTH_SHORT + ).show() + finish() + } + } + } + + private fun setUpBottomSheet() { + val sheetBehavior = BottomSheetBehavior.from(mBinding.bottomSheet.root) + sheetBehavior.isHideable = false + sheetBehavior.addBottomSheetCallback( + object : BottomSheetCallback() { + override fun onStateChanged(bottomSheet: View, newState: Int) { + val arrowImageView = mBinding.bottomSheet.bottomSheetArrow + when (newState) { + BottomSheetBehavior.STATE_HIDDEN -> { + } + BottomSheetBehavior.STATE_EXPANDED -> { + arrowImageView.setImageResource(R.drawable.icn_chevron_down) + } + BottomSheetBehavior.STATE_COLLAPSED -> { + arrowImageView.setImageResource(R.drawable.icn_chevron_up) + } + BottomSheetBehavior.STATE_DRAGGING -> { + } + BottomSheetBehavior.STATE_SETTLING -> { + arrowImageView.setImageResource(R.drawable.icn_chevron_up) + } + BottomSheetBehavior.STATE_HALF_EXPANDED -> { + } + } + } + + override fun onSlide(bottomSheet: View, slideOffset: Float) {} + }) + + val gestureLayout = mBinding.bottomSheet.gestureLayout + gestureLayout.viewTreeObserver.addOnGlobalLayoutListener { + val height: Int = gestureLayout.measuredHeight + sheetBehavior.peekHeight = height + } + } + + private fun startCamera() { + mCameraProviderFuture.addListener( + ::bindPreview, + ContextCompat.getMainExecutor(baseContext) + ) + } + + private fun bindPreview() { + val preview: Preview = Preview.Builder() + .setTargetAspectRatio(CAMERA_ASPECT_RATIO) + .setTargetRotation(CAMERA_ROTATION) + .build() + + val cameraSelector: CameraSelector = CameraSelector.Builder() + .requireLensFacing(CameraSelector.LENS_FACING_BACK) + .build() + + preview.setSurfaceProvider(mBinding.pvCamera.surfaceProvider) + + val imageAnalysis = ImageAnalysis.Builder() + .setTargetAspectRatio(CAMERA_ASPECT_RATIO) + .setTargetRotation(CAMERA_ROTATION) + .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) + .build() + + imageAnalysis.setAnalyzer( + ContextCompat.getMainExecutor(baseContext), + this::analyzeImage + ) + + val cameraProvider: ProcessCameraProvider = mCameraProviderFuture.get() + cameraProvider.bindToLifecycle( + this as LifecycleOwner, + cameraSelector, + imageAnalysis, + preview + ) + } + + @SuppressLint("UnsafeOptInUsageError") + private fun analyzeImage(image: ImageProxy) = lifecycleScope.launch(Dispatchers.Default) { + image.use { + val bitmap: Bitmap + val conversionTime = measureTimeMillis { + if (mImageConverter == null) { + Log.v(TAG, "Image size : ${image.width}x${image.height}") + mImageConverter = ImageToBitmapConverter(baseContext, image.image!!) + } + + withContext(Dispatchers.Main) { + @SuppressLint("SetTextI18n") + mBinding.bottomSheet.frameInfo.text = "${image.width}x${image.height}" + } + bitmap = mImageConverter!!.imageToBitmap(image.image!!) + } + Log.v(TAG, "Conversion time : $conversionTime ms") + + val detectionTime: Long = mDetectionProcessor!!.processImage(bitmap) + Log.v(TAG, "Detection time : $detectionTime ms") + val processingTime = conversionTime + detectionTime + Log.v(TAG, "Analysis time : $processingTime ms") + + withContext(Dispatchers.Main) { + @SuppressLint("SetTextI18n") + mBinding.bottomSheet.timeInfo.text = "$detectionTime ms" + } + } + } +} diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/MainActivity.kt b/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/MainActivity.kt new file mode 100644 index 00000000..1cf36ff7 --- /dev/null +++ b/android/app/src/main/java/org/tensorflow/lite/examples/detector/activities/MainActivity.kt @@ -0,0 +1,125 @@ +package org.tensorflow.lite.examples.detector.activities + +import android.content.Intent +import android.graphics.* +import android.os.Bundle +import android.util.Log +import android.view.Surface +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.lifecycle.lifecycleScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import org.tensorflow.lite.examples.detector.Detector +import org.tensorflow.lite.examples.detector.DetectorFactory +import org.tensorflow.lite.examples.detector.databinding.ActivityMainBinding +import org.tensorflow.lite.examples.detector.enums.DetectionModel +import org.tensorflow.lite.examples.detector.helpers.DetectionProcessor +import org.tensorflow.lite.examples.detector.utils.ImageUtils +import java.io.IOException + +open class MainActivity : AppCompatActivity() { + + companion object { + const val TAG: String = "MainActivity" + + const val MINIMUM_SCORE: Float = 0.5f + + val DETECTION_MODEL: DetectionModel = DetectionModel.YOLO_V4_416_FP32 + + /* + * For some reason you have to use Surface.ROTATION_270 here + */ + const val DEVICE_ROTATION: Int = Surface.ROTATION_270 + } + + private lateinit var mBinding: ActivityMainBinding + + private lateinit var mDetector: Detector + private var mDetectionProcessor: DetectionProcessor? = null + + private lateinit var sourceBitmap: Bitmap + private lateinit var cropBitmap: Bitmap + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + mBinding = ActivityMainBinding.inflate(layoutInflater) + setContentView(mBinding.root) + + sourceBitmap = assets.open("kite.jpg").use { inputStream -> + BitmapFactory.decodeStream(inputStream) + } + + cropBitmap = processBitmap(sourceBitmap, DETECTION_MODEL.inputSize) + mBinding.imageView.setImageBitmap(cropBitmap) + + setUpDetector() + lifecycleScope.launch(Dispatchers.Main) { + setUpDetectionProcessor() + } + + setUpListeners() + } + + + private fun setUpDetector() { + try { + mDetector = DetectorFactory.createDetector(assets, DETECTION_MODEL, MINIMUM_SCORE) + } catch (e: IOException) { + Log.e(TAG, "Exception initializing classifier!") + Log.e(TAG, e.stackTraceToString()) + val toast: Toast = Toast.makeText( + baseContext, "Classifier could not be initialized", Toast.LENGTH_SHORT + ) + toast.show() + finish() + } + } + + private suspend fun setUpDetectionProcessor() { + while (mBinding.imageView.width == 0) { + delay(200) + } + + mDetectionProcessor = DetectionProcessor( + context = baseContext, + detector = mDetector, + trackingOverlay = mBinding.trackingOverlay, + ) + + mDetectionProcessor!!.initializeTrackingLayout( + mBinding.imageView.width, + mBinding.imageView.height, + mDetector.getDetectionModel().inputSize, + DEVICE_ROTATION + ) + } + + private fun setUpListeners() { + mBinding.cameraButton.setOnClickListener { + val intent = Intent(applicationContext, DetectorActivity::class.java) + startActivity(intent) + } + + mBinding.detectButton.setOnClickListener { + lifecycleScope.launch(Dispatchers.Default) { + mDetectionProcessor?.processImage(cropBitmap) + } + } + } + + private fun processBitmap(source: Bitmap, size: Int): Bitmap { + val croppedBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888) + val frameToCropTransformations = + ImageUtils.getTransformationMatrix(source.width, source.height, size, size, 0) + + val cropToFrameTransformations = Matrix() + frameToCropTransformations.invert(cropToFrameTransformations) + + val canvas = Canvas(croppedBitmap) + canvas.drawBitmap(source, frameToCropTransformations, null) + + return croppedBitmap + } +} \ No newline at end of file diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detector/helpers/DetectionProcessor.kt b/android/app/src/main/java/org/tensorflow/lite/examples/detector/helpers/DetectionProcessor.kt new file mode 100644 index 00000000..b944f855 --- /dev/null +++ b/android/app/src/main/java/org/tensorflow/lite/examples/detector/helpers/DetectionProcessor.kt @@ -0,0 +1,88 @@ +package org.tensorflow.lite.examples.detector.helpers + +import android.content.Context +import android.graphics.* +import android.util.DisplayMetrics +import android.util.Log +import org.tensorflow.lite.examples.detector.Detector +import org.tensorflow.lite.examples.detector.utils.ImageUtils +import org.tensorflow.lite.examples.detector.visualization.MultiBoxTracker +import org.tensorflow.lite.examples.detector.visualization.TrackingOverlayView +import kotlin.system.measureTimeMillis + +class DetectionProcessor( + context: Context, + private var detector: Detector, + private var trackingOverlay: TrackingOverlayView +) { + private companion object { + const val TAG: String = "DetectionProcessor" + + const val SHOW_SCORE: Boolean = true + } + + private val mDisplayMetrics: DisplayMetrics = context.resources.displayMetrics + + private lateinit var mTracker: MultiBoxTracker + private var mCroppedBitmap: Bitmap? = null + private var mCropToFrameTransform: Matrix? = null + + private val mPaint: Paint = Paint().also { + it.color = Color.RED + it.style = Paint.Style.STROKE + it.strokeWidth = 2.0f + } + + fun initializeTrackingLayout( + previewWidth: Int, + previewHeight: Int, + cropSize: Int, + rotation: Int + ) { + Log.i(TAG, "Camera orientation relative to screen canvas : $rotation") + Log.i(TAG, "Initializing with size ${previewWidth}x${previewHeight}") + + mCroppedBitmap = Bitmap.createBitmap(cropSize, cropSize, Bitmap.Config.ARGB_8888) + + mCropToFrameTransform = ImageUtils.getTransformationMatrix( + srcWidth = cropSize, + srcHeight = cropSize, + dstWidth = previewWidth, + dstHeight = previewHeight, + rotation = ((rotation + 3) % 4) * 90 + ) + + mTracker = MultiBoxTracker( + mDisplayMetrics, + previewWidth, + previewHeight, + ((rotation + 1) % 4) * 90, + showScore = SHOW_SCORE + ) + trackingOverlay.setTracker(mTracker) + } + + fun processImage(bitmap: Bitmap): Long { + Log.v(TAG, "Running detection on image") + val detections: List + val detectionTime: Long = measureTimeMillis { + detections = detector.runDetection(bitmap) + } + + Log.v(TAG, "Recognized objects : ${detections.size}") + val cropCopyBitmap: Bitmap = Bitmap.createBitmap(mCroppedBitmap!!) + val canvas = Canvas(cropCopyBitmap) + + for (detection in detections) { + val boundingBox: RectF = detection.boundingBox + canvas.drawRect(boundingBox, mPaint) + mCropToFrameTransform!!.mapRect(boundingBox) + } + + mTracker.trackResults(detections) + trackingOverlay.postInvalidate() + + return detectionTime + } + +} \ No newline at end of file diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher.png b/android/app/src/main/res/drawable-hdpi/ic_launcher.png deleted file mode 100755 index de511b0c4372645defcbc715c416a9c31bcf0828..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1411 zcmV-}1$_F6P)bUZvih_g>$r>YjU&FE1SvsUl2Fnk zWJ}a~C}kJQd7g-()gj0=K}1gwF$9g0ar`SOTt!x@Ju%H#TN-gY5oso-pmxUu^*RI% zIs}c8amBBaMu(KJQ21gxv4k{XL>lm?lG9`eYPBbbMDL(ML(&LrK`D|Z8GJ4|oFM%C z5GQ7CxeVu0%y)c>G>}G3vmr^zu?1;KGdw|xlqrei@VXSSdpL3~#r|?J-r-XyhiEa; z6BK>K20*MOZB39OqsfvS$>Ra3U?ZPmwv~(U1QEGJqa{g$A&5|r!oI~c-4PQ+%n2e| zkaf%qL5hE*hyq0|i^&RwtST4cIwDHW#fBV0ImD3DtcVumnjj^|Jwb}JCOeIw0x2qf zk}@un8!;c^3WY2p=c9-GE*C&7K}1cDwSyv$So90ULH7=FA2CueB$Y@RAIar7LIkr_ za{RdTEeQe5o3#q4XoZ5CfBMlET32e~KcifRiY&I!6C;)t1&+_zZtd$AFh zAjgs>&I!6A&Iz)Pm}5yd<8Shpa|cEDK~WR*n|;J4dxFk}7Gy}e&@n-#pe8&dt=NEq zKCrI&ne2lsK`EptWIxJz&pcwpzUIp@9xVepxF8#CCCoNY(+6oDnUg{P;A#cv6l2B(tyoi#S#=lA7lx#tKJe0rKpdj81pSg zgpy1-?@`YFaKsW6Umui0MC2~aFJ-ilUngUNex{&Hr5W?W9ZOJbeNYNFPV|i@Wvom& z*TuDi{-vBNDQ9`O;}jHgAM}i5u^lED%GrTDUp+zR;x>xe8qskIioFlY;9qi$l(Eu; z{}gofRN&&50VNN<+Gn+{;&n1j4&hfSoAlIXyvF z!E5~YK`H0E^&$=@J@6R+eUK6qVEp$%btWjrKFBR7>4W@FQ22e2e?fuwLH-2=-Us;? z6nG!xUr_LUkbglz_d)(ADEL0ezo4-Dp!yK>N^E^l8XdJSD1`+nr=4M0bkGUZ%1OMTD?ev(oBPbu{p>BM#v^UMtPLH|%rS#nqobst@5QOcp@qsTsJ2#=7> zF%=_&n2%x_r3XJ-6EuK#C}tld0Vro#N;*y7db3l|X%sa#k|arzBuSF#61PMcj~m5xS5NQ-xSl2WoyFM2a=fSiUtt;6unJ#?KYSs+6srX# zK$?L5k`h$Qmafjb5w`0dO>9y1jp8)S~i75OI6R|l$1pjOn025e&^ehg&MsSjZW zz86~sB|!-&ydzL_kwBFrP<4?&z0oLIu#D~axc|bZ<3pxk3DZEPi%cV$4wU&iVBs4~ zph>hun8hxh9Fag30%^F9Gm|uEpe4m?dd?X3ABn1oD!`Pc^L7Q!al?y zXc4C*L8chK4&=tV10I1U(QE>3qC<4zAiI&y@wg?n@c-dk{*MEK94aKxcL$;saCV^1 z9U(_RuuJq}qa>b*Uf^G}N`f3>m;h6v7$Ns-w94H9!xd=u2y}{WV-((xUEqI5Ale-$ zieiN7`q+VXqf>MxB;brtib+Vo=6{tq>KUPEmw1!H?_|^EcEALBlHGv}?3KVjY{3l@ z*cl0*7uOQcRKU9xzLG6CA^KS$1*as?q|o=nDk6{*zW}Th_$7s()}JFZPhsDLQ`P|r z+kse~#1e2y!9Nx&E?MG)Ixr0D75*Fe%ijSL@co$ccffN~bmC8TVNd)W&~t!8F^sji z37(31g!~=Y&n5*`V0el>xK9EN?8T{A1-|5v=pN$=ze`*)LNPyyo3N6t_yqof1YYM@ zJcneKy92S`1KtPO47TAF1Xd=H;632}7COoCxG_+H#P0#;Njx661S*i^dq4uXJy3z9 z-vc9YXP^Q}zXwL)p0F;ly90CCfL|4U=Oy=mzW;+4i02-#C$WOx#b%T#{Bc3{;=w=# z61WE>aG}_VXW51cb_)k5kib14fdQ^W?}2a#lPp)Qu - - - - - - - - - - diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher.png deleted file mode 100755 index aa1311bc49af57654b2445ab2d428f0191897f77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3025 zcmXw52{@G78#hb7Sz>0Gh{hP%Q?`&{nm$WJ(PT??Cy6YjvNK&SW689Q(SoG$QRJ4o z6e?G4ktMg7Y+czh6Jtpl`x5@6=lMU+S>E?Ozjt}gd(L^!C5Ee`97Yu*BO@c{w9np6 zI`h^$N>)0G9fU7rWU$#z_BI}|uy1cnU{YZ%W%)s6z2S)tDJ>)OR{N} zp2}aXo@v2teYsA5uB0v}s9aM~G4ML9WEwM6m-UEmy_!vp$m^6iF;N&SQ^wZxi?3=( zd!b)p=1EPWMdAL2qw%^HBXc}CEwZX{7-~qn%od1nDCr^+9l$aN_D)nVy>cW+0M;eQ zB(XLR{zSj|hwYh@^d3gQmAdMlI26aoN}3Cx&AI&>HNJUt9Mvd#77Pz_xU6^bmArq_ zD`Q(_QZ)1mIr!T(Mp0;$h%K^_Y#NS@v${W^*p{587L@z=lQ!oo6B$W@ht(jqsot&&Y1SHBOX3eYZ`E8{C%nNfes5|%9`KGbF8 z&~t|pNdy$?SQKXPuk?v3ct;@Z!s(3f+&l_snJF|$OZkb3pmoB!tD0lO!AeiZx6!ZY zMUff4@Cm~!kt?xz^oueQilfKpgphJOYkWA(i@@Lp8C0T|4j&jn*9HE3QtpdwfOUf@ntGgc5EBD&rUCf!k?tT>l2l{Hp60ZyhT=XjPMtzF!(2|d z{#8b|!VhkM1JKbn5ux?_&j7zW57@YjO zU@OzOKVO;ffsLZn`^j^5*1PYCueMJQ3G4%&jt#Ief0fzNIKgc6?t9$}yeF^;C)ynE z`S_c+(?AN9KZSf+Yfy3$K2fj?4*BHoXskPu3%b8E3ow2p@;g3x&1m$xfdATWe(TL+ zLIWhxOTJj6U|u_z-QwOvn8;iPS(hps65VLjf_GYgf5hiJ9$z^h%boNQDUUvsc)7go ziL}ZQnWWv&#XIlWno}ov>G&OSWJQ75%O-K(xHsu)j6RpZcFTNb#(q0_B{Hm*1#snR z2d@%&RB~QWFWU`FMR%~5!A*+AQwHxz2TjL0rI686o!*iGYsLsXW$Hjuw{E{Ml$72| zJorIjBGz)hVzK)?dn{{&C>5m-#gYWoP`hyDv#NUMt$b!`qu~#wKHdHjpYV$!8*Wp$ zJr$ZV*uJ-8aT&aWg`Is~ZNJN*!#Msu!PmyI5tzwbcxWhl>a3)6jx*ShGOdzQfkMr~ zX1~#S>uLAkG-6<|$xmyj(crtiY|auBfhR zdxva#G)g?rA@Mq;_xb4(XDLBl&(Xgyv6+x>LUD{7-@UfhU=5L4k0~^Y+6RfsBSgW% z01!^2kBdyC+2lUB2a|62UHEBC@XyKh)7-ve9>PUN!jI&D`cUm8n5iQORd14bOJ+}T zbzL;Zg~)A_;Ozc#xp_8YS3K{yZ`aJGE{Pgy7F#Y&N?kmZbJ*LCmYOK|lqe9!K!bDv zcU51rzI{=xNutGq7wUHi>Ax&498hd(TNTA#AmXPK`ljeS5mhy9et|Cdr>75amVD(X zU3Ud$bRsNMTNg6t*&Ol4q}$w#C$)?B$OAytrhHmnsC-C*dT}*^noF*(#axM8UIqp8 zXi+r&YvKi#dXU@m6ppwpWoNC^j!DEO_*f4zoYu8U7bINz`i?PmufHD%2QBi)MeP%l z2x;gmM+)3QDM@Gviwz9vs)ydfW~b>qL~~Kpo|b`%zi~H(l1nwn6ff9aCs3U;R3+Q- z9yTkXGcbBsrg71X+iLv2zn8(?%YLV&S*7IW8ApAG-=ac)tozyf+e?oAW9=OGqy50x z8-tRScxZ(qyv;C&j}68{ONrk~=34X*v}th)Vty5~*yGZww&hyI+38>@PmO2@i1s|? z-=C&v9>O>JqmMh%LE0A)c!8|v$5xmE|CwL-7@)OT*(`~sqJz6hVW{&0yX@ zpX}wUfSMcNsUHy6UVt*`rz8ElCmLoBHW(OCHg7%{(k?z7dJJ15|;IW+4tUayf8cLxFotl3Bhd*SP2E)d+%3t)EqNYqdI&)$NV?PMN z#fbRyeZO0L`&rx=Qvav}J)PtRAptgqkDJjc!8UJl4#gKQEP`1hHRN4bo0m3ddAO&k z`iQ!{)$@4~b_lL*iSp=_u20L4TF#!>ZjFa~m zkAwaMAEzjgkPoBjjK7O!EBPMy;?IlV;ou7ltC|dNaU5jv0qNYBC5dVQs%)Pn9!0M^ zm{=FfJ2$Eow@5=de}>7`ML%XD&^M5ClD-WQvs5C%Mq_VK=> z1k)DEdq`?Z>!t4^Iv23bS-UZpS`q9N1656fTQpi8YrZlnao?XT^jlyAniISL1LRW3i)rxe(T{NLLto+`12ghpj+!m!>oS0&-MSy0Zd$9O zSVf}Q@c#KVyXxEj6?ICLi%-z;S!307lawu&&b&ZqANm*v?XS=mR$DWGqdjVRmzswW zeUJ$u*k>U>M)~L`HN9Jo7mDJ2N4+VN*!>M~ zmXEiolAg!9QlivW6AOYYabKm{;ZhM5M=j#x($t7jqgIGotx|hSs4802s8LG9t}3ljrAAdtsnKDT2&vI( ztqxIpl-heMZ~FVa?|<+8e4cxs=X38l=bn4d_?{=p{IVe{Ob`YD09cKU^eq4YAe{d0 z!~~`H!0hFI0D#xsSYOvFlwpag$O#aKgRAT8vkS|)?Eb`pYG>pp8R-lE-`4XgKP+TB zSDUIBTipm|2*6K(iN371?;4zA|G64`!o1T z_f4sHVgH#b3EgE8HCFJvE=%< zEs5f3Y?6sDzzg`?Q5LKUNBb4iJAZ0n)=h-DYPkzX@TfT#U2^&#HIAwKX3duo3Fm7+ay)!ANM=*=w_BCuFVcwJdy*B-a-}C22we+!=026eQwYC zKbRyYCZ@88+&QH}9dkA`3=r`FRCRv&0w-LoTHLlR#Caj6{Fa=B`OmRi-QE!<4Wc`#@zKjJSI*qL|J|l2Oropqa~VeS3GCjf6pQj?Q!H#iPVI_PC|S5w}(E3Nz(v1tuK|L$fs5f8`a1srKaB{=Ln)7AOJ9fp}Hd zhS7X`x7#@wC)T*qqryJdyifLBJ)W(JS`xO;$6I;-uEqZBI+gZAMS{;bV6e`9K8l z2gD9UU?Y)OT7r8Mjwt4tfrv)KY({@J+g+9WN2+}s1xw| zDyF%8fAFBStDQ9@1Rw?BpE={}6A-?vA-dA5G~mBa9t^(xH)gBJyA1P=O}276l>gA1 zQKz*lGbq2c?EM`?LmMn(LS581cTdZp@_AKBncs@6q;A+DW{ccf#*Xv#b=6){hs~ht zY);B^gLQ-#j~vgipFoNOE^g1Xc9?!(bb<3Q0&xo;tUnWx11r5v^@0f~&DXW9C7=|i zdN6dP-;10&1d?vKcSYEC@LlP+svcBQ&dOwFQ(Dv^85+O1>b-l?a2`Yj$+<_7rj>mg z>sU%3FUI1-r?sA9E4e~@e+Am%nI;(_PY=W(=$Fc7$4+rbot^hs7!t?D5oqLA5-Jvd z)UU8xdlIx@oig=V=lDH;Bp#7JR1fJ~=GDF-z-uXs!PAO(OiK;s*qr5rU6TvjLK43w zHK~j-O7e5g6%C6nwV&AB#4}lieotn#=V7MKxZRkn>85+SBxa^3^*dANX{YD8X20(! z9{Ha{DOsRR;~0*bQMbpBN!VM?d(DR@8ofl~6&n-}B38qxIpJ5w$>S>-r4;dzWgl}M zr-|+nxo;P_^!SS1-py6TP$r~|)#pH63~1fdDmfnkJGEyO8Fu)!-=aRQ{HgtAhlIia z3NDLx7W0Ki?Q(dAYC+7ztfhZ_pWs28!YIJ1m5Ui(&y99DM>|pFzG&!rt}b9<*x#14 z{;SzV?KegI0jKItk5(#sJvRGd|I9#5_SuK}B4>hmK7#wedL&B^hQPC!)YMN|b=rN? zQtSEjm{9p9dV%GxXtX+t8EmBRWo@ZLE+u*G0sjXdAaCFgk;#^X>3fDQy)q{B*wMBA zIbklR>58U`>fPpqxma=I$wjjNh;$_i!-7Rn}j+J307YQe&r}+t*$&F zqB!|I#rZF+#1c`VsmCi;Hc3PRVS8)PsMFc<8*E1WjUEx(CKG!Q6WNK2yl_VNkYDtU zQn3slVvEQyeEs6wBn+6wvM${02SrP1UVWm2Dtb&6hZ{3J75zJz7*pIjiYAsmd>$Nv z9K8VJ&~%HMkicA5sAqV*U&Rie|EgQa5xSaWYGqo;BR@9kt^d`yRWk>ih805i7b&dv zN)plOD$zSDI(>Y%N2tr(EuE!_uh`+atUCFZg7Fg%)#hqoBr(33pM4YO=Q)2y2tfkk z=%}OiB;x3-0k2+UtC5!mULnQXNUz`Nl`xUPv>4MQUWgf3^cFO~z*>&aXDsIMQaReN z$m&>q%imE@j=hCnAqHvBOGJDn+gJxyiMVvJTJH%=8IW&)oMN1ZFSXvMvd zdSl{t!9@zmYK*OJtKRffuRjInbqa-Z9z)!fro{ zKw$rD*)g$hpqbU+NM5K8hSF1T|2yUt&jF=SjLQF!Y@6xl zvuR@gYoTf14vAMr%ax*JdU8H)mR0&3Y&Hf??UJq}_HFv(PKz^Iiy%}M@1lkXv8lH4 z1?7{SM7qqJS?z?@l3UzNywKB_y&n+T{-ah0gG{|`;!B0e?&mdOVPS4VAY6?oTxRf8 za};UI;jvt=k)-#){N6zNpc1T_V$QLzQEpvH0aVTjJ(pbEKs6ZtiFTKjd*D6krB- zkWYo0@yimlJV@%rc@R14$tQ_q z(V5RcTw+#sXhV{a+whIZ98Y2^v3~!1Q|-56DmqD$OnKh zArQnKzm~Z-*BY{oB{;QYDHo883saoz>7dCxpeWZ&y)ORt`0KM#v%}3tWqw&85E>pu zBlnbApx&~L14+HXLN|ZNlj?os<{>64q$@8dcp}5sEJR%5La#2F^2Rjm_@2LLww6^_ zk~Ly1?>z;N;|jdd>cNI9Yy|jlkej!AR%`RWi2Z%mrw!ML>I;8(rKFGDILHB?7|oV> zjHrTo{00Vh{~g8Z_R}#Js4?`c1y`@*p!zmTN*jJmpQgB{K>*VXMt?UG2Cl7zjTU!< zQUEwfKEw_OBH!gekOlrb{n$5?NLkA(_@Io!DC_i;>Xm}1k*38bFVrtr=>bWAGn{SO zv2X7hp2>JDhuO1OXh-JrYw;tDlV8)!Tk5d8R$s|-$Qwoyu{ufVXkO7bvJvz;1a4fx zvr1iCGIIs;ygN)?l>^6*`|UyKUN3^^6QZXAm#uc=6)mJoX@clekLR4{zW1xv41AQK z07+&`pJ^)VcTzGwZn}-b3}U*lN$%9!{vJFA=h;y|yuJf*`yn~+M$z0=7=1=4ZIZT*SZ`f~r+uqUdI(ry}3^p29YHR~9?_VRBtUjl5#BMn8_ zY$ppF|NUx@=eSZvbK#m$nZH7dfX%4G`O~d{AiKC$)+Zw$!`NwTno6&Wb6WQ@cRl~xAD~;naTgDT<9?_;53MI)Ot$wv9Ze#kh-<8 zE_S+ou_N-hZ_9zT__4A^ssrB0Yx6X1dc$!&G%V@GC2g0LT@GCEs#Hx-Z^F!9F<FX23iMw;^OkD0>nl`c+%B=>}U@`#%UgklN~qPm6hb zJV$KMF+P$jYJBOE#2x)}pmOfj3nViKh)PU2j!(bmH0a}h$t~C5rWPGv2l$_6)x2tt zXCw6q3OY$^wLS4Grl8>x3b01;v&j<9O>3(HaWX#iV8K_PojRP5mGwMu#9m`d(SR%A zgHgcKz87j^KpghFi_GAX4 z#iWK+PpeD+U}b2;iqRZbu|?beCWZb423d?+-30^b^EXEC&AIE`RfhcPrd@B4)|%22 z7v^qYCpAUZ+zrU}FA5)XdN`SL-_c2>yRrQ49xg?~4sU*>i5ZC&5fxyVSS_U8ItpfJ zM;4fkWthaYIR0hTRaV4csSm;$dTgbWDB1LQQYj2*pyf62cIpc?exWuo8|X6G&;hQj zs1PE*8p&Ko0qDIn)KOO3BGA7WIvD&m{>cHKCdL0)gP0+_!+6V+s9P8osavTu+1GdE zR%k)Rz2HT|EySP+%_xeEF*qHXH9Z;n`oD$CrK|(YmYHycHQ6=H)+prjYQtUQ7Z9jX zz+p(_puX<2$P0aZ=Nn7UGRHx!5S(#vI4d>`6seH4!>vka)OU=x^%MZ6|$27IM*@SphJN&}Kii_BXQ7W62M*&&3PB6#6kvRc*Z|0~()u z^ohI|hObOau<3a$NhyUn^AH)T1$D&`R~yQ5^TveoJ7rkt`b_4UeI?S9mM&#P z$YUWDXU+bzo_UrQGb{|%k==_$GS{@N4ehLOeJB!-2L9o(;o!{<*7uaN$KJSlDJRFN zzaxX6?}_WR*&ZERr<0Cm0$`$m@#xbyI?x6Iz!E|?2Bte}QK!foY#>0IewUiXUO#Vq zy+b_*AbL)U``u`TihHp_x1gBj*51};+3)~|=fRtuTkpf<0RV-I^8O*k5srN1fQ!#Q zIFjikby7l_m-)vx9e+Pkg5N3$MFIe;*+F|dy01kO7+tlf{+5DMTlk;auYdGH02A&3 ziis;Wzkl$?uekiy0|2z8ZAtTTS#JU-f0~@u;0Huk8B3r5g%|(;2Kv7N%Y|eB#4!NO e5rF?2dI0WQo?|B@Sl_=tsm2#B>sRXGWBv#F7Wy3k diff --git a/android/app/src/main/res/drawable-xxxhdpi/caret.jpg b/android/app/src/main/res/drawable-xxxhdpi/caret.jpg deleted file mode 100755 index 4229e340be3b1554d526c5ed2eee935241491812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10087 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 V8wDeWrNg5rT@v`pV9BBP{~OfRO``w+ diff --git a/android/app/src/main/res/drawable-xxxhdpi/chair.jpg b/android/app/src/main/res/drawable-xxxhdpi/chair.jpg deleted file mode 100755 index 90efe35a14b1afd31716808c28563ed40815f56b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21299 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 VXMs&f-}Ik=<`k>bC83Le|JfkX;eG%B diff --git a/android/app/src/main/res/drawable-xxxhdpi/sample_image.jpg b/android/app/src/main/res/drawable-xxxhdpi/sample_image.jpg deleted file mode 100755 index 785603e37b7c48f6d5b0185791666c256275c070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534921 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®$WvmLD{78jqCTLn)s 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
t=eMJ8AsN|~J!S*)2 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

pP<*XGbEfxa9z~C_jMjH$cd7z=8$ic_Z}i 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%0DhdD}?AsIu=k+O9f55(z#5Y*kb^ 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

Ez@crd#Y|s*MHjtgh&NdiZRv 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%0AYXp>9a>9TEdt7*@ZP@i$e8C)nTUmLg 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

Y380S8xTrQxC;Rvin-Lo^Ank)V@AOnXKE%fI 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

%@z2GfwbcFlhCk~B7C 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

*}IGi`LEjh^-1WiIE4C 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�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 #8kbzL1k7ZS?Pr0IWv|&Hg*$VX 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 diff --git a/android/app/src/main/res/drawable/ic_baseline_add.xml b/android/app/src/main/res/drawable/ic_baseline_add.xml deleted file mode 100755 index 757f4503..00000000 --- a/android/app/src/main/res/drawable/ic_baseline_add.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/android/app/src/main/res/drawable/ic_baseline_remove.xml b/android/app/src/main/res/drawable/ic_baseline_remove.xml deleted file mode 100755 index a64b853e..00000000 --- a/android/app/src/main/res/drawable/ic_baseline_remove.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100755 index d5fccc53..00000000 --- a/android/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/rectangle.xml b/android/app/src/main/res/drawable/rectangle.xml deleted file mode 100755 index b8f5d355..00000000 --- a/android/app/src/main/res/drawable/rectangle.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android/app/src/main/res/layout/activity_camera.xml b/android/app/src/main/res/layout/activity_camera.xml new file mode 100644 index 00000000..45c2768c --- /dev/null +++ b/android/app/src/main/res/layout/activity_camera.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index 3b4d2c17..3db58165 100755 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -4,14 +4,14 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".MainActivity"> + tools:context=".activities.MainActivity">