WO2018133825A1 - 视频通话中视频图像的处理方法、终端设备、服务器及存储介质 - Google Patents
视频通话中视频图像的处理方法、终端设备、服务器及存储介质 Download PDFInfo
- Publication number
- WO2018133825A1 WO2018133825A1 PCT/CN2018/073336 CN2018073336W WO2018133825A1 WO 2018133825 A1 WO2018133825 A1 WO 2018133825A1 CN 2018073336 W CN2018073336 W CN 2018073336W WO 2018133825 A1 WO2018133825 A1 WO 2018133825A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- face
- video call
- data
- image
- video
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 title claims abstract description 49
- 230000001815 facial effect Effects 0.000 claims description 72
- 238000013507 mapping Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 19
- 210000000887 face Anatomy 0.000 description 12
- 238000003672 processing method Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 7
- 230000004927 fusion Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013075 data extraction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000004709 eyebrow Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Definitions
- the present disclosure relates to the field of Internet application technologies, and in particular, to a video image processing method, a terminal device, a server, and a storage medium in a video call.
- the present disclosure provides a method and an apparatus for processing a video image in a video call.
- the method for processing a video image in a video call in each embodiment may be applied to a first terminal device that participates in a video call, and the terminal device that participates in the video call further includes a second terminal device, where the method includes:
- a terminal device of each embodiment may perform a video call with a second terminal device, where the terminal device includes a processor and a memory, where the memory stores computer readable instructions, and the processor may be:
- a method for processing a video image in a video call may be applied to a server, where the server performs video call data transmission for a terminal participating in a video call, and the method includes:
- the video call data includes the first video call data and the second video call data sent by the first terminal and the second terminal to participate in the video call;
- a server of each embodiment the server performing video call data transmission for a terminal device participating in a video call, the server comprising a processor and a memory, the memory storing computer readable instructions to enable the processor to:
- the video call data includes the first video call data and the second video call data sent by the first terminal device and the second terminal device to participate in the video call;
- Embodiments also provide a computer readable storage medium storing computer readable instructions that cause a processor to perform the methods of the various embodiments.
- the second video image data received by the first terminal device from the second terminal device is compressed and transmitted through the network, so the image quality is affected.
- the second terminal device extracts the second face data from the second video image data based on the second face feature point location data provided by the second terminal device, where the data is collected by the second terminal device from the camera of the second terminal device.
- the video image data is extracted, thereby ensuring the accuracy of the second face feature point position data, thereby ensuring the accuracy of the second face data extracted by the first terminal device.
- the server replaces the first terminal device and the second terminal device in the video call process, thereby reducing the processing capability of the terminal device and saving the processing of the terminal device. Resources.
- FIG. 1 is a schematic diagram of a terminal device in an implementation environment according to an exemplary embodiment
- FIG. 2 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment
- FIG. 3 is a schematic diagram showing face replacement according to an exemplary embodiment
- FIG. 4 is a flowchart of a method for processing a video image in a video call according to another exemplary embodiment
- FIG. 5 is a schematic diagram of extracting facial feature point position data after acquiring a face region by face recognition according to an exemplary embodiment
- FIG. 6 is a flowchart of a method for processing a video image in a video call according to another exemplary embodiment
- FIG. 7 is a specific implementation flowchart of step S131 in a method for processing a video image in a video call according to an exemplary embodiment
- FIG. 8 is a flowchart of a method for processing a video image in a video call according to another exemplary embodiment
- FIG. 9 is a schematic diagram of performing face replacement in a video call according to an exemplary embodiment
- FIG. 10 is a flowchart of a method for processing a video image in a video call according to another exemplary embodiment
- FIG. 11 is a diagram showing a data transmission architecture during a video call according to an exemplary embodiment
- FIG. 12 is a schematic diagram of a method for processing a video image in a video call under the data transmission architecture shown in FIG. 11;
- FIG. 13 is a block diagram of a processing apparatus for a video image in a video call, according to an exemplary embodiment
- FIG. 14 is a block diagram of a processing apparatus for a video image in a video call, according to another exemplary embodiment.
- FIG. 15 is a block diagram showing a processing apparatus for a video image in a video call according to another exemplary embodiment
- FIG. 16 is a flowchart of a specific implementation of the texture mapping sub-module 131 in the processing apparatus for video images in a video call according to an exemplary embodiment
- FIG. 17 is a block diagram showing a processing apparatus for a video image in a video call according to another exemplary embodiment
- FIG. 18 is a block diagram of a processing apparatus for a video image in a video call, according to another exemplary embodiment.
- the present application provides a method for processing a video image in a video call, a terminal device, a server, and a storage medium.
- the implementation environment involved in the present disclosure includes: a terminal device and a video image processing module mounted on the terminal device.
- the terminal device has an independent operating system, independent running space, and can install software and software provided by a third-party service provider.
- the video image processing module is a hardware module capable of processing a video image.
- FIG. 1 is a block diagram of an apparatus 100, according to an exemplary embodiment.
- the device 100 can be applied to a terminal device (referred to as a terminal) in the above-described implementation environment.
- a terminal device referred to as a terminal
- device 100 can include one or more of the following components: processing component 101, memory 102, power component 103, multimedia component 104, audio component 105, sensor component 107, and communication component 108.
- Processing component 101 may include one or more processors 109 to execute instructions stored in memory 102 to perform all or part of the steps described above.
- the memory 102 is configured to store various types of data to support operation at the device 100. Examples of such data include instructions for any application or method operating on device 100.
- the memory 102 can be implemented by any type of volatile or non-volatile storage device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable. Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Magnetic Memory, Flash Memory, Disk or Optical Disk. Also stored in the memory 102 is one or more modules configured to be executed by the one or more processors 109 to perform the method of any of Figures 2, 3, 4, and 5. All or part of the steps.
- FIG. 2 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the method for processing the video image in the video call is used in the terminal device of the implementation environment shown above, for example, the first terminal participating in the video call, and the terminal participating in the video call further includes the second terminal, as shown in FIG. 2, the video
- the method of processing the video image during the call may include the following steps.
- step S110 the second video call data sent by the second terminal is received.
- the terminal participating in the video call includes a first terminal and a second terminal. It can be understood that both the first terminal and the second terminal can serve as the receiving end and the transmitting end.
- the first terminal receives the video call data transmitted by the second terminal, and sends the video call data collected by the second terminal to the second terminal, thereby implementing a video call between the two.
- the second video call data sent by the second terminal received by the first terminal includes second video image data for displaying the second video call image and second face feature points extracted from the second terminal video call image. Location data.
- the face includes a variety of key parts, such as the nose, eyes, mouth, eyebrows and so on. Each key location has its own unique characteristics.
- the face feature point position is the location of the feature points of each key part.
- the face feature point position is the position of each face feature point in the video call image.
- the position of the feature points of the key parts such as the nose, eyes, mouth, and eyebrows in the video call image.
- acquiring feature points representing each key part after identifying a key part of the video call image, acquiring feature points representing each key part, and acquiring a coordinate position of each face feature point in a coordinate system of the video call image, ie, For the face feature point location.
- the second face feature point position data is position data of the second face feature point in the second video image data.
- the method for extracting the second facial feature point position data from the second video image data may be performed by using a second coordinate image data to establish a coordinate system, and then according to the second facial feature point in the coordinate system.
- the coordinate position of the second face feature point data is extracted; each pixel point in the second video image data may be numbered in a predetermined order, thereby extracting the number data of the second face feature point;
- the second facial feature point position data is extracted from the second video image data, which is not limited herein.
- the face feature point position data is used to represent the position of the face feature point in the video call image, and then the face feature point position data is sent along with the video image data of the video call image, because the data amount of the face feature point position data is very Small, thus having little effect on the amount of data sent by video call data during a video call.
- step S120 the second facial feature point in the second video image data is determined according to the second facial feature point position data.
- the face feature point in the second video call image is determined according to the second face feature point position data.
- the second face feature point position data is position data of the second face feature point in the second video image data.
- the second face feature point is extracted at a corresponding position in the second video image data.
- the second facial feature point position data is coordinate data
- the second facial feature point is extracted in the second video image data according to the coordinates of the second facial feature point
- the second facial feature point position data is a pixel
- the second face feature point is extracted in the second video image data according to the pixel number of the second face feature point.
- step S130 the second face data in the second video image data is extracted with the second face feature point as a contour.
- pixel data of the second facial feature point is extracted in the second video image data of the second video call image according to the facial feature point location data, and the second facial feature point is For the contour, all face pixels within the second face feature point outline are extracted in the second video image data to form second face data in the second video image data.
- step S140 a face area of the first face in the first video call image is acquired.
- the face area of the first face in the first video call image is a face area that is recognized by the first terminal after the face recognition of the first video image data collected by the first terminal.
- step S150 according to the second face data, the second feature face is drawn in the face area of the first face in the first video call image (ie, the second face in the second video call image, referred to as the second a face) to replace the first face in the first video call image with the second feature face.
- the face area of the first face in the first video call image is the face area that the first terminal itself recognizes after acquiring the captured video image data of the first video call image.
- the second face data is used to draw the face, so that the second feature face size and contour obtained after the drawing is the first in the first video call image.
- the face area of the face is the same.
- the drawing of the second feature face may be performed according to the distribution of the feature points of each face in the second face data; or the second face size and the contour of the first face in the first video call image may be used.
- the face data is drawn; the second feature face can also be drawn in other ways, which is not limited herein.
- the second feature face is drawn, the second feature face is placed in the face area of the first face in the first video call image, and the first face in the first video call image is replaced.
- FIG. 3 is a schematic diagram of performing face replacement, according to an exemplary embodiment.
- the second feature face is drawn according to the face region in the first video call image, and the second feature face is replaced with the first person in the first video call image. face.
- the first terminal after receiving the second video image data of the second video call image and the second facial feature point location data in the second video call image sent by the second terminal, the first terminal itself
- the face feature point position data extracts the second face data in the second video image data, and uses the second face data to draw the second feature face to replace the first face in the first video call image. Since the video image data and the face feature point position data are transmitted during the video call, and the face is extracted according to the face feature point position data, the accuracy of the face replacement is ensured, and the high network bandwidth is not required. Real-time face change during a video call.
- FIG. 4 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the processing method of the video image in the video call may further include the following steps.
- step S210 the first video image data collected by itself is acquired, and the first video image data is used to display the first video call image.
- the first terminal itself will also collect video image data to realize image display during video call.
- step S220 face recognition is performed on the first video image data, and a face region of the first human face in the first video call image is acquired.
- Face recognition is to identify the key parts of the face in the video call image according to the feature information of each key part in the face, and obtain the face area in the video call image.
- Face recognition of the first video image data may be implemented by various methods, such as ASM (Active Shape Models) method, AAM (Active Appearence Models) method, cascade regression, and the like.
- ASM Active Shape Models
- AAM Active Appearence Models
- the ASM method is employed for face recognition.
- ASM is a PDM (Point Distribution Model) method.
- the shape of a similarly shaped object is concatenated by the coordinates of several key feature points to form the original shape vector.
- PCA Principal Component Analysis
- the retained principal components form the final shape model.
- the local texture information is searched and matched by ASM search, and an iterative process is formed, so that the shape model finally matches the input shape mode.
- the random forest method in the cascade regression algorithm is used for face recognition, and the main idea includes two stages:
- Offline training stage collect a large number of training samples of face feature points (including face images, and manually calibrated feature point positions), and then establish a random forest based on an image feature such as local binary values of each face feature point. (Mathematical algorithm nouns, a cascade of regressions), and machine learning of such random forests through training samples, to obtain the specific parameter values of all nodes in all random forests.
- step S230 the first facial feature point position data in the first video call image is extracted in the face area of the first human face.
- the face feature point position data in the first video call data is the position of each face feature point in the first video call image.
- the position of the feature points of the key parts such as the nose, eyes, mouth, and eyebrows in the first video call image.
- the coordinate position is the face feature point position in the first video call image.
- FIG. 5 is a schematic diagram of extracting facial feature point position data after acquiring a face region by face recognition according to an exemplary embodiment.
- the first face feature point position data is obtained by acquiring the coordinate position of the face feature point in the first video call image.
- step S240 the first video call data is obtained by the first video image data and the first facial feature point location data, and the first video call data is sent to the second terminal.
- the first face feature point position data is used to represent the position of the face feature point in the first video call image, and then transmitted along with the video image data of the first video call image, because the data amount of the first face feature point position is very Small, thus having little effect on the amount of data sent for the first video call data during a video call.
- the video call image data collected by the terminal 1 is the data B.
- the terminal 1 extracts the face feature point position data B0 in the data B, and the terminal 1 transmits the data B together with the face feature point position data B0 to the terminal 2.
- the first video image data in the first video call data is further encoded to adjust the resolution of the corresponding first video call image; similarly, receiving In the second video call data sent by the second terminal, the second video image data is also encoded. Therefore, during the video call, the resolution of the first video call image after being encoded and the second video call image are the same, and the image capture of the first terminal and the second terminal in the video call image after the face change is avoided. The difference in the resolution between the body and the face due to the different devices causes the images to be uncoordinated.
- the first terminal as the video call data transmitting end extracts the first face feature point position data in the first video image data collected by itself, and then the first face feature point position data and the first The video image data is sent together to the opposite end of the video call to extract the face according to the face feature point location data, and then real-time face change during the video call is realized.
- FIG. 6 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the following steps may be further included before step S230.
- step S260 it is determined whether the number of faces corresponding to the first video call image is greater than one. If yes, step S270 is performed, and if no, step S230 is performed.
- first video call image there may be two or more faces in the first video call image.
- a face needs to be selected as the first face in the first video call image, and then the first face is used as the second face.
- the face with the largest face area is selected as the first face in the first video call image; when the first video call image When there are multiple faces with the same face area in the face, randomly select a face.
- a face having a region overlapping with a face region in the video call image of the previous frame is selected; if there is no region overlap
- the face with the largest face area is selected as the first face in the first video call image.
- step S270 the face area area of each face is acquired.
- step S280 a face with the largest area of the face region is selected as the first face, and the face region of the first face is used as the face region for extracting the first face feature point position data in the first video call image.
- the face region of one face is selected as the face region for face replacement, which ensures the accuracy of face replacement.
- step S150 in the method of processing a video image in a video call shown in FIG. 2, according to an exemplary embodiment.
- This step S150 may include the following steps.
- step S151 performing texture mapping of the second face data in the first video call image according to the second facial feature point position data and the first facial feature point position data in the first video call image, A second feature face drawn by the face area of the first face in the first video call image.
- the texture mapping is to perform a series of facial feature point transformations on the second facial data according to the facial feature points in the first video call image, so that the second feature face obtained after the transformation and the first person in the first video call image are
- the face area of the face is the same size and shape.
- the second face data in the second video image data is texture mapped, that is, according to the second face feature point position data and the first video call image.
- the first face feature point position data in the first face data is texture mapped to ensure the second feature face obtained after the texture mapping and the face area size of the first face in the first video call image And the shape is consistent.
- the first terminal After performing the face recognition on the first video image data collected by the first terminal, the first terminal acquires the first facial feature point position data in the first video call image and the corresponding first video call image. The face area of the first face.
- the second feature face is used to draw the second feature face according to the first face feature point location data and the face region of the first face in the first video call image, so that the second feature face and the first video are The body parts in the call image are coordinated.
- the face area of the first face in the first video call image is drawn.
- the second feature face ensures that the second feature face obtained after the texture mapping is consistent with the size and shape of the face region of the first face in the first video call image.
- FIG. 7 is a description of the details of step S151, according to an exemplary embodiment.
- This step S151 may include the following steps.
- step S1511 according to the second facial feature point position data and the first facial feature point position data in the first video call image, the second face data respectively corresponds to the face area of the second face and the first The face area of the first face in the video call image is correspondingly divided into a plurality of triangular areas.
- the first terminal receives the number of facial feature points represented by the second facial feature point location data sent by the second terminal, and performs face recognition on the first video image data collected by the first terminal.
- the number of first face feature points extracted later is the same.
- the triangle area is formed by connecting any three adjacent facial feature points.
- step S1512 the corresponding triangular region in the face region of the second human face is transformed according to the triangular region in the face region of the first human face, to obtain the first face person in the first video call image.
- the process of performing texture mapping of the second face data in the first video call image according to the first facial feature point location data and the second facial feature point location data includes:
- Triangulation of face area corresponding to the face area and the second face data of the first face in the first video call image according to the first face feature point position data and the second face feature point position data
- the face area of the second face is correspondingly divided into a plurality of triangles, and the sides of each triangle are the lines between the adjacent two face feature points.
- the first person in the first video call image A triangle triangle1 image corresponding to any three face feature points X1, X2, and X3 in the face region of the face, and a built-in function such as an opengl texture map, an opencv wrap triangle method, etc., according to a triangle triangle1 image, and a second
- the triangle triangle2 image corresponding to the three face feature points Y1, Y2, Y3 in the face data is scaled and drawn.
- the triangle region in the face region of the first face is paired with the second
- the face data is transformed corresponding to the corresponding triangle area in the face area of the second face, and the second feature face obtained after the transformation is consistent with the size and shape of the face of the first face in the first video call image.
- FIG. 8 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the following steps may be further included after step S120.
- step S310 a face area of the second face in the second video call image is obtained according to the second face data.
- step S320 according to the first face data corresponding to the face region of the first face in the first video call image, the first feature face is drawn in the face region of the second face in the second video call image, In order to replace the second face in the second video call image with the first feature face.
- FIG. 9 is a schematic diagram of performing face replacement in a video call according to an exemplary embodiment.
- the video call image simultaneously displayed by the first terminal includes a first video call image and a second video call image, and the first terminal performs face replacement by using the first video call image and the second video call image.
- the face in a video call image is a second feature face
- the face in the displayed second video call image is a first feature face.
- the first terminal uses the face in the first video call image to replace the face region in the second video call image, thereby displaying the first video.
- the call image and the second video call image are displayed simultaneously after changing faces, and the real-time face change during the video call is realized.
- a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the following steps may be further included after step S140.
- image fusion is performed on the replaced second feature face according to the video call image adjacent to the second feature face position.
- Image fusion is to replace the second feature face image after the replacement, and to modify the second feature face image, such as face edge, face skin color, brightness, face image quality and the surrounding image.
- the fusion is to achieve a smooth transition between the face image and the body image, and improve the quality of the video call image.
- FIG. 10 is a flowchart of a method for processing a video image in a video call according to an exemplary embodiment.
- the processing method of the video image in the video call is applied to the server, and the server performs video call data transmission for the terminal participating in the video call, and the processing method of the video image in the video call may include the following steps.
- step S410 the video call data sent by the terminal to perform a video call is received, and the video call data includes the first video call data and the second video call data sent by the first terminal and the second terminal to participate in the video call.
- the terminal of the video call includes the first terminal and the second terminal, and the server performs video call data transmission for the first terminal and the second terminal participating in the video call.
- the server will receive the video call data sent by the first terminal and the second terminal, that is, the first video call data and the second video call data.
- step S420 facial feature point position data respectively corresponding to the first video call image data and the second video call image data are extracted from the first video call data and the second video call data.
- the video call data includes video image data and facial feature point location data
- the first video call data includes first video image data and first facial feature point location data
- second video call data The second video image data and the second face feature point location data are included.
- the first facial feature point location data corresponding to the first video call image data is extracted from the first video call data
- the second facial feature corresponding to the second video call image data is extracted from the second video call data. Point location data.
- step S430 the first face data and the second face data are correspondingly extracted from the first video call image data and the second video call image data according to the face feature point position data.
- the face feature points are determined in the corresponding video image data, and the face data points are extracted in the corresponding video image data by using the face feature points as contours.
- step S440 the face in the first video call image data and the second video call image data is replaced according to the first face data and the second face data, and the first face replacement occurs between the two.
- the video call image data and the second video call image data are returned to the corresponding terminal.
- the first video call image data after the face replacement is returned to the first terminal
- the second video call image data after the face replacement is returned to the second terminal.
- a video call image data and a second video call image data are both returned to the first terminal and the second terminal.
- the face replacement of the first terminal and the second terminal in the video call process by the server prevents the terminal from repeatedly performing image data processing, thereby improving the processing efficiency of the image data.
- FIG. 11 is a diagram of a data transmission architecture during a video call according to an exemplary embodiment.
- the video client 1 After collecting the video image data of the video call image, the video client 1 performs face recognition, extracts the face feature point location, and sends the video feature to the video client through the video transmission server.
- the terminal 2 transmits the video image data of the video call image and the face feature point position, and at the same time, the video client 1 receives the video image data and the face feature point position of the video call image transmitted by the video client 2.
- FIG. 12 is a schematic diagram of a method for processing a video image in a video call under the data transmission architecture shown in FIG.
- Step S1110 the face recognition face area and the face feature point are extracted.
- the video client 1 performs face recognition on the video image data of the first video call image collected by itself, and extracts the face feature point position of the face region in the local video call image.
- Step S1120 video call data is sent.
- the video client 1 transmits video call data to the video client 2, and the video call data includes local video image data of the local video call image and a face feature point position of the face region in the local video call image.
- Step S1130 the peer video call data is received.
- the video client 1 receives the peer video image data of the peer video call image sent by the video client 2 and the face feature point position extracted from the peer video call image.
- Step S1140 face data extraction.
- the video client 1 extracts the peer face data in the peer video image data according to the face feature point position.
- Step S1150 the face is drawn.
- the video client 1 uses the peer face data to draw the peer face for the local video call image, and uses the face data in the local video call image to draw the local face for the peer video call image.
- step S1160 the face is replaced.
- the video client 1 replaces the face area in the peer video call image with the local face, and replaces the face area in the local video call image with the opposite face.
- Step S1170 image fusion.
- the replaced local face and the face are respectively image-fused.
- the following is an embodiment of the apparatus of the present disclosure, which may be used to perform an embodiment of a method for processing a video image in the above video call.
- a method for processing a video image in the above video call For details not disclosed in the embodiment of the present disclosure, please refer to the processing method embodiment of the video image in the video call of the present disclosure.
- FIG. 13 is a block diagram of a processing apparatus for a video call in a video call, which is applied to a first terminal participating in a video call, and the terminal participating in the video call further includes a second terminal, the apparatus includes, but according to an exemplary embodiment
- the second call data receiving module 110, the second face feature point determining module 120, the second face data extracting module 130, the face area acquiring module 140, and the second face drawing module 150 are not limited.
- the second call data receiving module 110 is configured to receive second video call data sent by the second terminal, where the second video call data includes second video image data, and second face features extracted from the second video image data. Point location data;
- a second facial feature point determining module 120 configured to determine a second facial feature point in the second video image data according to the second facial feature point position data
- the second face data extraction module 130 is configured to extract second face data in the second video image data by using the second face feature point as a contour;
- the face area obtaining module 140 is configured to acquire a face area of the first face in the first video call image
- the second feature face rendering module 150 is configured to draw a second feature face in the face region of the first face in the first video call image according to the second face data, so as to be the first in the first video call image A face is replaced with a second feature face.
- the video image processing device in the video call in FIG. 13 further includes: but is not limited to: a video image data acquiring module 210, a face recognition module 220, a first feature point location extracting module 230, and Video call data sending module 240.
- the video image data acquiring module 210 is configured to acquire first video image data collected by itself, where the first video image data is used to display the first video call image;
- the face recognition module 220 is configured to perform face recognition on the first video image data, and acquire a face region of the first face in the first video call image;
- the first feature point location extraction module 230 is configured to extract first face feature point location data in the first video call image in the face region of the first human face;
- the video call data sending module 240 is configured to obtain first video call data by using the first video image data and the first facial feature point location data, and send the first video call data to the second terminal.
- the video image processing device in the video call in FIG. 14 further includes, but is not limited to, a face region number determining module 260, an area obtaining module 270, and a first face determining module 280.
- the face number judging module 260 is configured to cut whether the number of faces corresponding to the first video call image is greater than one;
- the area obtaining module 270 is configured to obtain an area of a face area of each face when the number of faces of the first video call image is greater than one;
- the first face determination module 280 is configured to select a face with the largest face area as the first face, and the face area of the first face is used as the first face feature point in the first video call image.
- the face area of the data is configured to select a face with the largest face area as the first face, and the face area of the first face is used as the first face feature point in the first video call image. The face area of the data.
- the second feature face rendering module 150 includes but is not limited to: a texture mapping sub-module 151.
- the texture mapping sub-module 151 is configured to perform texture mapping of the second facial data in the first video call image according to the second facial feature point location data and the first facial feature point location data in the first video call image. And obtaining a second feature face drawn by the face area of the first face in the first video call image.
- the texture mapping sub-module 151 includes, but is not limited to, a face region segmentation unit 1511 and a second feature face segmentation unit 1512.
- the face area segmentation unit 1511 is configured to respectively correspond the second face data to the face of the second face according to the second face feature point position data and the first face feature point position data in the first video call image.
- the area and the face area of the first face in the first video call image are correspondingly divided into a plurality of triangular areas;
- the second feature face rendering unit 1512 is configured to convert the corresponding triangle region in the face region of the second face according to the triangle region in the face region of the first face to obtain the first video call image.
- the second feature face drawn by the face area of the first face.
- the processing device for video images in the video call in FIG. 13 further includes, but is not limited to, a face region obtaining module 310 and a first face rendering module 320.
- the face area obtaining module 310 is configured to obtain, according to the second face data, a face area of the second face in the second video call image;
- the first feature face rendering module 320 is configured to draw a face region of the second face in the second video call image according to the first face data corresponding to the face region of the first face in the first video call image.
- the first feature face is to replace the second face in the second video call image with the first feature face.
- the processing device for the video image in the video call in FIG. 13 further includes, but is not limited to, an image fusion module.
- the image fusion module is configured to perform image fusion on the replaced second feature face according to the video call image adjacent to the second feature face position in the replaced first video call image.
- FIG. 18 is a block diagram of a processing apparatus for video images in a video call, which is applied to a server for performing video call data transmission for a terminal participating in a video call, including but not limited to: The terminal data receiving module 410, the feature point location extracting module 420, the face data extracting module 430, and the face swapping module 440.
- the terminal data receiving module 410 is configured to receive video call data that is sent by the terminal to perform a video call, where the video call data includes the first video call data and the second video call data that are sent by the first terminal and the second terminal to participate in the video call.
- the feature point location extraction module 420 is configured to extract facial feature point location data corresponding to the first video call image data and the second video call image data respectively from the first video call data and the second video call data;
- the face data extraction module 430 is configured to extract first face data and second face data from the first video call image data and the second video call image data according to the face feature point location data;
- the face swapping module 440 is configured to replace the face in the first video call image data and the second video call image data according to the first face data and the second face data, to obtain a face between the two The first video call image data and the second video call image data are replaced and returned to the corresponding terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开揭示了一种视频通话中视频图像的处理方法及装置,属于互联网技术领域。所述方法包括:接收第二终端设备发送的第二视频通话数据,第二视频通话数据包括第二视频图像数据,以及从第二视频图像数据中提取出的第二人脸特征点位置数据,根据第二人脸特征点位置数据确定第二视频图像数据中的第二人脸特征点,以第二人脸特征点为轮廓提取第二视频图像数据中的第二人脸数据,获取第一视频通话图像中第一人脸的人脸区域,根据第二人脸数据,在第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将第一视频通话图像中的第一人脸替换为第二人脸。上述视频通话中视频图像的处理方法及装置能够在视频通话过程中实现人脸的实时更换。
Description
本申请要求于2017年01月23日提交中国专利局、申请号为201710058161.X、发明名称为“视频通话中视频图像的处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本公开涉及互联网应用技术领域,特别涉及一种视频通话中视频图像的处理方法、终端设备、服务器及存储介质。
背景
随着计算机应用技术的高速发展,视频换脸特效技术得到广泛的应用。通过在视频中进行脸部更换,从而增强视频观赏的乐趣。目前,在视频中实现换脸时,需要更换人脸的两个视频都位于同一个终端设备中,在经过人脸识别到视频中的人脸图像后,通过人脸替换等技术进行人脸更换。
技术内容
为了解决相关技术中在视频通话过程中无法实现人脸更换的技术问题,本公开提供了视频通话中视频图像的处理方法及装置。
各实施例的一种视频通话中视频图像的处理方法可以应用于参与视频通话的第一终端设备,参与所述视频通话的终端设备还包括第二终端设备,所述方法包括:
接收第二终端设备发送的第二视频通话数据,所述第二视频通话数据包括第二视频图像数据,以及从所述第二视频图像数据中提取出的第 二人脸特征点位置数据;
根据所述第二人脸特征点位置数据确定所述第二视频图像数据中的第二人脸特征点;
以所述第二人脸特征点为轮廓提取所述第二视频图像数据中的第二人脸数据;
获取第一视频通话图像中第一人脸的人脸区域;根据所述第二人脸数据,在所述第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将所述第一视频通话图像中的第一人脸替换为所述第二人脸。
各实施例的一种终端设备,可以与第二终端设备进行视频通话,所述终端设备包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:
接收第二终端发送的第二视频通话数据,所述第二视频通话数据包括第二视频图像数据,以及从所述第二视频图像数据中提取出的第二人脸特征点位置数据;
根据所述第二人脸特征点位置数据确定所述第二视频图像数据中的第二人脸特征点;
以所述第二人脸特征点为轮廓提取所述第二视频图像数据中的第二人脸数据;
获取第一视频通话图像中第一人脸的人脸区域;
根据所述第二人脸数据,在所述第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将所述第一视频通话图像中的第一人脸替换为所述第二人脸。
各实施例的一种视频通话中视频图像的处理方法可以应用于服务器,所述服务器为参与视频通话的终端进行视频通话数据传输,所述方法包括:
接收终端进行视频通话而发送的视频通话数据,所述视频通话数据包括第一终端和第二终端参与视频通话所发送的第一视频通话数据和第二视频通话数据;
从所述第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据;
根据所述人脸特征点位置数据从所述第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据;
根据所述第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端设备返回。
各实施例的一种服务器,所述服务器为参与视频通话的终端设备进行视频通话数据传输,所述服务器包括处理器和存储器,所述存储器存储有计算机可读指令可以使所述处理器:
接收终端设备进行视频通话而发送的视频通话数据,所述视频通话数据包括第一终端设备和第二终端设备参与视频通话所发送的第一视频通话数据和第二视频通话数据;
从所述第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据;
根据所述人脸特征点位置数据从所述第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据;
根据所述第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端设备返回。
各实施例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使处理器执行各实施例的方法。
由第二终端设备提供第二人脸特征点位置数据的各实施例中,第一终端设备从第二终端设备收到的第二视频图像数据是经过压缩后通过网络传输的,因此图像质量受到较大影响。而第一终端设备从第二视频图像数据中提取第二人脸数据是基于第二终端设备提供的第二人脸特征点位置数据,该数据是第二终端设备从第二终端设备的摄像头采集的视频图像数据中提取的,从而保证了第二人脸特征点位置数据的准确性,进而保证了第一终端设备提取的第二人脸数据的准确性。
由服务器执行人脸替换的各实施例中,通过服务器对视频通话过程中的第一终端设备和第二终端设备进行人脸替换,降低了对终端设备处理能力的要求,节约了终端设备的处理资源。
附图简要说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种实施环境中终端设备的示意图;
图2是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图;
图3是根据一示例性实施例示出的进行人脸更换的示意图;
图4是根据另一示例性实施例示出的一种视频通话中视频图像的处理方法流程图;
图5是根据一示例性实施例示出的一种人脸识别获取人脸区域后提取人脸特征点位置数据的示意图;
图6是根据另一示例性实施例示出的一种视频通话中视频图像的处理方法流程图;
图7是根据一示例性实施例示出的视频通话中视频图像的处理方法中步骤S131的一种具体实现流程图;
图8是根据另一示例性实施例示出的一种视频通话中视频图像的处理方法流程图;
图9是根据一示例性实施例示出的一种视频通话中进行人脸更换的示意图;
图10是根据另一示例性实施例示出的一种视频通话中视频图像的处理方法流程图;
图11是据一示例性实施例示出的视频通话过程中数据传输架构图;
图12是在图11示出的数据传输架构下进行视频通话中视频图像的处理方法示意图;
图13是根据一示例性实施例示出的一种视频通话中视频图像的处理装置的框图;
图14是根据另一示例性实施例示出的一种视频通话中视频图像的处理装置的框图;
图15是根据另一示例性实施例示出的一种视频通话中视频图像的处理装置的框图;
图16是根据一示例性实施例示出的视频通话中视频图像的处理装置中纹理映射子模块131的一种具体实现流程图;
图17是根据另一示例性实施例示出的一种视频通话中视频图像的处理装置的框图;
图18是根据另一示例性实施例示出的一种视频通话中视频图像的处理装置的框图。
实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本申请提出一种视频通话中视频图像的处理方法、终端设备、服务器及存储介质。在一个实施例中,本公开涉及的实施环境包括:终端设备和装设在终端设备上的视频图像处理模组。其中,终端设备具有独立操作系统,独立运行空间,可以安装软件以及第三方服务商提供的软件。视频图像处理模组是能够对视频图像进行处理的硬件模块。
图1是根据一示例性实施例示出的一种装置100的框图。装置100可以应用于上述实施环境中的终端设备(简称终端)。
参考图1,装置100可以包括以下一个或者多个组件:处理组件101,存储器102,电源组件103,多媒体组件104,音频组件105,传感器组件107以及通信组件108。
处理组件101可以包括一个或多个处理器109来执行存储器102中存储的指令,以完成上述的方法的全部或部分步骤。
存储器102被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程 只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储器102中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器109执行,以完成图2、图3、图4和图5任一所示方法中的全部或者部分步骤。
图2是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。该视频通话中视频图像的处理方法用于上述所示实施环境的终端设备中,例如,参与视频通话的第一终端,参与视频通话的终端还包括第二终端,如图2所示,该视频通话中视频图像的处理方法可以包括以下步骤。
在步骤S110中,接收第二终端发送的第二视频通话数据。
参与视频通话的终端包括第一终端和第二终端。可以理解的是,第一终端和第二终端均可作为接收端和发送端。视频通话过程中,第一终端接收第二终端传送的视频通话数据,并向第二终端发送其采集的视频通话数据,从而实现二者之间的视频通话。
第一终端接收的第二终端发送的第二视频通话数据中,包括用于显示第二视频通话图像的第二视频图像数据和从第二终端视频通话图像中提取出的第二人脸特征点位置数据。
人脸中包括有多种关键部位,例如,鼻子、眼睛、嘴巴、眉毛等。各关键部位均有其独特的特征。人脸特征点位置为各关键部位的特征点所在位置。
人脸特征点位置为各人脸特征点在视频通话图像中的位置。例如,鼻子、眼睛、嘴巴、眉毛等各关键部位的特征点在视频通话图像中的位置。
在一个示例性的实施例中,在对视频通话图像的关键部位进行识别后,获取表征各关键部位的特征点,在视频通话图像的坐标系中,获取 各人脸特征点的坐标位置,即为人脸特征点位置。
第二人脸特征点位置数据是第二人脸特征点在第二视频图像数据中的位置数据。从第二视频图像数据中提取出第二人脸特征点位置数据的方式有多种,可以是根据第二视频图像数据,建立一个坐标系,进而根据第二人脸特征点在该坐标系中的坐标位置,提取第二人脸特征点位置数据;也可以按照预定的顺序对第二视频图像数据中各像素点进行编号,进而提取出第二人脸特征点的编号数据;还可以通过其他方式从第二视频图像数据中提取出第二人脸特征点位置数据,在此不作限定。
通过人脸特征点位置数据表征人脸特征点在视频通话图像中的位置,进而将人脸特征点位置数据随视频通话图像的视频图像数据一起发送,由于人脸特征点位置数据的数据量很小,因而对视频通话时视频通话数据发送的数据量几乎没有影响。
在步骤S120中,根据第二人脸特征点位置数据确定第二视频图像数据中的第二人脸特征点。
由于第二人脸特征点位置数据表征各人脸特征点在第二视频通话图像中的位置,因而根据第二人脸特征点位置数据,确定第二视频通话图像中的人脸特征点。
如上所述,第二人脸特征点位置数据是第二人脸特征点在第二视频图像数据中的位置数据。因而,根据第二人脸特征点位置数据,在第二视频图像数据中的相应位置提取第二人脸特征点。例如,第二人脸特征点位置数据为坐标数据时,根据第二人脸特征点的坐标,在第二视频图像数据中提取第二人脸特征点;第二人脸特征点位置数据为像素编号数据时,根据第二人脸特征点的像素编号,在第二视频图像数据中提取第二人脸特征点。
在步骤S130中,以第二人脸特征点为轮廓提取第二视频图像数据 中的第二人脸数据。
在一示例性的实施例中,根据人脸特征点位置数据,在第二视频通话图像的第二视频图像数据中提取出第二人脸特征点的像素数据,以第二人脸特征点的为轮廓,在第二视频图像数据中提取第二人脸特征点轮廓内的所有人脸像素点,组成第二视频图像数据中的第二人脸数据。
在步骤S140中,获取第一视频通话图像中第一人脸的人脸区域。
第一视频通话图像中第一人脸的人脸区域是第一终端对其采集的第一视频图像数据进行人脸识别后而识别出的人脸区域。
在步骤S150中,根据第二人脸数据,在第一视频通话图像中第一人脸的人脸区域绘制第二特征人脸(即第二视频通话图像中的第二人脸,简称第二人脸),以便将第一视频通话图像中的第一人脸替换为第二特征人脸。
需要说明的是,不同人脸数据中各人脸特征点的位置分布存在一定的差异,并且不同人脸数据对应的人脸区域大小可能存在一定的差别。因此人脸替换之前需对人脸进行绘制,以保证替换后的视频通话图像中,人脸和身体的布局相互协调,达到较好的视频特效效果。
第一视频通话图像中第一人脸的人脸区域为第一终端自身在获取采集的第一视频通话图像的视频图像数据后,进行人脸识别而识别出的人脸区域。
根据第一视频通话图像中第一人脸的人脸区域,采用第二人脸数据进行人脸的绘制,使绘制后得到的第二特征人脸大小及轮廓与第一视频通话图像中第一人脸的人脸区域一致。
实现第二特征人脸的绘制可以按照第二人脸数据中各人脸特征点的分布进行绘制;也可以按照第一视频通话图像中第一人脸的人脸区域大小及轮廓,采用第二人脸数据进行绘制;还可以采用其他的方式进行 第二特征人脸的绘制,在此不作限定。
在进行第二特征人脸的绘制后,将该第二特征人脸置于第一视频通话图像中第一人脸的人脸区域,替换第一视频通话图像中的第一人脸。
图3是根据一示例性实施例示出的进行人脸更换的示意图。图3中,提取第二人脸数据后,按照第一视频通话图像中的人脸区域进行第二特征人脸的绘制,再将第二特征人脸替换第一视频通话图像中的第一人脸。
利用如上所述的方法,第一终端自身在接收第二终端发送的第二视频通话图像的第二视频图像数据和第二视频通话图像中的第二人脸特征点位置数据后,根据第二人脸特征点位置数据在第二视频图像数据中提取第二人脸数据,并采用第二人脸数据绘制出第二特征人脸,替换第一视频通话图像中的第一人脸。由于视频通话过程中进行视频图像数据与人脸特征点位置数据的传输,并根据人脸特征点位置数据进行人脸的提取,保证了人脸更换的准确性,且无需高网络带宽就能实现视频通话过程中的实时换脸。
图4是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。该视频通话中视频图像的处理方法还可以包括以下步骤。
在步骤S210中,获取自身采集的第一视频图像数据,第一视频图像数据用于显示第一视频通话图像。
在视频通话过程中,第一终端自身也将进行视频图像数据的采集,以实现视频通话时的图像显示。
在步骤S220中,对第一视频图像数据进行人脸识别,获取第一视频通话图像中第一人脸的人脸区域。
人脸识别是根据人脸中各关键部位的特征信息,识别视频通话图像中人脸的各关键部位,获取视频通话图像中的人脸区域。
可以采用多种方法实现对第一视频图像数据的人脸识别,例如ASM(Active Shape Models,主动形状模型)方法、AAM(Active Appearence Models,主动表观模型)方法、级联回归等算法等。
在一个示例性的实施例中,采用ASM方法进行人脸识别。ASM是基于PDM(Point Distribution Model,点分布模型)的方法,对于外形相似的物体的形状通过若干关键特征点的坐标串接起来以构成原始的形状向量。对训练集中的所有形状向量对齐后进行PCA(Principal Component Analysis,主成分分析)分析建模,保留的主成分形成最终的形状模型。进而针对视频通话时采集的第一视频通话数据,通过ASM搜索进行局部纹理信息的搜索匹配,形成迭代过程,使得形状模型最终匹配到输入的形状模式上去。
在一个示例性的实施例中,采用级联回归算法中的随机森林方法进行人脸识别,主要思路包含两个阶段:
(1)线下训练阶段:收集大量人脸特征点的训练样本(包含人脸图像,以及手工标定的特征点位置),然后根据每个人脸特征点的局部二值这样一个图像特征建立随机森林(机器学习算法名词,一种级联回归器),并对这类随机森林通过训练样本进行机器学习,得到所有随机森林里面所有节点的具体参数值。
(2)线上识别阶段:针对需进行人脸识别的视频图像数据,首先计算出视频图像数据中的所有局部二值特征,然后用线下训练阶段得到的随机森林对视频图像数据中的各特征点进行判别,得到最终的人脸特征点。
在步骤S230中,在第一人脸的人脸区域中提取第一视频通话图像中的第一人脸特征点位置数据。
第一视频通话数据中的人脸特征点位置数据表针各人脸特征点在 第一视频通话图像中的位置。例如,鼻子、眼睛、嘴巴、眉毛等各关键部位的特征点在第一视频通话图像中的位置。
在一个示例性的实施例中,在对第一视频通话图像的关键部位进行识别后,获取表征各关键部位的特征点,在第一视频通话图像的坐标系中,获取各人脸特征点的坐标位置,即为第一视频通话图像中的人脸特征点位置。
图5是根据一示例性实施例示出的一种人脸识别获取人脸区域后提取人脸特征点位置数据的示意图。图5中,通过获取第一视频通话图像中人脸特征点的坐标位置,即为第一人脸特征点位置数据。
在步骤S240中,通过第一视频图像数据和第一人脸特征点位置数据得到第一视频通话数据,并向第二终端发送第一视频通话数据。
通过第一人脸特征点位置数据表征人脸特征点在第一视频通话图像中的位置,进而随第一视频通话图像的视频图像数据一起发送,由于第一人脸特征点位置的数据量很小,因而对视频通话时发送第一视频通话数据的数据量几乎没有影响。
例如,在终端2和终端1的视频通话过程中,终端1采集的视频通话图像数据为数据B。终端1将在数据B中提取人脸特征点位置数据B0,终端1将数据B和人脸特征点位置数据B0一起发送给终端2。
通常地,在向第二终端发送第一视频通话数据之前,还将对第一视频通话数据中的第一视频图像数据进行编码处理,调节对应第一视频通话图像的分辨率;类似的,接收到第二终端发送的第二视频通话数据中,第二视频图像数据也是经过编码处理的。从而在视频通话时,使经过编码后进行显示的第一视频通话图像与第二视频通话图像的分辨率相同,避免换脸后的视频通话图像中,因第一终端与第二终端的图像采集设备不同而导致身体与脸部的分辨率相差较大,造成图像不协调。
利用如上所述的方法,作为视频通话数据发送端的第一终端将在自身采集的第一视频图像数据中提取第一人脸特征点位置数据,进而将第一人脸特征点位置数据和第一视频图像数据一起发送给视频通话的对端,以根据人脸特征点位置数据提取人脸后实现视频通话过程中的实时换脸。
图6是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。针对图4所示的视频通话中视频图像的处理方法,步骤S230之前还可以包括以下步骤。
在步骤S260中,判断对应于第一视频通话图像的人脸数量是否大于一个,若为是,则执行步骤S270,若为否,则执行步骤S230。
可以理解的是,第一视频通话图像中可能存在两个或两个以上的人脸。当第一视频通话图像中的人脸数量为两个或两个以上时,需选取出一个人脸,作为第一视频通话图像中的第一人脸,进而将第一人脸作为与第二终端进行人脸交换的人脸区域。
在一个示例性的实施例中,当第一视频通话图像中存在多个人脸时,选取人脸区域面积最大的人脸作为第一视频通话图像中的第一人脸;当第一视频通话图像中存在的人脸区域面积相同的多个人脸时,随机选一个人脸。
在另一个示例性的实施例中,当第一视频通话图像中存在多个人脸时,选取与上一帧视频通话图像中的人脸区域有区域交叠的人脸;如果没有区域交叠的人脸区域,或者有区域重叠的人脸区域数量不只一个时,则选取人脸区域面积最大的人脸作为第一视频通话图像中的第一人脸。
在步骤S270中,获取各人脸的人脸区域面积。
在步骤S280中,选取人脸区域面积最大的一个人脸作为第一人脸, 第一人脸的人脸区域将作为第一视频通话图像中提取第一人脸特征点位置数据的人脸区域。
利用如上所述的方法,视频通话图像中存在多个人脸时,选取一个人脸的人脸区域作为进行人脸替换的人脸区域,保证了人脸替换时的准确性。
根据一示例性实施例示出的对图2所示的视频通话中视频图像的处理方法中步骤S150的细节描述。该步骤S150可以包括以下步骤。
在步骤S151中,根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,进行第二人脸数据在第一视频通话图像中的纹理映射,得到在第一视频通话图像中第一人脸的人脸区域绘制的第二特征人脸。
纹理映射是根据第一视频通话图像中的人脸特征点对第二人脸数据进行一系列人脸特征点变换,使变换后得到的第二特征人脸与第一视频通话图像中第一人脸的人脸区域大小及形状相一致。
可以理解的是,由于不同人的人脸不同、人脸在视频通话图像中的面积占比不同等因素,视频通话过程中采集到视频双方的视频通话图像中,人脸的大小及各关键部分的分布均存在一定的差异。
因此,在对第一视频通话图像进行人脸的替换之前,通过对第二视频图像数据中的第二人脸数据进行纹理映射,即根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,对第二人脸数据进行纹理映射,以保证经纹理映射后得到的第二特征人脸与第一视频通话图像中第一人脸的人脸区域大小及形状相一致。
如前所述的,第一终端在对自身采集的第一视频图像数据进行人脸识别后,将获取第一视频通话图像中的第一人脸特征点位置数据及对应第一视频通话图像中第一人脸的人脸区域。
根据第一人脸特征点位置数据和第一视频通话图像中第一人脸的人脸区域,采用第二人脸数据进行第二特征人脸的绘制,使第二特征人脸与第一视频通话图像中的身体部分相协调。
实现对第二人脸数据进行纹理映射得到为第一视频通话图像中第一人脸的人脸区域绘制的第二特征人脸,可以根据第一视频图像数据中的第一人脸特征点位置数据,采用第二人脸数据进行纹理映射,得到绘制的第二特征人脸;也可以按照第一视频通话图像中第一人脸的人脸区域大小及轮廓,采用第二人脸数据进行纹理映射,得到第二特征人脸;还可以采用其他的方式对第二人脸数据进行纹理映射,在此不作限定。
利用如上所述的方法,根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,为第一视频通话图像中第一人脸的人脸区域绘制第二特征人脸,保证了纹理映射后得到的第二特征人脸与第一视频通话图像中第一人脸的人脸区域大小与形状一致。
可选的,图7是根据一示例性实施例示出的对步骤S151的细节的描述。该步骤S151可以包括以下步骤。
在步骤S1511中,根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,分别将第二人脸数据对应第二人脸的人脸区域和第一视频通话图像中第一人脸的人脸区域相应地分割成多个三角形区域。
需要说明的是,第一终端接收到第二终端发送的第二人脸特征点位置数据表征的人脸特征点数量,是与第一终端对其自身采集的第一视频图像数据进行人脸识别后提取的第一人脸特征点数量是相同的。
三角形区域是相邻任意三个人脸特征点相连接而形成的。
在步骤S1512中,按照第一人脸的人脸区域中的三角形区域,对第二人脸的人脸区域中相应的三角形区域进行变换,得到在第一视频通话 图像中第一人脸的人脸区域绘制的第二特征人脸。
在一示例性实施例中,根据第一人脸特征点位置数据和第二人脸特征点位置数据,进行第二人脸数据在第一视频通话图像中的纹理映射的过程包括:
(1)人脸区域三角化:根据第一人脸特征点位置数据和第二人脸特征点位置数据,将第一视频通话图像中第一人脸的人脸区域和第二人脸数据对应第二人脸的人脸区域相应地分割成多个三角形,每个三角形的边都是相邻两个人脸特征点之间的连线。
(2)针对第一视频通话图像中第一人脸的人脸区域和第二人脸数据对应第二人脸的人脸区域中的每个对应三角形:将第一视频通话图像中第一人脸的人脸区域中任意三个人脸特征点X1、X2、X3对应的三角形triangle1图像,通过计算机图像计算内置函数,例如opengl纹理贴图、opencv的wrap Triangle方法等,根据三角形triangle1图像,对第二人脸数据中对应三个人脸特征点Y1、Y2、Y3对应的三角形triangle2图像进行缩放绘制。
利用如上所述的方法,根据第一人脸特征点位置数据和第二人脸特征点位置数据,通过人脸区域三角化后,按照第一人脸的人脸区域中的三角形区域对第二人脸数据对应第二人脸的人脸区域中相应的三角形区域进行变换,保证了变换后得到的第二特征人脸与第一视频通话图像中第一人脸的人脸区域大小与形状一致。
图8是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。针对图2所示的视频通话中视频图像的处理方法,步骤S120之后还可以包括以下步骤。
在步骤S310中,根据第二人脸数据得到第二视频通话图像中第二人脸的人脸区域。
在步骤S320中,根据第一视频通话图像中第一人脸的人脸区域对应的第一人脸数据,在第二视频通话图像中第二人脸的人脸区域绘制第一特征人脸,以便将第二视频通话图像中的第二人脸替换为第一特征人脸。
图9是根据一示例性实施例示出的一种视频通话中进行人脸更换的示意图。图9中,第一终端同时显示的视频通话图像包括第一视频通话图像和第二视频通话图像,第一终端通过对第一视频通话图像和第二视频通话图像进行人脸更换,显示的第一视频通话图像中的人脸为第二特征人脸,显示的第二视频通话图像中的人脸为第一特征人脸。
通过如上所述的方法,第一终端在显示的第二视频通话图像中,采用第一视频通话图像中的人脸对第二视频通话图像中的人脸区域进行替换显示,从而对第一视频通话图像和第二视频通话图像进行换脸后同时显示,实现视频通话过程中的实时换脸。
根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。针对图2所示的视频通话中视频图像的处理方法,步骤S140之后还可以包括以下步骤。
在步骤中,在替换后的第一视频通话图像中,根据与第二特征人脸位置相邻的视频通话图像,对替换后的第二特征人脸进行图像融合。
图像融合是在替换绘制后的第一视频通话图像中,对替换后的第二特征人脸图像进行修调,使人脸边缘、人脸肤色、亮度、人脸图像品质等属性与周边的图像相融合,以实现人脸图像与身体图像的平缓过渡,提高视频通话图像的质量。
图10是根据一示例性实施例示出的一种视频通话中视频图像的处理方法流程图。该视频通话中视频图像的处理方法应用于服务器,服务器为参与视频通话的终端进行视频通话数据传输,该视频通话中视频图 像的处理方法可以包括以下步骤。
在步骤S410中,接收终端进行视频通话而发送的视频通话数据,视频通话数据包括第一终端和第二终端参与视频通话所发送的第一视频通话数据和第二视频通话数据。
需要说明的是,视频通话的终端包括第一终端与第二终端,服务器为参与视频通话的第一终端与第二终端进行视频通话数据传输。
视频通话过程中,服务器将接收到第一终端与第二终端各自发送的视频通话数据,即第一视频通话数据和第二视频通话数据。
在步骤S420中,从第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据。
需要说明的是,视频通话数据中包含有视频图像数据与人脸特征点位置数据,即,第一视频通话数据包括第一视频图像数据与第一人脸特征点位置数据,第二视频通话数据包括第二视频图像数据与第二人脸特征点位置数据。
因此,从第一视频通话数据中提取对应于第一视频通话图像数据的第一人脸特征点位置数据,从第二视频通话数据中提取对应于第二视频通话图像数据的第二人脸特征点位置数据。
在步骤S430中,根据人脸特征点位置数据从第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据。
根据人脸特征点位置数据,在对应的视频图像数据中确定人脸特征点,进而以人脸特征点为轮廓在对应的视频图像数据中进行人脸数据的提取。
在步骤S440中,根据第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间 发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端返回。
向终端返回人脸替换的视频通话图像数据时,可以是将人脸替换后的第一视频通话图像数据返回给第一终端,将人脸替换后的第二视频通话图像数据返回给第二终端;也可以是将人脸替换后的第一视频通话图像数据返回给第二终端,将人脸替换后的第二视频通话图像数据返回给第一终端;还可以是将人脸替换后的第一视频通话图像数据和第二视频通话图像数据均返回给第一终端和第二终端。
通过如上所述的方法,通过服务器对视频通话过程中的第一终端和第二终端进行人脸替换,避免终端重复进行图像数据处理,提高了图像数据的处理效率。
下面结合一个具体的应用场景来详细阐述如上的视频通话中视频图像的处理方法。视频通话中视频图像的处理方法运行于一视频客户端中。具体的,图11是据一示例性实施例示出的视频通话过程中数据传输架构图。视频客户端1和视频客户端2的视频通话过程中,视频客户端1在采集视频通话图像的视频图像数据后,进行人脸识别,提取人脸特征点位置,并通过视频传输服务器向视频客户端2发送视频通话图像的视频图像数据和人脸特征点位置,同时,视频客户端1接收视频客户端2发送的视频通话图像的视频图像数据和人脸特征点位置。
图12是在图11示出的数据传输架构下进行视频通话中视频图像的处理方法示意图。
步骤S1110,人脸识别人脸区域及人脸特征点提取。视频客户端1对自身采集的第一视频通话图像的视频图像数据进行人脸识别,提取本地视频通话图像中人脸区域的人脸特征点位置。
步骤S1120,视频通话数据发送。视频客户端1向视频客户端2发 送视频通话数据,视频通话数据包括本地视频通话图像的本地视频图像数据和本地视频通话图像中人脸区域的人脸特征点位置。
步骤S1130,对端视频通话数据接收。视频客户端1接收视频客户端2发送的对端视频通话图像的对端视频图像数据和从该对端视频通话图像中提取的人脸特征点位置。
步骤S1140,人脸数据提取。视频客户端1在根据人脸特征点位置在对端视频图像数据中提取对端人脸数据。
步骤S1150,人脸绘制。视频客户端1采用对端人脸数据为本地视频通话图像绘制对端人脸,采用本地视频通话图像中的人脸数据为对端视频通话图像绘制本地人脸。
步骤S1160,人脸替换。视频客户端1采用本地人脸替换对端视频通话图像中的人脸区域,并采用对端人脸替换本地视频通话图像中的人脸区域。
步骤S1170,图像融合。在替换后的本地视频通话图像和对端视频通话图像中,分别对替换后的本地人脸和对人脸进行图像融合。
下述为本公开装置实施例,可以用于执行本上述视频通话中视频图像的处理方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开视频通话中视频图像的处理方法实施例。
图13是根据一示例性实施例示出的一种视频通话中视频图像的处理装置的框图,其应用于参与视频通话的第一终端,参与视频通话的终端还包括第二终端,该装置包括但不限于:第二通话数据接收模块110、第二人脸特征点确定模块120、第二人脸数据提取模块130、人脸区域获取模块140及第二人脸绘制模块150。
第二通话数据接收模块110,用于接收第二终端发送的第二视频通话数据,第二视频通话数据包括第二视频图像数据,以及从第二视频图 像数据中提取出的第二人脸特征点位置数据;
第二人脸特征点确定模块120,用于根据第二人脸特征点位置数据确定第二视频图像数据中的第二人脸特征点;
第二人脸数据提取模块130,用于以第二人脸特征点为轮廓提取第二视频图像数据中的第二人脸数据;
人脸区域获取模块140,用于获取第一视频通话图像中第一人脸的人脸区域;
第二特征人脸绘制模块150,用于根据第二人脸数据,在第一视频通话图像中第一人脸的人脸区域绘制第二特征人脸,以便将第一视频通话图像中的第一人脸替换为第二特征人脸。
上述装置中各个模块的功能和作用的实现过程具体详见上述视频通话中视频图像的处理方法中对应步骤的实现过程,在此不再赘述。
可选的,如图14所示,图13中的视频通话中视频图像的处理装置还包括但不限于:视频图像数据获取模块210、人脸识别模块220、第一特征点位置提取模块230和视频通话数据发送模块240。
视频图像数据获取模块210,用于获取自身采集的第一视频图像数据,第一视频图像数据用于显示第一视频通话图像;
人脸识别模块220,用于对第一视频图像数据进行人脸识别,获取第一视频通话图像中第一人脸的人脸区域;
第一特征点位置提取模块230,用于在第一人脸的人脸区域中提取第一视频通话图像中的第一人脸特征点位置数据;
视频通话数据发送模块240,用于通过第一视频图像数据和第一人脸特征点位置数据得到第一视频通话数据,并向第二终端发送第一视频通话数据。
可选的,如图15所示,图14中的视频通话中视频图像的处理装置 还包括但不限于:人脸区域数量判断模块260、面积获取模块270和第一人脸确定模块280。
人脸数量判断模块260,用于断对应于第一视频通话图像的人脸数量是否大于一个;
面积获取模块270,用于当第一视频通话图像的人脸数量大于一个时,获取各人脸的人脸区域面积;
第一人脸确定模块280,用于选取人脸区域面积最大的一个人脸作为第一人脸,第一人脸的人脸区域将作为第一视频通话图像中提取第一人脸特征点位置数据的人脸区域。
可选的,第二特征人脸绘制模块150包括但不限于:纹理映射子模块151。
纹理映射子模块151,用于根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,进行第二人脸数据在第一视频通话图像中的纹理映射,得到在第一视频通话图像中第一人脸的人脸区域绘制的第二特征人脸。
可选的,如图16所示,纹理映射子模块151包括但不限于:人脸区域分割单元1511和第二特征人脸绘制单元1512。
人脸区域分割单元1511,用于根据第二人脸特征点位置数据和第一视频通话图像中的第一人脸特征点位置数据,分别将第二人脸数据对应第二人脸的人脸区域和第一视频通话图像中第一人脸的人脸区域相应地分割成多个三角形区域;
第二特征人脸绘制单元1512,用于按照第一人脸的人脸区域中的三角形区域,对第二人脸的人脸区域中相应的三角形区域进行变换,得到在第一视频通话图像中第一人脸的人脸区域绘制的第二特征人脸。
可选的,如图17所示,图13中的视频通话中视频图像的处理装置 还包括但不限于:人脸区域获取模块310和第一人脸绘制模块320。
人脸区域获取模块310,用于根据第二人脸数据得到第二视频通话图像中第二人脸的人脸区域;
第一特征人脸绘制模块320,用于根据第一视频通话图像中第一人脸的人脸区域对应的第一人脸数据,在第二视频通话图像中第二人脸的人脸区域绘制第一特征人脸,以便将第二视频通话图像中的第二人脸替换为第一特征人脸。
可选的,图13中的视频通话中视频图像的处理装置还包括但不限于:图像融合模块。
图像融合模块,用于在替换后的第一视频通话图像中,根据与第二特征人脸位置相邻的视频通话图像,对替换后的第二特征人脸进行图像融合。
图18是根据一示例性实施例示出的一种视频通话中视频图像的处理装置的框图,其应用于服务器,该服务器为参与视频通话的终端进行视频通话数据传输,该装置包括但不限于:终端数据接收模块410、特征点位置提取模块420、人脸数据提取模块430及人脸对换模块440。
终端数据接收模块410,用于接收终端进行视频通话而发送的视频通话数据,视频通话数据包括第一终端和第二终端参与视频通话所发送的第一视频通话数据和第二视频通话数据;
特征点位置提取模块420,用于从第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据;
人脸数据提取模块430,用于根据人脸特征点位置数据从第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据;
人脸对换模块440,用于根据第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端返回。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (16)
- 一种视频通话中视频图像的处理方法,其应用于参与视频通话的第一终端设备,参与所述视频通话的终端设备还包括第二终端设备,其中,所述方法包括:接收第二终端设备发送的第二视频通话数据,所述第二视频通话数据包括第二视频图像数据,以及从所述第二视频图像数据中提取出的第二人脸特征点位置数据;根据所述第二人脸特征点位置数据确定所述第二视频图像数据中的第二人脸特征点;以所述第二人脸特征点为轮廓提取所述第二视频图像数据中的第二人脸数据;获取第一视频通话图像中第一人脸的人脸区域;根据所述第二人脸数据,在所述第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将所述第一视频通话图像中的第一人脸替换为所述第二人脸。
- 根据权利要求1所述的方法,其中,所述方法还包括:获取自身采集的第一视频图像数据,所述第一视频图像数据用于显示第一视频通话图像;对所述第一视频图像数据进行人脸识别,获取所述第一视频通话图像中第一人脸的人脸区域;在所述第一人脸的人脸区域中提取所述第一视频通话图像中的第一人脸特征点位置数据;通过所述第一视频图像数据和第一人脸特征点位置数据得到第一视频通话数据,并向所述第二终端设备发送所述第一视频通话数据。
- 根据权利要求2所述的方法,其中,所述在所述第一人脸的人脸区域中提取所述第一视频通话图像中的第一人脸特征点位置数据步骤之前,所述方法还包括:判断对应于所述第一视频通话图像的人脸数量是否大于一个,若为是,则获取各人脸的人脸区域面积;选取人脸区域面积最大的一个人脸作为第一人脸,所述第一人脸的人脸区域将作为所述第一视频通话图像中提取第一人脸特征点位置数据的人脸区域。
- 根据权利要求1所述的方法,其中,所述根据所述第二人脸数据,在所述第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将所述第一视频通话图像中的第一人脸替换为所述第二人脸,包括:根据所述第二人脸特征点位置数据和所述第一视频通话图像中的第一人脸特征点位置数据,进行所述第二人脸数据在所述第一视频通话图像中的纹理映射,得到在所述第一视频通话图像中第一人脸的人脸区域绘制的第二人脸。
- 根据权利要求4所述的方法,其中,所述根据所述第二人脸特征点位置数据和所述第一视频通话图像中的第一人脸特征点位置数据,进行所述第二人脸数据在所述第一视频通话图像中的纹理映射,得到在所述第一视频通话图像中第一人脸的人脸区域绘制的第二人脸,包括:根据所述第二人脸特征点位置数据和所述第一视频通话图像中的第一人脸特征点位置数据,分别将所述第二人脸数据对应第二人脸的人脸区域和所述第一视频通话图像中第一人脸的人脸区域相应地分割成多个三角形区域;按照所述第一人脸的人脸区域中的三角形区域,对所述第二人脸的人脸区域中相应的三角形区域进行变换,得到在所述第一视频通话图像 中第一人脸的人脸区域绘制的第二人脸。
- 根据权利要求1所述的方法,其中,所述以所述第二人脸特征点为轮廓提取所述第二视频图像数据中的第二人脸数据步骤之后,所述方法还包括:根据所述第二人脸数据得到所述第二视频通话图像中第二人脸的人脸区域;根据所述第一视频通话图像中第一人脸的人脸区域对应的第一人脸数据,在所述第二视频通话图像中第二人脸的人脸区域绘制第一特征人脸,以便将所述第二视频通话图像中的第二人脸替换为所述第一特征人脸。
- 一种视频通话中视频图像的处理方法,其中,所述方法应用于服务器,所述服务器为参与视频通话的终端设备进行视频通话数据传输,所述方法包括:接收终端设备进行视频通话而发送的视频通话数据,所述视频通话数据包括第一终端设备和第二终端设备参与视频通话所发送的第一视频通话数据和第二视频通话数据;从所述第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据;根据所述人脸特征点位置数据从所述第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据;根据所述第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端设备返回。
- 一种终端设备,可以与第二终端设备进行视频通话,其中,所 述终端设备包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:接收第二终端设备发送的第二视频通话数据,所述第二视频通话数据包括第二视频图像数据,以及从所述第二视频图像数据中提取出的第二人脸特征点位置数据;根据所述第二人脸特征点位置数据确定所述第二视频图像数据中的第二人脸特征点;以所述第二人脸特征点为轮廓提取所述第二视频图像数据中的第二人脸数据;获取第一视频通话图像中第一人脸的人脸区域;根据所述第二人脸数据,在所述第一视频通话图像中第一人脸的人脸区域绘制第二人脸,以便将所述第一视频通话图像中的第一人脸替换为所述第二人脸。
- 根据权利要求8所述的终端设备,其中,所述计算机可读指令可以使所述处理器:获取自身采集的第一视频图像数据,所述第一视频图像数据用于显示第一视频通话图像;对所述第一视频图像数据进行人脸识别,获取所述第一视频通话图像中第一人脸的人脸区域;在所述第一人脸的人脸区域中提取所述第一视频通话图像中的第一人脸特征点位置数据;通过所述第一视频图像数据和第一人脸特征点位置数据得到第一视频通话数据,并向所述第二终端设备发送所述第一视频通话数据。
- 根据权利要求9所述的终端设备,其中,所述计算机可读指令可以使所述处理器:断对应于所述第一视频通话图像的人脸数量是否大于一个;当所述第一视频通话图像的人脸数量大于一个时,获取各人脸的人脸区域面积;选取人脸区域面积最大的一个人脸作为第一人脸,所述第一人脸的人脸区域将作为所述第一视频通话图像中提取第一人脸特征点位置数据的人脸区域。
- 根据权利要求8所述的终端设备,其中,所述计算机可读指令可以使所述处理器:根据所述第二人脸特征点位置数据和所述第一视频通话图像中的第一人脸特征点位置数据,进行所述第二人脸数据在所述第一视频通话图像中的纹理映射,得到在所述第一视频通话图像中第一人脸的人脸区域绘制的第二人脸。
- 根据权利要求11所述的终端设备,其中,所述计算机可读指令可以使所述处理器:根据所述第二人脸特征点位置数据和所述第一视频通话图像中的第一人脸特征点位置数据,分别将所述第二人脸数据对应第二人脸的人脸区域和所述第一视频通话图像中第一人脸的人脸区域相应地分割成多个三角形区域;按照所述第一人脸的人脸区域中的三角形区域,对所述第二人脸的人脸区域中相应的三角形区域进行变换,得到在所述第一视频通话图像中第一人脸的人脸区域绘制的第二人脸。
- 根据权利要求8所述的终端设备,其中,所述计算机可读指令可以使所述处理器:根据所述第二人脸数据得到所述第二视频通话图像中第二人脸的人脸区域;根据所述第一视频通话图像中第一人脸的人脸区域对应的第一人脸数据,在所述第二视频通话图像中第二人脸的人脸区域绘制第一特征人脸,以便将所述第二视频通话图像中的第二人脸替换为所述第一特征人脸。
- 一种服务器,所述服务器为参与视频通话的终端设备进行视频通话数据传输,所述服务器包括处理器和存储器,所述存储器存储有计算机可读指令可以使所述处理器:接收终端设备进行视频通话而发送的视频通话数据,所述视频通话数据包括第一终端设备和第二终端设备参与视频通话所发送的第一视频通话数据和第二视频通话数据;从所述第一视频通话数据和第二视频通话数据提取分别对应于第一视频通话图像数据和第二视频通话图像数据的人脸特征点位置数据;根据所述人脸特征点位置数据从所述第一视频通话图像数据和第二视频通话图像数据相应提取第一人脸数据和第二人脸数据;根据所述第一人脸数据和第二人脸数据使第一视频通话图像数据和第二视频通话图像数据中的人脸发生替换,得到二者之间发生人脸替换的第一视频通话图像数据和第二视频通话图像数据,并向相应终端设备返回。
- 一种非易失性计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至6任一项所述的方法。
- 一种非易失性计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求7所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710058161.XA CN108347578B (zh) | 2017-01-23 | 2017-01-23 | 视频通话中视频图像的处理方法及装置 |
CN201710058161.X | 2017-01-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018133825A1 true WO2018133825A1 (zh) | 2018-07-26 |
Family
ID=62907793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/073336 WO2018133825A1 (zh) | 2017-01-23 | 2018-01-19 | 视频通话中视频图像的处理方法、终端设备、服务器及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108347578B (zh) |
WO (1) | WO2018133825A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110769323A (zh) * | 2018-07-27 | 2020-02-07 | Tcl集团股份有限公司 | 一种视频通信方法、系统、装置和终端设备 |
CN110853725A (zh) * | 2019-09-30 | 2020-02-28 | 许之敏 | 基于视觉反馈的面部功能训练方法、设备及存储介质 |
CN112132743A (zh) * | 2020-09-27 | 2020-12-25 | 上海科技大学 | 可自适应光照的视频换脸方法 |
CN112562720A (zh) * | 2020-11-30 | 2021-03-26 | 清华珠三角研究院 | 一种唇形同步的视频生成方法、装置、设备及存储介质 |
CN113287118A (zh) * | 2019-01-18 | 2021-08-20 | 斯纳普公司 | 用于面部再现的系统和方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829374A (zh) * | 2018-12-27 | 2019-05-31 | 深圳豪客互联网有限公司 | 图像数据处理方法、装置、计算机设备和存储介质 |
CN109788312B (zh) * | 2019-01-28 | 2022-10-21 | 北京易捷胜科技有限公司 | 一种视频中人物的替换方法 |
CN109788311B (zh) * | 2019-01-28 | 2021-06-04 | 北京易捷胜科技有限公司 | 人物替换方法、电子设备和存储介质 |
CN110298229B (zh) * | 2019-04-29 | 2022-04-01 | 星河视效科技(北京)有限公司 | 视频图像处理方法及装置 |
CN110533585B (zh) * | 2019-09-04 | 2022-09-27 | 广州方硅信息技术有限公司 | 一种图像换脸的方法、装置、系统、设备和存储介质 |
CN114187340A (zh) * | 2021-12-15 | 2022-03-15 | 广州光锥元信息科技有限公司 | 应用于图像视频人脸皮肤纹理质感增强的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098241A (zh) * | 2006-06-26 | 2008-01-02 | 腾讯科技(深圳)有限公司 | 虚拟形象实现方法及其系统 |
CN103647922A (zh) * | 2013-12-20 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 虚拟视频通话方法和终端 |
CN104794462A (zh) * | 2015-05-11 | 2015-07-22 | 北京锤子数码科技有限公司 | 一种人物图像处理方法及装置 |
US9153031B2 (en) * | 2011-06-22 | 2015-10-06 | Microsoft Technology Licensing, Llc | Modifying video regions using mobile device input |
CN105872438A (zh) * | 2015-12-15 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种视频通话方法、装置及终端 |
CN106331569A (zh) * | 2016-08-23 | 2017-01-11 | 广州华多网络科技有限公司 | 即时视频画面中人物脸部变换方法以及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977638B1 (ko) * | 2012-02-29 | 2019-05-14 | 삼성전자주식회사 | 영상 내 사용자의 시선 보정 방법, 기계로 읽을 수 있는 저장 매체 및 통신 단말 |
CN105678702B (zh) * | 2015-12-25 | 2018-10-19 | 北京理工大学 | 一种基于特征跟踪的人脸图像序列生成方法及装置 |
CN106101858A (zh) * | 2016-06-27 | 2016-11-09 | 乐视控股(北京)有限公司 | 一种视频生成方法及装置 |
-
2017
- 2017-01-23 CN CN201710058161.XA patent/CN108347578B/zh active Active
-
2018
- 2018-01-19 WO PCT/CN2018/073336 patent/WO2018133825A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098241A (zh) * | 2006-06-26 | 2008-01-02 | 腾讯科技(深圳)有限公司 | 虚拟形象实现方法及其系统 |
US9153031B2 (en) * | 2011-06-22 | 2015-10-06 | Microsoft Technology Licensing, Llc | Modifying video regions using mobile device input |
CN103647922A (zh) * | 2013-12-20 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 虚拟视频通话方法和终端 |
CN104794462A (zh) * | 2015-05-11 | 2015-07-22 | 北京锤子数码科技有限公司 | 一种人物图像处理方法及装置 |
CN105872438A (zh) * | 2015-12-15 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种视频通话方法、装置及终端 |
CN106331569A (zh) * | 2016-08-23 | 2017-01-11 | 广州华多网络科技有限公司 | 即时视频画面中人物脸部变换方法以及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110769323A (zh) * | 2018-07-27 | 2020-02-07 | Tcl集团股份有限公司 | 一种视频通信方法、系统、装置和终端设备 |
CN110769323B (zh) * | 2018-07-27 | 2021-06-18 | Tcl科技集团股份有限公司 | 一种视频通信方法、系统、装置和终端设备 |
CN113287118A (zh) * | 2019-01-18 | 2021-08-20 | 斯纳普公司 | 用于面部再现的系统和方法 |
CN110853725A (zh) * | 2019-09-30 | 2020-02-28 | 许之敏 | 基于视觉反馈的面部功能训练方法、设备及存储介质 |
CN112132743A (zh) * | 2020-09-27 | 2020-12-25 | 上海科技大学 | 可自适应光照的视频换脸方法 |
CN112132743B (zh) * | 2020-09-27 | 2023-06-20 | 上海科技大学 | 可自适应光照的视频换脸方法 |
CN112562720A (zh) * | 2020-11-30 | 2021-03-26 | 清华珠三角研究院 | 一种唇形同步的视频生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108347578B (zh) | 2020-05-08 |
CN108347578A (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018133825A1 (zh) | 视频通话中视频图像的处理方法、终端设备、服务器及存储介质 | |
US11182615B2 (en) | Method and apparatus, and storage medium for image data processing on real object and virtual object | |
US20210312161A1 (en) | Virtual image live broadcast method, virtual image live broadcast apparatus and electronic device | |
US11995775B2 (en) | Delivering virtualized content | |
US10810430B2 (en) | Augmented reality with markerless, context-aware object tracking | |
CN110232369B (zh) | 一种人脸识别方法和电子设备 | |
CN107343220B (zh) | 数据处理方法、装置和终端设备 | |
CN112954450B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN106815555B (zh) | 一种分布式场景目标识别的增强现实方法及系统 | |
CN111985281B (zh) | 图像生成模型的生成方法、装置及图像生成方法、装置 | |
CN111182350B (zh) | 图像处理方法、装置、终端设备及存储介质 | |
CN113221767B (zh) | 训练活体人脸识别模型、识别活体人脸的方法及相关装置 | |
CN112330527A (zh) | 图像处理方法、装置、电子设备和介质 | |
CN111914811B (zh) | 图像数据处理方法、装置、计算机设备以及存储介质 | |
CN113192164A (zh) | 虚拟形象随动控制方法、装置、电子设备和可读存储介质 | |
CN114092678A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112712487A (zh) | 一种场景视频融合方法、系统、电子设备及存储介质 | |
US9036921B2 (en) | Face and expression aligned movies | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN114463862A (zh) | 人脸识别方法、装置、电子设备及存储介质 | |
WO2021102928A1 (zh) | 图像处理方法及装置 | |
CN112508772A (zh) | 图像生成方法、装置及存储介质 | |
CN112634460B (zh) | 基于Haar-like特征的户外全景图生成方法及装置 | |
JP2022091704A (ja) | 画像に現れるリップメイクアップ製品を特定する方法 | |
CN117635439A (zh) | 唇部图像修复方法、虚拟直播方法、装置、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18741421 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18741421 Country of ref document: EP Kind code of ref document: A1 |