Как сделать так, чтобы обнаружение объектов тензорного потока работало быстрее на Android?
У меня есть вопрос об API обнаружения объектов Tensorflows. Я обучил модель Faster R-CNN Inception v2 со своим собственным набором данных для классификации дорожных знаков и хочу развернуть ее на Android, но API обнаружения объектов Tensorflows для Android и / или Tensorflow Lite, похоже, поддерживает только модели SSD.
Есть ли способ развернуть модель Faster R-CNN на Android? Я имею в виду, как я могу поместить свой замороженный граф вывода Faster R-CNN в Android API вместо графического вывода SSD?
1 ответ
Для моделей SSD это должно быть возможно с помощью export_tflite_ssd_graph.py
инструмент. Но:
В настоящее время поддерживаются только модели SSD. Модели, такие как rapid_rcnn, в настоящее время не поддерживаются
Смотрите это руководство для получения дополнительной информации.
Один из способов добиться этого - создать API-интерфейс flask, который будет содержать весь код для прогнозирования данного изображения и публиковать его на удаленном сервере, таком как Heroku. Вы можете вызвать API, просто преобразовав изображение в Base64 или 32 из Android и отправив его в REST API, развернутый на Heroku. API вычислит результат (вывод) и преобразует выходное изображение обратно в Base64 и отправит его обратно в приложение Android. Приложение для Android преобразует Base64 в растровое изображение и Walah! вы сделали свой прогноз. Вы можете использовать либо библиотеку HttpConnection, либо просто Retrofit для удаленных вызовов API в Android.