Быстрая и точная обработка изображений в программном обеспечении для визуального поиска, систем компьютерного зрения — это специализация российско-американской компании Кузнеч (Kuznech), чьи разработки уже применяются, в числе прочих клиентов, социальной сетью «Одноклассники» и Depositphotos. Объяснять тот факт, что дополненная реальность чрезвычайно тесно связана с визуальным поиском, пожалуй, не нужно. Благодаря ему компьютер может узнавать людей и предметы как в виртуальной среде, так и в реальном пространстве, что играет важную роль в робототехнике и работе с графикой. Переоценить визуальный поиск нелегко, а мы с Кузнеч постараемся рассказать, как он функционирует, и для чего его применяют. Ответить на наши вопросы любезно согласились сооснователь и генеральный директор компании Михаил Погребняк, сооснователь и ведущий учёный Александр Валенсия-Кампо, разработчик систем детектирования и распознавания лиц Денис Тимошенко и руководитель по развитию Мария Жулькова.
Расскажите нам, что такое распознавание лиц? В чём заключается технология и какие возможности она предлагает?
Михаил: Это вопрос к нашим научным сотрудникам.
Александр: Под распознаванием лиц мы понимаем класс задач, включающих обнаружение лиц на фотографиях и дальнейшее установление личностей персон. В процессе установления личности наша система работает сначала в режиме идентификации – ищет похожих людей в заданной базе, а затем в режиме верификации – попарно сверяет наиболее похожих с образцом. Это позволяет достаточно быстро и качественно осуществлять поиск лиц среди большого множества персоналий.
Денис: Интерес представляют возможности как всей системы в целом, так и отдельных её модулей. Детектор лиц, как известно, используется в системах модерации контента многими крупными социальными сетями. Идентификация позволяет автоматически отмечать людей в базах фотографий – это актуально и для пользовательских альбомов, и для поисковых систем. Верификация по изображению лица может использоваться в качестве «ключа» к вашим гаджетам.
Есть ли принципиальное различие между распознаванием одушевлённых и неодушевлённых объектов?
Александр: При распознавании как одушевленных, так и неодушевленных объектов ключевыми моментами являются индивидуальность и изменчивость самих объектов. Чем ярче выражена индивидуальность объекта и чем меньше его изменчивость, тем проще осуществлять распознавание. Хорошим примером служит успешное применение нейронных сетей в распознавании номеров домов и автомобилей, а также дорожных знаков – точность решения этих задач уже почти не отличается от человеческой.
Денис: Другой вопрос – биометрия. Индивидуальные различия размываются при увеличении выборки – люди становятся похожими друг на друга, а изменчивость растёт под влиянием таких факторов, как настроение, состояние здоровья, старение, использование косметики, очков и т.д. Здесь как нигде важен выбор признаков для системы распознавания. В этой области тон, в основном, задают гибридные подходы, разрабатываются специфические алгоритмы для каждого отдельного этапа: предобработки изображений, детектирования лиц и ключевых точек, вычисления признаков, классификации.
Реализация распознавания требует наличия определённого софта, который вы разрабатываете самостоятельно. Какова специфика такой разработки?
Денис: Весь наш софт, который не виден клиенту, но который позволяет создавать наши системы компьютерного зрения – это большой набор библиотек и утилит, реализующих различные алгоритмы анализа и обработки данных: DSP, математическая статистика, вероятностные методы, нейросети. Все это написано на различных языках – Python, Java, С/C++.
Александр: Проблема, с которой мы столкнулись практически сразу – это обработка больших объёмов данных. Изображения для обучения измеряются уже миллионами, при этом каждое качественное изменение алгоритмов приводит к необходимости переобучать всю систему заново. Бывает, что экспериментальное обучение длится 2-3 дня, а провести таких тестов надо не один десяток. Ускорить этот процесс нам помогают технологии параллельных вычислений: CUDA, GRID-технологии, OpenMP. Например, в последнее время мы особенно активно используем видеокарты Nvidia для обучения детектора лиц.
Сегодня рынок становится всё более мобильным, стационарные системы постепенно сменяются планшетами и смартфонами, которые в ближайшем будущем получат камеры с распознаванием глубины сцены, вслед за ними придут смарточки, разрабатываемые множеством компаний. В Кузнеч ведутся разработки для новых платформ, или вы пока не видите объективных доказательств их эффективности?
Михаил: Это неправильный вопрос, потому что правильный вопрос звучит следующим образом: «Готовы ли вы отдавать свою технологию на сторону для того, чтобы новые платформы могли ей пользоваться?»
Мария: Мы делаем сервис, который может работать и с компьютером, и со смартфоном, и с планшетом, и очками Glass. Кузнеч предоставляет API, который позволяет поставщикам мобильных гаджетов работать с нами.
Михаил: Следующий вопрос, который есть – это вопрос бизнес-кейса, который кто-то придумывает и для которого нужна технология распознавания лиц или, возможно, технология распознавания логотипов. Собственно, если есть такие компании, которые говорят: «Нам нужно для того, чтобы всё сложилось, распознавать лица» или «Хотим искать котиков в Pinterest» — приходите к нам, мы вам дадим такую технологию. Мы готовы делиться API на коммерческой основе, будем только рады.
О бизнес-модели можем договориться. Это может быть лицензирование, может быть оплата за транзакцию, может быть revenue share. Мы открыты для переговоров.
Для дополненной реальности критически важно вовлечение во взаимодействие пользователя, поэтому распознавание лиц — часть персонализации AR-проектов. Есть ли в планах совместная работа с создателями интерфейсов дополненной реальности?
Михаил: Ну да, мы написали даже письмо в Google: «Купим у вас для тестирования четыре пары очков». Но что-то Google не откликается. Вот теперь ждём конкурентные модели.
Да, нам это всё интересно, мы с удовольствием занялись бы чем-нибудь для AR-проектов.
Александр: Тем более технология, которая в ближайшем времени будет встроена в гаджеты, аналогична Kinect, а это подразумевает наличие структурированного света и, как следствие, работает только в помещении. Наш принципиальный научный выбор — не опираться на структурированный свет, так как это расширяет рынок.
Я понимаю, что просить рассказать рецепт высокотехнологичного бизнеса — дурной тон, но в последнее время встречается всё больше ориентированных на IT отечественных компаний, и ваш пример может оказаться полезным для новичков. Расскажите, с чего начинала Кузнеч?
Михаил: Ну, как и требуется для любой компании, мы начинали с выбора названия. Название – это самое важное. «Как корабль назовёшь, так он и поплывёт». В нашем случае – поскачет.
Мария: Кстати, много вопросов о названии Кузнеч. Его не все русские-то произносят правильно, что говорить об американцах и европейцах.
Название произошло от слова «кузнечик» через откидывание суффикса. У прямокрылых три дополнительных глаза и фасеточное зрение: зрительные образы (визуальное представление реальности) в таких глазах формируются из множества точечных изображений. Сложное такое устройство.
Так что был «кузнечик» — стал «кузнеч». Как на прошлом БИТе (Кузнеч занял 2-е место на крупнейшем конкурсе информационных технологий БИТ-2012 – прим. ред.) сказал дружественный нам стартап, «каждый кузнечик – кузнец своего счастья».
Михаил: Ещё очень важно взять много денег у инвесторов, венчурных фондов и всех тех, кто просто не понимает, что он с ними прощается навсегда. Обязательно нужно открыть в Америке компанию. Очень важно первый год тусоваться по всем возможным выставкам, делать красивые презентации и постоянно выкрикивать цифры: «Миллиаааарды! Триллионы! Триллионы! Миллиарды!» Все должны понимать, что вы решаете задачу на уровне создания вечного двигателя и его помеси с машиной времени. То есть вы на машине времени полетите в прошлое или будущее, и там будете вечно двигаться.
Если серьёзно, надо сидеть и пилить. Есть несколько подходов, про один я уже сказал ранее. Теперь про тот, который имеет NPV > 0. Любой новый бизнес имеет две половины: первая половина связана с той экспертизой, которая есть у вас (с тем, что вы хотите сделать). В данном случае, если говорить о поиске изображений, то это прототип, который умеет искать копии изображений или похожие картинки.
А вторая половинка – это, собственно, поиск клиента, которому это нужно. Одного, двух, трёх… Это, с одной стороны, могут быть клиенты, которые заплатят вам какие-то деньги, а с другой стороны, вы поймете через них, что действительно нужно рынку.
Если эти две половины складываются и они примерно равны друг другу, то дальше можно о чём-то разговаривать.
А ситуация, в которой стартап делается для того, чтобы быть проданным, для того, чтобы занять нишу, для того, чтобы воспитать грамотных сотрудников… – это разновидность мелиорации. Но это не про IT, это сельское хозяйство.
Любой бизнес начинается с разговоров на кухне. Идея создать новый бизнес обязательно должна произойти именно там. Если она не пришла на кухне, значит, она должна произойти в баре. Есть две точки: это бар или кухня. И обязательно должен быть бизнес-план на салфетке. Это must. Если это произошло где-то в другом месте, то бизнес делать не надо, это чувственная иллюзия.
Мария: А команда сразу была собрана? Я ведь не с самого начала в Кузнече.
Михаил: Нет, было несколько фаундеров. Сбор команды – это всегда сложная история. Любой стартап – это как змея. Она раз в полгода или раз в год сбрасывает старую кожу, вылезает из неё, как из чулка, и на ней оказывается новая, блестящая, более симпатичная шкурка. Так и стартап, он должен постоянно обновлять свои идеи, отбрасывать те, которые не прошли проверку, формулировать новые и продолжать движение вперед.
Мария: Такая вот стартап-линька по версии Kuznech.
Через ARNext у вас есть возможность обратиться ко всему русскоязычному AR-рынку – может, пригласите к сотрудничеству или поделитесь своим взглядом на развитие информационных технологий в России?
Михаил: Приглашаем онлайн-магазины, реальный бизнес — всех, кроме американских спецслужб. Готовы распознавать лица, детектировать, искать котиков, кошечек и собачек, классифицировать объекты, искать по цветам, искать похожие, не похожие, кропы, копии и подлинники.
Мария: Мы открыты вашим предложениям. Пожалуйста, пишите, звоните, обсудим, что можем предпринять вместе.
Михаил: А динамика развития информационных технологий в России станет понятна после 16 марта (16 марта 2014 года — дата референдума по введению Крыма в состав Российской Федерации — прим. ред.). Если экономика растёт, то и ИТ растёт. Мы оказываем услуги для реального бизнеса: растут его потребности, растёт и ИТ. Будем расти как государство – будут расти информационные технологии. Будем выживать как государство – выживем. Но с потерями.
Редакция ARNext благодарит Марию Жулькову за содействие в организации интервью.