Splines A Perfect Fit for Signal and Image Processing Michael Unser, IEEE Signal Processing Mag....

Post on 07-Apr-2016

227 views 0 download

Transcript of Splines A Perfect Fit for Signal and Image Processing Michael Unser, IEEE Signal Processing Mag....

SplinesA Perfect Fit for Signal and Image Processing

Michael Unser, IEEE Signal Processing Mag. 1999

Grupo de Discussões InCor - São Paulo, 29 de agosto de 2008

Mônica Matsumoto

Domínio discreto: l2(Zp)

f(x), x Zp

Objetivos Splines

• Amostragem e aquisição de sinais– interpolação

• Algorítimos contínuos e discretos– Detecção de contornos, registration..

• Abordagens Multi-escalas– Espaço de escalas (fator m de dilatação)– Pirâmides, wavelets– Multi-resolução

Domínio contínuo: L2(Rp)

f(x), x Rp

Splines: Definição• Def: uma função s(x) é um polinômio spline de ordem n com nós xk, se

satisfizer as seguintes propriedades:– s(x) é um polinômio contínuo por partes de grau n dentro de cada intervalo

[xk, xk+1[.– Derivadas até ordem n-1 contínuas nos pontos xk.

• Graus de liberdade por segmento: 1

n+1 – n = 1(coeficientes) (restrições de cont até ordem n-1) (grau de liberdade)

• Ex. Polinômio de terceira ordem. f(x) = ax3+bx2+cx+d– Ordem: 3 n, – Coeficientes (a,b,c,d): 4 n+1, – Restrição de suavidade (derivada no ponto):3 n {s(xk), s’(xk), s’’(xk)}

B-Splines

0(x)=

..,021,

21

21,1

cc

x

x

B-Spline de ordem n Convolução (n+1) vezes da B-Spline de ordem Zero

Representação B-Spline

• Schoenberg, 1946 • Representação única por expansão na base de B-splines (combinação linear de coeficientes c(k) única, ver definições de produto interno e base deste espaço de funções)

Zk

n kxkcxs )()()(

Representação B-Spline: Ordem 0

• Exemplo 0. Decomposição em combinação linear em B-Splines de ordem Zero.

...)3().3()2().2()1().1()().0(...)( 0000 xcxcxcxcxs

Zk

n kxkcxs )()()(

Analógico Digital

Representação B-Spline: Ordem 1

• Exemplo 1. Decomposição em combinação linear em B-Splines de ordem Um.

...)3().3()2().2()1().1()().0(...)( 1111 xcxcxcxcxs

Zk

n kxkcxs )()()(

Analógico Digital

Representação B-Spline: Ordem n

• Para ordem 0 e 1: c(k) = s(xk)• E demais ordens??? Situação mais

complexa. – Técnicas numéricas com matrizes. – Técnicas de processamento de sinais

Filtragem digital.

Interpolação B-Spline via Filtro Digital

• Kernel bnm das B-Splines discretas, amostragem da B-

Spline de ordem n, expandida por um fator m

contínuo discreto

Interpolação B-Spline via Filtro Digital

• Interpolação: Solução inversa do filtro

• Implementação recursiva eficiente (Z)

)1)(1()1(

46][)( 1

2

11

1

zzzz

kb zn

Causal Não-Causal

Interpolação Splines Cardinais

• ninfinito, converge para filtro ideal

Aplicações• Transformação geométrica da imagem

– Zoom, rotação, redimensionamento, warping...• Interpolação e amostragem

– Processo rápido e de alta performance– Filtro multi-escala rápido (Algoritmo Árvore)

• Extração de atributos (features)– Contornos, geometria diferencial, pirâmides, forma,

contornos ativos, formas• Análise de movimento

– Optical flow

Conclusões

• Características splines– Fácil de manipular– Suave e bem-comportada– Excelentes propriedades de aproximação– Propriedades de multiresolução

• Splines e processamento de imagens– Histórico de estranhamento, mais recentemente,

aproximação– Melhores resultados custo-performance– Muitas aplicações!