vi sbai - bauru set/2003 aplicaÇÃo de redes neurais de hopfield para detecÇÃo e estimaÇÃo de...
TRANSCRIPT
VI SBAI - Bauru Set/2003
APLICAÇÃO DE REDES NEURAIS DE HOPFIELD PARA DETECÇÃO E ESTIMAÇÃO
DE MOVIMENTO ENTRE DOIS QUADROS DE UM SINAL DE VÍDEO DIGITAL
Eng. Carlos E. C. Santana (MSc.), EMBRAERProf. Dr. Cairo L. Nascimento Jr., ITA
Prof. Dr. Fernando T. Sakane, ITA
Objetivo
• Estudo e aplicação de técnicas que utilizam redes neurais de Hopfield para detecção e estimação de movimento na codificação digital de sinais de vídeo.
Justificativa do Estudo em Questão
• Detecção e estimação de movimento permite melhorar a eficiência do codificador digital de sinais de vídeo.
• Métodos atuais de detecção de movimento, como casamento de blocos, métodos recursivos e métodos bayesianos, requerem grande capacidade de processamento.
Justificativa do Estudo em Questão
• A pesquisa de técnicas de detecção e estimação de movimento ainda é um campo aberto de pesquisa, e que pode ser colocado como um problema de otimização.
• Redes neurais de Hopfield é uma ferramenta que tem se mostrado eficiente para tal tipo de problema, particularmente pela possibilidade de processamento paralelo.
Abordagem Utilizando Rede Neural de Hopfield
• A rede neural de Hopfield é um sistema dinâmico não-linear.
• Determinam-se os parâmetros da rede neural utilizando-se o valor da luminância dos pixels dos quadros atual e referência.
• A rede parte de um estado inicial e atinge um estado final que define a solução do problema (o vetor movimento).
N
1jijiji biaskywknet
Abordagem Utilizando Rede Neural de Hopfield
• Rede neural uni-dimensional:
bias 1 bias 2 bias 3 bias N
y 1 y 2 y 3 y N
w 1N
w 13 w 23
w 2N w 3N
w 33
w NN
w N3
w 12
w 11
Abordagem Utilizando Rede Neural de Hopfield
• A rede converge para um ponto de equilíbrio estável se:• 1) a atualização das suas unidades for
assíncrona e usar a função “threshold”,
• 2) W simétrica e Wii 0.
N
1iii
N
1i
N
1jjiij kybiaskykyw
2
1kE
Abordagem Utilizando Rede Neural de Hopfield
• Para problemas de otimização utilizando redes neurais de Hopfield:
onde: Ej é a expressão da função pseudo-energia da restrição j;
Rj é o peso da restrição j.
j
jjcustop EREE
Abordagem Utilizando Rede Neural de Hopfield
j
jjcustop EREE
Área de busca, G
Quadro referência Quadro atual
Bloco F
Pixelsh
v
G
p
p
pp
n+2p
m+2p
n
m
P=2
P=2
G1
G2
Gp+1
G2p+1G(2p+1)2
G2p+2
G2p+3
G2(2p+1) G4(2p+1)
G4(2p+2)
f1 fm+1 …fm(n-1)+1f2 fm+2 ... fm(n-1)+2. . .. . .fm f2m … fnm
Bloco candidato
Centro do blococandidato Gi
Abordagem Utilizando Rede Neural de Hopfield
• Expressão da função pseudo-energia:
2
1MxM
2
1
NxM
MN
2N
1N
M2
22
12
M1
21
11
1NxN
2
1
c
y
y
y
ggg
ggg
ggg
f
f
f
2
1E
2N
1i
M
1j
jijic gyf
2
1E
Abordagem Utilizando Rede Neural de Hopfield
• Expressão da função pseudo-energia da restrição 1:
• Temos então a expressão final da função pseudo-energia para a rede neural de Hopfield:
M
1jjjj1 )1y(yhE
M
1jjjj
N
1i
M
1j
N
1i
M
1j
M
1k
ki
jikj
jiji
N
1i
2ip 1yyhggyy
2
1gyff
2
1E
Abordagem Utilizando Rede Neural de Hopfield
• Igualando as expressões pseudo-energia:
d c se ,h2g
d; c se ,gg
w
hgfbias
N
1ic
2ci
N
1i
di
ci
cd
c
N
1i
ciic
N
i 1
2cic g
2
1h1 c M, 1 d M e
Simulações e Resultados Obtidos
1. Escolher o bloco do quadro atual,2. Determinar os parâmetros bias e W da rede
neural,3. Inicializar as unidades da rede,4. Atualizar as unidades de maneira assíncrona
(utilizando “simulated annealing”) até a rede convergir para um ponto de equilíbrio estável,
5. Nesse caso o estado das unidades define o vetor movimento do bloco em relação ao quadro referência.
Simulações e Resultados Obtidos
352 pixels
240 pixels
(1,1) (1,3)(1,2)
m
n
(2,1) (2,3)(2,2)
(1,(240-2m):n)
((352-2n):m,1) ((352-2n):m,2) ((352-2n):m,(240-2m):n)
n
m
m
n
Quadro Atual
352 pixels
(1,1) (1,3)
(2,3)
(1,(240-2m):n)
((352-2n):m,1)
n
m
m
n
Quadro Referência
((352-2n):m,(240-2m):n)
240 pixels
Área deBusca
Simulações e Resultados Obtidos
• Vetor movimento para o bloco (6, 16):
Simulações e Resultados Obtidos
N
1i
2cic g
2
1K
N
1i
2cic g
2
1K
N
1i
2cic g
2
1K
N
1i
2cic g
2
1K
N
1i
2cic g
2
1h
N
1i
2cic g
2
1h
N
1i
2cic g
2
1h
N
1i
2cic g
2
qh
Parâmetro Valor
M (número de blocos candidatos englobados pela área de busca)
49 blocos candidatos
N (número de pixels do bloco F, igual a mxn, onde m = n = 8)
64 pixels
Nit (número máximo de iterações da rede neural) 10000 iterações
0 (ganho da função sigmóide utilizado para definir o
estado inicial das unidades da rede neural)
0,1
F (ganho da função sigmóide quando a iteração da rede
for Nit)
25
(limiar que define a convergência da rede) 0,00001
q (ver Nota abaixo) 1
Simulações e Resultados Obtidos
Custo fornecido pelo bloco candidato mais parecido com o bloco F 0
Componente dh do vetor movimento, (deslocamento horizontal) 1 pixel para a esquerda
Componente dv do vetor movimento, (deslocamento vertical) 1 pixel para cima
Número de iterações para a rede convergir para a solução do problema
266
Componente dh do vetor movimento, (deslocamento horizontal) 1 pixel para a esquerda
Componente dv do vetor movimento, (deslocamento vertical) 1 pixel para cima
Simulações e Resultados Obtidos
Conclusões
• Resultado utilizando rede neural foi correto.• Verificou-se que os parâmetros da rede devem ser
ajustados para cada bloco dentro de uma mesma imagem.
• Aumentando-se o número de unidades da rede verifica-se uma maior dificuldade no ajuste dos parâmetros que definem a dinâmica da rede neural.
• É possível diminuir o número de iterações da rede, mas isso requer novo ajuste dos parâmetros que definem a dinâmica da rede neural.
Perspectivas Futuras
• Desenvolver método para melhor ajustar os parâmetros das redes neurais visando menor dependência dos blocos e maior velocidade de convergência.
• Comparação da eficiência (em número de operações) entre as técnicas utilizando redes neurais e da busca exaustiva.