Técnicas de segmentação de imagem mais comuns nos dias modernos

11

Eu estava lendo algumas técnicas de segmentação de imagens e estava pensando nos algoritmos modernos de segmentação de ponta.

Quais técnicas de segmentação atuais são de 'leitura obrigatória', ou seja, atualmente mais comumente usadas na comunidade? Com quais técnicas você entrou em contato e achou mais eficaz e útil (e para qual aplicativo)?

GamingX
fonte
Onde você olhou até agora?
Phonon
1
Estive lendo algumas reduções normalizadas, reduções de gráficos, reduções mínimas, além dos métodos de ajuste de nível e dos métodos de marcha rápida.
GamingX
3
Bom e curto, de novembro de 2012: Segmentação de imagens: uma revisão .
Emre 5/02
(edit inspirado por esta questão em thresolding, talvez essa pergunta poderia tornar-se uma referência semelhante aos métodos de segmentação)
penelope

Respostas:

7

Não conheço muitas técnicas de segmentação, mas tenho lidado com estruturas que oferecem uma "escolha" de peças de segmentação que podem ser examinadas mais detalhadamente para produzir uma segmentação satisfatória.

Espero que alguém possa escrever sobre algum método diferente de segmentação de ponta que eu não conheço muito.

Uma pequena introdução sobre por que é bom ter opções, ou níveis, de segmentação para uma imagem diferente: a segmentação é um problema mal definido . A verdade básica não existe: os resultados desejados sempre dependem dos requisitos e especificações do usuário. Uma bela citação:

Mesmo para uma imagem fixa, pode haver mais de uma "melhor" segmentação porque os critérios que definem a qualidade de uma segmentação dependem da aplicação. Isso nos motivou a concentrar nossa pesquisa nas técnicas de particionamento de imagens, fornecendo "peças de quebra-cabeça" que podem ser usadas (...) para gerar uma segmentação que satisfaça os requisitos específicos do usuário

( P. Soille: conectividade restrita para particionamento e simplificação hierárquica de imagens (2008) )

Existem estruturas hierárquicas , decomposições hierárquicas de imagens que propõem partições de imagens com complexidades variadas. Essas estruturas são mais simplesmente representadas como estruturas em árvore, em que cada nó representa uma região na imagem. A ideia com as estruturas:

  • as folhas da estrutura são regiões de uma partição fina ou sobre-segmentação de uma imagem (por exemplo, pixels, zonas planas - regiões conectadas da mesma intensidade, bacia hidrográfica )
  • os links na árvore representam a fusão ou união de regiões (vizinhas) e formam uma região mais complexa e são construídos da maneira mais provável de produzir regiões correspondentes a objetos (espero :))
  • a complexidade das regiões aumenta ao longo de cada ramo, dos nós em direção à raiz da árvore
  • todo nível da árvore (também todo corte) é uma partição / segmentação de uma imagem (mais grossa quanto mais próxima da raiz)
  • a raiz da árvore cobre todo o domínio da imagem

A segmentação consiste em examinar as regiões e suas uniões propostas, para determinar as regiões na árvore ou o corte da árvore correspondente à precisão requerida , ou algumas propriedades conhecidas sobre o objeto de interesse ou outras especificações predefinidas do usuário.

As árvores (ou seja, decomposições hierárquicas de imagens) com essas propriedades são:

Além dos links para os artigos já fornecidos, alguns artigos atuais mais específicos e menos específicos sobre esses tipos de técnicas de segmentação:

(mais prático):

Penélope
fonte
1
Para famílias algorítmicas de segmentação "modernas" (e modernas), eu adicionaria superpixels. Pesquisando nesse termo é realmente impressionante.
Sansuiso 10/10
@sansuiso Bem, adicioná-lo como uma resposta :) Espero que possamos coletar vários interessante segmentação state-of-the-art se aproxima nesta questão
penelope
6

Como um adendo à resposta de Penelope , duas famílias populares (e modernas) de algoritmos.

Superpixels

Uma família muito popular de algoritmos chamada Superpixels está muito na moda agora (existem até algumas sessões de Superpixel em conferências de CV). Os superpixels são muito parecidos com a super segmentação (como o que a bacia hidrográfica oferece), então é necessário algum pós-processamento.

Os superpixels podem ser vistos como pequenas regiões de imagens homogêneas . A distância entre os pixels é avaliada como na filtragem bilateral, ou seja, é uma mistura entre a distância espacial e a semelhança visual que chega a 0 quando estão próximas e semelhantes e a algum valor maior caso contrário.
Em seguida, os métodos de superpixels tentam vários critérios para formar pequenas regiões homogêneas com relação a essa medida. Existem muitos deles (com base em gráficos, modo de busca / clustering ...), então acho que é melhor encaminhá-lo para este relatório técnico .

(editar :) Caso alguém esteja procurando um trabalho publicado por pares, este artigo é dos mesmos autores e cobre o mesmo material que o relatório técnico: R. Achanta, A. Shaji, K. Smith, A. Lucchi, P. Fua, S. Susstrunk: Superpixels SLIC em comparação com os métodos de superpixel mais avançados

Observe como escrevi a primeira versão da resposta que visualmente os resultados são muito semelhantes ao que a super segmentação de bacias hidrográficas fornece a você. Isso é confirmado pelos autores do relatório técnico, que incluem bacias hidrográficas na parte do trabalho relacionada. Portanto, você também precisa fazer o mesmo pós-processamento: embora os superpixels possam ser recursos úteis para usar em vez de pixels, eles ainda precisam ser agrupados para formar regiões de nível superior, se você precisar rastrear / detectar objetos.

Métodos de segmentação baseados em gráficos

Outra família popular de algoritmos vem da análise da relação de pixels, ou seja, como os pixels são próximos em sua aparência. Isso gera uma família de métodos de segmentação baseados na teoria dos grafos, como o corte normalizado (J. Shi, J. Malik: cortes normalizados e segmentação de imagens ) .

Aqui está a intuição para essa abordagem: suponha que seus pixels agora sejam pontos (vértices) de um gráfico de alta dimensão.
No gráfico, dois vértices podem ser conectados por uma aresta , cujo peso é inversamente proporcional a alguma distância entre os vértices. Normalmente, a função de peso será recíproca de uma mistura entre a distância espacial e a semelhança visual 8 como na filtragem bilateral).
Então, dado esse gráfico, os algoritmos de segmentação podem procurar os melhores grupos de vértices, ou seja, grupos de vértices que possuem uma pequena distância intra-grupo e uma grande distância extra-grupo .

Na abordagem de corte normalizado, são tomados alguns cuidados adicionais para evitar viés introduzido pelos diferentes tamanhos populacionais dos clusters. Além disso, a exploração de gráficos pode ser evitada computando o SVD da matriz de pesos, também conhecida como matriz de conectividade na teoria dos grafos.

sansuiso
fonte
Ei, demorei um pouco, obrigado pela resposta, mas ... você poderia expandir pelo menos um pouquinho as 2 técnicas mencionadas? Não quero explicá-los em detalhes aqui, mas eu realmente aprecio uma ou duas frases descritivas sobre cada uma delas.
Penelope 17/10
Eu ampliei a resposta. É um pouco confuso, porém, o melhor é me referir ao relatório técnico que eu vinculo na resposta (eu tenho que admitir que eu não sou um cara de superpixels e ainda estou um pouco cético sobre o interesse deles, embora eles sejam realmente na moda).
Sansuiso # 24/13
Para os métodos de segmentação baseados em gráficos, acho que este trabalho sugere um dos melhores resultados do estado da arte: research.microsoft.com/pubs/167600/jmiv_bnm_final.pdf É um documento e um código intuitivos disponíveis.
precisa saber é o seguinte
3

Eu acho que, para uma visão global dos algoritmos de última geração para segmentação, é necessário procurar as pesquisas mais recentes. Uma boa visão global com desafios é apresentada no livro de Szeliski .

insira a descrição da imagem aqui

beedot
fonte