Нейронные сети на телефоне (запуск через Unity, Flutter и JS)

Я уже писал большую статью о том как запускать нейронные сети на телефонах. Точнее, статья была про разные аппаратные платформы и библиотеки выполнения нейронных сетей. Но, она абсолютно не рассматривала вопрос запуска нейронных сетей. Ведь библиотеку можно позвать из разных сред, можно из Java разрабатывая на Android studio/Eclipse/Idea. Можно на с++ модулях. Можно из JS, сделав веб-страничку (кстати, на эту тему я тоже делал ролик, а на Хабре была не моя неплохая статья на эту тему). А можно и другими способами.
В этой статье я чуть подробнее расскажу те способы которые мне нравятся и понятны.

Continue reading “Нейронные сети на телефоне (запуск через Unity, Flutter и JS)”

Детектирование объектов. Как это сделать проще всего?

Давно я ничего не публиковал. Но в последнюю неделю набросал несколько статей, которые скоро выложу + записал это видео.
Как проще всего детектировать объекты? Почему обычно что-то не будет работать? Попытался максимально кратко записать гайд и ответить на вопросы.

Caffe2

Сегодня утром пока просыпался прочитал странные заголовки про Caffe2. Помедитировал над парочкой статей с маркетинговым булшитом – и пошёл разбираться что же это всё-таки такое на самом деле. Всё же 90% текущих проектов именно на Caffe. Надо быть в курсе всё же.

Continue reading “Caffe2”

Запуск Caffe на RPi + SqueezeNet

Продолжение идеи про кормушку для синичек.

1

Фабула прошлой части: за окном стоит прозрачная кормушка. На неё смотрит камера, подключённая к Raspberri Pi. Хочу автоматическую съёмку птичек с распознаванием + с анализом того сколько. Плюс хочу чтобы кадры сохраняло, а лучшие –  мне выкладывало куда-нибудь.

Установка Caffe и разметка базы птичек внезапно прошла ударными темпами. Плюс начитал много интересной инфы. Так что решил разбить пост на две части. В текущем посте – установка Caffe на RPi + рассказы про забавную сеточку SqueezeNet. В следующем посте (будет завтра-послезавтра) – разметка базы, обучение, оптимизация архитектуры сети/сетей.

Continue reading “Запуск Caffe на RPi + SqueezeNet”

NVIDIA DIGITS

В ближайший месяцок попробую опубликовать на хабре несколько статей по DIGITS. По-моему это именно то направление куда должны двигаться все нейронные сети. “Я не хочу прогать, я хочу чтобы всё работало!”. Конечно, там пока нет многого функционала. Пока что многие трюки делать нельзя. Но уже 90% рутины, связанной с сетями фреймворк берёт на себя без единой строчки кода. Пользователю доступен набор менюшек, в которых он должен выбрать что как и зачем будет распознаваться:

Есть десятки способов загрузки данных, разные способы выгрузки-обработки-тестирования. Шик. При этом есть далеко нетривиальные решения: свёрточные сети для поиска большого числа однотипных объектов.

Библиотека dlib

*На дворе 2020 год. И уже не нужно использовать Dlib. Нигде. Вот тут я сделал популярный рассказ на что нужно переходить, что на порядок лучше и работает в любых условиях – https://youtu.be/2fnNhYCpToE
А вот тут моя краткая заметка почему для ComputerVision не читать статьи старше 3 лет – http://cv-blog.ru/?p=327

Есть одна замечательная библиотека, которая известна куда менее, чем OpenCV, но несущая в себе ряд замечательных функций + на полной OpenSource лицензии. Это Dlib. Библиотека включает в себя много чего, например: несколько реализаций SVM, несколько реализаций нейронных сетей, подборку функций матричной геометрии, подборку алгоритмов градиентного спуска, SURF|HOG.

Continue reading “Библиотека dlib”