IP Library Granted Patent US 12,238,322
Granted Patent B2
US 12,238,322 · App. 18/008,789 · Granted Feb 25, 2025

End-to-end watermarking system

Inventors: Xiyang Luo (Mountain View, CA); Feng Yang (Sunnyvale, CA); Elnaz Barshan Tashnizi (Toronto, CA); Dake He (Waterloo, CA); Ryan Matthew Haggarty (Kitchener, CA); Michael Gene Goebel (Santa Barbara, CA)
Assignee: Google LLC
H04N19/467G06T1/0021
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,238,322
App. No.
18/008,789
Granted
Feb 25, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for jointly training an encoder that generates a watermark and a decoder that decodes a data item encoded within the watermark. The training comprises obtaining a plurality of training images and data items. For each training image, a first watermark is generated using an encoder and a subsequent second watermark is generated by tiling two or more first watermarks. The training image is watermarked using the second watermark to generate a first error value and distortions are added to the watermarked image. A distortion detector predicts the distortions based on which the distorted image is modified. The modified image is decoded by the decoder to generate a predicted data item and a second error value. The training parameters of the encoder and decoder are adjusted based on the first and the second error value.

Claims (96)

1. A computer-implemented method for jointly training an encoder machine learning model that generates a digital watermark that is embedded into an image and a decoder machine learning model that decodes a first data item encoded within the digital watermark that is embedded into the image, wherein the training comprises:

obtaining a first plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image;

for each training image in the first plurality of training images:

obtaining a data item from the plurality of data items;

generating, using the encoder machine learning model to which the data item is provided as input, a first digital watermark that encodes the data item;

tiling two or more instances of the first digital watermark to generate a second digital watermark;

combining the second digital watermark with the training image to obtain a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using a distortion detector machine learning model, the one or more distortions present in the watermarked training image;

modifying the watermarked training image based on the predicted one or more distortions while preserving the second digital watermark embedded in the distorted, watermarked training image; and

decoding, using the decoder machine learning model, the modified watermarked training image to obtain a decoded data item that is predicted to be embedded in the second digital watermark embedded in the distorted, watermarked training image;

determining a first error value based on the watermarked training image and the training image;

determining a second error value based on the decoded data item and the data item; and

adjusting one or more training parameters of the encoder machine learning model and the decoder machine learning model to minimize the first error value and the second error value.

2. The method of claim 1 , wherein determining the first error value based on the watermarked training image and the training image, comprises:

computing an L 2 loss value based on the watermarked training image and the training image.

3. The method of claim 1 , wherein determining the second error value based on the decoded data item and the data item, comprises:

computing a sigmoid cross entropy value based on the decoded data item and the data item.

4. The method of claim 1 , wherein the one or more distortions include image compression, gaussian noise, or image scaling.

5. The method of claim 1 , further comprising training the distortion detector machine learning model, including:

obtaining a second plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image;

fixing weights of the encoder machine learning model; and

for each training image in the second plurality of training images:

generating, using the encoder machine learning model, a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using the distortion detector machine learning model, the one or more distortions present in the distorted watermarked training image;

predicting, using the distortion detector machine learning model, one or more distortions present in the watermarked training image;

determining a third error value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted one or more distortions present in the watermarked training image; and

adjusting one or more training parameters of the distortion detector machine learning model to minimize the third error value.

6. The method of claim 1 , wherein determining the third error value, comprises:

computing an L 2 loss value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted, one or more distortions present in the watermarked training image.

7. A system, comprising:

at least one processor;

at least one memory storing instructions that, when executed by the at least one processor, perform operations comprising:

training an encoder machine learning model and a decoder machine learning model, wherein the encoder machine learning model generates a digital watermark that is embedded into an image and the decoder machine learning model decodes a first data item encoded within the digital watermark that is embedded into the image, wherein the training comprises:

obtaining a first plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image; and

for each training image in the first plurality of training images:

obtaining a data item from the plurality of data items;

generating, using the encoder machine learning model to which the data item is provided as input, a first digital watermark that encodes the data item;

tiling two or more instances of the first digital watermark to generate a second digital watermark;

combining the second digital watermark with the training image to obtain a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using a distortion detector machine learning model, the one or more distortions present in the watermarked training image;

modifying the watermarked training image based on the predicted one or more distortions while preserving the second digital watermark embedded in the distorted, watermarked training image; and

decoding, using the decoder machine learning model, the modified watermarked training image to obtain a decoded data item that is predicted to be embedded in the second digital watermark embedded in the distorted, watermarked training image;

determining a first error value based on the watermarked training image and the training image;

determining a second error value based on the decoded data item and the data item; and

adjusting one or more training parameters of the encoder machine learning model and the decoder machine learning model to minimize the first error value and the second error value.

8. The system of claim 7 , wherein determining the first error value based on the watermarked training image and the training image, comprises:

computing an L 2 loss value based on the watermarked training image and the training image.

9. The system of claim 7 , wherein determining the second error value based on the decoded data item and the data item, comprises:

computing a sigmoid cross entropy value based on the decoded data item and the data item.

10. The system of claim 7 , wherein the one or more distortions include image compression, gaussian noise, or image scaling.

11. The system of claim 7 , wherein the operations further comprising training the distortion detector machine learning model, including:

obtaining a second plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image;

fixing weights of the encoder machine learning model; and

for each training image in the second plurality of training images:

generating, using the encoder machine learning model, a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using the distortion detector machine learning model, the one or more distortions present in the distorted watermarked training image;

predicting, using the distortion detector machine learning model, one or more distortions present in the watermarked training image;

determining a third error value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted one or more distortions present in the watermarked training image; and

adjusting one or more training parameters of the distortion detector machine learning model to minimize the third error value.

12. The system of claim 7 , wherein determining the third error value, comprises:

computing an L 2 loss value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted, one or more distortions present in the watermarked training image.

13. A non-transitory computer readable medium storing instructions that, when executed by one or more data processing apparatus, cause the one or more data processing apparatus to perform operations for jointly training an encoder machine learning model that generates a digital watermark that is embedded into an image and a decoder machine learning model that decodes a first data item encoded within the digital watermark that is embedded into the image, wherein the training comprises:

obtaining a first plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image;

for each training image in the first plurality of training images:

obtaining a data item from the plurality of data items;

generating, using the encoder machine learning model to which the data item is provided as input, a first digital watermark that encodes the data item;

tiling two or more instances of the first digital watermark to generate a second digital watermark;

combining the second digital watermark with the training image to obtain a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using a distortion detector machine learning model, the one or more distortions present in the watermarked training image;

modifying the watermarked training image based on the predicted one or more distortions while preserving the second digital watermark embedded in the distorted, watermarked training image; and

decoding, using the decoder machine learning model, the modified watermarked training image to obtain a decoded data item that is predicted to be embedded in the second digital watermark embedded in the distorted, watermarked training image;

determining a first error value based on the watermarked training image and the training image;

determining a second error value based on the decoded data item and the data item; and

adjusting one or more training parameters of the encoder machine learning model and the decoder machine learning model to minimize the first error value and the second error value.

14. The non-transitory computer readable medium of claim 13 , wherein determining the first error value based on the watermarked training image and the training image, comprises:

computing an L 2 loss value based on the watermarked training image and the training image.

15. The non-transitory computer readable medium of claim 13 , wherein determining the second error value based on the decoded data item and the data item, comprises:

computing a sigmoid cross entropy value based on the decoded data item and the data item.

16. The non-transitory computer readable medium of claim 13 , wherein the one or more distortions include image compression, gaussian noise, or image scaling.

17. The non-transitory computer readable medium of claim 13 , further comprising training the distortion detector machine learning model, including:

obtaining a second plurality of training images and a plurality of data items, wherein each data item in the plurality of data items is a data item that is to be encoded within a digital watermark to be embedded into a training image;

fixing weights of the encoder machine learning model; and

for each training image in the second plurality of training images:

generating, using the encoder machine learning model, a watermarked training image;

applying one or more distortions to the watermarked training image;

predicting, using the distortion detector machine learning model, the one or more distortions present in the distorted watermarked training image;

predicting, using the distortion detector machine learning model, one or more distortions present in the watermarked training image;

determining a third error value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted one or more distortions present in the watermarked training image; and

adjusting one or more training parameters of the distortion detector machine learning model to minimize the third error value.

18. The non-transitory computer readable medium of claim 13 , wherein determining the third error value, comprises:

computing an L 2 loss value based on the predicted, one or more distortions present in the distorted watermarked training image and the predicted, one or more distortions present in the watermarked training image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2023
From: LUO, XIYANG; YANG, FENG; TASHNIZI, ELNAZ BARSHAN; HE, DAKE; HAGGARTY, RYAN MATTHEW; GOEBEL, MICHAEL GENE
To: GOOGLE LLC
Reel/Frame 063761/0683 →
Continuity (1)
Related Publication 20230362399A1 · Nov 9, 2023
References Cited (47)
US 6580819B1 · Rhoads · 2003 [cited by applicant]
US 6850626B2 · Rhoads et al. · 2005 [cited by applicant]
US 7113615B2 · Rhoads et al. · 2006 [cited by applicant]
US 7266217B2 · Rhoads et al. · 2007 [cited by applicant]
US 7720249B2 · Rhoads · 2010 [cited by applicant]
US 8106744B2 · Petrovic et al. · 2012 [cited by applicant]
US 8731235B2 · Boyd · 2014 [cited by examiner]
US 9509882B2 · Reed et al. · 2016 [cited by applicant]
US 10616439B2 · Gharaibeh et al. · 2020 [cited by applicant]
US 11019407B2 · Revital · 2021 [cited by examiner]
US 20080130945A1 · Rhoads et al. · 2008 [cited by applicant]
US 20150030201A1 · Holub et al. · 2015 [cited by applicant]
US 20200193553A1 · Rhoads et al. · 2020 [cited by applicant]
US 20210067785A1 · Zhang · 2021 [cited by examiner]
US 20210067842A1 · Revital · 2021 [cited by examiner]
US 20210141896A1 · Streit · 2021 [cited by examiner]
US 20210334929A1 · He et al. · 2021 [cited by applicant]
US 20210390447A1 · Cheruvu · 2021 [cited by examiner]
US 20220121932A1 · Kalarot · 2022 [cited by examiner]
US 20230152805A1 · Bramley · 2023 [cited by examiner]
US 20240087075A1 · Luo et al. · 2024 [cited by applicant]
CN 112200710 · 2021 [cited by applicant]
EP 3164849 · 2017 [cited by applicant]
EP 3304486 · 2018 [cited by applicant]
WO WO2021045781 · 2021 [cited by applicant]
Notice of Allowance in Japanese Appln. No. 2023-507470, mailed on May 7, 2024, 5 pages (with English translation). [cited by applicant]
Invitation to Pay Additional Fees in International Appln. No. PCT/US2022/011901, mailed on Oct. 11, 2022, 15 pages. [cited by applicant]
Ahmadi et al., “ReDMark: Framework for Residual Diffusion Watermarking based on Deep Networks” submitted on Dec. 2018, arXiv:1810.07248, 33 pages. [cited by applicant]
Dai et al., “R-fcn: Object detection via region-based fully convolutional networks.” submitted on Jun. 2016, arXiv preprint arXiv:1605.06409, 11 pages. [cited by applicant]
Hatoum et al., “Using deep learning for image watermarking attack.” Signal Processing: Image Communication 90, Jan. 2021, 12 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/038252, mailed on May 16, 2022, 19 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/011898, mailed on Sep. 20, 2022, 15 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/011901, mailed on Dec. 6, 2022, 23 pages. [cited by applicant]
Long et al., “Fully convolutional networks for semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, 3431-3440. [cited by applicant]
Luo et al., “Distortion Agnostic Deep Watermarking” submitted on Jan. 2020, arXiv: 2001.04580, 14 pages. [cited by applicant]
Luo et al., “DVMark: a deep multiscale framework for video watermarking.” submitted on Apr. 2021, arXiv preprint arXiv:2104.12734, 17 pages. [cited by applicant]
Luo et al., “LECA: A learned approach for efficient cover-agnostic watermarking.” submitted on Jun. 2022, arXiv preprint arXiv:2206.10813, 5 pages. [cited by applicant]
Rasmussen et al., “Deepmorph: A system for hiding bitstrings in morphable vector drawings.” submitted on Nov. 2020, arXiv preprint arXiv:2011.09783, 6 pages. [cited by applicant]
Ronneberger et al., “U-net: Convolutional networks for biomedical image segmentation.” submitted on May 2015, arXiv:1505.04597, 8 pages. [cited by applicant]
Tancik et al., “StegaStamp: Invisible Hyperlinks in Physical Photographs” submitted on Mar. 2020, arXiv: 1904.05343, 13 pages. [cited by applicant]
Towardsdatascience.com [online], “Understanding Semantic Segmentation with UNET” Feb. 2019, retrieved on Jan. 25, 2023, retrieved from URL <https://towardsdatascience.com/understanding-semantic-segmentation-with-unet-6b… [cited by applicant]
Wengrowski et al., “Light field messaging with deep photographic steganography.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, 2019, 1515-124. [cited by applicant]
Wikipedia.org [online], “Precision and Recall” Nov. 2007, retrieved on Jan. 25, 2023, retrieved from URL <https://en.wikipedia.org/wiki/Precision_and_recall>, 13 pages. [cited by applicant]
Zhong et al., “A robust image watermarking system based on deep neural networks.” submitted on Jan. 2021, arXiv preprint arXiv:1908.11331, 10 pages. [cited by applicant]
Zhu et al., “Hidden: Hiding data with deep networks.” Proceedings of the European conference on computer vision (ECCV), 2018, 16 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2022/011898, mailed on Jul. 25, 2024, 9 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2022/011901, mailed on Jul. 25, 2024, 13 pages. [cited by applicant]
Cited By (1)
US 12,737,538