Хочу жить в такой же: как мы научились искать квартиры по фотографиям
Время на прочтение
9 мин
Количество просмотров 3.8K
Привет, Хабр!
Меня зовут Александр Красных, я тимлид команды ранжирования и рекомендаций в Циан. Мы сделали фичу, которая позволяет найти по фото похожие квартиры. Для этого нужно уметь быстро находить среди миллионов фотографий изображения, визуально похожие по стилю на входную картинку-запрос.
В статье поговорим о том, как мы решили задачу с помощью алгоритмов глубокого обучения, и расскажем, что там под капотом этой функции и как мы подружили EfficientNet с FAISS. В работе над статьей мне помогал Владимир Филипенко (@vovaf709): он изложил самые основы, чтобы текст мог понять и неспециалист.
Искать квартиры по фото мы придумали в мае на внутреннем хакатоне Циан. Идея победила, и мы запустили MVP, чтобы проверить её на наших пользователях.
Итак, вот в чём суть: пользователь загружает картинку → на нашей стороне через EfficientNet генерируется эмбеддинг → понижается размерность вектора → быстро находятся близкие векторы с помощью FAISS → извлекаются изображения.
Ничего сложного, да? А теперь давайте пройдёмся по каждому этапу в отдельности и поговорим о всех тонкостях процесса и некоторых возникших в ходе работы трудностях.
Дескриптор изображений — EfficientNet-B0 + PCA
«А при чём тут нейросети?»
Итак, задача: необходимо найти изображения, визуально похожие по стилю на входную картинку-запрос, причём достаточно быстро. Как будем решать?
Основная проблема — задача сформулирована довольно абстрактно. Непонятно, чем определяется требуемая от нас «похожесть по стилю» с математической точки зрения и как с этим работать.
На помощь приходит такая абстракция, как дескриптор — некий алгоритм, сжимающий изображение в вектор относительно небольшой размерности и при этом сохраняющий как можно больше полезной информации. Но где его взять? Ян Лекун не так давно (в исторической перспективе) придумал свёрточные нейронные сети. Они справляются с задачами компьютерного зрения и последовательно от слоя к слою «сжимают» картинку, превращая в вектор, который на последних слоях выступает своего рода инпутом для алгоритма принятия решения.
Чтобы понять это, рассмотрим некоторую классификационную нейросеть просто как чёрный ящик, о котором известно лишь то, что он последовательно применяет к изображению некоторые преобразования (слои) и на выходе сообщает нам метку (на самом деле вероятность) класса «кухня», «студия» и так далее. Причём важно помнить, что последний слой берёт результат всех предыдущих (обычно это вектор фиксированной размерности), и уже с его помощью пытается как можно более точно предсказать класс объекта. Ключевое, но не тривиальное соображение состоит в том, что для качественной работы такой нейросети ей придётся сложить в рассматриваемый вектор как можно больше полезной для предсказания информации. В связи с этим, взяв предобученную сетку и отрезав ей последний слой (или несколько последних слоёв), мы увидим, как классификационная нейросеть превращается в «умный» дескриптор.
Почему мы выбрали нейросетевой дескриптор?
1. Алгоритм, хорошо решающий задачу классификации, должен обладать инвариантностью относительно изменений входной картинки, которые не меняют сути изображения. Например, фото студии, отражённое относительно вертикальной оси, повёрнутое или же зашумлённое, всё ещё остаётся снимком студии. Это априорное знание закладывается в нейросеть в процессе обучения, когда мы показываем ей картинки, преобразованные (аугментированные) соответствующим образом, а значит, оно в какой-то мере проникает и в дескриптор.
2. В связи с этим архитекторы нейронных сетей стремятся помочь им стать хоть немного инвариантными относительно описанных преобразований, и потому используют при их построении слои, вносящие это свойство на уровне самой модели. Например, max-pooling с соответствующим смещением делает сеть нечувствительной к небольшим сдвигам изображения.
3. Имеются любопытные наблюдения, свидетельствующие о том, что свёрточные нейронные сети фокусируются в большей степени на текстурах объектов, чем на их геометрических формах. А значит, информация о текстуре, или, другими словами, о стиле будет закодирована в векторе предпоследнего слоя, что нам и нужно.
Что ж, стало ясно, что эмбеддинг, построенный с помощью свёрточной модели — то, что нам нужно. Теперь расскажем непосредственно о той сетке, которую мы препарировали.
EfficientNet-B0
EfficientNet — это целое семейство свёрточных нейронных сетей, представленных в 2019 году. Несмотря на то, что сферу обработки изображений стремительно захватывают более продвинутые архитектуры, EfficientNet’ы остаются достойными моделями по соотношению качества работы и требуемого количества вычислительных ресурсов, особенно среди свёрточных сетей.
В оригинальной статье авторы попытались построить наиболее эффективную одновременно с точки зрения качества и экономии ресурсов свёрточную нейросеть и разработали эмпирические правила по масштабированию её архитектуры. Сначала они использовали neural architecture search, который нашёл оптимальную архитектуру среди указанных для некоторой задачи. По сути, этот алгоритм «умно» перебрал различные конфигурации слоёв нейронки и нашёл такую конфигурацию, которая качественно решает задачу, но при этом требует не очень много ресурсов. Собственно, её назвали EfficientNet-B0. Затем они подобрали поиском по сетке наилучшие коэффициенты для масштабирования ширины, глубины, а также разрешения входного изображения сети. Таким образом, из исходной архитектуры выросли ещё семь, имеющих разный баланс между качеством и количеством параметров.
Архитектура EfficientNet-B0 представлена на схеме. Ничего сверхъестественного она из себя не представляет: стандартный вычислительный граф из MobileNet-свёрток с линейным слоем на выходе. Но работает она на ура. За подробностями отсылаю читателя к оригинальной статье, этой и к этому сборнику, а также к полезному видео.
Модель для прода выбиралась из нескольких предобученных на ImageNet EfficientNet’ов и классических ResNet’ов. Мы прогоняли изображения квартир через сетку и с помощью асессоров визуально сравнивали, насколько похожи изображения, эмбеддинги которых близки. Лучше всех себя показал самый компактный EfficientNet-B0, имеющий всего лишь около 5,3 млн параметров. К тому же, EfficientNet-B0 уже применялся в других проектах Циан, что только добавило плюсик ему в карму. По совокупности факторов мы взяли его, а именно — реализацию из библиотеки timm. Во время разработки также пробовали конвертировать сетку в OpenVINO для ускорения инференса. Однако в итоге сошлись на том, что и timm’овских 300 мс на предсказание при использовании CPU вполне достаточно.
PCA
Сложность задачи поиска похожих векторов линейно зависит от длины вектора (нашего эмбеддинга). Главным bottleneck’ом всего пайплайна должен был стать поиск похожих векторов, так как Циан обладает довольно крупной базой изображений квартир, около 20 млн. Поэтому для ускорения этого процесса мы решили понизить размерность эмбеддингов, получаемых из EfficientNet, с 1280 до 128 с помощью PCA (метода главных компонент).
PCA как он есть
Несмотря на свою простоту, этот линейный метод понижения размерности довольно дёшев и эффективен. Его суть заключается в следующем: пусть имеется некоторый набор векторов, размерность которых мы хотим понизить. Делается предположение о том, что вся информация содержится в суммарной вариативности компонент векторов, или, иначе говоря, суммарной дисперсии. Это в общем и целом логично, так как, например, независимый от других константный признак не несёт никакой полезной информации. Тогда остаётся только найти такое линейное отображение в пространстве меньшей размерности, чтобы при действии этого отображения терялось как можно меньше дисперсии.
Данное отображение, по сути являющееся проектором на новые оси, очень элегантно можно выразить математически с помощью сингулярного (SVD) разложения матрицы, составленной из исходных векторов. Подробно об этом можно почитать здесь, посмотреть там. Ещё есть классная визуализашка с fmin.xyz с поиском главной оси, которая, надеюсь, поможет навести на правильные мысли.
Итак, EfficientNet-B0 (пред)обучен, PCA заряжен, а значит, пора наконец переходить к поиску похожих векторов.
Поиск похожих векторов с помощью FAISS
Задача поиска векторов, ближайших к вектору-запросу, востребована в различных приложениях машинного обучения, в некоторых разделах робототехники, теории кодирования и во многих других сферах. Её решают как подзадачу при рекомендации объявлений в Циан, для распознавания лиц, а классический алгоритм классификации (или его модификация для регрессии) — KNN, по сути, полностью из неё и состоит. Для точного её решения необходимо рассчитать расстояния между вектором-запросом и всеми векторами имеющегося датасета. Это стоит арифметических операций, где — размер датасета, а — размерность вектора, что в случае многомиллионных наборов данных успешно конвертируется в часы ожидания и такие же многомиллионные убытки. Поэтому лучшие умы мира активно трудятся над приближёнными решениям этой задачи в стремлении снизить время работы ценой неточности нахождения ближайших векторов. Как уже было упомянуто, наш набор данных состоит из примерно 20 млн векторов, так что данная проблема актуальна и в нашем случае.
Существует множество алгоритмов и трюков, позволяющих найти ближайшие векторы более эффективно, чем это делает наивный подсчёт. Один из них — построить inverted file индекса. Это крайне эффективный и красивый метод, идея которого заключается в следующем: давайте наделим наш набор данных иерархической структурой и сначала будем искать ближайший вектор среди векторов первого уровня, а затем спустимся на второй и продолжим поиск там, среди значительно меньшего количества объектов, отвечающих первому вектору. Геометрически мы разбиваем наш датасет на кластеры с помощью алгоритма k-means, за каждым из которых закрепляем представителя. И сначала ищем ближайшего представителя (центроид кластера), а потом опускаемся в соответствующий кластер и продолжаем поиск в нём. Прекрасное интуитивное объяснение, не скопипастить которое у нас хватило совести, можно найти здесь.
Таким образом, разбив датасет размера на кластеров, мы снизим асимптотическую сложность поиска с до , что станет весьма и весьма значительным ускорением. С учётом константы, спрятанной за O-нотацией, для нашего датасета с помощью inverted file индекса мы будем искать ближайший вектор примерно в 2000 раз быстрее! Круто! Но, конечно, такое ускорение получается не бесплатно: мы теряем в точности предсказания. Ведь не обязательно ближайший вектор будет лежать в найденном кластере, что прекрасно видно на примере:
Однако в данной задаче нам и не нужно выдавать математически строгий ответ. Ведь, как мы помним, математическая строгость осталась в главе про дескриптор.
Реализацию этого подхода мы взяли из библиотеки FAISS, разработанной Facebook AI Research. В ней можно найти имплементации и многих других методов быстрого поиска схожих векторов. Неплохие обзоры этого фреймворка можно найти здесь и тут. А если вы хотите подробнее разобраться в зоопарке существующих алгоритмов быстрого поиска, то начать стоит с этой статьи. Стоит отметить, что важное преимущество этой библиотеки — можно запускать её алгоритмы на GPU, однако нам пока эта опция не пригодилась.
К сожалению, в этом алгоритме возникла проблема пустых выдач из-за дополнительных фильтров. Дело в том, что в нашей фиче можно устанавливать фильтры, например, по стоимости квартиры. И в первичной реализации мы сначала искали изображения похожих квартир, а затем применяли настройки к соответствующим объявлениям, что порой приводило к пустому ответу. Чтобы частично решить эту проблему, мы завели не один, а несколько (по 10 бинов для каждой категории) индексов FAISS, отвечающих разным диапазонам значений величин, по которым происходит фильтрация. Это существенно улучшило выдачу, но, разумеется, панацеей не стало, так как при определённом желании установить такую комбинацию фильтров, по которой квартир в принципе может не существовать, всё ещё вполне возможно 🙂
С учётом поиска в нескольких индексах, обозначаемых в FAISS как IDMap -> IVF2048 -> Flat
, набор похожих квартир доставался за мс на CPU, что нас вполне устроило. Для актуализации индексов мы обновляем их ежедневно, что занимает около двух часов.
Внутреннее устройство
Вся фича держится на двух микросервисах. Первый отвечает за получение изображений, поступающих из новых объявлений, их обработку и дальнейшее помещение в индексы FAISS. Второй же реагирует на запросы от пользователя: берёт фото, прогоняет через EfficientNet-B0 + PCA, ищет похожие эмбеддинги с помощью FAISS и отправляет обратно соответствующие объявления, которые также проходят через постфильтрацию. Примеры работы вы можете видеть на скриншотах ниже.
Как видите, вся система неплохо справляется со своей задачей, однако, как говорится, «доверяй, но проверяй», так что рекомендуем вам потестить новую фичу уже самостоятельно в нашем мобильном приложении. К слову: фото удаляется сразу после завершения процессинга. Так что за безопасность личных данных можно не переживать 🙂
Текущие проблемы + дальнейшие планы
Эта фича уже используется в системе рекомендаций Циан.
-
Помимо важной проблемы с фильтрацией после поиска в индексе FAISS, которую мы успешно преодолели, сервис всё ещё испытывает трудности при работе с фотографиями плохого качества и низкого разрешения. У человека далеко не всегда имеется возможность сделать хороший, чёткий снимок. Причём зачастую дело не только в качестве вашей камеры, но ещё и в освещении, цветовой гамме квартиры (допустим, у вас всё белое) и других нюансах. Для решения проблемы мы трудимся над проектом по улучшению качества контента, заливаемого на Циан, в том числе с помощью нейросетевого super resolution, про который мы когда-нибудь тоже обязательно расскажем.
-
Также прямо сейчас мы учим EfficientNet-B0 выдавать похожие представления для изображений квартир со схожими стилями с помощью лосса ArcFace, чтобы адаптировать сетку под нашу задачу.
Так что желаем вам тёплых уютных квартир — пробуйте, ищите, пользуйтесь новой фичей, и будет вам счастье. Кстати, таким способом можно находить офисы и дома (ну а вдруг). Ну а если пока в этом нет необходимости, в случае чего вы знаете, где нас искать. Обнимемся в комментариях!
Рассказывает Юлия Зыкова, руководитель команды «Аудитория» в Циан.
Многие из нас хотя бы раз арендовали или покупали квартиру — и мы знаем, что найти идеальный вариант очень сложно. Чтобы отыскать ту самую «светлую и уютную с красивым видом», придётся перебрать кучу объявлений и пересмотреть тысячи фотографий, ведь стандартных фильтров часто не хватает. Мы в Циан придумали, как сделать поиски жилья быстрее, легче и интереснее.
Этой осенью в мобильном приложении Циан появился поиск по фото. Теперь можно загрузить любую фотографию или картинку из интернета — и Циан найдёт подходящие квартиры из актуальной базы объявлений.
Поиск по фото — не новая функция. Она есть у поисковиков Google и Яндекс, а ещё у AliExpress. С её помощью пользователи могут найти что-то конкретное, что они увидели в ленте новостей или в магазине. Поиск недвижимости по картинке — новый сценарий для рынка, и мы здесь первые. Расскажу, как это работает и в каких случаях это лучше стандартного поиска по фильтрам.
Вместо тысячи слов
Факторов выбора жилья много, и представления об идеальной квартире у каждого свои. Классический поиск помогает выбрать жильё по конкретным фильтрам: количество комнат и квадратов, диапазон цен и близость к метро. В такую выдачу попадают тысячи вариантов, но в «Избранное» мы добавляем далеко не все. У каждого есть такие запросы, которые поисковой системе объяснить сложно: может быть, найденная квартира оказалась недостаточно светлой или уютной, не понравился интерьер или хочется чего-то особенного, что трудно описать словами.
Такие выводы мы делаем, когда смотрим на фото, — почти всегда нам достаточно взглянуть на первые пару снимков, чтобы понять, нравится ли нам квартира.
Здесь мы предлагаем обратный сценарий: загрузить фото и найти то, что окажется похожим. Это может быть скриншот крутого интерьера из Инстаграма или ТикТок или фотография классной кухни, которую вы сделали в гостях у лучшей подруги. Варианты, которые подберёт система, можно отсортировать по стандартным фильтрам — например, выбрать желаемый район, площадь и другие параметры.
Как это работает
Сегодня в базе Циан около 20 млн фотографий — это самый важный элемент в каждом объявлении о продаже и аренде. На этапе обработки фото подключается нейросеть — она размечает каждый снимок и понимает, что на нём изображено. Например, если на нём видно кондиционер, но собственник не отметил его в объявлении, то нейросеть добавит его сама. Примерно так же это работает и в поиске по фото и картинкам. Если загрузить фото микроволновки, то приложение найдёт все квартиры с микроволновками — очевидно, их будет очень много.
Приложение умеет искать по фото подходящий стиль и дизайны, мебель и бытовую технику, вид из окна и даже желаемые планировки.
Когда я была в Питере, мне стало интересно, что приложение найдёт по фотке с соснами и заливом — и я получила варианты, которые находятся в этом же районе. По такой же схеме можно сфотографировать, например, «Москва-Сити» — система найдёт жильё в деловом центре либо офисы с окнами в пол.
Пока система неуверенно работает с фото, где много объектов. Ещё пробовала загрузить фото рыжего кресла из офиса. В выдачу в основном попали похожие кресла, но были и другие — система их добавила на случай, если пользователь ищет не конкретное кресло, а «место, где можно посидеть».
Из-за этого ожидания от поиска и реальность иногда могут не совпадать. Но надо учесть, что мы и сами не всегда понимаем, что именно нам нравится на фото какого-нибудь интерьера — скорее всего, это будет совокупность вещей, которые делают дизайн привлекательным для нас.
Как загрузить
Поиск по фотографиям в приложении Циан доступен на Android и iOS во всех городах. Чтобы загрузить свою картинку, нажмите на иконку с фотоаппаратом и лупой в строке поиска.
Перед тем, как загрузить что-то из своей галереи, мы предлагаем выбрать объявления из подборок — разделили их по стилям. Например, есть «скандинавский» и «советский», а ещё более абстрактные подборки вроде «уютные» и «светлые».
Что получилось
Мы не просто дали пользователям новый способ найти недвижимость. Эта возможность помогает нам снять с людей лишнюю нагрузку и сделать так, чтобы они получали удовольствие от каждого момента, связанного с поиском. Такая миссия сильно повлияла на наши отношения с пользователями, так что будем дальше работать в этом направлении и делиться успехами.
Интернет позволяет нам узнать много всего об окружающем мире даже без путешествий. При обыденном скроллинге новостей можно наткнуться на фотографию очень красивого места, о котором захочется узнать подробнее. Проще всего это сделать, когда снимок сопровождается информацией о локации. Но так бывает, к сожалению, не всегда. В данной статье мы расскажем вам о нескольких способах, как найти место по фото. Сначала будет упомянуто использование поисковиков от Google и Яндекс, затем – онлайн-сервисы, и ряд других вариантов. Один из них наверняка вам поможет.
Содержание
- Поисковые системы
- Google Картинки
- Яндекс Картинки
- Онлайн-сервисы
- Photo-location
- Pic2Map
- IMGonline
- Whereisthepicture
- Онлайн-карты
- GPS-координаты
- Режим просмотра улиц
- Поиск по Wikimapia
- Утилиты и приложения
- Google Lens
- Яндекс Алиса
- Фоторедактор HashPhotos
- AeroPic
- Photo EXIF editor
- Функции веб-браузера
Поисковые системы
Чтобы узнать место по фото, вам сначала нужно его сохранить к себе на телефон или компьютер. Альтернативный вариант – сделать снимок экрана и обрезать его, убрав лишние элементы (кнопки, надписи и т. д.). В первую очередь для определения мы предлагаем обратиться к привычным поисковым системам – Google и Яндекс, а точнее, к их сервисам «Картинки».
Google Картинки
Помимо привычного всем поисковика, у Гугла есть функция поиска по изображениям. Пользователь загружает любой снимок или картинку, а алгоритм ищет совпадения в Интернете. Если картинка уже попадалась на каком-либо сайте, он появится в выдаче. Сервисом «Google Картинки» можно пользоваться как на компьютере, так и на мобильном устройстве. Порядок действий в обоих случаях одинаковый.
Пошаговая инструкция:
- Откройте в браузере страницу поиска.
- Нажмите на значок в виде фотоаппарата.
- В новой форме выберите вкладку «Загрузить изображение».
- Нажмите на кнопку и добавьте фотографию через Проводник или файловый менеджер.
- Найдите нужную информацию на странице результатов. Это может быть одна из ссылок или сводка из Википедии.
Яндекс Картинки
Сервис «Яндекс Картинки» тоже окажется полезным для онлайн-поиска по фото. Работает он аналогичным образом, но поиск ведется в основном по русскоязычным ресурсам. По этой причине результаты иногда оказываются более точными.
Инструкция по использованию:
- Откройте нужную страницу сайта Yandex.
- Нажмите на иконку рядом с кнопкой «Найти».
- Затем нажмите на кнопку и добавьте снимок для поиска.
- Изучите страницу с результатами поиска. Если эта какая-то популярная местность, то информация о ней отобразится в самом верху.
Онлайн-сервисы
Поисковые системы Google и Яндекс – это онлайн-сервисы, но они предназначаются в основном для текстового поиска. Но есть такие сайты, которые лучше подходят для поиска по фотографиям. Они достают информацию о месте съемки из метаданных. Нередко это оказывается более полезными, чтобы быстро определить местоположение. Давайте с ними разбираться.
Photo-location
Файл с фотографией может хранить в себе дополнительную информацию, которая называется EXIF-данными: время и место съемки, сведения о фотоаппарате, его настройках и т. д. Сайт Photo-location смотрит, сохранена ли информация о месте съемке (GPS-данные), и показывает ее пользователю. Он может помочь, когда снимок был загружен из интернета, например, с сайта фотографа или из его профиля в социальных сетях.
Инструкция по использованию:
- Перейдите на сайт Photo-location.net.
- Нажмите на кнопку «Upload» по центру страницы.
- Загрузите снимок.
- Ознакомьтесь с полученной информацией.
Если в файл сохранено местоположение съемки, то оно отобразится в виде координат и на карте.
Pic2Map
Данный сервис работает схожим с Photo-location образом. Он анализирует метаданные изображения, и, если в них записана геолокация, он показывает их на сайте. Вот как им пользоваться:
- На сайте Pic2Map нажмите на кнопку «Select Photo Files». Ниже есть пункт «Keep photos private» для сохранения полной анонимности при использовании сервиса.
- Загрузите нужный снимок.
- Дождитесь его обработки.
Если сервис сумеет найти место съемки, то появится карта в виде спутника с открытыми координатами, отмеченными красной булавкой. Сами координаты записаны в графе «Location», а локация – в графах «Address» (адрес), «City» (город) и «Country» (страна).
IMGonline
На самом деле IMGonline – это онлайн-фоторедактор, в котором есть множество инструментов для обработки снимка. Один из них – редактор EXIF-данных, где могут храниться координаты локации. А значит, с помощью этой функции нужную информацию можно только посмотреть, ничего не редактируя. Но здесь есть важный нюанс – сервис работает только с JPG-файлами.
Если ваше фото не в формате JPG, то сначала его нужно конвертировать:
- На сайте сервиса выберите инструмент «Конвертер» на верхней панели.
- С помощью кнопки «Выберите файл» загрузите фотографию.
- Не меняя других параметров, пролистайте страницу до конца и нажмите «ОК».
- Скачайте новый JPG-файл с фотографией.
А теперь разберемся с определением геолокации JPG-файла:
- На том же сайте выберите инструмент «Редактор EXIF».
- Нажмите на пункт «Узнать EXIF онлайн».
- Нажмите на кнопку «Выберите файл» и загрузите фотографию для просмотра данных.
- Для подтверждения нажмите кнопку «ОК».
- Найдите блок «Composite…» на открывшейся странице.
- Скопируйте GPS-координаты и вставьте их в поиск на любых онлайн-картах.
Whereisthepicture
Данный сервис берет из EXIF информацию о координатах, где сделано фото, и выводит их на карте, что очень удобно. На сайте Whereisthepicture кликните по черной кнопке.
Далее, загрузите фотку и посмотрите геопозицию на карте. Лучше всего это делать в режиме спутник с максимальным приближением, чтобы узнать места поблизости.
Онлайн-карты
С помощью онлайн-карт можно найти место по фотографии, ориентируясь на косвенные признаки. Например, если вам известна страна и город, то на снимке остается посмотреть на название улицы, магазина или что-то такое.
Карты будут полезными для поиска по GPS-координатам, которые вы узнаете из EXIF-данных. У них есть достаточно полезная функция – «Панорама». Она еще называется «Режим просмотра улиц». А в конце мы упомянем сайт Wikimapia.
GPS-координаты
Все современные карты имеют функцию поиска по координатам. Достаточно ввести их в поисковую строку и нажать на кнопку подтверждения. Координаты могут записываться в нескольких видах:
- В десятичном виде:
15709, 17.35889 - В виде градусов, минут и секунд:
64°9’25.5″N 17°21’32″E - В виде градусов и десятичных минут:
64 9.425 17 21.533
Но во всех случаях сначала идет широта, а затем долгота.
Режим просмотра улиц
Бывает такое, что вам известно примерное расположение дома и маршрут до него, но не точный адрес. В таком случае пригодится функция «Панорама» или «Режим просмотра улиц». На картах Google она вызывается с помощью желтой иконки с человечком. Кликните по ней, выберите нужную улицу и просматривайте маршрут, пока не найдете нужный адрес.
Перемещаться можно кликами мышки по улицам и картам или стрелочками на клавиатуре.
В случае с Yandex Картами функция «Панорама» находится в верхней части экрана. А работает она схожим образом.
Поиск по Wikimapia
Сайт Wikimapia – тоже онлайн-карта, но с более богатой разметкой. На ней выделены практически все зоны, локации, достопримечательности, магазины и т. д. Вам достаточно навести курсор мыши на нужную область, чтобы получить подробную информацию. А в разделе «Категории» можно скрыть или отобразить различные элементы. Присутствует удобный поиск, по ключевым словам, например, «Пустырь».
Утилиты и приложения
С телефона без каких-либо проблем можно пользоваться приведенными раньше онлайн-сервисами. Но мобильные приложения в этом плане несколько более удобные, ведь изначально заточены под сенсорный экран. Именно о них мы сейчас и расскажем.
Google Lens
Также данное бесплатное приложение называется «Google Объектив». Он предлагает пользователям узнавать об окружающем мире с помощью поиска по фотографиям. Например, можно сделать снимок неизвестного цветка и быстро отыскать его название и сопутствующую информацию. А еще он подойдет и для определения геолокации.
Умный объектив есть в виде мобильного приложения для Android («Google Объектив» в магазине «Play Маркет») и для iOS («Google» в магазине «App Store»). Но в обоих случаях процедура по его использованию будет идентичной:
- В главном окне приложения выберите нужное изображение на вашем смартфоне.
- Перейдите в раздел «Поиск», если по умолчанию откроется не он.
- В списке совпадений найдите такой же или похожий снимок.
- Тапните по нему и посмотрите подробную информацию, ищите название локации или ее примерное место нахождения.
Яндекс Алиса
Умный помощник «Алиса» от компании Yandex уже встроен в «Яндекс.Браузер» на смартфонах и приложение «Яндекс», которое используется для поиска. Данная функция поможет быстро узнать, где была сделана фотография, если она опубликована на каком-либо сайте.
Проще всего при запущенном мобильном приложении произнести фразу «Алиса, поиск по фото». Это сработает, если вы вручную не отключили голосовую активацию. Но еще функция вызывается и более привычным образом:
- В «Яндекс.Браузере» на панели поиска нажмите значок, похожий на объектив фотоаппарата.
- В приложении «Яндекс» нажмите на такой же значок.
Теперь добавьте фотографию из галереи или сделайте ее прямо сейчас.
А теперь ознакомьтесь с данными, которые алгоритм разыщет в Сети.
Фоторедактор HashPhotos
HashPhotos – это фоторедактор для iPhone и iPad с возможностью просмотра EXIF-данных. Если место съемки вшито в фотографию, он его отобразит. Приложение можно бесплатно скачать через «App Store». А на Android-устройствах оно недоступно.
Инструкция по использованию:
- Запустите HashPhotos на своем устройстве.
- Теперь откройте изображение из галереи.
- В режиме просмотра свайпните от центра экрана вверх, чтобы посмотреть метаданные.
Если геоданные сохранены, то координаты отобразятся на карте снизу. Ну а если их нет, то при желании информацию можно вручную добавить.
AeroPic
Путешественников наверняка заинтересует приложение AeroPic для Android и iOS. Оно позволяет по одной фотографии узнать место, которое на ней запечатлено, и сразу же после составить маршрут: забронировать транспорт, отель и т. д. Оно полностью бесплатно и не содержит никакой рекламы.
В приветственном окошке приложения пролистайте слайды с его описанием и нажмите «Ясно-понятно».
Выдайте необходимые разрешения и загрузите фотографию. В результате отобразится информация о локации и сопутствующие данные:
- Стоимость билетов, чтобы добраться. Используется сервис Aviasales.
- Различные варианты проживания – бронирование отелей, квартир, Airbnb, коворкинг и т. д.
- Цены на еду: обед, алкоголь, кофе, кола и т. д.
На нижней панели приложения есть несколько вкладок. Изначально открывается левая правая. В ней все, что связано с деньгами.
Вкладка со звездочкой содержит в себе оценки локации от туристов, например, отношение к иностранцам, распространенность английского языка и т. д. Далее идет вкладка с полезными сведениями, с которыми обязательно стоит ознакомиться. А в конце – плюсы и минусы.
Photo EXIF editor
Как и в случае с ранее упомянутым HashPhotos, приложение Photo EXIF editor – тоже фоторедактор, но нужен для просмотра и изменения EXIF-данных. Он поможет найти место съемки, если камера имеет GPS-модуль и сохраняет такую информацию. Приложение есть как на Андроид-телефонах, так и на Айфоне. Его можно бесплатно загрузить из магазина.
При первом запуске нажмите на пункт «Фото» и выберите фотку из памяти устройства.
В результате появятся метаданные, записанные в файл. Интересующая нас информация отображается в графе «Местоположение». Зачастую это координаты.
Если нажать на них, то сразу же отобразится карта Google с соответствующей локацией. Для копирования адреса или координат нажмите на иконку с тремя точками, а затем на соответствующую надпись. Теперь вы можете их вставить и отыскать в любых других картах на телефоне.
Функции веб-браузера
Мы уже упоминали использование ассистента «Алиса» в Яндекс.Браузере. Но вот в том же Google Chrome, Mozilla Firefox и Opera он, к сожалению, недоступен. Но есть множество полезных расширений, которые пригодятся для нашей задачи. Сначала хотелось бы упомянуть плагин для просмотра EXIF-данных.
В качестве примера возьмем удобный «EXIF Viewer»:
- Страница загрузки для Google Chrome
- Страница загрузки для Mozilla Firefox
А для Opera есть аналогичное расширение «Edit this Image».
Принцип работы во всех случаях аналогичен тому, что мы описывали в разделе «Онлайн-сервисы». Вам достаточно открыть изображение с помощью расширения и посмотреть его местонахождение через данные EXIF, если эта информация была сохранена камерой.
Определяйте породу
соседской кошки, вид
растения или
малоизвестного животного,
даже если это трубкозуб
Яндекс подскажет название фильма, картины или музея, а ещё распознает знаменитость, будь то Симба
или Мик Джаггер
С поиском по фото
можно найти похожее
кресло или узнать, где
купить кроссовки
с картинки среди товаров
на Яндекс.Маркете
Разбираться в искусстве,
языках и технологиях
Яндекс определит название
музея или напомнит автора
картины
Умная камера покажет
контакты, текст или ссылку по QR-коду, а приложение Яндекс с ней — поможет
оплатить услуги ЖКХ
и получить кэшбэк в Едадиле
Распознавание текста
поможет скопировать
его в документ или
отправить в поиск,
а перевод — понять меню
в азиатском ресторане
Найти что-то похожее
или уникальное
Нашли фото красивой
квартиры в объявлении
о сдаче в аренду — проверьте,
не скопирована ли она
с других сайтов
Ищите вдохновение,
просматривая похожие
фото интерьеров, природы
или детских поделок
Подбирайте картинки
нужного размера — для
аватарки или рабочего
стола
Обнаружить ДОМ на вашем изображении онлайн бесплатно
Обнаруживает ДОМ на изображениях бесплатно на любом устройстве, с помощью современного браузера, такого как Chrome, Opera или Firefox
При поддержке aspose.com и aspose.cloud
Добавить метки
Добавить баллы
Порог: %
Цвет:
Допустимые метки:
Заблокированные метки:
Как распознать объекты на изображении
- Кликните внутри области перетаскивания файла, чтобы выбрать и загрузить файл изображения, или перетащите файл туда
- Нажмите кнопку Старт, чтобы начать процесс обнаружения объектов.
- После запуска процесса на странице появляется индикатор, отображающий ход его выполнения. После того, как все объекты будут обнаружены, изображение с результатами появится на странице.
- Обратите внимание, что исходные и получившиеся изображения не хранятся на наших серверах
Часто задаваемые вопросы
-
❓ Как я могу обнаружить объекты на изображении?
Во-первых, вам нужно добавить файл изображения: перетащить его на форму или по ней чтобы выбрать файл. Затем задайте настройки и нажмите кнопку «Старт». КАк только процесс распознавания будет завершен, полученное изображение будет отображено.
-
⏱️ Сколько времени нужно, чтобы обнаружить объекты на изображении?
Это зависит от размера входного изображения. Обычно это занимает всего несколько секунд
-
❓ Какой метод обнаружения объектов вы используете?
В настоящее время мы используем только метод Single Show Detection (SSD)
-
❓ Какие объекты вы можете обнаружить на изображениях?
-
💻 Какие форматы изображений вы поддерживаете?
Мы поддерживаем изображения форматов JPG (JPEG), J2K (JPEG-2000), BMP, TIF (TIFF), TGA, WEBP, CDR, CMX, DICOM, DJVU, DNG, EMF, GIF, ODG, OTG, PNG, SVG и WMF.
-
🛡️ Безопасно ли обнаруживать объекты с помощью бесплатного приложения Aspose.Imaging Object Detection?
Да, мы удаляем загруженные файлы сразу после завершения операции обнаружения объектов. Никто не имеет доступа к вашим файлам. Обнаружение объектов абсолютно безопасно.
Когда пользователь загружает свои файлы из сторонних сервисов, они обрабатываются таким же образом.
Единственное исключение из вышеуказанных политик возможно, когда пользователь решает поделиться своими файлами через форум, запросив бесплатную поддержку, в этом случае только наши разработчики имеют доступ к ним для анализа и решения проблемы.