Как остановить классификацию после первого правильного обнаружения изображения с помощью tensorflow lite Android API

#android #tensorflow #android-camera #tensorflow-lite

#Android #tensorflow #android-камера #tensorflow-lite

Вопрос:

Я имею в виду примеры из Google для обнаружения изображений tensorflow lite. : https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android/app/src/main/java/org/tensorflow/lite/examples/detection

Обратный вызов, когда камера открыта: onImageAvailable() вызывает processImage(), который вызывает панель с обнаруженным объектом и их достоверностью. Если камера остается открытой, она продолжит классифицировать объект. Есть ли способ прекратить классификацию после первого успешного обнаружения изображения? Все, о чем я могу думать, это нажать кнопку «Назад» после обнаружения первого изображения или остановить предварительный просмотр камеры. Любое другое предложение? Если есть какой-то метод из tensorflow lite, например, stop Classification() , он может сработать

Ответ №1:

Как вы можете видеть, он запускает классификацию всякий раз, когда происходит захват нового изображения.

Если вы хотите захватить только одно изображение, вам лучше использовать CaptureSession.capture() вместо CaptureSession.setRepeatingRequest() https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraConnectionFragment.java

Пожалуйста, обратитесь к документу CameraCaptureSession API. https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession