Ковры и нейросети: что получается, когда программисты решают пошутить на 1 апреля
Опыт поисковика недвижимости «Лун».
Мы в «Лун» любим 1 апреля, каждый год традиционно готовим розыгрыш для пользователей сайта. До этого мы уже делали смешного бота «Чёрный риелтор» и «открывали» кафе, которое до сих пор упоминают в ресторанных каталогах.
В этом году мы подготовились основательней — для первоапрельской шутки нам пришлось написать нейросеть.
Мы поняли, что есть яркий триггер на рынке квартир, характерный для стран постсоветского пространства, — ковёр на стене. Кто из вас не сталкивался с коврами, когда пытался арендовать или купить квартиру? Так родилась идея добавить на сайт новый фильтр, который будет показывать все квартиры с коврами на стене.
И понеслось.
Протестировать ковровый поиск можно и сейчас.
Фильтр работает при помощи мультимодельной нейронной сети с последующим классификатором положения объекта в пространстве. Такой подход максимально близок к системе распознавания образов человеком. Для локализации ковра на фото были обучены две нейросети (подход Faster R-CNN): region proposal network — для генерации кандидатов и сеть для обнаружения объектов.
Затем, построив регрессор bounding box’a, получили движок для локализации ковров на фото. Оставалось научиться отличать ковёр на полу, диване и потолке от ковра на стене (ведь именно такие варианты наиболее востребованы).
С этой задачей справились благодаря каскаду классификаторов из простых деревьев принятия решений: на вход им подавались параметры изображения и выходы предыдущих сетей.
Сейчас мы правильно определяем 99% ковров на стене, а наши серверы успевают обрабатывать порядка 50 изображений в секунду, гарантируя постоянную работоспособность фильтра.
Вова Кубицкийруководитель команды AI-разработки в «Лун»
Как показывают данные Google Analytics и количество репостов и комментариев в Facebook, ковровый фильтр пришёлся по душе нашим пользователям, чему мы искренне рады.
Ремарка: «Лун» — известный в Украине поисковик недвижимости. Он собирает информацию, индексируя более 150 сайтов по недвижимости, а это около 2,5 млн объявлений. «Лун» идентифицирует и группирует одинаковые объявления с разных источников.
Классификатор и группировщик работают на основе нейросетей, которые распознают и сравнивают картинки и тексты в объявлениях. Для удобного поиска на сайте есть более 20 пользовательских фильтров, некоторые из них — тоже на основе AI и ML.
© vc.ru