Цель, которую нужно достичь, связана с двумя задачами машинного обучения: (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. Он также может работать в автономном режиме.