slide1
Download
Skip this Video
Download Presentation
Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации

Loading in 2 Seconds...

play fullscreen
1 / 16

Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации - PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации' - jaafar


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Макет помехоустойчивого нейрофильтра границ для обработки видеоинформации

С.А. Чернышев

Санкт-Петербургский государственный университет аэрокосмического приборостроения2012

slide2
Постановка задачи

Главной задачей проекта:

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

Решение задачи разбито на этапы:

Освоение: САПР Quartus II, NIOS II, Altera SOPC Builder;

Перенос готовой модели нейрофильтра (обученного по одношаговой процедуре обучения) из Matlab на ПЛИС;

Реализация нейрофильтра в виде IP-Core на языке Verilog HDL;

Конфигурация параметров нейрофильтра по JTAG UART;

Создание демонстрационного стенда.

slide3
КОНЦЕПЦИЯ ФИЛЬТРА ГРАНИЦ НА ОСНОВЕ НЕЙРОННОЙ СЕТИ (1)

S1

(S,W)

S2

SNSEN

1

THmin

THmax

Кусочно-линейнаяактивационная функция

F(x)

Фильтр 5*6

S1 S2 S5

S6 S7 S10

S20 .. S25

RESi,j

Изображение

ТЕРМИНОЛОГИЯ

- “ ОБУЧЕНИЕ” процедура определения вектора W и порогов активационной функции ;

“ОБУЧЕНИЕ ЧЕРЕЗ ПОКАЗ“ - “ОБУЧЕНИЕ” c помощью набора “ПРИМЕРОВ” ;

- “ПРИМЕР” –пара изображений “ИСХОДНОЕ ИЗОБРАЖЕНИЕ”и “РЕЗУЛЬТИРУЮЩЕЕ ИЗОБРАЖЕНИЕ”;

slide4
ОДНОШАГОВАЯ ПРОЦЕДУРА ОБУЧЕНИЯ (2)

S1(0,0) S2(0,0)

S1(0,1) S2(0,1) ................. 1

………………………………..

S1(i,j) S2(i,j ) Snsen(i,j) 1

…………………………………

F(0,0)

F(0,1)

…..

………

F( i,j)

………

w1

w2

wnsen+1

=

*

S * W = F - некорректная по Адамару задача для определения W

S - прямоугольная матрица, сформированная из исходного изображения;

F - вектор, сформированный из результирующего изображения;

Регуляризация по Тихонову обеспечивает устойчивое решение

min F(w) = (SW - F, SW – F) +  (W,W)

w

Процедура обучения без учета порогов

W = (ST S +  E) –1 ST F

slide5
S =

F =

S1

F1

S2

F2

Пример_1 :S1 F1

Пример_2 : S2 F2

ОБУЧЕНИЕ ПО НАБОРУ ПРИМЕРОВ

ПРОЦЕДУРА ОДНОШАГОВОГО ОБУЧЕНИЯ

W = (ST S +  E) –1 ST F

СЛУЧАЙ ДВУХ ПРИМЕРОВ

W1 = (S1T S1 +  E) –1 * S1T F1

Обучение по одному примеру

W2 = (S1T S1 + S 2T S2 +  E) –1 * (S1T F1+S2T F2)

Обучение по двум примерам

ПРОЦЕДУРА ДООБУЧЕНИЯ

Введем :

Sek = ∑ SkTSk- матрица предыдущего опытас k примерами

Fek = ∑ SkTFk – вектор опыта с k примерами

Wk+1 = (Sek + S k+1T Sk+1 +  E) –1 * (Fek+Sk+1T Fk+1)

slide6
КЛЮЧЕВЫЕ ВОПРОСЫПРИ СИНТЕЗЕ ФИЛЬТРА

КАКАЯ ДЛИНА ФИЛЬТРА ДОЛЖНА БЫТЬ ИСПОЛЬЗОВАНА ?

  • Условие симметрии ограничивает к-во коэффициентов (весов):
  • 3*3 = > 3
  • 5*5 3+3 => 6
  • 7*7 6+4 => 10

КАКОГО ТИПА ПРИМЕРЫ ДОЛЖНЫ БЫТЬ ИСПОЛЬЗОВАНЫ ?

  • ГРАНИЦЫ ЗАДАВАЕМЫЕ ВРУЧНУЮ
  • С РЕГУЛИРУЕМОЙ ТОЛЩИНОЙ
  • (на изображении толщина 2)?
  • ЛАПЛАС, SOBEL, CANNY ?

КАК МНОГО ПРИМЕРОВ НАДО ?

  • ПРЯМОУГОЛЬНИКИ,КРУГИ, ТИП ШУМА…?;
  • СМЕШАНЫЙ НАБОР …..?
slide7
ж

ц

-

3

з

-

-

-

ґ

-

-

ч

0.105

0.071

2.54

10

0.075

0.099

з

ч

-

-

0.086

0.023

0.149

0.027

0.085

з

ч

-

3

з

ч

=

H52

-

-

ґ

0.018

0.146

0.533

0.15

9.57

10

з

ч

-

-

0.084

0.019

0.136

0.013

0.097

з

ч

з

ч

-

3

и

ш

-

-

ґ

-

-

0.101

0.064

3.808

10

0.071

0.095

:=

-

H52_CONST

2.265

Веса нейрофильтра и их преобразование для представления на аппаратном уровне

Веса нейрофильтра 3х3+1, обучение на по двум

примерам. Границы на изображении, которое хотим

получить задавались вручную.

Веса нейрофильтра 5х5+1, обучение: по двум

примерам.Границы на изображении, которое хотим

получить задавались вручную.

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

Допустим Х – некоторое вещественное число (-1,2365). Х умножаем на 10 000, после чего осуществляем сдвиг влево на 12, что эквивалентно умножению на 4096, и делим на 10 000. Получаем число -5064 или EC38 в шестнадцатеричной системе счисления. Получившийся результат умножаем на значение пикселя (например 138) и получаем -698832 или F55630, после чего осуществляем сдвиг вправо на 12. Итоговое значение будет -171 или F55. Теперь осуществим простое умножение (-1,2365*138)= -170,637. Как видим результаты вполне идентичные. Для сокращения времени расчетов был написан скрипт в MATLAB, который производит необходимые вычисления и выводит результат в шестнадцатеричном виде.

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

Значение пикселя

и веса нейрона

MULT_AD 1D

MULT_ADD 1

3х3

- - - - - - - - - -

ADD

Функция

активации

MULT_ADD 3

Wсв

3х3

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

slide10
Концепция аппаратной реализации нейрона 5х5+1

Значение пикселя

и веса нейрона

MULT_AD 1D

MULT_ADD 1

4х4

- - - - - - - - - -

Функция

активации

ADD

MULT_ADD 6

Wсв

4х4

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

MULT_ADD

ip core
Структура IP-Core

Интеграция на шину Avalon

Top-level

Neuron-level

Входной

видеопоток

Выходной

видеопоток

Сдвиговые

регистры

Умножитель-

сумматор

Параллельный

сумматор

  • IP-Core описывался на Verilog, умножитель, сдвиговый регистр, сумматор -
  • сгенерировали при помощи MegaWizard и подключили в описываемое ядро.
slide13
Используемые ресурсы ПЛИС

А

Б

А - необходимые ресурсы для реализации нейрофильтра 3х3+1;

Б - необходимые ресурсы для реализации нейрофильтра 5х5+1.

Из приведенных выше данных видно, что в структуре 5х5+1 число блоков

DSP увеличилось почти в 2,5 раза.

slide14
Проделанная работа

При аппаратной реализации нейрона были решены следующие проблемы:

Разработка концепции аппаратной реализации нейрона;

Описание арифметики посредством подключения сгенерированных модулей из Altera MegaWizard;

Описание Top-level IP-Core нейрона, интеграция на шину Avalon и его конфигурация через софт-процессор NIOS II в составе SOPC (SystemonaProgrammableChip);

Удобное представление весов нейронапри их переносе из Matlab;

Регулирование при помощи функции активации выходного состояния нейрона.

slide15
Демонстрация рабочего стенда

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

slide16
Используемые публикации
  • Астапкович А.М. Синтез адаптивного помехоустойчивого фильтраграниц
  • на основе нейронной сети. СПб, 2010
  • 2. 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
ad