## 3 Simulation and Experimental Results
The reflected light from the first DMD passed through a convergent lens (CL) with a focal length of 50 mm and imaged onto the second DMD, which was loaded with FPs as original object images (a common practice in SPI [36; 37; 38]). Using another DMD rather than transparent films or etched plates to present FPs can facilitate the object switching without the need to change the light path and save costs. The reflected light of the second DMD was then focused onto a photomultiplier tube (PMT) (served as a bucket detector to record the total light intensities) through a CL also of 50 mm focal length. For a 4-user CKD case, the reconstructed ghost images of 5 FPs and their binarized results were presented in Figure 4b-f and 4g-k, respectively. Figure 3: Simulation results for \(t=4\) case. (**a**–**e**) Five watermarked FPs; (**f**–**j**) are the recovered ghost images; (**k**–**o**) five binary FPs with the watermarks being removed from (**f**–**j**); (**p**) the composite image synthesized from (**k**–**o**) by using the cascade ablation strategy; (**q**) the function patterns of a QR code of Version 2; (**r**) the sum of (**p**,**q**), i.e., the recovered QR code image. Figure 2: Schematic of QR code image segmentation and watermark embedding for the \(t=4\) case. (**a**) QR Code (Version 2) barcode symbology specification; (**b**) QR code image of \(25\times 25\) pixel-units; (**c**) function patterns; (**d**) encoding region; (**e**–**i**) five fragment patterns (FPs). Two standards were applied to evaluate the quality of reconstructed images. One was the contrast-to-noise ratio (CNR): \(\text{CNR}(G)=\frac{\left\langle G(x_{in})\right\rangle-\left\langle G(x_{out}) \right\rangle}{\sqrt{\frac{1}{2}[\Delta^{2}G(x_{in})+\Delta^{2}G(x_{out})]}}\), which was used as an assessment for the reconstructed grayscale images before binarization, where \(\Delta^{2}G(x)=\left\langle G(x)^{2}\right\rangle-\left\langle G(x)\right\rangle ^{2}\) denotes the variance; \(\left\langle\cdot\right\rangle\) represents the ensemble average operator; \(x_{in}\) and \(x_{out}\) stand for the pixels inside and outside the transmitted object regions [39], respectively. The larger the CNR value, the better the quality of reconstructed image. Another criterion we used was the number of wrong points (i.e., bright pixel-units were misjudged as dark pixel-units or dark pixel-units were misjudged as bright pixel-units) existing in one binarized FP result compared with the original FP, which can intuitively indicate the correctness of this binarized FP. Figure 5 shows the performance analysis of the protocol with the changes in the optical density (OD) of the used neutral density filter (NDF) and sampling rate. The OD can be treated as an attenuation coefficient which is defined as OD = \(\log_{10}(\frac{1}{T})\), where \(T\) denotes the transmittance. From Figure 5a we can see that the CNRs of the restored FPs have a continuous downward trend with the increase in the OD. Additionally, Figure 5b shows that when the OD is less than 3.5, the number of wrong points can be kept at a relatively low level. When the OD is greater than 3.5, the number of wrong points increases with the OD value. As far as we know, the value of OD determines the level of the total light intensity that enters into the PMT. Generally, the larger the OD value is, the more severely the photon counts of both signal and ambient noise will be attenuated. However, we can see from Figure 5c that, as the OD value increases, the attenuation of photon counts of ambient noise (with double DMDs being encoded with all-zero matrices) will tend toward saturation. The photon counts of the signal are usually larger than those of the ambient noise, and the signal attenuation saturation occurs latter than the noise attenuation saturation; thus, the signal attenuation amplitude is larger than the noise amplitude in high ODs, which finally leads to a decrease in the measured signal-to-noise ratio and an increase in the number of wrong points in the case of high OD values.