Generating and implementing semantic histories for editing digital images
The present disclosure relates to systems, methods, and non-transitory computer-readable media that generate and implement semantic histories for digital image editing. For instance, in some embodiments, the disclosed systems determine, for a digital image, a first semantic state and a second semantic state that reflects a first semantic change in the digital image from the first semantic state. Additionally, the disclosed systems determine, for the digital image, a third semantic state that reflects a second semantic change in the digital image from the first semantic state. The disclosed systems further generate a semantic history log for the digital image, the semantic history log including a first editing branch corresponding to the second semantic state and a second editing branch corresponding the third semantic state. Based on one or more user interactions with the semantic history log, the disclosed systems modify the digital image.
1 . A computer-implemented method comprising:
determining, for a digital image, a first semantic state and a second semantic state that reflects a first object-aware modification of an object portrayed in the digital image from the first semantic state using an object mask generated for the object by a segmentation neural network;
determining, for the digital image, a third semantic state that reflects a second object-aware modification of the object in the digital image from the first semantic state using the object mask generated for the object;
generating a semantic history log for the digital image, the semantic history log including the first semantic state of the digital image, a first editing branch corresponding to the second semantic state and a second editing branch corresponding the third semantic state; and
modifying the digital image based on one or more user interactions with the semantic history log by:
detecting, via a graphical user interface, a user selection of a semantic state of the digital image within the semantic history log from the first semantic state, the second semantic state, or the third semantic state;
providing, for display within an editing window of the graphical user interface in response to the user selection of the semantic state, the digital image in the semantic state; and
modifying the object in the digital image using the object mask generated for the object based on detecting one or more user interactions with the digital image in the semantic state via the editing window; and
modifying, in response to modifying the object using the object mask, the semantic history log to include a fourth semantic state that reflects a third object-aware modification of the object in the digital image from the semantic state.
2 . The computer-implemented method of claim 1 , further comprising generating, using the segmentation neural network, the object mask for the object by pre-processing the digital image before receiving user input for modifying the digital image.
3 . The computer-implemented method of claim 1 , wherein modifying the semantic history log to include the fourth semantic state that reflects the third object-aware modification of the object in the digital image from the semantic state comprises modifying the semantic history log to include a visual representation of the digital image in the fourth semantic state.
4 . The computer-implemented method of claim 1 , wherein modifying the semantic history log to include the fourth semantic state that reflects the third object-aware modification of the object in the digital image from the semantic state comprises modifying the semantic history log by adding a third editing branch corresponding to the fourth semantic state.
5 . The computer-implemented method of claim 1 , wherein providing, for display within the editing window of the graphical user interface in response to the user selection of the semantic state, the digital image in the semantic state comprises replacing, within the editing window, the digital image in a current semantic state in response to the user selection of the semantic state within the semantic history log.
6 . The computer-implemented method of claim 1 , further comprising:
generating, utilizing a natural language processing model, a textual description of the first object-aware modification to the object portrayed in the digital image from the first semantic state; and
associating the textual description of the first object-aware modification with the second semantic state within the semantic history log.
7 . The computer-implemented method of claim 1 , further comprising storing, in association with the semantic history log, the digital image in the first semantic state, the digital image in the second semantic state, and the digital image in the third semantic state.
8 . The computer-implemented method of claim 1 , further comprising:
detecting at least one user interaction with the semantic history log to apply the first object-aware modification reflected by the second semantic state to the digital image in the third semantic state; and
modifying the digital image via the first object-aware modification to the object portrayed in the digital image from the third semantic state in response to the at least one user interaction.
9 . The computer-implemented method of claim 1 ,
further comprising generating, before the first object-aware modification or the second object-aware modification to the object portrayed in the digital image, the semantic history log including an editing branch corresponding to the first semantic state of the digital image,
wherein generating the semantic history log including the first editing branch and the second editing branch comprises updating the semantic history log to include the second semantic state and the third semantic state by adding the second semantic state or the third semantic state to the editing branch corresponding to the first semantic state.
10 . The computer-implemented method of claim 1 , further comprising generating at least one digital video from the semantic history log that depicts a progression from the first semantic state of the digital image through subsequent semantic states.
11 . A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
generating, for a digital image, a semantic history log that includes one or more editing branches corresponding to a plurality of semantic states of the digital image ranging from a first semantic state of the digital image to a current semantic state of the digital image;
detecting, via a graphical user interface, a user selection of a semantic state of the digital image that precedes the current semantic state within the semantic history log;
providing, for display within an editing window of the graphical user interface in response to the user selection of the semantic state, the digital image in the semantic state;
modifying the digital image via an object-aware modification of an object portrayed in the digital image from the semantic state using an object mask generated for the object by a segmentation neural network based on detecting one or more user interactions with the object portrayed in the digital image in the semantic state via the editing window; and
updating, based on modifying the digital image, the semantic history log to include an additional editing branch that corresponds to an additional semantic state of the digital image that reflects the object-aware modification of an object portrayed in the digital image from the semantic state selected from the semantic history log.
12 . The non-transitory computer-readable medium of claim 11 , wherein generating the semantic history log that includes the one or more editing branches corresponding to the plurality of semantic states comprises generating the semantic history log to include two or more editing branches reflecting different object-aware modifications to the object portrayed in the digital image from a common semantic state.
13 . The non-transitory computer-readable medium of claim 12 , wherein generating the semantic history log to include the two or more editing branches reflecting the different object-aware modifications to the object portrayed in the digital image from the common semantic state comprises generating the semantic history log to include the two or more editing branches reflecting additions of variations of the object to the digital image or additions of different objects to the digital image in the common semantic state.
14 . The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise generating one or more digital videos from the semantic history log, each digital video from the one or more digital videos corresponding to an editing branch from the one or more editing branches and depicting a progression of the digital image through semantic states associated with the editing branch.
15 . The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise sharing at least one digital video from the one or more digital videos with one or more computing devices.
16 . The non-transitory computer-readable medium of claim 11 , wherein:
detecting the user selection of the semantic state of the digital image comprises receiving, from a client device interacting with the digital image in the current semantic state, a user selection of the semantic state; and
the operations further comprise providing, to the client device after modifying the digital image, the digital image in an updated current semantic state that reflects the object-aware modification from the semantic state selected from the semantic history log.
17 . A system comprising:
at least one memory device; and
at least one processor configured to cause the system to:
determine a plurality of semantic states for a digital image, wherein:
each semantic state reflects an object-aware modification to an object within the digital image from a previous semantic state using an object mask generated for the object by a segmentation neural network, and
at least two semantic states reflect different object-aware modifications to the object from a common semantic state;
generate, for the digital image, a semantic history log comprising a plurality of editing branches representing the plurality of semantic states, the plurality of editing branches including at least two editing branches corresponding to the at least two semantic states reflecting the different object-aware modifications to the object from the common semantic state;
receive, via a graphical user interface, a selection of a semantic state of the digital image from the plurality of semantic states in the semantic history log;
provide, for display within an editing window of the graphical user interface in response to the selection of the semantic state, the digital image in the semantic state;
detect, via the editing window of the graphical user interface, one or more user interactions with the object as presented within the digital image in accordance with the semantic state selected from the semantic history log;
modify the digital image from the semantic state selected from the semantic history log by modifying the object using the object mask generated for the object based on the one or more user interactions; and
modify, in response to modifying the object using the object mask, the semantic history log to include an additional semantic state that reflects an additional object-aware modification of the object in the digital image from the semantic state.
18 . The system of claim 17 , wherein the at least one processor is configured to cause the system to generate the semantic history log comprising the plurality of editing branches representing the plurality of semantic states by generating the semantic history log comprising copies of the digital image in the plurality of semantic states organized into the plurality of editing branches.
19 . The system of claim 17 , wherein the at least one processor is configured to cause the system to modify the semantic history log to include the additional semantic state by adding an additional editing branch that corresponds to modifying the digital image from the semantic state, the additional editing branch branching off an editing branch that corresponds to the semantic state within the semantic history log.
20 . The system of claim 17 , wherein the at least one processor is further configured to cause the system to associate the semantic history log with a semantic scene graph generated for the digital image.