Научная статья на тему 'Алгоритмы классификации изображений с большим числом категорий объектов'

Алгоритмы классификации изображений с большим числом категорий объектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3251
239
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНОЕ ЗРЕНИЕ / МАШИННОЕ ОБУЧЕНИЕ / КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ / ДЕРЕВО РЕШЕНИЙ / СЛУЧАЙНЫЙ ЛЕС / СЕМАНТИЧЕСКАЯ ИЕРАРХИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Половинкин Алексей Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Половинкин Алексей Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHMS FOR IMAGE CLASSIFICATION WITH A LARGE NUMBER OF OBJECT CATEGORIES

An image classification problem with a large number of object categories is considered. Classification algorithm modifications are proposed which are based on decision trees and their ensembles with the account of semantic hierarchies of objects. The results of numerical experiments presented show better prediction accuracy on a number of data sets.

Текст научной работы на тему «Алгоритмы классификации изображений с большим числом категорий объектов»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 004.932

АЛГОРИТМЫ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ С БОЛЬШИМ ЧИСЛОМ КАТЕГОРИЙ ОБЪЕКТОВ

© 2013 г. А.Н. Половинкин

Нижегородский госуниверситет им. Н.И. Лобачевского alexey .polovinkin@gmail. com

Поступила в редакцию 14.05.2013

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

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

решений, случайный лес, семантическая иерархия.

Введение

Важное прикладное значение имеют задачи классификации изображений с большим числом категорий объектов. Проблемы подобного рода возникают в различных областях: например, поиск изображений по ключевым словам, корректное распознавание объектов для робототехники и т.п. До последнего времени алгоритмы для решения данной задачи мало исследовались, в том числе и ввиду вычислительной сложности. Одни из первых проведенных вычислительных экспериментов подобного рода на базах изображений Caltech-101 [1] и Image-Net [2] показали, что применение общепризнанных на настоящее время алгоритмов не дает удовлетворительной точности распознавания. Лучшие результаты для задач данного типа продемонстрировали два класса алгоритмов. Первый из них основан на использовании векторов Фишера [3] для описания изображений и линейной машины опорных векторов [4] в качестве классификатора. Второй класс алгоритмов использует для описания изображений непосредственно интенсивности пикселей, в качестве классификатора используются конволюци-онные нейронные сети [5]. Альтернативным подходом к улучшению точности распознавания является использование информации о структуре связей между категориями объектов. В работах [6, 7] выдвинута и экспериментально апробирована идея о зависимости качества алгоритмов классификации от того, насколько эти алгоритмы принимают во внимание семантиче-

ские зависимости между рассматриваемыми категориями.

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

Работа построена следующим образом. В разделе 1 приводится описание используемых алгоритмов обучения с учителем «случайный лес» и «машина опорных векторов». В разделе 2 описываются разработанные методы классификации изображений с большим числом категорий с учетом семантической иерархии категорий объектов. Результаты вычислительного эксперимента и их анализ приведены в разделе 2.4.2.

1. Теоретические основы

1.1. AoTHpumM нИучєиия с yчumєoєм «co^учай-иый o.c»

Случайный лес (random forest) [9] является одним из наиболее универсальных и эффективных алгоритмов обучения с учителем, применимым как для задач классификации, так и для задач восстановления регрессии. Идея метода заключается в построении ансамбля параллельно обучаемых независимых деревьев решений [10]. Итоговая классификация объекта выполняется путем голосования всех деревьев, входящих в состав ансамбля.

Среди достоинств алгоритма можно выделить высокое качество предсказания, способность эффективно обрабатывать данные с большим числом категорий и признаков, внут-

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

Алгоритм CART построения дерева решений [10] строит разбиение пространства признаков на непересекающиеся области путем его рекурсивного разбиения. Фактически каждому узлу дерева соответствуют некоторая область пространства признаков и правило, по которому осуществляется ее разделение на две, приписанные к дочерним вершинам. Так как задача построения оптимального дерева, минимизирующего ошибку на обучающей выборке при заданном ограничении на его размеры, является NP-трудной [11], для обучения данной модели используется жадная стратегия максимального уменьшения функции, описывающей неоднородность данных I(D), где D есть область в пространстве признаков, соответствующая некоторому узлу.

Пусть y е {l,...,K}, где K - число категорий объектов, и область D содержит M объектов из обучающей выборки; обозначим относительную частоту категории k в данном узле дерева

pк = -1 УI D(yj = к), где I - индикаторная

функция. Категория к с наибольшей относительной частотой соответствует ответу, предсказываемому для всех объектов, относящихся к данному узлу. В качестве функции, описывающей неоднородность данных в узле I (D), обычно рассматриваются следующие [9]:

• ошибка классификации:

—У I (yj ^ ~) = 1 - Р ~;

M ^-‘xieD j Ук

• индекс Джини:

У* ~p кр ~=У1p к(1 -p к);

• кросс-энтропия:

-УК= 1p кlogp к.

Обучение модели случайного леса состоит из независимого построения определенного количества деревьев по следующей процедуре: генерация случайной подвыборки из обучающей выборки (размер данной подвыборки обычно составляет 50-70% от размера всей обучающей выборки) и построение дерева решений по данной подвыбор-ке (причем в каждом новом узле дерева переменная для разбиения выбирается не из всех признаков, а из случайно выбранного их подмножества небольшой мощности).

1.2. Алгоритм обучения с учителем «машина опорныых векторов»

Метод опорных векторов [4] относится к наиболее известным и широко используемым на практике алгоритмам обучения с учителем. Изначально данный метод был предназначен для задач бинарной классификации, но легко обобщается на задачи классификации с большим числом классов, а также на задачи восстановления регрессии. В ходе обучения алгоритма строится линейный пороговый классификатор

sgn^yj lwjxj - w0 j, где уравнение (w,xxj = w0

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

Чтобы разделяющая гиперплоскость как можно дальше отстояла от точек выборки, ширина полосы должна быть максимальной. Нетрудно показать, что ширина полосы максимальна, когда норма вектора w минимальна. Итак, в случае, когда выборка линейно разделима, достаточно простые геометрические соображения приводят к следующей задаче: требуется найти такие значения параметров w и w0, при которых норма вектора w минимальна при некоторых ограничениях. Таким образом, исходная задача бинарной классификации свелась к задаче квадратичного программирования.

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

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

Для того чтобы использовать метод опорных векторов для задачи классификации с числом классов K > 2 , возможны две стратегии:

1. «Каждый против каждого»: обучить

K(K -1)/2 различных моделей на всех возможных подзадачах бинарной классификации. Новый объект классифицируется всеми построенными моделями, затем выбирается преобладающий класс.

2. «Один против всех»: обучить K моделей на задачах бинарной классификации вида «один класс против всех остальных». Класс нового объекта выбирается по максимальному значению margin.

2. Алгоритмы классификации изображений,

учитывающие семантическую иерархию категорий

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

2.1. Описание базы WordNet

WordNet [8] представляет собой большую базу данных существительных, глаголов, прилагательных и наречий английского языка, сгруппированных в наборы синонимов, каждый из которых соответствует определенной сущности. Между данными наборами определены связи, которые отражают их семантические и лексические отношения. Среди типов этих связей можно выделить отношение включения, которое связывает более общие понятия (например, «мебель») с более детальными (например, «шкаф»). Последний, в свою очередь, может быть связан с понятием «книжный шкаф» и т.д. (очевидно, что данное отношение обладает свойством транзитивности). Общую структуру можно описать в виде направленного ациклического графа, вершинам которого соответствуют понятия, а ребрам - отношения между данными понятиями. В построенном графе можно выделить корневую вершину, которой соответствует понятие «сущность», являющуюся общим предком для всех остальных вершин.

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

Z~w1rЬ^Pr , где веса w вычисляются с по-

кфк ккГкГк ’ " У

мощью следующего алгоритма.

Вход: Н - граф, описывающий структуру понятий в базе WordNet, Ъ - высота дерева; {С,,..., } - категории объектов, для которых

необходимо вычислить веса.

Для всех 7 = 1,..., К

a) Щ = 0;

b) для всех 7=7 +1,..., К

г Вычислить Ъ(7,7) - максимальную глубину узла, являющегося общим предком для категорий С1 и С.в графе Н.

п. ж.=Ъ - Ъ(7,7), w..=w...

11 V ~ I? / ~ 11 11

Для всех i = 1,..., K

нормировать w.. таким образом, чтобы

2>.=1.

После построения модифицированной функции штрафа применяется обычный алгоритм построения случайного леса [9].

2.3. Иерархическая классификация

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

ведущая из корня дерева к терминальному узлу, соответствующему тому или иному классу.

Для построения дерева, описывающего иерархию объектов в базе WordNet, разработан следующий алгоритм:

Вход: Н - граф, описывающий структуру понятий в базе WordNet; {С ,...,С } - катего-

’ '1 ’ ’ 1т)

рии объектов, для которых необходимо построить разбиение.

1. Если т = 1, то СТОП.

2. Вычислить Ъ(71,..., /т) - минимальную

глубину узла, являющегося общим предком для всех категорий С, ,...,С^ в графе Н.

3. Для всех / = /р..., /т

Вычислить С (г) - предка узла / глубины

Ъ(/1,..., 7т ) + 1

4. Выполнить разбиение множества (С4,..., С } на подмножества СО, и... и СОг , где

'т , 1 К

СОк = {С.,..., С.к} С (71) = С (у2) = ... = С (.к).

5. Выполнить шаги (1)-(4) для всех СОх,.., СОК.

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

Вход: D = {(х7,у'), / = 1,...,п} - обучающая выборка; Т - дерево, описывающее иерархию категорий объектов

1. Для каждого нетерминального узла t е Т

a) получить список категорий {С'!,..., С },

соответствующих данному узлу;

b) выбрать подмножество из обучающей выборки В с В, такое, что метки категорий для всех объектов из В принадлежат множеству {С.-.-Ст }

c) получить список потомков узла /: {1;...,(К} и соответствующих им наборов категорий СО1,..., СОК;

d) обучить классификатор на наборе данных В , для которого векторы признаков х' соответствуют векторам признаков из В, а категории у‘ е {l,...,к} (в зависимости от того, какому набору категорий из СО 1,...,СОК принадлежит у').

2.4. Вычислительный эксперимент

2.4.1. Описание используемых данных и алгоритмов

Для проведения вычислительного эксперимента использовались наборы данных Caltech-101 [1], Caltech-256 [1] и ILSVRC2010 [13]. База данных Caltech-101 содержит 9144 изображения (размером 300 на 200 пикселей), относящиеся к 101 различной категории, число изображений на одну категорию изменяется от 31 до 800 (в среднем на одну категорию приходится около 50 изображений). Caltech-256 является расширением базы Caltech-101 (число категорий равно 256; общее число изображений - 30608); минимальное число изображений, относящихся к одной категорий, увеличилось до 80, максимальное - до 827; среднее число изображений на одну категорию - до 100). База данных ILSVRC2010 представляет собой подмножество базы данных ImageNet, содержащее 1000 категорий (общее число изображений равно 1200000, максимальная размерность изображения равна 500 пикселям).

Для построения признакового описания изображений использовался bag-of-words подход [14]. Сначала каждое изображение масштабировалось таким образом, чтобы максимальная размерность не превосходила 300 пикселей. Из масштабированного таким образом изображения извлекались SIFT признаки (для ускорения вычислений использовалась dense SIFT модификация [15], дескрипторы извлекались из перекрывающихся патчей размером 20 х 20 пикселей, взятых с шагом в 10 пикселей). Из извлеченных дескрипторов случайным образом формировалась выборка (объем выборки: для набора данных Caltech-101 - 105 объектов, для набора данных Caltech-256 - 106 объектов, для набора данных ILSVRC2010 - 107 объектов). Полученная выборка подавалась на вход алгоритма кластеризации «К means», центроиды построенных кластеров соответствовали «визуальным словам» (число кластеров для наборов данных Caltech-101 и Caltech-256 принималось равным 1000, для ILSVRC2010 - 2000). Итоговое признаковое описание изображения представляет собой гистограмму, описывающую частоту вхождения «визуальных слов» в набор дескрипторов ключевых точек для данного изображения.

Проводилось сравнение алгоритмов, использующих предлагаемую здесь методику: случайный лес с модифицированной матрицей штрафа (RF_COST_MATRIX), иерархический алгоритм классификации изображений на основе случайного леса (RF_HIERARCHICAL), иерархический алгоритм классификации изображений на основе машины опорных векторов (SVM_ HEIRARCHICAL), - с «классическими» алгоритмами «случайный лес» (RF) и «машина опорных

Таблица 1

Ошибка классификации на тестовой выборке

Caltech-101 Caltech-256 ILSVRC2010

RF 0.181 0.325 0.497

RF COST MATRIX 0.172 0.317 0.523

RF HIERARCHICAL 0.154 0.265 0.445

SVM HIERARCHICAL 0.171 0.281 0.482

SVM ONE VS ALL 0.191 0.331 0.423

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 2

Зависимость ошибки классификации от структуры данных

ILSVRC 100 RANDOM ILVSRC 100 HIERARCHICAL

RF 0.312 0.271

RF COST MATRIX 0.287 0.225

RF HIERARCHICAL 0.275 0.151

SVM HIERARCHICAL 0.271 0.163

SVM ONE VS ALL 0.151 0.149

100 200 300 4-00 500 600 700 300 900 10С0

Число категорий

Рис. 1. Зависимость тестовой ошибки от числа категорий объектов в наборе данных

векторов» со схемой принятия решений «один против всех» (SVM_ONE_VS_ALL).

Вследствие высокой вычислительной сложности для алгоритмов, использующих машину опорных векторов, применялись только линейные ядра (использовалась оптимизированная библиотека LIBLINEAR [16]).

2.4.2. Результаты вычислительного эксперимента

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

Видно, что иерархический алгоритм классификации изображений на основе случайного леса дает лучшую точность предсказания на наборах данных СаИеЛ-101 и СаИеЛ-256. Машина опорных векторов демонстрирует небольшое преимущество на наборе данных ILSVRC-2010.

Рассмотрим, как меняется ошибка классификации в зависимости от числа категорий в ILSVRC-2010, для этого случайным образом выберем подмножество категорий в данном наборе данных (изменяя мощность данного подмножества от 100 до 1000 с шагом, равным 100) и построим график (см. рис. 1) зависимости ошибки классификации на тестовой выборке от числа категорий.

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

В работе также исследовалась зависимость ошибки предсказания от структуры рассматриваемых данных. Для проведения эксперимента

было выбрано подмножество ILSVRC2010, содержащее 100 категорий двумя различными способами: 1) случайным образом (ILSVRC_ 100_RANDOM); 2) выбирались категории, относящиеся к четырем высокоуровневым понятиям базы WordNet (ILVSRC_100_ HIERARCHICAL). Как видно из приведенных в таблице 2 результатов эксперимента, использование иерархических подходов дает существенное улучшение на категориях, организованных в соответствии с семантической структурой WordNet.

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

Автор благодарит В.Л. Ерухимова, Н.Ю. Золотых и И.Б. Меерова за полезные обсуждения.

Работа выполнена в рамках программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», государственный контракт № 11.519.11.4015.

Список литературы

1. CaltechDatasets. URL: http://www.vision.caltech.edu /html-files/archive.html (дата обращения 01.03.2013).

2. Deng J., Dong W., Socher R., et al. ImageNet: A large-scale hierarchical image database // Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2009. P. 248-255.

3. Perronnin F., Liu Y., Sanchez J., Poirier H. Large-Scale Image Retrieval with Compressed Fisher Vectors // Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2010. P. 3 3 84—3 39i

4. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. Springer, 2008.

5. Krizhevsky A., Sutskever I., Hinton G. ImageNet Classification with Deep Convolutional Neural Networks // Advances in Neural Information Processing Systems (NIPS). 2012. P. і І06—І ii4.

6. Deng J., Berg A., Fei-Fei L. Hierarchical Semantic Indexing for Large Scale Image Retrieval // Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2011.

7. Deng J., Berg A., Li K., Fei-Fei L. What does classifying more than 10,000 image categories tell us? // Proc. of the 12th European Conference of Computer Vision. 2010. P. 71-84.

8. Fellbaum C. WordNet: An Electronic Lexical Database. MIT Press, 1998.

9. Breiman L. Random Forests // Machine Learning. 2001. V. 45. № i. P. 5-32.

10. Breiman L., Friedman J.H., Olshen R.A., Stone C.J. Classification and Regression Trees. Wadsworth & Brooks, 1984.

11. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, і 982.

12. Griffin G., Perona P. Learning and using taxonomies for fast visual categorization // Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2008. P. 1-8.

13. Large Scale Visual Recognition Challenge 2010 (ILSVRC2010). URL: http://www.image-net.org/ challenges/ LSVRC/2010/index (дата обращения 01.03.2013).

14. Csurka G., Bray C., Dance C., Fan L. Visual categorization with bags of keypoints // Workshop on Statistical Learning in Computer Vision, ECCV. 2004. P. 1-22.

15. Bosch A., Zisserman A., Munoz X. Image classifca-tion using random forests and ferns // Proc. of the IEEE 11th International Conference on Computer Vision (ICCV). 2007. P. 1-8.

ALGORITHMS FOR IMAGE CLASSIFICATION WITH A LARGE NUMBER OF OBJECT CATEGORIES

A.N. Polovinkin

An image classification problem with a large number of object categories is considered. Classification algorithm modifications are proposed which are based on decision trees and their ensembles with the account of semantic hierarchies of objects. The results of numerical experiments presented show better prediction accuracy on a number of data sets.

Keywords: computer vision, machine learning, image classification, decision tree, random forest, semantic hierarchy.

i Надоели баннеры? Вы всегда можете отключить рекламу.