Артем Кухаренко, засновник компанії 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.

Значить, це масовий продукт?

Звичайно. Тобто для якогось подієві a або магазину це буде коштувати близько декількох сотень доларів в місяць. Якщо є великі індивідуальні проекти, ціна буде іншою.



про технології. В основі SaaS і SDK лежить один і той же алгоритм. SDK написаний на С++. Зрозуміло чому: працює швидко і надійно. Які ще мови, технології ви використовуєте?

Для навчання ми використовуємо стандартні бібліотеки – Caffe, Theano, Torch7. Пишемо на Python, C++ і платформа Cuda. З допомогою Cuda на GPU навчання проходить набагато швидше. Python нам потрібен в основному для експериментів, щоб можна було щось написати, спробувати. Хмара теж написано на ньому, тому що це зручніше.

Які вимоги ви пред'являєте до програмістам в R&D?

Тут важливіше не мови і технології, а знання алгоритмів, загалом, вимоги до математичної підготовки. Звичайно, потрібні якісь знання в області machine learning і С-подібних мов.

Якщо говорити про продуктову команду, то там, звичайно ж, потрібен С++.



Питання про бази даних. Де це все зберігається?

Якщо ми говоримо про пошуковий індекс, це наша розробка. Вона дозволяє менше ніж за секунду шукати у великих базах даних. Це є частиною продукту.
Якщо говорити про зберігання інформації про користувачів, великого значення база даних тут не має. Ми використовуємо Mongo. Але там немає нічого пов'язаного з пошуком.

Багато людей почали пропонувати гроші після того, як ви стали відомі?

Багато, але ми поки ще ні в кого не взяли гроші. Найближчим часом ми закриємо раунд.

Ти не так давно їздив до США. Це була твоя перша поїздка?

Так.

Великий був інтерес безпосередньо до тебе? З ким ти спілкувався? Чи Правильно я розумію, що ти там поєднував і відпочинок, і бізнес?

Ми їздили навесні. Нещодавно мої партнери їздили в США без мене. Величезний інтерес: ми поспілкувалися і з інвесторами, і з клієнтами. З деякими з них у нас хороші стосунки, ми працюємо, відправили їм SDK.

З розробниками тобі вдалося поспілкуватися? Когось запросити на роботу?

Немає. Але у нас вся розробка зараз в Росії, і в цьому є багато плюсів, зокрема, економічних. Ми будемо відкривати офіси в Долині, а через якийсь час – в Європі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.