Про NTechLab все услышали в тот момент, когда демонстратор идентификационного алгоритма FindFace стал доступен в Сети — людей шокировало, что вот так просто, несколькими кликами, можно по фотографии определить сетевые координаты чуть ли не любого человека: прохожего, пассажира напротив и так далее.
Хотя путь Артёма Кухаренко по пути распознавания лиц начался задолго до этого, а наиболее значительно точкой, на самом деле, была победа в конкурсе Вашингтонского университета MegaFace — вчера компания анонсировала свой облачный SaaS-продукт FindFace.pro, которому уже сейчас сулят большое будущее.
Мы поговорили с Артёмом про алгоритмы и бизнес, а также перспективы технологий умного распознания объектов.
Артем Кухаренко получил высшее образование в МГУ им. М.В. Ломоносова, где окончил факультет вычислительной математики и кибернетики. Студентом работал в Лаборатории компьютерной графики и мультимедиа МГУ.
2013 — начал сотрудничать с лабораторией e-Lab американского университета Purdue.
2014 — Артем Кухаренко стал сотрудником Московского исследовательского центра Samsung. В это же время выступил как автор ряда научных статей по тематике нейронных сетей.
То, чем вы занимаетесь, не похоже на большинство стартапов. Что стало триггером к тому, чтобы начать делать этот проект?
Там вообще много факторов. У меня в МГУ был диплом по распознаванию лиц. В то время мы только начинали изучать нейронные сети и в основном применяли так называемые hand-crufted features – алгоритмы, например, SVM поверх LBP или HoG дескрипторов, которые возникли еще до нейронных сетей.
Потом я работал в разных компаниях. В них тогда уже начали активно применять нейронные сети. Мы поняли, что с помощью нейронных сетей можно улучшить качество работы в различных областях.
В свободное от работы время я разработал приложение, которое распознает породы собак и показал его друзьям. Они познакомили меня с инвесторами. Вместе мы придумали несколько вариантов применения технологии и поняли как на этом заработать деньги. В результате пришли к распознаванию лиц.
Кто ваши инвесторы?
Это частные лица. Теперь один из них стал сооснователем. Другие тоже близки к этому. Сейчас они уделяют проекту 25-50% своего времени.
Тогда, наверное, правильнее будет назвать их партнерами?
Да. Кроме того, подобралась классная команда инженеров-разработчиков. Изначально мы занимались разработкой втроем. Как раз тогда нам удалось придумать и реализовать алгоритм распознавания лиц, который победил на конкурсе The MegaFace Benchmark. Его проводил Вашингтонский университет. Нужно было распознавать лица в базе из 1 миллиона человек. Ранее подобные конкурсы проводились по небольшим базам, а в MegaFace все было приближено к реальным условиям.
Естественно участвовало более 100 команд со всего мира. И мы тоже отправили свой алгоритм – просто чтобы понять на каком этапе развития мы находимся. И вдруг заняли первое место. С этого момента появился очень большой интерес со стороны клиентов, инвесторов, прессы. И мы начали активно разрабатывать b2b-продукты.
FindFace появился чуть позже?
Да. Изначально мы делали поисковый движок, чтобы искать по большим массивам фотографий (до 1 миллиарда). Возможно, именно поэтому мы и заняли первое место. Точность поиска – первый важный критерий. А второй – скорость поиска. Если алгоритм будет искать за полчаса или даже за минуту, это никому особо не интересно.
Насколько вы вообще задумывались о приватности как таковой? Все уже давным-давно есть в интернете. Там нет людей, которые профессионально занимаются шпионажем. Отдавая свои фотографии Facebook, Google, VK, мы должны понимать, что в какой-то момент они будут осуществлять поиск по этим фотографиям. Какое у тебя мнение о негативных последствиях реализации алгоритмов распознавания?
Когда мы создавали алгоритм, нам, инженерам, было просто интересно сделать его эффективным. И только потом мы начали задумываться о том как правильно его применять и выпускать в виде продуктов для широкой аудитории. Но мы решили, что, когда появляются мощные технологии, люди должны о них знать. Если бы мы отдали технологию только спецслужбам, которые бы ее использовали, и никто бы о ней не знал, – это одно. А мы выложили ее в открытое пользование – это другое. Люди про нее знают и делают выводы, что выкладывать в сети, а что – нет.
Общественное мнение подстроится само, зная о существовании этой вещи.
Тем не менее, нам приходило много благодарственных писем из МВД, полиции и тд.
Наблюдая за твоим профилем в Facebook, я заметил, что после появления FindFace у тебя сменились фотографии, общий фон – случился такой «звездный час». После MegaFace пришло много заказов, клиентов. Компания начинает расти серьезными темпами или существуют структурные препятствия на пути к коммерциализации данных решений? Какие планы по поводу бизнеса?
У нас растет все очень быстро по всем направлениям. В компании около 25 человек. До нового года будет порядка 30. Нужно быстро набрать команду, «заскейлиться». Кажется, мы хорошо справляемся с этим. У нас компания разделена на три логических составляющих – бизнес-подразделение, продуктовая команда (делает конечный продукт) и лаборатория (улучшает алгоритмы, качество поиска и тд).
Сейчас у нас более 500 заявок от клиентов. В какой-то момент мы столкнулись с тем, что заказов очень много, а как такового продукта для бизнеса нет.
В каком виде это может существовать на рынке? SaaS, Black box serverside-приложение, мобильное приложение?
FindFace – это просто демонстрация нашего алгоритма. На нем деньги мы зарабатывать не планируем. Сейчас мы запускаем облачный сервис FindFace Cloud API (SaaS), он позволяет загружать фотографию и осуществлять по ней поиск.
18 октября компания NTechLab представила решение для бизнеса — продукт FindFace.Pro.Сервис востребован во многих индустриях – от социальных сетей и сервисов для знакомств до ритейла и систем безопасности.
Продукт позволяет интегрировать технологии для распознавания лиц со сторонними приложениями через «облако», говорится в описании сервиса. С его помощью можно обнаруживать лица на снимках, идентифицировать и формировать базу для дальнейшего использования.
Продукт ориентирован на магазины, казино, компании, которые занимаются организацией концертов и прочих массовых мероприятий, и другие предприятия. При заключении соглашения NTechLab зачисляет клиенту на счёт $100, на которые он может сделать 18 тысяч запросов на распознавание лица или создать галерею на 10 тысяч лиц в течение трёх месяцев.
Это применимо в ритейле: например, есть магазин и база постоянных покупателей. Кроме того, технология находит применение в банковской сфере – подтверждение платежей по селфи, авторизация.
Есть всевозможное применение в области развлечений: например, поиск похожих людей. В дейтинг-сервисах это можно использовать для модерации фотографий, так как использование чужих фото – актуальная проблема для всех социальных сетей.
Вы были на CyberCrime – это тоже один из примеров использования.
Да. Еще был проект с Alfa Future People – там много фотографов. У них был чат-бот, который показывал пользователям фото со всех мероприятий, которые тот или иной человек посетил.
Второй наш продукт – это SDK. Библиотека написана на С++, она предоставляет механизмы для детектирования лиц, построения вектора признаков, базы и поиска в этой базе. Это интересно всевозможным интеграторам, которые в свои продукты будут встраивать SDK по лицензии.
Получается, что у нас есть SaaS, SDK, а также кастомные решения для крупных проектов.
Не так давно Facebook запустил сервис проверки видео на наличие дубликатов. Каждое видео проверяется с целью выявить выкладывал его сам правообладатель или нет. У них используется технология, аналогичная вашей?
Как я понимаю, они ищут полное соответствие. А мы находим по одной фотографии не ту же самую, а набор похожих. Это может сработать в борьбе с фейковыми аккаунтами. Мы сейчас как раз общаемся с несколькими крупными социальными сетями. Они хотят встроить наш алгоритм. У них как раз проблема с поиском по большим базам фотографий. А пока у них сидит «армия» модераторов, которые это делают вручную.
Вашим целевым потребителем является государство. Им эти продукты необходимы больше всех. Но никакой политики пока не случилось с вами? Не возникнет ли проблемы, если вы будете продавать свои продукты не только в России, но и в США например?
Пока нет. У нас чисто рыночная история. Нет никаких предпочтений. Более того, мы строим глобальную компанию. Мы сделали SaaS как раз для этого. Его проще продавать во всем мире.
Что будет с NTechLab к 2020 году? Сколько будет сотрудников? Будет ли ваш офис только в Москве, или вы откроете штаб-квартиру где-нибудь в штатах?
Офис в штатах у нас будет до конца 2016 года. У нас есть план – к 2020 году встроить наш алгоритм во все камеры.
Во все видео и фотокамеры, которые выпускаются коммерчески?
Да. Но возможно, мы еще будем заниматься другими задачами: например, применение deep learning в медицине.
Это то, что сейчас Watson делает? Диагностика в основном, да?
Да. Медицина – первое, что приходит на ум. Но на следующий год нам хватит текущих задач, распознавание эмоций, пола и тд.
Как вы планируете реализовать распознавание эмоций? Тоже проводить обучение: грустный человек / веселый человек?
Да. У нас оно уже идет. Мы сейчас тестируем эту фичу. Возможно, скоро в SaaS она появится. Понятно, что там не будет такого, как в сериале Lie to me. Никакой магии не будет, но на уровне человека, который не пытается скрыть эмоции, распознавание будет происходить.
Я знаю, что технологии распознавания лиц до появления нейронных сетей строились на фиксации, определения положения некоторых точек на лице человека. Как это реализовано у вас?
Мы не пытаемся находить какие-то точки. Нейросеть получает на вход лицо целиком и правильные ответы по распознаванию: «Это Вася, это Петя, это Маша». В процессе обучения на последнем слое формируется вектор признаков, который содержит всю информацию о лице. На промежуточных слоях вычисляются важные по мнению нейронной сети признаки.
Если правильно задать структуру, на последнем слое у нас получается вектор признаков из 80 чисел.
То есть, 80 параметров, определяющих уникальность некоторого лица?
Да, 80 чисел – это менее половины килобайта. Поэтому у нас эффективно получается делать поиск по большим базам и экономично расходовать память на хранение признаков.
Какие мощности нужны для этого?
Когда сеть обучена, она может эффективно работать на обычном компьютере. Например, FindFace работает на пяти серверах Amazon EC2 – причем, не на топовых машинах. Система держит 50 запросов в секунду при поиске по базе в 250 миллионов фотографий.
А если нам нужно ее обучить?
Обучаем мы ее на GPU, потому что это лучше всего подходит для обучения нейросетей. Одно обучение на 20 миллионах фотографий идет в среднем месяц в нашем случае. Но у нас тут еще стоят сервера, на которых параллельно идет порядка 20 экспериментов.
То есть, не нужен один полный суперкомпьютер GPU, достаточно какого-то кластера?
Да.
Насколько сложнее работать с видео, чем с фото?
Видео от фотографии отличается только количество кадров. Поэтому при работе с видео увеличиваются требования к скорости алгоритма. С точки зрения обучения ничего не меняется.
SaaS, который вы запускаете, позволит работать с видео?
Нет, но SDK работает с видео. Слать в облако весь поток видео выглядит не очень разумно. Там будет модуль с детектором лиц. Поэтому для SaaS нужно выбирать кадры и по отдельности отправлять их в облако.
Насколько дорого стоит разработка подобных программных решений? Насколько цена продукта высока для потребителя?
Все зависит от проекта. SaaS на тысячу запросов стоит от $1 до $5.
Значит, это массовый продукт?
Конечно. То есть для какого-то event’a или магазина это будет стоить порядка нескольких сотен долларов в месяц. Если есть крупные индивидуальные проекты, цена будет другой.
Еще про технологии. В основе SaaS и SDK лежит один и тот же алгоритм. SDK написан на С++. Понятно почему: работает быстро и надежно. Какие еще языки, технологии вы используете?
Для обучения мы используем стандартные библиотеки – Caffe, Theano, Torch7. Пишем на Python, C++ и платформа Cuda. С помощью Cuda на GPU обучение проходит гораздо быстрее. Python нам нужен в основном для экспериментов, чтобы можно было что-то написать, попробовать. Облако тоже написано на нем, потому что это удобнее.
Какие требования вы предъявляете к программистам в R&D?
Здесь важнее не языки и технологии, а знание алгоритмов, в общем, требования к математической подготовке. Конечно, нужны какие-то знания в области machine learning и С-подобных языков.
Если говорить про продуктовую команду, то там, конечно же, нужен С++.
Фото: Александр Уткин
Вопрос про базы данных. Где это все хранится?
Если мы говорим про поисковый индекс, это наша разработка. Она позволяет меньше чем за секунду искать в больших базах данных. Это является частью продукта.
Если говорить про хранение информации о пользователях, большого значения база данных тут не имеет. Мы используем Mongo. Но там нет ничего связанного с поиском.
Много людей начали деньги предлагать после того, как вы стали известны?
Много, но мы пока еще ни у кого не взяли деньги. В ближайшее время мы закроем раунд.
Ты не так давно ездил в США. Это была твоя первая поездка?
Да.
Большой ли был интерес непосредственно к тебе? С кем ты общался? Правильно ли я понимаю, что ты там совмещал и отдых, и бизнес?
Мы ездили весной. Недавно мои партнеры ездили в США без меня. Интерес огромный: мы пообщались и с инвесторами, и с клиентами. С некоторыми из них у нас хорошие отношения, мы работаем, отправили им SDK.
С разработчиками тебе удалось пообщаться? Кого-то пригласить на работу?
Нет. Но у нас вся разработка сейчас в России, и в этом есть много плюсов, в частности, экономических. Мы будем открывать офисы в Долине, а через какое-то время – в Европе.
Комментарии (11)
Nik0lashka
19.10.2016 12:19+1На сайте компании в шапке висит медаль за первое место в конкурсе MegaFace, но на страничке результатов они на 3-4 местах. Где правда, брат?
Brotherofken
19.10.2016 12:34+3Всё просто. Возможность добавления новых результатов не закрылась в декабре 2015, а результаты Vocord и Shanghai Tech появились в таблице после завершения конкурса. Например, Vocord опубликовал свои результаты в начале сентября 2016 года.
Larsen4893
19.10.2016 21:32+2И ещё одна поправочка, недавние результаты Vocord и других компаний получены путём обучения своих алгоритмов в течении года на именно этой базе. Поэтому их результаты нельзя сравнивать с результатами компаний, проходившими свои тесты годом ранее. Если сейчас Google и NtechLab (FindFace) вновь пройдёт этот тест, то у них, скорее всего, будет 99% точности. Проще говоря, смысл этого теста в том, чтобы за определённый короткий промежуток времени, обучить свой алгоритм на новой, нигде не побывавшей базе, предварительно собранной устроителями.
mkevac
19.10.2016 18:39Если на FindFace не хотите зарабатывать, почему он платный?
Просто оплатить потраченное на эти несколько серверов в Amazon?kraidiky
19.10.2016 19:25Думаю, ещё ограничить поток желающих попробовать, обрубить поток желающих бесплатно встроить в свои процессы в виде обёртки или ещё чего, наконец не развращать потенциального пользователя мыслью, что такое можно получить и бесплатно.
ZlodeiBaal
19.10.2016 19:55Ребята молодцы, конечно. Даже не смотря на то, что MegaFace — конкурс подверженный дикому оверфиту. Классно, что получилось так выехать на DNN|CNN-волне. Плюс реально хороший алгоритм.
Другое дело, что сейчас алгоритмы такого плана становятся всё проще и проще. Могу поспорить, что года через 2-3 такой уровень уже будет в оупен сорсе доступен. Поэтому главное, чтобы уровень развития сохранялся, ресёрч продолжался. И чтобы команда не зацикливалась на одном месте.Sleuthhound
20.10.2016 10:42С чего вдруг алгоритмы становятся поще и проще? И кто будет выкладывать алгоритм приносящий деньги?
И через 2 и через 5 лет такие алгоритмы не станут опенсорсными, это никому не выгодно.
Да и в случае нейронных сетей сам алгоритм ничего не даст, нужно создать и правильно обучить сеть, а на это тратиться оооочень много времени и ресурсов.Brotherofken
20.10.2016 12:09Алгоритмы становятся если не проще, то доступнее. Более того почти все необходимые коды уже находятся в открытом доступе. Посмотрите, например, на OpenFace. Про него уже писали на хабре.
alekciy
А где можно ознакомиться с SDK?
Shapelez
Это коммерческий продукт, доступный лишь самым крупным заказчикам по индивидуальному обращению, если я всё верно понял.