Как я могу добавить текст к речи в приложении для обнаружения тензорных объектов на базе Android? - PullRequest
0 голосов
/ 12 ноября 2019

Я создаю приложение, которое поможет слепым людям обнаруживать препятствия на их пути. Для этого мне нужно, чтобы приложение говорило, что имя объекта (то есть Председатель, Стол) всякий раз, когда какой-либо объект обнаружен.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2019

Цель, которую нужно достичь, связана с двумя задачами машинного обучения: (1) обнаружение объектов и фильтрация интересующих вас объектов (например, препятствий);(2) Text-To-Speech (TTS) - произнесите название этого объекта. Вам необходимо объединить их в конвейер.

Для первой задачи иногда API может работать во многих случаях, но может не распознавать все интересующие вас объекты. Это зависит от того, сколько классов объектов этот APIможет обеспечить. Другим фактором является то, что интернет-задержка вызова API может быть ограничена, если предположить, что вашему приложению необходимо обнаруживать в режиме реального времени.

Учитывая вышеизложенное, вы можете обучить свою собственную модель мобильного обнаружения и развернуть ее на Android. В Android есть пример обнаружения объекта TensorFlow Lite: https://www.tensorflow.org/lite/models/object_detection/overview. Он работает исключительно на устройстве (подключение к Интернету не требуется), так что вы можете скачать и попробовать. В этом блоге рассказывается, как обучить пользовательскую модель: https://medium.com/tensorflow/training-and-serving-a-realtime-mobile-object-detector-in-30-minutes-with-cloud-tpus-b78971cf1193.

Для второго задания TTS является относительно зрелым, поэтому обычно нет необходимости обучать свою собственную модель. Как указано в другом ответе, вы можете использовать TTS в Android SDK: https://developer.android.com/reference/android/speech/tts/TextToSpeech. Он также может работать в автономном режиме.

0 голосов
/ 12 ноября 2019

Лично я никогда раньше не работал с TensorFlow, но, если это что-то похожее на API обнаружения объектов из Firebase ML Kit, я бы сделал следующее.

Вы можете попробовать получить метки объекта вперед камерой, а затем с помощью TTS API Android, чтобы прочитать вслух строку.

Я не знаю, является ли ваше приложение Android или iOS. Я использовал TTS на Android раньше.

Вот документация: https://developer.android.com/reference/android/speech/tts/TextToSpeech

И вот демонстрационное приложение, которое я создал с использованием TTS. он читает все, что вы вводите inban EditText.

https://github.com/AlfredoBejarano/Android-Kotlin-Demos/tree/master/TextToSpeechDemo

...