3

Я хочу создать мобильное приложение для обнаружения лиц, и я хочу сделать это с помощью регулярного Deep Learning (сверточной сети). Я буду обучать его с помощью своего компьютера и использовать подготовленные данные в мобильном приложении.Глубокое обучение распознаванию лиц на мобильном устройстве

Мой вопрос в том, что: могу ли я получить очень быстрое вычисление в телефоне regulat, таком как iPhone? Мне нужно, чтобы это было очень быстро, и менее 1 секунды можно обнаружить лицо в видео. Возможно ли это на мобильном устройстве? или эта задача требует более мощного оборудования?

Я знаю, что тренировочная фаза должна быть на мощном компьютере, но я имею в виду фазу производства на мобильном устройстве.

например, если я поместил свой телефон на улицу, он может обнаружить, что все люди сталкиваются с такой же глубокой сетью на этапе обучения?

ответ

5

Да, это возможно, но не со стандартными архитектурами CNN, необходимы некоторые изменения:

  • Один подход CNNs с двоичными весами, поэтому оценки CNN может только быть сделано с битовыми операциями. Об этом много публикаций, например this, this или this. Я видел реализацию YOLO с бинарными весами, работающими в реальном времени на iPhone, поэтому это определенно возможно.
  • Второй подход заключается в сокращении числа параметров нейронной сети, например, если вы тренируете сеть с 5000 весами и получаете эффективность обнаружения, близкую к тому, что вы хотите, тогда эта сеть может работать в режиме реального времени. Но это сложнее.
  • Третий подход - это просто оптимизировать архитектуру нейронной сети для минимизации параметров и объединить ее с очень оптимизированной реализацией. Существуют алгоритмы ускорения операций свертки, такие как L-CNN или те, что реализованы cuDNN.

Очень хороший связанный ресурс - это презентация и документы от The 1st International Workshop on Efficient Methods for Deep Neural Networks.

+0

Спасибо, мне это очень помогает – Fcoder