Existem três técnicas usadas no CV que parecem muito semelhantes entre si, mas com diferenças sutis:
- Laplaciano de Gaussiano:
- Diferença de Gaussianos:
- Convolução com a wavelet de Ricker :
Pelo que entendi atualmente: DoG é uma aproximação do LoG. Ambos são usados na detecção de blob e atuam essencialmente como filtros de passagem de banda. A convolução com uma wavelet mexicana Hat / Ricker parece alcançar praticamente o mesmo efeito.
Eu apliquei todas as três técnicas a um sinal de pulso (com escala necessária para obter as magnitudes semelhantes) e os resultados são muito próximos. De fato, LoG e Ricker parecem quase idênticos. A única diferença real que notei é que com o DoG, eu tinha 2 parâmetros livres para ajustar ( e ) vs 1 para LoG e Ricker. Eu também achei que a wavelet era a mais fácil / mais rápida, pois isso poderia ser feito com uma única convolução (feita através da multiplicação no espaço de Fourier com FT de um kernel) vs 2 para o DoG e uma convolução mais um Laplaciano para o LoG.
- Quais são as vantagens / desvantagens comparativas de cada técnica?
- Existem diferentes casos de uso em que um supera o outro?
Também tenho o pensamento intuitivo de que, em amostras discretas, LoG e Ricker degeneram para a mesma operação, pois pode ser implementado como o kernel .
A aplicação dessa operação a um gaussiano dá origem à wavelet Ricker / Hat. Além disso, como LoG e DoG estão relacionados à equação de difusão de calor, eu acho que eu poderia fazer com que ambos correspondessem a parâmetros suficientes.
(Ainda estou molhando meus pés com essas coisas para me sentir livre para corrigir / esclarecer isso!)