Артём Кухаренко, основатель компании NTechLab — о распознавании лиц, потенциале нейросетей и бизнесе



    Про 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.

    С разработчиками тебе удалось пообщаться? Кого-то пригласить на работу?

    Нет. Но у нас вся разработка сейчас в России, и в этом есть много плюсов, в частности, экономических. Мы будем открывать офисы в Долине, а через какое-то время – в Европе.
    Поделиться публикацией
    Комментарии 13
      0
      А где можно ознакомиться с SDK?
        0
        Это коммерческий продукт, доступный лишь самым крупным заказчикам по индивидуальному обращению, если я всё верно понял.
          0
          +1
          На сайте компании в шапке висит медаль за первое место в конкурсе MegaFace, но на страничке результатов они на 3-4 местах. Где правда, брат?
            +3
            Всё просто. Возможность добавления новых результатов не закрылась в декабре 2015, а результаты Vocord и Shanghai Tech появились в таблице после завершения конкурса. Например, Vocord опубликовал свои результаты в начале сентября 2016 года.
              +2
              И ещё одна поправочка, недавние результаты Vocord и других компаний получены путём обучения своих алгоритмов в течении года на именно этой базе. Поэтому их результаты нельзя сравнивать с результатами компаний, проходившими свои тесты годом ранее. Если сейчас Google и NtechLab (FindFace) вновь пройдёт этот тест, то у них, скорее всего, будет 99% точности. Проще говоря, смысл этого теста в том, чтобы за определённый короткий промежуток времени, обучить свой алгоритм на новой, нигде не побывавшей базе, предварительно собранной устроителями.
                0
                А зачем Вы пишите заведомо неправду?
            0
            Если на FindFace не хотите зарабатывать, почему он платный?
            Просто оплатить потраченное на эти несколько серверов в Amazon?
              0
              Думаю, ещё ограничить поток желающих попробовать, обрубить поток желающих бесплатно встроить в свои процессы в виде обёртки или ещё чего, наконец не развращать потенциального пользователя мыслью, что такое можно получить и бесплатно.
              0
              Ребята молодцы, конечно. Даже не смотря на то, что MegaFace — конкурс подверженный дикому оверфиту. Классно, что получилось так выехать на DNN|CNN-волне. Плюс реально хороший алгоритм.
              Другое дело, что сейчас алгоритмы такого плана становятся всё проще и проще. Могу поспорить, что года через 2-3 такой уровень уже будет в оупен сорсе доступен. Поэтому главное, чтобы уровень развития сохранялся, ресёрч продолжался. И чтобы команда не зацикливалась на одном месте.
                0
                С чего вдруг алгоритмы становятся поще и проще? И кто будет выкладывать алгоритм приносящий деньги?
                И через 2 и через 5 лет такие алгоритмы не станут опенсорсными, это никому не выгодно.
                Да и в случае нейронных сетей сам алгоритм ничего не даст, нужно создать и правильно обучить сеть, а на это тратиться оооочень много времени и ресурсов.
                  0
                  Алгоритмы становятся если не проще, то доступнее. Более того почти все необходимые коды уже находятся в открытом доступе. Посмотрите, например, на OpenFace. Про него уже писали на хабре.
                0
                что-то многовато «космоса» на их сайте. несерьёзно. отталкивает. убрать!

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое