Skip to main content
Log in

3D model watermarking using surface integrals of generated random vector fields

  • Regular Paper
  • Published:
Multimedia Systems Aims and scope Submit manuscript

Abstract

We propose a new semi-blind semi-fragile watermarking algorithm for authenticating triangulated 3D models using the surface integrals of generated random vector fields. Watermark data is embedded into the flux of a vector field across the model’s surface and through gradient-based optimization techniques, the vertices are shifted to obtain the modified flux values. The watermark can be extracted through the recomputation of the surface integrals and compared using correlation measures. This algorithm is invariant to Euclidean transformations including rotations and translation, reduces distortion, and achieves improved robustness to additive noise.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Data Availability

Source code and data has been made available on a published Code Capsule on Code Ocean with the following https://doi.org/10.24433/CO.0174131.v4.

References

  1. Embaby, A.A., Mohamed, A., Shalaby, W., Elsayed, K.: Digital watermarking properties, classification and techniques. Int. J. Eng. Adv. Technol. 9(3), 2742–2750 (2020)

    Article  Google Scholar 

  2. Ahmed, N., Natarajan, T., Rao, K.R.: Discrete cosine transform. IEEE Trans. Comput. C 23(1), 90–93 (1974). https://doi.org/10.1109/T-C.1974.223784

    Article  MathSciNet  Google Scholar 

  3. Melkonian, S.: Mathematical Methods and Boundary Value Problems. Nelson, Toronto (2018)

    Google Scholar 

  4. Liu, Y., Prabhakaran, B., Guo, X.: A robust spectral approach for blind watermarking of manifold surfaces. In: Proceedings of the 10th ACM Workshop on Multimedia and Security. MM &Sec ’08, pp. 43–52. Association for Computing Machinery, New York (2008). https://doi.org/10.1145/1411328.1411338

  5. Liu, Y., Prabhakaran, B., Guo, X.: Spectral watermarking for parameterized surfaces. IEEE Trans. Inform. Forens. Secur. 7(5), 1459–1471 (2012). https://doi.org/10.1109/TIFS.2012.2204251

    Article  Google Scholar 

  6. Vandenberghe, L., Joslin, C.: 3D model watermarking using surface integrals of generated random vector fields. https://www.codeocean.com/ (2024). https://doi.org/10.24433/CO.0174131.v4

  7. Webster, R., Oliver, M.A.: Geostatistics for Environmental Scientists. Wiley, New York (2009)

    Google Scholar 

  8. Kraichnan, R.H.: Diffusion by a random velocity fie. Phys. Fluids 13(1), 22–31 (1970). https://doi.org/10.1063/1.1692799

    Article  Google Scholar 

  9. Mingarelli, A.: The ABC’S of Calculus, vol. 2. Angelo Mingarelli, Ottawa (2019)

    Google Scholar 

  10. Cox, I.J., Kilian, J., Leighton, F.T., Shamoon, T.: Secure spread spectrum watermarking for multimedia. IEEE Trans. Image Process. 6(12), 1673–1687 (1997). https://doi.org/10.1109/83.650120

    Article  Google Scholar 

  11. Goodfellow, I.J., Bengio, Y., Courville, A.: Deep Learning. MIT Press, Cambridge (2016)

    Google Scholar 

  12. Ohbuchi, R., Masuda, H., Aono, M.: Watermaking three-dimensional polygonal models. In: Proceedings of the Fifth ACM International Conference on Multimedia. MULTIMEDIA ’97, pp. 261–272. Association for Computing Machinery, New York (1997). https://doi.org/10.1145/266180.266377

  13. Wang, Y.-P., Hu, S.-M.: A new watermarking method for 3d models based on integral invariants. IEEE Trans. Vis. Comput. Graph. 15(2), 285–294 (2009). https://doi.org/10.1109/TVCG.2008.101

    Article  Google Scholar 

  14. Xu, T., Cai, Z.-Q.: A novel semi-fragile watermarking algorithm for 3d mesh models. In: 2012 International Conference on Control Engineering and Communication Technology, pp. 782–785 (2012). https://doi.org/10.1109/ICCECT.2012.180

  15. Huang, C.-C., Yang, Y.-W., Fan, C.-M., Wang, J.-T.: A spherical coordinate based fragile watermarking scheme for 3d models, pp. 566–571 (2013). https://doi.org/10.1007/978-3-642-38577-3_58

  16. Cheung, Y.M., Wu, H.T.: A sequential quantization strategy for data embedding and integrity verification. IEEE Trans. Circuits Syst. Video Technol. 17(8), 1007–1016 (2007). https://doi.org/10.1109/TCSVT.2007.903553

    Article  Google Scholar 

  17. Maheshwari, P., Agarwal, P., Prabhakaran, B.: Progressive compression invariant semi-fragile watermarks for 3d meshes. In: Proceedings of the 9th Workshop on Multimedia & Security. MM &Sec ’07, pp. 245–250. Association for Computing Machinery, New York (2007). https://doi.org/10.1145/1288869.1288904

  18. Borah, S., Borah, B.: A blind, semi-fragile 3d mesh watermarking algorithm using minimum distortion angle quantization index modulation (3d-mdaqim). Arab. J. Sci. Eng. 44, 3867–3882 (2019). https://doi.org/10.1007/s13369-018-03714-5

    Article  Google Scholar 

  19. Borah, S., Borah, B.: Three-Dimensional (3D) Polygon Mesh Authentication Using Sequential Bit Substitution Strategy, pp. 617–627 (2020). https://doi.org/10.1007/978-981-13-8676-3_52

  20. Bochkarev, M., Vybornova, Y.: A qim-based watermarking method for 3d mesh integrity protection. In: 2021 International Conference on Information Technology and Nanotechnology (ITNT), pp. 1–4 (2021).https://doi.org/10.1109/ITNT52450.2021.9649306

  21. Peng, F., Long, B., Long, M.: A semi-fragile reversible watermarking for authenticating 3D models based on virtual polygon projection and double modulation strategy. In: IEEE Transactions on Multimedia, pp. 1–1 (2021) https://doi.org/10.1109/TMM.2021.3134159

  22. Peng, F., Liao, T., Long, M.: A semi-fragile reversible watermarking for authenticating 3d models in dual domains based on variable direction double modulation. IEEE Trans. Circ. Syst. Video Technol. 32(12), 8394–8408 (2022). https://doi.org/10.1109/TCSVT.2022.3192542

    Article  Google Scholar 

  23. Kaye, D., Ivrissimtzis, I.: Mesh alignment using grid based pca. In: Proceedings of the 10th International Conference on Computer Graphics Theory and Applications. GRAPP 2015, pp. 174–181. SCITEPRESS-Science and Technology Publications, Lda, Setubal, PRT (2015). https://doi.org/10.5220/0005313801740181

  24. asais, R.M.C.: Contributions to Spectral Spatial Statistics. Santiago de Compostela, Santiago de Compostela (2007)

    Google Scholar 

  25. Falk, H., Vladyslav, P., Steffen, S., Sabine, A.: Generating random fields with a truncated power-law variogram: a comparison of several numerical methods. Environ. Model. Softw. 55, 32–48 (2014). https://doi.org/10.1016/j.envsoft.2014.01.013

    Article  Google Scholar 

  26. Chaouch, M., Verroust, A.: Alignment of 3d models. Graph. Models 71, 63–76 (2009). https://doi.org/10.1016/j.gmod.2008.12.006

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Contributions

L.V. wrote the main manuscript text, generated the experimental results, and prepared the figures. C.J. was an advisor who reviewed and provided feedback to improve the manuscript.

Corresponding author

Correspondence to Luke Vandenberghe.

Ethics declarations

Conflict of interest

The authors declare no competing interests.

Additional information

Communicated by Balakrishnan Prabhakaran.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Gradient

Appendix A: Gradient

By chain rule, the gradient used in Eq. (28) is written as

$$\begin{aligned} \nabla _{{\varvec{t}}'}J({\varvec{t}}')&= \frac{\partial J}{\partial \phi ({\varvec{t}}')} \nabla _{{\varvec{t}}'}\phi ({\varvec{t}}') =\left( \phi ({\varvec{t}}') - \phi '({\varvec{t}}) \right) \nabla _{{\varvec{t}}'}\phi ({\varvec{t}}'), \end{aligned}$$

and the gradient of the flux with respect to the facet’s vertices is computed by

$$\begin{aligned} A_{n,1}&= ({\varvec{k}}_n \times {\varvec{\zeta }}_n) \cdot ({\varvec{p}}_i' \times {\varvec{p}}_j' - {\varvec{p}}_i' \times {\varvec{p}}_k' + {\varvec{p}}_j' \times {\varvec{p}}_k'),\\ A_{n,2}&= ({\varvec{k}}_n \times {\varvec{\xi }}_n) \cdot ({\varvec{p}}_i' \times {\varvec{p}}_j' - {\varvec{p}}_i' \times {\varvec{p}}_k' + {\varvec{p}}_j' \times {\varvec{p}}_k'),\\ A_{n,3}&= {\varvec{k}}_n \cdot ({\varvec{p}}_j' + {\varvec{p}}_k' - 2{\varvec{p}}_i'),\\ A_{n,4}&= {\varvec{k}}_n \cdot (2{\varvec{p}}_i' - {\varvec{p}}_k'),\\ A_{n,5}&= {\varvec{k}}_n \cdot {\varvec{p}}_j',\\ A_{n,6}&= {\varvec{k}}_n \cdot {\varvec{p}}_i',\\ A_{n,7}&= {\varvec{k}}_n \cdot ({\varvec{p}}_i' - {\varvec{p}}_k'),\\ A_{n,8}&= {\varvec{k}}_n \cdot ({\varvec{p}}_i' - {\varvec{p}}_j'),\\ B_{n,1} = \,&\frac{\cos (A_{n,6}) - \cos (A_{n,5})}{A_{n,7}^2A_{n,8}} + \frac{\cos (A_{n,6}) - \cos (A_{n,5})}{A_{n,7}A_{n,8}^2} \\&+ \frac{\cos (A_{n,4}) - \cos (A_{n,5})}{A_{n,3}A_{n,7}^2} - \frac{2(\cos (A_{n,4}) - \cos (A_{n,5}))}{A_{n,3}^2A_{n,7}} \\&+ \frac{\sin (A_{n,6})}{A_{n,7}A_{n,8}} + \frac{2\sin (A_{n,4})}{A_{n,7}A_{n,3}},\\ B_{n,2} = \,&\frac{\sin (A_{n,6}) - \sin (A_{n,5})}{A_{n,7}^2A_{n,8}} + \frac{\sin (A_{n,6}) - \sin (A_{n,5})}{A_{n,7}A_{n,8}^2} \\&+ \frac{\sin (A_{n,4}) - \sin (A_{n,5})}{A_{n,3}A_{n,7}^2} - \frac{2(\sin (A_{n,4}) - \sin (A_{n,5}))}{A_{n,3}^2A_{n,7}} \\&- \frac{\cos (A_{n,6})}{A_{n,7}A_{n,8}} - \frac{2\cos (A_{n,4})}{A_{n,7}A_{n,3}}, \\ B_{n,3} = \,&\frac{\cos (A_{n,6}) - \cos (A_{n,5})}{A_{n,7}A_{n,8}^2} - \frac{\cos (A_{n,4}) - \cos (A_{n,5})}{A_{n,3}^2A_{n,7}} \\&+ \frac{\sin (A_{n,5})}{A_{n,8}A_{n,7}} + \frac{\sin (A_{n,5})}{A_{n,7}A_{n,3}}, \\ B_{n,4} = \,&-\frac{\sin (A_{n,6}) - \sin (A_{n,5})}{A_{n,7}A_{n,8}^2} + \frac{\sin (A_{n,4}) - \sin (A_{n,5})}{A_{n,3}^2A_{n,7}} \\&+ \frac{\cos (A_{n,5})}{A_{n,8}A_{n,7}} + \frac{\cos (A_{n,5})}{A_{n,7}A_{n,3}}, \\ B_{n,5} = \,&\frac{\cos (A_{n,6}) - \cos (A_{n,5})}{A_{n,7}^2A_{n,8}} + \frac{\cos (A_{n,4}) - \cos (A_{n,5})}{A_{n,3}A_{n,7}^2} \\&- \frac{\cos (A_{n,4}) - \cos (A_{n,5})}{A_{n,3}^2A_{n,7}} + \frac{\sin (A_{n,4})}{A_{n,7}A_{n,3}}, \\ B_{n,6} = \,&\frac{\sin (A_{n,6}) - \sin (A_{n,5})}{A_{n,7}^2A_{n,8}} + \frac{\sin (A_{n,4}) - \sin (A_{n,5})}{A_{n,3}A_{n,7}^2} \\&- \frac{\sin (A_{n,4}) - \sin (A_{n,5})}{A_{n,3}^2A_{n,7}} - \frac{\cos (A_{n,4})}{A_{n,7}A_{n,3}}, \\ B_{n,7} = \,&\frac{\cos (A_{n,6}) - \cos (A_{n,5})}{A_{n,7}A_{n,8}} + \frac{\cos (A_{n,4}) - \cos (A_{n,5})}{A_{n,3}A_{n,7}},\\ B_{n,8} = \,&\frac{\sin (A_{n,6}) - \sin (A_{n,5})}{A_{n,7}A_{n,8}} + \frac{\sin (A_{n,4}) - \sin (A_{n,5})}{A_{n,3}A_{n,7}}, \end{aligned}$$
$$\begin{aligned} C_{n,1}&= \begin{vmatrix}0&z_k' - z_j'&y_j' - y_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix}, \\ C_{n,2}&= \begin{vmatrix}z_k' - z_j'&0&x_j' - x_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,3}&= \begin{vmatrix}y_j' - y_k'&x_k'-x_j'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix}, \\ C_{n,4}&= \begin{vmatrix}0&z_k' - z_j'&y_j' - y_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,5}&= \begin{vmatrix}z_k' - z_j'&0&x_j' - x_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,6}&= \begin{vmatrix}y_j' - y_k'&x_k'-x_j'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,7}&= \begin{vmatrix}0&z_k' - z_i'&y_i' - y_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix}, \\ C_{n,8}&= \begin{vmatrix}z_k' - z_i'&0&x_i' - x_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,9}&= \begin{vmatrix}y_i' - y_k'&x_k'-x_i'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,10}&= \begin{vmatrix}0&z_k' - z_i'&y_i' - y_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,11}&= \begin{vmatrix}z_k' - z_i'&0&x_i' - x_k'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,12}&= \begin{vmatrix}y_i' - y_k'&x_k'-x_i'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,13}&= \begin{vmatrix}0&z_j' - z_i'&y_i' - y_j'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,14}&= \begin{vmatrix}z_j' - z_i'&0&x_i' - x_j'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,15}&= \begin{vmatrix}y_i' - y_j'&x_j'-x_i'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \zeta _{n,1}&\zeta _{n,2}&\zeta _{n,3}\end{vmatrix},\\ C_{n,16}&= \begin{vmatrix}0&z_j' - z_i'&y_i' - y_j'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,17}&= \begin{vmatrix}z_j' - z_i'&0&x_i' - x_j'\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix},\\ C_{n,18}&= \begin{vmatrix}y_i' - y_j'&x_j'-x_i'&0\\ k_{n,1}&k_{n,2}&k_{n,3}\\ \xi _{n,1}&\xi _{n,2}&\xi _{n,3}\end{vmatrix}, \end{aligned}$$
$$\begin{aligned} \frac{\partial \phi ({\varvec{t}}')}{\partial x_i'}&= \sum _{n=1}^N(k_{n,1}(A_{n,1}B_{n,1} + A_{n,2}B_{n,2}) - B_{n,7}C_{n,1} - B_{n,8}C_{n,4}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial y_i'}&= \sum _{n=1}^N(k_{n,2}(A_{n,1}B_{n,1} + A_{n,2}B_{n,2}) + B_{n,7}C_{n,2} + B_{n,8}C_{n,5}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial z_i'}&= \sum _{n=1}^N(k_{n,3}(A_{n,1}B_{n,1} + A_{n,2}B_{n,2}) + B_{n,7}C_{n,3} + B_{n,8}C_{n,6}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial x_j'}&= -\sum _{n=1}^N(k_{n,1}(A_{n,1}B_{n,3} + A_{n,2}B_{n,4}) - B_{n,7}C_{n,7} - B_{n,8}C_{n,10}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial y_j'}&= -\sum _{n=1}^N(k_{n,2}(A_{n,1}B_{n,3} + A_{n,2}B_{n,4}) + B_{n,7}C_{n,8} + B_{n,8}C_{n,11}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial z_j'}&= -\sum _{n=1}^N(k_{n,3}(A_{n,1}B_{n,3} + A_{n,2}B_{n,4}) + B_{n,7}C_{n,9} + B_{n,8}C_{n,12}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial x_k'}&= - \sum _{n=1}^N(k_{n,1}(A_{n,1}B_{n,5} + A_{n,2}B_{n,6}) + B_{n,7}C_{n,13} + B_{n,8}C_{n,16}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial y_k'}&= -\sum _{n=1}^N(k_{n,2}(A_{n,1}B_{n,5} + A_{n,2}B_{n,6}) - B_{n,7}C_{n,14} - B_{n,8}C_{n,17}),\\ \frac{\partial \phi ({\varvec{t}}')}{\partial z_k'}&= -\sum _{n=1}^N(k_{n,3}(A_{n,1}B_{n,5} + A_{n,2}B_{n,6}) - B_{n,7}C_{n,15} - B_{n,8}C_{n,18}), \end{aligned}$$
$$\begin{aligned} \nabla _{{\varvec{t}}'}\phi ({\varvec{t}}')&= \begin{pmatrix} {\partial \phi ({\varvec{t}}')}/{\partial x_i'}\\ {\partial \phi ({\varvec{t}}')}/{\partial y_i'}\\ {\partial \phi ({\varvec{t}}')}/{\partial z_i'}\\ {\partial \phi ({\varvec{t}}')}/{\partial x_j'}\\ {\partial \phi ({\varvec{t}}')}/{\partial y_j'}\\ {\partial \phi ({\varvec{t}}')}/{\partial z_j'}\\ {\partial \phi ({\varvec{t}}')}/{\partial x_k'}\\ {\partial \phi ({\varvec{t}}')}/{\partial y_k'}\\ {\partial \phi ({\varvec{t}}')}/{\partial z_k'} \end{pmatrix}. \end{aligned}$$

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vandenberghe, L., Joslin, C. 3D model watermarking using surface integrals of generated random vector fields. Multimedia Systems 30, 253 (2024). https://doi.org/10.1007/s00530-024-01455-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00530-024-01455-0

Keywords

Navigation

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy