<<
>>

3.1. Метод главных компонент как дополнительный слой СНРБ-сети

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

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

Рисунок 6. Обучающее множество фронтальных изображений человеческих лиц (первые три колонки) и их искаженные варианты распознанные СНРБ-сетью. Программа показала 98%-ю надежность при распознавании специально зашумленных и искаженных изображений тех лиц, которые использовались при обучении. В качестве примера работы программы на рисунке приведены изображения лиц трех людей, различных по полу и возрасту,

введенные в компьютер с видеокамеры, как обучающее множество и их искаженные изображения, распознанные программой. Однако при тестировании на обучающем множестве из 40 лиц, сфотографированных в десяти различных фронтальных позициях, полученных по Интернету с сайта Кембриджского университета [49], программа показала недопустимо высокий процент ошибочного "узнавания чужих" изображений. Основной причиной таких ошибок служила ситуация, когда в пространстве входных признаков с размерностью свыше 2500 множество точек, описывающих признаки человеческого лица, занимает совершенно ничтожное подпространство много меньшей размерности. В этой связи были проведены предварительные вычисления по статистической оценке ковариационной матрицы для имевшихся 400 изображений лиц, после чего с помощью метода главных компонент (МГК) были вычислены коэффициенты ортогонального преобразования Карунена-Лоева [2] в подпространство всего с 60-ю главными компонентами (на рисунке 7 показан график спадания собственных значений ковариационной матрицы с ростом их номера, послуживший обоснованием для выбора размерности подпространства).

Рисунок 7.

Упорядоченные по величине собственные значения матрицы ковариации в

зависимости от их номера. Преобразование Карунена-Лоэва представляет собой линейное преобразование, диагонализирующее матрицу ковариации представленных данных. Поскольку это именно линейное преобразование, то формально его можно реализовать в виде дополнительного слоя нейронной сети, с линейными активационными функциями нейронов. В этом случае задача обучения этого слоя решается отдельно от общего процесса обучения состоит в вычислении собственных значений матрицы ковариации. В силу положительной определенности ковариационной матрицы задача всегда имеет решение, для получения которого мы использовали QL-алгоритм с неявными сдвигами [50].

Весовой вектор этого дополнительного слоя будет равен соответствующим собственным векторам матрицы ковариации. Следует, однако, предупредить, что наблюдалась особая чувствительность МГК к вариациям изображений в освещенности, изменению масштаба и поворотам даже на небольшие углы, что может привести к появлению этих малозначимых для распознавания признаков в качестве главных компонент. 1. ш V; - ЧЯНяВНВ г ы инь - * - J ¦ цш -

ь к 1

ё т

ят,. ; , : : К.

VTi Рисунок 8. Изображены первые 20 собственных векторов набора из 400 лиц из базы [49]. Видно что есть сильная зависимость от освещенности. В этой связи были предприняты попытки проведения исследования по применению вейвлет-преобразований для предварительной обработки изображений с целью устранения влияния вышеназванных факторов разной освещенности и т.д.

<< | >>
Источник: Стадник Алексей Викторович. Использование искусственных нейронных сетей и вейвлет-анализа для повышения эффективности в задачах распознавания и классификации. 2004

Еще по теме 3.1. Метод главных компонент как дополнительный слой СНРБ-сети: