Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 shows a schematic diagram of one application scenario in which the image generation method of some embodiments of the present disclosure may be applied.
In the application scenario shown in fig. 1, first, the computing device 101 may acquire a to-be-processed image 102 and lighting effect information 103. In this application scenario, the lighting effect information includes: the illumination type is a spotlight, the illumination color is blue, and the illumination brightness is medium. Then, the computing device 101 may encode the to-be-processed image 102 to obtain the hidden variable 104. Finally, the computing device may generate a target image 105 based on the lighting effect information and the hidden variable.
The computing device 101 may be hardware or software. When the computing device is hardware, it may be implemented as a distributed cluster composed of a plurality of servers or electronic devices, or may be implemented as a single server or a single electronic device. When the computing device is embodied as software, it may be implemented as multiple pieces of software or software modules, for example, to provide distributed services, or as a single piece of software or software module. And is not particularly limited herein.
It should be understood that the number of computing devices 101 in FIG. 1 is merely illustrative. There may be any number of computing devices 101, as desired for implementation.
With continued reference to fig. 2, a flow 200 of some embodiments of an image generation method according to the present disclosure is shown. The image generation method comprises the following steps:
step 201, obtaining an image to be processed and illumination effect information.
In some embodiments, an executing subject of the image generation method (e.g., the computing device shown in fig. 1) may acquire the image to be processed and the lighting effect information through a wired connection manner or a wireless connection manner. It should be noted that the wireless connection means may include, but is not limited to, a 3G/4G connection, a WiFi connection, a bluetooth connection, a WiMAX connection, a Zigbee connection, a uwb (ultra wideband) connection, and other wireless connection means now known or developed in the future.
In some embodiments, the lighting effect information may include: the direction of the illumination entered by the user.
In some optional implementations of some embodiments, the lighting effect information may further include: at least one of a type of illumination input by the user, a color of the illumination, and a brightness of the illumination.
In some embodiments, the above illumination types may include, but are not limited to: natural lighting, warm lighting, cold lighting, and the like.
In some optional implementations of some embodiments, the illumination type may further include: at least one of spherical harmonic illumination, parallel illumination and spotlight illumination.
Step 202, encoding the image to be processed to obtain a hidden variable.
In some embodiments, the executing entity of the image generating method may encode the image to be processed based on an image processing network to obtain the hidden variable.
In some embodiments, the image processing network may be any structure of network having an image encoding function.
In some optional implementation manners of some embodiments, the executing body may further encode the to-be-processed image based on an image encoding network in a generative countermeasure network, so as to obtain the hidden variable.
Step 203, generating a target image based on the illumination effect information and the hidden variable.
In some embodiments, the execution subject may input the lighting effect information and the hidden variable into an image generation network to obtain the target image.
In some optional implementations of some embodiments, the executing subject may further generate the target image by:
step one, the illumination effect information is coded to obtain an effect coding vector.
And step two, adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect.
And step three, decoding the hidden variable added with the illumination effect to obtain the target image.
In some embodiments, the subject may decode the hidden variable added with the illumination effect by using image generation software or an online image generation tool to obtain the target image.
In some embodiments, the execution body may further decode the hidden variable added with the illumination effect based on an image generation network to obtain the target image.
In some optional implementation manners of some embodiments, the executing entity may further decode the hidden variable added with the illumination effect based on an image decoding network in the generating countermeasure network to obtain the target image.
According to the method provided by some embodiments of the disclosure, the illumination effect information input by the user is received, so that the illumination displayed in the image is modified according to the requirement of the user, and the problem that the user is not satisfied with the illumination displayed in the shot photo is solved.
With further reference to fig. 3, a flow 300 of further embodiments of an image generation method is shown. The flow 300 of the image generation method includes the following steps:
step 301, acquiring an image to be processed and illumination effect information.
In some embodiments, the specific implementation of step 301 and the technical effect thereof may refer to step 201 in the embodiment corresponding to fig. 2, and are not described herein again.
Step 302, based on the image coding network in the generative countermeasure network, coding the image to be processed to obtain the hidden variable.
In some embodiments, the generative countermeasure network includes an image encoding network and an image decoding network.
In some embodiments, the execution subject may input the image into an image coding network in the generative countermeasure network to obtain the hidden variable.
Step 303, encoding the illumination effect information to obtain an effect encoding vector.
In some embodiments, the execution subject may encode the lighting effect information using an image generation network to obtain an effect encoding vector. The image generation network is a network for converting the image effect of the character representation into a vector form.
In some embodiments, the execution main body may further encode the lighting effect information based on an effect encoding vector corresponding to preset lighting effect information to obtain an effect encoding vector.
And 304, adding the effect coding vector into the channel of the hidden variable to obtain the hidden variable added with the illumination effect.
In some embodiments, the execution body may add the effect coding vector to an arbitrary position in the hidden variable channel. For example, the effect coding vector is determined as a first pass of the hidden variable.
Step 305, decoding the hidden variable added with the illumination effect based on the image decoding network in the generating countermeasure network to obtain the target image.
In some embodiments, the execution body may input the hidden variable added with the lighting effect to an image decoding network in the generative countermeasure network to obtain the target image.
As can be seen from fig. 3, compared to the description of some embodiments corresponding to fig. 2, the flow 300 of the image generation method in some embodiments corresponding to fig. 3 embodies the step of generating the target image. Thus, the solutions described in these embodiments can further improve the quality of the generated target image by using the generative confrontation network.
With further reference to fig. 4, as an implementation of the methods illustrated in the above figures, the present disclosure provides some embodiments of an image generation apparatus, which correspond to those illustrated in fig. 2, and which may be particularly applicable in various electronic devices.
As shown in fig. 4, the image generation apparatus 400 of some embodiments includes: acquisition section 401, encoding section 402, and generation section 403. The device comprises an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is configured to acquire an image to be processed and illumination effect information; the encoding unit is configured to encode the image to be processed to obtain a hidden variable; a generating unit configured to generate a target image based on the illumination effect information and the hidden variable.
In an optional implementation of some embodiments, the lighting effect information comprises at least one of a type of lighting, a color of the lighting, and a brightness of the lighting entered by the user.
In an optional implementation of some embodiments, the generating unit is further configured to: encoding the illumination effect information to obtain an effect encoding vector; adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect; and decoding the hidden variable added with the illumination effect to obtain the target image.
In an optional implementation of some embodiments, the encoding unit is further configured to: and coding the image to be processed based on an image coding network in the generating countermeasure network to obtain the hidden variable.
In an optional implementation of some embodiments, the generating unit is further configured to: encoding the illumination effect information to obtain an effect encoding vector; adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect; and decoding the hidden variable added with the illumination effect based on the image decoding network in the generating countermeasure network to obtain the target image.
In an alternative implementation of some embodiments, the illumination types include: at least one of spherical harmonic illumination, parallel illumination and spotlight illumination.
It will be understood that the elements described in the apparatus 400 correspond to various steps in the method described with reference to fig. 2. Thus, the operations, features and resulting advantages described above with respect to the method are also applicable to the apparatus 400 and the units included therein, and will not be described herein again.
Referring now to fig. 5, a schematic diagram of an electronic device (e.g., the server or terminal device of fig. 1) 500 suitable for use in implementing some embodiments of the present disclosure is shown. The electronic device in some embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle-mounted terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, electronic device 500 may include a processing means (e.g., central processing unit, graphics processor, etc.) 501 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM503, various programs and data necessary for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM 502, and the RAM503 are connected to each other through a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
Generally, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a Liquid Crystal Display (LCD), speakers, vibrators, and the like; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and a communication device 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 illustrates an electronic device 500 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 5 may represent one device or may represent multiple devices as desired.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In some such embodiments, the computer program may be downloaded and installed from a network via the communication means 509, or installed from the storage means 508, or installed from the ROM 502. The computer program, when executed by the processing device 501, performs the above-described functions defined in the methods of some embodiments of the present disclosure.
It should be noted that the computer readable medium described in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: 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. In some embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText transfer protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring an image to be processed and illumination effect information; coding the image to be processed to obtain a hidden variable; and generating a target image based on the illumination effect information and the hidden variable.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by software, and may also be implemented by hardware. The described units may also be provided in a processor, and may be described as: a processor includes an acquisition unit, an encoding unit, and a generation unit. Here, the names of the units do not constitute a limitation to the units themselves in some cases, and for example, the acquiring unit may also be described as a "unit that acquires the image to be processed and the lighting effect information".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
According to one or more embodiments of the present disclosure, there is provided an image generation method including: acquiring an image to be processed and illumination effect information; coding the image to be processed to obtain a hidden variable; and generating a target image based on the illumination effect information and the hidden variable.
According to one or more embodiments of the present disclosure, the lighting effect information includes at least one of a type of lighting, a color of the lighting, and a brightness of the lighting, which are input by the user.
According to one or more embodiments of the present disclosure, generating a target image based on the effect information and the hidden variable includes: encoding the illumination effect information to obtain an effect encoding vector; adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect; and decoding the hidden variable added with the illumination effect to obtain the target image.
According to one or more embodiments of the present disclosure, encoding the image to be processed to obtain a hidden variable includes: and coding the image to be processed based on an image coding network in the generating countermeasure network to obtain the hidden variable.
According to one or more embodiments of the present disclosure, decoding the hidden variable added with the illumination effect to obtain the target image includes: and decoding the hidden variable added with the illumination effect based on the image decoding network in the generating countermeasure network to obtain the target image.
According to one or more embodiments of the present disclosure, the illumination type includes: at least one of spherical harmonic illumination, parallel illumination and spotlight illumination.
According to one or more embodiments of the present disclosure, there is provided an image generation apparatus including: an acquisition unit configured to acquire an image to be processed and illumination effect information; the encoding unit is configured to encode the image to be processed to obtain a hidden variable; a generating unit configured to generate a target image based on the illumination effect information and the hidden variable.
According to one or more embodiments of the present disclosure, the lighting effect information includes at least one of a type of lighting, a color of the lighting, and a brightness of the lighting, which are input by the user.
According to one or more embodiments of the present disclosure, the generating unit is further configured to: encoding the illumination effect information to obtain an effect encoding vector; adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect; and decoding the hidden variable added with the illumination effect to obtain the target image.
According to one or more embodiments of the present disclosure, the encoding unit is further configured to: and coding the image to be processed based on an image coding network in the generating countermeasure network to obtain the hidden variable.
According to one or more embodiments of the present disclosure, the generating unit is further configured to: encoding the illumination effect information to obtain an effect encoding vector; adding the effect coding vector into a channel of the hidden variable to obtain the hidden variable added with the illumination effect; and decoding the hidden variable added with the illumination effect based on the image decoding network in the generating countermeasure network to obtain the target image.
According to one or more embodiments of the present disclosure, the above-described illumination types include: at least one of spherical harmonic illumination, parallel illumination and spotlight illumination.
According to one or more embodiments of the present disclosure, there is provided an electronic device including: one or more processors; a storage device having one or more programs stored thereon which, when executed by one or more processors, cause the one or more processors to implement a method as in any above.
According to one or more embodiments of the present disclosure, a computer-readable medium is provided, on which a computer program is stored, wherein the program, when executed by a processor, implements the method as any one of the above.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.