Texture Interpolation as Texton Matching
Organizations: Tel Aviv University · Stanford University
Abstract
Texture interpolation asks what should lie between two textures. Standard methods typically blend pixels or features at corresponding spatial locations, implicitly assuming that co-located elements should be mixed. For unrelated textures, however, this correspondence is arbitrary: a crack at one location has no particular relationship to a fiber at the same location in another image. We study whether this hidden pairing choice is itself a major determinant of interpolation quality. We represent textures as collections of local appearance vectors, or textons, and replace positional pairing with appearance-aware matching while keeping the encoder, representation, and decoder fixed. This isolates the effect of correspondence from changes in model capacity or training. Across texture pairs, appearance-aware matching consistently improves the distributional quality of interpolated midpoints over positional feature blending. Soft matching produces the strongest midpoint statistics, whereas one-to-one assignments yield more balanced transitions and closer agreement with the target endpoint. The same intervention also improves a second pretrained texture interpolator without retraining. These results identify correspondence as a first-class design choice in texture interpolation: meaningful transitions depend not only on how strongly two textures are mixed, but also on which local appearances are mixed with one another.
Figures & tables
| Method | KID | FID | Inc. real. | KID vs. positional | |
| CNT, 1,000 pairs | |||||
| Positional blending (field-linear) | 0.030 | 108.0 | 0.925 | 0.048 | – |
| Texton matching: Gaussian moments | 0.024 | 97.9 | 0.926 | 0.105 | 20% |
| Texton matching: Soft OT (ours) | 0.021 | 94.7 | 0.942 | 0.081 | 30% |
| Texton matching: Exact OT | 0.033 | 112.8 | 0.951 | 0.044 | 10% |
| Texture Mixer, 1,000 pairs | |||||
| Rule | KID | FID | Inc. real. | |
| Field-linear (same pipeline) | 0.0322 | 189.3 | 0.046 | 0.923 |
| Exact OT (1,024) | 0.0300 | 183.4 | 0.043 | 0.952 |
| Soft OT 1,024 | 0.0197 | 174.5 | 0.067 | 0.933 |
| Soft OT 1,024 | 0.0216 | 177.6 | 0.072 | 0.931 |
| Soft OT 4,096 (ours) | 0.0198 | 174.9 | 0.076 | 0.942 |
| Method | FID | KID | Inc. real. | DINO real. | s / midpoint | training | |
| Field-linear | 218.9 | 0.0305 | 0.913 | 0.856 | 0.041 | 0.18 | none |
| Soft OT (ours) | 208.2 | 0.0190 | 0.924 | 0.851 | 0.081 | 0.21 | none |
| Exact OT | 211.8 | 0.0302 | 0.943 | 0.871 | 0.044 | 0.66 | none |
| Texture Mixer | 204.0 | 0.0119 | 0.948 | 0.907 | 0.061 | 0.012 | GAN, domain-specific |
| Texture Mixer + soft OT | 204.0 | 0.0099 | 0.942 | 0.922 | 0.072 | 0.012+0.03 | GAN, domain-specific |
| GPT directed | 193.7 | 0.0051 | 0.960 | 0.906 | 0.054 | 38 (API) | proprietary |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | FID | KID | Inc. real. | DINO real. | Balance |
| Field-linear | 218.9 | 0.0305 | 0.913 | 0.856 | 0.041 |
| Primitive-linear | 247.9 | 0.0504 | 0.897 | 0.849 | 0.040 |
| Gaussian | 216.2 | 0.0253 | 0.919 | 0.847 | 0.103 |
| Soft OT (ours) | 208.2 | 0.0190 | 0.924 | 0.851 | 0.081 |
| Exact OT | 211.8 | 0.0302 | 0.943 | 0.871 | 0.044 |
| Texture Mixer | 204.0 | 0.0119 | 0.948 | 0.907 | 0.061 |
| Method | FID | Midpoint (s) | 11-frame path (s) |
| Soft OT (ours) | 268.3 | 0.21 | 1.02 |
| Field-linear | 284.6 | 0.18 | 0.99 |
| Vacher, Gram | 318.4 | 13.5 | 148.5 |
| Vacher, Gaussian | 314.3 | 15.0 | 165.3 |
| Vacher, Wasserstein | 313.6 | 52.4 | 576.6 |
| CNT reconstruction | 273.9 | – | – |
| Layout | Position cost | Appearance cost | Mixed cost |
| Frozen (source) | 0.030 | 0.030 | 0.027 |
| Moving (matched) | 0.036 | 0.080 | 0.046 |
| Rule | KID | FID | Target gap | Inc. real. | |
| Random permutation | 0.077 | 224.3 | 0.035 | 1.00 | 1.035 |
| Target mean | 0.025 | 183.7 | 0.082 | 0.91 | 0.921 |
| Field-linear | 0.031 | 188.7 | 0.044 | 0.29 | 0.923 |
| Primitive-linear | 0.043 | 211.8 | 0.035 | 0.00 | 0.895 |
| Gaussian | 0.022 | 177.6 | 0.107 | 0.81 | 0.928 |
| Nearest neighbor | 0.027 | 182.4 | 0.046 | 0.81 | 0.951 |
| Representation | Positional blend | Appearance-aware matching |
| DINO | 60% | 66% |
| SAM | 57% | 71% |
| CNT primitives | 60% | 87% |
| CNT field | 67% | 99% |
| Method | Mean | Fraction | Soft OT wins ( ) |
| Primitive-linear | .920 | 14% | 65/100 ( ) |
| Field-linear | .952 | 29% | 54/100 (.21) |
| LPIPS control | .938 | 25% | 62/100 (.017) |
| Soft OT (ours) | .960 | 41% | – |
| Method | Realism drop (self) | Realism drop (fixed) | Self drift |
| Autoencoder only | .105 | – | 61.9 |
| Primitive-linear | .024 | .025 | 61.0 |
| Field-linear | .024 | .029 | 61.0 |
| Texture Mixer | .006 | 59.7 | |
| Soft OT (ours) | 62.8 |
| Method | Encode, once per pair | Couple, once per pair | Each requested |
| Field-linear | 0.09 | – | 0.08 (0.02) decode |
| Soft OT (ours) | 0.09 | 0.03 | 0.08 (0.02) decode |
| Exact OT | 0.09 | 0.48 | 0.08 (0.02) decode |
| Texture Mixer | 0.009 | – | 0.003 generate |
| Vacher | – | – | 52.4 optimize |
| GPT-Image-1.5 | – | – | API call |
Texture Synthesis
Texture synthesis creates and edits realistic visual patterns and surface materials, from image patches to coherent, view-consistent 3D assets.
See all 34 papers