Em uma classe específica de detectores, nossos dados são apresentados como pares de pontos em duas dimensões, e queremos agrupar esses pontos em linhas.
Os dados são barulhentos e são armazenados em uma direção, mas não na outra. Não podemos garantir um acerto em cada compartimento, mesmo quando cada elemento detector estiver funcionando, portanto pode haver pulos.
Nossa cadeia de análise atual parece
- Ajustar resultados para a calibração de elementos detectores individuais
- Localizar clusters
- Linhas ásperas de ajuste nos clusters
- Conecte clusters em estruturas mais longas, semelhantes a linhas
- ...
Esta questão diz respeito ao passo (3).
Usamos uma transformação Hough para essa etapa e ela funciona bem, mas, ao tentarmos escalar do ambiente de teste para a simulação de um projeto em escala real, ela se torna inaceitavelmente lenta.
Estou procurando uma maneira mais rápida.
Para aqueles que se importam com o caso de uso real, aqui está uma câmara de projeção de tempo com argônio líquido
fonte
Respostas:
Existe uma versão probabilística da transformação de Hough (PHT) mais rápida. Conforme descrito por Bradski & Kaehler em seu livro OpenCV:
A biblioteca OpenCV apresenta uma implementação para o PHT.
Existem outras alternativas. Não é difícil criar uma versão distribuída da transformação Hough. Apenas divida seu conjunto de pontos em partes menores e use a estrutura MapReduce para resumir todos os acumuladores. Outra idéia é executar uma versão grossa da transformação Hough usando um espaço de parâmetro com baixa resolução. Escolha seus melhores candidatos e execute uma iteração mais fina usando um espaço de parâmetro com uma resolução mais alta. Talvez seja essa a ideia por trás da ESF de Gandalf.
fonte
Meu colega encontrou a Fast Hough Transform na biblioteca Gandalf , que parece muito promissora, mas pode ser muito trabalhosa para integrar, por isso estou procurando outras abordagens.
A implementação de Gandalf é interessante: eles avaliam o espaço acumulador de maneira recursiva, como se estivessem atravessando uma árvore quádrupla ou octa. Regiões sem muita densidade são jogadas fora à medida que avançam.
fonte