Несколько недель назад видео приложения, которое превращало свернутый лист бумаги в световой меч, поднялось наверх первой страницы Reddit. InstaSaber не только прибыл вовремя, но и удовлетворил тягу всех к Звездным войнам, пока мы ждали Эпизода VIII, он также показал одну из самых плавных реализаций специально созданной нейронной сети, которую я когда-либо видел. Плюс масса удовольствия.

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

На этой неделе мы встретились с Хартом Вулери, создателем приложения и основателем / генеральным директором 2020CV, и он любезно ответил на несколько вопросов о том, как все сложилось.

Какой у вас опыт и как вам пришла в голову идея InstaSaber?

Я занимаюсь программированием с 12 лет. Я изучил QBasic, глядя на другие программы DOS, такие как Gorillas (до того, как Интернет сделал такие вещи намного проще!). После этого я продолжал изучать новые языки и программировать для развлечения или создавать веб-сайты. Я окончил Калифорнийский университет в Сан-Диего по специальности инженер-электрик, но обнаружил, что с моими навыками программирования легче устроиться на работу. Моя первая работа после колледжа была в небольшом стартапе под названием Goowy. Именно тогда я быстро понял, что быть предпринимателем - это мое призвание, и с тех пор я основал несколько компаний.

Свой путь в InstaSaber я начал с виртуальных марионеток (YoPuppet). Я использовал OpenCV, и мне было трудно заставить его работать в различных условиях освещения и фона. Тем не менее, я смог собрать небольшой посевной раунд на том, что построил. До этого у меня не было большого опыта работы с машинным обучением / CNN, но я решил, что мне нужно заняться этим, если я хочу, чтобы продукт работал хорошо. Изначально я начал тренироваться только по ключевым точкам и получил некоторые многообещающие результаты. Пытаясь перейти от 2-х точек к 3-м, я решил потренироваться на менее сложном, более однородном объекте и посмотреть, какие результаты я смогу получить. Я выбрал свернутый лист бумаги, потому что он однороден по двум измерениям. Не потребовалось много времени, чтобы осознать, что из этого получится потрясающая виртуальная сабля! Следовательно, InstaSaber :)

Как выглядит ваш технический стек и какие инструменты вы сочли полезными?

Первым делом я купил детали для создания машины среднего уровня с глубоким обучением (по сути, игровой установки). Я использую Keras / TensorFlow для обучения модели. Я создал свои собственные инструменты аннотации на Python и собрал свои собственные данные. Со стороны iOS - только библиотеки CoreML и Metal. Большая часть работы заключалась в автоматизации различных частей моего процесса.

Что было самым сложным?

TensorFlow сложен. Мне потребовалось больше времени, чтобы изучить его все тонкости, чем у любой другой библиотеки, которую я могу придумать. Кроме того, было непросто оптимизировать все для работы со скоростью 60 кадров в секунду на iPhone SE. Но на самом деле самое сложное - это попытаться стать отцом, когда вы управляете стартапом - младенцы отнимают много времени и энергии, даже когда я беру на себя меньшую часть заботы!

Что вы можете посоветовать другим разработчикам, которые хотят начать работу с машинным обучением?

Наберитесь терпения, на обучение уходит много времени. Тем не менее, вам не нужна докторская степень, чтобы использовать существующие инструменты. Имейте в виду цель, но начните с чего-нибудь простого, например CIFAR10, и продвигайтесь к желаемому результату.

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

Являясь независимой редакцией, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.