Распознавание выражений лица на Android Java с использованием Tensorflow Lite - PullRequest
2 голосов
/ 15 мая 2019

Я работаю над распознаванием выражений лица с использованием алгоритма глубокого обучения, то есть CNN, чтобы определить эмоции пользователя, такие как счастье, грусть, гнев и т. Д. Я обучил и протестировал его на python, используя предварительно обученную модель VGG-16, изменяющую три верхних слоя дотренировать мои тестовые изображения, чтобы ускорить процесс обучения, я использовал Tensorflow.Точность теста составляет 62%.Я сохранил архитектуру и вес моей модели в файле train_model.h5.

Теперь я должен реализовать это на телефоне Android.Для этого я использовал Tensorflow-Lite, так как он подходит для телефона Android.Таким образом, я преобразовал свой файл .h5 в файл .tflite, используя метод преобразователя Tensorflow lite.

Это то, что я сделал для конвертации:

from tensorflow.contrib import lite
converter=lite.TFLiteConverter.from_keras_model_file
            ("train_model.h5")
tflite_model = converter.convert()
open ("model.tflite" , "wb") .write(tflite_model)

Я успешно получил файл tflite.

Переходя к части Android, я выбрал язык Java для загрузки файла tflite ипредсказать эмоции нового имиджа.Я ознакомился с примером «классификации изображений», приведенным на веб-сайте Tensorflow-lite, но я не уверен, как его использовать.Я не знаю, как читать tflite и использовать его, чтобы предсказать вывод нового изображения и отобразить результат в приложении для Android.Пожалуйста, помогите мне с некоторыми хорошими ресурсами с объяснением

1 Ответ

0 голосов
/ 15 мая 2019

Вот хороший пост в блоге о том, как использовать модель классификации изображений TFLite на Android: https://medium.com/tensorflow/using-tensorflow-lite-on-android-9bbc9cb7d69d

То, как вы будете выполнять выводы, во многом зависит от того, как была построена модель и какие исходные данные она ожидает. Если подход, описанный в сообщении блога выше, не работает, вам придется вручную составить тензор для подачи в модель. код в этой кодовой метке делает именно это.

Другой вариант, который стоит рассмотреть, - это API обнаружения лиц в ML Kit. Он делает то, что вы ищете (хотя и не все), обнаруживая кривизну улыбки.

...