Google использует распределенную систему (Root/Leaf) для поиска похожих изображений (Content-Based Image Retrieval). Изображения кластеризуются в пространстве признаков, а затем поиск ближайших соседей выполняется параллельно на разных серверах. Для повышения скорости используется двухэтапный алгоритм в пространстве хешей (LSH).
Описание
Какую задачу решает
Патент решает проблему масштабирования системы поиска изображений по содержанию (Content-Based Image Retrieval, CBIR) для работы с огромными корпусами изображений и высокой частотой запросов. Основная задача — эффективно и быстро выполнять поиск ближайших соседей (nearest-neighbor search) в многомерном пространстве признаков, обеспечивая при этом модульность системы, балансировку нагрузки и отказоустойчивость инфраструктуры поиска изображений.
Что запатентовано
Запатентована распределенная архитектура поиска изображений, состоящая из корневого сервера (Root Server) и листовых серверов (Leaf Servers), в сочетании со специфическим алгоритмическим подходом. Этот подход включает кластеризацию корпуса изображений и использование локально-чувствительного хеширования (Locality-Sensitive Hashing, LSH) с двухэтапным поиском ближайших соседей для быстрого извлечения визуально похожих изображений.
Как это работает
Система работает следующим образом:
- Кластеризация (Offline): Root Server кластеризует весь корпус изображений в пространстве признаков, используя древовидную структуру (например, Spill-tree).
- Распределение (Offline): Кластеры изображений распределяются между Leaf Servers. Изображения в кластерах преобразуются в хеш-коды с помощью LSH.
- Обработка запроса (Online): Когда поступает изображение-запрос, Root Server определяет релевантные кластеры и направляет запрос соответствующим Leaf Servers.
- Двухэтапный поиск (Online): Leaf Servers выполняют быстрый приблизительный поиск ближайших соседей в пространстве хешей. На первом этапе используется только часть битов хеш-кода для быстрого отбора кандидатов. На втором этапе используются все биты для уточнения результатов среди кандидатов.
- Агрегация: Root Server объединяет результаты от Leaf Servers.
Актуальность для SEO
Средняя/Высокая. Архитектурные принципы (распределенный поиск, кластеризация, приблизительный поиск ближайших соседей) остаются фундаментальными для крупномасштабного поиска. Однако конкретные алгоритмы, описанные в патенте (например, LSH на основе пространства Хэмминга, Spill-trees), могли быть дополнены или заменены более современными методами векторного поиска, основанными на нейронных сетях и специализированных векторных базах данных. Тем не менее, описанная инфраструктура и решаемые ею задачи высоко актуальны.
Важность для SEO
Влияние на SEO низкое (3/10). Это инфраструктурный и алгоритмический патент. Он описывает механику эффективного поиска визуально похожих изображений (CBIR), а не факторы, определяющие, какие изображения считаются «лучшими» или более релевантными интенту пользователя (особенно для текстовых запросов в поиске по картинкам). Патент не дает прямых рекомендаций по оптимизации изображений для улучшения их ранжирования в стандартном поиске.
Детальный разбор
Термины и определения
- Feature Space (Пространство признаков)
- Многомерное пространство, в котором каждое измерение соответствует определенному признаку изображения (цвет, текстура и т.д.). Изображения представлены как точки или векторы в этом пространстве.
- Feature Vector (Вектор признаков)
- Набор числовых значений, характеризующих изображение в Feature Space.
- Hamming Space (Пространство Хэмминга)
- Хеш-пространство, состоящее из бинарных строк фиксированной длины. Расстояние (Hamming distance) измеряется как количество позиций, в которых биты двух строк различаются.
- Image Cluster (Кластер изображений)
- Подмножество корпуса изображений, сгруппированное на основе схожести их Feature Vectors.
- Leaf Server (Листовой сервер)
- Сервер в распределенной системе, которому назначен один или несколько Image Clusters. Отвечает за выполнение поиска ближайших соседей внутри своих кластеров.
- Locality-Sensitive Hashing (LSH) (Локально-чувствительное хеширование)
- Метод преобразования данных из Feature Space в Hash Space, при котором близкие объекты в исходном пространстве с высокой вероятностью имеют близкие хеш-значения.
- Nearest-Neighbor Search (NNS) (Поиск ближайших соседей)
- Алгоритм поиска точек в пространстве признаков, наиболее близких к заданной точке (изображению-запросу).
- Root Server (Корневой сервер)
- Центральный сервер, который управляет кластеризацией корпуса, распределением кластеров по Leaf Servers, маршрутизацией запросов и агрегацией результатов.
- Spill-tree (Дерево с перекрытием)
- Вариант метрического дерева, используемый для кластеризации, где дочерние узлы могут пересекаться (т.е. одно изображение может принадлежать нескольким кластерам). Это уменьшает ошибки при поиске без возврата (backtracking).
- Two-Stage Nearest-Neighbor Search (Двухэтапный поиск ближайших соседей)
- Оптимизация поиска в хеш-пространстве. Первый этап использует часть битов хеш-кода для быстрого отбора кандидатов. Второй этап использует все биты для точного ранжирования кандидатов.
Ключевые утверждения (Анализ Claims)
Патент US20180276250A1 является продолжением (continuation) более ранних патентов. Claim 1 в нем отменен (canceled). Анализ сосредоточен на ключевых действующих пунктах.
Claim 2 (Независимый пункт): Описывает основной процесс работы распределенной системы (роль Root Server).
- Получение изображения-запроса.
- Генерация представления (representation) запроса (например, Feature Vector).
- Идентификация нескольких кластеров изображений, соответствующих запросу.
- Идентификация нескольких поисковых серверов (Leaf Servers), соответствующих этим кластерам.
- Отправка представления запроса на эти серверы.
- Получение данных о результирующих изображениях от каждого сервера.
- Предоставление ответа на запрос на основе этих результатов.
Это описывает, как Root Server оркестрирует распределенный поиск, направляя запрос на несколько серверов для параллельной обработки.
Claim 7 (Зависимый): Детализирует процесс подготовки данных (Offline Setup).
- Получение данных об изображениях корпуса, преобразованных в многомерное Feature Space.
- Разбиение (partitioning) данных на кластеры в Feature Space.
- Назначение каждого кластера одному или нескольким серверам.
- Ключевое уточнение: разбиение основано на древовидном представлении (tree-based representation), таком как K-d tree, spill-tree, metric tree и т.д.
Claim 11 и 12 (Зависимые): Описывают механизм поиска на Leaf Servers.
Система выполняет двухэтапный поиск ближайших соседей (two-stage nearest-neighbor search) в хеш-пространстве (hash space) внутри идентифицированных кластеров (Claim 11).
Детализация двухэтапного поиска (Claim 12):
- Вычисление хеш-значения для запроса.
- Вычисление первого расстояния между запросом и каждым изображением в кластере, используя только часть (subset) всех битов их хеш-значений.
- Идентификация предварительного набора результатов на основе первых расстояний.
- Вычисление второго расстояния между запросом и изображениями из предварительного набора, используя все биты их хеш-значений.
- Идентификация финального набора результатов на основе вторых расстояний.
Это ключевой механизм оптимизации производительности, позволяющий быстро отсеять большинство изображений и точно оценить только лучших кандидатов.
Где и как применяется
Изобретение описывает инфраструктуру и алгоритмы для поиска изображений по содержанию (CBIR).
INDEXING – Индексирование и извлечение признаков
На этом этапе происходят ключевые процессы подготовки данных:
- Извлечение признаков: Изображения корпуса преобразуются в Feature Vectors.
- Кластеризация: Root Server строит древовидное представление (например, Spill-tree) для разделения корпуса на кластеры.
- Хеширование: Feature Vectors преобразуются в хеш-коды с помощью LSH (например, в Hamming Space).
- Распределение: Кластеры (в виде векторов и хеш-кодов) распределяются по Leaf Servers.
RANKING – Ранжирование (L1 Retrieval / Отбор кандидатов)
Этот патент, по сути, описывает фазу L1 (Retrieval) для CBIR. Процесс запускается при получении изображения-запроса.
- Root Server быстро определяет, какие кластеры могут содержать похожие изображения, используя древовидную структуру.
- Leaf Servers используют Two-Stage NNS в хеш-пространстве для быстрого поиска кандидатов (ближайших соседей) внутри назначенных им кластеров.
RERANKING – Переранжирование
После получения кандидатов от Leaf Servers, Root Server выполняет финальные шаги:
- Агрегация и Смешивание: Результаты объединяются.
- Фильтрация: Применяются критерии фильтрации для удаления дубликатов и неприемлемого контента.
- Финальное ранжирование: Оставшиеся результаты ранжируются с учетом меры качества (measure of quality).
Входные данные:
- Изображение-запрос (Query Image).
- Индекс корпуса изображений (Feature Vectors и Hash Values).
- Древовидная структура кластеров (на Root Server).
- Маппинг кластеров на Leaf Servers.
Выходные данные:
- Отсортированный список изображений, визуально похожих на запрос.
На что влияет
- Типы контента и форматы: Влияет на все типы изображений, которые могут быть проанализированы и преобразованы в Feature Vectors (фотографии, логотипы, штрихкоды и т.д.).
- Специфические запросы: Применяется исключительно к запросам типа «Изображение как запрос» (CBIR), например, в функциях «Поиск по картинке» (Search by Image) или «Похожие изображения» (Similar Images). Не влияет напрямую на ранжирование изображений по текстовым запросам.
Когда применяется
- Триггеры активации: Активируется, когда пользователь предоставляет изображение в качестве поискового запроса.
- Условия работы: Требует предварительно рассчитанного индекса, включающего кластеризацию и хеширование корпуса изображений.
Пошаговый алгоритм
Процесс А: Подготовка системы (Offline)
- Извлечение признаков: Преобразование всех изображений корпуса в многомерные Feature Vectors.
- Кластеризация: Генерация древовидного представления (например, Spill-tree) на Root Server. Листья дерева определяют Image Clusters.
- Распределение нагрузки: Назначение кластеров на Leaf Servers. Учитываются размер кластера и ожидаемая нагрузка. Кластеры могут дублироваться на нескольких серверах.
- Хеширование (LSH): Преобразование Feature Vectors в каждом кластере в хеш-коды (например, бинарные строки в Hamming Space). Хеш-функция может быть уникальной для каждого кластера.
- Индексация на Leaf Servers: Сохранение хеш-кодов на соответствующих Leaf Servers (например, в виде хеш-таблиц).
Процесс Б: Обработка запроса (Online)
- Получение и векторизация запроса: Root Server получает изображение-запрос и вычисляет его Feature Vector.
- Идентификация кластеров: Root Server обходит древовидную структуру, чтобы найти один или несколько листовых узлов (кластеров), к которым принадлежит запрос.
- Маршрутизация запроса: Root Server определяет, какие Leaf Servers отвечают за эти кластеры, и пересылает им запрос (вектор).
- Обработка на Leaf Server (Двухэтапный NNS):
- 4а. Хеширование запроса: Leaf Server вычисляет хеш-код запроса, используя LSH-функцию, соответствующую данному кластеру.
- 4б. Этап 1 (Быстрая фильтрация): Вычисление расстояний (например, Hamming distance) между хеш-кодом запроса и хеш-кодами всех изображений в кластере, используя только часть (proper subset) битов.
- 4в. Отбор кандидатов: Идентификация предварительного набора изображений с наименьшими расстояниями на Этапе 1.
- 4г. Этап 2 (Уточненный поиск): Вычисление расстояний для изображений из предварительного набора, используя все биты хеш-кодов.
- 4д. Формирование результата: Идентификация финального набора лучших результатов и отправка их на Root Server.
- Агрегация и Переранжирование: Root Server объединяет результаты от всех Leaf Servers. Применяет фильтры (удаление дубликатов, неприемлемого контента) и ранжирует финальный список, используя меру качества (measure of quality).
- Ответ пользователю: Предоставление финального списка результатов.
Какие данные и как использует
Данные на входе
- Мультимедиа факторы (Признаки изображений): Система использует признаки, извлеченные из пиксельных данных изображений для построения Feature Space. В патенте упоминаются:
- Цвет (color)
- Пространственное распределение цвета (spatial-color distribution)
- Форма (shape)
- Размер (size)
- Текстура (texture)
- Пространственная частота (spatial frequency)
- Интенсивность (intensity)
- Пространственное распределение интенсивности (spatial-intensity distribution)
- Поведенческие факторы: Упоминаются как возможный компонент оценки качества (quality score) при финальном ранжировании на Root Server (user-feedback).
- Системные данные:
- Feature Vectors: Многомерные представления изображений.
- Hash Values: Компактные представления (например, бинарные строки), полученные через LSH.
Какие метрики используются и как они считаются
- Метрики расстояния в Feature Space: Используются для построения древовидной структуры (кластеризации). Конкретные метрики не указаны, но подразумевается использование стандартных метрик расстояния между векторами.
- Метрики расстояния в Hash Space (Hamming Distance): Используются для NNS на Leaf Servers. Для бинарных строк в Hamming Space расстояние Хэмминга рассчитывается как количество различающихся битов (или число единиц в результате операции XOR).
- First Distance (Первое расстояние): Расстояние Хэмминга, рассчитанное с использованием только части битов (например, первые 200 бит из 1024).
- Second Distance (Второе расстояние): Расстояние Хэмминга, рассчитанное с использованием всех битов хеш-кода.
- Measure of Quality / Quality Score (Мера качества / Оценка качества): Метрика, используемая Root Server для финального ранжирования объединенных результатов. Патент упоминает, что она может зависеть от источников изображений, их размера, популярности и обратной связи пользователей.
Выводы
- Приоритет эффективности и масштабируемости: Патент демонстрирует, что для крупномасштабного поиска изображений (CBIR) Google фокусируется на скорости и эффективности инфраструктуры. Архитектура Root/Leaf позволяет обрабатывать огромные корпусы данных параллельно.
- Приблизительный поиск (Approximation) как норма: Использование LSH и Two-Stage NNS указывает на то, что система использует приближенный поиск ближайших соседей (Approximate Nearest Neighbor, ANN), а не точный (Exact NNS). Это позволяет значительно увеличить скорость и снизить потребление памяти ценой некоторой потери точности.
- Двухэтапный поиск как ключевая оптимизация: Описан конкретный механизм ускорения поиска в пространстве хешей: быстрая фильтрация по частичным данным (subset of bits) позволяет отсеять большинство нерелевантных вариантов до выполнения более дорогостоящих вычислений полных расстояний.
- Модульность и гибкая балансировка нагрузки: Архитектура позволяет независимо оптимизировать алгоритмы кластеризации (на Root Server) и алгоритмы поиска (на Leaf Servers). Система позволяет гибко управлять нагрузкой, перераспределяя, разделяя или дублируя кластеры на разных серверах в зависимости от частоты запросов к ним.
- Разделение извлечения и ранжирования: Leaf Servers отвечают за быстрое извлечение визуально похожих кандидатов (Retrieval). Root Server отвечает за финальное ранжирование (Ranking/Reranking), где применяются фильтры и учитываются сигналы качества (measure of quality), не связанные напрямую с визуальным сходством.
Практика
Best practices (это мы делаем)
Патент носит преимущественно инфраструктурный и алгоритмический характер. Практических выводов для стандартных задач SEO немного.
- Понимание принципов CBIR: Необходимо понимать, что Google обладает высокоэффективными механизмами для идентификации визуально похожих изображений и дубликатов в масштабах всего интернета. Это важно для задач защиты авторских прав или анализа распространения контента.
- Фокус на качестве изображений: Хотя патент сосредоточен на поиске сходства, он явно упоминает, что на финальном этапе агрегации Root Server использует measure of quality для ранжирования результатов. Это подтверждает важность работы над качеством изображений (высокое разрешение) и репутацией источника, а также над поведенческими факторами (упоминаются user-feedback и popularity).
- Обеспечение четкости визуальных признаков: Поскольку система опирается на извлеченные признаки (цвет, текстура, форма), важно, чтобы изображения были четкими и позволяли системе корректно идентифицировать эти признаки для последующего сопоставления.
Worst practices (это делать не надо)
- Попытки манипулировать алгоритмами LSH или кластеризации: Это внутренние механизмы Google, повлиять на которые извне невозможно.
- Игнорирование сигналов качества: Не следует предполагать, что только визуальное сходство определяет финальную выдачу. Система явно использует сигналы качества на этапе переранжирования.
- Чрезмерное использование слегка модифицированных дубликатов: Система, использующая LSH, эффективно обнаруживает не только точные дубликаты, но и близкие варианты изображений. Создание большого количества страниц с минимально измененными изображениями не является эффективной стратегией.
Стратегическое значение
Патент подтверждает сложность и масштабируемость инфраструктуры Google для поиска по изображениям. Он объясняет, как технически реализован поиск похожих картинок и как система справляется с огромной нагрузкой. Стратегически важно понимать разделение между этапом быстрого поиска визуально похожих кандидатов (Retrieval, описанный в патенте) и этапом финального ранжирования на основе качества и релевантности (Ranking).
Практические примеры
Практическое применение знаний из этого патента ограничено для SEO и больше относится к пониманию работы функций типа «Поиск по картинке».
Сценарий: Анализ распространения инфографики
- Задача: Компания создала уникальную инфографику и хочет понять, какие сайты ее скопировали, в том числе с небольшими изменениями (например, добавив свой логотип или изменив размер).
- Применение механизмов патента: При загрузке инфографики в «Поиск по картинке», Google активирует описанную систему. Изображение векторизуется и хешируется.
- Работа LSH и Two-Stage NNS: Система быстро находит ближайших соседей в пространстве хешей. Благодаря LSH, даже слегка измененные изображения (близкие в Feature Space) будут иметь похожие хеш-коды и попадут в результаты поиска.
- Ожидаемый результат: Пользователь получает выдачу, содержащую как точные копии, так и модифицированные версии инфографики, что позволяет оценить охват и выявить нарушения.
Вопросы и ответы
Описывает ли этот патент, как Google ранжирует изображения по текстовым запросам?
Нет. Патент сосредоточен исключительно на поиске изображений по содержанию (Content-Based Image Retrieval, CBIR), то есть когда запросом является само изображение (например, в Google Lens или обратном поиске). Он описывает инфраструктуру и алгоритмы для поиска визуально похожих изображений, а не механизмы сопоставления текста и картинок.
Что такое локально-чувствительное хеширование (LSH) и зачем его использует Google?
LSH — это метод преобразования сложных многомерных векторов признаков (Feature Vectors) в компактные хеш-коды (например, бинарные строки). Главное свойство LSH: если объекты похожи в исходном пространстве, их хеш-коды также будут похожи. Google использует LSH для значительного ускорения поиска и снижения требований к памяти, так как сравнивать короткие бинарные строки намного быстрее, чем исходные векторы.
Что такое «двухэтапный поиск» (Two-Stage Search) и какова его цель?
Это механизм оптимизации скорости поиска на Leaf Servers. На первом этапе система сравнивает изображение-запрос со всеми изображениями в кластере, используя только часть битов их хеш-кодов. Это позволяет быстро отобрать предварительный список кандидатов. На втором этапе система сравнивает запрос только с этими кандидатами, но уже используя все биты хеш-кодов. Цель — избежать дорогостоящего вычисления полных расстояний для миллионов изображений.
Система находит точные совпадения или приблизительные?
Система находит приблизительные совпадения (Approximate Nearest Neighbors). Использование LSH и кластеризации (особенно Spill-tree) направлено на быстрый поиск достаточно близких результатов, но не гарантирует нахождение абсолютно ближайшего соседа в исходном пространстве признаков. Для задач поиска визуально похожих изображений этого обычно достаточно.
Какие признаки изображений Google использует для определения сходства согласно этому патенту?
Патент упоминает стандартный набор визуальных признаков, используемых для построения Feature Space: цвет, пространственное распределение цвета, форма, размер, текстура, пространственная частота, интенсивность и ее пространственное распределение. Конкретные алгоритмы извлечения этих признаков в патенте не детализируются.
Что такое Spill-tree и как это помогает поиску?
Spill-tree — это древовидная структура для кластеризации, в которой соседние кластеры могут перекрываться. Это означает, что одно изображение может принадлежать сразу к нескольким кластерам. Это помогает избежать ошибок при быстром обходе дерева: если запрос находится близко к границе кластеров, он будет искаться в обоих, что повышает полноту поиска (Recall).
Упоминаются ли в патенте сигналы качества изображений?
Да, упоминаются. Хотя основная часть патента посвящена поиску сходства, указано, что на финальном этапе агрегации результатов Root Server использует меру качества (measure of quality) для ранжирования оставшихся изображений после фильтрации. В качестве компонентов этой меры упомянуты источники изображений, размер, популярность и обратная связь пользователей.
Актуален ли этот патент для оптимизации картинок (Image SEO)?
Для стандартных задач Image SEO (ранжирование по текстовым запросам) его актуальность низкая. Он не дает рекомендаций по оптимизации метаданных, текста вокруг картинки или ссылочного профиля. Он полезен для понимания того, как работает инфраструктура поиска похожих изображений и как Google технически идентифицирует дубликаты.
Как система обеспечивает балансировку нагрузки?
Балансировка достигается за счет гибкого управления кластерами. Root Server может назначать несколько маленьких кластеров одному Leaf Server или выделять отдельный сервер под большой кластер. Если кластер часто используется, система может дублировать его на нескольких серверах или разбить его на более мелкие части для равномерного распределения запросов.
Где эта технология, скорее всего, используется в продуктах Google?
Эта технология является основой для функций, где пользователь ищет по образцу изображения. Наиболее очевидные примеры — это «Поиск по картинке» (Search by Image) в Google Images, функция поиска похожих товаров в Google Shopping, а также, вероятно, внутренние системы для обнаружения дубликатов изображений и контента, нарушающего правила.