IP Library Granted Patent US 10,475,145
Granted Patent B1
US 10,475,145 · App. 15/849,923 · Granted Nov 12, 2019

Smart watermarking

Inventor: Kevin Lester (Summit, NJ)
Assignee: SHUTTERSTOCK, INC.
G06T1/0071G06T5/002G06T2207/20084
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 10,475,145
App. No.
15/849,923
Granted
Nov 12, 2019
Kind
B1
Abstract

Various aspects of the subject technology relate to systems, methods, and machine-readable media for watermarking an identification mark on an image. A system may provide an image to a trained convolutional neural network to generate a saliency map. The saliency map includes saliency information which identifies a salient region of the image and a non-salient region of the image. The system may be configured to determine a level of aggressiveness based on a weight model. The weight model includes information regarding a popularity of the image, a value of the image, a geographic location of the image, and a user account associated with the image. The system is configured to overlap the watermark with one of the identified salient region and the non-salient region based on the level of aggressiveness to generate a watermarked image.

Claims (59)

1. A computer-implemented method, comprising:

generating a saliency map for a user-provided image, the saliency map comprising a saliency value of a plurality of pixels in the user-provided image;

identifying, based on the saliency map, a salient region of the user-provided image having a highest saliency value and a non-salient region of the user-provided image having a lowest saliency value;

identifying a geographic region associated with a second user account from a user profile of a second user accessing the user-provided image;

determining a level of aggressiveness of a watermark to use with the user-provided image based on a weight model, the weight model including a distance of the geographic region associated with the second user account to a geographic region identified in the user-provided image; and

configuring the watermark to overlap with at least one of the salient region and the non-salient region of the user-provided image based on the level of aggressiveness to generate a watermarked image.

2. The computer-implemented method of claim 1 , further comprising:

providing the watermarked image for display to a client device, wherein the watermark is fixed to the watermarked image.

3. The computer-implemented method of claim 2 , further comprising:

receiving, from the client device, a selection of at least one of the salient region or the non-salient region.

4. The computer-implemented method of claim 1 , further comprising:

providing a first plurality of sample images to a trained convolutional neural network to generate a first saliency model, wherein the first saliency model is configured to provide instances of identifying features leading to a prediction of a first salient object in a first salient region of an image; and

generating a first saliency map of the user-provided image based on the first saliency model.

5. The computer-implemented method of claim 4 , further comprising:

providing a second plurality of sample images to the trained convolutional neural network to generate a second saliency model, wherein the second saliency model is configured to provide instances of identifying features leading to a prediction of a second salient object in a second salient region of an image, wherein the second saliency model is different from the first saliency model; and

generating a second saliency map of the user-provided image based on the second saliency model.

6. The computer-implemented method of claim 5 , further comprising:

determining the second salient region having the second salient object different from the first salient object; and

configuring the watermark to overlap with the second salient region.

7. The computer-implemented method of claim 1 , wherein the weight model comprises a plurality of weight criteria comprising information regarding a popularity of the user-provided image, a value associated with the user-provided image, geographic information associated with the user-provided image, and a user account associated with the user-provided image, and wherein a respective weight is assigned to each of the plurality of weight criteria.

8. The computer-implemented method of claim 1 , further comprising:

determining a type of watermark, wherein the type of watermark comprises overlaying content on the user-provided image, blurring a portion of the user-provided image, darkening a portion of the user-provided image, defocusing a portion of the user-provided image, softening a portion of the user-provided image, skewing a portion of the user-provided image, or removing visual content from the user-provided image.

9. The computer-implemented method of claim 1 , wherein the watermark is overlapped with one or more regions in the user-provided image upon determining that respective saliency values corresponding to the one or more regions are above a predetermined threshold.

10. The computer-implemented method of claim 1 , further comprising:

presenting a plurality of suggestions comprising a suggested type of watermark and a suggested level of aggressiveness;

receiving a first input indicating a selection of the suggested type of watermark; and

receiving a second input indicating a selection of the suggested level of aggressiveness.

11. A system comprising:

one or more processors;

a computer-readable storage medium coupled to the one or more processors, the computer-readable storage medium including instructions that, when executed by the one or more processors, cause the one or more processors to:

generate a saliency map for a user-provided image, the saliency map comprising a saliency value of a plurality of pixels in the user-provided image;

identify, based on the saliency map, a salient region of the user-provided image having a highest saliency value and a non-salient region of the user-provided image having a lowest saliency value;

identify a geographic region associated with a second user account from a user profile of a second user accessing the user-provided image;

determine a level of aggressiveness of a watermark to use with the user-provided image based on a weight model, the weight model including a distance of the geographic region associated with the second user account to a geographic region identified in the user-provided image;

configure the watermark to overlap with at least one of the salient region and the non-salient region of the user-provided image based on the level of aggressiveness to generate a watermarked image; and

provide the watermarked image for display to a client device, wherein the watermark is fixed to the watermarked image.

12. The system of claim 11 , wherein the instructions further cause the one or more processors to receive, from the client device, a selection of at least one of the salient region or the non-salient region.

13. The system of claim 11 , wherein the instructions further cause the one or more processors to:

provide a first plurality of sample images to a trained convolutional neural network to generate a first saliency model, wherein the first saliency model configured to provide instances of identifying features leading to a prediction of a first salient object in a first salient region of an image; and

generate a first saliency map of the user-provided image based on the first saliency model.

14. The system of claim 13 , wherein the instructions further cause the one or more processors to:

provide a second plurality of sample images to the trained convolutional neural network to generate a second saliency model, the second saliency model configured to provide instances of identifying features leading to a prediction of a second salient object in a second salient region of an image, wherein the second saliency model is different from the first saliency model; and

generate a second saliency map of the user-provided image based on the second saliency model.

15. The system of claim 14 , wherein the instructions further cause the one or more processors to:

determine the second salient region having the second salient object different from the first salient object; and

configure the watermark to overlap with the second salient region.

16. The system of claim 11 , wherein the weight model comprises a plurality of weight criteria comprising information regarding a popularity of the user-provided image, a value associated with the user-provided image, geographic information associated with the user-provided image, and a user account associated with the user-provided image.

17. The system of claim 11 , wherein the instructions further cause the one or more processors to determine a type of watermark, the type of watermark comprising overlaying content on the user-provided image, blurring a portion of the user-provided image, darkening a portion of the user-provided image, defocusing a portion of the user-provided image, softening a portion of the user-provided image, skewing a portion of the user-provided image, or removing visual content from the user-provided image.

18. The system of claim 11 , wherein the watermark is overlapped with one or more regions in the user-provided image upon determining that respective saliency values corresponding to the one or more regions are above a predetermined threshold.

19. The system of claim 11 , wherein the instructions further cause the one or more processors to:

present a plurality of suggestions comprising a suggested type of watermark and a suggested level of aggressiveness;

receive a first input indicating a selection of the suggested type of watermark; and

receive a second input indicating a selection of the suggested level of aggressiveness.

20. A computer-implemented method, comprising:

sending, at a client device, a request for a saliency map of an image, the saliency map comprising a saliency value of a plurality of pixels in the image;

authorizing a remote server to access a user profile and identify a geographic region associated with a second user account;

receiving, from a trained convolutional neural network, the saliency map identifying a salient region of the image having a highest saliency value and a non-salient region of the image having a lowest saliency value in the image;

determining a level of aggressiveness of a watermark to use with the image based on a weight model, the weight model including a distance of the geographic region associated with the second user account to a geographic region identified in the image; and

configuring, at the client device, the watermark to overlap with at least one of the salient region and the non-salient region of the image based on the level of aggressiveness to generate a watermarked image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2018
From: LESTER, KEVIN
To: SHUTTERSTOCK, INC.
Reel/Frame 044729/0804 →
Cited By (2)
US 12,334,111 US 12,476,966