Visualizacao de Imagem Volumetrica
Alexandre Xavier Falcao
Instituto de Computacao - UNICAMP
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Introducao
Esta aula apresenta a Transformada Imagem-Floresta
IFT - Image Foresting Transform:
uma metodologia para projeto de operadores de imagem baseadosem grafos, que unifica varias tecnicas, novas e classicas, de formaeficiente em um algoritmo geral, variantes simples destealgoritmo, ou sequencias de IFTs.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Introducao
Este curso utiliza a IFT para
definir a extensao espacial de objetos na imagem, denominadasegmentacao semantica,
calcular o envelope da superfıcie de um objeto comconcavidades, e
gerar visualizacoes de textura da imagem em superfıcies desucessivas erosoes do envelope, denominadas cortescurvilineares (ou cortes por isosuperfıceis, o termo correto).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Introducao
Este curso utiliza a IFT para
definir a extensao espacial de objetos na imagem, denominadasegmentacao semantica,
calcular o envelope da superfıcie de um objeto comconcavidades, e
gerar visualizacoes de textura da imagem em superfıcies desucessivas erosoes do envelope, denominadas cortescurvilineares (ou cortes por isosuperfıceis, o termo correto).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Introducao
Este curso utiliza a IFT para
definir a extensao espacial de objetos na imagem, denominadasegmentacao semantica,
calcular o envelope da superfıcie de um objeto comconcavidades, e
gerar visualizacoes de textura da imagem em superfıcies desucessivas erosoes do envelope, denominadas cortescurvilineares (ou cortes por isosuperfıceis, o termo correto).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo de aplicacao
Deteccao de displasias corticais focais
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Na IFT, uma imagem I = (DI , I ) e interpretada como um grafoG = (N ,A), onde
o conjunto de nos N ⊆ DI pode representar elementos daimagem, tais como pixels, vertices, e regioes, e
o conjunto de arcos A ⊆ N ×N e definido por uma relacaode adjacencia. Por exemplo:
(p, q) ∈ A se ‖q − p‖ ≤ r
(p, q) ∈ A se exp−|I (q)−I (p)|
σ ≥ α
(p, q) ∈ A se ‖q − p‖ ≤ r e exp−|I (q)−I (p)|
σ ≥ α,
onde r > 0, σ > 0, e α ∈ [0, 1]. Se (p, q) ∈ A, entao tem-seque q ∈ A(p).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Na IFT, uma imagem I = (DI , I ) e interpretada como um grafoG = (N ,A), onde
o conjunto de nos N ⊆ DI pode representar elementos daimagem, tais como pixels, vertices, e regioes, e
o conjunto de arcos A ⊆ N ×N e definido por uma relacaode adjacencia. Por exemplo:
(p, q) ∈ A se ‖q − p‖ ≤ r
(p, q) ∈ A se exp−|I (q)−I (p)|
σ ≥ α
(p, q) ∈ A se ‖q − p‖ ≤ r e exp−|I (q)−I (p)|
σ ≥ α,
onde r > 0, σ > 0, e α ∈ [0, 1]. Se (p, q) ∈ A, entao tem-seque q ∈ A(p).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Na IFT, uma imagem I = (DI , I ) e interpretada como um grafoG = (N ,A), onde
o conjunto de nos N ⊆ DI pode representar elementos daimagem, tais como pixels, vertices, e regioes, e
o conjunto de arcos A ⊆ N ×N e definido por uma relacaode adjacencia.
Por exemplo:
(p, q) ∈ A se ‖q − p‖ ≤ r
(p, q) ∈ A se exp−|I (q)−I (p)|
σ ≥ α
(p, q) ∈ A se ‖q − p‖ ≤ r e exp−|I (q)−I (p)|
σ ≥ α,
onde r > 0, σ > 0, e α ∈ [0, 1]. Se (p, q) ∈ A, entao tem-seque q ∈ A(p).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Na IFT, uma imagem I = (DI , I ) e interpretada como um grafoG = (N ,A), onde
o conjunto de nos N ⊆ DI pode representar elementos daimagem, tais como pixels, vertices, e regioes, e
o conjunto de arcos A ⊆ N ×N e definido por uma relacaode adjacencia. Por exemplo:
(p, q) ∈ A se ‖q − p‖ ≤ r
(p, q) ∈ A se exp−|I (q)−I (p)|
σ ≥ α
(p, q) ∈ A se ‖q − p‖ ≤ r e exp−|I (q)−I (p)|
σ ≥ α,
onde r > 0, σ > 0, e α ∈ [0, 1]. Se (p, q) ∈ A, entao tem-seque q ∈ A(p).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Alem de G = (N ,A), um operador de imagem requer umafuncao de custos f (πq), ∀q ∈ N , aplicada a qualquercaminho πq = 〈q1, q2, . . . , qn = q〉, (qi , qi+1) ∈ A,i = 1, 2, . . . , n− 1, do conjunto Πq de possıveis caminhos comtermino em q, inclusive caminhos triviais 〈q〉.
O algoritmo geral da IFT e o algoritmo de Dijkstra com umafuncao f mais geral para minimizar o mapa de custos
C (q) = min∀πq∈Πq
{f (πq)},
ao mesmo tempo que gera uma floresta de caminhosotimos P com raızes em um conjunto R ⊂ N (mınimos domapa C ) e pode gerar outros atributos, tais como rotulos dasraızes, ordem de propagacao dos nos, numero dedescendentes, dependendo do operador.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Alem de G = (N ,A), um operador de imagem requer umafuncao de custos f (πq), ∀q ∈ N , aplicada a qualquercaminho πq = 〈q1, q2, . . . , qn = q〉, (qi , qi+1) ∈ A,i = 1, 2, . . . , n− 1, do conjunto Πq de possıveis caminhos comtermino em q, inclusive caminhos triviais 〈q〉.
O algoritmo geral da IFT e o algoritmo de Dijkstra com umafuncao f mais geral para minimizar o mapa de custos
C (q) = min∀πq∈Πq
{f (πq)},
ao mesmo tempo que gera uma floresta de caminhosotimos P com raızes em um conjunto R ⊂ N (mınimos domapa C ) e pode gerar outros atributos, tais como rotulos dasraızes, ordem de propagacao dos nos, numero dedescendentes, dependendo do operador.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Uma floresta e um mapa acıclico de predecessores, que associaum no P(q) = p ∈ N\R, quando p e o predecessor de q nocaminho πq, e P(q) = nil 6∈ N , quando q ∈ R.
Por exemplo: πc = 〈h, i , f , c〉, P(c) = f , πa = 〈a〉, e P(a) = nil .
Partindo de uma floresta de caminhos triviais, o algoritmo da IFTpropaga caminhos otimos em ordem nao decrescente de custos.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Uma floresta e um mapa acıclico de predecessores, que associaum no P(q) = p ∈ N\R, quando p e o predecessor de q nocaminho πq, e P(q) = nil 6∈ N , quando q ∈ R.
Por exemplo: πc = 〈h, i , f , c〉, P(c) = f , πa = 〈a〉, e P(a) = nil .
Partindo de uma floresta de caminhos triviais, o algoritmo da IFTpropaga caminhos otimos em ordem nao decrescente de custos.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
Uma imagem I = (DI , I ) pode ser vista como um grafo daesquerda, onde os numeros indicam I (q), N = DI e A e definidopor vizinhanca-4.
A direita, a floresta trivial de uma funcao f definida por
f (〈q〉) = I (q) + 5,
f (πp · 〈p, q〉) = max{f (πp), I (q)},
onde πp · 〈p, q〉 e a extensao de πp por um arco (p, q) ∈ A.Inicialmente, C (q)← f (〈q〉) e P(q)← nil .
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
A cada iteracao de |N | iteracoes,
o algoritmo seleciona um no p, entre nos de menor custonunca selecionados, e
para cada adjacente q ∈ A(p), tal que C (q) > f (πp · 〈p, q〉),atualiza os mapas C (q)← f (πp · 〈p, q〉) e P(q)← p.
Entao apos as iteracoes 1 (esquerda) e 2 (direita) tem-se
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
A cada iteracao de |N | iteracoes,
o algoritmo seleciona um no p, entre nos de menor custonunca selecionados, e
para cada adjacente q ∈ A(p), tal que C (q) > f (πp · 〈p, q〉),atualiza os mapas C (q)← f (πp · 〈p, q〉) e P(q)← p.
Entao apos as iteracoes 1 (esquerda) e 2 (direita) tem-se
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
A cada iteracao de |N | iteracoes,
o algoritmo seleciona um no p, entre nos de menor custonunca selecionados, e
para cada adjacente q ∈ A(p), tal que C (q) > f (πp · 〈p, q〉),atualiza os mapas C (q)← f (πp · 〈p, q〉) e P(q)← p.
Entao apos as iteracoes 1 (esquerda) e 2 (direita) tem-se
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
e apos as iteracoes 3 (esquerda) e de 4–9 (direita) tem-se
uma floresta de caminhos otimos para f .
O problema e como determinar a cada iteracao um no p ∈ N demenor custo e ainda nao selecionado.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Transformada Imagem-Floresta
e apos as iteracoes 3 (esquerda) e de 4–9 (direita) tem-se
uma floresta de caminhos otimos para f .
O problema e como determinar a cada iteracao um no p ∈ N demenor custo e ainda nao selecionado.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Algoritmo geral da IFT
No caso sequencial, a solucao adota uma fila Q de prioridades.
1 ∀q ∈ N , faca C (q)← f (〈q〉) e P(q)← nil , e insira q em Q.
2 Enquanto Q 6= ∅ faca
3 Remova de Q o no p = arg min∀q∈Q{C (q)}.4 ∀q ∈ A(p), tal que q ∈ Q, faca
5 Se C (q) > f (πp · 〈p, q〉), entao
6 atualize C (q)← f (πp · 〈p, q〉) e P(q)← p.
A parte em vermelho na linha 4 so e necessaria se f nao satisfizeras condicoes suficientes [doi: 10.1007/s10851-018-0793-1]
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Algoritmo geral da IFT
Se P(p) = nil na linha 3, entao p ∈ R. Isso e util em diversasaplicacoes.
O algoritmo pode parar quando C (p) e maior que um limiarou p e um no destino.
O algoritmo sempre gera uma floresta, mesmo quando f naosatisfaz as condicoes suficientes.
O algoritmo executa em O(|A|+ |N |2).
Se |A| � |N |2 e Q for um heap binario, ele executa emO(|N | log |N |).
Se |A| � |N |2 e f (πp · 〈p, q〉)− f (πp) ∈ [0,K ], K � |N|, elepode executar em O(|N |), usando bucket sort.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Fila de prioridades
p6
p1 p2
p3
p5
4p
21 0
K−1
K
Nos p sao inseridos no e removidos do bucket C (p) mod K + 1em O(1).
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplos canonicos de funcoes de custo
Reconstrucoes morfologicas e transformadas de watershed
f (〈q〉) = H(q) ≥ I (q)
f (πp · 〈p, q〉) = max{f (πp), I (q)},
onde H(q) > I (q) no caso da transformada de watershed demarcador cinza; e H(q) = 0, se q ∈ S, e H(q) = +∞, nocaso contrario, para a transformada de watershed demarcadores rotulados.
Delineamento de bordas e caminhos geodesicos
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = f (πp) + w(p, q),
onde w(p, q) ≥ 0.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplos canonicos de funcoes de custo
Reconstrucoes morfologicas e transformadas de watershed
f (〈q〉) = H(q) ≥ I (q)
f (πp · 〈p, q〉) = max{f (πp), I (q)},
onde H(q) > I (q) no caso da transformada de watershed demarcador cinza; e H(q) = 0, se q ∈ S, e H(q) = +∞, nocaso contrario, para a transformada de watershed demarcadores rotulados.
Delineamento de bordas e caminhos geodesicos
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = f (πp) + w(p, q),
onde w(p, q) ≥ 0.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplos canonicos de funcoes de custo
Segmentacao baseada em riverbed e floresta de peso mınimo.
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = w(p, q).
Transformada de distancia Euclideana e esqueletonizacao deobjetos.
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = ‖q − R(p)‖2,
onde R(p) e a raiz de p na floresta.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplos canonicos de funcoes de custo
Segmentacao baseada em riverbed e floresta de peso mınimo.
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = w(p, q).
Transformada de distancia Euclideana e esqueletonizacao deobjetos.
f (〈q〉) =
{0 se q ∈ S+∞ no caso contrario,
f (πp · 〈p, q〉) = ‖q − R(p)‖2,
onde R(p) e a raiz de p na floresta.
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo simples em segmentacao de imagem
Considere o problema de segmentar um objeto por competicao demarcadores.
Sejam Si e Se os conjuntos de pixels sementes internas eexternas, respectivamente, em uma imagem I = (DI , I ), ondeN = DI e A e definido por vizinhanca-4.
Podemos aplicar um realce de objeto por classificacao depadroes e gerar uma imagem de gradiente J = (DI , J), demodo que caminhos que cruzam as bordas do objeto sejampenalizados por
f (〈q〉) =
{0 se q ∈ Si ∪ Se ,+∞ no caso contrario,
f (πp · 〈p, q〉) = max{f (πp), J(q)}.
Neste caso, estamos forcando R = Si ∪ Se .
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo simples em segmentacao de imagem
Considere o problema de segmentar um objeto por competicao demarcadores.
Sejam Si e Se os conjuntos de pixels sementes internas eexternas, respectivamente, em uma imagem I = (DI , I ), ondeN = DI e A e definido por vizinhanca-4.
Podemos aplicar um realce de objeto por classificacao depadroes e gerar uma imagem de gradiente J = (DI , J), demodo que caminhos que cruzam as bordas do objeto sejampenalizados por
f (〈q〉) =
{0 se q ∈ Si ∪ Se ,+∞ no caso contrario,
f (πp · 〈p, q〉) = max{f (πp), J(q)}.
Neste caso, estamos forcando R = Si ∪ Se .
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo simples em segmentacao de imagem
Considere o problema de segmentar um objeto por competicao demarcadores.
Sejam Si e Se os conjuntos de pixels sementes internas eexternas, respectivamente, em uma imagem I = (DI , I ), ondeN = DI e A e definido por vizinhanca-4.
Podemos aplicar um realce de objeto por classificacao depadroes e gerar uma imagem de gradiente J = (DI , J), demodo que caminhos que cruzam as bordas do objeto sejampenalizados por
f (〈q〉) =
{0 se q ∈ Si ∪ Se ,+∞ no caso contrario,
f (πp · 〈p, q〉) = max{f (πp), J(q)}.
Neste caso, estamos forcando R = Si ∪ Se .
Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica
Exemplo simples em segmentacao de imagem
mostre video-iftsc.gif e o visva.Alexandre Xavier Falcao MO815B/MC871A - Visualizacao de Imagem Volumetrica