Image processing using implicit motion functions
Implicit motion functions in latent space enhance video processing by addressing the limitations of optical flow, enabling accurate and editable representation of object movements and behaviors.
Patent Information
- Application Number
- PCT/CN2024/096194
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-29
- Publication Date
- 2025-12-04
AI Technical Summary
Existing optical flow methods in video modeling lack sparsity and fail to capture probabilistic aspects of object movements, limiting their ability to model intrinsic motion and semantics, which hampers performance in tasks like video generation and compression.
Employing implicit motion functions to model the relation between reference and target images in latent space, using neural networks to encode and decode appearance and latent representations, allowing for a richer representation of object movements and behaviors.
Enables accurate representation of a broader range of object movements and behaviors, improving performance in image and video processing tasks by providing a more nuanced and editable motion representation.
Smart Images

Figure CN2024096194_04122025_PF_FP_ABST
Abstract
Description
IMAGE PROCESSING USING IMPLICIT MOTION FUNCTIONSBACKGROUND
[0001] Recent years have witnessed an upsurge in the field of video modeling, processing, compression, prediction, and generation. A fundamental element in these diverse tasks is the use of optical flow, which encapsulates the relationship between consecutive frames. Existing approaches often employ readily available optical flow estimation models, such as RAFT, to facilitate this process. However, the definition of optical flow has inherent limitations. It lacks sparsity, captures only the positional change of pixels, and fails to model the probabilistic aspects of object movements, thereby not comprehending the intrinsic motion and semantics of objects.SUMMARY
[0002] According to implementations of the present disclosure, there is provided a solution for image processing using implicit motion functions. In this solution, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image is obtained. Target appearance features of the target image are determined based on the reference appearance features, the reference latent representation and the target latent representation. Then, the target image is generated based on the target appearance features. In implementations of the present disclosure, the relation between the reference image and the target image (for example, a reference frame and a target frame in a video) is modeled in the latent space, which facilitates a richer and more abstract representation of motion and object characteristics. In this way, a broader range of object movements and behaviors may be accurately represented, which is beneficial to improve performance of image and video processing.
[0003] The Summary is to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. The Summary is not intended to identify key features or essential features of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIG. 1 illustrates a block diagram of an example environment in which various implementations of the present disclosure may be implemented;
[0005] FIG. 2 illustrates a block diagram of an example image processing architecture using implicit motion functions in accordance with some implementations of the present disclosure;
[0006] FIG. 3A illustrates a block diagram of an example for a neural network encoder in accordance with some implementations of the present disclosure;
[0007] FIG. 3B illustrates a block diagram of an example implicit motion function in accordance with some implementations of the present disclosure;
[0008] FIG. 3C illustrates a block diagram of an example image decoder in accordance with some implementations of the present disclosure;
[0009] FIG. 4A illustrates a flowchart of a method in accordance with an implementation of the present disclosure;
[0010] FIG. 4B illustrates a flowchart of a method in accordance with an implementation of the present disclosure; and
[0011] FIG. 5 illustrates a block diagram of an electronic device in which various implementations of the present disclosure can be implemented.
[0012] Throughout the drawings, the same or similar reference symbols refer to the same or similar elements.
[0013] DETAILED DESCRIPTION OF IMPLEMENTATIONS
[0014] Principles of the present disclosure will now be described with reference to some example implementations. It is to be understood that these implementations are described only for the purpose of illustration and help those skilled in the art to better understand and thus implement the present disclosure, without suggesting any limitations to the scope of the subject matter disclosed herein.
[0015] As used herein, the term “includes” and its variants are to be read as open terms that mean “includes, but is not limited to. ” The term “based on” is to be read as “based at least in part on. ” The terms “an implementation” and “one implementation” are to be read as “at least one implementation. ” The term “another implementation” is to be read as “at least one other implementation. ” The term “first, ” “second, ” and the like may refer to different or the same objects. Other definitions, either explicit or implicit, may be included below.
[0016] As used herein, a “machine learning model” is an AI model, which may also be referred to as a “learning model” , “learning network” , “network model” , or “model. ” These terms are used interchangeably hereinafter. A deep learning model is one example machine learning model, examples of which include a “neural network. ” A parameter set of the machine learning model is determined through a training phrase of the model based on training data. The trained machine learning model maps a received input to a corresponding output using the trained parameter set. Therefore, the training process of a machine learning model may be considered as learning, from the training data, a mapping or association between the input and the output.
[0017] Example environment
[0018] FIG. 1 illustrates a block diagram of an example environment 100 in which various implementations of the subject matter described herein can be implemented. In the environment 100 of FIG. 1, an image processing system 120 may process a reference image 110 to generate a target image 130. In some cases, such as video compression, video reconstruction and the like, the image processing system 120 may first process the target image 130 into a version with reduced information, and reconstruct the target image 130 from the version with reduced information based on the reference image 110.
[0019] In some implementations, for example, in codec scenarios, the image processing system 120 may include a visual data encoder and a visual data decoder. Visual data processed by the visual data encoder and the visual data decoder may include an image or a video. During the encoding, the visual data encoder may encode visual data (for example, a video, including the reference image 110 and the target image 130) into a bitstream. During the decoding, the visual data decoder may decode the bitstream into the visual data, for example, the video.
[0020] The visual data encoder and the visual data decoder can communicate with each other through any appropriate communication network. In some codec scenarios, the visual data encoder may provide a bitstream obtained by visual data encoding to the visual data decoder for decoding, and the visual data decoder may decode the received bitstream to obtain the corresponding visual data, for example, the corresponding video.
[0021] It would be appreciated that the devices and elements shown in FIG. 1 are only examples. In practical applications, there may exist more electronic devices, and each electronic device may have video encoding and / or decoding functions.
[0022] As mentioned above, the optical flow which is used in video modeling, processing, compression, prediction, and generation has inherent limitations. Furthermore, the non-editability of explicit optical flow presents significant challenges in video generation tasks. This stems from its rigid structure, which limits the ability to manipulate or alter motion trajectories directly within the flow field. Consequently, this causes the integration of sophisticated neural networks for downstream generation tasks.
[0023] In some related works, some solutions for image animation rely on explicit key points as an intermediate representation. However, the reliance on the explicit key points imposes limitations on performance. For example, key point detection failures can result in noticeable artifacts, and its effectiveness in modeling non-facial data remains relatively limited. Some solutions for talking head video generation involve complex training and inference pipelines, which can be a challenge in terms of computational resources and efficiency. Some solutions of neural video codec rely on optical flow to generate the prediction or temporal context. However, coding the optical flow requires non-trivial bitrate cost, even with the help of the learned entropy model. Therefore, it is expected to offer a more nuanced and editable representation of motion between difference images, for example between frames within a video.
[0024] According to implementations of the present disclosure, there is proposed a solution for image processing using implicit motion functions. In this solution, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image is obtained. Target appearance features of the target image are determined based on the reference appearance features, the reference latent representation and the target latent representation. Then, the target image is generated based on the target appearance features.
[0025] In implementations of the present disclosure, the relation between the reference image and the target image (for example, a reference frame and a target frame in a video) is modeled in the latent space. In this way, a more generalized understanding of object dynamics and interactions is allowed, and thus a broader range of object movements and behaviors, including the newly appeared objects may be accurately represented.
[0026] Example implementations of the present disclosure will be discussed in detail below with reference to FIGS. 2-5. In the following, some implementations may be described with respect to a video. However, this is merely for purposes of illustration without any limitation.
[0027] Example image processing architecture
[0028] FIG. 2 illustrates a block diagram of an example image processing architecture 200 using implicit motion functions in accordance with some implementations of the present disclosure. In the example, a reference image 110 (denoted as xr ) and a target image 130 (denoted as xc) may be any suitable images. In the case of video processing, the reference image 110 may be a reference frame, and the target image 130 may be a target frame in the video being processed. The reference frame may be or may be not a frame of the video.
[0029] As illustrated in FIG. 2, the video processing architecture 200 follows the encoder-decoder style which includes a neural network encoder 210 and a neural network decoder 220. The neural network encoder 210 may include a dense feature encoder 212 (denoted as EF) and a latent representation encoder 214 (denoted as ET) . The neural network decoder 220 may include an implicit motion function (IMF) 222 and an image decoder 224 (denoted as DF) . Given the reference image xr 110 and the target image xc 130, the dense feature encoder 212 obtains reference appearance features 230 (denoted as fr) of the reference image 110. The latent representation encoder 214 obtains a reference latent representation 232 (denoted as tr) of at least one portion of the reference image 110, and a target latent representation 234 (denoted as tc ) of at least one portion of the target image 130. In some implementations, a latent representation may be used to characterize the entirety of the corresponding image. In some implementations, the latent representation may be used to characterize a portion of the corresponding image, for example, if only a portion of the image needs to be reconstructed. In implementations of the present disclosure, the dense feature encoder 212 and the latent representation encoder 214 may be implemented in any suitable neural network structures, for example, a conventional neural network. Implementations are not limited in this regard.
[0030] The IMF blocks 222 determines target appearance features of the target image 130 based on the reference appearance features 230, the reference latent representation 232 and the target latent representation 234. Then, the image decoder 224 generates the target image based on the target appearance features. As used herein, the term “representations” may also be referred to “tokens” .
[0031] In an example, given an input video {xc} c ∈Ω and a reference image xr , the appearance of the reference image xr can be encoded into the appearance features fr by the dense feature encoder 212 EF , and the correlation between the target image xc and the reference image xr can be represented by the representations pair (tc, tr) extracted respectively by the latent representation encoder 214 ET from the target image xc and the reference image xr. The decoder DF aims to faithfully reconstruct the target image with (tc, tr, fr) . The pipeline can be formulated as: tc= ET (xc) , tr= ET (xr) , fr= EF (xr) (1)
[0032] where it is to be noted that the reference image xr is not necessarily selected from the input sequence {xc} . Taking the talking head generation as an example, the pipeline proposed by the present disclosure can support the reference image having a different ID with the input. Furthermore, different from the former works such as optical flow, the correlation modeling by the latent representations (tc, tr) does not require the reference input and the target input has the same dimension, not even the same modality, as will be described below.
[0033] To learn sparse yet essential information, the information flow in the latent representations tc and tr may be constrained. The optimization target may be formulated as: s.t. |t|<∈, t∈ {tc, tr} (2)
[0034] where L represents the function that measures the similarity between the reconstructed target image and the real target image xc. |t| represents the size of the latent representations, and ε represents the size limitation. To achieve this objective, the implicit motion function 222 is implemented at the neural network decoder 220 to obtain the reconstructed target image with high-fidelity.
[0035] The general architecture is described above. Reference is now made to FIG. 3A for more details about the neural network encoder 210. FIG. 3A illustrates a block diagram of an example for the neural network encoder 210 in accordance with some implementations of the present disclosure. As illustrated in FIG. 3A, given a reference image the dense feature encoder 212 EF extracts multi-scale or multi-level reference appearance features 230 l∈ {1, L} , where l represents the level index and L represents the number of levels, hl , wl represents the spatial size of the feature, dl represents the depth dimension of the feature. The appearance features of different levels may be feature maps with different sizes. In some implementations, the dense feature encoder EF may be only performed on the reference image, which means the appearance features may be shared across a whole video if the reference image is constant.
[0036] In some implementations, the latent representation encoder 214 ET may encode the reference image and the target image to a reference latent representation 232 tr and a target latent representation 234 tc, independently. It maps the space Similar to the reference appearance features 230 fr, if the reference image is constant, the reference latent representation tr is also shared across the entire video. In an example, d=1 × dm may be chosen which is a latent vector to ensure both completeness and compactness. With these implementations, the neural network encoder 210 is allowed to extract latent representations without tying them to physical coordinates, preserving semantic integrity while maintaining sparsity.
[0037] Reference will be made to FIG. 3B for more details about the implicit motion function 222. FIG. 3B illustrates a block diagram of an example implicit motion function 222 in accordance with some implementations of the present disclosure. With the reference latent representation 232 tr and the reference appearance features fr 230 extracted from the reference image 110, the objective of the implicit motion function 222 is to obtain the target appearance features fc 322 of the target image 130 from its target latent representation 234 tc. Specifically, the implicit motion function 222 may include a latent representation decoder IMFD module 310 which is configured to transform the highly compact latent tokens into spatially aligned motion features that correspond to the target image. Alternatively, or in addition, the implicit motion function 222 may include an implicit motion alignment IMFAmodule 315 which is configured to align and refine the reference appearance features of the reference image to the target image.
[0038] In some implementations, the latent representation decoder IMFD 310 may decode the reference latent representation 232 tr and the target latent representation 234 tc into reference motion features and target motion features, respectively. The latent representation decoder IMFD 310 may decode the compact latent tokens tr, tc to multiple motion features and where l represents the level index. In the implementations where multi-level appearance features are used, owing to the varying granularities, latent tokens effectively compress multi-scale information, serving as a comprehensive representation. Furthermore, the fully implicit nature of representation allows for flexible adjustment of the latent token dimension to accommodate different scenarios.
[0039] In some implementations, the implicit motion alignment IMFA module 315 may generate aligned appearance features (denoted as V′) 320 corresponding to the target image 130 based on a relevance between the reference motion features and the target motion features. With the motion features 312 and 314, the implicit motion alignment IMFA 315 may align the reference appearance features 230 to the target image. The implicit motion alignment IMFA module 315 may include a cross-attention module 317. The cross-attention module 317 may be implemented with scaled dot-product cross-attention and may be configured to generate aligned appearance features 320 corresponding to the target image.
[0040] In some implementations, the cross-attention module 317 may generate an attention map representing the relevance by using the target motion features as a query representation and using the reference motion features as a key representation, and generate the aligned appearance features by applying the attention map to the reference appearance features used as a value representation. For example, the cross-attention module 317 may take motion features and the reference appearance features as Q , K and V , respectively. The features are first flattened, then the positional embeddings Pq, Pk are added to the queries and keys. The dot products of the queries with keys, divide each by and apply a softmax function to obtain the weights on the values. Then the output-aligned values V′ (which represent the aligned appearance features 320) are computed through matrix multiplication.
[0041] In some implementations, the implicit motion alignment IMFA module 315 may determine the target appearance features 322 based on the aligned appearance features 320. In an example, the aligned appearance features 320 may be directly determined as the target appearance features 322. With these implementations, the implicit motion function 222 may model the correlation between two images aligning the features from the reference image to the target image, thereby grasping the motion patterns of objects and increasing the sparsity of the motion representation.
[0042] In some implementations, the implicit motion alignment IMFA module 315 may derive the target appearance features 322 by applying self-attention to the aligned appearance features 320. The implicit motion alignment IMFA module 315 may include transformer blocks 324. With the aligned appearance features V′320, the V′320 may be further refined using multi-head self-attention and feed-forward network-based transformer blocks 324, and finally the target appearance 322 of the target image may be obtained. With these implementations, by applying self-attention, the reconstructed target image may be more suitable, and occurrence of unreasonable and inconsistent elements in the reconstructed target image may be reduced.
[0043] In some implementations, the reference appearance features 230 may comprise reference feature maps of a plurality of levels, and the target appearance features 322 may comprise target feature maps of the plurality of levels. For example, as shown in FIG. 3A, L levels of appearance features are extracted. In these implementations, a target feature map of a given level may be determined based on the reference latent representation 232, the target latent representation 234 and a reference feature map of the given level. With these implementations, both larger and smaller elements in the image may have good results, such as reconstruction effects.
[0044] In some implementations, the image decoder 224 may fuse the target feature maps of the plurality of levels by converting a feature map of a lower level to a feature map of a higher level and derive the target image based on the fused target feature maps of the plurality of levels. In implementations of the present disclosure, the image decoder 224 may be implemented in any suitable neural network structures, for example, a conventional neural network. Implementations are not limited in this regard.
[0045] Reference will be made to FIG. 3C for more details about the image decoder 224.
[0046] FIG. 3B illustrates a block diagram of an example image decoder 224 in accordance with some implementations of the present disclosure. As illustrated in FIG. 3B, the image decoder 224 uses a plurality of residual (res) blocks 340-1, 340-2, etc. to up-sample and decode the reconstructed target image 342.
[0047] In the example of FIG. 3C, the feature map of the level 3 (which is the lowest level in this example) is up-sampled by the res blocks 340-1 to the level 2. Then, the up-sampled feature map and the feature map of the level 2 are fused and up-sampled by the res blocks 340-2 to the level 1. These fused feature maps are then fused with the feature map of the level 1, which is the highest level in the example.
[0048] In the above examples, the target latent representation 234 of the target image is derived separately from the reference latent representation 232. In some implementations, the target latent representation 234 may be determined based on the reference latent representation 232. For example, the target latent representation 234 may be obtained by updating the reference latent representation 232 based on a condition for controlling an object in both the reference image 110 and the target image 130. As an example, in the case of talking head generation, the object may be a human head and the condition may be used to control the head, for example, 3D Morphable models (3DMM) coefficients.
[0049] In contrast to the explicit optical flow method, the implicit representation offers a distinct advantage in terms of editability. As the latent representation is not task-specific, for a new controllable generation task, the neural network decoder can be fixed and just train a small adapter with a small cost. Taking talking head generation as an example, in the training of the latent space, the full network is only trained to reconstruct the input without any additional control condition included. After the latent space is trained, editing of the already learned tokens may be achieved through another independent representation manipulation network. Formally, with an editing module ψ, source frame xs, and control condition h, the Equation (1) may be rewritten to obtain the edited feature map as:
[0050] where passing to the image decoder 224 trained before, the edited frame may be obtained. In an example, ψ may be implemented with two multi-layer perception (MLP) encoders to encode the source representation and control condition (e.g., the 3DMM face coefficients) , and one MLP decoder to output the edited representation. The object is not limited to faces, but also includes the posture of the object, the shape of the object, etc. The reference latent representation 232 is a latent representation to describe the object and it may be modified to the target latent representation 234 based on the control condition.
[0051] In the above examples, the reference latent representation 232 and the target latent representations 234 are obtained by encoding the reference image and the target image, respectively. In some implementations, information of a modality other than the images may be used to generate the latent representations.
[0052] In some implementation, the reference latent representation 232 and the target latent representations 234 may be obtained by encoding description information on the at least one portion of the reference image and description information on the at least one portion of the target image, respectively. For example, the description information may include text describing the corresponding image. Alternatively, or in addition, in some implementations, the reference latent representation 232 and the target latent representations 234 may be obtained by encoding an audio corresponding to the at least one portion of the reference image and an audio corresponding to the at least one portion of the target image, respectively. For example, in the case of talking head generation, the audio may be used to drive changes in the mouth of a human head. With these implementations, in addition to encoding the image, other modality information may be handled, thereby expanding the versality.
[0053] In some implementations, the image processing architecture 200 described above may be implemented at a codec scenario. The neural network encoder 210 may be implemented at a visual data encoder and the neural network decoder 220 may be implemented at a visual data decoder. The visual data encoder may encode the reference appearance features, the reference latent representation and the target latent representation into at least one bitstream. The visual data encoder may then output the at least one bitstream, to enable a visual data decoder to reconstruct the target image. For example, the at least one bitstream may be stored in one or more computer-readable media. As such, the one or more computer-readable media have the encoded data in a bitstream stored thereon. The encoded data may include the reference appearance features, the reference latent representation and the target latent representation. For another example, the bitstream may be transmitted to the visual data decoder.
[0054] Correspondingly, the visual data decoder may decode the at least one bitstream into the reference appearance features, the reference latent representation and the target latent representation. The visual data decoder may determine target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation. Further, the visual data decoder may generate the target image based on the target appearance features.
[0055] In some implementations, the target image may be comprised in a video, and the method is performed for a conversion of the video and a bitstream of the video. In such implementations, the visual data encoder and the visual data encoder may be a video encoder and a video decoder, respectively. Still referring to FIG. 2, the neural network encoder 210 may be implemented at a video encoder and the neural network decoder may be implemented at a video decoder. The reference appearance features, the reference latent representation and the target latent representation may be encoded into a bitstream at the video encoder and transmitted to the video decoder. At the video decoder, the bitstream is decoded into the reference appearance features, the reference latent representation and the target latent representation.
[0056] Example methods and implementations
[0057] FIG. 4A illustrates a flow chart of a method 400 according to implementations of the present disclosure. The method 400 may be implemented by the image processing system 120, or a visual data decoder.
[0058] As shown in FIG. 4A, at block 410, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image are obtained. At block 420, target appearance features of the target image are determined based on the reference appearance features, the reference latent representation and the target latent representation. At block 430, the target image is generated based on the target appearance features.
[0059] In some implementations, determining the target appearance features of the target image comprises: decoding the reference latent representation and the target latent representation into reference motion features and target motion features, respectively; generating aligned appearance features corresponding to the target image based on a relevance between the reference motion features and the target motion features; and determining the target appearance features based on the aligned appearance features.
[0060] In some implementations, generating the aligned appearance features corresponding to the target image comprises: generating an attention map representing the relevance by using the target motion features as a query representation and using the reference motion features as a key representation; and generating the aligned appearance features by applying the attention map to the reference appearance features used as a value representation.
[0061] In some implementations, determining the target appearance features based on the aligned appearance features comprises: deriving the target appearance features by applying self-attention to the aligned appearance features.
[0062] In some implementations, the reference appearance features comprise reference feature maps of a plurality of levels, the target appearance features comprise target feature maps of the plurality of levels, and a target feature map of a given level is determined based on the reference latent representation, the target latent representation and a reference feature map of the given level.
[0063] In some implementations, generating the target image based on the target appearance features comprises: fusing the target feature maps of the plurality of levels by converting a feature map of a lower level to a feature map of a higher level; and deriving the target image based on the fused target feature maps of the plurality of levels.
[0064] In some implementations, the target latent representation is obtained by: updating the reference latent representation based on a condition for controlling an object in both the reference image and the target image.
[0065] In some implementations, the reference latent representation and the target latent representation are obtained by: encoding the reference image and the target image, respectively, encoding description information on the at least one portion of the reference image and description information on the at least one portion of the target image, respectively, or encoding an audio corresponding to the at least one portion of the reference image and an audio corresponding to the at least one portion of the target image, respectively.
[0066] In some implementations, the target image is comprised in a video, and the method is performed for a conversion of the video and a bitstream of the video.
[0067] In some implementations, obtaining the reference appearance features, the reference latent representation, and the target latent representation comprises receiving the reference appearance features, the reference latent representation, and the target latent representation. For example, the method 400 may be implemented at the visual data decoder, and the reference appearance features, the reference latent representation, and the target latent representation may be received from the visual data encoder.
[0068] FIG. 4B illustrates a flow chart of a method 450 according to implementations of the present disclosure. The method 450 may be implemented by a visual data encoder.
[0069] As shown in FIG. 4B, at block 460, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image are encoded into at least one bitstream. At block 470, the at least one bitstream is outputted to enable a visual data decoder to perform operations comprising determining target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation; and generating the target image based on the target appearance features.
[0070] In some implementations, the method 450 may further comprise at least one of: encoding the reference image into the reference latent representation and the target image into the target latent representation, respectively, encoding description information on the at least one portion of the reference image into the reference latent representation and description information on the at least one portion of the target image into the target latent representation, respectively, or encoding an audio corresponding to the at least one portion of the reference image into the reference latent representation and an audio corresponding to the at least one portion of the target image into the target latent representation, respectively.
[0071] Example implementations
[0072] FIG. 5 illustrates a block diagram of an electronic device 500 in which various embodiments of the present disclosure can be implemented. It would be appreciated that the electronic device 500 shown in FIG. 5 is merely for purpose of illustration, without suggesting any limitation to the functions and scopes of the present disclosure in any manner. The electronic device 500 may be used to implement the above method 400 or method 450. As shown in FIG. 5, the electronic device 500 may be a general-purpose electronic device. The electronic device 500 may at least comprise one or more processors or processing units 510, a memory 520, a storage unit 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560.
[0073] The processing unit 510 may be a physical or virtual processor and can implement various processes based on programs 525 stored in the memory 520. In a multi-processor system, multiple processing units execute computer executable instructions in parallel so as to improve the parallel processing capability of the electronic device 500. The processing unit 510 may also be referred to as a central processing unit (CPU) , a graphics processing unit (GPU) , a neural processing unit (NPU) , a microprocessor, a controller, or a microcontroller.
[0074] The electronic device 500 typically includes various computer storage medium. Such medium can be any medium accessible by the electronic device 500, including, but not limited to, volatile and non-volatile medium, or detachable and non-detachable medium. The memory 520 can be a volatile memory (for example, a register, cache, Random Access Memory (RAM) ) , a non-volatile memory (such as a Read-Only Memory (ROM) , Electrically Erasable Programmable Read-Only Memory (EEPROM) , or a flash memory) , or any combination thereof. The storage unit 530 may be any detachable or non-detachable medium and may include a machine-readable medium such as a memory, flash memory drive, magnetic disk, or another other media, which can be used for storing information and / or data and can be accessed in the electronic device 500.
[0075] The electronic device 500 may further include additional detachable / non-detachable, volatile / non-volatile memory medium. Although not shown in FIG. 5, it is possible to provide a magnetic disk drive for reading from and / or writing into a detachable and non-volatile magnetic disk and an optical disk drive for reading from and / or writing into a detachable non-volatile optical disk. In such cases, each drive may be connected to a bus (not shown) via one or more data medium interfaces.
[0076] The communication unit 540 communicates with a further electronic device via the communication medium. In addition, the functions of the components in the electronic device 500 can be implemented by a single computing cluster or multiple computing machines that can communicate via communication connections. Therefore, the electronic device 500 can operate in a networked environment using a logical connection with one or more other servers, networked personal computers (PCs) or further general network nodes.
[0077] The input device 550 may be one or more of a variety of input devices, such as a mouse, keyboard, tracking ball, voice-input device, and the like. The output device 560 may be one or more of a variety of output devices, such as a display, loudspeaker, printer, and the like. By means of the communication unit 540, the electronic device 500 can further communicate with one or more external devices (not shown) such as the storage devices and display device, with one or more devices enabling the user to interact with the electronic device 500, or any devices (such as a network card, a modem, and the like) enabling the electronic device 500 to communicate with one or more other electronic devices, if required. Such communication can be performed via input / output (I / O) interfaces (not shown) .
[0078] In some embodiments, instead of being integrated in a single device, some, or all components of the electronic device 500 may also be arranged in cloud computing architecture. In the cloud computing architecture, the components may be provided remotely and work together to implement the functionalities described in the present disclosure. In some embodiments, cloud computing provides computing, software, data access and storage service, which will not require end users to be aware of the physical locations or configurations of the systems or hardware providing these services. In various embodiments, the cloud computing provides the services via a wide area network (such as Internet) using suitable protocols. For example, a cloud computing provider provides applications over the wide area network, which can be accessed through a web browser or any other computing components. The software or components of the cloud computing architecture and corresponding data may be stored on a server at a remote position. The computing resources in the cloud computing environment may be merged or distributed at locations in a remote data center. Cloud computing infrastructures may provide the services through a shared data center, though they behave as a single access point for the users. Therefore, the cloud computing architectures may be used to provide the components and functionalities described herein from a service provider at a remote location. Alternatively, they may be provided from a conventional server or installed directly or otherwise on a client device.
[0079] The functionalities described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-Programmable Gate Arrays (FPGAs) , Application-specific Integrated Circuits (ASICs) , Application-specific Standard Products (ASSPs) , System-on-a-chip systems (SOCs) , Complex Programmable Logic Devices (CPLDs) , and the like.
[0080] Program code for carrying out the methods of the subject matter described herein may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.
[0081] In the context of this disclosure, a machine-readable medium may be any tangible medium that may include or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0082] Further, while operations are illustrated in a particular order, this should not be understood as requiring that such operations are performed in the particular order shown or in sequential order, or that all illustrated operations are performed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the subject matter described herein, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single implementation. Rather, various features described in a single implementation may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0083] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0084] From the foregoing, it will be appreciated that specific embodiments of the presently disclosed technology have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the disclosure. Accordingly, the presently disclosed technology is not limited except as by the appended claims.
[0085] Embodiments of the subject matter and the functional operations described in the present disclosure can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing unit” or “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0086] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document) , in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code) . A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0087] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media, and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0088] It is intended that the specification, together with the drawings, be considered exemplary only, where exemplary means an example. As used herein, the use of “or” is intended to include “and / or” , unless the context clearly indicates otherwise.
[0089] While the present disclosure contains many specifics, these should not be construed as limitations on the scope of any disclosure or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular disclosures. Certain features that are described in the present disclosure in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub- combination.
[0090] Similarly, while operations are illustrated in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in the present disclosure should not be understood as requiring such separation in all embodiments. Only a few embodiments and examples are described, and other embodiments, enhancements and variations can be made based on what is described and illustrated in the present disclosure.
[0091] Some example implementations of the present disclosure are listed below.
[0092] In a first aspect, the present disclosure provides a computer-implemented method. The method comprises: obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image; determining target appearance features of the target image based on the reference appearance features, the reference latent representation and the target latent representation; and generating the target image based on the target appearance features.
[0093] In some implementations, determining the target appearance features of the target image comprises: decoding the reference latent representation and the target latent representation into reference motion features and target motion features, respectively; generating aligned appearance features corresponding to the target image based on a relevance between the reference motion features and the target motion features; and determining the target appearance features based on the aligned appearance features.
[0094] In some implementations, generating the aligned appearance features corresponding to the target image comprises: generating an attention map representing the relevance by using the target motion features as a query representation and using the reference motion features as a key representation; and generating the aligned appearance features by applying the attention map to the reference appearance features used as a value representation.
[0095] In some implementations, determining the target appearance features based on the aligned appearance features comprises: deriving the target appearance features by applying self-attention to the aligned appearance features.
[0096] In some implementations, the reference appearance features comprise reference feature maps of a plurality of levels, the target appearance features comprise target feature maps of the plurality of levels, and a target feature map of a given level is determined based on the reference latent representation, the target latent representation and a reference feature map of the given level.
[0097] In some implementations, generating the target image based on the target appearance features comprises: fusing the target feature maps of the plurality of levels by converting a feature map of a lower level to a feature map of a higher level; and deriving the target image based on the fused target feature maps of the plurality of levels.
[0098] In some implementations, the target latent representation is obtained by: updating the reference latent representation based on a condition for controlling an object in both the reference image and the target image.
[0099] In some implementations, the reference latent representation and the target latent representation are obtained by: encoding the reference image and the target image, respectively, encoding description information on the at least one portion of the reference image and description information on the at least one portion of the target image, respectively, or encoding an audio corresponding to the at least one portion of the reference image and an audio corresponding to the at least one portion of the target image, respectively.
[0100] In some implementations, the target image is comprised in a video, and the method is performed for a conversion of the video and a bitstream of the video.
[0101] In some implementations, obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image comprises: receiving the reference appearance features, the reference latent representation and the target latent representation.
[0102] In a second aspect, the present disclosure provides an electronic device. The device comprises a processing unit; and a memory coupled to the processing unit and having instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising: obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image; determining target appearance features of the target image based on the reference appearance features, the reference latent representation and the target latent representation; and generating the target image based on the target appearance features.
[0103] In some implementations, determining the target appearance features of the target image comprises: decoding the reference latent representation and the target latent representation into reference motion features and target motion features, respectively; generating aligned appearance features corresponding to the target image based on a relevance between the reference motion features and the target motion features; and determining the target appearance features based on the aligned appearance features.
[0104] In some implementations, generating the aligned appearance features corresponding to the target image comprises: generating an attention map representing the relevance by using the target motion features as a query representation and using the reference motion features as a key representation; and generating the aligned appearance features by applying the attention map to the reference appearance features used as a value representation.
[0105] In some implementations, determining the target appearance features based on the aligned appearance features comprises: deriving the target appearance features by applying self-attention to the aligned appearance features.
[0106] In some implementations, the reference appearance features comprise reference feature maps of a plurality of levels, the target appearance features comprise target feature maps of the plurality of levels, and a target feature map of a given level is determined based on the reference latent representation, the target latent representation and a reference feature map of the given level.
[0107] In some implementations, generating the target image based on the target appearance features comprises: fusing the target feature maps of the plurality of levels by converting a feature map of a lower level to a feature map of a higher level; and deriving the target image based on the fused target feature maps of the plurality of levels.
[0108] In some implementations, the target latent representation is obtained by: updating the reference latent representation based on a condition for controlling an object in both the reference image and the target image.
[0109] In some implementations, the reference latent representation and the target latent representation are obtained by: encoding the reference image and the target image, respectively, encoding description information on the at least one portion of the reference image and description information on the at least one portion of the target image, respectively, or encoding an audio corresponding to the at least one portion of the reference image and an audio corresponding to the at least one portion of the target image, respectively.
[0110] In some implementations, the target image is comprised in a video, and the method is performed for a conversion of the video and a bitstream of the video.
[0111] In some implementations, obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image comprises: receiving the reference appearance features, the reference latent representation and the target latent representation.
[0112] In a third aspect, the present disclosure provides a computer program product being tangibly stored on a non-transient computer storage medium and comprising machine-executable instructions which, when executed by a device, cause the device to perform the method of the first aspect.
[0113] In a fourth aspect, the present disclosure provides a computer readable medium having machine-executable instructions stored thereon which, when executed by a device, cause a device to perform one or more implementations of the method of the first aspect.
[0114] In a fifth aspect, the present disclosure provides a computer-implemented method comprising: encoding, into at least one bitstream, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image; and outputting the at least one bitstream, thereby enabling a visual data decoder to perform operations comprising: determining target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation; and generating the target image based on the target appearance features.
[0115] In some implementations, the method further comprises at least one of: encoding the reference image into the reference latent representation and the target image into the target latent representation, respectively, encoding description information on the at least one portion of the reference image into the reference latent representation and description information on the at least one portion of the target image into the target latent representation, respectively, or encoding an audio corresponding to the at least one portion of the reference image into the reference latent representation and an audio corresponding to the at least one portion of the target image into the target latent representation, respectively.
[0116] In a sixth aspect, the present disclosure provides one or more computer-readable media having stored thereon encoded data in a bitstream, the encoded data comprising reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image, the encoded data being organized to facilitate decoding, with a computing device that implements a visual data decoder, by operations comprising: determining target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation; and generating the target image based on the target appearance features.
[0117] The functionalities described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs) , Application-specific Integrated Circuits (ASICs) , application-specific standard products (ASSPs) , system-on-a-chip systems (SOCs) , complex programmable logic devices (CPLDs) , and the like.
[0118] Program code for carrying out the methods of the present disclosure may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.
[0119] In the context of this disclosure, a machine-readable medium may be any tangible medium that may include or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0120] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations are performed in the particular order shown or in sequential order, or that all illustrated operations are performed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in the context of separate implementations may also be implemented in combination in a single implementation. Rather, various features described in a single implementation may also be implemented in multiple implementations separately or in any suitable sub-combination.
[0121] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.A computer-implemented method comprising:obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image;determining target appearance features of the target image based on the reference appearance features, the reference latent representation and the target latent representation; andgenerating the target image based on the target appearance features.2.The method of claim 1, wherein determining the target appearance features of the target image comprises:decoding the reference latent representation and the target latent representation into reference motion features and target motion features, respectively;generating aligned appearance features corresponding to the target image based on a relevance between the reference motion features and the target motion features; anddetermining the target appearance features based on the aligned appearance features.3.The method of claim 2, wherein generating the aligned appearance features corresponding to the target image comprises:generating an attention map representing the relevance by using the target motion features as a query representation and using the reference motion features as a key representation; andgenerating the aligned appearance features by applying the attention map to the reference appearance features used as a value representation.4.The method of claim 2, wherein determining the target appearance features based on the aligned appearance features comprises:deriving the target appearance features by applying self-attention to the aligned appearance features.5.The method of claim 1, wherein the reference appearance features comprise reference feature maps of a plurality of levels,the target appearance features comprise target feature maps of the plurality of levels, anda target feature map of a given level is determined based on the reference latent representation, the target latent representation and a reference feature map of the given level.6.The method of claim 5, wherein generating the target image based on the target appearance features comprises:fusing the target feature maps of the plurality of levels by converting a feature map of a lower level to a feature map of a higher level; andderiving the target image based on the fused target feature maps of the plurality of levels.7.The method of claim 1, wherein the target latent representation is obtained by:updating the reference latent representation based on a condition for controlling an object in both the reference image and the target image.8.The method of claim 1, wherein the reference latent representation and the target latent representation are obtained by at least one of:encoding the reference image and the target image, respectively,encoding description information on the at least one portion of the reference image and description information on the at least one portion of the target image, respectively, orencoding an audio corresponding to the at least one portion of the reference image and an audio corresponding to the at least one portion of the target image, respectively.9.The method of claim 1, wherein the target image is comprised in a video, and the method is performed for a conversion of the video and a bitstream of the video.10.The method of claim 1, wherein obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image comprises:receiving the reference appearance features, the reference latent representation and the target latent representation.11.A computer-implemented method comprising:encoding, into at least one bitstream, reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image; andoutputting the at least one bitstream, thereby enabling a visual data decoder to perform operations comprising:determining target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation; andgenerating the target image based on the target appearance features.12.The method of claim 1, further comprising at least one of:encoding the reference image into the reference latent representation and the target image into the target latent representation, respectively,encoding description information on the at least one portion of the reference image into the reference latent representation and description information on the at least one portion of the target image into the target latent representation, respectively, orencoding an audio corresponding to the at least one portion of the reference image into the reference latent representation and an audio corresponding to the at least one portion of the target image into the target latent representation, respectively.13.An electronic device, comprising:a processing unit; anda memory coupled to the processing unit and having instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising:obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image;determining target appearance features of the target image based on the reference appearance features, the reference latent representation and the target latent representation; andgenerating the target image based on the target appearance features.14.A computer program product being tangibly stored on a computer storage medium and comprising computer-executable instructions which, when executed by a device, cause the device to perform acts comprising:obtaining reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image;determining target appearance features of the target image based on the reference appearance features, the reference latent representation and the target latent representation; andgenerating the target image based on the target appearance features.15.One or more computer-readable media having stored thereon encoded data in a bitstream, the encoded data comprising reference appearance features of a reference image, a reference latent representation of at least one portion of the reference image, and a target latent representation of at least one portion of a target image, the encoded data being organized to facilitate decoding, with a computing device that implements a visual data decoder, by operations comprising:determining target appearance features of the target image based on the reference appearance features, the reference latent representation, and the target latent representation; andgenerating the target image based on the target appearance features.
Citation Information
Cited By
Particle trajectory reconstruction method, device and equipment based on flow state perception implicit neural representation and medium
CN122088216A