sonyps4.ru

Распознавание объектов на изображении по матрице. Image Processing Toolbox

Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.

В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы ; использование метода главных компонент . Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: , eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.


Для меня eigenface интересен поскольку последние 1.5 года я занимаюсь разработкой, в том числе, статистических алгоритмов обработки различных массивов данных, где очень часто приходится иметь дело со всеми вышеописанными «штуками».

Инструментарий

По сложившейся, в рамках моего скромного опыта, методике, после обдумывания какого-либо алгоритма, но перед его реализацией на С/С++/С#/Python etc., необходимо быстро (насколько это возможно) создать математическую модель и опробовать её, что-нибудь посчитать. Это позволяет внести необходимые коррективы, исправить ошибки, обнаружить то, что не было учтено при размышлении над алгоритмом. Для этого всего я использую MathCAD . Преимущество MathCAD в том, что наряду с огромным количеством встроенных функций и процедур, в нём используется классическая математическая нотация. Грубо говоря, достаточно знать математику и уметь писать формулы.

Краткое описание алгоритма

Как и любой алгоритм из серии machine learning, eigenface необходимо сначала обучить, для этого используется обучающая выборка (training set), представляющая собой изображения лиц, которые мы хотим распознать. После того как модель обучена, мы подадим на вход некоторое изображение и в результате получим ответ на вопрос: какому изображению из обучающей выборки с наибольшей вероятностью соответствует пример на входе, либо не соответствует никакому.

Задача алгоритма представить изображение как сумму базисных компонент (изображений):

Где Ф i – центрированное (т.е. за вычетом среднего) i-ое изображение исходной выборки, w j представляют собой веса и u j собственные вектора (eigenvectors или, в рамках данного алгоритма, eigenfaces).

На рисунке выше мы получаем исходное изображение взвешенным суммированием собственных векторов и прибавлением среднего. Т.е. имея w и u, мы можем восстановить любое исходное изображение.

Обучающую выборку необходимо спроецировать в новое пространство (причём пространство, как правило, гораздо больше размерности, чем исходное 2х мерное изображение), где каждая размерность будет давать определённый вклад в общее представление. Метод главных компонент позволяет найти базис нового пространство таким образом, чтобы данные в нём располагались, в некотором смысле, оптимально. Чтобы понять, просто представьте, что в новом пространстве некоторые размерности (aka главные компоненты или собственные вектора или eigenfaces) будут «нести» больше общей информации, тогда как другие будут нести только специфичную информацию. Как правило, размерности более высокого порядка (отвечающие меньшим собственным значениям) несут гораздо меньше полезной (в нашем случае под полезной понимается нечто, что даёт обобщённое представление о всей выборке) информации, чем первые размерности, соответствующие наибольшим собственным значениям. Оставляя размерности только с полезной информацией, мы получаем пространство признаков, в котором каждое изображение исходной выборки представлено в обобщённом виде. В этом, очень упрощённо, и состоит идея алгоритма.
Далее, имея на руках некоторое изображение, мы можем отобразить его на созданное заранее пространство и определить к какому изображению обучающей выборки наш пример расположен ближе всего. Если он находится на относительно большом расстоянии от всех данных, то это изображение с большое вероятностью вообще не принадлежит нашей базе.

За более подробным описанием я советую обращаться к списку External links википедии.

Небольшое отступление. Метод главных компонент имеет достаточно широкое применение. Например, в своей работе я его использую для выделения в массиве данных компонент определённого масштаба (временного или пространственного), направления или частоты. Он может быть использован как метод для сжатия данных или метод уменьшения исходной размерности многомерной выборки.

Создание модели

Для составления обучающей выборки использовалась Olivetti Research Lab"s (ORL) Face Database . Там имеются по 10 фотографий 40 различных людей:

Для описания реализации алгоритма я буду вставлять сюда скриншоты с функциями и выражениями из MathCAD и комментировать их. Поехали.

FaceNums задаёт вектор номеров лиц, которые будут использоваться в обучении. varNums задаёт номер варианта (согласно описанию базы у нас 40 директорий в каждой по 10 файлов изображений одного и того же лица). Наша обучающая выборка состоит из 4х изображений.
Далее мы вызываем функцию ReadData. В ней реализуется последовательное чтение данных и перевод изображения в вектор (функция TwoD2OneD):

Таким образом на выходе имеем матрицу Г каждый столбец которой является «развёрнутым» в вектор изображением. Такой вектор можно рассматривать как точку в многомерном пространстве, где размерность определяется количеством пикселей. В нашем случае изображения размером 92х112 дают вектор из 10304 элементов или задают точку в 10304-мерном пространстве.

2. Необходимо нормализовать все изображения в обучающей выборке, отняв среднее изображение. Это делается для того, чтобы оставить только уникальную информацию, убрав общие для всех изображений элементы.

Функция AverageImg считает и возвращает вектор средних. Если мы этот вектор «свернём» в изображение, то увидим «усреднённое лицо»:

Функция Normalize вычитает вектор средних из каждого изображения и возвращает усреднённую выборку:

3. Следующий шаг это вычисление собственных векторов (они же eigenfaces) u и весов w для каждого изображения в обучающей выборке. Другими словами, это переход в новое пространство.

Вычисляем ковариационную матрицу, потом находим главные компоненты (они же собственные вектора) и считаем веса. Те, кто познакомятся с алгоритмом ближе, въедут в математику. Функция возвращает матрицу весов, собственные вектора и собственные значения. Это все необходимые для отображения в новое пространство данные. В нашем случае, мы работаем с 4х мерным пространством, по числу элементов в обучающей выборке, остальные 10304 - 4 = 10300 размерности вырождены, мы их не учитываем.

Собственные значения нам, в целом, не нужны, но по ним можно проследить кое-какую полезную информацию. Давайте взглянем на них:

Собственные значения на самом деле показывают дисперсию по каждой из осей главных компонент (каждой компоненте соответствует одна размерность в пространстве). Посмотрите на правое выражение, сумма данного вектора = 1, а каждый элемент показывает вклад в общую дисперсию данных. Мы видим, что 1 и 3 главные компоненты дают в сумме 0.82. Т.е. 1 и 3 размерности содержат 82% всей информации. 2ая размерность свёрнута, а 4ая несёт 18% информации и нам она не нужна.

Распознавание

Модель составлена. Будем тестировать.

Мы создаём новую выборку из 24 элементов. Первые 4ре элемента те же, что и в обучающей выборке. Остальные это разные варианты изображений из обучающей выборки:

Далее загружаем данные и передаём в процедуру Recognize. В ней каждое изображение усредняется, отображается в пространство главных компонент, находятся веса w. После того как вектор w известен необходимо определить к какому из существующих объектов он ближе всего расположен. Для этого используется функция dist (вместо классического евклидова расстояния в задачах распознавания образов лучше применять другую метрику: расстояние Махалонобиса). Находится минимальное расстояние и индекс объекта к которому данное изображение расположено ближе всего.

На выборке из 24 показанных выше объектов эффективность классификатора 100%. Но есть один ньюанс. Если мы подадим на вход изображение, которого нет в исходной базе, то всё равно будет вычислен вектор w и найдено минимальное расстояние. Поэтому вводится критерий O, если минимальное расстояние < O значит изображение принадлежит к классу распознаваемых, если минимальное расстояние > O, то такого изображения в базе нет. Величина данного критерия выбирается эмпирически. Для данной модели я выбрал O = 2.2.

Давайте составим выборку из лиц, которых нет в обучающей и посмотрим насколько эффективно классификатор отсеет ложные образцы.

Из 24 образцов имеем 4 ложных срабатывания. Т.е. эффективность составила 83%.

Заключение

В целом простой и оригинальный алгоритм. В очередной раз доказывает, что в пространствах большей размерности «скрыто» множество полезной информации, которая может быть использована различным образом.  Вкупе с другими продвинутыми методиками eigenface может применятся с целью повышения эффективности решения поставленных задач.

Например, у нас в качестве классификатора применяется простой distance classifier. Однако мы могли бы применить более совершенный алгоритм классификации, например

Выполнен обзор нейросетевых методов, используемых при распознавании изображений. Нейросетевые методы - это методы, базирующиеся на применении различных типов нейронных сетей (НС). Основные направления применения различных НС для распознавания образов и изображений:

  • применение для извлечение ключевых характеристик или признаков заданных образов,
  • классификация самих образов или уже извлечённых из них характеристик (в первом случае извлечение ключевых характеристик происходит неявно внутри сети),
  • решение оптимизационных задач.

Архитектура искусственных НС имеет некоторое сходство с естественными нейронными сетями. НС, предназначенные для решения различных задач, могут существенно различаться алгоритмами функционирования, но их главные свойства следующие .

НС состоит из элементов, называемых формальными нейронами, которые сами по себе очень просты и связаны с другими нейронами. Каждый нейрон преобразует набор сигналов, поступающих к нему на вход в выходной сигнал. Именно связи между нейронами, кодируемые весами, играют ключевую роль. Одно из преимуществ НС (а так же недостаток при реализации их на последовательной архитектуре) это то, что все элементы могут функционировать параллельно, тем самым существенно повышая эффективность решения задачи, особенно в обработке изображений. Кроме того, что НС позволяют эффективно решать многие задачи, они предоставляют мощные гибкие и универсальные механизмы обучения, что является их главным преимуществом перед другими методами (вероятностные методы, линейные разделители, решающие деревья и т.п.). Обучение избавляет от необходимости выбирать ключевые признаки, их значимость и отношения между признаками. Но тем не менее выбор исходного представления входных данных (вектор в n-мерном пространстве, частотные характеристики, вэйвлеты и т.п.), существенно влияет на качество решения и является отдельной темой. НС обладают хорошей обобщающей способностью (лучше чем у решающих деревьев ), т.е. могут успешно распространять опыт, полученный на конечном обучающем наборе, на всё множество образов.

Опишем применение НС для распознавания изображений, отмечая возможности применения для распознавания человека по изображению лица.

1. Многослойные нейронные сети

Архитектура многослойной нейронной сети (МНС) состоит из последовательно соединённых слоёв, где нейрон каждого слоя своими входами связан со всеми нейронами предыдущего слоя, а выходами - следующего. НС с двумя решающими слоями может с любой точностью аппроксимировать любую многомерную функцию. НС с одним решающим слоем способна формировать линейные разделяющие поверхности, что сильно сужает круг задач ими решаемых, в частности такая сеть не сможет решить задачу типа “исключающее или”. НС с нелинейной функцией активации и двумя решающими слоями позволяет формировать любые выпуклые области в пространстве решений, а с тремя решающими слоями - области любой сложности, в том числе и невыпуклой. При этом МНС не теряет своей обобщающей способности. Обучаются МНС при помощи алгоритма обратного распространения ошибки, являющегося методом градиентного спуска в пространстве весов с целью минимизации суммарной ошибки сети. При этом ошибки (точнее величины коррекции весов) распространяется в обратном направлении от входов к выходам, сквозь веса, соединяющие нейроны.

Простейшее применение однослойной НС (называемой автоассоциативной памятью) заключается в обучении сети восстанавливать подаваемые изображения. Подавая на вход тестовое изображение и вычисляя качество реконструированного изображения, можно оценить насколько сеть распознала входное изображение. Положительные свойства этого метода заключаются в том, что сеть может восстанавливать искажённые и зашумленные изображения, но для более серьёзных целей он не подходит.

Рис. 1. Многослойная нейронная сеть для классификации изображений. Нейрон с максимальной активностью (здесь первый) указывает принадлежность к распознанному классу.

МНС так же используется для непосредственной классификации изображений – на вход подаётся или само изображение в каком-либо виде, или набор ранее извлечённых ключевых характеристик изображения, на выходе нейрон с максимальной активностью указывает принадлежность к распознанному классу (рис. 1). Если эта активность ниже некоторого порога, то считается, что поданный образ не относится ни к одному из известных классов. Процесс обучения устанавливает соответствие подаваемых на вход образов с принадлежностью к определённому классу. Это называется обучением с учителем. В применении к распознаванию человека по изображению лица, такой подход хорош для задач контроля доступа небольшой группы лиц. Такой подход обеспечивает непосредственное сравнение сетью самих образов, но с увеличением числа классов время обучения и работы сети возрастает экспоненциально. Поэтому для таких задач, как поиск похожего человека в большой базе данных, требует извлечения компактного набора ключевых характеристик, на основе которых можно производить поиск.

Подход к классификации с использованием частотных характеристик всего изображения, описан в . Применялась однослойная НС, основанная на многозначных нейронах. Отмечено 100% распознавание на базе данных MIT, но при этом осуществлялось распознавание среди изображений, которым сеть была обучена.

Применение МНС для классификации изображений лиц на основе таких характеристик, как расстояния между некоторыми специфическими частями лица (нос, рот, глаза), описано в . В этом случае на вход НС подавались эти расстояния. Использовались так же гибридные методы – в первом на вход НС подавались результаты обработки скрытой марковской моделью, а во втором – результат работы НС подавался на вход марковской модели. Во втором случае преимуществ не наблюдалось, что говорит о том, что результат классификации НС достаточен.

В показано применение НС для классификации изображений, когда на вход сети поступают результаты декомпозиции изображения по методу главных компонент.

В классической МНС межслойные нейронные соединения полносвязны, и изображение представлено в виде одномерного вектора, хотя оно двумерно. Архитектура свёрточной НС направлена на преодоление этих недостатков. В ней использовались локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов), общие веса (обеспечивают детектирование некоторых черт в любом месте изображения) и иерархическая организация с пространственными подвыборками (spatial subsampling). Свёрточная НС (СНС) обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, искажениям. Архитектура СНС состоит из многих слоёв, каждый из которых имеет несколько плоскостей, причём нейроны следующего слоя связаны только с небольшим числом нейронов предыдущего слоя из окрестности локальной области (как в зрительной коре человека). Веса в каждой точке одной плоскости одинаковы (свёрточные слоя). За свёрточным слоем следует слой, уменьшающий его размерность путём локального усреднения. Затем опять свёрточный слой, и так далее. Таким образом, достигается иерархическая организация. Более поздние слои извлекают более общие характеристики, меньше зависящие от искажений изображения. Обучается СНС стандартным методом обратного распространения ошибки. Сравнение МНС и СНС показало существенные преимущества последней как по скорости, так и по надёжности классификации. Полезным свойством СНС является и то, что характеристики, формируемые на выходах верхних слоёв иерархии, могут быть применимы для классификации по методу ближайшего соседа (например, вычисляя евклидово расстояние), причём СНС может успешно извлекать такие характеристики и для образов, отсутствующих в обучающем наборе. Для СНС характерны быстрая скорость обучения и работы. Тестировании СНС на базе данных ORL, содержащей изображения лиц с небольшими изменениями освещения, масштаба, пространственных поворотов, положения и различными эмоциями, показало приблизительно 98% точность распознавания, причём для известных лиц, предъявлялись варианты их изображений, отсутствующие в обучающем наборе. Такой результат делает эту архитектуру перспективной для дальнейших разработок в области распознавания изображений пространственных объектов.

МНС применяются и для обнаружения объектов определённого типа. Кроме того, что любая обученная МНС в некоторой мере может определять принадлежность образов к “своим” классам, её можно специально обучить надёжному детектированию определённых классов. В этом случае выходными классами будут классы принадлежащие и не принадлежащие к заданному типу образов. В применялся нейросетевой детектор для обнаружения изображения лица во входном изображении. Изображение сканировалось окном 20х20 пикселей, которое подавалось на вход сети, решающей принадлежит ли данный участок к классу лиц. Обучение производилось как с использованием положительных примеров (различных изображений лиц), так и отрицательных (изображений, не являющихся лицами). Для повышения надёжности детектирования использовался коллектив НС, обученных с различными начальными весами, вследствие чего НС ошибались по разному, а окончательное решение принималось голосованием всего коллектива.

Рис. 2. Главные компоненты (собственные лица) и разложение изображения на главные компоненты.

НС применяется так же для извлечения ключевых характеристик изображения, которые затем используются для последующей классификации. В , показан способ нейросетевой реализации метода анализа главных компонент. Суть метода анализа главных компонент заключается в получении максимально декореллированных коэффициентов, характеризующих входные образы. Эти коэффициенты называются главными компонентами и используются для статистического сжатия изображений, в котором небольшое число коэффициентов используется для представления всего образа. НС с одним скрытым слоем содержащим N нейронов (которое много меньше чем размерность изображения), обученная по методу обратного распространения ошибки восстанавливать на выходе изображение, поданное на вход, формирует на выходе скрытых нейронов коэффициенты первых N главных компонент, которые и используются для сравнения. Обычно используется от 10 до 200 главных компонент. С увеличением номера компоненты её репрезентативность сильно понижается, и использовать компоненты с большими номерами не имеет смысла. При использовании нелинейных активационных функций нейронных элементов возможна нелинейная декомпозиция на главные компоненты. Нелинейность позволяет более точно отразить вариации входных данных. Применяя анализ главных компонент к декомпозиции изображений лиц, получим главные компоненты, называемые собственными лицами (holons в работе ), которым так же присуще полезное свойство – существуют компоненты, которые в основном отражают такие существенные характеристики лица как пол, раса, эмоции. При восстановлении компоненты имеют вид, похожий на лицо, причём первые отражают наиболее общую форму лица, последние – различные мелкие отличия между лицами (рис. 2). Такой метод хорошо применим для поиска похожих изображений лиц в больших базах данных. Показана так же возможность дальнейшего уменьшения размерности главных компонент при помощи НС . Оценивая качество реконструкции входного изображения можно очень точно определять его принадлежность к классу лиц.

Распознавание изображений является важным и интересным разделом компьютерной науки, имеющим самые различные применения в реальной жизни. Так, распознавание изображений может применяться для задачи распознавания автомобильных номеров, идентификации наличия пешеходов на дороге, поиска и распознавания лиц на фотографиях, системах для управления каким-либо устройством жестами, проведения автоматического контроля качества на производстве - и это только очень небольшое подмножество практических применений распознавания изображений. Поэтому неудивительно, что интерес исследователей в области computer science и искусственного интеллекта к распознаванию изображений появился еще в 60-х годах 20 века и эта область науки активно развивается до сих пор.

Существует множество формулировок для задачи распознавания изображений, и определить ее однозначно достаточно сложно. Например, можно рассматривать распознавание изображений как задачу поиска и идентификации на исходном изображении некоторых логических объектов.

Распознавание изображений обычно является сложной задачей для компьютерного алгоритма. Это связано, в первую очередь, с высокой вариативностью изображений отдельных объектов. Так, задача поиска автомобиля на изображении является простой для человеческого мозга, который способен автоматически идентифицировать у объекта наличие важных для автомобиля признаков (колеса, специфическая форма) и при необходимости «достаивать» картинку в воображении, представляя недостающие детали, и крайне сложной для компьютера, так как существует огромное количество разновидностей автомобилей разных марок и моделей, имеющих во многом разную форму, кроме того, итоговая форма объекта на изображении сильно зависит от точки съемки, угла, под которым он снимается и других параметров. Также немаловажную роль играет освещение, которое оказывает влияние на цвет полученного изображения, а также может делать незаметными или искажать отдельные детали.

Таким образом, основные трудности при распознавании изображений вызывают:

  • · Вариативность предметов внутри класса
  • · Вариативность формы, размера, ориентации, положения на изображении
  • · Вариативность освещения

Для борьбы с этими трудностями на протяжении истории развития распознавания изображений были предложены самые различные методы, и в настоящее время в этой сфере уже удалось добиться существенного прогресса.

Первые исследования в области распознавания изображений были опубликованы в 1963 году Л.Робертсом в статье «Machine Perception Of Three-Dimensional Solids», где автор сделал попытку абстрагироваться от возможных изменений в форме предмета и сконцентрировался на распознавании изображений простых геометрических форм в условиях различного освещения и при наличии поворотов. Разработанная им компьютерная программа была способна идентифицировать на изображении геометрические объекты некоторых простых форм и формировать их трехмерную модель на компьютере.

В 1987 году Ш.Улманом и Д.Хуттенлохером была опубликована статья «Object Recongnition Using Alignment» где они также сделали попытку распознавания объектов относительно простых форм, при этом процесс распознавания был организован в два этапа: сначала поиск области на изображении, где находится целевой объект, и определение его возможных размеров и ориентации (“alignment”) с помощью небольшого набора характерных признаков, и затем попиксельное сравнение потенциального изображения объекта с ожидаемым.

Однако попиксельное сравнение изображений имеет множество существенных недостатков, таких как его трудоемкость, необходимость наличия шаблона для каждого из объектов возможных классов, а также то, что в случае попиксельного сравнения может осуществляться только поиск конкретного объекта, а не целого класса объектов. В некоторых ситуациях это применимо, однако в большинстве случаев все же требуется поиск не одного конкретного объекта, а множества объектов какого-либо класса.

Одним из важных направлений в дальнейшем развитии распознавания изображений стало распознавание изображений на основе идентификации контуров. Во многих случаях именно контуры содержат большую часть информации об изображении, и в то же время рассмотрение изображения в виде совокупности контуров позволяет его существенно упростить. Для решения задачи поиска контуров на изображении классическим и наиболее известным подходом является детектор Кэнни (Canny Edge Detector), работа которого основана на поиске локального максимума градиента .

Другим важным направлением в области анализа изображений является применение математических методов, таких как частотная фильтрация и спектральный анализ. Данные методы применяются, например, для сжатия изображений (JPEG сжатие) или повышения его качества (фильтр Гаусса). Однако, поскольку данные методы не связаны непосредственно с распознаванием изображений, более подробно они здесь рассматриваться не будут.

Еще одна задача, которая часто рассматривается в связи с задачей распознавания изображений - это задача сегментации. Основная цель сегментации - это выделение на изображении отдельных объектов, каждый из которых затем может быть отдельно изучен и проклассифицирован. Задача сегментации значительно упрощается, если исходное изображение является бинарным - то есть состоит из пикселей только двух цветов. В этом случае задача сегментации часто решается с применением методов математической морфологии . Суть методов математической морфологии заключается в представлении изображения как некоторого множества двоичных значений и применении к этому множеству логических операций, основные среди которых это перенос, наращивание (логическое сложение) и эрозия (логическое умножение). С применением данных операций и их производных, таких как замыкание и размыкание, появляется возможность, например, устранить шум на изображении или выделить границы. Если подобные методы применяются в задаче сегментации, то наиболее важной их задачей становится как раз таки задача устранения шума и формирования на изображении более-менее однородных участков, которые затем легко найти с помощью алгоритмов, аналогичных поиску связных компонент в графе - это и будут искомые сегменты изображения.

Что касается сегментации RGB-изображений, то одним из важных источников информации о сегментах изображения может стать его текстура. Для определения текстуры изображения часто применяется фильтр Габора , который был создан в попытках воспроизвести особенности восприятия текстур человеческим зрением. В основе работы данного фильтра лежит функция частотного преобразования изображения.

Другое важное семейство алгоритмов, используемых для распознавания изображений - это алгоритмы, основанные на поиске локальных особенностей. Локальные особенности представляют собой некоторые хорошо различимые области изображения, которые позволяют соотнести изображение с моделью (искомым объектом) и определить, соответствует ли данное изображение модели и, если соответствует, определить параметры модели (например, угол наклона, примененное сжатие и т.д.). Для качественного выполнения своих функций локальные особенности должны быть устойчивы к афинным преобразованиям, сдвигам и т.д. Классическим примером локальных особенностей являются углы, которые часто присутствуют на границах различных объектов. Наиболее популярным алгоритмом для поиска углов является детектор Харриса .

В последнее же время все большей популярностью пользуются методы распознавания изображений, основанные на нейронных сетях и глубоком обучении. Основной расцвет этих методов наступил после появления в конце 20 века сверточных сетей (LeCun, ), которые показывают значительно лучшие результаты в распознавании изображений по сравнения с остальными методами. Так, большая часть лидирующих (и не только) алгоритмов в ежегодном соревновании по распознаванию изображений ImageNet-2014 использовала в том или ином виде сверточные сети.

Сканирование изображения и обнаружение в нем объектов - задача № 1 в обработке картинок и компьютерном зрении. Поиск по запросу « автоматическое распознавание изображений » на Google Академии выдаст множество статей со сложными уравнениями и алгоритмами от начала 90-х и до наших дней. Это говорит о том, что указанная проблема занимает ученых с самого появления веб-поиска, но она пока не решена.

Основатель cognitiveSEO Рэзван Гаврилас считает , что в ближайшем будущем Google изменит алгоритмы ранжирования изображений, что повлияет на поиск и фактически на поисковую оптимизацию во всем мире. Эту тему Рэзван развивает в данной статье.

Почему умение распознавать объекты в изображениях важно для мирового digital-сообщества?

По мнению эксперта, обнаружение объектов на картинках станет неким дополнительным фактором ранжирования. К примеру, изображение синей собаки будет неразрывно связано с ключевым словом «синяя собака», а не «рыжая собака».

Для SEO это имеет два важных последствия:

  • количество нерелевантных результатов при поиске по определенному ключевому слову будет меньше (в зависимости от того, что находится на изображении),
  • распознавание объектов в картинке поможет связать контент страницы с этим изображением. Если на странице много фотографий синих собак и других вещей, связанных с собаками, то рейтинг этой страницы, как посвященной собакам, будет выше.

Ещё один вопрос - станет ли распознавание образов началом «новой эры» для манипуляций с объектами на картинках, как новой теневой техники SEO? Нет, потому что алгоритмы поисковых систем в наши дни легко обнаружат такой вид спама.

Google, искусственный интеллект и распознавание изображений

В 2010 году Стэндфордским университетом был впервые проведен конкурс ILSVRC (ImageNet large-scale visual recognition challenge), в рамках которого программисты демонстрируют возможности разрабатываемых ими систем распознавания объектов на изображении.

ILSVRC включает три основных этапа:

  • классификация,
  • классификация с локализацией,
  • обнаружения.

В первом случае оценивается возможность алгоритма создавать правильные «подписи» к изображению (маркировка), локализация предполагает выделение основных объектов на изображении, похожим образом формулируется и задача обнаружения, но тут действуют более строгие критерии оценки.

В случае с обнаружением алгоритм распознавания должен описать сложное изображение с множеством объектов, определяя их местонахождение и точно идентифицируя каждый из них. Это значит, что если на картинке кто-то едет на мопеде, то программное обеспечение должно суметь не просто различить несколько отдельных объектов (например, мопед, человека и шлем), но и правильно расположить их в пространстве и верно классифицировать. Как мы видим на изображении ниже, отдельные предметы были определены и классифицированы верно.

Любая поисковая система с наличием подобной возможности затруднит, чьи-либо попытки выдать фотографии людей на мопедах за фото водителей Porsche посредством манипуляций с метаданными. Алгоритм, способный распознавать объекты, довольно продвинутый и сможет разобрать любое, в том числе и самое сложное изображение.

В 2014 году конкурс ILSVRC выиграла команда GoogLeNet. Название образовано из слов Google и LeNet - одна из реализаций свёрточной нейронной сети . Подобная сеть может быстро обучаться, а также выдавать результаты даже при наличии небольшого объёма памяти за счёт более чем десятикратного сокращения числа параметров, по сравнению с большинством других моделей компьютерного зрения.

Под термином «нейронные сети» подразумеваются искусственные нейронные сети (ИНС), являющиеся вычислительными моделями, основанными на принципах обучения и распознавания образов. Пример работы алгоритма обнаружения объекта приведен ниже:

Команда GoogLeNet использует определенный тип ИНС - сверточную нейронную сеть, принцип работы которой заключается в том, что отдельные нейроны реагируют на разные (но перекрывающиеся) области в поле зрения. Эти области можно сопоставить воедино, чтобы получить более сложный образ. По словам Рэзвана Гавриласа, это напоминает работу со слоями в редакторе изображений.

Одним из плюсов сверточной нейронной сети является хорошая поддержка перевода - любого типа движения объекта из одного пространства в другое. Инфраструктура DistBelief умеет выделять объект независимо от того, где он находится на картинке.

Ещё одна полезная возможность инфраструктуры - масштабная инвариантность, согласно которой, свойства объектов не меняются, если масштабы длины умножаются на общий множитель. Это означает, что инфраструктура DistBelief должна четко распознавать изображение, к примеру, «апельсина», независимо от того, большой ли он (на обоях для рабочего стола) или крошечный (на иконке). В обоих случаях объект оранжевый и классифицируется как «апельсин».

Необходимо сказать и о принципе Хебба, согласно которому происходит обучение искусственных нейронных сетей. В книге «Организация поведения: нейропсихологическая теория» постулат Хебба звучит следующим образом: «Если аксон клетки А находится достаточно близко, чтобы возбуждать клетку B, и неоднократно или постоянно принимает участие в ее возбуждении, то наблюдается некоторый процесс роста или метаболических изменений в одной или обеих клетках, ведущий к увеличению эффективности А, как одной из клеток, возбуждающих В».

Рэзван Гаврилас немного упрощает цитату: «Клетки, которые возбуждаются вместе, связываются вместе». В случае с ИНС «клетки» стоит заменить на «нейроны». Выстраивая дальнейшую аналогию, можно сказать, что программное обеспечение будет в состоянии обучать себя, чтобы постоянно совершенствоваться.

Google рекрутирует специалистов в области искусственного интеллекта и распознавания изображений

Собственную технологию распознавания образов Google создает на основе сторонних разработок, например, для этого была приобретена компания-стартап DNNresearch , занимающаяся исследованиями в области распознавания объектов и голоса. DNNresearch представляет собой стартап, на момент поглощения в его штате числились три человека, автоматически ставшие сотрудниками Google. Им выделен грант на поддержку работы в области нейронных сетей. Новые технологии Google может применить для улучшения качества поиска по картинкам.

Согласно стратегии компании Google, многие решения с открытым исходным кодом остаются доступны для других компаний. Это делается для развития рынка. Как считает Рэзван, зачем душить конкурентов, когда вы можете позволить себе купить его спустя некоторое время?

Ещё одно интересное приобретение Google - компания DeepMind , в которую инвестировано 400 миллионов долларов. Это и многие другие приобретения направлены в первую очередь на то, чтобы привлечь в Google квалифицированных специалистов, а не какие-то готовые решения. Подобные шаги по покупке компаний - свидетельство гонки Google, Facebook и других интернет-компаний за «мозгами» для дальнейших разработок в области искусственного интеллекта.

Google+ уже использует обнаружение объектов в картинках. На очереди Google Поиск?

На самом деле, алгоритм обнаружения изображений на основе нейронной сети уже больше года работает в Google+. Часть кода программного обеспечения представленного на ILSVRC, использовалась для улучшения алгоритмов Google+, а именно - для поиска конкретных типов фотографий.

Технология распознавания изображений от Google имеет следующие особенности:

  • Алгоритм Google учитывает соответствие объектов на веб-изображениях (крупный план, искусственное освещение, детализация) с объектами на естественных фотографиях (средний план, естественный свет с тенями, разная степень детализации). Другими словами - цветок должен оставаться цветком даже на изображениях с другим разрешением или условий освещения.
  • Некоторые специфические визуальные классы выведены за рамки общих единиц. Например, в большом списке из наименований цветов, которые различает алгоритм, отмечены некоторые отдельные растения, например, гибискус или георгин.
  • Алгоритму распознавания изображений Google также удалось научиться работать с абстрактными категориями объектов, выделяя то или иное количество картинок, которые могли бы быть отнесены к категориям «танец», «еда», «поцелуи». Это занимает куда больше времени, чем простое выявление соотношений «апельсин - апельсин».

Классы с разным значением также обрабатываются хорошо. Пример - «автомобиль». Это точно снимок автомобиля, если на нём мы видим весь автомобиль? Считается ли изображение салона машины фотографией автомобиля или уже чем-то другим? На оба вопроса мы бы ответили утвердительно, также поступает и алгоритм распознавания Google.

Нельзя не отметить, что система распознавания изображений пока ещё недоработана. Однако даже в «сыром» виде алгоритм Google на голову выше всех предыдущих разработок в сфере компьютерного зрения.

Технология распознавания изображений - часть Графа знаний Google?

Новый алгоритм Google - часть «машинного обучения», которое отчасти реализовано в Графе знаний. В нем находятся entities - объекты, предназначенные для замещения символов, которые не могут встречаться в «чистом» виде в HTML-тексте, например, символа «

Каждый объекты и каждый класс объектов получают уникальный код, благодаря чему животное «ягуар» никогда не перепутается с одноименной маркой автомобиля. На основе этих кодов алгоритм распознавания может пользоваться базой знаний. Фактически Google создает «умный поиск», который понимает и переводит ваши слова и изображения в реальные символьные объекты.

Как технология обнаружения объекта в изображениях может повлиять на SEO?

Возможность распознавания изображений может быть полезна везде, где требуется узнать, что находится на картинке.

С точки зрения обычного SEO умение распознавать изображения является огромным шагом вперед. Это способствует повышению качества контента, так как обмануть поисковик с помощью неверной маркировки фотографий или их огромного количества становится почти невозможно.

Хороший визуальный контент (то есть высокое качество изображения, четко видимые объекты, актуальность фото), вероятно, будет играть важную роль во всем, что касается визуального поиска.

Если вы хотите, чтобы ваш рисунок был первым среди изображений по запросам «Yellow Dog», то оптимизацию придется начать с указания типа вашего снимка и перечисления содержащихся в нем объектов.

Заключение

Способность человека распознавать множество объектов и распределять их по категориям является одной из самых удивительных возможностей зрительного восприятия, компьютерных аналогов которой пока не придумано. Однако Google уже делает шаги вперед, например, ему уже принадлежит патент на автоматическое масштабное видеораспознавание объектов с 2012 года.

Итак, по мнению Рэзвана Гавриласа, органические результаты поиска Google в ближайшем времени подвергнутся изменению. Поисковик перейдет «от строк к вещам», фактически интегрировав в поисковый ландшафт свой Граф знаний. Изменятся и алгоритмы поиска, которые, вероятно, будут связаны с фактическими объектами в содержании и определении того, как эти объекты будут связаны друг с другом.

Задача распознавания сводится к селекции (выделению) заданных для вскрытия объектов среди других обнаруженных объектов естественного и искусственного происхождения. В задачу распознавания входит также определение класса и типа выделенных объектов и их функционального состояния. Особенно важной и ответственной задачей при принятии решения является распознавание специальных ложных целей (надувных макетов, уголковых отражателей и т.п.), а также объектов по принадлежности свой - чужой.

Повышение эффективности решения задачи распознавания объектов достигается двумя путями:

повышением информативности используемых распознавательных признаков (характеристик) объекта;

формированием в РСА новых распознавательных признаков заданных объектов.

Обычно критерием выбора распознавательных признаков и методов повышения их эффективности является принцип разумной достаточности, так как формирование новых и повышение характеристик используемых признаков требует перераспределения (расходования) располагаемых ресурсов (вычислительных, энергетических, временных) РСА, которые всегда ограничены критическими технологиями и тактическими требованиями.

Быстрое развитие технологий РСА позволяет использовать распознавательные признаки все более широкого класса. Далее анализируются основные распознавательные признаки объектов при их наблюдении РСА.

Характерные размеры РЛИ объекта. К характерным размерам объекта относятся его длина, ширина, высота, площадь и объем, определяемые числом элементов разрешения в РЛИ объекта. Дополнительным признаком является форма РЛИ объекта.

Рассмотрим методику расчета вероятности распознавания цели на примере использования площади объекта в качестве распознавательного признака. Вероятность распознавания целей определяется многими факторами:

ансамблем распознаваемых целей;

априорными сведениями о классе наблюдаемых целей;

свойствами выбранных распознавательных признаков;

алгоритмом принятия решения о классе цели.

В качестве ансамбля распознаваемых целей принимается набор типовых целей. При этом каждый раз при определении вероятности распознавания целей предполагается наличие двух целей с наиболее близкими параметрами, т.е. наихудший случай. Кроме того, полагаем, что априорные сведения о наличии той или иной цели отсутствуют, т.е. наличие двух близких по параметрам целей равновероятно.

такая точность достигается с запасом.

О классе цели №2.

Пиксела), одинаковых заданных потерях при ошибках классификации первого и второго рода, отсутствии потерь при точных решениях и одинаковых априорных вероятностях появления целей каждого класса значение площади раздела равно:

правильной классификации первой цели равна:

то

Площади изображения цели можно аппроксимировать гауссовой кривой:

при наблюдении первой цели определяется интегралом вероятности:

- нормированное граничное значение разделения

площади первой цели относительно второй.

для различных нормированных значений границы раздела

вероятность распознавания будет равна 0,7.

на характерном размере изображения. В табл. 7.4 даны значения требуемой разрешающей способности РСА для обнаружения и распознавания типовых объектов при наблюдении их РЛИ опытным оператором.

В настоящее время достигнута разрешающая способность 0,3x0,3 м, а в отдельных

экспериментах даже 0,1x0,1 м,

что позволяет распознавать малоразмерные цели, имеющие размеры единицы метров.

Решение задачи селекции ложных целей, имеющих такие же характерные размеры, как и заданные цели, требует привлечения дополнительных распознавательных признаков.

Амплитудный портрет объекта. Амплитудный портрет - это детальное изображение объекта в виде распределения ЭПР объекта по элементам разрешения РЛИ. В качестве распознавательных признаков используются статистические характеристики ЭПР.

Среднее значение ЭПР, полученное усреднением реализации амплитуды РЛИ за несколько обзоров, характеризует распределение отражающей способности объекта по элементам разрешения.

Корреляционная функция характеризует взаимосвязь амплитуд РЛИ как в разрешаемом элементе от обзора к обзору, так и между элементами. Рассматриваются также законы распределения плотности вероятности амплитуд РЛИ.

Трудностью использования этих признаков является получение банка данных для заданного класса (типов) объектов, что требует больших экспериментальных работ. Рассматривается также возможность расчета на ЭВМ статистических характеристик РЛИ объектов.

Поляризационные портреты объекта. В настоящее время при распознавании объекта используются в основном однополяризационные функции отражения, когда излучаемая и принимаемая электромагнитная волна имеет одну и ту же поляризацию (ГГ или ВВ). Развитие техники антенн-поляриметров дало возможность формировать полную поляризационную матрицу функции отражения объекта. При этом РЛИ объекта, полученные при различных поляризациях, несут информацию о конструкции и структуре материала объекта. Так, значительно отличаются РЛИ объектов естественного и искусственного происхождения в зависимости от поляризации, а также у специальных ложных целей.

Основной проблемой при создании полнополяриметрической РСА является значительное усложнение аппаратной и программной (алгоритмической) частей. Фактически работают параллельно четыре канала приема сигнала и обработки данных. Также весьма сложной задачей является определение (в основном экспериментальное) поляризационной матрицы функции отражения объектов для различных условий наблюдения.

Трехмерный портрет объекта. Обычно РЛИ объекта формируется в виде плоской картины в проекции на земную поверхность. В то же время значительная информация о классе и типе объекта заключена в высоте объекта. Кроме естественного изменения высоты земной поверхности (рельефа местности), РСА позволяет получать изображение микрорельефа объекта, т.е. изменение рельефа местности, связанное с наличием вскрываемого объекта (капониры, карьеры, отдельные сооружения, техника и т.п.).

Угол визирования (в радианах). Так, при угле визирования в 6° объект высотой Ь = 10 м дает тень длиной 100 м.

При средних и больших углах визирования, а также при сложном характере рельефа Земли в районе объекта метод радиолокационных теней не работает. Поэтому для измерения высоты объекта используют угломерный способ с помощью реальной антенны РСА. Чем больше размер антенны, тем выше точность измерения высоты. Для упрощения конструкции антенны обычно используют две разнесенных в угломестной плоскости антенны (интерферометр). Разность фаз сигналов одного и того же разрешаемого по дальности и азимуту элемента объекта, принимаемых антеннами интерферометра, пропорциональна высоте объекта. По этой информации строится трехмерный портрет объекта.

Основным направлением развития таких интерферометрических РСА является повышение точности измерения высоты. Для этого увеличивают разнос антенн. Так, в экспериментальных РСА получена точность измерения высоты рельефа местности 0,3 м с дискретностью изображения 1...3 м.

Для уменьшения влияния растительности, покрывающей объекты, интерферометрическая РСА может работать в дециметровом диапазоне.

Рассматриваются также сверхширокополосные системы в диапазонах 215...900 МГц и 100...600 МГц, которые могут работать в двух поддиапазонах дециметровом и метровом - с полосой частот 100 МГц. На малых дальностях (единицы километров) обеспечивается высокое разрешение по азимуту и дальности, что позволяет получать детальные изображения объектов в различных диапазонах волн.

Динамический портрет объекта. Движение объекта и его отдельных частей является одним из самых важных распознавательных признаков, который лежит в основе не только распознавания класса и типа, но и функционального состояния объекта.

Задача формирования динамического портрета отдельных сосредоточенных объектов, наблюдаемых на фоне подстилающей поверхности, решается на различных уровнях.

В первом случае используется режим СДЦ, который позволяет селектировать движущиеся объекты по их радиальной скорости. Основное направление развития режима СДЦ - снижение минимальной радиальной скорости цели, при которой принимается решение о движении объекта. В настоящее время считается возможным обнаружение целей, движущихся со скоростью 1...2 м/с. При этом для подавления сигнала неподвижного фона используют антенну-интерферометр с двумя разнесенными вдоль линии пути фазовыми центрами.

В режиме СДЦ осуществляется не только селекция, но и измерение радиальной составляющей скорости и азимута объектов. Для этого используется пространственно-временная обработка сигналов, при которой необходима антенна с тремя и более фазовыми центрами. При одновременном формировании изображений движущихся и неподвижных объектов число необходимых фазовых центров возрастает. Возможно также одновременное измерение тангенциальной и радиальной составляющих скорости объекта при точности измерения порядка 2.. .3 м/с.

При распознавании движущегося (вращающегося) объекта возможно получение детального РЛИ методами обратного (инверсного) синтезирования. При этом даже небольшое изменение угла наблюдения объекта (угол поворота объекта относительно линии объект - РСА) или его отдельных элементов позволяет получить высокое разрешение. Например, при изменении угла на 3° возможно разрешение в плоскости поворота, равное 5... 10 длинам волн.

Вторым основным направлением использования динамического портрета является определение функционального состояния объекта. Боевая работа (стрельба, пуск ракет), а также маневрирование, движение отдельных частей объекта, работа двигателя вызывают пространственно-временную модуляцию функции отражения объекта и соответственно траекторного сигнала РСА. Обнаружение и определение параметров этой модуляции позволяет распознавать объект (класс, тип, ложная цель) и судить о его функциональном состоянии.

В случае распределенного объекта (например, водной поверхности) имеется возможность формирования динамического (частотного, фазового) портрета поверхности. Так, скоростной портрет морской поверхности (радиальная скорость движения морской поверхности в координатах дальность - азимут) позволяет определять степень регулярного волнения, турбулентности различного рода, течения. Скоростной портрет позволяет обнаруживать и распознавать морские объекты по их следам на морской поверхности, определять степень волнения в интересах судовождения и участки загрязнения (экология, следы катастроф).

Важным распознавательным признаком являются также конфигурация и взаимное перемещение группы объектов, что требует точного измерения координат и вектора скорости всех объектов в группе.

Селекция ложных целей. Проблема селекции (выделения) среди обнаруженных объектов специально созданных ложных целей (ЛЦ), схожих по ряду распознавательных признаков с заданными объектами, является одной из наиболее сложных.

Методы создания ЛЦ непрерывно совершенствуются. На первом этапе в качестве ЛЦ использовались уголковые отражатели с ЭПР, равной ЭПР объекта. С ростом разрешающей способности потребовались более сложные по конфигурации ЛЦ, которые стали повторять геометрический образ объекта (например, надувные макеты), что определяло сходство РЛИ объекта и ложной цели. Буксируемые (движущиеся) ЛЦ повторяют динамику движения объекта.

Основным направлением решения задачи селекции ЛЦ является увеличение числа распознавательных признаков объекта, формируемых РСА. Чем больше распознавательных признаков используется в РСА, тем сложнее имитировать функцию отражения, схожую с функцией отражения объекта. В этом плане эффективно использование поляризационных и частотных различий функции отражения.

Режимы формирования поляризационных, трехмерных и динамических портретов будут рассмотрены в дальнейших разделах.



Загрузка...