# Cross-Channel Vector Wavelet Front End

- ID: 2898
- Canonical URL: https://synthcore.org/idea/2898/cross-channel-vector-wavelet-front-end
- API JSON: https://synthcore.org/api/idea/2898.json
- API Markdown: https://synthcore.org/api/idea/2898.md
- Verification status: unverified
- Source: [arXiv:2608.30589](https://arxiv.org/abs/2608.30589)
- Category: architecture
- Solves: accuracy, stability, memory
- ML areas: cnn, embedding
- Math tags: harmonic-analysis, functional-analysis, linear-algebra
- Ratings: usefulness 5/10; difficulty 5/10; novelty 4/10

## Idea description

Replace a channelwise wavelet or strided-convolution front end with vector-valued wavelet filters that deliberately pair different scalar wavelets across channels. The resulting subbands retain compact-support multiscale structure and can be recombined exactly, while a small learned 1x1 mixing layer operates on the cross-channel coefficients instead of learning a full expensive convolution at every scale.

## Mathematical statement

The construction groups scalar tensor-product wavelets by channel-index patterns A_1={(1,1),(2,2)} and A_2={(1,2),(2,1)}. For two channels and two spatial dimensions, representative vector wavelets are Ψ^2_{j,k}(x,y)=(φ_1(2^j x-k_1)ψ_2(2^j y-k_2), φ_2(2^j x-k_1)ψ_1(2^j y-k_2))^T, Ψ^3_{j,k}(x,y)=(ψ_1(2^j x-k_1)φ_1(2^j y-k_2), ψ_2(2^j x-k_1)φ_2(2^j y-k_2))^T, and Ψ^4_{j,k}(x,y)=(ψ_1(2^j x-k_1)φ_2(2^j y-k_2), ψ_2(2^j x-k_1)φ_1(2^j y-k_2))^T, with Ψ^5 and Ψ^6 using ψ in both spatial coordinates. Here φ_1,φ_2 are scalar scaling functions, ψ_1,ψ_2 are scalar wavelets, j is the dyadic scale, k=(k_1,k_2) is the spatial translation, and T denotes transpose. The scalar functions are assumed to come from an orthonormal or Parseval multiresolution basis, so analysis followed by synthesis preserves or approximately preserves energy: ||f||_2^2=Σ_r,j,k |c^r_{j,k}|^2 for orthonormal normalization. In an ML tensor implementation, the corresponding analysis coefficient is c^r_{j,k}=Σ_{i=1}^2∫ f_i(x,y)Ψ^r_{j,k,i}(x,y)dxdy; the learned generalization is C^r_{j,k}=W_r c^r_{j,k}, where W_r is a small channel-mixing matrix.

## Key formulas

- $$\Psi^{2}_{j,k}(x,y)=\big(\phi_{1}(2^{j}x-k_{1})\psi_{2}(2^{j}y-k_{2}),\phi_{2}(2^{j}x-k_{1})\psi_{1}(2^{j}y-k_{2})\big)^{T}$$
- $$\Psi^{3}_{j,k}(x,y)=\big(\psi_{1}(2^{j}x-k_{1})\phi_{1}(2^{j}y-k_{2}),\psi_{2}(2^{j}x-k_{1})\phi_{2}(2^{j}y-k_{2})\big)^{T}$$
- $$\Psi^{4}_{j,k}(x,y)=\big(\psi_{1}(2^{j}x-k_{1})\phi_{2}(2^{j}y-k_{2}),\psi_{2}(2^{j}x-k_{1})\phi_{1}(2^{j}y-k_{2})\big)^{T}$$
- $$c^{r}_{j,k}=\sum_{i=1}^{2}\int f_i(x,y)\,\Psi^{r}_{j,k,i}(x,y)\,dx\,dy,\qquad \widehat f=\sum_{r,j,k}c^{r}_{j,k}\Psi^{r}_{j,k},\qquad \|f\|_2^2=\sum_{r,j,k}|c^{r}_{j,k}|^2$$

## Implementation notes

1. Integration point: use this module as the first two downsampling stages of a small CNN or U-Net, replacing a stride-2 convolution. The input is a tensor f of shape [batch, 2, H, W]; for RGB, first use a learned or fixed 3-to-2 projection, or generalize the two-channel index patterns to m=3. Construct short FIR filters sampled from compactly supported φ_1, φ_2, ψ_1, ψ_2. 2. Pseudocode: `for scale j: for each listed subband r: y[r]=conv2d(f[0], h[r,0]) + conv2d(f[1], h[r,1]); y[r]=downsample2(y[r]); z[r]=pointwise_group_mix_r(y[r]); f_next=concat(z[r])`; set `h[r,i]` from the two components of Ψ^r, and use the corresponding synthesis filters for reconstruction. Include the omitted scaling-function branch as the low-pass output. 3. Mathematical quantities computed exactly are the cross-paired filter coefficients and the synthesis bank. Estimate only normalization constants empirically by checking the discrete frame Gram matrix; rescale filters so its diagonal is one and its off-diagonal Frobenius norm is small. Add an optional diagnostic `energy_error=abs(||f||²-Σ_r||y[r]||²)/||f||²`. Keep the wavelet filters frozen for the first experiment, then compare frozen filters with jointly learned filters initialized from them. 4. First experiment: train a two-channel image denoising CNN on synthetic correlated Gaussian fields or stereo patches, comparing a stride-2 convolution, a channelwise Haar/DWT front end, and this cross-channel bank at matched parameter count and FLOPs. Measure validation PSNR, reconstruction error after analysis/synthesis, and energy error. Success means higher PSNR at equal FLOPs, lower aliasing under 2x downsampling, and reconstruction error near numerical precision before any learned layers.

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
