<<
>>

3.2.2 Минимизация ресурсных требований к программной реализации

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

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

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

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

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

Общая область между двумя окнами сканирования

Рис. 3.21 Принцип общих вычислений.

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

На первом шаге алгоритма локализации шаг равен 4 пикселам. Такой выбор шага дает дополнительное преимущество. В слое С1 смещение между последовательными сканированиям также 4 нейрона. Таким образом при полной свертке изображения, итоговый размер плоскости слоя С1 равен (Ж-4)х(Я-4).

где W, Н - ширина и высота исходного изображения соответственно.

В слое S2 смещение между последовательными сканированиями равно

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

В слое С2 смещение между последовательными сканированиям равно 2 нейронам. В слое S2 смещение между последовательными сканированиям равно одному нейрону.

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

Сравнительные данные по объемам вычислений представлены в таблице

3.2.

Таблица 3.2 - Сравнительный анализ количества рассчитываемых нейронов Количество рассчитываемых нейронов Слой при использовании техники общих без использования техники об вычислений щих вычислений С1 80 4480 S1 20 1120 С2 80 3360 S2 20 840

В итоге при использовании принципа общих вычислении, достигается экономия вычислении порядка 40 раз.

На шаге точной локализации шаг сканирования равен 1 пикселу.

Таким образом смещение между последовательными сканированиями в слое С1 равно одному нейрону и в слое S1 технику общих вычислений применить нельзя. Но из топологии следует, что каждой плоскости слоя S1 можно сопоставить четыре плоскости с различной стартовой точкой, то есть (0;0), (0;1), (1;0), (1;1), вычисленные с использованием техники общих вычислений. Подобная методика применяется и к последующим слоям.

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

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

Рис. 3.22 Свертка нейронной сетью полного изображения.

<< | >>
Источник: Макаренко Алексей Александрович. Алгоритмы и программная система классификации полутоновых изображений на основе нейронных сетей: диссертация... кандидата технических наук: 05.13.18. - Москва: РГБ, 2007. 2007

Еще по теме 3.2.2 Минимизация ресурсных требований к программной реализации: