Introduction

One of the most important elements in Digital Image Correlation (DIC) is the pattern deposited on test sample surfaces, as measurement accuracy depends strongly on specific features of this pattern [10, 20, 29, 58]. Depending on the application, suitable speckles can be generated on specimen surfaces using a wide variety of experimental methods. For instance, for large scale applications, an airbrush or marker pen may be useful [21, 22] while, for small scale applications, the focused ion beam (FIB) technique or spin coating can be used [18, 54, 57]. However, for many of these methods, the operator’s experience may greatly influence the measurement accuracy obtained [27]. Concurrently, test standardisation and robust measurement methods are needed in the industrial context. This need raises demand for methods that are able to generate patterns with high reproducibility [8, 59].

Consequently, research has sought to define relevant pattern quality criteria. Some researchers have investigated the effect of speckle characteristics in detail [20, 35,36,37,38,39], leading to the definition of an optimal speckle size of 3 to 5 pixels [22]. We wish to point out here that this optimality criterion relates only to certain pattern generation techniques (e.g. airbrush and marker pen). For example, it relies on the assumption that a typical speckle size can be defined.

Increasing interest is concomitantly being shown in full-field measurement techniques that are able to operate at various scales [4, 24, 32, 43, 48, 56]. These techniques dramatically reduce both computational time and hardware requirements. However, in these conditions, it becomes questionable to define an optimal speckle size in pixels (since cameras with different magnification levels are considered).

Some other works have adopted a different approach and assessed pattern quality on the basis of global parameters [5, 6, 28]. To date, patterns described as multiscale have been designed for only two different scales [4, 24] and it is therefore more appropriate to call them biscale patterns. Unfortunately, this kind of pattern does not completely fulfil industrial needs. There is little chance that only two scales would be enough and that these two particular scales would be known precisely before the start of experiments. In this context, a truly multiscale pattern would prove particularly useful. Also, for DIC displacement measurements, its multiscale features would make it easier to use initialisation processes based on a multigrid approach [1, 16, 34].

In this paper, for the sake of simplicity, neither the process of image capture nor associated problems, such as scene lighting, will be investigated. We will focus rather on the generation of a scale-free pattern for texturing objects. First, some relevant global quality criteria for patterns are reviewed in “Pattern Quality Criteria”. A method to numerically generate patterns according to these criteria is then described in “Multiscale Pattern Generation from Auto-correlation Function”. Finally, numerical experiments to assess the measurement accuracy of one of the generated patterns are described in “Pattern Performance Evaluation”. This brings us to “Conclusion and Outlook” for some concluding remarks.

Pattern Quality Criteria

DIC is based on the assumption of grey level conservation [17]. Let us consider a reference and a deformed state image, respectively denoted by f and g. DIC aims to identify the displacement field \(\underline {u}\) such that:

$$ \forall \underline{x}\in{\Omega},\quad f(\underline{x})=g\circ\underline{\phi}(\underline{x})=g(\underline{x}+\underline{u}(\underline{x})), $$
(1)

where Ω stands for the Region Of Interest (ROI) and \(\underline {\phi }\) for the geometric transformation. From an algorithmic point of view, this problem is usually solved by minimising a DIC criterion measuring the distance between f and g advected by \(\underline {u}\) in a given domain Ω. For local approaches, classically referred to as subset-based DIC [23, 47], Ω corresponds to a small sub-window (called the Zone Of Interest (ZOI), subset, interrogation window, etc.). For global DIC [2, 46], Ω tends to stand for the whole ROI. Many different DIC criteria exist and have been evaluated. Tong [49] showed that the most robust and reliable criterion was the Zero-mean Normalised Sum of Squared Difference (ZNSSD), with:

$$ \begin{array}{@{}rcl@{}} C_{ZNSSD} = \frac{1}{M-1} \sum\limits_{pixels}\left( \frac{f-\overline{f}}{\Delta f}-\frac{g\circ\underline{\phi}-\overline{g\circ\underline{\phi}}}{\Delta \left( g\circ\underline{\phi}\right)}\right)^2, \end{array} $$
(2)

where \(\overline {f}\) and \(\overline {g\circ \underline {\phi }}\) denote, respectively, the mean value of f and \(g\circ \underline {\phi }\), Δf and \({\Delta }\left (g\circ \underline {\phi }\right )\) denote f and \(g\circ \underline {\phi }\) standard deviation, and M stands for the number of pixels. In the present work, this ZNSSD criterion is used. Tong [49] also expressed the relation between this criterion and the Zero-mean Normalised Cross-Correlation one (ZNCC) defined as:

$$ \begin{array}{@{}rcl@{}} C_{ZNCC}=\frac{1}{M-1}\sum\limits_{pixels} \left( \frac{f-\overline{f}}{\Delta f}\right)\left( \frac{g\circ\underline{\phi}-\overline{g\circ\underline{\phi}}}{\Delta \left( g\circ\underline{\phi}\right)}\right). \end{array} $$
(3)

Since we can write:

$$ \begin{array}{@{}rcl@{}} C_{ZNSSD}=2(1-C_{ZNCC}). \end{array} $$
(4)

It is worth pointing out that, for whole-pixel translations, computing CZNCC or the pattern auto-correlation function at the corresponding point would yield the same results. Hence, it is consistent to assess pattern quality by means of criteria based on the auto-correlation function for the ZNCC (or ZNSSD) cost function, but it should not be forgotten that the underlying approach remains valid only for whole-pixel translations.

Criteria Based on Auto-correlation Function

Bossuyt [6] suggested quality criteria based on pattern auto-correlation. From physical considerations on properties that an ideal pattern should have (Sensitivity and Robustness), he deduced the corresponding features of the pattern auto-correlation function. In the following, the interesting features of auto-correlation are reviewed.

Main Auto-correlation Peak Sharpness Radius

First, the pattern sensitivity needs to be assessed. For that purpose, Triconnet et al. [50] defined the main auto-correlation peak sharpness radii as the principal axes of the ellipse formed by the intersection of the osculating elliptic paraboloid in (0, 0) and the zero-height plane. The half-sum of these radii was then used as a quality criterion. Bossuyt [6] assumes that this criterion is closely related to the pattern displacement sensitivity. It may appear logical that, the smaller the radius, the greater the change in the auto-correlation function for a given subpixel translation.

Watershed Radius

Then, a good pattern should allow initialisation as far as possible from the displacement to be measured. To this end, Bossuyt [6] introduced a criterion based on the primary auto-correlation peak width to take the pattern robustness into account. The broader the peak the further the initialisation may be from the actual displacement and still avoid undesirable convergence towards local minima of the cost function. This criterion is the watershed radius and it represents the radius of a circle with the same area as the projection of the main auto-correlation peak on a plane. The interested reader is invited to refer to Bomarito et al. [5] for more information.

Secondary Auto-correlation Peak Height

Later on, Bomarito et al. [5] suggested taking possible mismatches or convergence in local minima into account by considering displacement fields associated with a stretch deformation. As these displacement fields can lead to primary correlation peaks that are actually lower than secondary correlation peaks in a ZNCC criterion, Bomarito et al. [5] introduced a metric based on the height of the secondary auto-correlation peak.

Mean Intensity Gradient

In subset-based DIC, a link has been established theoretically and numerically [29, 55] between the Sum of Square of Subset Intensity Gradients (SSSIG) and random error. Additionally, a global parameter based on SSSIG was elaborated: the Mean Intensity Gradient (MIG), and numerical experiments [28] showed improvements in both systematic and random errors for higher values of MIG. In the context of global DIC, such as Finite Element DIC (FE-DIC), Roux and Hild [40] established the same kind of relationship between MIG and error standard deviation theoretically.

The best possible values for SSSIG or MIG are achieved for checkerboard patterns [5]. Some works followed this path [15] and it led to a method called Localised Spectrum Analysis (LSA). However, in a general DIC context, according to Bomarito et al. [5], these parameters alone cannot be considered as proper pattern quality criteria because of the non-uniqueness of the identified displacement (up to a translation of a whole number of squares). These patterns cannot be used in a multiscale DIC framework either as the dynamic range of checkerboard pattern pictures taken by far-field cameras is drastically reduced.

For these reasons, both MIG-based and auto-correlation-function-based criteria will be considered here to generate a suitable multiscale pattern for DIC, as described below.

Multiscale Pattern Generation from Auto-correlation Function

Based on the auto-correlation criteria mentioned above, Bomarito et al. [5] developed an optimisation metric and a framework to generate an optimal pattern. A Boolean parameterisation of the pattern was considered for this, i.e., each pixel could be given the value 0 or m by the optimisation algorithm (where m + 1 is the number of quantisation levels). For each pattern, the auto-correlation function was computed in order to evaluate the metric. Thanks to this first step, Bomarito et al. [4] were able to create a method to generate an optimal biscale pattern in which two pixel sizes were defined, one for each camera magnification. However, the generalisation of this process to more than two different scales does not appear straightforward, particularly when a reasonable dynamic range must be obtained at all scales.

In this work, an alternative approach is suggested. We do not parameterise a pattern and then optimise the associated auto-correlation function quality criteria, nor do we define a set of magnification scales. Instead, a suitable auto-correlation function with appropriate multiscale properties is taken as an input. Then the associated pattern is generated directly. This section presents the method used to generate a fractal speckle pattern with respect to a priori criteria. The very same method could be employed to define patterns with user-defined auto-correlation functions.

Auto-correlation Function and Fourier Transform

Let us consider a sampled and quantised pattern:

$$ h:\underline{x}\in[\![ 0;2n+1 ]\!]^{2} \to h(\underline{x})\in[\![ 0;m]\!], $$
(5)

where m + 1 is the number of quantisation levels (256 levels with 8 bits), 2n + 2 the number of pixels in both dimensions and \(\underline {x}\) the pixel centre. h auto-correlation function Ah is defined as:

$$ A_{h}:\underline{\tau}\in[\![-n;n+1]\!]^{2}\rightarrow A_{h}(\underline{\tau})\in[-1;1], $$
(6)

where \(\underline {\tau }=(\tau _{x},\tau _{y})\) is the shift (or translation) vector. FT(h) denotes h Fourier transform. The inverse Fourier transform will be denoted by FT− 1(⋅). With such notations, we can compute the auto-correlation, up to a multiplicative constant, using the Wiener-Kinchin theorem [42] as follows:

$$ \begin{array}{@{}rcl@{}} A_{h} = FT^{-1}(\left|FT(h)\right|^{2}), \end{array} $$
(7)

where \(\left |FT(h)\right |^{2}\) is called h power spectrum. The pattern Fourier Transform modulus can easily be derived from equation Eq. 7:

$$ \begin{array}{@{}rcl@{}} \left|FT(h)\right|=FT(A_{h})^{\frac{1}{2}}. \end{array} $$
(8)

At this point, it may be noted from Eq. 8 that the amplitude of the pattern Fourier transform is known at each point of the frequency domain. However, the phase information cannot be recovered in the process. In the generation of fractal surfaces, a uniform [0;2π] random phase ψ is often used at each point of the frequency domain [12, 41, 51]. For this reason, we decided to use such a random phase ψ:

$$ \begin{array}{@{}rcl@{}} FT(h) = FT(A_{h})^{\frac{1}{2}}e^{j\psi} \text{ with } j^{2}=-1. \end{array} $$
(9)

For a thorough analysis on the influence of phase on the pattern obtained, we refer to [7]. Ultimately, the pattern can be generated from the auto-correlation function by applying the inverse Fourier transform and discarding the imaginary part in the previous equation:

$$ \begin{array}{@{}rcl@{}} h = \text{Re}\left( FT^{-1}\left( FT(A_{h})^{\frac{1}{2}}e^{j\psi}\right)\right). \end{array} $$
(10)

In the remainder of this article, unless otherwise stated, h will stand for the redistributed (in [0;m]) and quantised version of h of Eq. 10.

Similarities can be found between this numerical way of generating patterns and the method defined in [13], which optically generates fractal laser speckles. Very similar algorithms for generating fractal surfaces can also be found in the corresponding literature [12, 41, 51]. Additionally, a random modulus can also be used in Eq. 10. That is, \(FT(A_{h})^{\frac {1}{2}}\) can be multiplied in Eq. 10 by a Gaussian random variable of zero mean (and possibly, unit variance) as in [41, 51].

In previous works [4,5,6, 45], the pattern (or its Fourier Transform) was parameterised in order to optimise criteria based on the auto-correlation function. Hence, a computationally expensive inverse problem had to be solved to generate a pattern from these criteria. In contrast, this method is a direct way to obtain a pattern from its auto-correlation features thanks to Fourier Transform properties.

Pattern Generation

Auto-correlation Function Choice

First, it has to be noted that there are necessary conditions for a function A to be an auto-correlation function. A non-exhaustive list of required properties is given below:

  • the image of A should be included in [− 1; 1];

  • \(A(\underline {0}) = 1\);

  • \(\forall \underline {\tau },\quad A(\underline {\tau })=A(-\underline {\tau })\).

According to these conditions and the criteria defined in “Criteria Based on Auto-correlation Function”, we choose a correlation function with circular symmetry, which can thus be captured by a unidimensional function. Some kind of power law (e.g. an n th root function) seems to be an interesting candidate in terms of primary peak sharpness radius, watershed radius and secondary auto-correlation peak height. It is indeed ideally sharp (infinite derivative at the origin) and has no secondary peak. In this work, we choose to use a power type distribution:

$$ \begin{array}{@{}rcl@{}} A(\underline{\tau})=1-\left( \frac{\|\underline{\tau}\|}{n}\right)^{2H}, \end{array} $$
(11)

where H < 1/2 in order to keep an ideally sharp main auto-correlation peak and 0 < H in order to have \(A(\underline 0)=1\).

This choice for the auto-correlation function has a direct implication on the nature of the pattern that we will obtain. By considering a fractal surface (more specifically a self-affine surface), it is shown in [44] that the auto-correlation function is given by the same kind of function as Eq. 11, where H denotes the Hurst exponent and 0 < H < 1 [12, 44]. Reciprocally, the power spectrum of a surface is given by the Fourier transform of its auto-correlation function (see Eq. 7). Hence, the surface associated with A exhibits the same power spectrum as that of a fractal surface. Thus, by using Eq. 10 with Ah = A we would obtain a fractal pattern of Hurst exponent H [12, 41, 51]. Such self-affine patterns show some kind of statistical scale invariance: magnifying space coordinates x and y by a factor r (x and y become respectively rx and ry) requires the grey level value to be scaled by a factor rH to remain statistically identical [44, 52]. Concurrently, these surfaces are not stationary [44]. Nonstationary surfaces have auto-correlation lengths (usually defined as the distance required for the auto-correlation function to drop from 1 to \(1/e\simeq 0.37\)) that depend on the profile or surface area considered. It is therefore irrelevant to associate a correlation length with such patterns, unless it is, for instance, the characteristic length of the profile or surface used to compute the auto-correlation (this characteristic length was introduced in Eq. 11 via the parameter n, which ensures that the auto-correlation function belongs to [− 1;1]). We expect a scale-invariant, correlation-length-free pattern to exhibit interesting properties in the context of multiscale DIC. Let us finally point out to the interested reader that some of these multiscale properties for such patterns have already been evoked in [53].

Also, from [44] and Eq. 10, it is possible to show that the Root Mean Square (RMS) grey level difference between consecutive pixels is proportional to nH. This demonstrates, in this particular case, that the local gradient is linked to the main auto-correlation peak sharpness radius defined in “Main Auto-correlation Peak Sharpness Radius”. As H decreases, the sharpness radius decreases and the local gradient increases, which results in better measurement accuracy.

Conversely, as H decreases, the slope of the auto-correlation function far from the origin also decreases, making it more difficult to converge far away from the optimum. For 0 < H < 1/2, the fractal field is said to be antipersistent. For 1/2 < H < 1 it is said to be persistent. In the latter case, this means that an increase of grey level value over an arbitrary distance along a profile of h is likely to continue to increase for a comparable distance. In contrast, in the former case, an increase of grey level value is expected to be followed by a decrease [12].

Therefore, there is an interesting trade-off between measurement accuracy and robustness depending on the value that is chosen for H.

Figure 1 shows slices of different auto-correlation functions. The solid blue line represents the desired auto-correlation function A of Eq. 11 for n = 127, H = 1/22 and τx = 0.

Fig. 1
figure 1

Comparison between desired (solid blue line, A) and actual (dashed orange line, Ah) auto-correlation functions for n = 127, H = 1/22 and τx = 0. The green dash-dotted line is the auto-correlation function of \(F_{\mu ,0.3\sigma _{gl}}(h)\), a MIG-improved version of h

Then, from \(A(\underline {\tau })\), with H = 1/22, the pattern h is generated using Eq. 10, and its actual auto-correlation function Ah is computed with Eq. 7 after having subtracted h mean grey level value. In the following, h only stands for the pattern generated for H = 1/22. Ah(0, τy), symbolised by the orange dashed curve in Fig. 1, can be compared to the solid blue line of the desired auto-correlation A.

MIG Improvement Method

Since the focus has been placed on the auto-correlation function, MIG improvements have not been investigated so far. To remedy this, Figure 2 shows the histogram of the grey level distribution for different patterns and the MIG value computed for each of them. More specifically, Figure 2a shows the grey level distribution of h (the pattern that we generated in “Auto-correlation Function Choice”), for which a classical bell shape can be observed. This kind of grey level distribution is not optimal in terms of MIG. Heuristically, a way of increasing the MIG value would be to change the shape of the grey level distribution so that a greater number of pixels reached extreme values. To do this in practice, we make use of the inverse method [11]. Starting with the distribution plotted on Fig. 2a, a normal cumulative distribution function:

$$ \begin{array}{@{}rcl@{}} F_{\mu,\sigma}:x\to\frac{m+1}{2}\left( 1+\text{erf}\left( \frac{x-\mu}{\sqrt{2}\sigma}\right)\right), \end{array} $$
(12)

was applied to obtain the uniformly distributed pattern of Fig. 2b. In all that follows, unless otherwise stated, μ is set to the grey level mean value of image h (before quantisation), σ is a parameter to be chosen, and the grey level standard deviation of image h (before quantisation) is denoted by σgl. More precisely, it can be seen in Fig. 2b that a nearly uniform distribution is obtained by applying Fμ, σ to h (before quantisation) for σ = σgl, and a significant increase in the MIG value, from 23.3 to 58 is achieved. For the sake of simplicity, the redistributed (in [0;m]) and quantised version of Fμ, σ applied to h (before h has been quantised) will be denoted Fμ, σ(h). The Python script allowing both h and Fμ, σ(h) to be generated is included as supplementary material of this work for better understanding.

Fig. 2
figure 2

Grey level distributions of h and Fμ, σ(h) for different values of σ and grey level distribution of a randomly generated pattern. Mean Intensity Gradient (MIG) is also given for each pattern. Histograms and MIG values are given for n = 127

So as to spread grey levels even more towards extreme values and improve the MIG of the pattern, we now set σ equal to 0.3σgl when applying Fμ, σ to the pattern h (this choice for the value of σ will be explained in “Pattern Performance Evaluation”). Thus, as σ < σgl, extreme values are more represented than values in the middle of the distribution. It can be seen, by observing Figs. 1 and 2c, that this value for σ gives an even better MIG value, and sharpens the main auto-correlation peak. At the same time - although the possibility existed of this not being the case - the auto-correlation function keeps the same global shape.

Remark 1

Another path could be followed in order to obtain any grey level distribution function. From the uniform grey level distribution of Fig. 2b and by making use of the inverse method [11] a second time, the desired grey level distribution could be generated from the pattern h as long as its inverse cumulative distribution function was known. However, in this case, it cannot be guaranteed that the pattern auto-correlation function would remain practically unchanged.

Pattern Performance Evaluation

This section evaluates the suitability of the developed patterns a posteriori. To do this, we compare one of the proposed patterns with two others. As in [5], a random black and white pattern is taken as a reference. In addition, some numerical experiments are performed on a Perlin noise pattern for a deeper analysis.

Multiscale Properties − Coarse Graining

As expected from previous discussions, the patterns generated exhibit interesting multiscale properties. Figure 3 illustrates this statement by comparing one of the patterns developed (\(F_{\mu ,0.3\sigma _{gl}}(h)\)) with two other patterns, namely a randomly generated one (where each pixel can be equal to either 0 or 255 with a 50% chance) and a Perlin noise based one with speckles of 3 pixels. For these three patterns, a 32 × 32 subsampling was computed from the original 16384 × 16384 pictures. This meant that the subsampling required a 9-step coarse graining process (much greater then usual) of the corresponding original picture. As a result, each pixel in the coarse image was the integer part of a mean over more than 260,000 pixels from the original. Unsurprisingly, it led to an almost uniform grey picture for the random and the Perlin noise patterns, as shown in Fig. 3h, k, i and l. However, for our correlation-length-free pattern, the subsampled picture dynamic range was still greater than 200 grey levels (see Fig. 3g and j). A file is included as supplementary material. It contains a picture of each pattern and the corresponding grey level distribution along the coarse graining process described here. This suggests that prospects are good in a multiscale context where cameras with different levels of magnification operate simultaneously [32], or in the context of large transformations.

Fig. 3
figure 3

The first column is for a pattern generated using the proposed technique, \(F_{\mu ,0.3\sigma _{gl}}(h)\). The second one shows a randomly generated pattern where each pixel has a one-half chance of being equal to 0 or 255. The last column concerns a pattern based on a Perlin noise with a speckle size of approximately 3 pixels. For each column, the first figure is a picture of the pattern considered for n = 8191. The second picture is a zoom on a 100×100-pixel square of the 16384×16384 pattern. The third one is a subsampling of the pattern considered (each grey level value is equal to the integer part of the mean over the corresponding 512×512-pixel square). The last picture is the grey level distribution of the subsampling. Colour scale for pictures goes from 0 (black) to 255 (white)

Monoscale Displacement-field Measurements

In order to further evaluate the performance of one of the generated patterns (\(F_{\mu ,0.3\sigma _{gl}}(h)\)), it is now compared with the random and the Perlin noise patterns for two different kinds of displacement fields. The first kind of displacement field addressed corresponds to subpixel translations and the second one to stretches. These displacement fields were chosen because they are exactly represented by the FE shape functions and do not require any specific care from an algorithmic standpoint (as opposed to large rotations for instance [25, 31]). This reduces mesh-dependent and algorithm-dependent effects as much as possible, the idea being that similar results may be expected for subset-based DIC.

From a reference state image f (i.e. one of the three patterns considered), we generated a deformed state image g. The process for this generation will be described more in detail in each corresponding subsection. Then, in order to account for image noise acquisition, images were assumed to be polluted by a Gaussian noise [3]. Finally, each picture was quantified and grey level values above 255 and below 0 were set to 255 and 0 respectively (i.e. m = 255).

Adding Gaussian noise of variance \(\sigma _{noise}^{2}\) to both images f and g is equivalent to corrupting only g with a Gaussian noise of variance \(2\sigma _{noise}^{2}\) [40]. Consequently, we only generated noise for g and set the σnoise value to 3 grey levels, which is a conservative approach regarding the 2 grey levels evaluated in [40]. From a practical point of view, for each measurement, 3 different noises were drawn and the 3 corresponding displacement fields were measured using a FE-DIC algorithm [2, 30, 46]. For the initialisation, a coarse-graining approach with a decreasing Tikhonov regularisation was used [34]. Basically, the idea is to aggregate pixels 4 by 4 in order to produce a coarser image with a smaller number of pixels. This process can be repeated n times and produces an n-level multigrid scheme. A DIC problem is solved at each level by a top-down approach. The Tikhonov term added in the DIC functional regularises the DIC displacement field identification problem, which becomes more and more ill-posed as the number of pixels shrinks when the same mesh is used for any level.

The discrepancy between the measured displacement \(\underline {u}^{m}\) and the imposed one \(\underline {u}^{imp}\) was evaluated at each node of the mesh for the 3 measurements corresponding to each noise. Two quantities of interest were extracted:

  • The systematic error expectancy

    $$ e_{u}=\left\langle \frac{1}{2N}\sum\limits_{k=1}^{N}\sum\limits_{\alpha\in\{x,y\}} \left( u_{\alpha k}^{m}-u_{\alpha k}^{imp}\right)\right\rangle, $$
    (13)
  • The random error expectancy

    $$ \sigma_{e}=\left\langle \sqrt{\frac{1}{2N-1}\sum\limits_{k=1}^{N}\sum\limits_{\alpha\in\{x,y\}} (u_{\alpha k}^{m}-u_{\alpha k}^{imp}-e_{u})^{2}}\right\rangle, $$
    (14)

where N denotes the number of nodes of the mesh, \(u_{\alpha k}^{m}\) the measured displacement for node k and direction α ∈{x, y}, \(u_{\alpha k}^{imp}\) the corresponding imposed displacement and \(\left \langle \cdot \right \rangle \) the expectancy, in the sense of the mean over the different noises.

Finally, picture size was set to 256 × 256 pixels (i.e. n = 127) and an unstructured triangular mesh, containing 132 nodes and 222 elements, was generated (see Fig. 4). The mesh was located in the centre of f so that high levels of strain (up to 25%) could be reached without having pixels initially contained in the mesh moved out of the picture.

Fig. 4
figure 4

Mesh used for the FE-DIC measurements superimposed on h (n = 127)

Subpixel Translations

The generation of g from f for subpixel translations was achieved by a phase shift in the Fourier space [33]. In our framework, 21 subpixel translations ranging from 0 to 1 pixel in the {x}-direction were imposed by steps of 0.05 pixel. At the same time, the {y}-component of the imposed displacement was kept equal to 0. The multigrid level was set to 1 for the initialisation step.

In order to choose the value for σ, the influence of this parameter was studied as shown in Fig. 5. We can observe a smooth decrease of the curve representing the systematic error expectancy as σ decreases until the curve reaches a minimum for σ = 0.3σgl.

Fig. 5
figure 5

Systematic and random error expectancies for sub-pixel translations. Results are presented for the random pattern, the initial pattern h, Fμ, σ(h) for five different values of σ ranging from 0.2σgl to σgl, and the Perlin noise pattern

Table 1 sums up the performance achieved by \(F_{\mu ,0.3\sigma _{gl}}(h)\) with respect to the random pattern and the Perlin noise pattern in terms of systematic and random error expectancies. In order to conveniently compare all three patterns, for each expectancy, a scalar value is derived from the 21 measurements as in [5]. These values are the mean of the systematic error expectancy absolute value and the mean of the random error expectancy over the 21 subpixel translations respectively. Thus, using the proposed pattern generation technique, a 18.9% improvement for random error and a 95.1% improvement for systematic error can be obtained with respect to the random pattern. Compared to the Perlin noise pattern, the random error of the proposed pattern increases by 1.52% while, at the same time, its systematic error decreases by 77.9%.

Table 1 Comparison of the pattern \(F_{\mu ,0.3\sigma _{gl}}(h)\) with the random and the Perlin noise patterns. Each line represents the mean over the 21 translations of Fig. 5, for systematic error expectancy absolute value and for random error expectancy

In what follows, only \(F_{\mu ,0.3\sigma _{gl}}(h)\), the random and the Perlin noise patterns are considered.

Stretches

Regarding stretch deformation, we decided to generate image g from a reference state image f such that g represented a symmetric stretch along the {x}-direction . It was performed via an inversion of the transformation \(\underline {\phi }\). More precisely, the relation \(f(\underline {x})=g\circ \underline {\phi }(\underline {x})\) with \(\underline {\phi }(\underline {x})=(x+\varepsilon (x-n),y)^{T}\) had to be inversed. It yielded \(g(\underline {\Tilde {x}})=f\circ \underline {\phi }^{-1}(\underline {\Tilde {x}})\) with \(\underline {\phi }^{-1}(\underline {\Tilde {x}}) = (\frac {\Tilde {x}-n}{1+\varepsilon }+n,\Tilde {y})^{T}\), where ε denotes the tensile strain and n has been defined in “Auto-correlation Function and Fourier Transform”. Finally, g was generated by evaluating f at non-integer pixel positions thanks to a bivariate spline approximation. Since expected values for the displacement were much higher than for subpixel translations, we used a two-level multigrid initialisation. Values for ε ranged from 1% to 20% by steps of 1 percentage point.

Figure 6 shows both systematic and random errors for \(F_{\mu ,0.3\sigma _{gl}}(h)\) (orange diamonds), the random pattern (blue circles) and the Perlin noise pattern (green triangles) for the stretch displacement field. For each curve in Fig. 6a and b, two different regimes are exhibited. A part where subpixel accuracy for systematic and random error expectancies is achieved (below 9% stretch for the random and the Perlin noise patterns, and 18% stretch for our pattern) and another part where the algorithm obviously converged to a local minimum since errors are about a pixel or above. Table 2 is composed in the same way as Table 1 except that averages for systematic and random error expectancies were not taken over the whole measurement range but only over the values where all the curves converged (i.e. for the stretch strain value ε ∈{0.01,0.02...0.09}). The pattern developed in this work is outperformed by 15.0% and 33.2% in terms of random and systematic error expectancies, respectively, by the Perlin noise pattern for average values of Table 2 and by 13.3% in terms of systematic error expectancy absolute value by the random pattern. However, it should be pointed out that a 35.4% improvement compared to a random pattern is obtained for the random error expectancy. But most importantly, the multiscale property and large watershed radius of the generated pattern result in its capability to converge to the global minimum for higher levels of deformation than either the random or Perlin ones; a 100% improvement in these levels is achieved by \(F_{\mu ,0.3\sigma _{gl}}(h)\) compared to these patterns. This robustness property should be of particular interest for large deformation applications [9] and, most interestingly, in applications like metal forming, where intermediate images between a reference and significantly deformed images cannot be obtained [14].

Fig. 6
figure 6

Systematic error expectancy absolute value and random error expectancy for stretches. Results are presented for \(F_{\mu ,0.3\sigma _{gl}}(h)\), the random and the Perlin noise patterns

Table 2 Comparison of the pattern \(F_{\mu ,0.3\sigma _{gl}}(h)\) with the random and the Perlin noise patterns. Each line reports the mean over the first 9 measurements of Fig. 6 (ε ∈{0.01,0.02...0.09}), for either systematic (upper line) or random (lower line) error expectancies

Multiscale Displacement-field Measurements

This section aims to demonstrate the suitability of one of the proposed patterns in a multiscale DIC setup in terms of expected errors on displacement field measurements. The process used for this purpose was similar to that described in “Multiscale Properties − Coarse Graining” and thus generated a 16384 × 16384-pixel picture for each of the three patterns considered (i.e. \(F_{\mu ,0.3\sigma _{gl}}(h)\) for n = 8191, the random pattern and the Perlin noise pattern with 3-pixel-wide speckles, see Fig. 3a, b and c). For each pattern and for every scale s ∈ [ [0; 6] ], we generated a \(\frac {16384}{2^{s}}\times \frac {16384}{2^{s}}\)-pixel image via s steps of the coarse graining process used in “Multiscale Properties − Coarse Graining”. Then from this aggregated picture only a 256 × 256-pixel portion located in the centre was considered and extracted. Finally, exactly the same displacement measurements as in “Monoscale Displacement-field Measurements” were performed, the only difference being that, here, ε could reach 25% (instead of 20% in “Monoscale Displacement-field Measurements”).

At this point, for each scale s and each pattern, only five scalar values assessing the corresponding measurement accuracy are derived:

  • the mean over the 21 sub-pixel translations of the:

    • systematic error expectancy absolute value,

    • random error expectancy,

  • the convergence robustness defined as the highest stretch strain value where the pattern managed to converge,

  • the mean over the stretch strain values such that all three patterns managed to converge for the:

    • systematic error expectancy absolute value,

    • random error expectancy.

Remark 2

For stretches, if a pattern at a given scale did not manage to converge (even for the smallest stretch strain value considered ε = 0.01), we did not include it.

Figure 7 shows corresponding results with respect to the scale s for the three patterns. For scales 5 and 6, the Perlin noise pattern could not converge, even for the smallest stretch strain value (ε = 0.01). This can be seen in Fig. 7e, where the value plotted for the convergence robustness is 0. Strictly speaking, for these scales, the convergence robustness of the Perlin noise pattern is not 0 but is less than 0.01. As a result, and as shown in Fig. 7c and d, the Perlin noise pattern was discarded for scales 5 and 6.

Fig. 7
figure 7

Top, results for the sub-pixel translations; means are computed over the 21 translations considered. Middle, results for the stretches; means are computed only over the stretch strain values where all three patterns managed to converge (except for scales 5 and 6 where the Perlin noise pattern was discarded): {s = 0, ε ≤ 0.08}, {s = 1, ε ≤ 0.04}, {s = 2, ε ≤ 0.05}, {s = 3, ε ≤ 0.04}, {s = 4, ε ≤ 0.04}, {s = 5, ε ≤ 0.06}, {s = 6, ε ≤ 0.04}. Bottom, convergence robustness and legend. Left, mean of the systematic error expectancy absolute value. Right, mean of the random error expectancy. Results are presented for \(F_{\mu ,0.3\sigma _{gl}}(h)\), the random and the Perlin noise patterns

Relatively to the random and the Perlin noise patterns, and for the range of scales considered, the DIC errors associated with the pattern proposed in this work do not depend on the scale s. Except for the steep increase of the mean of the systematic error expectancy absolute value between scales 0 and 1 for translations (see Fig. 7a), our pattern shows stable error values. Regarding the convergence robustness in Fig. 7e, this output tends to improve as the scale increases for the proposed pattern while the opposite trend can be observed for the other two patterns.

Figure 7c and d show the mean of the systematic error expectancy absolute value and of the random error expectancy for stretches for the three patterns considered. For each scale, these means were computed over the range of ε where all three patterns converged. Additionally, Table 3 gives the mean of the absolute value of the systematic error expectancy and the mean of the random error expectancy over the whole range of convergence of our pattern for stretches (i.e. {s = 0, ε ≤ 0.17}, {s = 1, ε ≤ 0.16}, {s = 2, ε ≤ 0.20}, {s = 3, ε ≤ 0.20}, {s = 4, ε ≤ 0.25}, {s = 5, ε ≤ 0.22}, { s = 6, ε ≤ 0.25}). This shows that the errors for the highest strain rates are similar to those for the smallest ones. If this was not the case, the values of Table 3 would not be so close to the values shown in Fig. 7c and d for \(F_{\mu ,0.3\sigma _{gl}}(h)\).

Table 3 \(F_{\mu ,0.3\sigma _{gl}}(h)\) results for stretches and the scales considered. For each scale, means are computed over the whole range of convergence of this pattern

Remark 3

Error values for \(F_{\mu ,0.3\sigma _{gl}}(h)\) at the scale s = 0 differ quite a bit from the values of “Monoscale Displacement-field Measurements” (see Tables 2 and 3 for instance). This can be explained by the fact that the patterns considered are not exactly the same. In “Monoscale Displacement-field Measurements”, the pattern was generated with n = 127 to produce a 256 × 256-pixel picture. In this section it was generated with n = 8191 and then a 256 × 256-pixel picture was extracted.

Conclusion and Outlook

In this work, a method based on the literature on fractal surface generation has been introduced. This has been used to generate patterns directly from a desired auto-correlation function. Unlike the methods used so far, this generation process does not require any optimisation loop. This way of generating patterns has offered the opportunity to clarify what a good pattern is in a multiscale DIC context thanks to a priori quality criteria. One of the main unprecedented ideas that has arisen from these discussions is that a correlation-length-free pattern, i.e. a pattern with no typical speckle size, should exhibit interesting multiscale properties. This new way of considering patterns enables a family of truly multiscale patterns (and not only biscale or n-scale patterns) to be defined, based on fractal (self-affine) statistical scale-invariance. Also, it helps overcome some limitations linked to defining speckle sizes when different levels of magnification are involved (usually, a speckle size of 3 to 5 pixels is recommended). At this point, a complementary process could be implemented based on image filtering [26, 60] with parameters set accordingly to each camera zoom level in order to increase measurement accuracy at each scale considered. In the present work, a way has also been found to use the inverse method [11] to redistribute grey levels for patterns that we generated in order to improve their MIG value. For the distribution function used and these patterns specifically, this process kept their auto-correlation function practically unchanged.

Numerical experiments have been performed for two different displacement fields in order to assess a posteriori the quality of one of the patterns generated compared to a random black and white pattern and a Perlin noise pattern. These experiments were first performed at a single scale, and then for multiple magnification up to a factor 64 (26). They corroborated the expectations formulated beforehand. The pattern considered showed DIC errors comparable to those of the other two patterns for the first scales, but a much greater robustness. Most importantly, it showed errors and robustness that were stable with respect to the scale whereas these two outputs became significantly degraded for the other two patterns as the scale increased. Making use of the framework developed here, one may think of performing a closed-loop optimisation [19]. By considering the auto-correlation function shape (with Eq. 11 parameterised by H or even with a different parameterisation) and the grey level distribution as input parameters, it would be possible to fine-tune them and optimise error expectancies for specific displacement fields.