Hostname: page-component-6766d58669-mzsfj Total loading time: 0 Render date: 2026-05-15T08:52:51.447Z Has data issue: false hasContentIssue false

TGHop: an explainable, efficient, and lightweight method for texture generation

Published online by Cambridge University Press:  27 October 2021

Xuejing Lei*
Affiliation:
Ming Hsieh Department of Electrical and Computer Engineering, University of Southern California, Los Angeles, CA 90089, USA
Ganning Zhao
Affiliation:
Ming Hsieh Department of Electrical and Computer Engineering, University of Southern California, Los Angeles, CA 90089, USA
Kaitai Zhang
Affiliation:
Ming Hsieh Department of Electrical and Computer Engineering, University of Southern California, Los Angeles, CA 90089, USA
C.-C. Jay Kuo
Affiliation:
Ming Hsieh Department of Electrical and Computer Engineering, University of Southern California, Los Angeles, CA 90089, USA
*
Corresponding author: Xuejing Lei Email: xuejing@usc.edu

Abstract

An explainable, efficient, and lightweight method for texture generation, called TGHop (an acronym of Texture Generation PixelHop), is proposed in this work. Although synthesis of visually pleasant texture can be achieved by deep neural networks, the associated models are large in size, difficult to explain in theory, and computationally expensive in training. In contrast, TGHop is small in its model size, mathematically transparent, efficient in training and inference, and able to generate high-quality texture. Given an exemplary texture, TGHop first crops many sample patches out of it to form a collection of sample patches called the source. Then, it analyzes pixel statistics of samples from the source and obtains a sequence of fine-to-coarse subspaces for these patches by using the PixelHop++ framework. To generate texture patches with TGHop, we begin with the coarsest subspace, which is called the core, and attempt to generate samples in each subspace by following the distribution of real samples. Finally, texture patches are stitched to form texture images of a large size. It is demonstrated by experimental results that TGHop can generate texture images of superior quality with a small model size and at a fast speed.

Information

Type
Original Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited.
Copyright
Copyright © The Author(s), 2021. Published by Cambridge University Press in association with Asia Pacific Signal and Information Processing Association
Figure 0

Fig. 1. Illustration of successive subspace analysis and generation, where a sequence of subspace $S_1,\dots , S_n$ is constructed from source space, $S_0$, through a successive process indicated by blue arrows while red arrows indicate the successive subspace generation process.

Figure 1

Fig. 2. An overview of the proposed TGHop method. A number of patches are collected from the exemplary texture image, forming source space $S_0$. Subspaces $S_1$ and $S_2$ are constructed through analysis models $E_0^1$ and $E_1^2$. Input filter window sizes to Hop-1 and Hop-2 are denoted as $I_0$ and $I_1$. Selected channel numbers of Hop-1 and Hop-2 are denoted as $K_1$ and $K_2$. A block of size $I_i \times I_i$ of $K_i$ channels in space/subspace $S_i$ is converted to the same spatial location of $K_{i+1}$ channels in subspace $S_{i+1}$. Red arrows indicate the generation process beginning from core sample generation followed by coarse-to-fine generation. The model for core sample generation is denoted as $G_2$ and the models for coarse-to-fine generation are denoted as $G_2^1$ and $G_1^0$.

Figure 2

Fig. 3. Generated grass texture image with and without spatial dimension reduction (SDR). (a) Without SDR, (b) with SDR.

Figure 3

Fig. 4. Illustration of the interval representation, where the length of a segment in the unit interval represents the probability of a cluster, $p_i$. A random number is generated in the unit interval to indicate the cluster index.

Figure 4

Fig. 5. Illustration of the generation process.

Figure 5

Fig. 6. Examples of generated DC maps in core $S_2$ (first column), generated samples in subspace $S_1$ (second co-lumn), and the ultimate generated textures in source $S_0$ (third column).

Figure 6

Fig. 7. Examples of generated $brick\_wall$ texture patches and stitched images of larger sizes, where the image in the bottom-left corner is the exemplary texture image and the patches highlighted by red squared boxes are unseen patterns. (a) Synthesized $32\times 32$ patches. (b) Stitched images with $32\times 32$ patches. (c) Synthesized $64\times 64$ patches. (d) Stitched images with $64\times 64$ patches.

Figure 7

Table 1. The settings of four generation models.

Figure 8

Fig. 8. Generated patches using different settings, where the numbers below the figure indicates the dimensions of $S_0$, $S_1$, and $S_2$, respectively. (a) $3072\rightarrow 2560\rightarrow 2048$. (b) $3072\rightarrow 1536\rightarrow 768$. (c) $3072\rightarrow 1280\rightarrow 512$. (d) $3072\rightarrow 768\rightarrow 192$.

Figure 9

Fig. 9. Comparison of texture images generated by two DL-based methods and TGHop (from left to right): exemplary texture images, texture images generated by [20], by [25], two examples by TGHop without spatial dimension reduction (SDR) and one example by TGHop with SDR.

Figure 10

Fig. 10. More texture images generated by TGHop.

Figure 11

Table 2. Comparison of time needed to generate one texture image.

Figure 12

Table 3. The time of three processes in our method.

Figure 13

Table 4. The number of parameters of TGHop, under the setting of $\gamma =0.01$, $N=50$ $K_1=9$, $K_2=22$, $D_r=909$, $F=2,518$ and $W=200$.

Figure 14

Table 5. The reduced dimension, $D_r$, and the model size as a function of threshold $\gamma$ used in SDR.

Figure 15

Fig. 11. Generated brick_wall patches using different cluster numbers in independent component histogram matching. (a) 50 clusters. (b) 80 clusters. (c) 110 clusters. (d) 200 clusters.

Figure 16

Fig. 12. Generated brick_wall patches using different threshold $\gamma$ values in SDR. (a) $\gamma =0$. (b) $\gamma =0.0005$. (c) $\gamma =0.005$. (d) $\gamma =0.01$. (e) $\gamma =0.02$. (f) $\gamma =0.03$. (g) $\gamma =0.04$. (h) $\gamma =0.05$. (i) $\gamma =0.1$.