Как связать модель лица ML по умолчанию в двоичном приложении? - PullRequest
0 голосов
/ 29 марта 2019

Я хочу использовать Firebase ML Vision с моделью по умолчанию для распознавания лиц.

В документации по настройке Android обсуждается загрузка модели во время установки и время обнаружения: https://firebase.google.com/docs/ml-kit/android/detect-faces#before-you-begin

Но я хочумодель в комплекте приложения / apk / app.После того, как пользователь скачал приложение из Play Store, мне нужно запустить его без каких-либо дополнительных зависимостей.Возможно ли это?

Почему в документации по установке iOS ничего не говорится о загрузке модели?https://firebase.google.com/docs/ml-kit/ios/detect-faces

Кроме того, сколько байтов является активом модели лица?

1 Ответ

0 голосов
/ 08 апреля 2019

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

Что вы можете сделать, так это найти файл модели tflite в Интернете (возможно, это открытый исходный код, и я просто не нашел его). Затем вы можете сохранить этот файл как пользовательскую модель в папке ресурсов вашего проекта Android. Пользовательские модели могут быть сохранены как непосредственно в приложении, так и на сервере Firebase.

Кроме того, вы также можете искать другие (не основанные на огне) модели обнаружения лиц tflite или создать их самостоятельно и использовать в качестве пользовательской модели. Здесь вы найдете множество моделей, которые вы можете легко использовать или переподготовить. https://www.tensorflow.org/lite/guide/hosted_models

Вероятно, самая сложная часть - получить этот файл модели. Тогда интегрировать его в FireBase должно быть так же просто, как увидеть его здесь:

FirebaseLocalModel localSource =
        new FirebaseLocalModel.Builder("my_local_model")  // Assign a name to this model
                .setAssetFilePath("my_model.tflite")
                .build();
FirebaseModelManager.getInstance().registerLocalModel(localSource);
...