Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, the timing relationship, or the importance relationship of the elements, and such terms are used only to distinguish one element from another. In some examples, a first element and a second element may refer to the same instance of the element, and in some cases, based on the context, they may also refer to different instances.
The terminology used in the description of the various described examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the elements may be one or more. Furthermore, the term "and/or" as used in this disclosure is intended to encompass any and all possible combinations of the listed items.
Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
Fig. 1 illustrates a schematic diagram of anexemplary system 100 in which various methods and apparatus described herein may be implemented in accordance with embodiments of the present disclosure. Referring to fig. 1, thesystem 100 includes one ormore client devices 101, 102, 103, 104, 105, and 106, aserver 120, and one ormore communication networks 110 coupling the one or more client devices to theserver 120.Client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
In an embodiment of the present disclosure, theserver 120 may run one or more services or software applications that enable the image processing method to be performed.
In some embodiments, theserver 120 may also provide other services or software applications that may include non-virtual environments and virtual environments. In certain embodiments, these services may be provided as web-based services or cloud services, for example, provided to users ofclient devices 101, 102, 103, 104, 105, and/or 106 under a software as a service (SaaS) model.
In the configuration shown in fig. 1,server 120 may include one or more components that implement the functions performed byserver 120. These components may include software components, hardware components, or a combination thereof, which may be executed by one or more processors. A user operating aclient device 101, 102, 103, 104, 105, and/or 106 may, in turn, utilize one or more client applications to interact with theserver 120 to take advantage of the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ fromsystem 100. Accordingly, fig. 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
The user may useclient devices 101, 102, 103, 104, 105, and/or 106 to view an image containing an avatar. The client device may provide an interface that enables a user of the client device to interact with the client device. The client device may also output information to the user via the interface. Although fig. 1 depicts only six client devices, those skilled in the art will appreciate that any number of client devices may be supported by the present disclosure.
Client devices 101, 102, 103, 104, 105, and/or 106 may include various types of computer devices, such as portable handheld devices, general purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, and so forth. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (e.g., GOOGLE Chrome OS); or include various Mobile operating systems such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular telephones, smart phones, tablets, Personal Digital Assistants (PDAs), and the like. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. The gaming system may include a variety of handheld gaming devices, internet-enabled gaming devices, and the like. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications), Short Message Service (SMS) applications, and may use a variety of communication protocols.
Network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP/IP, SNA, IPX, etc. By way of example only, one ormore networks 110 may be a Local Area Network (LAN), an ethernet-based network, a token ring, a Wide Area Network (WAN), the internet, a virtual network, a Virtual Private Network (VPN), an intranet, an extranet, a Public Switched Telephone Network (PSTN), an infrared network, a wireless network (e.g., bluetooth, WIFI), and/or any combination of these and/or other networks.
Theserver 120 may include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-end servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination. Theserver 120 may include one or more virtual machines running a virtual operating system, or other computing architecture involving virtualization (e.g., one or more flexible pools of logical storage that may be virtualized to maintain virtual storage for the server). In various embodiments, theserver 120 may run one or more services or software applications that provide the functionality described below.
The computing units inserver 120 may run one or more operating systems including any of the operating systems described above, as well as any commercially available server operating systems. Theserver 120 may also run any of a variety of additional server applications and/or middle tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.
In some implementations, theserver 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from users of theclient devices 101, 102, 103, 104, 105, and 106.Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices ofclient devices 101, 102, 103, 104, 105, and 106.
In some embodiments, theserver 120 may be a server of a distributed system, or a server incorporating a blockchain. Theserver 120 may also be a cloud server, or a smart cloud computing server or a smart cloud host with artificial intelligence technology. The cloud Server is a host product in a cloud computing service system, and is used for solving the defects of high management difficulty and weak service expansibility in the traditional physical host and Virtual Private Server (VPS) service.
Thesystem 100 may also include one ormore databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of thedatabases 130 may be used to store information such as audio files and object files. Thedata store 130 may reside in various locations. For example, the data store used by theserver 120 may be local to theserver 120, or may be remote from theserver 120 and may communicate with theserver 120 via a network-based or dedicated connection. Thedata store 130 may be of different types. In certain embodiments, the data store used by theserver 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve data to and from the database in response to the command.
In some embodiments, one or more of thedatabases 130 may also be used by applications to store application data. The databases used by the application may be different types of databases, such as key-value stores, object stores, or regular stores supported by a file system.
Thesystem 100 of fig. 1 may be configured and operated in various ways to enable application of the various methods and apparatus described in accordance with the present disclosure.
Referring to fig. 2, animage processing method 200 according to some embodiments of the present disclosure includes:
step S210: obtaining an avatar corresponding to the target object;
step S220: determining a plurality of control parameters of the avatar based on a first image containing the target object; and
step S230: adjusting a plurality of virtual object features of the avatar based on the plurality of control parameters.
Wherein, in step S210, the avatar includes a plurality of avatar feature points corresponding to a plurality of target object feature points on the target object, respectively, a relative spatial positional relationship between the plurality of avatar feature points indicating that the avatar corresponds to the target object; and in step S230, the plurality of virtual object features of the adjusted avatar are adjusted to correspond to a plurality of target object features of the target object associated with the first image.
By adjusting the virtual object features of the avatar corresponding to the target object by the first image including the target object so that the virtual object features of the avatar correspond to the target object features of the target object in the first image, it is possible to adjust the avatar corresponding to the target object according to the image. When the image is from a video frame in which the target object characteristics of the target object captured in real time continuously change, the virtual object characteristics of the virtual image are adjusted in real time according to the change of the target object characteristics of the target object, and the virtual image is similar to the target object and changes along with the target object.
In the related art, an individualized expression coefficient is determined according to a face image in a live video frame to be applied to an individualized avatar used for performing live virtual broadcasting instead of a main broadcast's own avatar, thereby driving the expression of the individualized avatar. The method for determining the personalized expression coefficient according to the facial image in the live video frame comprises the steps of determining a standard expression coefficient corresponding to the facial image according to a standard expression base set, and determining the personalized expression coefficient corresponding to the standard expression coefficient according to the standard expression coefficient. The method is difficult to multiplex, different virtual images often have different standard expression base groups, and standard expression coefficients bound by the standard expression base groups are difficult to migrate.
In the embodiment according to the present disclosure, the control parameters of the avatar can be obtained by obtaining the avatar corresponding to different target objects and by obtaining the image containing the corresponding target object, so that the avatar characteristics of the avatar correspond to the target object characteristics of the target object corresponding to the avatar in the image, and the avatar can be adjusted correspondingly to different avatars, so that the adjustment of the avatar is more flexible. Meanwhile, since the avatar and the target object correspond, and the relative spatial position relationship of the plurality of avatar feature points thereon indicates that they correspond to the target object, by embodiments according to the present disclosure, the avatar feature of the avatar can be further adjusted to be more consistent or similar to the target object feature (e.g., color, spatial pose, illumination texture, etc.) of the target object in the image, resulting in a higher similarity between the avatar and the target object.
In some embodiments, the target object comprises a human face and the avatar comprises a human face model corresponding to the human face.
In some embodiments, the target object further includes any object that may change or move over time, such as an animal's face, a human's body, an animal's body, a plant, a vehicle, etc., without limitation.
In some embodiments, the avatar may include a plurality of coordinate positions in the virtual space calculated from the coordinate position of the target object in the real space, the corresponding plurality of coordinate positions in the virtual space of the plurality of avatar feature points on the avatar respectively corresponding to the corresponding plurality of coordinate positions in the real space of the plurality of target object feature points on the target object.
In some embodiments, the avatar may be a virtual model corresponding to features of the target object obtained from a plurality of virtual models based on the features (e.g., age, gender, hair style, etc.) of the target object.
In some embodiments, as shown in fig. 3, obtaining the avatar corresponding to the target object includes:
step S310: acquiring a target image containing a target object;
step S320: carrying out face alignment processing on the target image to obtain a standard image; and
step S330: generating the avatar based on the standard image.
The method comprises the steps of generating an avatar based on a standard image obtained after face alignment processing is carried out on a target image containing a target object, enabling the generated avatar to have higher similarity with the target object, and enabling the adjusted avatar obtained by adjustment based on the avatar to have higher similarity with the target object.
In some embodiments, in step S310, the target image may be, for example, a certificate photo input by a user, a face self-photograph, or an image obtained from any photo containing a face of a person, and is not limited herein.
In some embodiments, in step S320, 72 keypoint coordinates are obtained by performing 72 keypoint detections on the face in the target image, respectively, the face in the image is adjusted based on the 72 keypoint coordinates to make the face a positive face, and a standard image including a face detection frame is obtained based on the 72 keypoint coordinates, wherein the standard image includes a face area larger than that surrounded by the face detection frame.
In some embodiments, the avatar is generated by inputting the target image to the avatar-generating model in step S330. The avatar-generating model may include, for example, generating a countermeasure network or a cycle generating network, etc.
In some embodiments, in obtaining the avatar corresponding to the target object, the avatar having a target style type may also be obtained based on a target style type determined by the user from among a plurality of style types.
In some examples, the plurality of genre types includes: ancient style, caricature style and dolls, avanda (Avatar) style, discone style, and the like.
In some embodiments, the avatar having the target attribute feature may also be obtained according to the target attribute feature determined by the target user from the plurality of attribute features.
In some examples, the plurality of attribute features may be a glasses type, a headwear type, and/or the like, without limitation.
In some embodiments, the plurality of target object features comprises at least one target object feature related to an image feature of the first image, and the plurality of control parameters comprises at least one rendering parameter, wherein, as shown in fig. 4, determining the plurality of control parameters of the avatar based on the first image containing the target object comprises:
step S410: extracting image features of the first image; and
step S420: obtaining the at least one rendering parameter based on the extracted image features.
Wherein adjusting the plurality of virtual object features of the avatar based on the plurality of control parameters comprises: rendering the plurality of avatar feature points based on the at least one rendering parameter such that color features of the plurality of avatar feature points correspond to color features of the plurality of target object feature points in the first image.
The method comprises the steps of adjusting a plurality of virtual object features of an avatar through at least one rendering parameter, enabling the plurality of avatar feature points on the avatar to correspond to the color features of the plurality of target object feature points in a first image respectively, achieving one-to-one correspondence of the avatar and the target object at a pixel level, and improving the similarity of the avatar and the target object.
In some embodiments, the image features are extracted by a trained neural network model, and at least one rendering parameter is obtained based on the image features.
Specifically, as shown in fig. 5, a training process of a neural network model is shown, wherein theneural network model 500 is trained with the aid of adifferentiable renderer 510, and in the training process, first, atraining image 501A containing a training target object is input to theneural network model 500 andrendering parameters 502A, 502B, 503C are output; next, therendering parameters 502A, 502B, 503C and theavatar 503a corresponding to the training target object in thetraining image 501A are further input to thedifferentiable renderer 510, and the adjustedavatar 504a 'is output, and theavatar 504 a' is compared with theannotation data 501B obtained based on the training target object in the process of acquiring thetraining image 501A, so as to obtain the countermeasure loss, thereby adjusting the parameters of theneural network model 500. Wherein, in the process of obtaining the countermeasure loss, a one-to-one dense loss value of the RGB space is calculated by using the annotation data and the adjustedavatar 504 a', thereby achieving the effect of pixel level refinement.
In some embodiments, the at least one target object feature comprises: the at least one rendering parameter comprises a texture parameter, a shape parameter and an expression parameter, and the extracted image feature comprises a texture feature, a shape feature and a geometric space feature.
By obtaining at least one rendering parameter comprising a texture parameter, a shape parameter and an expression parameter, the similarity between the virtual image rendered based on the texture parameter, the shape parameter and the expression parameter and the similarity between the expression feature, the texture feature, the shape feature and the like of the human face and the human face in the image are higher.
In some examples, the target object texture features include wrinkles, skin tones, and lighting textures of the human face, among others.
In some examples, the target object shape features include the size of the five sense organs (eyes, nose, and mouth), and the like.
In some examples, the expressive features of the target object include features related to the size of the five sense organs (eyes, nose, and mouth).
In some examples, the texture features include features such as lighting, skin tone of the target object, and the like.
In some examples, the shape features include features of the target object such as face shape, five sense organ (eye, nose, and mouth) size, and the like.
In some examples, the geometric spatial features include relative positions of five sense organs (eyes, nose, and mouth) of the target object, and the like.
In some embodiments, the plurality of target object features includes target object pose features associated with a camera coordinate system corresponding to the first image, the plurality of control parameters includes rotational translation parameters, and the determining the plurality of control parameters for the avatar based on the first image containing the target object, as shown in fig. 6, based on the first image containing the target object includes:
step S610: extracting a camera coordinate system corresponding to the first image and the target object pose characteristics of the target object; and
step S620: determining the rotational-translational parameters based on the camera coordinate system and the target object pose features.
Adjusting a plurality of virtual object features of the avatar based on the plurality of control parameters comprises: adjusting the spatial positions of the plurality of avatar feature points based on the rotational-translation parameter.
By obtaining the rotation and translation parameters for adjusting the pose characteristics of the virtual object of the virtual image, and by adjusting the spatial position (e.g., spatial position coordinates) of the feature points of the virtual image, the pose characteristics of the virtual object of the virtual image are further adjusted to correspond to the pose characteristics of the target object, so that the adjusted virtual image and the target object in the first image are consistent in posture, and the similarity between the virtual image and the target object in the first image is further improved.
For example, the human face in the first image is a side face, and the avatar after the adjustment of the rotation and translation parameters also turns to the side opposite to the side face.
In some embodiments, step S610 and step S620 are performed by using the trained neural network model described above with reference to fig. 5 to obtain the roto-translation parameter.
In some embodiments, the corresponding image is further output based on the avatar adjusted by the plurality of control parameters.
In some embodiments, as shown in fig. 7, the image processing method further includes:
step S710: obtaining a second image based on the adjusted avatar; and
step S720: and outputting the second image.
By obtaining a second image based on the adjusted avatar and outputting the second image, real-time driving of changes of the avatar according to the first image is achieved and the changes of the avatar are visualized.
In some embodiments, pose adjustment is performed on the avatar according to the rotational-translational parameters, and at least one rendering parameter is rendered onto the avatar by a renderer to obtain the adjusted avatar.
In some embodiments, the second image is obtained based on a virtual camera.
According to another aspect of the present disclosure, there is also provided an image processing apparatus, referring to fig. 8, the apparatus 800 including: a first obtaining unit 810 configured to obtain an avatar corresponding to a target object, wherein the avatar includes a plurality of avatar feature points corresponding to a plurality of target object feature points on the target object, respectively, and a relative spatial positional relationship between the plurality of avatar feature points indicates that the avatar corresponds to the target object; a first determining unit 820 configured to determine a plurality of control parameters of the avatar based on a first image containing the target object, and an adjusting unit configured to adjust a plurality of avatar characteristics of the avatar based on the plurality of control parameters to correspond to a plurality of target object characteristics of the target object related to the first image.
In some embodiments, the first obtaining unit 810 includes: a target image acquisition unit configured to acquire a target image containing a target object; a standard image acquisition unit configured to perform face alignment processing on the target image to obtain a standard image; and an avatar generating unit configured to generate the avatar based on the standard image.
In some embodiments, the plurality of target object features includes at least one target object feature related to an image feature of the first image, the plurality of control parameters includes at least one rendering parameter, the first determining unit 820 includes: a first feature extraction unit configured to extract an image feature of the first image; and a first determining subunit configured to obtain the at least one rendering parameter based on the extracted image feature, and wherein the adjusting unit is configured to render the plurality of avatar feature points such that color features of the plurality of avatar feature points correspond to color features of the plurality of target object feature points in the first image, based on the at least one rendering parameter.
In some embodiments, the at least one target object feature comprises: the image processing system comprises a texture feature, a shape feature and an expression feature, the at least one rendering parameter comprises a texture parameter, a shape parameter and an expression parameter, and the extracted image feature comprises a texture feature, a shape feature and a geometric space feature.
In some embodiments, the plurality of target object features includes a camera coordinate system and target object pose features corresponding to the first image, the plurality of control parameters includes a rotational-translation parameter, and the first determining unit 820 includes: a second feature extraction unit configured to extract a camera coordinate system corresponding to the first image and the target object pose feature of the target object; and a second determining subunit configured to determine the rotational-translational parameters based on the camera coordinate system and the target object pose features; and wherein the adjusting unit is configured to adjust the spatial positions of the plurality of avatar feature points based on the rotational-translational parameters.
In some embodiments, the apparatus 800 further comprises: a second image generating unit configured to obtain a second image based on the adjusted avatar, and an output unit configured to output the second image.
According to another aspect of the present disclosure, there is also provided an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores a computer program which, when executed by the at least one processor, implements a method according to the above.
According to another aspect of the present disclosure, there is also provided a non-transitory computer readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the method according to the above.
According to another aspect of the present disclosure, there is also provided a computer program product comprising a computer program, wherein the computer program realizes the method according to the above when executed by a processor.
Referring to fig. 9, a block diagram of a structure of anelectronic device 900, which may be a server or a client of the present disclosure, which is an example of a hardware device that may be applied to aspects of the present disclosure, will now be described. Electronic device is intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 9, theelectronic apparatus 900 includes acomputing unit 901, which can perform various appropriate actions and processes in accordance with a computer program stored in a Read Only Memory (ROM)902 or a computer program loaded from astorage unit 908 into a Random Access Memory (RAM) 903. In the RAM903, various programs and data required for the operation of theelectronic device 900 can also be stored. Thecalculation unit 901,ROM 902, and RAM903 are connected to each other via abus 904. An input/output (I/O)interface 905 is also connected tobus 904.
A number of components in theelectronic device 900 are connected to the I/O interface 905, including: aninput unit 906, anoutput unit 907, astorage unit 908, and acommunication unit 909. Theinput unit 906 may be any type of device capable of inputting information to theelectronic device 900, and theinput unit 906 may receive input numeric or character information and generate key signal inputs related to user settings and/or function controls of the electronic device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and/or a remote control.Output unit 907 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, an object/audio output terminal, a vibrator, and/or a printer.Storage unit 908 may include, but is not limited to, a magnetic disk, an optical disk. Thecommunication unit 909 allows theelectronic device 900 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, such as bluetooth (TM) devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and/or the like.
Thecomputing unit 901 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of thecomputing unit 901 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. Thecomputing unit 901 performs the various methods and processes described above, such as themethod 200. For example, in some embodiments, themethod 200 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as thestorage unit 908. In some embodiments, part or all of the computer program may be loaded and/or installed onto theelectronic device 900 via theROM 902 and/or thecommunication unit 909. When loaded into RAM903 and executed by computingunit 901, may perform one or more of the steps ofmethod 200 described above. Alternatively, in other embodiments, thecomputing unit 901 may be configured to perform themethod 200 by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes 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 codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, 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 a machine-readable storage medium would include an electrical connection based on 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.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server with a combined blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be performed in parallel, sequentially or in different orders, and are not limited herein as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the above-described methods, systems and apparatus are merely exemplary embodiments or examples and that the scope of the present invention is not limited by these embodiments or examples, but only by the claims as issued and their equivalents. Various elements in the embodiments or examples may be omitted or may be replaced with equivalents thereof. Further, the steps may be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced with equivalent elements that appear after the present disclosure.