O que é a Transformação Walsh-Hadamard e para que serve?


19

Estou tentando me ensinar sobre o WHT, mas não parece haver muitas explicações boas on-line em nenhum lugar. Acho que descobri como calcular o WHT, mas estou realmente tentando entender por que ele é considerado útil no domínio de reconhecimento de imagem.

O que há de tão especial nisso e quais propriedades ele produz em um sinal que não aparecia nas transformações clássicas de Fourier ou em outras transformações de wavelets? Por que é útil para o reconhecimento de objetos, como apontado aqui ?


Uma aplicação são os sistemas de medição que usam Sequências de Comprimento Máximo (MLS) como uma excitação (por exemplo, mlssa.com ). É suposto ser mais rápido, pois não é necessário multiplicar. Na prática, não é muito de um benefício e os MLS têm outros problemas
Hilmar

@DilipSarwate Por que o WHT é útil e / ou exclusivo?
Spacey

Respostas:


11

A NASA costumava usar a transformação Hadamard como base para comprimir fotografias de sondas interplanetárias durante os anos 1960 e início dos anos 70. Hadamard é um substituto computacionalmente mais simples para a transformação de Fourier, uma vez que não requer operações de multiplicação ou divisão (todos os fatores são mais ou menos um). As operações de multiplicar e dividir consumiam muito tempo nos pequenos computadores usados ​​a bordo dessas naves espaciais; portanto, evitá-las era benéfico tanto em termos de tempo de computação quanto no consumo de energia. Mas desde o desenvolvimento de computadores mais rápidos que incorporam multiplicadores de ciclo único e a perfeição de algoritmos mais recentes, como a Transformada Rápida de Fourier, bem como o desenvolvimento de JPEG, MPEG e outra compressão de imagem, acredito que o Hadamard ficou fora de uso. Contudo, Entendo que pode estar retornando para uso na computação quântica. (O uso da NASA é de um artigo antigo do NASA Tech Briefs; atribuição exata indisponível.)


Relato histórico fantástico, Sr. Peters, obrigado por isso. Você pode expandir o que / como você quer dizer que ele pode estar voltando à computação quântica? De que maneira você alude a isso em seu post?
Spacey

De acordo com um artigo da Wikipedia, muitos algoritmos quânticos usam a transformação Hadamard como um passo inicial, pois mapeia n qubits para uma superposição de todos os 2n estados ortogonais na base quântica com peso igual.
Eric Peters

Eric, você pode fornecer um link para o artigo da wikipedia que você cita? Se sim, posso aceitar sua resposta.
Spacey


Eric, pensei que era outra fonte a que você estava se referindo. Esquece. :-)
Spacey

7

Os coeficientes da transformação Hadamard são todos +1 ou -1. A Fast Hadamard Transform pode, portanto, ser reduzida a operações de adição e subtração (sem divisão ou multiplicação). Isso permite o uso de hardware mais simples para calcular a transformação.

Portanto, o custo ou a velocidade do hardware podem ser o aspecto desejável da transformação Hadamard.


1
Obrigado pela resposta, mas gostaria de entender a transformação, por favor? Eu não me importo agora com implementação rápida. O que é essa transformação? Por que isso é útil? Que insight ele nos dá de outras transformações de wavelets?
Spacey

5

Dê uma olhada neste artigo, se você tiver acesso, colei o resumo aqui Pratt, WK; Kane, J .; Andrews, HC; , "Hadamard transform coding image coding", Anais do IEEE, vol.57, no.1, pp. 58- 68, janeiro de 1969 doi: 10.1109 / PROC.1969.6869 URL: http://ieeexplore.ieee.org/stamp /stamp.jsp?tp=&arnumber=1448799&isnumber=31116

Resumo A introdução do algoritmo de transformação rápida de Fourier levou ao desenvolvimento da técnica de codificação de imagem da transformada de Fourier, na qual a transformação bidimensional de Fourier de uma imagem é transmitida por um canal e não pela própria imagem. Esse desenvolvimento levou ainda a uma técnica de codificação de imagem relacionada, na qual uma imagem é transformada por um operador de matriz Hadamard. A matriz Hadamard é uma matriz quadrada de mais e menos cujas linhas e colunas são ortogonais entre si. Foi desenvolvido um algoritmo computacional de alta velocidade, semelhante ao algoritmo de transformação rápida de Fourier, que executa a transformação Hadamard. Como apenas adições e subtrações de números reais são necessárias com a transformação Hadamard, é possível uma vantagem de velocidade de ordem de magnitude em comparação com a transformação de Fourier de número complexo.


Obrigado por este link, certamente o leio, mas pode levar algum tempo. Apenas pelo resumo, parece que a Transformação Hadamard está sendo capaz de ser usada como ... substituta? ... da transformada de Fourier, em parte porque é computacionalmente muito eficiente, mas talvez por outro motivo também? Qual foi sua opinião geral sobre isso?
Spacey

Usando a transformação hadamard, somos capazes de transmitir uma versão codificada da imagem e depois reconstruí-la no receptor. Nesse caso em particular, o autor está usando a transformação para concentrar a energia do sinal em uma banda mais estreita que a imagem original, para que seja menos afetada pelo ruído e possa ser reconstruída usando o inverso hadamard no receptor.
Charna

Hmm, sim, acabei de ler o jornal - parece que a transformação Hadamard é apenas uma alternativa mais rápida à transformação fourier, mas nada mais se destaca. Ele economiza energia e entropia, etc., mas mais ou menos parece ser como a FFT.
Spacey

A Hadamard Transform faz um trabalho bom o suficiente (mesmo que não seja melhor) contra outras transformações como DFT ou mesmo DCT. Ser rápido é bom, mas pode realmente fazer a compressão tão boa quanto dizer que o DCT é uma questão real. A maioria dos padrões convencionais JPEG, MPEGx não o utiliza de maneira BTW.
Dipan Mehta 15/03/12

2

Gostaria de acrescentar que qualquer transformação m (matriz Toeplitz gerada por uma sequência m) pode ser decomposta em

P1 * WHT * P2

onde WHT é a transformada de Walsh Hadamard, P1 e P2 são permutações (ref: http://dl.acm.org/citation.cfm?id=114749 ).

A transformação m é usada para várias coisas: (1) identificação do sistema quando o sistema é atormentado por ruído e (2) por virtual de (1) identificar atraso de fase em um sistema atormentado por ruído

para (1), m-transform recupera o (s) núcleo (s) do sistema quando o estímulo é uma seqüência m, útil em neurofisiologia (por exemplo, http://jn.physiology.org/content/99/1/367. cheio e outros) porque é de alta potência para um sinal de banda larga.

Para (2), o código Gold é construído a partir de sequências-m (http://en.wikipedia.org/wiki/Gold_code).


1

Fico feliz em testemunhar um renascimento das transformações Walsh-Paley-Hadamard (ou às vezes chamado Waleymard); veja Como podemos usar a transformação Hadamard na extração de recursos de uma imagem?

Eles são exemplos de funções do Rademacher. Eles formam transformações ortogonais que podem, omitindo normalizações de potência, ser implementadas apenas com adição e subtração, e mudanças potencialmente binárias. Os coeficientes vetoriais são constituídos por±1, que imitam uma versão binarizada de bases seno ou cosseno. A ordem dos vetores Walsh é em sequência (em vez de frequência) que conta o número de alterações de sinal. Eles desfrutam de algoritmos de borboleta semelhantes para uma implementação ainda mais rápida.

Sequências de Walsh de comprimento 2n também pode ser interpretado como instâncias de um pacote wavelet Haar.

Como tal, eles podem ser usados ​​em qualquer aplicação em que bases cosseno / seno ou wavelet são usadas, com uma implementação muito barata. Em dados inteiros, eles podem permanecer inteiros e permitir transformações e compactação verdadeiramente sem perdas (da mesma forma que DCT inteiro ou wavelets binárias ou binlet). Então, pode-se usá-los em códigos binários.

Seu desempenho é frequentemente considerado pior do que outras transformações harmônicas em sinais e imagens naturais, devido à sua natureza em blocos. No entanto, algumas variantes ainda estão em uso, como para transformações reversíveis em cores (RCT) ou transformações de codificação de vídeo de baixa complexidade (transformação e quantização de baixa complexidade em H.264 / AVC ).

Alguma literatura:


-2

É melhor se você puder dar uma explicação de por que cada link é bom. Mesmo um título completo do documento vinculado seria melhor.
Peter K.

Eu tentei, mas o software do fórum estava aparecendo, portanto, você obtém uma versão resumida. Se você quiser um estilo wiki-police, apague tudo, faça o que quiser.
21818 Sean O'Connor

Eu não acho que seja tanto "policiamento wiki" nesse caso quanto tentar manter um padrão no formato de perguntas e respostas neste fórum. Seu objetivo não é funcionar como um fórum. Portanto, o feedback sobre sua contribuição não é sobre excluí-lo, é sobre levá-lo a bordo, mas também garantir que ele esteja em conformidade com o padrão. Isso é comum na rede de troca de pilhas. Eu acho que vale a pena editar o post.
um_um
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.