TESE DE MESTRADO APLICAÇÃO DE REDES NEURAIS DE HOPFIELD PARA DETECÇÃO E ESTIMAÇÃO DE MOVIMENTO...
Transcript of TESE DE MESTRADO APLICAÇÃO DE REDES NEURAIS DE HOPFIELD PARA DETECÇÃO E ESTIMAÇÃO DE MOVIMENTO...
TESE DE MESTRADO
APLICAÇÃO DE REDES NEURAIS DE HOPFIELD PARA DETECÇÃO E ESTIMAÇÃO
DE MOVIMENTO EM UM SINALDE VÍDEO DIGITAL
Orientador: Prof. Dr. Cairo L. Nascimento Jr.Orientador: Prof. Dr. Fernando T. Sakane Aluno: Carlos E. C. Santana
• Objetivo• Introdução ao Problema• Justificativa da abordagem adotada• Abordagens Tradicionais• Abordagem Utilizando Redes Neurais de Hopfield• Simulações e Resultados Obtidos• Conclusões • Trabalhos Futuros
Conteúdo da Apresentação
Objetivo
• Estudo da aplicação de técnicas que utilizam redes neurais para a detecção e estimação de movimento na codificação digital de sinais de vídeo.
Introdução ao Problema
• Seja o codificador híbrido abaixo:
+Estimação
demovimento
Codificadorintra-quadro
Memóriade
quadro
Compensaçãode movimento
Decodificadorintra-quadro
Sinal de vídeo digital(Sequência temporal de quadros)
-
Quadro atual
Quadro anterior(referência)
Quadro predito(quadro anterior compensado
em movimento)
Erro depredição
+
++Vetor
movimento
MUX
Introdução ao Problema
• Compensação e estimação de movimento:Quadro referência Quadro atual
Quadro referência compensado emmovimento
Justificativa da Abordagem Adotada
• Compensação de movimento permite predizer melhor o quadro atual, melhorando a eficiência da codificação diferencial.
• Método do casamento de blocos, métodos recursivos (métodos de gradiente) e métodos bayesianos são alguns dos métodos utilizados para detectar e estimar movimento.
Justificativa da Abordagem Adotada
• A exploração 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.
• Sendo as redes neurais uma ferramenta que tem se mostrado eficiente para tal (particularmente pela possibilidade de processamento paralelo), essa tese visou estudar a sua aplicação na detecção e estimação de movimento.
Abordagens Tradicionais
• O padrão MPEG, por exemplo, divide os quadros de um sinal de vídeo em blocos e macroblocos.
• Assim sendo, o padrão MPEG adota a técnica de casamento de blocos para detecção e estimação de movimento.
Abordagens Tradicionais (Casamento de blocos)
Área de busca, G
Quadro referência Quadro atual
Bloco F
Centro do bloco candidato
Centro do bloco candidatomais "parecido" com obloco do quadro atual
Pixels
G
p
p
pp
n+2p
m+2p
n
m
h
v
p = 3
p = 3
V
Abordagens Tradicionais (Casamento de blocos)
• Algumas das principais funções custo:
MSD
MAD
PDC
n
1i
m
1j
2dvj,dhiGj,iFmn
1dv,dh MSD
n
1i
m
1j
dvj,dhiGj,iFmn
1dv,dh MAD
n
1i
m
1j
j,i,dv,dhTdv,dh PDC
Abordagem Utilizando Rede Neural de Hopfield
• A rede neural de Hopfield é um sistema dinâmico (evolui no tempo) 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
• Rede neural uni-dimensional:
N
1jijiji biaskywknet
unipolar.ou bipolar unidade de caso no 0knet se ),k(y
bipolar; unidade de caso no 0knet se ,1
unipolar; unidade de caso no 0knet se ,0
bipolar;ou unipolar unidade de caso no 0knet se ,1
1ky
ii
i
i
i
i
Abordagem Utilizando Rede Neural de Hopfield
• Rede neural bi-dimensional:
j, z
i, x
(N,M)
(1,M)(1,1)
(N,1)
(2,1)
(1, 2)
(2,2) (2,M)
(N,2)
Abordagem Utilizando Rede Neural de Hopfield
• Rede neural bi-dimensional:
ij
xz
N
1x
M
1z
x iz j
ij biaskywknet
bipolar.ou unipolar unidade de caso no 0knet se ),k(y
bipolar; unidade de caso no 0knet se ,1
unipolar; unidade de caso no 0knet se ,0
bipolar;ou unipolar unidade de caso no 0knet se ,1
1ky
ij
ij
ij
ij
ij
ij
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
1i
M
1j
N
1x
M
1z
N
1i
M
1j
ij
ij
xz
ij
xiz j kybiaskykyw
2
1kE
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 à restrição j;
Rj é o peso à 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
• Para rede uni-dimensional: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
2
1Nx
MNN
2N2
1N1
M2N
222
121
M1N
212
111
1NxN
2
1
c
gygygy
gygygy
gygygy
f
f
f
2
1E
2N
1i
M
1j
jijic gyf
2
1E
Abordagem Utilizando Rede Neural de Hopfield
• Para rede uni-dimensional (cont.):
Temos então:
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
• Para rede uni-dimensional (cont.):
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
1i
2cic g
2
1h1 c M, 1 d M e
Abordagem Utilizando Rede Neural de Hopfield
• Para rede bi-dimensional:
2
1Nx
MN
MN
2N
2N
1N
1N
M1
M1
21
21
11
11
1NxN
1
c
gygygy
gygygy
f
f
2
1E
2
MxN
MN
M1
1N
11
NxM
MN
1N
M1
11
1NxN
1
c
yy
yy
gg
gg
diag
f
f
2
1E
2N
1j
M
1i
ij
ijjc ygf
2
1E
Abordagem Utilizando Rede Neural de Hopfield
• Para rede bi-dimensional (cont.):
M
1i
N
1z
iz
N
1j
ij1 NyyE
2N
1j
M
1i
ij2 1yE
M
1i
N
1j
ij
ij
ij3 1yyhE
2RR 21
2
1R 3
Abordagem Utilizando Rede Neural de Hopfield
• Para rede bi-dimensional (cont.):
Igualando as expressões pseudo-energia:
1 i, x M e 1 j, z N ,
coluna) mesma da e linha mesma da fora (unidades j z e i x se ,0w
coluna) mesma uma em (unidades j z e i x se ,ggw
linha) mesma uma em (unidades j z e i x se ,w
unidades) das ação(realiment j z e i x se ,gghw
h2
1
2
Ngfbias
xi z j
xj
ij
xi z j
xi z j
ij
ij
ij
xi z j
ij
ijj
ij
2ij
ij gh
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
• Para rede uni-dimensional e 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
Simulações e Resultados Obtidos
• Para rede bi-dimensional e bloco (24, 64):
Simulações e Resultados Obtidos
Parâmetro Valor
M (número de blocos candidatos englobados pela área de busca) 3 blocos candidatos
N (número de pixels do bloco F, igual a mxn, onde m = n = 2) 4 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,5
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,0001
γ 1
q 0
Simulações e Resultados Obtidos
Número de iterações para a rede convergir para a solução do problema 660
Componente dh do vetor movimento, (deslocamento horizontal) 1 pixel para a esquerda
Componente dv do vetor movimento, (deslocamento vertical) 0 pixel
Conclusões
• Ambas as topologias apresentaram resultados corretos.
• 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 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.