Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации С.А. Чернышев Санкт-Петербургский государственный университет аэрокосмического.

Презентация:



Advertisements
Похожие презентации
Синтез адаптивного помехоустойчивого фильтра границ на основе нейронной сети Синтез адаптивного помехоустойчивого фильтра границ на основе нейронной сети.
Advertisements

Синтез нейроподобных помехоустойчивых детекторов границ магистрант Чернышев С. А. Группа 4646 М Санкт-Петербургский государственный университет аэрокосмического.
Тема 10. Архитектура и алгоритмы обучения НС Основные парадигмы нейронных сетей обучения с учителем Однослойный перцептрон f f f х1.
Ассоциативная память. Ассоциативная сеть прямого распространения. 1 X 1 Y 1 X 2 Y 2 X i Y i X n Y n 2 i n... Y j = i=1 N w ij x i, j=1,M (*)
© ElVisti Лекция 10 Основные сведения о нейронных сетях Дмитрий Владимирович ЛАНДЭ МЕЖДУНАРОДНЫЙ СОЛОМОНОВ УНИВЕРСИТЕТ.
10. 3 Повносвязные нейронные сети со смешанным обучением Нейронная сеть Хопфилда ( Hopfield Net)
Сеть поиска максимума (MAXNET) Сеть поиска максимума с прямыми связями – слогослойная нейронная сеть определяющая, какой из входных сигналов имеет.
Вероятностная НС (Probability neural network) X 1 X n... Y 1 Y m Входной слой Скрытый слой (Радиальный) Выходной слой...
Моделирование и исследование мехатронных систем Курс лекций.
Нейросетевые технологии в обработке и защите данных Обработка данных искусственными нейронными сетями (ИНС). Лекция 5. Алгоритмы обучения искусственных.
Irina Логические элементы компьютера Логические схемы, триггеры, сумматоры.
Лекция 6. Нейронные сети Хопфилда и Хэмминга Среди различных конфигураций искусственных нейронных сетей (НС) встречаются такие, при классификации которых.
10.2 Основные парадигмы нейронных сетей обучения без учителя Самоорганизующиеся карты признаков Кохонена (Self-organized map) Кохонена... Выходные.
Система управления РТК Основная задача системы управления роботом – автоматизация деятельности человека-оператора. Составные части: Система технического.
Устройства деления вещественных и целых чисел для системы на кристалле «МЦСТ-4R» Работа выполнена Беляковой Ольгой Игоревной Научный руководитель Пивненко.
АДАПТИВНОЕ УПРАВЛЕНИЕ С ИДЕНТИФИКАЦИЕЙ. Введение В адаптивных системах обработки информации и управления происходит приспособление к изменяющимся условиям.
Irina Логические элементы компьютера Логические схемы, триггеры, сумматоры.
Сеть поиска максимума (MAXNET) Сеть поиска максимума с прямыми связями – слогослойная нейронная сеть определяющая, какой из входных сигналов имеет.
Тема 9 Тема 9 Шифраторы и дешифраторы Сумматоры и полусумматоры.
Метод моделирования статических систем по экспериментальным данным.
Транксрипт:

Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации С.А. Чернышев Санкт-Петербургский государственный университет аэрокосмического приборостроения 2012

Постановка задачи Главной задачей проекта: Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации является аппаратная реализация нейрофильтра для выделения границы на зашумленном видеоизображении в реальном масштабе времени. Решение задачи разбито на этапы: 1.Освоение: САПР Quartus II, NIOS II, Altera SOPC Builder; 2.Перенос готовой модели нейрофильтра (обученного по одношаговой процедуре обучения) из Matlab на ПЛИС; 3.Реализация нейрофильтра в виде IP-Core на языке Verilog HDL; 4.Конфигурация параметров нейрофильтра по JTAG UART; 5.Создание демонстрационного стенда.

ТЕРМИНОЛОГИЯ - ОБУЧЕНИЕ процедура определения вектора W и порогов активационной функции ; ОБУЧЕНИЕ ЧЕРЕЗ ПОКАЗ - ОБУЧЕНИЕ c помощью набораПРИМЕРОВ ;ОБУЧЕНИЕ ЧЕРЕЗ ПОКАЗ - ОБУЧЕНИЕ c помощью набораПРИМЕРОВ ; - ПРИМЕР – пара изображений ИСХОДНОЕ ИЗОБРАЖЕНИЕ иРЕЗУЛЬТИРУЮЩЕЕ ИЗОБРАЖЕНИЕ; S1S1 S2S2 S NSEN 1 (S,W) RESi,j S 1 S 2 S 5 S 6 S 7 S 10 S 20.. S 25 Изображение Фильтр 5*6 TH min TH max КОНЦЕПЦИЯ ФИЛЬТРА ГРАНИЦ НА ОСНОВЕ НЕЙРОННОЙ СЕТИ (1) КОНЦЕПЦИЯ ФИЛЬТРА ГРАНИЦ НА ОСНОВЕ НЕЙРОННОЙ СЕТИ (1) Кусочно- линейная активационная функция F(x)

ОДНОШАГОВАЯ ПРОЦЕДУРА ОБУЧЕНИЯ (2) S 1 (0,0) S 2 (0,0) S 1 (0,1) S 2 (0,1) ……………………………….. S 1 ( i,j ) S 2 (i,j ) S nsen ( i,j ) 1 ………………………………… w 1 w 2 w nsen+1 F(0,0) F(0,1) ….. ……… F( i,j) ……… * = min F(w) = (SW - F, SW – F) + (W,W) w Регуляризация по Тихонову обеспечивает устойчивое решение W = (S T S + E) –1 S T F Процедура обучения без учета порогов S * W = F - некорректная по Адамару задача для определения W S - прямоугольная матрица, сформированная из исходного изображения; F - вектор, сформированный из результирующего изображения;

ОБУЧЕНИЕ ПО НАБОРУ ПРИМЕРОВ ПРОЦЕДУРА ОДНОШАГОВОГО ОБУЧЕНИЯ W = (S T S + E) –1 S T F Пример_1 : S 1 F 1 Пример_2 : S 2 F 2 S = S1S1 S2S2 F = F1F1 F2F2 ПРОЦЕДУРА ДООБУЧЕНИЯ Введем : Se k = S k T S k - матрица предыдущего опыта с k примерами Fek = Sk T F k – вектор опыта с k примерами W k+1 = (Se k + S k+1 T S k+1 + E) –1 * (Fe k +S k+1 T F k+1 ) W 1 = (S 1 T S 1 + E) –1 * S 1 T F 1 W 2 = (S 1 T S 1 + S 2 T S 2 + E) –1 * (S 1 T F 1 +S 2 T F 2 ) Обучение по одному примеру Обучение по двум примерам СЛУЧАЙ ДВУХ ПРИМЕРОВ

КЛЮЧЕВЫЕ ВОПРОСЫ ПРИ СИНТЕЗЕ ФИЛЬТРА КЛЮЧЕВЫЕ ВОПРОСЫ ПРИ СИНТЕЗЕ ФИЛЬТРА КАКАЯ ДЛИНА ФИЛЬТРА ДОЛЖНА БЫТЬ ИСПОЛЬЗОВАНА ? Условие симметрии ограничивает к-во коэффициентов (весов): - 3*3 = > 3 - 5*5 3+3 => 6 - 7*7 6+4 => 10 КАКОГО ТИПА ПРИМЕРЫ ДОЛЖНЫ БЫТЬ ИСПОЛЬЗОВАНЫ ? КАК МНОГО ПРИМЕРОВ НАДО ? - ГРАНИЦЫ ЗАДАВАЕМЫЕ ВРУЧНУЮ С РЕГУЛИРУЕМОЙ ТОЛЩИНОЙ (на изображении толщина 2) ? - ЛАПЛАС, SOBEL, CANNY ? - ПРЯМОУГОЛЬНИКИ, КРУГИ, ТИП ШУМА…?; - СМЕШАНЫЙ НАБОР …..?

H ґ ґ ґ H52_CONST2.265 Веса нейрофильтра и их преобразование для представления на аппаратном уровне Веса нейрофильтра 3х3+1, обучение на по двум примерам. Границы на изображении, которое хотим получить задавались вручную. Веса нейрофильтра 5х5+1, обучение: по двум примерам.Границы на изображении, которое хотим получить задавались вручную. Ниже приведем пример перевода вещественных значений весовых коэффициентов в целочисленный вид, для их использования в аппаратной реализации. Допустим Х – некоторое вещественное число (-1,2365). Х умножаем на , после чего осуществляем сдвиг влево на 12, что эквивалентно умножению на 4096, и делим на Получаем число или EC38 в шестнадцатеричной системе счисления. Получившийся результат умножаем на значение пикселя (например 138) и получаем или F55630, после чего осуществляем сдвиг вправо на 12. Итоговое значение будет -171 или F55. Теперь осуществим простое умножение (-1,2365*138)= -170,637. Как видим результаты вполне идентичные. Для сокращения времени расчетов был написан скрипт в MATLAB, который производит необходимые вычисления и выводит результат в шестнадцатеричном виде.

Реализация умножения значения пикселя на весовой коэффициент нейрофильтра Использован модуль (MULT_ADD из Altera MegaWizard) для умножения одной пары значений, поэтому сумматор на выходе не используется. Если перемножается больше одной пары значений, то на выходе модуля имеется сумматор (макс. число перемножаемых пар, которое можно сконфигурировать в одном модуле, значений равно 4). По шине dataa_0 передается весовой коэффициент нейрофильтра, поскольку он может быть как отрицательным, так и положительным то тип данных передаваемый по этой шине сконфигурирован, как Signed. Разрядность шины выбиралась в соответствии с разрядностью весовых коэффициентов, полученных в Matlab, при их переводе из вещественных в целочисленные. По шине datab_0 передается значение пикселя, поэтому тип данных передаваемых по этой шине сконфигурирован, как Unsigned. А разрядность данной шины равна 8 (от 0 до 255 соответственно). Выходная шина в 28 бит выбрана не случайно, поскольку после умножения значения пикселя и весового коэффициента нейрофильтра осуществляется сдвиг вправо на 12 (см. слайд выше), то на следующий за модулями MUTL_ADD параллельный сумматор подаются 16 битные значения. Умножение происходитс приходом сигнала разрешения ena0, по фронту синхросигнала clock0.

Концепция аппаратной реализации нейрона 3х3+1 Каждый элемент MULT_ADD сконфигурирован для перемножения 3-х пар значений на входе модуля и сложения полученных результатов умножения на выходе. После чего с каждого блока MULT_ADD данные подаются на параллельный сумматор ADD, а в последующем на блок функции активации (порогового значения). Значение Wсв (десятый весовой коэффициент нейрофильтра) сразу подается на параллельный сумматор. MULT_AD 1D Значение пикселя и веса нейрона Wсв MULT_ADD 3 MULT_ADD 1 ADD х3 Функция активации

Концепция аппаратной реализации нейрона 5х5+1 В данном случае в модуль MULT_ADD отвечает за перемножение 4-х пар значений (максимально возможное число перемножаемых значений, которое можно сконфигурировать). Поскольку необходимо перемножить 25 пар значений, а одним модулем перемножается 4 пары, то используется 6 модулей по 4 и один модуль для перемножения одной пары (значение пикселя и весового коэффициента нейрофильтра). Wсв – 26-й весовой коэффициент нейрофильтра. MULT_AD 1D Значение пикселя и веса нейрона Wсв MULT_ADD 6 MULT_ADD 1 MULT_ADD ADD х4 Функция активации

Структура IP-Core Top-level Neuron-level Сдвиговые регистры Умножитель- сумматор Параллельный сумматор Входной видеопоток Выходной видеопоток IP-Core описывался на Verilog, умножитель, сдвиговый регистр, сумматор - сгенерировали при помощи MegaWizard и подключили в описываемое ядро. Интеграция на шину Avalon

Компоновка проекта в Altera SOPC Builder

Используемые ресурсы ПЛИС АБ А - необходимые ресурсы для реализации нейрофильтра 3х3+1; Б - необходимые ресурсы для реализации нейрофильтра 5х5+1. Из приведенных выше данных видно, что в структуре 5х5+1 число блоков DSP увеличилось почти в 2,5 раза.

Проделанная работа При аппаратной реализации нейрона были решены следующие проблемы: 1.Разработка концепции аппаратной реализации нейрона; 2.Описание арифметики посредством подключения сгенерированных модулей из Altera MegaWizard; 3.Описание Top-level IP-Core нейрона, интеграция на шину Avalon и его конфигурация через софт-процессор NIOS II в составе SOPC (System on a Programmable Chip); 4.Удобное представление весов нейрона при их переносе из Matlab; 5.Регулирование при помощи функции активации выходного состояния нейрона.

Демонстрация рабочего стенда Инверсия выходного видеопотока, при пороговом значении = 15

Используемые публикации 1.Астапкович А.М. Синтез адаптивного помехоустойчивого фильтра границ на основе нейронной сети. СПб, Astapkovitch A.M. Оne step learning procedure for neural net control system. Proc. International forum Information systems. Problems, perspectives, innovation approaches, p.3-9,SUAI Saint-Petersburg, 2007