Suponha que eu tenha 3 kernels:

  1. $$ \ left [\ begin {array} {cc } a & b & c \\ d & e & f \\ g & h & i \ end {array} \ right] $$

  2. $$ \ left [\ begin {array} {cc} p & q & r \\ s & t & u \\ v & w & x \ end {array} \ right] $$

  3. $$ \ left [\ begin {array} {cc} \ alpha & \ beta & \ gamma \\ \ delta & \ epsilon & \ zeta \\ \ eta & \ theta & \ iota \ end {array} \ right] $$

Como posso criar um banco de filtros a partir deles?

Devo AND ou OR ou adicioná-los?

Ou devo apenas aplicar cada um deles um por um à minha imagem de teste por meio de três operações de convolução separadas?

Resposta

Um banco de filtros é exatamente o que diz:

Um banco de filtros, cada um dos quais aplicado ao sinal.

Então, um sinaliza a entrada de (sinal = imagem), 3 sinais de saída. Você aplica cada um dos kernels separadamente e não combina nada.

Comentários

  • é realmente possível combinar os kernels para atingir o mesmo objetivo embora?
  • o quê? não! coisas totalmente diferentes. Este banco de filtros fornece apenas três imagens de saída de sua imagem de entrada, cada uma filtrada por um filtro. Há ' não há combinação de nada.
  • Sim, há possibilidades de combinar os kernels e, em seguida, fazer truques inteligentes para recuperar as três saídas de pensamento (álgebra de ordem superior, profundidade de bits …), mas provavelmente está além do escopo atual

Resposta

Já que o termo linear faz não aparecem na pergunta e nas respostas atuais, deixe-me oferecer uma perspectiva complementar.

Um kernel nesta acepção (especialmente para imagens, que nem sempre seguem regras lineares, pense em oclusão ou saturação n) é uma matriz que é aplicada , de alguma forma , em qualquer dados de entrada . Freqüentemente, distingue-se o kernel linear do não linear (já que se tem filtros lineares e não lineares, mesmo que a terminologia possa parecer inadequada).

Comecemos do ponto de vista linear no sentido mais específico : a matriz de filtro é aplicada como uma convolução. Então, a resposta de @MarcusMuller é perfeita: um conjunto, uma matriz de filtros lineares, aplicado aos dados de entrada como convoluções para produzir vários dados de saída separados. A maioria escalar adicional operação linear (como a soma, a média, uma combinação ponderada) na saída seria “inútil”: conforme eles comutam, somar a saída é equivalente a somar os três filtros em um único filtro e realizar apenas uma única convolução no dados.

O que nos leva de volta ao objetivo em seu comentário; tradicionalmente, um linear ( análise , voltarei sobre isso mais tarde) banco de filtros (FB) é usado para dividir ou separar dados em componentes, muitas vezes com espectros separados ou um ocontent mais estreito (frequências baixas, médias ou altas para um banco de filtros de três bandas). Ou para mesclar diferentes fluxos de dados em outros, com um espectro mais amplo. Assim, um FB genérico de múltiplas entradas e múltiplas saídas (MIMO) pega uma ou várias entradas e as filtra em uma ou várias saídas. Em seguida, distingue-se os bancos de filtros de análise ou síntese.

Geralmente, a recombinação das saídas de um FB de análise se afasta do objetivo de separação. Mas um único filtro também é um banco de filtros (embora não seja muito interessante per se ). Mas, às vezes, isso pode ser mais eficiente (computacionalmente, por exemplo).

Agora, ter saídas mais estreitas / mais amplas convida a variações de taxa, como downsampling e upsampling antes ou depois dos filtros. Para mim, o sentido mais aceito de um banco de filtros é um banco de filtros lineares opcionalmente combinados com operações de aumento ou redução da resolução (linear, mas não invariante ao deslocamento) . E está um tanto relacionado a transformações lineares, permitindo expansão ou redução no número de coeficientes (eles podem ser críticos, sobreamostrados ou subamostrados).

Então, as pessoas estendem a noção para não linearidade: os filtros podem ser não lineares ( como a mediana) e os kernels são interpretados como pesos aplicados a um bloco de dados.Ou os dados podem ser combinados de formas não lineares, com $ \ min $, $ \ max $, AND ou OR …

Mas no seu caso, como disse Marcus, aposto em três saídas filtradas padrão. Mas, neste caso, não há relação entre os filtros (exceto o tamanho do kernel), e o que é poderoso na teoria do banco de filtros é a ligação entre os filtros e como podemos otimizá-los. Agora, alguns de ponteiros:

Comentários

  • ha! Essa realmente deveria ser a resposta aceita, pois dá uma visão mais ampla das coisas.
  • Muito bem, mas não tenho certeza, dependendo do escopo inicial da pergunta.
  • bem, minha resposta realmente é um pouco superficial e não ' contribui muito – já que " o banco de filtros " realmente não ' tão incompreensível. O seu, por outro lado, dá perspectiva.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *